Commit 8704a2a5 by lijingjing

修改样品:添加电解质标样编码规则;

调整铝成品发送处理逻辑;
铝成品查询优化;
parent 8f117267
...@@ -1453,7 +1453,10 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -1453,7 +1453,10 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
// 处理一级编码的报告文件 // 处理一级编码的报告文件
handleSampleBrand(ids, finalSampleBrandMap, true); handleSampleBrand(ids, finalSampleBrandMap, true);
// 针对铝成品和原铝进行发送ERP数据处理 });
// 针对铝成品和原铝进行发送ERP数据处理
executor1.execute(() -> {
logger.error("{}开始执行发送ERP请求:---->ERP---", DateUtils.toYearMonthDayTime(new Date())); logger.error("{}开始执行发送ERP请求:---->ERP---", DateUtils.toYearMonthDayTime(new Date()));
sendTestDataToErp(Arrays.asList(ids), finalSampleBrandMap); sendTestDataToErp(Arrays.asList(ids), finalSampleBrandMap);
}); });
...@@ -1529,7 +1532,8 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -1529,7 +1532,8 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
} else { } else {
dataList = entrustSampleItemIndexService.listCpSampleItemIndex(null, ids); dataList = entrustSampleItemIndexService.listCpSampleItemIndex(null, ids);
} }
// ==
RestAssert.fail(CollectionUtils.isEmpty(dataList), String.format("【%s】要发送的数据为空!", sampleName));
// == search data loop // == search data loop
dataList.forEach(t -> { dataList.forEach(t -> {
Long sampleId = Long.valueOf(t.get("id").toString()); Long sampleId = Long.valueOf(t.get("id").toString());
......
...@@ -290,71 +290,81 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust> ...@@ -290,71 +290,81 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
if (HmConst.EXIST_CODE_MATERIALS.equals(parentCategory)) { if (HmConst.EXIST_CODE_MATERIALS.equals(parentCategory)) {
sampleCode = sample.getCode().toUpperCase(); sampleCode = sample.getCode().toUpperCase();
} else { } else {
Integer codeTypeVal = (Integer) codeType.getValue(); // 不为空时处理逻辑:
sampleCode = codeRuleService.getKey(codeTypeVal, codeType.getName(), sample); if (null != codeType) {
// 生成编号,赋予编号规则类型 Integer codeTypeVal = (Integer) codeType.getValue();
sample.setCodeRuleType(codeTypeVal); sampleCode = codeRuleService.getKey(codeTypeVal, codeType.getName(), sample);
// 若为外委检测和三级编码,则查询质检编号 // 生成编号,赋予编号规则类型
if (CodeTypeEnum.SAMPLE_WWJC_CODE == codeType || CodeTypeEnum.SAMPLE_YFL_CODE == codeType) { sample.setCodeRuleType(codeTypeVal);
List<UserInspectionCode> userInspectionCodeList = userInspectionCodeService.list(Condition.create().eq("user_id", account.getUserId()).eq("type", "ZJ").eq("deleted", 0)); // 若为外委检测和三级编码,则查询质检编号
if (CollectionUtils.isNotEmpty(userInspectionCodeList)) { if (CodeTypeEnum.SAMPLE_WWJC_CODE == codeType || CodeTypeEnum.SAMPLE_YFL_CODE == codeType) {
inspectNo = userInspectionCodeList.get(0).getNo(); List<UserInspectionCode> userInspectionCodeList = userInspectionCodeService.list(Condition.create().eq("user_id", account.getUserId()).eq("type", "ZJ").eq("deleted", 0));
if (CollectionUtils.isNotEmpty(userInspectionCodeList)) {
inspectNo = userInspectionCodeList.get(0).getNo();
}
} }
}
if (CodeTypeEnum.SAMPLE_YL_CODE == codeType || CodeTypeEnum.SAMPLE_DJZ_CODE == codeType) { if (CodeTypeEnum.SAMPLE_YL_CODE == codeType || CodeTypeEnum.SAMPLE_DJZ_CODE == codeType) {
sampleCode += sample.getSlotNo(); sampleCode += sample.getSlotNo();
}
// 外委检测样品编号
else if (CodeTypeEnum.SAMPLE_WWJC_CODE == codeType) {
sampleCode = phase + sampleCode.substring(1);
secondCode = sampleCode.replace(replaceStr, "");
sampleCode = sampleCode.replace(replaceStr, inspectNo);
}
// 三级编码默认使用第一级别的委托的编码,也就是默认为A
else if (CodeTypeEnum.SAMPLE_YFL_CODE == codeType) {
sampleCode = phase + sampleCode.substring(1);
secondCode = sampleCode.replace("A", "B").replace(replaceStr, inspectNo);
// 进场物资,使用针对进场物资的生成规则
if (1 == entrust.getType()) {
thirdCode = getSampleThirdCode(sample);
} else {
thirdCode = sampleCode.replace("A", "C").replace(replaceStr, "HY");
} }
sampleCode = sampleCode.replace(replaceStr, inspectNo); // 外委检测样品编号
} else if (CodeTypeEnum.SAMPLE_WWJC_CODE == codeType) {
// 原铝散样样品编号处理 sampleCode = phase + sampleCode.substring(1);
else if (CodeTypeEnum.AL_BULK_SAMPLE_CODE == codeType) { secondCode = sampleCode.replace(replaceStr, "");
// 替换班次BC sampleCode = sampleCode.replace(replaceStr, inspectNo);
sampleCode = sampleCode.replace("BC", DateKit.getShiftByNow()); }
// YYMMDD+(A/C/E)+SN(1)+ 槽号(4) // 三级编码默认使用第一级别的委托的编码,也就是默认为A
// String queryKey = sampleCode.substring(0, 7) + "_" + sampleCode.substring(8); else if (CodeTypeEnum.SAMPLE_YFL_CODE == codeType) {
// sampleCode = entrustSampleService.getNewCode(queryKey, 7, 1); sampleCode = phase + sampleCode.substring(1);
// 初始时,处理可能因a,b,c时间段重复编号 secondCode = sampleCode.replace("A", "B").replace(replaceStr, inspectNo);
EntrustSample example = new EntrustSample(); // 进场物资,使用针对进场物资的生成规则
example.setId(sample.getId()); if (1 == entrust.getType()) {
example.setCode(sampleCode).setCodeRuleType(codeType.getIntValue()); thirdCode = getSampleThirdCode(sample);
// example.setFirstCode(sampleCode.replaceAll("(A|B|C)", "_")); } else {
String newSampleCode = entrustSampleService.getCompatibleCode(example); thirdCode = sampleCode.replace("A", "C").replace(replaceStr, "HY");
if (!sampleCode.equals(newSampleCode)) { }
sampleCode = newSampleCode; sampleCode = sampleCode.replace(replaceStr, inspectNo);
}
// 原铝散样样品编号处理
else if (CodeTypeEnum.AL_BULK_SAMPLE_CODE == codeType) {
// 替换班次BC
sampleCode = sampleCode.replace("BC", DateKit.getShiftByNow());
// YYMMDD+(A/C/E)+SN(1)+ 槽号(4)
// String queryKey = sampleCode.substring(0, 7) + "_" + sampleCode.substring(8);
// sampleCode = entrustSampleService.getNewCode(queryKey, 7, 1);
// 初始时,处理可能因a,b,c时间段重复编号
EntrustSample example = new EntrustSample();
example.setId(sample.getId());
example.setCode(sampleCode).setCodeRuleType(codeType.getIntValue());
// example.setFirstCode(sampleCode.replaceAll("(A|B|C)", "_"));
String newSampleCode = entrustSampleService.getCompatibleCode(example);
if (!sampleCode.equals(newSampleCode)) {
sampleCode = newSampleCode;
}
}
// 电解质散样样品编号处理
// else if (CodeTypeEnum.ELECT_BULK_SAMPLE_CODE == codeType) {
// // D+@yyMMdd&-&${et.slotNo}
// String queryKey = sampleCode.substring(0, sampleCode.length() - 3);
// sampleCode = entrustSampleService.getNewCode(queryKey, 3);
// }
//== 原铝重取样品编号处理
// add by meazty on 2022-01-06 14:42〔原铝重取不再根据以下规则生成,使用默认规则即可〕
// else if (CodeTypeEnum.AL_RETAKE_SAMPLE_CODE == codeType) {
// // 替换槽号CH
// sampleCode = sampleCode.replace("CH", sample.getSlotNo());
// // @yyMMdd&CH&C&SN len(SN) = 1
// String queryKey = sampleCode.substring(0, sampleCode.length() - 1);
// sampleCode = entrustSampleService.getNewCode(queryKey, 1);
// }
} else {
// 默认年月日,有槽号,带上槽号
sampleCode = DateUtils.dateTransfer(new Date(), "yyyyMMdd");
if (StringUtils.isNotBlank(sample.getSlotNo())) {
sampleCode += "-" + sample.getSlotNo();
} }
} }
// 电解质散样样品编号处理
// else if (CodeTypeEnum.ELECT_BULK_SAMPLE_CODE == codeType) {
// // D+@yyMMdd&-&${et.slotNo}
// String queryKey = sampleCode.substring(0, sampleCode.length() - 3);
// sampleCode = entrustSampleService.getNewCode(queryKey, 3);
// }
//== 原铝重取样品编号处理
// add by meazty on 2022-01-06 14:42〔原铝重取不再根据以下规则生成,使用默认规则即可〕
// else if (CodeTypeEnum.AL_RETAKE_SAMPLE_CODE == codeType) {
// // 替换槽号CH
// sampleCode = sampleCode.replace("CH", sample.getSlotNo());
// // @yyMMdd&CH&C&SN len(SN) = 1
// String queryKey = sampleCode.substring(0, sampleCode.length() - 1);
// sampleCode = entrustSampleService.getNewCode(queryKey, 1);
// }
} }
if (StringUtils.isNotBlank(sampleCode)) { if (StringUtils.isNotBlank(sampleCode)) {
......
...@@ -170,6 +170,7 @@ ...@@ -170,6 +170,7 @@
<!--查询铝成品要发送ERP数据--> <!--查询铝成品要发送ERP数据-->
<select id="selectCpSampleItemIndex" resultType="java.util.Map"> <select id="selectCpSampleItemIndex" resultType="java.util.Map">
SELECT SELECT
s.id,
s.code "sample_code", s.code "sample_code",
s.name "sample_name", s.name "sample_name",
s.sample_from, s.sample_from,
...@@ -205,7 +206,7 @@ ...@@ -205,7 +206,7 @@
</foreach> </foreach>
</if> </if>
group by group by
s.code,s.name,s.sample_from,s.sample_grading s.id,s.code,s.name,s.sample_from,s.sample_grading
</select> </select>
<delete id="physicalDeleteByItemIds"> <delete id="physicalDeleteByItemIds">
......
...@@ -710,7 +710,7 @@ ...@@ -710,7 +710,7 @@
JOIN entrust_sample s ON s.ID = i.entrust_sample_id JOIN entrust_sample s ON s.ID = i.entrust_sample_id
WHERE WHERE
ii.deleted = 0 ii.deleted = 0
AND is_numeric ( ii.test_value ) AND TRIM(ii.test_value) ~ '^([0-9]+[.]?[0-9]*|[.][0-9]+)$'
AND s.NAME = '铝成品' AND s.NAME = '铝成品'
AND s.entrust_id = #{entrustId} AND s.entrust_id = #{entrustId}
GROUP BY GROUP BY
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment