diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/domain/quality/QcCheckTaskIncomeDTO.java b/op-api/op-api-system/src/main/java/com/op/system/api/domain/quality/QcCheckTaskIncomeDTO.java index 59646ec0c..bbce241d3 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/domain/quality/QcCheckTaskIncomeDTO.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/domain/quality/QcCheckTaskIncomeDTO.java @@ -136,6 +136,15 @@ public class QcCheckTaskIncomeDTO extends BaseEntity { private BigDecimal bNoOkquality; private BigDecimal cNoOkquality; private String orderType; + private String orderTypeDesc; + + public String getOrderTypeDesc() { + return orderTypeDesc; + } + + public void setOrderTypeDesc(String orderTypeDesc) { + this.orderTypeDesc = orderTypeDesc; + } public String getOrderType() { return orderType; diff --git a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkMapper.java b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkMapper.java index a17fb24a3..595d4cbcf 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkMapper.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesReportWorkMapper.java @@ -1,5 +1,6 @@ package com.op.mes.mapper; +import java.math.BigDecimal; import java.util.List; import java.util.Map; @@ -144,4 +145,6 @@ public interface MesReportWorkMapper { int updateAttr2(MesReportWork workorder); void updateReportRemark(@Param("list") List mesReportWork); + + BigDecimal getReportRate(String productCode); } 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 d8813b383..a11e4b73f 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 @@ -37,6 +37,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.math.BigDecimal; +import java.math.RoundingMode; import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; @@ -372,6 +373,13 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { if(sHzWorks==null){ return R.fail("未查询到子报工单"); } + //查询base_product的report_rate//箱子-大盒-小盒 + BigDecimal reportRate = mesReportWorkMapper.getReportRate(workOrders.get(0).getProductCode()); + if(reportRate != null){ + BigDecimal newQuantity = sHzWorks.getQuantityFeedback().divide(reportRate,2, RoundingMode.HALF_UP); + sHzWorks.setQuantityFeedback(newQuantity); + } + //子工单报工 logger.info("==========================子工单报工开始"); sapRson = this.reportHzToSap(sHzWorks); @@ -398,7 +406,7 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { } }else if(workOrders.size()>=3){ - MesReportWork hzWorks = null; + BigDecimal gamng = null; for(int n=0;n select workorder_code_sap workorderCodeSap, workorder_code workorderCode, - factory_code factoryCode + factory_code factoryCode, + product_code productCode from pro_order_workorder where belong_work_order = #{workorderCode} and del_flag = '0' order by order_code @@ -520,9 +521,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" pow.del_flag = '0' - and pow.order_code like concat('%', #{keywords}, '%') or - pow.workorder_code_sap like concat('%', #{keywords}, '%') or - mrw.productCode like concat('%', #{keywords}, '%') + and ( + pow.order_code like concat('%', #{keywords}, '%') or + pow.workorder_code_sap like concat('%', #{keywords}, '%') or + mrw.productCode like concat('%', #{keywords}, '%') + ) and pow.product_date >= #{feedbackTimeStart} and #{feedbackTimeEnd} >= pow.product_date @@ -692,6 +695,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where mrwc.attr1 = '1' and mrwc.del_flag = '0' and mrwc.attr2 = '0' and mrwc.parent_order = #{workorderCode} + insert into mes_report_work diff --git a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java index 537200570..8baa13530 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java @@ -303,7 +303,7 @@ public class ProOrderServiceImpl implements IProOrderService { workOrder.setProductName(productNameInfo.getProdDesc()); workOrder.setBelongWorkOrder(belongWorkOrder); - workOrder.setProdType("LJ01"); + workOrder.setProdType(proOrder.getOrderType()); // 将工单信息更新至数据库/**pro_order_workorder**/ proOrderWorkorderMapper.insertProOrderWorkorder(workOrder); @@ -574,7 +574,6 @@ public class ProOrderServiceImpl implements IProOrderService { order.setPlanFactoryCode(factoryCode); order.setFactoryCode(factoryCode); order.setCreateBy(SecurityUtils.getUsername()); - order.setOrderType("LJ01"); order.setProdType("prod"); order.setStatus("o0"); bpqo = new BaseProduct(); diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskIncome.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskIncome.java index e0df6f82e..5d1e0c9ce 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskIncome.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskIncome.java @@ -168,6 +168,7 @@ public class QcCheckTaskIncome extends BaseEntity { */ private String delFlag; private String orderType; + private String orderTypeDesc; private String incomeTimeStart; private String incomeTimeEnd; private String checkTimeStart; @@ -193,6 +194,33 @@ public class QcCheckTaskIncome extends BaseEntity { private String noOkQualityNames; private String noOkQualityVals; + private String materialType;//来料类别 + private String materialFrom;//物料来源 + + public String getOrderTypeDesc() { + return orderTypeDesc; + } + + public void setOrderTypeDesc(String orderTypeDesc) { + this.orderTypeDesc = orderTypeDesc; + } + + public String getMaterialType() { + return materialType; + } + + public void setMaterialType(String materialType) { + this.materialType = materialType; + } + + public String getMaterialFrom() { + return materialFrom; + } + + public void setMaterialFrom(String materialFrom) { + this.materialFrom = materialFrom; + } + public String getCheckLocName() { return checkLocName; } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java index 6487e0286..4ef7ca3ff 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java @@ -256,7 +256,7 @@ public class QcCheckTaskIncomeServiceImpl implements } } qcCheckTaskIncome.setNoOkQuality(noOkQuality); - /**qc_check_task**/ + /**qc_check_task**///------------------zxl qcCheckTaskIncomeMapper.insertQcCheckTaskIncome(qcCheckTaskIncome); /**qc_check_task_detail**/ diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml index dff8c47cf..2cf55975f 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml @@ -36,13 +36,17 @@ + + + select record_id, check_no, income_batch_no, order_no, material_code, material_name, quality, unit, supplier_code, supplier_name, income_time, check_loc, check_status, check_man_code, check_man_name, check_time, check_result, status, attr1, attr2, attr3, attr4, create_by, - create_time, update_by, update_time, factory_code, del_flag , check_type,sample_quality, noOk_quality + create_time, update_by, update_time, factory_code, del_flag , check_type,sample_quality, noOk_quality, + order_type,order_type_desc from qc_check_task @@ -52,7 +56,7 @@ qct.supplier_code, qct.supplier_name, qct.income_time, qct.check_loc, qct.check_status, qct.check_man_code, qct.check_man_name,qct.check_time, qct.check_result, qct.status, qct.create_by,qct.create_time, qct.update_by, qct.update_time,qct.check_type,qct.noOk_quality, - qct.sample_quality, qct.type_code + qct.sample_quality, qct.type_code, qct.order_type from qc_check_task qct and qct.check_no = #{checkNo} @@ -83,6 +87,7 @@ and #{checkTimeEnd} > CONVERT(varchar(30),qct.check_time, 120) and qct.check_type = #{checkType} and qct.type_code = #{typeCode} + and qct.order_type = #{orderType} order by qct.create_time DESC @@ -208,6 +213,7 @@ type_code, sample_quality, order_type, + order_type_desc, #{recordId}, @@ -243,6 +249,7 @@ #{typeCode}, #{sampleQuality}, #{orderType}, + #{orderTypeDesc}, diff --git a/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapItemSyncImpl.java b/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapItemSyncImpl.java index e630f7efd..b72170cab 100644 --- a/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapItemSyncImpl.java +++ b/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapItemSyncImpl.java @@ -412,6 +412,10 @@ public class SapItemSyncImpl implements SapItemSyncService { qcCheckTaskIncomeDTO.setRecordId(IdUtils.fastSimpleUUID()); qcCheckTaskIncomeDTO.setCheckType("checkTypeLL"); qcCheckTaskIncomeDTO.setTypeCode("material"); + /**8010 榄菊成品;8020 榄菊半成品;8030 榄菊原材料;8040 榄菊包装材料;8050 榄菊塑料五金电子;8060 榄菊辅助用品 + ;8061 榄菊办公用品;8062 榄菊劳保用品;8070 榄菊广宣品;8090 榄菊未估价的物料**/ + qcCheckTaskIncomeDTO.setOrderType(maraTable.getString("MTART"));//物料类型 + qcCheckTaskIncomeDTO.setOrderTypeDesc(maraTable.getString("MTBEZ"));//物料类型描述 qcCheckTaskIncomeDTO.setOrderNo(maraTable.getString("EBELN"));//采购订单 qcCheckTaskIncomeDTO.setSupplierCode(maraTable.getString("LIFNR")); qcCheckTaskIncomeDTO.setSupplierName(maraTable.getString("LIFNR_NM")); diff --git a/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsToWCSmissionController.java b/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsToWCSmissionController.java index 3df730b7a..062794f36 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsToWCSmissionController.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsToWCSmissionController.java @@ -262,6 +262,7 @@ public class WmsToWCSmissionController { public AjaxResult selectSnCorrelationBarcode(@RequestBody WmsProductPutTrayCode wmsProductPutTrayCode) { return AjaxResult.success(wmsProductPutService.selectSnCorrelationBarcode(wmsProductPutTrayCode)); } + /** * 成品销售出库--查询接口 * diff --git a/op-modules/op-wms/src/main/java/com/op/wms/domain/BaseProduct.java b/op-modules/op-wms/src/main/java/com/op/wms/domain/BaseProduct.java index 94faff0dc..2f4b896e2 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/domain/BaseProduct.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/domain/BaseProduct.java @@ -344,6 +344,12 @@ public class BaseProduct extends BaseEntity { @Excel(name = "其它") private String other; + /** + * 报工汇率 + */ + @Excel(name = "报工汇率") + private Integer reportRate; + public void setCategory(String category) { this.category = category; } @@ -784,6 +790,14 @@ public class BaseProduct extends BaseEntity { return mtart; } + public void setReportRate(Integer reportRate) { + this.reportRate = reportRate; + } + + public Integer getReportRate() { + return reportRate; + } + @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/IWmsProductPutService.java b/op-modules/op-wms/src/main/java/com/op/wms/service/IWmsProductPutService.java index a55262ab0..f1fd022d3 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/IWmsProductPutService.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/IWmsProductPutService.java @@ -87,7 +87,7 @@ public interface IWmsProductPutService { String deletSnCorrelationBarcode(WmsProductPutTrayCode wmsProductPutTrayCode); - List selectFinishedProductSales(WmsSellOutEmbryo wmsSellOutEmbryo); + String selectFinishedProductSales(WmsSellOutEmbryo wmsSellOutEmbryo); /** * 成品销售出库--确认接口 * diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java index a294539a6..0c70f5962 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java @@ -674,9 +674,83 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService { return result; } + /** + * + "MAKTX": "榄菊果蔬餐具净(海盐柠檬)1kg×10",描述 物料描述 + "KUNNR": "0001010404", //送达方 + "VBELN": "0081003133", //交货单 + "ZSAREA": "", //销售大区 + "BZTXT1": "", //销售大区描述 + "KUNNR_NM": "上海大润发有限公司(华东高新总仓)", //送达方描述 + "MENGE": "6.000", //数量 + "MEINS": "KAR", //单位 + "LIFNR_NM": "上海中集公联集装箱储运有限公司", //货运代理描述 + "TDDAT": "2202-02-09", //计划日期 + "LIFNR": "0000400213", //货运代理 + "VBELN_VA": "0000738138", //销售单 + "MATNR": "000000010201020100" 物料描述 + * @param wmsSellOutEmbryo + * @return + */ @Override - public List selectFinishedProductSales(WmsSellOutEmbryo wmsSellOutEmbryo) { - return null; + public String selectFinishedProductSales(WmsSellOutEmbryo wmsSellOutEmbryo) { + String results="提单成功"; + DynamicDataSourceContextHolder.push("ds_" + wmsSellOutEmbryo.getFactoryCode()); + Map objectMap=new HashMap<>(); +// objectMap.put("S_MATNR","");//物料号, +// objectMap.put("S_TDDAT","");//String 计划运输日期 + objectMap.put("VBELN_VA",wmsSellOutEmbryo.getDeliveryOrder());//交货单 + R result = remoteSapService.FPinventory(objectMap); + int code = result.getCode(); + String msg = result.getMsg(); + if(code==200){ + List> mapList= (List>) result.getData(); + for ( Map stringStringMap: mapList){ + String MAKTX=stringStringMap.get("MAKTX");//物料描述 + String MATNR=stringStringMap.get("MATNR");//物料号 + String KUNNR=stringStringMap.get("KUNNR");//送达方 + String VBELN=stringStringMap.get("VBELN");//交货单---一销售单对多交货单 + String VBELN_VA=stringStringMap.get("VBELN_VA");//销售单 + String MENGE=stringStringMap.get("MENGE");//数量 + String MEINS=stringStringMap.get("MEINS");//单位 + String TDDAT=stringStringMap.get("TDDAT");//计划日期 + String KUNNR_NM=stringStringMap.get("KUNNR_NM");//送达方描述 + String LIFNR=stringStringMap.get("LIFNR");//货运代理 + String LIFNR_NM=stringStringMap.get("LIFNR_NM");//货运代理描述 + String ZSAREA=stringStringMap.get("ZSAREA");//销售大区 + String BZTXT1=stringStringMap.get("BZTXT1");//销售大区描述 + WmsSellOutEmbryo wmsSellOutEmbryo1=new WmsSellOutEmbryo(); + wmsSellOutEmbryo1.setId(IdUtils.fastSimpleUUID()); + wmsSellOutEmbryo1.setDeliveryOrder(VBELN);//交货单号 + wmsSellOutEmbryo1.setAttr1(VBELN_VA); + wmsSellOutEmbryo1.setProductCode(MATNR); + wmsSellOutEmbryo1.setProductName(MAKTX); + wmsSellOutEmbryo1.setFactoryCode(wmsSellOutEmbryo.getFactoryCode()); + wmsSellOutEmbryo1.setOutQuantity(new BigDecimal("0")); + wmsSellOutEmbryo1.setAttr2(KUNNR); + wmsSellOutEmbryo1.setAttr3(KUNNR_NM); + wmsSellOutEmbryo1.setAttr4(LIFNR); + wmsSellOutEmbryo1.setAttr5(LIFNR_NM); + wmsSellOutEmbryo1.setAttr6(ZSAREA); + wmsSellOutEmbryo1.setAttr7(BZTXT1); + wmsSellOutEmbryo1.setAttr8(TDDAT); + wmsSellOutEmbryo1.setPlanQuantity(new BigDecimal(MENGE)); + wmsSellOutEmbryo1.setUnitOfMeasure(MEINS); + wmsSellOutEmbryo1.setStatus("0"); + wmsSellOutEmbryo1.setSapStatus("0"); + wmsSellOutEmbryo1.setActiveFlag("1"); + wmsSellOutEmbryo1.setCreateBy(wmsSellOutEmbryo.getCreateBy()); + wmsSellOutEmbryo1.setCreateTime(new Date()); + //判断有没有这个单子,。如果有的话,就跳过吧 + WmsSellOutEmbryo wmsSellOutEmbryo2= wmsSellOutEmbryoMapper.selectWmsSellOutEmbryoByOrderCodeAndProductCode(VBELN,MATNR); + if (wmsSellOutEmbryo2==null){ + wmsSellOutEmbryoMapper.insertWmsSellOutEmbryo(wmsSellOutEmbryo1); + }else { + results="已经存在"; + } + } + } + return results; } @Override diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/BaseProductMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/BaseProductMapper.xml index 204cd45e9..83230d23a 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/BaseProductMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/BaseProductMapper.xml @@ -64,10 +64,11 @@ + - select product_id, product_code, product_desc_zh, product_model,product_desc_en, rule_code, old_product_code, parts_product_code, sku_barcode, length, width, height, gross_weight, net_weight, tare_weight, volume, unit_price, product_group, product_group_name, user_defined1, user_defined2, user_defined3, user_defined4, user_defined5, user_defined6, create_by, create_time, update_by, update_time, factory_code, active_flag, sync_flag, primary_uom, del_flag, bstme, basic_order, conv_order, ausme, basic_issue, conv_issue, append_flag, append_percent,mtart from base_product + select product_id, product_code, product_desc_zh, product_model,product_desc_en, rule_code, old_product_code, parts_product_code, sku_barcode, length, width, height, gross_weight, net_weight, tare_weight, volume, unit_price, product_group, product_group_name, user_defined1, user_defined2, user_defined3, user_defined4, user_defined5, user_defined6, create_by, create_time, update_by, update_time, factory_code, active_flag, sync_flag, primary_uom, del_flag, bstme, basic_order, conv_order, ausme, basic_issue, conv_issue, append_flag, append_percent, mtart, report_rate from base_product