Kaynağa Gözat

feat: 药企和cso支持结算通道

shc 3 yıl önce
ebeveyn
işleme
06f5da40d1

+ 4 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/SysDeptSub.java

@@ -53,7 +53,7 @@ public class SysDeptSub extends Model<SysDeptSub> {
 	private String subjectType;
 
 	@ApiModelProperty(value = "结算通道")
-	private String subjectChannel;
+	private Integer subjectChannel;
 
 	@ApiModelProperty(value = "限额")
 	private BigDecimal limitAmount;
@@ -66,4 +66,7 @@ public class SysDeptSub extends Model<SysDeptSub> {
 
 	@ApiModelProperty(value = "税邦云用户类型对应的发票类目")
 	private String subjectInvoiceCategory;
+
+	@ApiModelProperty(value = "更新时间")
+	private LocalDateTime updateTime;
 }

+ 4 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/WmDaAgent.java

@@ -27,6 +27,7 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 
 import java.time.LocalDateTime;
+import java.util.Map;
 
 /**
  * 档案-代理商
@@ -178,6 +179,9 @@ public class WmDaAgent extends Model<WmDaAgent> {
 	@ApiModelProperty(value="结算主体类型")
 	private String[] subjectType;
 
+	@ApiModelProperty(value="结算主体类型和通道")
+	private Map<String, Integer> subjectTypeAndChannel;
+
 	/**
 	 * 部门专用权限限制(0.导出)
 	 */

+ 7 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/WmDaDrugEnt.java

@@ -27,6 +27,7 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 
 import java.time.LocalDateTime;
+import java.util.Map;
 
 /**
  * 档案-药企
@@ -133,6 +134,12 @@ public class WmDaDrugEnt extends Model<WmDaDrugEnt> {
 	@ApiModelProperty(value="结算主体类型")
 	private String[] subjectType;
 
+	/**
+	 * 结算主体和通道
+	 */
+	@ApiModelProperty(value="结算主体类型")
+	private Map<String, Integer> subjectTypeAndChannel;
+
 	/**
 	 * 部门专用权限限制(0.导出)
 	 */

+ 8 - 3
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmDaDrugEntService.java

@@ -33,9 +33,14 @@ import java.util.List;
  */
 public interface WmDaDrugEntService extends IService<WmDaDrugEnt> {
 
-	public boolean saveDrugEnt(WmDaDrugEnt wmDaDrugEnt);
+	/**
+	 * 保存药企
+	 * @param wmDaDrugEnt 药企信息
+	 * @return 结果
+	 */
+	boolean saveDrugEnt(WmDaDrugEnt wmDaDrugEnt);
 
-	public List<WmDaDrugEnt> selectByScope(Wrapper<WmDaDrugEnt> queryWrapper);
+	List<WmDaDrugEnt> selectByScope(Wrapper<WmDaDrugEnt> queryWrapper);
 
 	List<WmDaDrugEnt> selectByDrugId(WmDaDrugEnt wmDaDrugEnt);
 
@@ -43,7 +48,7 @@ public interface WmDaDrugEntService extends IService<WmDaDrugEnt> {
 
 	List selectEntNameByDrugIds(Integer id);
 
-	public boolean saveDrugEnts(WmDaDrugEnt wmDaDrugEnt);
+	boolean saveDrugEnts(WmDaDrugEnt wmDaDrugEnt);
 
 	WmDaDrugEnt selectByDeptId(Integer deptId);
 

+ 29 - 52
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDaAgentServiceImpl.java

@@ -41,6 +41,7 @@ import org.springframework.stereotype.Service;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -235,10 +236,7 @@ public class WmDaAgentServiceImpl extends ServiceImpl<WmDaAgentMapper, WmDaAgent
 
 	@Override
 	public IPage selectWmManagementList(Page page, WmDaAgent wmDaAgent) {
-//		OrderItem orderItem = new OrderItem();
-//		orderItem.setColumn("create_time");
-//		orderItem.setAsc(false);
-//		page.addOrder(orderItem);
+
 		QueryWrapper queryWrapper = Wrappers.query();
 		if (null != wmDaAgent.getGsmc()) {
 			queryWrapper.like("gsmc", wmDaAgent.getGsmc());
@@ -246,52 +244,21 @@ public class WmDaAgentServiceImpl extends ServiceImpl<WmDaAgentMapper, WmDaAgent
 		if (null != wmDaAgent.getZjNumber()) {
 			queryWrapper.like("zjNamber", wmDaAgent.getZjNumber());
 		}
-//		List<WmDaAgent> wmDaAgentList = wmDaAgentMapper.selectWmManagementList(wmDaAgent);
-//		List<String> ids = wmDaAgentList.stream().map(p -> p.getDeptId()).collect(Collectors.toList());
-//		List<SysDept> sysDeptList = new ArrayList<>();
-//		for (String id : ids) {
-//			SysDept sysDept = sysDeptService.getById(id);
-//			if (sysDept != null) {
-//				sysDeptList.add(sysDept);
-//			}
-//		}
-//		List<Integer> deptList = sysDeptList.stream().filter(task -> 3 == task.getLevel()).map(p -> p.getDeptId()).collect(Collectors.toList());
-//		List<Integer> deptList1 = sysDeptList.stream().filter(task -> 5 == task.getLevel()).map(p -> p.getDeptId()).collect(Collectors.toList());
-//		List<SysDept> sysDeptList1 = new ArrayList<>();
-//		for (Integer id : deptList) {
-//			SysDept sysDept = sysDeptService.getById(id);
-//			sysDeptList1.add(sysDept);
-//		}
-//		for (Integer id : deptList1) {
-//			SysDept sysDept = sysDeptService.getById(id);
-//			sysDeptList1.add(sysDept);
-//		}
-//		List<Integer> ids1 = sysDeptList1.stream().map(p -> p.getDeptId()).collect(Collectors.toList());
-//		List<WmDaAgent> wmDaAgentList1 = new ArrayList<>();
-//		for (Integer id : ids1) {
-//			WmDaAgent wmDaAgent1 = new WmDaAgent();
-//			wmDaAgent1.setDeptId(String.valueOf(id));
-//			WmDaAgent wmDaAgent2 = wmDaAgentMapper.selectDeptId(wmDaAgent1);
-//			wmDaAgentList1.add(wmDaAgent2);
-//		}
-//		Page<WmDaAgent> page1 = new Page<>();
-//		int current = new Long(page.getCurrent()).intValue();
-//		int size = new Long(page.getSize()).intValue();
-//
-//		int count = wmDaAgentList1.size();
-//		List<WmDaAgent> pageList = new ArrayList<>();
-//		//计算当前页第一条数据的下标
-//		int currId = current > 1 ? (current - 1) * size : 0;
-//		for (int i = 0; i < size && i < count - currId; i++) {
-//			pageList.add(wmDaAgentList1.get(currId + i));
-//		}
-//		page1.setSize(size);
-//		page1.setCurrent(current);
-//		page1.setTotal(count);
-//		//计算分页总页数
-//		page1.setPages(count % 10 == 0 ? count / 10 : count / 10 + 1);
-//		page1.setRecords(pageList);
-		return wmDaAgentMapper.selectWmManagementPage(page, wmDaAgent);
+
+		IPage<WmDaAgent> wmDaAgentIPage = wmDaAgentMapper.selectWmManagementPage(page, wmDaAgent);
+
+		wmDaAgentIPage.getRecords().forEach(agent ->{
+
+			Map<String, Integer> collect = sysDeptSubMapper.selectList(Wrappers.<SysDeptSub>lambdaQuery().eq(SysDeptSub::getDeptId, agent.getDeptId()))
+					.stream().collect(Collectors.toMap(SysDeptSub::getSubjectType, SysDeptSub::getSubjectChannel));
+
+			agent.setSubjectTypeAndChannel(collect);
+
+		});
+
+
+
+		return wmDaAgentIPage;
 	}
 
 	@Override
@@ -352,13 +319,23 @@ public class WmDaAgentServiceImpl extends ServiceImpl<WmDaAgentMapper, WmDaAgent
 				sysDeptService.save(sysDept);
 			}
 
-			for (String subType : wmDaAgent.getSubjectType()) {
+			for (Map.Entry<String, Integer> entry : wmDaAgent.getSubjectTypeAndChannel().entrySet()){
 				SysDeptSub deptSub = new SysDeptSub();
 				deptSub.setDeptId(sysDept.getDeptId());
-				deptSub.setSubjectType(subType);
+				deptSub.setSubjectType(entry.getKey());
+				deptSub.setSubjectChannel(entry.getValue());
+				deptSub.setUpdateTime(LocalDateTime.now());
 				deptSub.setEnableFlag(SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode());
 				sysDeptSubMapper.insert(deptSub);
 			}
+
+			// for (String subType : wmDaAgent.getSubjectType()) {
+			// 	SysDeptSub deptSub = new SysDeptSub();
+			// 	deptSub.setDeptId(sysDept.getDeptId());
+			// 	deptSub.setSubjectType(subType);
+			// 	deptSub.setEnableFlag(SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode());
+			// 	sysDeptSubMapper.insert(deptSub);
+			// }
 			/**
 			 * @Modify: end
 			*/

+ 25 - 3
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDaDrugEntServiceImpl.java

@@ -18,6 +18,7 @@ package com.qunzhixinxi.hnqz.admin.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
@@ -39,6 +40,8 @@ import org.springframework.transaction.annotation.Transactional;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * 档案-药企
@@ -77,13 +80,20 @@ public class WmDaDrugEntServiceImpl extends ServiceImpl<WmDaDrugEntMapper, WmDaD
 			 * @Date: 2021/4/19
 			 */
 			if(sysDeptService.saveDept(sysDept) > 0){
-				for (String subType : entity.getSubjectType()) {
+
+				Map<String, Integer> subjectTypeAndChannel = entity.getSubjectTypeAndChannel();
+
+				for (Map.Entry<String, Integer> entry : subjectTypeAndChannel.entrySet()){
 					SysDeptSub deptSub = new SysDeptSub();
 					deptSub.setDeptId(sysDept.getDeptId());
-					deptSub.setSubjectType(subType);
+					deptSub.setSubjectChannel(entry.getValue());
+					deptSub.setSubjectType(entry.getKey());
 					deptSub.setEnableFlag(SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode());
+					deptSub.setUpdateTime(sysDept.getCreateTime());
 					sysDeptSubMapper.insert(deptSub);
+
 				}
+
 				return true;
 			}
 			return  false;
@@ -191,6 +201,18 @@ public class WmDaDrugEntServiceImpl extends ServiceImpl<WmDaDrugEntMapper, WmDaD
 	 */
 	@Override
 	public IPage<List<WmDaDrugEnt>> selectPage(Page page, WmDaDrugEnt wmDaDrugEnt) {
-		return wmDaDrugEntMapper.selectPage(page, wmDaDrugEnt);
+		IPage<List<WmDaDrugEnt>> listIPage = wmDaDrugEntMapper.selectPage(page, wmDaDrugEnt);
+
+		listIPage.getRecords().forEach(entList -> {
+
+			entList.forEach( ent -> {
+				Map<String, Integer> collect = sysDeptSubMapper.selectList(Wrappers.<SysDeptSub>lambdaQuery().eq(SysDeptSub::getDeptId, ent.getDeptId()))
+						.stream()
+						.collect(Collectors.toMap(SysDeptSub::getSubjectType, SysDeptSub::getSubjectChannel));
+				ent.setSubjectTypeAndChannel(collect);
+			});
+		});
+
+		return listIPage;
 	}
 }