diff --git a/dbhelper.jar b/dbhelper.jar
index e4be32b..63c1316 100644
Binary files a/dbhelper.jar and b/dbhelper.jar differ
diff --git a/src/main/java/com/syjiaer/pharmacy/server/ServerApplication.java b/src/main/java/com/syjiaer/clinic/server/ServerApplication.java
similarity index 78%
rename from src/main/java/com/syjiaer/pharmacy/server/ServerApplication.java
rename to src/main/java/com/syjiaer/clinic/server/ServerApplication.java
index 263cb4e..eccb04a 100644
--- a/src/main/java/com/syjiaer/pharmacy/server/ServerApplication.java
+++ b/src/main/java/com/syjiaer/clinic/server/ServerApplication.java
@@ -1,11 +1,11 @@
-package com.syjiaer.pharmacy.server;
+package com.syjiaer.clinic.server;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
-@MapperScan("com.syjiaer.pharmacy.server.modules.*.mapper")
+@MapperScan("com.syjiaer.clinic.server.mapper.*")
public class ServerApplication {
public static void main(String[] args) {
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/annotations/IMField.java b/src/main/java/com/syjiaer/clinic/server/common/api/annotations/IMField.java
new file mode 100644
index 0000000..98cf61b
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/annotations/IMField.java
@@ -0,0 +1,14 @@
+package com.syjiaer.clinic.server.common.api.annotations;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.FIELD)
+public @interface IMField {
+ String name() default "字段不能为空";
+ boolean required() default false;
+ String key() default "";
+}
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/annotations/OMField.java b/src/main/java/com/syjiaer/clinic/server/common/api/annotations/OMField.java
new file mode 100644
index 0000000..e823c7a
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/annotations/OMField.java
@@ -0,0 +1,15 @@
+package com.syjiaer.clinic.server.common.api.annotations;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.FIELD)
+public @interface OMField {
+ String name() default "字段不能为空";
+ String key() default "";
+
+ boolean required() default false;
+}
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/BaseInputModel.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/BaseInputModel.java
new file mode 100644
index 0000000..e0eb442
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/BaseInputModel.java
@@ -0,0 +1,48 @@
+package com.syjiaer.clinic.server.common.api.input;
+
+
+import com.syjiaer.clinic.server.common.api.annotations.IMField;
+import com.syjiaer.clinic.server.common.exception.MessageException;
+
+import java.lang.reflect.Field;
+import java.util.HashMap;
+import java.util.Map;
+
+public abstract class BaseInputModel {
+ public Map buildToMap() {
+ Map map = new HashMap<>();
+
+ // 遍历所有字段(包含父类)
+ Class> clazz = this.getClass();
+ while (clazz != null) {
+ for (Field field : clazz.getDeclaredFields()) {
+ field.setAccessible(true);
+ try {
+ Object value = field.get(this); // 检查RequiredField注解
+ String mapKey = null;
+ if (field.isAnnotationPresent(IMField.class)) {
+
+ IMField annotation = field.getAnnotation(IMField.class);
+ mapKey = annotation.key();
+ if (annotation.required()) {
+ if (value == null || value.toString().isEmpty()) {
+ throw new MessageException("[" + annotation.key() + ":"+annotation.name()+"]不能为空");
+ }
+ }
+
+ }
+
+ if (value != null && mapKey != null && !value.toString().isEmpty()){
+ map.put(mapKey, field.get(this));
+ }
+
+
+ } catch (IllegalAccessException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ clazz = clazz.getSuperclass();
+ }
+ return map;
+ }
+}
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM1101.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM1101.java
new file mode 100644
index 0000000..058f978
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM1101.java
@@ -0,0 +1,30 @@
+package com.syjiaer.clinic.server.common.api.input;
+
+import com.syjiaer.clinic.server.common.api.annotations.IMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class IM1101 extends BaseInputModel {
+ @IMField(key="mdtrt_cert_type",name = "就诊凭证类型",required = true)
+ private String mdtrtCertType;
+ @IMField(key="mdtrt_cert_no",name = "就诊凭证编号",required = true)
+ private String mdtrtCertNo;
+ @IMField(key="card_sn",name = "卡识别码",required = false)
+ private String cardSn;
+ @IMField(key="begntime",name = "开始时间",required = false)
+ private String begntime;
+ @IMField(key="psn_cert_type",name = "人员证件类型",required = false)
+ private String psnCertType;
+ @IMField(key="certno",name = "证件号码",required = true)
+ private String certno;
+ @IMField(key="psn_name",name = "人员姓名",required = true)
+ private String psnName;
+
+
+}
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM1301.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM1301.java
new file mode 100644
index 0000000..68d801e
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM1301.java
@@ -0,0 +1,16 @@
+package com.syjiaer.clinic.server.common.api.input;
+
+import com.syjiaer.clinic.server.common.api.annotations.IMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class IM1301 extends BaseInputModel{
+ @IMField(key="ver",name = "版本号",required = true)
+ private String ver;
+}
\ No newline at end of file
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM1302.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM1302.java
new file mode 100644
index 0000000..4c3164b
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM1302.java
@@ -0,0 +1,16 @@
+package com.syjiaer.clinic.server.common.api.input;
+
+import com.syjiaer.clinic.server.common.api.annotations.IMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class IM1302 extends BaseInputModel{
+ @IMField(key="ver",name = "版本号",required = true)
+ private String ver;
+}
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM1305.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM1305.java
new file mode 100644
index 0000000..b0d66ba
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM1305.java
@@ -0,0 +1,16 @@
+package com.syjiaer.clinic.server.common.api.input;
+
+import com.syjiaer.clinic.server.common.api.annotations.IMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class IM1305 extends BaseInputModel{
+ @IMField(key="ver",name = "版本号",required = true)
+ private String ver;
+}
\ No newline at end of file
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM1306.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM1306.java
new file mode 100644
index 0000000..438537c
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM1306.java
@@ -0,0 +1,16 @@
+package com.syjiaer.clinic.server.common.api.input;
+
+import com.syjiaer.clinic.server.common.api.annotations.IMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class IM1306 extends BaseInputModel{
+ @IMField(key="ver",name = "版本号",required = true)
+ private String ver;
+}
\ No newline at end of file
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM1307.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM1307.java
new file mode 100644
index 0000000..20ba85b
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM1307.java
@@ -0,0 +1,16 @@
+package com.syjiaer.clinic.server.common.api.input;
+
+import com.syjiaer.clinic.server.common.api.annotations.IMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class IM1307 extends BaseInputModel{
+ @IMField(key="ver",name = "版本号",required = true)
+ private String ver;
+}
\ No newline at end of file
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM1309.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM1309.java
new file mode 100644
index 0000000..bec6ffe
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM1309.java
@@ -0,0 +1,16 @@
+package com.syjiaer.clinic.server.common.api.input;
+
+import com.syjiaer.clinic.server.common.api.annotations.IMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class IM1309 extends BaseInputModel{
+ @IMField(key="ver",name = "版本号",required = true)
+ private String ver;
+}
\ No newline at end of file
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM1312.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM1312.java
new file mode 100644
index 0000000..4eae99c
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM1312.java
@@ -0,0 +1,55 @@
+package com.syjiaer.clinic.server.common.api.input;
+
+import com.syjiaer.clinic.server.common.api.annotations.IMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class IM1312 extends BaseInputModel{
+ @IMField(key = "query_date", name = "查询时间点")
+ private LocalDate queryDate;
+ @IMField(key = "hilist_code", name = "医保目录编码")
+ private String hilistCode;
+ @IMField(key = "insu_admdvs", name = "参保机构医保区划")
+ private String insuAdmdvs;
+ @IMField(key = "begndate", name = "开始日期")
+ private LocalDate begndate;
+ @IMField(key = "hilist_name", name = "医保目录名称")
+ private String hilistName;
+ @IMField(key = "wubi", name = "五笔助记码")
+ private String wubi;
+ @IMField(key = "pinyin", name = "拼音助记码")
+ private String pinyin;
+ @IMField(key = "med_chrgitm_type", name = "医疗收费项目类别")
+ private String medChrgitmType;
+ @IMField(key = "chrgitm_lv", name = "收费项目等级")
+ private String chrgitmLv;
+ @IMField(key = "lmt_used_flag", name = "限制使用标志")
+ private String lmtUsedFlag;
+ @IMField(key = "list_type", name = "目录类别")
+ private String listType;
+ @IMField(key = "med_use_flag", name = "医疗使用标志")
+ private String medUseFlag;
+ @IMField(key = "matn_used_flag", name = "生育使用标志")
+ private String matnUsedFlag;
+ @IMField(key = "hilist_use_type", name = "医保目录使用类别")
+ private String hilistUseType;
+ @IMField(key = "lmt_cpnd_type", name = "限复方使用类型")
+ private String lmtCpndType;
+ @IMField(key = "vali_flag", name = "有效标志")
+ private String valiFlag;
+ @IMField(key = "updt_time", name = "更新时间", required = true)
+ private LocalDateTime updtTime;
+ @IMField(key = "page_num", name = "当前页数", required = true)
+ private int pageNum;
+ @IMField(key = "page_size", name = "本页数据量", required = true)
+ private int pageSize;
+}
\ No newline at end of file
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM1318.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM1318.java
new file mode 100644
index 0000000..20b7023
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM1318.java
@@ -0,0 +1,45 @@
+package com.syjiaer.clinic.server.common.api.input;
+
+import com.syjiaer.clinic.server.common.api.annotations.IMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class IM1318 extends BaseInputModel{
+ @IMField (key = "query_date", name = "查询时间点")
+ private LocalDate queryDate;
+ @IMField(key = "hilist_code", name = "医保目录编码")
+ private String hilistCode;
+ @IMField(key = "hilist_lmtpric_type", name = "医保目录限价类型")
+ private String hilistLmtpricType;
+ @IMField(key = "overlmt_dspo_way", name = "医保目录超限处理方式")
+ private String overlmtDspoWay;
+ @IMField(key = "insu_admdvs", name = "参保机构医保区划")
+ private String insuAdmdvs;
+ @IMField(key = "begndate", name = "开始日期")
+ private LocalDate begndate;
+ @IMField(key = "enddate", name = "结束日期")
+ private LocalDate enddate;
+ @IMField(key = "vali_flag", name = "有效标志")
+ private String valiFlag;
+ @IMField(key = "rid", name = "唯一记录号")
+ private String rid;
+ @IMField(key = "tabname", name = "表名")
+ private String tabname;
+ @IMField(key = "poolarea_no", name = "统筹区")
+ private String poolareaNo;
+ @IMField(key = "updt_time", name = "更新时间", required = true)
+ private LocalDateTime updtTime;
+ @IMField(key = "page_num", name = "当前页数", required = true)
+ private int pageNum;
+ @IMField(key = "page_size", name = "本页数据量", required = true)
+ private int pageSize;
+}
\ No newline at end of file
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM1319.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM1319.java
new file mode 100644
index 0000000..836c1f2
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM1319.java
@@ -0,0 +1,43 @@
+package com.syjiaer.clinic.server.common.api.input;
+
+import com.syjiaer.clinic.server.common.api.annotations.IMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class IM1319 extends BaseInputModel{
+ @IMField (key = "query_date", name = "查询时间点")
+ private LocalDate queryDate;
+ @IMField(key = "hilist_code", name = "医保目录编码")
+ private String hilistCode;
+ @IMField(key = "hilist_lmtpric_type", name = "医保目录限价类型")
+ private String hilistLmtpricType;
+ @IMField(key = "overlmt_dspo_way", name = "医保目录超限处理方式")
+ private String overlmtDspoWay;
+ @IMField(key = "insu_admdvs", name = "参保机构医保区划")
+ private String insuAdmdvs;
+ @IMField(key = "begndate", name = "开始日期")
+ private LocalDate begndate;
+ @IMField(key = "enddate", name = "结束日期")
+ private LocalDate enddate;
+ @IMField(key = "vali_flag", name = "有效标志")
+ private String valiFlag;
+ @IMField(key = "selfpay_prop_psn_type", name = "人员类别")
+ private String selfpayPropPsnType;
+ @IMField(key = "selfpay_prop_type", name = "比例类别")
+ private String selfpayPropType;
+ @IMField(key = "updt_time", name = "更新时间", required = true)
+ private LocalDateTime updtTime;
+ @IMField(key = "page_num", name = "当前页数", required = true)
+ private int pageNum;
+ @IMField(key = "page_size", name = "本页数据量", required = true)
+ private int pageSize;
+}
\ No newline at end of file
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM2001.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM2001.java
new file mode 100644
index 0000000..238fbc0
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM2001.java
@@ -0,0 +1,42 @@
+package com.syjiaer.clinic.server.common.api.input;
+
+import com.syjiaer.clinic.server.common.api.annotations.IMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+import java.time.LocalDateTime;
+
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class IM2001 extends BaseInputModel{
+ @IMField(key="psn_no",name = "人员编号",required = true)
+ private String psnNo;
+ @IMField(key="insutype",name = "险种类型",required = true)
+ private String insutype;
+ @IMField(key="fixmedins_code",name = "定点医药机构编号",required = true)
+ private String fixmedinsCode;
+ @IMField(key="med_type",name = "医疗类别",required = true)
+ private String medType;
+ @IMField(key="begntime",name = "开始时间",required = true)
+ private LocalDateTime begntime;
+ @IMField(key="endtime",name = "结束时间")
+ private LocalDateTime endtime;
+ @IMField(key="dise_codg",name = "病种编码")
+ private String diseCodg;
+ @IMField(key="dise_name",name = "病种名称")
+ private String diseName;
+ @IMField(key="oprn_oprt_code",name = "手术操作代码")
+ private String oprnOprtCode;
+ @IMField(key="oprn_oprt_name",name = "手术操作名称")
+ private String oprnOprtName;
+ @IMField(key="matn_type",name = "生育类别")
+ private String matnType;
+ @IMField(key="birctrl_type",name = "计划生育手术类别")
+ private String birctrlType;
+ @IMField(key="exp_content",name = "字段扩展")
+ private String expContent;
+}
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM2101A.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM2101A.java
new file mode 100644
index 0000000..9924f25
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM2101A.java
@@ -0,0 +1,120 @@
+package com.syjiaer.clinic.server.common.api.input;
+
+import com.syjiaer.clinic.server.common.api.annotations.IMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class IM2101A extends BaseInputModel{
+ @IMField(key = "druginfo", name = "购药信息", required = true)
+ private Druginfo druginfo;
+ @IMField(key = "drugdetail", name = "购药明细", required = true)
+ private List drugdetail;
+
+
+ @Getter
+ @Setter
+ @ToString
+ public static class Druginfo{
+ @IMField(key = "psn_no", name = "人员编号", required = true)
+ private String psn_no;
+ @IMField(key = "mdtrt_cert_type", name = "就诊凭证类型", required = true)
+ private String mdtrt_cert_type;
+ @IMField(key = "mdtrt_cert_no", name = "就诊凭证编号", required = true)
+ private String mdtrt_cert_no;
+ @IMField(key = "begntime", name = "开始时间", required = true)
+ private LocalDateTime begntime;
+ @IMField(key = "medfee_sumamt", name = "医疗费总额", required = true)
+ private BigDecimal medfee_sumamt;
+ @IMField(key = "insutype", name = "险种类型", required = true)
+ private String insutype;
+ @IMField(key = "dise_codg", name = "病种编码")
+ private String dise_codg;
+ @IMField(key = "dise_name", name = "病种名称")
+ private String dise_name;
+ @IMField(key = "acct_used_flag", name = "个人账户使用标志", required = true)
+ private String acct_used_flag;
+ @IMField(key = "med_type", name = "医疗类别", required = true)
+ private String med_type;
+ @IMField(key = "fulamt_ownpay_amt", name = "全自费金额")
+ private BigDecimal fulamt_ownpay_amt;
+ @IMField(key = "overlmt_selfpay", name = "超限价自费费用")
+ private BigDecimal overlmt_selfpay;
+ @IMField(key = "preselfpay_amt", name = "先行自付金额")
+ private BigDecimal preselfpay_amt;
+ @IMField(key = "inscp_scp_amt", name = "符合政策范围金额")
+ private BigDecimal inscp_scp_amt;
+ @IMField(key = "exp_content", name = "字段扩展")
+ private InfoExpContent exp_content;
+ }
+ @Getter
+ @Setter
+ @ToString
+ public static class InfoExpContent{
+ @IMField(key = "deve_flag", name = "开发商标志")
+ private String deve_flag;
+ @IMField(key = "l_fixmedins_code", name = "开方定点医药机构编号")
+ private String l_fixmedins_code;
+ @IMField(key = "l_mdtrt_id", name = "开方就诊id")
+ private String l_mdtrt_id;
+ @IMField(key = "online_flag", name = "线上标志")
+ private String online_flag;
+
+ }
+ @Getter
+ @Setter
+ @ToString
+ public static class Drugdetail {
+ @IMField(key = "feedetl_sn", name = "费用明细流水号", required = true)
+ private String feedetl_sn;
+ @IMField(key = "rxno", name = "处方号")
+ private String rxno;
+ @IMField(key = "rx_circ_flag", name = "外购处方标志", required = true)
+ private String rx_circ_flag;
+ @IMField(key = "fee_ocur_time", name = "费用发生时间", required = true)
+ private LocalDateTime fee_ocur_time;
+ @IMField(key = "med_list_codg", name = "医疗目录编码", required = true)
+ private String med_list_codg;
+ @IMField(key = "medins_list_codg", name = "医药机构目录编码", required = true)
+ private String medins_list_codg;
+ @IMField(key = "det_item_fee_sumamt", name = "明细项目费用总额", required = true)
+ private BigDecimal det_item_fee_sumamt;
+ @IMField(key = "cnt", name = "数量", required = true)
+ private BigDecimal cnt;
+ @IMField(key = "pric", name = "单价", required = true)
+ private BigDecimal pric;
+ @IMField(key = "sin_dos_dscr", name = "单次剂量描述")
+ private String sin_dos_dscr;
+ @IMField(key = "used_frqu_dscr", name = "使用频次描述")
+ private String used_frqu_dscr;
+ @IMField(key = "prd_days", name = "周期天数")
+ private BigDecimal prd_days;
+ @IMField(key = "medc_way_dscr", name = "用药途径描述")
+ private String medc_way_dscr;
+ @IMField(key = "bilg_dr_codg", name = "开单医生编码")
+ private String bilg_dr_codg;
+ @IMField(key = "bilg_dr_name", name = "开单医师姓名")
+ private String bilg_dr_name;
+ @IMField(key = "tcmdrug_used_way", name = "中药使用方式")
+ private String tcmdrug_used_way;
+ @IMField(key = "exp_content", name = "字段扩展")
+ private DetailExpContent exp_content;
+ }
+ @Getter
+ @Setter
+ @ToString
+ public static class DetailExpContent{
+ @IMField(key = "pacunt", name = "包装单位")
+ private String pacunt;
+
+ }
+}
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM2102A.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM2102A.java
new file mode 100644
index 0000000..8a06537
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM2102A.java
@@ -0,0 +1,126 @@
+package com.syjiaer.clinic.server.common.api.input;
+import com.syjiaer.clinic.server.common.api.annotations.IMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class IM2102A extends BaseInputModel{
+ @IMField(key = "druginfo", name = "购药信息", required = true)
+ public Druginfo druginfo;
+ @IMField(key = "drugdetail", name = "购药明细", required = true)
+ public List drugdetail;
+
+ @Getter
+ @Setter
+ public static class Druginfo {
+ @IMField(key = "psn_no", name = "人员编号", required = true)
+ private String psn_no;
+ @IMField(key = "mdtrt_cert_type", name = "就诊凭证类型", required = true)
+ private String mdtrt_cert_type;
+ @IMField(key = "mdtrt_cert_no", name = "就诊凭证编号", required = true)
+ private String mdtrt_cert_no;
+ @IMField(key = "begntime", name = "开始时间", required = true)
+ private LocalDateTime begntime;
+ @IMField(key = "medfee_sumamt", name = "医疗费总额", required = true)
+ private BigDecimal medfee_sumamt;
+ @IMField(key = "invono", name = "发票号")
+ private String invono;
+ @IMField(key = "insutype", name = "险种类型", required = true)
+ private String insutype;
+ @IMField(key = "dise_codg", name = "病种编码")
+ private String dise_codg;
+ @IMField(key = "dise_name", name = "病种名称")
+ private String dise_name;
+ @IMField(key = "acct_used_flag", name = "个人账户使用标志", required = true)
+ private String acct_used_flag;
+ @IMField(key = "med_type", name = "医疗类别", required = true)
+ private String med_type;
+ @IMField(key = "fulamt_ownpay_amt", name = "全自费金额")
+ private BigDecimal fulamt_ownpay_amt;
+ @IMField(key = "overlmt_selfpay", name = "超限价自费费用")
+ private BigDecimal overlmt_selfpay;
+ @IMField(key = "preselfpay_amt", name = "先行自付金额")
+ private BigDecimal preselfpay_amt;
+ @IMField(key = "inscp_scp_amt", name = "符合政策范围金额")
+ private BigDecimal inscp_scp_amt;
+ @IMField(key = "exp_content", name = "字段扩展")
+ private InfoExpContent exp_content;
+ }
+ @Getter
+ @Setter
+ public static class InfoExpContent {
+ @IMField(key = "deve_flag", name = "开发商标志")
+ private String deve_flag;
+ @IMField(key = "l_fixmedins_code", name = "开方定点医药机构编号")
+ private String l_fixmedins_code;
+ @IMField(key = "l_mdtrt_id", name = "开方就诊id")
+ private String l_mdtrt_id;
+ @IMField(key = "online_flag", name = "线上标志")
+ private String online_flag;
+ }
+ @Getter
+ @Setter
+ public static class Drugdetail {
+ @IMField(key = "feedetl_sn", name = "费用明细流水号", required = true)
+ private String feedetl_sn;
+ @IMField(key = "rxno", name = "处方号")
+ private String rxno;
+ @IMField(key = "rx_circ_flag", name = "外购处方标志", required = true)
+ private String rx_circ_flag;
+ @IMField(key = "fee_ocur_time", name = "费用发生时间", required = true)
+ private LocalDateTime fee_ocur_time;
+ @IMField(key = "med_list_codg", name = "医疗目录编码", required = true)
+ private String med_list_codg;
+ @IMField(key = "medins_list_codg", name = "医药机构目录编码", required = true)
+ private String medins_list_codg;
+ @IMField(key = "det_item_fee_sumamt", name = "明细项目费用总额", required = true)
+ private BigDecimal det_item_fee_sumamt;
+ @IMField(key = "cnt", name = "数量", required = true)
+ private BigDecimal cnt;
+ @IMField(key = "pric", name = "单价", required = true)
+ private BigDecimal pric;
+ @IMField(key = "sin_dos_dscr", name = "单次剂量描述")
+ private String sin_dos_dscr;
+ @IMField(key = "used_frqu_dscr", name = "使用频次描述")
+ private String used_frqu_dscr;
+ @IMField(key = "prd_days", name = "周期天数")
+ private BigDecimal prd_days;
+ @IMField(key = "medc_way_dscr", name = "用药途径描述")
+ private String medc_way_dscr;
+ @IMField(key = "bilg_dr_codg", name = "开单医生编码")
+ private String bilg_dr_codg;
+ @IMField(key = "bilg_dr_name", name = "开单医师姓名")
+ private String bilg_dr_name;
+ @IMField(key = "tcmdrug_used_way", name = "中药使用方式")
+ private String tcmdrug_used_way;
+ @IMField(key = "exp_content", name = "字段扩展")
+ private DetailExpContent exp_content;
+ @IMField(key = "drug_trac_info", name = "追溯码节点信息")
+ private List drug_trac_info;
+ }
+ @Getter
+ @Setter
+ public static class DetailExpContent {
+ @IMField(key = "pacunt", name = "包装单位")
+ private String pacunt;
+ }
+ @Getter
+ @Setter
+ public static class DrugTracInfo {
+ @IMField(key = "feedetl_sn", name = "费用明细流水号", required = true)
+ private String feedetl_sn;
+ @IMField(key = "drug_trac_codg", name = "药品追溯码", required = true)
+ private String drug_trac_codg;
+ @IMField(key = "trdn_flag", name = "拆零标志", required = true)
+ private String trdn_flag;
+ }
+}
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM2103.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM2103.java
new file mode 100644
index 0000000..09bef8d
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM2103.java
@@ -0,0 +1,28 @@
+package com.syjiaer.clinic.server.common.api.input;
+
+import com.syjiaer.clinic.server.common.api.annotations.IMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class IM2103 extends BaseInputModel {
+ @IMField(key = "data", name = "节点标识", required = true)
+ private Data data;
+ @Getter
+ @Setter
+ public static class Data {
+ @IMField(key = "setl_id", name = "结算ID", required = true)
+ private String setl_id;
+ @IMField(key = "mdtrt_id", name = "就诊ID", required = true)
+ private String mdtrt_id;
+ @IMField(key = "psn_no", name = "人员编号", required = true)
+ private String psn_no;
+ @IMField(key = "exp_content", name = "字段扩展")
+ private String exp_content;
+ }
+}
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM2601.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM2601.java
new file mode 100644
index 0000000..da86fb7
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM2601.java
@@ -0,0 +1,20 @@
+package com.syjiaer.clinic.server.common.api.input;
+
+import com.syjiaer.clinic.server.common.api.annotations.IMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class IM2601 extends BaseInputModel {
+ @IMField(key = "psn_no", name = "人员编号", required = true)
+ private String psnNo;
+ @IMField(key = "omsgid", name = "原发送方报文ID", required = true)
+ private String omsgid;
+ @IMField(key = "oinfno", name = "原交易编号", required = true)
+ private String oinfno;
+}
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3201.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3201.java
new file mode 100644
index 0000000..ccda8e2
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3201.java
@@ -0,0 +1,46 @@
+package com.syjiaer.clinic.server.common.api.input;
+import com.syjiaer.clinic.server.common.api.annotations.IMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class IM3201 extends BaseInputModel{
+ @IMField(key = "data", name = "输入节点", required = true)
+ public Data data;
+
+ @Getter
+ @Setter
+ public static class Data {
+ @IMField(key = "insutype", name = "险种", required = true)
+ private String insutype;
+ @IMField(key = "clr_type", name = "清算类别", required = true)
+ private String clr_type;
+ @IMField(key = "setl_optins", name = "结算经办机构", required = true)
+ private String setl_optins;
+ @IMField(key = "stmt_begndate", name = "对账开始日期", required = true)
+ private String stmt_begndate;
+ @IMField(key = "stmt_enddate", name = "对账结束日期", required = true)
+ private String stmt_enddate;
+ @IMField(key = "medfee_sumamt", name = "医疗费总额", required = true)
+ private BigDecimal medfee_sumamt;
+ @IMField(key = "fund_pay_sumamt", name = "基金支付总额", required = true)
+ private BigDecimal fund_pay_sumamt;
+ @IMField(key = "acct_pay", name = "个人账户支付金额", required = true)
+ private BigDecimal acct_pay;
+ @IMField(key = "fixmedins_setl_cnt", name = "定点医药机构结算笔数", required = true)
+ private BigDecimal fixmedins_setl_cnt;
+ @IMField(key = "refd_setl_flag", name = "退费结算标志")
+ private String refd_setl_flag;
+ }
+
+}
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3202.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3202.java
new file mode 100644
index 0000000..1e15128
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3202.java
@@ -0,0 +1,41 @@
+package com.syjiaer.clinic.server.common.api.input;
+import com.syjiaer.clinic.server.common.api.annotations.IMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+import java.math.BigDecimal;
+
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class IM3202 extends BaseInputModel{
+ @IMField(key = "data", name = "输入节点", required = true)
+ public Data data;
+
+ @Getter
+ @Setter
+ public static class Data {
+ @IMField(key = "setl_optins", name = "结算经办机构", required = true)
+ private String setl_optins;
+ @IMField(key = "file_qury_no", name = "文件查询号", required = true)
+ private String file_qury_no;
+ @IMField(key = "stmt_begndate", name = "对账开始日期", required = true)
+ private String stmt_begndate;
+ @IMField(key = "stmt_enddate", name = "对账结束日期", required = true)
+ private String stmt_enddate;
+ @IMField(key = "medfee_sumamt", name = "医疗费总额", required = true)
+ private BigDecimal medfee_sumamt;
+ @IMField(key = "fund_pay_sumamt", name = "基金支付总额", required = true)
+ private BigDecimal fund_pay_sumamt;
+ @IMField(key = "cash_payamt", name = "现金支付总额", required = true)
+ private BigDecimal cash_payamt;
+ @IMField(key = "fixmedins_setl_cnt", name = "定点医药机构结算笔数", required = true)
+ private BigDecimal fixmedins_setl_cnt;
+ @IMField(key = "refd_setl_flag", name = "退费结算标志")
+ private String refd_setl_flag;
+ }
+
+}
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3501.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3501.java
new file mode 100644
index 0000000..3946a26
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3501.java
@@ -0,0 +1,39 @@
+package com.syjiaer.clinic.server.common.api.input;
+
+import com.syjiaer.clinic.server.common.api.annotations.IMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class IM3501 extends BaseInputModel{
+ @IMField(key="med_list_codg",name = "医疗目录编码",required = true)
+ private String medListCodg;
+ @IMField(key="fixmedins_hilist_id",name = "定点医药机构目录编号",required = true)
+ private String fixmedinsHilistId;
+ @IMField(key="fixmedins_hilist_name",name = "定点医药机构目录名称",required = true)
+ private String fixmedinsHilistName;
+ @IMField(key="rx_flag",name = "处方药标志",required = true)
+ private String rxFlag;
+ @IMField(key="invdate",name = "盘存日期",required = true)
+ private LocalDate invdate;
+ @IMField(key="inv_cnt",name = "库存数量",required = true)
+ private BigDecimal invCnt;
+ @IMField(key="manu_lotnum",name = "生产批号",required = false)
+ private String manuLotnum;
+ @IMField(key="fixmedins_bchno",name = "定点医药机构批次流水号",required = true)
+ private String fixmedinsBchno;
+ @IMField(key="manu_date",name = "生产日期",required = true)
+ private LocalDate manuDate;
+ @IMField(key="expy_end",name = "有效期止",required = true)
+ private LocalDate expyEnd;
+ @IMField(key="memo",name = "备注",required = false)
+ private String memo;
+}
\ No newline at end of file
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3502.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3502.java
new file mode 100644
index 0000000..788c183
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3502.java
@@ -0,0 +1,43 @@
+package com.syjiaer.clinic.server.common.api.input;
+
+import com.syjiaer.clinic.server.common.api.annotations.IMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class IM3502 extends BaseInputModel{
+//初始化入库
+
+ @IMField(key="med_list_codg",name = "医疗目录编码",required = true)
+ private String medListCodg;
+ @IMField(key="inv_chg_type",name = "库存变更类型",required = true)
+ private String invChgType;
+ @IMField(key="fixmedins_hilist_id",name = "定点医药机构目录编号",required = true)
+ private String fixmedinsHilistId;
+ @IMField(key="fixmedins_hilist_name",name = "定点医药机构目录名称",required = true)
+ private String fixmedinsHilistName;
+ @IMField(key="fixmedins_bchno",name = "定点医药机构批次流水号",required = true)
+ private String fixmedinsBchno;
+ @IMField(key="pric",name = "单价",required = true)
+ private BigDecimal pric;
+ @IMField(key="cnt",name = "数量",required = true)
+ private BigDecimal cnt;
+ @IMField(key="rx_flag",name = "处方药标志",required = true)
+ private String rxFlag;
+ @IMField(key="inv_chg_time",name = "库存变更时间",required = true)
+ private LocalDateTime invChgTime;
+ @IMField(key="inv_chg_opter_name",name = "库存变更经办人姓名",required = false)
+ private String invChgOpterName;
+ @IMField(key="memo",name = "备注",required = false)
+ private String memo;
+ @IMField(key="trdn_flag",name = "拆零标志",required = true)
+ private String trdnFlag;
+}
\ No newline at end of file
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3503.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3503.java
new file mode 100644
index 0000000..8d68218
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3503.java
@@ -0,0 +1,60 @@
+package com.syjiaer.clinic.server.common.api.input;
+
+import com.syjiaer.clinic.server.common.api.annotations.IMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class IM3503 extends BaseInputModel{
+ @IMField(key="med_list_codg",name = "医疗目录编码",required = true)
+ private String medListCodg;
+ @IMField(key="fixmedins_hilist_id",name = "定点医药机构目录编号",required = true)
+ private String fixmedinsHilistId;
+ @IMField(key="fixmedins_hilist_name",name = "定点医药机构目录名称",required = true)
+ private String fixmedinsHilistName;
+ @IMField(key="dynt_no",name = "随货单号",required = false)
+ private String dyntNo;
+ @IMField(key="fixmedins_bchno",name = "定点医药机构批次流水号",required = true)
+ private String fixmedinsBchno;
+ @IMField(key="spler_name",name = "供应商名称",required = true)
+ private String splerName;
+ @IMField(key="spler_pmtno",name = "供应商许可证号",required = false)
+ private String splerPmtno;
+ @IMField(key="manu_lotnum",name = "生产批号",required = true)
+ private String manuLotnum;
+ @IMField(key="prodentp_name",name = "生产厂家名称",required = true)
+ private String prodentpName;
+ @IMField(key="aprvno",name = "批准文号",required = true)
+ private String aprvno;
+ @IMField(key="manu_date",name = "生产日期",required = true)
+ private LocalDate manuDate;
+ @IMField(key="expy_end",name = "有效期止",required = true)
+ private LocalDate expyEnd;
+ @IMField(key="finl_trns_pric",name = "最终成交单价",required = false)
+ private BigDecimal finlTrnsPric;
+ @IMField(key="purc_retn_cnt",name = "采购/退货数量",required = true)
+ private BigDecimal purcRetnCnt;
+ @IMField(key="purc_invo_codg",name = "采购发票编码",required = true)
+ private String purcInvoCodg;
+ @IMField(key="purc_invo_no",name = "采购发票号",required = false)
+ private String purcInvoNo;
+ @IMField(key="rx_flag",name = "处方药标志",required = true)
+ private String rxFlag;
+ @IMField(key="purc_retn_stoin_time",name = "采购/退货入库时间",required = true)
+ private LocalDateTime purcRetnStoinTime;
+ @IMField(key="purc_retn_opter_name",name = "采购/退货经办人姓名",required = true)
+ private String purcRetnOpterName;
+ @IMField(key="prod_geay_flag",name = "商品赠送标志",required = false)
+ private String prodGeayFlag;
+ @IMField(key="memo",name = "备注",required = false)
+ private String memo;
+}
\ No newline at end of file
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3504.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3504.java
new file mode 100644
index 0000000..4e652d1
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3504.java
@@ -0,0 +1,52 @@
+package com.syjiaer.clinic.server.common.api.input;
+
+import com.syjiaer.clinic.server.common.api.annotations.IMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class IM3504 extends BaseInputModel{
+ @IMField(key = "med_list_codg", name = "医疗目录编码", required = true)
+ private String medListCodg;
+ @IMField(key = "fixmedins_hilist_id", name = "定点医药机构目录编号", required = true)
+ private String fixmedinsHilistId;
+ @IMField(key = "fixmedins_hilist_name", name = "定点医药机构目录名称", required = true)
+ private String fixmedinsHilistName;
+ @IMField(key = "fixmedins_bchno", name = "定点医药机构批次流水号", required = true)
+ private String fixmedinsBchno;
+ @IMField(key = "spler_name", name = "供应商名称", required = true)
+ private String splerName;
+ @IMField(key = "spler_pmtno", name = "供应商许可证号", required = false)
+ private String splerPmtno;
+ @IMField(key = "manu_date", name = "生产日期", required = true)
+ private LocalDate manuDate;
+ @IMField(key = "expy_end", name = "有效期止", required = true)
+ private LocalDate expyEnd;
+ @IMField(key = "finl_trns_pric", name = "最终成交单价", required = false)
+ private BigDecimal finlTrnsPric;
+ @IMField(key = "purc_retn_cnt", name = "采购/退货数量", required = true)
+ private BigDecimal purcRetnCnt;
+ @IMField(key = "purc_invo_codg", name = "采购发票编码", required = false)
+ private String purcInvoCodg;
+ @IMField(key = "purc_invo_no", name = "采购发票号", required = true)
+ private String purcInvoNo;
+ @IMField(key = "rx_flag", name = "处方药标志", required = true)
+ private String rxFlag;
+ @IMField(key = "purc_retn_stoin_time", name = "采购/退货入库时间", required = true)
+ private LocalDateTime purcRetnStoinTime;
+ @IMField(key = "purc_retn_opter_name", name = "采购/退货经办人姓名", required = true)
+ private String purcRetnOpterName;
+ @IMField(key = "memo", name = "备注", required = false)
+ private String memo;
+ @IMField(key = "medins_prod_purc_no", name = "商品采购流水号", required = false)
+ private String medinsProdPurcNo;
+}
\ No newline at end of file
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3505.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3505.java
new file mode 100644
index 0000000..f4b3da1
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3505.java
@@ -0,0 +1,93 @@
+package com.syjiaer.clinic.server.common.api.input;
+
+import com.syjiaer.clinic.server.common.api.annotations.IMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class IM3505 extends BaseInputModel{
+ @IMField(key="med_list_codg",name = "医疗目录编码",required = true)
+ private String medListCodg;
+ @IMField(key="fixmedins_hilist_id",name = "定点医药机构目录编号",required = true)
+ private String fixmedinsHilistId;
+ @IMField(key="fixmedins_hilist_name",name = "定点医药机构目录名称",required = true)
+ private String fixmedinsHilistName;
+ @IMField(key="fixmedins_bchno",name = "定点医药机构批次流水号",required = true)
+ private String fixmedinsBchno;
+ @IMField(key="prsc_dr_cert_type",name = "开方医师证件类型")
+ private String prscDrCertType;
+ @IMField(key="prsc_dr_certno",name = "开方医师证件号码")
+ private String prscDrCertno;
+ @IMField(key="prsc_dr_name",name = "开方医师姓名",required = true)
+ private String prscDrName;
+ @IMField(key="phar_cert_type",name = "药师证件类型")
+ private String pharCertType;
+ @IMField(key="phar_certno",name = "药师证件号码")
+ private String pharCertno;
+ @IMField(key="phar_name",name = "药师姓名",required = true)
+ private String pharName;
+ @IMField(key="phar_prac_cert_no",name = "药师执业资格证号",required = true)
+ private String pharPracCertNo;
+ @IMField(key="hi_feesetl_type",name = "医保费用结算类型")
+ private String hiFeesetlType;
+ @IMField(key="setl_id",name = "结算ID")
+ private String setlId;
+ @IMField(key="mdtrt_sn",name = "就医流水号",required = true)
+ private String mdtrtSn;
+ @IMField(key="psn_no",name = "人员编号")
+ private String psnNo;
+ @IMField(key="psn_cert_type",name = "人员证件类型")
+ private String psnCertType;
+ @IMField(key="certno",name = "证件号码")
+ private String certno;
+ @IMField(key="psn_name",name = "人员姓名")
+ private String psnName;
+ @IMField(key="manu_lotnum",name = "生产批号",required = true)
+ private String manuLotnum;
+ @IMField(key="manu_date",name = "生产日期",required = true)
+ private LocalDate manuDate;
+ @IMField(key="expy_end",name = "有效期止")
+ private LocalDate expyEnd;
+ @IMField(key="rx_flag",name = "处方药标志",required = true)
+ private String rxFlag;
+ @IMField(key="trdn_flag",name = "拆零标志",required = true)
+ private String trdnFlag;
+ @IMField(key="finl_trns_pric",name = "最终成交单价")
+ private BigDecimal finlTrnsPric;
+ @IMField(key="rxno",name = "处方号")
+ private String rxno;
+ @IMField(key="rx_circ_flag",name = "外购处方标志")
+ private String rxCircFlag;
+ @IMField(key="rtal_docno",name = "零售单据号",required = true)
+ private String rtalDocno;
+ @IMField(key="stoout_no",name = "销售出库单据号")
+ private String stooutNo;
+ @IMField(key="bchno",name = "批次号")
+ private String bchno;
+ @IMField(key="drug_trac_codg",name = "药品追溯码")
+ private String drugTracCodg;
+ @IMField(key="drug_prod_barc",name = "药品条形码")
+ private String drugProdBarc;
+ @IMField(key="shelf_posi",name = "货架位")
+ private String shelfPosi;
+ @IMField(key="sel_retn_cnt",name = "销售/退货数量",required = true)
+ private BigDecimal selRetnCnt;
+ @IMField(key="sel_retn_time",name = "销售/退货时间",required = true)
+ private LocalDate selRetnTime;
+ @IMField(key="sel_retn_opter_name",name = "销售/退货经办人姓名",required = true)
+ private String selRetnOpterName;
+ @IMField(key="memo",name = "备注")
+ private String memo;
+ @IMField(key="mdtrt_setl_type",name = "就诊结算类型",required = false)
+ private String mdtrtSetlType;
+ @IMField(key="drugtracinfo",name = "溯源码节点信息")
+ private String drugtracinfo;
+}
\ No newline at end of file
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3505T.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3505T.java
new file mode 100644
index 0000000..ffb08ff
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3505T.java
@@ -0,0 +1,32 @@
+package com.syjiaer.clinic.server.common.api.input;
+
+import com.syjiaer.clinic.server.common.api.annotations.IMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+import java.util.LinkedList;
+import java.util.List;
+
+
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class IM3505T extends BaseInputModel{
+ @IMField(key = "drug_trac_codg", name = "药品追溯码", required = false)
+ private String drugTracCodg;
+
+ public IM3505T(String codgs) {
+ this.drugTracCodg = codgs;
+ }
+
+ public static List build(String ...drugTracCodgs) {
+ List im3505Ts = new LinkedList<>();
+ for (String codgs : drugTracCodgs){
+ im3505Ts.add(new IM3505T(codgs));
+ }
+ return im3505Ts;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3506.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3506.java
new file mode 100644
index 0000000..16c799f
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3506.java
@@ -0,0 +1,61 @@
+package com.syjiaer.clinic.server.common.api.input;
+
+import com.syjiaer.clinic.server.common.api.annotations.IMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class IM3506 extends BaseInputModel{
+ @IMField(key="med_list_codg",name = "医疗目录编码",required = true)
+ private String medListCodg;
+ @IMField(key="fixmedins_hilist_id",name = "定点医药机构目录编号",required = true)
+ private String fixmedinsHilistId;
+ @IMField(key="fixmedins_hilist_name",name = "定点医药机构目录名称",required = true)
+ private String fixmedinsHilistName;
+ @IMField(key="fixmedins_bchno",name = "定点医药机构批次流水号",required = true)
+ private String fixmedinsBchno;
+ @IMField(key="setl_id",name = "结算ID")
+ private String setlId;
+ @IMField(key="psn_no",name = "人员编号")
+ private String psnNo;
+ @IMField(key="psn_cert_type",name = "人员证件类型",required = true)
+ private String psnCertType;
+ @IMField(key="certno",name = "证件号码")
+ private String certNo;
+ @IMField(key="psn_name",name = "人员姓名")
+ private String psnName;
+ @IMField(key="manu_lotnum",name = "生产批号",required = true)
+ private String manuLotnum;
+ @IMField(key="manu_date",name = "生产日期",required = true)
+ private LocalDate manuDate;
+ @IMField(key="expy_end",name = "有效期止")
+ private LocalDate expyEnd;
+ @IMField(key="rx_flag",name = "处方药标志",required = true)
+ private String rxFlag;
+ @IMField(key="trdn_flag",name = "拆零标志",required = true)
+ private String trdnFlag;
+ @IMField(key="finl_trns_pric",name = "最终成交单价")
+ private BigDecimal finlTrnsPric;
+ @IMField(key="sel_retn_cnt",name = "销售/退货数量",required = true)
+ private BigDecimal selRetnCnt;
+ @IMField(key="sel_retn_time",name = "销售/退货时间",required = true)
+ private LocalDate selRetnTime;
+ @IMField(key="sel_retn_opter_name",name = "销售/退货经办人姓名",required = true)
+ private String selRetnOpterName;
+ @IMField(key="memo",name = "备注")
+ private String memo;
+ @IMField(key="medins_prod_sel_no",name = "商品销售流水号")
+ private String medinsProdSelNo;
+ @IMField(key="mdtrt_sn",name = "就医流水号",required = true)
+ private String mdtrtSn;
+ @IMField(key="drugtracinfo",name = "溯源码节点信息")
+ private String drugtracinfo;
+}
\ No newline at end of file
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3507.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3507.java
new file mode 100644
index 0000000..0009a57
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3507.java
@@ -0,0 +1,21 @@
+package com.syjiaer.clinic.server.common.api.input;
+
+import com.syjiaer.clinic.server.common.api.annotations.IMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class IM3507 extends BaseInputModel{
+
+
+ @IMField(key = "fixmedins_bchno", name = "定点医药机构批次流水号", required = true)
+ private String fixmedinsBchno;
+ @IMField(key = "inv_data_type", name = "进销存数据类型", required = true)
+ private String invDataType;
+}
\ No newline at end of file
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3508.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3508.java
new file mode 100644
index 0000000..7f0ed4b
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3508.java
@@ -0,0 +1,66 @@
+package com.syjiaer.clinic.server.common.api.input;
+
+import com.syjiaer.clinic.server.common.api.annotations.IMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+import java.time.LocalDate;
+
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class IM3508 extends BaseInputModel{
+ @IMField(key="fixmedins_code",name = "定点医药机构编号",required = true)
+ private String fixmedinsCode;
+ @IMField(key="medins_list_codg",name = "医药机构目录编码",required = true)
+ private String medinsListCodg;
+ @IMField(key="fixmedins_bchno",name = "定点医药机构批次流水号")
+ private String fixmedinsBchno;
+ @IMField(key="begndate",name = "开始日期",required = true)
+ private LocalDate begndate;
+ @IMField(key="enddate",name = "结束日期",required = true)
+ private LocalDate enddate;
+ @IMField(key="medins_prod_inv_no",name = "定点医药机构商品库存流水号")
+ private String medinsProdInvNo;
+ @IMField(key="med_list_codg",name = "医疗目录编码")
+ private String medListCodg;
+ @IMField(key="medins_list_name",name = "医药机构目录名称")
+ private String medinsListName;
+ @IMField(key="rx_flag",name = "处方药标志",required = true)
+ private String rxFlag;
+ @IMField(key="list_sp_item_flag",name = "目录特项标志")
+ private String listSpItemFlag;
+ @IMField(key="trdn_flag",name = "拆零标志")
+ private String trdnFlag;
+ @IMField(key="invdate",name = "库存日期")
+ private LocalDate invdate;
+ @IMField(key="manu_lotnum",name = "生产批号")
+ private String manuLotnum;
+ @IMField(key="manu_date",name = "生产日期")
+ private LocalDate manuDate;
+ @IMField(key="expy_end",name = "有效期止")
+ private LocalDate expyEnd;
+ @IMField(key="memo",name = "备注")
+ private String memo;
+ @IMField(key="vali_flag",name = "有效标志")
+ private String valiFlag;
+ @IMField(key="rid",name = "数据唯一记录号")
+ private String rid;
+ @IMField(key="crter_id",name = "创建人ID")
+ private String crterId;
+ @IMField(key="crter_name",name = "创建人姓名")
+ private String crterName;
+ @IMField(key="crte_optins_no",name = "创建机构编号")
+ private String crteOptinsNo;
+ @IMField(key="opter_id",name = "经办人ID")
+ private String opterId;
+ @IMField(key="opter_name",name = "经办人姓名")
+ private String opterName;
+ @IMField(key="optins_no",name = "经办机构编号")
+ private String optinsNo;
+ @IMField(key="poolarea_no",name = "统筹区编号")
+ private String poolareaNo;
+}
\ No newline at end of file
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3509.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3509.java
new file mode 100644
index 0000000..ed6fb3c
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM3509.java
@@ -0,0 +1,65 @@
+package com.syjiaer.clinic.server.common.api.input;
+
+import com.syjiaer.clinic.server.common.api.annotations.IMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+import java.time.LocalDate;
+import java.util.Date;
+
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class IM3509 extends BaseInputModel{
+ @IMField(key="fixmedins_code",name = "定点医药机构编号",required = true)
+ private String fixmedinsCode;
+ @IMField(key="medins_list_codg",name = "医药机构目录编码",required = true)
+ private String medinsListCodg;
+ @IMField(key="fixmedins_bchno",name = "定点医药机构批次流水号")
+ private String fixmedinsBchno;
+ @IMField(key="begndate",name = "开始日期",required = true)
+ private Date begndate;
+ @IMField(key="enddate",name = "结束日期",required = true)
+ private Date enddate;
+ @IMField(key="medins_prod_inv_chg_no",name = "定点医药机构商品库存变更流水号")
+ private String medinsProdInvChgNo;
+ @IMField(key="med_list_codg",name = "医疗目录编码")
+ private String medListCodg;
+ @IMField(key="inv_chg_type",name = "库存变更类型")
+ private String invChgType;
+ @IMField(key="medins_list_name",name = "医药机构目录名称")
+ private String medinsListName;
+ @IMField(key="rx_flag",name = "处方药标志")
+ private String rxFlag;
+ @IMField(key="list_sp_item_flag",name = "目录特项标志")
+ private String listSpItemFlag;
+ @IMField(key="trdn_flag",name = "拆零标志")
+ private String trdnFlag;
+ @IMField(key="inv_chg_time",name = "库存变更时间")
+ private LocalDate invChgTime;
+ @IMField(key="inv_chg_opter_name",name = "库存变更经办人姓名")
+ private String invChgOpterName;
+ @IMField(key="memo",name = "备注")
+ private String memo;
+ @IMField(key="vali_flag",name = "有效标志")
+ private String valiFlag;
+ @IMField(key="rid",name = "数据唯一记录号")
+ private String rid;
+ @IMField(key="crter_id",name = "创建人ID")
+ private String crterId;
+ @IMField(key="crter_name",name = "创建人姓名")
+ private String crterName;
+ @IMField(key="crte_optins_no",name = "创建机构编号")
+ private String crteOptinsNo;
+ @IMField(key="opter_id",name = "经办人ID")
+ private String opterId;
+ @IMField(key="opter_name",name = "经办人姓名")
+ private String opterName;
+ @IMField(key="optins_no",name = "经办机构编号")
+ private String optinsNo;
+ @IMField(key="poolarea_no",name = "统筹区编号")
+ private String poolareaNo;
+}
\ No newline at end of file
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/input/IM9101.java b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM9101.java
new file mode 100644
index 0000000..0d253a5
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/input/IM9101.java
@@ -0,0 +1,32 @@
+package com.syjiaer.clinic.server.common.api.input;
+
+import com.syjiaer.clinic.server.common.api.annotations.IMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class IM9101 extends BaseInputModel{
+ @IMField(key = "fsUploadIn", name = "请求节点", required = true)
+ private FsUploadIn fsUploadIn;
+ @Getter
+ @Setter
+ public static class FsUploadIn{
+ @IMField(key = "in", name = "文件数据", required = true)
+ private byte[] in;
+ @IMField(key = "filename", name = "文件名", required = true)
+ private String filename;
+ @IMField(key = "fixmedins_code", name = "医药机构编号", required = true)
+ private String fixmedins_code;
+ }
+
+
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/output/BaseOutputModel.java b/src/main/java/com/syjiaer/clinic/server/common/api/output/BaseOutputModel.java
new file mode 100644
index 0000000..79d7564
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/output/BaseOutputModel.java
@@ -0,0 +1,35 @@
+package com.syjiaer.clinic.server.common.api.output;
+
+import com.alibaba.fastjson2.JSONObject;
+import com.syjiaer.clinic.server.common.api.annotations.OMField;
+
+import java.lang.reflect.Field;
+
+public abstract class BaseOutputModel {
+
+ public void makeFromJson(JSONObject jsonObject) {
+ processFields(this, jsonObject);
+ }
+
+ private void processFields(Object obj, JSONObject jsonObject) {
+ Class> clazz = obj.getClass();
+ while (clazz != null) {
+ for (Field field : clazz.getDeclaredFields()) {
+ field.setAccessible(true);
+ try {
+ // 处理普通字段
+ if (field.isAnnotationPresent(OMField.class)) {
+ OMField annotation = field.getAnnotation(OMField.class);
+ String mapKey = annotation.key();
+ if (jsonObject.get(mapKey) != null) {
+ field.set(obj, jsonObject.get(mapKey));
+ }
+ }
+ } catch (Exception e) {
+ throw new RuntimeException("Failed to process field: " + field.getName(), e);
+ }
+ }
+ clazz = clazz.getSuperclass();
+ }
+ }
+}
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/output/OM1101.java b/src/main/java/com/syjiaer/clinic/server/common/api/output/OM1101.java
new file mode 100644
index 0000000..6719b71
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/output/OM1101.java
@@ -0,0 +1,83 @@
+package com.syjiaer.clinic.server.common.api.output;
+
+import com.syjiaer.clinic.server.common.api.annotations.OMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class OM1101 extends BaseOutputModel{
+ //social_user表id
+ private Integer id;
+ @OMField(key="baseinfo",name = "基本信息")
+ private Baseinfo baseinfo;
+ @OMField(key="insuinfo",name = "参保信息")
+ private List insuinfo;
+ @OMField(key="idetinfo",name = "身份信息")
+ private List iDetinfo;
+ @Getter
+ @Setter
+ public class Baseinfo{
+ @OMField(key="psn_no",name = "人员编号")
+ private String psn_no;
+ @OMField(key="psn_cert_type",name = "人员证件类型")
+ private String psn_cert_type;
+ @OMField(key="certno",name = "证件号码")
+ private String certno;
+ @OMField(key="psn_name",name = "人员姓名")
+ private String psn_name;
+ @OMField(key="gend",name = "性别")
+ private String gend;
+ @OMField(key="naty",name = "民族")
+ private String naty;
+ @OMField(key="brdy",name = "出生日期")
+ private LocalDate brdy;
+ @OMField(key="age",name = "年龄")
+ private BigDecimal age;
+ }
+ @Getter
+ @Setter
+ public class Insuinfo{
+ @OMField(key = "balc", name = "余额")
+ private BigDecimal balc;
+ @OMField(key = "insutype", name = "险种类型")
+ private String insutype;
+ @OMField(key = "psn_type", name = "人员类别")
+ private String psn_type;
+ @OMField(key = "psn_insu_stas", name = "人员参保状态")
+ private String psn_insu_stas;
+ @OMField(key = "psn_insu_date", name = "个人参保日期")
+ private LocalDate psn_insu_date;
+ @OMField(key = "paus_insu_date", name = "暂停参保日期")
+ private LocalDate paus_insu_date;
+ @OMField(key = "cvlserv_flag", name = "公务员标志")
+ private String cvlserv_flag;
+ @OMField(key = "insuplc_admdvs", name = "参保地医保区划")
+ private String insuplc_admdvs;
+ @OMField(key = "emp_name", name = "单位名称")
+ private String emp_name;
+ }
+ @Getter
+ @Setter
+ public static class Idetinfo{
+ @OMField(key = "psn_idet_type", name = "人员身份类别")
+ private String psn_idet_type;
+ @OMField(key = "psn_type_lv", name = "人员类别等级")
+ private String psn_type_lv;
+ @OMField(key = "memo", name = "备注")
+ private String memo;
+ @OMField(key = "begntime", name = "开始时间")
+ private LocalDateTime begntime;
+ @OMField(key = "endtime", name = "结束时间")
+ private LocalDateTime endtime;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/output/OM1301.java b/src/main/java/com/syjiaer/clinic/server/common/api/output/OM1301.java
new file mode 100644
index 0000000..1097302
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/output/OM1301.java
@@ -0,0 +1,23 @@
+package com.syjiaer.clinic.server.common.api.output;
+
+import com.syjiaer.clinic.server.common.api.annotations.OMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+import java.time.LocalDate;
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class OM1301 extends BaseOutputModel{
+ @OMField(key="file_qury_no",name = "文件查询号")
+ private String fileQuryNo;
+ @OMField(key="filename",name = "文件查询号")
+ private String filename;
+ @OMField(key="dld_end_time",name = "下载截止日期")
+ private LocalDate dldEndTime;
+ @OMField(key="data_cnt",name = "数据量")
+ private int dataCnt;
+}
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/output/OM1302.java b/src/main/java/com/syjiaer/clinic/server/common/api/output/OM1302.java
new file mode 100644
index 0000000..36996a3
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/output/OM1302.java
@@ -0,0 +1,23 @@
+package com.syjiaer.clinic.server.common.api.output;
+
+import com.syjiaer.clinic.server.common.api.annotations.OMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+import java.time.LocalDate;
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class OM1302 extends BaseOutputModel{
+ @OMField(key="file_qury_no",name = "文件查询号")
+ private String fileQuryNo;
+ @OMField(key="filename",name = "文件查询号")
+ private String filename;
+ @OMField(key="dld_end_time",name = "下载截止日期")
+ private LocalDate dldEndTime;
+ @OMField(key="data_cnt",name = "数据量")
+ private int dataCnt;
+}
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/output/OM1305.java b/src/main/java/com/syjiaer/clinic/server/common/api/output/OM1305.java
new file mode 100644
index 0000000..797b198
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/output/OM1305.java
@@ -0,0 +1,23 @@
+package com.syjiaer.clinic.server.common.api.output;
+
+import com.syjiaer.clinic.server.common.api.annotations.OMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+import java.time.LocalDate;
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class OM1305 extends BaseOutputModel{
+ @OMField(key="file_qury_no",name = "文件查询号")
+ private String fileQuryNo;
+ @OMField(key="filename",name = "文件查询号")
+ private String filename;
+ @OMField(key="dld_end_time",name = "下载截止日期")
+ private LocalDate dldEndTime;
+ @OMField(key="data_cnt",name = "数据量")
+ private int dataCnt;
+}
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/output/OM1306.java b/src/main/java/com/syjiaer/clinic/server/common/api/output/OM1306.java
new file mode 100644
index 0000000..f9d6c9f
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/output/OM1306.java
@@ -0,0 +1,23 @@
+package com.syjiaer.clinic.server.common.api.output;
+
+import com.syjiaer.clinic.server.common.api.annotations.OMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+import java.time.LocalDate;
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class OM1306 extends BaseOutputModel{
+ @OMField(key="file_qury_no",name = "文件查询号")
+ private String fileQuryNo;
+ @OMField(key="filename",name = "文件查询号")
+ private String filename;
+ @OMField(key="dld_end_time",name = "下载截止日期")
+ private LocalDate dldEndTime;
+ @OMField(key="data_cnt",name = "数据量")
+ private int dataCnt;
+}
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/output/OM1307.java b/src/main/java/com/syjiaer/clinic/server/common/api/output/OM1307.java
new file mode 100644
index 0000000..da8295a
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/output/OM1307.java
@@ -0,0 +1,23 @@
+package com.syjiaer.clinic.server.common.api.output;
+
+import com.syjiaer.clinic.server.common.api.annotations.OMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+import java.time.LocalDate;
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class OM1307 extends BaseOutputModel{
+ @OMField(key="file_qury_no",name = "文件查询号")
+ private String fileQuryNo;
+ @OMField(key="filename",name = "文件查询号")
+ private String filename;
+ @OMField(key="dld_end_time",name = "下载截止日期")
+ private LocalDate dldEndTime;
+ @OMField(key="data_cnt",name = "数据量")
+ private int dataCnt;
+}
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/output/OM1309.java b/src/main/java/com/syjiaer/clinic/server/common/api/output/OM1309.java
new file mode 100644
index 0000000..7ad3acb
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/output/OM1309.java
@@ -0,0 +1,23 @@
+package com.syjiaer.clinic.server.common.api.output;
+
+import com.syjiaer.clinic.server.common.api.annotations.OMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+import java.time.LocalDate;
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class OM1309 extends BaseOutputModel{
+ @OMField(key="file_qury_no",name = "文件查询号")
+ private String fileQuryNo;
+ @OMField(key="filename",name = "文件查询号")
+ private String filename;
+ @OMField(key="dld_end_time",name = "下载截止日期")
+ private LocalDate dldEndTime;
+ @OMField(key="data_cnt",name = "数据量")
+ private int dataCnt;
+}
diff --git a/src/main/java/com/syjiaer/clinic/server/common/api/output/OM1312.java b/src/main/java/com/syjiaer/clinic/server/common/api/output/OM1312.java
new file mode 100644
index 0000000..4d1c3e2
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/common/api/output/OM1312.java
@@ -0,0 +1,23 @@
+package com.syjiaer.clinic.server.common.api.output;
+
+import com.syjiaer.clinic.server.common.api.annotations.OMField;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+import java.util.List;
+import java.util.Map;
+
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+public class OM1312 extends BaseOutputModel{
+ @OMField(key = "pages", name = "当前页")
+ private int pages;
+ @OMField(key = "recordCounts", name = "总页数")
+ private int recordCounts;
+ @OMField(key = "data", name = "数据") // 添加注解
+ private List
*
* @author NiuZiYuan
- * @since 2025-04-16
+ * @since 2025-04-17
*/
@Getter
@Setter
diff --git a/src/main/java/com/syjiaer/clinic/server/entity/social/SocialDirectoryLimit.java b/src/main/java/com/syjiaer/clinic/server/entity/social/SocialDirectoryLimit.java
new file mode 100644
index 0000000..c5c40e4
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/entity/social/SocialDirectoryLimit.java
@@ -0,0 +1,43 @@
+package com.syjiaer.clinic.server.entity.social;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+/**
+ *
+ * 医保限价
+ *
+ *
+ * @author NiuZiYuan
+ * @since 2025-04-17
+ */
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+@TableName("social_directory_limit")
+@ApiModel(value = "SocialDirectoryLimit对象", description = "医保限价")
+public class SocialDirectoryLimit implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId("code")
+ @ApiModelProperty("医保目录编码")
+ private String code;
+
+ @ApiModelProperty("医保自增主键")
+ private BigDecimal rid;
+
+ @ApiModelProperty("医保目录限价类型")
+ private String hilistLmtpricType;
+
+ @ApiModelProperty("医保目录定价上限金额")
+ private BigDecimal hilistPricUplmtAmt;
+}
diff --git a/src/main/java/com/syjiaer/clinic/server/entity/social/SocialDirectorySelf.java b/src/main/java/com/syjiaer/clinic/server/entity/social/SocialDirectorySelf.java
new file mode 100644
index 0000000..bdf6e2b
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/entity/social/SocialDirectorySelf.java
@@ -0,0 +1,42 @@
+package com.syjiaer.clinic.server.entity.social;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+/**
+ *
+ * 医保自付比例 1319
+ *
+ *
+ * @author NiuZiYuan
+ * @since 2025-04-17
+ */
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+@TableName("social_directory_self")
+@ApiModel(value = "SocialDirectorySelf对象", description = "医保自付比例 1319")
+public class SocialDirectorySelf implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId("code")
+ @ApiModelProperty("自增主键")
+ private String code;
+
+ @ApiModelProperty("医保中心主键")
+ private BigDecimal rid;
+
+ @ApiModelProperty("自付比例")
+ private String selfpayPropType;
+
+ private BigDecimal selfpayProp;
+}
diff --git a/src/main/java/com/syjiaer/clinic/server/entity/social/SocialDirectoryUpinfo.java b/src/main/java/com/syjiaer/clinic/server/entity/social/SocialDirectoryUpinfo.java
new file mode 100644
index 0000000..2e5fcfc
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/entity/social/SocialDirectoryUpinfo.java
@@ -0,0 +1,57 @@
+package com.syjiaer.clinic.server.entity.social;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+/**
+ *
+ * 医保有效期 1312
+ *
+ *
+ * @author NiuZiYuan
+ * @since 2025-04-17
+ */
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+@TableName("social_directory_upinfo")
+@ApiModel(value = "SocialDirectoryUpinfo对象", description = "医保有效期 1312")
+public class SocialDirectoryUpinfo implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("医保目录编码")
+ private String code;
+
+ @ApiModelProperty("开始日期")
+ private LocalDateTime begndate;
+
+ @ApiModelProperty("结束日期")
+ private LocalDateTime enddate;
+
+ @ApiModelProperty("医疗收费项目类别")
+ private String medChrgitmType;
+
+ @ApiModelProperty("收费项目等级")
+ private String chrgitmLv;
+
+ @ApiModelProperty("限制使用标志")
+ private String lmtUsedFlag;
+
+ @ApiModelProperty("五笔助记码")
+ private String wubi;
+
+ @ApiModelProperty("拼音助记码")
+ private String pinyin;
+
+ @ApiModelProperty("唯一记录号")
+ private BigDecimal rid;
+}
diff --git a/src/main/java/com/syjiaer/clinic/server/entity/social/SocialDirectoryVersion.java b/src/main/java/com/syjiaer/clinic/server/entity/social/SocialDirectoryVersion.java
new file mode 100644
index 0000000..13602c8
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/entity/social/SocialDirectoryVersion.java
@@ -0,0 +1,47 @@
+package com.syjiaer.clinic.server.entity.social;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+/**
+ *
+ * 医保目录版本列表
+ *
+ *
+ * @author NiuZiYuan
+ * @since 2025-04-17
+ */
+@Getter
+@Setter
+@ToString
+@Accessors(chain = true)
+@TableName("social_directory_version")
+@ApiModel(value = "SocialDirectoryVersion对象", description = "医保目录版本列表")
+public class SocialDirectoryVersion implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("自增主键")
+ private String id;
+
+ @ApiModelProperty("类型")
+ private Integer type;
+
+ @ApiModelProperty("当前版本名称")
+ private String currentVersionName;
+
+ @ApiModelProperty("上一个版本名称")
+ private String preVersionName;
+
+ @ApiModelProperty("数据量")
+ private Integer size;
+
+ @ApiModelProperty("创建时间")
+ private LocalDateTime createDatetime;
+}
diff --git a/src/main/java/com/syjiaer/pharmacy/server/modules/base/mapper/CommonConfigMapper.java b/src/main/java/com/syjiaer/clinic/server/mapper/common/CommonConfigMapper.java
similarity index 52%
rename from src/main/java/com/syjiaer/pharmacy/server/modules/base/mapper/CommonConfigMapper.java
rename to src/main/java/com/syjiaer/clinic/server/mapper/common/CommonConfigMapper.java
index e7599f7..ab3fe67 100644
--- a/src/main/java/com/syjiaer/pharmacy/server/modules/base/mapper/CommonConfigMapper.java
+++ b/src/main/java/com/syjiaer/clinic/server/mapper/common/CommonConfigMapper.java
@@ -1,16 +1,18 @@
-package com.syjiaer.pharmacy.server.modules.base.mapper;
+package com.syjiaer.clinic.server.mapper.common;
+import com.syjiaer.clinic.server.entity.common.CommonConfig;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.syjiaer.pharmacy.server.modules.base.entity.CommonConfig;
+
/**
*
- * Mapper 接口
+ * 配置表 Mapper 接口
*
*
* @author NiuZiYuan
- * @since 2025-02-24
+ * @since 2025-04-17
*/
public interface CommonConfigMapper extends BaseMapper {
}
+
diff --git a/src/main/java/com/syjiaer/pharmacy/server/modules/base/mapper/CommonLogMapper.java b/src/main/java/com/syjiaer/clinic/server/mapper/common/CommonLogMapper.java
similarity index 51%
rename from src/main/java/com/syjiaer/pharmacy/server/modules/base/mapper/CommonLogMapper.java
rename to src/main/java/com/syjiaer/clinic/server/mapper/common/CommonLogMapper.java
index e59007c..abc4688 100644
--- a/src/main/java/com/syjiaer/pharmacy/server/modules/base/mapper/CommonLogMapper.java
+++ b/src/main/java/com/syjiaer/clinic/server/mapper/common/CommonLogMapper.java
@@ -1,16 +1,16 @@
-package com.syjiaer.pharmacy.server.modules.base.mapper;
+package com.syjiaer.clinic.server.mapper.common;
+import com.syjiaer.clinic.server.entity.common.CommonLog;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.syjiaer.pharmacy.server.modules.base.entity.CommonLog;
/**
*
- * Mapper 接口
+ * 操作日志 Mapper 接口
*
*
* @author NiuZiYuan
- * @since 2025-04-14
+ * @since 2025-04-17
*/
public interface CommonLogMapper extends BaseMapper {
diff --git a/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventoryApplyLogMapper.java b/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventoryApplyLogMapper.java
new file mode 100644
index 0000000..1002181
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventoryApplyLogMapper.java
@@ -0,0 +1,18 @@
+package com.syjiaer.clinic.server.mapper.inventory;
+
+import com.syjiaer.clinic.server.entity.inventory.InventoryApplyLog;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+
+/**
+ *
+ * 领用日志 Mapper 接口
+ *
+ *
+ * @author NiuZiYuan
+ * @since 2025-04-17
+ */
+public interface InventoryApplyLogMapper extends BaseMapper {
+
+}
+
diff --git a/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventoryApplyMapper.java b/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventoryApplyMapper.java
new file mode 100644
index 0000000..b457004
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventoryApplyMapper.java
@@ -0,0 +1,18 @@
+package com.syjiaer.clinic.server.mapper.inventory;
+
+import com.syjiaer.clinic.server.entity.inventory.InventoryApply;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+
+/**
+ *
+ * 库存领用表 Mapper 接口
+ *
+ *
+ * @author NiuZiYuan
+ * @since 2025-04-17
+ */
+public interface InventoryApplyMapper extends BaseMapper {
+
+}
+
diff --git a/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventoryCheckLogMapper.java b/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventoryCheckLogMapper.java
new file mode 100644
index 0000000..27eb2c5
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventoryCheckLogMapper.java
@@ -0,0 +1,18 @@
+package com.syjiaer.clinic.server.mapper.inventory;
+
+import com.syjiaer.clinic.server.entity.inventory.InventoryCheckLog;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+
+/**
+ *
+ * 盘点日志 Mapper 接口
+ *
+ *
+ * @author NiuZiYuan
+ * @since 2025-04-17
+ */
+public interface InventoryCheckLogMapper extends BaseMapper {
+
+}
+
diff --git a/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventoryCheckMapper.java b/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventoryCheckMapper.java
new file mode 100644
index 0000000..a29078e
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventoryCheckMapper.java
@@ -0,0 +1,18 @@
+package com.syjiaer.clinic.server.mapper.inventory;
+
+import com.syjiaer.clinic.server.entity.inventory.InventoryCheck;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+
+/**
+ *
+ * 盘点主表 Mapper 接口
+ *
+ *
+ * @author NiuZiYuan
+ * @since 2025-04-17
+ */
+public interface InventoryCheckMapper extends BaseMapper {
+
+}
+
diff --git a/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventoryInitMapper.java b/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventoryInitMapper.java
new file mode 100644
index 0000000..8232dea
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventoryInitMapper.java
@@ -0,0 +1,18 @@
+package com.syjiaer.clinic.server.mapper.inventory;
+
+import com.syjiaer.clinic.server.entity.inventory.InventoryInit;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+
+/**
+ *
+ * 库存初始化 Mapper 接口
+ *
+ *
+ * @author NiuZiYuan
+ * @since 2025-04-17
+ */
+public interface InventoryInitMapper extends BaseMapper {
+
+}
+
diff --git a/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventoryLogMapper.java b/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventoryLogMapper.java
new file mode 100644
index 0000000..40bf7d2
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventoryLogMapper.java
@@ -0,0 +1,18 @@
+package com.syjiaer.clinic.server.mapper.inventory;
+
+import com.syjiaer.clinic.server.entity.inventory.InventoryLog;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+
+/**
+ *
+ * 库存日志表 Mapper 接口
+ *
+ *
+ * @author NiuZiYuan
+ * @since 2025-04-17
+ */
+public interface InventoryLogMapper extends BaseMapper {
+
+}
+
diff --git a/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventoryMapper.java b/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventoryMapper.java
new file mode 100644
index 0000000..7ce2d3a
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventoryMapper.java
@@ -0,0 +1,18 @@
+package com.syjiaer.clinic.server.mapper.inventory;
+
+import com.syjiaer.clinic.server.entity.inventory.Inventory;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+
+/**
+ *
+ * 库存主表 Mapper 接口
+ *
+ *
+ * @author NiuZiYuan
+ * @since 2025-04-17
+ */
+public interface InventoryMapper extends BaseMapper {
+
+}
+
diff --git a/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventoryPurchaseLogMapper.java b/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventoryPurchaseLogMapper.java
new file mode 100644
index 0000000..72728e8
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventoryPurchaseLogMapper.java
@@ -0,0 +1,18 @@
+package com.syjiaer.clinic.server.mapper.inventory;
+
+import com.syjiaer.clinic.server.entity.inventory.InventoryPurchaseLog;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+
+/**
+ *
+ * 采购日志 Mapper 接口
+ *
+ *
+ * @author NiuZiYuan
+ * @since 2025-04-17
+ */
+public interface InventoryPurchaseLogMapper extends BaseMapper {
+
+}
+
diff --git a/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventoryPurchaseMapper.java b/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventoryPurchaseMapper.java
new file mode 100644
index 0000000..957ba15
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventoryPurchaseMapper.java
@@ -0,0 +1,18 @@
+package com.syjiaer.clinic.server.mapper.inventory;
+
+import com.syjiaer.clinic.server.entity.inventory.InventoryPurchase;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+
+/**
+ *
+ * 采购单 Mapper 接口
+ *
+ *
+ * @author NiuZiYuan
+ * @since 2025-04-17
+ */
+public interface InventoryPurchaseMapper extends BaseMapper {
+
+}
+
diff --git a/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventorySupplierMapper.java b/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventorySupplierMapper.java
new file mode 100644
index 0000000..a41ef7b
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventorySupplierMapper.java
@@ -0,0 +1,18 @@
+package com.syjiaer.clinic.server.mapper.inventory;
+
+import com.syjiaer.clinic.server.entity.inventory.InventorySupplier;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+
+/**
+ *
+ * 供应商表 Mapper 接口
+ *
+ *
+ * @author NiuZiYuan
+ * @since 2025-04-17
+ */
+public interface InventorySupplierMapper extends BaseMapper {
+
+}
+
diff --git a/src/main/java/com/syjiaer/clinic/server/mapper/item/ItemMapper.java b/src/main/java/com/syjiaer/clinic/server/mapper/item/ItemMapper.java
new file mode 100644
index 0000000..38c19f2
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/mapper/item/ItemMapper.java
@@ -0,0 +1,18 @@
+package com.syjiaer.clinic.server.mapper.item;
+
+import com.syjiaer.clinic.server.entity.item.Item;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+
+/**
+ *
+ * 诊疗项目 Mapper 接口
+ *
+ *
+ * @author NiuZiYuan
+ * @since 2025-04-17
+ */
+public interface ItemMapper extends BaseMapper- {
+
+}
+
diff --git a/src/main/java/com/syjiaer/pharmacy/server/modules/base/mapper/ManagerUserMapper.java b/src/main/java/com/syjiaer/clinic/server/mapper/manager/ManagerUserMapper.java
similarity index 52%
rename from src/main/java/com/syjiaer/pharmacy/server/modules/base/mapper/ManagerUserMapper.java
rename to src/main/java/com/syjiaer/clinic/server/mapper/manager/ManagerUserMapper.java
index 3cf0ec7..bbafcd1 100644
--- a/src/main/java/com/syjiaer/pharmacy/server/modules/base/mapper/ManagerUserMapper.java
+++ b/src/main/java/com/syjiaer/clinic/server/mapper/manager/ManagerUserMapper.java
@@ -1,16 +1,16 @@
-package com.syjiaer.pharmacy.server.modules.base.mapper;
+package com.syjiaer.clinic.server.mapper.manager;
+import com.syjiaer.clinic.server.entity.manager.ManagerUser;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.syjiaer.pharmacy.server.modules.base.entity.ManagerUser;
/**
*
- * Mapper 接口
+ * 用户表 Mapper 接口
*
*
* @author NiuZiYuan
- * @since 2025-02-28
+ * @since 2025-04-17
*/
public interface ManagerUserMapper extends BaseMapper {
diff --git a/src/main/java/com/syjiaer/clinic/server/mapper/social/SocialDirectoryLimitMapper.java b/src/main/java/com/syjiaer/clinic/server/mapper/social/SocialDirectoryLimitMapper.java
new file mode 100644
index 0000000..c07c35f
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/mapper/social/SocialDirectoryLimitMapper.java
@@ -0,0 +1,18 @@
+package com.syjiaer.clinic.server.mapper.social;
+
+import com.syjiaer.clinic.server.entity.social.SocialDirectoryLimit;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+
+/**
+ *
+ * 医保限价 Mapper 接口
+ *
+ *
+ * @author NiuZiYuan
+ * @since 2025-04-17
+ */
+public interface SocialDirectoryLimitMapper extends BaseMapper {
+
+}
+
diff --git a/src/main/java/com/syjiaer/pharmacy/server/modules/social/mapper/SocialDirectoryMapper.java b/src/main/java/com/syjiaer/clinic/server/mapper/social/SocialDirectoryMapper.java
similarity index 58%
rename from src/main/java/com/syjiaer/pharmacy/server/modules/social/mapper/SocialDirectoryMapper.java
rename to src/main/java/com/syjiaer/clinic/server/mapper/social/SocialDirectoryMapper.java
index a5a0117..95108a6 100644
--- a/src/main/java/com/syjiaer/pharmacy/server/modules/social/mapper/SocialDirectoryMapper.java
+++ b/src/main/java/com/syjiaer/clinic/server/mapper/social/SocialDirectoryMapper.java
@@ -1,6 +1,6 @@
-package com.syjiaer.pharmacy.server.modules.social.mapper;
+package com.syjiaer.clinic.server.mapper.social;
-import com.syjiaer.pharmacy.server.modules.social.entity.SocialDirectory;
+import com.syjiaer.clinic.server.entity.social.SocialDirectory;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -10,7 +10,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*
*
* @author NiuZiYuan
- * @since 2025-04-16
+ * @since 2025-04-17
*/
public interface SocialDirectoryMapper extends BaseMapper {
diff --git a/src/main/java/com/syjiaer/clinic/server/mapper/social/SocialDirectorySelfMapper.java b/src/main/java/com/syjiaer/clinic/server/mapper/social/SocialDirectorySelfMapper.java
new file mode 100644
index 0000000..c0ad691
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/mapper/social/SocialDirectorySelfMapper.java
@@ -0,0 +1,18 @@
+package com.syjiaer.clinic.server.mapper.social;
+
+import com.syjiaer.clinic.server.entity.social.SocialDirectorySelf;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+
+/**
+ *
+ * 医保自付比例 1319 Mapper 接口
+ *
+ *
+ * @author NiuZiYuan
+ * @since 2025-04-17
+ */
+public interface SocialDirectorySelfMapper extends BaseMapper {
+
+}
+
diff --git a/src/main/java/com/syjiaer/clinic/server/mapper/social/SocialDirectoryUpinfoMapper.java b/src/main/java/com/syjiaer/clinic/server/mapper/social/SocialDirectoryUpinfoMapper.java
new file mode 100644
index 0000000..18c6e3a
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/mapper/social/SocialDirectoryUpinfoMapper.java
@@ -0,0 +1,18 @@
+package com.syjiaer.clinic.server.mapper.social;
+
+import com.syjiaer.clinic.server.entity.social.SocialDirectoryUpinfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+
+/**
+ *
+ * 医保有效期 1312 Mapper 接口
+ *
+ *
+ * @author NiuZiYuan
+ * @since 2025-04-17
+ */
+public interface SocialDirectoryUpinfoMapper extends BaseMapper {
+
+}
+
diff --git a/src/main/java/com/syjiaer/clinic/server/mapper/social/SocialDirectoryVersionMapper.java b/src/main/java/com/syjiaer/clinic/server/mapper/social/SocialDirectoryVersionMapper.java
new file mode 100644
index 0000000..d271fbd
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/mapper/social/SocialDirectoryVersionMapper.java
@@ -0,0 +1,18 @@
+package com.syjiaer.clinic.server.mapper.social;
+
+import com.syjiaer.clinic.server.entity.social.SocialDirectoryVersion;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+
+/**
+ *
+ * 医保目录版本列表 Mapper 接口
+ *
+ *
+ * @author NiuZiYuan
+ * @since 2025-04-17
+ */
+public interface SocialDirectoryVersionMapper extends BaseMapper {
+
+}
+
diff --git a/src/main/java/com/syjiaer/pharmacy/server/modules/base/controller/BaseController.java b/src/main/java/com/syjiaer/clinic/server/service/BaseService.java
similarity index 51%
rename from src/main/java/com/syjiaer/pharmacy/server/modules/base/controller/BaseController.java
rename to src/main/java/com/syjiaer/clinic/server/service/BaseService.java
index afb1d9d..a588b6f 100644
--- a/src/main/java/com/syjiaer/pharmacy/server/modules/base/controller/BaseController.java
+++ b/src/main/java/com/syjiaer/clinic/server/service/BaseService.java
@@ -1,92 +1,54 @@
-package com.syjiaer.pharmacy.server.modules.base.controller;
-
+package com.syjiaer.clinic.server.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
-import com.syjiaer.pharmacy.server.common.exception.VerifyException;
-import com.syjiaer.pharmacy.server.common.util.HeadersUtil;
-import com.syjiaer.pharmacy.server.common.util.InfoUtil;
-import com.syjiaer.pharmacy.server.common.util.ParmsUtil;
-import com.syjiaer.pharmacy.server.common.vo.Page;
-import com.syjiaer.pharmacy.server.common.vo.Result;
-import com.syjiaer.pharmacy.server.modules.base.entity.ManagerUser;
-import com.syjiaer.pharmacy.server.modules.base.service.ICommonLogService;
+import com.syjiaer.clinic.server.common.exception.VerifyException;
+import com.syjiaer.clinic.server.common.util.HeadersUtil;
+import com.syjiaer.clinic.server.common.util.InfoUtil;
+import com.syjiaer.clinic.server.common.util.ParmsUtil;
+import com.syjiaer.clinic.server.common.vo.Page;
+import com.syjiaer.clinic.server.entity.common.CommonLog;
+import com.syjiaer.clinic.server.entity.manager.ManagerUser;
+import com.syjiaer.clinic.server.mapper.common.CommonLogMapper;
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jws;
import io.jsonwebtoken.JwtException;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.security.Keys;
-import jakarta.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
-import org.springframework.web.context.request.RequestContextHolder;
-import org.springframework.web.context.request.ServletRequestAttributes;
+import org.springframework.util.unit.DataUnit;
-import java.time.format.DateTimeFormatter;
+import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
-public abstract class BaseController {
+public abstract class BaseService {
+ @Autowired
+ private InfoUtil infoUtil;
+ @Autowired
+ private ParmsUtil parmsUtil;
+ @Autowired
+ private HeadersUtil headersUtil;
+ @Autowired
+ private CommonLogMapper commonLogMapper;
+
@Value("${jwt.secret}")
protected String jwtSecret;
- @Autowired
- protected ParmsUtil parmsUtil;
- @Autowired
- protected HeadersUtil headersUtil;
- @Autowired
- protected InfoUtil infoUtil;
- @Autowired
- private ICommonLogService commonLogService;
- // 使用 ThreadLocal 来缓存请求参数
-
- public Boolean isEmpty(String key, Map map) {
- if (map.get(key) == null || map.get(key).toString().isEmpty()) {
- return true;
+ /*
+ * 保存日志
+ * @param message 日志信息
+ */
+ public void saveLog(String message){
+ CommonLog commonLog = new CommonLog();
+ int manager_id=0;
+ if(getInfos().get("manager_id")!=null){
+ manager_id=Integer.parseInt(getInfos().get("manager_id").toString());
}
- return false;
- }
-
- protected Result success() {
- Result result = new Result<>();
- result.setCode(0);
- return result;
- }
-
- protected Result success(T data) {
- Result result = new Result<>();
- result.setCode(0);
- result.setData(data);
- return result;
- }
-
- protected Result error(String message) {
- Result result = new Result<>();
- result.setCode(1001);
- result.setMessage(message);
- return result;
- }
-
-
- protected Result error(int code, String message) {
- Result result = new Result<>();
- result.setCode(code);
- result.setMessage(message);
- return result;
- }
-
- ;
-
- protected Map getParms() {
- return parmsUtil.getMap();
- }
-
-
- protected Map getHeaders() {
- return headersUtil.getMap();
- }
-
- protected HttpServletRequest getRequest() {
- return ((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest();
+ commonLog.setManagerId(manager_id);
+ commonLog.setMessage(message);
+ commonLog.setCreateDatetime(LocalDateTime.now());
+ commonLogMapper.insert(commonLog);
}
protected ManagerUser getManagerUser() {
@@ -118,8 +80,6 @@ public abstract class BaseController {
return managerUser;
}
- protected DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
-
protected Page pageHelper(int pageNum, int pageSize, QueryWrapper queryWrapper, IService iservice){
Long totalCount = iservice.count(queryWrapper);
queryWrapper.last("LIMIT " + (pageNum - 1) * pageSize + ", " + pageSize);
@@ -130,8 +90,15 @@ public abstract class BaseController {
page.setTotal_page((int) Math.ceil(totalCount / (double) pageSize));
return page;
}
- protected void saveLog(String message){
- ManagerUser managerUser = getManagerUser();
- commonLogService.saveLog(message,managerUser.getId());
+ protected Map getParms() {
+ return parmsUtil.getMap();
+ }
+
+
+ protected Map getHeaders() {
+ return headersUtil.getMap();
+ }
+ protected Map getInfos() {
+ return infoUtil.getMap();
}
}
diff --git a/src/main/java/com/syjiaer/clinic/server/service/common/CommonConfigService.java b/src/main/java/com/syjiaer/clinic/server/service/common/CommonConfigService.java
new file mode 100644
index 0000000..9bb89d8
--- /dev/null
+++ b/src/main/java/com/syjiaer/clinic/server/service/common/CommonConfigService.java
@@ -0,0 +1,25 @@
+package com.syjiaer.clinic.server.service.common;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.syjiaer.clinic.server.entity.common.CommonConfig;
+import com.syjiaer.clinic.server.mapper.common.CommonConfigMapper;
+import com.syjiaer.clinic.server.service.BaseService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class CommonConfigService extends BaseService {
+ @Autowired
+ private CommonConfigMapper commonConfigMapper;
+
+ public void save(CommonConfig commonConfig){
+ commonConfigMapper.insertOrUpdate(commonConfig);
+ }
+
+ public List list(){
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ return commonConfigMapper.selectList(queryWrapper);
+ }
+}
diff --git a/src/main/java/com/syjiaer/pharmacy/server/common/constants/Constants.java b/src/main/java/com/syjiaer/pharmacy/server/common/constants/Constants.java
deleted file mode 100644
index bd74934..0000000
--- a/src/main/java/com/syjiaer/pharmacy/server/common/constants/Constants.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.syjiaer.pharmacy.server.common.constants;
-
-public class Constants {
- public static final String IPurchaseCodePrefix = "IP";
- public static final String IInitCodePrefix = "II";
- public static final String RetailFeedetlSn = "FFLS";
- public static final Integer DetailPageSize = 20;
-
- public static final String InitInventory = "初始化库存";
- public static final String PurchaseInventory = "采购入库";
- public static final String Sold = "售出";
- public static final String Apply = "领用";
- public static final String Social = "医保";
-
- public static final Integer numberWarningLimit = 10;
- public static final Integer expiryDateWarningLimit = 20;
- public static final Integer OneDaySecond= 24*60*60;
-}
diff --git a/src/main/java/com/syjiaer/pharmacy/server/common/util/Download1312.java b/src/main/java/com/syjiaer/pharmacy/server/common/util/Download1312.java
deleted file mode 100644
index 53a59cd..0000000
--- a/src/main/java/com/syjiaer/pharmacy/server/common/util/Download1312.java
+++ /dev/null
@@ -1,151 +0,0 @@
-package com.syjiaer.pharmacy.server.common.util;
-
-import com.alibaba.fastjson.JSONObject;
-import com.syjiaer.pharmacy.server.modules.social.api.input.IM1312;
-import com.syjiaer.pharmacy.server.modules.social.api.output.OM1312;
-import com.syjiaer.pharmacy.server.modules.social.api.request.SocialRequest;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.time.Duration;
-import java.time.Instant;
-import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentLinkedQueue;
-import java.util.concurrent.atomic.AtomicInteger;
-
-@Component
-public class Download1312 {
- @Autowired
- private SocialRequest socialRequest;
- private Instant startTime;
- private int totalPages = 3575;
- private AtomicInteger processedPages = new AtomicInteger(0); // 使用 AtomicInteger
-
- public void download() throws InterruptedException {
- startTime = Instant.now();
-
- // 创建一个队列来存储页码
- ConcurrentLinkedQueue pageQueue = new ConcurrentLinkedQueue<>();
- for (int i = 1; i <= totalPages; i++) {
- pageQueue.add(i);
- }
-
- // 创建并启动4个线程
- Thread[] threads = new Thread[8];
- for (int i = 0; i < threads.length; i++) {
- threads[i] = new Thread(new PageProcessor(pageQueue));
- threads[i].start();
- }
-
- // 等待所有线程完成
- for (Thread thread : threads) {
- thread.join();
- }
-
- System.out.println("所有页面处理完成");
- }
-
- private void processPage(int page) {
- File file = new File("D:/1312/" + page + ".json");
- if (file.exists()) {
-// System.out.println("第" + page + "页文件已存在,跳过处理");
- return;
- }
- IM1312 im1312 = new IM1312();
- System.out.println("正在处理第" + page + "页");
- String dateTimeString = "2020-01-01 00:00:00";
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
- im1312.setUpdtTime(LocalDateTime.parse(dateTimeString, formatter));
- im1312.setValiFlag("1");
- im1312.setPageNum(page);
- im1312.setPageSize(1000);
- OM1312 om1312 = socialRequest.call1312(im1312);
- System.out.println(page + "/" + om1312.getPages());
- List> data = om1312.getData();
- saveDataToFile(data, "D:/1312/" + page + ".json");
- processedPages.incrementAndGet(); // 增加已处理的页面数
- printEstimatedRemainingTime(); // 打印剩余时间估计
- }
-
- private void printEstimatedRemainingTime() {
- Instant now = Instant.now();
- Duration elapsedTime = Duration.between(startTime, now);
- int currentProcessedPages = processedPages.get(); // 使用 get 方法获取当前处理的页面数
- if (currentProcessedPages == 0) {
- return; // 避免除以零
- }
- double averageTimePerPage = elapsedTime.toMillis() / (double) currentProcessedPages;
- int remainingPages = totalPages - currentProcessedPages;
- long estimatedRemainingTimeInMillis = (long) (averageTimePerPage * remainingPages);
- Duration estimatedRemainingTime = Duration.ofMillis(estimatedRemainingTimeInMillis);
-
- System.out.println("Estimated remaining time: " + estimatedRemainingTime.toHoursPart() + " hours, " +
- estimatedRemainingTime.toMinutesPart() + " minutes, " +
- estimatedRemainingTime.getSeconds() + " seconds");
- }
-
- private void saveDataToFile(List> data, String filePath) {
- try {
- if (data == null || data.isEmpty()) {
- return;
- }
-
- // 将 data 转换为 JSON 字符串
- String jsonString = JSONObject.toJSONString(data);
-
- // 创建文件夹(如果不存在)
- File folder = new File("D:/1312");
- if (!folder.exists()) {
- folder.mkdirs();
- }
-
- // 写入文件
- File file = new File(filePath);
- if (file.exists()) {
- file.delete();
- }
-
- try (FileWriter writer = new FileWriter(file)) {
- writer.write(jsonString);
- }
-
- } catch (IOException e) {
- e.printStackTrace();
- throw new RuntimeException("Failed to save data to file", e);
- }
- }
-
- // 定义一个内部类来处理页码
- private class PageProcessor implements Runnable {
- private final ConcurrentLinkedQueue pageQueue;
-
- public PageProcessor(ConcurrentLinkedQueue pageQueue) {
- this.pageQueue = pageQueue;
- }
-
- @Override
- public void run() {
- while (true) {
- Integer page = pageQueue.poll();
- if (page == null) {
- // 队列为空,退出循环
- break;
- }
- try{
- processPage(page);
- }catch (Exception e){
- System.out.println("第"+page+"页出错");
- e.printStackTrace();
- }
-
-
- }
- }
- }
-}
diff --git a/src/main/java/com/syjiaer/pharmacy/server/common/util/Download1318.java b/src/main/java/com/syjiaer/pharmacy/server/common/util/Download1318.java
deleted file mode 100644
index 0157c28..0000000
--- a/src/main/java/com/syjiaer/pharmacy/server/common/util/Download1318.java
+++ /dev/null
@@ -1,151 +0,0 @@
-package com.syjiaer.pharmacy.server.common.util;
-
-import com.alibaba.fastjson.JSONObject;
-import com.syjiaer.pharmacy.server.modules.social.api.input.IM1318;
-import com.syjiaer.pharmacy.server.modules.social.api.output.OM1318;
-import com.syjiaer.pharmacy.server.modules.social.api.request.SocialRequest;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.time.Duration;
-import java.time.Instant;
-import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentLinkedQueue;
-import java.util.concurrent.atomic.AtomicInteger;
-
-@Component
-public class Download1318 {
- @Autowired
- private SocialRequest socialRequest;
- private Instant startTime;
- private int totalPages = 1719;
- private AtomicInteger processedPages = new AtomicInteger(0); // 使用 AtomicInteger
-
- public void download() throws InterruptedException {
- startTime = Instant.now();
-
- // 创建一个队列来存储页码
- ConcurrentLinkedQueue pageQueue = new ConcurrentLinkedQueue<>();
- for (int i = 1; i <= totalPages; i++) {
- pageQueue.add(i);
- }
-
- // 创建并启动4个线程
- Thread[] threads = new Thread[8];
- for (int i = 0; i < threads.length; i++) {
- threads[i] = new Thread(new PageProcessor(pageQueue));
- threads[i].start();
- }
-
- // 等待所有线程完成
- for (Thread thread : threads) {
- thread.join();
- }
-
- System.out.println("所有页面处理完成");
- }
-
- private void processPage(int page) {
- File file = new File("D:/1318/" + page + ".json");
- if (file.exists()) {
-// System.out.println("第" + page + "页文件已存在,跳过处理");
- return;
- }
- IM1318 im1318 = new IM1318();
- System.out.println("正在处理第" + page + "页");
- String dateTimeString = "2020-01-01 00:00:00";
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
- im1318.setUpdtTime(LocalDateTime.parse(dateTimeString, formatter));
- im1318.setValiFlag("1");
- im1318.setPageNum(page);
- im1318.setPageSize(1000);
- OM1318 om1318 = socialRequest.call1318(im1318);
- System.out.println(page + "/" + om1318.getPages());
- List> data = om1318.getData();
- saveDataToFile(data, "D:/1318/" + page + ".json");
- processedPages.incrementAndGet(); // 增加已处理的页面数
- printEstimatedRemainingTime(); // 打印剩余时间估计
- }
-
- private void printEstimatedRemainingTime() {
- Instant now = Instant.now();
- Duration elapsedTime = Duration.between(startTime, now);
- int currentProcessedPages = processedPages.get(); // 使用 get 方法获取当前处理的页面数
- if (currentProcessedPages == 0) {
- return; // 避免除以零
- }
- double averageTimePerPage = elapsedTime.toMillis() / (double) currentProcessedPages;
- int remainingPages = totalPages - currentProcessedPages;
- long estimatedRemainingTimeInMillis = (long) (averageTimePerPage * remainingPages);
- Duration estimatedRemainingTime = Duration.ofMillis(estimatedRemainingTimeInMillis);
-
- System.out.println("Estimated remaining time: " + estimatedRemainingTime.toHoursPart() + " hours, " +
- estimatedRemainingTime.toMinutesPart() + " minutes, " +
- estimatedRemainingTime.getSeconds() + " seconds");
- }
-
- private void saveDataToFile(List> data, String filePath) {
- try {
- if (data == null || data.isEmpty()) {
- return;
- }
-
- // 将 data 转换为 JSON 字符串
- String jsonString = JSONObject.toJSONString(data);
-
- // 创建文件夹(如果不存在)
- File folder = new File("D:/1318");
- if (!folder.exists()) {
- folder.mkdirs();
- }
-
- // 写入文件
- File file = new File(filePath);
- if (file.exists()) {
- file.delete();
- }
-
- try (FileWriter writer = new FileWriter(file)) {
- writer.write(jsonString);
- }
-
- } catch (IOException e) {
- e.printStackTrace();
- throw new RuntimeException("Failed to save data to file", e);
- }
- }
-
- // 定义一个内部类来处理页码
- private class PageProcessor implements Runnable {
- private final ConcurrentLinkedQueue pageQueue;
-
- public PageProcessor(ConcurrentLinkedQueue pageQueue) {
- this.pageQueue = pageQueue;
- }
-
- @Override
- public void run() {
- while (true) {
- Integer page = pageQueue.poll();
- if (page == null) {
- // 队列为空,退出循环
- break;
- }
- try{
- processPage(page);
- }catch (Exception e){
- System.out.println("第"+page+"页出错");
- e.printStackTrace();
- }
-
-
- }
- }
- }
-}
diff --git a/src/main/java/com/syjiaer/pharmacy/server/common/util/Download1319.java b/src/main/java/com/syjiaer/pharmacy/server/common/util/Download1319.java
deleted file mode 100644
index db10eac..0000000
--- a/src/main/java/com/syjiaer/pharmacy/server/common/util/Download1319.java
+++ /dev/null
@@ -1,151 +0,0 @@
-package com.syjiaer.pharmacy.server.common.util;
-
-import com.alibaba.fastjson.JSONObject;
-import com.syjiaer.pharmacy.server.modules.social.api.input.IM1319;
-import com.syjiaer.pharmacy.server.modules.social.api.output.OM1319;
-import com.syjiaer.pharmacy.server.modules.social.api.request.SocialRequest;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.time.Duration;
-import java.time.Instant;
-import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentLinkedQueue;
-import java.util.concurrent.atomic.AtomicInteger;
-@Component
-public class Download1319 {
- @Autowired
- private SocialRequest socialRequest;
- private Instant startTime;
- private int totalPages = 3547;
- private AtomicInteger processedPages = new AtomicInteger(0); // 使用 AtomicInteger
-
- public void download() throws InterruptedException {
- startTime = Instant.now();
-
- // 创建一个队列来存储页码
- ConcurrentLinkedQueue pageQueue = new ConcurrentLinkedQueue<>();
- for (int i = 1; i <= totalPages; i++) {
- pageQueue.add(i);
- }
-
- // 创建并启动4个线程
- Thread[] threads = new Thread[8];
- for (int i = 0; i < threads.length; i++) {
- threads[i] = new Thread(new PageProcessor(pageQueue));
- threads[i].start();
- }
-
- // 等待所有线程完成
- for (Thread thread : threads) {
- thread.join();
- }
-
- System.out.println("所有页面处理完成");
- }
-
- private void processPage(int page) {
- File file = new File("D:/1319/" + page + ".json");
- if (file.exists()) {
-// System.out.println("第" + page + "页文件已存在,跳过处理");
- return;
- }
- IM1319 im1319 = new IM1319();
- System.out.println("正在处理第" + page + "页");
- String dateTimeString = "2020-01-01 00:00:00";
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
- im1319.setUpdtTime(LocalDateTime.parse(dateTimeString, formatter));
- im1319.setSelfpayPropPsnType("310");
- im1319.setValiFlag("1");
- im1319.setPageNum(page);
- im1319.setPageSize(1000);
- OM1319 om1319 = socialRequest.call1319(im1319);
- System.out.println(page + "/" + om1319.getPages());
- List> data = om1319.getData();
- saveDataToFile(data, "D:/1319/" + page + ".json");
- processedPages.incrementAndGet(); // 增加已处理的页面数
- printEstimatedRemainingTime(); // 打印剩余时间估计
- }
-
- private void printEstimatedRemainingTime() {
- Instant now = Instant.now();
- Duration elapsedTime = Duration.between(startTime, now);
- int currentProcessedPages = processedPages.get(); // 使用 get 方法获取当前处理的页面数
- if (currentProcessedPages == 0) {
- return; // 避免除以零
- }
- double averageTimePerPage = elapsedTime.toMillis() / (double) currentProcessedPages;
- int remainingPages = totalPages - currentProcessedPages;
- long estimatedRemainingTimeInMillis = (long) (averageTimePerPage * remainingPages);
- Duration estimatedRemainingTime = Duration.ofMillis(estimatedRemainingTimeInMillis);
-
- System.out.println("Estimated remaining time: " + estimatedRemainingTime.toHoursPart() + " hours, " +
- estimatedRemainingTime.toMinutesPart() + " minutes, " +
- estimatedRemainingTime.getSeconds() + " seconds");
- }
-
- private void saveDataToFile(List> data, String filePath) {
- try {
- if (data == null || data.isEmpty()) {
- return;
- }
-
- // 将 data 转换为 JSON 字符串
- String jsonString = JSONObject.toJSONString(data);
-
- // 创建文件夹(如果不存在)
- File folder = new File("D:/1319");
- if (!folder.exists()) {
- folder.mkdirs();
- }
-
- // 写入文件
- File file = new File(filePath);
- if (file.exists()) {
- file.delete();
- }
-
- try (FileWriter writer = new FileWriter(file)) {
- writer.write(jsonString);
- }
-
- } catch (IOException e) {
- e.printStackTrace();
- throw new RuntimeException("Failed to save data to file", e);
- }
- }
-
- // 定义一个内部类来处理页码
- private class PageProcessor implements Runnable {
- private final ConcurrentLinkedQueue pageQueue;
-
- public PageProcessor(ConcurrentLinkedQueue pageQueue) {
- this.pageQueue = pageQueue;
- }
-
- @Override
- public void run() {
- while (true) {
- Integer page = pageQueue.poll();
- if (page == null) {
- // 队列为空,退出循环
- break;
- }
- try{
- processPage(page);
- }catch (Exception e){
- System.out.println("第"+page+"页出错");
- e.printStackTrace();
- }
-
-
- }
- }
- }
-}
diff --git a/src/main/java/com/syjiaer/pharmacy/server/common/util/JoinQueryWrapper.java b/src/main/java/com/syjiaer/pharmacy/server/common/util/JoinQueryWrapper.java
deleted file mode 100644
index b0f1fbc..0000000
--- a/src/main/java/com/syjiaer/pharmacy/server/common/util/JoinQueryWrapper.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package com.syjiaer.pharmacy.server.common.util;
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class JoinQueryWrapper extends QueryWrapper {
- private List joins = new ArrayList<>(); // 存储连接条件
-
- // 定义连接条件类
- private static class JoinCondition {
- private String alias;
- private String table;
- private String type;
- private String onCondition;
-
- public JoinCondition(String alias, String table, String type, String onCondition) {
- this.alias = alias;
- this.table = table;
- this.type = type;
- this.onCondition = onCondition;
- }
-
- public String getAlias() {
- return alias;
- }
-
- public String getTable() {
- return table;
- }
-
- public String getType() {
- return type;
- }
-
- public String getOnCondition() {
- return onCondition;
- }
- }
-
- // 实现左连接方法
- public JoinQueryWrapper leftJoin(String tableAlias, String tableName, String onCondition) {
- joins.add(new JoinCondition(tableAlias, tableName, "LEFT JOIN", onCondition));
- return this;
- }
-
- // 实现右连接方法
- public JoinQueryWrapper rightJoin(String tableAlias, String tableName, String onCondition) {
- joins.add(new JoinCondition(tableAlias, tableName, "RIGHT JOIN", onCondition));
- return this;
- }
-
-
- // 重写 instance 方法
- @Override
- protected JoinQueryWrapper instance() {
- return this;
- }
-}
diff --git a/src/main/java/com/syjiaer/pharmacy/server/common/util/PdfUtil.java b/src/main/java/com/syjiaer/pharmacy/server/common/util/PdfUtil.java
deleted file mode 100644
index 3415072..0000000
--- a/src/main/java/com/syjiaer/pharmacy/server/common/util/PdfUtil.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package com.syjiaer.pharmacy.server.common.util;
-
-import com.syjiaer.pharmacy.server.common.exception.MessageException;
-import net.sf.jasperreports.engine.*;
-import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
-import org.springframework.stereotype.Component;
-
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-@Component
-public class PdfUtil {
- public void setPdf(String templateName,String fileName, Map map, List> list) {
- InputStream inputStream = PdfUtil.class.getClassLoader().getResourceAsStream("jasTemplate\\"+templateName+".jasper");
- JRDataSource dataSource = null;
- if(list == null){
- dataSource = new JREmptyDataSource();
- }else{
- dataSource = new JRBeanCollectionDataSource(list);
- }
- if(map==null){
- map = new HashMap();
- }
- try {
- JasperPrint jasperPrint = JasperFillManager.fillReport(inputStream, map, dataSource);
- // 生成随机文件名
- String randomFileName = UUID.randomUUID().toString() + ".pdf";
- // 导出PDF到指定路径
- JasperExportManager.exportReportToPdfFile(jasperPrint, fileName);
- // 返回随机文件名
- return;
- } catch (Exception e) {
- e.printStackTrace();
- throw new MessageException("生成PDF出错");
-
-
- } finally {
- try {
- if (inputStream != null) {
- inputStream.close(); // 确保输入流关闭
- }
- } catch (Exception e) {
- e.printStackTrace();
- throw new MessageException("关闭PDF流出错");
- }
- }
- }
-}
\ No newline at end of file
diff --git a/src/main/java/com/syjiaer/pharmacy/server/modules/base/controller/BaseDefaultController.java b/src/main/java/com/syjiaer/pharmacy/server/modules/base/controller/BaseDefaultController.java
deleted file mode 100644
index 431f7c0..0000000
--- a/src/main/java/com/syjiaer/pharmacy/server/modules/base/controller/BaseDefaultController.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.syjiaer.pharmacy.server.modules.base.controller;
-
-
-public class BaseDefaultController extends BaseController {
-
-}
diff --git a/src/main/java/com/syjiaer/pharmacy/server/modules/base/controller/BaseSocialController.java b/src/main/java/com/syjiaer/pharmacy/server/modules/base/controller/BaseSocialController.java
deleted file mode 100644
index e4cfbee..0000000
--- a/src/main/java/com/syjiaer/pharmacy/server/modules/base/controller/BaseSocialController.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package com.syjiaer.pharmacy.server.modules.base.controller;
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.syjiaer.pharmacy.server.common.vo.Page;
-import org.springframework.beans.factory.annotation.Value;
-
-import java.util.List;
-
-public class BaseSocialController extends BaseController {
- @Value("${common.isdev}")
- private Boolean isdev;
-
- protected Page SelectPage(QueryWrapper queryWrapper, int page_num, int size, IService service, String order_field, String order_type) {
- Long total_count = service.count(queryWrapper);
- queryWrapper.last("LIMIT " + size + " OFFSET " + (page_num - 1) * size);
- if (order_type.equals("asc")) {
- queryWrapper.orderByAsc(order_field);
- } else {
- queryWrapper.orderByDesc(order_field);
- }
-
- List socialDirectoryList = service.list(queryWrapper);
- int total_page = (int) Math.ceil((double) total_count / size);
- Page page = new Page();
- page.setTotal_page(total_page);
- page.setTotal_count(total_count);
- page.setList(socialDirectoryList);
- return page;
- }
-
- protected Page SelectPage(QueryWrapper queryWrapper, int page_num, int size, IService service) {
- return SelectPage(queryWrapper, page_num, size, service, "id", "asc");
- }
-}
diff --git a/src/main/java/com/syjiaer/pharmacy/server/modules/base/controller/CommonConfigController.java b/src/main/java/com/syjiaer/pharmacy/server/modules/base/controller/CommonConfigController.java
deleted file mode 100644
index 3ea9561..0000000
--- a/src/main/java/com/syjiaer/pharmacy/server/modules/base/controller/CommonConfigController.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package com.syjiaer.pharmacy.server.modules.base.controller;
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.syjiaer.pharmacy.server.common.vo.Result;
-import com.syjiaer.pharmacy.server.modules.base.entity.CommonConfig;
-import com.syjiaer.pharmacy.server.modules.base.service.ICommonConfigService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- *
- * 前端控制器
- *
- *
- * @author NiuZiYuan
- * @since 2025-02-24
- */
-@RestController
-@RequestMapping("/common/config")
-public class CommonConfigController extends BaseController {
- @Autowired
- private ICommonConfigService iCommonConfigService;
-
- @RequestMapping("list")
- public Result