lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/IdentityController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,27 @@ package org.jeecg.modules.eam.controller; import io.swagger.annotations.Api; import org.jeecg.common.api.vo.Result; import org.jeecg.modules.eam.service.IdentityService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/eam/sysIdentity") @Api(value = "åå·çæå¨ å端æ§å¶å¨") public class IdentityController { @Autowired @Lazy private IdentityService sysIdentityService; // æ°å¢ @GetMapping("/getNumNew") public Result<?> getNum(@RequestParam(name="type",required = true)String type, @RequestParam(name="length",defaultValue = "4")Integer length) { String serialNum = sysIdentityService.getNumByTypeAndLength(type, length); return Result.ok(serialNum); } } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/SerialNumberMapController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,88 @@ package org.jeecg.modules.eam.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.modules.eam.entity.SerialNumberMap; import org.jeecg.modules.eam.service.SerialNumberMapService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.util.Arrays; @RestController @RequestMapping("/eam/serialNumber") @Api(value = "åå·è§åæ å°å ³ç³» å端æ§å¶å¨") public class SerialNumberMapController extends JeecgController<SerialNumberMap, SerialNumberMapService> { @Autowired @Lazy private SerialNumberMapService serialNumberMapService; @GetMapping(value = "/list") public Result<?> list(SerialNumberMap serialNumberMap, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { QueryWrapper<SerialNumberMap> queryWrapper = QueryGenerator.initQueryWrapper(serialNumberMap, req.getParameterMap()); Page<SerialNumberMap> page = new Page<SerialNumberMap>(pageNo, pageSize); IPage<SerialNumberMap> pageList = serialNumberMapService.page(page, queryWrapper); return Result.ok(pageList); } // æ°å¢ @PostMapping("/add") public Result<?> add (@RequestBody SerialNumberMap snm){ snm.setYearFormat("yy"); snm.setMonthFormat("MM"); snm.setDayFormat("dd"); serialNumberMapService.save(snm); return Result.ok(); } @PutMapping(value = "/edit") public Result<?> edit(@RequestBody SerialNumberMap snm) { serialNumberMapService.updateById(snm); return Result.ok("æ´æ°æåï¼"); } // å é¤ @DeleteMapping("/delete") public Result<?> delete (@RequestParam(name="id",required = true) String id){ serialNumberMapService.removeById(id); return Result.ok("å 餿å"); } @DeleteMapping(value = "/deleteBatch") public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { serialNumberMapService.removeByIds(Arrays.asList(ids.split(","))); return Result.ok("æ¹éå 餿åï¼"); } /** * éè¿ç±»åè·å宿´ç¼å· ãèµ·å§åºå®å符+ä¼ä¸ä»£ç (5)+å¹´(2)+æ(2)+æ¥(2)+æµæ°´å·(4)ã * @param type ç±»å * @return Result */ @GetMapping("/getSerialNumber") public Result<?> getSerialNumber(@RequestParam(name="type",required = true) String type){ Result purchaseRequest = serialNumberMapService.getSerialNumber(type); return purchaseRequest; } /** * éè¿ç±»åè·åç¼å·åç¼ãèµ·å§åºå®å符+ä¼ä¸ä»£ç (5)+å¹´(2)+æ(2)+æ¥(2)ã * @param type ç±»å * @return Result */ @GetMapping("/getSerial") public Result<?> getSerial(@RequestParam(name="type",required = true) String type){ Result purchaseRequest = serialNumberMapService.getSerial(type); return purchaseRequest; } } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/Identity.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,34 @@ package org.jeecg.modules.eam.entity; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import org.jeecg.common.system.base.entity.JeecgEntity; @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @TableName("mom_sys_identity") @ApiModel(value = "åæ®æµæ°´å·çæè¡¨") public class Identity extends JeecgEntity { // private static final long serialVersionUID = 1L; @ApiModelProperty(value = "æµæ°´å·") private int num; @ApiModelProperty(value = "æä»½") private String monthValue; @ApiModelProperty(value = "年份") private String yearValue; @ApiModelProperty(value = "ä¸å¡ç±»å") private String type; @ApiModelProperty(value = "ä¸å¡ç±»å说æ") private String remark; } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/SerialNumberMap.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,43 @@ package org.jeecg.modules.eam.entity; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import org.jeecg.common.system.base.entity.JeecgEntity; @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @TableName("mom_serial_number_map") @ApiModel(value = "åå·è§åæ å°å ³ç³»") public class SerialNumberMap extends JeecgEntity { // private static final long serialVersionUID = 1L; @ApiModelProperty(value = "åè½åæ®åç§°") private String functionName; @ApiModelProperty(value = "èµ·å§åºå®å符") private String beginSymbol; @ApiModelProperty(value = "ä¼ä¸ä»£ç ") private String enterpriseCode; @ApiModelProperty(value = "å¹´") private String yearFormat; @ApiModelProperty(value = "æ") private String monthFormat; @ApiModelProperty(value = "æ¥") private String dayFormat; @ApiModelProperty(value = "åè½ç±»å") private String type; @ApiModelProperty(value = "ç产è¿ç¨æ£éªè¡¨ID") private String identityId; } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/IdentityMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,27 @@ package org.jeecg.modules.eam.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import org.jeecg.modules.eam.entity.Identity; public interface IdentityMapper extends BaseMapper<Identity> { // @Select("select id," + // "num," + // "month_value," + // "year_value," + // "type," + // "remark " + // " from mes_sys_identity t1 where t1.type = #{type}") // public MesSysIdentity findIdentityByType(@Param("type")String type); @Select("select id," + "num," + "month_value," + "year_value," + "type," + "remark " + " from mom_sys_identity t1 where t1.type = #{type} and t1.year_value = #{yearValue} and t1.month_value =#{monthValue}") public Identity findIdentityByType(@Param("type") String type, @Param("yearValue") String yearValue, @Param("monthValue") String monthValue); } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/SerialNumberMapMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,25 @@ package org.jeecg.modules.eam.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import org.jeecg.modules.eam.entity.SerialNumberMap; public interface SerialNumberMapMapper extends BaseMapper<SerialNumberMap> { @Select("select id," + "function_name," + "begin_symbol," + "enterprise_code," + "year_format," + "month_format," + "day_format," + "type," + "identity_id" + " from mom_serial_number_map t1 where t1.type = #{type}") public SerialNumberMap getByType(@Param("type") String type); @Select("<script> select F_GET_SEQ_ID(#{type}) </script>") public String getNum(@Param("type") String type); boolean updateBatchByEnterpriseCode(@Param("enterpriseCode") String enterpriseCode); } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/SerialNumberMapMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.jeecg.modules.eam.mapper.SerialNumberMapMapper"> <update id="updateBatchByEnterpriseCode"> update mom_serial_number_map set enterprise_code = #{enterpriseCode} </update> </mapper> lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IdentityService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,16 @@ package org.jeecg.modules.eam.service; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.eam.entity.Identity; public interface IdentityService extends IService<Identity> { public Identity findIdentityByType(String type); /** * æ ¹æ®ç±»ååé¿åº¦è·åæµæ°´å· * @param type * @return */ public String getNumByTypeAndLength(String type, Integer length); } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/SerialNumberMapService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,16 @@ package org.jeecg.modules.eam.service; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.common.api.vo.Result; import org.jeecg.modules.eam.entity.SerialNumberMap; public interface SerialNumberMapService extends IService<SerialNumberMap> { public Result<?> getSerialNumber(String type); public Result<?> getSerial(String type); public SerialNumberMap getByType(String type); boolean updateBatchByEnterpriseCode(String creditCode); } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/IdentityServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,81 @@ package org.jeecg.modules.eam.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.lang.StringUtils; import org.jeecg.common.api.vo.Result; import org.jeecg.common.util.DateUtils; import org.jeecg.modules.eam.entity.Identity; import org.jeecg.modules.eam.entity.SerialNumberMap; import org.jeecg.modules.eam.mapper.IdentityMapper; import org.jeecg.modules.eam.service.IdentityService; import org.jeecg.modules.eam.service.SerialNumberMapService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.text.SimpleDateFormat; import java.util.List; @Service public class IdentityServiceImpl extends ServiceImpl<IdentityMapper, Identity> implements IdentityService { @Autowired @Lazy private SerialNumberMapService serialNumberMapService; /** * éè¿typeè·åmes_sys_identity表å®ä¾ï¼å®ç°æ¹æ³ * * @param type ä¸å¡ç±»å * @return MesSysIdentity mes_sys_identity表å®ä¾å¯¹è±¡ */ @Override public Identity findIdentityByType(String type) { String yearValue = DateUtils.date2Str(new SimpleDateFormat("yyyy")); String monthValue = DateUtils.date2Str(new SimpleDateFormat("MM")); Identity identityByType = super.getBaseMapper().findIdentityByType(type, yearValue, monthValue); return identityByType; } @Override @Transactional(rollbackFor = {Exception.class}) public String getNumByTypeAndLength(String type, Integer length) { SerialNumberMap serialNumberMap = serialNumberMapService.getByType(type); Result<?> result = serialNumberMapService.getSerial(type); String prefix = result.getMessage().toString(); String identityId = serialNumberMap.getIdentityId(); String currentDate = DateUtils.getCurrentDateStr(); String yearValue = currentDate.split("-")[0]; String monthValue = currentDate.split("-")[1]; List<Identity> systemIdentityList = lambdaQuery() .eq(Identity::getId, identityId) .eq(Identity::getType, type) .eq(Identity::getYearValue, yearValue) .eq(Identity::getMonthValue, monthValue) .list(); Identity mesSysIdentity = systemIdentityList.size() > 0 ? systemIdentityList.get(0) : new Identity(); Integer num = 1; if (StringUtils.isBlank(mesSysIdentity.getId())) { mesSysIdentity.setId(identityId); mesSysIdentity.setType(type); mesSysIdentity.setMonthValue(monthValue); mesSysIdentity.setYearValue(yearValue); mesSysIdentity.setNum(num); super.saveOrUpdate(mesSysIdentity); serialNumberMap.setIdentityId(mesSysIdentity.getId()); serialNumberMapService.updateById(serialNumberMap); } else { num = mesSysIdentity.getNum() + 1; mesSysIdentity.setNum(num); super.saveOrUpdate(mesSysIdentity); } String serialNum = prefix + StringUtils.leftPad(String.valueOf(num), length, "0"); return serialNum; } } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/SerialNumberMapServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,127 @@ package org.jeecg.modules.eam.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.jeecg.common.api.vo.Result; import org.jeecg.common.util.DateUtils; import org.jeecg.common.util.StrUtils; import org.jeecg.modules.eam.entity.Identity; import org.jeecg.modules.eam.entity.SerialNumberMap; import org.jeecg.modules.eam.mapper.SerialNumberMapMapper; import org.jeecg.modules.eam.service.IdentityService; import org.jeecg.modules.eam.service.SerialNumberMapService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.text.SimpleDateFormat; @Service public class SerialNumberMapServiceImpl extends ServiceImpl<SerialNumberMapMapper, SerialNumberMap> implements SerialNumberMapService { @Autowired private IdentityService mesSysIdentityService; // @Autowired // private IEnterpriseService enterpriseService; /** * çæå®æ´åå·ãèµ·å§åºå®å符+ä¼ä¸ä»£ç (5)+å¹´(2)+æ(2)+æ¥(2)+æµæ°´å·(4)ã * @param type ä¸å¡ç±»å * @return */ @Override public Result<?> getSerialNumber(String type) { String serialNumber = ""; if(StrUtils.isNotBlankOrNull(type)){ // è·åæ å°è¡¨å¯¹è±¡ SerialNumberMap byType = getByType(type); if(byType!=null){ // 夿mes_sys_identity表æ¯å¦æå½åtype boolean b = checkIdentityByType(type); if(b){ // åå·ç产è§å èµ·å§åºå®å符+ä¼ä¸ä»£ç (5)+å¹´(2)+æ(2)+æ¥(2)+æµæ°´å·(4) String num = super.baseMapper.getNum(type); String substring = num.substring(2, num.length()); serialNumber = byType.getBeginSymbol() + byType.getEnterpriseCode()+ DateUtils.date2Str(new SimpleDateFormat(byType.getYearFormat()+byType.getMonthFormat()+byType.getDayFormat())) +substring; }else{ return Result.error("çæåå·å¤±è´¥ï¼"); } }else{ return Result.error("ç±»åä¸åå¨ï¼è¯·æ·»å åéè¯ï¼"); } }else{ return Result.error("åæ°é误,ç±»åä¸è½ä¸ºç©ºï¼"); } return Result.ok(serialNumber); } /** * çæåå·åç¼ ãèµ·å§åºå®å符+ä¼ä¸ä»£ç (5)+å¹´(2)+æ(2)+æ¥(2)ã * @param type ä¸å¡ç±»å * @return */ @Override public Result<?> getSerial(String type) { String serialNumber = ""; // Enterprise enterprise = enterpriseService.gerCurrentEnterprise(); // String enterpriseCode = enterprise.getCode().substring(0,5); if(StrUtils.isNotBlankOrNull(type)){ // è·åæ å°è¡¨å¯¹è±¡ SerialNumberMap byType = getByType(type); if(byType!=null){ // 夿mes_sys_identity表æ¯å¦æå½åtype // boolean b = checkIdentityByType(type); // if(b){ // åå·ç产è§å èµ·å§åºå®å符+ä¼ä¸ä»£ç (5)+å¹´(2)+æ(2)+æ¥(2)+æµæ°´å·(4) serialNumber = byType.getBeginSymbol() + DateUtils.date2Str(new SimpleDateFormat(byType.getYearFormat()+byType.getMonthFormat())); // serialNumber = byType.getBeginSymbol() + enterpriseCode + // DateUtils.date2Str(new SimpleDateFormat(byType.getYearFormat()+byType.getMonthFormat()+byType.getDayFormat())); // }else { // return Result.error("çæåå·åç¼å¤±è´¥ï¼"); // } }else{ return Result.error("ç±»åä¸åå¨ï¼è¯·æ·»å åéè¯ï¼"); } }else{ return Result.error("åæ°é误,ç±»åä¸è½ä¸ºç©ºï¼"); } return Result.ok(serialNumber); } @Override public SerialNumberMap getByType(String type) { SerialNumberMap byType = super.getBaseMapper().getByType(type); return byType; } @Override public boolean updateBatchByEnterpriseCode(String enterpriseCode) { return super.baseMapper.updateBatchByEnterpriseCode(enterpriseCode); } /** * 夿mes_sys_identity表æ¯å¦æå½åtype,å¦ææ²¡ææ°å¢ä¸æ¡ * @param type ä¸å¡ç±»å * @return */ public boolean checkIdentityByType(String type){ boolean b = false; // éè¿typeè·åmes_sys_identity表å®ä¾ Identity identityByType = mesSysIdentityService.findIdentityByType(type); if(identityByType!=null){ b = true; }else{ Identity mesSysIdentity = new Identity(); mesSysIdentity.setType(type); mesSysIdentity.setMonthValue(DateUtils.date2Str(new SimpleDateFormat("MM"))); mesSysIdentity.setYearValue(DateUtils.date2Str(new SimpleDateFormat("yyyy"))); mesSysIdentity.setNum(0); mesSysIdentity.setRemark("èªå¨æ·»å "); boolean save = mesSysIdentityService.save(mesSysIdentity); b = save; } return b; } }