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

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";
}

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 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.dal.dataobject.BusinessHandoverRecordSubDO;
import com.zt.plat.module.qms.business.bus.service.BusinessHandoverRecordSubService;
@@ -92,6 +94,11 @@ public class BusinessHandoverRecordSubController implements BusinessControllerMa
@Operation(summary = "获得子样交接记录业务分页")
//@PreAuthorize("@ss.hasPermission('qms:business-handover-record-sub:query')")
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);
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 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.dal.dataobject.BusinessSampleHandoverDO;
import com.zt.plat.module.qms.business.bus.service.BusinessSampleHandoverService;
@@ -100,6 +102,11 @@ public class BusinessSampleHandoverController {
@Operation(summary = "获得样品交接单业务分页")
//@PreAuthorize("@ss.hasPermission('qms:business-sample-handover:query')")
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);
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.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.commons.lang3.StringUtils;
@@ -83,6 +85,18 @@ public class SampleEntrustCreateDataCmp extends NodeComponent {
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();
for (BusinessSampleEntrustDetailDO businessSampleEntrustDetail : sampleEntrustDetailList) {
businessSampleEntrustDetail.setBusinessSampleEntrustRegistrationId(sampleEntrustRegistration.getId());
@@ -93,6 +107,15 @@ public class SampleEntrustCreateDataCmp extends NodeComponent {
sampleAssayResult.setData(businessSampleEntrustDetail.getForecastResult());
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();

View File

@@ -334,7 +334,9 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
businessBaseSampleDO.setDictionaryBusinessId(businessSampleEntrustDetailDO.getSampleTypeDictionaryBusinessId());
//生成样品编号
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());
}
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.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import org.apache.commons.lang3.StringUtils;
@@ -47,6 +49,8 @@ public class SampleEntrustUpdateDataCmp extends NodeComponent {
SampleEntrustContext sampleEntrustContext = this.getContextBean(SampleEntrustContext.class);
//样品委托
BusinessSampleEntrustRegistrationDO sampleEntrustRegistration = sampleEntrustContext.getSampleEntrustRegistration();
BusinessSampleEntrustRegistrationDO oldSampleEntrustRegistration = businessSampleEntrustRegistrationMapper.selectById(sampleEntrustRegistration.getId());
sampleEntrustRegistration.setEntrustNumber(oldSampleEntrustRegistration.getEntrustNumber());//重新赋值委托单号
//获取委托来源配置
ConfigEntrustSourceDO configEntrustSource = sampleEntrustContext.getConfigEntrustSourceById(sampleEntrustRegistration.getConfigEntrustSourceId());
@@ -81,7 +85,18 @@ public class SampleEntrustUpdateDataCmp extends NodeComponent {
//保存更新新的
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();
for (BusinessSampleEntrustDetailDO businessSampleEntrustDetail : sampleEntrustDetailList) {
businessSampleEntrustDetail.setBusinessSampleEntrustRegistrationId(sampleEntrustRegistration.getId());
@@ -92,6 +107,16 @@ public class SampleEntrustUpdateDataCmp extends NodeComponent {
sampleAssayResult.setData(businessSampleEntrustDetail.getForecastResult());
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();

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());
for (BusinessSubSampleAnalysisGroupDO businessSubSampleAnalysisGroupDO : curDeptSubSampleAnalysisGroupDOList) {
businessSubSampleAnalysisGroupDO.setIsSend(QmsCommonConstant.YES);

View File

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