字典缓存修改

This commit is contained in:
jiangs 2025-08-27 17:26:31 +08:00
parent 4d491f91d0
commit ea6c0b76ac
5 changed files with 67 additions and 54 deletions

View File

@ -9,7 +9,7 @@ import lombok.NoArgsConstructor;
@Data @Data
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
public class ComDict extends BaseEntity { public class ComDict {
@Excel(name = "字典类别") @Excel(name = "字典类别")
private String zdlb; private String zdlb;
@Excel(name = "编码") @Excel(name = "编码")

View File

@ -1,6 +1,7 @@
package com.czlis.liswork.controller.dict; package com.czlis.liswork.controller.dict;
import com.czlis.common.annotation.Anonymous;
import com.czlis.common.core.controller.BaseController; import com.czlis.common.core.controller.BaseController;
import com.czlis.common.core.domain.Result; import com.czlis.common.core.domain.Result;
import com.czlis.common.core.page.TableDataInfo; import com.czlis.common.core.page.TableDataInfo;
@ -31,65 +32,70 @@ public class DictController extends BaseController {
/** /**
* 获取字典列表 * 获取字典列表
*
* @param comDict * @param comDict
* @return * @return
*/ */
@ApiOperation("查询字典列表") @ApiOperation("查询字典列表")
@GetMapping("/query") @GetMapping("/query")
public TableDataInfo query(ComDict comDict){ @Anonymous
log.info("调用查询字典列表,{}",comDict); public TableDataInfo query(ComDict comDict) {
log.info("调用查询字典列表,{}", comDict);
startPage(); startPage();
List<ComDict> comDictList = comDictService.getComDictList(comDict); List<ComDict> comDictList = comDictService.getComDictList(comDict);
return getDataTable(comDictList); return getDataTable(comDictList);
} }
@ApiOperation("查询字典列表(不分页)") @ApiOperation("查询字典列表(不分页)")
@GetMapping("/getComDicts") @GetMapping("/getComDicts")
public Result getComDicts(String zdlb){ public Result getComDicts(String zdlb) {
//log.info("调用查询字典列表不分页,{}",zdlb); //log.info("调用查询字典列表不分页,{}",zdlb);
return comDictService.getComDicts(zdlb); return comDictService.getComDicts(zdlb);
} }
@ApiOperation("新增字典") @ApiOperation("新增字典")
@PostMapping("/add") @PostMapping("/add")
public Result add(@RequestBody ComDict comDict){ public Result add(@RequestBody ComDict comDict) {
log.info("调用新增字典{}",comDict); log.info("调用新增字典{}", comDict);
return comDictService.insertComDict(comDict); return comDictService.insertComDict(comDict);
} }
@ApiOperation("删除字典") @ApiOperation("删除字典")
@DeleteMapping("/del") @DeleteMapping("/del")
public Result del(ComDict comDict){ public Result del(@RequestBody ComDict comDict) {
log.info("调用删除字典接口{}",comDict); log.info("调用删除字典接口{}", comDict);
return comDictService.delComDict(comDict); return comDictService.delComDict(comDict);
} }
@ApiOperation("修改字典") @ApiOperation("修改字典")
@PostMapping("/update") @PostMapping("/update")
public Result update(@RequestBody ComDict comDict){ public Result update(@RequestBody ComDict comDict) {
log.info("调用修改字典接口{}",comDict); log.info("调用修改字典接口{}", comDict);
return comDictService.updateComDict(comDict); return comDictService.updateComDict(comDict);
} }
@ApiOperation("导出字典") @ApiOperation("导出字典")
@PostMapping("/export") @PostMapping("/export")
public void export(HttpServletResponse response,ComDict comDict) { public void export(HttpServletResponse response, ComDict comDict) {
List<ComDict> list = comDictService.getComDictList(comDict); List<ComDict> list = comDictService.getComDictList(comDict);
ExcelUtil<ComDict> util = new ExcelUtil<>(ComDict.class); ExcelUtil<ComDict> util = new ExcelUtil<>(ComDict.class);
util.exportExcel(response, list, "字典数据"); util.exportExcel(response, list, "字典数据");
} }
@PostMapping("/importTemplate") @PostMapping("/importTemplate")
public void importTemplate(HttpServletResponse response){ public void importTemplate(HttpServletResponse response) {
ExcelUtil<ComDict> util = new ExcelUtil<>(ComDict.class); ExcelUtil<ComDict> util = new ExcelUtil<>(ComDict.class);
util.importTemplateExcel(response, "字典数据"); util.importTemplateExcel(response, "字典数据");
} }
@ApiOperation("导入字典") @ApiOperation("导入字典")
@PostMapping("/importData") @PostMapping("/importData")
public Result importData(MultipartFile file,boolean updateSupport) throws Exception{ public Result importData(MultipartFile file, boolean updateSupport) throws Exception {
ExcelUtil<ComDict> util = new ExcelUtil<>(ComDict.class); ExcelUtil<ComDict> util = new ExcelUtil<>(ComDict.class);
List<ComDict> comDictList = util.importExcel(file.getInputStream()); List<ComDict> comDictList = util.importExcel(file.getInputStream());
log.info("调用导入字典{}",comDictList); log.info("调用导入字典{}", comDictList);
return comDictService.insertComDictList(comDictList,updateSupport); return comDictService.insertComDictList(comDictList, updateSupport);
} }
} }

View File

@ -1,7 +1,6 @@
package com.czlis.liswork.service.impl; package com.czlis.liswork.service.impl;
import cn.hutool.extra.pinyin.PinyinUtil; import cn.hutool.extra.pinyin.PinyinUtil;
import com.czlis.common.core.domain.Result; import com.czlis.common.core.domain.Result;
import com.czlis.common.utils.StringUtils; import com.czlis.common.utils.StringUtils;
@ -17,6 +16,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.List; import java.util.List;
/** /**
* lis字典管理 * lis字典管理
*/ */
@ -30,43 +30,46 @@ public class ComDictServiceImpl implements ComDictService {
private CommonUtil commonUtil; private CommonUtil commonUtil;
@Override @Override
public List<ComDict> getComDictList(ComDict comDict) { public List<ComDict> getComDictList(ComDict comDict) {
return commonUtil.getComDictList(comDict.getZdlb()); //return commonUtil.getComDictList(comDict.getZdlb());
return comDictMapper.getComDictList(comDict);
} }
@Override @Override
public Result getComDicts(String zdlb) { public Result getComDicts(String zdlb) {
List<ComDict> comDictList = commonUtil.getComDictList(zdlb); List<ComDict> comDictList = commonUtil.getComDictList(zdlb);
return new Result("0", "成功!",comDictList); return new Result("0", "成功!", comDictList);
} }
//根据编号查名称 //根据编号查名称
public Result getComDictNameById(String zdlb,String zddh) { public Result getComDictNameById(String zdlb, String zddh) {
List<ComDict> comDictList =commonUtil.getComDictList(zdlb); List<ComDict> comDictList = commonUtil.getComDictList(zdlb);
for (ComDict dict : comDictList) { for (ComDict dict : comDictList) {
if (zddh.equals(dict.getZddh())) { if (zddh.equals(dict.getZddh())) {
return new Result("0", "成功!",dict.getZdmc()); return new Result("0", "成功!", dict.getZdmc());
} }
} }
return new Result("-1", "失败!",null); return new Result("-1", "失败!", null);
} }
//根据名称查编号 //根据名称查编号
public Result getComDictIdByName(String zdlb,String zdmc) { public Result getComDictIdByName(String zdlb, String zdmc) {
List<ComDict> comDictList =commonUtil.getComDictList(zdlb); List<ComDict> comDictList = commonUtil.getComDictList(zdlb);
for (ComDict dict : comDictList) { for (ComDict dict : comDictList) {
if (zdmc.equals(dict.getZdmc())) { if (zdmc.equals(dict.getZdmc())) {
return new Result("0", "成功!",dict.getZddh()); return new Result("0", "成功!", dict.getZddh());
} }
} }
return new Result("-1", "失败!",null); return new Result("-1", "失败!", null);
} }
/** /**
* 增加字典信息 * 增加字典信息
*
* @param comDict * @param comDict
* @return * @return
*/ */
@Transactional(rollbackFor = Exception.class)
@Override @Override
public Result insertComDict(ComDict comDict) { public Result insertComDict(ComDict comDict) {
String pinyin = PinyinUtil.getFirstLetter(comDict.getZdmc(), ""); //拼音首字母 String pinyin = PinyinUtil.getFirstLetter(comDict.getZdmc(), ""); //拼音首字母
@ -77,14 +80,15 @@ public class ComDictServiceImpl implements ComDictService {
comDict.setZdbz("N"); comDict.setZdbz("N");
int row = comDictMapper.insertComDict(comDict); int row = comDictMapper.insertComDict(comDict);
if (row > 0) { if (row > 0) {
List<ComDict> comDictList = comDictMapper.getComDictList(comDict); List<ComDict> comDictList = commonUtil.getComDictList(comDict.getZdlb());
commonUtil.setDictCache(comDict.getZdlb(), comDictList); commonUtil.setDictCache(comDict.getZdlb(), comDictList);
} }
return null; return new Result("0", "新增字典成功!");
} }
/** /**
* 导入数据,事务查询方式为脏读,防止重复提交的数据存在 * 导入数据,事务查询方式为脏读,防止重复提交的数据存在
*
* @param comDictList * @param comDictList
* @param updateDlCeshi * @param updateDlCeshi
* @return * @return
@ -93,7 +97,7 @@ public class ComDictServiceImpl implements ComDictService {
@Override @Override
public Result insertComDictList(List<ComDict> comDictList, boolean updateDlCeshi) { public Result insertComDictList(List<ComDict> comDictList, boolean updateDlCeshi) {
int row, fail; int row, fail;
boolean haveRow =false; boolean haveRow = false;
String zdlb = "", pinyin, zddh, yljg, zdbz; String zdlb = "", pinyin, zddh, yljg, zdbz;
//判断传入的List 是否为空 //判断传入的List 是否为空
if (StringUtils.isNull(comDictList) || comDictList.isEmpty()) { if (StringUtils.isNull(comDictList) || comDictList.isEmpty()) {
@ -107,7 +111,9 @@ public class ComDictServiceImpl implements ComDictService {
zddh = comDict.getZddh(); zddh = comDict.getZddh();
//是否覆盖数据,不覆盖跳过 //是否覆盖数据,不覆盖跳过
int row0 = comDictMapper.getCountById(zdlb, zddh); int row0 = comDictMapper.getCountById(zdlb, zddh);
if (row0 != 0) {haveRow=true;} if (row0 != 0) {
haveRow = true;
}
if (haveRow && !updateDlCeshi) continue; if (haveRow && !updateDlCeshi) continue;
pinyin = PinyinUtil.getFirstLetter(comDict.getZdmc(), ""); //拼音首字母 pinyin = PinyinUtil.getFirstLetter(comDict.getZdmc(), ""); //拼音首字母
@ -120,7 +126,7 @@ public class ComDictServiceImpl implements ComDictService {
zdbz = comDict.getZdbz(); zdbz = comDict.getZdbz();
if (yljg == null || yljg.isEmpty()) comDict.setYljg("1"); if (yljg == null || yljg.isEmpty()) comDict.setYljg("1");
if (zdbz == null || zdbz.isEmpty()) comDict.setZdbz("N"); if (zdbz == null || zdbz.isEmpty()) comDict.setZdbz("N");
row=updateComDictList(comDict,haveRow); row = updateComDictList(comDict, haveRow);
if (row > 0) failureNum++; if (row > 0) failureNum++;
} }
if (failureNum > 0) { if (failureNum > 0) {
@ -138,14 +144,16 @@ public class ComDictServiceImpl implements ComDictService {
return new Result("-1", "导入失败!"); return new Result("-1", "导入失败!");
} }
} }
/** /**
* 批量更新,REQUIRES_NEW提交独立,保证部分成功部分失败互不影响 * 批量更新,REQUIRES_NEW提交独立,保证部分成功部分失败互不影响
*
* @param comDict * @param comDict
* @param haveRow * @param haveRow
* @return * @return
*/ */
@Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW) @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
public int updateComDictList(ComDict comDict,boolean haveRow) { public int updateComDictList(ComDict comDict, boolean haveRow) {
int row; int row;
if (haveRow) { if (haveRow) {
row = comDictMapper.updateComDict(comDict); row = comDictMapper.updateComDict(comDict);
@ -165,7 +173,7 @@ public class ComDictServiceImpl implements ComDictService {
if (zddh == null || zddh.equals("")) return new Result("-1", "字典代号不能为空!"); if (zddh == null || zddh.equals("")) return new Result("-1", "字典代号不能为空!");
if (yljg == null || yljg.equals("")) return new Result("-1", "医疗机构不能为空!"); if (yljg == null || yljg.equals("")) return new Result("-1", "医疗机构不能为空!");
int row = comDictMapper.delComDict(comDict); int row = comDictMapper.delComDict(comDict);
if (row > 0) commonUtil.setDictCache(zdlb,comDictMapper.getComDictListByZdlb(zdlb)); if (row > 0) commonUtil.setDictCache(zdlb, comDictMapper.getComDictListByZdlb(zdlb));
return new Result("0", "删除成功!"); return new Result("0", "删除成功!");
} }
@ -174,7 +182,8 @@ public class ComDictServiceImpl implements ComDictService {
public Result updateComDict(ComDict comDict) { public Result updateComDict(ComDict comDict) {
int row = comDictMapper.updateComDict(comDict); int row = comDictMapper.updateComDict(comDict);
if (row > 0) { if (row > 0) {
List<ComDict> comDictList = comDictMapper.getComDictList(comDict); String zdlb = comDict.getZdlb();
List<ComDict> comDictList = commonUtil.getComDictList(zdlb);
commonUtil.setDictCache(comDict.getZdlb(), comDictList); commonUtil.setDictCache(comDict.getZdlb(), comDictList);
} }
return new Result("0", "修改成功!"); return new Result("0", "修改成功!");

View File

@ -1,5 +1,6 @@
package com.czlis.zycx.controller; package com.czlis.zycx.controller;
import com.czlis.common.annotation.Anonymous;
import com.czlis.common.core.controller.BaseController; import com.czlis.common.core.controller.BaseController;
import com.czlis.common.core.domain.Result; import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.LabReqmain; import com.czlis.common.core.domain.entity.lis.LabReqmain;
@ -27,12 +28,10 @@ public class ZycxController extends BaseController {
@Autowired @Autowired
private ZycxService zycxService; private ZycxService zycxService;
@Resource
LisInterfaceUtil lisInterfaceUtil;
@ApiOperation("获取申请单") @ApiOperation("获取申请单")
@GetMapping("/query") @GetMapping("/query")
@Anonymous
//@PreAuthorize("@ss.hasPermi('zycx:interface:query')") //@PreAuthorize("@ss.hasPermi('zycx:interface:query')")
public TableDataInfo getSQDInfo(LabReqmain labReqmain){ public TableDataInfo getSQDInfo(LabReqmain labReqmain){
startPage(); startPage();
@ -42,6 +41,7 @@ public class ZycxController extends BaseController {
@ApiOperation("生成条码") @ApiOperation("生成条码")
@GetMapping("/add") @GetMapping("/add")
@Anonymous
public Result createSQD(String dept,String userid,String st,String et,String yljg){ public Result createSQD(String dept,String userid,String st,String et,String yljg){
log.info("调用生成条码接口:{},{},{},{},{}",dept,userid,st,et,yljg); log.info("调用生成条码接口:{},{},{},{},{}",dept,userid,st,et,yljg);
return zycxService.createSQD(dept,userid,st,et,yljg); return zycxService.createSQD(dept,userid,st,et,yljg);
@ -50,6 +50,7 @@ public class ZycxController extends BaseController {
@ApiOperation("执行条码") @ApiOperation("执行条码")
@GetMapping("/print") @GetMapping("/print")
@Anonymous
public Result execSQD(String[] sqh,String userid,String status,String yljg){ public Result execSQD(String[] sqh,String userid,String status,String yljg){
log.info("执行条码接口:{},{},{},{}",sqh,userid,status,yljg); log.info("执行条码接口:{},{},{},{}",sqh,userid,status,yljg);
return zycxService.execSQD(sqh,userid,status,yljg); return zycxService.execSQD(sqh,userid,status,yljg);

View File

@ -10,19 +10,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="getSQDInfo" parameterType="com.czlis.common.core.domain.entity.lis.LabReqmain" resultType="com.czlis.common.core.domain.entity.lis.LabReqmain"> <select id="getSQDInfo" parameterType="com.czlis.common.core.domain.entity.lis.LabReqmain" resultType="com.czlis.common.core.domain.entity.lis.LabReqmain">
<include refid="selectLabReqmainVo"></include> <include refid="selectLabReqmainVo"></include>
<where> <if test="sqh != null and sqh != ''"> and a.sqh = #{sqh}</if>
<if test="a.sqh != null and a.sqh != ''"> and sqh = #{sqh}</if> <if test="zt != null and zt != ''"> and a.zt = #{zt}</if>
<if test="a.zt != null and a.zt != ''"> and zt = #{zt}</if> <if test="ksdh != null and ksdh != ''"> and a.ksdh = #{ksdh}</if>
<if test="a.ksdh != null and a.ksdh != ''"> and ksdh = #{ksdh}</if> <if test="brly != null and brly != ''"> and a.brly = #{brly}</if>
<if test="a.brly != null and a.brly != ''"> and brly = #{brly}</if>
<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 --> <if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
AND a.sqsj &gt;= CONVERT(varchar(100), #{params.beginTime}, 120) AND a.sqsj &gt;= CONVERT(varchar(100), #{params.beginTime}, 120)
</if> </if>
<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 --> <if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
AND a.sqsj &lt;= CONVERT(varchar(100), #{params.endTime}, 120) AND a.sqsj &lt;= CONVERT(varchar(100), #{params.endTime}, 120)
</if> </if>
</where>
</select> </select>
<select id="createSQD" parameterType="map" statementType="CALLABLE" useCache="false"> <select id="createSQD" parameterType="map" statementType="CALLABLE" useCache="false">