Explorar el Código

Merge remote-tracking branch 'origin/dev/icssNCD' into dev/icssNCD

wangyu hace 6 años
padre
commit
f34c08da5c

+ 4 - 0
aipt-service/src/main/java/com/diagbot/facade/ClinicalFacade.java

@@ -7,6 +7,7 @@ import com.diagbot.client.bean.ResponseData;
 import com.diagbot.dto.LisResult;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
+import com.diagbot.util.ListUtil;
 import com.diagbot.vo.SearchVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -54,6 +55,9 @@ public class ClinicalFacade {
     }
 
     private List<LisResult> processLis(List<LisResult> lisArr) {
+        if(ListUtil.isEmpty(lisArr)){
+            return lisArr;
+        }
 
         String Otherval = "";
 

+ 16 - 0
icss-service/src/main/java/com/diagbot/client/bean/CalcResult.java

@@ -0,0 +1,16 @@
+package com.diagbot.client.bean;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:公式计算结果
+ * @Author:zhaops
+ * @time: 2019/4/11 17:30
+ */
+@Getter
+@Setter
+public class CalcResult {
+    private Double value;
+    private String text;
+}

+ 4 - 5
icss-service/src/main/java/com/diagbot/client/bean/MedicalIndication.java

@@ -1,20 +1,19 @@
 package com.diagbot.client.bean;
 
-import com.alibaba.fastjson.JSONObject;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.List;
+
 
 /**
- * @Description:
+ * @Description:推送指标
  * @Author:zhaops
  * @time: 2019/3/14 14:40
  */
 @Getter
 @Setter
 public class MedicalIndication {
-    private Integer type; //1-量表,2-核心指标,3-公式,4,是否
     private String name;
-    private JSONObject content;  //type<>1 量表之外的内容
-    private String scaleName;    //type=1 量表名字
+    private List<MedicalIndicationDetail> details;
 }

+ 17 - 0
icss-service/src/main/java/com/diagbot/client/bean/MedicalIndicationDetail.java

@@ -0,0 +1,17 @@
+package com.diagbot.client.bean;
+
+import com.alibaba.fastjson.JSONObject;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:推送指标明细
+ * @Author:zhaops
+ * @time: 2019/4/11 10:15
+ */
+@Getter
+@Setter
+public class MedicalIndicationDetail {
+    private Integer type; //1-量表,2-公式,3-其他指标
+    private JSONObject content;  //type<>1 非量表,返回内容;type=1 量表,返回量表名称{"name":""}
+}

+ 3 - 2
icss-service/src/main/java/com/diagbot/dto/MedicalIndicationDTO.java

@@ -4,6 +4,8 @@ import com.diagbot.client.bean.MedicalIndication;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.List;
+
 /**
  * @Description: 指标推送结果
  * @Author:zhaops
@@ -11,8 +13,7 @@ import lombok.Setter;
  */
 @Getter
 @Setter
-public class MedicalIndicationDTO extends MedicalIndication {
+public class MedicalIndicationDTO extends MedicalIndication{
     private Long id;
     private String tagName;
-    private ScaleDTO scale;
 }

+ 2 - 0
icss-service/src/main/java/com/diagbot/dto/PushDTO.java

@@ -1,5 +1,6 @@
 package com.diagbot.dto;
 
+import com.diagbot.client.bean.CalcResult;
 import com.diagbot.entity.ScaleContent;
 import lombok.Getter;
 import lombok.Setter;
@@ -26,4 +27,5 @@ public class PushDTO {
     private List<MedicalIndicationDTO> medicalIndications;
     private List<ScaleContent> scale;
     private List<EvaluationModuleMappingDTO> evaluationModule;
+    private CalcResult calcResult;
 }

+ 0 - 17
icss-service/src/main/java/com/diagbot/dto/ScaleDTO.java

@@ -1,17 +0,0 @@
-package com.diagbot.dto;
-
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @Description: 量表
- * @Author:zhaops
- * @time: 2019/3/14 14:45
- */
-@Getter
-@Setter
-public class ScaleDTO {
-    private Long id;
-    private String name;
-    private String tagName;
-}

+ 2 - 1
icss-service/src/main/java/com/diagbot/enums/FeatureTypeEnum.java

@@ -18,7 +18,8 @@ public enum FeatureTypeEnum implements KeyedNamed {
     Treat(8, "治疗"),
     Scale(21, "量表内容"),
     MedicalIndication(22, "指标"),
-    ManagementEvaluation(11, "管理评估");
+    ManagementEvaluation(11, "管理评估"),
+    Calculate(31,"计算");
 
     @Setter
     private Integer key;

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 36 - 28
icss-service/src/main/java/com/diagbot/facade/PushFacade.java


+ 2 - 0
icss-service/src/main/java/com/diagbot/vo/PushVO.java

@@ -1,5 +1,6 @@
 package com.diagbot.vo;
 
+import com.alibaba.fastjson.JSONObject;
 import com.diagbot.client.bean.AdverseReaction;
 import com.diagbot.client.bean.IndicationResult;
 import lombok.Getter;
@@ -37,4 +38,5 @@ public class PushVO {
     private Integer disType;  //0-普通病(默认不填),1-慢病,2-急诊
     private List<AdverseReaction> adverseReactions; //不良反应
     private List<IndicationResult> medicalIndications;   //推理指标
+    private JSONObject formula;//计算公式
 }

+ 24 - 24
icssman-service/src/main/java/com/diagbot/facade/IndexConfigFacade.java

@@ -1,18 +1,8 @@
 package com.diagbot.facade;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.diagbot.client.UserServiceClient;
 import com.diagbot.dto.DiseaseInfoDTO;
 import com.diagbot.dto.IndexConfigAllDTO;
@@ -27,12 +17,22 @@ import com.diagbot.service.impl.IndexConfigServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.ListUtil;
+import com.diagbot.util.RespDTOUtil;
 import com.diagbot.util.UserUtils;
 import com.diagbot.vo.DiseaseNameVO;
 import com.diagbot.vo.IndexConfigDiseaseIdVO;
 import com.diagbot.vo.IndexConfigDiseaseNameVO;
 import com.diagbot.vo.IndexConfigListVO;
 import com.diagbot.vo.IndexConfigVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @author wangfeng
@@ -43,24 +43,24 @@ import com.diagbot.vo.IndexConfigVO;
 public class IndexConfigFacade extends IndexConfigServiceImpl {
 
 	@Autowired
+	@Qualifier("indexConfigServiceImpl")
 	IndexConfigService indexConfigService;
 	@Autowired
 	UserServiceClient userServiceClient;
 	/**
-	 * 
-	 * @param page
+	 *
 	 * @param indexConfigDiseaseNameVO
 	 * @return
 	 */
 	public IPage<IndexConfigDTO> queryIndexConfigPage(IndexConfigDiseaseNameVO indexConfigDiseaseNameVO) {
-		IPage<IndexConfigDTO> datas = indexConfigService.queryIndexConfigPageAlls(indexConfigDiseaseNameVO);
+		IPage<IndexConfigDTO> datas = this.queryIndexConfigPageAlls(indexConfigDiseaseNameVO);
 		List<IndexConfigDTO> data = datas.getRecords();
 		List<String> modifierid = new ArrayList<>();
 		modifierid = data.stream().map(ac -> ac.getModifier()).collect(Collectors.toList());
 		Map<String, String> userNames = new HashMap<>();
 		if (modifierid.size() > 0) {
 			RespDTO<Map<String, String>> userNamesDTO = userServiceClient.getUserInfoByIds(modifierid);
-			if (userNamesDTO == null || !CommonErrorCode.OK.getCode().equals(userNamesDTO.code)) {
+			if (RespDTOUtil.respIsNG(userNamesDTO)) {
 				throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "获取所有用户信息失败");
 			}
 			userNames = userNamesDTO.data;
@@ -68,17 +68,14 @@ public class IndexConfigFacade extends IndexConfigServiceImpl {
 		List<IndexConfigDTO> indexConfigLists = new ArrayList<IndexConfigDTO>();
 		for (IndexConfigDTO evalua : data) {
 			IndexConfigDTO dateNew = new IndexConfigDTO();
-			dateNew.setId(evalua.getId());
-			dateNew.setCreator(evalua.getCreator());
-			dateNew.setGmtModified(evalua.getGmtModified());
-			dateNew.setDiseaseId(evalua.getDiseaseId());
-			dateNew.setGmtCreate(evalua.getGmtCreate());
+			BeanUtil.copyProperties(evalua,dateNew);
 			dateNew.setModifier(userNames.get(evalua.getModifier()));
-			dateNew.setDiseaseName(evalua.getDiseaseName());
 			indexConfigLists.add(dateNew);
 		}
 
-		return datas.setRecords(indexConfigLists);
+		datas.setRecords(indexConfigLists);
+
+		return datas;
 	}
 	/**
 	 * 
@@ -134,7 +131,8 @@ public class IndexConfigFacade extends IndexConfigServiceImpl {
 	 */
 	public boolean saveIndexConfigList(IndexConfigListVO indexConfigListVO) {
 		boolean res = false;
-		if (indexConfigListVO != null && ListUtil.isNotEmpty(indexConfigListVO.getIndexConfigData())) {
+		if (indexConfigListVO != null
+				&& ListUtil.isNotEmpty(indexConfigListVO.getIndexConfigData())) {
 			List<IndexConfigVO> indexConfigData = indexConfigListVO.getIndexConfigData();
 			List<String> indexUnique = new ArrayList<>();
 			for (IndexConfigVO e : indexConfigData) {
@@ -143,9 +141,11 @@ public class IndexConfigFacade extends IndexConfigServiceImpl {
 
 			QueryWrapper<IndexConfig> IndexConfigQuery = new QueryWrapper<>();
 
-			IndexConfigQuery.in("index_unique", indexUnique);
+			IndexConfigQuery.eq("disease_id",indexConfigListVO.getDiseaseId())
+					.eq("is_deleted",IsDeleteEnum.N.getKey())
+					.in("index_unique", indexUnique);
 			List<IndexConfig> dataUnique = list(IndexConfigQuery);
-			if (dataUnique != null && dataUnique.size() > 0) {
+			if (ListUtil.isNotEmpty(dataUnique)) {
 				throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
 						"该'" + dataUnique.get(0).getIndexUnique() + "'已存在");
 			}

+ 22 - 0
icssman-service/src/main/java/com/diagbot/facade/ScaleContentFacade.java

@@ -18,6 +18,7 @@ import com.diagbot.service.impl.ScaleContentServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.UserUtils;
+import com.diagbot.vo.DeleteScaleVO;
 import com.diagbot.vo.QuestionPageVO;
 import com.diagbot.vo.ScaleContentSaveVO;
 import com.diagbot.vo.ScaleContentVO;
@@ -112,4 +113,25 @@ public class ScaleContentFacade extends ScaleContentServiceImpl {
     public List<ScaleContentDTO> getByParamFac(Long scaleId) {
         return this.getByParam(scaleId);
     }
+
+
+    /**
+     * 量表列表
+     *
+     * @param deleteScaleVO
+     * @return
+     */
+    public void delete(DeleteScaleVO deleteScaleVO) {
+        Date now = DateUtil.now();
+        String person = UserUtils.getCurrentPrincipleID();
+        List<Long> ids = deleteScaleVO.getIds();
+        for(Long id : ids) {
+            this.update(new ScaleContent(), new UpdateWrapper<ScaleContent>()
+                    .eq("scale_id", id)
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .set("gmt_modified", now)
+                    .set("modifier", person)
+                    .set("is_deleted", IsDeleteEnum.Y.getKey()));
+        }
+    }
 }

+ 17 - 0
icssman-service/src/main/java/com/diagbot/vo/DeleteScaleVO.java

@@ -0,0 +1,17 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: ztg
+ * @time: 2019/1/28 15:45
+ */
+@Getter
+@Setter
+public class DeleteScaleVO {
+    private List<Long> ids;
+}

+ 11 - 0
icssman-service/src/main/java/com/diagbot/web/ScaleContentController.java

@@ -6,6 +6,7 @@ import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.QuestionPageDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.ScaleContentFacade;
+import com.diagbot.vo.DeleteScaleVO;
 import com.diagbot.vo.QuestionPageVO;
 import com.diagbot.vo.ScaleContentSaveVO;
 import io.swagger.annotations.Api;
@@ -51,4 +52,14 @@ public class ScaleContentController {
         IPage<QuestionPageDTO> data = scaleContentFacade.getListFac(questionPageVO);
         return RespDTO.onSuc(data);
     }
+
+
+    @ApiOperation(value = "2期-量表内容删除[by:zhoutg]",
+            notes = "")
+    @PostMapping("/delete")
+    @SysLogger("delete")
+    public  RespDTO<Boolean> delete(@RequestBody DeleteScaleVO deleteScaleVO) {
+        scaleContentFacade.delete(deleteScaleVO);
+        return RespDTO.onSuc(true);
+    }
 }

+ 8 - 6
icssman-service/src/main/resources/mapper/IndexConfigMapper.xml

@@ -29,25 +29,27 @@
 	icss_index_config a
 	JOIN icss_question_info b
 	WHERE a.disease_id = b.id
-	<if test="indexConfigVO.diseaseName != null">
+	AND a.is_deleted = "N"
+	AND b.is_deleted = "N"
+	<if test="indexConfigVO.diseaseName != null and indexConfigVO.diseaseName != ''">
 	AND b.tag_name LIKE CONCAT('%', #{indexConfigVO.diseaseName}, '%')
 	</if>
 	GROUP BY a.disease_id
 	ORDER BY a.gmt_create DESC
 </select>
 <select id="queryIndexConfigDiseaseName" resultType="com.diagbot.dto.DiseaseInfoDTO">
-	SELECT
+	SELECT DISTINCT
 	a.dis_id AS diseaseId,
 	b.tag_name AS diseaseName
 	FROM
 	icss_dis_type a
-	LEFT JOIN icss_index_config c
-	ON a.dis_id = c.disease_id
 	JOIN icss_question_info b
 	ON a.dis_id = b.id
-	WHERE c.disease_id IS NULL
+	WHERE a.type = 1
+	AND a.dis_id not in (SELECT DISTINCT f.disease_id as diseaseId From icss_index_config f WHERE f.is_deleted ="N")
 	AND a.is_deleted = "N"
-	<if test="diseaseNameVO.diseaseName != null">
+	AND b.is_deleted = "N"
+	<if test="diseaseNameVO.diseaseName != null and diseaseNameVO.diseaseName != ''">
 	AND b.tag_name LIKE CONCAT('%', #{diseaseNameVO.diseaseName}, '%')
 	</if>
 	ORDER BY b.tag_name DESC