From a85cb705274d8fbd9f5fba86ff1c39c13ac66de0 Mon Sep 17 00:00:00 2001 From: xiejun <xj@2023> Date: 星期一, 16 十月 2023 17:46:02 +0800 Subject: [PATCH] 1.用户加控制启用,停用状态 2.根据流水依赖获取最大流水值 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeBasicSecService.java | 8 ++++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java | 59 +++++++++++++++++++++++++++++ Source/UBCS/ubcs-service/ubcs-user/src/main/resources/mapper/UserMapper.xml | 3 + Source/UBCS/ubcs-service-api/ubcs-user-api/src/main/java/com/vci/ubcs/system/user/vo/UserVO.java | 9 ++++ Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/wrapper/UserWrapper.java | 3 + Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeBasicSecController.java | 13 ++++++ Source/UBCS/ubcs-service-api/ubcs-dict-api/src/main/java/com/vci/ubcs/system/enums/DictEnum.java | 4 ++ Source/UBCS/ubcs-service-api/ubcs-user-api/src/main/java/com/vci/ubcs/system/user/entity/User.java | 4 ++ 8 files changed, 100 insertions(+), 3 deletions(-) diff --git a/Source/UBCS/ubcs-service-api/ubcs-dict-api/src/main/java/com/vci/ubcs/system/enums/DictEnum.java b/Source/UBCS/ubcs-service-api/ubcs-dict-api/src/main/java/com/vci/ubcs/system/enums/DictEnum.java index 194c333..69ccee6 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-dict-api/src/main/java/com/vci/ubcs/system/enums/DictEnum.java +++ b/Source/UBCS/ubcs-service-api/ubcs-dict-api/src/main/java/com/vci/ubcs/system/enums/DictEnum.java @@ -88,6 +88,10 @@ * 鐢ㄦ埛骞冲彴 */ USER_TYPE("user_type"), + /*** + * 鐢ㄦ埛鐘舵�� + */ + USER_STATUS("user_status"), ; final String name; diff --git a/Source/UBCS/ubcs-service-api/ubcs-user-api/src/main/java/com/vci/ubcs/system/user/entity/User.java b/Source/UBCS/ubcs-service-api/ubcs-user-api/src/main/java/com/vci/ubcs/system/user/entity/User.java index 8321e6c..7a1e4e8 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-user-api/src/main/java/com/vci/ubcs/system/user/entity/User.java +++ b/Source/UBCS/ubcs-service-api/ubcs-user-api/src/main/java/com/vci/ubcs/system/user/entity/User.java @@ -115,4 +115,8 @@ */ private Long strategyUpdateStatus; + /*** + * 璐﹀彿鏄惁鍋滅敤 0涓哄惎鐢紝1涓哄仠鐢� + */ + private Integer userStatus; } diff --git a/Source/UBCS/ubcs-service-api/ubcs-user-api/src/main/java/com/vci/ubcs/system/user/vo/UserVO.java b/Source/UBCS/ubcs-service-api/ubcs-user-api/src/main/java/com/vci/ubcs/system/user/vo/UserVO.java index fe96185..6eb8f0d 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-user-api/src/main/java/com/vci/ubcs/system/user/vo/UserVO.java +++ b/Source/UBCS/ubcs-service-api/ubcs-user-api/src/main/java/com/vci/ubcs/system/user/vo/UserVO.java @@ -86,5 +86,12 @@ * 鎷撳睍淇℃伅 */ private String userExt; - + /*** + * 璐﹀彿鏄惁鍋滅敤 0涓哄惎鐢紝1涓哄惎鐢� + */ + private Integer userStatus; + /*** + * 璐﹀彿鏄惁鍋滅敤 0涓哄惎鐢紝1涓哄惎鐢� + */ + private String userStatus_text; } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeBasicSecController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeBasicSecController.java index 5f81558..b43726f 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeBasicSecController.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeBasicSecController.java @@ -222,6 +222,7 @@ } + /** * 璁剧疆鏈�澶ф祦姘村彿 * @param codeOrderDTO 缂栫爜鐢宠浼犺緭瀵硅薄 @@ -233,4 +234,16 @@ public R setMaxSerialNumberForCodeRule(@RequestBody CodeOrderDTO codeOrderDTO){ return R.success(codeBasicSecService.setMaxSerialNumberForCodeRule(codeOrderDTO)); } + + /*** + * 鏍规嵁娴佹按渚濊禆鑾峰彇鏈�澶ф祦姘村彿 + * @param codeOrderDTO + * @return + */ + @GetMapping("/getMaxSerialNumberForCodeRule") + @ApiOperationSupport(order = 15) + @ApiOperation(value = "鏌ヨ缂栫爜瑙勫垯鐨勬墍鏈夋祦姘翠緷璧栫殑鏈�澶ф祦姘�", notes = "浼犲叆oid") + public R getMaxSerialNumberForCodeRule(@RequestBody CodeOrderDTO codeOrderDTO){ + return R.data(codeBasicSecService.getMaxSerialNumberForCodeRule(codeOrderDTO)); + } } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeBasicSecService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeBasicSecService.java index c985b94..c808bc4 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeBasicSecService.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeBasicSecService.java @@ -16,6 +16,7 @@ import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.BeanUtil; import org.springframework.util.CollectionUtils; +import org.springframework.web.bind.annotation.RequestBody; import java.rmi.ServerException; import java.util.*; @@ -207,4 +208,11 @@ * @throws VciBaseException */ String setMaxSerialNumberForCodeRule(CodeOrderDTO codeOrderDTO) throws VciBaseException; + /** + * 鏍规嵁娴佹按渚濊禆鑾峰彇鏈�澶ф祦姘村�� + * @param codeOrderDTO 缂栫爜鐢宠浼犺緭瀵硅薄 + * @return + * @throws VciBaseException + */ + Double getMaxSerialNumberForCodeRule(CodeOrderDTO codeOrderDTO); } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java index a415202..975cd6a 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java @@ -1106,4 +1106,63 @@ } return String.valueOf(maxSecNum); } + + /*** + * 鏍规嵁娴佹按渚濊禆鑾峰彇鏈�澶ф祦姘村彿 + * @param codeOrderDTO 缂栫爜鐢宠浼犺緭瀵硅薄 + * @return + */ + @Override + public Double getMaxSerialNumberForCodeRule(CodeOrderDTO codeOrderDTO) { + Double maxSerialNumber=0.0; + VciBaseUtil.alertNotNull(codeOrderDTO.getCodeRuleOid(),"缂栫爜瑙勫垯涓婚敭"); + List<CodeOrderSecDTO> codeOrderSecDTOList=codeOrderDTO.getSecDTOList(); + if(CollectionUtils.isEmpty(codeOrderSecDTOList)){ + throw new VciBaseException("鏈�澶ф祦姘村彿鐨勬祦姘翠緷璧栦笉鑳戒负绌猴紒"); + } + String codeRuleOid = codeOrderDTO.getCodeRuleOid(); + Map<String/**鐮佹涓婚敭*/,CodeOrderSecDTO/**鐮佹鐩稿叧淇℃伅*/> codeOrderSecDTOMap = codeOrderSecDTOList.stream().collect(Collectors.toMap(s -> s.getSecOid(), t -> t)); + List<String> codeBasicSecOidList = codeOrderSecDTOList.stream().map(s->s.getSecOid()).collect(Collectors.toList());//娴佹按渚濊禆鐮佹鐨勪富閿泦鍚� + //鑾峰彇娴佹按渚濊禆鐮佹 + LambdaQueryWrapper<CodeBasicSec> wrapper = Wrappers.<CodeBasicSec>query().lambda() + .eq(CodeBasicSec::getPkCodeRule,codeRuleOid) + .in(CodeBasicSec::getOid,codeBasicSecOidList) + .eq(CodeBasicSec::getSerialDependFlag,"true") + .orderByAsc(CodeBasicSec::getSerialDependOrder); + List<CodeBasicSec> codeBasicSecList = this.list(wrapper); + //鎸夋祦姘翠緷璧栭『搴忥紝澶勭悊娴佹按渚濊禆鐮佹鐨勫�� + List<String> serialDependValueList = new ArrayList<>(); + codeBasicSecList.stream().forEach(s->{ + CodeOrderSecDTO codeOrderSecDTO = codeOrderSecDTOMap.get(s.getOid()); + String serialDependValue = codeOrderSecDTO.getSecValue(); + if(s.getSecType().equals(CodeSecTypeEnum.CODE_DATE_SEC.getValue())){ + try { + Date date = VciDateUtil.str2Date(codeOrderSecDTO.getSecValue(),s.getCodeDateFormatStr()); + serialDependValue = VciDateUtil.date2Str(date,s.getCodeDateFormatStr()); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + serialDependValueList.add(serialDependValue); + }); + + //鑾峰彇娴佹按鐮佹 + wrapper = Wrappers.<CodeBasicSec>query().lambda() + .eq(CodeBasicSec::getPkCodeRule,codeRuleOid) + .eq(CodeBasicSec::getSecType,CodeSecTypeEnum.CODE_SERIAL_SEC.getValue()) + .orderByAsc(CodeBasicSec::getSerialDependOrder); + CodeBasicSec codeBasicSec = this.getOne(wrapper); + //鏍规嵁缂栫爜瑙勫垯鍜屾祦姘翠緷璧栵紝鑾峰彇鏈�澶ф祦姘村彿 + String serialUnitString = serialDependValueList.size() == 0 ? EMPTY_SERIAL_UNIT : serialDependValueList.stream().collect(Collectors.joining(SERIAL_UNIT_SPACE)); + LambdaQueryWrapper<CodeSerialValue> codeSerialWrapper = new LambdaQueryWrapper<>(); + codeSerialWrapper.eq(CodeSerialValue::getCodeRuleOid, codeRuleOid); + codeSerialWrapper.eq(CodeSerialValue::getSerialUnit, serialUnitString); + codeSerialWrapper.eq(CodeSerialValue::getCodeSecOid,codeBasicSec.getOid()); + codeSerialWrapper.orderByDesc(CodeSerialValue::getCreateTime); + List<CodeSerialValue> codeSerialValueList = serialValueMapper.selectList(codeSerialWrapper); + if(!CollectionUtils.isEmpty(codeSerialValueList)){ + maxSerialNumber=StringUtils.isBlank(codeSerialValueList.get(0).getMaxSerial())?0:Double.parseDouble(codeSerialValueList.get(0).getMaxSerial()); + } + return maxSerialNumber; + } } diff --git a/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/wrapper/UserWrapper.java b/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/wrapper/UserWrapper.java index 245038e..20eaee3 100644 --- a/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/wrapper/UserWrapper.java +++ b/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/wrapper/UserWrapper.java @@ -53,7 +53,8 @@ userVO.setPostName(Func.join(postName)); userVO.setSexName(DictCache.getValue(DictEnum.SEX, user.getSex())); userVO.setUserTypeName(DictCache.getValue(DictEnum.USER_TYPE, user.getUserType())); + userVO.setUserStatus(user.getUserStatus()); + userVO.setUserStatus_text(DictCache.getValue(DictEnum.USER_STATUS,user.getUserStatus()));//鐢ㄦ埛鐘舵�� return userVO; } - } diff --git a/Source/UBCS/ubcs-service/ubcs-user/src/main/resources/mapper/UserMapper.xml b/Source/UBCS/ubcs-service/ubcs-user/src/main/resources/mapper/UserMapper.xml index bd0e411..cd4c625 100644 --- a/Source/UBCS/ubcs-service/ubcs-user/src/main/resources/mapper/UserMapper.xml +++ b/Source/UBCS/ubcs-service/ubcs-user/src/main/resources/mapper/UserMapper.xml @@ -29,6 +29,7 @@ <result column="pwd_update_time" property="pwdUpdateTime"/> <result column="secretgrade" property="secretGrade"/> <result column="strategy_update_status" property="strategyUpdateStatus"/> + <result column="user_status" property="userStatus"/> </resultMap> @@ -91,7 +92,7 @@ </select> <select id="selectByIdUser" resultType="com.vci.ubcs.system.user.entity.User"> - select id, code, user_type, account, password , name, real_name, avatar, email, phone , birthday, sex, role_id, dept_id, post_id , pwd_update_time, secretgrade, strategy_update_status, tenant_id, create_user , create_dept, create_time, update_user, update_time, status , is_deleted + select id, code, user_type, account, password , name, real_name, avatar, email, phone , birthday, sex, role_id, dept_id, post_id , pwd_update_time, secretgrade, strategy_update_status, tenant_id, create_user , create_dept, create_time, update_user, update_time, status , is_deleted,user_status, from pl_org_user where id = #{userId} and is_deleted = 0 </select> -- Gitblit v1.9.3