Compare commits

..

6 Commits

Author SHA1 Message Date
LiJianZhao 5dbb1d0681 dev 2025-05-30 15:13:05 +08:00
LiJianZhao a049c6a25b Merge branch 'master' of ssh://git.jizhiweb.cn:2222/clinic-v2/server 2025-05-29 15:42:28 +08:00
LiJianZhao d5c5b6201e dev 2025-05-29 15:42:18 +08:00
牛子源 6f7150c693 dev 2025-05-29 13:42:44 +08:00
牛子源 e4c5bf88d3 Merge remote-tracking branch 'origin/master' 2025-05-29 13:40:18 +08:00
牛子源 c75d8ec04a dev 2025-05-29 13:40:06 +08:00
100 changed files with 1107 additions and 1708 deletions

View File

@ -31,7 +31,7 @@ public class IM2203A extends BaseInputModel{
@IMField(key = "med_type", name = "医疗类别", required = true)
private String med_type;
@IMField(key = "begntime", name = "开始时间", required = true)
private String begntime;
private LocalDateTime begntime;
@IMField(key = "main_cond_dscr", name = "主要病情描述")
private String main_cond_dscr;
@IMField(key = "dise_codg", name = "病种编码")
@ -47,7 +47,7 @@ public class IM2203A extends BaseInputModel{
@IMField(key = "geso_val", name = "孕周数")
private BigDecimal geso_val;
@IMField(key = "exp_content", name = "字段扩展")
private String exp_content;
private ExpContent exp_content;
}
@Data
public static class Diseinfo{

View File

@ -34,8 +34,6 @@ public class IM3202 extends BaseInputModel{
private BigDecimal cash_payamt;
@IMField(key = "fixmedins_setl_cnt", name = "定点医药机构结算笔数", required = true)
private BigDecimal fixmedins_setl_cnt;
@IMField(key = "clr_type", name = "清算类别", required = true)
private String clr_type;
@IMField(key = "refd_setl_flag", name = "退费结算标志")
private String refd_setl_flag;
}

View File

@ -1,50 +0,0 @@
package com.syjiaer.clinic.server.common.api.input.im3301;
import com.syjiaer.clinic.server.common.api.annotations.IMField;
import com.syjiaer.clinic.server.common.api.input.BaseInputModel;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;
/*
* @Description 新疆地区特殊版本的3301
* @Author 佟明轩
* @Date 09:18 2025/5/30
**/
@Getter
@Setter
@ToString
@Accessors(chain = true)
public class IM3301 extends BaseInputModel {
@IMField(key="fixmedins_hilist_id",name = "定点医药机构目录编号",required = true)
private String fixmedinsHilistId;
@IMField(key="fixmedins_hilist_name",name = "定点医药机构目录名称",required = true)
private String fixmedinsHilistName;
@IMField(key="list_type",name = "目录类别",required = true)
private String listType;
@IMField(key="med_list_codg",name = "医疗目录编码",required = true)
private String medListCodg;
@IMField(key="begndate",name = "开始日期",required = true)
private LocalDateTime begndate;
@IMField(key="enddate",name = "结束日期",required = true)
private LocalDateTime enddate;
@IMField(key="aprvno",name = "批准文号")
private String aprvno;
@IMField(key="dosform",name = "剂型")
private String dosform;
@IMField(key="exct_cont",name = "除外内容")
private String exctCont;
@IMField(key="item_cont",name = "项目内涵")
private String itemCont;
@IMField(key="prcunt",name = "计价单位")
private String prcunt;
@IMField(key="spec",name = "规格")
private String spec;
@IMField(key="pacspec",name = "包装规格")
private String pacspec;
@IMField(key="memo",name = "备注")
private String memo;
}

View File

@ -1,22 +0,0 @@
package com.syjiaer.clinic.server.common.api.input.im3302;
import com.syjiaer.clinic.server.common.api.input.BaseInputModel;
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 IM3302 extends BaseInputModel{
@IMField(key="fixmedins_code",name = "定点医药机构编号",required = true)
private String fixmedinsCode;
@IMField(key="fixmedins_hilist_id",name = "定点医药机构目录编号",required = true)
private String fixmedinsHilistId;
@IMField(key="list_type",name = "目录类别",required = true)
private String listType;
@IMField(key="med_list_codg",name = "医疗目录编码",required = true)
private String medListCodg;
}

View File

@ -2,6 +2,7 @@ package com.syjiaer.clinic.server.common.api.output;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.syjiaer.clinic.server.common.api.annotations.OMField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@ -20,66 +21,91 @@ public class OM1101 extends BaseOutputModel{
//social_user表id
private Integer id;
@OMField(key="baseinfo",name = "基本信息")
@ApiModelProperty(value = "基本信息")
private Baseinfo baseinfo;
@OMField(key="insuinfo",name = "参保信息")
@ApiModelProperty(value = "参保信息")
private List<Insuinfo> insuinfo;
@ApiModelProperty(value = "身份信息")
@OMField(key="idetinfo",name = "身份信息")
private List<Idetinfo> iDetinfo;
@Getter
@Setter
public class Baseinfo{
@OMField(key="psn_no",name = "人员编号")
@ApiModelProperty(value = "人员编号")
private String psn_no;
@OMField(key="psn_cert_type",name = "人员证件类型")
@ApiModelProperty(value = "人员证件类型")
private String psn_cert_type;
@OMField(key="certno",name = "证件号码")
@ApiModelProperty(value = "证件号码")
private String certno;
@OMField(key="psn_name",name = "人员姓名")
@ApiModelProperty(value = "人员姓名")
private String psn_name;
@OMField(key="gend",name = "性别")
@ApiModelProperty(value = "性别")
private String gend;
@OMField(key="naty",name = "民族")
@ApiModelProperty(value = "民族")
private String naty;
@OMField(key="brdy",name = "出生日期")
@JsonFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty(value = "出生日期")
private LocalDate brdy;
@OMField(key="age",name = "年龄")
@ApiModelProperty(value = "年龄")
private BigDecimal age;
}
@Getter
@Setter
public class Insuinfo{
@OMField(key = "balc", name = "余额")
@ApiModelProperty(value = "余额")
private BigDecimal balc;
@OMField(key = "insutype", name = "险种类型")
@ApiModelProperty(value = "险种类型")
private String insutype;
@OMField(key = "psn_type", name = "人员类别")
@ApiModelProperty(value = "人员类别")
private String psn_type;
@OMField(key = "psn_insu_stas", name = "人员参保状态")
@ApiModelProperty(value = "人员参保状态")
private String psn_insu_stas;
@OMField(key = "psn_insu_date", name = "个人参保日期")
@ApiModelProperty(value = "个人参保日期")
private LocalDate psn_insu_date;
@OMField(key = "paus_insu_date", name = "暂停参保日期")
@ApiModelProperty(value = "暂停参保日期")
private LocalDate paus_insu_date;
@OMField(key = "cvlserv_flag", name = "公务员标志")
@ApiModelProperty(value = "公务员标志")
private String cvlserv_flag;
@OMField(key = "insuplc_admdvs", name = "参保地医保区划")
@ApiModelProperty(value = "参保地医保区划")
private String insuplc_admdvs;
@OMField(key = "emp_name", name = "单位名称")
@ApiModelProperty(value = "单位名称")
private String emp_name;
}
@Getter
@Setter
public static class Idetinfo{
@OMField(key = "psn_idet_type", name = "人员身份类别")
@ApiModelProperty(value = "人员身份类别")
private String psn_idet_type;
@OMField(key = "psn_type_lv", name = "人员类别等级")
@ApiModelProperty(value = "人员类别等级")
private String psn_type_lv;
@OMField(key = "memo", name = "备注")
@ApiModelProperty(value = "备注")
private String memo;
@OMField(key = "begntime", name = "开始时间")
@ApiModelProperty(value = "开始时间")
private LocalDateTime begntime;
@OMField(key = "endtime", name = "结束时间")
@ApiModelProperty(value = "结束时间")
private LocalDateTime endtime;
}
}

View File

@ -1,6 +1,7 @@
package com.syjiaer.clinic.server.common.api.output;
import com.syjiaer.clinic.server.common.api.annotations.OMField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@ -12,21 +13,30 @@ import lombok.experimental.Accessors;
@Accessors(chain = true)
public class OM5267 extends BaseOutputModel{
@OMField(key = "blo_type", name = "封锁种类")
@ApiModelProperty(value = "封锁种类")
private String blo_type;
@OMField(key = "insutype", name = "险种类型")
@ApiModelProperty(value = "险种类型")
private String insutype;
@OMField(key = "blo_rea", name = "变更原因描述")
@ApiModelProperty(value = "变更原因描述")
private String blo_rea;
@OMField(key = "psn_emp_no", name = "个人编号/单位编号")
@ApiModelProperty(value = "个人编号/单位编号")
private String psn_emp_no;
@OMField(key = "pausType", name = "暂停类别")
@ApiModelProperty(value = "暂停类别")
private String pausType;
@OMField(key = "begndate", name = "开始日期")
@ApiModelProperty(value = "开始日期")
private String begndate;
@OMField(key = "enddate", name = "终止日期")
@ApiModelProperty(value = "终止日期")
private String enddate;
@OMField(key = "opter", name = "经办人")
@ApiModelProperty(value = "经办人")
private String opter;
@OMField(key = "opt_date", name = "经办日期")
@ApiModelProperty(value = "经办日期")
private String opt_date;
}

View File

@ -1,6 +1,7 @@
package com.syjiaer.clinic.server.common.api.output;
import com.syjiaer.clinic.server.common.api.annotations.OMField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@ -14,11 +15,15 @@ import java.time.LocalDate;
@Accessors(chain = true)
public class OM5283 extends BaseOutputModel {
@OMField(key = "fixmedins_code", name = "定点医药机构编号")
@ApiModelProperty(value = "定点医药机构编号")
private String fixmedins_code;
@OMField(key = "fixmedins_name", name = "定点医药机构名称")
@ApiModelProperty(value = "定点医药机构名称")
private String fixmedins_name;
@OMField(key = "begndate", name = "入院时间")
@ApiModelProperty(value = "入院时间")
private LocalDate begndate;
@OMField(key = "enddate", name = "出院时间")
@ApiModelProperty(value = "出院时间")
private LocalDate enddate;
}

View File

@ -1,19 +1,14 @@
package com.syjiaer.clinic.server.common.api.request;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.syjiaer.clinic.server.common.api.input.*;
import com.syjiaer.clinic.server.common.api.input.im3301.IM3301;
import com.syjiaer.clinic.server.common.api.input.im3302.IM3302;
import com.syjiaer.clinic.server.common.api.output.*;
import com.syjiaer.clinic.server.common.util.DebugUtil;
import com.syjiaer.clinic.server.common.util.HttpUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@Component
@ -192,14 +187,8 @@ public class SocialRequest {
return om2206A;
}
/**
* 需要在外层生成msgId
* @param im2207A
* @param msgId
* @return
*/
public OM2207A call2207A(IM2207A im2207A,String msgId) {
JSONObject data = httpUtil.callByMsgId(msgId,"2207A","data",im2207A.buildToMap(),10000);
public OM2207A call2207A(IM2207A im2207A) {
JSONObject data = httpUtil.callBackMsgId("2207A",im2207A.buildToMap(),10000);
OM2207A om2207A=new OM2207A();
om2207A.setMsgId(data.get("msgid").toString());
om2207A.setSetlinfo(JSONObject.parseObject(data.get("setlinfo").toString(), OM2207A.Setlinfo.class));
@ -273,14 +262,4 @@ public class SocialRequest {
return jsonObject;
}
public JSONObject call3301(List<Object> arrayList) {
return httpUtil.call("3301", "data", arrayList);
}
public JSONObject call3302(IM3302 im3302) {
return httpUtil.call("3302", "data", im3302.buildToMap());
}
}

View File

@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.RestController;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.util.*;
public class ScanUtil {
@ -199,13 +200,22 @@ public class ScanUtil {
}
// 递归扫描类的属性
private static List<ApiInfo.BaseProperty> scanClassProperties(Class<?> clazz) {
return scanClassProperties(clazz, new HashSet<>());
}
private static List<ApiInfo.BaseProperty> scanClassProperties(Class<?> clazz, Set<Class<?>> scannedClasses) {
List<ApiInfo.BaseProperty> properties = new ArrayList<>();
// 防止循环引用导致的无限递归
if (scannedClasses.contains(clazz)) {
return properties;
}
scannedClasses.add(clazz);
// 处理父类属性
if (clazz.getSuperclass() != null && isComplexType(clazz.getSuperclass())) {
properties.addAll(scanClassProperties(clazz.getSuperclass()));
properties.addAll(scanClassProperties(clazz.getSuperclass(), scannedClasses));
}
// 处理当前类属性
@ -222,18 +232,36 @@ public class ScanUtil {
Class<?> fieldType = field.getType();
fieldParam.setType(fieldType.getSimpleName());
// 递归处理复杂类型
if (isComplexType(fieldType)) {
fieldParam.setChildren(scanClassProperties(fieldType));
// 处理List类型
if (fieldType.equals(List.class)) {
java.lang.reflect.Type genericType = field.getGenericType();
if (genericType instanceof ParameterizedType) {
ParameterizedType pt = (ParameterizedType) genericType;
java.lang.reflect.Type[] typeArgs = pt.getActualTypeArguments();
if (typeArgs.length > 0 && typeArgs[0] instanceof Class) {
Class<?> genericClass = (Class<?>) typeArgs[0];
// 如果是复杂类型则递归处理
if (isComplexType(genericClass)) {
fieldParam.setChildren(scanClassProperties(genericClass, scannedClasses));
}
// 设置泛型类型名称
fieldParam.setType("List<" + genericClass.getSimpleName() + ">");
}
}
}
// 处理其他复杂类型
else if (isComplexType(fieldType)) {
fieldParam.setChildren(scanClassProperties(fieldType, scannedClasses));
}
properties.add(fieldParam);
}
scannedClasses.remove(clazz); // 扫描完成后移除标记
return properties;
}
private static String cleanPath(String originalPath) {
// 1. 移除路径参数
String pathWithoutParams = originalPath.replaceAll("/\\{[^/]+}", "");

View File

@ -24,12 +24,4 @@ public enum ChrgitmLvEnum {
}
return null;
}
public static String getCodeByName(String name) {
for (ChrgitmLvEnum chrgitmLvEnum : ChrgitmLvEnum.values()) {
if (chrgitmLvEnum.getName().equals(name)) {
return chrgitmLvEnum.getCode();
}
}
return null;
}
}

View File

@ -1,27 +0,0 @@
package com.syjiaer.clinic.server.common.enums;
public enum ListTypeEnum {
WESTERN_MEDICINE(101, "西药中成药"),
CHINESE_DECOCCTION_PIECES(102, "中药饮片"),
CHINESE_DECOCCTION_PIECES_2(103, "中药饮片"),
SELF_PREPARED(104, "自制剂"),
NATIONAL_MEDICINE(105, "民族药"),
SERVICE_ITEM(201, "服务项目"),
MEDICAL_MATERIALS(301, "医用材料");
private final int codeValue;
private final String codeName;
ListTypeEnum(int codeValue, String codeName) {
this.codeValue = codeValue;
this.codeName = codeName;
}
public int getCodeValue() {
return codeValue;
}
public String getCodeName() {
return codeName;
}
}

View File

@ -2,18 +2,15 @@ package com.syjiaer.clinic.server.common.util;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.stream.Stream;
public class DateUtil {
public static final String DATE_FORMAT = "yyyy-MM-dd";
public static final String DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
private static final DateTimeFormatter INPUT_FORMATTER = DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH);
private static final DateTimeFormatter OUTPUT_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
public LocalDateTime now() {
return LocalDateTime.now();
}
@ -79,14 +76,4 @@ public class DateUtil {
return Stream.iterate(startDate, date -> date.plusDays(1))
.limit(java.time.temporal.ChronoUnit.DAYS.between(startDate, endDate) + 1).toList();
}
/**
* 格式化 EEE MMM dd HH:mm:ss z yyyy yyyy-MM-dd HH:mm:ss
* @param dateStr
* @return
*/
public static String parseAndFormatDate(String dateStr) {
ZonedDateTime zonedDateTime = ZonedDateTime.parse(dateStr, INPUT_FORMATTER);
return zonedDateTime.format(OUTPUT_FORMATTER);
}
}

View File

@ -4,7 +4,6 @@ import com.syjiaer.clinic.server.common.exception.MessageException;
import org.springframework.stereotype.Component;
import java.io.*;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
@ -17,10 +16,8 @@ import java.util.zip.ZipOutputStream;
@Component
public class FileUtil {
public List<String> unzip(String path, String filename) {
List<String> file_list = new ArrayList<>();
try (InputStream is = new FileInputStream(path + "/" + filename);
ZipInputStream zipInputStream = new ZipInputStream(new BufferedInputStream(is), Charset.forName("UTF-8"))) { // 强制指定编码为 UTF-8
List<String> file_list = new ArrayList<String>();
try (ZipInputStream zipInputStream = new ZipInputStream(new FileInputStream(path + "/" + filename))) {
byte[] buffer = new byte[4096];
ZipEntry zipEntry;

View File

@ -38,17 +38,6 @@ public class HttpUtil {
private ManagerUserSignMapper managerUserSignMapper;
private Logger logger = Logger.getLogger(HttpUtil.class.getName());
public String generateMsgId() {
Random random = new Random();
int randomNumber = random.nextInt(9000) + 1000;
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter now_str = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
Map<String, Object> map = new HashMap<>();
return config.get("social", "msgid") + now_str.format(now) + String.valueOf(randomNumber);
}
private JSONObject post(String posturl, String params){
return post(posturl, params, 120000);
}
@ -58,7 +47,6 @@ public class HttpUtil {
StringBuffer resultBuffer = new StringBuffer();
String infno =JSONObject.parseObject(params).getString("infno");
logger.info(""+infno+"】调用医保请求地址==》" + posturl);
logger.info(""+infno+"】调用医保请求入参==》" + params);
URL url = new URL(posturl);
URLConnection conn = url.openConnection();
@ -80,9 +68,7 @@ public class HttpUtil {
BufferedReader reader = null;
String tempLine = null;
reader = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
// reader = new BufferedReader(new InputStreamReader(conn.getInputStream(), "GBK"));
reader = new BufferedReader(new InputStreamReader(conn.getInputStream(), "GBK"));
while ((tempLine = reader.readLine()) != null) {
resultBuffer.append(tempLine);
}
@ -93,7 +79,9 @@ public class HttpUtil {
}
logger.info("调用医保请求出参==》" + result);
JSONObject result_json = JSON.parseObject(result);
if(result_json==null||result_json.isEmpty()){
throw new MessageException("医保接口返回数据异常");
}
if (!result_json.getString("err_msg").equals("成功") &&!result_json.getString("err_msg").equals("success") && !result_json.getString("err_msg").isEmpty()) {
throw new MessageException(result_json.getString("err_msg"));
}
@ -103,9 +91,7 @@ public class HttpUtil {
}
public List<String[]> download(String version_name, int type) {
Map<String, Object> input = new HashMap<>();
input.put("ver", version_name);
String infno = String.valueOf(type);
JSONObject result = null;
try {
@ -233,21 +219,7 @@ public class HttpUtil {
JSONObject output = post(config.get("social", "url"), JSON.toJSONString(getparms(infno, tag, input)),timeout);
return output;
}
public JSONObject call(String infno, String tag, List<Object> input) {
JSONObject output = post(config.get("social", "url"), JSON.toJSONString(getparms(infno, tag, input)),120000);
return output;
}
public JSONObject call(String infno, String tag, List<Object> input,int timeout) {
JSONObject output = post(config.get("social", "url"), JSON.toJSONString(getparms(infno, tag, input)),timeout);
return output;
}
public JSONObject callByMsgId(String msgId, String infno, String tag, Map<String, Object> input, int timeout) {
Map<String, Object> parmsMap = getparms(infno, tag, input);
parmsMap.put("msgid", msgId);
return callBackMsgIdDo(parmsMap);
}
public JSONObject callBackMsgId(String infno, Map<String, Object> input,int timeout) {
Map<String, Object> parmsMap = getparms(infno, input);
return callBackMsgIdDo(parmsMap);
@ -303,8 +275,8 @@ public class HttpUtil {
map.put("msgid", config.get("social", "msgid") + now_str.format(now) + String.valueOf(randomNumber));
map.put("infver", "V1.0");
map.put("inf_time", now.format(now_str2));
map.put("opter",managerUser.getId().toString());
map.put("opter_name", managerUser.getName());
map.put("opter", config.get("social", "opter"));
map.put("opter_name", config.get("social", "opterName"));
map.put("opter_type", "1");
map.put("fixmedins_code", config.get("social", "fixmedinsCode"));
map.put("fixmedins_name", config.get("social", "fixmedinsName"));

View File

@ -16,7 +16,6 @@ public class ManagerUtil {
ManagerUser managerUser = new ManagerUser();
managerUser.setId(1);
managerUser.setUsername("test");
managerUser.setName("test");
return managerUser;
}
Object managerId = map.get("manager_id");

View File

@ -63,7 +63,8 @@ public class SocialController extends BaseController {
String insutype = parmsUtil.getString("insutype");
Integer payType = parmsUtil.getInteger("payType");
String curBalc = parmsUtil.getString("curBalc");
OM2207A om2207A = chargeService.socialRealPay(changeOrderCode,mdtrtCertType,mdtrtCertNO,insutype,payType);
OM2207A om2207A = chargeService.socialRealPay(changeOrderCode,mdtrtCertType,mdtrtCertNO,insutype);
chargeService.recordSocialInfo(om2207A, chargeService.getByCode(changeOrderCode), payType,curBalc);
return success( );
}
/**

View File

@ -1,5 +1,8 @@
package com.syjiaer.clinic.server.controller.common;
import com.syjiaer.clinic.server.common.annotations.ApiParam;
import com.syjiaer.clinic.server.common.annotations.ApiParams;
import com.syjiaer.clinic.server.common.annotations.ApiReturn;
import com.syjiaer.clinic.server.common.annotations.RecordCommonLog;
import com.syjiaer.clinic.server.common.config.Config;
import com.syjiaer.clinic.server.common.vo.Result;
@ -34,12 +37,14 @@ public class CommonConfigController extends BaseController {
@RequestMapping("list")
@ApiOperation("查询配置信息")
public Result<Object> list() {
@ApiReturn(type = CommonConfig.class, isArray = true)
public Result<List<CommonConfig>> list() {
return success(commonConfigService.list());
}
@RequestMapping("getAll")
@ApiOperation("查询所有配置信息")
@ApiOperation("key-value形式配置信息")
@ApiReturn(type = CommonConfig.class)
public Result<Object> getAll() {
List<CommonConfig> list = commonConfigService.list();
Map<String, String> map = new HashMap<>();
@ -51,6 +56,7 @@ public class CommonConfigController extends BaseController {
@RecordCommonLog(operation = "修改配置信息")
@RequestMapping("edit")
@ApiOperation("修改配置信息")
public Result<Object> edit() {
Map<String, Object> parms = getParms();
for (String key : parms.keySet()) {

View File

@ -1,5 +1,8 @@
package com.syjiaer.clinic.server.controller.common;
import com.syjiaer.clinic.server.common.annotations.ApiParam;
import com.syjiaer.clinic.server.common.annotations.ApiParams;
import com.syjiaer.clinic.server.common.annotations.ApiReturn;
import com.syjiaer.clinic.server.common.vo.Page;
import com.syjiaer.clinic.server.common.vo.Result;
import com.syjiaer.clinic.server.controller.BaseController;
@ -20,6 +23,10 @@ public class CommonLogController extends BaseController {
@RequestMapping("list")
@ApiOperation("查询操作日志")
@ApiParams({
@ApiParam(name = "query", value = "查询条件", type = CommonLogQuery.class, required = true)
})
@ApiReturn(type = CommonLog.class, isArray = true)
public Result<Page<CommonLog>> list() {
CommonLogQuery query = parmsUtil.getObject("query", CommonLogQuery.class);
return success(commonLogService.pageList(query));

View File

@ -1,6 +1,9 @@
package com.syjiaer.clinic.server.controller.common;
import com.alibaba.fastjson2.JSONObject;
import com.syjiaer.clinic.server.common.annotations.ApiParam;
import com.syjiaer.clinic.server.common.annotations.ApiParams;
import com.syjiaer.clinic.server.common.annotations.ApiReturn;
import com.syjiaer.clinic.server.common.annotations.NoAuthCheck;
import com.syjiaer.clinic.server.common.exception.MessageException;
import com.syjiaer.clinic.server.common.util.CacheUtil;
@ -47,6 +50,10 @@ public class FileController extends BaseController {
@RequestMapping("/getImage/{fileName}")
@ApiOperation("获取图片")
@NoAuthCheck
@ApiParams({
@ApiParam(name = "fileName", value = "文件名", required = true)
})
@ApiReturn("资源文件")
public ResponseEntity<Resource> getImage(@PathVariable String fileName) {
try {
return fileService.getImage(fileName);
@ -60,6 +67,10 @@ public class FileController extends BaseController {
@RequestMapping("/download/{token}")
@ApiOperation("下载文件")
@NoAuthCheck
@ApiParams({
@ApiParam(name = "token", value = "临时令牌", required = true)
})
@ApiReturn("资源文件")
public ResponseEntity<Resource> download(@PathVariable String token){
try {
@ -82,6 +93,10 @@ public class FileController extends BaseController {
@RequestMapping("/uploadToTemp")
@ApiOperation("上传临时文件")
@NoAuthCheck
@ApiParams({
@ApiParam(name = "file", value = "文件", required = true)
})
@ApiReturn(name ="",value = "临时令牌")
public String uploadToTemp(MultipartFile file) {
try {
// 获取文件的后缀名

View File

@ -1,5 +1,6 @@
package com.syjiaer.clinic.server.controller.common;
import com.syjiaer.clinic.server.common.annotations.ApiReturn;
import com.syjiaer.clinic.server.common.annotations.NoAuthCheck;
import com.syjiaer.clinic.server.common.vo.Result;
import com.syjiaer.clinic.server.controller.BaseController;
@ -32,6 +33,7 @@ public class ManagerUserController extends BaseController {
@RequestMapping("login")
@ApiOperation("登录")
@NoAuthCheck
@ApiReturn(value = "登录令牌",typeName="String")
public Result<String> login() {
Map<String, Object> parms = getParms();
String username = (String) parms.get("username");
@ -43,6 +45,8 @@ public class ManagerUserController extends BaseController {
//验证token
@ApiOperation("验证token")
@RequestMapping("verify")
@ApiReturn(type = ManagerUser.class)
public Result<ManagerUser> verify() {
return success(managerUserService.verify());
}
@ -53,6 +57,7 @@ public class ManagerUserController extends BaseController {
*/
@ApiOperation("所有人员信息")
@RequestMapping("list")
@ApiReturn(type = ManagerUser.class,isArray = true)
public Result<List<ManagerUser>> list(){
return success(managerUserService.list());
}

View File

@ -1,5 +1,8 @@
package com.syjiaer.clinic.server.controller.common;
import com.syjiaer.clinic.server.common.annotations.ApiParam;
import com.syjiaer.clinic.server.common.annotations.ApiParams;
import com.syjiaer.clinic.server.common.annotations.ApiReturn;
import com.syjiaer.clinic.server.common.annotations.RecordCommonLog;
import com.syjiaer.clinic.server.common.vo.Result;
import com.syjiaer.clinic.server.controller.BaseController;
@ -20,6 +23,11 @@ public class SignController extends BaseController {
@RecordCommonLog(operation = "医保签到")
@ApiOperation("医保签到")
@RequestMapping("/in")
@ApiParams({
@ApiParam(name = "mac", value = "mac地址", required = true),
@ApiParam(name = "ip", value = "ip地址", required = true)
})
@ApiReturn(type = ManagerUserSign.class)
public Result<ManagerUserSign> in() {
String mac = parmsUtil.getString("mac", "请输入mac地址");
String ip = parmsUtil.getString("ip", "请输入ip地址");
@ -29,6 +37,7 @@ public class SignController extends BaseController {
@RecordCommonLog(operation = "医保签退")
@ApiOperation("医保签退")
@RequestMapping("/out")
@ApiReturn(isNull = true)
public Result<String> out() {
signService.out();
return success("签退成功");

View File

@ -3,6 +3,7 @@ package com.syjiaer.clinic.server.controller.goods;
import com.alibaba.fastjson.JSONObject;
import com.syjiaer.clinic.server.common.annotations.ApiParam;
import com.syjiaer.clinic.server.common.annotations.ApiParams;
import com.syjiaer.clinic.server.common.annotations.ApiReturn;
import com.syjiaer.clinic.server.common.annotations.RecordCommonLog;
import com.syjiaer.clinic.server.common.enums.GoodsPricingModelEnum;
import com.syjiaer.clinic.server.common.util.ParmsUtil;
@ -48,7 +49,8 @@ public class GoodsController extends BaseController {
@ApiParams({
@ApiParam(name = "data", value = "商品信息", required = true, type = Goods.class)
})
public Result<Object> save() {
@ApiReturn(type = Goods.class)
public Result<Goods> save() {
Goods goods=parmsUtil.getObject("data", Goods.class);
if (goods.getPurchaseUnitPrice()==null) {
return error("请输入参考进价");
@ -88,6 +90,10 @@ public class GoodsController extends BaseController {
@RecordCommonLog(operation = "商品重新初始化医保库存")
@ApiOperation("商品重新初始化医保库存")
@RequestMapping("returnInit")
@ApiParams({
@ApiParam(name = "id", value = "商品id", required = true)
})
@ApiReturn(isNull = true)
public Result<Object> returnInit() {
Integer goodId = parmsUtil.getInteger("id");
goodsService.returnInit(goodId);
@ -99,6 +105,10 @@ public class GoodsController extends BaseController {
*/
@ApiOperation("商品搜索")
@RequestMapping("DetailWithSearch")
@ApiParams({
@ApiParam(name = "query", value = "查询参数", required = true, type = GoodsQuery.class)
})
@ApiReturn(type = GoodsDetailVo.class)
public Result<Page<GoodsDetailVo>> DetailWithSearch() {
GoodsQuery goodsQuery = parmsUtil.getObject("query", GoodsQuery.class);
Page<GoodsDetailVo> result = goodsService.searchGoodeDetail(goodsQuery);
@ -110,6 +120,10 @@ public class GoodsController extends BaseController {
*/
@ApiOperation("商品搜索 下单时的搜索")
@RequestMapping("search")
@ApiParams({
@ApiParam(name = "keyword", value = "关键字", required = true)
})
@ApiReturn(type = GoodsSearchVo.class)
public Result<List<GoodsSearchVo>> search() {
Map<String, Object> parms = getParms();
String keyword = (String) parms.get("keyword");
@ -123,6 +137,10 @@ public class GoodsController extends BaseController {
*/
@ApiOperation("根据商品id获取商品")
@RequestMapping("get")
@ApiParams({
@ApiParam(name = "id", value = "商品id", required = true)
})
@ApiReturn(type = Goods.class)
public Result<Object> get() {
int id = parmsUtil.getInteger("id", "请输入ID");
return success(goodsService.getById(id));
@ -135,6 +153,11 @@ public class GoodsController extends BaseController {
@ApiOperation("商品添加标识码")
@RecordCommonLog(operation = "商品添加标识码")
@RequestMapping("addIdCode")
@ApiParams({
@ApiParam(name = "goodsId", value = "商品id", required = true),
@ApiParam(name = "idCode", value = "标识码", required = true)
})
@ApiReturn(isNull = true)
public Result<Object> addIdCode(){
Integer goodsId = parmsUtil.getInteger("goodsId","商品id为空");
String idCode = parmsUtil.getString("idCode","标识码为空");
@ -148,6 +171,10 @@ public class GoodsController extends BaseController {
*/
@ApiOperation("获取二级分类绑定的商品数量")
@RequestMapping("getByCateId")
@ApiParams({
@ApiParam(name = "cateId", value = "二级分类ID", required = true)
})
@ApiReturn(name = "数量", typeName = "Long")
public Result<Long> getCountByCateId() {
Integer cateId = parmsUtil.getInteger("cateId", "请输入分类ID");
return success(goodsService.getByCateId(cateId));
@ -159,6 +186,10 @@ public class GoodsController extends BaseController {
@ApiOperation("停售商品")
@RecordCommonLog(operation = "停售商品")
@RequestMapping("disableSale")
@ApiParams({
@ApiParam(name = "id", value = "商品id", required = true)
})
@ApiReturn(type = Goods.class)
public Result<Goods> disableSale() {
Integer id = parmsUtil.getInteger("id", "id不存在");
return success(goodsService.disableSale(id));
@ -169,6 +200,10 @@ public class GoodsController extends BaseController {
@ApiOperation("起售商品")
@RecordCommonLog(operation = "启售商品")
@RequestMapping("enableSale")
@ApiParams({
@ApiParam(name = "id", value = "商品id", required = true)
})
@ApiReturn(type = Goods.class)
public Result<Goods> enableSale() {
Integer id = parmsUtil.getInteger("id", "id不存在");
return success(goodsService.enableSale(id));

View File

@ -1,5 +1,8 @@
package com.syjiaer.clinic.server.controller.inventory;
import com.syjiaer.clinic.server.common.annotations.ApiParam;
import com.syjiaer.clinic.server.common.annotations.ApiParams;
import com.syjiaer.clinic.server.common.annotations.ApiReturn;
import com.syjiaer.clinic.server.common.annotations.RecordCommonLog;
import com.syjiaer.clinic.server.common.vo.Page;
import com.syjiaer.clinic.server.common.vo.Result;
@ -30,6 +33,11 @@ public class InventoryApplyController extends BaseController {
@RecordCommonLog(operation = "创建领用单并领用")
@ApiOperation("创建领用单并领用")
@RequestMapping("/create")
@ApiParams({
@ApiParam(name = "data", value = "领用单商品信息", required = true, type = Map.class,isArray = true),
@ApiParam(name = "useInfo", value = "领用单信息", required = true, type = InventoryApply.class)
})
@ApiReturn(isNull = true)
public Result create() {
List<Map> mapList = parmsUtil.getList("data",Map.class);
InventoryApply useInfo = parmsUtil.getObject("useInfo", InventoryApply.class);
@ -43,6 +51,10 @@ public class InventoryApplyController extends BaseController {
*/
@ApiOperation("分页查询领用单")
@RequestMapping("/list")
@ApiParams({
@ApiParam(name = "query", value = "查询参数", required = true, type = ApplyOrderQuery.class)
})
@ApiReturn(type = InventoryApply.class)
public Result<Page> list() {
ApplyOrderQuery query = parmsUtil.getObject("query", ApplyOrderQuery.class);
@ -55,6 +67,10 @@ public class InventoryApplyController extends BaseController {
*/
@ApiOperation("获取领用单详情")
@RequestMapping("/getDetail")
@ApiParams({
@ApiParam(name = "id", value = "领用单id", required = true)
})
@ApiReturn(name = "详情JSON字符串", typeName = "String")
public Result<String> getDetail(){
Integer applyId = parmsUtil.getInteger("id", "id不能为空");
return success(inventoryApplyService.getCheckDetail(applyId));

View File

@ -1,5 +1,8 @@
package com.syjiaer.clinic.server.controller.inventory;
import com.syjiaer.clinic.server.common.annotations.ApiParam;
import com.syjiaer.clinic.server.common.annotations.ApiParams;
import com.syjiaer.clinic.server.common.annotations.ApiReturn;
import com.syjiaer.clinic.server.common.annotations.RecordCommonLog;
import com.syjiaer.clinic.server.common.vo.Page;
import com.syjiaer.clinic.server.common.vo.Result;
@ -26,6 +29,10 @@ public class InventoryCheckController extends BaseController {
*/
@ApiOperation("盘点列表分页查询")
@RequestMapping("/list")
@ApiParams({
@ApiParam(name = "query", value = "查询参数", required = true, type = CheckQuery.class)
})
@ApiReturn(type = InventoryCheck.class)
public Result<Page<InventoryCheck>> list() {
CheckQuery query= parmsUtil.getObject("query", CheckQuery.class);
@ -39,6 +46,12 @@ public class InventoryCheckController extends BaseController {
@ApiOperation("保存盘点记录")
@RecordCommonLog(operation = "完成盘点")
@RequestMapping("/save")
@ApiParams({
@ApiParam(name = "list", value = "盘点列表", required = true, type = Map.class,isArray = true),
@ApiParam(name = "remark", value = "盘点备注", required = true),
@ApiParam(name = "checkUserId", value = "盘点人id", required = true)
})
@ApiReturn(isNull = true)
public Result save() {
List<Map> list = parmsUtil.getList("list", Map.class);
String remark = parmsUtil.getString("remark");
@ -52,6 +65,10 @@ public class InventoryCheckController extends BaseController {
*/
@ApiOperation("获取盘点单详情")
@RequestMapping("/getDetail")
@ApiParams({
@ApiParam(name = "id", value = "盘点单id", required = true)
})
@ApiReturn(name = "详情JSON字符串", typeName = "String")
public Result<String> getDetail(){
Integer checkId = parmsUtil.getInteger("id", "id不能为空");
return success(inventoryCheckService.getCheckDetail(checkId));

View File

@ -1,12 +1,17 @@
package com.syjiaer.clinic.server.controller.inventory;
import com.alibaba.fastjson.JSON;
import com.syjiaer.clinic.server.common.annotations.ApiParam;
import com.syjiaer.clinic.server.common.annotations.ApiParams;
import com.syjiaer.clinic.server.common.annotations.ApiReturn;
import com.syjiaer.clinic.server.common.annotations.RecordCommonLog;
import com.syjiaer.clinic.server.common.util.DateUtil;
import com.syjiaer.clinic.server.common.vo.Result;
import com.syjiaer.clinic.server.controller.BaseController;
import com.syjiaer.clinic.server.entity.goods.Goods;
import com.syjiaer.clinic.server.entity.inventory.Inventory;
import com.syjiaer.clinic.server.entity.inventory.InventoryLog;
import com.syjiaer.clinic.server.entity.inventory.vo.InventoryGoodsTotalVo;
import com.syjiaer.clinic.server.service.goods.GoodsService;
import com.syjiaer.clinic.server.service.inventory.InventoryPurchaseService;
import com.syjiaer.clinic.server.service.inventory.InventoryService;
@ -38,6 +43,10 @@ public class InventoryController extends BaseController {
*/
@ApiOperation("获取采购单信息 根据code")
@RequestMapping("/listByOrderCode")
@ApiParams({
@ApiParam(name = "orderCode", value = "采购单code", required = true)
})
@ApiReturn(type = Inventory.class)
public Result<List<Inventory>> listByOrderCode() {
String purchaseCode = parmsUtil.getString("orderCode", "请输入订单号");
return success(inventoryService.listByPurchaseCode(purchaseCode));
@ -47,9 +56,13 @@ public class InventoryController extends BaseController {
/**
* 根据goodsId 获取该goods的所有库存信息 带库存总量
*/
@ApiOperation("获取商品库存信息 根据goodsId")
@ApiOperation("根据goodsId获取商品库存信息")
@RequestMapping("/getByGoodsId")
public Result<Map<String, Object>> getByGoodsId() {
@ApiParams({
@ApiParam(name = "goodsId", value = "商品ID", required = true)
})
@ApiReturn(type = InventoryGoodsTotalVo.class)
public Result<InventoryGoodsTotalVo> getByGoodsId() {
int goodsId = parmsUtil.getInteger("goodsId", "请输入商品ID");
Boolean isZero = parmsUtil.getObject("isZero", Boolean.class);
@ -57,32 +70,31 @@ public class InventoryController extends BaseController {
if (goods == null) {
return error("商品不存在");
}
Map<String, Object> goodsMap = JSON.parseObject(JSON.toJSONString(goods), Map.class);
List<Inventory> list = inventoryService.getListByGoodsId(goodsId, isZero);
List<Map<String, Object>> listMap = new ArrayList<>();
List<Inventory> listMap = new ArrayList<>();
for (Inventory inventory : list) {
Map<String, Object> map = new HashMap<>();
map.put("id", inventory.getId());
map.put("wholeNumber", inventory.getWholeNumber());
map.put("fragmentNumber", inventory.getFragmentNumber());
map.put("productionBatchCode", inventory.getProductionBatchCode());
map.put("productionDate", inventory.getProductionDate());
map.put("expiryDate", inventory.getExpiryDate());
map.put("purchaseUnitPrice", inventory.getPurchaseUnitPrice());
listMap.add(map);
listMap.add(inventory);
}
goodsMap.put("inventoryGoodsList", listMap);
InventoryGoodsTotalVo inventoryGoodsTotalVo = new InventoryGoodsTotalVo();
inventoryGoodsTotalVo.setInventoryGoodsList(listMap);
Map<String, Integer> map = inventoryService.totalNumber(goodsId);
goodsMap.putAll(map);
return success(goodsMap);
inventoryGoodsTotalVo.setWholeNumber(map.get("wholeNumber"));
inventoryGoodsTotalVo.setFragmentNumber(map.get("fragmentNumber"));
inventoryGoodsTotalVo.setTotalFragment(map.get("totalFragment"));
inventoryGoodsTotalVo.setListSize(map.get("listSize"));
return success(inventoryGoodsTotalVo);
}
/**
* 根据goodsId 获取该goods的所有库存信息
*/
@ApiOperation("获取商品库存信息 根据goodsId")
@ApiOperation("根据goodsId获取商品库存信息(已作废)")
@RequestMapping("/listByGoodsId")
@ApiParams({
@ApiParam(name = "goodsId", value = "商品ID", required = true)
})
@ApiReturn(type = Inventory.class, isArray = true)
public Result<List<Inventory>> listByGoodsId() {
int goodsId = parmsUtil.getInteger("goodsId", "请输入商品ID");
Goods goods = goodsService.getById(goodsId);
@ -98,6 +110,10 @@ public class InventoryController extends BaseController {
*/
@ApiOperation("根据库存id集合获取库存信息")
@RequestMapping("/listByIds")
@ApiParams({
@ApiParam(name = "idList", value = "库存id集合", required = true, type = Integer.class,isArray = true)
})
@ApiReturn(type = Inventory.class, isArray = true)
public Result<List<Inventory>> listByIds() {
List<Integer> ids = parmsUtil.getIntList("idList");
if (ids == null || ids.isEmpty()) {
@ -112,6 +128,12 @@ public class InventoryController extends BaseController {
*/
@ApiOperation("库存统计")
@RequestMapping("/statistics")
@ApiParams({
@ApiParam(name = "goodsId", value = "商品ID", required = true),
@ApiParam(name = "startDate", value = "开始时间", required = true),
@ApiParam(name = "endDate", value = "结束时间", required = true)
})
@ApiReturn(type = InventoryService.LineModel.class, isArray = true)
public Result<List<InventoryService.LineModel>> statistics() {
int goodsId = parmsUtil.getInteger("goodsId", "请选择商品id");
String startDateStr = parmsUtil.getString("startDate", "请选择开始时间");
@ -127,13 +149,19 @@ public class InventoryController extends BaseController {
//todo getInventoryLog
@ApiOperation("获取库存日志")
@RequestMapping("/log")
public Result<List<Map<String, Object>>> log() {
@ApiParams({
@ApiParam(name = "goodsId", value = "商品ID", required = true),
@ApiParam(name = "startDate", value = "开始时间", required = true),
@ApiParam(name = "endDate", value = "结束时间", required = true)
})
@ApiReturn(type = InventoryLog.class, isArray = true)
public Result<List<InventoryLog>> log() {
int goodsId = parmsUtil.getInteger("goodsId", "请选择商品id");
String startDateStr = parmsUtil.getString("startDate", "请选择开始时间");
String endDateStr = parmsUtil.getString("endDate", "请选择结束时间");
LocalDateTime startDateTime = DateUtil.getDateTime(startDateStr);
LocalDateTime endDateTime = DateUtil.getDateTime(endDateStr).plusDays(1);
List<Map<String, Object>> inventoryStatistics = inventoryService.getInventoryLogByGoodsId(goodsId, startDateTime, endDateTime);
List<InventoryLog> inventoryStatistics = inventoryService.getInventoryLogByGoodsId(goodsId, startDateTime, endDateTime);
return success(inventoryStatistics);
}
@ -145,6 +173,10 @@ public class InventoryController extends BaseController {
@ApiOperation("修改库存采购信息")
@RecordCommonLog(operation = "更改采购单商品信息")
@RequestMapping("/update")
@ApiParams({
@ApiParam(name = "list", value = "库存商品列表", required = true, type = Inventory.class,isArray = true)
})
@ApiReturn(isNull = true)
public Result update() {
List<Inventory> list = parmsUtil.getList("list", Inventory.class);
inventoryService.updatePurchaseItem(list);

View File

@ -1,5 +1,8 @@
package com.syjiaer.clinic.server.controller.inventory;
import com.syjiaer.clinic.server.common.annotations.ApiParam;
import com.syjiaer.clinic.server.common.annotations.ApiParams;
import com.syjiaer.clinic.server.common.annotations.ApiReturn;
import com.syjiaer.clinic.server.common.annotations.RecordCommonLog;
import com.syjiaer.clinic.server.common.util.CacheUtil;
import com.syjiaer.clinic.server.common.util.StringUtil;
@ -9,6 +12,7 @@ import com.syjiaer.clinic.server.controller.BaseController;
import com.syjiaer.clinic.server.entity.inventory.Inventory;
import com.syjiaer.clinic.server.entity.inventory.InventoryPurchase;
import com.syjiaer.clinic.server.entity.inventory.dto.PurchaseOrderQuery;
import com.syjiaer.clinic.server.entity.inventory.vo.InventoryOrderVo;
import com.syjiaer.clinic.server.entity.inventory.vo.InventoryPurchaseVo;
import com.syjiaer.clinic.server.service.inventory.InventoryPurchaseService;
import io.swagger.annotations.ApiOperation;
@ -42,6 +46,11 @@ public class InventoryPurchaseController extends BaseController {
@ApiOperation("创建采购单")
@RecordCommonLog(operation = "创建采购单")
@RequestMapping("/create")
@ApiParams({
@ApiParam(name = "inventoryOrder", value = "采购单信息", required = true),
@ApiParam(name = "inventoryOrderGoodsList", value = "采购单商品列表", required = true, type = Inventory.class,isArray = true)
})
@ApiReturn(isNull = true)
public Result<Object> create() {
InventoryPurchase purchase_order = parmsUtil.getObject("inventoryOrder", InventoryPurchase.class);
List<Inventory> list = parmsUtil.getList("inventoryOrderGoodsList", Inventory.class, "请至少采购一件商品");
@ -57,6 +66,10 @@ public class InventoryPurchaseController extends BaseController {
*/
@ApiOperation("分页查询采购单")
@RequestMapping("/list")
@ApiParams({
@ApiParam(name = "query", value = "查询条件",type = PurchaseOrderQuery.class, required = true)
})
@ApiReturn(type = InventoryPurchaseVo.class,isPage = true)
public Result<Page<InventoryPurchaseVo>> list() {
PurchaseOrderQuery query = parmsUtil.getObject("query", PurchaseOrderQuery.class);
@ -68,10 +81,14 @@ public class InventoryPurchaseController extends BaseController {
*/
@ApiOperation("获取采购单详情")
@RequestMapping("/detail")
public Result<Map<String, Object>> detail() {
@ApiParams({
@ApiParam(name = "code", value = "采购单号", required = true)
})
@ApiReturn(type = InventoryPurchaseVo.class)
public Result<InventoryOrderVo> detail() {
String code = parmsUtil.getString("code","采购单号不能为空");
Map<String, Object> byCode = inventoryPurchaseService.getByCode(code);
return success(byCode);
InventoryOrderVo inventoryOrderVo = inventoryPurchaseService.getByCode(code);
return success(inventoryOrderVo);
}
/**
@ -81,6 +98,10 @@ public class InventoryPurchaseController extends BaseController {
@ApiOperation("更新采购单基本信息")
@RecordCommonLog(operation = "更新采购单基本信息")
@RequestMapping("/update")
@ApiParams({
@ApiParam(name = "inventoryOrder", value = "采购单信息", type = InventoryPurchase.class, required = true)
})
@ApiReturn(isNull = true)
public Result update() {
InventoryPurchase inventoryOrder = parmsUtil.getObject("inventoryOrder", InventoryPurchase.class);
if (inventoryOrder.getInvoiceCode() == null || inventoryOrder.getInvoiceCode().isEmpty()) {
@ -97,6 +118,10 @@ public class InventoryPurchaseController extends BaseController {
@ApiOperation("采购单修改时 添加采购的商品")
@RecordCommonLog(operation = "已有的采购单中添加商品")
@RequestMapping("/addGoods")
@ApiParams({
@ApiParam(name = "data", value = "采购商品", type = Inventory.class, required = true)
})
@ApiReturn(isNull = true)
public Result addGoods() {
Inventory inventory = parmsUtil.getObject("data", Inventory.class);
if (inventory == null) {
@ -117,6 +142,10 @@ public class InventoryPurchaseController extends BaseController {
@ApiOperation("采购单退货")
@RecordCommonLog(operation = "采购单退货")
@RequestMapping("/refund")
@ApiParams({
@ApiParam(name = "idList", value = "退货商品id列表", required = true)
})
@ApiReturn(isNull = true)
public Result refund() {
List<Integer> list = parmsUtil.getIntList("idList");
if (list == null || list.isEmpty()) {
@ -133,6 +162,7 @@ public class InventoryPurchaseController extends BaseController {
@ApiOperation("采购一键导入生成excel")
@RequestMapping("/toExcel")
@ApiReturn(name ="",value = "文件临时下载令牌")
public Result toExcel() {
List<Integer> cateIdList = parmsUtil.getIntList("cateIdList");
String excelFilePath = inventoryPurchaseService.toExcel(cateIdList);
@ -148,6 +178,10 @@ public class InventoryPurchaseController extends BaseController {
*/
@ApiOperation("采购一键导入解析excel")
@RequestMapping("/fromExcel")
@ApiParams({
@ApiParam(name = "token", value = "文件临时下载令牌", required = true)
})
@ApiReturn(name ="",value = "文件解析结果")
public Result fromExcel() {
String file_token = parmsUtil.getString("token");
Map<String,Object> map=cacheUtil.get(file_token);

View File

@ -1,5 +1,8 @@
package com.syjiaer.clinic.server.controller.inventory;
import com.syjiaer.clinic.server.common.annotations.ApiParam;
import com.syjiaer.clinic.server.common.annotations.ApiParams;
import com.syjiaer.clinic.server.common.annotations.ApiReturn;
import com.syjiaer.clinic.server.common.annotations.RecordCommonLog;
import com.syjiaer.clinic.server.common.vo.Page;
import com.syjiaer.clinic.server.common.vo.Result;
@ -24,6 +27,10 @@ public class InventorySupplierController extends BaseController {
*/
@ApiOperation("分页查询供货商")
@RequestMapping("/list")
@ApiParams({
@ApiParam(name = "query", value = "查询条件", type = SupplierQuery.class, required = true)
})
@ApiReturn(type = InventorySupplier.class, isPage = true)
public Result<Page> list() {
SupplierQuery query= parmsUtil.getObject("query", SupplierQuery.class);
@ -37,6 +44,10 @@ public class InventorySupplierController extends BaseController {
@ApiOperation("保存供货商")
@RecordCommonLog(operation = "保存供货商")
@RequestMapping("/save")
@ApiParams({
@ApiParam(type = InventorySupplier.class,name="inventorySupplier", value = "供货商信息", required = true)
})
@ApiReturn(isNull = true)
public Result save() {
InventorySupplier inventorySupplier = parmsUtil.getObject("inventorySupplier", InventorySupplier.class);
inventorySupplierService.saveOrUpdate(inventorySupplier);

View File

@ -1,5 +1,8 @@
package com.syjiaer.clinic.server.controller.item;
import com.syjiaer.clinic.server.common.annotations.ApiParam;
import com.syjiaer.clinic.server.common.annotations.ApiParams;
import com.syjiaer.clinic.server.common.annotations.ApiReturn;
import com.syjiaer.clinic.server.common.annotations.RecordCommonLog;
import com.syjiaer.clinic.server.common.exception.MessageException;
import com.syjiaer.clinic.server.common.vo.Page;
@ -28,6 +31,13 @@ public class ItemController extends BaseController {
*/
@ApiOperation("获取非组套列表")
@RequestMapping("/list")
@ApiParams({
@ApiParam(name = "pageNum", value = "页码", required = true),
@ApiParam(name = "pageSize", value = "页容量", required = true),
@ApiParam(name = "name", value = "名称"),
@ApiParam(name = "tel", value = "电话")
})
@ApiReturn(type = Item.class,isPage = true)
public Result<Page<Item>> getAllItems() {
int page = parmsUtil.getInteger("pageNum", "页码不能为空");
int size = parmsUtil.getInteger("pageSize", "页容量不能为空");
@ -41,6 +51,11 @@ public class ItemController extends BaseController {
*/
@ApiOperation("获取组套列表")
@RequestMapping("/groupList")
@ApiParams({
@ApiParam(name = "page", value = "页码", required = true),
@ApiParam(name = "size", value = "页容量", required = true)
})
@ApiReturn(type = Item.class,isPage = true)
public Result<Page<Item>> groupList() {
int page = parmsUtil.getInteger("page", "页码不能为空");
int size = parmsUtil.getInteger("size", "页容量不能为空");
@ -53,6 +68,10 @@ public class ItemController extends BaseController {
*/
@ApiOperation("获取项目详情")
@RequestMapping("/get")
@ApiParams({
@ApiParam(name = "id", value = "项目id", required = true)
})
@ApiReturn(type = Item.class)
public Result<Item> get() {
Integer id = parmsUtil.getInteger("id");
if (id == null) {
@ -66,10 +85,13 @@ public class ItemController extends BaseController {
@ApiOperation("添加项目")
@RecordCommonLog(operation = "保存服务项目")
@RequestMapping("/add")
@ApiParams({
@ApiParam(name = "data", value = "模型", required = true, type = Item.class)
})
@ApiReturn(isNull = true)
public Result<?> createItem() {
Item item = parmsUtil.getObject("data", Item.class);
itemService.save(item);
return success();
}
/*
@ -78,6 +100,10 @@ public class ItemController extends BaseController {
@ApiOperation("修改项目")
@RecordCommonLog(operation = "编辑服务项目")
@RequestMapping("/edit")
@ApiParams({
@ApiParam(name = "data", value = "模型", required = true, type = Item.class)
})
@ApiReturn(isNull = true)
public Result<?> updateItem() {
Item item = parmsUtil.getObject("data", Item.class);
itemService.updateItem(item);
@ -89,6 +115,10 @@ public class ItemController extends BaseController {
*/
@ApiOperation("删除项目")
@RequestMapping("/del")
@ApiParams({
@ApiParam(name = "id", value = "项目id", required = true)
})
@ApiReturn(isNull = true)
public Result<?> del() {
Integer id = parmsUtil.getInteger("id");
itemService.delete(id);
@ -99,6 +129,10 @@ public class ItemController extends BaseController {
*/
@ApiOperation("搜索项目")
@RequestMapping("/search")
@ApiParams({
@ApiParam(name = "keyword", value = "关键字", required = true)
})
@ApiReturn(type = ItemSearchVo.class,isArray = true)
public Result<List<ItemSearchVo>> search() {
String keyword = parmsUtil.getString("keyword");
@ -109,6 +143,11 @@ public class ItemController extends BaseController {
*/
@ApiOperation("保存组套")
@RequestMapping("/saveGroup")
@ApiParams({
@ApiParam(name = "list", value = "组套", required = true),
@ApiParam(name = "info", value = "组套信息", required = true)
})
@ApiReturn(isNull = true)
public Result<?> saveGroup() {
List<ItemGroupList> itemGroupList = parmsUtil.getList("list", ItemGroupList.class,"请求参数list不能为空");
@ -123,6 +162,9 @@ public class ItemController extends BaseController {
*/
@ApiOperation("获取组套")
@RequestMapping("/getGroup")
@ApiParams({
@ApiParam(name = "id", value = "项目id", required = true)
})
public Result<?> getGroup() {
Integer itemId = parmsUtil.getInteger("id","item_id为空");
return success(itemService.getGroup(itemId));
@ -132,6 +174,10 @@ public class ItemController extends BaseController {
*/
@ApiOperation("删除组套")
@RequestMapping("/deleteGroup")
@ApiParams({
@ApiParam(name = "id", value = "项目id", required = true)
})
@ApiReturn(isNull = true)
public Result<?> deleteGroup() {
Integer itemId = parmsUtil.getInteger("id","item_id为空");

View File

@ -1,5 +1,8 @@
package com.syjiaer.clinic.server.controller.organization;
import com.syjiaer.clinic.server.common.annotations.ApiParam;
import com.syjiaer.clinic.server.common.annotations.ApiParams;
import com.syjiaer.clinic.server.common.annotations.ApiReturn;
import com.syjiaer.clinic.server.common.annotations.RecordCommonLog;
import com.syjiaer.clinic.server.common.exception.MessageException;
import com.syjiaer.clinic.server.common.vo.Page;
@ -24,6 +27,13 @@ public class OrganizationMemberController extends BaseController {
@ApiOperation("分页查询成员列表")
@RequestMapping("/list")
@ApiParams({
@ApiParam(name = "page", value = "页码", required = true),
@ApiParam(name = "size", value = "页容量", required = true),
@ApiParam(name = "name", value = "名称"),
@ApiParam(name = "tel", value = "电话")
})
@ApiReturn(type = OrganizationMemberSaveDto.class,isPage = true)
public Result<Page<OrganizationMemberSaveDto>> list() {
int page = parmsUtil.getInteger("page","页码不能为空");
int size = parmsUtil.getInteger("size", "页容量不能为空");
@ -34,6 +44,10 @@ public class OrganizationMemberController extends BaseController {
@ApiOperation("保存成员信息")
@RequestMapping("/save")
@ApiParams({
@ApiParam(name = "data", value = "模型", required = true, type = OrganizationMemberSaveDto.class)
})
@ApiReturn(isNull = true)
@RecordCommonLog(operation = "保存成员信息")
public Result<?> save() {
OrganizationMemberSaveDto dto = parmsUtil.getObject("data", OrganizationMemberSaveDto.class);
@ -47,6 +61,10 @@ public class OrganizationMemberController extends BaseController {
@ApiOperation("删除成员")
@RequestMapping("/del")
@RecordCommonLog(operation = "删除成员")
@ApiParams({
@ApiParam(name = "id", value = "成员id", required = true)
})
@ApiReturn(isNull = true)
public Result<?> del() {
Integer id = parmsUtil.getInteger("id");
if(id == null){
@ -58,6 +76,10 @@ public class OrganizationMemberController extends BaseController {
@ApiOperation("获取成员信息")
@RequestMapping("/get")
@ApiParams({
@ApiParam(name = "id", value = "成员id", required = true)
})
@ApiReturn(type = OrganizationMemberSaveDto.class)
public Result<OrganizationMemberSaveDto> get() {
Integer id = parmsUtil.getInteger("id","id不能为空");
return success(organizationMemberService.get(id));
@ -66,6 +88,10 @@ public class OrganizationMemberController extends BaseController {
@ApiOperation("搜索成员")
@RequestMapping("/search")
@ApiParams({
@ApiParam(name = "query", value = "查询参数", required = true, type = DockerSearchQuery.class)
})
@ApiReturn(type = OrganizationMember.class,isArray = true)
public Result<List<OrganizationMember>> search() {
DockerSearchQuery dockerSearchQuery = parmsUtil.getObject("query", DockerSearchQuery.class);
return success(organizationMemberService.doctorList(dockerSearchQuery));
@ -77,6 +103,10 @@ public class OrganizationMemberController extends BaseController {
*/
@ApiOperation("获取当前科室的所有医生")
@RequestMapping("/listBySectionId")
@ApiParams({
@ApiParam(name = "sectionId", value = "科室id", required = true)
})
@ApiReturn(type = OrganizationMember.class,isArray = true)
public Result<List<OrganizationMember>> listBySectionId() {
Integer sectionId = parmsUtil.getInteger("sectionId");
if(sectionId == null){

View File

@ -1,6 +1,9 @@
package com.syjiaer.clinic.server.controller.organization;
import com.alibaba.fastjson.JSONObject;
import com.syjiaer.clinic.server.common.annotations.ApiParam;
import com.syjiaer.clinic.server.common.annotations.ApiParams;
import com.syjiaer.clinic.server.common.annotations.ApiReturn;
import com.syjiaer.clinic.server.common.annotations.RecordCommonLog;
import com.syjiaer.clinic.server.common.exception.MessageException;
import com.syjiaer.clinic.server.common.util.StringUtil;
@ -22,8 +25,17 @@ public class OrganizationSectionController extends BaseController {
@Autowired
private OrganizationSectionService organizationSectionService;
@RecordCommonLog(operation = "分页查询科室列表")
@ApiOperation("分页查询科室列表")
@RequestMapping("/list")
@ApiParams({
@ApiParam(name = "page", value = "页码", required = true),
@ApiParam(name = "size", value = "页容量", required = true),
@ApiParam(name = "name", value = "名称"),
@ApiParam(name = "caty", value = "科别"),
@ApiParam(name = "resperName", value = "负责人姓名"),
@ApiParam(name = "resperTel", value = "负责人电话")
})
@ApiReturn(type = OrganizationSection.class,isPage = true)
public Result<Page<OrganizationSection>> list() {
int page = parmsUtil.getInteger("page","页码不能为空");
int size = parmsUtil.getInteger("size", "页容量不能为空");
@ -37,6 +49,10 @@ public class OrganizationSectionController extends BaseController {
@ApiOperation("添加科室")
@RecordCommonLog(operation = "添加科室")
@RequestMapping("/add")
@ApiParams({
@ApiParam(name = "data", value = "模型", required = true, type = OrganizationSection.class)
})
@ApiReturn(isNull = true)
public Result<?> add() {
OrganizationSection organizationSection = parmsUtil.getObjectWithCheck("data", OrganizationSection.class);
@ -49,6 +65,10 @@ public class OrganizationSectionController extends BaseController {
@ApiOperation("修改科室信息")
@RecordCommonLog(operation = "修改科室信息")
@RequestMapping("/edit")
@ApiParams({
@ApiParam(name = "data", value = "模型", required = true, type = OrganizationSection.class)
})
@ApiReturn(isNull = true)
public Result<?> edit() {
OrganizationSection organizationSection = parmsUtil.getObjectWithCheck("data", OrganizationSection.class);
if(organizationSection ==null){
@ -61,6 +81,10 @@ public class OrganizationSectionController extends BaseController {
@ApiOperation("删除科室")
@RecordCommonLog(operation = "删除科室")
@RequestMapping("/del")
@ApiParams({
@ApiParam(name = "id", value = "科室id", required = true)
})
@ApiReturn(isNull = true)
public Result<?> del() {
Integer id = parmsUtil.getInteger("id");
if(id == null){
@ -73,6 +97,10 @@ public class OrganizationSectionController extends BaseController {
@ApiOperation("获取科室信息")
@RequestMapping("/get")
@ApiParams({
@ApiParam(name = "id", value = "科室id", required = true)
})
@ApiReturn(type = OrganizationSection.class)
public Result<OrganizationSection> get() {
Integer id = parmsUtil.getInteger("id");
if(id == null){

View File

@ -1,5 +1,8 @@
package com.syjiaer.clinic.server.controller.patient;
import com.syjiaer.clinic.server.common.annotations.ApiParam;
import com.syjiaer.clinic.server.common.annotations.ApiParams;
import com.syjiaer.clinic.server.common.annotations.ApiReturn;
import com.syjiaer.clinic.server.common.annotations.RecordCommonLog;
import com.syjiaer.clinic.server.common.vo.Page;
import com.syjiaer.clinic.server.common.vo.Result;
@ -32,6 +35,10 @@ public class PatientController extends BaseController {
@ApiOperation("创建患者")
@RequestMapping("/create")
@RecordCommonLog(operation = "创建患者")
@ApiParams({
@ApiParam(name = "data", value = "模型", required = true, type = PatientInfo.class)
})
@ApiReturn(isNull = true)
public Result<Object> create() {
PatientInfo patientInfo = parmsUtil.getObject("vipInfo", PatientInfo.class);
patientInfoService.create(patientInfo);
@ -42,6 +49,10 @@ public class PatientController extends BaseController {
@ApiOperation("修改患者信息")
@RecordCommonLog(operation = "修改患者信息")
@RequestMapping("/update")
@ApiParams({
@ApiParam(name = "vipInfo", value = "患者信息", required = true, type = PatientInfo.class)
})
@ApiReturn(isNull = true)
public Result<Object> update() {
PatientInfo patientInfo = parmsUtil.getObject("vipInfo", PatientInfo.class);
patientInfoService.update(patientInfo);
@ -52,6 +63,10 @@ public class PatientController extends BaseController {
@ApiOperation("删除患者")
@RequestMapping("/del")
@RecordCommonLog(operation = "删除患者")
@ApiParams({
@ApiParam(name = "id", value = "患者ID", required = true)
})
@ApiReturn(isNull = true)
public Result<Integer> del() {
int patientId = parmsUtil.getInteger("id", "ID不能为空");
return success(patientInfoService.removeById(patientId));
@ -60,6 +75,12 @@ public class PatientController extends BaseController {
@ApiOperation("分页查询患者列表")
@RequestMapping("/list")
@ApiParams({
@ApiParam(name = "keyword", value = "关键字"),
@ApiParam(name = "pageNum", value = "页码", required = true),
@ApiParam(name = "pageSize", value = "页容量", required = true)
})
@ApiReturn(type = PatientInfo.class,isArray = true)
public Result<Page<PatientInfo>> selectList() {
String keyword = parmsUtil.getString("keyword");
int page = parmsUtil.getInteger("page", "请输入页码");
@ -70,6 +91,10 @@ public class PatientController extends BaseController {
@ApiOperation("获取患者信息")
@RequestMapping("/get")
@ApiParams({
@ApiParam(name = "id", value = "患者id", required = true, type = Integer.class)
})
@ApiReturn(type = PatientInfo.class)
public Result<PatientInfo> get() {
int id = parmsUtil.getInteger("id", "ID不能为空");
PatientInfo patientInfo = patientInfoService.getById(id);
@ -78,6 +103,12 @@ public class PatientController extends BaseController {
@ApiOperation("搜索患者")
@RequestMapping("/search")
@ApiParams({
@ApiParam(name = "keyword", value = "关键字", required = true),
@ApiParam(name = "pageNum", value = "页码", required = true),
@ApiParam(name = "pageSize", value = "页容量", required = true),
})
@ApiReturn(type = PatientInfo.class,isArray = true)
public Result<List<PatientInfo>> search() {
String keyword = parmsUtil.getString("keyword", "关键字不能为空");
List<PatientInfo> list = patientInfoService.search(keyword);
@ -88,6 +119,11 @@ public class PatientController extends BaseController {
@ApiOperation("改变会员等级")
@RecordCommonLog(operation = "改变会员等级")
@RequestMapping("/changeLevel")
@ApiParams({
@ApiParam(name = "vipId", value = "会员ID", required = true),
@ApiParam(name = "levelId", value = "会员等级ID", required = true)
})
@ApiReturn(isNull = true)
public Result<Object> changeLevel() {
int vipId = parmsUtil.getInteger("vipId", "会员ID不能为空");
int levelId = parmsUtil.getInteger("levelId", "等级id不能为空");

View File

@ -1,5 +1,8 @@
package com.syjiaer.clinic.server.controller.patient;
import com.syjiaer.clinic.server.common.annotations.ApiParam;
import com.syjiaer.clinic.server.common.annotations.ApiParams;
import com.syjiaer.clinic.server.common.annotations.ApiReturn;
import com.syjiaer.clinic.server.common.annotations.RecordCommonLog;
import com.syjiaer.clinic.server.common.vo.Page;
import com.syjiaer.clinic.server.common.vo.Result;
@ -25,6 +28,12 @@ public class PatientIntegralController extends BaseController {
@ApiOperation("添加会员积分")
@RecordCommonLog(operation = "添加会员积分")
@RequestMapping("/add")
@ApiParams({
@ApiParam(name = "patientId", value = "会员ID", required = true),
@ApiParam(name = "integral", value = "积分", required = true),
@ApiParam(name = "remark", value = "备注")
})
@ApiReturn(isNull = true)
public Result add(){
Integer vipId = parmsUtil.getInteger("vipId","请输入会员id");
Integer Integral = parmsUtil.getInteger("integral","请输入积分");
@ -35,6 +44,12 @@ public class PatientIntegralController extends BaseController {
@ApiOperation("分页查询会员积分记录")
@RequestMapping("/list")
@ApiParams({
@ApiParam(name = "vipId", value = "会员id", required = true),
@ApiParam(name = "pageNum", value = "页码", required = true),
@ApiParam(name = "pageSize", value = "每页数量", required = true)
})
@ApiReturn(type = VipIntegralLog.class,isArray = true)
public Result<Page<VipIntegralLog>> listByVipId(){
VipIntegralLogQuery query = parmsUtil.getObject("query", VipIntegralLogQuery.class);
Page<VipIntegralLog> page = vipIntegralLogService.pageList(query);

View File

@ -1,5 +1,8 @@
package com.syjiaer.clinic.server.controller.patient;
import com.syjiaer.clinic.server.common.annotations.ApiParam;
import com.syjiaer.clinic.server.common.annotations.ApiParams;
import com.syjiaer.clinic.server.common.annotations.ApiReturn;
import com.syjiaer.clinic.server.common.annotations.RecordCommonLog;
import com.syjiaer.clinic.server.common.vo.Result;
import com.syjiaer.clinic.server.controller.BaseController;
@ -30,6 +33,10 @@ public class PatientLevelConfigController extends BaseController {
@ApiOperation("新增会员等级配置")
@RecordCommonLog(operation = "创建会员等级配置")
@RequestMapping("/create")
@ApiParams({
@ApiParam(name = "vipLevelConfig", value = "会员等级配置", required = true, type = VipLevelConfig.class)
})
@ApiReturn(isNull = true)
public Result<Object> create() {
VipLevelConfig levelConfig = parmsUtil.getObject("vipLevelConfig", VipLevelConfig.class);
vipLevelConfigService.create(levelConfig);
@ -39,6 +46,10 @@ public class PatientLevelConfigController extends BaseController {
@ApiOperation("修改会员等级配置")
@RecordCommonLog(operation = "修改会员等级配置")
@RequestMapping("/edit")
@ApiParams({
@ApiParam(name = "vipLevelConfig", value = "会员等级配置", required = true, type = VipLevelConfig.class)
})
@ApiReturn(isNull = true)
public Result<Object> edit() {
VipLevelConfig levelConfig = parmsUtil.getObject("vipLevelConfig", VipLevelConfig.class);
@ -51,6 +62,10 @@ public class PatientLevelConfigController extends BaseController {
@ApiOperation("保存会员等级配置")
@RecordCommonLog(operation = "保存会员等级配置")
@RequestMapping("/save")
@ApiParams({
@ApiParam(name = "vipLevelConfig", value = "会员等级配置", required = true, type = VipLevelConfig.class)
})
@ApiReturn(isNull = true)
public Result<Object> save() {
List<VipLevelConfig> levelConfigList = parmsUtil.getList("vipLevelConfig", VipLevelConfig.class);
vipLevelConfigService.save(levelConfigList);
@ -61,6 +76,10 @@ public class PatientLevelConfigController extends BaseController {
@ApiOperation("删除一个会员等级配置")
@RecordCommonLog(operation = "删除一个会员等级配置")
@RequestMapping("/del")
@ApiParams({
@ApiParam(name = "id", value = "会员等级配置ID", required = true)
})
@ApiReturn(isNull = true)
public Result<Object> del() {
int id = parmsUtil.getInteger("id", "ID不能为空");
vipLevelConfigService.delete(id);
@ -70,6 +89,7 @@ public class PatientLevelConfigController extends BaseController {
@ApiOperation("分页查询会员等级配置")
@RequestMapping("/list")
@ApiReturn(type = VipLevelConfig.class,isArray = true)
public Result<List<VipLevelConfig>> selectList() {
List<VipLevelConfig> list = vipLevelConfigService.list();

View File

@ -1,5 +1,8 @@
package com.syjiaer.clinic.server.controller.patient;
import com.syjiaer.clinic.server.common.annotations.ApiParam;
import com.syjiaer.clinic.server.common.annotations.ApiParams;
import com.syjiaer.clinic.server.common.annotations.ApiReturn;
import com.syjiaer.clinic.server.common.annotations.RecordCommonLog;
import com.syjiaer.clinic.server.common.exception.MessageException;
import com.syjiaer.clinic.server.common.vo.Page;
@ -34,6 +37,12 @@ public class RegistrationController extends BaseController {
@RecordCommonLog(operation = "挂号")
@RequestMapping("/add")
@ApiOperation("挂号")
@ApiParams({
@ApiParam(name = "registrationParam", value = "挂号参数", required = true, type = RegistrationSaveDto.class),
@ApiParam(name = "mdtrtCertType", value = "证件类型", required = true),
@ApiParam(name = "mdtrtCertNo", value = "证件号码", required = true)
})
@ApiReturn(isNull = true)
public Result<?> add() {
RegistrationSaveDto registrationParam = parmsUtil.getObjectWithCheck("data", RegistrationSaveDto.class);
@ -49,6 +58,13 @@ public class RegistrationController extends BaseController {
*/
@ApiOperation("分页查询挂号列表")
@RequestMapping("/list")
@ApiParams({
@ApiParam(name = "pageNum", value = "页码", required = true),
@ApiParam(name = "pageSize", value = "每页数量", required = true),
@ApiParam(name = "doctorId", value = "医生id"),
@ApiParam(name = "startDate", value = "开始时间"),
@ApiParam(name = "endDate", value = "结束时间"),
})
public Result<Page<PatientRegistration>> list() {
int page = parmsUtil.getInteger("page", "页码不能为空");
int size = parmsUtil.getInteger("size", "页容量不能为空");
@ -64,6 +80,10 @@ public class RegistrationController extends BaseController {
@ApiOperation("取消挂号")
@RecordCommonLog(operation = "取消挂号")
@RequestMapping("/cancel")
@ApiParams({
@ApiParam(name = "id", value = "挂号id", required = true)
})
@ApiReturn(isNull = true)
public Result<?> cancel() {
Integer id = parmsUtil.getInteger("id");
patientRegistrationService.cancel(id);
@ -77,6 +97,10 @@ public class RegistrationController extends BaseController {
@ApiOperation("修改挂号信息")
@RecordCommonLog(operation = "修改挂号信息")
@RequestMapping("/edit")
@ApiParams({
@ApiParam(name = "data", value = "挂号信息", required = true, type = PatientRegistration.class)
})
@ApiReturn(isNull = true)
public Result<?> edit() {
PatientRegistration registration = parmsUtil.getObjectWithCheck("data", PatientRegistration.class);
if (registration == null) {
@ -94,6 +118,10 @@ public class RegistrationController extends BaseController {
@ApiOperation("删除挂号信息")
@RecordCommonLog(operation = "删除挂号信息")
@RequestMapping("/del")
@ApiParams({
@ApiParam(name = "id", value = "挂号id", required = true)
})
@ApiReturn(isNull = true)
public Result<?> del() {
Integer id = parmsUtil.getInteger("id");
if (id == null) {
@ -109,6 +137,10 @@ public class RegistrationController extends BaseController {
*/
@ApiOperation("获取挂号信息 根据挂号id")
@RequestMapping("/get")
@ApiParams({
@ApiParam(name = "id", value = "挂号id", required = true)
})
@ApiReturn(type = PatientRegistrationVo.class)
public Result<PatientRegistrationVo> get() {
Integer id = parmsUtil.getInteger("id");
if (id == null) {
@ -120,6 +152,7 @@ public class RegistrationController extends BaseController {
@ApiOperation("获取挂号信息列表")
@RequestMapping("/allList")
@ApiReturn(type = PatientRegistration.class, isArray = true)
public Result<List<PatientRegistration>> allList() {
List<PatientRegistration> list = patientRegistrationService.listAll();
return success(list);
@ -131,6 +164,9 @@ public class RegistrationController extends BaseController {
*/
@ApiOperation("挂号信息分页搜索")
@RequestMapping("/listByType")
@ApiParams({
@ApiParam(name = "query", value = "挂号信息", type = RegistrationQuery.class, required = true)
})
public Result<Page<PatientRegistration>> listByType() {
RegistrationQuery query = parmsUtil.getObject("query", RegistrationQuery.class);
return success(patientRegistrationService.getListByType(query));
@ -155,6 +191,11 @@ public class RegistrationController extends BaseController {
@ApiOperation("更改挂号单状态")
@RecordCommonLog(operation = "更改挂号单状态")
@RequestMapping("/changeStatus")
@ApiParams({
@ApiParam(name = "id", value = "挂号单id", required = true),
@ApiParam(name = "status", value = "挂号单状态", required = true)
})
@ApiReturn(isNull = true)
public Result<PatientRegistration> changeStatus(){
Integer regisId= parmsUtil.getInteger("id","挂号单不能为空");
Integer status= parmsUtil.getInteger("status","目标状态");

View File

@ -1,7 +1,11 @@
package com.syjiaer.clinic.server.controller.social;
import com.syjiaer.clinic.server.common.annotations.ApiParam;
import com.syjiaer.clinic.server.common.annotations.ApiParams;
import com.syjiaer.clinic.server.common.annotations.ApiReturn;
import com.syjiaer.clinic.server.common.exception.MessageException;
import com.syjiaer.clinic.server.controller.BaseController;
import com.syjiaer.clinic.server.entity.patient.dto.RegistrationSaveDto;
import com.syjiaer.clinic.server.service.social.SocialChineseMedicinalGranulaService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@ -15,6 +19,10 @@ public class SocialChineseMedicinalGranulaController extends BaseController {
private SocialChineseMedicinalGranulaService socialChineseMedicinalGranulaService;
@RequestMapping("download")
@ApiOperation("下载中药颗粒")
@ApiParams({
@ApiParam(name = "version", value = "版本号", required = true, type = RegistrationSaveDto.class),
})
@ApiReturn(name = "版本号",value = "version", type = String.class)
public String download() {
String version = parmsUtil.getString("version");
if (version == null || version.isEmpty()) {

View File

@ -1,7 +1,11 @@
package com.syjiaer.clinic.server.controller.social;
import com.syjiaer.clinic.server.common.annotations.ApiParam;
import com.syjiaer.clinic.server.common.annotations.ApiParams;
import com.syjiaer.clinic.server.common.vo.Result;
import com.syjiaer.clinic.server.entity.patient.dto.RegistrationSaveDto;
import com.syjiaer.clinic.server.service.social.SocialChronicDiseaseService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@ -12,6 +16,7 @@ public class SocialChronicDiseaseController {
@Autowired
private SocialChronicDiseaseService socialChronicDiseaseService;
@RequestMapping("download")
@ApiOperation("下载中医疾病(没有用)")
public Result download() {
// return socialChronicDiseaseService.download();
return null;

View File

@ -1,7 +1,11 @@
package com.syjiaer.clinic.server.controller.social;
import com.syjiaer.clinic.server.common.annotations.ApiParam;
import com.syjiaer.clinic.server.common.annotations.ApiParams;
import com.syjiaer.clinic.server.common.annotations.ApiReturn;
import com.syjiaer.clinic.server.common.vo.Result;
import com.syjiaer.clinic.server.controller.BaseController;
import com.syjiaer.clinic.server.entity.patient.dto.RegistrationSaveDto;
import com.syjiaer.clinic.server.entity.social.SocialDiagnose;
import com.syjiaer.clinic.server.service.social.SocialDiagnoseService;
import io.swagger.annotations.ApiOperation;
@ -19,6 +23,10 @@ public class SocialDiagnoseController extends BaseController {
@ApiOperation("诊断搜索")
@RequestMapping("search")
@ApiParams({
@ApiParam(name = "keyword", value = "关键字", required = true, type = String.class),
})
@ApiReturn(name = "诊断列表",value = "diagnosis", isArray = true ,type = SocialDiagnose.class)
public Result<List<SocialDiagnose>> getDiagnosis() {
String keyword = parmsUtil.getString("keyword");
List<SocialDiagnose> diagnosis = socialDiagnoseService.getDiagnosis(keyword);

View File

@ -90,7 +90,17 @@ public class SocialUploadController extends BaseController {
@ApiOperation("进销存一键上报接口")
@RequestMapping("quickUpload")
public Result<NotDoNumberVo> quickUpload() {
socialInventoryUploadService.quickUpload();
Boolean uploadResult = socialInventoryUploadService.upload3501();
if (!uploadResult) {
uploadResult = socialInventoryUploadService.upload3503();
}
if (!uploadResult){
uploadResult = socialInventoryUploadService.upload3505();
}
if (!uploadResult) {
uploadResult = socialInventoryUploadService.upload3502();
}
NotDoNumberVo notDoNumberVo = socialInventoryUploadService.getNotDoNumberDo();
return success(notDoNumberVo);
}

View File

@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.io.Serializable;
/**
@ -17,7 +16,6 @@ import java.io.Serializable;
*/
@TableName("goods_cate")
@ApiModel(value = "GoodsCate对象", description = "")
@Data
public class GoodsCate implements Serializable {
private static final long serialVersionUID = 1L;
@ -29,4 +27,46 @@ public class GoodsCate implements Serializable {
private Integer type;
private Integer sort;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public Integer getSort() {
return sort;
}
public void setSort(Integer sort) {
this.sort = sort;
}
@Override
public String toString() {
return "GoodsCate{" +
"id = " + id +
", name = " + name +
", type = " + type +
", sort = " + sort +
"}";
}
}

View File

@ -0,0 +1,45 @@
package com.syjiaer.clinic.server.entity.inventory.vo;
import com.baomidou.mybatisplus.annotation.TableName;
import com.syjiaer.clinic.server.entity.inventory.Inventory;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
/**
* <p>
*
* </p>
*
* @author NiuZiYuan
* @since 2025-03-10
*/
@Getter
@Setter
@ToString
@Accessors(chain = true)
@TableName("inventory_goods_view")
@ApiModel(value = "库存信息", description = "")
public class InventoryGoodsTotalVo implements Serializable {
@ApiModelProperty("库存商品列表")
List<Inventory> inventoryGoodsList;
@ApiModelProperty("库存商品总数量")
private int wholeNumber;
@ApiModelProperty("库存商品总分数")
private int fragmentNumber;
@ApiModelProperty("库存商品总分数")
private int totalFragment;
@ApiModelProperty("库存商品列表大小")
private int listSize;
}

View File

@ -0,0 +1,14 @@
package com.syjiaer.clinic.server.entity.inventory.vo;
import com.syjiaer.clinic.server.entity.inventory.Inventory;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class InventoryOrderVo {
@ApiModelProperty("采购单信息")
private InventoryPurchaseVo inventoryOrder;
@ApiModelProperty("采购单商品列表")
private List<InventoryGoodsVo> inventoryOrderGoodsList;
}

View File

@ -2,7 +2,9 @@ package com.syjiaer.clinic.server.entity.inventory.vo;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.syjiaer.clinic.server.entity.inventory.InventoryPurchase;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@ -26,31 +28,10 @@ import java.time.LocalDateTime;
@Accessors(chain = true)
@TableName("inventory_purchase_view")
@ApiModel(value = "InventoryPurchaseView对象", description = "")
public class InventoryPurchaseVo implements Serializable {
private static final long serialVersionUID = 1L;
private String code;
private Integer managerUserId;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime purchaseDate;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime createDatetime;
private Integer supplierId;
private String remark;
private String shippingCode;
private String invoiceCode;
private Integer kindCount;
private BigDecimal totalPrice;
public class InventoryPurchaseVo extends InventoryPurchase {
@ApiModelProperty("管理员名称")
private String managerUserName;
@ApiModelProperty("供应商名称")
private String supplierName;
}

View File

@ -1,10 +1,14 @@
package com.syjiaer.clinic.server.entity.item.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class ItemParam {
@ApiModelProperty("项目id")
private Integer id;
@ApiModelProperty("项目名称")
private String name;
@ApiModelProperty("项目单位")
private String unit;
}

View File

@ -1,54 +1,14 @@
package com.syjiaer.clinic.server.entity.item.vo;
import com.syjiaer.clinic.server.entity.item.Item;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
public class ItemSearchVo {
public class ItemSearchVo extends Item {
@ApiModelProperty("自增主键")
private Integer id;
@ApiModelProperty("项目创建时间")
private LocalDateTime createDatetime;
@ApiModelProperty("项目创建人")
private String createBy;
@ApiModelProperty("项目修改时间")
private LocalDateTime updateDatetime;
@ApiModelProperty("项目修改人")
private String updateBy;
@ApiModelProperty("项目名称")
private String name;
@ApiModelProperty("项目医保目录编码")
private String socialCode;
@ApiModelProperty("单位")
private String unit;
@ApiModelProperty("售价")
private BigDecimal unitPrice;
@ApiModelProperty("进货价")
private BigDecimal purchaseUnitPrice;
@ApiModelProperty("逻辑删除")
private Integer delFlag;
@ApiModelProperty("使用次数")
private Integer useNum;
@ApiModelProperty("全拼")
private String pinyinFull;
@ApiModelProperty("拼音首字母")
private String pinyinFirst;
@ApiModelProperty("甲乙丙类")
private String chrgitmLv;

View File

@ -1,12 +1,14 @@
package com.syjiaer.clinic.server.entity.organization.dto;
import com.syjiaer.clinic.server.entity.common.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class DockerSearchQuery {
private Integer pageNum;
private Integer pageSize;
public class DockerSearchQuery extends PageQuery {
@ApiModelProperty("关键字")
private String keyword;
@ApiModelProperty("角色")
private Integer role;

View File

@ -2,13 +2,17 @@ package com.syjiaer.clinic.server.entity.organization.dto;
import com.syjiaer.clinic.server.entity.manager.ManagerUser;
import com.syjiaer.clinic.server.entity.organization.OrganizationMember;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class OrganizationMemberSaveDto {
@ApiModelProperty("成员信息")
private OrganizationMember memberInfo;
@ApiModelProperty("科室ids")
private List<Integer> sectionIds;
@ApiModelProperty("用户信息")
private ManagerUser userInfo;
}

View File

@ -1,54 +0,0 @@
package com.syjiaer.clinic.server.entity.organization.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class MemberVo {
@ApiModelProperty("自增主键")
private Integer id;
@ApiModelProperty("成员电话")
private String tel;
@ApiModelProperty("医保人员代码")
private String socialMemberCode;
@ApiModelProperty("电子签名")
private String electronicSignature;
@ApiModelProperty("性别")
private String gender;
@ApiModelProperty("年龄")
private String age;
@ApiModelProperty("创建时间")
private LocalDateTime createDatetime;
@ApiModelProperty("身份证号")
private String idCardNumber;
@ApiModelProperty("所属科室")
private Integer sectionId;
@ApiModelProperty("备注")
private String memo;
@ApiModelProperty("管理员id")
private Integer managerUserId;
@ApiModelProperty("成员名")
private String name;
@ApiModelProperty("角色")
private Integer role;
@ApiModelProperty("删除标记")
private Boolean delFlag;
@ApiModelProperty("科室名称")
private String sectionName;
}

View File

@ -1,5 +1,7 @@
package com.syjiaer.clinic.server.entity.patient.dto;
import com.syjiaer.clinic.server.entity.common.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@ -7,11 +9,13 @@ import java.time.LocalDateTime;
@Getter
@Setter
public class RegistrationQuery {
public class RegistrationQuery extends PageQuery {
@ApiModelProperty("挂号状态 1候诊 2在诊 3已诊 0取消")
private Integer status;
private Integer pageNum ;
private Integer pageSize ;
@ApiModelProperty("关键字")
private String keyword;
@ApiModelProperty("开始时间")
private LocalDateTime beginTime;
@ApiModelProperty("结束时间")
private LocalDateTime endTime;
}

View File

@ -1,5 +1,6 @@
package com.syjiaer.clinic.server.entity.patient.vo;
import com.syjiaer.clinic.server.entity.patient.PatientInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@ -8,29 +9,9 @@ import java.time.LocalDateTime;
@Getter
@Setter
public class PatientAndRegistrationInfoVo {
@ApiModelProperty("自增id")
private Integer id;
@ApiModelProperty("患者姓名")
private String name;
@ApiModelProperty("手机号")
private String phone;
@ApiModelProperty("身份证号")
private String certno;
@ApiModelProperty("性别")
private String sex;
@ApiModelProperty("年龄")
private Integer age;
public class PatientAndRegistrationInfoVo extends PatientInfo {
@ApiModelProperty("就诊次数")
private Integer visitCount;
@ApiModelProperty("上次就诊时间")
private LocalDateTime lastVisitTime;
@ApiModelProperty("挂号医生姓名")
private String doctorName;
@ApiModelProperty("挂号医生科室")

View File

@ -1,75 +1,13 @@
package com.syjiaer.clinic.server.entity.patient.vo;
import com.syjiaer.clinic.server.entity.patient.PatientRegistration;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
public class PatientRegistrationVo {
@ApiModelProperty("挂号id")
private Integer id;
@ApiModelProperty("科室id")
private Integer organizationSectionId;
@ApiModelProperty("医生id")
private Integer organizationDoctorId;
@ApiModelProperty("患者姓名")
private String name;
@ApiModelProperty("患者年龄")
private Integer age;
@ApiModelProperty("患者手机号")
private String phone;
@ApiModelProperty("就诊类型 初诊 复诊")
private Short visitType;
@ApiModelProperty("挂号时间")
private LocalDateTime createDatetime;
@ApiModelProperty("推荐")
private String recommendations;
@ApiModelProperty("备注")
private String memo;
@ApiModelProperty("预诊")
private String advanceDiagnosis;
@ApiModelProperty("挂号费")
private BigDecimal registrationMoney;
@ApiModelProperty("逻辑删除")
private Integer delFlag;
@ApiModelProperty("挂号类型 1普通挂号 2医保挂号")
private Integer type;
@ApiModelProperty("1男 2女")
private Integer gender;
@ApiModelProperty("病人id")
private Integer patientInfoId;
@ApiModelProperty("挂号状态 1候诊 2在诊 3已诊 0取消")
private Integer status;
@ApiModelProperty("人员编号")
private String psnNo;
@ApiModelProperty("险种类型")
private String insutype;
@ApiModelProperty("就诊id 挂号后医保返会")
private String mdtrtId;
@ApiModelProperty("流水号")
private String fstNo;
public class PatientRegistrationVo extends PatientRegistration {
@ApiModelProperty("证件类型")
private String certType;

View File

@ -1,6 +1,7 @@
package com.syjiaer.clinic.server.entity.patient.vo;
import com.syjiaer.clinic.server.entity.patient.PatientInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@ -8,20 +9,28 @@ import java.time.LocalDateTime;
@Data
public class SeeDoctorInfoVo {
//患者信息
@ApiModelProperty("患者信息")
private PatientInfo patientInfo;
//挂号医生id
@ApiModelProperty("挂号医生id")
private Integer dockerId;
//挂号医生姓名
@ApiModelProperty("挂号医生姓名")
private String dockerName;
//挂号类型
@ApiModelProperty("挂号类型")
private Integer registerType;
//医生科室名称
@ApiModelProperty("医生科室名称")
private String sectionName;
//上一次接诊时间
@ApiModelProperty("上一次接诊时间")
private LocalDateTime lastSeeDoctorTime;
//就诊次数
@ApiModelProperty("就诊次数")
private Integer seeDoctorCount;
//医保余额
@ApiModelProperty("医保余额")
private BigDecimal socialBalance;
}

View File

@ -1,48 +0,0 @@
package com.syjiaer.clinic.server.entity.social;
import com.baomidou.mybatisplus.annotation.IdType;
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 lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;
/**
* <p>
* 医保目录3301上传编号对照表
* </p>
*
* @author NiuZiYuan
* @since 2025-06-03
*/
@Getter
@Setter
@ToString
@Accessors(chain = true)
@TableName("social_compare_code")
@ApiModel(value = "SocialCompareCode对象", description = "医保目录3301上传编号对照表")
public class SocialCompareCode implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty("医保目录编码")
private String code;
@ApiModelProperty("来源表 goods item item_group_list")
private String tableName;
@ApiModelProperty("3301上报编号")
private String compareCode;
@ApiModelProperty("逻辑删除 0是默认")
private Byte delFlag;
@ApiModelProperty("原始请求参数")
private String request;
}

View File

@ -3,19 +3,20 @@ 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;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
* 医保目录
* </p>
*
* @author NiuZiYuan
* @since 2025-05-30
* @since 2025-04-17
*/
@Getter
@Setter
@ -56,7 +57,4 @@ public class SocialDirectory implements Serializable {
@ApiModelProperty("json处理后的数据")
private String data;
@ApiModelProperty("调用3301传递的本系统ID")
private String compareCode;
}

View File

@ -5,19 +5,20 @@ 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.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
* 医保服务项目目录1305,1320
* </p>
*
* @author NiuZiYuan
* @since 2025-05-30
* @since 2025-04-25
*/
@Getter
@Setter
@ -49,7 +50,4 @@ public class SocialItem implements Serializable {
@ApiModelProperty("数据修改时间")
private LocalDateTime updateDatetime;
@ApiModelProperty("调用3301传递的本系统ID")
private String compareCode;
}

View File

@ -1,5 +1,7 @@
package com.syjiaer.clinic.server.entity.social.dto;
import com.syjiaer.clinic.server.entity.common.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@ -7,12 +9,15 @@ import java.time.LocalDateTime;
@Getter
@Setter
public class InventoryInitQuery {
private Integer pageNum;
private Integer pageSize;
public class InventoryInitQuery extends PageQuery {
@ApiModelProperty("上传状态")
private Integer uploadStatus;
@ApiModelProperty("类型")
private Integer type;
@ApiModelProperty("医保码")
private String code;
@ApiModelProperty("创建时间")
private LocalDateTime createTimeBefore;
@ApiModelProperty("创建时间")
private LocalDateTime createTimeAfter;
}

View File

@ -1,5 +1,7 @@
package com.syjiaer.clinic.server.entity.social.dto;
import com.syjiaer.clinic.server.entity.common.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@ -7,11 +9,15 @@ import java.time.LocalDateTime;
@Getter
@Setter
public class InventoryLogQuery {
private Integer pageNum;
private Integer pageSize;
public class InventoryLogQuery extends PageQuery {
@ApiModelProperty("上传状态")
private Integer uploadStatus;
@ApiModelProperty("类型")
private Integer socialType;
@ApiModelProperty("创建时间")
private LocalDateTime createTimeBefore;
@ApiModelProperty("创建时间")
private LocalDateTime createTimeAfter;
}

View File

@ -1,13 +1,15 @@
package com.syjiaer.clinic.server.entity.social.dto;
import com.syjiaer.clinic.server.entity.common.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class InventoryPurchaseLogQuery {
private Integer pageNum;
private Integer pageSize;
public class InventoryPurchaseLogQuery extends PageQuery {
@ApiModelProperty("上传状态")
private Integer uploadStatus;
@ApiModelProperty("医保类型")
private Integer socialType;
}

View File

@ -1,5 +1,6 @@
package com.syjiaer.clinic.server.entity.social.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@ -10,24 +11,34 @@ import java.time.LocalDateTime;
@Setter
public class ReconciliationItemDto {
// 清算类别
@ApiModelProperty("清算类别")
private String reconciliationType;
// 险种类型
@ApiModelProperty("险种类型")
private String insuranceType;
// 经办机构
@ApiModelProperty("经办机构")
private String handlingInstitution;
// 医疗费用总额
@ApiModelProperty("医疗费用总额")
private BigDecimal totalMedicalCost = BigDecimal.ZERO;
// 基金支付总额
@ApiModelProperty("基金支付总额")
private BigDecimal totalFundPayment = BigDecimal.ZERO;
// 个账支付总额
@ApiModelProperty("个账支付总额")
private BigDecimal totalPersonalAccountPayment = BigDecimal.ZERO;
// 结算笔数
@ApiModelProperty("结算笔数")
private Integer settlementCount;
// 对账结果
@ApiModelProperty("对账结果")
private String reconciliationResult;
//对账开始时间
@ApiModelProperty("对账开始时间")
private LocalDateTime beginTime;
//对账结束时间
@ApiModelProperty("对账结束时间")
private LocalDateTime endTime;
}

View File

@ -1,16 +1,21 @@
package com.syjiaer.clinic.server.entity.social.dto;
import com.syjiaer.clinic.server.entity.common.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class ReconciliationLogQuery {
private Integer pageNum;
private Integer pageSize;
public class ReconciliationLogQuery extends PageQuery {
@ApiModelProperty("开始时间")
private LocalDateTime beginTime;
@ApiModelProperty("结束时间")
private LocalDateTime endTime;
@ApiModelProperty("对账类别")
private String reconciliationType;
@ApiModelProperty("险种类型")
private String insuranceType;
@ApiModelProperty("经办机构")
private String handlingInstitution;
}

View File

@ -1,14 +1,17 @@
package com.syjiaer.clinic.server.entity.social.dto;
import com.syjiaer.clinic.server.entity.common.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class RetailInventoryQuery {
private Integer pageNum;
private Integer pageSize;
public class RetailInventoryQuery extends PageQuery {
@ApiModelProperty("流水号")
private String code;
@ApiModelProperty("上传状态")
private Integer uploadStatus;
@ApiModelProperty("医保类型")
private Integer socialType;
}

View File

@ -1,15 +1,21 @@
package com.syjiaer.clinic.server.entity.social.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class NotDoNumberVo {
@ApiModelProperty("总未上报数量")
private long totalNumber;
@ApiModelProperty("3501未上报数量")
private long number3501;
@ApiModelProperty("3502未上报数量")
private long number3502;
@ApiModelProperty("3503未上报数量")
private long number3503;
@ApiModelProperty("3505未上报数量")
private long number3505;
}

View File

@ -1,5 +1,6 @@
package com.syjiaer.clinic.server.entity.social.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@ -8,14 +9,24 @@ import java.math.BigDecimal;
@Getter
@Setter
public class ReconciliationDetailVo {
@ApiModelProperty("人员编号")
private String psnNo;
@ApiModelProperty("就诊id 挂号后医保返会")
private String mdtrtId;
@ApiModelProperty("结算id")
private String setlId;
@ApiModelProperty("消息id")
private String msgid;
@ApiModelProperty("对账结果")
private String stmtRslt;
@ApiModelProperty("退费结算标志")
private String refdSetlFlag;
@ApiModelProperty("备注")
private String memo;
@ApiModelProperty("医疗费总额")
private BigDecimal medfeeSumamt;
@ApiModelProperty("基金支付总额")
private BigDecimal fundPaySumamt;
@ApiModelProperty("个账支付总额")
private BigDecimal acctPay;
}

View File

@ -1,5 +1,6 @@
package com.syjiaer.clinic.server.entity.social.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@ -9,20 +10,28 @@ import java.math.BigDecimal;
@Setter
public class ReconciliationItemVo {
// 清算类别
@ApiModelProperty("清算类别")
private String reconciliationType;
// 险种类型
@ApiModelProperty("险种类型")
private String insuranceType;
// 经办机构
@ApiModelProperty("经办机构")
private String handlingInstitution;
// 医疗费用总额
@ApiModelProperty("医疗费用总额")
private BigDecimal totalMedicalCost ;
// 基金支付总额
@ApiModelProperty("基金支付总额")
private BigDecimal totalFundPayment ;
// 个账支付总额
@ApiModelProperty("个账支付总额")
private BigDecimal totalPersonalAccountPayment ;
// 结算笔数
@ApiModelProperty("结算笔数")
private Integer settlementCount;
// 对账结果
@ApiModelProperty("对账结果")
private String reconciliationResult;
public ReconciliationItemVo() {

View File

@ -2,7 +2,9 @@ package com.syjiaer.clinic.server.entity.social.vo;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.annotation.TableName;
import com.syjiaer.clinic.server.entity.social.SocialDirectory;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@ -23,58 +25,45 @@ import java.time.LocalDateTime;
@Setter
@ToString
@Accessors(chain = true)
@TableName("social_directory_view")
@ApiModel(value = "SocialDirectoryView对象", description = "")
public class SocialDirectoryView implements Serializable {
public class SocialDirectoryView extends SocialDirectory {
private static final long serialVersionUID = 1L;
private String id;
private String code;
private String name;
private String keyword;
private Integer type;
private String producer;
private LocalDateTime createDatetime;
private LocalDateTime updateDatetime;
private String versionName;
private String data;
@ApiModelProperty("单位")
private String unit;
@ApiModelProperty("医保编码")
private String hilistCode;
@ApiModelProperty("医保目录限价类型")
private String hilistLmtpricType;
@ApiModelProperty("医保目录定价上限金额")
private BigDecimal hilistPricUplmtAmt;
@ApiModelProperty("自付比例类型")
private String selfpayPropType;
@ApiModelProperty("自付比例")
private BigDecimal selfpayProp;
@ApiModelProperty("开始日期")
private LocalDateTime begndate;
@ApiModelProperty("结束日期")
private LocalDateTime enddate;
@ApiModelProperty("五笔助记码")
private String wubi;
@ApiModelProperty("拼音")
private String pinyin;
@ApiModelProperty("限制使用标志")
private String lmtUsedFlag;
@ApiModelProperty("收费级别")
private String chrgitmLv;
@ApiModelProperty("json")
private JSONObject json;
@ApiModelProperty("最小包装单位")
private String minPackagingUnit;
@ApiModelProperty("包装单位")
private String packagingUnit;
@ApiModelProperty("库存整数量")
private Integer inventoryWholeNumber;
@ApiModelProperty("库存拆分量数量")
private Integer inventoryFragmentNumber;

View File

@ -2,7 +2,9 @@ package com.syjiaer.clinic.server.entity.social.vo;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.syjiaer.clinic.server.entity.inventory.InventoryInit;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@ -24,37 +26,14 @@ import java.time.LocalDateTime;
@Setter
@ToString
@Accessors(chain = true)
@TableName("social_inventory_init_view")
@ApiModel(value = "SocialInventoryInitView对象", description = "")
public class SocialInventoryInitVo implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
private String code;
private Integer wholeNumber;
private LocalDate createDate;
private Integer uploadStatus;
private String uploadMessage;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime uploadDatetime;
private Integer goodsId;
private Integer inventoryId;
private Integer fragmentNumber;
public class SocialInventoryInitVo extends InventoryInit {
@ApiModelProperty("商品名称")
private String name;
@ApiModelProperty("商品单位")
private String packagingUnit;
@ApiModelProperty("最小包装单位")
private String minPackagingUnit;
@ApiModelProperty("医保编码")
private String hilistCode;
}

View File

@ -1,7 +1,9 @@
package com.syjiaer.clinic.server.entity.social.vo;
import com.baomidou.mybatisplus.annotation.TableName;
import com.syjiaer.clinic.server.entity.inventory.InventoryLog;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@ -22,53 +24,13 @@ import java.time.LocalDateTime;
@Setter
@ToString
@Accessors(chain = true)
@TableName("social_inventory_log_view")
@ApiModel(value = "SocialInventoryLogView对象", description = "")
public class SocialInventoryLogVo implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
private Integer goodsId;
private Integer inventoryId;
private Integer socialType;
private Integer changeWholeNumber;
private Integer changeFragmentNumber;
private Integer beforeWholeNumber;
private Integer beforeFragmentNumber;
private Integer afterWholeNumber;
private Integer afterFragmentNumber;
private String remark;
private LocalDateTime createTime;
private Integer uploadStatus;
private String uploadMessage;
private LocalDateTime uploadDatetime;
private Integer type;
private Integer operateId;
private String operateName;
public class SocialInventoryLogVo extends InventoryLog {
@ApiModelProperty("商品名称")
private String name;
@ApiModelProperty("商品单位")
private String packagingUnit;
@ApiModelProperty("最小包装单位")
private String minPackagingUnit;
@ApiModelProperty("医保编码")
private String hilistCode;
}

View File

@ -1,7 +1,10 @@
package com.syjiaer.clinic.server.entity.social.vo;
import com.baomidou.mybatisplus.annotation.TableName;
import com.syjiaer.clinic.server.entity.inventory.InventoryPurchase;
import com.syjiaer.clinic.server.entity.inventory.InventoryPurchaseLog;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@ -22,33 +25,14 @@ import java.time.LocalDateTime;
@Setter
@ToString
@Accessors(chain = true)
@TableName("social_inventory_purchase_log_view")
@ApiModel(value = "SocialInventoryPurchaseLogView对象", description = "")
public class SocialInventoryPurchaseLogVo implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
private String inventoryPurchaseCode;
private Integer number;
private Integer uploadStatus;
private String uploadMessage;
private LocalDateTime uploadDatetime;
private Integer inventoryId;
private Integer socialType;
public class SocialInventoryPurchaseLogVo extends InventoryPurchaseLog {
@ApiModelProperty("商品名称")
private String name;
@ApiModelProperty("商品单位")
private String packagingUnit;
@ApiModelProperty("最小包装单位")
private String minPackagingUnit;
@ApiModelProperty("医保编码")
private String hilistCode;
}

View File

@ -1,5 +1,8 @@
package com.syjiaer.clinic.server.entity.social.vo;
import com.alibaba.fastjson2.JSONObject;
import com.syjiaer.clinic.server.entity.item.Item;
import com.syjiaer.clinic.server.entity.social.SocialItem;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@ -22,50 +25,27 @@ import java.time.LocalDateTime;
@Setter
@ToString
@Accessors(chain = true)
public class SocialItemVo implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
@ApiModelProperty("项目名称")
private String name;
@ApiModelProperty("医保编码")
private String code;
@ApiModelProperty("单位")
private String unit;
@ApiModelProperty("数据创建时间")
private LocalDateTime createDatetime;
@ApiModelProperty("版本名称")
private String versionName;
@ApiModelProperty("数据修改时间")
private LocalDateTime updateDatetime;
public class SocialItemVo extends SocialItem {
@ApiModelProperty("医保目录限价类型")
private String hilistLmtpricType;
@ApiModelProperty("医保目录定价上限金额")
private BigDecimal hilistPricUplmtAmt;
private String chrgitmLv;
@ApiModelProperty("自付比例类型")
private String selfpayPropType;
@ApiModelProperty("自付比例")
private BigDecimal selfpayProp;
@ApiModelProperty("开始日期")
private LocalDateTime begndate;
@ApiModelProperty("结束日期")
private LocalDateTime enddate;
@ApiModelProperty("五笔助记码")
private String wubi;
@ApiModelProperty("拼音")
private String pinyin;
@ApiModelProperty("收费级别")
private String chrgitmLv;
}

View File

@ -3,18 +3,26 @@ package com.syjiaer.clinic.server.entity.social.vo;
import com.syjiaer.clinic.server.common.api.output.OM1101;
import com.syjiaer.clinic.server.common.api.output.OM5267;
import com.syjiaer.clinic.server.common.api.output.OM5283;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class SocialPersonInfoVo {
private Integer id;
@ApiModelProperty("就诊凭证类型")
private String mdtrtCertType;
@ApiModelProperty("就诊凭证编号")
private String mdtrtCertNo;
@ApiModelProperty("人员基本信息")
private OM1101.Baseinfo baseinfo;
@ApiModelProperty("人员身份信息")
private List<OM1101.Insuinfo> insuinfo;
@ApiModelProperty("人员身份信息")
private List<OM1101.Idetinfo> iDetinfo;
@ApiModelProperty("5267返回数据")
private OM5267 blockInfo;
@ApiModelProperty("5283返回数据")
private OM5283 hospitalizationInfo;
}

View File

@ -1,12 +1,17 @@
package com.syjiaer.clinic.server.entity.statistics;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class ChrgitmLvOverview {
@ApiModelProperty("限制使用标志")
private String chrgitmLv;
@ApiModelProperty("限制使用标志名称")
private String name;
@ApiModelProperty("数量")
private Long count;
@ApiModelProperty("占比")
private String ratio;
}

View File

@ -1,5 +1,6 @@
package com.syjiaer.clinic.server.entity.statistics;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@ -7,9 +8,13 @@ import java.util.ArrayList;
import java.util.List;
@Data
public class GoodsStatistics {
@ApiModelProperty("总成本")
private BigDecimal totalCost;
@ApiModelProperty("总售价")
private BigDecimal totalPrice;
@ApiModelProperty("医保商品数量")
private Long totalSocialCount;
@ApiModelProperty("甲乙丙类占比")
private List<ChrgitmLvOverview> chrgitmLvInfoList;
public GoodsStatistics() {

View File

@ -1,5 +1,6 @@
package com.syjiaer.clinic.server.entity.statistics;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@ -7,6 +8,8 @@ import java.math.BigDecimal;
@Getter
@Setter
public class GoodsTypeRevenue {
@ApiModelProperty("类型名称")
private String name;
@ApiModelProperty("总收入")
private BigDecimal totalRevenue;
}

View File

@ -1,5 +1,6 @@
package com.syjiaer.clinic.server.entity.statistics;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@ -7,7 +8,10 @@ import java.math.BigDecimal;
@Getter
@Setter
public class PayTypeRevenue {
@ApiModelProperty("支付类型")
private Integer payType;
@ApiModelProperty("总收入")
private BigDecimal totalRevenue;
@ApiModelProperty("支付类型名称")
private String name;
}

View File

@ -1,5 +1,6 @@
package com.syjiaer.clinic.server.entity.statistics;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@ -8,7 +9,10 @@ import java.util.List;
@Getter
@Setter
public class PersonPayOverviewVo {
@ApiModelProperty("日期list")
private List<String> dateList;
@ApiModelProperty("会员营业额list")
private List<BigDecimal> vipPrice;
@ApiModelProperty("普通用户营业额list")
private List<BigDecimal> commonPrice;
}

View File

@ -2,6 +2,7 @@ package com.syjiaer.clinic.server.entity.statistics;
import com.syjiaer.clinic.server.common.enums.GoodsTypeEnum;
import com.syjiaer.clinic.server.common.enums.RetailOrderPayTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@ -16,16 +17,20 @@ import java.util.List;
@Setter
public class RevenueOverviewVo {
//总营业额
@ApiModelProperty("总营业额")
private BigDecimal totalRevenue;
//医保销售额
@ApiModelProperty("医保销售额")
private BigDecimal socialRevenue;
//总完成单数
@ApiModelProperty("总完成单数")
private Long totalOrderCount;
//医保单数
@ApiModelProperty("医保单数")
private Long socialOrderCount;
@ApiModelProperty("商品类型销售额")
private List<GoodsTypeRevenue> goodsTypeRevenue;
@ApiModelProperty("支付类型销售额")
private List<PayTypeRevenue> payTypeRevenue;
public RevenueOverviewVo() {

View File

@ -1,19 +1,29 @@
package com.syjiaer.clinic.server.entity.statistics;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class SalePersonReportVo {
@ApiModelProperty("销售人员id")
private Integer salePersonId;
@ApiModelProperty("销售人员姓名")
private String salePersonName;
@ApiModelProperty("总营业额")
private BigDecimal totalIncome;
@ApiModelProperty("微信营业额")
private BigDecimal wechatIncome;
@ApiModelProperty("支付宝营业额")
private BigDecimal aliPayIncome;
@ApiModelProperty("现金营业额")
private BigDecimal cashIncome;
@ApiModelProperty("其他营业额")
private BigDecimal otherIncome;
@ApiModelProperty("医保营业额")
private BigDecimal socialIncome;
@ApiModelProperty("销售单数")
private Long count;
public SalePersonReportVo() {

View File

@ -1,10 +1,13 @@
package com.syjiaer.clinic.server.entity.statistics;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class SalesVolumeOverviewVo {
@ApiModelProperty("日期list")
private List<String> dateList;
@ApiModelProperty("消费人次list")
private List<Long> countList;
}

View File

@ -1,20 +1,27 @@
package com.syjiaer.clinic.server.entity.statistics;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class TipCountVo {
//待诊断数量
@ApiModelProperty("待诊断数量")
private Long waitDiagnosisCount;
//在诊数量
@ApiModelProperty("在诊数量")
private Long diagnosingCount;
//完诊数量
@ApiModelProperty("完诊数量")
private Long completeDiaCount;
//已收费数量
@ApiModelProperty("已收费数量")
private Long chargedCount;
//已退费数量
@ApiModelProperty("已退费数量")
private Long refundedCount;
//未收费数量
@ApiModelProperty("未收费数量")
private Long unchargedCount;

View File

@ -1,12 +1,13 @@
package com.syjiaer.clinic.server.entity.vip.dto;
import com.syjiaer.clinic.server.entity.common.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class VipIntegralLogQuery {
public class VipIntegralLogQuery extends PageQuery {
@ApiModelProperty("会员id")
private Integer vipId;
private Integer pageNum;
private Integer pageSize;
}

View File

@ -1,19 +0,0 @@
package com.syjiaer.clinic.server.mapper.social;
import com.syjiaer.clinic.server.entity.social.SocialCompareCode;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 医保目录3301上传编号对照表 Mapper 接口
* </p>
*
* @author NiuZiYuan
* @since 2025-06-03
*/
public interface SocialCompareCodeMapper extends BaseMapper<SocialCompareCode> {
}

View File

@ -12,7 +12,6 @@ import com.syjiaer.clinic.server.entity.manager.ManagerUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import java.time.format.DateTimeFormatter;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@ -34,7 +33,6 @@ public abstract class BaseService {
@Value("${jwt.secret}")
protected String jwtSecret;
protected static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
protected ManagerUser getManagerUser() {

View File

@ -11,7 +11,6 @@ import com.syjiaer.clinic.server.common.config.Config;
import com.syjiaer.clinic.server.common.constants.Constants;
import com.syjiaer.clinic.server.common.enums.*;
import com.syjiaer.clinic.server.common.exception.MessageException;
import com.syjiaer.clinic.server.common.util.HttpUtil;
import com.syjiaer.clinic.server.common.util.InfoUtil;
import com.syjiaer.clinic.server.common.util.StringUtil;
import com.syjiaer.clinic.server.common.vo.Page;
@ -34,7 +33,6 @@ import com.syjiaer.clinic.server.entity.organization.OrganizationMember;
import com.syjiaer.clinic.server.entity.organization.OrganizationSection;
import com.syjiaer.clinic.server.entity.patient.PatientInfo;
import com.syjiaer.clinic.server.entity.patient.PatientRegistration;
import com.syjiaer.clinic.server.entity.social.SocialCompareCode;
import com.syjiaer.clinic.server.entity.social.SocialDirectory;
import com.syjiaer.clinic.server.entity.social.SocialItem;
import com.syjiaer.clinic.server.entity.social.SocialUser;
@ -61,9 +59,6 @@ import com.syjiaer.clinic.server.service.charge.vo.PaymentMethodVo;
import com.syjiaer.clinic.server.service.charge.vo.RetailOrderDailyChargingReportVo;
import com.syjiaer.clinic.server.service.diagnosis.DiagnosisService;
import com.syjiaer.clinic.server.service.inventory.InventoryService;
import com.syjiaer.clinic.server.service.social.SocialCompareService;
import com.syjiaer.clinic.server.service.social.SocialReconciliationService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
@ -76,7 +71,6 @@ import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.*;
@Slf4j
@Service
public class ChargeService extends BaseService {
@Autowired
@ -137,11 +131,8 @@ public class ChargeService extends BaseService {
@Autowired
private InventoryMapper inventoryMapper;
@Autowired
private SocialCompareService socialCompareService;
@Autowired
private HttpUtil httpUtil;
@Autowired
private SocialReconciliationService socialReconciliationService;
private InfoUtil infoUtil;
@Transactional(rollbackFor = Exception.class)
public ChargeOrder save(ChargeSaveDto dto) {
@ -310,47 +301,39 @@ public class ChargeService extends BaseService {
List<ChargeGoodsList> chargeGoodsLists = new ArrayList<>();
for (ChargeGoodsListVo goods : dto.getGoodsDetail()) {
ChargeGoodsList goodsList = new ChargeGoodsList();
ChargeGoodsList itemList = new ChargeGoodsList();
Goods dbGoods = goodsMapper.selectById(goods.getId());
if (dbGoods == null) {
throw new RuntimeException("商品不存在");
}
String fsn = StringUtil.getCode("FSN");
goodsList.setChargeOrderCode(code);
goodsList.setGoodsId(goods.getId());
goodsList.setPreUnitPrice(goods.getSelectedPrice());
goodsList.setUnitPrice(goods.getSelectedPrice());
goodsList.setNumber(goods.getSelectedNum());
itemList.setChargeOrderCode(code);
itemList.setGoodsId(goods.getId());
itemList.setPreUnitPrice(goods.getSelectedPrice());
itemList.setUnitPrice(goods.getSelectedPrice());
itemList.setNumber(goods.getSelectedNum());
BigDecimal subTotalPrice = goods.getSelectedPrice().multiply(BigDecimal.valueOf(goods.getSelectedNum()));
goodsList.setSubTotalPrice(subTotalPrice);
goodsList.setTrdnFlag(true);
//小单位数量
Integer number = goods.getSelectedNum()*goods.getMinPackagingNumber();
itemList.setSubTotalPrice(subTotalPrice);
itemList.setTrdnFlag(true);
if (dbGoods.getPackagingUnit().equals(goods.getSelectedUnit()) || dbGoods.getPackagingUnit().equals(dbGoods.getMinPackagingUnit())) {
goodsList.setTrdnFlag(false);
//未拆分数量
number = goods.getSelectedNum();
itemList.setTrdnFlag(false);
}
if (!inventoryService.checkInventoryNumber(dbGoods.getId(), number)){
throw new MessageException(goods.getName()+"库存不足");
}
goodsList.setUnit(goods.getSelectedUnit());
goodsList.setName(dbGoods.getName());
goodsList.setFeedetlSn(fsn);
goodsList.setSocialCode(dbGoods.getHilistCode());
goodsList.setCreateDate(nowLocalDate);
goodsList.setCreateTime(nowLocalDateTime);
goodsList.setType(dbGoods.getType());
itemList.setUnit(goods.getSelectedUnit());
itemList.setName(dbGoods.getName());
itemList.setFeedetlSn(fsn);
itemList.setSocialCode(dbGoods.getHilistCode());
itemList.setCreateDate(nowLocalDate);
itemList.setCreateTime(nowLocalDateTime);
itemList.setType(dbGoods.getType());
//添加追溯码
String traceabilityCode = null;
if (goods.getTraceAbilityCodeList() != null) {
traceabilityCode = String.join(",", goods.getTraceAbilityCodeList());
}
goodsList.setTraceabilityCode(traceabilityCode);
itemList.setTraceabilityCode(traceabilityCode);
BigDecimal subCost = goods.getPurchaseUnitPrice().multiply(BigDecimal.valueOf(goods.getSelectedNum()));
goodsList.setCost(subCost);
chargeGoodsLists.add(goodsList);
itemList.setCost(subCost);
chargeGoodsLists.add(itemList);
preTotalPrice = preTotalPrice.add(subTotalPrice);
totalPrice = totalPrice.add(subTotalPrice);
totalCost = totalCost.add(subCost);
@ -529,12 +512,6 @@ public class ChargeService extends BaseService {
if (order.getMdtrtId() == null){
throw new MessageException("非医保挂号,不能上传费用明细信息");
}
//检查商品是否库存不足
Goods lackGoods = this.checkInventoryNumber(order.getCode());
if (lackGoods != null) {
throw new MessageException(lackGoods.getName() + "库存不足");
}
//撤销之前上传的费用明细信息
try {
IM2205 im2205 = new IM2205();
@ -562,12 +539,8 @@ public class ChargeService extends BaseService {
if (sdGoods == null){
throw new MessageException("本地医保目录中未查询到医保码为"+goodsList.getSocialCode()+"的商品信息");
}
SocialCompareCode sdCompare = socialCompareService.socialCompareInfo(goodsList.getSocialCode());
if (sdCompare == null) {
throw new MessageException("药品" + sdCompare.getCode() + "未关联医保目录");
}
feedetail.setMed_list_codg(goodsList.getSocialCode());
feedetail.setMedins_list_codg(sdCompare.getCompareCode());
feedetail.setMedins_list_codg(String.valueOf(sdGoods.getId()));
BigDecimal totalPrice = goodsList.getUnitPrice().multiply(new BigDecimal(goodsList.getNumber()));
feedetail.setDet_item_fee_sumamt(totalPrice);
feedetail.setCnt(new BigDecimal(goodsList.getNumber()));
@ -591,12 +564,8 @@ public class ChargeService extends BaseService {
if (sdItem == null){
throw new MessageException("本地医保目录中未查询到医保码为"+itemList.getSocialCode()+"的医保服务项目");
}
SocialCompareCode sdCompare = socialCompareService.socialCompareInfo(itemList.getSocialCode());
if (sdCompare == null) {
throw new MessageException("医保服务项目" + itemList.getSocialCode() + "未关联医保目录");
}
feedetail.setMed_list_codg(itemList.getSocialCode());
feedetail.setMedins_list_codg(sdCompare.getCompareCode());
feedetail.setMedins_list_codg(String.valueOf(sdItem.getId()));
BigDecimal totalPrice = itemList.getUnitPrice().multiply(new BigDecimal(itemList.getNumber()));
feedetail.setDet_item_fee_sumamt(totalPrice);
feedetail.setCnt(new BigDecimal(itemList.getNumber()));
@ -620,30 +589,24 @@ public class ChargeService extends BaseService {
public OM2206A socialPrePay(String changeOrderCode, String mdtrtCertType, String mdtrtCertNo, String insutype) {
ChargeOrder order = chargeOrderMapper.selectByCode(changeOrderCode);
Diagnosis diagnosis = diagnosisMapper.selectByCode(order.getDiagnosisCode());
//检查商品是否库存不足
Goods lackGoods = this.checkInventoryNumber(order.getCode());
if (lackGoods != null) {
throw new MessageException(lackGoods.getName() + "库存不足");
}
//预支付只需要卡号
String cardNumber = mdtrtCertNo.substring(0, mdtrtCertNo.indexOf("|"));
PatientRegistration registration = patientRegistrationMapper.selectById(diagnosis.getRegistrationId());
IM2206A im2206A = new IM2206A();
IM2206A.Data data = new IM2206A.Data();
data.setPsn_no(registration.getPsnNo());
data.setMdtrt_cert_type(mdtrtCertType);
data.setMdtrt_cert_no(mdtrtCertNo);
data.setMed_type(config.get("social", "medType"));
data.setMdtrt_cert_no(cardNumber);
data.setMed_type("12");
data.setMedfee_sumamt(order.getTotalPrice());
data.setPsn_setlway("01");
data.setMdtrt_id(registration.getMdtrtId());
data.setChrg_bchno(order.getCode());
data.setAcct_used_flag("1");
data.setInsutype(insutype);
// IM2206A.ExpContent expContent = new IM2206A.ExpContent();
// data.setExp_content(expContent);
IM2206A.ExpContent expContent = new IM2206A.ExpContent();
data.setExp_content(expContent);
im2206A.setData(data);
return socialRequest.call2206A(im2206A);
@ -658,32 +621,24 @@ public class ChargeService extends BaseService {
* @param insutype
* @return
*/
public OM2207A socialRealPay(String chargeOrderCode, String mdtrtCertType, String mdtrtCertNo, String insutype, Integer payType) {
public OM2207A socialRealPay(String chargeOrderCode, String mdtrtCertType, String mdtrtCertNo, String insutype) {
ChargeOrder order = chargeOrderMapper.selectByCode(chargeOrderCode);
Diagnosis diagnosis = diagnosisMapper.selectByCode(order.getDiagnosisCode());
//检查商品是否库存不足
Goods lackGoods = this.checkInventoryNumber(order.getCode());
if (lackGoods != null) {
throw new MessageException(lackGoods.getName() + "库存不足");
}
PatientRegistration registration = patientRegistrationMapper.selectById(diagnosis.getRegistrationId());
String psnNo = registration.getPsnNo();
IM2207A im2207A = new IM2207A();
IM2207A.Data data = new IM2207A.Data();
data.setPsn_no(psnNo);
data.setPsn_no(registration.getPsnNo());
data.setMdtrt_cert_type(mdtrtCertType);
data.setMdtrt_cert_no(mdtrtCertNo);
data.setMed_type(config.get("social", "medType"));
data.setMed_type("12");
data.setMedfee_sumamt(order.getTotalPrice());
data.setPsn_setlway("01");
data.setMdtrt_id(registration.getMdtrtId());
data.setChrg_bchno(order.getCode());
data.setAcct_used_flag("1");
data.setInsutype(insutype);
im2207A.setData(data);
Integer minpacunt_drug_trac_cnt = 0;
List<ChargeGoodsList> goodsList = chargeGoodsListMapper.selectByCode(chargeOrderCode);
for (ChargeGoodsList goodsListItem : goodsList) {
@ -697,24 +652,13 @@ public class ChargeService extends BaseService {
}
data.setMinpacunt_drug_trac_cnt(BigDecimal.valueOf(minpacunt_drug_trac_cnt));
String msgId = httpUtil.generateMsgId();
try {
OM2207A om2207A = socialRequest.call2207A(im2207A, msgId);
recordSocialInfo(om2207A, chargeService.getByCode(chargeOrderCode), payType);
IM2207A.ExpContent expContent = new IM2207A.ExpContent();
data.setExp_content(expContent);
im2207A.setData(data);
OM2207A om2207A = socialRequest.call2207A(im2207A);
//完成订单
chargeService.completeOrder(order.getId(), RetailOrderPayTypeEnum.MEDICARE.getCode());
//记录医保付费信息
return om2207A;
} catch (Exception e) {
log.error("医保支付异常,自动冲正该交易", e);
IM2601 im2601 = new IM2601();
im2601.setPsnNo(psnNo);
im2601.setOmsgid(msgId);
im2601.setOinfno("2207A");
socialReconciliationService.reversal(im2601);
throw new MessageException("医保支付异常");
}
}
@ -939,8 +883,9 @@ public class ChargeService extends BaseService {
* @param om2102A
* @param dbOrder
* @param payType
* @param curBalc
*/
public void recordSocialInfo(OM2207A om2102A, ChargeOrder dbOrder, Integer payType) {
public void recordSocialInfo(OM2207A om2102A, ChargeOrder dbOrder, Integer payType, String curBalc) {
ChargeSocialPayLog socialPayLog = new ChargeSocialPayLog();
OM2207A.Setlinfo setlinfo = om2102A.getSetlinfo();
socialPayLog.setChargeOrderCode(dbOrder.getCode());
@ -1150,30 +1095,6 @@ public class ChargeService extends BaseService {
return chargeOrderMapper.selectOne(queryWrapper);
}
/**
* 根据订单号检查商品数量是否充足
*/
public Goods checkInventoryNumber(String chargeCode) {
List<ChargeGoodsList> goodsList = chargeGoodsListMapper.selectByCode(chargeCode);
for (ChargeGoodsList goodsListItem : goodsList) {
Integer number = 0;
Goods goods = goodsMapper.selectById(goodsListItem.getGoodsId());
if (goods == null) {
throw new MessageException("商品" + goodsListItem.getName() + "不存在");
}
if (goods.getPackagingUnit().equals(goodsListItem.getUnit())) {
number = goodsListItem.getNumber();
} else {
number = goodsListItem.getNumber() * goods.getMinPackagingNumber();
}
if (!inventoryService.checkInventoryNumber(goodsListItem.getGoodsId(), number)) {
return goods;
}
}
return null;
}
// public void recordSocialInfo(OM2103 om2103, RetailOrder dbOrder) {
// QueryWrapper<RetailSocialPayLog> logQuery = new QueryWrapper<>();
// logQuery.eq("retail_order_code", dbOrder.getCode());

View File

@ -311,12 +311,11 @@ public class DiagnosisService extends BaseService {
mdtrtinfo.setMdtrt_id(patientRegistration.getMdtrtId());
mdtrtinfo.setPsn_no(patientRegistration.getPsnNo());
mdtrtinfo.setMed_type(config.get("social", "medType"));
mdtrtinfo.setBegntime(curTime.format(FORMATTER));
JSONObject jsonObj = new JSONObject();
jsonObj.put("days","1");
//把jsonObj转化成json字符串
mdtrtinfo.setExp_content(jsonObj.toJSONString());
mdtrtinfo.setBegntime(curTime);
IM2203A.ExpContent expContent = new IM2203A.ExpContent();
expContent.setTrum_flag("0");
expContent.setRel_ttp_flag("0");
mdtrtinfo.setExp_content(expContent);
im2203A.setMdtrtinfo(mdtrtinfo);
JSONArray jsonArray = JSONArray.parseArray(diagnosisMedicalRecord.getDiagnosisDetail());
int i = 0;

View File

@ -69,14 +69,6 @@ public class GoodsCateService {
* 参数 cateList 分类列表
*/
public void save(List<GoodsCate> cateList){
for (GoodsCate cate : cateList){
if (cate.getName() == null || cate.getName().isEmpty()){
throw new RuntimeException("分类名称不能为空");
}
if (cate.getType() == null){
throw new RuntimeException("分类父类型不能为空");
}
}
goodsCateMapper.insertOrUpdate(cateList);
}
}

View File

@ -29,7 +29,6 @@ import com.syjiaer.clinic.server.mapper.inventory.InventoryMapper;
import com.syjiaer.clinic.server.mapper.social.SocialDirectoryMapper;
import com.syjiaer.clinic.server.mapper.social.SocialDirectoryUpinfoMapper;
import com.syjiaer.clinic.server.service.BaseService;
import com.syjiaer.clinic.server.service.item.ItemService;
import com.syjiaer.clinic.server.service.social.SocialDirectoryService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -45,8 +44,6 @@ import java.util.Objects;
@Service
public class GoodsService extends BaseService {
@Autowired
private ItemService itemService;
@Autowired
private GoodsMapper goodsMapper;
@Autowired
@ -66,22 +63,13 @@ public class GoodsService extends BaseService {
*/
public Goods save(Goods goods) {
String code = goods.getHilistCode();
SocialDirectory socialDirectory = null;
Goods codeGoods = null;
if (code!=null && !code.isEmpty()) {
if (!code.isEmpty()) {
QueryWrapper<SocialDirectory> socialDirectoryWrapper = new QueryWrapper<>();
socialDirectoryWrapper.eq("code", code);
socialDirectory = socialDirectoryMapper.selectOne(socialDirectoryWrapper);
codeGoods = goodsMapper.selectOne(new QueryWrapper<Goods>().eq("hilist_code", code));
}
if (socialDirectory == null){
throw new MessageException("该医保码"+code+"未能在医保目录中找到");
CheckUtil.checkValue(socialDirectoryMapper.selectOne(socialDirectoryWrapper)==null, "医保目录编码不能为空");
}
if (codeGoods!=null&&(goods.getId() == null || !goods.getId().equals(codeGoods.getId()))){
throw new MessageException("医保码"+code+"已存在绑定的商品");
}
GoodsPricingModelEnum modelEnum = GoodsPricingModelEnum.getByPricingModel(goods.getPricingModel());
if (modelEnum == null){
throw new MessageException("定价模式错误错误");
@ -144,12 +132,6 @@ public class GoodsService extends BaseService {
}
}
//上传对照消息 3301
if (goods.getHilistCode() != null && !goods.getHilistCode().isEmpty()){
itemService.call3301(goods.getHilistCode(),"goods","create");
}
return goods;
}

View File

@ -13,6 +13,7 @@ import com.syjiaer.clinic.server.entity.goods.GoodsCate;
import com.syjiaer.clinic.server.entity.inventory.*;
import com.syjiaer.clinic.server.entity.inventory.dto.PurchaseOrderQuery;
import com.syjiaer.clinic.server.entity.inventory.vo.InventoryGoodsVo;
import com.syjiaer.clinic.server.entity.inventory.vo.InventoryOrderVo;
import com.syjiaer.clinic.server.entity.inventory.vo.InventoryPurchaseVo;
import com.syjiaer.clinic.server.entity.manager.ManagerUser;
import com.syjiaer.clinic.server.mapper.goods.GoodsCateMapper;
@ -327,7 +328,7 @@ public class InventoryPurchaseService extends BaseService {
* @param code 采购单号
* @return inventoryOrderGoodsList 商品信息 inventoryOrder 采购单信息
*/
public Map<String, Object> getByCode(String code) {
public InventoryOrderVo getByCode(String code) {
QueryWrapper<Inventory> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("inventory_purchase_code", code);
queryWrapper.orderByAsc("id");
@ -349,10 +350,10 @@ public class InventoryPurchaseService extends BaseService {
BeanUtils.copyProperties(inventoryPurchase, purchaseVo);
purchaseVo.setManagerUserName(managerUserMapper.selectById(inventoryPurchase.getManagerUserId()).getName());
purchaseVo.setSupplierName(inventorySupplierMapper.selectById(inventoryPurchase.getSupplierId()).getName());
Map<String, Object> map = new HashMap<>();
map.put("inventoryOrderGoodsList", goodsVos);
map.put("inventoryOrder", purchaseVo);
return map;
InventoryOrderVo inventoryOrderVo = new InventoryOrderVo();
inventoryOrderVo.setInventoryOrderGoodsList(goodsVos);
inventoryOrderVo.setInventoryOrder(purchaseVo);
return inventoryOrderVo;
}
/**

View File

@ -243,11 +243,11 @@ public class InventoryService extends BaseService {
return inventoryMapper.selectList(queryWrapper);
}
public List<Map<String, Object>> getInventoryLogByGoodsId(int goodsId, LocalDateTime startDateTime, LocalDateTime endDateTime) {
public List<InventoryLog> getInventoryLogByGoodsId(int goodsId, LocalDateTime startDateTime, LocalDateTime endDateTime) {
QueryWrapper<InventoryLog> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("goods_id", goodsId);
queryWrapper.between("create_time", startDateTime, endDateTime);
return inventoryLogMapper.selectMaps(queryWrapper);
return inventoryLogMapper.selectList(queryWrapper);
}
@ -590,14 +590,5 @@ public class InventoryService extends BaseService {
return result;
}
/**
* 根据商品id和数量 校验库存是否充足
* @param goodsId number-拆分成最小单位数量
* @return
*/
public boolean checkInventoryNumber(Integer goodsId, Integer number){
Map<String, Integer> numberMap = totalNumber(goodsId);
Integer totalFragment = numberMap.get("totalFragment");
return totalFragment >= number;
}
}

View File

@ -2,33 +2,23 @@ package com.syjiaer.clinic.server.service.item;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.syjiaer.clinic.server.common.api.input.im3301.IM3301;
import com.syjiaer.clinic.server.common.api.input.im3302.IM3302;
import com.syjiaer.clinic.server.common.api.request.SocialRequest;
import com.syjiaer.clinic.server.common.config.Config;
import com.syjiaer.clinic.server.common.enums.ChrgitmLvEnum;
import com.syjiaer.clinic.server.common.exception.MessageException;
import com.syjiaer.clinic.server.common.util.DebugUtil;
import com.syjiaer.clinic.server.common.util.PinYinUtil;
import com.syjiaer.clinic.server.common.vo.Page;
import com.syjiaer.clinic.server.entity.goods.Goods;
import com.syjiaer.clinic.server.entity.item.Item;
import com.syjiaer.clinic.server.entity.item.ItemGroupList;
import com.syjiaer.clinic.server.entity.item.param.ItemParam;
import com.syjiaer.clinic.server.entity.item.vo.ItemSearchVo;
import com.syjiaer.clinic.server.entity.manager.ManagerUser;
import com.syjiaer.clinic.server.entity.social.SocialDirectory;
import com.syjiaer.clinic.server.entity.social.SocialDirectoryUpinfo;
import com.syjiaer.clinic.server.entity.social.SocialItem;
import com.syjiaer.clinic.server.mapper.goods.GoodsMapper;
import com.syjiaer.clinic.server.mapper.item.ItemGroupListMapper;
import com.syjiaer.clinic.server.mapper.item.ItemMapper;
import com.syjiaer.clinic.server.mapper.social.SocialDirectoryMapper;
import com.syjiaer.clinic.server.mapper.social.SocialDirectoryUpinfoMapper;
import com.syjiaer.clinic.server.mapper.social.SocialItemMapper;
import com.syjiaer.clinic.server.service.BaseService;
import com.syjiaer.clinic.server.service.social.SocialCompareService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -41,7 +31,6 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Objects;
import java.util.logging.Logger;
import java.util.stream.Collectors;
@Slf4j
@ -57,17 +46,6 @@ public class ItemService extends BaseService {
@Autowired
private SocialItemMapper socialItemMapper;
@Autowired
private GoodsMapper goodsMapper;
@Autowired
private SocialDirectoryMapper socialDirectoryMapper;
@Autowired
private SocialRequest socialRequest;
@Autowired
private Config config;
@Autowired
private SocialCompareService socialCompareService;
/*
* 获取项目列表
* @param pageNum 页码
@ -119,29 +97,15 @@ public class ItemService extends BaseService {
if (item.getName() == null || item.getName().isEmpty()) {
throw new MessageException("项目名称不能为空");
}
if (item.getSocialCode() == null || item.getSocialCode().isEmpty()) {
throw new MessageException("项目医保目录编码不能为空");
}
if (item.getUnit() == null || item.getUnit().isEmpty()) {
throw new MessageException("单位不能为空");
}
if (item.getUnitPrice() == null || item.getUnitPrice().compareTo(BigDecimal.ZERO) <= 0) {
throw new MessageException("售价不能小于0");
}
if (!item.getSocialCode().isEmpty())
{
SocialItem socialItem = socialItemMapper.selectOne(new QueryWrapper<SocialItem>().eq("code", item.getSocialCode()));
if (socialItem == null){
throw new MessageException("医保目录中未找到医保码为"+item.getSocialCode()+"的医疗服务项目");
}
Item codeItem = itemMapper.selectOne(new QueryWrapper<Item>().eq("social_code", item.getSocialCode()));
if (codeItem != null &&(item.getId() == null || !item.getId().equals(codeItem.getId()))){
throw new MessageException("医保码"+item.getSocialCode()+"已存在绑定的医疗项目");
}
}
ManagerUser managerUser = getManagerUser();
item.setCreateDatetime(LocalDateTime.now());
item.setCreateBy(managerUser.getName());
@ -150,12 +114,6 @@ public class ItemService extends BaseService {
item.setPinyinFull(pinyin_full);
item.setPinyinFirst(PinYinUtil.getPinyinFirstLetters(item.getName()).toUpperCase());
itemMapper.insertOrUpdate(item);
//上传对照消息 3301
if (item.getSocialCode() != null && !item.getSocialCode().isEmpty()){
this.call3301(item.getSocialCode(),"item","create");
}
}
@ -230,12 +188,6 @@ public class ItemService extends BaseService {
item.setPinyinFull(pinyin_full);
item.setPinyinFirst(PinYinUtil.getPinyinFirstLetters(item.getName()).toUpperCase());
itemMapper.updateById(item);
//上传对照消息 3301
if (item.getSocialCode() != null && !item.getSocialCode().isEmpty()){
this.call3301(item.getSocialCode(),"item","create");
}
}
@ -354,15 +306,8 @@ public class ItemService extends BaseService {
itemGroup.setItemId(itemInfo.getId());
itemGroup.setDelFlag(false);
itemGroupListMapper.insertOrUpdate(itemGroup);
//上传对照消息 3301
if (itemGroup.getSocialCode() != null && !itemGroup.getSocialCode().isEmpty()){
this.call3301(itemGroup.getSocialCode(),"item_group_list","create");
}
}
itemInfo.setUpdateDatetime(LocalDateTime.now());
itemInfo.setUnitPrice(unitPrice);
itemInfo.setPurchaseUnitPrice(purchaseUnitPrice);
@ -441,216 +386,4 @@ public class ItemService extends BaseService {
itemGroupListUpdateWrapper.set("del_flag",true);
itemGroupListMapper.update(itemGroupListUpdateWrapper);
}
/*
* @Description 组织数据调用3301接口并且更新social_item或social_directory表
* @Author 佟明轩
* @Date 10:19 2025/5/30
* @param code 医保目录编号
* @param type goods:商品 item:诊疗项目 item_group_list:组套
* goods 查询goods表
* item 查询item表
* item_group_list 查询item_group_list表
* @param createOrDelete create:新增 delete:删除
* @return
**/
public HashMap<String,Object> call3301(String code,String type,String createOrDelete) {
log.info("call3301:接收到数据:code:{}:type:{}:createOrDelete:{}",code,type,createOrDelete);
HashMap<String,Object> resultMap = new HashMap<>();
//兼容之前写好的代码
if (Objects.equals(createOrDelete, "create"))
{
return socialCompareService.report(code,type);
}else{
socialCompareService.delete(code,type);
return resultMap;
}
//
// resultMap.put("createOrDelete",createOrDelete);
//
// QueryWrapper<SocialItem> socialItemQueryWrapper = new QueryWrapper<>();
// socialItemQueryWrapper.eq("code",code);
// socialItemQueryWrapper.last("limit 1");
//
// QueryWrapper<SocialDirectory> directoryQueryWrapper = new QueryWrapper<>();
// directoryQueryWrapper.eq("code",code);
// directoryQueryWrapper.last("limit 1");
//
// //请求入参目录类别
// String requestListType = "";
// //查询3301编号是否存在已及更新的表
// String handleTable = "social_item";
// //自己系统的自增ID
// String selfId = "";
// //自己系统的名称
// String selfName = "";
//
// if (type.equals("goods")) {
// QueryWrapper<Goods> queryWrapper = new QueryWrapper<>();
// queryWrapper.eq("hilist_code",code);
// queryWrapper.last(" limit 1");
//
//
//
// Goods goods = goodsMapper.selectOne(queryWrapper);
//
// if (goods == null) {
// throw new MessageException("商品医保编码不存在");
// }
//
// //1301 西药中成药
// //1302 中药饮片
// //1306 医用材料
// requestListType = switch (goods.getType()) {
// case 1301 -> "101";
// case 1302 -> "102";
// case 1306 -> "301";
// default -> requestListType;
// };
//
// handleTable = "social_directory";
// selfId = "sd_"+goods.getId().toString();
// selfName = goods.getName();
// } else if (type.equals("item")) {
// QueryWrapper<Item> queryWrapper = new QueryWrapper<>();
// queryWrapper.eq("social_code",code);
// queryWrapper.last(" limit 1");
// Item item = itemMapper.selectOne(queryWrapper);
// if (item == null) {
// throw new MessageException("诊疗项目医保编码不存在");
// }
//
// //全部对应服务项目
// requestListType = "201";
//
// selfId = "i_"+item.getId().toString();
// selfName = item.getName();
//
// }else if (type.equals("item_group_list")) {
// QueryWrapper<ItemGroupList> queryWrapper = new QueryWrapper<>();
// queryWrapper.eq("social_code",code);
// queryWrapper.last(" limit 1");
// ItemGroupList itemGroupListInfo = itemGroupListMapper.selectOne(queryWrapper);
// if (itemGroupListInfo == null) {
// throw new MessageException("组套医保编码不存在");
// }
//
// //全部对应服务项目
// requestListType = "201";
// selfId = "igl_"+itemGroupListInfo.getId().toString();
// selfName = itemGroupListInfo.getName();
// }
//
//
// if (requestListType.isEmpty()) {
// throw new MessageException("请求参数错误");
// }
//
//
// if (handleTable.equals("social_directory")) {
// SocialDirectory socialDirectory = socialDirectoryMapper.selectOne(directoryQueryWrapper);
//
// if (socialDirectory == null) {
// throw new MessageException("医保目录编码不存在");
// }
//
// //当前商品已经处设置过compareCode socialDirectory.getCompareCode()!=""
//
//
// if (socialDirectory.getCompareCode()!=null && !socialDirectory.getCompareCode().isEmpty() && !Objects.equals(createOrDelete, "delete")) {
//
// System.out.println(socialDirectory.getCompareCode());
//
// log.info("call3301:socialDirectory已存在compareCode:code:{}:compareCode:{}",code,socialDirectory.getCompareCode());
//
// resultMap.put("compareCode",socialDirectory.getCompareCode());
// return resultMap;
// }
// }else{
// SocialItem socialItem = socialItemMapper.selectOne(socialItemQueryWrapper);
//
// if (socialItem == null) {
// throw new MessageException("诊疗项目-医保目录编码不存在");
// }
//
// if (socialItem.getCompareCode()!=null && !socialItem.getCompareCode().isEmpty() && !Objects.equals(createOrDelete, "delete")) {
//
// log.info("call3301:socialItem已存在compareCode:code:{}:compareCode:{}",code,socialItem.getCompareCode());
//
// resultMap.put("compareCode",socialItem.getCompareCode());
// return resultMap;
// }
// }
//
// if (createOrDelete.equals("delete"))
// {
//
// if (handleTable.equals("social_directory")) {
// //更新socialDirectoryMapper中compareCode字段为空
// socialDirectoryMapper.update(
// new SocialDirectory(),
// new UpdateWrapper<SocialDirectory>().set("compare_code","").eq("code",code)
// );
// }else{
// //更新socialItemMapper中compareCode字段为空
// socialItemMapper.update(
// new SocialItem(),
// new UpdateWrapper<SocialItem>().set("compare_code","").eq("code",code)
// );
// }
//
// IM3302 iM3302 = new IM3302();
// iM3302.setFixmedinsCode(config.get("social","msgid"));
// iM3302.setFixmedinsHilistId(selfId);
// iM3302.setListType(requestListType);
// iM3302.setMedListCodg(code);
//
// socialRequest.call3302(iM3302);
//
// log.info("call3302:socialItem删除compareCode:code:{}:compareCode:{}",code,selfId);
//
// resultMap.put("compareCode",code);
//
// return resultMap;
// }
//
// IM3301 iM3301 = new IM3301();
// iM3301.setFixmedinsHilistId(selfId);
// iM3301.setFixmedinsHilistName(selfName);
// iM3301.setListType(requestListType);
// iM3301.setMedListCodg(code);
// iM3301.setBegndate(LocalDateTime.of(2025,1,1,0,0,0));
// iM3301.setEnddate(LocalDateTime.of(2050,1,1,0,0,0));
//
// List<Object> list = new ArrayList<>();
// list.add(iM3301.buildToMap());
//
// socialRequest.call3301(list);
//
// if (handleTable.equals("social_directory")) {
// //更新socialDirectoryMapper中compareCode字段为code
// UpdateWrapper<SocialDirectory> socialDirectoryUpdateWrapper = new UpdateWrapper<>();
// socialDirectoryUpdateWrapper.eq("code",code);
// socialDirectoryUpdateWrapper.set("compare_code",selfId);
// socialDirectoryMapper.update(socialDirectoryUpdateWrapper);
// log.info("call3301:socialDirectoryMapper更新compareCode:code:{}:compareCode:{}",code,code);
// }else{
// //更新socialItemMapper中compareCode字段为code
// UpdateWrapper<SocialItem> socialItemUpdateWrapper = new UpdateWrapper<>();
// socialItemUpdateWrapper.eq("code",code);
// socialItemUpdateWrapper.set("compare_code",selfId);
// socialItemMapper.update(socialItemUpdateWrapper);
// log.info("call3301:socialItemMapper更新compareCode:code:{}:compareCode:{}",code,code);
// }
//
// resultMap.put("compareCode",code);
//
// return resultMap;
}
}

View File

@ -7,10 +7,8 @@ import com.syjiaer.clinic.server.common.config.Config;
import com.syjiaer.clinic.server.common.exception.MessageException;
import com.syjiaer.clinic.server.common.util.StringUtil;
import com.syjiaer.clinic.server.common.vo.Page;
import com.syjiaer.clinic.server.entity.organization.OrganizationMember;
import com.syjiaer.clinic.server.entity.organization.OrganizationMemberSection;
import com.syjiaer.clinic.server.entity.organization.OrganizationSection;
import com.syjiaer.clinic.server.mapper.organization.OrganizationMemberMapper;
import com.syjiaer.clinic.server.mapper.organization.OrganizationMemberSectionMapper;
import com.syjiaer.clinic.server.mapper.organization.OrganizationSectionMapper;
import com.syjiaer.clinic.server.service.BaseService;
@ -28,14 +26,16 @@ import java.util.List;
@Service
@Slf4j
public class OrganizationSectionService extends BaseService {
@Autowired
private StringUtil stringUtil;
@Autowired
private OrganizationSectionMapper organizationSectionMapper;
@Autowired
private OrganizationMemberSectionMapper organizationMemberSectionMapper;
@Autowired
private OrganizationMemberMapper organizationMemberMapper;
@Autowired
private Config config;
@Autowired
private SocialRequest socialRequest;
/**
* 分页查询科室
@ -89,30 +89,6 @@ public class OrganizationSectionService extends BaseService {
String processing = getString(caty);
organizationSection.setCaty(processing);
organizationSectionMapper.updateById(organizationSection);
//更新成员冗余字段
List<OrganizationMemberSection> organizationMemberSections = organizationMemberSectionMapper.selectList(new QueryWrapper<OrganizationMemberSection>().eq("organization_section_id", organizationSection.getId()));
for (OrganizationMemberSection organizationMemberSection : organizationMemberSections) {
OrganizationMember member = organizationMemberMapper.selectById(organizationMemberSection.getOrganizationMemberId());
if (member == null){
continue;
}
QueryWrapper<OrganizationMemberSection> queryWrapper = new QueryWrapper<>();
queryWrapper.select("organization_section_id");
queryWrapper.eq("organization_member_id", member.getId());
List<Integer> sections = organizationMemberSectionMapper.selectObjs(queryWrapper);
QueryWrapper<OrganizationSection> sectionQueryWrapper = new QueryWrapper<>();
sectionQueryWrapper.select("name");
sectionQueryWrapper.in("id", sections);
List<String> names = organizationSectionMapper.selectObjs(sectionQueryWrapper);
if (names==null||names.isEmpty()){
continue;
}
OrganizationMember updateMember = new OrganizationMember();
updateMember.setId(member.getId());
updateMember.setSectionNames(String.join("/", names));
organizationMemberMapper.updateById(updateMember);
}
}

View File

@ -1,268 +0,0 @@
package com.syjiaer.clinic.server.service.social;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.syjiaer.clinic.server.common.api.input.im3301.IM3301;
import com.syjiaer.clinic.server.common.api.input.im3302.IM3302;
import com.syjiaer.clinic.server.common.api.request.SocialRequest;
import com.syjiaer.clinic.server.common.config.Config;
import com.syjiaer.clinic.server.common.exception.MessageException;
import com.syjiaer.clinic.server.entity.goods.Goods;
import com.syjiaer.clinic.server.entity.item.Item;
import com.syjiaer.clinic.server.entity.item.ItemGroupList;
import com.syjiaer.clinic.server.entity.social.SocialCompareCode;
import com.syjiaer.clinic.server.mapper.goods.GoodsMapper;
import com.syjiaer.clinic.server.mapper.item.ItemGroupListMapper;
import com.syjiaer.clinic.server.mapper.item.ItemMapper;
import com.syjiaer.clinic.server.mapper.social.SocialCompareCodeMapper;
import com.syjiaer.clinic.server.mapper.social.SocialDirectoryMapper;
import com.syjiaer.clinic.server.mapper.social.SocialDirectoryUpinfoMapper;
import com.syjiaer.clinic.server.mapper.social.SocialItemMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import springfox.documentation.spring.web.json.Json;
import java.time.LocalDateTime;
import java.util.*;
@Slf4j
@Service
public class SocialCompareService {
@Autowired
private ItemMapper itemMapper;
@Autowired
private SocialDirectoryUpinfoMapper socialDirectoryUpinfoMapper;
@Autowired
private ItemGroupListMapper itemGroupListMapper;
@Autowired
private SocialItemMapper socialItemMapper;
@Autowired
private GoodsMapper goodsMapper;
@Autowired
private SocialDirectoryMapper socialDirectoryMapper;
@Autowired
private SocialRequest socialRequest;
@Autowired
private Config config;
@Autowired
private SocialCompareCodeMapper socialCompareCodeMapper;
public static String socialCompareGoods = "goods";
public static String socialCompareItem = "item";
public static String socialCompareItemGroup = "item_group_list";
/*
* @Description 获取对比信息
* @Author 佟明轩
* @Date 14:22 2025/6/3
* @param code 医保目录编号
* @param type 类型
* @return SocialCompareCode
**/
public SocialCompareCode socialCompareInfo(String code, String type)
{
QueryWrapper<SocialCompareCode> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("code",code);
queryWrapper.eq("table_name",type);
queryWrapper.ne("del_flag",1);
return socialCompareCodeMapper.selectOne(queryWrapper);
}
/*
* @Description 不通过表 直接通过医保目录编码获取信息
* @Author 佟明轩
* @Date 16:32 2025/6/3
* @param code 医保目录编码
* @return SocialCompareCode
**/
public SocialCompareCode socialCompareInfo(String code)
{
QueryWrapper<SocialCompareCode> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("code",code);
queryWrapper.ne("del_flag",1);
return socialCompareCodeMapper.selectOne(queryWrapper);
}
/*
* @Description 判断3301ID是否已经上报
* @Author 佟明轩
* @Date 14:12 2025/6/3
* @param code 医保编号
* @param type 数据表类型
* @return HashMap<String,Object>
**/
public HashMap<String,Object> getSocialCompare(String code, String type)
{
HashMap<String,Object> resultMap = new HashMap<>();
SocialCompareCode socialCompareInfo = socialCompareInfo(code,type);
if (socialCompareInfo != null && socialCompareInfo.getCompareCode() != null && !socialCompareInfo.getCompareCode().isEmpty())
{
resultMap.put("status",true);
resultMap.put("message","幂等:该医保编号已上报");
resultMap.put("compare_code",socialCompareInfo.getCompareCode());
resultMap.put("code",socialCompareInfo.getCode());
return resultMap;
}
resultMap.put("status",false);
resultMap.put("message","该医保编号未上报或数据不存在");
resultMap.put("compare_code","");
resultMap.put("code","");
return resultMap;
}
/**
* 调用3301医保目录医保码上报
* @param code 医保目录编号
* @param type 类型 type goods:商品 item:诊疗项目 item_group_list:组套
* @return hashMap
*/
public HashMap<String,Object> report(String code, String type)
{
HashMap<String,Object> resultMap = new HashMap<>();
log.info("socialCompare:接收到数据:code:{}:type:{}:",code,type);
HashMap<String,Object> socialCompare = getSocialCompare(code,type);
if ((boolean)socialCompare.get("status"))
{
log.info("socialCompare:上报数据已存在:code:{}:type:{}:result:{}",code,type,socialCompare);
return socialCompare;
}
String requestListType = "";
String selfName = "";
if (type.equals("goods")) {
QueryWrapper<Goods> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("hilist_code",code);
queryWrapper.last(" limit 1");
Goods goods = goodsMapper.selectOne(queryWrapper);
if (goods == null) {
throw new MessageException("商品医保编码不存在");
}
//1301 西药中成药
//1302 中药饮片
//1306 医用材料
requestListType = switch (goods.getType()) {
case 1301 -> "101";
case 1302 -> "102";
case 1306 -> "301";
default -> requestListType;
};
selfName = goods.getName();
} else if (type.equals("item")) {
QueryWrapper<Item> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("social_code",code);
queryWrapper.last(" limit 1");
Item item = itemMapper.selectOne(queryWrapper);
if (item == null) {
throw new MessageException("诊疗项目医保编码不存在");
}
//全部对应服务项目
requestListType = "201";
selfName = item.getName();
}else if (type.equals("item_group_list")) {
QueryWrapper<ItemGroupList> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("social_code",code);
queryWrapper.last(" limit 1");
ItemGroupList itemGroupListInfo = itemGroupListMapper.selectOne(queryWrapper);
if (itemGroupListInfo == null) {
throw new MessageException("组套医保编码不存在");
}
//全部对应服务项目
requestListType = "201";
selfName = itemGroupListInfo.getName();
}
if (requestListType.isEmpty()) {
throw new MessageException("类型请求参数错误");
}
SocialCompareCode socialCompareCode = new SocialCompareCode();
socialCompareCode.setCode(code);
socialCompareCode.setTableName(type);
socialCompareCodeMapper.insert(socialCompareCode);
IM3301 iM3301 = new IM3301();
iM3301.setFixmedinsHilistId(String.valueOf(socialCompareCode.getId()));
iM3301.setFixmedinsHilistName(selfName);
iM3301.setListType(requestListType);
iM3301.setMedListCodg(code);
iM3301.setBegndate(LocalDateTime.of(2025,1,1,0,0,0));
iM3301.setEnddate(LocalDateTime.of(2050,1,1,0,0,0));
List<Object> list = new ArrayList<>();
Map<String, Object> requestMap = iM3301.buildToMap();
list.add(requestMap);
socialRequest.call3301(list);
//更新socialCompareCode
UpdateWrapper<SocialCompareCode> socialCompareCodeUpdateWrapper = new UpdateWrapper<>();
socialCompareCodeUpdateWrapper.eq("id",socialCompareCode.getId());
socialCompareCodeUpdateWrapper.set("compare_code",socialCompareCode.getId());
//把requestMap转化成json存储到socialCompareCode的request字段
socialCompareCodeUpdateWrapper.set("request", JSON.toJSONString(requestMap));
socialCompareCodeMapper.update(socialCompareCode,socialCompareCodeUpdateWrapper);
resultMap.put("status",false);
resultMap.put("message","上报成功");
resultMap.put("compare_code",socialCompareCode.getId());
resultMap.put("code",code);
return resultMap;
}
public void delete(String code, String type) {
SocialCompareCode socialCompareInfo= socialCompareInfo(code,type);
if (socialCompareInfo == null || socialCompareInfo.getCode().isEmpty()) {
throw new MessageException("医保编码上报信息不存在");
}
String requestJson = socialCompareInfo.getRequest();
JSONObject requestMap = JSON.parseObject(requestJson);
IM3302 iM3302 = new IM3302();
iM3302.setFixmedinsCode(config.get("social","msgid"));
iM3302.setFixmedinsHilistId(socialCompareInfo.getCompareCode());
iM3302.setListType((String) requestMap.get("list_type"));
iM3302.setMedListCodg(code);
socialRequest.call3302(iM3302);
log.info("call3302:delete:compareCode:调用API成功:code:{}:compareCode:{}",code,socialCompareInfo.getCompareCode());
UpdateWrapper<SocialCompareCode> socialCompareCodeUpdateWrapper = new UpdateWrapper<>();
socialCompareCodeUpdateWrapper.eq("id",socialCompareInfo.getId());
socialCompareCodeUpdateWrapper.set("del_flag",1);
socialCompareCodeMapper.update(socialCompareCodeUpdateWrapper);
log.info("call3302:delete:compareCode:删除成功:code:{}:compareCode:{}",code,socialCompareInfo.getCompareCode());
}
}

View File

@ -7,12 +7,9 @@ import com.syjiaer.clinic.server.common.api.request.SocialRequest;
import com.syjiaer.clinic.server.common.util.HttpUtil;
import com.syjiaer.clinic.server.entity.social.SocialDirectoryLimit;
import com.syjiaer.clinic.server.mapper.social.SocialDirectoryLimitMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@ -22,7 +19,6 @@ import java.util.logging.Logger;
* 目录有效期
*/
@Slf4j
@Service
public class SocialDirectoryLimitService {
@Autowired
@ -87,15 +83,8 @@ public class SocialDirectoryLimitService {
}
private JSONObject call(String updt_time, int page_num) {
ZonedDateTime zonedDateTime = ZonedDateTime.parse(updt_time);
// 定义目标格式
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
// 格式化输出
String formattedDate = zonedDateTime.format(formatter);
Map<String, Object> map = new HashMap<>();
map.put("updt_time", formattedDate);
map.put("updt_time", updt_time);
map.put("page_num", page_num);
map.put("page_size", 1000);
map.put("vali_flag", "1");

View File

@ -10,8 +10,6 @@ import com.syjiaer.clinic.server.mapper.social.SocialDirectorySelfMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@ -85,15 +83,8 @@ public class SocialDirectorySelfService {
}
private JSONObject call(String updt_time, int page_num) {
ZonedDateTime zonedDateTime = ZonedDateTime.parse(updt_time);
// 定义目标格式
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
// 格式化输出
String formattedDate = zonedDateTime.format(formatter);
Map<String, Object> map = new HashMap<>();
map.put("updt_time", formattedDate);
map.put("updt_time", updt_time);
map.put("page_num", page_num);
map.put("page_size", 1000);
map.put("vali_flag", "1");

View File

@ -4,7 +4,6 @@ import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.syjiaer.clinic.server.common.enums.ChrgitmLvEnum;
import com.syjiaer.clinic.server.common.exception.MessageException;
import com.syjiaer.clinic.server.common.util.DateUtil;
import com.syjiaer.clinic.server.common.util.DebugUtil;
@ -36,7 +35,6 @@ import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
@ -92,10 +90,6 @@ public class SocialDirectoryService extends BaseService {
QueryWrapper<SocialDirectory> queryWrapper = new QueryWrapper<>();
queryWrapper.in("code", code_list);
socialDirectoryMapper.delete(queryWrapper);
// 清除upinfo表里的老数据
QueryWrapper<SocialDirectoryUpinfo> upinfoQueryWrapper = new QueryWrapper<>();
upinfoQueryWrapper.in("code", code_list);
socialDirectoryUpinfoMapper.delete(upinfoQueryWrapper);
}
return insertAll(version_name, type, tab_list);
}
@ -103,13 +97,11 @@ public class SocialDirectoryService extends BaseService {
private String insertAll(String version_name, int type, List<String[]> tab_list) {
Map<String, String> title_map = dictoryUtil.getTitleMap(String.valueOf(type));
List<SocialDirectory> list = new ArrayList<>();
List<SocialDirectoryUpinfo> upinfoList = new ArrayList<>();
HashMap<String, SocialDirectory> tmp_map = new HashMap<>();
String next_version_name = "";
for (int i = 0; i < tab_list.size(); i++) {
String[] line_array = tab_list.get(i);
SocialDirectory socialDirectory = new SocialDirectory();
SocialDirectoryUpinfo upinfo = new SocialDirectoryUpinfo();
socialDirectory.setType(type);
String code = line_array[0];
socialDirectory.setId(code);
@ -129,7 +121,6 @@ public class SocialDirectoryService extends BaseService {
socialDirectory.setName(map.get("name"));
socialDirectory.setVersionName(map.get("version_name"));
String flag = "";
DateTimeFormatter dateTimeFormatter = DateUtil.getDateTimeFormatter(DateUtil.DATE_TIME_FORMAT);
if (type == 1301) {
flag = line_array[78];
@ -137,36 +128,12 @@ public class SocialDirectoryService extends BaseService {
socialDirectory.setKeyword(line_array[1] + "," + line_array[3] + "," + line_array[61]+","+socialDirectory.getProducer()+","+socialDirectory.getName()+","+socialDirectory.getCode());
socialDirectory.setCreateDatetime(LocalDateTime.parse(line_array[80], dateTimeFormatter));
socialDirectory.setUpdateDatetime(LocalDateTime.parse(line_array[81], dateTimeFormatter));
upinfo.setCode(socialDirectory.getCode());
upinfo.setBegndate(line_array[36]!=null &&!line_array[36].isEmpty()?DateUtil.getDateTime(line_array[36]):null);
upinfo.setEnddate(line_array[37]!=null &&!line_array[37].isEmpty()?DateUtil.getDateTime(line_array[37]):null);
upinfo.setWubi(line_array[49]);
upinfo.setPinyin(line_array[50]);
upinfo.setRid(new BigInteger(line_array[79]));
String chrgitm_lv = ChrgitmLvEnum.getCodeByName(line_array[91]);
upinfo.setChrgitmLv(chrgitm_lv);
}
if (type == 1302) {
flag = line_array[13];
socialDirectory.setKeyword(line_array[19]+","+socialDirectory.getProducer()+","+socialDirectory.getName()+","+socialDirectory.getCode());
socialDirectory.setCreateDatetime(LocalDateTime.parse(DateUtil.parseAndFormatDate(line_array[15]), dateTimeFormatter));
socialDirectory.setUpdateDatetime(LocalDateTime.parse(DateUtil.parseAndFormatDate(line_array[16]), dateTimeFormatter));
upinfo.setCode(socialDirectory.getCode());
upinfo.setBegndate(line_array[11]!=null &&!line_array[11].isEmpty()?DateUtil.getDateTime(line_array[11]):null);
upinfo.setEnddate(line_array[12]!=null &&!line_array[12].isEmpty()?DateUtil.getDateTime(line_array[12]):null);
upinfo.setRid(new BigInteger(line_array[14]));
socialDirectory.setCreateDatetime(LocalDateTime.parse(line_array[15], dateTimeFormatter));
socialDirectory.setUpdateDatetime(LocalDateTime.parse(line_array[16], dateTimeFormatter));
}
if (type == 1306) {
flag = line_array[67];
@ -192,7 +159,6 @@ public class SocialDirectoryService extends BaseService {
next_version_name = socialDirectory.getVersionName();
}
if (tmp_socialDirectory == null && flag.equals("1")) {
upinfoList.add(upinfo);
list.add(socialDirectory);
tmp_map.put(code, socialDirectory);
}
@ -210,8 +176,6 @@ public class SocialDirectoryService extends BaseService {
for (int i = 0; i < list.size(); i += 1000) {
List<SocialDirectory> subList = list.subList(i, Math.min(i + 1000, list.size()));
socialDirectoryMapper.insertAll(subList);
List<SocialDirectoryUpinfo> subUpinfoList = upinfoList.subList(i, Math.min(i + 1000, list.size()));
socialDirectoryUpinfoMapper.insert(subUpinfoList);
}
socialDirectoryVersionService.saveVersion(type, version_name, next_version_name, list.size());

View File

@ -10,8 +10,6 @@ import com.syjiaer.clinic.server.mapper.social.SocialDirectoryUpinfoMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@ -85,15 +83,8 @@ public class SocialDirectoryUpinfoService {
}
private JSONObject call(String updt_time, int page_num) {
ZonedDateTime zonedDateTime = ZonedDateTime.parse(updt_time);
// 定义目标格式
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
// 格式化输出
String formattedDate = zonedDateTime.format(formatter);
Map<String, Object> map = new HashMap<>();
map.put("updt_time", formattedDate);
map.put("updt_time", updt_time);
map.put("page_num", page_num);
map.put("page_size", 1000);
map.put("vali_flag", "1");

View File

@ -18,7 +18,6 @@ import com.syjiaer.clinic.server.entity.goods.Goods;
import com.syjiaer.clinic.server.entity.inventory.*;
import com.syjiaer.clinic.server.entity.manager.ManagerUser;
import com.syjiaer.clinic.server.entity.organization.OrganizationMember;
import com.syjiaer.clinic.server.entity.social.SocialCompareCode;
import com.syjiaer.clinic.server.entity.social.SocialDirectory;
import com.syjiaer.clinic.server.entity.social.dto.InventoryInitQuery;
import com.syjiaer.clinic.server.entity.social.dto.InventoryLogQuery;
@ -35,7 +34,6 @@ import com.syjiaer.clinic.server.mapper.goods.GoodsMapper;
import com.syjiaer.clinic.server.mapper.inventory.*;
import com.syjiaer.clinic.server.mapper.manager.ManagerUserMapper;
import com.syjiaer.clinic.server.mapper.organization.OrganizationMemberMapper;
import com.syjiaer.clinic.server.mapper.social.SocialCompareCodeMapper;
import com.syjiaer.clinic.server.mapper.social.SocialDirectoryMapper;
import com.syjiaer.clinic.server.service.BaseService;
import org.springframework.beans.BeanUtils;
@ -80,8 +78,6 @@ public class SocialInventoryUploadService extends BaseService {
private ChargeOrderMapper chargeOrderMapper;
@Autowired
private ChargeSocialPayLogMapper chargeSocialPayLogMapper;
@Autowired
private SocialCompareCodeMapper socialCompareCodeMapper;
public Page<SocialInventoryInitVo> get3501List(InventoryInitQuery initQuery) {
if (initQuery == null) {
@ -110,7 +106,6 @@ public class SocialInventoryUploadService extends BaseService {
queryWrapper.le("create_time", initQuery.getCreateTimeAfter());
}
Page<InventoryInit> page = pageHelper(initQuery.getPageNum(), initQuery.getPageSize(), queryWrapper, inventoryInitMapper, "id", false);
System.out.println(page.toString());
List<SocialInventoryInitVo> voList = new ArrayList<>();
for (InventoryInit inventoryInit : page.getList()) {
SocialInventoryInitVo vo = new SocialInventoryInitVo();
@ -555,23 +550,5 @@ public class SocialInventoryUploadService extends BaseService {
chargeInventoryLogMapper.updateById(updateOrderInventory);
return true;
}
/**
* 快速上报
*/
public boolean quickUpload() {
boolean uploadResult = this.upload3501();
if (!uploadResult) {
uploadResult = this.upload3503();
}
if (!uploadResult){
uploadResult = this.upload3505();
}
if (!uploadResult) {
uploadResult = this.upload3502();
}
return uploadResult;
}
}

View File

@ -2,7 +2,6 @@ package com.syjiaer.clinic.server.service.social;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.syjiaer.clinic.server.common.util.DateUtil;
import com.syjiaer.clinic.server.common.util.HttpUtil;
import com.syjiaer.clinic.server.common.vo.Page;
import com.syjiaer.clinic.server.entity.social.SocialDirectoryLimit;
@ -20,11 +19,6 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigInteger;
import java.text.DateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
@ -49,16 +43,13 @@ public class SocialItemService extends BaseService {
return null;
}
List<SocialItem> list = new ArrayList<>();
List<SocialDirectoryUpinfo> upinfoList = new ArrayList<>();
String value = String.valueOf(1305);
List<String> codeList = new ArrayList<>();
String next_version_name = "";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
for (int i = 0; i < tab_list.size(); i++) {
String[] line_array = tab_list.get(i);
String flag = "";
SocialItem socialItem = new SocialItem();
SocialDirectoryUpinfo upinfo = new SocialDirectoryUpinfo();
if (value.equals("1305")) {
flag = line_array[6];
String code = line_array[0];
@ -66,13 +57,6 @@ public class SocialItemService extends BaseService {
socialItem.setName(line_array[9]);
socialItem.setVersionName(line_array[15]);
socialItem.setUnit(line_array[1]);
//upinfo表数据
upinfo.setCode(code);
upinfo.setBegndate(line_array[11]!=null &&!line_array[11].isEmpty()? DateUtil.getDateTime(line_array[11]):null);
upinfo.setEnddate(line_array[12]!=null &&!line_array[12].isEmpty()?DateUtil.getDateTime(line_array[12]):null);
upinfo.setRid(new BigInteger(line_array[13]));
upinfoList.add(upinfo);
} else if (value.equals("1321")) {
flag = line_array[13];
String code = line_array[2];
@ -98,14 +82,9 @@ public class SocialItemService extends BaseService {
QueryWrapper<SocialItem> queryWrapper = new QueryWrapper<>();
queryWrapper.in("code", codeList);
socialItemMapper.delete(queryWrapper);
QueryWrapper<SocialDirectoryUpinfo> upinfoQueryWrapper = new QueryWrapper<>();
upinfoQueryWrapper.in("code", codeList);
socialDirectoryUpinfoMapper.delete(upinfoQueryWrapper);
}
socialItemMapper.insert(list, 100);
socialDirectoryUpinfoMapper.insertOrUpdate(upinfoList, 100);
return next_version_name;
}

View File

@ -136,8 +136,8 @@ public class SocialReconciliationService extends BaseService {
inData.setInsutype(dto.getInsuranceType());
inData.setClr_type(dto.getReconciliationType());
inData.setSetl_optins(dto.getHandlingInstitution());
inData.setStmt_begndate(dto.getBeginTime().format(FORMATTER));
inData.setStmt_enddate(dto.getEndTime().format(FORMATTER));
inData.setStmt_begndate(dto.getBeginTime().toString());
inData.setStmt_enddate(dto.getEndTime().toString());
inData.setMedfee_sumamt(dto.getTotalMedicalCost());
inData.setFund_pay_sumamt(dto.getTotalFundPayment());
inData.setAcct_pay(dto.getTotalPersonalAccountPayment());
@ -223,14 +223,13 @@ public class SocialReconciliationService extends BaseService {
IM3202.Data inData = new IM3202.Data();
inData.setSetl_optins(dto.getHandlingInstitution());
inData.setFile_qury_no(om9101.getFile_qury_no());
inData.setStmt_begndate(dto.getBeginTime().format(FORMATTER));
inData.setStmt_enddate(dto.getEndTime().format(FORMATTER));
inData.setStmt_begndate(dto.getBeginTime().toString());
inData.setStmt_enddate(dto.getEndTime().toString());
inData.setMedfee_sumamt(dto.getTotalMedicalCost());
inData.setFund_pay_sumamt(dto.getTotalFundPayment());
inData.setCash_payamt(new BigDecimal(0));
inData.setFixmedins_setl_cnt(BigDecimal.valueOf(dto.getSettlementCount()));
inData.setClr_type(config.get("social", "medType"));
inData.setRefd_setl_flag("0");
im3202.setData(inData);
OM3202 om3202 = socialRequest.call3202(im3202);
Map<String, Object> input_dw = new HashMap<>();

View File

@ -3,15 +3,15 @@ spring:
name: server
data:
mongodb:
host: localhost # MongoDB服务器地址
host: dev.jizhiweb.cn # MongoDB服务器地址
port: 27017 # MongoDB端口
database: syjiaer_clinic # 使用的数据库名称
redis:
host: localhost
host: dev.jizhiweb.cn
port: 6379
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/syjiaer_clinic
url: jdbc:mysql://dev.jizhiweb.cn:3306/syjiaer_clinic
username: root
password: i7L0BS91pADGuy7z
config:

View File

@ -23,7 +23,6 @@
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
<immediateFlush>true</immediateFlush>
</appender>
@ -38,7 +37,6 @@
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
@ -57,7 +55,6 @@
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>WARN</level>
@ -75,7 +72,6 @@
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>

View File

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.syjiaer.clinic.server.mapper.social.SocialCompareCodeMapper">
</mapper>