| | |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.pro.workorder.MesProWorkOrderBomDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.pro.workorder.MesProWorkOrderDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.pro.workorder.MesProWorkOrderProcessDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.qc.ipqc.MesQcIpqcDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.materialstock.MesWmMaterialStockDO; |
| | | import cn.iocoder.yudao.module.mes.dal.mysql.dv.machinery.MesDvMachineryMapper; |
| | | import cn.iocoder.yudao.module.mes.dal.mysql.md.workstation.MesMdWorkstationMachineMapper; |
| | |
| | | import cn.iocoder.yudao.module.mes.dal.mysql.pro.task.MesProTaskIssueMapper; |
| | | import cn.iocoder.yudao.module.mes.dal.mysql.pro.task.MesProTaskMapper; |
| | | import cn.iocoder.yudao.module.mes.dal.mysql.pro.workorder.MesProWorkOrderBomMapper; |
| | | import cn.iocoder.yudao.module.mes.dal.mysql.qc.ipqc.MesQcIpqcMapper; |
| | | import cn.iocoder.yudao.module.mes.dal.mysql.wm.materialstock.MesWmMaterialStockMapper; |
| | | import cn.iocoder.yudao.module.mes.service.pro.mps.MesProMpsService; |
| | | import cn.iocoder.yudao.module.mes.service.pro.process.MesProProcessService; |
| | |
| | | 你需要综合分析以下信息,给出专业的风险评估: |
| | | |
| | | ## 分析维度 |
| | | 1. 质量风险:过程检验(IPQC)的缺陷率数据(致命/严重/轻微缺陷率) |
| | | 2. 设备风险:设备状态、上次保养时间、上次点检时间、生产效率 |
| | | 3. 物料风险:物料库存可用量与需求量的对比 |
| | | 4. 工艺瓶颈:关键工序的设备产能、任务排队情况 |
| | | 1. 设备风险:设备状态、上次保养时间、上次点检时间、生产效率 |
| | | 2. 物料风险:物料库存可用量与需求量的对比 |
| | | 3. 工艺瓶颈:关键工序的设备产能、任务排队情况 |
| | | |
| | | ## 风险等级定义 |
| | | - 高:存在致命缺陷率>5% 或 设备故障 或 关键物料短缺>50% 或 关键工序严重积压 |
| | | - 中:存在严重缺陷率>10% 或 设备长期未保养 或 物料紧张 |
| | | - 高:存在设备故障 或 关键物料短缺>50% 或 关键工序严重积压 |
| | | - 中:存在设备长期未保养 或 物料紧张 |
| | | - 低:各项指标正常 |
| | | |
| | | ## 输出格式 |
| | |
| | | overallRiskLevel 取值:1=低风险 2=中风险 3=高风险 |
| | | riskLevel 取值:充足/紧张/短缺 |
| | | severity 取值:高/中/低 |
| | | category 取值:质量/设备/物料/工艺瓶颈 |
| | | category 取值:设备/物料/工艺瓶颈 |
| | | """; |
| | | |
| | | private static final String SYSTEM_PROMPT_DELIVERY = """ |
| | |
| | | private MesProTaskIssueMapper taskIssueMapper; |
| | | @Resource |
| | | private MesProFeedbackMapper feedbackMapper; |
| | | @Resource |
| | | private MesQcIpqcMapper ipqcMapper; |
| | | @Resource |
| | | private MesWmMaterialStockMapper materialStockMapper; |
| | | @Resource |
| | |
| | | data.put("计划数量", workOrder.getQuantity()); |
| | | data.put("已生产数量", workOrder.getQuantityProduced()); |
| | | fillItemInfo(data, workOrder.getProductId()); |
| | | |
| | | // 质量风险 - IPQC |
| | | List<MesQcIpqcDO> ipqcList = ipqcMapper.selectList( |
| | | new LambdaQueryWrapper<MesQcIpqcDO>() |
| | | .eq(MesQcIpqcDO::getWorkOrderId, workOrderId)); |
| | | if (CollUtil.isNotEmpty(ipqcList)) { |
| | | List<Map<String, Object>> qcData = ipqcList.stream().map(ipqc -> { |
| | | Map<String, Object> item = new LinkedHashMap<>(); |
| | | item.put("检验单编号", ipqc.getCode()); |
| | | item.put("致命缺陷率", ipqc.getCriticalRate() != null ? ipqc.getCriticalRate() + "%" : "0%"); |
| | | item.put("严重缺陷率", ipqc.getMajorRate() != null ? ipqc.getMajorRate() + "%" : "0%"); |
| | | item.put("轻微缺陷率", ipqc.getMinorRate() != null ? ipqc.getMinorRate() + "%" : "0%"); |
| | | item.put("致命缺陷数", ipqc.getCriticalQuantity() != null ? ipqc.getCriticalQuantity() : 0); |
| | | item.put("严重缺陷数", ipqc.getMajorQuantity() != null ? ipqc.getMajorQuantity() : 0); |
| | | item.put("轻微缺陷数", ipqc.getMinorQuantity() != null ? ipqc.getMinorQuantity() : 0); |
| | | item.put("检验结果", ipqc.getCheckResult()); |
| | | return item; |
| | | }).collect(Collectors.toList()); |
| | | data.put("过程检验(IPQC)记录", qcData); |
| | | } |
| | | |
| | | // 设备风险 |
| | | List<MesProTaskDO> tasks = taskMapper.selectListByWorkOrderId(workOrderId); |