检验委托的一般委托和仲裁委托修改

This commit is contained in:
2026-01-26 17:54:27 +08:00
parent a578426458
commit 2336c370fa
8 changed files with 76 additions and 11 deletions

View File

@@ -211,4 +211,5 @@ public interface QmsCommonConstant {
/** 临时数据标识 **/ /** 临时数据标识 **/
String TEMP_DATA_CODE = "-1"; String TEMP_DATA_CODE = "-1";
} }

View File

@@ -29,6 +29,8 @@ import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIg
import static com.zt.plat.framework.common.pojo.CommonResult.success; import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils; import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.framework.security.core.LoginUser;
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
import com.zt.plat.module.qms.business.bus.controller.vo.*; import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessHandoverRecordSubDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessHandoverRecordSubDO;
import com.zt.plat.module.qms.business.bus.service.BusinessHandoverRecordSubService; import com.zt.plat.module.qms.business.bus.service.BusinessHandoverRecordSubService;
@@ -92,6 +94,11 @@ public class BusinessHandoverRecordSubController implements BusinessControllerMa
@Operation(summary = "获得子样交接记录业务分页") @Operation(summary = "获得子样交接记录业务分页")
//@PreAuthorize("@ss.hasPermission('qms:business-handover-record-sub:query')") //@PreAuthorize("@ss.hasPermission('qms:business-handover-record-sub:query')")
public CommonResult<PageResult<BusinessHandoverRecordSubExtendRespVO>> getBusinessHandoverRecordSubPage(@Valid BusinessHandoverRecordSubPageReqVO pageReqVO) { public CommonResult<PageResult<BusinessHandoverRecordSubExtendRespVO>> getBusinessHandoverRecordSubPage(@Valid BusinessHandoverRecordSubPageReqVO pageReqVO) {
if (pageReqVO.getDeptId() == null) {
//当前登录用户
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
pageReqVO.setDeptId(loginUser.getVisitDeptId());
}
PageResult<BusinessHandoverRecordSubExtendRespVO> pageResult = businessHandoverRecordSubService.getBusinessHandoverRecordSubPage(pageReqVO); PageResult<BusinessHandoverRecordSubExtendRespVO> pageResult = businessHandoverRecordSubService.getBusinessHandoverRecordSubPage(pageReqVO);
return success(pageResult); return success(pageResult);
} }

View File

@@ -28,6 +28,8 @@ import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIg
import static com.zt.plat.framework.common.pojo.CommonResult.success; import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils; import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.framework.security.core.LoginUser;
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
import com.zt.plat.module.qms.business.bus.controller.vo.*; import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleHandoverDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleHandoverDO;
import com.zt.plat.module.qms.business.bus.service.BusinessSampleHandoverService; import com.zt.plat.module.qms.business.bus.service.BusinessSampleHandoverService;
@@ -100,6 +102,11 @@ public class BusinessSampleHandoverController {
@Operation(summary = "获得样品交接单业务分页") @Operation(summary = "获得样品交接单业务分页")
//@PreAuthorize("@ss.hasPermission('qms:business-sample-handover:query')") //@PreAuthorize("@ss.hasPermission('qms:business-sample-handover:query')")
public CommonResult<PageResult<BusinessSampleHandoverRespVO>> getBusinessSampleHandoverPage(@Valid BusinessSampleHandoverPageReqVO pageReqVO) { public CommonResult<PageResult<BusinessSampleHandoverRespVO>> getBusinessSampleHandoverPage(@Valid BusinessSampleHandoverPageReqVO pageReqVO) {
if (pageReqVO.getDeptId() == null) {
//当前登录用户
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
pageReqVO.setDeptId(loginUser.getVisitDeptId());
}
PageResult<BusinessSampleHandoverDO> pageResult = businessSampleHandoverService.getBusinessSampleHandoverPage(pageReqVO); PageResult<BusinessSampleHandoverDO> pageResult = businessSampleHandoverService.getBusinessSampleHandoverPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, BusinessSampleHandoverRespVO.class)); return success(BeanUtils.toBean(pageResult, BusinessSampleHandoverRespVO.class));
} }

View File

@@ -2,6 +2,8 @@ package com.zt.plat.module.qms.business.bus.liteflow.sample.entrust;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@@ -83,6 +85,18 @@ public class SampleEntrustCreateDataCmp extends NodeComponent {
List<BusinessSampleAssayResultDO> sampleAssayResultList = new ArrayList<>(); List<BusinessSampleAssayResultDO> sampleAssayResultList = new ArrayList<>();
//提取委托单号
String year = null;
String number = null;
Pattern pattern = Pattern.compile("\\((\\d+)\\)第(\\d+)号");
//一般委托或仲裁委托才提取
if ("xsqywtybwt".equals(configEntrustSource.getKey()) || "xsqywtzcwt".equals(configEntrustSource.getKey())) {
Matcher matcher = pattern.matcher(sampleEntrustRegistration.getEntrustNumber());
if (matcher.find()) {
year = matcher.group(1); // "2026"
number = matcher.group(2); // "0027"
}
}
List<BusinessSampleEntrustDetailDO> sampleEntrustDetailList = sampleEntrustContext.getSampleEntrustDetailList(); List<BusinessSampleEntrustDetailDO> sampleEntrustDetailList = sampleEntrustContext.getSampleEntrustDetailList();
for (BusinessSampleEntrustDetailDO businessSampleEntrustDetail : sampleEntrustDetailList) { for (BusinessSampleEntrustDetailDO businessSampleEntrustDetail : sampleEntrustDetailList) {
businessSampleEntrustDetail.setBusinessSampleEntrustRegistrationId(sampleEntrustRegistration.getId()); businessSampleEntrustDetail.setBusinessSampleEntrustRegistrationId(sampleEntrustRegistration.getId());
@@ -93,6 +107,15 @@ public class SampleEntrustCreateDataCmp extends NodeComponent {
sampleAssayResult.setData(businessSampleEntrustDetail.getForecastResult()); sampleAssayResult.setData(businessSampleEntrustDetail.getForecastResult());
sampleAssayResultList.add(sampleAssayResult); sampleAssayResultList.add(sampleAssayResult);
} }
//一般委托
if ("xsqywtybwt".equals(configEntrustSource.getKey())) {
String sampleCode = "W" + year + number + "-" + StringUtils.leftPad(businessSampleEntrustDetail.getSort().toString(), 2, "0");
businessSampleEntrustDetail.setSampleCode(sampleCode);
} else if ("xsqywtzcwt".equals(configEntrustSource.getKey())) {//仲裁委托
String sampleCode = "ZW" + year + number + "-" + StringUtils.leftPad(businessSampleEntrustDetail.getSort().toString(), 2, "0");
businessSampleEntrustDetail.setSampleCode(sampleCode);
}
} }
List<BusinessSampleEntrustProjectDO> sampleEntrustProjectList = sampleEntrustContext.getSampleEntrustProjectList(); List<BusinessSampleEntrustProjectDO> sampleEntrustProjectList = sampleEntrustContext.getSampleEntrustProjectList();

View File

@@ -334,7 +334,9 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
businessBaseSampleDO.setDictionaryBusinessId(businessSampleEntrustDetailDO.getSampleTypeDictionaryBusinessId()); businessBaseSampleDO.setDictionaryBusinessId(businessSampleEntrustDetailDO.getSampleTypeDictionaryBusinessId());
//生成样品编号 //生成样品编号
String sampleCode = businessSampleEntrustDetailDO.getEntrustSampleCode();//默认取来样编号 String sampleCode = businessSampleEntrustDetailDO.getEntrustSampleCode();//默认取来样编号
if (StringUtils.isNotBlank(configBaseSample.getCodeRule())) {//如果配置了样品编号生成规则,则以生成规则为准 if (StringUtils.isNotBlank(businessSampleEntrustDetailDO.getSampleCode())) {//如果已经提前生成,
sampleCode = businessSampleEntrustDetailDO.getSampleCode();
} else if (StringUtils.isNotBlank(configBaseSample.getCodeRule())) {//如果配置了样品编号生成规则,则以生成规则为准
sampleCode = sequenceUtil.genCode(configBaseSample.getCodeRule()); sampleCode = sequenceUtil.genCode(configBaseSample.getCodeRule());
} }
businessBaseSampleDO.setSampleCode(sampleCode); businessBaseSampleDO.setSampleCode(sampleCode);

View File

@@ -2,6 +2,8 @@ package com.zt.plat.module.qms.business.bus.liteflow.sample.entrust;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@@ -47,6 +49,8 @@ public class SampleEntrustUpdateDataCmp extends NodeComponent {
SampleEntrustContext sampleEntrustContext = this.getContextBean(SampleEntrustContext.class); SampleEntrustContext sampleEntrustContext = this.getContextBean(SampleEntrustContext.class);
//样品委托 //样品委托
BusinessSampleEntrustRegistrationDO sampleEntrustRegistration = sampleEntrustContext.getSampleEntrustRegistration(); BusinessSampleEntrustRegistrationDO sampleEntrustRegistration = sampleEntrustContext.getSampleEntrustRegistration();
BusinessSampleEntrustRegistrationDO oldSampleEntrustRegistration = businessSampleEntrustRegistrationMapper.selectById(sampleEntrustRegistration.getId());
sampleEntrustRegistration.setEntrustNumber(oldSampleEntrustRegistration.getEntrustNumber());//重新赋值委托单号
//获取委托来源配置 //获取委托来源配置
ConfigEntrustSourceDO configEntrustSource = sampleEntrustContext.getConfigEntrustSourceById(sampleEntrustRegistration.getConfigEntrustSourceId()); ConfigEntrustSourceDO configEntrustSource = sampleEntrustContext.getConfigEntrustSourceById(sampleEntrustRegistration.getConfigEntrustSourceId());
@@ -80,8 +84,19 @@ public class SampleEntrustUpdateDataCmp extends NodeComponent {
//保存更新新的 //保存更新新的
List<BusinessSampleAssayResultDO> sampleAssayResultList = new ArrayList<>(); List<BusinessSampleAssayResultDO> sampleAssayResultList = new ArrayList<>();
//提取委托单号
String year = null;
String number = null;
Pattern pattern = Pattern.compile("\\((\\d+)\\)第(\\d+)号");
//一般委托或仲裁委托才提取
if ("xsqywtybwt".equals(configEntrustSource.getKey()) || "xsqywtzcwt".equals(configEntrustSource.getKey())) {
Matcher matcher = pattern.matcher(sampleEntrustRegistration.getEntrustNumber());
if (matcher.find()) {
year = matcher.group(1); // "2026"
number = matcher.group(2); // "0027"
}
}
List<BusinessSampleEntrustDetailDO> sampleEntrustDetailList = sampleEntrustContext.getSampleEntrustDetailList(); List<BusinessSampleEntrustDetailDO> sampleEntrustDetailList = sampleEntrustContext.getSampleEntrustDetailList();
for (BusinessSampleEntrustDetailDO businessSampleEntrustDetail : sampleEntrustDetailList) { for (BusinessSampleEntrustDetailDO businessSampleEntrustDetail : sampleEntrustDetailList) {
businessSampleEntrustDetail.setBusinessSampleEntrustRegistrationId(sampleEntrustRegistration.getId()); businessSampleEntrustDetail.setBusinessSampleEntrustRegistrationId(sampleEntrustRegistration.getId());
@@ -92,6 +107,16 @@ public class SampleEntrustUpdateDataCmp extends NodeComponent {
sampleAssayResult.setData(businessSampleEntrustDetail.getForecastResult()); sampleAssayResult.setData(businessSampleEntrustDetail.getForecastResult());
sampleAssayResultList.add(sampleAssayResult); sampleAssayResultList.add(sampleAssayResult);
} }
//一般委托
if ("xsqywtybwt".equals(configEntrustSource.getKey())) {
String sampleCode = "W" + year + number + "-" + StringUtils.leftPad(businessSampleEntrustDetail.getSort().toString(), 2, "0");
businessSampleEntrustDetail.setSampleCode(sampleCode);
} else if ("xsqywtzcwt".equals(configEntrustSource.getKey())) {//仲裁委托
String sampleCode = "ZW" + year + number + "-" + StringUtils.leftPad(businessSampleEntrustDetail.getSort().toString(), 2, "0");
businessSampleEntrustDetail.setSampleCode(sampleCode);
}
} }
List<BusinessSampleEntrustProjectDO> sampleEntrustProjectList = sampleEntrustContext.getSampleEntrustProjectList(); List<BusinessSampleEntrustProjectDO> sampleEntrustProjectList = sampleEntrustContext.getSampleEntrustProjectList();
@@ -119,5 +144,5 @@ public class SampleEntrustUpdateDataCmp extends NodeComponent {
} }
} }
} }

View File

@@ -145,7 +145,7 @@ public class SampleSubProcessUpdateCmp extends NodeComponent {
} }
//如果是班组送样,需要更新分析班组表 //如果是班组送样,需要更新分析班组表
if (QmsCommonConstant.FLOW_NODE_ANALYSIS_SEND.equals(currentSampleFlowKey)) { if (QmsCommonConstant.FLOW_NODE_TEAM_SEND.equals(currentSampleFlowKey)) {
List<BusinessSubSampleAnalysisGroupDO> curDeptSubSampleAnalysisGroupDOList = businessSubSampleAnalysisGroupDOList.stream().filter(f -> f.getAssayDepartmentId().equals(loginUser.getVisitDeptId())).collect(Collectors.toList()); List<BusinessSubSampleAnalysisGroupDO> curDeptSubSampleAnalysisGroupDOList = businessSubSampleAnalysisGroupDOList.stream().filter(f -> f.getAssayDepartmentId().equals(loginUser.getVisitDeptId())).collect(Collectors.toList());
for (BusinessSubSampleAnalysisGroupDO businessSubSampleAnalysisGroupDO : curDeptSubSampleAnalysisGroupDOList) { for (BusinessSubSampleAnalysisGroupDO businessSubSampleAnalysisGroupDO : curDeptSubSampleAnalysisGroupDOList) {
businessSubSampleAnalysisGroupDO.setIsSend(QmsCommonConstant.YES); businessSubSampleAnalysisGroupDO.setIsSend(QmsCommonConstant.YES);

View File

@@ -235,18 +235,18 @@ public class BusinessSubSampleServiceImpl implements BusinessSubSampleService {
@Override @Override
public BusinessSubSampleExtendRespVO getBySampleCodeAndFlowKey(@Valid BusinessSubSampleReqVO reqVO) { public BusinessSubSampleExtendRespVO getBySampleCodeAndFlowKey(@Valid BusinessSubSampleReqVO reqVO) {
// LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
BusinessSubSampleExtendRespVO subSample = null; BusinessSubSampleExtendRespVO subSample = null;
if (QmsCommonConstant.FLOW_NODE_TEAM_RECEIVE.equals(reqVO.getSampleFlowNodeKey())) { if (QmsCommonConstant.FLOW_NODE_TEAM_RECEIVE.equals(reqVO.getSampleFlowNodeKey())) {
subSample = businessSubSampleMapper.getBySampleCode(reqVO); subSample = businessSubSampleMapper.getBySampleCode(reqVO);
if (subSample == null) { if (subSample == null) {
return subSample; return subSample;
} }
// List<BusinessSubSampleAnalysisGroupDO> businessSubSampleAnalysisGroupList = businessSubSampleAnalysisGroupMapper.selectByBusinessSubSampleId(subSample.getId()); List<BusinessSubSampleAnalysisGroupDO> businessSubSampleAnalysisGroupList = businessSubSampleAnalysisGroupMapper.selectByBusinessSubSampleId(subSample.getId());
// BusinessSubSampleAnalysisGroupDO receiveSample = businessSubSampleAnalysisGroupList.stream().filter(f -> "已收样".equals(f.getSampleStatus()) && !f.getAssayDepartmentId().equals(loginUser.getVisitDeptId())).findFirst().orElse(null); BusinessSubSampleAnalysisGroupDO receiveSample = businessSubSampleAnalysisGroupList.stream().filter(f -> f.getAssayDepartmentId().equals(loginUser.getVisitDeptId())).findFirst().orElse(null);
// if (receiveSample != null) { if (receiveSample == null) {
// throw new ServiceException(1_032_100_000, "当前样品在" + receiveSample.getAssayDepartmentName() + ",不允许收样!"); throw new ServiceException(1_032_100_000, "当前样品不在" + loginUser.getVisitDeptName() + ",不允许收样!");
// } }
} else { } else {
subSample = businessSubSampleMapper.getBySampleCodeAndFlowKey(reqVO); subSample = businessSubSampleMapper.getBySampleCodeAndFlowKey(reqVO);
} }