Compare commits
23 Commits
master
...
fea_tongmi
| Author | SHA1 | Date |
|---|---|---|
|
|
aeed19c7f8 | |
|
|
ec1ee69384 | |
|
|
9ead1b8272 | |
|
|
ba39cce61c | |
|
|
7bdeca12a1 | |
|
|
9ccd165c8d | |
|
|
4672727779 | |
|
|
0cfea1bed0 | |
|
|
676c5a664b | |
|
|
3b6a55fcf3 | |
|
|
07bab4687b | |
|
|
7e23b18705 | |
|
|
75eaa22e62 | |
|
|
a4ac6b6652 | |
|
|
5ce3e291dc | |
|
|
b65a445a15 | |
|
|
0af622ad02 | |
|
|
07c69f55ca | |
|
|
22b2286bf2 | |
|
|
3a1d0a4816 | |
|
|
bfc70e0495 | |
|
|
7f599cabed | |
|
|
f46d421a1c |
|
|
@ -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 LocalDateTime begntime;
|
||||
private String 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 ExpContent exp_content;
|
||||
private String exp_content;
|
||||
}
|
||||
@Data
|
||||
public static class Diseinfo{
|
||||
|
|
|
|||
|
|
@ -34,6 +34,8 @@ 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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,50 @@
|
|||
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;
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
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;
|
||||
}
|
||||
|
|
@ -1,14 +1,19 @@
|
|||
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
|
||||
|
|
@ -187,8 +192,14 @@ public class SocialRequest {
|
|||
return om2206A;
|
||||
}
|
||||
|
||||
public OM2207A call2207A(IM2207A im2207A) {
|
||||
JSONObject data = httpUtil.callBackMsgId("2207A",im2207A.buildToMap(),10000);
|
||||
/**
|
||||
* 需要在外层生成msgId
|
||||
* @param im2207A
|
||||
* @param msgId
|
||||
* @return
|
||||
*/
|
||||
public OM2207A call2207A(IM2207A im2207A,String msgId) {
|
||||
JSONObject data = httpUtil.callByMsgId(msgId,"2207A","data",im2207A.buildToMap(),10000);
|
||||
OM2207A om2207A=new OM2207A();
|
||||
om2207A.setMsgId(data.get("msgid").toString());
|
||||
om2207A.setSetlinfo(JSONObject.parseObject(data.get("setlinfo").toString(), OM2207A.Setlinfo.class));
|
||||
|
|
@ -262,4 +273,14 @@ 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());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,4 +24,12 @@ 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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,27 @@
|
|||
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;
|
||||
}
|
||||
}
|
||||
|
|
@ -2,15 +2,18 @@ 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();
|
||||
}
|
||||
|
|
@ -76,4 +79,14 @@ 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);
|
||||
}
|
||||
}
|
||||
|
|
@ -4,6 +4,7 @@ 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;
|
||||
|
|
@ -16,8 +17,10 @@ import java.util.zip.ZipOutputStream;
|
|||
@Component
|
||||
public class FileUtil {
|
||||
public List<String> unzip(String path, String filename) {
|
||||
List<String> file_list = new ArrayList<String>();
|
||||
try (ZipInputStream zipInputStream = new ZipInputStream(new FileInputStream(path + "/" + 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
|
||||
|
||||
byte[] buffer = new byte[4096];
|
||||
ZipEntry zipEntry;
|
||||
|
||||
|
|
|
|||
|
|
@ -38,6 +38,17 @@ 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);
|
||||
}
|
||||
|
|
@ -47,6 +58,7 @@ 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();
|
||||
|
|
@ -68,7 +80,9 @@ public class HttpUtil {
|
|||
BufferedReader reader = null;
|
||||
String tempLine = null;
|
||||
|
||||
reader = new BufferedReader(new InputStreamReader(conn.getInputStream(), "GBK"));
|
||||
reader = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
|
||||
// reader = new BufferedReader(new InputStreamReader(conn.getInputStream(), "GBK"));
|
||||
|
||||
while ((tempLine = reader.readLine()) != null) {
|
||||
resultBuffer.append(tempLine);
|
||||
}
|
||||
|
|
@ -79,9 +93,7 @@ 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"));
|
||||
}
|
||||
|
|
@ -91,7 +103,9 @@ 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 {
|
||||
|
|
@ -219,7 +233,21 @@ 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);
|
||||
|
|
@ -275,8 +303,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", config.get("social", "opter"));
|
||||
map.put("opter_name", config.get("social", "opterName"));
|
||||
map.put("opter",managerUser.getId().toString());
|
||||
map.put("opter_name", managerUser.getName());
|
||||
map.put("opter_type", "1");
|
||||
map.put("fixmedins_code", config.get("social", "fixmedinsCode"));
|
||||
map.put("fixmedins_name", config.get("social", "fixmedinsName"));
|
||||
|
|
@ -294,27 +322,27 @@ public class HttpUtil {
|
|||
|
||||
private JSONObject uploadFile(String posturl, String filePath) {
|
||||
|
||||
// 写入请求正文
|
||||
try {
|
||||
// 读取文件字节数组
|
||||
byte[] fileBytes = Files.readAllBytes(Paths.get(filePath));
|
||||
String fileName = Paths.get(filePath).getFileName().toString();
|
||||
// 写入请求正文
|
||||
try {
|
||||
// 读取文件字节数组
|
||||
byte[] fileBytes = Files.readAllBytes(Paths.get(filePath));
|
||||
String fileName = Paths.get(filePath).getFileName().toString();
|
||||
|
||||
|
||||
IM9101 im9101 = new IM9101();
|
||||
IM9101.FsUploadIn fsUploadIn = new IM9101.FsUploadIn();
|
||||
fsUploadIn.setIn(fileBytes);
|
||||
fsUploadIn.setFilename(fileName);
|
||||
fsUploadIn.setFixmedins_code(config.get("social", "fixmedinsCode"));
|
||||
im9101.setFsUploadIn(fsUploadIn);
|
||||
Map<String, Object> parms = getparms("9101", im9101.buildToMap());
|
||||
// 构建JSON参数部分
|
||||
String jsonString = JSON.toJSONString(parms);
|
||||
// 写入JSON参数部分
|
||||
JSONObject result = post(posturl, jsonString);
|
||||
return result;
|
||||
IM9101 im9101 = new IM9101();
|
||||
IM9101.FsUploadIn fsUploadIn = new IM9101.FsUploadIn();
|
||||
fsUploadIn.setIn(fileBytes);
|
||||
fsUploadIn.setFilename(fileName);
|
||||
fsUploadIn.setFixmedins_code(config.get("social", "fixmedinsCode"));
|
||||
im9101.setFsUploadIn(fsUploadIn);
|
||||
Map<String, Object> parms = getparms("9101", im9101.buildToMap());
|
||||
// 构建JSON参数部分
|
||||
String jsonString = JSON.toJSONString(parms);
|
||||
// 写入JSON参数部分
|
||||
JSONObject result = post(posturl, jsonString);
|
||||
return result;
|
||||
|
||||
} catch (Exception e) {
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ public class ManagerUtil {
|
|||
ManagerUser managerUser = new ManagerUser();
|
||||
managerUser.setId(1);
|
||||
managerUser.setUsername("test");
|
||||
managerUser.setName("test");
|
||||
return managerUser;
|
||||
}
|
||||
Object managerId = map.get("manager_id");
|
||||
|
|
|
|||
|
|
@ -63,8 +63,7 @@ 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);
|
||||
chargeService.recordSocialInfo(om2207A, chargeService.getByCode(changeOrderCode), payType,curBalc);
|
||||
OM2207A om2207A = chargeService.socialRealPay(changeOrderCode,mdtrtCertType,mdtrtCertNO,insutype,payType);
|
||||
return success( );
|
||||
}
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -69,6 +69,7 @@ public class ItemController extends BaseController {
|
|||
public Result<?> createItem() {
|
||||
Item item = parmsUtil.getObject("data", Item.class);
|
||||
itemService.save(item);
|
||||
|
||||
return success();
|
||||
}
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -90,17 +90,7 @@ public class SocialUploadController extends BaseController {
|
|||
@ApiOperation("进销存一键上报接口")
|
||||
@RequestMapping("quickUpload")
|
||||
public Result<NotDoNumberVo> quickUpload() {
|
||||
Boolean uploadResult = socialInventoryUploadService.upload3501();
|
||||
if (!uploadResult) {
|
||||
uploadResult = socialInventoryUploadService.upload3503();
|
||||
}
|
||||
if (!uploadResult){
|
||||
uploadResult = socialInventoryUploadService.upload3505();
|
||||
}
|
||||
if (!uploadResult) {
|
||||
uploadResult = socialInventoryUploadService.upload3502();
|
||||
}
|
||||
|
||||
socialInventoryUploadService.quickUpload();
|
||||
NotDoNumberVo notDoNumberVo = socialInventoryUploadService.getNotDoNumberDo();
|
||||
return success(notDoNumberVo);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ 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;
|
||||
/**
|
||||
|
|
@ -16,6 +17,7 @@ import java.io.Serializable;
|
|||
*/
|
||||
@TableName("goods_cate")
|
||||
@ApiModel(value = "GoodsCate对象", description = "")
|
||||
@Data
|
||||
public class GoodsCate implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
|
@ -27,46 +29,4 @@ 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 +
|
||||
"}";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,48 @@
|
|||
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;
|
||||
}
|
||||
|
|
@ -1,60 +1,62 @@
|
|||
package com.syjiaer.clinic.server.entity.social;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
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.time.LocalDateTime;
|
||||
/**
|
||||
* <p>
|
||||
* 医保目录
|
||||
* </p>
|
||||
*
|
||||
* @author NiuZiYuan
|
||||
* @since 2025-04-17
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@Accessors(chain = true)
|
||||
@TableName("social_directory")
|
||||
@ApiModel(value = "SocialDirectory对象", description = "医保目录")
|
||||
public class SocialDirectory implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty("主键")
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty("医保目录编码")
|
||||
private String code;
|
||||
|
||||
@ApiModelProperty("名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("检索关键词")
|
||||
private String keyword;
|
||||
|
||||
@ApiModelProperty("类型")
|
||||
private Integer type;
|
||||
|
||||
@ApiModelProperty("生产企业")
|
||||
private String producer;
|
||||
|
||||
@ApiModelProperty("数据创建时间")
|
||||
private LocalDateTime createDatetime;
|
||||
|
||||
@ApiModelProperty("数据更新时间")
|
||||
private LocalDateTime updateDatetime;
|
||||
|
||||
@ApiModelProperty("版本名称")
|
||||
private String versionName;
|
||||
|
||||
@ApiModelProperty("json处理后的数据")
|
||||
private String data;
|
||||
}
|
||||
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;
|
||||
/**
|
||||
* <p>
|
||||
* 医保目录
|
||||
* </p>
|
||||
*
|
||||
* @author NiuZiYuan
|
||||
* @since 2025-05-30
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@Accessors(chain = true)
|
||||
@TableName("social_directory")
|
||||
@ApiModel(value = "SocialDirectory对象", description = "医保目录")
|
||||
public class SocialDirectory implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty("主键")
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty("医保目录编码")
|
||||
private String code;
|
||||
|
||||
@ApiModelProperty("名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("检索关键词")
|
||||
private String keyword;
|
||||
|
||||
@ApiModelProperty("类型")
|
||||
private Integer type;
|
||||
|
||||
@ApiModelProperty("生产企业")
|
||||
private String producer;
|
||||
|
||||
@ApiModelProperty("数据创建时间")
|
||||
private LocalDateTime createDatetime;
|
||||
|
||||
@ApiModelProperty("数据更新时间")
|
||||
private LocalDateTime updateDatetime;
|
||||
|
||||
@ApiModelProperty("版本名称")
|
||||
private String versionName;
|
||||
|
||||
@ApiModelProperty("json处理后的数据")
|
||||
private String data;
|
||||
|
||||
@ApiModelProperty("调用3301传递的本系统ID")
|
||||
private String compareCode;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,53 +1,55 @@
|
|||
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 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-04-25
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@Accessors(chain = true)
|
||||
@TableName("social_item")
|
||||
@ApiModel(value = "SocialItem对象", description = "医保服务项目目录1305,1320")
|
||||
public class SocialItem implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
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;
|
||||
}
|
||||
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 java.time.LocalDateTime;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import lombok.experimental.Accessors;
|
||||
/**
|
||||
* <p>
|
||||
* 医保服务项目目录1305,1320
|
||||
* </p>
|
||||
*
|
||||
* @author NiuZiYuan
|
||||
* @since 2025-05-30
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@Accessors(chain = true)
|
||||
@TableName("social_item")
|
||||
@ApiModel(value = "SocialItem对象", description = "医保服务项目目录1305,1320")
|
||||
public class SocialItem implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
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;
|
||||
|
||||
@ApiModelProperty("调用3301传递的本系统ID")
|
||||
private String compareCode;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
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> {
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -12,6 +12,7 @@ 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;
|
||||
|
|
@ -33,6 +34,7 @@ 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() {
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ 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;
|
||||
|
|
@ -33,6 +34,7 @@ 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;
|
||||
|
|
@ -59,6 +61,9 @@ 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;
|
||||
|
|
@ -71,6 +76,7 @@ import java.time.LocalDate;
|
|||
import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
public class ChargeService extends BaseService {
|
||||
@Autowired
|
||||
|
|
@ -131,8 +137,11 @@ public class ChargeService extends BaseService {
|
|||
@Autowired
|
||||
private InventoryMapper inventoryMapper;
|
||||
@Autowired
|
||||
private InfoUtil infoUtil;
|
||||
|
||||
private SocialCompareService socialCompareService;
|
||||
@Autowired
|
||||
private HttpUtil httpUtil;
|
||||
@Autowired
|
||||
private SocialReconciliationService socialReconciliationService;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public ChargeOrder save(ChargeSaveDto dto) {
|
||||
|
|
@ -159,7 +168,7 @@ public class ChargeService extends BaseService {
|
|||
String diaCode = diagnosis.getCode();
|
||||
diagnosisMedicalGoodsListMapper.delete(new QueryWrapper<DiagnosisMedicalGoodsList>().eq("diagnosis_code", diaCode));
|
||||
diagnosisMedicalItemListMapper.delete(new QueryWrapper<DiagnosisMedicalItemList>().eq("diagnosis_code", diaCode));
|
||||
if (registration.getType().equals(RegistrationTypeEnum.Social.getType())){
|
||||
if (registration.getType().equals(RegistrationTypeEnum.Social.getType())) {
|
||||
//使之前上传的诊断失效
|
||||
diagnosisService.uploadDiagnosis(diaCode, "0");
|
||||
}
|
||||
|
|
@ -167,7 +176,7 @@ public class ChargeService extends BaseService {
|
|||
DiagnosisMedicalRecord medicalRecord = new DiagnosisMedicalRecord();
|
||||
BeanUtils.copyProperties(dto.getDiagnosisMedicalRecord(), medicalRecord);
|
||||
diagnosisMedicalRecordMapper.updateById(medicalRecord);
|
||||
if (registration.getType().equals(RegistrationTypeEnum.Social.getType())){
|
||||
if (registration.getType().equals(RegistrationTypeEnum.Social.getType())) {
|
||||
//重新上传诊断
|
||||
diagnosisService.uploadDiagnosis(diaCode, "1");
|
||||
}
|
||||
|
|
@ -236,7 +245,7 @@ public class ChargeService extends BaseService {
|
|||
}
|
||||
//组套逻辑
|
||||
if (dbService.getIsGroup()) {
|
||||
List<ItemGroupList> itemGroupList = itemGroupListMapper.selectList(new QueryWrapper<ItemGroupList>().eq("item_id", dbService.getId()).eq("del_flag",false));
|
||||
List<ItemGroupList> itemGroupList = itemGroupListMapper.selectList(new QueryWrapper<ItemGroupList>().eq("item_id", dbService.getId()).eq("del_flag", false));
|
||||
if (itemGroupList.isEmpty()) {
|
||||
throw new MessageException("组套:" + service.getName() + "没有绑定商品数据");
|
||||
}
|
||||
|
|
@ -249,7 +258,7 @@ public class ChargeService extends BaseService {
|
|||
|
||||
itemList.setPreUnitPrice(itemGroup.getUnitPrice());
|
||||
itemList.setUnitPrice(itemGroup.getUnitPrice());
|
||||
itemList.setNumber(itemGroup.getNumber()*service.getSelectedNum());
|
||||
itemList.setNumber(itemGroup.getNumber() * service.getSelectedNum());
|
||||
itemList.setSocialCode(itemGroup.getSocialCode());
|
||||
|
||||
itemList.setUnit(itemGroup.getUnit());
|
||||
|
|
@ -301,39 +310,47 @@ public class ChargeService extends BaseService {
|
|||
|
||||
List<ChargeGoodsList> chargeGoodsLists = new ArrayList<>();
|
||||
for (ChargeGoodsListVo goods : dto.getGoodsDetail()) {
|
||||
ChargeGoodsList itemList = new ChargeGoodsList();
|
||||
ChargeGoodsList goodsList = new ChargeGoodsList();
|
||||
Goods dbGoods = goodsMapper.selectById(goods.getId());
|
||||
if (dbGoods == null) {
|
||||
throw new RuntimeException("商品不存在");
|
||||
}
|
||||
String fsn = StringUtil.getCode("FSN");
|
||||
itemList.setChargeOrderCode(code);
|
||||
itemList.setGoodsId(goods.getId());
|
||||
itemList.setPreUnitPrice(goods.getSelectedPrice());
|
||||
itemList.setUnitPrice(goods.getSelectedPrice());
|
||||
itemList.setNumber(goods.getSelectedNum());
|
||||
goodsList.setChargeOrderCode(code);
|
||||
goodsList.setGoodsId(goods.getId());
|
||||
goodsList.setPreUnitPrice(goods.getSelectedPrice());
|
||||
goodsList.setUnitPrice(goods.getSelectedPrice());
|
||||
goodsList.setNumber(goods.getSelectedNum());
|
||||
BigDecimal subTotalPrice = goods.getSelectedPrice().multiply(BigDecimal.valueOf(goods.getSelectedNum()));
|
||||
itemList.setSubTotalPrice(subTotalPrice);
|
||||
itemList.setTrdnFlag(true);
|
||||
goodsList.setSubTotalPrice(subTotalPrice);
|
||||
goodsList.setTrdnFlag(true);
|
||||
//小单位数量
|
||||
Integer number = goods.getSelectedNum()*goods.getMinPackagingNumber();
|
||||
|
||||
if (dbGoods.getPackagingUnit().equals(goods.getSelectedUnit()) || dbGoods.getPackagingUnit().equals(dbGoods.getMinPackagingUnit())) {
|
||||
itemList.setTrdnFlag(false);
|
||||
goodsList.setTrdnFlag(false);
|
||||
//未拆分数量
|
||||
number = goods.getSelectedNum();
|
||||
}
|
||||
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());
|
||||
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());
|
||||
//添加追溯码
|
||||
String traceabilityCode = null;
|
||||
if (goods.getTraceAbilityCodeList() != null) {
|
||||
traceabilityCode = String.join(",", goods.getTraceAbilityCodeList());
|
||||
}
|
||||
itemList.setTraceabilityCode(traceabilityCode);
|
||||
goodsList.setTraceabilityCode(traceabilityCode);
|
||||
BigDecimal subCost = goods.getPurchaseUnitPrice().multiply(BigDecimal.valueOf(goods.getSelectedNum()));
|
||||
itemList.setCost(subCost);
|
||||
chargeGoodsLists.add(itemList);
|
||||
goodsList.setCost(subCost);
|
||||
chargeGoodsLists.add(goodsList);
|
||||
preTotalPrice = preTotalPrice.add(subTotalPrice);
|
||||
totalPrice = totalPrice.add(subTotalPrice);
|
||||
totalCost = totalCost.add(subCost);
|
||||
|
|
@ -354,11 +371,11 @@ public class ChargeService extends BaseService {
|
|||
chargeOrder.setPsnNo(registration.getPsnNo());
|
||||
chargeOrder.setTotalCost(totalCost);
|
||||
OrganizationSection section = organizationSectionMapper.selectById(registration.getOrganizationSectionId());
|
||||
if (section == null){
|
||||
if (section == null) {
|
||||
throw new MessageException("科室不存在");
|
||||
}
|
||||
OrganizationMember member = organizationMemberMapper.selectById(registration.getOrganizationDoctorId());
|
||||
if (member == null){
|
||||
if (member == null) {
|
||||
throw new MessageException("医生不存在");
|
||||
}
|
||||
chargeOrder.setSectionCode(section.getCode());
|
||||
|
|
@ -509,9 +526,15 @@ public class ChargeService extends BaseService {
|
|||
List<ChargeGoodsList> goodsLists = chargeGoodsListMapper.selectByCode(changeOrderCode);
|
||||
List<ChargeItemList> itemLists = chargeItemListMapper.selectByCode(changeOrderCode);
|
||||
|
||||
if (order.getMdtrtId() == null){
|
||||
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();
|
||||
|
|
@ -536,11 +559,15 @@ public class ChargeService extends BaseService {
|
|||
feedetail.setRx_circ_flag("0");
|
||||
feedetail.setFee_ocur_time(LocalDateTime.now());
|
||||
SocialDirectory sdGoods = socialDirectoryMapper.getByCode(goodsList.getSocialCode());
|
||||
if (sdGoods == null){
|
||||
throw new MessageException("本地医保目录中未查询到医保码为"+goodsList.getSocialCode()+"的商品信息");
|
||||
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(String.valueOf(sdGoods.getId()));
|
||||
feedetail.setMedins_list_codg(sdCompare.getCompareCode());
|
||||
BigDecimal totalPrice = goodsList.getUnitPrice().multiply(new BigDecimal(goodsList.getNumber()));
|
||||
feedetail.setDet_item_fee_sumamt(totalPrice);
|
||||
feedetail.setCnt(new BigDecimal(goodsList.getNumber()));
|
||||
|
|
@ -561,11 +588,15 @@ public class ChargeService extends BaseService {
|
|||
feedetail.setRx_circ_flag("0");
|
||||
feedetail.setFee_ocur_time(LocalDateTime.now());
|
||||
SocialItem sdItem = socialItemMapper.getByCode(itemList.getSocialCode());
|
||||
if (sdItem == null){
|
||||
throw new MessageException("本地医保目录中未查询到医保码为"+itemList.getSocialCode()+"的医保服务项目");
|
||||
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(String.valueOf(sdItem.getId()));
|
||||
feedetail.setMedins_list_codg(sdCompare.getCompareCode());
|
||||
BigDecimal totalPrice = itemList.getUnitPrice().multiply(new BigDecimal(itemList.getNumber()));
|
||||
feedetail.setDet_item_fee_sumamt(totalPrice);
|
||||
feedetail.setCnt(new BigDecimal(itemList.getNumber()));
|
||||
|
|
@ -589,24 +620,30 @@ 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());
|
||||
//预支付只需要卡号
|
||||
String cardNumber = mdtrtCertNo.substring(0, mdtrtCertNo.indexOf("|"));
|
||||
|
||||
|
||||
//检查商品是否库存不足
|
||||
Goods lackGoods = this.checkInventoryNumber(order.getCode());
|
||||
if (lackGoods != null) {
|
||||
throw new MessageException(lackGoods.getName() + "库存不足");
|
||||
}
|
||||
|
||||
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(cardNumber);
|
||||
data.setMed_type("12");
|
||||
data.setMdtrt_cert_no(mdtrtCertNo);
|
||||
data.setMed_type(config.get("social", "medType"));
|
||||
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);
|
||||
|
||||
|
|
@ -621,24 +658,32 @@ public class ChargeService extends BaseService {
|
|||
* @param insutype
|
||||
* @return
|
||||
*/
|
||||
public OM2207A socialRealPay(String chargeOrderCode, String mdtrtCertType, String mdtrtCertNo, String insutype) {
|
||||
public OM2207A socialRealPay(String chargeOrderCode, String mdtrtCertType, String mdtrtCertNo, String insutype, Integer payType) {
|
||||
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(registration.getPsnNo());
|
||||
data.setPsn_no(psnNo);
|
||||
data.setMdtrt_cert_type(mdtrtCertType);
|
||||
data.setMdtrt_cert_no(mdtrtCertNo);
|
||||
data.setMed_type("12");
|
||||
data.setMed_type(config.get("social", "medType"));
|
||||
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) {
|
||||
|
|
@ -652,13 +697,24 @@ public class ChargeService extends BaseService {
|
|||
|
||||
}
|
||||
data.setMinpacunt_drug_trac_cnt(BigDecimal.valueOf(minpacunt_drug_trac_cnt));
|
||||
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;
|
||||
String msgId = httpUtil.generateMsgId();
|
||||
try {
|
||||
|
||||
OM2207A om2207A = socialRequest.call2207A(im2207A, msgId);
|
||||
recordSocialInfo(om2207A, chargeService.getByCode(chargeOrderCode), payType);
|
||||
//完成订单
|
||||
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("医保支付异常");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -883,9 +939,8 @@ public class ChargeService extends BaseService {
|
|||
* @param om2102A
|
||||
* @param dbOrder
|
||||
* @param payType
|
||||
* @param curBalc
|
||||
*/
|
||||
public void recordSocialInfo(OM2207A om2102A, ChargeOrder dbOrder, Integer payType, String curBalc) {
|
||||
public void recordSocialInfo(OM2207A om2102A, ChargeOrder dbOrder, Integer payType) {
|
||||
ChargeSocialPayLog socialPayLog = new ChargeSocialPayLog();
|
||||
OM2207A.Setlinfo setlinfo = om2102A.getSetlinfo();
|
||||
socialPayLog.setChargeOrderCode(dbOrder.getCode());
|
||||
|
|
@ -1095,6 +1150,30 @@ 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());
|
||||
|
|
|
|||
|
|
@ -311,11 +311,12 @@ 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);
|
||||
IM2203A.ExpContent expContent = new IM2203A.ExpContent();
|
||||
expContent.setTrum_flag("0");
|
||||
expContent.setRel_ttp_flag("0");
|
||||
mdtrtinfo.setExp_content(expContent);
|
||||
mdtrtinfo.setBegntime(curTime.format(FORMATTER));
|
||||
|
||||
JSONObject jsonObj = new JSONObject();
|
||||
jsonObj.put("days","1");
|
||||
//把jsonObj转化成json字符串
|
||||
mdtrtinfo.setExp_content(jsonObj.toJSONString());
|
||||
im2203A.setMdtrtinfo(mdtrtinfo);
|
||||
JSONArray jsonArray = JSONArray.parseArray(diagnosisMedicalRecord.getDiagnosisDetail());
|
||||
int i = 0;
|
||||
|
|
|
|||
|
|
@ -69,6 +69,14 @@ 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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ 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;
|
||||
|
|
@ -44,6 +45,8 @@ import java.util.Objects;
|
|||
|
||||
@Service
|
||||
public class GoodsService extends BaseService {
|
||||
@Autowired
|
||||
private ItemService itemService;
|
||||
@Autowired
|
||||
private GoodsMapper goodsMapper;
|
||||
@Autowired
|
||||
|
|
@ -63,13 +66,22 @@ public class GoodsService extends BaseService {
|
|||
*/
|
||||
public Goods save(Goods goods) {
|
||||
String code = goods.getHilistCode();
|
||||
|
||||
if (!code.isEmpty()) {
|
||||
SocialDirectory socialDirectory = null;
|
||||
Goods codeGoods = null;
|
||||
if (code!=null && !code.isEmpty()) {
|
||||
QueryWrapper<SocialDirectory> socialDirectoryWrapper = new QueryWrapper<>();
|
||||
socialDirectoryWrapper.eq("code", code);
|
||||
CheckUtil.checkValue(socialDirectoryMapper.selectOne(socialDirectoryWrapper)==null, "医保目录编码不能为空");
|
||||
socialDirectory = socialDirectoryMapper.selectOne(socialDirectoryWrapper);
|
||||
|
||||
codeGoods = goodsMapper.selectOne(new QueryWrapper<Goods>().eq("hilist_code", code));
|
||||
}
|
||||
if (socialDirectory == null){
|
||||
throw new MessageException("该医保码"+code+"未能在医保目录中找到");
|
||||
}
|
||||
|
||||
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("定价模式错误错误");
|
||||
|
|
@ -132,6 +144,12 @@ public class GoodsService extends BaseService {
|
|||
|
||||
}
|
||||
}
|
||||
|
||||
//上传对照消息 3301
|
||||
if (goods.getHilistCode() != null && !goods.getHilistCode().isEmpty()){
|
||||
|
||||
itemService.call3301(goods.getHilistCode(),"goods","create");
|
||||
}
|
||||
return goods;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -590,5 +590,14 @@ 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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,23 +2,33 @@ 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;
|
||||
|
|
@ -31,6 +41,7 @@ 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
|
||||
|
|
@ -46,6 +57,17 @@ 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 页码
|
||||
|
|
@ -97,15 +119,29 @@ 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());
|
||||
|
|
@ -114,6 +150,12 @@ 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");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -188,6 +230,12 @@ 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");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -306,8 +354,15 @@ 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);
|
||||
|
|
@ -386,4 +441,216 @@ 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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,8 +7,10 @@ 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;
|
||||
|
|
@ -26,16 +28,14 @@ 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 Config config;
|
||||
private OrganizationMemberMapper organizationMemberMapper;
|
||||
@Autowired
|
||||
private SocialRequest socialRequest;
|
||||
private Config config;
|
||||
|
||||
/**
|
||||
* 分页查询科室
|
||||
|
|
@ -89,6 +89,30 @@ 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);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,268 @@
|
|||
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());
|
||||
}
|
||||
}
|
||||
|
|
@ -7,9 +7,12 @@ 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;
|
||||
|
|
@ -19,6 +22,7 @@ import java.util.logging.Logger;
|
|||
* 目录有效期
|
||||
*/
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
public class SocialDirectoryLimitService {
|
||||
@Autowired
|
||||
|
|
@ -83,8 +87,15 @@ 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", updt_time);
|
||||
map.put("updt_time", formattedDate);
|
||||
map.put("page_num", page_num);
|
||||
map.put("page_size", 1000);
|
||||
map.put("vali_flag", "1");
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@ 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;
|
||||
|
|
@ -83,8 +85,15 @@ 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", updt_time);
|
||||
map.put("updt_time", formattedDate);
|
||||
map.put("page_num", page_num);
|
||||
map.put("page_size", 1000);
|
||||
map.put("vali_flag", "1");
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ 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;
|
||||
|
|
@ -35,6 +36,7 @@ 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.*;
|
||||
|
|
@ -90,6 +92,10 @@ 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);
|
||||
}
|
||||
|
|
@ -97,11 +103,13 @@ 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);
|
||||
|
|
@ -121,6 +129,7 @@ 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];
|
||||
|
|
@ -128,12 +137,36 @@ 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(line_array[15], dateTimeFormatter));
|
||||
socialDirectory.setUpdateDatetime(LocalDateTime.parse(line_array[16], dateTimeFormatter));
|
||||
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]));
|
||||
|
||||
|
||||
}
|
||||
if (type == 1306) {
|
||||
flag = line_array[67];
|
||||
|
|
@ -159,6 +192,7 @@ 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);
|
||||
}
|
||||
|
|
@ -176,6 +210,8 @@ 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());
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@ 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;
|
||||
|
|
@ -83,8 +85,15 @@ 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", updt_time);
|
||||
map.put("updt_time", formattedDate);
|
||||
map.put("page_num", page_num);
|
||||
map.put("page_size", 1000);
|
||||
map.put("vali_flag", "1");
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ 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;
|
||||
|
|
@ -34,6 +35,7 @@ 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;
|
||||
|
|
@ -78,6 +80,8 @@ 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) {
|
||||
|
|
@ -106,6 +110,7 @@ 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();
|
||||
|
|
@ -550,5 +555,23 @@ 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;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ 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;
|
||||
|
|
@ -19,6 +20,11 @@ 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;
|
||||
|
||||
|
|
@ -43,13 +49,16 @@ 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];
|
||||
|
|
@ -57,6 +66,13 @@ 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];
|
||||
|
|
@ -82,9 +98,14 @@ 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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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().toString());
|
||||
inData.setStmt_enddate(dto.getEndTime().toString());
|
||||
inData.setStmt_begndate(dto.getBeginTime().format(FORMATTER));
|
||||
inData.setStmt_enddate(dto.getEndTime().format(FORMATTER));
|
||||
inData.setMedfee_sumamt(dto.getTotalMedicalCost());
|
||||
inData.setFund_pay_sumamt(dto.getTotalFundPayment());
|
||||
inData.setAcct_pay(dto.getTotalPersonalAccountPayment());
|
||||
|
|
@ -223,13 +223,14 @@ 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().toString());
|
||||
inData.setStmt_enddate(dto.getEndTime().toString());
|
||||
inData.setStmt_begndate(dto.getBeginTime().format(FORMATTER));
|
||||
inData.setStmt_enddate(dto.getEndTime().format(FORMATTER));
|
||||
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.setRefd_setl_flag("0");
|
||||
inData.setClr_type(config.get("social", "medType"));
|
||||
|
||||
im3202.setData(inData);
|
||||
OM3202 om3202 = socialRequest.call3202(im3202);
|
||||
Map<String, Object> input_dw = new HashMap<>();
|
||||
|
|
|
|||
|
|
@ -3,17 +3,17 @@ spring:
|
|||
name: server
|
||||
data:
|
||||
mongodb:
|
||||
host: dev.jizhiweb.cn # MongoDB服务器地址
|
||||
host: localhost # MongoDB服务器地址
|
||||
port: 27017 # MongoDB端口
|
||||
database: syjiaer_clinic # 使用的数据库名称
|
||||
redis:
|
||||
host: dev.jizhiweb.cn
|
||||
host: localhost
|
||||
port: 6379
|
||||
datasource:
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
url: jdbc:mysql://dev.jizhiweb.cn:3306/syjiaer_clinic
|
||||
username: root
|
||||
password: i7L0BS91pADGuy7z
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
url: jdbc:mysql://localhost:3306/syjiaer_clinic
|
||||
username: root
|
||||
password: i7L0BS91pADGuy7z
|
||||
config:
|
||||
import: optional:classpath:developer-config.yml
|
||||
server:
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@
|
|||
</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>
|
||||
|
|
@ -37,6 +38,7 @@
|
|||
</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>
|
||||
|
|
@ -55,6 +57,7 @@
|
|||
</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>
|
||||
|
|
@ -72,6 +75,7 @@
|
|||
</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>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,5 @@
|
|||
<?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>
|
||||
Loading…
Reference in New Issue