modules/mainPart/src/main/java/com/zt/life/modules/project/controller/ProjectController.java
@@ -24,6 +24,8 @@ import springfox.documentation.annotations.ApiIgnore; import javax.servlet.http.HttpServletResponse; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -76,8 +78,12 @@ public Result insert(@RequestBody Project project) { //效验数据 ValidatorUtils.validateEntity(project, AddGroup.class, DefaultGroup.class); SimpleDateFormat sdf = new SimpleDateFormat("yyyy"); String year = sdf.format(new Date()); Map<String, String> map = new HashMap<>(); map.put("funCode", "project"); map.put("year",year); project.setYear(year); project.setCode(sysCodeRuleService.getNewCode(map)); projectService.insert(project); return Result.ok(); modules/mainPart/src/main/java/com/zt/life/modules/project/model/Project.java
@@ -51,6 +51,9 @@ @ApiModelProperty(value = "项目编号") private String code; @ApiModelProperty(value = "年份") private String year; @ApiModelProperty(value = "软件标识") private String softwareIdentity; zt/core/src/main/java/com/zt/modules/coderule/dao/SysCodeRuleDao.java
@@ -25,4 +25,8 @@ String getProjectIdentity(String projectId); String getMaxCode(String tableName, String newCodeTemplet); String getProjectYear(Map<String, String> map); Map<String, String> getMapProjectIdentity(String projectId); } zt/core/src/main/java/com/zt/modules/coderule/service/SysCodeRuleService.java
@@ -46,14 +46,13 @@ public String getNewCode(Map<String, String> map) { SysCodeRule codeRule = baseDao.getCodeRule(map); String newCodeTemplet = codeRule.getCodeRule(); String year = map.get("year"); if (map.get("projectId")!=null){ String projectIdentity = baseDao.getProjectIdentity(map.get("projectId")); newCodeTemplet = newCodeTemplet.replace("[项目编号]",projectIdentity); Map<String, String> mapProject = baseDao.getMapProjectIdentity(map.get("projectId")); newCodeTemplet = newCodeTemplet.replace("[项目编号]",mapProject.get("identity")); year = mapProject.get("year"); } SimpleDateFormat sdf = new SimpleDateFormat("yyyy"); String year = sdf.format(new Date()); newCodeTemplet = newCodeTemplet.replace("[年份]",year); String xhTemplet = StringUtils.substring("__________",0,codeRule.getNoByteNum()); newCodeTemplet = newCodeTemplet.replace("[序号]",xhTemplet); int xhStartPosition = newCodeTemplet.indexOf(xhTemplet); zt/core/src/main/resources/mapper/coderule/SysCodeRuleDao.xml
@@ -25,6 +25,12 @@ <select id="getMaxCode" resultType="java.lang.String"> select max(code) from ${tableName} where code like '${newCodeTemplet}' </select> <select id="getProjectYear" resultType="java.lang.String"> </select> <select id="getMapProjectIdentity" resultType="java.util.Map"> select identity,year from project where id = ${projectId} </select> </mapper>