diff --git a/pf_common/src/main/java/com/transitPlatForm/common/core/domain/entity/reg/RegApply.java b/pf_common/src/main/java/com/transitPlatForm/common/core/domain/entity/reg/RegApply.java index 6dd66a3..b8915ae 100644 --- a/pf_common/src/main/java/com/transitPlatForm/common/core/domain/entity/reg/RegApply.java +++ b/pf_common/src/main/java/com/transitPlatForm/common/core/domain/entity/reg/RegApply.java @@ -51,9 +51,6 @@ public class RegApply { private Date create_time; private String update_by; private Date update_time; - /** - * 状态 0.正常,9 作废 - */ private String Status; private String applyid; private String reqDetailName; diff --git a/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/controller/RegRequestInfoController.java b/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/controller/RegRequestInfoController.java index e1645a1..24c1182 100644 --- a/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/controller/RegRequestInfoController.java +++ b/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/controller/RegRequestInfoController.java @@ -65,5 +65,11 @@ public class RegRequestInfoController extends BaseController { return regRequestInfoService.printBarCode(applyId); } + @ApiOperation("作废申请单") + @GetMapping("/cancelReq") + public Result cancelReq(String applyId){ + return regRequestInfoService.cancelReq(applyId); + } + } diff --git a/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/RegRequestInfoService.java b/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/RegRequestInfoService.java index 94266d8..288d48e 100644 --- a/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/RegRequestInfoService.java +++ b/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/RegRequestInfoService.java @@ -14,4 +14,6 @@ public interface RegRequestInfoService { Result saveReqInfo(ReqApplyInfoDTO reqApplyInfoDTO); Result printBarCode(String applyId); + + Result cancelReq(String applyId); } 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 757658c..0c811a8 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 @@ -14,6 +14,7 @@ import com.transitPlatForm.transitPF.mapper.RegTransitSampleMapper; import com.transitPlatForm.transitPF.pojo.DTO.RegRequestInfoDTO; import com.transitPlatForm.transitPF.pojo.DTO.ReqApplyInfoDTO; import com.transitPlatForm.transitPF.service.RegRequestInfoService; +import com.transitPlatForm.transitPF.service.util.RequestInfoUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; @@ -44,6 +45,8 @@ public class RegRequestInfoServiceImpl implements RegRequestInfoService { private ApplicationContext applicationContext; @Resource private RegTransitSampleMapper regTransitSampleMapper; + @Resource + RequestInfoUtil requestInfoUtil; /** @@ -90,7 +93,7 @@ public class RegRequestInfoServiceImpl implements RegRequestInfoService { if(!status.equals("0") && !status.equals("")) return new Result("0","不是新增状态不能修改申请单!"); //修改数据 if(!status.equals("")){ - //保存条码信息 + //修改申请单信息 applicationContext.getBean(RegRequestInfoServiceImpl.class).updateApply(regApply,regApplyDetailList); //删除条码信息 applicationContext.getBean(RegRequestInfoServiceImpl.class).delSampleInfo(regApply.getApplyid()); @@ -100,7 +103,7 @@ public class RegRequestInfoServiceImpl implements RegRequestInfoService { //申请单号 String applyId = "PT"+regApply.getSrcHospCode()+DateUtil.format(commonUtil.getCurrentTime(),"yyyyMMdd")+commonUtil.getNextSeq_pro("applyno",4); regApply.setApplyid(applyId); - regApply.setStatus("0"); //申请单状态 0 正常,1 作废 + regApply.setStatus("10"); //申请单状态 regApply.setCreate_by(regApply.getUserCode()); regApply.setCreate_time(commonUtil.getCurrentTime()); regApply.setOrderTime(commonUtil.getCurrentTime()); @@ -133,10 +136,13 @@ public class RegRequestInfoServiceImpl implements RegRequestInfoService { */ @Override public Result printBarCode(String applyId) { + //产生条码信息 + Result result1 = createBarcode(applyId); + if(!result1.getCode().equals("0")) return result1; RegTransitSampleDetail regTransitSampleDetail = new RegTransitSampleDetail(); regTransitSampleDetail.setApplyid(applyId); List regTransitSampleDetailList = regTransitSampleMapper.getRegTransitSampleDetail(regTransitSampleDetail); - if(regTransitSampleDetailList.size() <= 0) return new Result("-1","没有找到对应的申请单信息!"); + if(regTransitSampleDetailList.size() <= 0) return new Result("-1","没有找到对应的条码信息!"); List barcodeList = new ArrayList<>(); for (RegTransitSampleDetail transitSampleDetail : regTransitSampleDetailList) { if(barcodeList.contains(transitSampleDetail.getBarcode())) continue; @@ -146,12 +152,23 @@ public class RegRequestInfoServiceImpl implements RegRequestInfoService { Result result = printBar(barCode); if(!result.equals("0")) return result; //修改状态 - applicationContext.getBean(RegRequestInfoServiceImpl.class).updateStatus(applyId,barCode); + applicationContext.getBean(RegRequestInfoServiceImpl.class).updatePrintStatus(applyId,barCode); } return new Result("0","打印成功!"); } + @Override + 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","条码已经签收,不允许作废!"); + List barcodeList = getBarcodeList(applyId); + requestInfoUtil.cancelRequest(applyId,barcodeList); + return new Result("0","作废申请单成功!"); + } + @Transactional(rollbackFor = Exception.class) public void saveReqInfo(RegApply regApply,List regApplyDetailList){ regApplyMapper.insert(regApply); @@ -412,10 +429,10 @@ public class RegRequestInfoServiceImpl implements RegRequestInfoService { @Transactional(rollbackFor = Exception.class) - public void updateStatus(String applyId,String barCode){ + public void updatePrintStatus(String applyId,String barCode){ //修改申请单状态 RegApply regApply = new RegApply(); - regApply.setStatus("1"); + regApply.setStatus("20"); regApply.setApplyid(applyId); regApplyMapper.update(regApply); @@ -426,4 +443,19 @@ public class RegRequestInfoServiceImpl implements RegRequestInfoService { regTransitSampleMapper.updateRegTransitSample(regTransitSample); } + + public List getBarcodeList(String applyId){ + List barcodeList = new ArrayList<>(); + RegTransitSampleDetail regTransitSampleDetail = new RegTransitSampleDetail(); + regTransitSampleDetail.setApplyid(applyId); + List regTransitSampleDetailList = regTransitSampleMapper.getRegTransitSampleDetail(regTransitSampleDetail); + if(regTransitSampleDetailList.size() <= 0) return barcodeList; + + for (RegTransitSampleDetail transitSampleDetail : regTransitSampleDetailList) { + if(barcodeList.contains(transitSampleDetail.getBarcode())) continue; + barcodeList.add(transitSampleDetail.getBarcode()); + } + return barcodeList; + } + } 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 new file mode 100644 index 0000000..3e9a138 --- /dev/null +++ b/pf_transitPF/src/main/java/com/transitPlatForm/transitPF/service/util/RequestInfoUtil.java @@ -0,0 +1,44 @@ +package com.transitPlatForm.transitPF.service.util; + +import com.transitPlatForm.common.core.domain.entity.reg.RegApply; +import com.transitPlatForm.common.core.domain.entity.reg.RegTransitSample; +import com.transitPlatForm.common.core.domain.entity.reg.RegTransitSampleDetail; +import com.transitPlatForm.interfaceCommon.mapper.RegApplyMapper; +import com.transitPlatForm.transitPF.mapper.RegTransitSampleMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +@Component +public class RequestInfoUtil { + + @Autowired + private RegApplyMapper regApplyMapper; + @Resource + private RegTransitSampleMapper regTransitSampleMapper; + + + @Transactional(rollbackFor = Exception.class) + public void cancelRequest(String applyId,List barcodeList){ + //作废申请单信息 + RegApply regApply = new RegApply(); + regApply.setStatus("90"); + regApply.setApplyid(applyId); + regApplyMapper.update(regApply); + + //作废条码信息 + for (String barcode : barcodeList) { + RegTransitSample regTransitSample = new RegTransitSample(); + regTransitSample.setStatus("90"); + regTransitSample.setBarcode(barcode); + regTransitSampleMapper.updateRegTransitSample(regTransitSample); + } + + } + + +}