浏览代码

feat: 添加药品生产企业信息

shc 4 年之前
父节点
当前提交
90380e6a4f

+ 3 - 0
db/v2.0/0715.sql

@@ -0,0 +1,3 @@
+-- 积分包表添加记录关联药品生产厂商列表
+alter table wm_score_package
+    add `drug_producer` VARCHAR(512) null comment '关联药品生产厂商名称';

+ 6 - 12
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/ApiController.java

@@ -2924,9 +2924,8 @@ public class ApiController {
 		WmWkAlbum album = wmWkAlbumService.getById(albumId);
 		// 获取相册的关联的药品
 		WmDaDrugEntDrugtable daDrugEntDrugtable = wmDaDrugEntDrugtableService.getById(album.getGlyp());
-		// 获取药品的生产企业
-		WmDaDrugEnt wmDaDrugEnt = wmDaDrugEntService.getBaseMapper()
-				.selectOne(Wrappers.<WmDaDrugEnt>query().eq("entname", daDrugEntDrugtable.getDrugEntName()));
+		// 获取关联药品的生产企业
+		String drugProducer = daDrugEntDrugtable.getDrugEntName();
 		//筛选积分包
 		WmScorePackageStatus wmScorePackageStatus = new WmScorePackageStatus();
 		wmScorePackageStatus.setUserId(sysUser.getUserId() + "");
@@ -2940,15 +2939,7 @@ public class ApiController {
 		List<Map<String, Object>> listMap = new ArrayList<>();
 
 		for (WmScorePackageStatus item : statusList) {
-			QueryWrapper<WmScorePackage> wrapper = null;
-			if (wmDaDrugEnt != null) {
-				wrapper = Wrappers.<WmScorePackage>query().eq("id", item.getPackageId())
-						.eq("drug_ent_id", wmDaDrugEnt.getId());
-			} else {
-				wrapper = Wrappers.<WmScorePackage>query().eq("id", item.getPackageId())
-						.eq("send_package_dept_id", sysUser.getDeptId()).isNull("drug_ent_id");
-			}
-			WmScorePackage wmScorePackage = wmScorePackageService.getOne(wrapper);
+			WmScorePackage wmScorePackage = wmScorePackageService.getOne(Wrappers.<WmScorePackage>lambdaQuery().eq(WmScorePackage::getId, item.getPackageId()));
 			if (null != wmScorePackage) {
 				if ("0".equals(wmScorePackage.getTaskAddFlag())) {
 					continue;
@@ -2962,6 +2953,9 @@ public class ApiController {
 				if ("3".equals(wmScorePackage.getPackageType1())) {
 					continue;
 				}
+				if (CollectionUtil.isEmpty(wmScorePackage.getDrugProducerList()) || !wmScorePackage.getDrugProducerList().contains(drugProducer)){
+					continue;
+				}
 				/**
 				 * 过滤有效任务类型
 				 */

+ 19 - 14
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmDaDrugEntDrugtableController.java

@@ -28,6 +28,7 @@ import com.qunzhixinxi.hnqz.common.core.util.R;
 import com.qunzhixinxi.hnqz.common.log.annotation.SysLog;
 import com.qunzhixinxi.hnqz.admin.entity.WmDaDrugEntDrugtable;
 import com.qunzhixinxi.hnqz.admin.service.WmDaDrugEntDrugtableService;
+import com.qunzhixinxi.hnqz.common.security.annotation.Inner;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -75,7 +76,7 @@ public class WmDaDrugEntDrugtableController {
 		if (StringUtils.isNotEmpty(wmDaDrugEntDrugtable.getDrugname())) {
 			wmDaDrugEntDrugtable.setDrugname(null);
 			queryWrapper.like("drugname", drugname);
-		}else {
+		} else {
 			wmDaDrugEntDrugtable.setDrugname(null);
 		}
 
@@ -83,7 +84,7 @@ public class WmDaDrugEntDrugtableController {
 		if (StringUtils.isNotEmpty(wmDaDrugEntDrugtable.getDrugnameTy())) {
 			wmDaDrugEntDrugtable.setDrugnameTy(null);
 			queryWrapper.like("drugname_ty", drugnameTy);
-		}else {
+		} else {
 			wmDaDrugEntDrugtable.setDrugnameTy(null);
 		}
 		if (StringUtils.isEmpty(wmDaDrugEntDrugtable.getDrugEntName())) {
@@ -126,7 +127,7 @@ public class WmDaDrugEntDrugtableController {
 		}
 		WmDaDrugEnt drugEnt = new WmDaDrugEnt();
 		List<WmDaDrugEnt> daDrugEnts = wmDaDrugEntService.list(Wrappers.query(drugEnt));
-		if(CollectionUtils.isNotEmpty(daDrugEnts)){
+		if (CollectionUtils.isNotEmpty(daDrugEnts)) {
 			wmDaDrugEntDrugtable.setDrugEntId(daDrugEnts.get(0).getId());
 		}
 
@@ -148,10 +149,10 @@ public class WmDaDrugEntDrugtableController {
 	public R updateById(@RequestBody WmDaDrugEntDrugtable wmDaDrugEntDrugtable) {
 
 		WmDaDrugEntDrugtable oldData = wmDaDrugEntDrugtableService.getById(wmDaDrugEntDrugtable.getId());
-		if(!oldData.getDrugEntName().equals(wmDaDrugEntDrugtable.getDrugEntName())){
+		if (!oldData.getDrugEntName().equals(wmDaDrugEntDrugtable.getDrugEntName())) {
 			WmDaDrugEnt drugEnt = new WmDaDrugEnt();
 			List<WmDaDrugEnt> daDrugEnts = wmDaDrugEntService.list(Wrappers.query(drugEnt));
-			if(CollectionUtils.isNotEmpty(daDrugEnts)){
+			if (CollectionUtils.isNotEmpty(daDrugEnts)) {
 				wmDaDrugEntDrugtable.setDrugEntId(daDrugEnts.get(0).getId());
 			}
 		}
@@ -166,7 +167,6 @@ public class WmDaDrugEntDrugtableController {
 //		}
 
 
-
 		return R.ok(wmDaDrugEntDrugtableService.updateById(wmDaDrugEntDrugtable));
 	}
 
@@ -198,19 +198,24 @@ public class WmDaDrugEntDrugtableController {
 	@SysLog("新增档案-药企药品")
 	@PostMapping("/distribute")
 	public R distribute(@RequestBody WmDaDrugEntDrugtable wmDaDrugEntDrugtable) {
-
-		return wmDaDrugEntDrugtableService.distribute(wmDaDrugEntDrugtable);
+		return R.ok(wmDaDrugEntDrugtableService.distribute(wmDaDrugEntDrugtable));
 	}
 
+	@SysLog("获取药品关联部门列表")
 	@GetMapping("/listReDept")
 	public R listReDept(WmDaDrugEntDrugtable wmDaDrugEntDrugtable) {
+		return R.ok(wmDaDrugEntDrugtableService.listReDept(wmDaDrugEntDrugtable));
+	}
 
-		return wmDaDrugEntDrugtableService.listReDept(wmDaDrugEntDrugtable);
+	/**
+	 * 获取药品生产企业名称列表
+	 *
+	 * @param deptId 部门id
+	 * @return 名称列表
+	 */
+	@GetMapping(value = "/list-drug-producer")
+	public R listDrugProducerByDeptId(@RequestParam(value = "deptId", required = false) Integer deptId) {
+		return R.ok(wmDaDrugEntDrugtableService.listDrugProducerByDeptId(deptId));
 	}
 
-//	@GetMapping("/listReDept")
-//	public R distribute(@RequestBody WmDaDrugEntDrugtable wmDaDrugEntDrugtable) {
-//
-//		return wmDaDrugEntDrugtableService.distribute(wmDaDrugEntDrugtable);
-//	}
 }

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

@@ -467,4 +467,11 @@ public class WmScorePackage extends Model<WmScorePackage> {
 	 */
 	private String projectNum;
 
+	/**
+	 * 关联药品的生产厂商列表
+	 */
+	@TableField(value = "drug_producer")
+	@ApiModelProperty(value="关联药品的生产厂商列表")
+	private List<String> drugProducerList;
+
 }

+ 10 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmDaDrugEntDrugtableService.java

@@ -23,6 +23,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.qunzhixinxi.hnqz.admin.entity.WmDaDrugEntDrugtable;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 
+import java.util.List;
+import java.util.Set;
+
 /**
  * 档案-药企药品
  *
@@ -54,4 +57,11 @@ public interface WmDaDrugEntDrugtableService extends IService<WmDaDrugEntDrugtab
 	 * @return 药品列表
 	 */
 	IPage<WmDaDrugEntDrugtable> listDrugs(Page page, Integer deptId, String drugName);
+
+	/**
+	 * 根据部门id获取关联药品生产生产企业名称
+	 * @param deptId 部门id
+	 * @return 生产企业列表
+	 */
+	Set<String> listDrugProducerByDeptId(Integer deptId);
 }

+ 41 - 9
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDaDrugEntDrugtableServiceImpl.java

@@ -28,6 +28,7 @@ import com.qunzhixinxi.hnqz.admin.mapper.ReDeptDrugMapper;
 import com.qunzhixinxi.hnqz.admin.mapper.WmDaDrugEntDrugtableMapper;
 import com.qunzhixinxi.hnqz.admin.service.ReDeptDrugService;
 import com.qunzhixinxi.hnqz.admin.service.WmDaDrugEntDrugtableService;
+import com.qunzhixinxi.hnqz.common.core.constant.CommonConstants;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import lombok.AllArgsConstructor;
 import org.apache.commons.lang3.StringUtils;
@@ -36,6 +37,7 @@ import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Set;
 import java.util.stream.Collectors;
 
 /**
@@ -53,9 +55,10 @@ public class WmDaDrugEntDrugtableServiceImpl extends ServiceImpl<WmDaDrugEntDrug
 	@Override
 	public R listReDept(WmDaDrugEntDrugtable wmDaDrugEntDrugtable) {
 
-		List<ReDeptDrug> list = reDeptDrugService.list(Wrappers.<ReDeptDrug>lambdaQuery().eq(ReDeptDrug::getDrugId,wmDaDrugEntDrugtable.getId()));
+		List<ReDeptDrug> list = reDeptDrugService.list(Wrappers.<ReDeptDrug>lambdaQuery()
+				.eq(ReDeptDrug::getDrugId, wmDaDrugEntDrugtable.getId()));
 
-		List<String> reDeptList = list.stream().map(p -> p.getDeptId()+"").collect(Collectors.toList());
+		List<String> reDeptList = list.stream().map(p -> p.getDeptId() + "").collect(Collectors.toList());
 		return R.ok(reDeptList);
 	}
 
@@ -70,26 +73,53 @@ public class WmDaDrugEntDrugtableServiceImpl extends ServiceImpl<WmDaDrugEntDrug
 	@Override
 	public IPage<WmDaDrugEntDrugtable> listDrugs(Page page, Integer deptId, String drugName) {
 		LambdaQueryWrapper<WmDaDrugEntDrugtable> queryWrapper = Wrappers.lambdaQuery();
-		if (StringUtils.isNotEmpty(drugName)){
-			queryWrapper.like(WmDaDrugEntDrugtable::getDrugname,drugName);
+		if (StringUtils.isNotEmpty(drugName)) {
+			queryWrapper.like(WmDaDrugEntDrugtable::getDrugname, drugName);
 		}
-		if (deptId != null){
-			final List<ReDeptDrug> reDeptDrugList = reDeptDrugService.list(Wrappers.<ReDeptDrug>lambdaQuery().eq(ReDeptDrug::getDeptId, deptId));
-			final List<Integer> drugIdList = reDeptDrugList.stream().mapToInt(ReDeptDrug::getDrugId).boxed().collect(Collectors.toList());
+		if (deptId != null) {
+			final List<ReDeptDrug> reDeptDrugList = reDeptDrugService.list(Wrappers.<ReDeptDrug>lambdaQuery()
+					.eq(ReDeptDrug::getDeptId, deptId));
+			final List<Integer> drugIdList = reDeptDrugList.stream()
+					.mapToInt(ReDeptDrug::getDrugId)
+					.boxed()
+					.collect(Collectors.toList());
 			queryWrapper.in(WmDaDrugEntDrugtable::getId, drugIdList);
 		}
 
 		return page(page, queryWrapper);
 	}
 
+	/**
+	 * 根据部门id获取关联药品生产生产企业名称
+	 *
+	 * @param deptId 部门id
+	 * @return 生产企业列表
+	 */
+	@Override
+	public Set<String> listDrugProducerByDeptId(Integer deptId) {
+		Set<Integer> drugIds = reDeptDrugService.list(Wrappers.<ReDeptDrug>lambdaQuery()
+				.eq(deptId != null, ReDeptDrug::getDeptId, deptId))
+				.stream()
+				.mapToInt(ReDeptDrug::getDrugId)
+				.boxed()
+				.collect(Collectors.toSet());
+		return list(Wrappers.<WmDaDrugEntDrugtable>lambdaQuery()
+				.eq(WmDaDrugEntDrugtable::getDelFlag, CommonConstants.STATUS_NORMAL)
+				.eq(WmDaDrugEntDrugtable::getEnableFlag, CommonConstants.STATUS_NORMAL)
+				.in(WmDaDrugEntDrugtable::getId, drugIds))
+				.stream()
+				.map(WmDaDrugEntDrugtable::getDrugEntName)
+				.collect(Collectors.toSet());
+	}
+
 	@Override
 	public R distribute(WmDaDrugEntDrugtable wmDaDrugEntDrugtable) {
-		int id  = Integer.parseInt(wmDaDrugEntDrugtable.getId());
+		int id = Integer.parseInt(wmDaDrugEntDrugtable.getId());
 		List<String> deptList = wmDaDrugEntDrugtable.getReDeptList();
 
 		List<ReDeptDrug> reDeptDrugs = new ArrayList<>();
 
-		reDeptDrugService.remove(Wrappers.<ReDeptDrug>lambdaQuery().eq(ReDeptDrug::getDrugId,id));
+		reDeptDrugService.remove(Wrappers.<ReDeptDrug>lambdaQuery().eq(ReDeptDrug::getDrugId, id));
 
 
 		for (String str : deptList) {
@@ -109,4 +139,6 @@ public class WmDaDrugEntDrugtableServiceImpl extends ServiceImpl<WmDaDrugEntDrug
 
 		return R.ok();
 	}
+
+
 }