更新配合示方模块,新增密炼PS审批联动功能,支持状态与审批人同步,优化相关服务实现,调整数据库状态字典,增强系统数据一致性和用户体验。

This commit is contained in:
geht
2026-05-22 12:15:05 +08:00
parent 89407d1f1d
commit 680eb6c54c
6 changed files with 116 additions and 2 deletions

View File

@@ -103,3 +103,11 @@ jeecgboot-vue3/src/views/xslmes/mesXslFormulaSpec/components/MesXslFormulaSpecMo
-- author:cursor---date:20260521--for: 【配合示方】编辑打开时基本资料闪清修复 ---
jeecgboot-vue3/src/views/xslmes/mesXslFormulaSpec/components/MesXslFormulaSpecModal.vue
-- author:cursor---date:20260522--for: 【配合示方】状态字典调整为审批流程8项 ---
jeecg-module-system/jeecg-system-start/src/main/resources/flyway/sql/mysql/V3.9.2_97__mes_xsl_formula_spec_status_dict.sql
-- author:cursor---date:20260522--for: 【配合示方】密炼PS校对/审核/批准联动同步状态与审批人 ---
jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/IMesXslFormulaSpecService.java
jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslFormulaSpecServiceImpl.java
jeecg-boot-module/jeecg-module-xslmes/src/main/java/org/jeecg/modules/xslmes/service/impl/MesXslMixerPsCompileServiceImpl.java

View File

@@ -6,6 +6,7 @@ import java.util.Collection;
import java.util.List;
import org.jeecg.modules.xslmes.entity.MesXslFormulaSpec;
import org.jeecg.modules.xslmes.entity.MesXslFormulaSpecLine;
import org.jeecg.modules.xslmes.entity.MesXslMixerPsCompile;
public interface IMesXslFormulaSpecService extends IService<MesXslFormulaSpec> {
@@ -25,4 +26,14 @@ public interface IMesXslFormulaSpecService extends IService<MesXslFormulaSpec> {
* 生成胶料代号D + 胶料名称 + 分类键值(S/P/T/C) + 版本号(A01-Z01)
*/
String generateRubberCode(String rubberMaterialId, String category, String excludeSpecId);
//update-begin---author:cursor ---date:20260522 for【配合示方】密炼PS审批联动同步状态与审批人-----------
/**
* 密炼PS校对/审核/批准后按发行编号PS编码同步关联配合示方状态与审批人
*
* @param ps 已更新后的密炼PS编制单
* @param mixerPsTargetStatus 密炼PS目标状态proofread / audit / approve
*/
void syncFromMixerPsWorkflow(MesXslMixerPsCompile ps, String mixerPsTargetStatus);
//update-end---author:cursor ---date:20260522 for【配合示方】密炼PS审批联动同步状态与审批人-----------
}

View File

@@ -21,8 +21,10 @@ import org.jeecg.modules.mes.material.entity.MesMaterial;
import org.jeecg.modules.mes.material.entity.MesMixerMaterial;
import org.jeecg.modules.mes.material.service.IMesMaterialService;
import org.jeecg.modules.mes.material.service.IMesMixerMaterialService;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.xslmes.entity.MesXslFormulaSpec;
import org.jeecg.modules.xslmes.entity.MesXslFormulaSpecLine;
import org.jeecg.modules.xslmes.entity.MesXslMixerPsCompile;
import org.jeecg.modules.xslmes.mapper.MesXslFormulaSpecLineMapper;
import org.jeecg.modules.xslmes.mapper.MesXslFormulaSpecMapper;
import org.jeecg.modules.xslmes.service.IMesXslFormulaSpecService;
@@ -400,4 +402,36 @@ public class MesXslFormulaSpecServiceImpl extends ServiceImpl<MesXslFormulaSpecM
return line.getPhr().divide(material.getSpecificGravity(), 6, RoundingMode.HALF_UP);
}
//update-end---author:cursor ---date:20260521 for【配合示方】保存后汇总A/Q胶比重写入数据库-----------
//update-begin---author:cursor ---date:20260522 for【配合示方】密炼PS审批联动同步状态与审批人-----------
@Override
public void syncFromMixerPsWorkflow(MesXslMixerPsCompile ps, String mixerPsTargetStatus) {
if (ps == null || oConvertUtils.isEmpty(ps.getPsCode()) || oConvertUtils.isEmpty(mixerPsTargetStatus)) {
return;
}
LambdaUpdateWrapper<MesXslFormulaSpec> wrapper = new LambdaUpdateWrapper<>();
wrapper.eq(MesXslFormulaSpec::getIssueNumber, ps.getPsCode());
switch (mixerPsTargetStatus) {
case "proofread":
wrapper.set(MesXslFormulaSpec::getStatus, "submit")
.set(MesXslFormulaSpec::getProofreadBy, ps.getProofreadBy())
.set(MesXslFormulaSpec::getProofreadTime, ps.getProofreadTime());
break;
case "audit":
wrapper.set(MesXslFormulaSpec::getStatus, "review_pass")
.set(MesXslFormulaSpec::getAuditBy, ps.getAuditBy())
.set(MesXslFormulaSpec::getAuditTime, ps.getAuditTime());
break;
case "approve":
wrapper.set(MesXslFormulaSpec::getStatus, "recognition_pass")
.set(MesXslFormulaSpec::getApproveBy, ps.getApproveBy())
.set(MesXslFormulaSpec::getApproveTime, ps.getApproveTime());
break;
default:
return;
}
wrapper.set(MesXslFormulaSpec::getUpdateTime, new Date());
this.update(wrapper);
}
//update-end---author:cursor ---date:20260522 for【配合示方】密炼PS审批联动同步状态与审批人-----------
}

View File

@@ -7,7 +7,9 @@ import java.util.List;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.xslmes.entity.MesXslMixerPsCompile;
import org.jeecg.modules.xslmes.mapper.MesXslMixerPsCompileMapper;
import org.jeecg.modules.xslmes.service.IMesXslFormulaSpecService;
import org.jeecg.modules.xslmes.service.IMesXslMixerPsCompileService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -18,6 +20,9 @@ import org.springframework.transaction.annotation.Transactional;
public class MesXslMixerPsCompileServiceImpl extends ServiceImpl<MesXslMixerPsCompileMapper, MesXslMixerPsCompile>
implements IMesXslMixerPsCompileService {
@Autowired
private IMesXslFormulaSpecService mesXslFormulaSpecService;
//update-begin---author:jiangxh ---date:20260520 for【密炼PS编制】批量流转状态-----------
@Override
@Transactional(rollbackFor = Exception.class)
@@ -44,6 +49,9 @@ public class MesXslMixerPsCompileServiceImpl extends ServiceImpl<MesXslMixerPsCo
entity.setStatus(targetStatus);
fillWorkflowInfo(entity, targetStatus, operatorName, now);
updateById(entity);
//update-begin---author:cursor ---date:20260522 for【配合示方】密炼PS审批联动同步状态与审批人-----------
mesXslFormulaSpecService.syncFromMixerPsWorkflow(entity, targetStatus);
//update-end---author:cursor ---date:20260522 for【配合示方】密炼PS审批联动同步状态与审批人-----------
}
return null;
}

View File

@@ -0,0 +1,45 @@
-- 配合示方状态字典编制/提交审批/检讨审批/承认审批/作废/尚未到生效期
SET NAMES utf8mb4;
UPDATE `sys_dict`
SET `description` = 'MES配合示方状态编制/提交审批/检讨/承认/作废/生效期', `update_by` = 'admin', `update_time` = NOW()
WHERE `id` = '1995000000000000013';
UPDATE `sys_dict_item`
SET `item_text` = '编制', `item_value` = 'compile', `sort_order` = 1, `update_by` = 'admin', `update_time` = NOW()
WHERE `id` = '1995000000000001031';
UPDATE `sys_dict_item`
SET `item_text` = '提交审批', `item_value` = 'submit', `sort_order` = 2, `update_by` = 'admin', `update_time` = NOW()
WHERE `id` = '1995000000000001032';
UPDATE `sys_dict_item`
SET `item_text` = '检讨审批通过', `item_value` = 'review_pass', `sort_order` = 3, `update_by` = 'admin', `update_time` = NOW()
WHERE `id` = '1995000000000001033';
INSERT IGNORE INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
VALUES ('1995000000000001037', '1995000000000000013', '检讨审批退回', 'review_return', 4, 1, 'admin', NOW());
UPDATE `sys_dict_item`
SET `item_text` = '承认审批通过-即正式发布', `item_value` = 'recognition_pass', `sort_order` = 5, `update_by` = 'admin', `update_time` = NOW()
WHERE `id` = '1995000000000001034';
INSERT IGNORE INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
VALUES ('1995000000000001038', '1995000000000000013', '承认审批退回', 'recognition_return', 6, 1, 'admin', NOW());
UPDATE `sys_dict_item`
SET `item_text` = '作废', `item_value` = 'obsolete', `sort_order` = 7, `update_by` = 'admin', `update_time` = NOW()
WHERE `id` = '1995000000000001035';
INSERT IGNORE INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `sort_order`, `status`, `create_by`, `create_time`)
VALUES ('1995000000000001039', '1995000000000000013', '尚未到生效期', 'not_effective', 8, 1, 'admin', NOW());
UPDATE `sys_dict_item` SET `status` = 0, `update_by` = 'admin', `update_time` = NOW()
WHERE `dict_id` = '1995000000000000013' AND `id` = '1995000000000001036';
UPDATE `mes_xsl_formula_spec` SET `status` = 'submit' WHERE `status` = 'proofread';
UPDATE `mes_xsl_formula_spec` SET `status` = 'review_pass' WHERE `status` = 'audit';
UPDATE `mes_xsl_formula_spec` SET `status` = 'recognition_pass' WHERE `status` IN ('approve', 'released');
ALTER TABLE `mes_xsl_formula_spec`
MODIFY COLUMN `status` varchar(32) DEFAULT 'compile' COMMENT '状态字典xslmes_formula_spec_statuscompile编制 submit提交审批 review_pass检讨通过 review_return检讨退回 recognition_pass承认通过 recognition_return承认退回 obsolete作废 not_effective尚未生效';

View File

@@ -18,7 +18,15 @@
],
"settings": {
"java.compile.nullAnalysis.mode": "automatic",
"java.configuration.updateBuildConfiguration": "interactive",
"java.jdt.ls.vmargs": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx4G -Xms100m -Xlog:disable"
"java.import.maven.enabled": true,
"java.configuration.updateBuildConfiguration": "automatic",
"java.autobuild.enabled": true,
"java.jdt.ls.java.home": "C:\\Program Files\\Java\\jdk-17",
"java.jdt.ls.vmargs": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx4G -Xms100m -Xlog:disable",
"java.import.exclusions": [
"**/jeecg-server-cloud/**",
"**/jeecg-boot-platform/**",
"**/node_modules/**"
]
}
}