diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java index b0921e1c..1a262655 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java @@ -320,6 +320,7 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { //母工单报工 logger.info("==========================母工单报工开始"); pHzWork.setQuantityFeedback(sHzWorks.getQuantityFeedback()); + pHzWork.setSac1(sHzWorks.getSac1()); this.reportHzToSap(pHzWork); logger.info("==========================母工单报工结束"); //最终报工标识:关闭子母工单 @@ -349,17 +350,34 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { return R.ok(); } + /** + * 子单进行报工的时候公式调整如下(数值单位不用管): + * 机器=sum(工时数/用人数) + * 人工 = 用人数*机器 + * 折旧 = 机器 + * 其它 = 人工 + * + * 母单进行报工的时候公式调整如下: + * 机器=子单机器 + * 人工 = 管理系统维护的用人数*机器 + * 折旧 = 机器 + * 其它 = 人工 + * @param workOrder + * @return + */ private R reportHzToSap(MesReportWork workOrder){ SapRFW sapRFW = new SapRFW(); sapRFW.setAufnr(workOrder.getWorkorderCodeSap());//虚拟工单号 sapRFW.setGamng(workOrder.getQuantityFeedback().toString());//报工数量 SapRFW.lt_gs ltgs = new SapRFW.lt_gs();//生产订单报工工时修改 - ltgs.setConf_activity1(workOrder.getSac1());//人工 - ltgs.setConf_activity2(workOrder.getSac2()); - ltgs.setConf_activity3(workOrder.getSac3());//机器 - ltgs.setConf_activity4(workOrder.getSac4()); - ltgs.setConf_activity5(workOrder.getSac5());//折旧 - ltgs.setConf_activity6(workOrder.getSac6()); + ltgs.setConf_activity1(workOrder.getSac1());//机器 + BigDecimal newMan = new BigDecimal(workOrder.getSac1()) + .multiply(new BigDecimal(workOrder.getSac2())); + ltgs.setConf_activity2(newMan.toString());//人工 + ltgs.setConf_activity3(workOrder.getSac1());//折旧 + ltgs.setConf_activity4(newMan.toString());//其它 +// ltgs.setConf_activity5(workOrder.getSac5()); +// ltgs.setConf_activity6(workOrder.getSac6()); sapRFW.setLt_gs(ltgs); List lt_hwList =new ArrayList<>(); MesReportWorkConsume consumeqo = new MesReportWorkConsume(); diff --git a/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkMapper.xml b/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkMapper.xml index 5c6c1630..044f19ae 100644 --- a/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkMapper.xml +++ b/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkMapper.xml @@ -319,7 +319,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" from mes_material_transfer_result mt left join base_equipment equ on mt.equipmentCode = equ.equipment_code left join pro_order_workorder pow on pow.workorder_id = mt.OrderCode - where 1=1 + where mt.rfid_status = '1' and CONVERT(varchar(30),mt.update_time, 120) >= #{productDateStart} and #{productDateEnd} > CONVERT(varchar(30),mt.update_time, 120) @@ -360,7 +360,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" equipmentCode, OrderCode from mes_material_transfer_result - where 1=1 + where rfid_status = '1' and CONVERT(varchar(30),update_time, 120) >= #{productDateStart} and #{productDateEnd} > CONVERT(varchar(30),update_time, 120) )mt @@ -552,26 +552,32 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" mrw.quantity_feedback quantityFeedback, mrw.product_code productCode, mrw.product_name productName, + mrw.sac1, + mrw.sac2 + from ( select workorder_code, sum(quantity_feedback) quantity_feedback, + sum(round( work_time/use_man,2)) sac1, + use_man sac2, product_code, product_name from mes_report_work where upload_status != #{uploadStatus} and prod_type = #{prodType} and workorder_code = #{workorderCode} - group by workorder_code,product_code,product_name + group by workorder_code,product_code,product_name,use_man ) mrw left join pro_order_workorder ow on mrw.workorder_code = ow.workorder_code - left join pro_route rte on rte.route_code = ow.route_code +