Browse Source

医保出院规则维护

lighter 1 year ago
parent
commit
e558856732

+ 1 - 1
pom.xml

@@ -10,7 +10,7 @@
     </parent>
     <groupId>thyyxxk</groupId>
     <artifactId>web-server</artifactId>
-    <version>12.3.2</version>
+    <version>12.4.9</version>
     <name>web-server</name>
     <description>server for yibao-web</description>
     <properties>

+ 52 - 0
src/main/java/thyyxxk/webserver/controller/medicalinsurance/DismissRulesController.java

@@ -0,0 +1,52 @@
+package thyyxxk.webserver.controller.medicalinsurance;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import thyyxxk.webserver.config.exception.ExceptionEnum;
+import thyyxxk.webserver.entity.ResultVo;
+import thyyxxk.webserver.entity.medicalinsurance.manage.dismissrules.MedinsDismissRules;
+import thyyxxk.webserver.entity.medicalinsurance.manage.dismissrules.RuleElement;
+import thyyxxk.webserver.service.medicalinsurance.DismissRulesService;
+import thyyxxk.webserver.utils.ResultVoUtil;
+
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/dismissRules")
+public class DismissRulesController {
+    private final DismissRulesService service;
+
+    @Autowired
+    public DismissRulesController(DismissRulesService service) {
+        this.service = service;
+    }
+
+    @GetMapping("/getAllRules")
+    public ResultVo<List<MedinsDismissRules>> getAllRules() {
+        return ResultVoUtil.success(service.getAllRules());
+    }
+
+    @GetMapping("/getBaseDict")
+    public ResultVo<Map<String, List<RuleElement>>> getBaseDict() {
+        return ResultVoUtil.success(service.getBaseDict());
+    }
+
+    @PostMapping("/saveEditResult")
+    public ResultVo<String> saveEditResult(@RequestBody MedinsDismissRules request) {
+        int result = service.saveEditResult(request);
+        if (result == 1) {
+            return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION);
+        }
+        return ResultVoUtil.fail(ExceptionEnum.INTERNAL_SERVER_ERROR, "操作失败,请稍后再试。");
+    }
+
+    @GetMapping("/deleteRule")
+    public ResultVo<String> deleteRule(@RequestParam("id") String id) {
+        int result = service.deleteRule(id);
+        if (result == 1) {
+            return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION);
+        }
+        return ResultVoUtil.fail(ExceptionEnum.INTERNAL_SERVER_ERROR, "操作失败,请稍后再试。");
+    }
+}

+ 20 - 0
src/main/java/thyyxxk/webserver/dao/his/medicalinsurance/DismissRulesDao.java

@@ -0,0 +1,20 @@
+package thyyxxk.webserver.dao.his.medicalinsurance;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+import thyyxxk.webserver.entity.medicalinsurance.manage.dismissrules.MedinsDismissRules;
+import thyyxxk.webserver.entity.medicalinsurance.manage.dismissrules.RuleElement;
+
+import java.util.List;
+
+@Mapper
+public interface DismissRulesDao extends BaseMapper<MedinsDismissRules> {
+
+    @Select("select code,name from t_operator_symbols order by sort_no")
+    List<RuleElement> selectOperatorSymbols();
+
+    @Select("select code,name from t_medins_dismiss_rule_element " +
+            "where type=#{type} order by sort_no")
+    List<RuleElement> selectAttributeOrComparison(String type);
+}

+ 83 - 0
src/main/java/thyyxxk/webserver/entity/medicalinsurance/manage/dismissrules/MedinsDismissRules.java

@@ -0,0 +1,83 @@
+package thyyxxk.webserver.entity.medicalinsurance.manage.dismissrules;
+
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import java.util.Date;
+
+@Data
+@TableName(value = "t_medins_dismiss_rules")
+public class MedinsDismissRules {
+
+	/**
+	 * 唯一id
+	 */
+	@TableId(type = IdType.INPUT)
+	private String id;
+
+	/**
+	 * 收费编码
+	 */
+	private String chargeCode;
+
+	/**
+	 * 收费名称
+	 */
+	private String chargeName;
+
+	/**
+	 * 对比属性
+	 * */
+	private String attribute;
+
+	/**
+	 * 对比属性名称
+	 * */
+	private String attributeName;
+
+	/**
+	 * 运算符
+	 */
+	private String operator;
+
+	/**
+	 * 运算符名称
+	 */
+	private String operatorName;
+
+	/**
+	 * 对比元素
+	 */
+	private String comparison;
+
+	/**
+	 * 对比元素名称
+	 */
+	private String comparisonName;
+
+	/**
+	 * 创建人
+	 */
+	private String creator;
+
+	/**
+	 * 创建人姓名
+	 */
+	private String creatorName;
+
+	/**
+	 * 创建时间
+	 */
+	private Date createTime;
+
+	@TableField(exist = false)
+	private String description;
+
+	public String getDescription() {
+//		return StrUtil.format("[{}] [{}] 不能 [{}] [{}]", chargeName, attributeName, operatorName, comparisonName);
+		return StrUtil.format("<div>[<span style=\"color: blue\">{}</span>] [<span style=\"color: blue\">{}</span>] 不能 [<span style=\"color: red\">{}</span>] [<span style=\"color: orangered\">{}</span>]</div>", chargeName, attributeName, operatorName, comparisonName);
+	}
+}

+ 17 - 0
src/main/java/thyyxxk/webserver/entity/medicalinsurance/manage/dismissrules/RuleElement.java

@@ -0,0 +1,17 @@
+package thyyxxk.webserver.entity.medicalinsurance.manage.dismissrules;
+
+import lombok.Data;
+
+@Data
+public class RuleElement {
+    private String code;
+    private String name;
+
+    public String getValue() {
+        return code;
+    }
+
+    public String getLabel() {
+        return name;
+    }
+}

+ 54 - 0
src/main/java/thyyxxk/webserver/service/medicalinsurance/DismissRulesService.java

@@ -0,0 +1,54 @@
+package thyyxxk.webserver.service.medicalinsurance;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import thyyxxk.webserver.dao.his.medicalinsurance.DismissRulesDao;
+import thyyxxk.webserver.entity.medicalinsurance.manage.dismissrules.MedinsDismissRules;
+import thyyxxk.webserver.entity.medicalinsurance.manage.dismissrules.RuleElement;
+import thyyxxk.webserver.service.redislike.RedisLikeService;
+import thyyxxk.webserver.utils.SnowFlakeId;
+import thyyxxk.webserver.utils.StringUtil;
+import thyyxxk.webserver.utils.TokenUtil;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+
+@Service
+public class DismissRulesService {
+    private final DismissRulesDao dao;
+    private final RedisLikeService redis;
+
+    @Autowired
+    public DismissRulesService(DismissRulesDao dao, RedisLikeService redis) {
+        this.dao = dao;
+        this.redis = redis;
+    }
+
+    public List<MedinsDismissRules> getAllRules() {
+        return dao.selectList(null);
+    }
+
+    public Map<String, List<RuleElement>> getBaseDict() {
+        Map<String, List<RuleElement>> map = new HashMap<>();
+        map.put("operatorSymbols", dao.selectOperatorSymbols());
+        map.put("attributes", dao.selectAttributeOrComparison("ATTRIBUTE"));
+        map.put("comparisons", dao.selectAttributeOrComparison("COMPARISON"));
+        return map;
+    }
+
+    public int saveEditResult(MedinsDismissRules request) {
+        if (StringUtil.isBlank(request.getId())) {
+            request.setId(SnowFlakeId.instance().nextUUID());
+            request.setCreator(TokenUtil.getInstance().getTokenUserId());
+            request.setCreatorName(redis.getEmployeeName(request.getCreator()));
+            return dao.insert(request);
+        }
+        return dao.updateById(request);
+    }
+
+    public int deleteRule(String id) {
+        return dao.deleteById(id);
+    }
+}

+ 6 - 0
src/main/java/thyyxxk/webserver/utils/SnowFlakeId.java

@@ -1,5 +1,7 @@
 package thyyxxk.webserver.utils;
 
+import java.util.UUID;
+
 /**
  * @author dj
  */
@@ -96,4 +98,8 @@ public class SnowFlakeId {
         }
         return timestamp;
     }
+
+    public String nextUUID() {
+        return UUID.randomUUID().toString().replaceAll("-", "");
+    }
 }

+ 12 - 15
src/main/resources/application-show.yml

@@ -93,24 +93,21 @@ is-prod: false
 triage-notify-url: http://localhost:8082/triage/roomScreen/pushMsg
 si-tj-url: http://jkglcsx.server.zhongmeihealth.com/openInter
 
-#正式环境
 si-api-url: http://dms.hun.hsip.gov.cn/isp-api/powercsb/1101
 si-access-key: 04eMGRg7beAO6vqwrZiLacV8Uy3jNn7QGDUcBO
 si-secret-key: SK3Oip3a2R3NLz2xm58Mpmi69oFu96KrdKNRKglN
-si-zy-fee-url: http://172.16.32.166:1000
-si-mz-fee-url: http://172.16.32.166:1100/mzFee
-si-injury-fee-url: http://172.16.32.163:2100/siInjury
-si-injury-systm-url: http://172.16.32.163:2000/siInjury
-#thmz-api-url: http://172.16.32.160:81/thmz/api/v1
 
+#正式环境
+#si-zy-fee-url: http://172.16.32.166:1000
+#si-mz-fee-url: http://172.16.32.166:1100/mzFee
+#si-injury-fee-url: http://172.16.32.163:2100/siInjury
+#si-injury-systm-url: http://172.16.32.163:2000/siInjury
+#thmz-api-url: http://172.16.32.160:81/thmz/api/v1
 
 #测试环境
-#si-api-url: http://10.93.30.130:20001/isp-api/powercsb/1101
-#si-access-key: Zgs5jfxaKb86XbCuUzLK9EhFjiQfHR1vydaPzp
-#si-secret-key: SKT2ETMT3XkAYApqh79DCnN9ZjfbQEBMPU0GyLz9
-#si-zy-fee-url: http://localhost:1000
-#si-mz-fee-url: http://localhost:1100/mzFee
-#si-injury-fee-url: http://localhost:2100/siInjury
-#si-injury-systm-url: http://localhost:2000/siInjury
-thmz-api-url: http://172.16.30.22:8089/thmz/api/v1
-appletThmzUrl: http://172.16.30.119:8089/thmz
+si-zy-fee-url: http://localhost:1000
+si-mz-fee-url: http://localhost:1100/mzFee
+si-injury-fee-url: http://localhost:2100/siInjury
+si-injury-systm-url: http://localhost:2000/siInjury
+thmz-api-url: http://demo.hnthyy.cn:8089/thmz/api/v1
+appletThmzUrl: http://demo.hnthyy.cn:8089/thmz