Browse Source

feat: oe药品

lixuesong 2 years ago
parent
commit
12d83f96af

+ 110 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/oe/controller/OeMedicineController.java

@@ -0,0 +1,110 @@
+package com.qunzhixinxi.hnqz.admin.oe.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.beust.jcommander.internal.Maps;
+import com.qunzhixinxi.hnqz.admin.oe.entity.dto.OeMedicineRequest;
+import com.qunzhixinxi.hnqz.admin.oe.entity.vo.OeMedicineVO;
+import com.qunzhixinxi.hnqz.common.core.util.R;
+import com.qunzhixinxi.hnqz.common.log.annotation.SysLog;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * oe药品管理控制器
+ *
+ * @author lixuesong
+ * @date 2023/08/07
+ */
+@Slf4j
+@RestController
+@RequestMapping("/oe/medicine")
+public class OeMedicineController {
+
+    /**
+     * oe药品保存
+     *
+     * @param toSaveMedicine 保存参数
+     * @return {@link R}<{@link ?}>
+     */
+    @SysLog("oe药品保存")
+    @PostMapping("/save")
+    public R<?> saveMedicine(@RequestBody OeMedicineRequest.ToSaveMedicine toSaveMedicine) {
+        log.info("oe药品保存参数:{}", toSaveMedicine);
+        // TODO
+        return R.ok();
+    }
+
+    /**
+     * oe药品更新
+     *
+     * @param toUpdateMedicine 保存参数
+     * @return {@link R}<{@link ?}>
+     */
+    @SysLog("oe药品更新")
+    @PostMapping("/update")
+    public R<?> updateMedicine(@RequestBody OeMedicineRequest.ToUpdateMedicine toUpdateMedicine) {
+        log.info("oe药品更新参数:{}", toUpdateMedicine);
+        // TODO
+        return R.ok();
+    }
+
+    /**
+     * 推广药品列表
+     *
+     * @return {@link R}<{@link List}<{@link Map}<{@link String}, {@link String}>>>
+     */
+    @GetMapping("/list-tenant-medicine")
+    public R<List<Map<String, String>>> listTenantMedicine() {
+        List<Map<String, String>> list = new ArrayList<Map<String, String>>() {{
+            add(Maps.newHashMap("id", "1", "name", "药品1"));
+            add(Maps.newHashMap("id", "2", "name", "药品2"));
+            add(Maps.newHashMap("id", "3", "name", "药品3"));
+        }};
+
+        return R.ok(list);
+    }
+
+    /**
+     * 分页查询药品
+     *
+     * @param page                 分页参数
+     * @param name                 名称
+     * @param commonName           通用名称
+     * @param productionEnterprise 生产企业
+     * @return {@link R}<{@link IPage}<{@link String}>>
+     */
+    @GetMapping("/page-medicine")
+    public R<IPage<OeMedicineVO>> pageMedicine(Page<OeMedicineVO> page, String name, String commonName, String productionEnterprise) {
+        int total = 20;
+        List<OeMedicineVO> list = new ArrayList<>();
+        for (int i = Math.toIntExact(page.getCurrent()); i < page.getSize(); i++) {
+            OeMedicineVO vo = new OeMedicineVO();
+            vo.setId((long) i);
+            vo.setName("商品名"+i);
+            vo.setCommonName("通用名"+i);
+            vo.setMah("上市许可持有人");
+            vo.setProductionEnterprise("生产企业"+i);
+            vo.setPromotedBusinessStatistics(10);
+            vo.setMedicalInsurance(i%2==0 ? Boolean.TRUE : Boolean.FALSE);
+            vo.setDosageForm(i%2==0 ?"片剂" : "注射液");
+            vo.setSpecification("0.1g");
+            vo.setDrugType(i%2==0 ? "仿制" : "原研");
+            list.add(vo);
+        }
+
+        page.setRecords(list);
+        page.setTotal(total);
+        page.setPages((total + page.getSize() - 1) / page.getSize());
+
+        return R.ok(page);
+    }
+}

+ 126 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/oe/entity/dto/OeMedicineRequest.java

@@ -0,0 +1,126 @@
+package com.qunzhixinxi.hnqz.admin.oe.entity.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+public class OeMedicineRequest {
+
+    /**
+     * oe药品保存参数
+     */
+    @Data
+    public static class ToSaveMedicine implements Serializable {
+        private static final long serialVersionUID = 498425117146760393L;
+
+        /**
+         * 药品名称
+         */
+        private String name;
+
+        /**
+         * 通用名称
+         */
+        private String commonName;
+
+        /**
+         * 上市许可持有人
+         */
+        private String mah;
+
+        /**
+         * 生产企业
+         */
+        private String productionEnterprise;
+
+        /**
+         * 推广企业统计
+         */
+        private Integer promotedBusinessStatistics;
+
+        /**
+         * 是否全国医保
+         */
+        private Boolean medicalInsurance;
+
+        /**
+         * 剂型
+         */
+        private String dosageForm;
+
+        /**
+         * 规格
+         */
+        private String specification;
+
+        /**
+         * 原研/仿制药
+         */
+        private String drugType;
+
+        /**
+         * 备注
+         */
+        private String remark;
+
+    }
+
+    /**
+     * oe药品更新参数
+     */
+    @Data
+    public static class ToUpdateMedicine implements Serializable {
+        private static final long serialVersionUID = -3961892156546807439L;
+
+        /**
+         * 药品名称
+         */
+        private String name;
+
+        /**
+         * 通用名称
+         */
+        private String commonName;
+
+        /**
+         * 上市许可持有人
+         */
+        private String mah;
+
+        /**
+         * 生产企业
+         */
+        private String productionEnterprise;
+
+        /**
+         * 推广企业统计
+         */
+        private Integer promotedBusinessStatistics;
+
+        /**
+         * 是否全国医保
+         */
+        private Boolean medicalInsurance;
+
+        /**
+         * 剂型
+         */
+        private String dosageForm;
+
+        /**
+         * 规格
+         */
+        private String specification;
+
+        /**
+         * 原研/仿制药
+         */
+        private String drugType;
+
+        /**
+         * 备注
+         */
+        private String remark;
+
+    }
+}

+ 80 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/oe/entity/vo/OeMedicineVO.java

@@ -0,0 +1,80 @@
+package com.qunzhixinxi.hnqz.admin.oe.entity.vo;
+
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * oe药品
+ *
+ * @author lixuesong
+ * @date 2023/08/07
+ */
+@Data
+public class OeMedicineVO {
+
+    /**
+     * 主键id
+     */
+    private Long id;
+
+    /**
+     * 药品名称
+     */
+    private String name;
+
+    /**
+     * 通用名称
+     */
+    private String commonName;
+
+    /**
+     * 上市许可持有人
+     */
+    private String mah;
+
+    /**
+     * 生产企业
+     */
+    private String productionEnterprise;
+
+    /**
+     * 推广企业统计
+     */
+    private Integer promotedBusinessStatistics;
+
+    /**
+     * 是否全国医保
+     */
+    private Boolean medicalInsurance;
+
+    /**
+     * 剂型
+     */
+    private String dosageForm;
+
+    /**
+     * 规格
+     */
+    private String specification;
+
+    /**
+     * 原研/仿制药
+     */
+    private String drugType;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createdTime;
+
+    /**
+     * 修改时间
+     */
+    private LocalDateTime modifiedTime;
+}