From 27df1079c1d230fab29f565f5209f2a02e0def8a Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 20 七月 2026 16:56:51 +0800
Subject: [PATCH] 省立同德的功能
---
smartor/src/main/java/com/smartor/mapper/MedicationItemMapper.java | 63
smartor/src/main/java/com/smartor/mapper/ServiceAppointRecordMapper.java | 63
smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java | 194 ++
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/QRCodeController.java | 85 +
smartor/src/main/java/com/smartor/domain/MedicationDoseInfo.java | 59
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskAnswerController.java | 4
smartor/src/main/java/com/smartor/domain/ServiceTaskVO.java | 4
ruoyi-common/src/main/java/com/ruoyi/common/utils/HttpUtil.java | 8
smartor/src/main/resources/mapper/smartor/MedicationItemMapper.xml | 434 +++++
smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml | 19
smartor/src/main/java/com/smartor/mapper/MedicationDoseInfoMapper.java | 63
smartor/src/main/java/com/smartor/service/IServiceOutPathService.java | 24
smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java | 37
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java | 21
smartor/src/main/resources/mapper/smartor/ServiceAppointRecordMapper.xml | 803 +++++++++++
smartor/src/main/java/com/smartor/domain/ServiceTaskScriptQues.java | 8
ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/SmsController.java | 36
smartor/src/main/java/com/smartor/service/IServiceAppointRecordService.java | 61
ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml | 2
smartor/src/main/java/com/smartor/service/impl/XHGatherPatArchiveServiceImpl.java | 178 ++
smartor/src/main/java/com/smartor/service/impl/ServiceOutPathServiceImpl.java | 48
ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java | 6
smartor/src/main/java/com/smartor/service/IXHGatherPatArchiveService.java | 9
ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java | 70
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceOutPathController.java | 11
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceAppointRecordController.java | 103 +
smartor/src/main/java/com/smartor/domain/ServiceAppointRecord.java | 453 ++++++
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/MedicationItemController.java | 103 +
smartor/src/main/java/com/smartor/service/IMedicationItemService.java | 61
smartor/src/main/java/com/smartor/service/IMedicationDoseInfoService.java | 61
smartor/src/main/java/com/smartor/domain/MedicationItem.java | 168 ++
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java | 23
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTaskController.java | 7
smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java | 4
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/MedicationDoseInfoController.java | 110 +
smartor/src/main/java/com/smartor/service/IServiceSLTDHealthcareRecordService.java | 11
smartor/src/main/resources/mapper/smartor/MedicationDoseInfoMapper.xml | 172 ++
smartor/src/main/java/com/smartor/domain/ServiceOutPath.java | 16
smartor/src/main/resources/mapper/smartor/ServiceOutPathMapper.xml | 63
smartor/src/main/resources/mapper/smartor/ServiceTaskMapper.xml | 42
smartor/src/main/java/com/smartor/service/impl/MedicationDoseInfoServiceImpl.java | 96 +
smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java | 3
smartor/src/main/java/com/smartor/service/impl/ServiceAppointRecordServiceImpl.java | 96 +
smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml | 27
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java | 294 ++-
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java | 26
smartor/src/main/java/com/smartor/domain/PatMedInhosp.java | 11
smartor/src/main/java/com/smartor/service/impl/MedicationItemServiceImpl.java | 96 +
ruoyi-common/src/main/java/com/ruoyi/common/utils/sms/smsUtils.java | 8
49 files changed, 4,091 insertions(+), 273 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java b/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
index 79eb2fd..b9a4adb 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
@@ -42,6 +42,7 @@
import org.springframework.stereotype.Component;
import java.io.IOException;
+import java.net.URLEncoder;
import java.security.MessageDigest;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@@ -110,6 +111,9 @@
@Value("${xhsmsPwd}")
private String xhsmsPwd;
+ // 铏氭嫙鎺ュ叆鐮�
+ @Value("${xhsmsjrm}")
+ private String xhsmsjrm;
@Value("${server.port}")
private String port;
@@ -306,21 +310,26 @@
serviceOutPath.setParam6(subId);
serviceOutPath.setCreateTime(new Date());
serviceOutPath.setOrgid(serviceSubtask.getOrgid());
+ serviceOutPath.setDeptCode(serviceSubtask.getDeptcode());
+ serviceOutPath.setWardCode(serviceSubtask.getLeavehospitaldistrictcode());
+ serviceOutPath.setDeptName(serviceSubtask.getDeptname());
+ serviceOutPath.setWardName(serviceSubtask.getLeavehospitaldistrictname());
iServiceOutPathService.insertServiceOutPath(serviceOutPath);
// sendMagParam.setUrl(ip + ":" + req_path + "/followvisit/particty?param1=" + taskId + "¶m2=" + patid + "¶m5=false");
//杞垚16杩涘埗
String format = String.format("%03X", serviceOutPath.getId());
serviceOutPath.setRadix(format);
serviceOutPath.setUpdateTime(new Date());
+ serviceOutPath.setUrl(ip + ":" + req_path + "/sf?p=" + format);
iServiceOutPathService.updateServiceOutPath(serviceOutPath);
sendMagParam.setPhone(serviceSubtask.getPhone());
sendMagParam.setUrl(ip + ":" + req_path + "/sf?p=" + format);
SysConfig sysConfig = new SysConfig();
if (StringUtils.isNotEmpty(serviceSubtask.getServiceType()) && serviceSubtask.getServiceType().equals("6")) {
sysConfig = sysConfigMapper.checkConfigKeyUnique("zymyd.sms.template");
- }else if (StringUtils.isNotEmpty(serviceSubtask.getServiceType()) && serviceSubtask.getServiceType().equals("14")) {
+ } else if (StringUtils.isNotEmpty(serviceSubtask.getServiceType()) && serviceSubtask.getServiceType().equals("14")) {
sysConfig = sysConfigMapper.checkConfigKeyUnique("mzmyd.sms.template");
- }else {
+ } else {
sysConfig = sysConfigMapper.checkConfigKeyUnique("wj.sms.template");
}
if (!Objects.isNull(sysConfig)) {
@@ -339,10 +348,15 @@
serviceOutPath.setParam3(ivrTask1.getTaskName());
serviceOutPath.setCreateTime(new Date());
serviceOutPath.setOrgid(serviceSubtask.getOrgid());
+ serviceOutPath.setDeptCode(serviceSubtask.getDeptcode());
+ serviceOutPath.setWardCode(serviceSubtask.getLeavehospitaldistrictcode());
+ serviceOutPath.setDeptName(serviceSubtask.getDeptname());
+ serviceOutPath.setWardName(serviceSubtask.getLeavehospitaldistrictname());
iServiceOutPathService.insertServiceOutPath(serviceOutPath);
String format = String.format("%03X", serviceOutPath.getId());
serviceOutPath.setRadix(format);
serviceOutPath.setUpdateTime(new Date());
+ serviceOutPath.setUrl(StringUtils.isNotEmpty(req_path) ? ip + ":" + req_path + "/wt?p=" + format : ip + "/wt?p=" + format);
iServiceOutPathService.updateServiceOutPath(serviceOutPath);
// sendMagParam.setUrl(ip + ":" + req_path + "/outsideChainwt?param1=" + taskId + "¶m2=" + patid + "¶m3=" + URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString()) + "¶m5=false");
sendMagParam.setPhone(serviceSubtask.getPhone());
@@ -355,9 +369,9 @@
SysConfig sysConfig = new SysConfig();
if (StringUtils.isNotEmpty(serviceSubtask.getServiceType()) && serviceSubtask.getServiceType().equals("6")) {
sysConfig = sysConfigMapper.checkConfigKeyUnique("zymyd.sms.template");
- }else if (StringUtils.isNotEmpty(serviceSubtask.getServiceType()) && serviceSubtask.getServiceType().equals("14")) {
+ } else if (StringUtils.isNotEmpty(serviceSubtask.getServiceType()) && serviceSubtask.getServiceType().equals("14")) {
sysConfig = sysConfigMapper.checkConfigKeyUnique("mzmyd.sms.template");
- }else {
+ } else {
sysConfig = sysConfigMapper.checkConfigKeyUnique("wj.sms.template");
}
if (!Objects.isNull(sysConfig)) {
@@ -374,6 +388,10 @@
serviceOutPath.setParam3(ivrTask1.getTaskName());
serviceOutPath.setCreateTime(new Date());
serviceOutPath.setOrgid(serviceSubtask.getOrgid());
+ serviceOutPath.setDeptCode(serviceSubtask.getDeptcode());
+ serviceOutPath.setWardCode(serviceSubtask.getLeavehospitaldistrictcode());
+ serviceOutPath.setDeptName(serviceSubtask.getDeptname());
+ serviceOutPath.setWardName(serviceSubtask.getLeavehospitaldistrictname());
iServiceOutPathService.insertServiceOutPath(serviceOutPath);
String format = String.format("%03X", serviceOutPath.getId());
serviceOutPath.setRadix(format);
@@ -412,15 +430,28 @@
String s = null;
if (active.equals("xh")) {
//鏂板崕鐨勭煭淇″彂閫佹柟寮�
- Map<String, String> req = new HashMap<>();
- req.put("phone", sendMagParam.getPhone());
- req.put("content", sendMagParam.getContent());
- log.info("content杩斿洖鍊肩殑鍐呭鏄細{}", sendMagParam.getContent());
- s = HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(req));
- } else if (active.equals("ls")) {
-// String url = configService.selectConfigByKey("token.360", serviceSubtask.getOrgid());
-// log.info("-------00token.360鐨刄RL涓猴細{}", url);
+ Map<String, String> map2 = new HashMap<String, String>();
+ map2.put("action", "send");
+ map2.put("account", xhsmsAccount);
+ map2.put("password", xhsmsPwd);
+ map2.put("mobile", sendMagParam.getPhone());
+ map2.put("content", sendMagParam.getContent());
+ map2.put("extno", xhsmsjrm);
+ map2.put("rt", "json");
+ StringBuilder encodedParams = new StringBuilder();
+ for (Map.Entry<String, String> entry : map2.entrySet()) {
+ if (encodedParams.length() > 0) {
+ encodedParams.append("&");
+ }
+ // 瀵归敭鍜屽�艰繘琛孶RL缂栫爜
+ String encodedKey = URLEncoder.encode(entry.getKey(), "UTF-8");
+ String encodedValue = URLEncoder.encode(entry.getValue(), "UTF-8");
+ encodedParams.append(encodedKey).append("=").append(encodedValue);
+ }
+ Boolean isSuccess = HttpUtil.postJsonRequest(xhsmsPath, encodedParams.toString());
+ if (isSuccess) s = "true";
+ } else if (active.equals("ls")) {
//涓芥按鐨勭煭淇″彂閫佹柟寮�
SysConfig config = new SysConfig();
config.setConfigKey("ls.msg.info");
@@ -492,7 +523,8 @@
String sign = Md5Utils.hash(xhsmsAccount + timestamp + Md5Utils.hash(xhsmsPwd));
String content = sendMagParam.getContent();
String jsonMsg = "{" + "\"userName\": \"" + xhsmsAccount + "\"," + "\"content\": \"" + content + "\"," + "\"phoneList\": [" + sendMagParam.getPhone() + "]," + "\"timestamp\": " + timestamp + "," + "\"sign\": \"" + sign + "\"" + "}";
- s = HttpUtil.postJsonRequest(xhsmsPath, jsonMsg);
+ Boolean b = HttpUtil.postJsonRequest(xhsmsPath, jsonMsg);
+ if (b) s = "true";
log.info("------甯備竴鐭俊鍙戦�佺殑鍊间负锛歿}", s);
if (StringUtils.isNotEmpty(s)) {
JSONObject jsonObject = JSONObject.parseObject(s);
@@ -559,6 +591,10 @@
serviceOutPath.setParam6(subId);
serviceOutPath.setCreateTime(new Date());
serviceOutPath.setOrgid(serviceSubtask.getOrgid());
+ serviceOutPath.setDeptCode(serviceSubtask.getDeptcode());
+ serviceOutPath.setWardCode(serviceSubtask.getLeavehospitaldistrictcode());
+ serviceOutPath.setDeptName(serviceSubtask.getDeptname());
+ serviceOutPath.setWardName(serviceSubtask.getLeavehospitaldistrictname());
iServiceOutPathService.insertServiceOutPath(serviceOutPath);
String format = String.format("%03X", serviceOutPath.getId());
serviceOutPath.setRadix(format);
@@ -574,6 +610,10 @@
serviceOutPath.setParam6(subId);
serviceOutPath.setCreateTime(new Date());
serviceOutPath.setOrgid(serviceSubtask.getOrgid());
+ serviceOutPath.setDeptCode(serviceSubtask.getDeptcode());
+ serviceOutPath.setWardCode(serviceSubtask.getLeavehospitaldistrictcode());
+ serviceOutPath.setDeptName(serviceSubtask.getDeptname());
+ serviceOutPath.setWardName(serviceSubtask.getLeavehospitaldistrictname());
iServiceOutPathService.insertServiceOutPath(serviceOutPath);
String format = String.format("%03X", serviceOutPath.getId());
serviceOutPath.setRadix(format);
@@ -591,6 +631,10 @@
serviceOutPath.setParam3(ivrTask1.getTaskName());
serviceOutPath.setParam6(subId);
serviceOutPath.setCreateTime(new Date());
+ serviceOutPath.setDeptCode(serviceSubtask.getDeptcode());
+ serviceOutPath.setWardCode(serviceSubtask.getLeavehospitaldistrictcode());
+ serviceOutPath.setDeptName(serviceSubtask.getDeptname());
+ serviceOutPath.setWardName(serviceSubtask.getLeavehospitaldistrictname());
serviceOutPath.setOrgid(serviceSubtask.getOrgid());
iServiceOutPathService.insertServiceOutPath(serviceOutPath);
String format = String.format("%03X", serviceOutPath.getId());
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/SmsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/SmsController.java
index bdefcbd..9b3667f 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/SmsController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/SmsController.java
@@ -8,6 +8,7 @@
import com.ruoyi.common.utils.HttpUtil;
import com.ruoyi.common.utils.RSAPublicKeyExample;
import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.http.HttpUtils;
import com.ruoyi.common.utils.sms.smsUtils;
import com.smartor.common.MtSubmitSmUtil;
import com.smartor.common.ShiyiSmsUtil;
@@ -29,6 +30,7 @@
import org.springframework.web.bind.annotation.RestController;
import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
@@ -54,6 +56,9 @@
@Value("${xhsmsPwd}")
private String xhsmsPwd;
+ // 铏氭嫙鎺ュ叆鐮�
+ @Value("${xhsmsjrm}")
+ private String xhsmsjrm;
@Value("${localIP}")
private String ip;
@@ -143,10 +148,33 @@
}
}
} else if (active.equals("xh")) {
- Map<String, String> req = new HashMap<>();
- req.put("phone", vo.getPhone());
- req.put("content", vo.getContent());
- sendMsg = HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(req));
+// Map<String, String> req = new HashMap<>();
+// req.put("phone", vo.getPhone());
+// req.put("content", vo.getContent());
+// Boolean result = HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(req));
+ Map<String, String> map2 = new HashMap<String, String>();
+ map2.put("action", "send");
+ map2.put("account", xhsmsAccount);
+ map2.put("password", xhsmsPwd);
+ map2.put("mobile", vo.getPhone());
+ map2.put("content", vo.getContent());
+ map2.put("extno", xhsmsjrm);
+ map2.put("rt", "json");
+ StringBuilder encodedParams = new StringBuilder();
+
+ for (Map.Entry<String, String> entry : map2.entrySet()) {
+ if (encodedParams.length() > 0) {
+ encodedParams.append("&");
+ }
+ // 瀵归敭鍜屽�艰繘琛孶RL缂栫爜
+ String encodedKey = URLEncoder.encode(entry.getKey(), "UTF-8");
+ String encodedValue = URLEncoder.encode(entry.getValue(), "UTF-8");
+ encodedParams.append(encodedKey).append("=").append(encodedValue);
+ }
+ Boolean result = HttpUtils.sendPost(xhsmsPath, encodedParams.toString());
+ if (result) {
+ sendMsg = "true";
+ }
} else if (active.equals("ls")) {
//涓芥按13瀹跺尰闄紝鏈夌偣涓嶆柟渚匡紝鏈夌┖鍐嶆帴
return AjaxResult.error("璇ョ煭淇″姛鑳借繕鏈紑閫�");
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/MedicationDoseInfoController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/MedicationDoseInfoController.java
new file mode 100644
index 0000000..0debfe0
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/MedicationDoseInfoController.java
@@ -0,0 +1,110 @@
+package com.ruoyi.web.controller.smartor;
+
+import com.ruoyi.common.annotation.AddOrgId;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.smartor.domain.MedicationDoseInfo;
+import com.smartor.service.IMedicationDoseInfoService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 鑽搧鍓傞噺淇℃伅Controller
+ *
+ * @author lihu
+ * @date 2026-07-17
+ */
+@Api("鑽搧鍓傞噺淇℃伅")
+@RestController
+@RequestMapping("/smartor/medicationDoseInfo")
+public class MedicationDoseInfoController extends BaseController
+{
+ @Autowired
+ private IMedicationDoseInfoService medicationDoseInfoService;
+
+ /**
+ * 鏌ヨ鑽搧鍓傞噺淇℃伅鍒楄〃
+ */
+ @ApiOperation("鏌ヨ鑽搧鍓傞噺淇℃伅鍒楄〃")
+ //@PreAuthorize("@ss.hasPermi('smartor:info:list')")
+ @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
+ @PostMapping("/list")
+ public TableDataInfo list(@RequestBody MedicationDoseInfo medicationDoseInfo)
+ {
+ startPage();
+ List<MedicationDoseInfo> list = medicationDoseInfoService.selectMedicationDoseInfoList(medicationDoseInfo);
+ return getDataTable(list);
+ }
+
+ /**
+ * 瀵煎嚭鑽搧鍓傞噺淇℃伅鍒楄〃
+ */
+ @ApiOperation("瀵煎嚭鑽搧鍓傞噺淇℃伅鍒楄〃")
+ //@PreAuthorize("@ss.hasPermi('smartor:info:export')")
+ @Log(title = "鑽搧鍓傞噺淇℃伅", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, MedicationDoseInfo medicationDoseInfo)
+ {
+ List<MedicationDoseInfo> list = medicationDoseInfoService.selectMedicationDoseInfoList(medicationDoseInfo);
+ ExcelUtil<MedicationDoseInfo> util = new ExcelUtil<MedicationDoseInfo>(MedicationDoseInfo.class);
+ util.exportExcel(response, list, "鑽搧鍓傞噺淇℃伅鏁版嵁");
+ }
+
+ /**
+ * 鑾峰彇鑽搧鍓傞噺淇℃伅璇︾粏淇℃伅
+ */
+ @ApiOperation("鑾峰彇鑽搧鍓傞噺淇℃伅璇︾粏淇℃伅")
+ //@PreAuthorize("@ss.hasPermi('smartor:info:query')")
+ @GetMapping(value = "/getInfo/{id}")
+ public AjaxResult getInfo(@PathVariable("id") Long id)
+ {
+ return success(medicationDoseInfoService.selectMedicationDoseInfoById(id));
+ }
+
+ /**
+ * 鏂板鑽搧鍓傞噺淇℃伅
+ */
+ @ApiOperation("鏂板鑽搧鍓傞噺淇℃伅")
+ //@PreAuthorize("@ss.hasPermi('smartor:info:add')")
+ @Log(title = "鑽搧鍓傞噺淇℃伅", businessType = BusinessType.INSERT)
+ @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
+ @PostMapping("/add")
+ public AjaxResult add(@RequestBody MedicationDoseInfo medicationDoseInfo)
+ {
+ return toAjax(medicationDoseInfoService.insertMedicationDoseInfo(medicationDoseInfo));
+ }
+
+ /**
+ * 淇敼鑽搧鍓傞噺淇℃伅
+ */
+ @ApiOperation("淇敼鑽搧鍓傞噺淇℃伅")
+ //@PreAuthorize("@ss.hasPermi('smartor:info:edit')")
+ @Log(title = "鑽搧鍓傞噺淇℃伅", businessType = BusinessType.UPDATE)
+ @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
+ @PostMapping("/edit")
+ public AjaxResult edit(@RequestBody MedicationDoseInfo medicationDoseInfo)
+ {
+ return toAjax(medicationDoseInfoService.updateMedicationDoseInfo(medicationDoseInfo));
+ }
+
+ /**
+ * 鍒犻櫎鑽搧鍓傞噺淇℃伅
+ */
+ @ApiOperation("鍒犻櫎鑽搧鍓傞噺淇℃伅")
+ //@PreAuthorize("@ss.hasPermi('smartor:info:remove')")
+ @Log(title = "鑽搧鍓傞噺淇℃伅", businessType = BusinessType.DELETE)
+ @GetMapping("/remove/{ids}")
+ public AjaxResult remove(@PathVariable Long[] ids)
+ {
+ return toAjax(medicationDoseInfoService.deleteMedicationDoseInfoByIds(ids));
+ }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/MedicationItemController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/MedicationItemController.java
new file mode 100644
index 0000000..6d90b67
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/MedicationItemController.java
@@ -0,0 +1,103 @@
+package com.ruoyi.web.controller.smartor;
+
+import com.ruoyi.common.annotation.AddOrgId;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.smartor.domain.MedicationItem;
+import com.smartor.service.IMedicationItemService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 鑽搧淇℃伅Controller
+ *
+ * @author lihu
+ * @date 2026-07-17
+ */
+@Api("鑽搧淇℃伅")
+@RestController
+@RequestMapping("/smartor/medicationitem")
+public class MedicationItemController extends BaseController {
+ @Autowired
+ private IMedicationItemService medicationItemService;
+
+ /**
+ * 鏌ヨ鑽搧淇℃伅鍒楄〃
+ */
+ @ApiOperation("鏌ヨ鑽搧淇℃伅鍒楄〃")
+ //@PreAuthorize("@ss.hasPermi('smartor:item:list')")
+ @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
+ @PostMapping("/list")
+ public TableDataInfo list(@RequestBody MedicationItem medicationItem) {
+ startPage();
+ List<MedicationItem> list = medicationItemService.selectMedicationItemList(medicationItem);
+ return getDataTable(list);
+ }
+
+ /**
+ * 瀵煎嚭鑽搧淇℃伅鍒楄〃
+ */
+ @ApiOperation("瀵煎嚭鑽搧淇℃伅鍒楄〃")
+ //@PreAuthorize("@ss.hasPermi('smartor:item:export')")
+ @Log(title = "鑽搧淇℃伅", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, MedicationItem medicationItem) {
+ List<MedicationItem> list = medicationItemService.selectMedicationItemList(medicationItem);
+ ExcelUtil<MedicationItem> util = new ExcelUtil<MedicationItem>(MedicationItem.class);
+ util.exportExcel(response, list, "鑽搧淇℃伅鏁版嵁");
+ }
+
+ /**
+ * 鑾峰彇鑽搧淇℃伅璇︾粏淇℃伅
+ */
+ @ApiOperation("鑾峰彇鑽搧淇℃伅璇︾粏淇℃伅")
+ //@PreAuthorize("@ss.hasPermi('smartor:item:query')")
+ @GetMapping(value = "/getInfo/{id}")
+ public AjaxResult getInfo(@PathVariable("id") Long id) {
+ return success(medicationItemService.selectMedicationItemById(id));
+ }
+
+ /**
+ * 鏂板鑽搧淇℃伅
+ */
+ @ApiOperation("鏂板鑽搧淇℃伅")
+ //@PreAuthorize("@ss.hasPermi('smartor:item:add')")
+ @Log(title = "鑽搧淇℃伅", businessType = BusinessType.INSERT)
+ @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
+ @PostMapping("/add")
+ public AjaxResult add(@RequestBody MedicationItem medicationItem) {
+ return toAjax(medicationItemService.insertMedicationItem(medicationItem));
+ }
+
+ /**
+ * 淇敼鑽搧淇℃伅
+ */
+ @ApiOperation("淇敼鑽搧淇℃伅")
+ //@PreAuthorize("@ss.hasPermi('smartor:item:edit')")
+ @Log(title = "鑽搧淇℃伅", businessType = BusinessType.UPDATE)
+ @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
+ @PostMapping("/edit")
+ public AjaxResult edit(@RequestBody MedicationItem medicationItem) {
+ return toAjax(medicationItemService.updateMedicationItem(medicationItem));
+ }
+
+ /**
+ * 鍒犻櫎鑽搧淇℃伅
+ */
+ @ApiOperation("鍒犻櫎鑽搧淇℃伅")
+ //@PreAuthorize("@ss.hasPermi('smartor:item:remove')")
+ @Log(title = "鑽搧淇℃伅", businessType = BusinessType.DELETE)
+ @GetMapping("/remove/{ids}")
+ public AjaxResult remove(@PathVariable Long[] ids) {
+ return toAjax(medicationItemService.deleteMedicationItemByIds(ids));
+ }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/QRCodeController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/QRCodeController.java
index ef46ef6..95945b0 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/QRCodeController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/QRCodeController.java
@@ -1,10 +1,12 @@
package com.ruoyi.web.controller.smartor;
import com.google.zxing.BarcodeFormat;
+import com.google.zxing.EncodeHintType;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
+import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
import com.mchange.v2.uid.UidUtils;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.framework.config.ServerConfig;
@@ -21,10 +23,17 @@
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
+import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletRequest;
+import java.awt.Color;
+import java.awt.Graphics2D;
+import java.awt.RenderingHints;
+import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
+import java.io.InputStream;
import java.io.StringWriter;
+import java.net.URI;
import java.util.*;
@Slf4j
@@ -41,6 +50,11 @@
@Value("${ruoyi.profile}")
private String profile;
+
+ /**
+ * 鍏徃logo鍦╟lasspath涓殑璺緞锛屾墦鍖呰繘jar鍚庝换浣曠幆澧冮兘鑳借鍙栧埌
+ */
+ private static final String LOGO_CLASSPATH = "/images/hrslogo.png";
@Autowired
private ServerConfig serverConfig;
@@ -122,24 +136,85 @@
@PostMapping(value = "/getQRcode")
public AjaxResult getQRcode(@RequestParam("url") String url) {
log.info("鑾峰彇闂嵎浜岀淮鐮佺殑鍏ュ弬锛歿}", url);
- String uuid = UUID.randomUUID().toString().replace("-", "");
- String filePath = profile + "\\qrpath" + "\\" + uuid + ".png"; // 淇濆瓨浜岀淮鐮佸浘鍍忕殑鏂囦欢璺緞
+ // 灏濊瘯浠巙rl涓彁鍙杙鍙傛暟鐨勫�间綔涓哄浘鐗囧悕绉帮紝鍊间负绌哄垯鐢║UID
+ String fileName = UUID.randomUUID().toString().replace("-", "");
+ try {
+ URI uri = new URI(url);
+ String query = uri.getQuery();
+ if (query != null) {
+ for (String param : query.split("&")) {
+ String[] pair = param.split("=", 2);
+ if ("p".equals(pair[0]) && pair.length > 1 && !pair[1].isEmpty()) {
+ fileName = pair[1] + "-" + System.currentTimeMillis();
+ break;
+ }
+ }
+ }
+ } catch (Exception e) {
+ log.warn("瑙f瀽url涓殑p鍙傛暟澶辫触锛屼娇鐢║UID浣滀负鏂囦欢鍚�");
+ }
+ String filePath = profile + "\\qrpath" + "\\" + fileName + ".png"; // 淇濆瓨浜岀淮鐮佸浘鍍忕殑鏂囦欢璺緞
//鍒ゆ柇鏂囦欢澶规槸鍚﹀瓨鍦�
File file = new File(profile + "\\qrpath");
if (!file.exists()) {
file.mkdirs();
}
generateQRCode(url, filePath);
- return AjaxResult.success(serverConfig.getUrl() + "/profile/qrpath/" + uuid + ".png");
+ return AjaxResult.success(serverConfig.getUrl() + "/profile/qrpath/" + fileName + ".png");
}
private void generateQRCode(String url, String filePath) {
QRCodeWriter qrCodeWriter = new QRCodeWriter();
try {
- BitMatrix bitMatrix = qrCodeWriter.encode(url, BarcodeFormat.QR_CODE, 500, 500);
+ // 浣跨敤楂樺閿欑骇鍒紙H绾э紝30%瀹归敊锛夛紝纭繚浜岀淮鐮佷腑闂村祵鍏ogo鍚庝粛鍙甯告壂鎻�
+ Map<EncodeHintType, Object> hints = new HashMap<>();
+ hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
+ hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
+ hints.put(EncodeHintType.MARGIN, 1);
+ BitMatrix bitMatrix = qrCodeWriter.encode(url, BarcodeFormat.QR_CODE, 500, 500, hints);
+
+ // 灏咮itMatrix杞负浜屽�糂ufferedImage锛堥粦鐧斤級
+ BufferedImage binaryImage = MatrixToImageWriter.toBufferedImage(bitMatrix);
+
+ // 鍒涘缓RGB褰╄壊鍥惧儚锛屾妸浜岀淮鐮佺敾涓婂幓锛屽惁鍒欏悗缁粯鍒秎ogo浼氫涪澶遍鑹�
+ BufferedImage qrImage = new BufferedImage(500, 500, BufferedImage.TYPE_INT_RGB);
+ Graphics2D graphics = qrImage.createGraphics();
+ graphics.setColor(Color.WHITE);
+ graphics.fillRect(0, 0, 500, 500);
+ graphics.drawImage(binaryImage, 0, 0, null);
+
+ // 浠巆lasspath璇诲彇logo骞剁粯鍒跺埌浜岀淮鐮佷腑闂�
+ try (InputStream logoStream = this.getClass().getResourceAsStream(LOGO_CLASSPATH)) {
+ if (logoStream != null) {
+ BufferedImage logoImage = ImageIO.read(logoStream);
+
+ // 璁$畻logo灏哄锛岃涓轰簩缁寸爜鐨�1/5
+ int logoWidth = qrImage.getWidth() / 5;
+ int logoHeight = qrImage.getHeight() / 5;
+
+ // 璁$畻logo灞呬腑浣嶇疆
+ int logoX = (qrImage.getWidth() - logoWidth) / 2;
+ int logoY = (qrImage.getHeight() - logoHeight) / 2;
+
+ // 缁樺埗鐧借壊鍦嗚鑳屾櫙锛岃logo鏇寸獊鍑�
+ int padding = 6;
+ graphics.setColor(Color.WHITE);
+ graphics.fillRoundRect(logoX - padding, logoY - padding, logoWidth + padding * 2, logoHeight + padding * 2, 10, 10);
+
+ // 缁樺埗logo
+ graphics.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
+ graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
+ graphics.drawImage(logoImage, logoX, logoY, logoWidth, logoHeight, null);
+ } else {
+ log.warn("classpath涓湭鎵惧埌浜岀淮鐮乴ogo: {}", LOGO_CLASSPATH);
+ }
+ }
+ graphics.dispose();
+
+ // 杈撳嚭鏈�缁堝浘鐗�
File outputFile = new File(filePath);
- MatrixToImageWriter.writeToPath(bitMatrix, "PNG", outputFile.toPath());
+ ImageIO.write(qrImage, "PNG", outputFile);
} catch (WriterException | IOException e) {
e.printStackTrace();
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceAppointRecordController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceAppointRecordController.java
new file mode 100644
index 0000000..a0a49f1
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceAppointRecordController.java
@@ -0,0 +1,103 @@
+package com.ruoyi.web.controller.smartor;
+
+import com.ruoyi.common.annotation.AddOrgId;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.smartor.domain.ServiceAppointRecord;
+import com.smartor.service.IServiceAppointRecordService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 棰勭害璁板綍Controller
+ *
+ * @author lihu
+ * @date 2026-07-06
+ */
+@Api("棰勭害璁板綍")
+@RestController
+@RequestMapping("/smartor/record")
+public class ServiceAppointRecordController extends BaseController {
+ @Autowired
+ private IServiceAppointRecordService serviceAppointRecordService;
+
+ /**
+ * 鏌ヨ棰勭害璁板綍鍒楄〃
+ */
+ @ApiOperation("鏌ヨ棰勭害璁板綍鍒楄〃")
+ //@PreAuthorize("@ss.hasPermi('smartor:record:list')")
+ @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
+ @PostMapping("/list")
+ public TableDataInfo list(@RequestBody ServiceAppointRecord serviceAppointRecord) {
+ startPage();
+ List<ServiceAppointRecord> list = serviceAppointRecordService.selectServiceAppointRecordList(serviceAppointRecord);
+ return getDataTable(list);
+ }
+
+ /**
+ * 瀵煎嚭棰勭害璁板綍鍒楄〃
+ */
+ @ApiOperation("瀵煎嚭棰勭害璁板綍鍒楄〃")
+ //@PreAuthorize("@ss.hasPermi('smartor:record:export')")
+ @Log(title = "棰勭害璁板綍", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, ServiceAppointRecord serviceAppointRecord) {
+ List<ServiceAppointRecord> list = serviceAppointRecordService.selectServiceAppointRecordList(serviceAppointRecord);
+ ExcelUtil<ServiceAppointRecord> util = new ExcelUtil<ServiceAppointRecord>(ServiceAppointRecord.class);
+ util.exportExcel(response, list, "棰勭害璁板綍鏁版嵁");
+ }
+
+ /**
+ * 鑾峰彇棰勭害璁板綍璇︾粏淇℃伅
+ */
+ @ApiOperation("鑾峰彇棰勭害璁板綍璇︾粏淇℃伅")
+ //@PreAuthorize("@ss.hasPermi('smartor:record:query')")
+ @GetMapping(value = "/getInfo/{id}")
+ public AjaxResult getInfo(@PathVariable("id") Long id) {
+ return success(serviceAppointRecordService.selectServiceAppointRecordById(id));
+ }
+
+ /**
+ * 鏂板棰勭害璁板綍
+ */
+ @ApiOperation("鏂板棰勭害璁板綍")
+ //@PreAuthorize("@ss.hasPermi('smartor:record:add')")
+ @Log(title = "棰勭害璁板綍", businessType = BusinessType.INSERT)
+ @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
+ @PostMapping("/add")
+ public AjaxResult add(@RequestBody ServiceAppointRecord serviceAppointRecord) {
+ return toAjax(serviceAppointRecordService.insertServiceAppointRecord(serviceAppointRecord));
+ }
+
+ /**
+ * 淇敼棰勭害璁板綍
+ */
+ @ApiOperation("淇敼棰勭害璁板綍")
+ //@PreAuthorize("@ss.hasPermi('smartor:record:edit')")
+ @Log(title = "棰勭害璁板綍", businessType = BusinessType.UPDATE)
+ @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
+ @PostMapping("/edit")
+ public AjaxResult edit(@RequestBody ServiceAppointRecord serviceAppointRecord) {
+ return toAjax(serviceAppointRecordService.updateServiceAppointRecord(serviceAppointRecord));
+ }
+
+ /**
+ * 鍒犻櫎棰勭害璁板綍
+ */
+ @ApiOperation("鍒犻櫎棰勭害璁板綍")
+ //@PreAuthorize("@ss.hasPermi('smartor:record:remove')")
+ @Log(title = "棰勭害璁板綍", businessType = BusinessType.DELETE)
+ @GetMapping("/remove/{ids}")
+ public AjaxResult remove(@PathVariable Long[] ids) {
+ return toAjax(serviceAppointRecordService.deleteServiceAppointRecordByIds(ids));
+ }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceOutPathController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceOutPathController.java
index 2b6c7cf..1065ee7 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceOutPathController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceOutPathController.java
@@ -142,6 +142,17 @@
return toAjax(serviceOutPathService.insertServiceOutPath(serviceOutPath));
}
+
+ /**
+ * 鏂板涓婚敭
+ */
+ @ApiOperation("鏂板涓婚敭")
+ @Log(title = "涓婚敭", businessType = BusinessType.INSERT)
+ @PostMapping("/addOutPath")
+ public AjaxResult addOutPath(@RequestBody ServiceOutPath serviceOutPath) {
+ return success(serviceOutPathService.addOutPath(serviceOutPath));
+ }
+
/**
* 淇敼涓婚敭
*/
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskAnswerController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskAnswerController.java
index 661753f..f384ec7 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskAnswerController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskAnswerController.java
@@ -164,8 +164,8 @@
@PostMapping("/getQuestionCache")
public AjaxResult getQuestionCache(@RequestBody ServiceSubTaskCacheReq serviceSubTaskCacheReq) {
log.info("銆恠aveQuestionCache-----getQuestionCache銆戠殑鍏ュ弬涓猴細{}", serviceSubTaskCacheReq);
- if (StringUtils.isEmpty(serviceSubTaskCacheReq.getParam1()) || StringUtils.isEmpty(serviceSubTaskCacheReq.getParam2()))
- throw new BaseException("璇锋鏌aram1鎴杙aram2鐨勫��");
+// if (StringUtils.isEmpty(serviceSubTaskCacheReq.getParam1()) || StringUtils.isEmpty(serviceSubTaskCacheReq.getParam2()))
+// throw new BaseException("璇锋鏌aram1鎴杙aram2鐨勫��");
return AjaxResult.success(serviceSubtaskAnswerService.getQuestionCache(serviceSubTaskCacheReq, 0L));
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
index caa866b..73b9e8b 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskController.java
@@ -1,11 +1,7 @@
package com.ruoyi.web.controller.smartor;
import com.alibaba.fastjson.JSON;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
import com.github.pagehelper.ISelect;
-import com.google.gson.Gson;
-import com.google.gson.reflect.TypeToken;
import com.ruoyi.common.annotation.AddOrgId;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.HttpStatus;
@@ -16,9 +12,7 @@
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.redis.RedisCache;
-import com.ruoyi.common.dx.MessageSend;
import com.ruoyi.common.enums.BusinessType;
-import com.ruoyi.common.enums.MsgLSEnum;
import com.ruoyi.common.enums.PreachFormEnum;
import com.ruoyi.common.enums.SendStateEnum;
import com.ruoyi.common.exception.base.BaseException;
@@ -27,11 +21,8 @@
import com.ruoyi.common.utils.reflect.ReflectUtils;
import com.ruoyi.quartz.service.ICollectHISService;
import com.ruoyi.quartz.task.RyTask;
-import com.ruoyi.system.domain.SysConfig;
import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.system.service.ISysUserDeptService;
-import com.smartor.common.LSHospTokenUtil;
-import com.smartor.common.QwenLLMUtil;
import com.smartor.domain.*;
import com.smartor.domain.VO.HeLibraryCountVO;
import com.smartor.domain.VO.ServiceSubtaskCotinueCountVO;
@@ -53,8 +44,6 @@
import javax.servlet.http.HttpServletResponse;
import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@@ -111,7 +100,6 @@
@ApiOperation("鏌ヨ鎮h�呴殢璁夸俊鎭�")
@PostMapping("/patItem")
public Map<String, Object> patItem(@RequestBody ServiceSubtaskVO serviceSubtaskVO) {
-
serviceSubtaskVO.setPageNum(PageUtils.getOffset(serviceSubtaskVO.getPageNum(), serviceSubtaskVO.getPageSize()));
List<ServiceSubtaskRes> serviceSubtaskList = null;
LoginUser loginUser = getLoginUser();
@@ -189,6 +177,15 @@
if (ObjectUtils.isNotEmpty(loginUser) && ObjectUtils.isNotEmpty(loginUser.getUser())) {
userId = loginUser.getUser().getUserId();
}
+ if (serviceSubtaskEntity.getSendstateView() != null) {
+ // 1锛氬緟闅忚锛�1 琚鍙栥��2 寰呭彂閫併��3 宸插彂閫併��5 鍙戦�佸け璐ャ��7銆佽秴鏃讹級锛�2锛氬凡瀹屾垚锛� 6 宸插畬鎴愶級銆�3锛氭棤闇�闅忚锛�4 涓嶆墽琛岋級
+ if (serviceSubtaskEntity.getSendstateView() == 1)
+ serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(1L, 2L, 3L, 5L, 7L)));
+ if (serviceSubtaskEntity.getSendstateView() == 2)
+ serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(6L)));
+ if (serviceSubtaskEntity.getSendstateView() == 3)
+ serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(4L)));
+ }
if (ObjectUtils.isNotEmpty(userId)) {
Map<String, Object> redisMap = redisCache.getCacheObject(userId + "patItemCount");
Boolean redisFlag = false;
@@ -258,14 +255,13 @@
//鑾峰彇serviceSubtaskList涓殑鎵�鏈塼askid
List<Long> taskIds = serviceSubtaskList.stream().map(ServiceSubtaskRes::getTaskid).filter(ObjectUtils::isNotEmpty).distinct().collect(Collectors.toList());
- serviceSubtaskDetailRatioExports = serviceSubtaskService.statQuestionOption(taskIds);
+ serviceSubtaskDetailRatioExports = serviceSubtaskService.statQuestionOption(taskIds, serviceSubtaskVO.getStartOutHospTime(), serviceSubtaskVO.getEndOutHospTime());
}
ExcelUtil<ServiceSubtaskExport> util = new ExcelUtil<ServiceSubtaskExport>(ServiceSubtaskExport.class);
- util.exportExcelTwoSheet(response, serviceSubtaskExports, "鎮h�呴殢璁夸俊鎭〃鍗�",
- serviceSubtaskDetailRatioExports, "闂璇︽儏鍗犳瘮", ServiceSubtaskDetailRatioExport.class);
+ util.exportExcelTwoSheet(response, serviceSubtaskExports, "鎮h�呴殢璁夸俊鎭〃鍗�", serviceSubtaskDetailRatioExports, "闂璇︽儏鍗犳瘮", ServiceSubtaskDetailRatioExport.class);
}
/**
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTaskController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTaskController.java
index 801edca..f8fa458 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTaskController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTaskController.java
@@ -222,14 +222,15 @@
log.info("getScriptInfoByCondition鍏ュ弬涓猴細{}", serviceTaskScriptQues);
try {
tid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceTaskScriptQues.getParam1(), pri_key));
- pid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceTaskScriptQues.getParam2(), pri_key));
+ if (StringUtils.isNotEmpty(serviceTaskScriptQues.getParam2()))
+ pid = Long.valueOf(rsaPublicKeyExample.decryptedData(serviceTaskScriptQues.getParam2(), pri_key));
} catch (Exception e) {
log.error("getScriptInfoByCondition鎶ラ敊浜嗭細{}", e.getMessage());
}
log.info("tid鍜宲id鐨勫�间负锛歿},{}", tid, pid);
if (StringUtils.isEmpty(serviceTaskScriptQues.getPatfrom())) serviceTaskScriptQues.setPatfrom("0");
- return success(serviceTaskService.getScriptInfoByCondition(tid, pid, true, serviceTaskScriptQues.getPatfrom(),null));
+ return success(serviceTaskService.getScriptInfoByCondition(tid, pid, true, serviceTaskScriptQues.getPatfrom(), null));
}
@@ -253,7 +254,7 @@
log.info("tid鍜宲id鐨勫�间负锛歿},{}", tid, pid);
if (StringUtils.isEmpty(serviceTaskScriptQues.getPatfrom())) serviceTaskScriptQues.setPatfrom("0");
- return success(serviceTaskService.getScriptInfoByCondition(tid, pid, true, serviceTaskScriptQues.getPatfrom(),null));
+ return success(serviceTaskService.getScriptInfoByCondition(tid, pid, true, serviceTaskScriptQues.getPatfrom(), null));
}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/HttpUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/HttpUtil.java
index 8f21b07..0310368 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/HttpUtil.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/HttpUtil.java
@@ -95,7 +95,7 @@
return httpClient;
}
- public static String postJsonRequest(String url, String request) throws HttpRequestException {
+ public static Boolean postJsonRequest(String url, String request) throws HttpRequestException {
Assert.hasLength(url, "璇锋眰url涓嶈兘涓虹┖瀛楃涓层��");
EntityEnclosingMethod httpMethod = new PostMethod(url);
@@ -122,7 +122,7 @@
if (inputStream == null) {
throw new HttpRequestException(RESPONSE_NULL_ERROR_CODE, "鍝嶅簲涓簄ull");
}
- BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream,charset));
+ BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, charset));
StringBuffer stringBuffer = new StringBuffer();
String str = "";
while ((str = reader.readLine()) != null) {
@@ -132,7 +132,7 @@
String respJson = stringBuffer.toString();
// String respJson = httpMethod.getResponseBodyAsString();
if (resultCode == OK) {
- return respJson;
+ return true;
} else {
throw new HttpRequestException(resultCode, respJson);
}
@@ -153,8 +153,6 @@
* json鐨刾ost璇锋眰
*
* @param url 璇锋眰url
- * @param reqEntity 璇锋眰澶翠笌璇锋眰浣撶殑灏佽
- * @param respBodyClass 鍝嶅簲浣撶被鍨�
* @return 杩斿洖鐨勫搷搴旂粨鏋�
*/
public static String postXmlRequest(String url, String request) throws HttpRequestException {
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java
index 8d6aff4..3de259b 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java
@@ -108,10 +108,11 @@
* @param param 璇锋眰鍙傛暟锛岃姹傚弬鏁板簲璇ユ槸 name1=value1&name2=value2 鐨勫舰寮忋��
* @return 鎵�浠h〃杩滅▼璧勬簮鐨勫搷搴旂粨鏋�
*/
- public static String sendPost(String url, String param) {
+ public static Boolean sendPost(String url, String param) {
PrintWriter out = null;
BufferedReader in = null;
StringBuilder result = new StringBuilder();
+ boolean success = false;
try {
log.info("sendPost - {}", url);
URL realUrl = new URL(url);
@@ -135,6 +136,7 @@
result.append(line);
}
log.info("recv - {}", result);
+ success = true;
} catch (ConnectException e) {
log.error("璋冪敤HttpUtils.sendPost ConnectException, url=" + url + ",param=" + param, e);
} catch (SocketTimeoutException e) {
@@ -155,7 +157,7 @@
log.error("璋冪敤in.close Exception, url=" + url + ",param=" + param, ex);
}
}
- return result.toString();
+ return success;
}
public static String sendPostByHeaderOld(String url, String param, Map<String, String> headers) {
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/sms/smsUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/sms/smsUtils.java
index 181ebdc..d650902 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/sms/smsUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/sms/smsUtils.java
@@ -39,8 +39,8 @@
"\"timestamp\": " + timestamp + "," +
"\"sign\": \"" + sign + "\"" +
"}";
- String sendMsg=HttpUtil.postJsonRequest(url, jsonMsg);
- return sendMsg;
+ Boolean sendMsg=HttpUtil.postJsonRequest(url, jsonMsg);
+ return sendMsg.toString();
}
@@ -66,8 +66,8 @@
"\"timestamp\": " + timestamp + "," +
"\"sign\": \"" + sign + "\"" +
"}";
- String sendMsg=HttpUtil.postJsonRequest(url, jsonMsg);
- return sendMsg;
+ Boolean sendMsg=HttpUtil.postJsonRequest(url, jsonMsg);
+ return sendMsg.toString();
}
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
index db1afbc..0422675 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -12,7 +12,6 @@
import com.ruoyi.common.enums.MsgLSEnum;
import com.ruoyi.common.enums.ServiceFromEnum;
import com.ruoyi.common.enums.WxGZHEnum;
-import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.*;
import com.ruoyi.common.utils.http.HttpUtils;
import com.ruoyi.common.utils.sms.smsUtils;
@@ -35,7 +34,6 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
-import org.springframework.web.bind.annotation.RequestParam;
import java.io.IOException;
import java.net.URLEncoder;
@@ -49,6 +47,7 @@
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.*;
+import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import static cn.hutool.core.convert.Convert.toHex;
@@ -115,6 +114,9 @@
@Value("${xhsmsPwd}")
private String xhsmsPwd;
+ // 铏氭嫙鎺ュ叆鐮�
+ @Value("${xhsmsjrm}")
+ private String xhsmsjrm;
@Value("${pub_key}")
private String pub_key;
@@ -235,6 +237,15 @@
serviceSubtaskAnswerService.saveQuestionAnswer(null, 0L);
}
+ /**
+ * 鑾峰彇棰勭害鍋滆瘖璁板綍淇℃伅
+ *
+ */
+ public void getAppointRecordInfo() {
+ LocalDateTime tomorrowStart = LocalDate.now().plusDays(1).atStartOfDay(); // 鏄庡ぉ 00:00:00
+ LocalDateTime tomorrowEnd = tomorrowStart.plusDays(1).minusSeconds(1); // 鏄庡ぉ 23:59:59
+ ixhGatherPatArchiveService.getAppointRecordInfo("2", tomorrowStart, tomorrowEnd);
+ }
/**
* HIS鏁版嵁閲囬泦
@@ -328,78 +339,159 @@
aBoolean = serviceSLTDHealthcareRecordService.queryHospUserInfoList(reqVO);
}
log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滅敤鎴蜂俊鎭�濈粨鏉熼噰闆嗘暟鎹細{}", aBoolean);
+ //鐤剧梾瀛楀吀閲囬泦
+ iIcd10Service.queryAddIcd10();
}
- //鐤剧梾瀛楀吀閲囬泦
- iIcd10Service.queryAddIcd10();
- // 鐪佺珛鍚屽痉鏁版嵁閲囬泦
- for (Long cid : campusidList) {
- log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈鍏ラ櫌鈥濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
- String nowTime = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
- ServiceSLTDInhospReqVO serviceSLTDInhospReqVO = new ServiceSLTDInhospReqVO();
- serviceSLTDInhospReqVO.setOrgId("20001001");
- serviceSLTDInhospReqVO.setCampusId(cid);
- serviceSLTDInhospReqVO.setEncounterTimeStart(nowTime);
- serviceSLTDInhospReqVO.setEncounterTimeEnd(nowTime);
- if (active.trim().equals("nhfy")) {
- serviceSLTDInhospReqVO.setEncounterTimeStart(yesterdayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
- serviceSLTDInhospReqVO.setEncounterTimeEnd(todayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+ // nhfy/sltd鍥炴函30澶╁垎娈甸噰闆嗗垽鏂紙姣忔鏈�澶�7澶╋級
+ boolean isBackfill = (active.trim().equals("nhfy") || active.trim().equals("sltd")) && StringUtils.isNotBlank(todayZeroStr);
+ if (isBackfill) {
+ DateTimeFormatter dateFmt = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+ LocalDate segStart = todayZero.toLocalDate().minusDays(30);
+ LocalDate segEndDate = todayZero.toLocalDate();
+ int segCount = 0;
+ while (!segStart.isAfter(segEndDate)) {
+ LocalDate segEnd = segStart.plusDays(6);
+ if (segEnd.isAfter(segEndDate)) {
+ segEnd = segEndDate;
+ }
+ segCount++;
+ log.info("銆恉ealHisData銆憑}鍥炴函绗瑊}娈甸噰闆嗭紝鏃ユ湡鑼冨洿锛歿} ~ {}", active.trim(), segCount, segStart.format(dateFmt), segEnd.format(dateFmt));
+ for (Long cid : campusidList) {
+ collectSegmentData(cid, segStart.format(dateFmt), segEnd.format(dateFmt));
+ }
+ segStart = segEnd.plusDays(1);
}
- List<String> list = new ArrayList<>();
- list.add("FH0109.22");
- list.add("FH0109.23");
- list.add("FH0109.53");
- serviceSLTDInhospReqVO.setStatusList(list);
- log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈鍏ラ櫌鈥濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
- serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
- log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈鍏ラ櫌鈥濈祼鏉熼噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+ log.info("銆恉ealHisData銆憑}鍥炴函閲囬泦瀹屾垚锛屽叡{}娈�", active.trim(), segCount);
+ }
- log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
- serviceSLTDInhospReqVO.setOrgId("20001001");
- serviceSLTDInhospReqVO.setCampusId(cid);
- serviceSLTDInhospReqVO.setEncounterTimeStart(null);
- serviceSLTDInhospReqVO.setEncounterTimeEnd(null);
- serviceSLTDInhospReqVO.setStartHeadTime(nowTime);
- serviceSLTDInhospReqVO.setStartTailTime(nowTime);
- if (active.trim().equals("nhfy")) {
- serviceSLTDInhospReqVO.setStartHeadTime(yesterdayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
- serviceSLTDInhospReqVO.setStartTailTime(todayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
- }
- List<String> listStr = new ArrayList<>();
- listStr.add("FH0109.24");
- serviceSLTDInhospReqVO.setStatusList(listStr);
- log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
- serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
- log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濈祼鏉熼噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+ // 鐪佺珛鍚屽痉鏁版嵁閲囬泦锛堥潪鍥炴函妯″紡鎵嶆墽琛岋級
+ if (!isBackfill) {
+ for (Long cid : campusidList) {
+ log.info("銆恉ealHisData銆戠渷绔嬪悓寰烽鍏ラ櫌寮�濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+ String nowTime = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+ ServiceSLTDInhospReqVO serviceSLTDInhospReqVO = new ServiceSLTDInhospReqVO();
+ serviceSLTDInhospReqVO.setOrgId("20001001");
+ serviceSLTDInhospReqVO.setCampusId(cid);
+ serviceSLTDInhospReqVO.setEncounterTimeStart(nowTime);
+ serviceSLTDInhospReqVO.setEncounterTimeEnd(nowTime);
+ if (active.trim().equals("nhfy")) {
+ serviceSLTDInhospReqVO.setEncounterTimeStart(yesterdayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+ serviceSLTDInhospReqVO.setEncounterTimeEnd(todayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+ }
+ List<String> list = new ArrayList<>();
+ list.add("FH0109.22");
+ list.add("FH0109.23");
+ list.add("FH0109.53");
+ serviceSLTDInhospReqVO.setStatusList(list);
+ log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈鍏ラ櫌鈥濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
+ serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
+ log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈鍏ラ櫌鈥濈祼鏉熼噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
- log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
- serviceSLTDInhospReqVO.setStartHeadTime(null);
- serviceSLTDInhospReqVO.setStartTailTime(null);
- serviceSLTDInhospReqVO.setEncounterTimeStart(null);
- serviceSLTDInhospReqVO.setEncounterTimeEnd(null);
- serviceSLTDInhospReqVO.setPreOutHospitalHeadDate(nowTime);
- serviceSLTDInhospReqVO.setPreOutHospitalTailDate(nowTime);
- if (active.trim().equals("nhfy")) {
- serviceSLTDInhospReqVO.setPreOutHospitalHeadDate(yesterdayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
- serviceSLTDInhospReqVO.setPreOutHospitalTailDate(todayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
- }
- serviceSLTDInhospReqVO.setHealthcareRecordTypeList(null);
- List<String> list2 = new ArrayList<>();
+ log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+ serviceSLTDInhospReqVO.setOrgId("20001001");
+ serviceSLTDInhospReqVO.setCampusId(cid);
+ serviceSLTDInhospReqVO.setEncounterTimeStart(null);
+ serviceSLTDInhospReqVO.setEncounterTimeEnd(null);
+ serviceSLTDInhospReqVO.setStartHeadTime(nowTime);
+ serviceSLTDInhospReqVO.setStartTailTime(nowTime);
+ if (active.trim().equals("nhfy")) {
+ serviceSLTDInhospReqVO.setStartHeadTime(yesterdayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+ serviceSLTDInhospReqVO.setStartTailTime(todayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+ }
+ List<String> listStr = new ArrayList<>();
+ listStr.add("FH0109.24");
+ serviceSLTDInhospReqVO.setStatusList(listStr);
+ log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
+ serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
+ log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濈祼鏉熼噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+
+ log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+ serviceSLTDInhospReqVO.setStartHeadTime(null);
+ serviceSLTDInhospReqVO.setStartTailTime(null);
+ serviceSLTDInhospReqVO.setEncounterTimeStart(null);
+ serviceSLTDInhospReqVO.setEncounterTimeEnd(null);
+ serviceSLTDInhospReqVO.setPreOutHospitalHeadDate(nowTime);
+ serviceSLTDInhospReqVO.setPreOutHospitalTailDate(nowTime);
+ if (active.trim().equals("nhfy")) {
+ serviceSLTDInhospReqVO.setPreOutHospitalHeadDate(yesterdayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+ serviceSLTDInhospReqVO.setPreOutHospitalTailDate(todayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+ }
+ serviceSLTDInhospReqVO.setHealthcareRecordTypeList(null);
+ List<String> list2 = new ArrayList<>();
// list2.add("FH0108.02");
- //鍑洪櫌
- list2.add("FH0109.27");
- //棰勫嚭闄�
- list2.add("FH0109.25");
- serviceSLTDInhospReqVO.setStatusList(list2);
- log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
- serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
- log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濇潫閲囬泦鏁版嵁锛岄櫌鍖猴細{}", cid);
+ //鍑洪櫌
+ list2.add("FH0109.27");
+ //棰勫嚭闄�
+ list2.add("FH0109.25");
+ serviceSLTDInhospReqVO.setStatusList(list2);
+ log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
+ serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
+ log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濇潫閲囬泦鏁版嵁锛岄櫌鍖猴細{}", cid);
+ }
}
} catch (Exception e) {
log.error("銆恉ealHisData銆戠渷绔嬪悓寰锋暟鎹噰闆嗗紓甯�", e);
}
}
+ }
+
+ /**
+ * 鍒嗘閲囬泦鏁版嵁锛堥鍏ラ櫌銆佸叆闄€�佸嚭闄級
+ * 鐢ㄤ簬nhfy/sltd鍥炴函閲囬泦锛屾瘡娆℃渶澶氭煡璇�7澶╂暟鎹�
+ *
+ * @param cid 闄㈠尯ID
+ * @param startDateStr 鏃ユ湡寮�濮� yyyy-MM-dd
+ * @param endDateStr 鏃ユ湡缁撴潫 yyyy-MM-dd
+ */
+ private void collectSegmentData(Long cid, String startDateStr, String endDateStr) {
+ // 棰勫叆闄�
+ log.info("銆恉ealHisData銆戦鍏ラ櫌寮�濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}锛屾椂闂存锛歿} ~ {}", cid, startDateStr, endDateStr);
+ ServiceSLTDInhospReqVO reqVO = new ServiceSLTDInhospReqVO();
+ reqVO.setOrgId("20001001");
+ reqVO.setCampusId(cid);
+ reqVO.setEncounterTimeStart(startDateStr);
+ reqVO.setEncounterTimeEnd(endDateStr);
+ List<String> preAdmitStatus = new ArrayList<>();
+ preAdmitStatus.add("FH0109.22");
+ preAdmitStatus.add("FH0109.23");
+ preAdmitStatus.add("FH0109.53");
+ reqVO.setStatusList(preAdmitStatus);
+ log.info("銆恉ealHisData銆戦鍏ラ櫌閲囬泦鏁版嵁鍏ュ弬锛歿}", reqVO);
+ serviceSLTDHealthcareRecordService.queryHealthcareRecordList(reqVO);
+ log.info("銆恉ealHisData銆戦鍏ラ櫌绲備簡閲囬泦鏁版嵁锛岄櫌鍖猴細{}", cid);
+
+ // 鍏ラ櫌
+ log.info("銆恉ealHisData銆戝叆闄㈠紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}锛屾椂闂存锛歿} ~ {}", cid, startDateStr, endDateStr);
+ reqVO = new ServiceSLTDInhospReqVO();
+ reqVO.setOrgId("20001001");
+ reqVO.setCampusId(cid);
+ reqVO.setStartHeadTime(startDateStr);
+ reqVO.setStartTailTime(endDateStr);
+ List<String> admitStatus = new ArrayList<>();
+ admitStatus.add("FH0109.24");
+ reqVO.setStatusList(admitStatus);
+ log.info("銆恉ealHisData銆戝叆闄㈤噰闆嗘暟鎹叆鍙傦細{}", reqVO);
+ serviceSLTDHealthcareRecordService.queryHealthcareRecordList(reqVO);
+ log.info("銆恉ealHisData銆戝叆闄㈢祩浜嗛噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+
+ // 鍑洪櫌
+ log.info("銆恉ealHisData銆戝嚭闄㈠紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}锛屾椂闂存锛歿} ~ {}", cid, startDateStr, endDateStr);
+ reqVO = new ServiceSLTDInhospReqVO();
+ reqVO.setOrgId("20001001");
+ reqVO.setCampusId(cid);
+ reqVO.setPreOutHospitalHeadDate(startDateStr);
+ reqVO.setPreOutHospitalTailDate(endDateStr);
+ List<String> dischargeStatus = new ArrayList<>();
+ //鍑洪櫌
+ dischargeStatus.add("FH0109.27");
+ //棰勫嚭闄�
+ dischargeStatus.add("FH0109.25");
+ reqVO.setStatusList(dischargeStatus);
+ log.info("銆恉ealHisData銆戝嚭闄㈤噰闆嗘暟鎹叆鍙傦細{}", reqVO);
+ serviceSLTDHealthcareRecordService.queryHealthcareRecordList(reqVO);
+ log.info("銆恉ealHisData銆戝嚭闄㈢粨鏉熼噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
}
/**
@@ -415,7 +507,7 @@
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
todayZero = LocalDateTime.parse(todayZeroStr, formatter);
}
- LocalDateTime yesterdayZero = todayZero.minusDays(1);
+ LocalDateTime tomorrowdayZero = todayZero.plusDays(1);
if (active.trim().equals("sltd") || active.trim().equals("nhfy")) {
//鐪佺珛鍚屽痉涓庡崕鍗楅檮涓�鐢ㄥ悓涓�濂楅噰闆嗘柟娉曪紙閮芥槸鏉ユ湭鏉ユ彁渚涳級
@@ -436,6 +528,7 @@
}
// 鐪佺珛鍚屽痉鏁版嵁閲囬泦
+ log.info("--campusidList鐨勫�间负锛歿}", campusidList);
for (Long cid : campusidList) {
String nowTime = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
ServiceSLTDInhospReqVO serviceSLTDInhospReqVO = new ServiceSLTDInhospReqVO();
@@ -444,24 +537,26 @@
serviceSLTDInhospReqVO.setEncounterTimeStart(nowTime);
serviceSLTDInhospReqVO.setEncounterTimeEnd(nowTime);
- // 闂ㄦ�ヨ瘖鍒嗛〉閲囬泦锛氭瘡椤�1000鏉★紝鐩村埌鏃犳暟鎹负姝�(鍗楀崕闄勪竴鐨勫厛涓嶉噰闂ㄦ�ヨ瘖鏁版嵁)
+ // 闂ㄦ�ヨ瘖鍒嗛〉閲囬泦锛氭瘡椤�40鏉★紝鐩村埌鏃犳暟鎹负姝�(鍗楀崕闄勪竴鐨勫厛涓嶉噰闂ㄦ�ヨ瘖鏁版嵁)
if (active.trim().equals("sltd")) {
log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濆紑濮嬪垎椤甸噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
serviceSLTDInhospReqVO.setStartHeadTime(null);
serviceSLTDInhospReqVO.setStartTailTime(null);
-// serviceSLTDInhospReqVO.setEncounterTimeStart(nowTime);
-// serviceSLTDInhospReqVO.setEncounterTimeEnd(nowTime);
-// if (yesterdayZero != null) {
- serviceSLTDInhospReqVO.setEncounterTimeStart(yesterdayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
- serviceSLTDInhospReqVO.setEncounterTimeEnd(todayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
-// }
+ //鏌ヨ褰撳ぉ鐨勬暟鎹�
+ serviceSLTDInhospReqVO.setEncounterTimeEnd(tomorrowdayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+ serviceSLTDInhospReqVO.setEncounterTimeStart(todayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
serviceSLTDInhospReqVO.setStatusList(null);
List<String> list1 = new ArrayList<>();
list1.add("FH0108.01");
list1.add("FH0108.03");
serviceSLTDInhospReqVO.setHealthcareRecordTypeList(list1);
- long outpPage = 1L;
- final long OUTP_PAGE_SIZE = 1000L;
+ //浠庣紦瀛橀噷鑾峰彇璧峰椤碉紙闆剁偣鍓�10鍒嗛挓鍐呯敤鏄ㄥぉ鐨勬棩鏈燂紝閬垮厤璺ㄥぉ婕忛噰锛�
+ LocalDateTime now = LocalDateTime.now();
+ String mzCacheDate = (now.getHour() == 0 && now.getMinute() < 10) ? now.minusDays(1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) : now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+ Long outpPage = redisCache.getCacheObject("mzCurrent" + cid + mzCacheDate);
+ if (outpPage == null) outpPage = 1L;
+ //閭h竟鏆傛椂鍙兘璁剧疆40
+ final long OUTP_PAGE_SIZE = 500L;
while (true) {
serviceSLTDInhospReqVO.setCurrent(outpPage);
serviceSLTDInhospReqVO.setSize(OUTP_PAGE_SIZE);
@@ -473,6 +568,9 @@
}
log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濈{}椤甸噰闆唟}鏉★紝闄㈠尯锛歿}", outpPage, outpResult.size(), cid);
if (outpResult.size() < OUTP_PAGE_SIZE) {
+ //璁剧疆涓�涓紦瀛橈紝鐢ㄦ潵瀛樺湪涓嬫鐨勮捣濮嬮〉
+ redisCache.setCacheObject("mzCurrent" + cid + mzCacheDate, outpPage, 24, TimeUnit.HOURS);
+ log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濈殑缂撳瓨key:{}涓嬫鐨勮捣濮嬮〉{}锛岄櫌鍖猴細{}", "mzCurrent" + cid + mzCacheDate, outpPage, cid);
break;
}
outpPage++;
@@ -488,6 +586,26 @@
}
}
}
+
+ /**
+ * 鍚屽痉鑽搧鏁版嵁閲囬泦
+ */
+
+ public void dealHisDataMedication() {
+ final long OUTP_PAGE_SIZE = 500L;
+ ServiceSLTDInhospReqVO serviceSLTDInhospReqVO = new ServiceSLTDInhospReqVO();
+ serviceSLTDInhospReqVO.setOrgId("20001001");
+ Long outpPage = 1L;
+ while (true) {
+ serviceSLTDInhospReqVO.setCurrent(outpPage);
+ serviceSLTDInhospReqVO.setSize(OUTP_PAGE_SIZE);
+ log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滆嵂鍝佹暟鎹�濋噰闆嗙{}椤垫暟鎹�", outpPage);
+ Boolean b = serviceSLTDHealthcareRecordService.queryMedicationItemList(serviceSLTDInhospReqVO);
+ log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滆嵂鍝佹暟鎹�濋噰闆嗙粨鏋滐細{}", b);
+ outpPage++;
+ }
+ }
+
public void dealHisDataSLTD() {
log.info("銆恉ealHisData銆戝紑濮嬫墽琛孒IS鏁版嵁閲囬泦浠诲姟");
@@ -929,9 +1047,9 @@
SysConfig sysConfig = new SysConfig();
if (StringUtils.isNotEmpty(serviceSubtask.getServiceType()) && serviceSubtask.getServiceType().equals("6")) {
sysConfig = sysConfigMapper.checkConfigKeyUnique("zymyd.sms.template");
- }else if (StringUtils.isNotEmpty(serviceSubtask.getServiceType()) && serviceSubtask.getServiceType().equals("14")) {
+ } else if (StringUtils.isNotEmpty(serviceSubtask.getServiceType()) && serviceSubtask.getServiceType().equals("14")) {
sysConfig = sysConfigMapper.checkConfigKeyUnique("mzmyd.sms.template");
- }else {
+ } else {
sysConfig = sysConfigMapper.checkConfigKeyUnique("wj.sms.template");
}
if (!Objects.isNull(sysConfig)) {
@@ -965,9 +1083,29 @@
log.info("active鐨勫�间负锛歿}", active);
if (active.equals("xh")) {
Map<String, String> req = new HashMap<>();
- req.put("phone", sendMagParam.getPhone());
- req.put("content", sendMagParam.getContent());
- isSuccess = HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(req));
+// req.put("phone", sendMagParam.getPhone());
+// req.put("content", sendMagParam.getContent());
+ Map<String, String> map2 = new HashMap<String, String>();
+ map2.put("action", "send");
+ map2.put("account", xhsmsAccount);
+ map2.put("password", xhsmsPwd);
+ map2.put("mobile", sendMagParam.getPhone());
+ map2.put("content", sendMagParam.getContent());
+ map2.put("extno", xhsmsjrm);
+ map2.put("rt", "json");
+ StringBuilder encodedParams = new StringBuilder();
+
+ for (Map.Entry<String, String> entry : map2.entrySet()) {
+ if (encodedParams.length() > 0) {
+ encodedParams.append("&");
+ }
+ // 瀵归敭鍜屽�艰繘琛孶RL缂栫爜
+ String encodedKey = URLEncoder.encode(entry.getKey(), "UTF-8");
+ String encodedValue = URLEncoder.encode(entry.getValue(), "UTF-8");
+ encodedParams.append(encodedKey).append("=").append(encodedValue);
+ }
+ Boolean result = HttpUtils.sendPost(xhsmsPath, new Gson().toJson(req));
+ if (result) isSuccess = "true";
} else if (active.equals("ls")) {
// String url = configService.selectConfigByKey("token.360", serviceSubtask.getOrgid());
// //涓芥按鐨勭煭淇″彂閫佹柟寮�
@@ -1511,7 +1649,7 @@
return serviceTaskMap;
}
- public int qwenLLMTest(String questionText, String voiceText,String value,String regexText) {
+ public int qwenLLMTest(String questionText, String voiceText, String value, String regexText) {
int result = QwenLLMUtil.matchRegex(questionText, voiceText, value, regexText);
return result;
}
diff --git a/ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml b/ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml
index 13d62a8..2617f5d 100644
--- a/ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml
+++ b/ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml
@@ -221,6 +221,7 @@
<result property="futypedesc" column="futypedesc"/>
<result property="fuadvice" column="fuadvice"/>
<result property="fuspecialadvice" column="fuspecialadvice"/>
+ <result property="inhospMydFlag" column="inhosp_myd_flag"/>
</resultMap>
<resultMap type="com.smartor.domain.PatMedOuthosp" id="PatMedOuthospResult">
@@ -654,6 +655,7 @@
b.leavehospitaldistrictname,
b.leavehospitaldistrictid,
b.deptid,
+ b.inhosp_myd_flag,
b.leaveldeptid
FROM
healthy_inhosp b
diff --git a/smartor/src/main/java/com/smartor/domain/MedicationDoseInfo.java b/smartor/src/main/java/com/smartor/domain/MedicationDoseInfo.java
new file mode 100644
index 0000000..1375e96
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/MedicationDoseInfo.java
@@ -0,0 +1,59 @@
+package com.smartor.domain;
+
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 鑽搧鍓傞噺淇℃伅瀵硅薄 medication_dose_info
+ *
+ * @author lihu
+ * @date 2026-07-17
+ */
+@Data
+@ApiModel("鑽搧鍓傞噺淇℃伅")
+public class MedicationDoseInfo extends BaseEntity
+ {
+private static final long serialVersionUID = 1L;
+
+ /** 涓婚敭ID */
+ @ApiModelProperty("涓婚敭ID")
+ //鏁版嵁搴撹嚜澧炴敼鎴怈TableId(type = IdType.AUTO)
+ private Long id;
+
+ /** 鑽搧ID锛堝叧鑱攎edication_item.id锛� */
+ @ApiModelProperty("鑽搧ID锛堝叧鑱攎edication_item.id锛�")
+ @Excel(name = "鑽搧ID", readConverterExp = "鍏�=鑱攎edication_item.id")
+ private Long medicationItemId;
+
+ /** 鍓傞噺灏忓寘瑁呰浆鎹㈡瘮 */
+ @ApiModelProperty("鍓傞噺灏忓寘瑁呰浆鎹㈡瘮")
+ @Excel(name = "鍓傞噺灏忓寘瑁呰浆鎹㈡瘮")
+ private BigDecimal doseSmallPackageRation;
+
+ /** 鍓傞噺 */
+ @ApiModelProperty("鍓傞噺")
+ @Excel(name = "鍓傞噺")
+ private Long dose;
+
+ /** 鍓傞噺灏忓寘瑁呮暟閲� */
+ @ApiModelProperty("鍓傞噺灏忓寘瑁呮暟閲�")
+ @Excel(name = "鍓傞噺灏忓寘瑁呮暟閲�")
+ private Long doseSmallPackageNum;
+
+ /** 鍓傞噺鍗曚綅 */
+ @ApiModelProperty("鍓傞噺鍗曚綅")
+ @Excel(name = "鍓傞噺鍗曚綅")
+ private String doseUnit;
+
+ /** 鍓傞噺鍗曚綅绫诲瀷 */
+ @ApiModelProperty("鍓傞噺鍗曚綅绫诲瀷")
+ @Excel(name = "鍓傞噺鍗曚綅绫诲瀷")
+ private Long doseUnitType;
+
+ }
+
diff --git a/smartor/src/main/java/com/smartor/domain/MedicationItem.java b/smartor/src/main/java/com/smartor/domain/MedicationItem.java
new file mode 100644
index 0000000..6274553
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/MedicationItem.java
@@ -0,0 +1,168 @@
+package com.smartor.domain;
+
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 鑽搧淇℃伅瀵硅薄 medication_item
+ *
+ * @author lihu
+ * @date 2026-07-17
+ */
+@Data
+@ApiModel("鑽搧淇℃伅")
+public class MedicationItem extends BaseEntity
+ {
+private static final long serialVersionUID = 1L;
+
+ /** 涓婚敭ID */
+ @ApiModelProperty("涓婚敭ID")
+ //鏁版嵁搴撹嚜澧炴敼鎴怈TableId(type = IdType.AUTO)
+ private Long id;
+
+ /** 鑽搧璇嗗埆鐮� */
+ @ApiModelProperty("鑽搧璇嗗埆鐮�")
+ @Excel(name = "鑽搧璇嗗埆鐮�")
+ private String identificationCode;
+
+ /** 浜旂瑪鐮� */
+ @ApiModelProperty("浜旂瑪鐮�")
+ @Excel(name = "浜旂瑪鐮�")
+ private String wbm;
+
+ /** 鑽搧閫氱敤鍚� */
+ @ApiModelProperty("鑽搧閫氱敤鍚�")
+ @Excel(name = "鑽搧閫氱敤鍚�")
+ private String medicationCommonName;
+
+ /** 鐢熶骇鍘傚鍚嶇О */
+ @ApiModelProperty("鐢熶骇鍘傚鍚嶇О")
+ @Excel(name = "鐢熶骇鍘傚鍚嶇О")
+ private String manufacturerName;
+
+ /** 鑽搧缂栫爜 */
+ @ApiModelProperty("鑽搧缂栫爜")
+ @Excel(name = "鑽搧缂栫爜")
+ private String itemCode;
+
+ /** 澶у皬鍖呰杞崲姣� */
+ @ApiModelProperty("澶у皬鍖呰杞崲姣�")
+ @Excel(name = "澶у皬鍖呰杞崲姣�")
+ private Long smallLargePackageRatio;
+
+ /** 鏈烘瀯ID */
+ @ApiModelProperty("鏈烘瀯ID")
+ @Excel(name = "鏈烘瀯ID")
+ private Long orgId;
+
+ /** 鑽搧鍚嶇О */
+ @ApiModelProperty("鑽搧鍚嶇О")
+ @Excel(name = "鑽搧鍚嶇О")
+ private String itemName;
+
+ /** 鑽搧绫诲瀷 */
+ @ApiModelProperty("鑽搧绫诲瀷")
+ @Excel(name = "鑽搧绫诲瀷")
+ private String medicationType;
+
+ /** 鎶楄弻鑽墿绛夌骇缂栫爜 */
+ @ApiModelProperty("鎶楄弻鑽墿绛夌骇缂栫爜")
+ @Excel(name = "鎶楄弻鑽墿绛夌骇缂栫爜")
+ private String antimicrobialGradeCode;
+
+ /** 鎵瑰噯鏂囧彿 */
+ @ApiModelProperty("鎵瑰噯鏂囧彿")
+ @Excel(name = "鎵瑰噯鏂囧彿")
+ private String licenseNumber;
+
+ /** 榛樿鐢ㄦ硶鍚嶇О */
+ @ApiModelProperty("榛樿鐢ㄦ硶鍚嶇О")
+ @Excel(name = "榛樿鐢ㄦ硶鍚嶇О")
+ private String defaultUsageName;
+
+ /** 鐗规畩鑽搧鍚嶇О */
+ @ApiModelProperty("鐗规畩鑽搧鍚嶇О")
+ @Excel(name = "鐗规畩鑽搧鍚嶇О")
+ private String specialDrugsName;
+
+ /** 鎶楄弻鑽墿绛夌骇鍚嶇О */
+ @ApiModelProperty("鎶楄弻鑽墿绛夌骇鍚嶇О")
+ @Excel(name = "鎶楄弻鑽墿绛夌骇鍚嶇О")
+ private String antimicrobialGradeName;
+
+ /** 閫氱敤鍚嶆嫾闊� */
+ @ApiModelProperty("閫氱敤鍚嶆嫾闊�")
+ @Excel(name = "閫氱敤鍚嶆嫾闊�")
+ private String commonPinyin;
+
+ /** 閫氱敤鍚嶄簲绗旂爜 */
+ @ApiModelProperty("閫氱敤鍚嶄簲绗旂爜")
+ @Excel(name = "閫氱敤鍚嶄簲绗旂爜")
+ private String commonWbm;
+
+ /** 鐢熶骇鍘傚ID */
+ @ApiModelProperty("鐢熶骇鍘傚ID")
+ @Excel(name = "鐢熶骇鍘傚ID")
+ private Long manufacturerId;
+
+ /** 榛樿鐢ㄦ硶ID */
+ @ApiModelProperty("榛樿鐢ㄦ硶ID")
+ @Excel(name = "榛樿鐢ㄦ硶ID")
+ private Long defaultUsageId;
+
+ /** 瑙勬牸 */
+ @ApiModelProperty("瑙勬牸")
+ @Excel(name = "瑙勬牸")
+ private String specification;
+
+ /** 灏忓寘瑁呭崟浣� */
+ @ApiModelProperty("灏忓寘瑁呭崟浣�")
+ @Excel(name = "灏忓寘瑁呭崟浣�")
+ private String smallPackageUnit;
+
+ /** 鑽搧ID锛堜笟鍔′富閿級 */
+ @ApiModelProperty("鑽搧ID锛堜笟鍔′富閿級")
+ @Excel(name = "鑽搧ID", readConverterExp = "涓�=鍔′富閿�")
+ private Long itemId;
+
+ /** 鐗规畩鑽搧缂栫爜 */
+ @ApiModelProperty("鐗规畩鑽搧缂栫爜")
+ @Excel(name = "鐗规畩鑽搧缂栫爜")
+ private String specialDrugsCode;
+
+ /** 鎷奸煶 */
+ @ApiModelProperty("鎷奸煶")
+ @Excel(name = "鎷奸煶")
+ private String pinyin;
+
+ /** 鍓傚瀷鍚嶇О */
+ @ApiModelProperty("鍓傚瀷鍚嶇О")
+ @Excel(name = "鍓傚瀷鍚嶇О")
+ private String doseFormName;
+
+ /** 澶у寘瑁呭崟浣� */
+ @ApiModelProperty("澶у寘瑁呭崟浣�")
+ @Excel(name = "澶у寘瑁呭崟浣�")
+ private String largePackageUnit;
+
+ /** 闆跺敭浠� */
+ @ApiModelProperty("闆跺敭浠�")
+ @Excel(name = "闆跺敭浠�")
+ private BigDecimal retailPrice;
+
+ /** 鐘舵�� */
+ @ApiModelProperty("鐘舵��")
+ @Excel(name = "鐘舵��")
+ private Long status;
+
+ @ApiModelProperty("鍓傞噺淇℃伅鍒楄〃")
+ private List<MedicationDoseInfo> doseInfoList;
+
+ }
+
diff --git a/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java b/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java
index fb3bbf7..8dbfa4d 100644
--- a/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java
+++ b/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java
@@ -296,7 +296,7 @@
* 绉戝闀挎湡浠诲姟锛屾槸鍚﹀鐞嗭細0鏈鐞� 1澶勭悊
*/
@ApiModelProperty(value = "闀挎湡浠诲姟锛屾槸鍚﹀鐞嗭細0鏈鐞� 1澶勭悊鎴愬姛 2澶勭悊澶辫触 ")
- private String deptcheckFlag;
+ private String deptcheckFlag;
/**
* 鐥呭尯闀挎湡浠诲姟锛屾槸鍚﹀鐞嗭細0鏈鐞� 1澶勭悊
*/
@@ -312,7 +312,7 @@
* 鍏ラ櫌绉戝闀挎湡浠诲姟锛屾槸鍚﹀鐞嗭細0鏈鐞� 1澶勭悊
*/
@ApiModelProperty(value = "鍏ラ櫌绉戝闀挎湡浠诲姟锛屾槸鍚﹀鐞嗭細0鏈鐞� 1澶勭悊鎴愬姛 2澶勭悊澶辫触 ")
- private String inDeptcheckFlag;
+ private String inDeptcheckFlag;
/**
* 鍏ラ櫌鐥呭尯闀挎湡浠诲姟锛屾槸鍚﹀鐞嗭細0鏈鐞� 1澶勭悊
@@ -499,4 +499,11 @@
@ApiModelProperty("闄㈠尯")
@Excel(name = " 闄㈠尯 ")
private String campusid;
+
+ /**
+ * '婊℃剰搴︽爣璇嗭細0鏈仛婊″害 1浣忛櫌婊″害搴� 2鍑洪櫌婊℃剰搴� 锛堝鏋滄棦瑕佸仛浣忛櫌锛屽張瑕佸仛鍑洪櫌锛屽垯鐢ㄢ��,鈥濆垎鍓诧紝渚嬪1,2锛�
+ */
+ @ApiModelProperty("'婊℃剰搴︽爣璇嗭細0鏈仛婊″害 1浣忛櫌婊″害搴� 2鍑洪櫌婊℃剰搴� 锛堝鏋滄棦瑕佸仛浣忛櫌锛屽張瑕佸仛鍑洪櫌锛屽垯鐢ㄢ��,鈥濆垎鍓诧紝渚嬪1,2锛�")
+ @Excel(name = " '婊℃剰搴︽爣璇嗭細0鏈仛婊″害 1浣忛櫌婊″害搴� 2鍑洪櫌婊℃剰搴� 锛堝鏋滄棦瑕佸仛浣忛櫌锛屽張瑕佸仛鍑洪櫌锛屽垯鐢ㄢ��,鈥濆垎鍓诧紝渚嬪1,2锛� ")
+ private String inhospMydFlag;
}
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceAppointRecord.java b/smartor/src/main/java/com/smartor/domain/ServiceAppointRecord.java
new file mode 100644
index 0000000..399b276
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/ServiceAppointRecord.java
@@ -0,0 +1,453 @@
+package com.smartor.domain;
+
+import com.google.gson.annotations.SerializedName;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 棰勭害璁板綍瀵硅薄 service_appoint_record
+ *
+ * @author lihu
+ * @date 2026-07-06
+ */
+@Data
+@ApiModel("棰勭害璁板綍")
+public class ServiceAppointRecord extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 涓婚敭ID
+ */
+ @ApiModelProperty("涓婚敭ID")
+ //鏁版嵁搴撹嚜澧炴敼鎴怈TableId(type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 棰勭害璁板綍搴忓彿
+ */
+ @ApiModelProperty("棰勭害璁板綍搴忓彿")
+ @Excel(name = "棰勭害璁板綍搴忓彿")
+ private String appointRecSn;
+
+ /**
+ * 鎹㈣瘖棰勭害璁板綍搴忓彿
+ */
+ @ApiModelProperty("鎹㈣瘖棰勭害璁板綍搴忓彿")
+ @Excel(name = "鎹㈣瘖棰勭害璁板綍搴忓彿")
+ private String changeAppointRecSn;
+
+ /**
+ * 缁勭粐绉戝浠g爜
+ */
+ @ApiModelProperty("缁勭粐绉戝浠g爜")
+ @Excel(name = "缁勭粐绉戝浠g爜")
+ private String orgCode;
+
+ /**
+ * 鐥呬汉妗f搴忓彿
+ */
+ @ApiModelProperty("鐥呬汉妗f搴忓彿")
+ @Excel(name = "鐥呬汉妗f搴忓彿")
+ private String patFileSn;
+
+ /**
+ * 鐥呬汉浠嬭川搴忓彿
+ */
+ @ApiModelProperty("鐥呬汉浠嬭川搴忓彿")
+ @Excel(name = "鐥呬汉浠嬭川搴忓彿")
+ private String patMediaSn;
+
+ /**
+ * 鐥呬汉浠嬭川鍙风爜
+ */
+ @ApiModelProperty("鐥呬汉浠嬭川鍙风爜")
+ @Excel(name = "鐥呬汉浠嬭川鍙风爜")
+ private String patMediaNum;
+
+ /**
+ * 鐥呬汉绫诲埆搴忓彿
+ */
+ @ApiModelProperty("鐥呬汉绫诲埆搴忓彿")
+ @Excel(name = "鐥呬汉绫诲埆搴忓彿")
+ private String patCateSn;
+
+ /**
+ * 鐥呬汉鎬ц川搴忓彿
+ */
+ @ApiModelProperty("鐥呬汉鎬ц川搴忓彿")
+ @Excel(name = "鐥呬汉鎬ц川搴忓彿")
+ private String patNatureSn;
+
+ /**
+ * 鐥呬汉妗f濮撳悕
+ */
+ @ApiModelProperty("鐥呬汉妗f濮撳悕")
+ @Excel(name = "鐥呬汉妗f濮撳悕")
+ private String patFileName;
+
+ /**
+ * 鐥呬汉妗f鎬у埆
+ */
+ @ApiModelProperty("鐥呬汉妗f鎬у埆")
+ @Excel(name = "鐥呬汉妗f鎬у埆")
+ private String patFileGender;
+
+ /**
+ * 鐥呬汉棰勭害骞撮緞
+ */
+ @ApiModelProperty("鐥呬汉棰勭害骞撮緞")
+ @Excel(name = "鐥呬汉棰勭害骞撮緞")
+ private String patAge;
+
+ /**
+ * 鐥呬汉鍑虹敓鏃ユ湡
+ */
+ @ApiModelProperty("鐥呬汉鍑虹敓鏃ユ湡")
+ @Excel(name = "鐥呬汉鍑虹敓鏃ユ湡")
+ private String patBirthday;
+
+ /**
+ * 鐥呬汉璇佷欢绫诲瀷缂栫爜
+ */
+ @ApiModelProperty("鐥呬汉璇佷欢绫诲瀷缂栫爜")
+ @Excel(name = "鐥呬汉璇佷欢绫诲瀷缂栫爜")
+ private String patCardTypeCode;
+
+ /**
+ * 鐥呬汉璇佷欢绫诲瀷
+ */
+ @ApiModelProperty("鐥呬汉璇佷欢绫诲瀷")
+ @Excel(name = "鐥呬汉璇佷欢绫诲瀷")
+ private String patCardType;
+
+ /**
+ * 鐥呬汉璇佷欢鍙风爜
+ */
+ @ApiModelProperty("鐥呬汉璇佷欢鍙风爜")
+ @Excel(name = "鐥呬汉璇佷欢鍙风爜")
+ private String patIdCardNum;
+
+ /**
+ * 鐥呬汉鑱旂郴鍦板潃
+ */
+ @ApiModelProperty("鐥呬汉鑱旂郴鍦板潃")
+ @Excel(name = "鐥呬汉鑱旂郴鍦板潃")
+ private String patAddr;
+
+ /**
+ * 鐥呬汉鑱旂郴鐢佃瘽
+ */
+ @ApiModelProperty("鐥呬汉鑱旂郴鐢佃瘽")
+ @Excel(name = "鐥呬汉鑱旂郴鐢佃瘽")
+ private String patTel;
+
+ /**
+ * 鐥呬汉鏉ユ簮缂栫爜
+ */
+ @ApiModelProperty("鐥呬汉鏉ユ簮缂栫爜")
+ @Excel(name = "鐥呬汉鏉ユ簮缂栫爜")
+ private String patWayCode;
+
+ /**
+ * 鐥呬汉鏉ユ簮
+ */
+ @ApiModelProperty("鐥呬汉鏉ユ簮")
+ @Excel(name = "鐥呬汉鏉ユ簮")
+ private String patWay;
+
+ /**
+ * 棰勭害绫诲瀷搴忓彿
+ */
+ @ApiModelProperty("棰勭害绫诲瀷搴忓彿")
+ @Excel(name = "棰勭害绫诲瀷搴忓彿")
+ private String appointTypeSn;
+
+ /**
+ * 棰勭害鎿嶄綔鏃ユ湡
+ */
+ @ApiModelProperty("棰勭害鎿嶄綔鏃ユ湡")
+ @Excel(name = "棰勭害鎿嶄綔鏃ユ湡")
+ private Date appointDate;
+
+ /**
+ * 棰勭害鎿嶄綔浜篿d
+ */
+ @ApiModelProperty("棰勭害鎿嶄綔浜篿d")
+ @Excel(name = "棰勭害鎿嶄綔浜篿d")
+ private String appointOperatorId;
+
+ /**
+ * 棰勭害鎿嶄綔浜哄鍚�
+ */
+ @ApiModelProperty("棰勭害鎿嶄綔浜哄鍚�")
+ @Excel(name = "棰勭害鎿嶄綔浜哄鍚�")
+ private String appointOperatorName;
+
+ /**
+ * 棰勭害鎸傚彿鏃ユ湡
+ */
+ @ApiModelProperty("棰勭害鎸傚彿鏃ユ湡")
+ @Excel(name = "棰勭害鎸傚彿鏃ユ湡")
+ private Date appointRegistDate;
+
+ /**
+ * 鎸傚彿鎺掔彮搴忓彿
+ */
+ @ApiModelProperty("鎸傚彿鎺掔彮搴忓彿")
+ @Excel(name = "鎸傚彿鎺掔彮搴忓彿")
+ private String registerScheduleSn;
+
+ /**
+ * 闂ㄨ瘖绫诲埆搴忓彿
+ */
+ @ApiModelProperty("闂ㄨ瘖绫诲埆搴忓彿")
+ @Excel(name = "闂ㄨ瘖绫诲埆搴忓彿")
+ private String outpatCateSn;
+
+ /**
+ * 闂ㄨ瘖绫诲埆鍚嶇О
+ */
+ @ApiModelProperty("闂ㄨ瘖绫诲埆鍚嶇О")
+ @Excel(name = "闂ㄨ瘖绫诲埆鍚嶇О")
+ private String outpatCateName;
+
+ /**
+ * 鎸傚彿绉戝缂栫爜
+ */
+ @ApiModelProperty("鎸傚彿绉戝缂栫爜")
+ @Excel(name = "鎸傚彿绉戝缂栫爜")
+ private String registDeptCode;
+
+ /**
+ * 鎸傚彿绉戝鍚嶇О
+ */
+ @ApiModelProperty("鎸傚彿绉戝鍚嶇О")
+ @Excel(name = "鎸傚彿绉戝鍚嶇О")
+ private String registDeptName;
+
+ /**
+ * 绉戝鎷奸煶缂栫爜
+ */
+ @ApiModelProperty("绉戝鎷奸煶缂栫爜")
+ @Excel(name = "绉戝鎷奸煶缂栫爜")
+ private String deptPinyinCode;
+
+ /**
+ * 鎸傚彿鍖荤敓浠g爜
+ */
+ @ApiModelProperty("鎸傚彿鍖荤敓浠g爜")
+ @Excel(name = "鎸傚彿鍖荤敓浠g爜")
+ private String registDoctCode;
+
+ /**
+ * 鎸傚彿鍖荤敓濮撳悕
+ */
+ @ApiModelProperty("鎸傚彿鍖荤敓濮撳悕")
+ @Excel(name = "鎸傚彿鍖荤敓濮撳悕")
+ private String registDoctName;
+
+ /**
+ * 鑱屽伐鎷奸煶缂栫爜
+ */
+ @ApiModelProperty("鑱屽伐鎷奸煶缂栫爜")
+ @Excel(name = "鑱屽伐鎷奸煶缂栫爜")
+ private String staffPinyinCode;
+
+ /**
+ * 鎸傚彿鏃堕棿绫诲埆
+ */
+ @ApiModelProperty("鎸傚彿鏃堕棿绫诲埆")
+ @Excel(name = "鎸傚彿鏃堕棿绫诲埆")
+ private Long registTimeCate;
+
+ /**
+ * 鐥呬汉鎸傚彿搴忓彿
+ */
+ @ApiModelProperty("鐥呬汉鎸傚彿搴忓彿")
+ @Excel(name = "鐥呬汉鎸傚彿搴忓彿")
+ private Long patiRegistSn;
+
+ /**
+ * 棰勭害鎸傚彿璐圭敤
+ */
+ @ApiModelProperty("棰勭害鎸傚彿璐圭敤")
+ @Excel(name = "棰勭害鎸傚彿璐圭敤")
+ private BigDecimal scheduleRegistCharge;
+
+ /**
+ * 鎸傚彿璁板綍搴忓彿
+ */
+ @ApiModelProperty("鎸傚彿璁板綍搴忓彿")
+ @Excel(name = "鎸傚彿璁板綍搴忓彿")
+ private String registRecSn;
+
+ /**
+ * 鐧昏鐢ㄦ埛搴忓彿
+ */
+ @ApiModelProperty("鐧昏鐢ㄦ埛搴忓彿")
+ @Excel(name = "鐧昏鐢ㄦ埛搴忓彿")
+ private String regUserSn;
+
+ /**
+ * 鐧昏鐢ㄦ埛濮撳悕
+ */
+ @ApiModelProperty("鐧昏鐢ㄦ埛濮撳悕")
+ @Excel(name = "鐧昏鐢ㄦ埛濮撳悕")
+ private String regUserName;
+
+ /**
+ * 鐧昏鎿嶄綔鏃堕棿
+ */
+ @ApiModelProperty("鐧昏鎿嶄綔鏃堕棿")
+ @Excel(name = "鐧昏鎿嶄綔鏃堕棿")
+ private Date regOptTime;
+
+ /**
+ * 鎾ら攢鐢ㄦ埛搴忓彿
+ */
+ @ApiModelProperty("鎾ら攢鐢ㄦ埛搴忓彿")
+ @Excel(name = "鎾ら攢鐢ㄦ埛搴忓彿")
+ private String revokeUserSn;
+
+ /**
+ * 鎾ら攢浜哄鍚�
+ */
+ @ApiModelProperty("鎾ら攢浜哄鍚�")
+ @Excel(name = "鎾ら攢浜哄鍚�")
+ private String revokeUserName;
+
+ /**
+ * 鎾ら攢鎿嶄綔鏃堕棿
+ */
+ @ApiModelProperty("鎾ら攢鎿嶄綔鏃堕棿")
+ @Excel(name = "鎾ら攢鎿嶄綔鏃堕棿")
+ private Date revokeOptTime;
+
+ /**
+ * 閫�鍙锋椂闂�
+ */
+ @ApiModelProperty("閫�鍙锋椂闂�")
+ @Excel(name = "閫�鍙锋椂闂�")
+ private Date withdrawalTime;
+
+ /**
+ * 棰勭害鐘舵�佹爣蹇�(0:宸查绾� 1:宸叉寕鍙� 2:宸查��鍙� 3:宸插氨璇� -1:鐥呬汉鍙栨秷 -2:鍖婚櫌鍙栨秷 -3:鎺掔彮鍋滆瘖)
+ */
+ @ApiModelProperty("棰勭害鐘舵�佹爣蹇�(0:宸查绾� 1:宸叉寕鍙� 2:宸查��鍙� 3:宸插氨璇� -1:鐥呬汉鍙栨秷 -2:鍖婚櫌鍙栨秷 -3:鎺掔彮鍋滆瘖)")
+ @Excel(name = "棰勭害鐘舵�佹爣蹇�(0:宸查绾� 1:宸叉寕鍙� 2:宸查��鍙� 3:宸插氨璇� -1:鐥呬汉鍙栨秷 -2:鍖婚櫌鍙栨秷 -3:鎺掔彮鍋滆瘖)")
+ private Long scheduleStatusFlag;
+
+ /**
+ * 棰勭害澶囨敞璇存槑
+ */
+ @ApiModelProperty("棰勭害澶囨敞璇存槑")
+ @Excel(name = "棰勭害澶囨敞璇存槑")
+ private String scheduleMemoDesc;
+
+ /**
+ * 棰勭害鍑瘉鍙风爜
+ */
+ @ApiModelProperty("棰勭害鍑瘉鍙风爜")
+ @Excel(name = "棰勭害鍑瘉鍙风爜")
+ private String scheduleCredenceNum;
+
+ /**
+ * 棰勮灏辫瘖鏃堕棿
+ */
+ @ApiModelProperty("棰勮灏辫瘖鏃堕棿")
+ @Excel(name = "棰勮灏辫瘖鏃堕棿")
+ private String registTimeRange;
+
+ /**
+ * 鍏蜂綋鏄庣粏琛ㄦ槑缁嗗簭鍙�
+ */
+ @ApiModelProperty("鍏蜂綋鏄庣粏琛ㄦ槑缁嗗簭鍙�")
+ @Excel(name = "鍏蜂綋鏄庣粏琛ㄦ槑缁嗗簭鍙�")
+ private String scheduleDetailSn;
+
+ /**
+ * 灏辫瘖鏃堕棿
+ */
+ @ApiModelProperty("灏辫瘖鏃堕棿")
+ @Excel(name = "灏辫瘖鏃堕棿")
+ @SerializedName("treatDate")
+ private Date treatDate;
+
+ /**
+ * 灏辫瘖鍖荤敓缂栫爜
+ */
+ @ApiModelProperty("灏辫瘖鍖荤敓缂栫爜")
+ @Excel(name = "灏辫瘖鍖荤敓缂栫爜")
+ private String treatDoctCode;
+
+ /**
+ * 灏辫瘖鍖荤敓鍚嶇О
+ */
+ @ApiModelProperty("灏辫瘖鍖荤敓鍚嶇О")
+ @Excel(name = "灏辫瘖鍖荤敓鍚嶇О")
+ private String treatDoctName;
+
+ /**
+ * 棰勭害娓犻亾缂栫爜
+ */
+ @ApiModelProperty("棰勭害娓犻亾缂栫爜")
+ @Excel(name = "棰勭害娓犻亾缂栫爜")
+ private String regWayCode;
+
+ /**
+ * 棰勭害娓犻亾
+ */
+ @ApiModelProperty("棰勭害娓犻亾")
+ @Excel(name = "棰勭害娓犻亾")
+ private String regWay;
+
+ /**
+ * 棰勭害绯荤粺缂栫爜
+ */
+ @ApiModelProperty("棰勭害绯荤粺缂栫爜")
+ @Excel(name = "棰勭害绯荤粺缂栫爜")
+ private String regSystemWayCode;
+
+ /**
+ * 棰勭害绯荤粺
+ */
+ @ApiModelProperty("棰勭害绯荤粺")
+ @Excel(name = "棰勭害绯荤粺")
+ private String regSystemWay;
+
+ /**
+ * 鍒濊瘖澶嶈瘖鍒ゅ埆锛�0鍒濊瘖 1澶嶈瘖锛�
+ */
+ @ApiModelProperty("鍒濊瘖澶嶈瘖鍒ゅ埆锛�0鍒濊瘖 1澶嶈瘖锛�")
+ @Excel(name = "鍒濊瘖澶嶈瘖鍒ゅ埆", readConverterExp = "0=鍒濊瘖,1=澶嶈瘖")
+ private Long visitFlag;
+
+ /**
+ * 鐭俊鍙戦�佹搷浣滀汉id
+ */
+ @ApiModelProperty("鐭俊鍙戦�佹搷浣滀汉id")
+ @Excel(name = "鐭俊鍙戦�佹搷浣滀汉id")
+ private String senderId;
+
+ /**
+ * 鐭俊鍙戦�佹搷浣滀汉濮撳悕
+ */
+ @ApiModelProperty("鐭俊鍙戦�佹搷浣滀汉濮撳悕")
+ @Excel(name = "鐭俊鍙戦�佹搷浣滀汉濮撳悕")
+ private String senderName;
+
+ /**
+ * 鐭俊鍙戦�佹椂闂�
+ */
+ @ApiModelProperty("鐭俊鍙戦�佹椂闂�")
+ @Excel(name = "鐭俊鍙戦�佹椂闂�")
+ private Date sendTime;
+
+}
+
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceOutPath.java b/smartor/src/main/java/com/smartor/domain/ServiceOutPath.java
index 2764b85..bf18264 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceOutPath.java
+++ b/smartor/src/main/java/com/smartor/domain/ServiceOutPath.java
@@ -64,10 +64,24 @@
@ApiModelProperty(value = "鍒犻櫎鏍囪")
private String delFlag;
-
@ApiModelProperty(value = "杩涘埗")
private String radix;
+ @ApiModelProperty(value = "澶栭摼鍦板潃")
+ private String url;
+
+ @ApiModelProperty(value = "鐥呭尯缂栫爜")
+ private String wardCode;
+
+ @ApiModelProperty(value = "鐥呭尯鍚嶇О")
+ private String wardName;
+
+ @ApiModelProperty(value = "绉戝缂栫爜")
+ private String deptCode;
+
+ @ApiModelProperty(value = "绉戝鍚嶇О")
+ private String deptName;
+
@ApiModelProperty(value = "鐥呬汉淇℃伅")
private PatArchive patArchive;
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceTaskScriptQues.java b/smartor/src/main/java/com/smartor/domain/ServiceTaskScriptQues.java
index 92c5897..5a19c92 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceTaskScriptQues.java
+++ b/smartor/src/main/java/com/smartor/domain/ServiceTaskScriptQues.java
@@ -46,10 +46,16 @@
private String param4;
/**
- * patfrom
+ * 鎮h�呮潵婧�
*/
@Excel(name = "patfrom ")
@ApiModelProperty(value = "patfrom")
private String patfrom = "0";
+ /**
+ * 绫诲瀷锛�0鍔犲瘑 1涓嶅姞瀵�
+ */
+ @ApiModelProperty(value = "绫诲瀷锛�0鍔犲瘑 1涓嶅姞瀵�")
+ private String type = "0";
+
}
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceTaskVO.java b/smartor/src/main/java/com/smartor/domain/ServiceTaskVO.java
index 12ca6d4..174128d 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceTaskVO.java
+++ b/smartor/src/main/java/com/smartor/domain/ServiceTaskVO.java
@@ -29,9 +29,9 @@
private String taskDesc;
/**
- * pageSize
+ * 鏄惁鏄暱鏈熶换鍔� 0锛氫复鏃朵换鍔� 1锛氶暱鏈熶换鍔� 2鍥哄畾浠诲姟 3寰幆浠诲姟
*/
- @ApiModelProperty("鏄惁鏄暱鏈熶换鍔� 0锛氫笉鏄� 1锛氭槸")
+ @ApiModelProperty("鏄惁鏄暱鏈熶换鍔� 0锛氫复鏃朵换鍔� 1锛氶暱鏈熶换鍔� 2鍥哄畾浠诲姟 3寰幆浠诲姟")
private Integer longTask = 0;
/**
diff --git a/smartor/src/main/java/com/smartor/mapper/MedicationDoseInfoMapper.java b/smartor/src/main/java/com/smartor/mapper/MedicationDoseInfoMapper.java
new file mode 100644
index 0000000..98f0b74
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/MedicationDoseInfoMapper.java
@@ -0,0 +1,63 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import org.apache.ibatis.annotations.Mapper;
+import com.smartor.domain.MedicationDoseInfo;
+
+/**
+ * 鑽搧鍓傞噺淇℃伅Mapper鎺ュ彛
+ *
+ * @author lihu
+ * @date 2026-07-17
+ */
+@Mapper
+public interface MedicationDoseInfoMapper
+{
+ /**
+ * 鏌ヨ鑽搧鍓傞噺淇℃伅
+ *
+ * @param id 鑽搧鍓傞噺淇℃伅涓婚敭
+ * @return 鑽搧鍓傞噺淇℃伅
+ */
+ public MedicationDoseInfo selectMedicationDoseInfoById(Long id);
+
+ /**
+ * 鏌ヨ鑽搧鍓傞噺淇℃伅鍒楄〃
+ *
+ * @param medicationDoseInfo 鑽搧鍓傞噺淇℃伅
+ * @return 鑽搧鍓傞噺淇℃伅闆嗗悎
+ */
+ public List<MedicationDoseInfo> selectMedicationDoseInfoList(MedicationDoseInfo medicationDoseInfo);
+
+ /**
+ * 鏂板鑽搧鍓傞噺淇℃伅
+ *
+ * @param medicationDoseInfo 鑽搧鍓傞噺淇℃伅
+ * @return 缁撴灉
+ */
+ public int insertMedicationDoseInfo(MedicationDoseInfo medicationDoseInfo);
+
+ /**
+ * 淇敼鑽搧鍓傞噺淇℃伅
+ *
+ * @param medicationDoseInfo 鑽搧鍓傞噺淇℃伅
+ * @return 缁撴灉
+ */
+ public int updateMedicationDoseInfo(MedicationDoseInfo medicationDoseInfo);
+
+ /**
+ * 鍒犻櫎鑽搧鍓傞噺淇℃伅
+ *
+ * @param id 鑽搧鍓傞噺淇℃伅涓婚敭
+ * @return 缁撴灉
+ */
+ public int deleteMedicationDoseInfoById(Long id);
+
+ /**
+ * 鎵归噺鍒犻櫎鑽搧鍓傞噺淇℃伅
+ *
+ * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+ * @return 缁撴灉
+ */
+ public int deleteMedicationDoseInfoByIds(Long[] ids);
+}
diff --git a/smartor/src/main/java/com/smartor/mapper/MedicationItemMapper.java b/smartor/src/main/java/com/smartor/mapper/MedicationItemMapper.java
new file mode 100644
index 0000000..e09c3a9
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/MedicationItemMapper.java
@@ -0,0 +1,63 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import org.apache.ibatis.annotations.Mapper;
+import com.smartor.domain.MedicationItem;
+
+/**
+ * 鑽搧淇℃伅Mapper鎺ュ彛
+ *
+ * @author lihu
+ * @date 2026-07-17
+ */
+@Mapper
+public interface MedicationItemMapper
+{
+ /**
+ * 鏌ヨ鑽搧淇℃伅
+ *
+ * @param id 鑽搧淇℃伅涓婚敭
+ * @return 鑽搧淇℃伅
+ */
+ public MedicationItem selectMedicationItemById(Long id);
+
+ /**
+ * 鏌ヨ鑽搧淇℃伅鍒楄〃
+ *
+ * @param medicationItem 鑽搧淇℃伅
+ * @return 鑽搧淇℃伅闆嗗悎
+ */
+ public List<MedicationItem> selectMedicationItemList(MedicationItem medicationItem);
+
+ /**
+ * 鏂板鑽搧淇℃伅
+ *
+ * @param medicationItem 鑽搧淇℃伅
+ * @return 缁撴灉
+ */
+ public int insertMedicationItem(MedicationItem medicationItem);
+
+ /**
+ * 淇敼鑽搧淇℃伅
+ *
+ * @param medicationItem 鑽搧淇℃伅
+ * @return 缁撴灉
+ */
+ public int updateMedicationItem(MedicationItem medicationItem);
+
+ /**
+ * 鍒犻櫎鑽搧淇℃伅
+ *
+ * @param id 鑽搧淇℃伅涓婚敭
+ * @return 缁撴灉
+ */
+ public int deleteMedicationItemById(Long id);
+
+ /**
+ * 鎵归噺鍒犻櫎鑽搧淇℃伅
+ *
+ * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+ * @return 缁撴灉
+ */
+ public int deleteMedicationItemByIds(Long[] ids);
+}
diff --git a/smartor/src/main/java/com/smartor/mapper/ServiceAppointRecordMapper.java b/smartor/src/main/java/com/smartor/mapper/ServiceAppointRecordMapper.java
new file mode 100644
index 0000000..7d51d2c
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/mapper/ServiceAppointRecordMapper.java
@@ -0,0 +1,63 @@
+package com.smartor.mapper;
+
+import java.util.List;
+import org.apache.ibatis.annotations.Mapper;
+import com.smartor.domain.ServiceAppointRecord;
+
+/**
+ * 棰勭害璁板綍Mapper鎺ュ彛
+ *
+ * @author lihu
+ * @date 2026-07-06
+ */
+@Mapper
+public interface ServiceAppointRecordMapper
+{
+ /**
+ * 鏌ヨ棰勭害璁板綍
+ *
+ * @param id 棰勭害璁板綍涓婚敭
+ * @return 棰勭害璁板綍
+ */
+ public ServiceAppointRecord selectServiceAppointRecordById(Long id);
+
+ /**
+ * 鏌ヨ棰勭害璁板綍鍒楄〃
+ *
+ * @param serviceAppointRecord 棰勭害璁板綍
+ * @return 棰勭害璁板綍闆嗗悎
+ */
+ public List<ServiceAppointRecord> selectServiceAppointRecordList(ServiceAppointRecord serviceAppointRecord);
+
+ /**
+ * 鏂板棰勭害璁板綍
+ *
+ * @param serviceAppointRecord 棰勭害璁板綍
+ * @return 缁撴灉
+ */
+ public int insertServiceAppointRecord(ServiceAppointRecord serviceAppointRecord);
+
+ /**
+ * 淇敼棰勭害璁板綍
+ *
+ * @param serviceAppointRecord 棰勭害璁板綍
+ * @return 缁撴灉
+ */
+ public int updateServiceAppointRecord(ServiceAppointRecord serviceAppointRecord);
+
+ /**
+ * 鍒犻櫎棰勭害璁板綍
+ *
+ * @param id 棰勭害璁板綍涓婚敭
+ * @return 缁撴灉
+ */
+ public int deleteServiceAppointRecordById(Long id);
+
+ /**
+ * 鎵归噺鍒犻櫎棰勭害璁板綍
+ *
+ * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+ * @return 缁撴灉
+ */
+ public int deleteServiceAppointRecordByIds(Long[] ids);
+}
diff --git a/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java b/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
index aa5a813..8d6e806 100644
--- a/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
+++ b/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
@@ -10,6 +10,7 @@
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
+import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -231,9 +232,10 @@
/**
* 缁熻闂鐨勯�夐」鐨勭櫨鍒嗘瘮
+ *
* @param taskIds
* @return
*/
- List<ServiceSubtaskDetailRatioExport> statQuestionOption(@Param("taskIds") List<Long> taskIds);
+ List<ServiceSubtaskDetailRatioExport> statQuestionOption(@Param("taskIds") List<Long> taskIds, @Param("startOutHospTime") Date startOutHospTime, @Param("endOutHospTime") Date endOutHospTime);
}
diff --git a/smartor/src/main/java/com/smartor/service/IMedicationDoseInfoService.java b/smartor/src/main/java/com/smartor/service/IMedicationDoseInfoService.java
new file mode 100644
index 0000000..df2d12c
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/IMedicationDoseInfoService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.MedicationDoseInfo;
+
+/**
+ * 鑽搧鍓傞噺淇℃伅Service鎺ュ彛
+ *
+ * @author lihu
+ * @date 2026-07-17
+ */
+public interface IMedicationDoseInfoService
+{
+ /**
+ * 鏌ヨ鑽搧鍓傞噺淇℃伅
+ *
+ * @param id 鑽搧鍓傞噺淇℃伅涓婚敭
+ * @return 鑽搧鍓傞噺淇℃伅
+ */
+ public MedicationDoseInfo selectMedicationDoseInfoById(Long id);
+
+ /**
+ * 鏌ヨ鑽搧鍓傞噺淇℃伅鍒楄〃
+ *
+ * @param medicationDoseInfo 鑽搧鍓傞噺淇℃伅
+ * @return 鑽搧鍓傞噺淇℃伅闆嗗悎
+ */
+ public List<MedicationDoseInfo> selectMedicationDoseInfoList(MedicationDoseInfo medicationDoseInfo);
+
+ /**
+ * 鏂板鑽搧鍓傞噺淇℃伅
+ *
+ * @param medicationDoseInfo 鑽搧鍓傞噺淇℃伅
+ * @return 缁撴灉
+ */
+ public int insertMedicationDoseInfo(MedicationDoseInfo medicationDoseInfo);
+
+ /**
+ * 淇敼鑽搧鍓傞噺淇℃伅
+ *
+ * @param medicationDoseInfo 鑽搧鍓傞噺淇℃伅
+ * @return 缁撴灉
+ */
+ public int updateMedicationDoseInfo(MedicationDoseInfo medicationDoseInfo);
+
+ /**
+ * 鎵归噺鍒犻櫎鑽搧鍓傞噺淇℃伅
+ *
+ * @param ids 闇�瑕佸垹闄ょ殑鑽搧鍓傞噺淇℃伅涓婚敭闆嗗悎
+ * @return 缁撴灉
+ */
+ public int deleteMedicationDoseInfoByIds(Long[] ids);
+
+ /**
+ * 鍒犻櫎鑽搧鍓傞噺淇℃伅淇℃伅
+ *
+ * @param id 鑽搧鍓傞噺淇℃伅涓婚敭
+ * @return 缁撴灉
+ */
+ public int deleteMedicationDoseInfoById(Long id);
+}
diff --git a/smartor/src/main/java/com/smartor/service/IMedicationItemService.java b/smartor/src/main/java/com/smartor/service/IMedicationItemService.java
new file mode 100644
index 0000000..b33da4d
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/IMedicationItemService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.MedicationItem;
+
+/**
+ * 鑽搧淇℃伅Service鎺ュ彛
+ *
+ * @author lihu
+ * @date 2026-07-17
+ */
+public interface IMedicationItemService
+{
+ /**
+ * 鏌ヨ鑽搧淇℃伅
+ *
+ * @param id 鑽搧淇℃伅涓婚敭
+ * @return 鑽搧淇℃伅
+ */
+ public MedicationItem selectMedicationItemById(Long id);
+
+ /**
+ * 鏌ヨ鑽搧淇℃伅鍒楄〃
+ *
+ * @param medicationItem 鑽搧淇℃伅
+ * @return 鑽搧淇℃伅闆嗗悎
+ */
+ public List<MedicationItem> selectMedicationItemList(MedicationItem medicationItem);
+
+ /**
+ * 鏂板鑽搧淇℃伅
+ *
+ * @param medicationItem 鑽搧淇℃伅
+ * @return 缁撴灉
+ */
+ public int insertMedicationItem(MedicationItem medicationItem);
+
+ /**
+ * 淇敼鑽搧淇℃伅
+ *
+ * @param medicationItem 鑽搧淇℃伅
+ * @return 缁撴灉
+ */
+ public int updateMedicationItem(MedicationItem medicationItem);
+
+ /**
+ * 鎵归噺鍒犻櫎鑽搧淇℃伅
+ *
+ * @param ids 闇�瑕佸垹闄ょ殑鑽搧淇℃伅涓婚敭闆嗗悎
+ * @return 缁撴灉
+ */
+ public int deleteMedicationItemByIds(Long[] ids);
+
+ /**
+ * 鍒犻櫎鑽搧淇℃伅淇℃伅
+ *
+ * @param id 鑽搧淇℃伅涓婚敭
+ * @return 缁撴灉
+ */
+ public int deleteMedicationItemById(Long id);
+}
diff --git a/smartor/src/main/java/com/smartor/service/IServiceAppointRecordService.java b/smartor/src/main/java/com/smartor/service/IServiceAppointRecordService.java
new file mode 100644
index 0000000..c4c929f
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/IServiceAppointRecordService.java
@@ -0,0 +1,61 @@
+package com.smartor.service;
+
+import java.util.List;
+import com.smartor.domain.ServiceAppointRecord;
+
+/**
+ * 棰勭害璁板綍Service鎺ュ彛
+ *
+ * @author lihu
+ * @date 2026-07-06
+ */
+public interface IServiceAppointRecordService
+{
+ /**
+ * 鏌ヨ棰勭害璁板綍
+ *
+ * @param id 棰勭害璁板綍涓婚敭
+ * @return 棰勭害璁板綍
+ */
+ public ServiceAppointRecord selectServiceAppointRecordById(Long id);
+
+ /**
+ * 鏌ヨ棰勭害璁板綍鍒楄〃
+ *
+ * @param serviceAppointRecord 棰勭害璁板綍
+ * @return 棰勭害璁板綍闆嗗悎
+ */
+ public List<ServiceAppointRecord> selectServiceAppointRecordList(ServiceAppointRecord serviceAppointRecord);
+
+ /**
+ * 鏂板棰勭害璁板綍
+ *
+ * @param serviceAppointRecord 棰勭害璁板綍
+ * @return 缁撴灉
+ */
+ public int insertServiceAppointRecord(ServiceAppointRecord serviceAppointRecord);
+
+ /**
+ * 淇敼棰勭害璁板綍
+ *
+ * @param serviceAppointRecord 棰勭害璁板綍
+ * @return 缁撴灉
+ */
+ public int updateServiceAppointRecord(ServiceAppointRecord serviceAppointRecord);
+
+ /**
+ * 鎵归噺鍒犻櫎棰勭害璁板綍
+ *
+ * @param ids 闇�瑕佸垹闄ょ殑棰勭害璁板綍涓婚敭闆嗗悎
+ * @return 缁撴灉
+ */
+ public int deleteServiceAppointRecordByIds(Long[] ids);
+
+ /**
+ * 鍒犻櫎棰勭害璁板綍淇℃伅
+ *
+ * @param id 棰勭害璁板綍涓婚敭
+ * @return 缁撴灉
+ */
+ public int deleteServiceAppointRecordById(Long id);
+}
diff --git a/smartor/src/main/java/com/smartor/service/IServiceOutPathService.java b/smartor/src/main/java/com/smartor/service/IServiceOutPathService.java
index f7efea9..fb50d31 100644
--- a/smartor/src/main/java/com/smartor/service/IServiceOutPathService.java
+++ b/smartor/src/main/java/com/smartor/service/IServiceOutPathService.java
@@ -5,15 +5,15 @@
/**
* 涓婚敭Service鎺ュ彛
- *
+ *
* @author lihu
* @date 2024-11-04
*/
-public interface IServiceOutPathService
+public interface IServiceOutPathService
{
/**
* 鏌ヨ涓婚敭
- *
+ *
* @param id 涓婚敭涓婚敭
* @return 涓婚敭
*/
@@ -21,7 +21,7 @@
/**
* 鏌ヨ涓婚敭鍒楄〃
- *
+ *
* @param serviceOutPath 涓婚敭
* @return 涓婚敭闆嗗悎
*/
@@ -29,15 +29,23 @@
/**
* 鏂板涓婚敭
- *
+ *
* @param serviceOutPath 涓婚敭
* @return 缁撴灉
*/
public int insertServiceOutPath(ServiceOutPath serviceOutPath);
/**
+ * 鏂板涓婚敭
+ *
+ * @param serviceOutPath 涓婚敭
+ * @return 缁撴灉
+ */
+ public String addOutPath(ServiceOutPath serviceOutPath);
+
+ /**
* 淇敼涓婚敭
- *
+ *
* @param serviceOutPath 涓婚敭
* @return 缁撴灉
*/
@@ -45,7 +53,7 @@
/**
* 鎵归噺鍒犻櫎涓婚敭
- *
+ *
* @param ids 闇�瑕佸垹闄ょ殑涓婚敭涓婚敭闆嗗悎
* @return 缁撴灉
*/
@@ -53,7 +61,7 @@
/**
* 鍒犻櫎涓婚敭淇℃伅
- *
+ *
* @param id 涓婚敭涓婚敭
* @return 缁撴灉
*/
diff --git a/smartor/src/main/java/com/smartor/service/IServiceSLTDHealthcareRecordService.java b/smartor/src/main/java/com/smartor/service/IServiceSLTDHealthcareRecordService.java
index cb822b1..666e059 100644
--- a/smartor/src/main/java/com/smartor/service/IServiceSLTDHealthcareRecordService.java
+++ b/smartor/src/main/java/com/smartor/service/IServiceSLTDHealthcareRecordService.java
@@ -1,6 +1,7 @@
package com.smartor.service;
import afu.org.checkerframework.checker.oigj.qual.O;
+import com.smartor.domain.MedicationItem;
import com.smartor.domain.ServiceSLTDDeptReqVO;
import com.smartor.domain.ServiceSLTDInhospReqVO;
import com.smartor.domain.ServiceSLTDInhospResDTO;
@@ -40,6 +41,14 @@
List<ServiceSLTDInhospResDTO> queryHealthcareRecordList(ServiceSLTDInhospReqVO reqVO);
/**
+ * 閲囬泦鍦ㄩ櫌鎮h�呯敤鑽俊鎭�
+ *
+ * @param reqVO 鏌ヨ璇锋眰鍙傛暟
+ * @return 鑽搧鍒楄〃
+ */
+ Boolean queryMedicationItemList(ServiceSLTDInhospReqVO reqVO);
+
+ /**
* 閲囬泦鍖婚櫌鐢ㄦ埛淇℃伅
*
* @param reqVO
@@ -70,8 +79,6 @@
* }
*/
Boolean queryDeptWardAreaInfoList(ServiceSLTDDeptReqVO serviceSLTDDeptReqVO);
-
- public void aa(Map<String, Object> map);
}
diff --git a/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java b/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
index daa0128..7239987 100644
--- a/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
+++ b/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java
@@ -8,6 +8,7 @@
import com.smartor.domain.entity.ServiceSubtaskEntity;
import org.springframework.web.bind.annotation.RequestBody;
+import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -196,5 +197,5 @@
* @param taskIds
* @return
*/
- public List<ServiceSubtaskDetailRatioExport> statQuestionOption(List<Long> taskIds);
+ public List<ServiceSubtaskDetailRatioExport> statQuestionOption(List<Long> taskIds, Date startOutHospTime, Date endOutHospTime);
}
diff --git a/smartor/src/main/java/com/smartor/service/IXHGatherPatArchiveService.java b/smartor/src/main/java/com/smartor/service/IXHGatherPatArchiveService.java
index f3dccd3..a901bd5 100644
--- a/smartor/src/main/java/com/smartor/service/IXHGatherPatArchiveService.java
+++ b/smartor/src/main/java/com/smartor/service/IXHGatherPatArchiveService.java
@@ -18,5 +18,14 @@
*/
public void getInHospDataGather(String cry, LocalDateTime startTime, LocalDateTime endTime);
+ /**
+ * 鑾峰彇棰勭害鍋滆瘖璁板綍淇℃伅
+ *
+ * @param cry 鍑哄叆闄㈢被鍨嬶細0-鍏ラ櫌锛�1-鍑洪櫌 2,棰勭害璁板綍
+ * @param startTime 寮�濮嬫椂闂�
+ * @param endTime 缁撴潫鏃堕棿
+ */
+ public void getAppointRecordInfo(String cry, LocalDateTime startTime, LocalDateTime endTime);
+
}
diff --git a/smartor/src/main/java/com/smartor/service/impl/MedicationDoseInfoServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/MedicationDoseInfoServiceImpl.java
new file mode 100644
index 0000000..0f14ea0
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/MedicationDoseInfoServiceImpl.java
@@ -0,0 +1,96 @@
+package com.smartor.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.smartor.mapper.MedicationDoseInfoMapper;
+import com.smartor.domain.MedicationDoseInfo;
+import com.smartor.service.IMedicationDoseInfoService;
+
+/**
+ * 鑽搧鍓傞噺淇℃伅Service涓氬姟灞傚鐞�
+ *
+ * @author lihu
+ * @date 2026-07-17
+ */
+@Service
+public class MedicationDoseInfoServiceImpl implements IMedicationDoseInfoService
+{
+ @Autowired
+ private MedicationDoseInfoMapper medicationDoseInfoMapper;
+
+ /**
+ * 鏌ヨ鑽搧鍓傞噺淇℃伅
+ *
+ * @param id 鑽搧鍓傞噺淇℃伅涓婚敭
+ * @return 鑽搧鍓傞噺淇℃伅
+ */
+ @Override
+ public MedicationDoseInfo selectMedicationDoseInfoById(Long id)
+ {
+ return medicationDoseInfoMapper.selectMedicationDoseInfoById(id);
+ }
+
+ /**
+ * 鏌ヨ鑽搧鍓傞噺淇℃伅鍒楄〃
+ *
+ * @param medicationDoseInfo 鑽搧鍓傞噺淇℃伅
+ * @return 鑽搧鍓傞噺淇℃伅
+ */
+ @Override
+ public List<MedicationDoseInfo> selectMedicationDoseInfoList(MedicationDoseInfo medicationDoseInfo)
+ {
+ return medicationDoseInfoMapper.selectMedicationDoseInfoList(medicationDoseInfo);
+ }
+
+ /**
+ * 鏂板鑽搧鍓傞噺淇℃伅
+ *
+ * @param medicationDoseInfo 鑽搧鍓傞噺淇℃伅
+ * @return 缁撴灉
+ */
+ @Override
+ public int insertMedicationDoseInfo(MedicationDoseInfo medicationDoseInfo)
+ {
+ medicationDoseInfo.setCreateTime(DateUtils.getNowDate());
+ return medicationDoseInfoMapper.insertMedicationDoseInfo(medicationDoseInfo);
+ }
+
+ /**
+ * 淇敼鑽搧鍓傞噺淇℃伅
+ *
+ * @param medicationDoseInfo 鑽搧鍓傞噺淇℃伅
+ * @return 缁撴灉
+ */
+ @Override
+ public int updateMedicationDoseInfo(MedicationDoseInfo medicationDoseInfo)
+ {
+ medicationDoseInfo.setUpdateTime(DateUtils.getNowDate());
+ return medicationDoseInfoMapper.updateMedicationDoseInfo(medicationDoseInfo);
+ }
+
+ /**
+ * 鎵归噺鍒犻櫎鑽搧鍓傞噺淇℃伅
+ *
+ * @param ids 闇�瑕佸垹闄ょ殑鑽搧鍓傞噺淇℃伅涓婚敭
+ * @return 缁撴灉
+ */
+ @Override
+ public int deleteMedicationDoseInfoByIds(Long[] ids)
+ {
+ return medicationDoseInfoMapper.deleteMedicationDoseInfoByIds(ids);
+ }
+
+ /**
+ * 鍒犻櫎鑽搧鍓傞噺淇℃伅淇℃伅
+ *
+ * @param id 鑽搧鍓傞噺淇℃伅涓婚敭
+ * @return 缁撴灉
+ */
+ @Override
+ public int deleteMedicationDoseInfoById(Long id)
+ {
+ return medicationDoseInfoMapper.deleteMedicationDoseInfoById(id);
+ }
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/MedicationItemServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/MedicationItemServiceImpl.java
new file mode 100644
index 0000000..bf1e1aa
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/MedicationItemServiceImpl.java
@@ -0,0 +1,96 @@
+package com.smartor.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.smartor.mapper.MedicationItemMapper;
+import com.smartor.domain.MedicationItem;
+import com.smartor.service.IMedicationItemService;
+
+/**
+ * 鑽搧淇℃伅Service涓氬姟灞傚鐞�
+ *
+ * @author lihu
+ * @date 2026-07-17
+ */
+@Service
+public class MedicationItemServiceImpl implements IMedicationItemService
+{
+ @Autowired
+ private MedicationItemMapper medicationItemMapper;
+
+ /**
+ * 鏌ヨ鑽搧淇℃伅
+ *
+ * @param id 鑽搧淇℃伅涓婚敭
+ * @return 鑽搧淇℃伅
+ */
+ @Override
+ public MedicationItem selectMedicationItemById(Long id)
+ {
+ return medicationItemMapper.selectMedicationItemById(id);
+ }
+
+ /**
+ * 鏌ヨ鑽搧淇℃伅鍒楄〃
+ *
+ * @param medicationItem 鑽搧淇℃伅
+ * @return 鑽搧淇℃伅
+ */
+ @Override
+ public List<MedicationItem> selectMedicationItemList(MedicationItem medicationItem)
+ {
+ return medicationItemMapper.selectMedicationItemList(medicationItem);
+ }
+
+ /**
+ * 鏂板鑽搧淇℃伅
+ *
+ * @param medicationItem 鑽搧淇℃伅
+ * @return 缁撴灉
+ */
+ @Override
+ public int insertMedicationItem(MedicationItem medicationItem)
+ {
+ medicationItem.setCreateTime(DateUtils.getNowDate());
+ return medicationItemMapper.insertMedicationItem(medicationItem);
+ }
+
+ /**
+ * 淇敼鑽搧淇℃伅
+ *
+ * @param medicationItem 鑽搧淇℃伅
+ * @return 缁撴灉
+ */
+ @Override
+ public int updateMedicationItem(MedicationItem medicationItem)
+ {
+ medicationItem.setUpdateTime(DateUtils.getNowDate());
+ return medicationItemMapper.updateMedicationItem(medicationItem);
+ }
+
+ /**
+ * 鎵归噺鍒犻櫎鑽搧淇℃伅
+ *
+ * @param ids 闇�瑕佸垹闄ょ殑鑽搧淇℃伅涓婚敭
+ * @return 缁撴灉
+ */
+ @Override
+ public int deleteMedicationItemByIds(Long[] ids)
+ {
+ return medicationItemMapper.deleteMedicationItemByIds(ids);
+ }
+
+ /**
+ * 鍒犻櫎鑽搧淇℃伅淇℃伅
+ *
+ * @param id 鑽搧淇℃伅涓婚敭
+ * @return 缁撴灉
+ */
+ @Override
+ public int deleteMedicationItemById(Long id)
+ {
+ return medicationItemMapper.deleteMedicationItemById(id);
+ }
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceAppointRecordServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceAppointRecordServiceImpl.java
new file mode 100644
index 0000000..081ed87
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceAppointRecordServiceImpl.java
@@ -0,0 +1,96 @@
+package com.smartor.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.smartor.mapper.ServiceAppointRecordMapper;
+import com.smartor.domain.ServiceAppointRecord;
+import com.smartor.service.IServiceAppointRecordService;
+
+/**
+ * 棰勭害璁板綍Service涓氬姟灞傚鐞�
+ *
+ * @author lihu
+ * @date 2026-07-06
+ */
+@Service
+public class ServiceAppointRecordServiceImpl implements IServiceAppointRecordService
+{
+ @Autowired
+ private ServiceAppointRecordMapper serviceAppointRecordMapper;
+
+ /**
+ * 鏌ヨ棰勭害璁板綍
+ *
+ * @param id 棰勭害璁板綍涓婚敭
+ * @return 棰勭害璁板綍
+ */
+ @Override
+ public ServiceAppointRecord selectServiceAppointRecordById(Long id)
+ {
+ return serviceAppointRecordMapper.selectServiceAppointRecordById(id);
+ }
+
+ /**
+ * 鏌ヨ棰勭害璁板綍鍒楄〃
+ *
+ * @param serviceAppointRecord 棰勭害璁板綍
+ * @return 棰勭害璁板綍
+ */
+ @Override
+ public List<ServiceAppointRecord> selectServiceAppointRecordList(ServiceAppointRecord serviceAppointRecord)
+ {
+ return serviceAppointRecordMapper.selectServiceAppointRecordList(serviceAppointRecord);
+ }
+
+ /**
+ * 鏂板棰勭害璁板綍
+ *
+ * @param serviceAppointRecord 棰勭害璁板綍
+ * @return 缁撴灉
+ */
+ @Override
+ public int insertServiceAppointRecord(ServiceAppointRecord serviceAppointRecord)
+ {
+ serviceAppointRecord.setCreateTime(DateUtils.getNowDate());
+ return serviceAppointRecordMapper.insertServiceAppointRecord(serviceAppointRecord);
+ }
+
+ /**
+ * 淇敼棰勭害璁板綍
+ *
+ * @param serviceAppointRecord 棰勭害璁板綍
+ * @return 缁撴灉
+ */
+ @Override
+ public int updateServiceAppointRecord(ServiceAppointRecord serviceAppointRecord)
+ {
+ serviceAppointRecord.setUpdateTime(DateUtils.getNowDate());
+ return serviceAppointRecordMapper.updateServiceAppointRecord(serviceAppointRecord);
+ }
+
+ /**
+ * 鎵归噺鍒犻櫎棰勭害璁板綍
+ *
+ * @param ids 闇�瑕佸垹闄ょ殑棰勭害璁板綍涓婚敭
+ * @return 缁撴灉
+ */
+ @Override
+ public int deleteServiceAppointRecordByIds(Long[] ids)
+ {
+ return serviceAppointRecordMapper.deleteServiceAppointRecordByIds(ids);
+ }
+
+ /**
+ * 鍒犻櫎棰勭害璁板綍淇℃伅
+ *
+ * @param id 棰勭害璁板綍涓婚敭
+ * @return 缁撴灉
+ */
+ @Override
+ public int deleteServiceAppointRecordById(Long id)
+ {
+ return serviceAppointRecordMapper.deleteServiceAppointRecordById(id);
+ }
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceOutPathServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceOutPathServiceImpl.java
index feda3ae..dc3ff01 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceOutPathServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceOutPathServiceImpl.java
@@ -1,11 +1,17 @@
package com.smartor.service.impl;
+import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.RSAPublicKeyExample;
import com.smartor.domain.ServiceOutPath;
+import com.smartor.domain.ServiceTask;
import com.smartor.mapper.ServiceOutPathMapper;
+import com.smartor.mapper.ServiceTaskMapper;
import com.smartor.service.IServiceOutPathService;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
+import java.util.Date;
import java.util.List;
/**
@@ -18,6 +24,14 @@
public class ServiceOutPathServiceImpl implements IServiceOutPathService {
@Autowired
private ServiceOutPathMapper serviceOutPathMapper;
+ @Autowired
+ private ServiceTaskMapper serviceTaskMapper;
+ @Value("${localIP}")
+ private String localIP;
+ @Value("${req_path}")
+ private String req_path;
+ @Value("${pub_key}")
+ private String pub_key;
/**
* 鏌ヨ涓婚敭
@@ -53,6 +67,40 @@
}
/**
+ * 鏂板涓婚敭
+ *
+ * @param serviceOutPath 涓婚敭
+ * @return 缁撴灉
+ */
+ @Override
+ public String addOutPath(ServiceOutPath serviceOutPath) {
+ ServiceTask serviceTask = serviceTaskMapper.selectServiceTaskByTaskid(Long.valueOf(serviceOutPath.getParam1()));
+ RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample();
+ String taskId = rsaPublicKeyExample.encryptedData(serviceOutPath.getParam1().toString(), pub_key);
+ String patid= rsaPublicKeyExample.encryptedData(serviceOutPath.getParam2().toString(), pub_key);
+ String subid= rsaPublicKeyExample.encryptedData(serviceOutPath.getParam6().toString(), pub_key);
+ Date now = DateUtils.getNowDate();
+ ServiceOutPath sop = new ServiceOutPath();
+ sop.setParam1(taskId);
+ sop.setParam2(patid);
+ sop.setParam3(serviceTask.getTaskName());
+ sop.setParam6(subid);
+ sop.setCreateTime(now);
+ sop.setUpdateTime(now);
+ sop.setOrgid(serviceTask.getOrgid());
+ sop.setDeptCode(serviceTask.getDeptcode());
+ sop.setWardCode(serviceTask.getLeavehospitaldistrictcode());
+ sop.setDeptName(serviceTask.getDeptname());
+ sop.setWardName(serviceTask.getLeavehospitaldistrictname());
+ serviceOutPathMapper.insertServiceOutPath(sop);
+ //杞垚16杩涘埗骞跺洖鍐檙adix鍜寀pdateTime
+ serviceOutPath.setRadix(String.format("%03X", sop.getId()));
+ serviceOutPath.setUrl(localIP + ":" + req_path + "/wt?p=" + sop.getRadix());
+ serviceOutPathMapper.updateServiceOutPath(serviceOutPath);
+ return serviceOutPath.getUrl();
+ }
+
+ /**
* 淇敼涓婚敭
*
* @param serviceOutPath 涓婚敭
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java
index fa8c0f0..2ada147 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java
@@ -63,6 +63,12 @@
private SysUserRole2Mapper sysUserRoleMapper;
@Autowired
+ private MedicationItemMapper medicationItemMapper;
+
+ @Autowired
+ private MedicationDoseInfoMapper medicationDoseInfoMapper;
+
+ @Autowired
private RedisTemplate<String, String> redisTemplate;
@Value("${sltd_pub_path}")
@@ -84,7 +90,12 @@
Map<String, Object> requestParams = buildRequestParams(reqVO);
Map<String, String> headers = buildRequestHeaders();
log.info("璇锋眰鍙傛暟鍑洪櫌鏁版嵁鍦板潃锛歿},appKey:{}", sltdPubPath + "/osj/hbos-thirdparty-integration/standard/common/healthcareRecord/dtcQueryHealthcareRecordList", APP_KEY);
- String result = HttpUtils.sendPostByHeader(sltdPubPath + "/osj/hbos-thirdparty-integration/standard/common/healthcareRecord/dtcQueryHealthcareRecordList", new Gson().toJson(requestParams), headers);
+ String result = null;
+ if (reqVO.getSize() == null && reqVO.getCurrent() == null)
+ result = HttpUtils.sendPostByHeader(sltdPubPath + "/osj/hbos-thirdparty-integration/standard/common/healthcareRecord/dtcQueryHealthcareRecordList", new Gson().toJson(requestParams), headers);
+ else
+ result = HttpUtils.sendPostByHeader(sltdPubPath + "/osj/hbos-thirdparty-integration/standard/common/healthcareRecord/dtcPageHealthcareRecordList", new Gson().toJson(requestParams), headers);
+ log.info("queryHealthcareRecordList--result杩斿洖鐨勭粨鏋滃�硷細{}", result == null ? "绌哄��" : "鏈夊��");
String cry = determineCry(reqVO);
log.info("cry鐨勫�间负锛歿}", cry);
@@ -95,6 +106,31 @@
log.error("銆恞ueryHealthcareRecordList銆戣皟鐢ㄧ渷绔嬪悓寰峰仴搴疯褰曟煡璇㈡帴鍙e紓甯革紝璇锋眰鍙傛暟锛歿}", reqVO, e);
throw new RuntimeException("璋冪敤鐪佺珛鍚屽痉鍋ュ悍璁板綍鏌ヨ鎺ュ彛澶辫触:" + e.getMessage());
}
+ }
+
+ @Override
+ public Boolean queryMedicationItemList(ServiceSLTDInhospReqVO reqVO) {
+ try {
+ Map<String, Object> requestParams = buildRequestParams(reqVO);
+ Map<String, String> headers = buildRequestHeaders();
+ log.info("璇锋眰鍙傝嵂鍝佷俊鎭湴鍧�锛歿},appKey:{}", sltdPubPath + "/hbos-thirdparty-integration/standard/base/mc/service/medication/queryMedicationInfoPage", APP_KEY);
+ String result = HttpUtils.sendPostByHeader(sltdPubPath + "/hbos-thirdparty-integration/standard/base/mc/service/medication/queryMedicationInfoPage", new Gson().toJson(requestParams), headers);
+ List<Map<String, Object>> dataList = getDataList(result, 2);
+ for (Map<String, Object> dataItem : dataList) {
+ MedicationItem medicationItem = convertToMedication(dataItem);
+ log.info("medicationItem鐨勫�间负锛歿}", medicationItem);
+ medicationItemMapper.insertMedicationItem(medicationItem);
+ List<MedicationDoseInfo> doseInfoList = medicationItem.getDoseInfoList();
+ for (MedicationDoseInfo doseInfo : doseInfoList) {
+ doseInfo.setMedicationItemId(medicationItem.getId());
+ medicationDoseInfoMapper.insertMedicationDoseInfo(doseInfo);
+ }
+ }
+ } catch (Exception e) {
+ log.error("銆恞ueryMedicationItemList銆戣皟鐢ㄧ渷绔嬪悓寰疯嵂鍝佷俊鎭煡璇㈡帴鍙e紓甯革紝璇锋眰鍙傛暟锛歿}", reqVO, e);
+ throw new RuntimeException(e);
+ }
+ return true;
}
@@ -136,7 +172,7 @@
Map<String, String> headers = buildRequestHeaders();
String result = HttpUtils.sendPostByHeader(sltdPubPath + "/osj/hbos-thirdparty-integration/standard/common/dept/queryDeptList", new Gson().toJson(params), headers);
log.info("銆恞ueryDeptWardAreaInfoList銆戞帴鍙e搷搴旂粨鏋滐細{}", StringUtils.isEmpty(result) ? "绌虹殑" : "涓嶇┖");
- List<Map<String, Object>> dataList = getDataList(result);
+ List<Map<String, Object>> dataList = getDataList(result, 1);
log.info("-----------dataList鎺ュ彛鍝嶅簲缁撴灉锛歿}", dataList.size());
for (Map<String, Object> dataItem : dataList) {
SysDept sysDept = new SysDept();
@@ -192,20 +228,6 @@
return true;
}
- @Override
- public void aa(Map<String, Object> map) {
- List<String> types = new ArrayList<>();
- types.add("FH0109.27");
- ObjectMapper objectMapper = new ObjectMapper();
- try {
- String jsonString = objectMapper.writeValueAsString(map);
- parseResponseData(jsonString, types, "1", "20001001");
- } catch (JsonProcessingException e) {
- e.printStackTrace();
- }
-
- }
-
/**
* 閲囬泦鍖婚櫌鐢ㄦ埛淇℃伅
@@ -219,7 +241,7 @@
Map<String, String> headers = buildRequestHeaders();
String result = HttpUtils.sendPostByHeader(sltdPubPath + "/osj/hbos-thirdparty-integration/standard/common/staff/queryStaffList", new Gson().toJson(requestParams), headers);
log.info("銆恞ueryHealthcareRecordList銆戞帴鍙e搷搴旂粨鏋滄槸鍚︽湁鍊硷細{}", StringUtils.isEmpty(result) ? "娌″��" : "鏈夊��");
- List<Map<String, Object>> dataList = getDataList(result);
+ List<Map<String, Object>> dataList = getDataList(result, 1);
for (Map<String, Object> dataItem : dataList) {
SysUser sysUser = new SysUser();
if (StringUtils.isEmpty(getStringValue(dataItem, "accountNo"))) {
@@ -355,17 +377,25 @@
}
private String determineCry(ServiceSLTDInhospReqVO reqVO) {
- if (CollectionUtils.isEmpty(reqVO.getStatusList())) return null;
-
- if (reqVO.getStatusList().contains("FH0109.24")) {
- //鍏ラ櫌
- return "0";
- } else if (reqVO.getStatusList().contains("FH0109.27")) {
- //鍑洪櫌
- return "1";
- } else if (reqVO.getStatusList().contains("FH0109.22") || reqVO.getStatusList().contains("FH0109.23") || reqVO.getStatusList().contains("FH0109.53")) {
- //棰勫叆闄�
- return "3";
+ if (CollectionUtils.isEmpty(reqVO.getStatusList()) && CollectionUtils.isEmpty(reqVO.getHealthcareRecordTypeList()))
+ return null;
+ if (reqVO.getStatusList() != null) {
+ if (reqVO.getStatusList().contains("FH0109.24")) {
+ //鍏ラ櫌
+ return "0";
+ } else if (reqVO.getStatusList().contains("FH0109.27")) {
+ //鍑洪櫌
+ return "1";
+ } else if (reqVO.getStatusList().contains("FH0109.22") || reqVO.getStatusList().contains("FH0109.23") || reqVO.getStatusList().contains("FH0109.53")) {
+ //棰勫叆闄�
+ return "3";
+ }
+ }
+ if (reqVO.getHealthcareRecordTypeList() != null) {
+ if (reqVO.getHealthcareRecordTypeList().contains("FH0108.03") || reqVO.getHealthcareRecordTypeList().contains("FH0108.01")) {
+ //闂ㄦ�ヨ瘖
+ return "4";
+ }
}
return null;
}
@@ -376,7 +406,7 @@
params.put("orgId", Long.parseLong(reqVO.getOrgId()));
}
if (reqVO.getCampusId() != null) {
- params.put("campusId", reqVO.getCampusId());
+ params.put("campusIds", reqVO.getCampusId());
}
if (reqVO.getStartHeadTime() != null) {
params.put("startHeadTime", reqVO.getStartHeadTime());
@@ -431,12 +461,13 @@
private List<ServiceSLTDInhospResDTO> parseResponseData(String result, List<String> types, String cry, String campusId) {
try {
- List<Map<String, Object>> dataList = getDataList(result);
+ List<Map<String, Object>> dataList = getDataList(result, cry.equals("4") ? 2 : 1);
+ log.info("銆恜arseResponseData銆戞垚鍔熻В鏋恉ataList:{}鏉″仴搴疯褰曟暟鎹�", dataList.size());
List<ServiceSLTDInhospResDTO> resultList = new ArrayList<>();
for (Map<String, Object> dataItem : dataList) {
resultList.add(convertToDTO(dataItem));
}
- log.info("銆恜arseResponseData銆戞垚鍔熻В鏋恵}鏉″仴搴疯褰曟暟鎹�", resultList.size());
+ log.info("銆恜arseResponseData銆戞垚鍔熻В鏋恟esultList:{}鏉″仴搴疯褰曟暟鎹�", resultList.size());
processResultList(resultList, types, cry, campusId);
return resultList;
@@ -446,11 +477,20 @@
}
}
- public List<Map<String, Object>> getDataList(String result) {
+ /**
+ * 瑙f瀽鎺ュ彛杩斿洖鏁版嵁
+ *
+ * @param result 鎺ュ彛杩斿洖鏁版嵁
+ * @param flag 1浠h〃锛屾暟缁勫湪data閲岋紝2浠h〃鏁扮粍鍦╠ata/records閲�
+ * @return 瑙f瀽鍚庣殑鏁版嵁鍒楄〃
+ */
+
+ public List<Map<String, Object>> getDataList(String result, Integer flag) {
Gson gson = new Gson();
Type mapType = new TypeToken<Map<String, Object>>() {
}.getType();
Map<String, Object> responseMap = gson.fromJson(result, mapType);
+ log.info("銆恜arseResponseData銆戞帴鍙h繑鍥炴暟鎹殑responseMap锛歿}", Objects.isNull(responseMap) ? "绌虹殑" : "鏈夊��");
Number codeNum = (Number) responseMap.get("code");
String code = BigDecimal.valueOf(codeNum.longValue()).toPlainString();
if (StringUtils.isEmpty(code) || !code.equals("200")) {
@@ -459,15 +499,30 @@
}
Object dataObj = responseMap.get("data");
+ if (flag == 1) {
+ dataObj = responseMap.get("data");
+ } else if (flag == 2) {
+ //闂ㄦ�ヨ瘖鐨勫垎椤垫暟鎹槸鍦╮ecords涓�
+ dataObj = ((Map<String, Object>) responseMap.get("data")).get("records");
+ log.info("銆恜arseResponseData銆戞帴鍙h繑鍥炴暟鎹殑dataObj锛歿}", Objects.isNull(dataObj) ? "绌虹殑" : "鏈夊��");
+ }
if (dataObj == null) {
log.info("銆恜arseResponseData銆戞帴鍙h繑鍥炴暟鎹负绌�");
return new ArrayList<>();
}
- String dataJson = gson.toJson(dataObj);
- Type listType = new TypeToken<List<Map<String, Object>>>() {
- }.getType();
- List<Map<String, Object>> dataList = gson.fromJson(dataJson, listType);
+ // 鍏煎data涓烘暟缁勬垨瀵硅薄涓ょ鎯呭喌锛氭帴鍙f甯告椂data涓篬{...}]鏁扮粍锛�
+ // 寮傚父鎴栫┖鏁版嵁鏃跺彲鑳借繑鍥瀧}瀵硅薄锛岀洿鎺ユ寜List瑙f瀽浼氭姏JsonSyntaxException
+ List<Map<String, Object>> dataList;
+ if (dataObj instanceof List) {
+ String dataJson = gson.toJson(dataObj);
+ Type listType = new TypeToken<List<Map<String, Object>>>() {
+ }.getType();
+ dataList = gson.fromJson(dataJson, listType);
+ } else {
+ log.info("銆恜arseResponseData銆戞帴鍙h繑鍥瀌ata涓嶆槸鏁扮粍锛岃�屾槸瀵硅薄绫诲瀷锛宒ata鍐呭锛歿}", gson.toJson(dataObj));
+ return new ArrayList<>();
+ }
// 浣跨敤 Set 鍘婚噸锛岀‘淇濇病鏈夐噸澶嶇殑鏁版嵁
Set<Map<String, Object>> uniqueDataSet = new HashSet<>(dataList);
@@ -699,6 +754,14 @@
List<PatMedInhosp> patMedInhospList3 = patMedInhospService.selectPatMedInhosp(queryInhosp);
if (CollectionUtils.isEmpty(patMedInhospList3)) {
try {
+ //鑾峰彇涓�涓嬪叆闄㈢敵璇峰崟
+ Map<String, String> headers = buildRequestHeaders();
+ Map<String, Object> requestParams = new HashMap<>();
+ requestParams.put("orgId", "20001001");
+ requestParams.put("20001001", patArchive.getPatidHis());
+ String result = HttpUtils.sendPostByHeader(sltdPubPath + "/hospitalizedApply/query", new Gson().toJson(requestParams), headers);
+
+
patMedInhospService.insertPatMedInhosp(patMedInhosp);
log.debug("鎴愬姛鎻掑叆棰勫叆闄㈣褰曪細serialnum={}", patMedInhosp.getSerialnum());
} catch (Exception e) {
@@ -1038,6 +1101,55 @@
return dto;
}
+ private MedicationItem convertToMedication(Map<String, Object> dataItem) {
+ MedicationItem dto = new MedicationItem();
+ dto.setOrgId(getLongValue(dataItem, "orgId"));
+ dto.setIdentificationCode(getStringValue(dataItem, "identificationCode"));
+ dto.setWbm(getStringValue(dataItem, "wbm"));
+ dto.setMedicationCommonName(getStringValue(dataItem, "medicationCommonName"));
+ dto.setManufacturerName(getStringValue(dataItem, "manufacturerName"));
+ dto.setItemCode(getStringValue(dataItem, "itemCode"));
+ dto.setSmallLargePackageRatio(getLongValue(dataItem, "smallLargePackageRatio"));
+ dto.setRemark(getStringValue(dataItem, "remark"));
+ dto.setItemName(getStringValue(dataItem, "itemName"));
+ dto.setMedicationType(getStringValue(dataItem, "medicationType"));
+ Object mainDiagObj = dataItem.get("doseInfoList");
+ List<MedicationDoseInfo> doseInfoList = new ArrayList<>();
+ if (mainDiagObj instanceof List) {
+ List<Map<String, Object>> mainDiagList = (List<Map<String, Object>>) mainDiagObj;
+ for (Map<String, Object> mainDiagMap : mainDiagList) {
+ MedicationDoseInfo medicationDoseInfo = new MedicationDoseInfo();
+ medicationDoseInfo.setDoseSmallPackageRation(getBigDecimalValue(mainDiagMap, "doseSmallPackageRation"));
+ medicationDoseInfo.setDose(getLongValue(mainDiagMap, "dose"));
+ medicationDoseInfo.setDoseSmallPackageNum(getLongValue(mainDiagMap, "doseSmallPackageNum"));
+ medicationDoseInfo.setDoseUnit(getStringValue(mainDiagMap, "doseUnit"));
+ medicationDoseInfo.setDoseUnitType(getLongValue(mainDiagMap, "doseUnitType"));
+ doseInfoList.add(medicationDoseInfo);
+ }
+ }
+ dto.setDoseInfoList(doseInfoList);
+ dto.setAntimicrobialGradeCode(getStringValue(dataItem, "antimicrobialGradeCode"));
+ dto.setLicenseNumber(getStringValue(dataItem, "licenseNumber"));
+ dto.setDefaultUsageName(getStringValue(dataItem, "defaultUsageName"));
+ dto.setSpecialDrugsName(getStringValue(dataItem, "specialDrugsName"));
+ dto.setAntimicrobialGradeName(getStringValue(dataItem, "antimicrobialGradeName"));
+ dto.setCommonPinyin(getStringValue(dataItem, "commonPinyin"));
+ dto.setCommonWbm(getStringValue(dataItem, "commonWbm"));
+ dto.setManufacturerId(getLongValue(dataItem, "manufacturerId"));
+ dto.setDefaultUsageId(getLongValue(dataItem, "defaultUsageId"));
+ dto.setSpecification(getStringValue(dataItem, "specification"));
+ dto.setSmallPackageUnit(getStringValue(dataItem, "smallPackageUnit"));
+ dto.setItemId(getLongValue(dataItem, "itemId"));
+ dto.setSpecialDrugsCode(getStringValue(dataItem, "specialDrugsCode"));
+ dto.setPinyin(getStringValue(dataItem, "pinyin"));
+ dto.setDoseFormName(getStringValue(dataItem, "doseFormName"));
+ dto.setLargePackageUnit(getStringValue(dataItem, "largePackageUnit"));
+ dto.setRetailPrice(getBigDecimalValue(dataItem, "retailPrice"));
+ dto.setStatus(getLongValue(dataItem, "status"));
+ return dto;
+ }
+
+
private List<ServiceSLTDContactsResDTO> parseContacts(List<?> contactsList) {
List<ServiceSLTDContactsResDTO> contacts = new ArrayList<>();
for (Object contactObj : contactsList) {
@@ -1082,6 +1194,16 @@
return value instanceof Number ? new BigDecimal(value.toString()).toPlainString() : value.toString();
}
+ private BigDecimal getBigDecimalValue(Map<String, Object> map, String key) {
+ Object value = map.get(key);
+ if (value == null) {
+ return null;
+ }
+
+ // 鍙鐞嗘暟瀛楃被鍨嬶紝閬垮厤绉戝璁℃暟娉�
+ return new BigDecimal(value.toString());
+ }
+
private Long getLongValue(Map<String, Object> map, String key) {
Object value = map.get(key);
if (value == null) return null;
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
index 07484ad..a5071d0 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
@@ -207,7 +207,7 @@
if (key.contains("-WJscriptCache")) {
List<SvyTaskTemplateScriptVO> cacheList = redisCache.getCacheList(key);
cacheList.sort(Comparator.comparingLong(SvyTaskTemplateScriptVO::getSort));
- log.info("闂嵎鍥炵瓟缁撴灉锛歿}", cacheList);
+ log.info("闂嵎鍥炵瓟缁撴灉锛歿}", CollectionUtils.isEmpty(cacheList) ? null : cacheList.size());
for (int i = 0; i < cacheList.size(); i++) {
if (i == 0) {
//杩欎釜鏃堕棿瑕佹壘鍒扮涓�棰�
@@ -231,13 +231,10 @@
} else {
SvyTaskTemplateScriptVO svyTaskTemplateScriptVO = cacheList.get(i);
log.info("svyTaskTemplateScriptVO鐨勪俊鎭负锛歿}锛宨鐨勫�间负锛歿}", svyTaskTemplateScriptVO.getScriptno(), i);
-// SvyTaskTemplateScriptVO svyTaskTemplateScriptVO = DtoConversionUtils.sourceToTarget(cacheList.get(i), SvyTaskTemplateScriptVO.class);
List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = cacheList.get(i).getSvyTaskTemplateTargetoptions();
-// List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = DtoConversionUtils.sourceToTarget(cacheList.get(i).getSvyTaskTemplateTargetoptions(), SvyTaskTemplateTargetoption.class);
svyTaskTemplateScriptVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateTargetoptions);
if (svyTaskTemplateScriptVO.getSort() != null && svyTaskTemplateScriptVO.getSort().equals(nextScriptno)) {
-// log.error("svyTaskTemplateScriptVO鐨勫�间负锛歿}", svyTaskTemplateScriptVO);
Map<String, String> map = setWJInfo(svyTaskTemplateScriptVO, Long.valueOf(split[1]), Long.valueOf(split[0]), Objects.isNull(split[2]) ? null : Long.valueOf(split[2]));
log.error("nextScriptNo鐨勪俊鎭负锛歿}", map.get("nextScriptNo"));
if (!Objects.isNull(map.get("nextScriptNo")))
@@ -253,16 +250,14 @@
} else if (key.contains("-SFscriptCache")) {
List<IvrTaskTemplateScriptVO> cacheList = redisCache.getCacheList(key);
cacheList.sort(Comparator.comparingLong(IvrTaskTemplateScriptVO::getSort));
- log.error("鐢佃瘽闅忚闂嵎鍥炵瓟缁撴灉锛歿}", cacheList.size());
+ log.error("鐢佃瘽闅忚闂嵎鍥炵瓟缁撴灉锛歿}", CollectionUtils.isEmpty(cacheList) ? null : cacheList.size());
for (int i = 0; i < cacheList.size(); i++) {
if (i == 0) {
//杩欎釜鏃堕棿瑕佹壘鍒扮涓�棰�
for (IvrTaskTemplateScriptVO ivrTaskTemplateScriptVO : cacheList) {
if (ivrTaskTemplateScriptVO.getSort() == 1L) {
//璇存槑鏄涓�棰�
-// IvrTaskTemplateScriptVO ivrTaskTemplateScriptVO = DtoConversionUtils.sourceToTarget(cacheList.get(0), IvrTaskTemplateScriptVO.class);
List<IvrTaskTemplateTargetoption> ivrTaskTemplateTargetoptions = cacheList.get(0).getIvrTaskScriptTargetoptionList();
-// List<IvrTaskTemplateTargetoption> ivrTaskTemplateTargetoptions = DtoConversionUtils.sourceToTarget(ivrLibaTemplateTargetoptions, IvrTaskTemplateTargetoption.class);
ivrTaskTemplateScriptVO.setIvrTaskScriptTargetoptionList(ivrTaskTemplateTargetoptions);
Map<String, String> map = setSFInfo(ivrTaskTemplateScriptVO, tid, pid, subid);
if (!Objects.isNull(map.get("nextScriptNo")))
@@ -347,7 +342,7 @@
if (serviceSubTaskCacheReq.getType() == 2) {
List<SvyTaskTemplateScriptVO> cacheList = serviceSubTaskCacheReq.getSvyTaskTemplateScriptVOS();
cacheList.sort(Comparator.comparingLong(SvyTaskTemplateScriptVO::getSort));
- log.info("闂嵎鍥炵瓟缁撴灉锛歿}", cacheList);
+ log.info("闂嵎鍥炵瓟缁撴灉锛歿}", CollectionUtils.isEmpty(cacheList) ? null : cacheList.size());
// 棰勬煡璇㈠惊鐜腑涓嶅彉鐨勬暟鎹紝閬垮厤姣忛閲嶅鏌ユ暟鎹簱
ServiceSubtaskEntity preSubtaskVO = new ServiceSubtaskEntity();
preSubtaskVO.setTaskid(tid);
@@ -401,7 +396,7 @@
} else if (serviceSubTaskCacheReq.getType() == 1) {
List<IvrTaskTemplateScriptVO> cacheList = serviceSubTaskCacheReq.getIvrTaskTemplateScriptVOList();
cacheList.sort(Comparator.comparingLong(vo -> Optional.ofNullable(vo.getSort()).orElse(0)));
- log.error("鐢佃瘽闅忚闂嵎鍥炵瓟缁撴灉锛歿}", cacheList.size());
+ log.error("鐢佃瘽闅忚闂嵎鍥炵瓟缁撴灉锛歿}", CollectionUtils.isEmpty(cacheList) ? null : cacheList.size());
for (int i = 0; i < cacheList.size(); i++) {
if (i == 0) {
//杩欎釜鏃堕棿瑕佹壘鍒扮涓�棰�
@@ -650,7 +645,6 @@
return true;
}
-
/**
* 灏嗛棶棰樹繚瀛樺埌缂撳瓨涓�
*
@@ -756,7 +750,7 @@
map.put("templateName", serviceSubtask.getTemplatename());
map.put("upTaskName", null);
if (ObjectUtils.isNotEmpty(serviceSubtask) && serviceSubtask.getUpid() != null) {
- Map<String, Object> scriptInfoByCondition2 = serviceTaskService.getScriptInfoByCondition(serviceSubTaskQueryReq.getTaskid(), serviceSubTaskQueryReq.getPatid(), serviceSubTaskQueryReq.getIsFinish(), serviceSubTaskQueryReq.getPatfrom(),serviceSubTaskQueryReq.getSubId());
+ Map<String, Object> scriptInfoByCondition2 = serviceTaskService.getScriptInfoByCondition(serviceSubTaskQueryReq.getTaskid(), serviceSubTaskQueryReq.getPatid(), serviceSubTaskQueryReq.getIsFinish(), serviceSubTaskQueryReq.getPatfrom(), serviceSubTaskQueryReq.getSubId());
Map<String, Object> map1 = getMap(scriptInfoByCondition2, Long.valueOf(serviceSubtask.getUpid()), serviceSubTaskQueryReq.getPatid());
if (!map1.isEmpty()) {
map.put("upScriptResult", map1.get("scriptResult"));
@@ -901,9 +895,7 @@
return map;
}
- private Map<String, String> setWJInfo(SvyTaskTemplateScriptVO svyTaskTemplateScriptVO, Long taskid, Long patid, Long subid,
- List<ServiceSubtask> selectServiceSubtaskList, ServiceTask serviceTask,
- Map<Long, Long> existingDetailIdMap, Map<Long, Long> existingTraceIdMap) {
+ private Map<String, String> setWJInfo(SvyTaskTemplateScriptVO svyTaskTemplateScriptVO, Long taskid, Long patid, Long subid, List<ServiceSubtask> selectServiceSubtaskList, ServiceTask serviceTask, Map<Long, Long> existingDetailIdMap, Map<Long, Long> existingTraceIdMap) {
log.error("-----svyTaskTemplateScriptVO鐨勫�间负锛歿}", svyTaskTemplateScriptVO);
String score = "0";
//涓嬮璺宠浆
@@ -931,6 +923,7 @@
serviceSubtaskDetailVO.setAsrtext(StringUtils.isEmpty(svyTaskTemplateScriptVO.getScriptResult()) ? "" : svyTaskTemplateScriptVO.getScriptResult().replaceAll("^\"|\"$", ""));
serviceSubtaskDetailVO.setMatchedtext(StringUtils.isEmpty(svyTaskTemplateScriptVO.getScriptResult()) ? "" : svyTaskTemplateScriptVO.getScriptResult().replaceAll("^\"|\"$", ""));
serviceSubtaskDetailVO.setScore(svyTaskTemplateScriptVO.getScore() != null ? svyTaskTemplateScriptVO.getScore().toString() : "0");
+ serviceSubtaskDetailVO.setAnswerps(svyTaskTemplateScriptVO.getAnswerps());
} else {
//闈炲崟澶氶��
if (StringUtils.isNotEmpty(svyTaskTemplateScriptVO.getScriptResult())) {
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
index a6e4416..22812af 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -6,6 +6,7 @@
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.Gson;
+import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.dx.MessageSend;
import com.ruoyi.common.exception.base.BaseException;
@@ -177,6 +178,8 @@
@Autowired
private IPatMedOuthospService patMedOuthospService;
+ @Autowired
+ private SysDept2Mapper sysDept2Mapper;
@Value("${spring.profiles.active}")
private String active;
@@ -404,8 +407,8 @@
if (serviceSubtaskRes.getSendstate() == 6) serviceSubtaskRes.setSendstateView(2L);
if (serviceSubtaskRes.getSendstate() == 4) serviceSubtaskRes.setSendstateView(3L);
// 濉厖褰撳墠琛ュ伩
- if (StringUtils.isEmpty(serviceSubtask.getCurrentPreachform())){
- if(StringUtils.isNotEmpty(serviceSubtask.getPreachform())){
+ if (StringUtils.isEmpty(serviceSubtask.getCurrentPreachform())) {
+ if (StringUtils.isNotEmpty(serviceSubtask.getPreachform())) {
//榛樿鍙栫涓�涓�
serviceSubtaskRes.setCurrentPreachform(serviceSubtask.getPreachform().split(",")[0]);
}
@@ -685,7 +688,10 @@
serviceTask.setTemplatename(tempName);
}
serviceTask.setLeaveldeptcodes(serviceTaskVO.getLeaveldeptcodes());
- serviceTask.setLeavehospitaldistrictcode(serviceTask.getLeavehospitaldistrictcode());
+ if (StringUtils.isEmpty(serviceTask.getLeavehospitaldistrictname()) && StringUtils.isNotEmpty(serviceTask.getLeavehospitaldistrictcode())) {
+ SysDept sysDept = sysDept2Mapper.selectDeptByCode(serviceTask.getLeavehospitaldistrictcode(), null);
+ serviceTask.setLeavehospitaldistrictname(sysDept.getDeptName());
+ }
if (serviceTaskVO.getLongTask() == 1) serviceTask.setSendState(2L);
serviceTask.setCreateTime(new Date());
serviceTask.setUpdateTime(new Date());
@@ -711,8 +717,8 @@
//鍗楀崕闄勪竴鐨刬cd10code鏄湁閲嶅鐨勶紝鎵�浠ヤ笉鑳界敤鍗楀崕闄勪竴鐨刬cd10code鍘绘煡璇�
log.info("----serviceTaskdiag鐨勫�间负锛歿}", serviceTaskdiag);
if (!StringUtils.isEmpty(serviceTaskVO.getIcd10name())) {
- String[] Icd10Names = serviceTaskVO.getIcd10name().split("$");
- String[] Icd10codes = serviceTaskVO.getIcd10code().split("$");
+ String[] Icd10Names = serviceTaskVO.getIcd10name().split(",");
+ String[] Icd10codes = serviceTaskVO.getIcd10code().split(",");
for (int i = 0; i < Icd10Names.length; i++) {
serviceTaskdiag.setIcd10code(Icd10codes[i]);
serviceTaskdiag.setIcd10name(Icd10Names[i]);
@@ -2360,7 +2366,6 @@
serviceSubtask.setRemark("鐢佃瘽鎺ラ�氭垚鍔燂紝鎮h�呮嫆缁濋殢璁�");
serviceSubtask.setId(Long.valueOf(phoneCallRecordVO.getTaskid()));
serviceSubtask.setSendstate(6L);
- serviceSubtask.setFinishtime(new Date());
serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
// int startIndex = phoneCallRecordVO.getRecord_path().indexOf("voice") + "voice".length() + 1; // 鍔�1鏄烦杩�/绗﹀彿
// int endIndex = phoneCallRecordVO.getRecord_path().lastIndexOf("/");
@@ -3699,7 +3704,7 @@
Map<String, String> map = new HashMap<>();
map.put("phone", serviceSubtask.getPhone());
map.put("content", sendMagParam.getContent());
- String result = HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(map));
+ HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(map));
redisCache.setCacheObject(subTaskId + "recordAccept-hungup", "1", 10, TimeUnit.MINUTES);
if (StringUtils.isNotEmpty(serviceSubtask.getRemark()))
serviceSubtask.setRemark("鐢佃瘽鍙戦�佹嫆鎺�,鐭俊琛ュ伩鍙戦�佹垚鍔�");
@@ -4613,8 +4618,8 @@
}
@Override
- public List<ServiceSubtaskDetailRatioExport> statQuestionOption(List<Long> taskIds) {
- return serviceSubtaskMapper.statQuestionOption(taskIds);
+ public List<ServiceSubtaskDetailRatioExport> statQuestionOption(List<Long> taskIds, Date startOutHospTime, Date endOutHospTime) {
+ return serviceSubtaskMapper.statQuestionOption(taskIds, startOutHospTime, endOutHospTime);
}
private Boolean saveServiceSubtaskDetail(ServiceSubtask serviceSubtask) {
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java
index 531474a..44f8c04 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java
@@ -4,12 +4,10 @@
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
-import com.google.gson.Gson;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.DtoConversionUtils;
-import com.ruoyi.common.utils.http.HttpUtils;
import com.smartor.domain.entity.ServiceSubtaskEntity;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
@@ -18,7 +16,6 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import com.smartor.service.IServiceTaskService;
import org.springframework.transaction.annotation.Transactional;
@@ -34,49 +31,34 @@
public class ServiceTaskServiceImpl implements IServiceTaskService {
@Autowired
private ServiceTaskMapper serviceTaskMapper;
-
@Autowired
private ServiceSubtaskMapper serviceSubtaskMapper;
-
@Autowired
private ServiceTaskdeptMapper serviceTaskdeptMapper;
-
@Autowired
private PatArchiveImportMapper patArchiveImportMapper;
-
-
@Autowired
private ServiceSubtaskPreachformMapper serviceSubtaskPreachformMapper;
-
@Autowired
private HeLibraryMapper heLibraryMapper;
-
@Autowired
private SvyTaskTemplateScriptMapper svyTaskTemplateScriptMapper;
@Autowired
private IvrTaskTemplateScriptMapper ivrTaskTemplateScriptMapper;
-
@Autowired
private SvyLibTemplateScriptMapper svyLibTemplateScriptMapper;
-
@Autowired
private PatArchiveMapper patArchiveMapper;
-
@Autowired
private PatMedInhospMapper patMedInhospMapper;
-
@Autowired
private PatMedOuthospMapper patMedOuthospMapper;
-
-
@Autowired
private SvyLibTemplateTargetoptionMapper svyLibTemplateTargetoptionMapper;
@Autowired
private IvrTaskTemplateTargetoptionMapper ivrTaskTemplateTargetOptionMapper;
-
@Autowired
private SvyTaskTemplateTargetoptionMapper svyTaskTemplateTargetoptionMapper;
-
@Autowired
private RedisCache redisCache;
@@ -287,13 +269,14 @@
serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(ssp);
}
}
-
- if (StringUtils.isNotEmpty(serviceTask.getKcb())) map.put("kcb", serviceTask.getKcb());
- map.put("script", info);
- if (StringUtils.isNotEmpty(serviceTask.getJsy())) map.put("jsy", serviceTask.getJsy());
- map.put("type", serviceTask.getType());
- map.put("taskName", serviceTask.getTaskName());
- map.put("submit", "0");
+ if (serviceTask != null) {
+ if (StringUtils.isNotEmpty(serviceTask.getKcb())) map.put("kcb", serviceTask.getKcb());
+ map.put("script", info);
+ if (StringUtils.isNotEmpty(serviceTask.getJsy())) map.put("jsy", serviceTask.getJsy());
+ map.put("type", serviceTask.getType());
+ map.put("taskName", serviceTask.getTaskName());
+ map.put("submit", "0");
+ }
return map;
}
@@ -435,7 +418,6 @@
if (StringUtils.isNotEmpty(ivrTaskTemplateScriptVO.getScriptContent())) {
for (Map<String, String> map : mapList) {
for (String key : map.keySet()) {
-
ivrTaskTemplateScriptVO.setScriptContent(ivrTaskTemplateScriptVO.getScriptContent().replace(key, StringUtils.isNotEmpty(map.get(key)) ? map.get(key) : ""));
}
}
@@ -486,8 +468,7 @@
//閫氳繃妯℃澘ID鑾峰彇闂淇℃伅
SvyTaskTemplateScript svyTaskTemplateScript = new SvyTaskTemplateScript();
svyTaskTemplateScript.setTemplateID(Long.valueOf(serviceTask.getTemplateid()));
- if (CollectionUtils.isNotEmpty(serviceSubtaskList) && serviceSubtaskList.get(0).getTemplateid() != null)
- svyTaskTemplateScript.setTemplateID(serviceSubtaskList.get(0).getTemplateid());
+ if (serviceTask.getTemplateid() != null) svyTaskTemplateScript.setTemplateID(serviceTask.getTemplateid());
svyTaskTemplateScript.setDelFlag("0");
List<SvyTaskTemplateScript> svyTaskTemplateScripts = svyTaskTemplateScriptMapper.selectSvyTaskTemplateScriptList(svyTaskTemplateScript);
if (CollectionUtils.isEmpty(svyTaskTemplateScripts) || svyTaskTemplateScripts.size() == 0) {
diff --git a/smartor/src/main/java/com/smartor/service/impl/XHGatherPatArchiveServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/XHGatherPatArchiveServiceImpl.java
index cb0961a..150769f 100644
--- a/smartor/src/main/java/com/smartor/service/impl/XHGatherPatArchiveServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/XHGatherPatArchiveServiceImpl.java
@@ -3,19 +3,20 @@
import com.google.common.reflect.TypeToken;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
+import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.entity.SysUserDept;
import com.ruoyi.common.core.domain.entity.SysUserRole;
+import com.ruoyi.common.utils.HttpUtil;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.http.HttpUtils;
+import com.ruoyi.system.domain.SysConfig;
+import com.ruoyi.system.mapper.SysConfigMapper;
import com.smartor.domain.*;
import com.smartor.mapper.*;
-import com.smartor.service.IHNGatherPatArchiveService;
-import com.smartor.service.IPatArchiveService;
-import com.smartor.service.IPatMedInhospService;
-import com.smartor.service.IXHGatherPatArchiveService;
+import com.smartor.service.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -27,6 +28,7 @@
import java.io.File;
import java.io.FileWriter;
import java.lang.reflect.Type;
+import java.net.URLEncoder;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
@@ -47,13 +49,26 @@
@Value("${hosp_info_url}")
private String hospInfoUrl;
-
-
@Autowired
IPatMedInhospService patMedInhospService;
-
@Autowired
IPatArchiveService patArchiveService;
+ @Autowired
+ IServiceAppointRecordService iServiceAppointRecordService;
+ @Autowired
+ private SysConfigMapper sysConfigMapper;
+ @Value("${xhsmsPath}")
+ private String xhsmsPath;
+ // 甯愬彿
+ @Value("${xhsmsAccount}")
+ private String xhsmsAccount;
+ // 鎺ュ彛瀵嗙爜
+ @Value("${xhsmsPwd}")
+ private String xhsmsPwd;
+ // 铏氭嫙鎺ュ叆鐮�
+ @Value("${xhsmsjrm}")
+ private String xhsmsjrm;
+
/**
* 鑾峰彇鎮h�呭嚭鍏ラ櫌淇℃伅
@@ -94,6 +109,72 @@
}
}
+ /**
+ * 鑾峰彇棰勭害鍋滆瘖璁板綍淇℃伅
+ *
+ * @param cry 鍑哄叆闄㈢被鍨嬶細0-鍏ラ櫌锛�1-鍑洪櫌 2,棰勭害璁板綍
+ * @param startTime 寮�濮嬫椂闂�
+ * @param endTime 缁撴潫鏃堕棿
+ */
+ public void getAppointRecordInfo(String cry, LocalDateTime startTime, LocalDateTime endTime) {
+ log.info("銆恎etAppointRecordInfo銆戝紑濮嬭幏鍙栧彇棰勭害鍋滆瘖璁板綍淇℃伅锛屾椂闂磋寖鍥达細{} ~ {}", startTime, endTime);
+ long startTimeMillis = System.currentTimeMillis();
+
+ try {
+ // 绗竴姝ワ細鏋勫缓璇锋眰鍙傛暟骞惰皟鐢℉IS鎺ュ彛
+ List<ServiceAppointRecord> appointRecordFromHIS = getAppointRecordFromHIS(cry, startTime, endTime);
+
+ if (CollectionUtils.isEmpty(appointRecordFromHIS)) {
+ log.info("銆恎etAppointRecordInfo銆戣幏鍙栭绾﹀仠璇婅褰曚俊鎭负绌猴紝璺宠繃澶勭悊");
+ return;
+ }
+ log.info("銆恎etAppointRecordInfo銆戣幏鍙栭绾﹀仠璇婅褰曚俊鎭瘂}鏉�", appointRecordFromHIS.size());
+ SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique("yytz.sms.template");
+ if (sysConfig != null) {
+ String smsContemt = sysConfig.getConfigValue();
+ // 绗簩姝ワ細澶勭悊鍋滆瘖璁板綍淇℃伅
+ for (ServiceAppointRecord serviceAppointRecord : appointRecordFromHIS) {
+ String replace = smsContemt.replace("${patFileName}", StringUtils.defaultString(serviceAppointRecord.getPatFileName())).replace("${registTimeRange}", StringUtils.defaultString(serviceAppointRecord.getRegistTimeRange())).replace("${registDeptName}", StringUtils.defaultString(serviceAppointRecord.getRegistDeptName())).replace("${treatDoctName}", StringUtils.defaultString(serviceAppointRecord.getTreatDoctName()));
+ Map<String, String> map2 = new HashMap<String, String>();
+ map2.put("action", "send");
+ map2.put("account", xhsmsAccount);
+ map2.put("password", xhsmsPwd);
+ map2.put("mobile", serviceAppointRecord.getPatTel());
+ map2.put("content", replace);
+ map2.put("extno", xhsmsjrm);
+ map2.put("rt", "json");
+ StringBuilder encodedParams = new StringBuilder();
+
+ for (Map.Entry<String, String> entry : map2.entrySet()) {
+ if (encodedParams.length() > 0) {
+ encodedParams.append("&");
+ }
+ // 瀵归敭鍜屽�艰繘琛孶RL缂栫爜
+ String encodedKey = URLEncoder.encode(entry.getKey(), "UTF-8");
+ String encodedValue = URLEncoder.encode(entry.getValue(), "UTF-8");
+ encodedParams.append(encodedKey).append("=").append(encodedValue);
+ }
+ Boolean isSuccess = HttpUtils.sendPost(xhsmsPath, encodedParams.toString());
+ if (isSuccess) {
+ log.info("---澶勭悊鍋滆瘖璁板綍淇℃伅鍙戦�佹垚鍔�,鍏ュ弬涓�:{}", encodedParams.toString());
+ serviceAppointRecord.setSendTime(new Date());
+ serviceAppointRecord.setSenderName("绯荤粺绠$悊鍛�");
+ iServiceAppointRecordService.insertServiceAppointRecord(serviceAppointRecord);
+ } else {
+ log.info("澶勭悊鍋滆瘖璁板綍淇℃伅鍙戦�佸け璐�");
+ iServiceAppointRecordService.insertServiceAppointRecord(serviceAppointRecord);
+ }
+ }
+ }
+ long endTimeMillis = System.currentTimeMillis();
+ log.info("銆恎etAppointRecordInfo銆憑},棰勭害鍋滆瘖璁板綍淇℃伅澶勭悊瀹屾垚锛岃�楁椂锛歿}ms", endTimeMillis - startTimeMillis);
+
+ } catch (Exception e) {
+ log.error("銆恎etAppointRecordInfo銆戣幏鍙栭绾﹀仠璇婅褰曚俊鎭鐞嗗紓甯�", e);
+ throw new RuntimeException("鑾峰彇棰勭害鍋滆瘖璁板綍淇℃伅澶勭悊寮傚父", e);
+ }
+ }
+
/**
* 绗竴姝ワ細璋冪敤HIS鎺ュ彛鑾峰彇鏁版嵁
@@ -117,6 +198,29 @@
throw e;
}
}
+
+
+ private List<ServiceAppointRecord> getAppointRecordFromHIS(String cry, LocalDateTime startTime, LocalDateTime endTime) {
+ try {
+ // 鏋勫缓璇锋眰鍙傛暟
+ Map<String, String> requestParams = buildRequestParams(cry, startTime, endTime);
+
+ // 鏋勫缓璇锋眰澶�
+ Map<String, String> headers = buildRequestHeaders(startTime);
+
+ // 鍙戦�丠TTP璇锋眰
+ log.info("銆恎etAppointRecordFromHIS銆戝彂閫丠TTP璇锋眰锛岃姹傚弬鏁帮細{},璇锋眰鍦板潃锛歿}", new Gson().toJson(requestParams), hospInfoUrl);
+ String result = HttpUtils.sendPostByHeader(hospInfoUrl, new Gson().toJson(requestParams), headers);
+
+ // 瑙f瀽鍝嶅簲鏁版嵁
+ return parseResponseData2(result);
+
+ } catch (Exception e) {
+ log.error("銆恌etchHisData銆戣皟鐢℉IS鎺ュ彛寮傚父", e);
+ throw e;
+ }
+ }
+
/**
* 绗簩姝ワ細淇濆瓨鍘熷鏁版嵁鍒版枃浠�
@@ -180,7 +284,8 @@
private Map<String, String> buildRequestHeaders(LocalDateTime startTime) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.S");
Map<String, String> header = new HashMap<>();
- header.put("x-hcsb-serviceno", "IS002347");
+ header.put("x-hcsb-serviceno", "IS044056");
+// header.put("x-hcsb-serviceno", "IS002347");
header.put("x-hcsb-version", "2.0");
header.put("x-hcsb-sourcesyscode", "14");
header.put("x-hcsb-token", "ArGE2JnHtxG/Zx5nrnGY4eOfMUJGGJokAJHigG1BrCY=");
@@ -201,11 +306,17 @@
req.put("cashStartDate", startTime.format(formatter));
req.put("cashEndDate", endTime.format(formatter));
req.put("currStatus", "4");
- } else {
+ } else if ("0".equals(cry)) {
// 鍏ラ櫌鍙傛暟
req.put("admissStartDate", startTime.format(formatter));
req.put("admissEndDate", endTime.format(formatter));
req.put("currStatus", "2");
+ } else if ("2".equals(cry)) {
+ // 棰勭害璁板綍鏌ヨ
+ req.put("appointRegistDateBegin", startTime.format(formatter));
+ req.put("appointRegistDateEnd", endTime.format(formatter));
+ // 鎺掔彮鍋滆瘖 锛堥绾︾姸鎬佹爣蹇�(0:宸查绾� 1:宸叉寕鍙� 2:宸查��鍙� 3:宸插氨璇� -1:鐥呬汉鍙栨秷 -2:鍖婚櫌鍙栨秷 -3:鎺掔彮鍋滆瘖)锛�
+ req.put("scheduleStatusFlag", "-3");
}
return req;
@@ -218,7 +329,22 @@
try {
Gson gson = new Gson();
JsonObject jsonObject = gson.fromJson(result, JsonObject.class);
- JsonArray resultArray = jsonObject.getAsJsonObject("data").getAsJsonArray("result");
+
+ // 鏍¢獙data瀛楁鏄惁涓篔sonObject
+ JsonElement dataElement = jsonObject.get("data");
+ if (dataElement == null || !dataElement.isJsonObject()) {
+ log.warn("銆恜arseResponseData銆戝搷搴旀暟鎹腑data瀛楁涓虹┖鎴栭潪瀵硅薄绫诲瀷锛屽師濮嬫暟鎹細{}", result);
+ return new ArrayList<>();
+ }
+
+ JsonObject dataObject = dataElement.getAsJsonObject();
+ JsonElement resultElement = dataObject.get("result");
+ if (resultElement == null || !resultElement.isJsonArray()) {
+ log.warn("銆恜arseResponseData銆戝搷搴旀暟鎹腑result瀛楁涓虹┖鎴栭潪鏁扮粍绫诲瀷锛屽師濮嬫暟鎹細{}", result);
+ return new ArrayList<>();
+ }
+
+ JsonArray resultArray = resultElement.getAsJsonArray();
Type resultType = new TypeToken<List<ThiedInhospInfo>>() {
}.getType();
return gson.fromJson(resultArray, resultType);
@@ -228,6 +354,38 @@
}
}
+ /**
+ * 瑙f瀽鍝嶅簲鏁版嵁
+ */
+ private List<ServiceAppointRecord> parseResponseData2(String result) {
+ try {
+ Gson gson = new Gson();
+ JsonObject jsonObject = gson.fromJson(result, JsonObject.class);
+
+ // 鏍¢獙data瀛楁鏄惁涓篔sonObject
+ JsonElement dataElement = jsonObject.get("data");
+ if (dataElement == null || !dataElement.isJsonObject()) {
+ log.warn("銆恜arseResponseData2銆戝搷搴旀暟鎹腑data瀛楁涓虹┖鎴栭潪瀵硅薄绫诲瀷锛屽師濮嬫暟鎹細{}", result);
+ return new ArrayList<>();
+ }
+
+ JsonObject dataObject = dataElement.getAsJsonObject();
+ JsonElement resultElement = dataObject.get("result");
+ if (resultElement == null || !resultElement.isJsonArray()) {
+ log.warn("銆恜arseResponseData2銆戝搷搴旀暟鎹腑result瀛楁涓虹┖鎴栭潪鏁扮粍绫诲瀷锛屽師濮嬫暟鎹細{}", result);
+ return new ArrayList<>();
+ }
+
+ JsonArray resultArray = resultElement.getAsJsonArray();
+ Type resultType = new TypeToken<List<ServiceAppointRecord>>() {
+ }.getType();
+ return gson.fromJson(resultArray, resultType);
+ } catch (Exception e) {
+ log.error("銆恜arseResponseData2銆戣В鏋愬搷搴旀暟鎹紓甯革紝鍘熷鏁版嵁锛歿}", result, e);
+ throw e;
+ }
+ }
+
/**
* 澶勭悊鍗曚釜鎮h�呮暟鎹�
diff --git a/smartor/src/main/resources/mapper/smartor/MedicationDoseInfoMapper.xml b/smartor/src/main/resources/mapper/smartor/MedicationDoseInfoMapper.xml
new file mode 100644
index 0000000..b1d35d7
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/MedicationDoseInfoMapper.xml
@@ -0,0 +1,172 @@
+<?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.smartor.mapper.MedicationDoseInfoMapper">
+
+ <resultMap type="com.smartor.domain.MedicationDoseInfo" id="MedicationDoseInfoResult">
+ <result property="id" column="id"/>
+ <result property="medicationItemId" column="medication_item_id"/>
+ <result property="doseSmallPackageRation" column="dose_small_package_ration"/>
+ <result property="dose" column="dose"/>
+ <result property="doseSmallPackageNum" column="dose_small_package_num"/>
+ <result property="doseUnit" column="dose_unit"/>
+ <result property="doseUnitType" column="dose_unit_type"/>
+ <result property="remark" column="remark"/>
+ <result property="createBy" column="create_by"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateBy" column="update_by"/>
+ <result property="updateTime" column="update_time"/>
+ </resultMap>
+
+ <sql id="selectMedicationDoseInfoVo">
+ select id, medication_item_id, dose_small_package_ration, dose, dose_small_package_num, dose_unit, dose_unit_type, remark, create_by, create_time, update_by, update_time
+ from medication_dose_info
+ </sql>
+
+ <select id="selectMedicationDoseInfoList" parameterType="com.smartor.domain.MedicationDoseInfo"
+ resultMap="MedicationDoseInfoResult">
+ <include refid="selectMedicationDoseInfoVo"/>
+ where 1=1
+ and del_flag=0
+ <if test="medicationItemId != null ">
+ and medication_item_id = #{medicationItemId}
+ </if>
+ <if test="doseSmallPackageRation != null ">
+ and dose_small_package_ration = #{doseSmallPackageRation}
+ </if>
+ <if test="dose != null ">
+ and dose = #{dose}
+ </if>
+ <if test="doseSmallPackageNum != null ">
+ and dose_small_package_num = #{doseSmallPackageNum}
+ </if>
+ <if test="doseUnit != null and doseUnit != ''">
+ and dose_unit = #{doseUnit}
+ </if>
+ <if test="doseUnitType != null ">
+ and dose_unit_type = #{doseUnitType}
+ </if>
+ </select>
+
+ <select id="selectMedicationDoseInfoById" parameterType="Long"
+ resultMap="MedicationDoseInfoResult">
+ <include refid="selectMedicationDoseInfoVo"/>
+ where id = #{id}
+ </select>
+
+ <insert id="insertMedicationDoseInfo" parameterType="com.smartor.domain.MedicationDoseInfo" useGeneratedKeys="true" keyProperty="id">
+ insert into medication_dose_info
+ <trim prefix="(" suffix=")" suffixOverrides=",">
+ <if test="medicationItemId != null">medication_item_id,
+ </if>
+ <if test="doseSmallPackageRation != null">dose_small_package_ration,
+ </if>
+ <if test="dose != null">dose,
+ </if>
+ <if test="doseSmallPackageNum != null">dose_small_package_num,
+ </if>
+ <if test="doseUnit != null">dose_unit,
+ </if>
+ <if test="doseUnitType != null">dose_unit_type,
+ </if>
+ <if test="remark != null">remark,
+ </if>
+ <if test="createBy != null">create_by,
+ </if>
+ <if test="createTime != null">create_time,
+ </if>
+ <if test="updateBy != null">update_by,
+ </if>
+ <if test="updateTime != null">update_time,
+ </if>
+ </trim>
+ <trim prefix="values (" suffix=")" suffixOverrides=",">
+ <if test="medicationItemId != null">#{medicationItemId},
+ </if>
+ <if test="doseSmallPackageRation != null">#{doseSmallPackageRation},
+ </if>
+ <if test="dose != null">#{dose},
+ </if>
+ <if test="doseSmallPackageNum != null">#{doseSmallPackageNum},
+ </if>
+ <if test="doseUnit != null">#{doseUnit},
+ </if>
+ <if test="doseUnitType != null">#{doseUnitType},
+ </if>
+ <if test="remark != null">#{remark},
+ </if>
+ <if test="createBy != null">#{createBy},
+ </if>
+ <if test="createTime != null">#{createTime},
+ </if>
+ <if test="updateBy != null">#{updateBy},
+ </if>
+ <if test="updateTime != null">#{updateTime},
+ </if>
+ </trim>
+ </insert>
+
+ <update id="updateMedicationDoseInfo" parameterType="com.smartor.domain.MedicationDoseInfo">
+ update medication_dose_info
+ <trim prefix="SET" suffixOverrides=",">
+ <if test="medicationItemId != null">medication_item_id =
+ #{medicationItemId},
+ </if>
+ <if test="doseSmallPackageRation != null">dose_small_package_ration =
+ #{doseSmallPackageRation},
+ </if>
+ <if test="dose != null">dose =
+ #{dose},
+ </if>
+ <if test="doseSmallPackageNum != null">dose_small_package_num =
+ #{doseSmallPackageNum},
+ </if>
+ <if test="doseUnit != null">dose_unit =
+ #{doseUnit},
+ </if>
+ <if test="doseUnitType != null">dose_unit_type =
+ #{doseUnitType},
+ </if>
+ <if test="remark != null">remark =
+ #{remark},
+ </if>
+ <if test="createBy != null">create_by =
+ #{createBy},
+ </if>
+ <if test="createTime != null">create_time =
+ #{createTime},
+ </if>
+ <if test="updateBy != null">update_by =
+ #{updateBy},
+ </if>
+ <if test="updateTime != null">update_time =
+ #{updateTime},
+ </if>
+ </trim>
+ where id = #{id}
+ </update>
+
+ <update id="deleteMedicationDoseInfoById" parameterType="Long">
+ update medication_dose_info
+ <trim prefix="SET" suffixOverrides=",">
+ del_flag =1
+ </trim>
+ where id = #{id}
+ </update>
+
+ <update id="deleteMedicationDoseInfoByIds" parameterType="String">
+ update medication_dose_info
+ <trim prefix="SET" suffixOverrides=",">
+ del_flag =1
+ </trim>
+ where id in
+ <foreach item="id" collection="array" open="(" separator="," close=")">
+ #{id}
+ </foreach>
+ </update>
+
+
+
+
+</mapper>
diff --git a/smartor/src/main/resources/mapper/smartor/MedicationItemMapper.xml b/smartor/src/main/resources/mapper/smartor/MedicationItemMapper.xml
new file mode 100644
index 0000000..e46d8ac
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/MedicationItemMapper.xml
@@ -0,0 +1,434 @@
+<?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.smartor.mapper.MedicationItemMapper">
+
+ <resultMap type="com.smartor.domain.MedicationItem" id="MedicationItemResult">
+ <result property="id" column="id"/>
+ <result property="identificationCode" column="identification_code"/>
+ <result property="wbm" column="wbm"/>
+ <result property="medicationCommonName" column="medication_common_name"/>
+ <result property="manufacturerName" column="manufacturer_name"/>
+ <result property="itemCode" column="item_code"/>
+ <result property="smallLargePackageRatio" column="small_large_package_ratio"/>
+ <result property="remark" column="remark"/>
+ <result property="orgId" column="org_id"/>
+ <result property="itemName" column="item_name"/>
+ <result property="medicationType" column="medication_type"/>
+ <result property="antimicrobialGradeCode" column="antimicrobial_grade_code"/>
+ <result property="licenseNumber" column="license_number"/>
+ <result property="defaultUsageName" column="default_usage_name"/>
+ <result property="specialDrugsName" column="special_drugs_name"/>
+ <result property="antimicrobialGradeName" column="antimicrobial_grade_name"/>
+ <result property="commonPinyin" column="common_pinyin"/>
+ <result property="commonWbm" column="common_wbm"/>
+ <result property="manufacturerId" column="manufacturer_id"/>
+ <result property="defaultUsageId" column="default_usage_id"/>
+ <result property="specification" column="specification"/>
+ <result property="smallPackageUnit" column="small_package_unit"/>
+ <result property="itemId" column="item_id"/>
+ <result property="specialDrugsCode" column="special_drugs_code"/>
+ <result property="pinyin" column="pinyin"/>
+ <result property="doseFormName" column="dose_form_name"/>
+ <result property="largePackageUnit" column="large_package_unit"/>
+ <result property="retailPrice" column="retail_price"/>
+ <result property="status" column="status"/>
+ <result property="createBy" column="create_by"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateBy" column="update_by"/>
+ <result property="updateTime" column="update_time"/>
+ </resultMap>
+
+ <sql id="selectMedicationItemVo">
+ select id,
+ identification_code,
+ wbm,
+ medication_common_name,
+ manufacturer_name,
+ item_code,
+ small_large_package_ratio,
+ remark,
+ org_id,
+ item_name,
+ medication_type,
+ antimicrobial_grade_code,
+ license_number,
+ default_usage_name,
+ special_drugs_name,
+ antimicrobial_grade_name,
+ common_pinyin,
+ common_wbm,
+ manufacturer_id,
+ default_usage_id,
+ specification,
+ small_package_unit,
+ item_id,
+ special_drugs_code,
+ pinyin,
+ dose_form_name,
+ large_package_unit,
+ retail_price,
+ status,
+ create_by,
+ create_time,
+ update_by,
+ update_time
+ from medication_item
+ </sql>
+
+ <select id="selectMedicationItemList" parameterType="com.smartor.domain.MedicationItem"
+ resultMap="MedicationItemResult">
+ <include refid="selectMedicationItemVo"/>
+ where 1=1
+ and del_flag=0
+ <if test="identificationCode != null and identificationCode != ''">
+ and identification_code = #{identificationCode}
+ </if>
+ <if test="wbm != null and wbm != ''">
+ and wbm = #{wbm}
+ </if>
+ <if test="medicationCommonName != null and medicationCommonName != ''">
+ and medication_common_name like concat('%', #{medicationCommonName}, '%')
+ </if>
+ <if test="manufacturerName != null and manufacturerName != ''">
+ and manufacturer_name like concat('%', #{manufacturerName}, '%')
+ </if>
+ <if test="itemCode != null and itemCode != ''">
+ and item_code = #{itemCode}
+ </if>
+ <if test="smallLargePackageRatio != null ">
+ and small_large_package_ratio = #{smallLargePackageRatio}
+ </if>
+ <if test="orgId != null ">
+ and org_id = #{orgId}
+ </if>
+ <if test="itemName != null and itemName != ''">
+ and item_name like concat('%', #{itemName}, '%')
+ </if>
+ <if test="medicationType != null and medicationType != ''">
+ and medication_type = #{medicationType}
+ </if>
+ <if test="antimicrobialGradeCode != null and antimicrobialGradeCode != ''">
+ and antimicrobial_grade_code = #{antimicrobialGradeCode}
+ </if>
+ <if test="licenseNumber != null and licenseNumber != ''">
+ and license_number = #{licenseNumber}
+ </if>
+ <if test="defaultUsageName != null and defaultUsageName != ''">
+ and default_usage_name like concat('%', #{defaultUsageName}, '%')
+ </if>
+ <if test="specialDrugsName != null and specialDrugsName != ''">
+ and special_drugs_name like concat('%', #{specialDrugsName}, '%')
+ </if>
+ <if test="antimicrobialGradeName != null and antimicrobialGradeName != ''">
+ and antimicrobial_grade_name like concat('%', #{antimicrobialGradeName}, '%')
+ </if>
+ <if test="commonPinyin != null and commonPinyin != ''">
+ and common_pinyin = #{commonPinyin}
+ </if>
+ <if test="commonWbm != null and commonWbm != ''">
+ and common_wbm = #{commonWbm}
+ </if>
+ <if test="manufacturerId != null ">
+ and manufacturer_id = #{manufacturerId}
+ </if>
+ <if test="defaultUsageId != null ">
+ and default_usage_id = #{defaultUsageId}
+ </if>
+ <if test="specification != null and specification != ''">
+ and specification = #{specification}
+ </if>
+ <if test="smallPackageUnit != null and smallPackageUnit != ''">
+ and small_package_unit = #{smallPackageUnit}
+ </if>
+ <if test="itemId != null ">
+ and item_id = #{itemId}
+ </if>
+ <if test="specialDrugsCode != null and specialDrugsCode != ''">
+ and special_drugs_code = #{specialDrugsCode}
+ </if>
+ <if test="pinyin != null and pinyin != ''">
+ and pinyin = #{pinyin}
+ </if>
+ <if test="doseFormName != null and doseFormName != ''">
+ and dose_form_name like concat('%', #{doseFormName}, '%')
+ </if>
+ <if test="largePackageUnit != null and largePackageUnit != ''">
+ and large_package_unit = #{largePackageUnit}
+ </if>
+ <if test="retailPrice != null ">
+ and retail_price = #{retailPrice}
+ </if>
+ <if test="status != null ">
+ and status = #{status}
+ </if>
+ </select>
+
+ <select id="selectMedicationItemById" parameterType="Long"
+ resultMap="MedicationItemResult">
+ <include refid="selectMedicationItemVo"/>
+ where id = #{id}
+ </select>
+
+ <insert id="insertMedicationItem" parameterType="com.smartor.domain.MedicationItem" useGeneratedKeys="true"
+ keyProperty="id">
+ insert into medication_item
+ <trim prefix="(" suffix=")" suffixOverrides=",">
+ <if test="identificationCode != null">identification_code,
+ </if>
+ <if test="wbm != null">wbm,
+ </if>
+ <if test="medicationCommonName != null">medication_common_name,
+ </if>
+ <if test="manufacturerName != null">manufacturer_name,
+ </if>
+ <if test="itemCode != null">item_code,
+ </if>
+ <if test="smallLargePackageRatio != null">small_large_package_ratio,
+ </if>
+ <if test="remark != null">remark,
+ </if>
+ <if test="orgId != null">org_id,
+ </if>
+ <if test="itemName != null">item_name,
+ </if>
+ <if test="medicationType != null">medication_type,
+ </if>
+ <if test="antimicrobialGradeCode != null">antimicrobial_grade_code,
+ </if>
+ <if test="licenseNumber != null">license_number,
+ </if>
+ <if test="defaultUsageName != null">default_usage_name,
+ </if>
+ <if test="specialDrugsName != null">special_drugs_name,
+ </if>
+ <if test="antimicrobialGradeName != null">antimicrobial_grade_name,
+ </if>
+ <if test="commonPinyin != null">common_pinyin,
+ </if>
+ <if test="commonWbm != null">common_wbm,
+ </if>
+ <if test="manufacturerId != null">manufacturer_id,
+ </if>
+ <if test="defaultUsageId != null">default_usage_id,
+ </if>
+ <if test="specification != null">specification,
+ </if>
+ <if test="smallPackageUnit != null">small_package_unit,
+ </if>
+ <if test="itemId != null">item_id,
+ </if>
+ <if test="specialDrugsCode != null">special_drugs_code,
+ </if>
+ <if test="pinyin != null">pinyin,
+ </if>
+ <if test="doseFormName != null">dose_form_name,
+ </if>
+ <if test="largePackageUnit != null">large_package_unit,
+ </if>
+ <if test="retailPrice != null">retail_price,
+ </if>
+ <if test="status != null">status,
+ </if>
+ <if test="createBy != null">create_by,
+ </if>
+ <if test="createTime != null">create_time,
+ </if>
+ <if test="updateBy != null">update_by,
+ </if>
+ <if test="updateTime != null">update_time,
+ </if>
+ </trim>
+ <trim prefix="values (" suffix=")" suffixOverrides=",">
+ <if test="identificationCode != null">#{identificationCode},
+ </if>
+ <if test="wbm != null">#{wbm},
+ </if>
+ <if test="medicationCommonName != null">#{medicationCommonName},
+ </if>
+ <if test="manufacturerName != null">#{manufacturerName},
+ </if>
+ <if test="itemCode != null">#{itemCode},
+ </if>
+ <if test="smallLargePackageRatio != null">#{smallLargePackageRatio},
+ </if>
+ <if test="remark != null">#{remark},
+ </if>
+ <if test="orgId != null">#{orgId},
+ </if>
+ <if test="itemName != null">#{itemName},
+ </if>
+ <if test="medicationType != null">#{medicationType},
+ </if>
+ <if test="antimicrobialGradeCode != null">#{antimicrobialGradeCode},
+ </if>
+ <if test="licenseNumber != null">#{licenseNumber},
+ </if>
+ <if test="defaultUsageName != null">#{defaultUsageName},
+ </if>
+ <if test="specialDrugsName != null">#{specialDrugsName},
+ </if>
+ <if test="antimicrobialGradeName != null">#{antimicrobialGradeName},
+ </if>
+ <if test="commonPinyin != null">#{commonPinyin},
+ </if>
+ <if test="commonWbm != null">#{commonWbm},
+ </if>
+ <if test="manufacturerId != null">#{manufacturerId},
+ </if>
+ <if test="defaultUsageId != null">#{defaultUsageId},
+ </if>
+ <if test="specification != null">#{specification},
+ </if>
+ <if test="smallPackageUnit != null">#{smallPackageUnit},
+ </if>
+ <if test="itemId != null">#{itemId},
+ </if>
+ <if test="specialDrugsCode != null">#{specialDrugsCode},
+ </if>
+ <if test="pinyin != null">#{pinyin},
+ </if>
+ <if test="doseFormName != null">#{doseFormName},
+ </if>
+ <if test="largePackageUnit != null">#{largePackageUnit},
+ </if>
+ <if test="retailPrice != null">#{retailPrice},
+ </if>
+ <if test="status != null">#{status},
+ </if>
+ <if test="createBy != null">#{createBy},
+ </if>
+ <if test="createTime != null">#{createTime},
+ </if>
+ <if test="updateBy != null">#{updateBy},
+ </if>
+ <if test="updateTime != null">#{updateTime},
+ </if>
+ </trim>
+ </insert>
+
+ <update id="updateMedicationItem" parameterType="com.smartor.domain.MedicationItem">
+ update medication_item
+ <trim prefix="SET" suffixOverrides=",">
+ <if test="identificationCode != null">identification_code =
+ #{identificationCode},
+ </if>
+ <if test="wbm != null">wbm =
+ #{wbm},
+ </if>
+ <if test="medicationCommonName != null">medication_common_name =
+ #{medicationCommonName},
+ </if>
+ <if test="manufacturerName != null">manufacturer_name =
+ #{manufacturerName},
+ </if>
+ <if test="itemCode != null">item_code =
+ #{itemCode},
+ </if>
+ <if test="smallLargePackageRatio != null">small_large_package_ratio =
+ #{smallLargePackageRatio},
+ </if>
+ <if test="remark != null">remark =
+ #{remark},
+ </if>
+ <if test="orgId != null">org_id =
+ #{orgId},
+ </if>
+ <if test="itemName != null">item_name =
+ #{itemName},
+ </if>
+ <if test="medicationType != null">medication_type =
+ #{medicationType},
+ </if>
+ <if test="antimicrobialGradeCode != null">antimicrobial_grade_code =
+ #{antimicrobialGradeCode},
+ </if>
+ <if test="licenseNumber != null">license_number =
+ #{licenseNumber},
+ </if>
+ <if test="defaultUsageName != null">default_usage_name =
+ #{defaultUsageName},
+ </if>
+ <if test="specialDrugsName != null">special_drugs_name =
+ #{specialDrugsName},
+ </if>
+ <if test="antimicrobialGradeName != null">antimicrobial_grade_name =
+ #{antimicrobialGradeName},
+ </if>
+ <if test="commonPinyin != null">common_pinyin =
+ #{commonPinyin},
+ </if>
+ <if test="commonWbm != null">common_wbm =
+ #{commonWbm},
+ </if>
+ <if test="manufacturerId != null">manufacturer_id =
+ #{manufacturerId},
+ </if>
+ <if test="defaultUsageId != null">default_usage_id =
+ #{defaultUsageId},
+ </if>
+ <if test="specification != null">specification =
+ #{specification},
+ </if>
+ <if test="smallPackageUnit != null">small_package_unit =
+ #{smallPackageUnit},
+ </if>
+ <if test="itemId != null">item_id =
+ #{itemId},
+ </if>
+ <if test="specialDrugsCode != null">special_drugs_code =
+ #{specialDrugsCode},
+ </if>
+ <if test="pinyin != null">pinyin =
+ #{pinyin},
+ </if>
+ <if test="doseFormName != null">dose_form_name =
+ #{doseFormName},
+ </if>
+ <if test="largePackageUnit != null">large_package_unit =
+ #{largePackageUnit},
+ </if>
+ <if test="retailPrice != null">retail_price =
+ #{retailPrice},
+ </if>
+ <if test="status != null">status =
+ #{status},
+ </if>
+ <if test="createBy != null">create_by =
+ #{createBy},
+ </if>
+ <if test="createTime != null">create_time =
+ #{createTime},
+ </if>
+ <if test="updateBy != null">update_by =
+ #{updateBy},
+ </if>
+ <if test="updateTime != null">update_time =
+ #{updateTime},
+ </if>
+ </trim>
+ where id = #{id}
+ </update>
+
+ <update id="deleteMedicationItemById" parameterType="Long">
+ update medication_item
+ <trim prefix="SET" suffixOverrides=",">
+ del_flag =1
+ </trim>
+ where id = #{id}
+ </update>
+
+ <update id="deleteMedicationItemByIds" parameterType="String">
+ update medication_item
+ <trim prefix="SET" suffixOverrides=",">
+ del_flag =1
+ </trim>
+ where id in
+ <foreach item="id" collection="array" open="(" separator="," close=")">
+ #{id}
+ </foreach>
+ </update>
+
+
+</mapper>
diff --git a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
index 28ae015..b176b00 100644
--- a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
@@ -75,11 +75,13 @@
<result property="managementDoctor" column="management_doctor"/>
<result property="managementDoctorCode" column="management_doctor_code"/>
<result property="campusid" column="campusid"/>
+ <result property="inhospMydFlag" column="inhosp_myd_flag"/>
</resultMap>
<sql id="selectPatMedInhospVo">
select inhospid,
patname,
+ inhosp_myd_flag,
campusid,
fuflag,
management_doctor,
@@ -213,6 +215,7 @@
b.futypedesc,
b.fuadvice,
b.fuspecialadvice,
+ b.inhosp_myd_flag,
a.idcardno
FROM
pat_med_inhosp b
@@ -242,6 +245,7 @@
concat('%', #{hospitaldistrictname}, '%')
</if>
<if test="endtime != null ">and b.endtime = #{endtime}</if>
+ <if test="inhospMydFlag != null ">and b.inhosp_myd_flag = #{inhospMydFlag}</if>
<if test="managementDoctor != null ">and b.management_doctor = #{managementDoctor}</if>
<if test="managementDoctorCode != null ">and b.management_doctor_code = #{managementDoctorCode}</if>
<if test="inhospno != null ">and b.inhospno = #{inhospno}</if>
@@ -397,10 +401,12 @@
b.futypecode,
b.futypedesc,
b.fuadvice,
+ b.inhosp_myd_flag,
b.fuspecialadvice
FROM
pat_med_inhosp b
where 1=1
+ <if test="inhospMydFlag != null ">and b.inhosp_myd_flag = #{inhospMydFlag}</if>
<if test="orgid != null and orgid != ''">
and orgid = #{orgid}
</if>
@@ -477,6 +483,7 @@
b.futypedesc,
b.fuadvice,
b.fuspecialadvice,
+ b.inhosp_myd_flag,
b.schemetime
FROM
pat_med_inhosp b,
@@ -486,6 +493,7 @@
and b.del_flag=0
and a.id = b.patid
AND a.idcardno != ''
+ <if test="inhospMydFlag != null ">and b.inhosp_myd_flag = #{inhospMydFlag}</if>
<if test="orgid != null and orgid != ''">
and a.orgid = #{orgid}
</if>
@@ -553,6 +561,7 @@
<if test="cry != null and cry == 0 ">and inhospstate=0</if>
<if test="cry != null and cry == 1 ">and inhospstate=1</if>
<if test="cry != null and cry == 3 ">and inhospstate=3</if>
+ <if test="inhospMydFlag != null ">and inhosp_myd_flag = #{inhospMydFlag}</if>
<if test="serialnum != null">and serialnum = #{serialnum}</if>
<if test="hospitalname != null">and hospitalname = #{hospitalname}</if>
<if test="hospitalcode != null">and hospitalcode = #{hospitalcode}</if>
@@ -689,6 +698,7 @@
<if test="managementDoctor != null ">management_doctor,</if>
<if test="managementDoctorCode != null ">management_doctor_code,</if>
<if test="campusid != null ">campusid,</if>
+ <if test="inhospMydFlag != null ">inhosp_myd_flag,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="serialnum != null">#{serialnum},</if>
@@ -756,6 +766,7 @@
<if test="managementDoctor != null ">#{managementDoctor},</if>
<if test="managementDoctorCode != null ">#{managementDoctorCode},</if>
<if test="campusid != null ">#{campusid},</if>
+ <if test="inhospMydFlag != null ">#{inhospMydFlag},</if>
</trim>
</insert>
@@ -774,7 +785,7 @@
nurse_id, nurse_name, out_way_id, out_way_name, guid,
operator, operator_id, inhospno, remark,
fuflag, fudate, fuperiod, futypecode, futypedesc, fuadvice, fuspecialadvice, management_doctor,
- management_doctor_doctor,campusid
+ management_doctor_doctor,campusid, inhosp_myd_flag
)
values
<foreach collection="list" item="item" separator=",">
@@ -796,7 +807,7 @@
#{item.nurseId}, #{item.nurseName}, #{item.outWayId}, #{item.outWayName}, #{item.guid},
#{item.operator}, #{item.operatorId}, #{item.inhospno}, #{item.remark},
#{item.fuflag}, #{item.fudate}, #{item.fuperiod}, #{item.futypecode}, #{item.futypedesc}, #{item.fuadvice},
- #{item.fuspecialadvice}, #{item.managementDoctor}, #{item.managementDoctorCode}, #{item.campusid}
+ #{item.fuspecialadvice}, #{item.managementDoctor}, #{item.managementDoctorCode}, #{item.campusid}, #{item.inhospMydFlag}
)
</foreach>
</insert>
@@ -868,8 +879,8 @@
<if test="fuspecialadvice != null ">fuspecialadvice = #{fuspecialadvice},</if>
<if test="managementDoctor != null ">management_doctor = #{managementDoctor},</if>
<if test="managementDoctorCode != null ">management_doctor_code = #{managementDoctorCode},</if>
- <if test="campusid != null ">campusid = #{campusid}</if>
-
+ <if test="campusid != null ">campusid = #{campusid},</if>
+ <if test="inhospMydFlag != null ">inhosp_myd_flag = #{inhospMydFlag},</if>
</trim>
where inhospid = #{inhospid}
</update>
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceAppointRecordMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceAppointRecordMapper.xml
new file mode 100644
index 0000000..c25e92e
--- /dev/null
+++ b/smartor/src/main/resources/mapper/smartor/ServiceAppointRecordMapper.xml
@@ -0,0 +1,803 @@
+<?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.smartor.mapper.ServiceAppointRecordMapper">
+
+ <resultMap type="com.smartor.domain.ServiceAppointRecord" id="ServiceAppointRecordResult">
+ <result property="id" column="id"/>
+ <result property="appointRecSn" column="appoint_rec_sn"/>
+ <result property="changeAppointRecSn" column="change_appoint_rec_sn"/>
+ <result property="orgCode" column="org_code"/>
+ <result property="patFileSn" column="pat_file_sn"/>
+ <result property="patMediaSn" column="pat_media_sn"/>
+ <result property="patMediaNum" column="pat_media_num"/>
+ <result property="patCateSn" column="pat_cate_sn"/>
+ <result property="patNatureSn" column="pat_nature_sn"/>
+ <result property="patFileName" column="pat_file_name"/>
+ <result property="patFileGender" column="pat_file_gender"/>
+ <result property="patAge" column="pat_age"/>
+ <result property="patBirthday" column="pat_birthday"/>
+ <result property="patCardTypeCode" column="pat_card_type_code"/>
+ <result property="patCardType" column="pat_card_type"/>
+ <result property="patIdCardNum" column="pat_id_card_num"/>
+ <result property="patAddr" column="pat_addr"/>
+ <result property="patTel" column="pat_tel"/>
+ <result property="patWayCode" column="pat_way_code"/>
+ <result property="patWay" column="pat_way"/>
+ <result property="appointTypeSn" column="appoint_type_sn"/>
+ <result property="appointDate" column="appoint_date"/>
+ <result property="appointOperatorId" column="appoint_operator_id"/>
+ <result property="appointOperatorName" column="appoint_operator_name"/>
+ <result property="appointRegistDate" column="appoint_regist_date"/>
+ <result property="registerScheduleSn" column="register_schedule_sn"/>
+ <result property="outpatCateSn" column="outpat_cate_sn"/>
+ <result property="outpatCateName" column="outpat_cate_name"/>
+ <result property="registDeptCode" column="regist_dept_code"/>
+ <result property="registDeptName" column="regist_dept_name"/>
+ <result property="deptPinyinCode" column="dept_pinyin_code"/>
+ <result property="registDoctCode" column="regist_doct_code"/>
+ <result property="registDoctName" column="regist_doct_name"/>
+ <result property="staffPinyinCode" column="staff_pinyin_code"/>
+ <result property="registTimeCate" column="regist_time_cate"/>
+ <result property="patiRegistSn" column="pati_regist_sn"/>
+ <result property="scheduleRegistCharge" column="schedule_regist_charge"/>
+ <result property="registRecSn" column="regist_rec_sn"/>
+ <result property="regUserSn" column="reg_user_sn"/>
+ <result property="regUserName" column="reg_user_name"/>
+ <result property="regOptTime" column="reg_opt_time"/>
+ <result property="revokeUserSn" column="revoke_user_sn"/>
+ <result property="revokeUserName" column="revoke_user_name"/>
+ <result property="revokeOptTime" column="revoke_opt_time"/>
+ <result property="withdrawalTime" column="withdrawal_time"/>
+ <result property="scheduleStatusFlag" column="schedule_status_flag"/>
+ <result property="scheduleMemoDesc" column="schedule_memo_desc"/>
+ <result property="scheduleCredenceNum" column="schedule_credence_num"/>
+ <result property="registTimeRange" column="regist_time_range"/>
+ <result property="scheduleDetailSn" column="schedule_detail_sn"/>
+ <result property="treatDate" column="treat_date"/>
+ <result property="treatDoctCode" column="treat_doct_code"/>
+ <result property="treatDoctName" column="treat_doct_name"/>
+ <result property="regWayCode" column="reg_way_code"/>
+ <result property="regWay" column="reg_way"/>
+ <result property="regSystemWayCode" column="reg_system_way_code"/>
+ <result property="regSystemWay" column="reg_system_way"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateTime" column="update_time"/>
+ <result property="visitFlag" column="visit_flag"/>
+ <result property="senderId" column="sender_id"/>
+ <result property="senderName" column="sender_name"/>
+ <result property="sendTime" column="send_time"/>
+ </resultMap>
+
+ <sql id="selectServiceAppointRecordVo">
+ select id,
+ appoint_rec_sn,
+ change_appoint_rec_sn,
+ org_code,
+ pat_file_sn,
+ pat_media_sn,
+ pat_media_num,
+ pat_cate_sn,
+ pat_nature_sn,
+ pat_file_name,
+ pat_file_gender,
+ pat_age,
+ pat_birthday,
+ pat_card_type_code,
+ pat_card_type,
+ pat_id_card_num,
+ pat_addr,
+ pat_tel,
+ pat_way_code,
+ pat_way,
+ appoint_type_sn,
+ appoint_date,
+ appoint_operator_id,
+ appoint_operator_name,
+ appoint_regist_date,
+ register_schedule_sn,
+ outpat_cate_sn,
+ outpat_cate_name,
+ regist_dept_code,
+ regist_dept_name,
+ dept_pinyin_code,
+ regist_doct_code,
+ regist_doct_name,
+ staff_pinyin_code,
+ regist_time_cate,
+ pati_regist_sn,
+ schedule_regist_charge,
+ regist_rec_sn,
+ reg_user_sn,
+ reg_user_name,
+ reg_opt_time,
+ revoke_user_sn,
+ revoke_user_name,
+ revoke_opt_time,
+ withdrawal_time,
+ schedule_status_flag,
+ schedule_memo_desc,
+ schedule_credence_num,
+ regist_time_range,
+ schedule_detail_sn,
+ treat_date,
+ treat_doct_code,
+ treat_doct_name,
+ reg_way_code,
+ reg_way,
+ reg_system_way_code,
+ reg_system_way,
+ create_time,
+ update_time,
+ visit_flag,
+ sender_id,
+ sender_name,
+ send_time
+ from service_appoint_record
+ </sql>
+
+ <select id="selectServiceAppointRecordList" parameterType="com.smartor.domain.ServiceAppointRecord"
+ resultMap="ServiceAppointRecordResult">
+ <include refid="selectServiceAppointRecordVo"/>
+ where 1=1
+ and del_flag=0
+ <if test="appointRecSn != null and appointRecSn != ''">
+ and appoint_rec_sn = #{appointRecSn}
+ </if>
+ <if test="changeAppointRecSn != null and changeAppointRecSn != ''">
+ and change_appoint_rec_sn = #{changeAppointRecSn}
+ </if>
+ <if test="orgCode != null and orgCode != ''">
+ and org_code = #{orgCode}
+ </if>
+ <if test="patFileSn != null and patFileSn != ''">
+ and pat_file_sn = #{patFileSn}
+ </if>
+ <if test="patMediaSn != null and patMediaSn != ''">
+ and pat_media_sn = #{patMediaSn}
+ </if>
+ <if test="patMediaNum != null and patMediaNum != ''">
+ and pat_media_num = #{patMediaNum}
+ </if>
+ <if test="patCateSn != null and patCateSn != ''">
+ and pat_cate_sn = #{patCateSn}
+ </if>
+ <if test="patNatureSn != null and patNatureSn != ''">
+ and pat_nature_sn = #{patNatureSn}
+ </if>
+ <if test="patFileName != null and patFileName != ''">
+ and pat_file_name like concat('%', #{patFileName}, '%')
+ </if>
+ <if test="patFileGender != null and patFileGender != ''">
+ and pat_file_gender = #{patFileGender}
+ </if>
+ <if test="patAge != null and patAge != ''">
+ and pat_age = #{patAge}
+ </if>
+ <if test="patBirthday != null and patBirthday != ''">
+ and pat_birthday = #{patBirthday}
+ </if>
+ <if test="patCardTypeCode != null and patCardTypeCode != ''">
+ and pat_card_type_code = #{patCardTypeCode}
+ </if>
+ <if test="patCardType != null and patCardType != ''">
+ and pat_card_type = #{patCardType}
+ </if>
+ <if test="patIdCardNum != null and patIdCardNum != ''">
+ and pat_id_card_num = #{patIdCardNum}
+ </if>
+ <if test="patAddr != null and patAddr != ''">
+ and pat_addr = #{patAddr}
+ </if>
+ <if test="patTel != null and patTel != ''">
+ and pat_tel = #{patTel}
+ </if>
+ <if test="patWayCode != null and patWayCode != ''">
+ and pat_way_code = #{patWayCode}
+ </if>
+ <if test="patWay != null and patWay != ''">
+ and pat_way = #{patWay}
+ </if>
+ <if test="appointTypeSn != null and appointTypeSn != ''">
+ and appoint_type_sn = #{appointTypeSn}
+ </if>
+ <if test="appointDate != null and appointDate != ''">
+ and appoint_date = #{appointDate}
+ </if>
+ <if test="appointOperatorId != null and appointOperatorId != ''">
+ and appoint_operator_id = #{appointOperatorId}
+ </if>
+ <if test="appointOperatorName != null and appointOperatorName != ''">
+ and appoint_operator_name like concat('%', #{appointOperatorName}, '%')
+ </if>
+ <if test="appointRegistDate != null and appointRegistDate != ''">
+ and appoint_regist_date = #{appointRegistDate}
+ </if>
+ <if test="registerScheduleSn != null and registerScheduleSn != ''">
+ and register_schedule_sn = #{registerScheduleSn}
+ </if>
+ <if test="outpatCateSn != null and outpatCateSn != ''">
+ and outpat_cate_sn = #{outpatCateSn}
+ </if>
+ <if test="outpatCateName != null and outpatCateName != ''">
+ and outpat_cate_name like concat('%', #{outpatCateName}, '%')
+ </if>
+ <if test="registDeptCode != null and registDeptCode != ''">
+ and regist_dept_code = #{registDeptCode}
+ </if>
+ <if test="registDeptName != null and registDeptName != ''">
+ and regist_dept_name like concat('%', #{registDeptName}, '%')
+ </if>
+ <if test="deptPinyinCode != null and deptPinyinCode != ''">
+ and dept_pinyin_code = #{deptPinyinCode}
+ </if>
+ <if test="registDoctCode != null and registDoctCode != ''">
+ and regist_doct_code = #{registDoctCode}
+ </if>
+ <if test="registDoctName != null and registDoctName != ''">
+ and regist_doct_name like concat('%', #{registDoctName}, '%')
+ </if>
+ <if test="staffPinyinCode != null and staffPinyinCode != ''">
+ and staff_pinyin_code = #{staffPinyinCode}
+ </if>
+ <if test="registTimeCate != null ">
+ and regist_time_cate = #{registTimeCate}
+ </if>
+ <if test="patiRegistSn != null ">
+ and pati_regist_sn = #{patiRegistSn}
+ </if>
+ <if test="scheduleRegistCharge != null ">
+ and schedule_regist_charge = #{scheduleRegistCharge}
+ </if>
+ <if test="registRecSn != null and registRecSn != ''">
+ and regist_rec_sn = #{registRecSn}
+ </if>
+ <if test="regUserSn != null and regUserSn != ''">
+ and reg_user_sn = #{regUserSn}
+ </if>
+ <if test="regUserName != null and regUserName != ''">
+ and reg_user_name like concat('%', #{regUserName}, '%')
+ </if>
+ <if test="regOptTime != null and regOptTime != ''">
+ and reg_opt_time = #{regOptTime}
+ </if>
+ <if test="revokeUserSn != null and revokeUserSn != ''">
+ and revoke_user_sn = #{revokeUserSn}
+ </if>
+ <if test="revokeUserName != null and revokeUserName != ''">
+ and revoke_user_name like concat('%', #{revokeUserName}, '%')
+ </if>
+ <if test="revokeOptTime != null and revokeOptTime != ''">
+ and revoke_opt_time = #{revokeOptTime}
+ </if>
+ <if test="withdrawalTime != null and withdrawalTime != ''">
+ and withdrawal_time = #{withdrawalTime}
+ </if>
+ <if test="scheduleStatusFlag != null ">
+ and schedule_status_flag = #{scheduleStatusFlag}
+ </if>
+ <if test="scheduleMemoDesc != null and scheduleMemoDesc != ''">
+ and schedule_memo_desc = #{scheduleMemoDesc}
+ </if>
+ <if test="scheduleCredenceNum != null and scheduleCredenceNum != ''">
+ and schedule_credence_num = #{scheduleCredenceNum}
+ </if>
+ <if test="registTimeRange != null and registTimeRange != ''">
+ and regist_time_range = #{registTimeRange}
+ </if>
+ <if test="scheduleDetailSn != null and scheduleDetailSn != ''">
+ and schedule_detail_sn = #{scheduleDetailSn}
+ </if>
+ <if test="treatDate != null and treatDate != ''">
+ and treat_date = #{treatDate}
+ </if>
+ <if test="treatDoctCode != null and treatDoctCode != ''">
+ and treat_doct_code = #{treatDoctCode}
+ </if>
+ <if test="treatDoctName != null and treatDoctName != ''">
+ and treat_doct_name like concat('%', #{treatDoctName}, '%')
+ </if>
+ <if test="regWayCode != null and regWayCode != ''">
+ and reg_way_code = #{regWayCode}
+ </if>
+ <if test="regWay != null and regWay != ''">
+ and reg_way = #{regWay}
+ </if>
+ <if test="regSystemWayCode != null and regSystemWayCode != ''">
+ and reg_system_way_code = #{regSystemWayCode}
+ </if>
+ <if test="regSystemWay != null and regSystemWay != ''">
+ and reg_system_way = #{regSystemWay}
+ </if>
+ <if test="visitFlag != null ">
+ and visit_flag = #{visitFlag}
+ </if>
+ <if test="senderId != null and senderId != ''">
+ and sender_id = #{senderId}
+ </if>
+ <if test="senderName != null and senderName != ''">
+ and sender_name like concat('%', #{senderName}, '%')
+ </if>
+ <if test="sendTime != null and sendTime != ''">
+ and send_time = #{sendTime}
+ </if>
+ </select>
+
+ <select id="selectServiceAppointRecordById" parameterType="Long"
+ resultMap="ServiceAppointRecordResult">
+ <include refid="selectServiceAppointRecordVo"/>
+ where id = #{id}
+ </select>
+
+ <insert id="insertServiceAppointRecord" parameterType="com.smartor.domain.ServiceAppointRecord"
+ useGeneratedKeys="true" keyProperty="id">
+ insert into service_appoint_record
+ <trim prefix="(" suffix=")" suffixOverrides=",">
+ <if test="appointRecSn != null">appoint_rec_sn,
+ </if>
+ <if test="changeAppointRecSn != null">change_appoint_rec_sn,
+ </if>
+ <if test="orgCode != null">org_code,
+ </if>
+ <if test="patFileSn != null">pat_file_sn,
+ </if>
+ <if test="patMediaSn != null">pat_media_sn,
+ </if>
+ <if test="patMediaNum != null">pat_media_num,
+ </if>
+ <if test="patCateSn != null">pat_cate_sn,
+ </if>
+ <if test="patNatureSn != null">pat_nature_sn,
+ </if>
+ <if test="patFileName != null">pat_file_name,
+ </if>
+ <if test="patFileGender != null">pat_file_gender,
+ </if>
+ <if test="patAge != null">pat_age,
+ </if>
+ <if test="patBirthday != null">pat_birthday,
+ </if>
+ <if test="patCardTypeCode != null">pat_card_type_code,
+ </if>
+ <if test="patCardType != null">pat_card_type,
+ </if>
+ <if test="patIdCardNum != null">pat_id_card_num,
+ </if>
+ <if test="patAddr != null">pat_addr,
+ </if>
+ <if test="patTel != null">pat_tel,
+ </if>
+ <if test="patWayCode != null">pat_way_code,
+ </if>
+ <if test="patWay != null">pat_way,
+ </if>
+ <if test="appointTypeSn != null">appoint_type_sn,
+ </if>
+ <if test="appointDate != null">appoint_date,
+ </if>
+ <if test="appointOperatorId != null">appoint_operator_id,
+ </if>
+ <if test="appointOperatorName != null">appoint_operator_name,
+ </if>
+ <if test="appointRegistDate != null">appoint_regist_date,
+ </if>
+ <if test="registerScheduleSn != null">register_schedule_sn,
+ </if>
+ <if test="outpatCateSn != null">outpat_cate_sn,
+ </if>
+ <if test="outpatCateName != null">outpat_cate_name,
+ </if>
+ <if test="registDeptCode != null">regist_dept_code,
+ </if>
+ <if test="registDeptName != null">regist_dept_name,
+ </if>
+ <if test="deptPinyinCode != null">dept_pinyin_code,
+ </if>
+ <if test="registDoctCode != null">regist_doct_code,
+ </if>
+ <if test="registDoctName != null">regist_doct_name,
+ </if>
+ <if test="staffPinyinCode != null">staff_pinyin_code,
+ </if>
+ <if test="registTimeCate != null">regist_time_cate,
+ </if>
+ <if test="patiRegistSn != null">pati_regist_sn,
+ </if>
+ <if test="scheduleRegistCharge != null">schedule_regist_charge,
+ </if>
+ <if test="registRecSn != null">regist_rec_sn,
+ </if>
+ <if test="regUserSn != null">reg_user_sn,
+ </if>
+ <if test="regUserName != null">reg_user_name,
+ </if>
+ <if test="regOptTime != null">reg_opt_time,
+ </if>
+ <if test="revokeUserSn != null">revoke_user_sn,
+ </if>
+ <if test="revokeUserName != null">revoke_user_name,
+ </if>
+ <if test="revokeOptTime != null">revoke_opt_time,
+ </if>
+ <if test="withdrawalTime != null">withdrawal_time,
+ </if>
+ <if test="scheduleStatusFlag != null">schedule_status_flag,
+ </if>
+ <if test="scheduleMemoDesc != null">schedule_memo_desc,
+ </if>
+ <if test="scheduleCredenceNum != null">schedule_credence_num,
+ </if>
+ <if test="registTimeRange != null">regist_time_range,
+ </if>
+ <if test="scheduleDetailSn != null">schedule_detail_sn,
+ </if>
+ <if test="treatDate != null">treat_date,
+ </if>
+ <if test="treatDoctCode != null">treat_doct_code,
+ </if>
+ <if test="treatDoctName != null">treat_doct_name,
+ </if>
+ <if test="regWayCode != null">reg_way_code,
+ </if>
+ <if test="regWay != null">reg_way,
+ </if>
+ <if test="regSystemWayCode != null">reg_system_way_code,
+ </if>
+ <if test="regSystemWay != null">reg_system_way,
+ </if>
+ <if test="createTime != null">create_time,
+ </if>
+ <if test="updateTime != null">update_time,
+ </if>
+ <if test="visitFlag != null">visit_flag,
+ </if>
+ <if test="senderId != null">sender_id,
+ </if>
+ <if test="senderName != null">sender_name,
+ </if>
+ <if test="sendTime != null">send_time,
+ </if>
+ </trim>
+ <trim prefix="values (" suffix=")" suffixOverrides=",">
+ <if test="appointRecSn != null">#{appointRecSn},
+ </if>
+ <if test="changeAppointRecSn != null">#{changeAppointRecSn},
+ </if>
+ <if test="orgCode != null">#{orgCode},
+ </if>
+ <if test="patFileSn != null">#{patFileSn},
+ </if>
+ <if test="patMediaSn != null">#{patMediaSn},
+ </if>
+ <if test="patMediaNum != null">#{patMediaNum},
+ </if>
+ <if test="patCateSn != null">#{patCateSn},
+ </if>
+ <if test="patNatureSn != null">#{patNatureSn},
+ </if>
+ <if test="patFileName != null">#{patFileName},
+ </if>
+ <if test="patFileGender != null">#{patFileGender},
+ </if>
+ <if test="patAge != null">#{patAge},
+ </if>
+ <if test="patBirthday != null">#{patBirthday},
+ </if>
+ <if test="patCardTypeCode != null">#{patCardTypeCode},
+ </if>
+ <if test="patCardType != null">#{patCardType},
+ </if>
+ <if test="patIdCardNum != null">#{patIdCardNum},
+ </if>
+ <if test="patAddr != null">#{patAddr},
+ </if>
+ <if test="patTel != null">#{patTel},
+ </if>
+ <if test="patWayCode != null">#{patWayCode},
+ </if>
+ <if test="patWay != null">#{patWay},
+ </if>
+ <if test="appointTypeSn != null">#{appointTypeSn},
+ </if>
+ <if test="appointDate != null">#{appointDate},
+ </if>
+ <if test="appointOperatorId != null">#{appointOperatorId},
+ </if>
+ <if test="appointOperatorName != null">#{appointOperatorName},
+ </if>
+ <if test="appointRegistDate != null">#{appointRegistDate},
+ </if>
+ <if test="registerScheduleSn != null">#{registerScheduleSn},
+ </if>
+ <if test="outpatCateSn != null">#{outpatCateSn},
+ </if>
+ <if test="outpatCateName != null">#{outpatCateName},
+ </if>
+ <if test="registDeptCode != null">#{registDeptCode},
+ </if>
+ <if test="registDeptName != null">#{registDeptName},
+ </if>
+ <if test="deptPinyinCode != null">#{deptPinyinCode},
+ </if>
+ <if test="registDoctCode != null">#{registDoctCode},
+ </if>
+ <if test="registDoctName != null">#{registDoctName},
+ </if>
+ <if test="staffPinyinCode != null">#{staffPinyinCode},
+ </if>
+ <if test="registTimeCate != null">#{registTimeCate},
+ </if>
+ <if test="patiRegistSn != null">#{patiRegistSn},
+ </if>
+ <if test="scheduleRegistCharge != null">#{scheduleRegistCharge},
+ </if>
+ <if test="registRecSn != null">#{registRecSn},
+ </if>
+ <if test="regUserSn != null">#{regUserSn},
+ </if>
+ <if test="regUserName != null">#{regUserName},
+ </if>
+ <if test="regOptTime != null">#{regOptTime},
+ </if>
+ <if test="revokeUserSn != null">#{revokeUserSn},
+ </if>
+ <if test="revokeUserName != null">#{revokeUserName},
+ </if>
+ <if test="revokeOptTime != null">#{revokeOptTime},
+ </if>
+ <if test="withdrawalTime != null">#{withdrawalTime},
+ </if>
+ <if test="scheduleStatusFlag != null">#{scheduleStatusFlag},
+ </if>
+ <if test="scheduleMemoDesc != null">#{scheduleMemoDesc},
+ </if>
+ <if test="scheduleCredenceNum != null">#{scheduleCredenceNum},
+ </if>
+ <if test="registTimeRange != null">#{registTimeRange},
+ </if>
+ <if test="scheduleDetailSn != null">#{scheduleDetailSn},
+ </if>
+ <if test="treatDate != null">#{treatDate},
+ </if>
+ <if test="treatDoctCode != null">#{treatDoctCode},
+ </if>
+ <if test="treatDoctName != null">#{treatDoctName},
+ </if>
+ <if test="regWayCode != null">#{regWayCode},
+ </if>
+ <if test="regWay != null">#{regWay},
+ </if>
+ <if test="regSystemWayCode != null">#{regSystemWayCode},
+ </if>
+ <if test="regSystemWay != null">#{regSystemWay},
+ </if>
+ <if test="createTime != null">#{createTime},
+ </if>
+ <if test="updateTime != null">#{updateTime},
+ </if>
+ <if test="visitFlag != null">#{visitFlag},
+ </if>
+ <if test="senderId != null">#{senderId},
+ </if>
+ <if test="senderName != null">#{senderName},
+ </if>
+ <if test="sendTime != null">#{sendTime},
+ </if>
+ </trim>
+ </insert>
+
+ <update id="updateServiceAppointRecord" parameterType="com.smartor.domain.ServiceAppointRecord">
+ update service_appoint_record
+ <trim prefix="SET" suffixOverrides=",">
+ <if test="appointRecSn != null">appoint_rec_sn =
+ #{appointRecSn},
+ </if>
+ <if test="changeAppointRecSn != null">change_appoint_rec_sn =
+ #{changeAppointRecSn},
+ </if>
+ <if test="orgCode != null">org_code =
+ #{orgCode},
+ </if>
+ <if test="patFileSn != null">pat_file_sn =
+ #{patFileSn},
+ </if>
+ <if test="patMediaSn != null">pat_media_sn =
+ #{patMediaSn},
+ </if>
+ <if test="patMediaNum != null">pat_media_num =
+ #{patMediaNum},
+ </if>
+ <if test="patCateSn != null">pat_cate_sn =
+ #{patCateSn},
+ </if>
+ <if test="patNatureSn != null">pat_nature_sn =
+ #{patNatureSn},
+ </if>
+ <if test="patFileName != null">pat_file_name =
+ #{patFileName},
+ </if>
+ <if test="patFileGender != null">pat_file_gender =
+ #{patFileGender},
+ </if>
+ <if test="patAge != null">pat_age =
+ #{patAge},
+ </if>
+ <if test="patBirthday != null">pat_birthday =
+ #{patBirthday},
+ </if>
+ <if test="patCardTypeCode != null">pat_card_type_code =
+ #{patCardTypeCode},
+ </if>
+ <if test="patCardType != null">pat_card_type =
+ #{patCardType},
+ </if>
+ <if test="patIdCardNum != null">pat_id_card_num =
+ #{patIdCardNum},
+ </if>
+ <if test="patAddr != null">pat_addr =
+ #{patAddr},
+ </if>
+ <if test="patTel != null">pat_tel =
+ #{patTel},
+ </if>
+ <if test="patWayCode != null">pat_way_code =
+ #{patWayCode},
+ </if>
+ <if test="patWay != null">pat_way =
+ #{patWay},
+ </if>
+ <if test="appointTypeSn != null">appoint_type_sn =
+ #{appointTypeSn},
+ </if>
+ <if test="appointDate != null">appoint_date =
+ #{appointDate},
+ </if>
+ <if test="appointOperatorId != null">appoint_operator_id =
+ #{appointOperatorId},
+ </if>
+ <if test="appointOperatorName != null">appoint_operator_name =
+ #{appointOperatorName},
+ </if>
+ <if test="appointRegistDate != null">appoint_regist_date =
+ #{appointRegistDate},
+ </if>
+ <if test="registerScheduleSn != null">register_schedule_sn =
+ #{registerScheduleSn},
+ </if>
+ <if test="outpatCateSn != null">outpat_cate_sn =
+ #{outpatCateSn},
+ </if>
+ <if test="outpatCateName != null">outpat_cate_name =
+ #{outpatCateName},
+ </if>
+ <if test="registDeptCode != null">regist_dept_code =
+ #{registDeptCode},
+ </if>
+ <if test="registDeptName != null">regist_dept_name =
+ #{registDeptName},
+ </if>
+ <if test="deptPinyinCode != null">dept_pinyin_code =
+ #{deptPinyinCode},
+ </if>
+ <if test="registDoctCode != null">regist_doct_code =
+ #{registDoctCode},
+ </if>
+ <if test="registDoctName != null">regist_doct_name =
+ #{registDoctName},
+ </if>
+ <if test="staffPinyinCode != null">staff_pinyin_code =
+ #{staffPinyinCode},
+ </if>
+ <if test="registTimeCate != null">regist_time_cate =
+ #{registTimeCate},
+ </if>
+ <if test="patiRegistSn != null">pati_regist_sn =
+ #{patiRegistSn},
+ </if>
+ <if test="scheduleRegistCharge != null">schedule_regist_charge =
+ #{scheduleRegistCharge},
+ </if>
+ <if test="registRecSn != null">regist_rec_sn =
+ #{registRecSn},
+ </if>
+ <if test="regUserSn != null">reg_user_sn =
+ #{regUserSn},
+ </if>
+ <if test="regUserName != null">reg_user_name =
+ #{regUserName},
+ </if>
+ <if test="regOptTime != null">reg_opt_time =
+ #{regOptTime},
+ </if>
+ <if test="revokeUserSn != null">revoke_user_sn =
+ #{revokeUserSn},
+ </if>
+ <if test="revokeUserName != null">revoke_user_name =
+ #{revokeUserName},
+ </if>
+ <if test="revokeOptTime != null">revoke_opt_time =
+ #{revokeOptTime},
+ </if>
+ <if test="withdrawalTime != null">withdrawal_time =
+ #{withdrawalTime},
+ </if>
+ <if test="scheduleStatusFlag != null">schedule_status_flag =
+ #{scheduleStatusFlag},
+ </if>
+ <if test="scheduleMemoDesc != null">schedule_memo_desc =
+ #{scheduleMemoDesc},
+ </if>
+ <if test="scheduleCredenceNum != null">schedule_credence_num =
+ #{scheduleCredenceNum},
+ </if>
+ <if test="registTimeRange != null">regist_time_range =
+ #{registTimeRange},
+ </if>
+ <if test="scheduleDetailSn != null">schedule_detail_sn =
+ #{schedDetailSn},
+ </if>
+ <if test="treatDate != null">treat_date =
+ #{treatDate},
+ </if>
+ <if test="treatDoctCode != null">treat_doct_code =
+ #{treatDoctCode},
+ </if>
+ <if test="treatDoctName != null">treat_doct_name =
+ #{treatDoctName},
+ </if>
+ <if test="regWayCode != null">reg_way_code =
+ #{regWayCode},
+ </if>
+ <if test="regWay != null">reg_way =
+ #{regWay},
+ </if>
+ <if test="regSystemWayCode != null">reg_system_way_code =
+ #{regSystemWayCode},
+ </if>
+ <if test="regSystemWay != null">reg_system_way =
+ #{regSystemWay},
+ </if>
+ <if test="createTime != null">create_time =
+ #{createTime},
+ </if>
+ <if test="updateTime != null">update_time =
+ #{updateTime},
+ </if>
+ <if test="visitFlag != null">visit_flag =
+ #{visitFlag},
+ </if>
+ <if test="senderId != null">sender_id =
+ #{senderId},
+ </if>
+ <if test="senderName != null">sender_name =
+ #{senderName},
+ </if>
+ <if test="sendTime != null">send_time =
+ #{sendTime},
+ </if>
+ </trim>
+ where id = #{id}
+ </update>
+
+ <update id="deleteServiceAppointRecordById" parameterType="Long">
+ update service_appoint_record
+ <trim prefix="SET" suffixOverrides=",">
+ del_flag =1
+ </trim>
+ where id = #{id}
+ </update>
+
+ <update id="deleteServiceAppointRecordByIds" parameterType="String">
+ update service_appoint_record
+ <trim prefix="SET" suffixOverrides=",">
+ del_flag =1
+ </trim>
+ where id in
+ <foreach item="id" collection="array" open="(" separator="," close=")">
+ #{id}
+ </foreach>
+ </update>
+
+
+</mapper>
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceOutPathMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceOutPathMapper.xml
index 19c62c2..1501541 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceOutPathMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceOutPathMapper.xml
@@ -17,6 +17,11 @@
<result property="radix" column="radix"/>
<result property="guid" column="guid"/>
<result property="orgid" column="orgid"/>
+ <result property="url" column="url"/>
+ <result property="wardCode" column="ward_code"/>
+ <result property="wardName" column="ward_name"/>
+ <result property="deptCode" column="dept_code"/>
+ <result property="deptName" column="dept_name"/>
</resultMap>
<sql id="selectServiceOutPathVo">
@@ -31,6 +36,11 @@
radix,
guid,
orgid,
+ url,
+ ward_code,
+ ward_name,
+ dept_code,
+ dept_name,
del_flag
from service_out_path
</sql>
@@ -61,7 +71,22 @@
<if test="radix != null and radix != ''">
and radix=#{radix}
</if>
+ <if test="url != null and url != ''">
+ and url=#{url}
+ </if>
+ <if test="wardCode != null and wardCode != ''">
+ and ward_code=#{wardCode}
+ </if>
+ <if test="wardName != null and wardName != ''">
+ and ward_name=#{wardName}
+ </if>
+ <if test="deptCode != null and deptCode != ''">
+ and dept_code=#{deptCode}
+ </if>
+ <if test="deptName != null and deptName != ''">
+ and dept_name=#{deptName}
+ </if>
</select>
<select id="selectServiceOutPathById" parameterType="Long"
@@ -90,6 +115,16 @@
</if>
<if test="createTime != null">create_time,
</if>
+ <if test="url != null">url,
+ </if>
+ <if test="wardCode != null">ward_code,
+ </if>
+ <if test="wardName != null">ward_name,
+ </if>
+ <if test="deptCode != null">dept_code,
+ </if>
+ <if test="deptName != null">dept_name,
+ </if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
@@ -108,6 +143,16 @@
<if test="orgid != null">#{orgid},
</if>
<if test="createTime != null">#{createTime},
+ </if>
+ <if test="url != null">#{url},
+ </if>
+ <if test="wardCode != null">#{wardCode},
+ </if>
+ <if test="wardName != null">#{wardName},
+ </if>
+ <if test="deptCode != null">#{deptCode},
+ </if>
+ <if test="deptName != null">#{deptName},
</if>
</trim>
</insert>
@@ -139,6 +184,24 @@
<if test="orgid != null">orgid =
#{orgid},
</if>
+ <if test="updateTime != null">update_time =
+ #{updateTime},
+ </if>
+ <if test="url != null">url =
+ #{url},
+ </if>
+ <if test="wardCode != null">ward_code =
+ #{wardCode},
+ </if>
+ <if test="wardName != null">ward_name =
+ #{wardName},
+ </if>
+ <if test="deptCode != null">dept_code =
+ #{deptCode},
+ </if>
+ <if test="deptName != null">dept_name =
+ #{deptName},
+ </if>
</trim>
where id = #{id}
</update>
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
index 76e7d8d..a2c1e63 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -355,7 +355,7 @@
#{state}
</foreach>
</if>
- <if test="subIdList != null and sendstates.size() > 0">
+ <if test="subIdList != null and subIdList.size() > 0">
AND id IN
<foreach collection="subIdList" item="subId" open="(" separator="," close=")">
#{subId}
@@ -385,7 +385,6 @@
<if test="endSendDateTime != null">
AND date_format(visit_time,'%y%m%d') <= date_format(#{endSendDateTime},'%y%m%d')
</if>
-
<if test="longSendTime != null">
AND date_format(long_send_time,'%y%m%d') <= date_format(#{longSendTime},'%y%m%d')
</if>
@@ -422,7 +421,8 @@
close=")">
#{leaveldeptcode}
</foreach>
- </if>)
+ </if>
+ )
</if>
<if test="deptOrDistrict==3">
AND (1=1
@@ -443,7 +443,6 @@
</if>
)
</if>
-
<if test="deptOrDistrict==4">
AND (1=1
<if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
@@ -463,7 +462,6 @@
</if>
)
</if>
-
<if test="visitTime != null">
AND date_format(visit_time,'%y%m%d') = date_format(#{visitTime},'%y%m%d')
</if>
@@ -494,7 +492,6 @@
<if test="libtemplateid != null ">and libtemplateid = #{libtemplateid}</if>
<if test="libtemplatename != null ">and libtemplatename = #{libtemplatename}</if>
<if test="openid != null ">and openid = #{openid}</if>
- <if test="longSendTime != null ">and long_send_time = #{longSendTime}</if>
<if test="sendstate != null ">and sendstate = #{sendstate}</if>
<if test="drname != null and drname != ''">and drname like concat('%', #{drname}, '%')</if>
<if test="taskName != null and taskName != ''">and task_name like concat('%', #{taskName}, '%')</if>
@@ -1352,7 +1349,13 @@
<if test="continueTimeNext != null ">continue_time_next = #{continueTimeNext,jdbcType=TIMESTAMP},</if>
<if test="continueContent != null ">continue_content = #{continueContent},</if>
</trim>
- where patid = #{patid} and taskid = #{taskid}
+ where
+ <if test="patid != null ">
+ patid = #{patid}
+ </if>
+ <if test="taskid != null ">
+ and taskid = #{taskid}
+ </if>
<if test="id != null ">
and id = #{id}
</if>
@@ -2508,8 +2511,8 @@
SUM(CASE WHEN excep IS NOT NULL AND excep = '2' THEN 1 ELSE 0 END) AS jg,
COUNT(1) as total
FROM service_subtask
- where 1=1
- and del_flag = 0
+ where del_flag = 0
+ <if test="continueFlag != null ">and continue_flag = #{continueFlag}</if>
<if test="sendname != null and sendname != ''">
AND sendname LIKE CONCAT('%', #{sendname}, '%')
</if>
@@ -3020,6 +3023,12 @@
#{taskId}
</foreach>
AND s.sendstate = 6
+ <if test="startOutHospTime != null">
+ AND date_format(s.endtime,'%y%m%d') >= date_format(#{startOutHospTime},'%y%m%d')
+ </if>
+ <if test="endOutHospTime != null">
+ AND date_format(s.endtime,'%y%m%d') <= date_format(#{endOutHospTime},'%y%m%d')
+ </if>
GROUP BY
t.taskid,
d.questiontext,
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceTaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceTaskMapper.xml
index 2aa5822..ef03c5f 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceTaskMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceTaskMapper.xml
@@ -389,20 +389,34 @@
<if test="leavehospitaldistrictname != null ">and service_task.leavehospitaldistrictname =
#{leavehospitaldistrictname}
</if>
- <if test="leavehospitaldistrictcodes!=null and leavehospitaldistrictcodes.size()>0">
- AND service_task.leavehospitaldistrictcode IN
- <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
- close=")">
- #{leavehospitaldistrictcode}
- </foreach>
- </if>
- <if test="leaveldeptcodes!=null and leaveldeptcodes.size()>0">
- AND service_task.deptcode IN
- <foreach collection="leaveldeptcodes" item="deptcode" open="(" separator=","
- close=")">
- #{deptcode}
- </foreach>
- </if>
+ <choose>
+ <when test="(leavehospitaldistrictcodes!=null and leavehospitaldistrictcodes.size()>0) and (leaveldeptcodes!=null and leaveldeptcodes.size()>0)">
+ AND (
+ service_task.leavehospitaldistrictcode IN
+ <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator="," close=")">
+ #{leavehospitaldistrictcode}
+ </foreach>
+ OR service_task.deptcode IN
+ <foreach collection="leaveldeptcodes" item="deptcode" open="(" separator="," close=")">
+ #{deptcode}
+ </foreach>
+ )
+ </when>
+ <otherwise>
+ <if test="leavehospitaldistrictcodes!=null and leavehospitaldistrictcodes.size()>0">
+ AND service_task.leavehospitaldistrictcode IN
+ <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator="," close=")">
+ #{leavehospitaldistrictcode}
+ </foreach>
+ </if>
+ <if test="leaveldeptcodes!=null and leaveldeptcodes.size()>0">
+ AND service_task.deptcode IN
+ <foreach collection="leaveldeptcodes" item="deptcode" open="(" separator="," close=")">
+ #{deptcode}
+ </foreach>
+ </if>
+ </otherwise>
+ </choose>
<if test="leavehospitaldistrictcode != null ">and service_task.leavehospitaldistrictcode =
#{leavehospitaldistrictcode}
</if>
--
Gitblit v1.9.3