Explorar o código

fix: csm创建的药企,创建cso后,该csm默认为该cso负责人

lixuesong hai 1 ano
pai
achega
45d1fc8b46

+ 16 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/SysDeptController.java

@@ -1,6 +1,7 @@
 package com.qunzhixinxi.hnqz.admin.controller;
 
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ArrayUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -561,6 +562,21 @@ public class SysDeptController {
 				Set<Integer> superDeptIds = deptRelations.stream().map(SysDeptRelation::getAncestor).collect(Collectors.toSet());
 				List<SysDept> depts = sysDeptService.listByIds(superDeptIds);
 				record.setSuperDeptName(depts.stream().map(SysDept::getName).collect(Collectors.joining(",")));
+
+				// 根据上级企业获取上级企业的csm
+//				List<SysDeptCsm> csms = sysDeptCsmMapper.selectList(Wrappers.<SysDeptCsm>lambdaQuery()
+//						.in(SysDeptCsm::getDeptId, superDeptIds));
+//				if (CollUtil.isNotEmpty(csms)) {
+//					Set<Integer> userIds = csms.stream().map(SysDeptCsm::getUserId).collect(Collectors.toSet());
+//					record.setCsmUserIds(ArrayUtil.addAll(userIds.toArray(new Integer[0]), record.getCsmUserIds()));
+//
+//					List<SysUser> users = sysUserMapper.selectBatchIds(userIds);
+//					if (record.getCsmNames() != null) {
+//						record.setCsmNames(StrUtil.join(",", users.stream().map(SysUser::getRealname).collect(Collectors.joining(",")), record.getCsmNames()));
+//					} else {
+//						record.setCsmNames(users.stream().map(SysUser::getRealname).collect(Collectors.joining(",")));
+//					}
+//				}
 			}
 		});
 

+ 23 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmDaAgentController.java

@@ -17,12 +17,14 @@
 
 package com.qunzhixinxi.hnqz.admin.controller;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
+import com.qunzhixinxi.hnqz.admin.api.entity.SysDeptCsm;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysDeptRelation;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
 import com.qunzhixinxi.hnqz.admin.entity.*;
@@ -76,6 +78,7 @@ public class WmDaAgentController {
 	private final SysDeptMapper sysDeptMapper;
 	private final SysDeptRelationService sysDeptRelationService;
 	private final SysCsmUserRelationService sysCsmUserRelationService;
+	private final SysDeptCsmMapper sysDeptCsmMapper;
 
 	/**
 	 * 分页查询
@@ -204,6 +207,8 @@ public class WmDaAgentController {
 	@PostMapping
 	@Transactional(rollbackFor = Exception.class)
 	public R save(@RequestBody WmDaAgent wmDaAgent) {
+		Integer deptId = SecurityUtils.getUser().getDeptId();
+
 		WmDaAgent query = new WmDaAgent();
 		query.setGsmc(wmDaAgent.getGsmc());
 		List<WmDaAgent> list1 = wmDaAgentService.list(Wrappers.query(query));
@@ -213,7 +218,7 @@ public class WmDaAgentController {
 		List<WmDaAgent> list3 = wmDaAgentMapper.selectByGsmcList(query);
 		SysDeptRelation sysDeptRelation = new SysDeptRelation();
 		if (list3.size() > 0) {
-			sysDeptRelation.setAncestor(SecurityUtils.getUser().getDeptId());
+			sysDeptRelation.setAncestor(deptId);
 			sysDeptRelation.setDescendant(Integer.parseInt(list3.get(0).getDeptId()));
 		}
 		List<SysDeptRelation> list4 = sysDeptRelationMapper.selectDeptRelation(sysDeptRelation);
@@ -421,6 +426,23 @@ public class WmDaAgentController {
 			}
 		}
 
+		// 查询当前企业的csm维护人
+		List<SysDeptCsm> deptCsms = sysDeptCsmMapper.selectList(Wrappers.<SysDeptCsm>lambdaQuery()
+				.eq(SysDeptCsm::getDeptId, deptId));
+		if (CollUtil.isNotEmpty(deptCsms)) {
+			deptCsms.forEach(csm -> {
+				// CSM创建的企业,在创建cso时, 负责人默认是该CSM
+				SysUser user = sysUserMapper.selectById(csm.getUserId());
+				SysDeptCsm insert = new SysDeptCsm();
+				insert.setDeptId(Integer.valueOf(wmDaAgent.getDeptId()));
+				insert.setUserId(csm.getUserId());
+				insert.setCsmName(user.getRealname());
+				insert.setQrCodeId(" ");
+				insert.setCorpId(" ");
+				sysDeptCsmMapper.insert(insert);
+			});
+		}
+
 		return R.ok();
 	}
 

+ 1 - 1
hnqz-upms/hnqz-upms-biz/src/main/resources/mapper/WmDaAgentMapper.xml

@@ -74,7 +74,7 @@
 
 	<!-- 分页查询派工企业 -->
 	<select id="selectWmManagementPage" resultMap="wmDaAgentMap">
-		SELECT
+		SELECT distinct
 		a.*, d.dept_permissions, d.level as dept_level, d.financial_review_type
 		FROM wm_da_agent a
 		LEFT JOIN sys_dept d ON d.dept_id = a.dept_id

+ 1 - 1
hnqz-upms/hnqz-upms-biz/src/main/resources/mapper/WmDaDrugEntMapper.xml

@@ -45,7 +45,7 @@
 
 	<!-- 分页查询 -->
 	<select id="selectPage" resultMap="wmDaDrugEntMap">
-		SELECT
+		SELECT distinct
 			e.id,
 			e.entname,
 			e.entcode,