From 8f575803cf06733956bdf4af1ce306498cf57181 Mon Sep 17 00:00:00 2001 From: tangw Date: Tue, 9 Dec 2025 18:07:54 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=8F=82=E6=95=B0=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/domain/entity/lis/ComConfigDict.java | 2 +- .../common/core/domain/entity/lis/ComOpt.java | 4 - .../constants/ConfigTypeConstants.java | 12 + .../interfaceCommon/mapper/ComOptMapper.java | 14 -- .../main/resources/mapper/ComOptMapper.xml | 37 +-- .../controller/xtwh/ComOptController.java | 59 ++--- .../czlis/liswork/service/ComOptService.java | 17 +- .../impl/xtwh/ComLocalconfigServiceImpl.java | 5 + .../service/impl/xtwh/ComOptServiceImpl.java | 217 ++++++++++++------ 9 files changed, 191 insertions(+), 176 deletions(-) create mode 100644 lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/constants/ConfigTypeConstants.java diff --git a/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/ComConfigDict.java b/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/ComConfigDict.java index 176d498..e067a5f 100644 --- a/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/ComConfigDict.java +++ b/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/ComConfigDict.java @@ -25,7 +25,7 @@ public class ComConfigDict { private String updateBy; private Date updateTime; private String remark; - + private String yq; } diff --git a/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/ComOpt.java b/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/ComOpt.java index 2c57858..9aae6a8 100644 --- a/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/ComOpt.java +++ b/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/ComOpt.java @@ -13,9 +13,5 @@ public class ComOpt { private String xxlb; private String xxqz; private String bz; - private String opttype; - private String scope; - private Integer optSort; - private String lx; } diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/constants/ConfigTypeConstants.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/constants/ConfigTypeConstants.java new file mode 100644 index 0000000..373f521 --- /dev/null +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/constants/ConfigTypeConstants.java @@ -0,0 +1,12 @@ +package com.czlis.interfaceCommon.constants; +/**系统参数设置种类定义常量**/ +public class ConfigTypeConstants { + /**仪器全局设置*/ public static final String SYSTEM="SYSTEM"; + /**仪器界面设置*/ public static final String INPUT="INPUT"; + /**本地选项设置*/ public static final String LOCAL="LOCAL"; + /**本院特殊设置*/ public static final String HISOPT="HISOPT"; + /**门诊采血设置*/ public static final String MZCX="_MZCX_"; + /**条码签收设置*/ public static final String BAR="_BAR_"; + + +} diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/ComOptMapper.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/ComOptMapper.java index dc0c4ff..ee97c0a 100644 --- a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/ComOptMapper.java +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/ComOptMapper.java @@ -1,29 +1,15 @@ package com.czlis.interfaceCommon.mapper; import com.czlis.common.core.domain.entity.lis.ComOpt; -import com.czlis.common.core.domain.entity.lis.ComOptTemplate; import org.apache.ibatis.annotations.Param; import java.util.List; -import java.util.Map; public interface ComOptMapper { ComOpt getComOptOne(@Param("yq") String yq,@Param("xxdh") String xxdh); String getComOptValue(@Param("yq") String yq,@Param("xxdh") String xxdh); - List getComOptList(ComOpt comOpt); - void add(ComOpt comOpt); - void update(ComOpt comOpt); - void delete(@Param("yq") String yq,@Param("xxdh") String xxdh); - - List getComOptTemplate(ComOptTemplate comOptTemplate); - - void addTemplate(ComOptTemplate comOptTemplate); - - void updateTemplate(ComOptTemplate comOptTemplate); - - List> queryTree(); } diff --git a/lis-interfaceCommon/src/main/resources/mapper/ComOptMapper.xml b/lis-interfaceCommon/src/main/resources/mapper/ComOptMapper.xml index ac97afa..e1431d3 100644 --- a/lis-interfaceCommon/src/main/resources/mapper/ComOptMapper.xml +++ b/lis-interfaceCommon/src/main/resources/mapper/ComOptMapper.xml @@ -18,18 +18,16 @@ and xxdh = #{xxdh} and xxlb = #{xxlb} and xxqz = #{xxqz} - '']]> - order by optsort insert into com_opt( bz, - yq,xxdh,xxlb,xxqz,lx + yq,xxdh,xxlb,xxqz )values( #{bz}, - #{yq},#{xxdh},#{xxlb},#{xxqz},#{lx} + #{yq},#{xxdh},#{xxlb},#{xxqz} ) @@ -45,39 +43,8 @@ delete from com_opt where yq = #{yq} and xxdh = #{xxdh} - - - insert into com_opt_template( - opttype,comtype,optcode,optdefault,optSort,scope - )values( - #{opttype},#{comtype},#{optcode},#{optdefault},#{optSort},#{scope} - ) - - - update com_opt_template set - opttype = #{opttype} - comtype = #{comtype} - optcode = #{optcode} - optdefault = #{optdefault} - optSort = #{optSort} - scope = #{scope} - - diff --git a/liswork/src/main/java/com/czlis/liswork/controller/xtwh/ComOptController.java b/liswork/src/main/java/com/czlis/liswork/controller/xtwh/ComOptController.java index 5baadc7..9040c69 100644 --- a/liswork/src/main/java/com/czlis/liswork/controller/xtwh/ComOptController.java +++ b/liswork/src/main/java/com/czlis/liswork/controller/xtwh/ComOptController.java @@ -3,7 +3,9 @@ package com.czlis.liswork.controller.xtwh; import com.czlis.common.annotation.Anonymous; import com.czlis.common.annotation.Log; import com.czlis.common.core.controller.BaseController; +import com.czlis.common.core.domain.AjaxResult; import com.czlis.common.core.domain.Result; +import com.czlis.common.core.domain.entity.lis.ComConfigDict; import com.czlis.common.core.domain.entity.lis.ComOpt; import com.czlis.common.core.domain.entity.lis.ComOptTemplate; import com.czlis.common.core.domain.entity.lis.LabPat; @@ -16,6 +18,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -29,48 +32,17 @@ public class ComOptController extends BaseController { @Autowired private ComOptService comOptService; - @Autowired - CommonUtil commonUtil; @ApiOperation("查询参数列表") @GetMapping("/query") - public TableDataInfo getComOptList(ComOpt comOpt) { - startPage(); - List comOptList = comOptService.getComOptList(comOpt); - return getDataTable(comOptList); + public Result getComOptList(String yq) { + return comOptService.getComOptList(yq); } - - @Log(title = SysLogConstants.COMOPT_LOG,businessType = BusinessType.INSERT) - @ApiOperation("新增参数") - @PostMapping("/add") - public Result add(@RequestBody ComOpt comOpt) { - return comOptService.add(comOpt); - } - - @Log(title = SysLogConstants.COMOPT_LOG,businessType = BusinessType.UPDATE) - @ApiOperation("修改参数") - @PostMapping("/update") - public Result update(@RequestBody ComOpt comOpt) { - return comOptService.update(comOpt); - } - - @Log(title = SysLogConstants.COMOPT_LOG,businessType = BusinessType.DELETE) - @ApiOperation("删除参数") - @DeleteMapping("/del") - public Result delete(String yq,String xxdh) { - return comOptService.delete(yq,xxdh); - } - - @ApiOperation("查询参数模版") - @GetMapping("/queryTemplate") - public Result getComOptTemplate(){ - return comOptService.getComOptTemplate(); - } - - @ApiOperation("新增模版参数") - @PostMapping("/addTemplate") - public Result addTemplate(@RequestBody ComOptTemplate comOptTemplate) { - return comOptService.addTemplate(comOptTemplate); + @ApiOperation("整体保存本地参数") + @Log(title = "整体保存本地参数", businessType = BusinessType.UPDATE) + @PutMapping("/update") + public Result saveopt(@Validated @RequestBody List posts) { + return comOptService.saveopt(posts) ; } @ApiOperation("查询参数列表树状结构") @@ -78,11 +50,10 @@ public class ComOptController extends BaseController { public Result queryTree(){ return comOptService.queryTree(); } - - @ApiOperation("获取单个参数的值") - @GetMapping("/queryOne") - public Result getParamOne(String yq,String xxdh){ - String value = commonUtil.getComOptValue(yq, xxdh); - return new Result("0","获取成功!",value); + @ApiOperation("查询参数默认值") + @GetMapping("/getdef") + public Result getdef(){ + return comOptService.getdef(); } + } diff --git a/liswork/src/main/java/com/czlis/liswork/service/ComOptService.java b/liswork/src/main/java/com/czlis/liswork/service/ComOptService.java index 31430ff..1c5691f 100644 --- a/liswork/src/main/java/com/czlis/liswork/service/ComOptService.java +++ b/liswork/src/main/java/com/czlis/liswork/service/ComOptService.java @@ -1,24 +1,15 @@ package com.czlis.liswork.service; import com.czlis.common.core.domain.Result; +import com.czlis.common.core.domain.entity.lis.ComConfigDict; import com.czlis.common.core.domain.entity.lis.ComOpt; import com.czlis.common.core.domain.entity.lis.ComOptTemplate; import java.util.List; public interface ComOptService { - List getComOptList(ComOpt comOpt); - - Result add(ComOpt comOpt); - - Result update(ComOpt comOpt); - - Result delete(String yq, String xxdh); - - Result getComOptTemplate(); - - Result addTemplate(ComOptTemplate comOptTemplate); - + Result getComOptList(String yq); + Result saveopt(List posts); Result queryTree(); - + Result getdef(); } diff --git a/liswork/src/main/java/com/czlis/liswork/service/impl/xtwh/ComLocalconfigServiceImpl.java b/liswork/src/main/java/com/czlis/liswork/service/impl/xtwh/ComLocalconfigServiceImpl.java index aaf7ae2..7d5c9897 100644 --- a/liswork/src/main/java/com/czlis/liswork/service/impl/xtwh/ComLocalconfigServiceImpl.java +++ b/liswork/src/main/java/com/czlis/liswork/service/impl/xtwh/ComLocalconfigServiceImpl.java @@ -146,6 +146,7 @@ public class ComLocalconfigServiceImpl implements ComLocalconfigService { Map map = getConfigvalue(smac); if (!map.isEmpty()) { for (ComConfigDict comConfigDict : list) { + comConfigDict.setConfigDefvalue(""); String configCode = comConfigDict.getConfigCode(); if (map.containsKey(configCode)) { String value = map.get(configCode).toString(); @@ -154,6 +155,10 @@ public class ComLocalconfigServiceImpl implements ComLocalconfigService { } } } + }else{ + for (ComConfigDict comConfigDict : list) { + comConfigDict.setConfigDefvalue(null); + } } return list; } diff --git a/liswork/src/main/java/com/czlis/liswork/service/impl/xtwh/ComOptServiceImpl.java b/liswork/src/main/java/com/czlis/liswork/service/impl/xtwh/ComOptServiceImpl.java index 432c4db..522784f 100644 --- a/liswork/src/main/java/com/czlis/liswork/service/impl/xtwh/ComOptServiceImpl.java +++ b/liswork/src/main/java/com/czlis/liswork/service/impl/xtwh/ComOptServiceImpl.java @@ -1,96 +1,183 @@ package com.czlis.liswork.service.impl.xtwh; import com.czlis.common.core.domain.Result; -import com.czlis.common.core.domain.entity.lis.ComOpt; -import com.czlis.common.core.domain.entity.lis.ComOptTemplate; -import com.czlis.common.core.domain.entity.lis.LabInstr; +import com.czlis.common.core.domain.entity.lis.*; import com.czlis.common.utils.ComOptionUtils; +import com.czlis.common.utils.SecurityUtils; +import com.czlis.interfaceCommon.constants.ConfigTypeConstants; import com.czlis.interfaceCommon.mapper.ComOptMapper; import com.czlis.interfaceCommon.utils.CommonUtil; +import com.czlis.liswork.service.ComConfigDictService; import com.czlis.liswork.service.ComOptService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; @Service @Slf4j public class ComOptServiceImpl implements ComOptService { - + @Autowired + ComConfigDictService ComConfigDictService; @Autowired private ComOptMapper comOptMapper; @Autowired private CommonUtil commonUtil; - @Override - public List getComOptList(ComOpt comOpt) { + public Result getdef(){ + List list=getconfigdef(ConfigTypeConstants.SYSTEM); + return new Result("0","成功",list); + } + @Override + public Result getComOptList(String yq) { + ComOpt comOpt=new ComOpt(); + comOpt.setYq(yq); List comOptList = comOptMapper.getComOptList(comOpt); - return comOptList; - } - - @Transactional(rollbackFor = Exception.class) - @Override - public Result add(ComOpt comOpt) { - comOptMapper.add(comOpt); - //设置缓存 - ComOptionUtils.setOptCache(comOpt.getYq(),comOpt.getXxdh(),comOpt); - return new Result("0","新增成功!"); - } - - @Transactional(rollbackFor = Exception.class) - @Override - public Result update(ComOpt comOpt) { - comOptMapper.update(comOpt); - //设置缓存 - ComOptionUtils.setOptCache(comOpt.getYq(),comOpt.getXxdh(),comOpt); - return new Result("0","修改数据成功!"); - } - - @Transactional(rollbackFor = Exception.class) - @Override - public Result delete(String yq, String xxdh) { - comOptMapper.delete(yq,xxdh); - //清除缓存 - ComOptionUtils.clearOptCache(yq,xxdh); - return new Result("0","删除数据成功!"); - } - - @Override - public Result getComOptTemplate() { - List comOptTemplateList = comOptMapper.getComOptTemplate(null); - return new Result("0","查询成功!",comOptTemplateList); - } - - @Transactional(rollbackFor = Exception.class) - @Override - public Result addTemplate(ComOptTemplate comOptTemplate) { - comOptMapper.addTemplate(comOptTemplate); - List labInstrList = commonUtil.getLabInstrList(null); - for (LabInstr labInstr : labInstrList) { - String yq = labInstr.getYq(); - String value = commonUtil.getComOptValue(yq, comOptTemplate.getOptcode()); - if(value == null || value.equals("")) continue; - ComOpt comOpt = new ComOpt(); - comOpt.setYq(yq); - comOpt.setXxdh(comOptTemplate.getComtype()); - comOpt.setXxlb("INSTR"); - comOpt.setXxqz(comOptTemplate.getOptdefault()); - comOpt.setBz(comOptTemplate.getBz()); - comOpt.setOpttype(comOptTemplate.getOpttype()); - comOpt.setScope(comOptTemplate.getScope()); - comOpt.setOptSort(comOptTemplate.getOptSort()); - add(comOpt); + List list=getconfigdef(ConfigTypeConstants.SYSTEM); + if(list.isEmpty()||list==null)return new Result("","",list); + for(ComConfigDict comConfigDict:list){ + comConfigDict.setYq(yq); + comConfigDict.setConfigDefvalue(""); + if(!comOptList.isEmpty()&&comOptList!=null) { + String ConfigCode = comConfigDict.getConfigCode(); + Optional comOptList0 = comOptList.stream().filter(instr -> ConfigCode.toUpperCase().equals(instr.getXxdh().toUpperCase())).findFirst(); + ComOpt ComOpt0 = comOptList0.orElse(null); + if (ComOpt0 != null) { + comConfigDict.setConfigDefvalue(ComOpt0.getXxqz()); + } + } } + return new Result("0","成功",list); + } - return new Result("0","添加模版参数成功!"); + /** + * 获取参数模块及默认值入参为ConfigTypeConstants常量 + * @return + */ + private List getconfigdef(String ConfigType) { + ComConfigDict post = new ComConfigDict(); + post.setConfigType(ConfigType); + post.setStatus("0"); + List list = ComConfigDictService.selectComConfigDictList(post); + return list; + } + + @Transactional(rollbackFor = Exception.class) + @Override + public Result saveopt(List list) { + if (list.isEmpty() || list == null) return new Result("", "", list); + String yq = list.get(0).getYq(); + ComOpt comOpts = new ComOpt(); + comOpts.setYq(yq); + List comOptList = comOptMapper.getComOptList(comOpts); + for (ComConfigDict comConfigDict : list) { + if (!comOptList.isEmpty() && comOptList != null) { + String ConfigCode = comConfigDict.getConfigCode(); + Optional comOptList0 = comOptList.stream().filter(instr -> ConfigCode.toUpperCase().equals(instr.getXxdh().toUpperCase())).findFirst(); + ComOpt ComOpt0 = comOptList0.orElse(null); + if (ComOpt0 != null) { + String xxqz=comConfigDict.getConfigDefvalue(); + String xxqz0=ComOpt0.getXxqz(); + boolean updatefalg=false; + if(xxqz==null&&xxqz0!=null)updatefalg=true; + if(xxqz!=null&&xxqz0==null)updatefalg=true; + if(xxqz!=null&&!xxqz.equals(xxqz0))updatefalg=true; + if(updatefalg) { + ComOpt comOpt=ComOpt0; + comOpt.setXxqz(xxqz); + comOptMapper.update(comOpt); + //设置缓存 + ComOptionUtils.setOptCache(comOpt.getYq(), comOpt.getXxdh(), comOpt); + } + } else { + ComOpt comOpt = new ComOpt(); + comOpt.setYq(yq); + comOpt.setXxlb("SYS"); + comOpt.setXxdh(comConfigDict.getConfigCode()); + comOpt.setXxqz(comConfigDict.getConfigDefvalue()); + comOpt.setBz(comConfigDict.getConfigName()); + comOptMapper.add(comOpt); + } + } + } + return new Result("0", "修改数据成功!"); } @Override public Result queryTree() { - List> list = comOptMapper.queryTree(); + String yhdh=SecurityUtils.getLoginUser().getUsername(); + String yljg=SecurityUtils.getLoginUser().getSysLoginParam().getLoginYLJG(); + List labInstrs; + if ("admin".equals(yhdh) || "lis".equals(yhdh)) { + labInstrs = commonUtil.querybylisgroup("", yljg, "0"); + } else { + labInstrs = commonUtil.getInstrdList("", yljg, "0", yhdh, "7"); + } + ComOpt comOpt=new ComOpt(); + comOpt.setXxdh("ifnullbfcheck"); + List comOptlist=comOptMapper.getComOptList(comOpt); + List> list=new ArrayList>(); + List comDictList =commonUtil.getComDictList("group"); + for (ComDict comDict : comDictList) { + String zddh=comDict.getZddh(); + List labInstr0=labInstrs.stream().filter(ss->zddh.equals(ss.getLisgroup())).collect(Collectors.toList()); + if(labInstr0.size()>0) { + List> labInstrlist=new ArrayList>(); + String newflag=""; + for(LabInstr labInstr:labInstr0){ + String newflag0=""; + String yq=labInstr.getYq().trim(); + Optional comOptList0 = comOptlist.stream().filter(instr -> yq.toUpperCase().equals(instr.getYq().trim().toUpperCase())).findFirst(); + if(!comOptList0.isPresent()) { + newflag0="1"; + newflag="1"; + } + Map map0 = new HashMap(); + map0.put("id", yq); + map0.put("label", labInstr.getYqmc()); + map0.put("lx", labInstr.getLisgroup()); + map0.put("newflag", newflag0); + labInstrlist.add(map0); + } + Map map = new HashMap(); + map.put("id", zddh); + map.put("label", comDict.getZdmc()); + map.put("children", labInstrlist); + map.put("newflag", newflag); + list.add(map); + } + + } + List labInstr1=labInstrs.stream().filter(ss->"".equals(ss.getLisgroup())||ss.getLisgroup()==null).collect(Collectors.toList()); + if(labInstr1.size()>0) { + String newflag=""; + List> labInstrlist=new ArrayList>(); + for(LabInstr labInstr:labInstr1){ + String newflag0=""; + String yq=labInstr.getYq().trim(); + Optional comOptList0 = comOptlist.stream().filter(instr -> yq.toUpperCase().equals(instr.getYq().trim().toUpperCase())).findFirst(); + if(!comOptList0.isPresent()) { + newflag0="1"; + newflag="1"; + } + Map map0 = new HashMap(); + map0.put("id", labInstr.getYq().trim()); + map0.put("label", labInstr.getYqmc()); + map0.put("lx", labInstr.getLisgroup()); + map0.put("newflag", newflag0); + labInstrlist.add(map0); + } + Map map = new HashMap(); + map.put("id", "-1"); + map.put("label", "未分组"); + map.put("children", labInstrlist); + map.put("newflag", newflag); + list.add(map); + } + // List> list = comOptMapper.queryTree(); return new Result("0","查询成功!",list); } From 2a1b712d35a76b1303c1d5a4d194a6b2f1674ab1 Mon Sep 17 00:00:00 2001 From: tangw Date: Tue, 9 Dec 2025 18:28:56 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=8F=82=E6=95=B0=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/czlis/system/web/service/SysLoginService.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lis-system/src/main/java/com/czlis/system/web/service/SysLoginService.java b/lis-system/src/main/java/com/czlis/system/web/service/SysLoginService.java index 2fe8a13..14bf8cb 100644 --- a/lis-system/src/main/java/com/czlis/system/web/service/SysLoginService.java +++ b/lis-system/src/main/java/com/czlis/system/web/service/SysLoginService.java @@ -1,5 +1,6 @@ package com.czlis.system.web.service; +import com.alibaba.fastjson2.JSON; import com.czlis.common.constant.CacheConstants; import com.czlis.common.constant.Constants; import com.czlis.common.constant.UserConstants; @@ -62,8 +63,13 @@ public class SysLoginService { @Autowired private SysUserMapper userMapper; - public String getLocalconfig(String smac){ - return commonUtil.getLocalconfig(smac); + public Map getLocalconfig(String smac){ + String configvalue=commonUtil.getLocalconfig(smac); + Map map = new HashMap<>(); + if(configvalue!=null) { + map = JSON.parseObject(configvalue, Map.class); + } + return map; } public Map getOEM(){ Map oem=new HashMap<>();