1.用户加控制启用,停用状态
2.根据流水依赖获取最大流水值
| | |
| | | * 用户平台 |
| | | */ |
| | | USER_TYPE("user_type"), |
| | | /*** |
| | | * 用户状态 |
| | | */ |
| | | USER_STATUS("user_status"), |
| | | ; |
| | | |
| | | final String name; |
| | |
| | | */ |
| | | private Long strategyUpdateStatus; |
| | | |
| | | /*** |
| | | * 账号是否停用 0为启用,1为停用 |
| | | */ |
| | | private Integer userStatus; |
| | | } |
| | |
| | | * 拓展信息 |
| | | */ |
| | | private String userExt; |
| | | |
| | | /*** |
| | | * 账号是否停用 0为启用,1为启用 |
| | | */ |
| | | private Integer userStatus; |
| | | /*** |
| | | * 账号是否停用 0为启用,1为启用 |
| | | */ |
| | | private String userStatus_text; |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 设置最大流水号 |
| | | * @param codeOrderDTO 编码申请传输对象 |
| | |
| | | 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)); |
| | | } |
| | | } |
| | |
| | | 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.*; |
| | |
| | | * @throws VciBaseException |
| | | */ |
| | | String setMaxSerialNumberForCodeRule(CodeOrderDTO codeOrderDTO) throws VciBaseException; |
| | | /** |
| | | * 根据流水依赖获取最大流水值 |
| | | * @param codeOrderDTO 编码申请传输对象 |
| | | * @return |
| | | * @throws VciBaseException |
| | | */ |
| | | Double getMaxSerialNumberForCodeRule(CodeOrderDTO codeOrderDTO); |
| | | } |
| | |
| | | } |
| | | 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; |
| | | } |
| | | } |
| | |
| | | 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; |
| | | } |
| | | |
| | | } |
| | |
| | | <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> |
| | | |
| | | |
| | |
| | | </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> |