Przeglądaj źródła

test: 批量补充任务类型test

lixuesong 3 lat temu
rodzic
commit
7ba739e945

+ 246 - 0
hnqz-upms/hnqz-upms-biz/src/test/java/com/qunzhixinxi/hnqz/admin/WmTaskTypeServiceTest.java

@@ -0,0 +1,246 @@
+package com.qunzhixinxi.hnqz.admin;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollectionUtil;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
+import com.qunzhixinxi.hnqz.admin.entity.WmDaAgent;
+import com.qunzhixinxi.hnqz.admin.entity.WmDaDrugEnt;
+import com.qunzhixinxi.hnqz.admin.entity.WmTaskType;
+import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
+import com.qunzhixinxi.hnqz.admin.enums.EnableEnum;
+import com.qunzhixinxi.hnqz.admin.mapper.SysDeptMapper;
+import com.qunzhixinxi.hnqz.admin.mapper.WmDaAgentMapper;
+import com.qunzhixinxi.hnqz.admin.mapper.WmDaDrugEntMapper;
+import com.qunzhixinxi.hnqz.admin.mapper.WmTaskTypeMapper;
+import lombok.AllArgsConstructor;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * @author lixuesong
+ * @date 2021年11月22日 18:55
+ */
+@RunWith(SpringJUnit4ClassRunner.class)
+@SpringBootTest(classes = {HnqzAdminApplication.class, Test.class})
+public class WmTaskTypeServiceTest {
+
+	@Autowired
+	private WmTaskTypeMapper wmTaskTypeMapper;
+
+	@Autowired
+	private SysDeptMapper sysDeptMapper;
+
+	@Autowired
+	private WmDaDrugEntMapper wmDaDrugEntMapper;
+
+	@Autowired
+	private WmDaAgentMapper wmDaAgentMapper;
+
+	/**
+	 * 批量补充新增的任务类型33-药店拜访
+	 */
+	@Test
+	public void test() {
+		WmTaskType wmTaskTypeQ = new WmTaskType();
+//		wmTaskTypeQ.setTaskTypeLevel("1");
+//		wmTaskTypeQ.setStatus("0");
+//		wmTaskTypeQ.setDelFlag("0");
+		wmTaskTypeQ.setId("33");
+		List<WmTaskType> tempList = wmTaskTypeMapper.selectList(Wrappers.query(wmTaskTypeQ));
+
+		// 1.第一级是药企的情况
+		List<SysDept> deptList = sysDeptMapper.selectList(Wrappers.<SysDept>lambdaQuery()
+				.eq(SysDept::getLevel, 2));
+
+		// 遍历药企
+		for (SysDept dept : deptList) {
+			// 生成药企任务类型
+			WmDaDrugEnt wmDaDrugEnt = wmDaDrugEntMapper.selectOne(Wrappers.<WmDaDrugEnt>lambdaQuery()
+					.eq(WmDaDrugEnt::getDeptId, dept.getDeptId())
+					.eq(WmDaDrugEnt::getEnableFlag, EnableEnum.ENABLE.val())
+					.eq(WmDaDrugEnt::getDelFlag, DelEnum.NOT_DEL.val()));
+			if (wmDaDrugEnt == null) {
+				continue;
+			}
+			for (WmTaskType wmTaskType1 : tempList) {
+				WmTaskType newOne = BeanUtil.copyProperties(wmTaskType1, WmTaskType.class);
+				newOne.setCreateTime(null);
+				newOne.setId(null);
+				newOne.setDurgentId(wmDaDrugEnt.getId());
+				newOne.setTaskTypeLevel("2");
+				newOne.setTaskEntId(wmDaDrugEnt.getId());
+				newOne.setDeptId(wmDaDrugEnt.getDeptId());
+				newOne.setStatus("0");
+				newOne.setBaseId(wmTaskType1.getId());
+				newOne.setRuleId(wmDaDrugEnt.getId());
+				newOne.setParentId(wmTaskType1.getParentId());
+				List<WmTaskType> taskTypeList = wmTaskTypeMapper.selectList(Wrappers.lambdaQuery(newOne));
+				if (CollectionUtil.isEmpty(taskTypeList)) {
+					newOne.setCreateTime(LocalDateTime.now());
+					wmTaskTypeMapper.insert(newOne);
+				}
+			}
+
+			// 查询一级CSO
+			List<SysDept> oneCSODeptList = sysDeptMapper.selectList(Wrappers.<SysDept>lambdaQuery()
+					.eq(SysDept::getParentId, dept.getDeptId())
+					.eq(SysDept::getDelFlag, DelEnum.NOT_DEL.val())
+					.eq(SysDept::getLevel, 3));
+			for (SysDept oneCSODept : oneCSODeptList) {
+				// 生成药企给一级CSO的任务类型
+				WmDaAgent wmDaAgent = wmDaAgentMapper.selectOne(Wrappers.<WmDaAgent>lambdaQuery()
+						.eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.val())
+						.eq(WmDaAgent::getEnableFlag, EnableEnum.ENABLE.val())
+						.eq(WmDaAgent::getDeptId, oneCSODept.getDeptId()));
+				if (wmDaAgent == null) {
+					continue;
+				}
+				for (WmTaskType wmTaskType1 : tempList) {
+					WmTaskType newOne = BeanUtil.copyProperties(wmTaskType1, WmTaskType.class);
+					newOne.setCreateTime(null);
+					newOne.setId(null);
+					newOne.setLevel1Id(wmDaAgent.getId());
+					newOne.setDurgentId(wmDaDrugEnt.getId());
+					newOne.setTaskTypeLevel("2");
+					newOne.setRuleId(wmDaDrugEnt.getId() + wmDaAgent.getId());
+					newOne.setTaskEntId(wmDaAgent.getId());
+					newOne.setDeptId(wmDaAgent.getDeptId());
+					newOne.setStatus("0");
+					newOne.setBaseId(wmTaskType1.getId());
+					List<WmTaskType> taskTypeList = wmTaskTypeMapper.selectList(Wrappers.lambdaQuery(newOne));
+					if (CollectionUtil.isEmpty(taskTypeList)) {
+						newOne.setCreateTime(LocalDateTime.now());
+						wmTaskTypeMapper.insert(newOne);
+					}
+				}
+				// 生成一级CSO的任务类型
+				for (WmTaskType wmTaskType2 : tempList) {
+					WmTaskType newOne = BeanUtil.copyProperties(wmTaskType2, WmTaskType.class);
+					newOne.setCreateTime(null);
+					newOne.setId(null);
+					newOne.setLevel1Id(wmDaAgent.getId());
+					newOne.setTaskTypeLevel("2");
+					newOne.setTaskEntId(wmDaAgent.getId());
+					newOne.setRuleId(wmDaAgent.getId());
+					newOne.setDeptId(wmDaAgent.getDeptId());
+					newOne.setStatus("0");
+					newOne.setBaseId(wmTaskType2.getId());
+					List<WmTaskType> taskTypeList = wmTaskTypeMapper.selectList(Wrappers.lambdaQuery(newOne));
+					if (CollectionUtil.isEmpty(taskTypeList)) {
+						newOne.setCreateTime(LocalDateTime.now());
+						wmTaskTypeMapper.insert(newOne);
+					}
+				}
+
+				// 查询二级CSO
+				List<SysDept> twoCSODeptList = sysDeptMapper.selectList(Wrappers.<SysDept>lambdaQuery()
+						.eq(SysDept::getParentId, oneCSODept.getDeptId())
+						.eq(SysDept::getDelFlag, DelEnum.NOT_DEL.val())
+						.eq(SysDept::getLevel, 4));
+				for (SysDept twoCSODept : twoCSODeptList) {
+					// 生成二级CSO任务类型
+					WmDaAgent wmDaAgent2 = wmDaAgentMapper.selectOne(Wrappers.<WmDaAgent>lambdaQuery()
+							.eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.val())
+							.eq(WmDaAgent::getEnableFlag, EnableEnum.ENABLE.val())
+							.eq(WmDaAgent::getDeptId, twoCSODept.getDeptId()));
+					if (wmDaAgent2 == null) {
+						continue;
+					}
+					for (WmTaskType wmTaskType2 : tempList) {
+						WmTaskType newOne = BeanUtil.copyProperties(wmTaskType2, WmTaskType.class);
+						newOne.setCreateTime(null);
+						newOne.setId(null);
+						newOne.setLevel1Id(wmDaAgent2.getId());
+						newOne.setTaskTypeLevel("2");
+						newOne.setTaskEntId(wmDaAgent2.getId());
+						newOne.setRuleId(wmDaAgent2.getId());
+						newOne.setDeptId(wmDaAgent2.getDeptId());
+						newOne.setStatus("0");
+						newOne.setBaseId(wmTaskType2.getId());
+						List<WmTaskType> taskTypeList = wmTaskTypeMapper.selectList(Wrappers.lambdaQuery(newOne));
+						if (CollectionUtil.isEmpty(taskTypeList)) {
+							newOne.setCreateTime(LocalDateTime.now());
+							wmTaskTypeMapper.insert(newOne);
+						}
+					}
+				}
+
+			}
+
+		}
+
+		// 2.第一级是CSO的情况
+		List<SysDept> deptList2 = sysDeptMapper.selectList(Wrappers.<SysDept>lambdaQuery()
+				.eq(SysDept::getLevel, 3)
+				.isNull(SysDept::getParentId));
+		// 查询一级CSO
+		for (SysDept oneCSODept : deptList2) {
+			// 生成药企给一级CSO的任务类型
+			WmDaAgent wmDaAgent = wmDaAgentMapper.selectOne(Wrappers.<WmDaAgent>lambdaQuery()
+					.eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.val())
+					.eq(WmDaAgent::getEnableFlag, EnableEnum.ENABLE.val())
+					.eq(WmDaAgent::getDeptId, oneCSODept.getDeptId()));
+			if (wmDaAgent == null) {
+				continue;
+			}
+			// 生成一级CSO的任务类型
+			for (WmTaskType wmTaskType2 : tempList) {
+				WmTaskType newOne = BeanUtil.copyProperties(wmTaskType2, WmTaskType.class);
+				newOne.setCreateTime(null);
+				newOne.setId(null);
+				newOne.setLevel1Id(wmDaAgent.getId());
+				newOne.setTaskTypeLevel("2");
+				newOne.setTaskEntId(wmDaAgent.getId());
+				newOne.setRuleId(wmDaAgent.getId());
+				newOne.setDeptId(wmDaAgent.getDeptId());
+				newOne.setStatus("0");
+				newOne.setBaseId(wmTaskType2.getId());
+				List<WmTaskType> taskTypeList = wmTaskTypeMapper.selectList(Wrappers.lambdaQuery(newOne));
+				if (CollectionUtil.isEmpty(taskTypeList)) {
+					newOne.setCreateTime(LocalDateTime.now());
+					wmTaskTypeMapper.insert(newOne);
+				}
+			}
+
+			// 查询二级CSO
+			List<SysDept> twoCSODeptList = sysDeptMapper.selectList(Wrappers.<SysDept>lambdaQuery()
+					.eq(SysDept::getParentId, oneCSODept.getDeptId())
+					.eq(SysDept::getDelFlag, DelEnum.NOT_DEL.val())
+					.eq(SysDept::getLevel, 4));
+			for (SysDept twoCSODept : twoCSODeptList) {
+				// 生成二级CSO任务类型
+				WmDaAgent wmDaAgent2 = wmDaAgentMapper.selectOne(Wrappers.<WmDaAgent>lambdaQuery()
+						.eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.val())
+						.eq(WmDaAgent::getEnableFlag, EnableEnum.ENABLE.val())
+						.eq(WmDaAgent::getDeptId, twoCSODept.getDeptId()));
+				if (wmDaAgent2 == null) {
+					continue;
+				}
+				for (WmTaskType wmTaskType2 : tempList) {
+					WmTaskType newOne = BeanUtil.copyProperties(wmTaskType2, WmTaskType.class);
+					newOne.setCreateTime(null);
+					newOne.setId(null);
+					newOne.setLevel1Id(wmDaAgent2.getId());
+					newOne.setTaskTypeLevel("2");
+					newOne.setTaskEntId(wmDaAgent2.getId());
+					newOne.setRuleId(wmDaAgent2.getId());
+					newOne.setDeptId(wmDaAgent2.getDeptId());
+					newOne.setStatus("0");
+					newOne.setBaseId(wmTaskType2.getId());
+					List<WmTaskType> taskTypeList = wmTaskTypeMapper.selectList(Wrappers.lambdaQuery(newOne));
+					if (CollectionUtil.isEmpty(taskTypeList)) {
+						newOne.setCreateTime(LocalDateTime.now());
+						wmTaskTypeMapper.insert(newOne);
+					}
+				}
+			}
+		}
+	}
+}