package com.zt.modules.coderule.service; import cn.hutool.core.convert.Convert; import com.zt.common.service.BaseService; import com.zt.modules.coderule.dao.SysCodeRuleDao; import com.zt.modules.coderule.model.SysCodeRule; import com.zt.modules.workflowconfig.dao.WfDefDao; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.zt.common.db.query.QueryFilter; import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.Map; /** * sys_code_rule * * @author zt generator * @since 1.0.0 2023-11-09 */ @Service public class SysCodeRuleService extends BaseService { /** * 分页查询 * * @param queryFilter * @return */ public List page(QueryFilter queryFilter) { return baseDao.getList(queryFilter.getQueryParams()); } /** * 删除 * * @param ids */ public void delete(Long[] ids) { super.deleteLogic(ids); } public String getNewCode(Map map) { SysCodeRule codeRule = baseDao.getCodeRule(map); String newCodeTemplet = codeRule.getCodeRule(); String year = map.get("year"); if (map.get("projectId")!=null){ Map mapProject = baseDao.getMapProjectIdentity(map.get("projectId")); newCodeTemplet = newCodeTemplet.replace("[项目编号]",mapProject.get("software_identity")); year = mapProject.get("year"); } newCodeTemplet = newCodeTemplet.replace("[年份]",year); String xhTemplet = StringUtils.substring("__________",0,codeRule.getNoByteNum()); newCodeTemplet = newCodeTemplet.replace("[序号]",xhTemplet); int xhStartPosition = newCodeTemplet.indexOf(xhTemplet); String maxCode = baseDao.getMaxCode(codeRule.getTableName(),newCodeTemplet); String maxCodeXh = "0"; if (StringUtils.isNotBlank(maxCode)) maxCodeXh = StringUtils.substring(maxCode,xhStartPosition,xhStartPosition+codeRule.getNoByteNum()); Integer a = Convert.toInt(maxCodeXh)+1; String newCodeXh = String.format("%0"+codeRule.getNoByteNum()+"d", a); String newCode = newCodeTemplet.replace(xhTemplet,newCodeXh); return newCode; } }