配合示方生成混炼示方完善
This commit is contained in:
@@ -1264,3 +1264,100 @@ jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/ser
|
||||
jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/controller/MesXslMixerConditionController.java
|
||||
jeecgboot-vue3/src/views/xslmes/mesXslMixerCondition/MesXslMixerCondition.api.ts
|
||||
jeecgboot-vue3/src/views/xslmes/mesXslMixerCondition/MesXslMixerCondition.data.ts
|
||||
|
||||
-- author:jiangxh---date:20260729--for: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λС<CEBB><D0A1> ---
|
||||
jeecgboot-vue3/src/views/xslmes/mesXslFormulaSpec/MesXslFormulaSpec.data.ts
|
||||
jeecgboot-vue3/src/views/xslmes/mesXslFormulaSpec/components/MesXslFormulaSpecModal.vue
|
||||
jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslFormulaSpecServiceImpl.java
|
||||
|
||||
-- author:jiangxh---date:20260729--for: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>3λ<33><CEBB>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3λ<33><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2λ ---
|
||||
jeecgboot-vue3/src/views/xslmes/mesXslMixingSpec/MesXslMixingSpec.data.ts
|
||||
jeecgboot-vue3/src/views/xslmes/mesXslMixingSpec/components/MesXslMixingSpecModal.vue
|
||||
jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslFormulaSpecServiceImpl.java
|
||||
|
||||
-- author:jiangxh---date:20260729--for: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><D8B1><EFBFBD><EFBFBD><EFBFBD>λС<CEBB><D0A1> ---
|
||||
jeecgboot-vue3/src/views/xslmes/mesXslMixingSpec/components/MesXslMixingSpecModal.vue
|
||||
jeecgboot-vue3/src/views/xslmes/mesXslMixingSpec/MesXslMixingSpec.data.ts
|
||||
jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslFormulaSpecServiceImpl.java
|
||||
|
||||
-- author:jiangxh---date:20260729--for: <20><><EFBFBD><EFBFBD><EFBFBD>ϲ<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD>ϼ<EFBFBD>ʾ<EFBFBD><CABE>ѡ<EFBFBD>ϸ<EFBFBD>Ϊģ<CEAA><C4A3><EFBFBD><EFBFBD>ѯ ---
|
||||
jeecgboot-vue3/src/views/mes/material/materialQuery.util.ts
|
||||
jeecgboot-vue3/src/views/mes/material/MesMixerMaterialList.vue
|
||||
jeecgboot-vue3/src/views/mes/material/MesMaterialList.vue
|
||||
jeecgboot-vue3/src/views/mes/material/modules/MesMixerMaterialSelectModal.vue
|
||||
jeecgboot-vue3/src/views/mes/material/modules/MesMaterialSelectModal.vue
|
||||
jeecgboot-vue3/src/views/xslmes/mesXslMixingSpec/components/MesXslMixingMaterialSelectModal.vue
|
||||
|
||||
-- author:jiangxh---date:20260729--for: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD>ϡ<EFBFBD><CFA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>༭У<E0BCAD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ψһ ---
|
||||
jeecgboot-vue3/src/views/mes/material/MesMixerMaterial.api.ts
|
||||
jeecgboot-vue3/src/views/mes/material/MesMixerMaterial.data.ts
|
||||
jeecgboot-vue3/src/views/mes/material/MesMaterial.api.ts
|
||||
jeecgboot-vue3/src/views/mes/material/MesMaterial.data.ts
|
||||
|
||||
-- author:jiangxh---date:20260729--for: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD><CFA1><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD>365<36><35> ---
|
||||
jeecgboot-vue3/src/views/mes/material/MesMixerMaterial.data.ts
|
||||
yy-admin-master/YY.Admin/ViewModels/MixerMaterial/MixerMaterialEditDialogViewModel.cs
|
||||
|
||||
-- author:jiangxh---date:20260729--for: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD>%/<2F><><EFBFBD><EFBFBD>ͳһ<CDB3><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λС<CEBB><D0A1> ---
|
||||
jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslFormulaSpecServiceImpl.java
|
||||
jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/flyway/sql/mysql/V3.9.2_171__mes_xsl_formula_spec_line_decimal3.sql
|
||||
jeecgboot-vue3/src/views/xslmes/mesXslFormulaSpec/MesXslFormulaSpec.data.ts
|
||||
jeecgboot-vue3/src/views/xslmes/mesXslFormulaSpec/components/MesXslFormulaSpecModal.vue
|
||||
|
||||
-- author:jiangxh---date:20260729--for: <20><>WebSocket<65><74>pongTimeout 1s<31><73>10s <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ---
|
||||
jeecgboot-vue3/src/hooks/web/useWebSocket.ts
|
||||
|
||||
-- author:jiangxh---date:20260729--for: <20><>WebSocket<65><74><EFBFBD><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Redis<69>ذ<EFBFBD><D8B0><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ---
|
||||
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/websocket/WebSocket.java
|
||||
jeecgboot-vue3/src/hooks/web/useWebSocket.ts
|
||||
|
||||
-- author:jiangxh---date:20260729--for: <20><>HTTP<54><50>Ĭ<EFBFBD>ϳ<EFBFBD>ʱ10s<30><73>60s<30><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>120s ---
|
||||
jeecgboot-vue3/src/utils/http/axios/index.ts
|
||||
jeecgboot-vue3/src/views/xslmes/mesXslFormulaSpec/MesXslFormulaSpec.api.ts
|
||||
|
||||
-- author:jiangxh---date:20260729--for: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>ɡ<EFBFBD>B/F<><46><EFBFBD>ϸ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>ƥ<EFBFBD>䣬<EFBFBD><E4A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ά<EFBFBD><CEAC> ---
|
||||
jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslFormulaSpecServiceImpl.java
|
||||
|
||||
-- author:jiangxh---date:20260729--for: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>ɡ<EFBFBD><C9A1>ս<EFBFBD><D5BD><EFBFBD>ϸĸ<CFB8><C4B8><EFBFBD>д<EFBFBD><D0B4>뽺<EFBFBD><EBBDBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ---
|
||||
jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslFormulaSpecServiceImpl.java
|
||||
|
||||
-- author:jiangxh---date:20260729--for: <20><>ѡ<EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>/<2F><><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD> ---
|
||||
jeecgboot-vue3/src/views/xslmes/mesXslMixingSpec/MesXslMixingSpec.data.ts
|
||||
jeecgboot-vue3/src/views/xslmes/mesXslMixingSpec/components/MesXslMixingMaterialSelectModal.vue
|
||||
jeecgboot-vue3/src/views/mes/material/modules/MesMaterialSelectModal.vue
|
||||
jeecgboot-vue3/src/views/mes/material/materialQuery.util.ts
|
||||
|
||||
-- author:jiangxh---date:20260730--for: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>ɡ<EFBFBD><C9A1>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɻ<EFBFBD><C9BB><EFBFBD>ʾ<EFBFBD><CABE>Ԥ<EFBFBD><D4A4>ʱ<EFBFBD><CAB1>ƥ<EFBFBD>佺<EFBFBD><E4BDBA><EFBFBD>б<EFBFBD> ---
|
||||
jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslFormulaSpecServiceImpl.java
|
||||
jeecgboot-vue3/src/views/xslmes/mesXslFormulaSpec/components/MesXslFormulaGenerateMixingModal.vue
|
||||
|
||||
-- author:jiangxh---date:20260730--for: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>ɡ<EFBFBD>B/Fƥ<46><C6A5><EFBFBD><EFBFBD><EFBFBD>Ž<EFBFBD>ǰ+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƴSA01<30>Ȱ汾<C8B0><E6B1BE> ---
|
||||
jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslFormulaSpecServiceImpl.java
|
||||
|
||||
-- author:jiangxh---date:20260730--for: <20><><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>ֶΣ<D6B6>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ---
|
||||
jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mes/material/entity/MesMaterial.java
|
||||
jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mes/material/controller/MesMaterialController.java
|
||||
jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mes/material/service/IMesMaterialService.java
|
||||
jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mes/material/service/impl/MesMaterialServiceImpl.java
|
||||
jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslFormulaSpecServiceImpl.java
|
||||
jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslMixingSpecServiceImpl.java
|
||||
jeecgboot-vue3/src/views/mes/material/MesMaterial.data.ts
|
||||
jeecgboot-vue3/src/views/mes/material/MesMaterial.api.ts
|
||||
jeecgboot-vue3/src/views/mes/material/modules/MesMaterialSelectModal.vue
|
||||
jeecgboot-vue3/src/views/xslmes/mesXslMixingSpec/MesXslMixingSpec.data.ts
|
||||
|
||||
-- author:jiangxh---date:20260730--for: <20><><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD><CFA1>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD><EFBFBD>ŸĶ<C5B8> ---
|
||||
jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mes/material/entity/MesMaterial.java
|
||||
jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mes/material/controller/MesMaterialController.java
|
||||
jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mes/material/service/IMesMaterialService.java
|
||||
jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mes/material/service/impl/MesMaterialServiceImpl.java
|
||||
jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslFormulaSpecServiceImpl.java
|
||||
jeecg-boot/jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslMixingSpecServiceImpl.java
|
||||
jeecgboot-vue3/src/views/mes/material/MesMaterial.data.ts
|
||||
jeecgboot-vue3/src/views/mes/material/MesMaterial.api.ts
|
||||
jeecgboot-vue3/src/views/mes/material/modules/MesMaterialSelectModal.vue
|
||||
jeecgboot-vue3/src/views/xslmes/mesXslMixingSpec/MesXslMixingSpec.data.ts
|
||||
|
||||
-- author:jiangxh---date:20260730--for: <20><><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD><CFA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><D8A3><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>Զ<EFBFBD><D4B6>뽺<EFBFBD><EBBDBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB> ---
|
||||
jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mes/material/controller/MesMaterialController.java
|
||||
jeecgboot-vue3/src/views/mes/material/MesMaterial.data.ts
|
||||
|
||||
@@ -12,6 +12,7 @@ import java.util.Collection;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
@@ -300,6 +301,9 @@ public class MesXslFormulaSpecServiceImpl extends ServiceImpl<MesXslFormulaSpecM
|
||||
//update-begin---author:cursor ---date:20260521 for:配合示方明细重量%按PHR/总PHR自动计算-----------
|
||||
fillWeightPercent(line, weightBase);
|
||||
//update-end---author:cursor ---date:20260521 for:配合示方明细重量%按PHR/总PHR自动计算-----------
|
||||
//update-begin---author:jiangxh ---date:20260729 for:【配合示方】明细重量%/体积统一保留三位小数-----------
|
||||
normalizeLineDecimals(line);
|
||||
//update-end---author:jiangxh ---date:20260729 for:【配合示方】明细重量%/体积统一保留三位小数-----------
|
||||
if (line.getCreateTime() == null) {
|
||||
line.setCreateTime(now);
|
||||
}
|
||||
@@ -339,7 +343,9 @@ public class MesXslFormulaSpecServiceImpl extends ServiceImpl<MesXslFormulaSpecM
|
||||
if (material == null || material.getSpecificGravity() == null || material.getSpecificGravity().compareTo(BigDecimal.ZERO) <= 0) {
|
||||
return;
|
||||
}
|
||||
line.setVolume(line.getPhr().divide(material.getSpecificGravity(), 6, RoundingMode.HALF_UP));
|
||||
//update-begin---author:jiangxh ---date:20260729 for:【配合示方】明细体积保留三位小数-----------
|
||||
line.setVolume(line.getPhr().divide(material.getSpecificGravity(), 3, RoundingMode.HALF_UP));
|
||||
//update-end---author:jiangxh ---date:20260729 for:【配合示方】明细体积保留三位小数-----------
|
||||
}
|
||||
|
||||
private void fillWeightPercent(MesXslFormulaSpecLine line, BigDecimal totalPhr) {
|
||||
@@ -347,10 +353,27 @@ public class MesXslFormulaSpecServiceImpl extends ServiceImpl<MesXslFormulaSpecM
|
||||
if (line.getWeightPercent() != null || line.getPhr() == null || totalPhr == null || totalPhr.compareTo(BigDecimal.ZERO) <= 0) {
|
||||
return;
|
||||
}
|
||||
line.setWeightPercent(line.getPhr().multiply(BigDecimal.valueOf(100)).divide(totalPhr, 4, RoundingMode.HALF_UP));
|
||||
//update-begin---author:jiangxh ---date:20260729 for:【配合示方】明细重量%/体积保留三位小数-----------
|
||||
line.setWeightPercent(line.getPhr().multiply(BigDecimal.valueOf(100)).divide(totalPhr, 3, RoundingMode.HALF_UP));
|
||||
//update-end---author:jiangxh ---date:20260729 for:【配合示方】明细重量%/体积保留三位小数-----------
|
||||
//update-end---author:cursor ---date:20260521 for:配合示方明细重量%按PHR/总PHR自动计算(可手工覆盖)-----------
|
||||
}
|
||||
|
||||
//update-begin---author:jiangxh ---date:20260729 for:【配合示方】明细重量%/体积统一保留三位小数-----------
|
||||
/** 明细重量%、体积统一四舍五入到三位小数(含手工录入值) */
|
||||
private void normalizeLineDecimals(MesXslFormulaSpecLine line) {
|
||||
if (line == null) {
|
||||
return;
|
||||
}
|
||||
if (line.getWeightPercent() != null) {
|
||||
line.setWeightPercent(line.getWeightPercent().setScale(3, RoundingMode.HALF_UP));
|
||||
}
|
||||
if (line.getVolume() != null) {
|
||||
line.setVolume(line.getVolume().setScale(3, RoundingMode.HALF_UP));
|
||||
}
|
||||
}
|
||||
//update-end---author:jiangxh ---date:20260729 for:【配合示方】明细重量%/体积统一保留三位小数-----------
|
||||
|
||||
//update-begin---author:cursor ---date:20260521 for:【配合示方】保存后汇总A/Q胶比重写入数据库-----------
|
||||
/** 根据明细重新汇总主表 TOTAL PHR、A胶TOTAL PHR、比重与人工配料标记 */
|
||||
private void refreshMainSummary(String mainId) {
|
||||
@@ -457,7 +480,9 @@ public class MesXslFormulaSpecServiceImpl extends ServiceImpl<MesXslFormulaSpecM
|
||||
if (material == null || material.getSpecificGravity() == null || material.getSpecificGravity().compareTo(BigDecimal.ZERO) <= 0) {
|
||||
return null;
|
||||
}
|
||||
return line.getPhr().divide(material.getSpecificGravity(), 6, RoundingMode.HALF_UP);
|
||||
//update-begin---author:jiangxh ---date:20260729 for:【配合示方】明细体积保留三位小数-----------
|
||||
return line.getPhr().divide(material.getSpecificGravity(), 3, RoundingMode.HALF_UP);
|
||||
//update-end---author:jiangxh ---date:20260729 for:【配合示方】明细体积保留三位小数-----------
|
||||
}
|
||||
//update-end---author:cursor ---date:20260521 for:【配合示方】保存后汇总A/Q胶比重写入数据库-----------
|
||||
|
||||
@@ -540,7 +565,6 @@ public class MesXslFormulaSpecServiceImpl extends ServiceImpl<MesXslFormulaSpecM
|
||||
throw new IllegalArgumentException("请先维护混合段数");
|
||||
}
|
||||
String rubberName = resolveRubberName(main);
|
||||
String formulaCodeSuffix = resolveFormulaCodeSuffix(main);
|
||||
boolean hasQ = hasStepQ(main.getLineList());
|
||||
List<MesXslFormulaMixingGeneratePreviewItemVO> items = new ArrayList<>();
|
||||
int aIndex = 0;
|
||||
@@ -551,16 +575,24 @@ public class MesXslFormulaSpecServiceImpl extends ServiceImpl<MesXslFormulaSpecM
|
||||
item.setStageIndex(i);
|
||||
if (isQSegment) {
|
||||
item.setStepType("Q");
|
||||
item.setSpecCode(appendFormulaCodeSuffix("F" + rubberName, formulaCodeSuffix));
|
||||
//update-begin---author:jiangxh ---date:20260730 for:【混炼示方生成】B/F匹配编号不拼版本后缀-----------
|
||||
item.setSpecCode(buildBfRubberSpecCode("F", rubberName));
|
||||
//update-end---author:jiangxh ---date:20260730 for:【混炼示方生成】B/F匹配编号不拼版本后缀-----------
|
||||
item.setASegmentIndex(null);
|
||||
} else {
|
||||
aIndex++;
|
||||
item.setStepType("A");
|
||||
item.setASegmentIndex(aIndex);
|
||||
item.setSpecCode(appendFormulaCodeSuffix("B" + aIndex + rubberName, formulaCodeSuffix));
|
||||
//update-begin---author:jiangxh ---date:20260730 for:【混炼示方生成】B/F匹配编号不拼版本后缀-----------
|
||||
item.setSpecCode(buildBfRubberSpecCode("B" + aIndex, rubberName));
|
||||
//update-end---author:jiangxh ---date:20260730 for:【混炼示方生成】B/F匹配编号不拼版本后缀-----------
|
||||
}
|
||||
items.add(item);
|
||||
}
|
||||
//update-begin---author:jiangxh ---date:20260730 for:【混炼示方生成】列表点生成混炼示方时即匹配胶料列表-----------
|
||||
// 点击「生成混炼示方」打开预览时即校验拼接示方编号是否已在胶料列表维护
|
||||
assertRequiredRubberMaterialsExist(toGenerateRowsFromPreviewItems(items), main, main.getLineList());
|
||||
//update-end---author:jiangxh ---date:20260730 for:【混炼示方生成】列表点生成混炼示方时即匹配胶料列表-----------
|
||||
MesXslFormulaMixingGeneratePreviewVO preview = new MesXslFormulaMixingGeneratePreviewVO();
|
||||
preview.setFormulaSpecId(formulaSpecId);
|
||||
preview.setRubberName(rubberName);
|
||||
@@ -598,10 +630,10 @@ public class MesXslFormulaSpecServiceImpl extends ServiceImpl<MesXslFormulaSpecM
|
||||
int created = 0;
|
||||
int totalStages = normalizeMixingStages(formula.getMixingStages());
|
||||
Date today = Date.from(LocalDate.now().atStartOfDay(ZoneId.systemDefault()).toInstant());
|
||||
//update-begin---author:cursor ---date:20260525 for:【XSLMES-20260525-A48】生成混炼示方同步B/F段胶至密炼物料-----------
|
||||
Set<String> syncedRubberSpecCodes = new HashSet<>();
|
||||
//update-begin---author:jiangxh ---date:20260729 for:【混炼示方生成】B/F胶料改为胶料列表匹配,不存在则提示先维护-----------
|
||||
Map<String, String> categoryIdCache = new HashMap<>();
|
||||
//update-end---author:cursor ---date:20260525 for:【XSLMES-20260525-A48】生成混炼示方同步B/F段胶至密炼物料-----------
|
||||
assertRequiredRubberMaterialsExist(request.getRows(), formula, lines);
|
||||
//update-end---author:jiangxh ---date:20260729 for:【混炼示方生成】B/F胶料改为胶料列表匹配,不存在则提示先维护-----------
|
||||
for (MesXslFormulaMixingGenerateRowVO row : request.getRows()) {
|
||||
if (row == null || oConvertUtils.isEmpty(row.getSpecCode()) || row.getStageIndex() == null) {
|
||||
continue;
|
||||
@@ -609,11 +641,6 @@ public class MesXslFormulaSpecServiceImpl extends ServiceImpl<MesXslFormulaSpecM
|
||||
if (CollectionUtils.isEmpty(row.getMachines())) {
|
||||
throw new IllegalArgumentException("示方「" + row.getSpecCode() + "」请至少选择一个机台");
|
||||
}
|
||||
//update-begin---author:cursor ---date:20260525 for:【XSLMES-20260525-A48】生成混炼示方同步B/F段胶至密炼物料-----------
|
||||
if (syncedRubberSpecCodes.add(row.getSpecCode().trim())) {
|
||||
syncGeneratedRubberMixerMaterial(row, formula, compoundSpecificGravity, categoryIdCache);
|
||||
}
|
||||
//update-end---author:cursor ---date:20260525 for:【XSLMES-20260525-A48】生成混炼示方同步B/F段胶至密炼物料-----------
|
||||
String materialStep = resolveMixingMaterialStep(row);
|
||||
int mixingColumn = resolveMixingColumn(row, formula);
|
||||
List<MesXslMixingSpecMaterial> materials = buildMixingMaterials(
|
||||
@@ -647,11 +674,15 @@ public class MesXslFormulaSpecServiceImpl extends ServiceImpl<MesXslFormulaSpecM
|
||||
//update-begin---author:cursor ---date:20260525 for:【XSLMES-20260525-A44】生成混炼示方时按设备有效体积计算填充体积-----------
|
||||
mixing.setConvertFactor(BigDecimal.ONE);
|
||||
boolean isFinalStage = "Q".equalsIgnoreCase(row.getStepType());
|
||||
//update-begin---author:jiangxh ---date:20260729 for:【混炼示方】母胶/终炼胶比重保留三位小数-----------
|
||||
if (isFinalStage) {
|
||||
mixing.setFinalRubberSg(compoundSpecificGravity);
|
||||
} else {
|
||||
mixing.setMotherRubberSg(formula.getARubberSg());
|
||||
if (compoundSpecificGravity != null) {
|
||||
mixing.setFinalRubberSg(compoundSpecificGravity.setScale(3, RoundingMode.HALF_UP));
|
||||
}
|
||||
} else if (formula.getARubberSg() != null) {
|
||||
mixing.setMotherRubberSg(formula.getARubberSg().setScale(3, RoundingMode.HALF_UP));
|
||||
}
|
||||
//update-end---author:jiangxh ---date:20260729 for:【混炼示方】母胶/终炼胶比重保留三位小数-----------
|
||||
BigDecimal specificGravity = isFinalStage ? compoundSpecificGravity : formula.getARubberSg();
|
||||
String machineLabel = StringUtils.defaultIfBlank(machine.getMachineName(), machine.getMachineId());
|
||||
MesXslEquipmentLedger equipment = equipmentCache.computeIfAbsent(
|
||||
@@ -766,15 +797,88 @@ public class MesXslFormulaSpecServiceImpl extends ServiceImpl<MesXslFormulaSpecM
|
||||
.divide(effectiveVolume, 6, RoundingMode.HALF_UP)
|
||||
.multiply(BigDecimal.valueOf(100))
|
||||
.multiply(factor)
|
||||
.setScale(6, RoundingMode.HALF_UP);
|
||||
//update-begin---author:jiangxh ---date:20260729 for:【混炼示方】填充体积保留两位小数-----------
|
||||
.setScale(2, RoundingMode.HALF_UP);
|
||||
//update-end---author:jiangxh ---date:20260729 for:【混炼示方】填充体积保留两位小数-----------
|
||||
}
|
||||
//update-end---author:cursor ---date:20260525 for:【XSLMES-20260525-A44】生成混炼示方时按设备有效体积计算填充体积-----------
|
||||
|
||||
//update-begin---author:cursor ---date:20260601 for:【XSLMES-20260601-A62】生成混炼示方改为同步B/F段胶至胶料信息-----------
|
||||
//update-begin---author:jiangxh ---date:20260729 for:【混炼示方生成】B/F胶料改为胶料列表匹配,不存在则提示先维护-----------
|
||||
//update-begin---author:jiangxh ---date:20260730 for:【混炼示方生成】预览项转生成行供胶料匹配校验-----------
|
||||
/** 预览行转为生成行结构,供胶料匹配校验复用 */
|
||||
private List<MesXslFormulaMixingGenerateRowVO> toGenerateRowsFromPreviewItems(
|
||||
List<MesXslFormulaMixingGeneratePreviewItemVO> items) {
|
||||
List<MesXslFormulaMixingGenerateRowVO> rows = new ArrayList<>();
|
||||
if (CollectionUtils.isEmpty(items)) {
|
||||
return rows;
|
||||
}
|
||||
for (MesXslFormulaMixingGeneratePreviewItemVO item : items) {
|
||||
if (item == null) {
|
||||
continue;
|
||||
}
|
||||
MesXslFormulaMixingGenerateRowVO row = new MesXslFormulaMixingGenerateRowVO();
|
||||
row.setSpecCode(item.getSpecCode());
|
||||
row.setStageIndex(item.getStageIndex());
|
||||
row.setASegmentIndex(item.getASegmentIndex());
|
||||
row.setStepType(item.getStepType());
|
||||
rows.add(row);
|
||||
}
|
||||
return rows;
|
||||
}
|
||||
//update-end---author:jiangxh ---date:20260730 for:【混炼示方生成】预览项转生成行供胶料匹配校验-----------
|
||||
|
||||
/**
|
||||
* 生成混炼示方时,将 B 段/F 段胶料同步写入「胶料信息」(mes_material):
|
||||
* 除 ERP 编号留空、编码/名称为示方编号外,其余字段按配合示方所选原胶料信息赋值。
|
||||
* 生成前校验:按 B段序号/F + 胶料名 拼出的示方编号,必须已在胶料信息中存在;不再自动新建。
|
||||
* 在列表点击「生成混炼示方」预览时即调用,确认生成时再次校验。
|
||||
*/
|
||||
private void assertRequiredRubberMaterialsExist(
|
||||
List<MesXslFormulaMixingGenerateRowVO> rows,
|
||||
MesXslFormulaSpec formula,
|
||||
List<MesXslFormulaSpecLine> lines) {
|
||||
if (CollectionUtils.isEmpty(rows)) {
|
||||
return;
|
||||
}
|
||||
LinkedHashSet<String> requiredCodes = new LinkedHashSet<>();
|
||||
String rubberName = resolveRubberName(formula);
|
||||
for (MesXslFormulaMixingGenerateRowVO row : rows) {
|
||||
if (row == null || StringUtils.isBlank(row.getSpecCode())) {
|
||||
continue;
|
||||
}
|
||||
requiredCodes.add(row.getSpecCode().trim());
|
||||
String stepFilter = resolveMixingMaterialStep(row);
|
||||
int mixingColumn = resolveMixingColumn(row, formula);
|
||||
if ("Q".equalsIgnoreCase(stepFilter)) {
|
||||
int lastBSegment = resolveLastBSegmentIndex(formula, lines);
|
||||
if (lastBSegment > 0 && StringUtils.isNotBlank(rubberName)) {
|
||||
//update-begin---author:jiangxh ---date:20260730 for:【混炼示方生成】母胶匹配不拼版本后缀-----------
|
||||
requiredCodes.add(buildBfRubberSpecCode("B" + lastBSegment, rubberName));
|
||||
//update-end---author:jiangxh ---date:20260730 for:【混炼示方生成】母胶匹配不拼版本后缀-----------
|
||||
}
|
||||
} else if (mixingColumn > 1 && StringUtils.isNotBlank(rubberName)) {
|
||||
//update-begin---author:jiangxh ---date:20260730 for:【混炼示方生成】母胶匹配不拼版本后缀-----------
|
||||
requiredCodes.add(buildBfRubberSpecCode("B" + (mixingColumn - 1), rubberName));
|
||||
//update-end---author:jiangxh ---date:20260730 for:【混炼示方生成】母胶匹配不拼版本后缀-----------
|
||||
}
|
||||
}
|
||||
List<String> missing = new ArrayList<>();
|
||||
for (String code : requiredCodes) {
|
||||
if (StringUtils.isBlank(code)) {
|
||||
continue;
|
||||
}
|
||||
if (findRubberMaterialByCodeOrName(code.trim()) == null) {
|
||||
missing.add(code.trim());
|
||||
}
|
||||
}
|
||||
if (!missing.isEmpty()) {
|
||||
throw new IllegalArgumentException("请先维护母胶和终胶信息:" + String.join("、", missing));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated 已改为仅匹配胶料列表,保留方法避免历史调用编译缺口;生成流程不再自动写入胶料。
|
||||
*/
|
||||
@Deprecated
|
||||
private void syncGeneratedRubberMixerMaterial(
|
||||
MesXslFormulaMixingGenerateRowVO row,
|
||||
MesXslFormulaSpec formula,
|
||||
@@ -784,60 +888,9 @@ public class MesXslFormulaSpecServiceImpl extends ServiceImpl<MesXslFormulaSpecM
|
||||
return;
|
||||
}
|
||||
String specCode = row.getSpecCode().trim();
|
||||
boolean isFinalStage = "Q".equalsIgnoreCase(resolveMixingMaterialStep(row));
|
||||
String materialPhase = resolveGeneratedMaterialPhase(row);
|
||||
MesMaterial sourceRubber = resolveSourceRubberMaterial(formula);
|
||||
String categoryId = sourceRubber != null ? sourceRubber.getCategoryId() : null;
|
||||
String rubberName = resolveRubberName(formula);
|
||||
String generatedName = buildGeneratedRubberMaterialName(row, rubberName);
|
||||
MesMaterial existing = findGeneratedRubberMaterialByCodeOrName(specCode, materialPhase);
|
||||
Date now = new Date();
|
||||
if (existing != null) {
|
||||
copyGeneratedMaterialFieldsFromSource(existing, sourceRubber);
|
||||
if (StringUtils.isNotBlank(categoryId)) {
|
||||
existing.setCategoryId(categoryId);
|
||||
}
|
||||
if (StringUtils.isBlank(existing.getMaterialCode())) {
|
||||
existing.setMaterialCode(specCode);
|
||||
}
|
||||
existing.setMaterialName(generatedName);
|
||||
if (StringUtils.isBlank(existing.getAliasName()) && StringUtils.isNotBlank(rubberName)) {
|
||||
existing.setAliasName(rubberName);
|
||||
}
|
||||
existing.setMaterialPhase(materialPhase);
|
||||
existing.setEnableFlag(existing.getEnableFlag() == null ? 1 : existing.getEnableFlag());
|
||||
existing.setUpdateTime(now);
|
||||
mesMaterialService.updateById(existing);
|
||||
log.info(
|
||||
"[混炼示方生成] 更新胶料信息 id={}, code={}, phase={}, categoryId={}, isFinal={}",
|
||||
existing.getId(),
|
||||
specCode,
|
||||
materialPhase,
|
||||
categoryId,
|
||||
isFinalStage);
|
||||
return;
|
||||
if (findRubberMaterialByCodeOrName(specCode) == null) {
|
||||
throw new IllegalArgumentException("请先维护母胶和终胶信息:" + specCode);
|
||||
}
|
||||
|
||||
MesMaterial material = new MesMaterial();
|
||||
copyGeneratedMaterialFieldsFromSource(material, sourceRubber);
|
||||
material.setMaterialCode(specCode);
|
||||
material.setMaterialName(generatedName);
|
||||
material.setAliasName(StringUtils.isNotBlank(rubberName) ? rubberName : null);
|
||||
material.setCategoryId(categoryId);
|
||||
material.setMaterialPhase(materialPhase);
|
||||
material.setEnableFlag(1);
|
||||
material.setIsSpecialRubber(0);
|
||||
material.setDelFlag(CommonConstant.DEL_FLAG_0);
|
||||
material.setCreateTime(now);
|
||||
material.setUpdateTime(now);
|
||||
mesMaterialService.save(material);
|
||||
log.info(
|
||||
"[混炼示方生成] 新增胶料信息 id={}, code={}, phase={}, categoryId={}, isFinal={}",
|
||||
material.getId(),
|
||||
specCode,
|
||||
materialPhase,
|
||||
categoryId,
|
||||
isFinalStage);
|
||||
}
|
||||
|
||||
private void copyGeneratedMaterialFieldsFromSource(MesMaterial target, MesMaterial source) {
|
||||
@@ -867,6 +920,7 @@ public class MesXslFormulaSpecServiceImpl extends ServiceImpl<MesXslFormulaSpecM
|
||||
target.setLastErpSyncTime(source.getLastErpSyncTime());
|
||||
target.setRemark(source.getRemark());
|
||||
}
|
||||
//update-end---author:jiangxh ---date:20260729 for:【混炼示方生成】B/F胶料改为胶料列表匹配,不存在则提示先维护-----------
|
||||
|
||||
private MesMaterial resolveSourceRubberMaterial(MesXslFormulaSpec formula) {
|
||||
if (formula == null || StringUtils.isBlank(formula.getRubberMaterialId())) {
|
||||
@@ -967,8 +1021,10 @@ public class MesXslFormulaSpecServiceImpl extends ServiceImpl<MesXslFormulaSpecM
|
||||
}
|
||||
|
||||
/**
|
||||
* 配合示方胶料代号/示方编号中,胶料名称之后的后缀原样截取(如 SA01、SB01 等,不做固定拼接)。
|
||||
* 配合示方胶料代号/示方编号中,胶料名称之后的后缀原样截取(如 SA01、SB01 等)。
|
||||
* @deprecated 生成混炼示方匹配胶料已改为仅 B/F+胶料名,不再拼接版本后缀
|
||||
*/
|
||||
@Deprecated
|
||||
private String resolveFormulaCodeSuffix(MesXslFormulaSpec main) {
|
||||
if (main == null) {
|
||||
return "";
|
||||
@@ -995,6 +1051,10 @@ public class MesXslFormulaSpecServiceImpl extends ServiceImpl<MesXslFormulaSpecM
|
||||
return "";
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated 生成混炼示方匹配胶料已改为仅 B/F+胶料名,请使用 {@link #buildBfRubberSpecCode(String, String)}
|
||||
*/
|
||||
@Deprecated
|
||||
private String appendFormulaCodeSuffix(String baseSpecCode, String formulaCodeSuffix) {
|
||||
if (StringUtils.isBlank(baseSpecCode)) {
|
||||
return baseSpecCode;
|
||||
@@ -1005,6 +1065,16 @@ public class MesXslFormulaSpecServiceImpl extends ServiceImpl<MesXslFormulaSpecM
|
||||
return baseSpecCode + formulaCodeSuffix;
|
||||
}
|
||||
|
||||
//update-begin---author:jiangxh ---date:20260730 for:【混炼示方生成】B/F匹配编号仅前缀+胶料名-----------
|
||||
/**
|
||||
* 生成/匹配用示方编号:仅「B{n}/F + 胶料名」,不拼接 SA01 等版本号。
|
||||
* 例:胶料 XC001 三段 → B1XC001、B2XC001、FXC001
|
||||
*/
|
||||
private String buildBfRubberSpecCode(String phasePrefix, String rubberName) {
|
||||
return StringUtils.defaultString(phasePrefix) + StringUtils.defaultString(rubberName).trim();
|
||||
}
|
||||
//update-end---author:jiangxh ---date:20260730 for:【混炼示方生成】B/F匹配编号仅前缀+胶料名-----------
|
||||
|
||||
private boolean hasStepQ(List<MesXslFormulaSpecLine> lines) {
|
||||
if (CollectionUtils.isEmpty(lines)) {
|
||||
return false;
|
||||
@@ -1071,10 +1141,11 @@ public class MesXslFormulaSpecServiceImpl extends ServiceImpl<MesXslFormulaSpecM
|
||||
if ("Q".equals(stepFilter)) {
|
||||
//update-begin---author:cursor ---date:20260522 for:【XSLMES-20260522-A38】F段加入最后一段B炼好胶料一条再加Q配合剂-----------
|
||||
String rubberName = resolveRubberName(formula);
|
||||
String codeSuffix = resolveFormulaCodeSuffix(formula);
|
||||
int lastBSegment = resolveLastBSegmentIndex(formula, lines);
|
||||
if (lastBSegment > 0) {
|
||||
String motherSpecCode = appendFormulaCodeSuffix("B" + lastBSegment + rubberName, codeSuffix);
|
||||
//update-begin---author:jiangxh ---date:20260730 for:【混炼示方生成】母胶编号不拼版本后缀-----------
|
||||
String motherSpecCode = buildBfRubberSpecCode("B" + lastBSegment, rubberName);
|
||||
//update-end---author:jiangxh ---date:20260730 for:【混炼示方生成】母胶编号不拼版本后缀-----------
|
||||
BigDecimal motherWeight = resolveStageCumulativeTotal(formula, lines, lastBSegment);
|
||||
materials.add(
|
||||
createMotherRubberMaterial(
|
||||
@@ -1095,7 +1166,6 @@ public class MesXslFormulaSpecServiceImpl extends ServiceImpl<MesXslFormulaSpecM
|
||||
}
|
||||
int bColumn = Math.max(stageIndex, 1);
|
||||
String rubberName = resolveRubberName(formula);
|
||||
String codeSuffix = resolveFormulaCodeSuffix(formula);
|
||||
if (bColumn <= 1) {
|
||||
appendBStageColumnAgents(lines, 1, materials, mixerCache, categoryNameCache, kindLookup);
|
||||
reindexMaterialSortNo(materials);
|
||||
@@ -1103,7 +1173,9 @@ public class MesXslFormulaSpecServiceImpl extends ServiceImpl<MesXslFormulaSpecM
|
||||
}
|
||||
// B2/B3…:上一段炼好胶料一条(如 B1+胶料名) + 本段列配合剂
|
||||
int prevB = bColumn - 1;
|
||||
String motherSpecCode = appendFormulaCodeSuffix("B" + prevB + rubberName, codeSuffix);
|
||||
//update-begin---author:jiangxh ---date:20260730 for:【混炼示方生成】母胶编号不拼版本后缀-----------
|
||||
String motherSpecCode = buildBfRubberSpecCode("B" + prevB, rubberName);
|
||||
//update-end---author:jiangxh ---date:20260730 for:【混炼示方生成】母胶编号不拼版本后缀-----------
|
||||
BigDecimal motherWeight = resolveStageCumulativeTotal(formula, lines, prevB);
|
||||
materials.add(
|
||||
createMotherRubberMaterial(
|
||||
@@ -1205,7 +1277,7 @@ public class MesXslFormulaSpecServiceImpl extends ServiceImpl<MesXslFormulaSpecM
|
||||
//update-end---author:cursor ---date:20260601 for:【XSLMES-20260601-A62】上一段母胶明细行改绑胶料信息-----------
|
||||
}
|
||||
|
||||
/** 上一段 B 段胶尚未写入胶料信息时,按配合示方胶料类别补建一条胶料信息 */
|
||||
/** 上一段 B 段胶必须已在胶料信息中维护,不再自动补建 */
|
||||
private void ensureMotherRubberMaterialSynced(
|
||||
String motherSpecCode,
|
||||
MesXslFormulaSpec formula,
|
||||
@@ -1214,13 +1286,12 @@ public class MesXslFormulaSpecServiceImpl extends ServiceImpl<MesXslFormulaSpecM
|
||||
return;
|
||||
}
|
||||
String normalized = motherSpecCode.trim();
|
||||
//update-begin---author:jiangxh ---date:20260729 for:【混炼示方生成】上一段母胶改为胶料列表匹配,不存在则提示-----------
|
||||
if (findRubberMaterialByCodeOrName(normalized) != null) {
|
||||
return;
|
||||
}
|
||||
MesXslFormulaMixingGenerateRowVO stub = new MesXslFormulaMixingGenerateRowVO();
|
||||
stub.setSpecCode(normalized);
|
||||
stub.setStepType("A");
|
||||
syncGeneratedRubberMixerMaterial(stub, formula, null, categoryIdCache);
|
||||
throw new IllegalArgumentException("请先维护母胶和终胶信息:" + normalized);
|
||||
//update-end---author:jiangxh ---date:20260729 for:【混炼示方生成】上一段母胶改为胶料列表匹配,不存在则提示-----------
|
||||
}
|
||||
|
||||
/** 按密炼物料主数据回填混炼示方明细行(名称/大小类/种类) */
|
||||
@@ -1272,9 +1343,17 @@ public class MesXslFormulaSpecServiceImpl extends ServiceImpl<MesXslFormulaSpecM
|
||||
material.setMaterialMajor(null);
|
||||
material.setMaterialMinor(categoryName);
|
||||
material.setMixerMaterialId(rubber.getId());
|
||||
material.setMaterialKind(
|
||||
mesXslMixerMaterialKindCfgService.resolveMixingMaterialKind(
|
||||
kindLookup, rubber.getCategoryId(), null, categoryName));
|
||||
//update-begin---author:jiangxh ---date:20260729 for:【混炼示方生成】母胶行种类按配置解析,未命中则带入胶料兜底种类-----------
|
||||
String kind = mesXslMixerMaterialKindCfgService.resolveMixingMaterialKind(
|
||||
kindLookup, rubber.getCategoryId(), null, categoryName);
|
||||
if (StringUtils.isBlank(kind) && kindLookup != null && StringUtils.isNotBlank(kindLookup.getRubberKindName())) {
|
||||
kind = kindLookup.getRubberKindName().trim();
|
||||
}
|
||||
if (StringUtils.isBlank(kind)) {
|
||||
kind = "胶料";
|
||||
}
|
||||
material.setMaterialKind(kind);
|
||||
//update-end---author:jiangxh ---date:20260729 for:【混炼示方生成】母胶行种类按配置解析,未命中则带入胶料兜底种类-----------
|
||||
}
|
||||
|
||||
/** 未查到胶料信息时,按配合示方胶料类别从配置表解析种类 */
|
||||
@@ -1287,9 +1366,17 @@ public class MesXslFormulaSpecServiceImpl extends ServiceImpl<MesXslFormulaSpecM
|
||||
String categoryName = resolveCategoryName(categoryId, categoryNameCache);
|
||||
material.setMaterialMajor(null);
|
||||
material.setMaterialMinor(categoryName);
|
||||
material.setMaterialKind(
|
||||
mesXslMixerMaterialKindCfgService.resolveMixingMaterialKind(
|
||||
kindLookup, categoryId, null, categoryName));
|
||||
//update-begin---author:jiangxh ---date:20260729 for:【混炼示方生成】母胶兜底种类带入胶料种类-----------
|
||||
String kind = mesXslMixerMaterialKindCfgService.resolveMixingMaterialKind(
|
||||
kindLookup, categoryId, null, categoryName);
|
||||
if (StringUtils.isBlank(kind) && kindLookup != null && StringUtils.isNotBlank(kindLookup.getRubberKindName())) {
|
||||
kind = kindLookup.getRubberKindName().trim();
|
||||
}
|
||||
if (StringUtils.isBlank(kind)) {
|
||||
kind = "胶料";
|
||||
}
|
||||
material.setMaterialKind(kind);
|
||||
//update-end---author:jiangxh ---date:20260729 for:【混炼示方生成】母胶兜底种类带入胶料种类-----------
|
||||
}
|
||||
//update-end---author:cursor ---date:20260601 for:【XSLMES-20260601-A62】母胶明细行按胶料信息回填-----------
|
||||
//update-end---author:cursor ---date:20260525 for:【XSLMES-20260525-A54】母炼胶明细行绑定已同步密炼物料主数据-----------
|
||||
|
||||
Reference in New Issue
Block a user