|
|
@@ -22,6 +22,7 @@ import thyyxxk.webserver.entity.api.forpowersi.drgdip.frontsheetqualitycheck.Qua
|
|
|
import thyyxxk.webserver.entity.casefrontsheet.*;
|
|
|
import thyyxxk.webserver.entity.covid.Region;
|
|
|
import thyyxxk.webserver.entity.dictionary.CodeName;
|
|
|
+import thyyxxk.webserver.entity.dictionary.HisWjwMatchEntity;
|
|
|
import thyyxxk.webserver.service.externalhttp.PowersiSrvc;
|
|
|
import thyyxxk.webserver.service.redislike.RedisLikeService;
|
|
|
import thyyxxk.webserver.service.zhuyuanyisheng.EmrServer;
|
|
|
@@ -449,7 +450,7 @@ public class CaseFrontSheetMainService {
|
|
|
Integer status = dao.getSignApplyStatus(sheet.getBah(), sheet.getAdmissTimes());
|
|
|
if (null == status) {
|
|
|
sheet.setAddressMember(getStandardAddress(sheet.getStandardAddress()));
|
|
|
- List<CodeName> message = VerifyCaseFrontSheet.getInstance().printVerify(sheet, 1);
|
|
|
+ List<CodeName> message = printVerification(sheet, 1);
|
|
|
if (message.isEmpty()) {
|
|
|
dao.insertNewSignApply(sheet.getBah(), sheet.getAdmissTimes(),
|
|
|
sheet.getName(), sheet.getSex(), TokenUtil.getTokenUserId());
|
|
|
@@ -592,7 +593,7 @@ public class CaseFrontSheetMainService {
|
|
|
}
|
|
|
sheet.setAddressMember(getStandardAddress(sheet.getStandardAddress()));
|
|
|
sheet.setIsDoctorPrint(true);
|
|
|
- List<CodeName> force = VerifyCaseFrontSheet.getInstance().printVerify(sheet, param.getOpType());
|
|
|
+ List<CodeName> force = printVerification(sheet, param.getOpType());
|
|
|
CaseFrontsheetDisdiag disdiag = sheet.getDisdiagList().get(0);
|
|
|
List<CodeName> advice = VerifyCaseFrontSheet.getInstance().adviseVerification(sheet.getSocialNo(), disdiag.getCode());
|
|
|
JSONObject powersi = qualityControl(sheet);
|
|
|
@@ -630,7 +631,7 @@ public class CaseFrontSheetMainService {
|
|
|
int optype = info.getOpType();
|
|
|
sheet.setAddressMember(getStandardAddress(sheet.getStandardAddress()));
|
|
|
List<CodeName> message = optype == 1 ? VerifyCaseFrontSheet.getInstance().saveVerify(sheet) :
|
|
|
- VerifyCaseFrontSheet.getInstance().printVerify(sheet, optype);
|
|
|
+ printVerification(sheet, optype);
|
|
|
if (message.isEmpty()) {
|
|
|
final String bah = sheet.getBah();
|
|
|
final int times = sheet.getAdmissTimes();
|
|
|
@@ -767,6 +768,29 @@ public class CaseFrontSheetMainService {
|
|
|
return dao.selectStandardAddressMember2(addrs[0], addrs[1], addrs[2]);
|
|
|
}
|
|
|
|
|
|
+ private List<CodeName> printVerification(CaseFrontsheetMain sheet, int opType) {
|
|
|
+ List<CodeName> messages = VerifyCaseFrontSheet.getInstance().printVerify(sheet, opType);
|
|
|
+ List<CaseFrontsheetSurgery> surgeries = sheet.getSurgeryList();
|
|
|
+ if (null != surgeries && !surgeries.isEmpty()) {
|
|
|
+ String patNo = sheet.getBah();
|
|
|
+ int times = sheet.getAdmissTimes();
|
|
|
+ List<HisWjwMatchEntity> surgeryChargeCode = dao.selectSurgeryChargeCode(surgeries);
|
|
|
+ for (HisWjwMatchEntity entity : surgeryChargeCode) {
|
|
|
+ if (StringUtil.notBlank(entity.getWjwCode())) {
|
|
|
+ entity.setChargeCode(entity.getWjwCode().split("\\^"));
|
|
|
+ entity.setChargeName(entity.getWjwName().split("\\^"));
|
|
|
+ int chargeSumamt = dao.selectChargeSumamt(patNo, times, entity.getChargeCode());
|
|
|
+ if (chargeSumamt < 1) {
|
|
|
+ String charges = entity.getWjwName().replaceAll("\\^", ",");
|
|
|
+ messages.add(new CodeName("surgeryTable", "患者有手术【" + entity.getName() +
|
|
|
+ "】,但没有找到对应的收费项目【" + charges + "】。"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return messages;
|
|
|
+ }
|
|
|
+
|
|
|
public ResultVo<String> frontsheetQualityCheck(CaseFrontsheetMain sheet) {
|
|
|
|
|
|
// JSONArray diagList = emrService.getEmrData(sheet.getBah(), sheet.getAdmissTimes(), EmrType.DIAGNOSIS);
|