Forráskód Böngészése

feat: 积分包加推广药品字段

lixuesong 1 éve
szülő
commit
d7fc4b1350

+ 2 - 0
db/v2.0/20231107.sql

@@ -0,0 +1,2 @@
+alter table wm_score_package
+    add drugtable json null comment '推广药品';

+ 2 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/ApiController.java

@@ -421,6 +421,7 @@ public class ApiController {
 											String drugProducer = ArrayUtils.isEmpty(wmScorePackage.getDrugProducerList()) ? "" : String.join(StrUtil.COMMA, wmScorePackage
 													.getDrugProducerList());
 											map.put("drugProducer", drugProducer);
+											map.put("drugtable", wmScorePackage.getDrugtable());
 											listMap.add(map);
 										}
 
@@ -444,6 +445,7 @@ public class ApiController {
 											String drugProducer = ArrayUtils.isEmpty(wmScorePackage.getDrugProducerList()) ? "" : String.join(StrUtil.COMMA, wmScorePackage
 													.getDrugProducerList());
 											map.put("drugProducer", drugProducer);
+											map.put("drugtable", wmScorePackage.getDrugtable());
 											listMap.add(map);
 										}
 									}

+ 11 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmDaDrugEntDrugtableController.java

@@ -30,6 +30,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.util.SecurityUtils;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -232,6 +233,15 @@ public class WmDaDrugEntDrugtableController {
 		return R.ok();
 	}
 
-
+	/**
+	 * 获取分配给当前企业的药品列表
+	 *
+	 * @return {@link R}<{@link ?}> 药品列表
+	 */
+	@GetMapping("/list-drug")
+	public R<?> listDrugByDeptId() {
+		Integer deptId = SecurityUtils.getUser().getDeptId();
+		return R.ok(wmDaDrugEntDrugtableService.listDrugByDeptId(deptId));
+	}
 
 }

+ 9 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/WmScorePackage.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmPkgQuizRelation;
 import com.qunzhixinxi.hnqz.admin.api.constant.UpmsType;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmReportOpt;
@@ -17,6 +18,7 @@ import lombok.Getter;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 
 /**
@@ -26,7 +28,7 @@ import java.util.Set;
  * @date 2020-06-25 23:35:42
  */
 @Data
-@TableName("wm_score_package")
+@TableName(value = "wm_score_package")
 @EqualsAndHashCode(callSuper = true)
 public class WmScorePackage extends Model<WmScorePackage> {
 	private static final long serialVersionUID = 1L;
@@ -494,6 +496,12 @@ public class WmScorePackage extends Model<WmScorePackage> {
 	 */
 	private BigDecimal entTaskLimit;
 
+	/**
+	 * 推广药品
+	 */
+	@TableField(typeHandler = FastjsonTypeHandler.class)
+	private List<Map<String, String>> drugtable;
+
 	/**
 	 * 获取积分包的关联试卷
 	 */

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

@@ -24,6 +24,7 @@ import com.qunzhixinxi.hnqz.admin.entity.WmDaDrugEntDrugtable;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 
 /**
@@ -64,4 +65,13 @@ public interface WmDaDrugEntDrugtableService extends IService<WmDaDrugEntDrugtab
 	 * @return 生产企业列表
 	 */
 	Set<String> listDrugProducerByDeptId(Integer deptId);
+
+
+	/**
+	 * 获取分配给指定企业的药品列表
+	 *
+	 * @param deptId 部门id
+	 * @return {@link List}<{@link Map}<{@link String}, {@link String}>>
+	 */
+	List<Map<String, String>> listDrugByDeptId(Integer deptId);
 }

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

@@ -22,6 +22,7 @@ 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.google.common.collect.Maps;
 import com.qunzhixinxi.hnqz.admin.entity.ReAlbumDrug;
 import com.qunzhixinxi.hnqz.admin.entity.ReDeptDrug;
 import com.qunzhixinxi.hnqz.admin.entity.WmDaDrugEntDrugtable;
@@ -37,8 +38,11 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 import java.util.stream.Collectors;
 
@@ -147,5 +151,36 @@ public class WmDaDrugEntDrugtableServiceImpl extends ServiceImpl<WmDaDrugEntDrug
 		return R.ok();
 	}
 
+	/**
+	 * 获取分配给指定企业的药品列表
+	 *
+	 * @param deptId 部门id
+	 * @return {@link List}<{@link Map}<{@link String}, {@link String}>>
+	 */
+	@Override
+	public List<Map<String, String>> listDrugByDeptId(Integer deptId) {
+		Set<Integer> drugIds = reDeptDrugService.list(Wrappers.<ReDeptDrug>lambdaQuery()
+						.eq(ReDeptDrug::getDeptId, deptId))
+				.stream()
+				.mapToInt(ReDeptDrug::getDrugId)
+				.boxed()
+				.collect(Collectors.toSet());
+
+		if (CollectionUtil.isEmpty(drugIds)) {
+			return Collections.emptyList();
+		}
 
+		List<WmDaDrugEntDrugtable> list = this.list(Wrappers.<WmDaDrugEntDrugtable>lambdaQuery()
+				.eq(WmDaDrugEntDrugtable::getDelFlag, CommonConstants.STATUS_NORMAL)
+				.eq(WmDaDrugEntDrugtable::getEnableFlag, CommonConstants.STATUS_NORMAL)
+				.in(WmDaDrugEntDrugtable::getId, drugIds));
+
+		return list.stream()
+				.map(drug -> {
+					Map<String, String> map = new HashMap<>();
+					map.put("drug_id", drug.getId());
+					map.put("drug_name", drug.getDrugnameTy());
+					return map;
+				}).collect(Collectors.toList());
+	}
 }

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

@@ -94,7 +94,7 @@
 		<result property="drugProducerList" column="drug_producer"/>
 		<result property="omsOrderSn" column="oms_order_sn"/>
 		<result property="packageSn" column="pkg_sn"/>
-
+		<result property="drugtable" column="drugtable" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
 	</resultMap>
 
 	<select id="listWmScorePackageAndTask" resultMap="wmScorePackageMap">