diff --git a/casic-metering-api/src/main/build/bin/start.sh b/casic-metering-api/src/main/build/bin/start.sh index f0fbd9d..26944e7 100644 --- a/casic-metering-api/src/main/build/bin/start.sh +++ b/casic-metering-api/src/main/build/bin/start.sh @@ -1 +1 @@ -java -jar ./lib/casic-metering-api-2.0.0.jar \ No newline at end of file +nohup java -jar ./lib/casic-metering-api-2.0.0.jar > /dev/null 2>&1 & \ No newline at end of file diff --git a/casic-metering-api/src/main/build/bin/start.sh b/casic-metering-api/src/main/build/bin/start.sh index f0fbd9d..26944e7 100644 --- a/casic-metering-api/src/main/build/bin/start.sh +++ b/casic-metering-api/src/main/build/bin/start.sh @@ -1 +1 @@ -java -jar ./lib/casic-metering-api-2.0.0.jar \ No newline at end of file +nohup java -jar ./lib/casic-metering-api-2.0.0.jar > /dev/null 2>&1 & \ No newline at end of file diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java index 10a034b..a4d403d 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -11,6 +11,7 @@ Integer LEADER = 2; Integer SELF_SELECT = 4; Integer SELF = 5; + Integer LEADER_LEVEL = 6; Integer LEADER_TOP = 7; Integer ROLE = 11; } diff --git a/casic-metering-api/src/main/build/bin/start.sh b/casic-metering-api/src/main/build/bin/start.sh index f0fbd9d..26944e7 100644 --- a/casic-metering-api/src/main/build/bin/start.sh +++ b/casic-metering-api/src/main/build/bin/start.sh @@ -1 +1 @@ -java -jar ./lib/casic-metering-api-2.0.0.jar \ No newline at end of file +nohup java -jar ./lib/casic-metering-api-2.0.0.jar > /dev/null 2>&1 & \ No newline at end of file diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java index 10a034b..a4d403d 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -11,6 +11,7 @@ Integer LEADER = 2; Integer SELF_SELECT = 4; Integer SELF = 5; + Integer LEADER_LEVEL = 6; Integer LEADER_TOP = 7; Integer ROLE = 11; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/SysDeptAndUserUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/SysDeptAndUserUtil.java new file mode 100644 index 0000000..6e0c68b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/SysDeptAndUserUtil.java @@ -0,0 +1,65 @@ +package com.casic.missiles.utils; + +import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; +import org.springframework.util.CollectionUtils; + +import java.util.List; +import java.util.Map; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/8/12 11:24 + */ +public class SysDeptAndUserUtil { + + /** + * 根据部门获取部门负责人id + * @param deptId + * @return + */ + public static String getDeptDirectorIdByDeptId(Long deptId){ + List> list = SqlRunner.db().selectList("select su.ID as id from sys_role sr " + + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + + "JOIN sys_user su ON (srr.USERID = su.ID AND su.STATUS = 1) " + +// "WHERE sr.DEPT_ID = {0}" + + "WHERE "+ + "sr.TIPS = {1}" + + "AND su.DEPT_ID = {0}", String.valueOf(deptId), "director"); + if(CollectionUtils.isEmpty(list)){ + return ""; + } + Map idMap = list.get(0); + return String.valueOf(idMap.get("id")); + } + + /** + * 根据用户id获取该用户为主管时的部门信息 + * @param userId + * @return + */ + public static Map getDirectDeptByUserId(Long userId) { + Map resultMap = SqlRunner.db().selectOne( + "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + + "JOIN sys_user su ON (srr.USERID = su.ID AND su.STATUS = 1) " + + "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + + "WHERE su.ID = {0}" + + "AND sr.TIPS = {1}", String.valueOf(userId), "director"); + return resultMap; + } + + public static List> getUserIdsByDeptIdAndDeptIds(List deptIds, Long deptId){ + List> list = SqlRunner.db().selectList("select su.ID as id from sys_role sr " + + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + + "JOIN sys_user su ON (srr.USERID = su.ID AND su.STATUS = 1) " + +// "WHERE (sr.DEPT_ID = {2} or sr.DEPT_ID in {0})" +//角色所在的组织机构及该结构的子结构 + "WHERE "+ + "sr.TIPS = {1}" + + "AND su.DEPT_ID = {2}", deptIds, "director", String.valueOf(deptId)); + return list; + } + + + +} diff --git a/casic-metering-api/src/main/build/bin/start.sh b/casic-metering-api/src/main/build/bin/start.sh index f0fbd9d..26944e7 100644 --- a/casic-metering-api/src/main/build/bin/start.sh +++ b/casic-metering-api/src/main/build/bin/start.sh @@ -1 +1 @@ -java -jar ./lib/casic-metering-api-2.0.0.jar \ No newline at end of file +nohup java -jar ./lib/casic-metering-api-2.0.0.jar > /dev/null 2>&1 & \ No newline at end of file diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java index 10a034b..a4d403d 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -11,6 +11,7 @@ Integer LEADER = 2; Integer SELF_SELECT = 4; Integer SELF = 5; + Integer LEADER_LEVEL = 6; Integer LEADER_TOP = 7; Integer ROLE = 11; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/SysDeptAndUserUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/SysDeptAndUserUtil.java new file mode 100644 index 0000000..6e0c68b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/SysDeptAndUserUtil.java @@ -0,0 +1,65 @@ +package com.casic.missiles.utils; + +import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; +import org.springframework.util.CollectionUtils; + +import java.util.List; +import java.util.Map; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/8/12 11:24 + */ +public class SysDeptAndUserUtil { + + /** + * 根据部门获取部门负责人id + * @param deptId + * @return + */ + public static String getDeptDirectorIdByDeptId(Long deptId){ + List> list = SqlRunner.db().selectList("select su.ID as id from sys_role sr " + + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + + "JOIN sys_user su ON (srr.USERID = su.ID AND su.STATUS = 1) " + +// "WHERE sr.DEPT_ID = {0}" + + "WHERE "+ + "sr.TIPS = {1}" + + "AND su.DEPT_ID = {0}", String.valueOf(deptId), "director"); + if(CollectionUtils.isEmpty(list)){ + return ""; + } + Map idMap = list.get(0); + return String.valueOf(idMap.get("id")); + } + + /** + * 根据用户id获取该用户为主管时的部门信息 + * @param userId + * @return + */ + public static Map getDirectDeptByUserId(Long userId) { + Map resultMap = SqlRunner.db().selectOne( + "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + + "JOIN sys_user su ON (srr.USERID = su.ID AND su.STATUS = 1) " + + "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + + "WHERE su.ID = {0}" + + "AND sr.TIPS = {1}", String.valueOf(userId), "director"); + return resultMap; + } + + public static List> getUserIdsByDeptIdAndDeptIds(List deptIds, Long deptId){ + List> list = SqlRunner.db().selectList("select su.ID as id from sys_role sr " + + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + + "JOIN sys_user su ON (srr.USERID = su.ID AND su.STATUS = 1) " + +// "WHERE (sr.DEPT_ID = {2} or sr.DEPT_ID in {0})" +//角色所在的组织机构及该结构的子结构 + "WHERE "+ + "sr.TIPS = {1}" + + "AND su.DEPT_ID = {2}", deptIds, "director", String.valueOf(deptId)); + return list; + } + + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/Info/CustomerInfoResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/Info/CustomerInfoResponse.java index 4871276..617b348 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/Info/CustomerInfoResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/Info/CustomerInfoResponse.java @@ -136,6 +136,10 @@ @ExcelProperty(value = "公司市地址", order = 17) private String addressCityName; + @ApiModelProperty(value = "公司地址-区名字", dataType = "String") + @ExcelProperty(value = "公司区地址", order = 17) + private String addressAreaName; + @ApiModelProperty(value = "公司市详细地址", dataType = "String") @ExcelProperty(value = "公司市详细地址", order = 18) private String fullAddress; diff --git a/casic-metering-api/src/main/build/bin/start.sh b/casic-metering-api/src/main/build/bin/start.sh index f0fbd9d..26944e7 100644 --- a/casic-metering-api/src/main/build/bin/start.sh +++ b/casic-metering-api/src/main/build/bin/start.sh @@ -1 +1 @@ -java -jar ./lib/casic-metering-api-2.0.0.jar \ No newline at end of file +nohup java -jar ./lib/casic-metering-api-2.0.0.jar > /dev/null 2>&1 & \ No newline at end of file diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java index 10a034b..a4d403d 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -11,6 +11,7 @@ Integer LEADER = 2; Integer SELF_SELECT = 4; Integer SELF = 5; + Integer LEADER_LEVEL = 6; Integer LEADER_TOP = 7; Integer ROLE = 11; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/SysDeptAndUserUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/SysDeptAndUserUtil.java new file mode 100644 index 0000000..6e0c68b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/SysDeptAndUserUtil.java @@ -0,0 +1,65 @@ +package com.casic.missiles.utils; + +import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; +import org.springframework.util.CollectionUtils; + +import java.util.List; +import java.util.Map; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/8/12 11:24 + */ +public class SysDeptAndUserUtil { + + /** + * 根据部门获取部门负责人id + * @param deptId + * @return + */ + public static String getDeptDirectorIdByDeptId(Long deptId){ + List> list = SqlRunner.db().selectList("select su.ID as id from sys_role sr " + + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + + "JOIN sys_user su ON (srr.USERID = su.ID AND su.STATUS = 1) " + +// "WHERE sr.DEPT_ID = {0}" + + "WHERE "+ + "sr.TIPS = {1}" + + "AND su.DEPT_ID = {0}", String.valueOf(deptId), "director"); + if(CollectionUtils.isEmpty(list)){ + return ""; + } + Map idMap = list.get(0); + return String.valueOf(idMap.get("id")); + } + + /** + * 根据用户id获取该用户为主管时的部门信息 + * @param userId + * @return + */ + public static Map getDirectDeptByUserId(Long userId) { + Map resultMap = SqlRunner.db().selectOne( + "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + + "JOIN sys_user su ON (srr.USERID = su.ID AND su.STATUS = 1) " + + "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + + "WHERE su.ID = {0}" + + "AND sr.TIPS = {1}", String.valueOf(userId), "director"); + return resultMap; + } + + public static List> getUserIdsByDeptIdAndDeptIds(List deptIds, Long deptId){ + List> list = SqlRunner.db().selectList("select su.ID as id from sys_role sr " + + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + + "JOIN sys_user su ON (srr.USERID = su.ID AND su.STATUS = 1) " + +// "WHERE (sr.DEPT_ID = {2} or sr.DEPT_ID in {0})" +//角色所在的组织机构及该结构的子结构 + "WHERE "+ + "sr.TIPS = {1}" + + "AND su.DEPT_ID = {2}", deptIds, "director", String.valueOf(deptId)); + return list; + } + + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/Info/CustomerInfoResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/Info/CustomerInfoResponse.java index 4871276..617b348 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/Info/CustomerInfoResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/Info/CustomerInfoResponse.java @@ -136,6 +136,10 @@ @ExcelProperty(value = "公司市地址", order = 17) private String addressCityName; + @ApiModelProperty(value = "公司地址-区名字", dataType = "String") + @ExcelProperty(value = "公司区地址", order = 17) + private String addressAreaName; + @ApiModelProperty(value = "公司市详细地址", dataType = "String") @ExcelProperty(value = "公司市详细地址", order = 18) private String fullAddress; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index bc9c069..0dc9233 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -46,7 +46,7 @@ @ExcelProperty(value = "出厂编号", order = 3) private String manufacturingNo; - @ExcelProperty(value = "出厂编号", order = 4) + @ExcelProperty(value = "生产厂家", order = 4) @ApiModelProperty(value = "生产厂家", dataType = "String") private String manufacturer; diff --git a/casic-metering-api/src/main/build/bin/start.sh b/casic-metering-api/src/main/build/bin/start.sh index f0fbd9d..26944e7 100644 --- a/casic-metering-api/src/main/build/bin/start.sh +++ b/casic-metering-api/src/main/build/bin/start.sh @@ -1 +1 @@ -java -jar ./lib/casic-metering-api-2.0.0.jar \ No newline at end of file +nohup java -jar ./lib/casic-metering-api-2.0.0.jar > /dev/null 2>&1 & \ No newline at end of file diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java index 10a034b..a4d403d 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -11,6 +11,7 @@ Integer LEADER = 2; Integer SELF_SELECT = 4; Integer SELF = 5; + Integer LEADER_LEVEL = 6; Integer LEADER_TOP = 7; Integer ROLE = 11; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/SysDeptAndUserUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/SysDeptAndUserUtil.java new file mode 100644 index 0000000..6e0c68b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/SysDeptAndUserUtil.java @@ -0,0 +1,65 @@ +package com.casic.missiles.utils; + +import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; +import org.springframework.util.CollectionUtils; + +import java.util.List; +import java.util.Map; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/8/12 11:24 + */ +public class SysDeptAndUserUtil { + + /** + * 根据部门获取部门负责人id + * @param deptId + * @return + */ + public static String getDeptDirectorIdByDeptId(Long deptId){ + List> list = SqlRunner.db().selectList("select su.ID as id from sys_role sr " + + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + + "JOIN sys_user su ON (srr.USERID = su.ID AND su.STATUS = 1) " + +// "WHERE sr.DEPT_ID = {0}" + + "WHERE "+ + "sr.TIPS = {1}" + + "AND su.DEPT_ID = {0}", String.valueOf(deptId), "director"); + if(CollectionUtils.isEmpty(list)){ + return ""; + } + Map idMap = list.get(0); + return String.valueOf(idMap.get("id")); + } + + /** + * 根据用户id获取该用户为主管时的部门信息 + * @param userId + * @return + */ + public static Map getDirectDeptByUserId(Long userId) { + Map resultMap = SqlRunner.db().selectOne( + "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + + "JOIN sys_user su ON (srr.USERID = su.ID AND su.STATUS = 1) " + + "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + + "WHERE su.ID = {0}" + + "AND sr.TIPS = {1}", String.valueOf(userId), "director"); + return resultMap; + } + + public static List> getUserIdsByDeptIdAndDeptIds(List deptIds, Long deptId){ + List> list = SqlRunner.db().selectList("select su.ID as id from sys_role sr " + + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + + "JOIN sys_user su ON (srr.USERID = su.ID AND su.STATUS = 1) " + +// "WHERE (sr.DEPT_ID = {2} or sr.DEPT_ID in {0})" +//角色所在的组织机构及该结构的子结构 + "WHERE "+ + "sr.TIPS = {1}" + + "AND su.DEPT_ID = {2}", deptIds, "director", String.valueOf(deptId)); + return list; + } + + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/Info/CustomerInfoResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/Info/CustomerInfoResponse.java index 4871276..617b348 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/Info/CustomerInfoResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/Info/CustomerInfoResponse.java @@ -136,6 +136,10 @@ @ExcelProperty(value = "公司市地址", order = 17) private String addressCityName; + @ApiModelProperty(value = "公司地址-区名字", dataType = "String") + @ExcelProperty(value = "公司区地址", order = 17) + private String addressAreaName; + @ApiModelProperty(value = "公司市详细地址", dataType = "String") @ExcelProperty(value = "公司市详细地址", order = 18) private String fullAddress; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index bc9c069..0dc9233 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -46,7 +46,7 @@ @ExcelProperty(value = "出厂编号", order = 3) private String manufacturingNo; - @ExcelProperty(value = "出厂编号", order = 4) + @ExcelProperty(value = "生产厂家", order = 4) @ApiModelProperty(value = "生产厂家", dataType = "String") private String manufacturer; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/flowable/CounterSignListener.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/flowable/CounterSignListener.java index 60ec5dc..c1ce0a7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/flowable/CounterSignListener.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/flowable/CounterSignListener.java @@ -3,17 +3,19 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; import com.casic.missiles.enums.system.AssigneeSetTypeEnum; import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; +import com.casic.missiles.modular.system.dao.RoleMapper; import com.casic.missiles.modular.system.dao.RuRelationMapper; import com.casic.missiles.modular.system.dao.UserMapper; import com.casic.missiles.modular.system.model.Dept; +import com.casic.missiles.modular.system.model.Role; import com.casic.missiles.modular.system.model.RuRelation; import com.casic.missiles.modular.system.model.User; +import com.casic.missiles.utils.SysDeptAndUserUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RepositoryService; @@ -53,6 +55,8 @@ @Resource private UserMapper userMapper; @Resource + private RoleMapper roleMapper; + @Resource private DeptMapper deptMapper; //每个任务节点的开始就会执行,在userTask中设置该监听器,保证审批人设置成功 @@ -119,17 +123,28 @@ // 选择主管作为审批人 String startUserId = execution.getVariable("root", String.class); User user = userMapper.selectById(startUserId); + + //申请人为部门负责人,审批人为上级部门负责人 + QueryWrapper ruRelationWrapper = new QueryWrapper<>(); + ruRelationWrapper.eq("userid", user.getId()); + List ruRelations = ruRelationMapper.selectList(ruRelationWrapper); + List roleIds = ruRelations.stream().map(RuRelation::getRoleId).collect(Collectors.toList()); + QueryWrapper roleWrapper = new QueryWrapper<>(); + roleWrapper.in("id", roleIds); + List roles = roleMapper.selectList(roleWrapper); + List collectTips = roles.stream().map(Role::getTips).collect(Collectors.toList()); + Long deptId = user.getDeptId(); + if (collectTips.contains("director")) { + Dept dept = deptMapper.selectById(deptId); + deptId = dept.getPid(); + } + //根据发起人查部门,根据部门查主管角色查主管,每个部门只有一个主管,根据角色和部门获取主管 //sys_role表tips字段区分角色,director定义为主管角色 - List> list = SqlRunner.db().selectList("select su.ID as id from sys_role sr " + - "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + - "JOIN sys_user su ON srr.USERID = su.ID " + - "WHERE sr.DEPT_ID = {0}" + - "AND sr.TIPS = {1}" + - "AND su.DEPT_ID = {0}", String.valueOf(user.getDeptId()), "director"); - Map idMap = list.get(0); - String id = String.valueOf(idMap.get("id")); - assigneeList.add(id); + String directorId = SysDeptAndUserUtil.getDeptDirectorIdByDeptId(deptId); + if(!"".equals(directorId)){ + assigneeList.add(directorId); + } } else if (AssigneeSetTypeEnum.SELF_SELECT == settype) { // TODO: 2022/12/27 发起人自选审批人(需求暂无此功能) @@ -137,6 +152,83 @@ //启动流程时设置的发起人全局变量 String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); + + } else if (AssigneeSetTypeEnum.LEADER_LEVEL == settype) { + //节点选择某级主管审批,级别最小是2,需要保证每级必须有主管(后续可以优化为用父部门获取某级主管)。1级用直接主管配置节点即可 + String startUserId = execution.getVariable("root", String.class); + Integer directorLevel = nodeUserJsonObject.getInteger("directorLevel"); + List> userIdList = getLeaderByUserId(startUserId); + if (CollectionUtils.isEmpty(userIdList)) { + return; + } + //取其中一个主管,为获取该主管的上级主管用 + Map tIdMap = userIdList.get(0); + String userId = String.valueOf(tIdMap.get("id")); + + if (2 == directorLevel) { + userIdList.forEach(idMap -> { + assigneeList.add(String.valueOf(idMap.get("id"))); + }); + } else if (3 == directorLevel) { + List> tUserIdList = getLeaderByUserId(userId); + if (!CollectionUtils.isEmpty(tUserIdList)) { + tUserIdList.forEach(idMap -> { + assigneeList.add(String.valueOf(idMap.get("id"))); + }); + } + } else if (4 == directorLevel) { + List> tUserIdList = getLeaderByUserId(userId); + if (!CollectionUtils.isEmpty(tUserIdList)) { + Map fIdMap = tUserIdList.get(0); + userId = String.valueOf(fIdMap.get("id")); + List> fUserIdList = getLeaderByUserId(userId); + if (!CollectionUtils.isEmpty(fUserIdList)) { + fUserIdList.forEach(idMap -> { + assigneeList.add(String.valueOf(idMap.get("id"))); + }); + } + } + } else if (5 == directorLevel) { + List> tUserIdList = getLeaderByUserId(userId); + if (!CollectionUtils.isEmpty(tUserIdList)) { + Map fIdMap = tUserIdList.get(0); + userId = String.valueOf(fIdMap.get("id")); + List> fUserIdList = getLeaderByUserId(userId); + if (!CollectionUtils.isEmpty(fUserIdList)) { + Map fiIdMap = fUserIdList.get(0); + userId = String.valueOf(fiIdMap.get("id")); + List> fiUserIdList = getLeaderByUserId(userId); + if (!CollectionUtils.isEmpty(fiUserIdList)) { + fiUserIdList.forEach(idMap -> { + assigneeList.add(String.valueOf(idMap.get("id"))); + }); + } + } + } + } else if (6 == directorLevel) { + List> tUserIdList = getLeaderByUserId(userId); + if (!CollectionUtils.isEmpty(tUserIdList)) { + Map fIdMap = tUserIdList.get(0); + userId = String.valueOf(fIdMap.get("id")); + List> fUserIdList = getLeaderByUserId(userId); + if (!CollectionUtils.isEmpty(fUserIdList)) { + Map fiIdMap = fUserIdList.get(0); + userId = String.valueOf(fiIdMap.get("id")); + List> fiUserIdList = getLeaderByUserId(userId); + if (!CollectionUtils.isEmpty(fiUserIdList)) { + Map sIdMap = fiUserIdList.get(0); + userId = String.valueOf(sIdMap.get("id")); + List> sUserIdList = getLeaderByUserId(userId); + if (!CollectionUtils.isEmpty(sUserIdList)) { + fiUserIdList.forEach(idMap -> { + assigneeList.add(String.valueOf(idMap.get("id"))); + }); + } + } + } + } + } + } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 @@ -148,33 +240,9 @@ //循环查询发起人的主管id //directorLevel一定大于1,前端做下拉限制从2级起 - Integer directorLevel = nodeConfig.getInteger("directorLevel"); - for (int i = 1; i <= directorLevel; i++) { - User user = userMapper.selectById(startUserId); - Long deptId = user.getDeptId(); - Dept dept = deptMapper.selectById(deptId); - String pids = dept.getPids(); - List deptIds = new ArrayList<>(); - if(StringUtils.isNotEmpty(pids)){ - String replace = pids.replace("[", "").replace("]", ""); - pids = replace.substring(0, replace.length() - 1); - //在角色管理中配置的角色所在组织机构,要保证该机构的子组织结构使用该角色也可以生效 - deptIds = new ArrayList<>(Arrays.asList(pids.split(","))); - } - if(i > 1){ - //主管获取所在的上级部门 - deptId = dept.getPid(); - } - //保证无父id时deptIds有值,sql正常执行 - if(CollectionUtils.isEmpty(deptIds)){ - deptIds.add(String.valueOf(deptId)); - } - List> list = SqlRunner.db().selectList("select su.ID as id from sys_role sr " + - "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + - "JOIN sys_user su ON srr.USERID = su.ID " + - "WHERE (sr.DEPT_ID = {2} or sr.DEPT_ID in {0})" + - "AND sr.TIPS = {1}" + - "AND su.DEPT_ID = {2}", deptIds, "director", String.valueOf(deptId)); + Integer directorLevel = nodeUserJsonObject.getInteger("directorLevel"); + for (int i = 2; i <= directorLevel; i++) { + List> list = getLeaderByUserId(startUserId); if(CollectionUtils.isEmpty(list)){ break; } @@ -183,7 +251,6 @@ assigneeList.add(id); startUserId = id; } - // TODO: 2023/1/13 以上逻辑需联调测试验证 } } @@ -238,4 +305,31 @@ return null; } + /** + * 用户id获取上级部门负责人用户id列表 + * @param startUserId + * @return + */ + private List> getLeaderByUserId(String startUserId) { + User user = userMapper.selectById(startUserId); + Long deptId = user.getDeptId(); + Dept dept = deptMapper.selectById(deptId); + String pids = dept.getPids(); + List deptIds = new ArrayList<>(); + if(StringUtils.isNotEmpty(pids)){ + String replace = pids.replace("[", "").replace("]", ""); + pids = replace.substring(0, replace.length() - 1); + //在角色管理中配置的角色所在组织机构,要保证该机构的子组织结构使用该角色也可以生效 + deptIds = new ArrayList<>(Arrays.asList(pids.split(","))); + } + //主管获取所在的上级部门 + deptId = dept.getPid(); + //保证无父id时deptIds有值,sql正常执行 + if(CollectionUtils.isEmpty(deptIds)){ + deptIds.add(String.valueOf(deptId)); + } + List> list = SysDeptAndUserUtil.getUserIdsByDeptIdAndDeptIds(deptIds, deptId); + return list; + } + } diff --git a/casic-metering-api/src/main/build/bin/start.sh b/casic-metering-api/src/main/build/bin/start.sh index f0fbd9d..26944e7 100644 --- a/casic-metering-api/src/main/build/bin/start.sh +++ b/casic-metering-api/src/main/build/bin/start.sh @@ -1 +1 @@ -java -jar ./lib/casic-metering-api-2.0.0.jar \ No newline at end of file +nohup java -jar ./lib/casic-metering-api-2.0.0.jar > /dev/null 2>&1 & \ No newline at end of file diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java index 10a034b..a4d403d 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -11,6 +11,7 @@ Integer LEADER = 2; Integer SELF_SELECT = 4; Integer SELF = 5; + Integer LEADER_LEVEL = 6; Integer LEADER_TOP = 7; Integer ROLE = 11; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/SysDeptAndUserUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/SysDeptAndUserUtil.java new file mode 100644 index 0000000..6e0c68b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/SysDeptAndUserUtil.java @@ -0,0 +1,65 @@ +package com.casic.missiles.utils; + +import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; +import org.springframework.util.CollectionUtils; + +import java.util.List; +import java.util.Map; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/8/12 11:24 + */ +public class SysDeptAndUserUtil { + + /** + * 根据部门获取部门负责人id + * @param deptId + * @return + */ + public static String getDeptDirectorIdByDeptId(Long deptId){ + List> list = SqlRunner.db().selectList("select su.ID as id from sys_role sr " + + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + + "JOIN sys_user su ON (srr.USERID = su.ID AND su.STATUS = 1) " + +// "WHERE sr.DEPT_ID = {0}" + + "WHERE "+ + "sr.TIPS = {1}" + + "AND su.DEPT_ID = {0}", String.valueOf(deptId), "director"); + if(CollectionUtils.isEmpty(list)){ + return ""; + } + Map idMap = list.get(0); + return String.valueOf(idMap.get("id")); + } + + /** + * 根据用户id获取该用户为主管时的部门信息 + * @param userId + * @return + */ + public static Map getDirectDeptByUserId(Long userId) { + Map resultMap = SqlRunner.db().selectOne( + "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + + "JOIN sys_user su ON (srr.USERID = su.ID AND su.STATUS = 1) " + + "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + + "WHERE su.ID = {0}" + + "AND sr.TIPS = {1}", String.valueOf(userId), "director"); + return resultMap; + } + + public static List> getUserIdsByDeptIdAndDeptIds(List deptIds, Long deptId){ + List> list = SqlRunner.db().selectList("select su.ID as id from sys_role sr " + + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + + "JOIN sys_user su ON (srr.USERID = su.ID AND su.STATUS = 1) " + +// "WHERE (sr.DEPT_ID = {2} or sr.DEPT_ID in {0})" +//角色所在的组织机构及该结构的子结构 + "WHERE "+ + "sr.TIPS = {1}" + + "AND su.DEPT_ID = {2}", deptIds, "director", String.valueOf(deptId)); + return list; + } + + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/Info/CustomerInfoResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/Info/CustomerInfoResponse.java index 4871276..617b348 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/Info/CustomerInfoResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/Info/CustomerInfoResponse.java @@ -136,6 +136,10 @@ @ExcelProperty(value = "公司市地址", order = 17) private String addressCityName; + @ApiModelProperty(value = "公司地址-区名字", dataType = "String") + @ExcelProperty(value = "公司区地址", order = 17) + private String addressAreaName; + @ApiModelProperty(value = "公司市详细地址", dataType = "String") @ExcelProperty(value = "公司市详细地址", order = 18) private String fullAddress; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index bc9c069..0dc9233 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -46,7 +46,7 @@ @ExcelProperty(value = "出厂编号", order = 3) private String manufacturingNo; - @ExcelProperty(value = "出厂编号", order = 4) + @ExcelProperty(value = "生产厂家", order = 4) @ApiModelProperty(value = "生产厂家", dataType = "String") private String manufacturer; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/flowable/CounterSignListener.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/flowable/CounterSignListener.java index 60ec5dc..c1ce0a7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/flowable/CounterSignListener.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/flowable/CounterSignListener.java @@ -3,17 +3,19 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; import com.casic.missiles.enums.system.AssigneeSetTypeEnum; import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; +import com.casic.missiles.modular.system.dao.RoleMapper; import com.casic.missiles.modular.system.dao.RuRelationMapper; import com.casic.missiles.modular.system.dao.UserMapper; import com.casic.missiles.modular.system.model.Dept; +import com.casic.missiles.modular.system.model.Role; import com.casic.missiles.modular.system.model.RuRelation; import com.casic.missiles.modular.system.model.User; +import com.casic.missiles.utils.SysDeptAndUserUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RepositoryService; @@ -53,6 +55,8 @@ @Resource private UserMapper userMapper; @Resource + private RoleMapper roleMapper; + @Resource private DeptMapper deptMapper; //每个任务节点的开始就会执行,在userTask中设置该监听器,保证审批人设置成功 @@ -119,17 +123,28 @@ // 选择主管作为审批人 String startUserId = execution.getVariable("root", String.class); User user = userMapper.selectById(startUserId); + + //申请人为部门负责人,审批人为上级部门负责人 + QueryWrapper ruRelationWrapper = new QueryWrapper<>(); + ruRelationWrapper.eq("userid", user.getId()); + List ruRelations = ruRelationMapper.selectList(ruRelationWrapper); + List roleIds = ruRelations.stream().map(RuRelation::getRoleId).collect(Collectors.toList()); + QueryWrapper roleWrapper = new QueryWrapper<>(); + roleWrapper.in("id", roleIds); + List roles = roleMapper.selectList(roleWrapper); + List collectTips = roles.stream().map(Role::getTips).collect(Collectors.toList()); + Long deptId = user.getDeptId(); + if (collectTips.contains("director")) { + Dept dept = deptMapper.selectById(deptId); + deptId = dept.getPid(); + } + //根据发起人查部门,根据部门查主管角色查主管,每个部门只有一个主管,根据角色和部门获取主管 //sys_role表tips字段区分角色,director定义为主管角色 - List> list = SqlRunner.db().selectList("select su.ID as id from sys_role sr " + - "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + - "JOIN sys_user su ON srr.USERID = su.ID " + - "WHERE sr.DEPT_ID = {0}" + - "AND sr.TIPS = {1}" + - "AND su.DEPT_ID = {0}", String.valueOf(user.getDeptId()), "director"); - Map idMap = list.get(0); - String id = String.valueOf(idMap.get("id")); - assigneeList.add(id); + String directorId = SysDeptAndUserUtil.getDeptDirectorIdByDeptId(deptId); + if(!"".equals(directorId)){ + assigneeList.add(directorId); + } } else if (AssigneeSetTypeEnum.SELF_SELECT == settype) { // TODO: 2022/12/27 发起人自选审批人(需求暂无此功能) @@ -137,6 +152,83 @@ //启动流程时设置的发起人全局变量 String startUserId = execution.getVariable("root", String.class); assigneeList.add(startUserId); + + } else if (AssigneeSetTypeEnum.LEADER_LEVEL == settype) { + //节点选择某级主管审批,级别最小是2,需要保证每级必须有主管(后续可以优化为用父部门获取某级主管)。1级用直接主管配置节点即可 + String startUserId = execution.getVariable("root", String.class); + Integer directorLevel = nodeUserJsonObject.getInteger("directorLevel"); + List> userIdList = getLeaderByUserId(startUserId); + if (CollectionUtils.isEmpty(userIdList)) { + return; + } + //取其中一个主管,为获取该主管的上级主管用 + Map tIdMap = userIdList.get(0); + String userId = String.valueOf(tIdMap.get("id")); + + if (2 == directorLevel) { + userIdList.forEach(idMap -> { + assigneeList.add(String.valueOf(idMap.get("id"))); + }); + } else if (3 == directorLevel) { + List> tUserIdList = getLeaderByUserId(userId); + if (!CollectionUtils.isEmpty(tUserIdList)) { + tUserIdList.forEach(idMap -> { + assigneeList.add(String.valueOf(idMap.get("id"))); + }); + } + } else if (4 == directorLevel) { + List> tUserIdList = getLeaderByUserId(userId); + if (!CollectionUtils.isEmpty(tUserIdList)) { + Map fIdMap = tUserIdList.get(0); + userId = String.valueOf(fIdMap.get("id")); + List> fUserIdList = getLeaderByUserId(userId); + if (!CollectionUtils.isEmpty(fUserIdList)) { + fUserIdList.forEach(idMap -> { + assigneeList.add(String.valueOf(idMap.get("id"))); + }); + } + } + } else if (5 == directorLevel) { + List> tUserIdList = getLeaderByUserId(userId); + if (!CollectionUtils.isEmpty(tUserIdList)) { + Map fIdMap = tUserIdList.get(0); + userId = String.valueOf(fIdMap.get("id")); + List> fUserIdList = getLeaderByUserId(userId); + if (!CollectionUtils.isEmpty(fUserIdList)) { + Map fiIdMap = fUserIdList.get(0); + userId = String.valueOf(fiIdMap.get("id")); + List> fiUserIdList = getLeaderByUserId(userId); + if (!CollectionUtils.isEmpty(fiUserIdList)) { + fiUserIdList.forEach(idMap -> { + assigneeList.add(String.valueOf(idMap.get("id"))); + }); + } + } + } + } else if (6 == directorLevel) { + List> tUserIdList = getLeaderByUserId(userId); + if (!CollectionUtils.isEmpty(tUserIdList)) { + Map fIdMap = tUserIdList.get(0); + userId = String.valueOf(fIdMap.get("id")); + List> fUserIdList = getLeaderByUserId(userId); + if (!CollectionUtils.isEmpty(fUserIdList)) { + Map fiIdMap = fUserIdList.get(0); + userId = String.valueOf(fiIdMap.get("id")); + List> fiUserIdList = getLeaderByUserId(userId); + if (!CollectionUtils.isEmpty(fiUserIdList)) { + Map sIdMap = fiUserIdList.get(0); + userId = String.valueOf(sIdMap.get("id")); + List> sUserIdList = getLeaderByUserId(userId); + if (!CollectionUtils.isEmpty(sUserIdList)) { + fiUserIdList.forEach(idMap -> { + assigneeList.add(String.valueOf(idMap.get("id"))); + }); + } + } + } + } + } + } else if (AssigneeSetTypeEnum.LEADER_TOP == settype) { //连续多级主管作为审批人,审批方式由多人审批时审批方式字段决定 //根据发起人查部门,根据部门查主管角色,根据发起人部门查父部门,根据父部门查主管角色,递归 @@ -148,33 +240,9 @@ //循环查询发起人的主管id //directorLevel一定大于1,前端做下拉限制从2级起 - Integer directorLevel = nodeConfig.getInteger("directorLevel"); - for (int i = 1; i <= directorLevel; i++) { - User user = userMapper.selectById(startUserId); - Long deptId = user.getDeptId(); - Dept dept = deptMapper.selectById(deptId); - String pids = dept.getPids(); - List deptIds = new ArrayList<>(); - if(StringUtils.isNotEmpty(pids)){ - String replace = pids.replace("[", "").replace("]", ""); - pids = replace.substring(0, replace.length() - 1); - //在角色管理中配置的角色所在组织机构,要保证该机构的子组织结构使用该角色也可以生效 - deptIds = new ArrayList<>(Arrays.asList(pids.split(","))); - } - if(i > 1){ - //主管获取所在的上级部门 - deptId = dept.getPid(); - } - //保证无父id时deptIds有值,sql正常执行 - if(CollectionUtils.isEmpty(deptIds)){ - deptIds.add(String.valueOf(deptId)); - } - List> list = SqlRunner.db().selectList("select su.ID as id from sys_role sr " + - "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + - "JOIN sys_user su ON srr.USERID = su.ID " + - "WHERE (sr.DEPT_ID = {2} or sr.DEPT_ID in {0})" + - "AND sr.TIPS = {1}" + - "AND su.DEPT_ID = {2}", deptIds, "director", String.valueOf(deptId)); + Integer directorLevel = nodeUserJsonObject.getInteger("directorLevel"); + for (int i = 2; i <= directorLevel; i++) { + List> list = getLeaderByUserId(startUserId); if(CollectionUtils.isEmpty(list)){ break; } @@ -183,7 +251,6 @@ assigneeList.add(id); startUserId = id; } - // TODO: 2023/1/13 以上逻辑需联调测试验证 } } @@ -238,4 +305,31 @@ return null; } + /** + * 用户id获取上级部门负责人用户id列表 + * @param startUserId + * @return + */ + private List> getLeaderByUserId(String startUserId) { + User user = userMapper.selectById(startUserId); + Long deptId = user.getDeptId(); + Dept dept = deptMapper.selectById(deptId); + String pids = dept.getPids(); + List deptIds = new ArrayList<>(); + if(StringUtils.isNotEmpty(pids)){ + String replace = pids.replace("[", "").replace("]", ""); + pids = replace.substring(0, replace.length() - 1); + //在角色管理中配置的角色所在组织机构,要保证该机构的子组织结构使用该角色也可以生效 + deptIds = new ArrayList<>(Arrays.asList(pids.split(","))); + } + //主管获取所在的上级部门 + deptId = dept.getPid(); + //保证无父id时deptIds有值,sql正常执行 + if(CollectionUtils.isEmpty(deptIds)){ + deptIds.add(String.valueOf(deptId)); + } + List> list = SysDeptAndUserUtil.getUserIdsByDeptIdAndDeptIds(deptIds, deptId); + return list; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/data/order/CalibrationOrderPrintFileData.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/data/order/CalibrationOrderPrintFileData.java index c72bcf0..9c46357 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/data/order/CalibrationOrderPrintFileData.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/data/order/CalibrationOrderPrintFileData.java @@ -42,6 +42,7 @@ map.put("sampleName", customerSampleInfoList.get(i).getSampleName()); map.put("sampleModel", customerSampleInfoList.get(i).getSampleModel()); map.put("manufacturingNo", customerSampleInfoList.get(i).getManufacturingNo()); + map.put("manufacturer", customerSampleInfoList.get(i).getManufacturer()); map.put("sampleNo", customerSampleInfoList.get(i).getSampleNo()); map.put("certificateRequire", customerSampleInfoList.get(i).getCertificateRequire()); map.put("appearanceStatus", customerSampleInfoList.get(i).getAppearanceStatus());