From 4622859a2b5853223178d9c17145e9e3e761f3b3 Mon Sep 17 00:00:00 2001 From: jiangs <373297395@qq.com> Date: Fri, 27 Mar 2026 23:23:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=94=B3=E8=AF=B7=E5=8D=95?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/entity/reg/RegApplyDetail.java | 1 + .../service/impl/SysDictTypeServiceImpl.java | 30 ++++++++-------- .../controller/dict/RegDictController.java | 12 +++++++ .../mapper/RegTransitSampleMapper.java | 2 ++ .../service/impl/RegInterfaceImpl.java | 34 ++++++++++++++----- .../impl/RegRequestInfoServiceImpl.java | 22 ++++++++---- .../impl/RegTransitSampleServiceImpl.java | 20 ++++++++--- .../service/util/RequestInfoUtil.java | 10 ++++-- .../resources/mapper/RegRequestInfoMapper.xml | 4 ++- .../mapper/RegTransitSampleMapper.xml | 5 +++ 10 files changed, 103 insertions(+), 37 deletions(-) diff --git a/pf_common/src/main/java/com/transitPlatForm/common/core/domain/entity/reg/RegApplyDetail.java b/pf_common/src/main/java/com/transitPlatForm/common/core/domain/entity/reg/RegApplyDetail.java index a1a6513..7262646 100644 --- a/pf_common/src/main/java/com/transitPlatForm/common/core/domain/entity/reg/RegApplyDetail.java +++ b/pf_common/src/main/java/com/transitPlatForm/common/core/domain/entity/reg/RegApplyDetail.java @@ -31,4 +31,5 @@ public class RegApplyDetail { private String barcode; private String itemclass_bkcolor; private String itemclass_tips; + private String status; } diff --git a/pf_system/src/main/java/com/transitPlatForm/system/service/impl/SysDictTypeServiceImpl.java b/pf_system/src/main/java/com/transitPlatForm/system/service/impl/SysDictTypeServiceImpl.java index 1d74c83..b292003 100644 --- a/pf_system/src/main/java/com/transitPlatForm/system/service/impl/SysDictTypeServiceImpl.java +++ b/pf_system/src/main/java/com/transitPlatForm/system/service/impl/SysDictTypeServiceImpl.java @@ -40,21 +40,21 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService { /** * 项目启动时,初始化字典到缓存 */ - @PostConstruct - public void init() { - TimerTask task = new TimerTask(){ - @Override - public void run() { - try { - // 异步执行目标方法 - loadingDictCache(); - } catch (Exception e) { - log.error("获取系统字典失败,异步执行{}方法失败","loadingDictCache", e); - } - } - }; - AsyncManager.me().execute(task); - } + // @PostConstruct +// public void init() { +// TimerTask task = new TimerTask(){ +// @Override +// public void run() { +// try { +// // 异步执行目标方法 +// loadingDictCache(); +// } catch (Exception e) { +// log.error("获取系统字典失败,异步执行{}方法失败","loadingDictCache", e); +// } +// } +// }; +// AsyncManager.me().execute(task); +// } /** * 根据条件分页查询字典类型 diff --git a/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/controller/dict/RegDictController.java b/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/controller/dict/RegDictController.java index 4b5f3d0..b47cd44 100644 --- a/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/controller/dict/RegDictController.java +++ b/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/controller/dict/RegDictController.java @@ -1,13 +1,16 @@ package com.transitPlatForm.transitPF.controller.dict; import com.transitPlatForm.common.annotation.Log; +import com.transitPlatForm.common.constant.CacheConstants; import com.transitPlatForm.common.core.controller.BaseController; import com.transitPlatForm.common.core.domain.AjaxResult; import com.transitPlatForm.common.core.domain.Result; import com.transitPlatForm.common.core.page.TableDataInfo; +import com.transitPlatForm.common.core.redis.RedisCache; import com.transitPlatForm.common.enums.BusinessType; import com.transitPlatForm.common.utils.poi.ExcelUtil; import com.transitPlatForm.common.core.domain.entity.reg.RegDict; +import com.transitPlatForm.common.utils.spring.SpringUtils; import com.transitPlatForm.interfaceCommon.constants.SysLogConstants; import com.transitPlatForm.transitPF.service.RegDictService; import io.swagger.annotations.Api; @@ -19,6 +22,7 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.Arrays; +import java.util.Collection; import java.util.List; @Api(tags = "区域检验中心-常用字典管理") @@ -143,4 +147,12 @@ public class RegDictController extends BaseController { if(loginYLJG==null || loginYLJG.equals("")) return AjaxResult.error("获取登录的医疗机构失败!"); return regDictService.getMaxDictCode(dictType,loginYLJG); } + + @ApiOperation("清空缓存") + @GetMapping("/clearCache") + public Result clearCache(){ + Collection keys = SpringUtils.getBean(RedisCache.class).keys(CacheConstants.REG_DICT_KEY + "*"); + SpringUtils.getBean(RedisCache.class).deleteObject(keys); + return new Result("0","清空缓存成功!"); + } } diff --git a/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/mapper/RegTransitSampleMapper.java b/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/mapper/RegTransitSampleMapper.java index b493e15..e900ebf 100644 --- a/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/mapper/RegTransitSampleMapper.java +++ b/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/mapper/RegTransitSampleMapper.java @@ -24,4 +24,6 @@ public interface RegTransitSampleMapper { void updateRegTransitSample(RegTransitSample regTransitSample); List getRegTransitSampleSignBack(RegTransitSample regTransitSample); + + List getSampleInfoByApplyid(String applyid); } diff --git a/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/impl/RegInterfaceImpl.java b/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/impl/RegInterfaceImpl.java index 81b64ba..d9d4061 100644 --- a/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/impl/RegInterfaceImpl.java +++ b/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/impl/RegInterfaceImpl.java @@ -20,6 +20,7 @@ import org.springframework.stereotype.Component; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; @Component @Slf4j @@ -179,6 +180,9 @@ public class RegInterfaceImpl { String regApplyId = requestInfoUtil.getRegApplyId(barcode); RegApply regApply = new RegApply(); regApply.setApplyid(regApplyId); + + List regTransitSampleList1 = requestInfoUtil.getRegTransitSampleByApplyid(regApplyId); + switch (statusParam){ case "20": //标本采集 if(Integer.parseInt(status) >= 20) continue;//return new Result("0","该标本已经采集!"); @@ -195,8 +199,8 @@ public class RegInterfaceImpl { regTransitSample20.setAffirmUserName(affirmUserName); regTransitSample20.setStatus("20"); - regApply.setStatus("20"); - requestInfoUtil.updateRegTransitSampleStatus(regTransitSample20,regApply); + //regApply.setStatus("10"); + requestInfoUtil.updateRegTransitSampleStatus(regTransitSample20,null); break; case "30": //标本送检 Date sendPackTime = sampleSignVO.getSendPackTime(); @@ -218,7 +222,11 @@ public class RegInterfaceImpl { } regTransitSample.setStatus("30"); - regApply.setStatus("30"); + List collect = regTransitSampleList1.stream().filter(regTransitSample2 -> regTransitSample2.getStatus().equals("10") || regTransitSample2.getStatus().equals("20")).collect(Collectors.toList()); + if(collect.size() <= 0){ + //全部已送出, 修改状态 + regApply.setStatus("20"); + } requestInfoUtil.updateRegTransitSampleStatus(regTransitSample,regApply); break; case "40": //标本外送 @@ -238,8 +246,8 @@ public class RegInterfaceImpl { regTransitSample50.setSignInUserName(signUserName); regTransitSample50.setStatus("50"); - regApply.setStatus("50"); - requestInfoUtil.updateRegTransitSampleStatus(regTransitSample50,regApply); + //regApply.setStatus("20"); + requestInfoUtil.updateRegTransitSampleStatus(regTransitSample50,null); break; case "60": //上机检测 break; @@ -258,7 +266,13 @@ public class RegInterfaceImpl { regTransitSample70.setReportUserName(reportUserName); regTransitSample70.setStatus("70"); - regApply.setStatus("70"); + List collect1 = regTransitSampleList1.stream().filter(regTransitSample2 -> Integer.parseInt(regTransitSample2.getStatus()) < 70).collect(Collectors.toList()); + if(collect1.size() >= 0){ + regApply.setStatus("20"); + }else{ + regApply.setStatus("30"); + } + requestInfoUtil.updateRegTransitSampleStatus(regTransitSample70,regApply); break; case "90": //申请作废 @@ -276,7 +290,11 @@ public class RegInterfaceImpl { regTransitSample90.setCancelName(cancelName); regTransitSample90.setStatus("90"); - regApply.setStatus("90"); + List collect2 = regTransitSampleList1.stream().filter(regTransitSample2 -> Integer.parseInt(regTransitSample2.getStatus()) != 90).collect(Collectors.toList()); + if(collect2.size() <= 0){ + regApply.setStatus("40"); + } + requestInfoUtil.updateRegTransitSampleStatus(regTransitSample90,regApply); break; case "100": //标本退回 @@ -295,7 +313,7 @@ public class RegInterfaceImpl { regTransitSample100.setBackUserName(backUserName); regTransitSample100.setStatus("100"); - regApply.setStatus("100"); + //regApply.setStatus("20"); requestInfoUtil.updateRegTransitSampleStatus(regTransitSample100,regApply); break; diff --git a/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/impl/RegRequestInfoServiceImpl.java b/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/impl/RegRequestInfoServiceImpl.java index c3f98ef..063ca89 100644 --- a/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/impl/RegRequestInfoServiceImpl.java +++ b/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/impl/RegRequestInfoServiceImpl.java @@ -181,9 +181,19 @@ public class RegRequestInfoServiceImpl implements RegRequestInfoService { public Result cancelReq(String applyId) { RegApply regApply = regApplyMapper.queryOne(applyId); if (regApply == null) return new Result("-1", "没有找到申请单信息!"); - int status = Integer.parseInt(regApply.getStatus()); - if (status > 40 && status != 100) return new Result("-1", "条码已经签收或者已经作废,不允许作废!"); + //int status = Integer.parseInt(regApply.getStatus()); + //if (status >= 30) return new Result("-1", "条码已经签收或者已经作废,不允许作废!"); List barcodeList = getBarcodeList(applyId); + for (String barcode : barcodeList) { + RegTransitSample regTransitSample = new RegTransitSample(); + regTransitSample.setBarcode(barcode); + List regTransitSampleList = regTransitSampleMapper.getRegTransitSample(regTransitSample); + if(regTransitSampleList.size() >= 0){ + String status = regTransitSampleList.get(0).getStatus(); + int i_status = Integer.parseInt(status); + if(i_status >= 50 && i_status != 100) return new Result("-1", "条码已经签收或者已经作废,不允许作废!"); + } + } requestInfoUtil.cancelRequest(applyId, barcodeList); return new Result("0", "作废申请单成功!"); } @@ -483,10 +493,10 @@ public class RegRequestInfoServiceImpl implements RegRequestInfoService { @Transactional(rollbackFor = Exception.class) public void updatePrintStatus(String applyId, String barCode,String userName) { //修改申请单状态 - RegApply regApply = new RegApply(); - regApply.setStatus("20"); - regApply.setApplyid(applyId); - regApplyMapper.update(regApply); +// RegApply regApply = new RegApply(); +// regApply.setStatus("20"); +// regApply.setApplyid(applyId); +// regApplyMapper.update(regApply); String nickName = ""; SysUser sysUserOne = commonUtil.getSysUserOne(userName); diff --git a/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/impl/RegTransitSampleServiceImpl.java b/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/impl/RegTransitSampleServiceImpl.java index 658ce11..4362527 100644 --- a/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/impl/RegTransitSampleServiceImpl.java +++ b/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/impl/RegTransitSampleServiceImpl.java @@ -22,6 +22,7 @@ import org.springframework.stereotype.Service; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; @Service @Slf4j @@ -116,6 +117,8 @@ public class RegTransitSampleServiceImpl implements RegTransitSampleService { RegApply regApply = new RegApply(); regApply.setApplyid(regApplyId); + List regTransitSampleList1 = requestInfoUtil.getRegTransitSampleByApplyid(regApplyId); + switch (status) { case "20": //标本采集 //if(affirmTime == null) return new Result("-1","affirmTime标本采集时间不能为空!"); @@ -129,7 +132,7 @@ public class RegTransitSampleServiceImpl implements RegTransitSampleService { regTransitSample.setAffirmUserName(affirmUserName); regTransitSample.setStatus("20"); - regApply.setStatus("20"); + regApply.setStatus("10"); requestInfoUtil.updateRegTransitSampleStatus(regTransitSample,regApply); break; case "30": //标本送检 @@ -145,7 +148,13 @@ public class RegTransitSampleServiceImpl implements RegTransitSampleService { regTransitSample.setSendUserCode(sendUserCode); regTransitSample.setSendUserName(sendUserName); - regApply.setStatus("30"); + + List collect = regTransitSampleList1.stream().filter(regTransitSample1 -> regTransitSample1.getStatus().equals("10") || regTransitSample1.getStatus().equals("20")).collect(Collectors.toList()); + if(collect.size() <= 0){ + //全部已送出, 修改状态 + regApply.setStatus("20"); + } + requestInfoUtil.updateRegTransitSampleStatus(regTransitSample,regApply); break; case "50": //标本签收 @@ -156,8 +165,9 @@ public class RegTransitSampleServiceImpl implements RegTransitSampleService { regTransitSample.setSignInUserCode(userId); regTransitSample.setSignInUserName(nickName); - regApply.setStatus("50"); - requestInfoUtil.updateRegTransitSampleStatus(regTransitSample,regApply); + + //regApply.setStatus("20"); + requestInfoUtil.updateRegTransitSampleStatus(regTransitSample,null); break; case "100": //标本退回 if (statusSample.equals("100")) return new Result("0", "该标本已经退回!"); @@ -167,7 +177,7 @@ public class RegTransitSampleServiceImpl implements RegTransitSampleService { regTransitSample.setBackUserName(backUserName); regTransitSample.setBackTime(commonUtil.getCurrentTime()); - regApply.setStatus("100"); + //regApply.setStatus("20"); requestInfoUtil.updateRegTransitSampleStatus(regTransitSample,regApply); break; diff --git a/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/util/RequestInfoUtil.java b/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/util/RequestInfoUtil.java index 6f9ddc8..e153ea8 100644 --- a/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/util/RequestInfoUtil.java +++ b/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/util/RequestInfoUtil.java @@ -28,7 +28,7 @@ public class RequestInfoUtil { public void cancelRequest(String applyId,List barcodeList){ //作废申请单信息 RegApply regApply = new RegApply(); - regApply.setStatus("90"); + regApply.setStatus("40"); regApply.setApplyid(applyId); regApplyMapper.update(regApply); @@ -45,8 +45,10 @@ public class RequestInfoUtil { @Transactional(rollbackFor = Exception.class) public void updateRegTransitSampleStatus(RegTransitSample regTransitSample,RegApply regApply){ + if(regApply != null){ + regApplyMapper.update(regApply); + } regTransitSampleMapper.updateRegTransitSample(regTransitSample); - regApplyMapper.update(regApply); } @@ -104,5 +106,9 @@ public class RequestInfoUtil { regResultMapper.deleteRegReportFile(reportNo); } + public List getRegTransitSampleByApplyid(String applyid){ + return regTransitSampleMapper.getSampleInfoByApplyid(applyid); + } + } diff --git a/pf_transitPF/src/main/resources/mapper/RegRequestInfoMapper.xml b/pf_transitPF/src/main/resources/mapper/RegRequestInfoMapper.xml index d68a9fc..aaaeaf3 100644 --- a/pf_transitPF/src/main/resources/mapper/RegRequestInfoMapper.xml +++ b/pf_transitPF/src/main/resources/mapper/RegRequestInfoMapper.xml @@ -15,7 +15,9 @@ diff --git a/pf_transitPF/src/main/resources/mapper/RegTransitSampleMapper.xml b/pf_transitPF/src/main/resources/mapper/RegTransitSampleMapper.xml index 554680c..9772aab 100644 --- a/pf_transitPF/src/main/resources/mapper/RegTransitSampleMapper.xml +++ b/pf_transitPF/src/main/resources/mapper/RegTransitSampleMapper.xml @@ -20,6 +20,7 @@ and (a.AffirmTime between #{DateStart} and #{DateEnd}) and (a.SendPackTime between #{DateStart} and #{DateEnd}) and (a.SignInTime between #{DateStart} and #{DateEnd}) + order by a.patname + + \ No newline at end of file