diff --git a/pom.xml b/pom.xml
index b4cf877..ca455d6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -70,6 +70,11 @@
commons-net
${commons-net.version}
+
+ org.apache.commons
+ commons-collections4
+ 4.4
+
diff --git a/src/main/java/com/emr/controller/lastVerifyController.java b/src/main/java/com/emr/controller/lastVerifyController.java
index 0c3d2d5..41771f9 100644
--- a/src/main/java/com/emr/controller/lastVerifyController.java
+++ b/src/main/java/com/emr/controller/lastVerifyController.java
@@ -8,6 +8,7 @@ package com.emr.controller;
import com.emr.entity.*;
import com.emr.service.Archive_MasterService;
+import com.emr.service.CompenSateService;
import com.emr.service.Emr_Fault_DetailService;
import com.emr.service.Emr_Fault_TypeService;
import com.emr.service.ipml.EmrPaperPositionInfoServer;
@@ -60,6 +61,8 @@ public class lastVerifyController {
@Autowired
private EmrPaperPositionInfoServer paperPositionInfoServer;
+ @Autowired
+ private CompenSateService compenSateService;
@RequestMapping(value = "/lastVerifys")
public String faults() {
return "lastVerifyDir/lastVerifyList";
@@ -77,6 +80,14 @@ public class lastVerifyController {
return result;
}
+
+ @ResponseBody
+ @RequestMapping(value = "/updateCompensate")
+
+ public int updateCompensate(String id,String patientId){
+ return compenSateService.updateCompenSate(id,patientId);
+ }
+
@ResponseBody
@RequestMapping(value = "/exportExcel")
public void exportExcel(HttpServletResponse response, Archive_Master_Vo archiveMasterVo,Integer isSearch) throws Exception {
diff --git a/src/main/java/com/emr/dao/CompenSateMapper.java b/src/main/java/com/emr/dao/CompenSateMapper.java
new file mode 100644
index 0000000..b51d921
--- /dev/null
+++ b/src/main/java/com/emr/dao/CompenSateMapper.java
@@ -0,0 +1,24 @@
+package com.emr.dao;
+
+import com.emr.vo.CompenSateVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @InterfaceName CompenSateMapper
+ * @Description 按需采集接口
+ * @Author linjj
+ * @Date 2024/3/25 14:16
+ * @Version 1.0
+ */
+public interface CompenSateMapper {
+
+ List selectAll(@Param(value = "ids")String ids);
+
+ int updateCompenSate(String masterId);
+
+ List selectAllByMasterId(String masterId);
+
+ int addCompenSate(@Param(value = "masterId")String masterId,@Param(value = "patientId")String patientId,@Param(value = "compensateState")int compensateState);
+}
diff --git a/src/main/java/com/emr/entity/Archive_Master_Vo.java b/src/main/java/com/emr/entity/Archive_Master_Vo.java
index 44f5acb..49e47f1 100644
--- a/src/main/java/com/emr/entity/Archive_Master_Vo.java
+++ b/src/main/java/com/emr/entity/Archive_Master_Vo.java
@@ -50,6 +50,15 @@ public class Archive_Master_Vo {
private String deptCodeLend;
private String returntoRole;
+ private int compensateState;
+
+ public int getCompensateState() {
+ return compensateState;
+ }
+
+ public void setCompensateState(int compensateState) {
+ this.compensateState = compensateState;
+ }
private String returnOperUsername;
diff --git a/src/main/java/com/emr/service/CompenSateService.java b/src/main/java/com/emr/service/CompenSateService.java
new file mode 100644
index 0000000..a026454
--- /dev/null
+++ b/src/main/java/com/emr/service/CompenSateService.java
@@ -0,0 +1,13 @@
+package com.emr.service;
+
+/**
+ * @InterfaceName CompenSateService
+ * @Description
+ * @Author linjj
+ * @Date 2024/3/25 14:42
+ * @Version 1.0
+ */
+public interface CompenSateService {
+
+ int updateCompenSate(String masterId,String patientId);
+}
diff --git a/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java b/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java
index 0054598..aa1feb7 100644
--- a/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java
+++ b/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java
@@ -7,13 +7,18 @@
package com.emr.service.ipml;
import com.emr.dao.Archive_MasterMapper;
+import com.emr.dao.CompenSateMapper;
import com.emr.dao1.OracleMapper;
import com.emr.entity.*;
import com.emr.service.Archive_MasterService;
import com.emr.service.Emr_DictionaryService;
import com.emr.util.ExceptionPrintUtil;
+import com.emr.util.ListUtil;
+import com.emr.util.Setters;
+import com.emr.vo.CompenSateVo;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
+import org.apache.commons.collections4.ListUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -21,6 +26,7 @@ import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
@Service
public class Archive_MasterServiceImpl implements Archive_MasterService {
@@ -33,6 +39,8 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
@Autowired
private OracleMapper oracleMapper;
+ @Autowired
+ private CompenSateMapper compenSateMapper;
@Override
public OffsetLimitPage selectByCol(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit) {
PageHelper.offsetPage(offset, limit);
@@ -115,6 +123,30 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
List list = archiveMasterMapper.selectByLast(archiveMasterVo);
//设置科室设置纸质签收状态和his召回状态
setPaperStatusAndCallbackStatus(list);
+ if (list.size()>0){
+ //按需采集
+ //masterIds集合
+ List masterIds = ListUtil.distinctSelect(list, Archive_Master_Vo::getId);
+ //分批次
+ List> newList = ListUtils.partition(masterIds, 1000);
+ for (List messageList : newList) {
+ //转成逗号拼接
+ String ids = String.join(",", messageList);
+ //获取按需采集信息
+ List compenSateVos = compenSateMapper.selectAll(ids);
+ //医生是否有缺陷
+ Map masterIdMap = ListUtil.toMap(compenSateVos, CompenSateVo::getMasterId);
+ Setters.instance().list(list).cycleSetProperties(p -> {
+ String masterId = p.getId();
+ if (masterIdMap.containsKey(masterId)){
+ p.setCompensateState(masterIdMap.get(masterId).getCompensateState());
+ }else {
+ p.setCompensateState(1);
+ }
+ });
+ }
+ }
+
return new OffsetLimitPage((Page) list);
}
diff --git a/src/main/java/com/emr/service/ipml/CompenSateServiceImpl.java b/src/main/java/com/emr/service/ipml/CompenSateServiceImpl.java
new file mode 100644
index 0000000..809a7f1
--- /dev/null
+++ b/src/main/java/com/emr/service/ipml/CompenSateServiceImpl.java
@@ -0,0 +1,36 @@
+package com.emr.service.ipml;
+
+import com.emr.dao.CompenSateMapper;
+import com.emr.service.CompenSateService;
+import com.emr.vo.CompenSateVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @ClassName CompenSateServiceImpl
+ * @Description
+ * @Author linjj
+ * @Date 2024/3/25 14:42
+ * @Version 1.0
+ */
+@Service
+public class CompenSateServiceImpl implements CompenSateService {
+
+ @Autowired
+ private CompenSateMapper compenSateMapper;
+
+ @Override
+ public int updateCompenSate(String masterId, String patientId) {
+ //判断按需表中是否存在当前记录
+ List list = compenSateMapper.selectAllByMasterId(masterId);
+ //如果不存在则新增任务,存在则更新任务状态
+ if (list == null || list.isEmpty()) {
+ return compenSateMapper.addCompenSate(masterId, patientId, 0);
+ } else {
+ return compenSateMapper.updateCompenSate(masterId);
+ }
+ }
+}
diff --git a/src/main/java/com/emr/util/FieldSelector.java b/src/main/java/com/emr/util/FieldSelector.java
new file mode 100644
index 0000000..077c034
--- /dev/null
+++ b/src/main/java/com/emr/util/FieldSelector.java
@@ -0,0 +1,12 @@
+package com.emr.util;
+
+/**
+ * @InterfaceName FieldSelector
+ * @Description
+ * @Author linjj
+ * @Date 2023/6/29 16:41
+ * @Version 1.0
+ */
+public interface FieldSelector {
+ FieldType select(Type type);
+}
diff --git a/src/main/java/com/emr/util/ListPropertySetter.java b/src/main/java/com/emr/util/ListPropertySetter.java
new file mode 100644
index 0000000..20eb1dd
--- /dev/null
+++ b/src/main/java/com/emr/util/ListPropertySetter.java
@@ -0,0 +1,22 @@
+package com.emr.util;
+
+import java.util.List;
+
+public class ListPropertySetter {
+
+ private final List values;
+
+ public ListPropertySetter(List values) {
+ this.values = values;
+ }
+
+ public List cycleSetProperties(PropertySetter setter) {
+
+ if (null == values) return values;
+
+ for (T value : values) {
+ setter.apply(value);
+ }
+ return values;
+ }
+}
diff --git a/src/main/java/com/emr/util/ListUtil.java b/src/main/java/com/emr/util/ListUtil.java
new file mode 100644
index 0000000..6c33688
--- /dev/null
+++ b/src/main/java/com/emr/util/ListUtil.java
@@ -0,0 +1,73 @@
+package com.emr.util;
+
+import org.springframework.util.CollectionUtils;
+
+import java.util.*;
+
+public final class ListUtil {
+ public static Map toMap(List list, FieldSelector selector) {
+ if (CollectionUtils.isEmpty(list)) return Collections.emptyMap();
+ Map map = new HashMap<>(list.size());
+ for (T t : list) {
+ K key = selector.select(t);
+ if (key != null) map.put(key, t);
+ }
+ return map;
+ }
+
+ public static Map> groupBy(List list, FieldSelector selector) {
+ if (CollectionUtils.isEmpty(list)) return Collections.emptyMap();
+ Map> map = new HashMap<>();
+ for (T t : list) {
+ K key = selector.select(t);
+ if (key == null) continue;
+ if (!map.containsKey(key)) {
+ map.put(key, new ArrayList());
+ }
+ map.get(key).add(t);
+ }
+ return map;
+ }
+
+ public static List select(List list, FieldSelector selector) {
+ if (CollectionUtils.isEmpty(list)) return Collections.emptyList();
+ List filedList = new ArrayList<>(list.size());
+ for (T t : list) {
+ K key = selector.select(t);
+ if (key != null) filedList.add(key);
+ }
+ return filedList;
+ }
+
+ public static List distinctSelect(List list, FieldSelector selector) {
+ if (CollectionUtils.isEmpty(list)) return Collections.emptyList();
+ Set filedSet = new HashSet<>();
+ for (T t : list) {
+ K key = selector.select(t);
+ if (key != null) filedSet.add(key);
+ }
+ return new ArrayList<>(filedSet);
+ }
+
+ @SafeVarargs
+ public static List unionWithoutDuplicate(List... values) {
+ if (null == values || values.length <= 0) return Collections.emptyList();
+ Set unionFiledSet = new HashSet<>();
+ for (List value : values) {
+ if (!CollectionUtils.isEmpty(value)) {
+ unionFiledSet.addAll(value);
+ }
+ }
+ return new ArrayList<>(unionFiledSet);
+ }
+
+ public static List skipDuplicateKey(List list, FieldSelector selector) {
+ if (CollectionUtils.isEmpty(list)) return Collections.emptyList();
+ List filedList = new ArrayList<>(list.size());
+ Map map = toMap(list, selector);
+ for (K key : map.keySet()) {
+ filedList.add(map.get(key));
+ }
+ return filedList;
+ }
+}
diff --git a/src/main/java/com/emr/util/PropertySetter.java b/src/main/java/com/emr/util/PropertySetter.java
new file mode 100644
index 0000000..714c4ed
--- /dev/null
+++ b/src/main/java/com/emr/util/PropertySetter.java
@@ -0,0 +1,7 @@
+package com.emr.util;
+
+public interface PropertySetter {
+
+ void apply(T t);
+
+}
diff --git a/src/main/java/com/emr/util/Setters.java b/src/main/java/com/emr/util/Setters.java
new file mode 100644
index 0000000..db1b600
--- /dev/null
+++ b/src/main/java/com/emr/util/Setters.java
@@ -0,0 +1,14 @@
+package com.emr.util;
+
+import java.util.List;
+
+public class Setters {
+
+ public static Setters instance() {
+ return new Setters<>();
+ }
+
+ public ListPropertySetter list(List values) {
+ return new ListPropertySetter<>(values);
+ }
+}
diff --git a/src/main/java/com/emr/vo/CompenSateVo.java b/src/main/java/com/emr/vo/CompenSateVo.java
new file mode 100644
index 0000000..bec15c0
--- /dev/null
+++ b/src/main/java/com/emr/vo/CompenSateVo.java
@@ -0,0 +1,18 @@
+package com.emr.vo;
+
+import lombok.Data;
+
+/**
+ * @ClassName CompenSateVo
+ * @Description 按需采集返回
+ * @Author linjj
+ * @Date 2024/3/25 14:15
+ * @Version 1.0
+ */
+@Data
+public class CompenSateVo {
+ private String masterId;
+ private String patientId;
+ private int compensateState;
+
+}
diff --git a/src/main/resources/config/jdbc.properties b/src/main/resources/config/jdbc.properties
index 080237d..a9a21ae 100644
--- a/src/main/resources/config/jdbc.properties
+++ b/src/main/resources/config/jdbc.properties
@@ -47,9 +47,9 @@ logAbandoned: true
#\u56FE\u7247\u5730\u5740
pictureUrl=src\\main\\webapp
-powerUrl=http://localhost:8081/power/font/getMenusByUserIdAndSysFlag
-POWER_URLHEAD=http://localhost:8081/power
-POWER_JSP=http://localhost:8081/power
+powerUrl=http://localhost:8084/power/font/getMenusByUserIdAndSysFlag
+POWER_URLHEAD=http://localhost:8084/power
+POWER_JSP=http://localhost:8084/power
recallReason=\u533B\u9662\u9700\u8981\u8FD9\u4EFD\u6587\u6863
HomepageDictionary=http://localhost:8080/WholeCheckInterface/services/HomepageDictionary?wsdl
HomepageMethod=CheckData
diff --git a/src/main/resources/mapper/CompenSateMapper.xml b/src/main/resources/mapper/CompenSateMapper.xml
new file mode 100644
index 0000000..b96b82b
--- /dev/null
+++ b/src/main/resources/mapper/CompenSateMapper.xml
@@ -0,0 +1,25 @@
+
+
+
+
+ insert into compensate (masterId, patientId,
+ compensateState)
+ values (#{masterId}, #{patientId},
+ #{compensateState})
+
+
+ update compensate set compensateState=0 where masterId=#{masterId}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp b/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp
index c11f7df..b28c8af 100644
--- a/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp
+++ b/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp
@@ -1751,9 +1751,9 @@
$("#outHospLab").html(row.dischargeDisposition);
$("#inLab").html(row.inpNo);
$("#inTimeLab").html(row.visitId);
- if (row.lockinfo == '') {
- $("#wzContent").text(row.lockinfo);
- } else {
+ // if (row.lockinfo == '') {
+ // $("#wzContent").text(row.lockinfo);
+ // } else {
//请求接口查看并回显
$.ajax({
type: 'get',
@@ -1767,7 +1767,7 @@
}
},
})
- }
+ // }
///入/出院年+出院月+住院号+住院次数
var outDate = "";
if (row.dischargeDateTime != null && row.dischargeDateTime != "") {
diff --git a/src/main/webapp/WEB-INF/views/lastVerifyDir/lastVerifyList.jsp b/src/main/webapp/WEB-INF/views/lastVerifyDir/lastVerifyList.jsp
index 2a9aa5c..8d2e828 100644
--- a/src/main/webapp/WEB-INF/views/lastVerifyDir/lastVerifyList.jsp
+++ b/src/main/webapp/WEB-INF/views/lastVerifyDir/lastVerifyList.jsp
@@ -1447,6 +1447,21 @@
}
});
}
+ function compensateState(id,patientId) {
+ console.log("id"+id)
+ console.log("patientId"+patientId)
+ $.ajax({
+ url: "${path}/lastVerify/updateCompensate",
+ type: "POST",
+ data: {id: id,patientId:patientId},
+ success: function (result) {
+ if (result==1){
+ toastr.success("his重新采集成功!");
+ $('#table').bootstrapTable('refresh');
+ }
+ }
+ });
+ }
getFaultType();
@@ -1759,6 +1774,11 @@
html += '';
}
}
+ if (row.compensateState==1){
+ html += '';
+ }else {
+ html += '';
+ }
return html;
},
@@ -1780,13 +1800,14 @@
});
getFaultType();
-
$('#returnModal').modal({
backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。
keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。
show: true//弹出对话框
});
+ }, 'click .compensateState': function (e, value, row, index) {
+ compensateState(row.id,row.patientId);
},
'click .verifyInfo': function (e, value, row, index) {
// console.log("====审核====");
@@ -1841,9 +1862,6 @@
$("#inLab").html(row.inpNo);
$("#inTimeLab").html(row.visitId);
$("#wzContent").html(row.lockinfo);
- if(row.lockinfo == ''){
- $("#wzContent").html(row.lockinfo);
- }else{
//请求接口查看并回显
$.ajax({
type:'get',
@@ -1857,7 +1875,7 @@
}
},
})
- }
+
//入/出院年+出院月+住院号+住院次数
var outDate = "";
if (row.dischargeDateTime != null && row.dischargeDateTime != "") {