From b87576a1eb8ab673e3dd79e4df41d83d02041143 Mon Sep 17 00:00:00 2001 From: mengjiao <3338049200@qq,com> Date: Thu, 21 Mar 2024 10:57:03 +0800 Subject: [PATCH 1/5] =?UTF-8?q?wms=E6=88=90=E5=93=81=E5=87=BA=E5=BA=93?= =?UTF-8?q?=E9=83=A8=E5=88=86=E4=BB=A3=E7=A0=81=E4=BF=AE=E6=94=B917?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WmsSellOutTrayController.java | 4 +- .../com/op/wms/domain/WmsSellOutEmbryo.java | 25 ++++++--- .../op/wms/mapper/WmsFpStorageNewsMapper.java | 2 + .../wms/mapper/WmsFpStorageNewsSnMapper.java | 2 + .../op/wms/service/IWmsProductPutService.java | 5 +- .../impl/WmsProductPutServiceImpl.java | 51 ++++++++++++++++++- .../mapper/wms/WmsFpStorageNewsMapper.xml | 5 ++ .../mapper/wms/WmsFpStorageNewsSnMapper.xml | 5 ++ 8 files changed, 88 insertions(+), 11 deletions(-) diff --git a/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsSellOutTrayController.java b/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsSellOutTrayController.java index 52a91f9c5..50d030582 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsSellOutTrayController.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsSellOutTrayController.java @@ -107,7 +107,7 @@ public class WmsSellOutTrayController extends BaseController { /** - * 手持销售出库确认 + * 手持销售出库确认----不用 * * @param wmsSellOutTrays * @return @@ -118,7 +118,7 @@ public class WmsSellOutTrayController extends BaseController { String deliveryOrder = opsForValue.get("deliveryOrder"); String productCode = opsForValue.get("productCode"); WmsSellOutEmbryo wmsSellOutEmbryo = wmsSellOutEmbryoService.selectWmsSellOutEmbryoByOrderCodeAndProductCode(deliveryOrder, productCode); - wmsSellOutEmbryo.setOutQuantity(number); + // wmsSellOutEmbryo.setOutQuantity(number); wmsSellOutEmbryoService.updateWmsSellOutEmbryo(wmsSellOutEmbryo); return toAjax(wmsSellOutTrayService.handSellOut(wmsSellOutTrays)); } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/domain/WmsSellOutEmbryo.java b/op-modules/op-wms/src/main/java/com/op/wms/domain/WmsSellOutEmbryo.java index 5dca69149..d3ebfd06c 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/domain/WmsSellOutEmbryo.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/domain/WmsSellOutEmbryo.java @@ -1,6 +1,8 @@ package com.op.wms.domain; +import java.math.BigDecimal; import java.util.Date; +import java.util.List; import com.fasterxml.jackson.annotation.JsonFormat; import org.apache.commons.lang3.builder.ToStringBuilder; @@ -104,16 +106,16 @@ public class WmsSellOutEmbryo extends BaseEntity { * 计划出库数量 */ @Excel(name = "计划出库数量") - private Long planQuantity; + private BigDecimal planQuantity; /** * 出库数量 */ @Excel(name = "出库数量") - private Long outQuantity; + private BigDecimal outQuantity; /** - * 出库状态 + * 出库状态--0进行,1完成 */ @Excel(name = "出库状态") private String status; @@ -207,6 +209,15 @@ public class WmsSellOutEmbryo extends BaseEntity { */ @Excel(name = "有效标记") private String activeFlag; + private List wmsProductPutTrayCodeList; + + public List getWmsProductPutTrayCodeList() { + return wmsProductPutTrayCodeList; + } + + public void setWmsProductPutTrayCodeList(List wmsProductPutTrayCodeList) { + this.wmsProductPutTrayCodeList = wmsProductPutTrayCodeList; + } public String getActiveFlag() { return activeFlag; @@ -328,19 +339,19 @@ public class WmsSellOutEmbryo extends BaseEntity { return lotNumber; } - public void setPlanQuantity(Long planQuantity) { + public void setPlanQuantity(BigDecimal planQuantity) { this.planQuantity = planQuantity; } - public Long getPlanQuantity() { + public BigDecimal getPlanQuantity() { return planQuantity; } - public void setOutQuantity(Long outQuantity) { + public void setOutQuantity(BigDecimal outQuantity) { this.outQuantity = outQuantity; } - public Long getOutQuantity() { + public BigDecimal getOutQuantity() { return outQuantity; } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsFpStorageNewsMapper.java b/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsFpStorageNewsMapper.java index 6eba004de..2ad378691 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsFpStorageNewsMapper.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsFpStorageNewsMapper.java @@ -73,4 +73,6 @@ public interface WmsFpStorageNewsMapper { * @return */ public WmsFpStorageNews selectWmsFpStorageNewsByProductCodeAndWlCode(@Param("productCode") String productCode, @Param("wlCode") String wlCode); + + void updateWmsFpStorageNewsOut(WmsFpStorageNews wmsFpStorageNews); } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsFpStorageNewsSnMapper.java b/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsFpStorageNewsSnMapper.java index cdf74704d..ef4f5d3a0 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsFpStorageNewsSnMapper.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsFpStorageNewsSnMapper.java @@ -76,4 +76,6 @@ public interface WmsFpStorageNewsSnMapper { * @return */ public WmsFpStorageNewsSn selectWmsFpStorageNewsSnBySnAndProductCode(@Param("sn") String sn, @Param("productCode") String productCode); + + void updateWmsFpStorageNewsSnOut(WmsFpStorageNewsSn wmsFpStorageNewsSn); } 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 f6ec26b5b..807868122 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 @@ -88,7 +88,10 @@ public interface IWmsProductPutService { String deletSnCorrelationBarcode(WmsProductPutTrayCode wmsProductPutTrayCode); List selectFinishedProductSales(WmsSellOutEmbryo wmsSellOutEmbryo); - + /** + * 成品销售出库--确认接口 + * + */ String confirmFinishedProductSales(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 e9cb38150..7599edef1 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 @@ -679,7 +679,56 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService { @Override public String confirmFinishedProductSales(WmsSellOutEmbryo wmsSellOutEmbryo) { - return null; + String result1="出库成功"; + DynamicDataSourceContextHolder.push("ds_" + wmsSellOutEmbryo.getFactoryCode()); + List wmsProductPutTrayCodeList= wmsSellOutEmbryo.getWmsProductPutTrayCodeList(); + //成品销售出库--确认接口---修改出库单,--出库库存 + WmsSellOutEmbryo wmsSellOutEmbryo1 = wmsSellOutEmbryoMapper.selectWmsSellOutEmbryoById(wmsSellOutEmbryo.getId()); + Integer tem= wmsProductPutTrayCodeList.size(); + BigDecimal OutQuantity= wmsSellOutEmbryo1.getOutQuantity().add(new BigDecimal(tem)); + int result = wmsSellOutEmbryo1.getPlanQuantity().compareTo(OutQuantity); + WmsSellOutEmbryo wmsSellOutEmbryoUpdate=new WmsSellOutEmbryo(); + if (result == 0){//出库完 + wmsSellOutEmbryoUpdate.setStatus("1"); + }else { + wmsSellOutEmbryoUpdate.setStatus("0"); + } + wmsSellOutEmbryoUpdate.setId(wmsSellOutEmbryo.getId()); + wmsSellOutEmbryoUpdate.setOutQuantity(OutQuantity); + wmsSellOutEmbryoMapper.updateWmsSellOutEmbryo(wmsSellOutEmbryo); + //订单修改完成 + for(WmsProductPutTrayCode wmsProductPutTrayCode: wmsProductPutTrayCodeList){//库存修改 + //解除绑定 + wmsProductPutTrayCode.setRelatStatus("0"); + wmsProductPutTrayCodeMapper.updateWmsProductPutTrayCode(wmsProductPutTrayCode); + //改明细 + WmsFpStorageNewsSn wmsFpStorageNewsSn=new WmsFpStorageNewsSn(); + wmsFpStorageNewsSn.setSn(wmsProductPutTrayCode.getSn()); + wmsFpStorageNewsSn.setWlCode(wmsProductPutTrayCode.getWlCode()); + wmsFpStorageNewsSn.setActiveFlag("1"); + wmsFpStorageNewsSn.setProductCode(wmsSellOutEmbryo1.getProductCode()); + wmsFpStorageNewsSnMapper.updateWmsFpStorageNewsSnOut(wmsFpStorageNewsSn); + //判断如果托盘数据被出完,就关闭这个明细 + List wmsFpStorageNewsSns= wmsFpStorageNewsSnMapper.selectWmsFpStorageNewsSnList(wmsFpStorageNewsSn); + if (wmsFpStorageNewsSns.size()>0){ + WmsFpStorageNewsSn wmsFpStorageNewsSn1= wmsFpStorageNewsSns.get(0); + + BigDecimal ken= new BigDecimal(wmsFpStorageNewsSn1.getUserDefined2()); + int comparisonResult = ken.compareTo(wmsFpStorageNewsSn1.getAmount()); + if (comparisonResult == 0) { + // ken和amount相等 + wmsFpStorageNewsSn1.setActiveFlag("0"); + wmsFpStorageNewsSnMapper.updateWmsFpStorageNewsSn(wmsFpStorageNewsSn1); + } + } + //改主表 + WmsFpStorageNews wmsFpStorageNews=new WmsFpStorageNews(); + wmsFpStorageNews.setActiveFlag("1"); + wmsFpStorageNews.setWlCode(wmsProductPutTrayCode.getWlCode()); + wmsFpStorageNews.setProductCode(wmsSellOutEmbryo1.getProductCode()); + wmsFpStorageNewsMapper.updateWmsFpStorageNewsOut(wmsFpStorageNews); + } + return result1; } @Override diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/WmsFpStorageNewsMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/WmsFpStorageNewsMapper.xml index 94ff200ab..745e4c1ff 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/WmsFpStorageNewsMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/WmsFpStorageNewsMapper.xml @@ -290,4 +290,9 @@ #{storageId} + + update wms_fp_storage_news + set amount = COALESCE(amount, 0) - 1 + where product_code = #{productCode} and wl_code = #{wlCode} and active_flag='1' + diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/WmsFpStorageNewsSnMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/WmsFpStorageNewsSnMapper.xml index 208e47042..9210d7152 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/WmsFpStorageNewsSnMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/WmsFpStorageNewsSnMapper.xml @@ -248,4 +248,9 @@ #{storageId} + + update wms_fp_storage_news_sn + set user_defined2 = COALESCE(user_defined2, 0) + 1 + where sn=#{sn} and active_flag='1' + From 3dcc838eaaee9ff311915c135d188e64dae7f53a Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Thu, 21 Mar 2024 13:34:10 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E6=9D=A5=E6=96=99=E6=A3=80=E9=AA=8C?= =?UTF-8?q?=E7=94=9F=E6=88=90-=E5=8F=82=E6=95=B02?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/op/sap/service/impl/SapItemSyncImpl.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) 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 88bb9919c..a8dc8d485 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 @@ -418,7 +418,7 @@ public class SapItemSyncImpl implements SapItemSyncService { String createBy = "job"; for (int i = 0; i < maraTable.getNumRows(); i++) { maraTable.setRow(i); - //|EBELN |EBELP|CPUDT|CPUTM |LIFNR|LIFNR_NM|MATNR|MAKTX|MENGE|MEI|WERK|USNAM + //|EBELN |EBELP|CPUDT|CPUTM |LIFNR|LIFNR_NM|MATNR|MAKTX|MENGE|MEINS|WERKS|USNAM QcCheckTaskIncomeDTO qcCheckTaskIncomeDTO=new QcCheckTaskIncomeDTO(); qcCheckTaskIncomeDTO.setRecordId(IdUtils.fastSimpleUUID()); qcCheckTaskIncomeDTO.setCheckType("checkTypeLL"); @@ -429,11 +429,11 @@ public class SapItemSyncImpl implements SapItemSyncService { qcCheckTaskIncomeDTO.setMaterialCode(maraTable.getString("MATNR"));//物料号 qcCheckTaskIncomeDTO.setMaterialName(maraTable.getString("MAKTX"));//物料描述 qcCheckTaskIncomeDTO.setQuality(new BigDecimal(maraTable.getString("MENGE")));//数量 - qcCheckTaskIncomeDTO.setUnit(maraTable.getString("MEI"));//单位 + qcCheckTaskIncomeDTO.setUnit(maraTable.getString("MEINS"));//单位 qcCheckTaskIncomeDTO.setIncomeTime(DateUtils.dateTime( - maraTable.getString("CPUDT")+" "+maraTable.getString("CPUTM") - ,"yyyy-MM-dd HH:mm:ss")); - qcCheckTaskIncomeDTO.setFactoryCode(maraTable.getString("WERK")); + maraTable.getString("CPUDT")+maraTable.getString("CPUTM") + ,"yyyyMMddHHmmss")); + qcCheckTaskIncomeDTO.setFactoryCode(maraTable.getString("WERKS")); qcCheckTaskIncomeDTO.setAttr1(maraTable.getString("USNAM"));//收货人 qcCheckTaskIncomeDTO.setCreateTime(nowTime); qcCheckTaskIncomeDTO.setCreateBy(createBy); From 8a0a9b7634539a7dc7716fe3beb55897cb1a4b7f Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Thu, 21 Mar 2024 16:43:55 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E4=BA=BA=E5=91=98=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E5=90=8C=E6=AD=A5+=E6=8A=A5=E5=B7=A5=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../op/system/api/domain/quality/HRInfo.java | 92 +++++++++++++++++++ .../op/mes/domain/MesReportWorkConsume.java | 9 ++ .../service/impl/IWCInterfaceServiceImpl.java | 2 +- .../mapper/mes/MesReportWorkConsumeMapper.xml | 7 +- .../op/open/service/impl/OpenServiceImpl.java | 5 +- .../plan/controller/ProOrderController.java | 7 ++ .../plan/mapper/ProOrderWorkorderMapper.java | 3 + .../com/op/plan/service/IProOrderService.java | 2 + .../service/impl/ProOrderServiceImpl.java | 9 ++ .../mapper/plan/ProOrderWorkorderMapper.xml | 8 ++ .../service/impl/SysUserServiceImpl.java | 36 +++++--- .../resources/mapper/system/SysUserMapper.xml | 7 +- 12 files changed, 167 insertions(+), 20 deletions(-) diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/domain/quality/HRInfo.java b/op-api/op-api-system/src/main/java/com/op/system/api/domain/quality/HRInfo.java index e04cb1852..7e8f4eeff 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/domain/quality/HRInfo.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/domain/quality/HRInfo.java @@ -60,6 +60,98 @@ public class HRInfo extends BaseEntity { /** 角色ID */ private Long roleId; private String datasourceId; + private String post; + /**hr接口**/ + private String peWorkID;//工号 + private String peName;//员工姓名 + private String peSex;//性别 F女生 M男 + private String peMobilePhone;//手机号 + //派驻1 人才库-1 试用10 实习11 见习期19 正式工20 离职30 自离31 辞退32 开除33 删除99 + private String peDocStatus; + private String posnm;//岗位名称 + private String poscd;//岗位编码 + private String ounam;//部门名称 + private String oucod;//部门编码 + + public String getPeWorkID() { + return peWorkID; + } + + public void setPeWorkID(String peWorkID) { + this.peWorkID = peWorkID; + } + + public String getPeName() { + return peName; + } + + public void setPeName(String peName) { + this.peName = peName; + } + + public String getPeSex() { + return peSex; + } + + public void setPeSex(String peSex) { + this.peSex = peSex; + } + + public String getPeMobilePhone() { + return peMobilePhone; + } + + public void setPeMobilePhone(String peMobilePhone) { + this.peMobilePhone = peMobilePhone; + } + + public String getPeDocStatus() { + return peDocStatus; + } + + public void setPeDocStatus(String peDocStatus) { + this.peDocStatus = peDocStatus; + } + + public String getPosnm() { + return posnm; + } + + public void setPosnm(String posnm) { + this.posnm = posnm; + } + + public String getPoscd() { + return poscd; + } + + public void setPoscd(String poscd) { + this.poscd = poscd; + } + + public String getOunam() { + return ounam; + } + + public void setOunam(String ounam) { + this.ounam = ounam; + } + + public String getOucod() { + return oucod; + } + + public void setOucod(String oucod) { + this.oucod = oucod; + } + + public String getPost() { + return post; + } + + public void setPost(String post) { + this.post = post; + } public String getDatasourceId() { return datasourceId; diff --git a/op-modules/op-mes/src/main/java/com/op/mes/domain/MesReportWorkConsume.java b/op-modules/op-mes/src/main/java/com/op/mes/domain/MesReportWorkConsume.java index beaa3cfab..10aa4395f 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/domain/MesReportWorkConsume.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/domain/MesReportWorkConsume.java @@ -111,6 +111,15 @@ public class MesReportWorkConsume extends BaseEntity { private String warehouseCode; private String warehouseName; + private String planQuantity; + + public String getPlanQuantity() { + return planQuantity; + } + + public void setPlanQuantity(String planQuantity) { + this.planQuantity = planQuantity; + } public String getWarehouseCode() { return warehouseCode; 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 b8c3ca601..2edfbc70f 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 @@ -451,7 +451,7 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { mapBom = new HashMap(); mapBom.put("P_AUFNR",updateBom.getWorkorderCodeSap());// 订单号 例如:000100308287 mapBom.put("P_MATNR",updateBom.getMaterialCode());// 物料号 例如:000000040000015089 - mapBom.put("P_GMEIN",updateBom.getUnit());// 基本计量单位 例如:m + //mapBom.put("P_GMEIN",updateBom.getUnit());// 基本计量单位 例如:m mapBom.put("P_WERKS",workOrderCodes.get(0).getFactoryCode());//物料工厂 例如:1000 mapBom.put("P_LGORT",updateBom.getWarehouseCode());//仓库编号 例如:0013 mapList.add(mapBom); diff --git a/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkConsumeMapper.xml b/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkConsumeMapper.xml index 559692d2d..db3b3a7a3 100644 --- a/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkConsumeMapper.xml +++ b/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkConsumeMapper.xml @@ -104,10 +104,13 @@ mrwc.recoil, pow.workorder_code_sap workorderCodeSap, mrwc.attr1, - mrwc.warehouse_code warehouseCode + mrwc.warehouse_code warehouseCode, + mpd.quantity planQuantity from mes_report_work_consume mrwc left join pro_order_workorder pow on mrwc.workorder_code = pow.workorder_code - where mrwc.del_flag = '0' and pow.del_flag = '0' + left join mes_prepare_detail mpd on mpd.parent_work_order = pow.belong_work_order + and mpd.material_code = mrwc.material_code + where mrwc.del_flag = '0' and pow.del_flag = '0' and mpd.del_flag = '0' and mrwc.workorder_code = #{workorderCode} order by mrwc.recoil,mrwc.attr1 diff --git a/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java b/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java index b40e18a63..f448a89d2 100644 --- a/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java +++ b/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java @@ -474,9 +474,10 @@ public class OpenServiceImpl implements OpenService { public AjaxResult GetHrUserInfo(String dateTime) { try { StringBuilder postDataBuilder = new StringBuilder(); - postDataBuilder.append("createTime=").append("dateTime"); + postDataBuilder.append("createTime=").append(dateTime); String result = HttpUtils.sendPost(url_user,postDataBuilder.toString()); - return success(result); + JSONArray jsonArray=JSONArray.parseArray(result); + return success("获取成功",jsonArray); } catch (Exception e) { e.printStackTrace(); return error(e.getMessage()); diff --git a/op-modules/op-plan/src/main/java/com/op/plan/controller/ProOrderController.java b/op-modules/op-plan/src/main/java/com/op/plan/controller/ProOrderController.java index 9378f944a..f3915d6f2 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/controller/ProOrderController.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/controller/ProOrderController.java @@ -153,6 +153,13 @@ public class ProOrderController extends BaseController { return proOrderService.subSplitOrder(splitOrderDTO); } + + @PostMapping("/checkRepeatBatchCodes") + //@RequiresPermissions("mes:pro:order:add") + @Log(title = "提交拆分订单-批次重复确认", businessType = BusinessType.INSERT) + public String checkRepeatBatchCodes(@RequestBody SplitOrderDTO splitOrderDTO) { + return proOrderService.checkRepeatBatchCodes(splitOrderDTO); + } /** * 获取换算值 * diff --git a/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderWorkorderMapper.java b/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderWorkorderMapper.java index 19098c919..b9e518f0c 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderWorkorderMapper.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderWorkorderMapper.java @@ -1,5 +1,6 @@ package com.op.plan.mapper; +import com.op.plan.domain.Batch; import com.op.plan.domain.ProOrder; import com.op.plan.domain.ProOrderWorkorder; import com.op.plan.domain.ProWetMaterialPlanDetail; @@ -194,5 +195,7 @@ public interface ProOrderWorkorderMapper { List getOrderNotW0(@Param("workorderCodes") String[] workorderCodes); List getOrderByOrders(@Param("orderIds") String[] orderIds); + + List checkBatchCodes(@Param("batchs") List formFields); } diff --git a/op-modules/op-plan/src/main/java/com/op/plan/service/IProOrderService.java b/op-modules/op-plan/src/main/java/com/op/plan/service/IProOrderService.java index 2b098a576..2edcec22a 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/service/IProOrderService.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/service/IProOrderService.java @@ -143,4 +143,6 @@ public interface IProOrderService { int getProSortNo(ProOrder proOrder); int deleteOrder(String[] orderCodes); + + String checkRepeatBatchCodes(SplitOrderDTO splitOrderDTO); } 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 52ad1800b..5ae7f8456 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 @@ -1171,6 +1171,15 @@ public class ProOrderServiceImpl implements IProOrderService { } return 1; } + @Override + @DS("#header.poolName") + public String checkRepeatBatchCodes(SplitOrderDTO splitOrderDTO) { + List repeatBatchCodes = proOrderWorkorderMapper.checkBatchCodes(splitOrderDTO.getFormFields()); + if(!CollectionUtils.isEmpty(repeatBatchCodes)){ + return StringUtils.join(repeatBatchCodes, ","); + } + return ""; + } public static void main(String args[]){ String arrayStr = "[[\"GX01\",\"LG1\"],[\"GX01\",\"LG2\"],[\"GX02\",\"S1\"],[\"GX02\",\"S2\"],[\"GX03\",\"HF01\"],[\"GX04\",\"SPJ01\"]]"; diff --git a/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml b/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml index abf3252db..583eb34ce 100644 --- a/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml +++ b/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml @@ -543,6 +543,14 @@ and status in ('o1','o0') and del_flag = '0' + insert into mes_prepare_detail diff --git a/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java b/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java index ecbf0a041..39a223807 100644 --- a/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java +++ b/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java @@ -551,8 +551,8 @@ public class SysUserServiceImpl implements ISysUserService { AjaxResult hrR = remoteOpenService.GetHrUserInfo(ymd); log.info("更新人力-结果:"+ JSONObject.toJSONString(hrR)); List infoList = new ArrayList<>(); - if((int)hrR.get("code")==200){ - infoList=JSONArray.parseArray(hrR.get("msg").toString(),HRInfo.class); + if((int)hrR.get("code")==200 && hrR.get("data")!=null){ + infoList=JSONArray.parseArray(JSONObject.toJSONString(hrR.get("data")),HRInfo.class); if(!CollectionUtils.isEmpty(infoList)){ this.syncUserInfoFunc(infoList); } @@ -574,6 +574,20 @@ public class SysUserServiceImpl implements ISysUserService { dto.setCreateBy(createBy); dto.setUpdateBy(createBy); dto.setUpdateTime(nowDate); + + dto.setUserName(dto.getPeWorkID()); + dto.setNickName(dto.getPeName()); + dto.setSex(dto.getPeSex().equals("F")?"1":"0");//1女 + dto.setStatus("0"); + String[] delArrays = {"30","31","32","33","99"}; + if(Arrays.asList(delArrays).contains(dto.getPeDocStatus())){ + dto.setDelFlag("1"); + }else{ + dto.setDelFlag("0"); + } + dto.setPhonenumber(dto.getPeMobilePhone()); + dto.setPost(dto.getPoscd()); + dto.setDeptId(Long.parseLong(dto.getOucod())); } int n = 0; @@ -584,20 +598,18 @@ public class SysUserServiceImpl implements ISysUserService { //sap返回的工作中心编码-本地不存在// 差集 (list2 - list1) List noExsitCodes = codes.stream().filter(item -> !exsitCodes.contains(item)).collect(Collectors.toList()); - List updates = new ArrayList<>(); - for(String exsitCode:exsitCodes){ - List updates0 = dtos.stream().filter(dto -> dto.getUserCode().equals(exsitCode)).collect(Collectors.toList()); - updates.addAll(updates0); - } + List updates = dtos.stream() + .filter(item -> exsitCodes.contains(item.getUserCode())) + .collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(updates)){ int m = userMapper.updateUserBatchs(updates); System.out.println("人员更新成功条数:"+m); } - List adds = new ArrayList<>(); - for(String noExsitCode:noExsitCodes){ - List adds0 = dtos.stream().filter(dto -> dto.getUserCode().equals(noExsitCode)).collect(Collectors.toList()); - adds.addAll(adds0); - } + List adds = dtos.stream() + .filter(item -> noExsitCodes.contains(item.getUserCode())) + .collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(adds)){ n = userMapper.addUserBatchs(adds); System.out.println("人员新增成功条数:"+ n); diff --git a/op-modules/op-system/src/main/resources/mapper/system/SysUserMapper.xml b/op-modules/op-system/src/main/resources/mapper/system/SysUserMapper.xml index b3355c5da..8bdce94cf 100644 --- a/op-modules/op-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/op-modules/op-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -188,11 +188,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" insert into sys_user (user_name,nick_name, - post,section, + post,section,dept_id, create_by,create_time,del_flag) VALUES - (#{item.userCode},#{item.userName},#{item.post},#{item.section}, + (#{item.userCode},#{item.userName},#{item.post}, + #{item.section},#{item.deptId}, #{item.createBy},#{item.createTime},'0') @@ -274,7 +275,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" From eacf18a4a822d2893108ffe46c3e821009d857a4 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Thu, 21 Mar 2024 17:39:16 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E4=BA=BA=E5=91=98=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E5=90=8C=E6=AD=A52.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/op/job/task/RyTask.java | 4 --- .../service/impl/SysUserServiceImpl.java | 30 +++++++++++++++++-- .../resources/mapper/system/SysUserMapper.xml | 13 ++++---- 3 files changed, 36 insertions(+), 11 deletions(-) diff --git a/op-modules/op-job/src/main/java/com/op/job/task/RyTask.java b/op-modules/op-job/src/main/java/com/op/job/task/RyTask.java index 5ec9f5510..fb387861d 100644 --- a/op-modules/op-job/src/main/java/com/op/job/task/RyTask.java +++ b/op-modules/op-job/src/main/java/com/op/job/task/RyTask.java @@ -168,17 +168,13 @@ public class RyTask { logger.info("++hr人力基础数据同步+开始++syncUserInfoTask+++++"); remoteUserService.syncUserInfoTask(); } - /************hr 人力基础数据定时任务结束*****************/ - /************岗位基础数据定时任务开始*****************/ //岗位基本数据同步每天 public void sysPostInfoTask(){ logger.info("++hr岗位基础数据同步+开始++sysPostInfoTask+++++"); remoteUserService.sysPostInfoTask(); } - /************岗位基础数据定时任务开始*****************/ - /************部门基础数据定时任务开始*****************/ //部门基本数据同步每天 public void sysDeptInfoTask(){ logger.info("++hr部门基础数据同步+开始++sysPostInfoTask+++++"); diff --git a/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java b/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java index 39a223807..3475cd687 100644 --- a/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java +++ b/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java @@ -603,6 +603,20 @@ public class SysUserServiceImpl implements ISysUserService { .collect(Collectors.toList()); if(!CollectionUtils.isEmpty(updates)){ + int allsize = updates.size(); + int inserttimes = allsize/150+1; + for(int m=0;m everyList; + if(m<(inserttimes-1)){ + everyList = updates.subList(m*150,(m+1)*150); + }else{ + everyList = updates.subList(m*150,allsize); + } + if(everyList.size()>0){ + m = userMapper.updateUserBatchs(everyList); + System.out.println("人员新增成功条数:"+ m); + } + } int m = userMapper.updateUserBatchs(updates); System.out.println("人员更新成功条数:"+m); } @@ -611,8 +625,20 @@ public class SysUserServiceImpl implements ISysUserService { .collect(Collectors.toList()); if(!CollectionUtils.isEmpty(adds)){ - n = userMapper.addUserBatchs(adds); - System.out.println("人员新增成功条数:"+ n); + int allsize = adds.size(); + int inserttimes = allsize/150+1; + for(int m=0;m everyList; + if(m<(inserttimes-1)){ + everyList = adds.subList(m*150,(m+1)*160); + }else{ + everyList = adds.subList(m*150,allsize); + } + if(everyList.size()>0){ + n = userMapper.addUserBatchs(everyList); + System.out.println("人员新增成功条数:"+ n); + } + } } return n; diff --git a/op-modules/op-system/src/main/resources/mapper/system/SysUserMapper.xml b/op-modules/op-system/src/main/resources/mapper/system/SysUserMapper.xml index 8bdce94cf..0739a7b6a 100644 --- a/op-modules/op-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/op-modules/op-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -187,13 +187,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" insert into sys_user - (user_name,nick_name, - post,section,dept_id, + (user_name,nick_name,post,dept_id, + phonenumber,sex,status, create_by,create_time,del_flag) VALUES - (#{item.userCode},#{item.userName},#{item.post}, - #{item.section},#{item.deptId}, + (#{item.userName},#{item.nickName},#{item.post},#{item.deptId}, + #{item.phonenumber},#{item.sex},#{item.status}, #{item.createBy},#{item.createTime},'0') @@ -235,8 +235,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update sys_user set - section = #{item.section}, + section = #{item.deptId}, post = #{item.post}, + phonenumber = #{item.phonenumber}, + sex = #{item.sex}, + del_flag = #{item.delFlag}, update_by = #{item.updateBy}, update_time = #{updateTime} where From dd16e06623c62c3ea426e770bd95aea6f7e67d1a Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Fri, 22 Mar 2024 09:04:32 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E6=8A=A5=E5=B7=A5+=E6=89=B9=E6=AC=A1?= =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E9=87=8D=E5=A4=8D+=E5=85=B6=E5=AE=83?= =?UTF-8?q?=E7=BB=86=E8=8A=82=E5=8A=9F=E8=83=BD=E6=94=B9=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/op/open/mapper/OpenMapper.java | 2 +- .../op/open/service/impl/OpenServiceImpl.java | 2 +- .../main/resources/mapper/open/OpenMapper.xml | 3 +- .../QcCheckTaskIncomeController.java | 68 +++++++++++-------- .../op/quality/domain/QcCheckTaskDefect.java | 28 ++++++++ .../op/quality/domain/QcCheckTaskIncome.java | 10 ++- .../mapper/QcCheckTaskDefectMapper.java | 7 +- .../mapper/QcCheckTaskIncomeMapper.java | 6 +- .../service/IQcCheckTaskIncomeService.java | 2 + .../impl/QcCheckTaskIncomeServiceImpl.java | 44 +++++++++--- .../impl/QcCheckTaskProduceServiceImpl.java | 2 +- .../QcCheckTaskWarehousingServiceImpl.java | 2 +- .../service/impl/QcProCheckServiceImpl.java | 13 ++++ .../quality/QcCheckTaskDefectMapper.xml | 28 ++++++++ .../quality/QcCheckTaskIncomeMapper.xml | 27 ++++---- .../mapper/quality/QcProCheckMapper.xml | 4 +- 16 files changed, 182 insertions(+), 66 deletions(-) diff --git a/op-modules/op-open/src/main/java/com/op/open/mapper/OpenMapper.java b/op-modules/op-open/src/main/java/com/op/open/mapper/OpenMapper.java index 4333e2ab3..85ccc6cff 100644 --- a/op-modules/op-open/src/main/java/com/op/open/mapper/OpenMapper.java +++ b/op-modules/op-open/src/main/java/com/op/open/mapper/OpenMapper.java @@ -77,7 +77,7 @@ public interface OpenMapper { public int addBatch(@Param("list") List items); - List getCheckUsers(String materialCode); + List getCheckUsers(String checkType); public int addCheckUsers(@Param("list") List users); } diff --git a/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java b/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java index f448a89d2..da094dcbf 100644 --- a/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java +++ b/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java @@ -346,7 +346,7 @@ public class OpenServiceImpl implements OpenService { qctp.setMaterialCode(qcCheckTaskProduce.getMaterialCode());//特性 /**qc_user_material取默认检查人**/ - List users = openMapper.getCheckUsers(qcCheckTaskProduce.getOrderNo()); + List users = openMapper.getCheckUsers(qcCheckTaskProduce.getCheckType()); if (CollectionUtils.isEmpty(users)) { QcUserMaterialDTO dto0 = new QcUserMaterialDTO(); dto0.setId(IdUtils.fastSimpleUUID()); diff --git a/op-modules/op-open/src/main/resources/mapper/open/OpenMapper.xml b/op-modules/op-open/src/main/resources/mapper/open/OpenMapper.xml index a70391f58..6e780f62f 100644 --- a/op-modules/op-open/src/main/resources/mapper/open/OpenMapper.xml +++ b/op-modules/op-open/src/main/resources/mapper/open/OpenMapper.xml @@ -199,8 +199,7 @@ select qum.user_code userCode, qum.user_name userName from qc_user_material qum - left join pro_order_workorder pow on pow.workorder_code = qum.material_code - where pow.workorder_code = #{workorderCode} and pow.del_flag = '0' and qum.del_flag = '0' + where qum.material_code = #{checkType} and pow.del_flag = '0' and qum.del_flag = '0' diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskIncomeController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskIncomeController.java index e5c44a09f..75d7d2b91 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskIncomeController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskIncomeController.java @@ -21,10 +21,13 @@ import com.op.common.core.utils.bean.BeanUtils; import com.op.common.security.utils.SecurityUtils; import com.op.quality.domain.*; import com.op.system.api.RemoteOpenService; +import com.op.system.api.RemoteSapService; import com.op.system.api.RemoteUserService; import com.op.system.api.domain.SysRole; import com.op.system.api.domain.SysUser; +import com.op.system.api.domain.quality.HRInfo; import com.op.system.api.domain.quality.QcCheckTaskIncomeDTO; +import com.op.system.api.domain.sap.SapSupplier; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; @@ -62,6 +65,9 @@ public class QcCheckTaskIncomeController extends BaseController { @Autowired private RemoteUserService remoteUserService; + @Autowired + private RemoteSapService remoteSapService; + /** * 查询来料检验列表 */ @@ -156,10 +162,15 @@ public class QcCheckTaskIncomeController extends BaseController { 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue()); try { + dateSources.forEach(dateSource -> { - Runnable run = () -> createIncomeBatchTaskFunc(dateSource.get("poolName")); - executorService.execute(run); + if(!"ds_999".equals(dateSource.get("poolName"))){ + Runnable run = () -> createIncomeBatchTaskFunc(dateSource.get("poolName")); + executorService.execute(run); + } + }); + } catch (Exception e) { logger.error("controller == createIncomeBatchTask == exception", e); return error("controller == createIncomeBatchTask == exception"); @@ -174,32 +185,39 @@ public class QcCheckTaskIncomeController extends BaseController { DynamicDataSourceContextHolder.push(poolName);// 这是数据源的key Date taskTime = DateUtils.getNowDate(); logger.info("++++++++++++" + poolName + "工厂来料检验批量创建任务开始+++时间:"+ taskTime +"++++++++++"); - List incomeBatchLists = qcCheckTaskIncomeService.getIncomeBatchList(poolName); - List batchRecordIds = new ArrayList<>(); + Map mapBom = new HashMap(); + mapBom.put("P_WERKS",poolName.replace("ds_",""));//物料工厂 例如:1000 + logger.info("来料信息查询请求:" + JSONObject.toJSONString(mapBom)); + R incomeR = remoteSapService.inComingCheck(mapBom); + if(incomeR.getCode()==500){ + logger.info("来料信息查询请求:" + JSONObject.toJSONString(incomeR)); + return AjaxResult.error(JSONObject.toJSONString(incomeR)); + } + logger.info("来料信息查询结果:" + JSONObject.toJSONString(incomeR)); + List incomeAll = (List)incomeR.getData(); + //已经生成过检验任务的采购订单 + List todayIncomeLists = qcCheckTaskIncomeService.getTodayIncomeLists(); + List newIncomes = incomeAll.stream() + .filter(item -> !todayIncomeLists.contains(item.getOrderNo())) + .collect(Collectors.toList()); + int successNum = 0;//成功任务数 int failNum = 0;//失败任务数 - if(incomeBatchLists != null){ - for( int i = 0 ; i < incomeBatchLists.size();){ - QcCheckTaskIncomeDTO qcCheckTaskIncomedto = new QcCheckTaskIncomeDTO(); - QcCheckTaskIncome income = incomeBatchLists.get(i); - BeanUtils.copyProperties(income,qcCheckTaskIncomedto); - //内层一个一个创建任务 - AjaxResult ajaxResult = createIncomeTask(qcCheckTaskIncomedto); + if(!CollectionUtils.isEmpty(newIncomes)){ + logger.info("工厂来料检验任务生成参数:" + JSONObject.toJSONString(newIncomes)); + for(QcCheckTaskIncomeDTO income:newIncomes){ + AjaxResult ajaxResult = createIncomeTask(income); if(ajaxResult.isSuccess()){ - batchRecordIds.add(qcCheckTaskIncomedto.getRecordId()); successNum = successNum + 1; logger.info(poolName + "工厂的" + income.getCheckNo()+"来料检验创建任务成功++++++++++"); }else if(ajaxResult.isError()){ failNum = failNum +1; logger.info(poolName + "工厂的" + income.getCheckNo()+"来料检验创建任务失败++++++++++"); } - i++; } }else{ logger.info("++++++++++++" + poolName + "工厂来料检验没有可创建的任务++++++++++"); } - //批量修改原表中的check_status和check_time - int upate = qcCheckTaskIncomeService.updateIncomeBatchList(batchRecordIds,taskTime); logger.info("++++++++++++" + poolName + "工厂来料检验批量创建任务结束:成功"+ successNum +"失败"+ failNum +"+++++"); return success(); } catch (Exception e) { @@ -209,9 +227,7 @@ public class QcCheckTaskIncomeController extends BaseController { } @PostMapping("/createIncomeTask") - public AjaxResult createIncomeTask(@RequestBody QcCheckTaskIncomeDTO qcCheckTaskIncome0) { - QcCheckTaskIncome qcCheckTaskIncome = new QcCheckTaskIncome(); - BeanUtils.copyProperties(qcCheckTaskIncome0, qcCheckTaskIncome); + public AjaxResult createIncomeTask(@RequestBody QcCheckTaskIncomeDTO qcCheckTaskIncome) { if (StringUtils.isBlank(qcCheckTaskIncome.getOrderNo())) { return error("[orderNo]不能为空"); @@ -222,12 +238,7 @@ public class QcCheckTaskIncomeController extends BaseController { if (StringUtils.isBlank(qcCheckTaskIncome.getMaterialCode())) { return error("[materialCode]不能为空"); } - if (StringUtils.isBlank(qcCheckTaskIncome.getCheckType())) { - return error("[checkType]不能为空"); - } - if (StringUtils.isBlank(qcCheckTaskIncome.getFactoryCode())) { - return error("[factoryCode]不能为空"); - } + if (StringUtils.isBlank(qcCheckTaskIncome.getSupplierCode())) { return error("[supplierCode]不能为空"); } @@ -237,14 +248,13 @@ public class QcCheckTaskIncomeController extends BaseController { if (qcCheckTaskIncome.getIncomeTime() == null) { return error("[incomeTime]不能为空"); } - logger.info(qcCheckTaskIncome0.getFactoryCode() + "工厂来料检验任务生成开始================================"); - logger.info(qcCheckTaskIncome0.getFactoryCode() + "工厂来料检验任务生成参数:" + JSONObject.toJSONString(qcCheckTaskIncome)); - - int r = qcCheckTaskIncomeService.insertQcCheckTaskIncome(qcCheckTaskIncome); + QcCheckTaskIncome income = new QcCheckTaskIncome(); + BeanUtils.copyProperties(qcCheckTaskIncome,income); + int r = qcCheckTaskIncomeService.insertQcCheckTaskIncome(income); if (r > 0) { return toAjax(r); } - return error(qcCheckTaskIncome0.getFactoryCode() + "工厂添加失败:请检查物料的关联检测项" ); + return error("添加失败:请检查物料的关联检测项" ); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskDefect.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskDefect.java index 6be4541ab..2899c7f1d 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskDefect.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskDefect.java @@ -88,6 +88,34 @@ public class QcCheckTaskDefect extends BaseEntity { @Excel(name = "不合格数量") private BigDecimal noOkQuality; + private String defectCodes; + private String defectNames; + private String defectQualitys; + + public String getDefectCodes() { + return defectCodes; + } + + public void setDefectCodes(String defectCodes) { + this.defectCodes = defectCodes; + } + + public String getDefectNames() { + return defectNames; + } + + public void setDefectNames(String defectNames) { + this.defectNames = defectNames; + } + + public String getDefectQualitys() { + return defectQualitys; + } + + public void setDefectQualitys(String defectQualitys) { + this.defectQualitys = defectQualitys; + } + public String getBelongToDetail() { return belongToDetail; } 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 85df1935b..e0df6f82e 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 @@ -95,7 +95,7 @@ public class QcCheckTaskIncome extends BaseEntity { */ @Excel(name = "检测地点") private String checkLoc; - + private String checkLocName; /** * 检测状态 */ @@ -193,6 +193,14 @@ public class QcCheckTaskIncome extends BaseEntity { private String noOkQualityNames; private String noOkQualityVals; + public String getCheckLocName() { + return checkLocName; + } + + public void setCheckLocName(String checkLocName) { + this.checkLocName = checkLocName; + } + public String getNoOkQualityNames() { return noOkQualityNames; } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTaskDefectMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTaskDefectMapper.java index a2f3a5cbc..53f4929ec 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTaskDefectMapper.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTaskDefectMapper.java @@ -1,8 +1,11 @@ package com.op.quality.mapper; import java.util.List; +import java.util.Map; import com.op.quality.domain.QcCheckTaskDefect; +import com.op.quality.domain.QcCheckTaskDetail; +import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Mapper; /** @@ -64,6 +67,6 @@ public interface QcCheckTaskDefectMapper { public int deleteQcCheckTaskDefectByBelongTo(String belongTo); public List selectDefectByBelongTo(String belongTo); - - + @MapKey("belongToDetail") + public Map getDefectMap(QcCheckTaskDetail qcCheckTaskDetail); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTaskIncomeMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTaskIncomeMapper.java index f27926727..36465d1c1 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTaskIncomeMapper.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTaskIncomeMapper.java @@ -88,9 +88,7 @@ public interface QcCheckTaskIncomeMapper { List selectQcCheckTaskCheckNoByRecordIds(String[] recordIds); - List getUserByMaterial(String materialCode); - - List getCheckUsers(String orderNo); + List getUserByCheckType(String checkType); int addCheckUsers(@Param("list") List users); @@ -112,4 +110,6 @@ public interface QcCheckTaskIncomeMapper { int updateIncomeBatchList(@Param("list") List batchRecordIds, @Param("time") Date taskTime); List getCheckLocList(QcDefectType qcDefectType); + + List getTodayIncomeLists(); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTaskIncomeService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTaskIncomeService.java index 77c2e48d2..1ef4918f6 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTaskIncomeService.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTaskIncomeService.java @@ -98,4 +98,6 @@ public interface IQcCheckTaskIncomeService { int updateIncomeBatchList(List batchRecordIds , Date taskTime); List getCheckLocList(QcDefectType qcDefectType); + + List getTodayIncomeLists(); } 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 71992ffa3..9ac1a3f5e 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 @@ -210,11 +210,11 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService { } //检验人插入 qcCheckTaskUserService.insertQcCheckTaskUserPDA(qcCheckTaskUserList); - }else{//上位机触发 + }else{ qcCheckTaskIncome.setCheckManName(""); qcCheckTaskIncome.setCheckManCode(""); /**qc_user_material取默认检查人**/ - List users = qcCheckTaskIncomeMapper.getCheckUsers(qcCheckTaskIncome.getOrderNo()); + List users = qcCheckTaskIncomeMapper.getUserByCheckType(qcCheckTaskIncome.getCheckType()); if(CollectionUtils.isEmpty(users)){ QcUserMaterialDTO dto0 = new QcUserMaterialDTO(); dto0.setId(IdUtils.fastSimpleUUID()); @@ -599,7 +599,7 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService { break; } } - //TODO;today + int n = 0; QcCheckTaskIncome qcCheckTask = new QcCheckTaskIncome(); qcCheckTask.setUpdateBy(updateBy); @@ -610,14 +610,9 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService { qcCheckTask.setCheckResult(result);//检验结果Y合格 N不合格 qcCheckTask.setIncomeBatchNo(qcCheckTaskIncome.getIncomeBatchNo()); BigDecimal noOkQquality = new BigDecimal("0"); - List defects = qcCheckTaskIncome.getDefects(); - for(QcCheckTaskDefect defect:defects){ - defect.setRecordId(IdUtils.fastSimpleUUID()); - defect.setCreateTime(nowTime); - defect.setCreateBy(updateBy); - defect.setFactoryCode(factoryCode); - defect.setBelongTo(belongId); - noOkQquality = noOkQquality.add(defect.getNoOkQuality()); + List defects0 = qcCheckTaskIncome.getDefects(); + for(QcCheckTaskDefect defect0:defects0){ + noOkQquality = noOkQquality.add(defect0.getNoOkQuality()); } qcCheckTask.setNoOkQuality(noOkQquality);//累计不合格数 qcCheckTask.setCheckManCode(qcCheckTaskIncome.getUpdateBy()); @@ -655,6 +650,28 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService { /**qc_check_task_defect**/ n=qcCheckTaskIncomeMapper.deleteQcCheckTaskDefects(belongId); logger.info("清理qc_check_task_defect:"+n); + List defects = new ArrayList<>(); + QcCheckTaskDefect defect = null; + for(QcCheckTaskDetail detail:details){ + if(StringUtils.isNotBlank(detail.getDefectCodes())){ + String[] defectCodes = detail.getDefectCodes().split(","); + String[] defectNames = detail.getDefectNames().split(","); + String[] defectQualitys = detail.getDefectQualitys().split(","); + for(int d=0;d getTodayIncomeLists() { + return qcCheckTaskIncomeMapper.getTodayIncomeLists(); + } + } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskProduceServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskProduceServiceImpl.java index 207d4d59c..0d6572cd8 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskProduceServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskProduceServiceImpl.java @@ -204,7 +204,7 @@ public class QcCheckTaskProduceServiceImpl implements IQcCheckTaskProduceService qcCheckTaskProduce.setCheckManName(""); qcCheckTaskProduce.setCheckManCode(""); /**qc_user_material取默认检查人**/ - List users = qcCheckTaskIncomeMapper.getCheckUsers(qcCheckTaskProduce.getOrderNo()); + List users = qcCheckTaskIncomeMapper.getUserByCheckType(qcCheckTaskProduce.getCheckType()); if(!CollectionUtils.isEmpty(users)){ for(QcUserMaterialDTO user:users){ user.setId(IdUtils.fastSimpleUUID()); diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskWarehousingServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskWarehousingServiceImpl.java index 39756c025..cd6b65785 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskWarehousingServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskWarehousingServiceImpl.java @@ -179,7 +179,7 @@ public class QcCheckTaskWarehousingServiceImpl implements IQcCheckTaskWarehousin qcCheckTaskWarehousing.setCheckManName(""); qcCheckTaskWarehousing.setCheckManCode(""); /**qc_user_material取默认检查人**/ - List users = qcCheckTaskIncomeMapper.getUserByMaterial(qcCheckTaskWarehousing.getMaterialCode()); + List users = qcCheckTaskIncomeMapper.getUserByCheckType(qcCheckTaskWarehousing.getCheckType()); if(CollectionUtils.isEmpty(users)){ QcUserMaterialDTO dto0 = new QcUserMaterialDTO(); dto0.setUserCode("mobile"); diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcProCheckServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcProCheckServiceImpl.java index edea6b29d..05898b168 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcProCheckServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcProCheckServiceImpl.java @@ -11,6 +11,7 @@ import com.op.common.core.utils.uuid.IdUtils; import com.op.common.security.utils.SecurityUtils; import com.op.quality.domain.*; import com.op.quality.mapper.QMSFileMapper; +import com.op.quality.mapper.QcCheckTaskDefectMapper; import com.op.quality.mapper.QcCheckTaskIncomeMapper; import com.op.quality.mapper.QcProCheckMapper; import com.op.quality.service.QcProCheckService; @@ -37,6 +38,9 @@ public class QcProCheckServiceImpl implements QcProCheckService { @Autowired private QcCheckTaskIncomeMapper qcCheckTaskIncomeMapper; + @Autowired + private QcCheckTaskDefectMapper qcCheckTaskDefectMapper; + @Autowired private QMSFileMapper qmsFileMapper; @@ -136,12 +140,21 @@ public class QcProCheckServiceImpl implements QcProCheckService { DynamicDataSourceContextHolder.push(qcCheckTaskDetail.getFactoryCode()); QcCheckTaskIncome dto = new QcCheckTaskIncome(); List qcCheckTaskDetails = qcCheckTaskIncomeMapper.getCkeckProjectList(qcCheckTaskDetail); + /**qc_check_task_defect**/ + Map defectMap = qcCheckTaskDefectMapper.getDefectMap(qcCheckTaskDetail); for (QcCheckTaskDetail qcd : qcCheckTaskDetails) { List files = qmsFileMapper.getBaseFileBatch(qcd.getRecordId()); if (CollectionUtils.isNotEmpty(files)) { qcd.setFiles(files); } + + QcCheckTaskDefect defectInfo = defectMap.get(qcd.getRecordId()); + if(defectInfo != null){ + qcd.setDefectCodes(defectInfo.getDefectCodes()); + qcd.setDefectNames(defectInfo.getDefectNames()); + qcd.setDefectQualitys(defectInfo.getDefectQualitys()); + } } dto.setQcCheckTaskDetails(qcCheckTaskDetails); diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskDefectMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskDefectMapper.xml index 6d34ac8d3..e1b129080 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskDefectMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskDefectMapper.xml @@ -130,5 +130,33 @@ where belong_to = #{belongTo} order by defect_code + 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 c6c1bbfdc..8be1b55db 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 @@ -337,26 +337,21 @@ #{recordId} - select user_code userCode, user_name userName - from qc_user_material where material_code = #{materialCode} + from qc_user_material + where material_code = #{checkType} and del_flag = '0' - + + diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcProCheckMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcProCheckMapper.xml index f4ef293d0..65dd8aa26 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcProCheckMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcProCheckMapper.xml @@ -49,6 +49,7 @@ + @@ -252,7 +253,7 @@