自助开单界面,打印,作废功能

This commit is contained in:
jiangs 2026-03-13 14:03:58 +08:00
parent aca5de6aae
commit 636088f638
5 changed files with 90 additions and 9 deletions

View File

@ -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;

View File

@ -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);
}
}

View File

@ -14,4 +14,6 @@ public interface RegRequestInfoService {
Result saveReqInfo(ReqApplyInfoDTO reqApplyInfoDTO);
Result printBarCode(String applyId);
Result cancelReq(String applyId);
}

View File

@ -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<RegTransitSampleDetail> regTransitSampleDetailList = regTransitSampleMapper.getRegTransitSampleDetail(regTransitSampleDetail);
if(regTransitSampleDetailList.size() <= 0) return new Result("-1","没有找到对应的申请单信息!");
if(regTransitSampleDetailList.size() <= 0) return new Result("-1","没有找到对应的条码信息!");
List<String> 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<String> barcodeList = getBarcodeList(applyId);
requestInfoUtil.cancelRequest(applyId,barcodeList);
return new Result("0","作废申请单成功!");
}
@Transactional(rollbackFor = Exception.class)
public void saveReqInfo(RegApply regApply,List<RegApplyDetail> 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<String> getBarcodeList(String applyId){
List<String> barcodeList = new ArrayList<>();
RegTransitSampleDetail regTransitSampleDetail = new RegTransitSampleDetail();
regTransitSampleDetail.setApplyid(applyId);
List<RegTransitSampleDetail> 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;
}
}

View File

@ -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<String> 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);
}
}
}