From 410c6cca84ef7876d29548fad84c11f255632a95 Mon Sep 17 00:00:00 2001 From: mengjiao <3338049200@qq,com> Date: Mon, 11 Dec 2023 08:55:09 +0800 Subject: [PATCH 01/10] =?UTF-8?q?wms=E4=BF=AE=E6=94=B9=EF=BC=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/OdsProcureOrderController.java | 38 +- .../controller/WmsToWCSmissionController.java | 1 + .../com/op/wms/domain/WCSInventoryPlan.java | 101 ++++++ .../com/op/wms/domain/WMSDesignatedPalle.java | 78 +++++ .../java/com/op/wms/domain/WMSTraystatus.java | 79 +++++ .../mapper/WmsOdsMateStorageNewsMapper.java | 5 + .../mapper/WmsOdsMateStorageNewsSnMapper.java | 4 + .../op/wms/mapper/WmsRawOrderInSnMapper.java | 4 +- .../wms/service/IOdsProcureOrderService.java | 7 + .../impl/OdsProcureOrderServiceImpl.java | 327 +++++++++++++++++- .../impl/WmsToWCSmissionServiceImpl.java | 21 +- .../wms/WmsOdsMateStorageNewsMapper.xml | 9 +- .../wms/WmsOdsMateStorageNewsSnMapper.xml | 7 + .../mapper/wms/WmsRawOrderInSnMapper.xml | 10 +- 14 files changed, 669 insertions(+), 22 deletions(-) create mode 100644 op-modules/op-wms/src/main/java/com/op/wms/domain/WCSInventoryPlan.java create mode 100644 op-modules/op-wms/src/main/java/com/op/wms/domain/WMSDesignatedPalle.java create mode 100644 op-modules/op-wms/src/main/java/com/op/wms/domain/WMSTraystatus.java diff --git a/op-modules/op-wms/src/main/java/com/op/wms/controller/OdsProcureOrderController.java b/op-modules/op-wms/src/main/java/com/op/wms/controller/OdsProcureOrderController.java index 1287d977..a5efa24d 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/controller/OdsProcureOrderController.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/controller/OdsProcureOrderController.java @@ -192,7 +192,7 @@ public class OdsProcureOrderController extends BaseController { /** * 用于出库任务页面-确认 * - * @param odsProcureOrder + * @param * @return */ @PostMapping("/addPurchaseOrderOutbound") @@ -201,5 +201,41 @@ public class OdsProcureOrderController extends BaseController { return success(); } + /** + * 托盘状态更新 + * @param wmsTraystatus + * @return + */ + @PostMapping("/TraystatusUpdate") + public AjaxResult TraystatusUpdate(@RequestBody WMSTraystatus wmsTraystatus) { + odsProcureOrderService.TraystatusUpdate(wmsTraystatus); + //托盘状态更新 + return success(); + } + + /** + * 包材半托返库的入库计划下发 + * @param wcsInventoryPlan + * @return + */ + @PostMapping("/InventoryPlanIssuance") + public AjaxResult InventoryPlanIssuance(@RequestBody WCSInventoryPlan wcsInventoryPlan) { + String result= odsProcureOrderService.InventoryPlanIssuance(wcsInventoryPlan); + //托盘状态更新 + return success(result); + } + //http://192.168.202.37:9001/api/v1/ReceiveMesMsg/packingMaterialsOutBoundByPallet + + /** + * 包材指定托盘出库 + * @param wmsDesignatedPalle + * @return + */ + @PostMapping("/DesignatedPalletOutbound") + public AjaxResult DesignatedPalletOutbound(@RequestBody WMSDesignatedPalle wmsDesignatedPalle) { + String result= odsProcureOrderService.DesignatedPalletOutbound(wmsDesignatedPalle); + //托盘状态更新 + return success(result); + } } 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 b1833e3e..e3dea7e9 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 @@ -141,6 +141,7 @@ public WmsToWCSDTO packingMaterialsOutBoundCompleted(@RequestBody WmsToWCSDTO wc return success(); } + /** * 采购订单接口 */ diff --git a/op-modules/op-wms/src/main/java/com/op/wms/domain/WCSInventoryPlan.java b/op-modules/op-wms/src/main/java/com/op/wms/domain/WCSInventoryPlan.java new file mode 100644 index 00000000..3e8fc176 --- /dev/null +++ b/op-modules/op-wms/src/main/java/com/op/wms/domain/WCSInventoryPlan.java @@ -0,0 +1,101 @@ +package com.op.wms.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude; + +import java.util.Date; + +@JsonInclude(JsonInclude.Include.NON_NULL) +public class WCSInventoryPlan { + private String reqCode; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date reqTime;//请求时间 + private String rfidNo;//rfid编号 + private String batchNo;//批次号 + private String sku;////物料编码 + private String location;//扫码获取 + private String qty; //数量 + private String qualityStatus;////质检状态 + private String factoryCode; + private String createBy; + + public String getCreateBy() { + return createBy; + } + + public void setCreateBy(String createBy) { + this.createBy = createBy; + } + + public String getFactoryCode() { + return factoryCode; + } + + public void setFactoryCode(String factoryCode) { + this.factoryCode = factoryCode; + } + + public String getReqCode() { + return reqCode; + } + + public void setReqCode(String reqCode) { + this.reqCode = reqCode; + } + + public Date getReqTime() { + return reqTime; + } + + public void setReqTime(Date reqTime) { + this.reqTime = reqTime; + } + + public String getRfidNo() { + return rfidNo; + } + + public void setRfidNo(String rfidNo) { + this.rfidNo = rfidNo; + } + + public String getBatchNo() { + return batchNo; + } + + public void setBatchNo(String batchNo) { + this.batchNo = batchNo; + } + + public String getSku() { + return sku; + } + + public void setSku(String sku) { + this.sku = sku; + } + + public String getLocation() { + return location; + } + + public void setLocation(String location) { + this.location = location; + } + + public String getQty() { + return qty; + } + + public void setQty(String qty) { + this.qty = qty; + } + + public String getQualityStatus() { + return qualityStatus; + } + + public void setQualityStatus(String qualityStatus) { + this.qualityStatus = qualityStatus; + } +} diff --git a/op-modules/op-wms/src/main/java/com/op/wms/domain/WMSDesignatedPalle.java b/op-modules/op-wms/src/main/java/com/op/wms/domain/WMSDesignatedPalle.java new file mode 100644 index 00000000..96113928 --- /dev/null +++ b/op-modules/op-wms/src/main/java/com/op/wms/domain/WMSDesignatedPalle.java @@ -0,0 +1,78 @@ +package com.op.wms.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude; + +import java.util.Date; + +@JsonInclude(JsonInclude.Include.NON_NULL) +public class WMSDesignatedPalle { + private String reqCode; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date reqTime;//请求时间 + private String rfidNo;//rfid编号//如果是空托出库的话,这个字段就传固定的那个物料号 + private String warehouseNo; //仓库编号 + private String factoryCode; + + public String getFactoryCode() { + return factoryCode; + } + + public void setFactoryCode(String factoryCode) { + this.factoryCode = factoryCode; + } + + public String getWarehouseNo() { + return warehouseNo; + } + + public void setWarehouseNo(String warehouseNo) { + this.warehouseNo = warehouseNo; + } + + private String location;//填包装线 + + private String type; //类型1是托盘出库,2是空托出库计划下发 + + public String getReqCode() { + return reqCode; + } + + public void setReqCode(String reqCode) { + this.reqCode = reqCode; + } + + public Date getReqTime() { + return reqTime; + } + + public void setReqTime(Date reqTime) { + this.reqTime = reqTime; + } + + public String getRfidNo() { + return rfidNo; + } + + public void setRfidNo(String rfidNo) { + this.rfidNo = rfidNo; + } + + public String getLocation() { + return location; + } + + public void setLocation(String location) { + this.location = location; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } +} + + diff --git a/op-modules/op-wms/src/main/java/com/op/wms/domain/WMSTraystatus.java b/op-modules/op-wms/src/main/java/com/op/wms/domain/WMSTraystatus.java new file mode 100644 index 00000000..0b198af3 --- /dev/null +++ b/op-modules/op-wms/src/main/java/com/op/wms/domain/WMSTraystatus.java @@ -0,0 +1,79 @@ +package com.op.wms.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude; + +import java.util.Date; + +@JsonInclude(JsonInclude.Include.NON_NULL) +public class WMSTraystatus { + private String reqCode; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date reqTime;//请求时间 + private String factoryCode; + + private String rfidNo; + ////0代表当前位置为空,用于托盘被人拿走时的位置状态信息更新 + private String locationStatus; + private String location;//当前托盘所处的具体的位置 +//托盘类型:1空托盘 2.进入入库前整理区 + private String palletType; + + public String getFactoryCode() { + return factoryCode; + } + + public void setFactoryCode(String factoryCode) { + this.factoryCode = factoryCode; + } + + public String getReqCode() { + return reqCode; + } + + public void setReqCode(String reqCode) { + this.reqCode = reqCode; + } + + public Date getReqTime() { + return reqTime; + } + + public void setReqTime(Date reqTime) { + this.reqTime = reqTime; + } + + public String getRfidNo() { + return rfidNo; + } + + public void setRfidNo(String rfidNo) { + this.rfidNo = rfidNo; + } + + public String getLocationStatus() { + return locationStatus; + } + + public void setLocationStatus(String locationStatus) { + this.locationStatus = locationStatus; + } + + public String getLocation() { + return location; + } + + public void setLocation(String location) { + this.location = location; + } + + public String getPalletType() { + return palletType; + } + + public void setPalletType(String palletType) { + this.palletType = palletType; + } +} + + diff --git a/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsOdsMateStorageNewsMapper.java b/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsOdsMateStorageNewsMapper.java index 8b83fd85..6c773134 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsOdsMateStorageNewsMapper.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsOdsMateStorageNewsMapper.java @@ -2,8 +2,10 @@ package com.op.wms.mapper; import java.util.List; +import com.op.wms.domain.WCSInventoryPlan; import com.op.wms.domain.WmsOdsEmStorageNews; import com.op.wms.domain.WmsOdsMateStorageNews; +import com.op.wms.domain.WmsToWCSDTO; /** * 包材库存主表Mapper接口 @@ -61,4 +63,7 @@ public interface WmsOdsMateStorageNewsMapper { public int deleteWmsOdsMateStorageNewsByStorageIds(String[] storageIds); WmsOdsMateStorageNews selectByWhCodeAndMate(WmsOdsEmStorageNews wmsOdsEmStorageNews); + + + WmsOdsMateStorageNews selectBaseProductByCode(WCSInventoryPlan wcsInventoryPlan); } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsOdsMateStorageNewsSnMapper.java b/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsOdsMateStorageNewsSnMapper.java index a1ef0cb1..53b79e93 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsOdsMateStorageNewsSnMapper.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsOdsMateStorageNewsSnMapper.java @@ -3,7 +3,9 @@ package com.op.wms.mapper; import java.util.List; import com.op.wms.domain.WmsOdsEmStorageNews; +import com.op.wms.domain.WmsOdsMateStorageNews; import com.op.wms.domain.WmsOdsMateStorageNewsSn; +import com.op.wms.domain.WmsToWCSDTO; /** * 包材库存明细表Mapper接口是 @@ -64,4 +66,6 @@ public interface WmsOdsMateStorageNewsSnMapper { void updatekdd(WmsOdsEmStorageNews wmsOdsEmStorageNews); + + WmsOdsMateStorageNewsSn selectwmsRfidNotwo(WmsToWCSDTO wcsdto); } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsRawOrderInSnMapper.java b/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsRawOrderInSnMapper.java index 9a8bb330..bb0b910c 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsRawOrderInSnMapper.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsRawOrderInSnMapper.java @@ -2,6 +2,7 @@ package com.op.wms.mapper; import java.util.List; +import com.op.wms.domain.WCSInventoryPlan; import com.op.wms.domain.WmsRawOrderInSn; import com.op.wms.domain.WmsToWCSDTO; @@ -64,5 +65,6 @@ public interface WmsRawOrderInSnMapper { void updateU1Byid(WmsRawOrderInSn wmsRawOrderInSn); - WmsRawOrderInSn selectwmsRfidNotwo(WmsToWCSDTO wmsToWCSDTO); + + } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/IOdsProcureOrderService.java b/op-modules/op-wms/src/main/java/com/op/wms/service/IOdsProcureOrderService.java index dd6f4728..8356af22 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/IOdsProcureOrderService.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/IOdsProcureOrderService.java @@ -3,6 +3,7 @@ package com.op.wms.service; import java.util.List; import com.op.common.core.domain.R; +import com.op.common.core.web.domain.AjaxResult; import com.op.wms.domain.*; /** @@ -75,4 +76,10 @@ public interface IOdsProcureOrderService { OrderLine addPurchaseOrderOutbound(OrderLine orderLine); R sapPurchaseOrderSync(SapBackflushMPQuery sapPurchaseOrderQuery); + + void TraystatusUpdate(WMSTraystatus wmsTraystatus); + + String InventoryPlanIssuance(WCSInventoryPlan wcsInventoryPlan); + + String DesignatedPalletOutbound(WMSDesignatedPalle wmsDesignatedPalle); } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOrderServiceImpl.java b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOrderServiceImpl.java index 8b27513d..c770686a 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOrderServiceImpl.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOrderServiceImpl.java @@ -1,5 +1,6 @@ package com.op.wms.service.impl; +import com.alibaba.csp.sentinel.util.StringUtil; import com.alibaba.fastjson2.JSONArray; @@ -7,6 +8,7 @@ import com.alibaba.fastjson.JSONObject; import java.math.BigDecimal; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -14,8 +16,7 @@ import java.util.List; import com.op.common.core.domain.R; - - +import com.op.common.core.web.domain.AjaxResult; import okhttp3.OkHttpClient; import okhttp3.MediaType; import okhttp3.RequestBody; @@ -236,7 +237,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { wmsOdsMateStorageNewsSnMapper.updateAdd(wmsOdsEmStorageNews); } wmsRawOrderInSnMapper.updateU1Byid(wmsRawOrderInSn); - //修改库存--加,并且为冻结的,sap过账后再解 + } @Override @@ -268,7 +269,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { orderLine1.setOrderLineNo(String.format("%05d", orderItem)); orderLine1.setBatchNo("00001"); } - String meg= addPurchaseOrderOutboundSAP(orderLine); + String meg= addPurchaseOrderOutboundWCS(orderLine); if ("OK".equals(meg)){//成功 for (OrderLine orderLine1: orderList) { @@ -389,8 +390,266 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { return R.ok(); } + @Override + public void TraystatusUpdate(WMSTraystatus wmsTraystatus) { + //空托从2楼到3楼locationStatus是1,palletType是1 + //空托就不用管了,只给他们发消息就可以了,半托的话,从2楼到3楼返回,后需要下发计划,这样就需要下发入口任务 +// if ("2".equals(wmsTraystatus.getPalletType())){//palletType是半托,从2楼到3楼返回 +// //这个进入入库前整理区--要记录在入库-取消在这里添加记录,在下发任务的时候在添加 +// +// } + TraystatusUpdateWCS(wmsTraystatus); + } + + @Override + public String InventoryPlanIssuance(WCSInventoryPlan wcsInventoryPlan) { + DynamicDataSourceContextHolder.push("ds_" + wcsInventoryPlan.getFactoryCode()); + //根据对应物料编码查询物料名称--如果没有 + String message =""; + WmsOdsMateStorageNews wmsOdsMateStorageNews= wmsOdsMateStorageNewsMapper.selectBaseProductByCode(wcsInventoryPlan); + //wms_raw_order_in_sn + if (wmsOdsMateStorageNews==null){ + //null + message="物料号错误"; + return message; + } + WmsRawOrderInSn wmsRawOrderInSn=new WmsRawOrderInSn(); + wmsRawOrderInSn.setRawOrderInSnId(IdUtils.fastSimpleUUID()); + wmsRawOrderInSn.setUserDefined1("1");//出入库 + wmsRawOrderInSn.setUserDefined2(wcsInventoryPlan.getBatchNo());//批次 + wmsRawOrderInSn.setWhCode("WH02");//厂库编号 + //wmsRawOrderInSn.setPoNo();//采购单号 +// wmsRawOrderInSn.setPoLine(odsProcureOrder.getPoLine());//行项目 + wmsRawOrderInSn.setMaterialCode(wcsInventoryPlan.getSku()); + wmsRawOrderInSn.setMaterialDesc(wmsOdsMateStorageNews.getMaterialDesc()); + wmsRawOrderInSn.setAmount(new BigDecimal(wcsInventoryPlan.getQty())); + wmsRawOrderInSn.setCreateBy(wcsInventoryPlan.getCreateBy()); + wmsRawOrderInSn.setGmtCreate(new Date()); + wmsRawOrderInSn.setActiveFlag("1"); + wmsRawOrderInSn.setUserDefined4(wmsOdsMateStorageNews.getUserDefined1());//单位 + wmsRawOrderInSn.setSn(wcsInventoryPlan.getRfidNo());//托盘号 + wmsRawOrderInSn.setFactoryCode(wcsInventoryPlan.getFactoryCode()); + //wmsRawOrderInSn.setUserDefined3(order.getID());//返库的入库记录 + wmsRawOrderInSnMapper.insertWmsRawOrderInSn(wmsRawOrderInSn); + String tem= InventoryPlanIssuanceWCS(wcsInventoryPlan); + if ("OK".equals(tem)){ + message="操作成功"; + } + return message; + } + + @Override + public String DesignatedPalletOutbound(WMSDesignatedPalle wmsDesignatedPalle) { + DynamicDataSourceContextHolder.push("ds_" + wmsDesignatedPalle.getFactoryCode()); + String result=""; + if ("1".equals(wmsDesignatedPalle.getType())){//类型1是托盘出库,2是空托出库计划下发 + String meg= DesignatedPalletOutboundWCS(wmsDesignatedPalle); + if ("OK".equals(meg)){//成功 rfidNo + WmsToWCSDTO wcsdto =new WmsToWCSDTO(); + wcsdto.setRfidNo(wmsDesignatedPalle.getRfidNo()); + WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn= wmsOdsMateStorageNewsSnMapper.selectwmsRfidNotwo(wcsdto); + WCSInventoryPlan wcsInventoryPlan=new WCSInventoryPlan(); + wcsInventoryPlan.setSku(wmsOdsMateStorageNewsSn.getMaterialCode()); + WmsOdsMateStorageNews wmsOdsMateStorageNews= wmsOdsMateStorageNewsMapper.selectBaseProductByCode(wcsInventoryPlan); + + OdsProcureOutOrder odsProcureOutOrder=new OdsProcureOutOrder(); + odsProcureOutOrder.setID(IdUtils.fastSimpleUUID()); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date date = new Date(); + String formattedDate = dateFormat.format(date); + odsProcureOutOrder.setProduceCode("DE"+formattedDate); + odsProcureOutOrder.setMaterialCode(wmsOdsMateStorageNewsSn.getMaterialCode()); + odsProcureOutOrder.setMaterialDesc(wmsOdsMateStorageNewsSn.getMaterialDesc()); + odsProcureOutOrder.setPlanDate(new Date()); + odsProcureOutOrder.setUnit(wmsOdsMateStorageNews.getUserDefined1()); + odsProcureOutOrder.setProductionLineCode(wmsDesignatedPalle.getLocation()); + odsProcureOutOrder.setUserDefined1(formattedDate); + odsProcureOutOrder.setActive("1"); + odsProcureOutOrder.setOrderStatus("1"); + odsProcureOutOrder.setPlanNumber(wmsOdsMateStorageNewsSn.getAmount()); + odsProcureOutOrder.setUserDefined2("00001");//行项目 + //odsProcureOutOrder.set + odsProcureOutOrderMapper.insertOdsProcureOutOrder(odsProcureOutOrder); + result="操作成功"; + return result; + } + }else { + OrderLine orderLine=new OrderLine(); + orderLine.setWarehouseNo("WH02"); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date date = new Date(); + String formattedDate = dateFormat.format(date); + orderLine.setOrderNo(formattedDate);//,如果是空托盘垛的需求可以随机生成一个 + List list=new ArrayList<>(); + Integer orderItem = 1; + OrderLine orderLine1=new OrderLine(); + orderLine1.setOrderLineNo(String.format("%05d", orderItem)); + orderLine1.setSku(wmsDesignatedPalle.getRfidNo()); + list.add(orderLine1); + orderLine.setList(list); + String message= addPurchaseOrderOutboundTwoWCS(orderLine); + if ("OK".equals(message)) {//成功 + result="操作成功"; + return result; + } + } + + return result; + } + public String DesignatedPalletOutboundWCS(WMSDesignatedPalle wmsDesignatedPalle){ + // 定义请求的URL地址 + String url = "http://192.168.202.37:9001/api/v1/ReceiveMesMsg/packingMaterialsOutBoundByPallet"; + // 创建OkHttpClient实例 + OkHttpClient client = new OkHttpClient(); + +// 定义请求体的媒体类型为json + MediaType mediaType = MediaType.parse("application/json"); + try { + // 创建JSON对象payload,并设置请求参数 + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date date = new Date(); + String formattedDate = dateFormat.format(date); + JSONObject payload = new JSONObject(); + payload.put("reqCode", IdUtils.fastSimpleUUID()); + payload.put("reqTime",formattedDate ); + payload.put("warehouseNo", wmsDesignatedPalle.getWarehouseNo()); + payload.put("rfidNo", wmsDesignatedPalle.getRfidNo()); + payload.put("location", wmsDesignatedPalle.getLocation()); + // 创建请求体,将JSON对象转换为字符串 + RequestBody body = RequestBody.create(mediaType, payload.toString()); + // 创建POST请求 + Request request = new Request.Builder() + .url(url) + .post(body) + .build(); + // 执行请求并获取响应 + Response response = client.newCall(request).execute(); + // 获取响应数据并转换为JSON对象 + String responseData = response.body().string(); + JSONObject result = JSONObject.parseObject(responseData); + // 获取返回结果结果JSON对象,请求编码、状态码和消息 + result.get("reqCode"); + result.get("code"); + String message= (String) result.get("message"); + response.close(); + return message; + } catch (IOException e) { + // 捕获IOException并处理异常 + e.printStackTrace(); // 这里最好记录异常到日志文件或者进行其他处理 + } finally { + // 关闭OkHttpClient + client.dispatcher().executorService().shutdown(); + } +// 返回0 + return null; + + } + public String InventoryPlanIssuanceWCS(WCSInventoryPlan wcsInventoryPlan){ + // 定义请求的URL地址 + String url = "http://192.168.202.37:9001/api/v1/ReceiveMesMsg/packingMaterialsInBoundTaskSend"; + // 创建OkHttpClient实例 + OkHttpClient client = new OkHttpClient(); + +// 定义请求体的媒体类型为json + MediaType mediaType = MediaType.parse("application/json"); + try { + // 创建JSON对象payload,并设置请求参数 + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date date = new Date(); + String formattedDate = dateFormat.format(date); + JSONObject payload = new JSONObject(); + payload.put("reqCode", IdUtils.fastSimpleUUID()); + payload.put("reqTime",formattedDate ); + payload.put("rfidNo", wcsInventoryPlan.getRfidNo()); + payload.put("batchNo", wcsInventoryPlan.getBatchNo()); + payload.put("sku", wcsInventoryPlan.getSku()); + payload.put("location", wcsInventoryPlan.getLocation()); + payload.put("qty", wcsInventoryPlan.getQty()); + payload.put("qualityStatus", wcsInventoryPlan.getQualityStatus()); + // 创建请求体,将JSON对象转换为字符串 + RequestBody body = RequestBody.create(mediaType, payload.toString()); + // 创建POST请求 + Request request = new Request.Builder() + .url(url) + .post(body) + .build(); + // 执行请求并获取响应 + Response response = client.newCall(request).execute(); + // 获取响应数据并转换为JSON对象 + String responseData = response.body().string(); + JSONObject result = JSONObject.parseObject(responseData); + // 获取返回结果结果JSON对象,请求编码、状态码和消息 + result.get("reqCode"); + result.get("code"); + String message= (String) result.get("message"); + response.close(); + return message; + } catch (IOException e) { + // 捕获IOException并处理异常 + e.printStackTrace(); // 这里最好记录异常到日志文件或者进行其他处理 + } finally { + // 关闭OkHttpClient + client.dispatcher().executorService().shutdown(); + } +// 返回0 + return null; + + } + + + + public String TraystatusUpdateWCS(WMSTraystatus wmsTraystatus){ + // 定义请求的URL地址 + String url = "http://192.168.202.37:9001/api/v1/ReceiveMesMsg/packingMaterialsReturnTaskSend"; + // 创建OkHttpClient实例 + OkHttpClient client = new OkHttpClient(); + +// 定义请求体的媒体类型为json + MediaType mediaType = MediaType.parse("application/json"); + try { + // 创建JSON对象payload,并设置请求参数 + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date date = new Date(); + String formattedDate = dateFormat.format(date); + JSONObject payload = new JSONObject(); + payload.put("reqCode", IdUtils.fastSimpleUUID()); + payload.put("reqTime",formattedDate ); + payload.put("rfidNo", wmsTraystatus.getRfidNo()); + payload.put("locationStatus", wmsTraystatus.getLocationStatus()); + payload.put("location", wmsTraystatus.getLocation()); + payload.put("palletType", wmsTraystatus.getPalletType()); + // 创建请求体,将JSON对象转换为字符串 + RequestBody body = RequestBody.create(mediaType, payload.toString()); + // 创建POST请求 + Request request = new Request.Builder() + .url(url) + .post(body) + .build(); + // 执行请求并获取响应 + Response response = client.newCall(request).execute(); + // 获取响应数据并转换为JSON对象 + String responseData = response.body().string(); + JSONObject result = JSONObject.parseObject(responseData); + // 获取返回结果结果JSON对象,请求编码、状态码和消息 + result.get("reqCode"); + result.get("code"); + String message= (String) result.get("message"); + response.close(); + return message; + } catch (IOException e) { + // 捕获IOException并处理异常 + e.printStackTrace(); // 这里最好记录异常到日志文件或者进行其他处理 + } finally { + // 关闭OkHttpClient + client.dispatcher().executorService().shutdown(); + } +// 返回0 + return null; + + } + //下发计划的接口 - public String addPurchaseOrderOutboundSAP(OrderLine orderLinete) { + public String addPurchaseOrderOutboundWCS(OrderLine orderLinete) { // 定义请求的URL地址 String url = "http://192.168.202.37:9001/api/v1/ReceiveMesMsg/packingMaterialsOutBoundRequest"; // 创建OkHttpClient实例 @@ -452,5 +711,63 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { return null; } + //空托下发计划的接口 + public String addPurchaseOrderOutboundTwoWCS(OrderLine orderLinete) { + // 定义请求的URL地址 + String url = "http://192.168.202.37:9001/api/v1/ReceiveMesMsg/packingMaterialsOutBoundRequest"; + // 创建OkHttpClient实例 + OkHttpClient client = new OkHttpClient(); +// 定义请求体的媒体类型为json + MediaType mediaType = MediaType.parse("application/json"); + try { + // 创建JSON对象payload,并设置请求参数 + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date date = new Date(); + String formattedDate = dateFormat.format(date); + JSONObject payload = new JSONObject(); + payload.put("reqCode", IdUtils.fastSimpleUUID()); + payload.put("reqTime",formattedDate ); + payload.put("warehouseNo", orderLinete.getWarehouseNo()); + payload.put("orderNo", orderLinete.getOrderNo()); + JSONArray orderLines = new JSONArray(); + List orderList= orderLinete.getList(); + // 创建订单行数组,并将订单行对象添加到数组中 + for (OrderLine orderLine1: + orderList ) { + JSONObject orderLine = new JSONObject(); + orderLine.put("orderLineNo", orderLine1.getOrderLineNo()); + orderLine.put("sku", orderLine1.getMaterialCode()); + orderLines.add(orderLine); + } + payload.put("orderLines", orderLines); + // 创建请求体,将JSON对象转换为字符串 + RequestBody body = RequestBody.create(mediaType, payload.toString()); + // 创建POST请求 + Request request = new Request.Builder() + .url(url) + .post(body) + .build(); + // 执行请求并获取响应 + Response response = client.newCall(request).execute(); + // 获取响应数据并转换为JSON对象 + String responseData = response.body().string(); + JSONObject result = JSONObject.parseObject(responseData); + // 获取返回结果结果JSON对象,请求编码、状态码和消息 + result.get("reqCode"); + result.get("code"); + String message= (String) result.get("message"); + response.close(); + return message; + } catch (IOException e) { + // 捕获IOException并处理异常 + e.printStackTrace(); // 这里最好记录异常到日志文件或者进行其他处理 + } finally { + // 关闭OkHttpClient + client.dispatcher().executorService().shutdown(); + } +// 返回0 + return null; + + } } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsToWCSmissionServiceImpl.java b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsToWCSmissionServiceImpl.java index f1962278..557a2ece 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsToWCSmissionServiceImpl.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsToWCSmissionServiceImpl.java @@ -65,6 +65,7 @@ public class WmsToWCSmissionServiceImpl implements IWmsToWCSmissionService { @Override public WmsToWCSDTO packingMaterialsInboundCompleted(WmsToWCSDTO wmsToWCSDTO) { DynamicDataSourceContextHolder.push("ds_" + wmsToWCSDTO.getFactory()); + //wms_raw_order_in_sn WmsRawOrderInSn wmsRawOrderInSn= wmsRawOrderInSnMapper.selectwmsRfidNo(wmsToWCSDTO); wmsRawOrderInSn.setWhCode(wmsToWCSDTO.getWarehouseNo()); wmsRawOrderInSn.setWlCode(wmsToWCSDTO.getLocation()); @@ -76,10 +77,12 @@ public class WmsToWCSmissionServiceImpl implements IWmsToWCSmissionService { wmsOdsMateStorageNewsSn.setSn(wmsRawOrderInSn.getSn()); wmsOdsMateStorageNewsSn.setAmount(wmsRawOrderInSn.getAmount()); wmsOdsMateStorageNewsSn.setCreateBy("AGV"); + wmsOdsMateStorageNewsSn.setActiveFlag("1"); wmsOdsMateStorageNewsSn.setGmtCreate(new Date()); wmsOdsMateStorageNewsSn.setMateOrderInSnId(IdUtils.fastSimpleUUID()); wmsOdsMateStorageNewsSn.setFactoryCode(wmsToWCSDTO.getFactory()); wmsOdsMateStorageNewsSn.setSapFactoryCode(wmsToWCSDTO.getFactory()); + //wms_ods_mate_storage_news_sn wmsOdsMateStorageNewsSnMapper.insertWmsOdsMateStorageNewsSn(wmsOdsMateStorageNewsSn); //修改库存 //2,修改库存---/加库存数量--storage_amount = IFNULL(storage_amount, 0) + #{amount}, @@ -128,15 +131,23 @@ public class WmsToWCSmissionServiceImpl implements IWmsToWCSmissionService { //记录明细消减库存 DynamicDataSourceContextHolder.push("ds_" + wcsdto.getFactory()); - WmsRawOrderInSn wmsRawOrderInSn= wmsRawOrderInSnMapper.selectwmsRfidNotwo(wcsdto); + WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn= wmsOdsMateStorageNewsSnMapper.selectwmsRfidNotwo(wcsdto); + + //user_defined1='2'也就是查询的已经入库的托盘记录,再之后要进行标记备注5为1.不为空即是这, + // 或者直接在库存明细中查询这个托盘,然后后面对这条托盘明细进行标记处理,表示已经出库--用这个 + //修改库存 + //2,修改库存---/加库存数量--storage_amount = IFNULL(storage_amount, 0) + #{amount}, + WmsOdsEmStorageNews wmsOdsEmStorageNews=new WmsOdsEmStorageNews(); - wmsOdsEmStorageNews.setWhCode(wmsRawOrderInSn.getWhCode());//仓库编码 - wmsOdsEmStorageNews.setWlCode(wmsRawOrderInSn.getWlCode());//库位编码 - wmsOdsEmStorageNews.setMaterialCode(wmsRawOrderInSn.getMaterialCode()); - wmsOdsEmStorageNews.setAmount(wmsRawOrderInSn.getAmount()); + wmsOdsEmStorageNews.setWhCode(wmsOdsMateStorageNewsSn.getWhCode());//仓库编码 + wmsOdsEmStorageNews.setWlCode(wmsOdsMateStorageNewsSn.getWlCode());//库位编码 + wmsOdsEmStorageNews.setMaterialCode(wmsOdsMateStorageNewsSn.getMaterialCode()); + wmsOdsEmStorageNews.setAmount(wmsOdsMateStorageNewsSn.getAmount()); wmsOdsMateStorageNewsSnMapper.updatekdd(wmsOdsEmStorageNews); + wmsOdsMateStorageNewsSn.setUserDefined1("1"); + wmsOdsMateStorageNewsSnMapper.updateWmsOdsMateStorageNewsSn(wmsOdsMateStorageNewsSn); return wcsdto; } diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/WmsOdsMateStorageNewsMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/WmsOdsMateStorageNewsMapper.xml index 892d7633..0523e4b8 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/WmsOdsMateStorageNewsMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/WmsOdsMateStorageNewsMapper.xml @@ -210,7 +210,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{storageId} - + select storage_id, wh_code, region_code, wa_code, storage_type, wl_code, material_code, material_desc, amount, storage_amount, occupy_amount, lpn, product_batch, receive_date, product_date, user_defined1, user_defined2, user_defined3, user_defined4, user_defined5, user_defined6, user_defined7, user_defined8, user_defined9, user_defined10, create_by, gmt_create, last_modified_by, gmt_modified, active_flag, factory_code, sap_factory_code, wl_name from wms_ods_mate_storage_news + where wh_code=#{whCode} and wl_code=#{wlCode} and material_code=#{materialCode} + + diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/WmsOdsMateStorageNewsSnMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/WmsOdsMateStorageNewsSnMapper.xml index 794fcd73..fc59a9da 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/WmsOdsMateStorageNewsSnMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/WmsOdsMateStorageNewsSnMapper.xml @@ -205,4 +205,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where mate_order_in_sn_id = #{mateOrderInSnId} + diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/WmsRawOrderInSnMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/WmsRawOrderInSnMapper.xml index dc9b5812..5663bed1 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/WmsRawOrderInSnMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/WmsRawOrderInSnMapper.xml @@ -193,18 +193,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" active_flag='1' and user_defined1='1' - + update wms_raw_order_in_sn set user_defined1 = '2' where raw_order_in_sn_id=#{rawOrderInSnId} + From 8452e5b19e09574aad99df9bd91ad819a3f9d6ff Mon Sep 17 00:00:00 2001 From: A0010407 Date: Mon, 11 Dec 2023 10:54:39 +0800 Subject: [PATCH 02/10] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=BB=BC=E5=90=88?= =?UTF-8?q?=E6=8A=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/EquCheckItemController.java | 30 ++ .../device/domain/dto/SummaryReportDTO.java | 477 ++++++++++++++++++ .../op/device/mapper/EquCheckItemMapper.java | 22 + .../device/service/IEquCheckItemService.java | 24 +- .../service/impl/DevicePDAServiceImpl.java | 3 + .../service/impl/EquCheckItemServiceImpl.java | 50 +- .../mapper/device/EquCheckItemMapper.xml | 45 ++ 7 files changed, 643 insertions(+), 8 deletions(-) create mode 100644 op-modules/op-device/src/main/java/com/op/device/domain/dto/SummaryReportDTO.java diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/EquCheckItemController.java b/op-modules/op-device/src/main/java/com/op/device/controller/EquCheckItemController.java index bce69c03..fbb07ad1 100644 --- a/op-modules/op-device/src/main/java/com/op/device/controller/EquCheckItemController.java +++ b/op-modules/op-device/src/main/java/com/op/device/controller/EquCheckItemController.java @@ -3,7 +3,10 @@ package com.op.device.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; +import com.op.device.domain.EquRepairOrder; +import com.op.device.domain.WorkCenter; import com.op.device.domain.dto.EquCheckItemDTO; +import com.op.device.domain.dto.SummaryReportDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -118,4 +121,31 @@ public class EquCheckItemController extends BaseController { public AjaxResult remove(@PathVariable String[] itemIds) { return equCheckItemService.deleteEquCheckItemByItemIds(itemIds); } + + //检查标准汇总 点检、巡检、保养 + @RequiresPermissions("device:item:summaryReport") + @GetMapping("/summaryReport") + public AjaxResult getSummaryReport(EquCheckItem equCheckItem) { + return equCheckItemService.getSummaryReport(equCheckItem); + } + + /** + * 获取工作中心 + * + * @return + */ + @GetMapping("/getWorkCenter") + public AjaxResult getWorkCenter() { + return equCheckItemService.getWorkCenter(); + } + + + /** + * 点检、巡检、保养计划工单匹配检查项 + * @return + */ + @GetMapping("/matchList") + public AjaxResult selectMatchListByEquipmentCode(SummaryReportDTO summaryReportDTO) { + return equCheckItemService.selectMatchListByEquipmentCode(summaryReportDTO); + } } diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/dto/SummaryReportDTO.java b/op-modules/op-device/src/main/java/com/op/device/domain/dto/SummaryReportDTO.java new file mode 100644 index 00000000..26e486e2 --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/domain/dto/SummaryReportDTO.java @@ -0,0 +1,477 @@ +package com.op.device.domain.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.op.common.core.annotation.Excel; +import com.op.device.domain.EquCheckItemDetail; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +// 检查项维护页面DTO +public class SummaryReportDTO { + /** 主键 */ + private String itemId ; + /** 检查项编码 */ + private String itemCode ; + /** 检查项名称 */ + private String itemName ; + /** 检查项方法/工具 */ + private String itemMethod ; + /** 维护类型编码 */ + private String itemType ; + /** 维护类型名称 */ + private String itemTypeName ; + /** 检查项备注 */ + private String itemRemark ; + // 检查工具 + private String itemTools; + //标准类型 + private String standardType; + //标准名称 + private String standardName; + // 循环周期类型 + private String itemLoopType; + // 循环周期 + private int itemLoop; + /** 主键 */ + private String orderId; + //设备 + private String equipmentCode; + /** 维修前达标 */ + private String detailReach; + //维修后是否达标 + private String repairReach; + /** 主键 */ + private String detailId ; + /** 主键 */ + private String id ; + + //1号 + private String one ; + //2号 + private String two ; + //3号 + private String three ; + //4号 + private String four ; + //5号 + private String five ; + //6号 + private String six ; + //7号 + private String seven ; + //8号 + private String eight ; + //9号 + private String nine ; + //10号 + private String ten ; + //11号 + private String eleven ; + //12号 + private String twelve ; + //13号 + private String thirteen ; + //14号 + private String fourteen; + //15号 + private String fifteen; + //16号 + private String sixteen; + //17号 + private String seventeen; + //18号 + private String eighteen; + //19号 + private String nineteen; + //20号 + private String twenty; + //21号 + private String twentyOne; + //22号 + private String twentyTwo; + //23号 + private String twentyThree; + //24号 + private String twentyFour; + //25号 + private String twentyFive; + //26号 + private String twentySix; + //27号 + private String twentySeven; + //28号 + private String twentyEight; + //29号 + private String twentyNine; + //30号 + private String thirty; + //31号 + private String thirtyOne; + + /** 实际结束时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + private Date orderEnd; + + /** 时间 */ + private String yearMouth; + + public void setId(String id) { + this.id = id; + } + public String getId() { + return id; + } + + public void setOrderId(String orderId) { + this.orderId = orderId; + } + public String getOrderId() { + return orderId; + } + + public String getItemTools() { + return itemTools; + } + public void setItemTools(String itemTools) { + this.itemTools = itemTools; + } + + public String getItemId() { + return itemId; + } + public void setItemId(String itemId) { + this.itemId = itemId; + } + + public String getItemCode() { + return itemCode; + } + public void setItemCode(String itemCode) { + this.itemCode = itemCode; + } + + public String getItemName() { + return itemName; + } + public void setItemName(String itemName) { + this.itemName = itemName; + } + + public String getItemMethod() { + return itemMethod; + } + public void setItemMethod(String itemMethod) { + this.itemMethod = itemMethod; + } + + public String getItemType() { + return itemType; + } + public void setItemType(String itemType) { + this.itemType = itemType; + } + + public String getItemTypeName() { + return itemTypeName; + } + public void setItemTypeName(String itemTypeName) { + this.itemTypeName = itemTypeName; + } + + public String getItemRemark() { + return itemRemark; + } + public void setItemRemark(String itemRemark) { + this.itemRemark = itemRemark; + } + + public String getStandardType() { + return standardType; + } + public void setStandardType(String standardType) { + this.standardType = standardType; + } + + public String getStandardName() { + return standardName; + } + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public int getItemLoop() { + return itemLoop; + } + public void setItemLoop(int itemLoop) { + this.itemLoop = itemLoop; + } + + public String getItemLoopType() { + return itemLoopType; + } + public void setItemLoopType(String itemLoopType) { + this.itemLoopType = itemLoopType; + } + + public void setEquipmentCode(String equipmentCode) { + this.equipmentCode = equipmentCode; + } + public String getEquipmentCode() { + return equipmentCode; + } + + public void setDetailId(String detailId) { + this.detailId = detailId; + } + public String getDetailId() { + return detailId; + } + + public String getRepairReach() { + return repairReach; + } + public void setRepairReach(String repairReach) { + this.repairReach = repairReach; + } + + public String getDetailReach() { + return detailReach; + } + public void setDetailReach(String detailReach) { + this.detailReach = detailReach; + } + + public void setOrderEnd(Date orderEnd) { + this.orderEnd = orderEnd; + } + public Date getOrderEnd() { + return orderEnd; + } + + public void setYearMouth(String yearMouth) { + this.yearMouth = yearMouth; + } + public String getYearMouth() { + return yearMouth; + } + + public void setOne(String one) { + this.one = one; + } + public String getOne() { + return one; + } + + public void setTwo(String two) { + this.two = two; + } + public String getTwo() { + return two; + } + + public void setThree(String three) { + this.three = three; + } + public String getThree() { + return three; + } + + public void setFour(String four) { + this.four = four; + } + public String getFour() { + return four; + } + + public void setFive(String five) { + this.five = five; + } + public String getFive() { + return five; + } + + public void setSix(String six) { + this.six = six; + } + public String getSix() { + return six; + } + + public void setSeven(String seven) { + this.seven = seven; + } + public String getSeven() { + return seven; + } + + public void setEight(String eight) { + this.eight = eight; + } + public String getEight() { + return eight; + } + + public void setNine(String nine) { + this.nine = nine; + } + public String getNine() { + return nine; + } + + public void setTen(String ten) { + this.ten = ten; + } + public String getTen() { + return ten; + } + + public void setEleven(String eleven) { + this.eleven = eleven; + } + public String getEleven() { + return eleven; + } + + public void setTwelve(String twelve) { + this.twelve = twelve; + } + public String getTwelve() { + return twelve; + } + + public void setThirteen(String thirteen) { + this.thirteen = thirteen; + } + public String getThirteen() { + return thirteen; + } + + public void setFourteen(String fourteen) { + this.fourteen = fourteen; + } + public String getFourteen() { + return fourteen; + } + + public void setFifteen(String fifteen) { + this.fifteen = fifteen; + } + public String getFifteen() { + return fifteen; + } + + public void setSixteen(String sixteen) { + this.sixteen = sixteen; + } + public String getSixteen() { + return sixteen; + } + + public void setSeventeen(String seventeen) { + this.seventeen = seventeen; + } + public String getSeventeen() { + return seventeen; + } + + public void setEighteen(String eighteen) { + this.eighteen = eighteen; + } + public String getEighteen() { + return eighteen; + } + + public void setNineteen(String nineteen) { + this.nineteen = nineteen; + } + public String getNineteen() { + return nineteen; + } + + public void setTwenty(String twenty) { + this.twenty = twenty; + } + public String getTwenty() { + return twenty; + } + + public void setTwentyOne(String twentyOne) { + this.twentyOne = twentyOne; + } + public String getTwentyOne() { + return twentyOne; + } + + public void setTwentyTwo(String twentyTwo) { + this.twentyTwo = twentyTwo; + } + public String getTwentyTwo() { + return twentyTwo; + } + + public void setTwentyThree(String twentyThree) { + this.twentyThree = twentyThree; + } + public String getTwentyThree() { + return twentyThree; + } + + public void setTwentyFour(String twentyFour) { + this.twentyFour = twentyFour; + } + public String getTwentyFour() { + return twentyFour; + } + + public void setTwentyFive(String twentyFive) { + this.twentyFive = twentyFive; + } + public String getTwentyFive() { + return twentyFive; + } + + public void setTwentySix(String twentySix) { + this.twentySix = twentySix; + } + public String getTwentySix() { + return twentySix; + } + + public void setTwentySeven(String twentySeven) { + this.twentySeven = twentySeven; + } + public String getTwentySeven() { + return twentySeven; + } + + public void setTwentyEight(String twentyEight) { + this.twentyEight = twentyEight; + } + public String getTwentyEight() { + return twentyEight; + } + + public void setTwentyNine(String twentyNine) { + this.twentyNine = twentyNine; + } + public String getTwentyNine() { + return twentyNine; + } + + public void setThirty(String thirty) { + this.thirty = thirty; + } + public String getThirty() { + return thirty; + } + + public void setThirtyOne(String thirtyOne) { + this.thirtyOne = thirtyOne; + } + public String getThirtyOne() { + return thirtyOne; + } + +} diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquCheckItemMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquCheckItemMapper.java index 2790b7ca..0e2a7297 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquCheckItemMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquCheckItemMapper.java @@ -4,6 +4,8 @@ import java.util.List; import com.op.device.domain.EquCheckItem; import com.op.device.domain.EquPlanDetail; +import com.op.device.domain.WorkCenter; +import com.op.device.domain.dto.SummaryReportDTO; import com.op.device.domain.vo.EquCheckItemVO; import org.apache.ibatis.annotations.Param; @@ -94,4 +96,24 @@ public interface EquCheckItemMapper { * @return */ List checkDelItem(String itemCode); + + ////////////////////////////////////////////////汇总页面 + /** + * 检查标准汇总 点检、巡检、保养 + * @param equCheckItem + * @return + */ + List getSummaryReport(EquCheckItem equCheckItem); + + /** + * 工作中心 + * @return + */ + List selectWorkCenter(); + + /** + * 点检、巡检、保养计划工单匹配检查项 + * @return + */ + List selectMatchListByEquipmentCode(SummaryReportDTO summaryReportDTO); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/IEquCheckItemService.java b/op-modules/op-device/src/main/java/com/op/device/service/IEquCheckItemService.java index b3df8267..1067bd78 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/IEquCheckItemService.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/IEquCheckItemService.java @@ -4,7 +4,9 @@ import java.util.List; import com.op.common.core.web.domain.AjaxResult; import com.op.device.domain.EquCheckItem; +import com.op.device.domain.EquRepairOrder; import com.op.device.domain.dto.EquCheckItemDTO; +import com.op.device.domain.dto.SummaryReportDTO; import com.op.device.domain.vo.EquCheckItemVO; /** @@ -66,11 +68,29 @@ public interface IEquCheckItemService { * 获取全部设备list信息 * @return */ - AjaxResult getEquipmentList(); + public AjaxResult getEquipmentList(); /** * 通过检查项code查询关联设备code列表 * @return */ - AjaxResult getEquipmentCodeListByItemCode(String itemCode); + public AjaxResult getEquipmentCodeListByItemCode(String itemCode); + + /** + * 检查标准汇总 点检、巡检、保养 + * @return + */ + public AjaxResult getSummaryReport(EquCheckItem equCheckItem); + + /** + * 获取工作中心 + * @return + */ + public AjaxResult getWorkCenter(); + + /** + * 点检、巡检、保养计划工单匹配检查项 + * @return + */ + public AjaxResult selectMatchListByEquipmentCode(SummaryReportDTO summaryReportDTO); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java index 77e4a4af..6efcb059 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java @@ -693,6 +693,9 @@ public class DevicePDAServiceImpl implements IDevicePDAService { //维修工单结束时间 equRepairWorkOrder.setWorkEndTime(DateUtils.getNowDate()); + //计算维修工单用时 + //获取工单的开始时间 + ////更新每一项点检/巡检检查项信息 //判空 if(StringUtils.isNotEmpty(equRepairWorkOrder.getDetailList())){ diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquCheckItemServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquCheckItemServiceImpl.java index 4d2e6c04..af72ccf5 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquCheckItemServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquCheckItemServiceImpl.java @@ -1,7 +1,9 @@ package com.op.device.service.impl; +import java.text.DateFormat; import java.text.Format; import java.text.SimpleDateFormat; +import java.util.Date; import java.util.List; import com.baomidou.dynamic.datasource.annotation.DS; @@ -9,10 +11,9 @@ import com.op.common.core.context.SecurityContextHolder; import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.uuid.IdUtils; import com.op.common.core.web.domain.AjaxResult; -import com.op.device.domain.EquCheckItemDetail; -import com.op.device.domain.EquItemEquipment; -import com.op.device.domain.EquPlanDetail; +import com.op.device.domain.*; import com.op.device.domain.dto.EquCheckItemDTO; +import com.op.device.domain.dto.SummaryReportDTO; import com.op.device.domain.vo.EquCheckItemVO; import com.op.device.mapper.EquCheckItemDetailMapper; import com.op.device.mapper.EquItemEquipmentMapper; @@ -160,14 +161,14 @@ public class EquCheckItemServiceImpl implements IEquCheckItemService { @Transactional public AjaxResult updateEquCheckItem(EquCheckItemDTO equCheckItemDTO) { - // 校验检查项是否已存在 + // 检验 EquCheckItem checkQuery = new EquCheckItem(); checkQuery.setItemType(equCheckItemDTO.getItemType()); checkQuery.setItemName(equCheckItemDTO.getItemName()); List check = equCheckItemMapper.selectEquCheckItemList(checkQuery); - if (check.size() > 0) { + if (check.size()>0) { if (!check.get(0).getItemCode().equals(equCheckItemDTO.getItemCode())) { - return error(500, "检查项已存在!不可修改!"); + return error(500,"检查项已存在!不可修改!"); } } @@ -329,4 +330,41 @@ public class EquCheckItemServiceImpl implements IEquCheckItemService { equItemEquipmentMapper.insertEquItemEquipment(equItemEquipment); } } + + /** + * 检查标准汇总 点检、巡检、保养 + * @return + */ + @Override + @DS("#header.poolName") + public AjaxResult getSummaryReport(EquCheckItem equCheckItem){ + List summaryReportList = equCheckItemMapper.getSummaryReport(equCheckItem); + return success(summaryReportList); + } + + /** + * 获取工作中心 + * + * @return + */ + @Override + @DS("#header.poolName") + public AjaxResult getWorkCenter() { + List workCenterList = equCheckItemMapper.selectWorkCenter(); + return success(workCenterList); + } + + + /** + * 点检、巡检、保养计划工单匹配检查项 + * @return + */ + @Override + @DS("#header.poolName") + public AjaxResult selectMatchListByEquipmentCode(SummaryReportDTO summaryReportDTO){ + DateFormat df = new SimpleDateFormat("yyyy-MM"); + summaryReportDTO.setYearMouth(df.format(summaryReportDTO.getOrderEnd())); + List matchList = equCheckItemMapper.selectMatchListByEquipmentCode(summaryReportDTO); + return success(matchList); + } } diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquCheckItemMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquCheckItemMapper.xml index 15da5410..ea4a816c 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquCheckItemMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquCheckItemMapper.xml @@ -168,4 +168,49 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{itemId} + + + + + + + \ No newline at end of file From 47318ca385c104f1db48e8f97affb816b3e0ada1 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Mon, 11 Dec 2023 12:04:32 +0800 Subject: [PATCH 03/10] =?UTF-8?q?=E8=B4=A8=E9=87=8F=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../QcCheckReportIncomeController.java | 7 +-- .../QcCheckTypeProjectController.java | 11 +++++ .../controller/QcStaticTableController.java | 9 ++++ .../op/quality/controller/QuaController.java | 12 ++--- .../com/op/quality/domain/QcCheckProject.java | 37 ++++++++++++++ .../quality/mapper/QcCheckProjectMapper.java | 15 +++--- .../mapper/QcCheckReportIncomeMapper.java | 5 +- .../mapper/QcCheckTypeProjectMapper.java | 5 ++ .../service/IQcCheckProjectService.java | 14 +++--- .../service/IQcCheckReportIncomeService.java | 1 + .../service/IQcCheckTypeProjectService.java | 19 ++++--- .../impl/QcCheckReportIncomeServiceImpl.java | 1 + .../impl/QcCheckTaskIncomeServiceImpl.java | 5 +- .../impl/QcCheckTypeProjectServiceImpl.java | 25 ++++++++++ .../impl/QcMaterialGroupServiceImpl.java | 4 +- .../service/impl/QcProCheckServiceImpl.java | 2 +- .../mapper/quality/QcCheckProjectMapper.xml | 8 ++- .../quality/QcCheckTypeProjectMapper.xml | 49 +++++++++++++++++-- 18 files changed, 184 insertions(+), 45 deletions(-) diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportIncomeController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportIncomeController.java index 80182e83..b9a1d728 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportIncomeController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportIncomeController.java @@ -9,10 +9,7 @@ import com.op.common.log.annotation.Log; import com.op.common.log.enums.BusinessType; import com.op.common.security.annotation.RequiresPermissions; import com.op.common.security.utils.SecurityUtils; -import com.op.quality.domain.QcBomComponent; -import com.op.quality.domain.QcCheckTaskDetail; -import com.op.quality.domain.QcCheckReportIncome; -import com.op.quality.domain.QcSupplier; +import com.op.quality.domain.*; import com.op.quality.service.IQcCheckReportIncomeService; import com.op.system.api.domain.SysUser; import org.apache.commons.lang.StringUtils; @@ -49,7 +46,7 @@ public class QcCheckReportIncomeController extends BaseController { LocalDate date = LocalDate.now(); LocalDate dateEnd = date.plusDays(1); DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); - String dateEndStr = dtf.format(dateEnd)+" 00:00:00"; + String dateEndStr = dtf.format(dateEnd)+" 23:59:59"; qcCheckReportIncome.setCheckTimeEnd(dateEndStr);//end } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTypeProjectController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTypeProjectController.java index ce30450f..bab92760 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTypeProjectController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTypeProjectController.java @@ -3,6 +3,7 @@ package com.op.quality.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; +import com.op.quality.domain.QcCheckProject; import com.op.quality.domain.QcMaterialGroup; import com.op.quality.service.IQcMaterialGroupService; import org.springframework.beans.factory.annotation.Autowired; @@ -105,5 +106,15 @@ public class QcCheckTypeProjectController extends BaseController { public AjaxResult changeStatus(@RequestBody QcCheckTypeProject qcCheckTypeProject) { return toAjax(qcCheckTypeProjectService.changeStatus(qcCheckTypeProject)); } + @GetMapping("/getProjectInfoList") + public TableDataInfo getProjectInfoList(QcCheckProject qcCheckProject) { + startPage(); + List list = qcCheckTypeProjectService.getProjectInfoList(qcCheckProject); + return getDataTable(list); + } + @PostMapping("/submitProjects") + public AjaxResult submitProjects(@RequestBody List typeProjects) { + return toAjax(qcCheckTypeProjectService.submitProjects(typeProjects)); + } } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java index c863f96f..1db2db04 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java @@ -138,6 +138,15 @@ public class QcStaticTableController extends BaseController { String key = keyPre+ymd; QcStaticTable mdata = seriesdtos.get(key); if(mdata != null){ + if(mdata.getaNoOkquality()==null){ + mdata.setaNoOkquality(new BigDecimal("0")); + } + if(mdata.getbNoOkquality()==null){ + mdata.setbNoOkquality(new BigDecimal("0")); + } + if(mdata.getcNoOkquality()==null){ + mdata.setcNoOkquality(new BigDecimal("0")); + } BigDecimal defectRate = (mdata.getaNoOkquality().add(mdata.getbNoOkquality()).multiply(new BigDecimal("0.65")) .add(mdata.getcNoOkquality()).multiply(new BigDecimal(0.35))) .divide(new BigDecimal(mdata.getSampleQuality())) diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java index 08608f66..03afa953 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java @@ -234,7 +234,7 @@ public class QuaController extends BaseController { */ @GetMapping("/pdaMaterialTree") public AjaxResult pdaMaterialTree(QcMaterialGroup materialGroup) { - DynamicDataSourceContextHolder.push("ds_"+materialGroup.getFactoryCode()); + DynamicDataSourceContextHolder.push(materialGroup.getFactoryCode()); return success(qcMaterialGroupService.selectQcMaterialTreeList(materialGroup)); } @@ -244,7 +244,7 @@ public class QuaController extends BaseController { @GetMapping("/getCheckTypeProjectList") public TableDataInfo list(QcCheckTypeProject qcCheckTypeProject) { - DynamicDataSourceContextHolder.push("ds_"+qcCheckTypeProject.getFactoryCode()); + DynamicDataSourceContextHolder.push(qcCheckTypeProject.getFactoryCode()); startPage(); List list = qcMaterialGroupService.getCheckTypeProjectList(qcCheckTypeProject); return getDataTable(list); @@ -252,7 +252,7 @@ public class QuaController extends BaseController { @GetMapping("/getUnqualifiedList") public TableDataInfo getUnqualifiedList(QcCheckUnqualified qcCheckUnqualified) { - DynamicDataSourceContextHolder.push("ds_"+qcCheckUnqualified.getFactoryCode()); + DynamicDataSourceContextHolder.push(qcCheckUnqualified.getFactoryCode()); startPage(); qcCheckUnqualified.setDelFlag("0"); List list = qcCheckUnqualifiedService.selectQcCheckUnqualifiedList(qcCheckUnqualified); @@ -262,7 +262,7 @@ public class QuaController extends BaseController { /**获取来料工单列表**/ @GetMapping("/getLLWorkOrder") public TableDataInfo getLLWorkOrder(QcCheckTaskIncome qcCheckTaskIncome) { - DynamicDataSourceContextHolder.push("ds_"+qcCheckTaskIncome.getFactoryCode()); + DynamicDataSourceContextHolder.push(qcCheckTaskIncome.getFactoryCode()); startPage(); List list = qcCheckTaskIncomeService.getLLWorkOrder(qcCheckTaskIncome); return getDataTable(list); @@ -270,7 +270,7 @@ public class QuaController extends BaseController { /**获取生产工单列表**/ @GetMapping("/getWorkOrder") public TableDataInfo getWorkOrder(QcCheckTaskIncome qcCheckTaskIncome) { - DynamicDataSourceContextHolder.push("ds_"+qcCheckTaskIncome.getFactoryCode()); + DynamicDataSourceContextHolder.push(qcCheckTaskIncome.getFactoryCode()); startPage(); List list = qcCheckTaskIncomeService.getWorkOrder(qcCheckTaskIncome); return getDataTable(list); @@ -278,7 +278,7 @@ public class QuaController extends BaseController { @PutMapping("/getBatchList") public List getBatchList(@RequestBody QcCheckTaskIncome qcCheckTaskIncome) { - DynamicDataSourceContextHolder.push("ds_"+qcCheckTaskIncome.getFactoryCode()); + DynamicDataSourceContextHolder.push(qcCheckTaskIncome.getFactoryCode()); return qcCheckTaskIncomeService.getBatchList(qcCheckTaskIncome); } } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckProject.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckProject.java index e01a6f67..141dea06 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckProject.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckProject.java @@ -57,6 +57,43 @@ public class QcCheckProject extends BaseEntity { private String judge; + private String defectLevel; + private String materialCode; + private String typeCode; + private String groupId; + + public String getMaterialCode() { + return materialCode; + } + + public void setMaterialCode(String materialCode) { + this.materialCode = materialCode; + } + + public String getGroupId() { + return groupId; + } + + public void setGroupId(String groupId) { + this.groupId = groupId; + } + + public String getTypeCode() { + return typeCode; + } + + public void setTypeCode(String typeCode) { + this.typeCode = typeCode; + } + + public String getDefectLevel() { + return defectLevel; + } + + public void setDefectLevel(String defectLevel) { + this.defectLevel = defectLevel; + } + public String getJudge() { return judge; } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckProjectMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckProjectMapper.java index 7e7be901..7a1c30d6 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckProjectMapper.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckProjectMapper.java @@ -7,7 +7,7 @@ import org.apache.ibatis.annotations.Mapper; /** * 检验项目维护Mapper接口 - * + * * @author Open Platform * @date 2023-10-13 */ @@ -15,7 +15,7 @@ import org.apache.ibatis.annotations.Mapper; public interface QcCheckProjectMapper { /** * 查询检验项目维护 - * + * * @param id 检验项目维护主键 * @return 检验项目维护 */ @@ -23,7 +23,7 @@ public interface QcCheckProjectMapper { /** * 查询检验项目维护列表 - * + * * @param qcCheckProject 检验项目维护 * @return 检验项目维护集合 */ @@ -31,7 +31,7 @@ public interface QcCheckProjectMapper { /** * 新增检验项目维护 - * + * * @param qcCheckProject 检验项目维护 * @return 结果 */ @@ -39,7 +39,7 @@ public interface QcCheckProjectMapper { /** * 修改检验项目维护 - * + * * @param qcCheckProject 检验项目维护 * @return 结果 */ @@ -47,7 +47,7 @@ public interface QcCheckProjectMapper { /** * 删除检验项目维护 - * + * * @param id 检验项目维护主键 * @return 结果 */ @@ -55,11 +55,12 @@ public interface QcCheckProjectMapper { /** * 批量删除检验项目维护 - * + * * @param ids 需要删除的数据主键集合 * @return 结果 */ public int deleteQcCheckProjectByIds(String[] ids); public QcCheckProject selectSerialNumber(); + } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckReportIncomeMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckReportIncomeMapper.java index 7c6e169d..ec72b606 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckReportIncomeMapper.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckReportIncomeMapper.java @@ -1,9 +1,6 @@ package com.op.quality.mapper; -import com.op.quality.domain.QcBomComponent; -import com.op.quality.domain.QcCheckReportIncome; -import com.op.quality.domain.QcCheckTaskDetail; -import com.op.quality.domain.QcSupplier; +import com.op.quality.domain.*; import com.op.system.api.domain.SysUser; import org.apache.ibatis.annotations.Mapper; diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTypeProjectMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTypeProjectMapper.java index 15c7b8f3..8b7f3a76 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTypeProjectMapper.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTypeProjectMapper.java @@ -3,11 +3,13 @@ package com.op.quality.mapper; import java.util.List; import java.util.Map; +import com.op.quality.domain.QcCheckProject; import com.op.quality.domain.QcCheckTaskDetail; import com.op.quality.domain.QcCheckTypeProject; import com.op.system.api.domain.SysDictData; import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 物料检验项目维护Mapper接口 @@ -72,4 +74,7 @@ public interface QcCheckTypeProjectMapper { List getCheckTypeProjectList(QcCheckTypeProject qcCheckTypeProject); @MapKey("dictValue") Map getDictMap(SysDictData sysDictData); + List getProjectInfoList(QcCheckProject qcCheckProject); + + int insertQcCheckTypeProjects(@Param("list") List typeProjects); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckProjectService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckProjectService.java index c928bc11..0f399923 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckProjectService.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckProjectService.java @@ -5,14 +5,14 @@ import com.op.quality.domain.QcCheckProject; /** * 检验项目维护Service接口 - * + * * @author Open Platform * @date 2023-10-13 */ public interface IQcCheckProjectService { /** * 查询检验项目维护 - * + * * @param id 检验项目维护主键 * @return 检验项目维护 */ @@ -20,7 +20,7 @@ public interface IQcCheckProjectService { /** * 查询检验项目维护列表 - * + * * @param qcCheckProject 检验项目维护 * @return 检验项目维护集合 */ @@ -28,7 +28,7 @@ public interface IQcCheckProjectService { /** * 新增检验项目维护 - * + * * @param qcCheckProject 检验项目维护 * @return 结果 */ @@ -36,7 +36,7 @@ public interface IQcCheckProjectService { /** * 修改检验项目维护 - * + * * @param qcCheckProject 检验项目维护 * @return 结果 */ @@ -44,7 +44,7 @@ public interface IQcCheckProjectService { /** * 批量删除检验项目维护 - * + * * @param ids 需要删除的检验项目维护主键集合 * @return 结果 */ @@ -52,7 +52,7 @@ public interface IQcCheckProjectService { /** * 删除检验项目维护信息 - * + * * @param id 检验项目维护主键 * @return 结果 */ diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckReportIncomeService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckReportIncomeService.java index 7206e83b..1c1c937e 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckReportIncomeService.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckReportIncomeService.java @@ -71,4 +71,5 @@ public interface IQcCheckReportIncomeService { List getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail); public List getPrintData(QcCheckReportIncome qcCheckReportIncome); + } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTypeProjectService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTypeProjectService.java index f2f751eb..aeffa6f9 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTypeProjectService.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTypeProjectService.java @@ -1,18 +1,20 @@ package com.op.quality.service; import java.util.List; + +import com.op.quality.domain.QcCheckProject; import com.op.quality.domain.QcCheckTypeProject; /** * 物料检验项目维护Service接口 - * + * * @author Open Platform * @date 2023-10-17 */ public interface IQcCheckTypeProjectService { /** * 查询物料检验项目维护 - * + * * @param id 物料检验项目维护主键 * @return 物料检验项目维护 */ @@ -20,7 +22,7 @@ public interface IQcCheckTypeProjectService { /** * 查询物料检验项目维护列表 - * + * * @param qcCheckTypeProject 物料检验项目维护 * @return 物料检验项目维护集合 */ @@ -28,7 +30,7 @@ public interface IQcCheckTypeProjectService { /** * 新增物料检验项目维护 - * + * * @param qcCheckTypeProject 物料检验项目维护 * @return 结果 */ @@ -36,7 +38,7 @@ public interface IQcCheckTypeProjectService { /** * 修改物料检验项目维护 - * + * * @param qcCheckTypeProject 物料检验项目维护 * @return 结果 */ @@ -44,7 +46,7 @@ public interface IQcCheckTypeProjectService { /** * 批量删除物料检验项目维护 - * + * * @param ids 需要删除的物料检验项目维护主键集合 * @return 结果 */ @@ -52,7 +54,7 @@ public interface IQcCheckTypeProjectService { /** * 删除物料检验项目维护信息 - * + * * @param id 物料检验项目维护主键 * @return 结果 */ @@ -61,4 +63,7 @@ public interface IQcCheckTypeProjectService { * 状态修改 */ public int changeStatus(QcCheckTypeProject qcCheckTypeProject); + List getProjectInfoList(QcCheckProject qcCheckProject); + + int submitProjects(List typeProjects); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckReportIncomeServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckReportIncomeServiceImpl.java index 7cec9cea..48e93eba 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckReportIncomeServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckReportIncomeServiceImpl.java @@ -196,6 +196,7 @@ public class QcCheckReportIncomeServiceImpl implements IQcCheckReportIncomeServi } @Override + @DS("#header.poolName") public List getPrintData(QcCheckReportIncome qcCheckReportIncome) { return null; } 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 4b21103b..ff07a171 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 @@ -321,7 +321,7 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService { @Override public int commitCheckResults(List details) { - DynamicDataSourceContextHolder.push("ds_"+details.get(0).getFactoryCode()); + DynamicDataSourceContextHolder.push(details.get(0).getFactoryCode()); Date nowTime = DateUtils.getNowDate(); String factoryCode = details.get(0).getFactoryCode(); String updateBy = details.get(0).getUpdateBy(); @@ -341,8 +341,9 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService { QcCheckTaskIncome qcCheckTask = new QcCheckTaskIncome(); qcCheckTask.setUpdateBy(updateBy); qcCheckTask.setRecordId(belongId); - qcCheckTask.setCheckResult("2");//检测状态0待检测1检测中2检测完成 + qcCheckTask.setCheckStatus("2");//检测状态0待检测1检测中2检测完成 qcCheckTask.setUpdateTime(nowTime); + qcCheckTask.setCheckTime(nowTime); qcCheckTask.setCheckResult(result);//检验结果Y合格 N不合格 /**qc_check_task**/ n = qcCheckTaskIncomeMapper.updateQcCheckTask(qcCheckTask); diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTypeProjectServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTypeProjectServiceImpl.java index d0999d1c..64cb7814 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTypeProjectServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTypeProjectServiceImpl.java @@ -1,5 +1,6 @@ package com.op.quality.service.impl; +import java.util.Date; import java.util.List; import java.util.Map; @@ -8,6 +9,7 @@ import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder; import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.uuid.IdUtils; import com.op.common.security.utils.SecurityUtils; +import com.op.quality.domain.QcCheckProject; import com.op.system.api.domain.SysDictData; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -131,4 +133,27 @@ public class QcCheckTypeProjectServiceImpl implements IQcCheckTypeProjectService qcCheckTypeProject.setUpdateTime(DateUtils.getNowDate()); return qcCheckTypeProjectMapper.updateQcCheckTypeProject(qcCheckTypeProject); } + + @Override + @DS("#header.poolName") + public List getProjectInfoList(QcCheckProject qcCheckProject) { + return qcCheckTypeProjectMapper.getProjectInfoList(qcCheckProject); + } + + @Override + @DS("#header.poolName") + public int submitProjects(List typeProjects) { + int m = 0; + Date nowTime = DateUtils.getNowDate(); + String createBy = SecurityUtils.getUsername(); + for(QcCheckTypeProject typeProject:typeProjects){ + typeProject.setId(IdUtils.fastSimpleUUID()); + typeProject.setCreateBy(createBy); + typeProject.setCreateTime(nowTime); + } + m = qcCheckTypeProjectMapper.insertQcCheckTypeProjects(typeProjects); + return m; + } + + } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcMaterialGroupServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcMaterialGroupServiceImpl.java index 6dcdabe5..013988ee 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcMaterialGroupServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcMaterialGroupServiceImpl.java @@ -194,7 +194,9 @@ public class QcMaterialGroupServiceImpl implements IQcMaterialGroupService { Map dictMap = qcCheckTypeProjectMapper.getDictMap(sData); if(dictMap != null){ for(QcCheckTypeProject dto:dtos){ - dto.setUnit(dictMap.get(dto.getUnit()).getDictLabel()); + if(StringUtils.isNotBlank(dto.getUnit())){ + dto.setUnit(dictMap.get(dto.getUnit()).getDictLabel()); + } } } return dtos; 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 183e628f..b3ce675d 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 @@ -126,7 +126,7 @@ public class QcProCheckServiceImpl implements QcProCheckService { @Override public List getCheckTaskDetailList(QcCheckTaskDetail qcCheckTaskDetail) { - DynamicDataSourceContextHolder.push("ds_"+qcCheckTaskDetail.getFactoryCode()); + DynamicDataSourceContextHolder.push(qcCheckTaskDetail.getFactoryCode()); return qcCheckTaskIncomeMapper.getCkeckProjectList(qcCheckTaskDetail); } diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckProjectMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckProjectMapper.xml index 2a8c2f3a..5ee4c824 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckProjectMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckProjectMapper.xml @@ -22,13 +22,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + select id, order_num, rule_name, property_code, check_mode, check_tool, unit_code, check_standard, attr1, create_by, create_time, update_by, update_time, factory_code, del_flag,sample_plan, - judge + judge,defect_level from qc_check_project @@ -74,6 +75,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" del_flag, sample_plan, judge, + defect_level, + #{id}, @@ -93,6 +96,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{delFlag}, #{samplePlan}, #{judge}, + #{defectLevel}, @@ -115,6 +119,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" del_flag = #{delFlag}, sample_plan = #{samplePlan}, judge = #{judge}, + defect_level = #{defectLevel}, where id = #{id} @@ -135,4 +140,5 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" FROM qc_check_project WHERE CONVERT(varchar(10),create_time, 120) = CONVERT(varchar(10),GETDATE(), 120) + diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTypeProjectMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTypeProjectMapper.xml index f7f78a07..c62ff584 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTypeProjectMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTypeProjectMapper.xml @@ -152,8 +152,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" SELECT ctp.id, ctp.project_id projectId, - cp.rule_name ruleName, - cp.property_code propertyCode, + qcp.rule_name ruleName, + qcp.property_code propertyCode, ctp.type_id typeId, ct.check_name, ctp.standard_value standardValue, @@ -166,11 +166,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" qcp.check_tool checkTool, qcp.check_mode checkMode FROM qc_check_type_project ctp - LEFT JOIN qc_check_project cp ON ctp.project_id = cp.id + LEFT JOIN qc_check_project qcp ON ctp.project_id = qcp.id left join qc_check_type ct on ct.id = ctp.type_id left join base_product p on p.product_code = ctp.material_code - AND ctp.del_flag = '0' AND cp.del_flag = '0' + AND ctp.del_flag = '0' AND qcp.del_flag = '0' and ctp.group_id = #{groupId} order by ctp.type_id @@ -231,6 +231,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{sort}, + + insert into qc_check_type_project( + id,project_id,project_no,type_id, + standard_value,upper_diff,down_diff,unit, + sample,sort, + create_by,create_time, + group_id,material_code,property_code + )values + + ( + #{item.id},#{item.projectId},#{item.projectNo},#{item.typeId}, + #{item.standardValue},#{item.upperDiff},#{item.downDiff},#{item.unit}, + #{item.sample},#{item.sort}, + #{item.createBy},#{item.createTime}, + #{item.groupId},#{item.materialCode},#{item.propertyCode} + ) + + update qc_check_type_project @@ -270,4 +288,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} + From 449967fc123701e2d9563791397294e628bdf9ca Mon Sep 17 00:00:00 2001 From: A0010407 Date: Mon, 11 Dec 2023 14:10:57 +0800 Subject: [PATCH 04/10] =?UTF-8?q?=E7=BB=B4=E4=BF=AE=E6=A3=80=E6=9F=A5?= =?UTF-8?q?=E9=A1=B9=E4=B8=80=E6=AC=A1=E6=8F=90=E4=BA=A4=E5=A4=9A=E4=B8=AA?= =?UTF-8?q?=E7=85=A7=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/EquRepairWorkOrderServiceImpl.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairWorkOrderServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairWorkOrderServiceImpl.java index 076051d4..a3bb4b66 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairWorkOrderServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquRepairWorkOrderServiceImpl.java @@ -182,6 +182,29 @@ public class EquRepairWorkOrderServiceImpl implements IEquRepairWorkOrderService //更新标准表 for(EquOrderStandard equOrderStandard:equRepairWorkOrder.getStandardList()){ + //先删除每个检查项标准图片 + String imageType = "4"; + equOrderStandardMapper.deleteBaseFileBySourceId(equOrderStandard.getId(),imageType); + //图片批量新增 + if (StringUtils.isNotEmpty(equOrderStandard.getPicturePath())) { + String[] ids = equOrderStandard.getPicturePath().split(","); + List files = new ArrayList<>(); + BaseFileData file = null; + for (String id : ids) { + file = new BaseFileData(); + file.setFileId(IdUtils.fastSimpleUUID()); + file.setFileName(id.split("&fileName=")[1]); + file.setFileAddress(id); + file.setSourceId(equOrderStandard.getId()); + file.setCreateBy(SecurityUtils.getUsername()); + file.setCreateTime(new Date()); + //图片类型 维修后 + file.setImageType("4"); + files.add(file); + } + equOrderStandardMapper.insertBaseFileBatch(files); + } + equOrderStandard.setUpdateBy(SecurityUtils.getUsername()); equOrderStandard.setUpdateTime(DateUtils.getNowDate()); equOrderStandardMapper.updateStandardAfterRepair(equOrderStandard); From e1be6cb0a62d38e738282f548bfcb3a627f8ac6a Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Mon, 11 Dec 2023 14:48:13 +0800 Subject: [PATCH 05/10] =?UTF-8?q?=E6=8A=A5=E5=B7=A5=E5=85=AC=E5=BC=8F?= =?UTF-8?q?=E7=A1=AE=E8=AE=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/IWCInterfaceServiceImpl.java | 30 +++++++++++++++---- .../mapper/mes/MesReportWorkMapper.xml | 14 ++++++--- 2 files changed, 34 insertions(+), 10 deletions(-) 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 + - + select + womsn.storage_id, + womsn.storage_type, + womsn.material_code, + womsn.material_desc, + womsn.amount, + womsn.storage_amount, + womsn.sap_factory_code, + womsn.wl_name, + womsn.del_flag, + womsn.spare_use_life, + womsn.spare_name, + womsn.spare_mode, + womsn.spare_manufacturer, + womsn.spare_supplier, + womsn.spare_replacement_cycle, + womsn.spare_measurement_unit, + womsn.spare_conversion_unit, + womsn.spare_conversion_ratio, + womsn.spare_inventory_floor, + womsn.spare_inventory_upper, + womsn.spare_type, + womsn.create_by, + womsn.gmt_create, + womsn.last_modified_by, + womsn.gmt_modified, + womsn.active_flag, + womsn.factory_code, + womsna.id, + womsna.primary_code, + womsna.own_equipment_name, + womsna.unit_quantity, + womsna.safe_stock, + womsna.unit_price, + womsna.procurement_method, + womsna.procurement_cycle, + womsna.opening_balance, + womsna.output_records, + womsna.input_records, + womsna.end_inventory, + womsna.end_money, + womsna.substitute_parts, + womsna.own_equipment_code + from wms_ods_mate_storage_news womsn + left join wms_ods_mate_storage_news_attached womsna on womsn.material_code = womsna.primary_code - and storage_id = #{storageId} - and wh_code = #{whCode} - and region_code = #{regionCode} - and wa_code = #{waCode} - and storage_type = #{storageType} - and wl_code = #{wlCode} - and material_code like concat('%', #{materialCode}, '%') - and material_desc like concat('%', #{materialDesc}, '%') - and amount = #{amount} - and storage_amount = #{storageAmount} - and occupy_amount = #{occupyAmount} - and lpn = #{lpn} - and product_batch = #{productBatch} - and receive_date = #{receiveDate} - and product_date = #{productDate} - and user_defined1 = #{userDefined1} - and user_defined2 = #{userDefined2} - and user_defined3 = #{userDefined3} - and user_defined4 = #{userDefined4} - and user_defined5 = #{userDefined5} - and user_defined6 = #{userDefined6} - and user_defined7 = #{userDefined7} - and user_defined8 = #{userDefined8} - and user_defined9 = #{userDefined9} - and user_defined10 = #{userDefined10} - and gmt_create = #{gmtCreate} - and last_modified_by = #{lastModifiedBy} - and gmt_modified = #{gmtModified} - and active_flag = #{activeFlag} - and factory_code = #{factoryCode} - and sap_factory_code = #{sapFactoryCode} - and wl_name like concat('%', #{wlName}, '%') - and spare_use_life = #{spareUseLife} - and spare_name like concat('%', #{spareName}, '%') - and spare_mode like concat('%', #{spareMode}, '%') - and spare_manufacturer = #{spareManufacturer} - and spare_supplier = #{spareSupplier} - and spare_replacement_cycle = #{spareReplacementCycle} - and spare_measurement_unit = #{spareMeasurementUnit} - and spare_conversion_unit = #{spareConversionUnit} - and spare_conversion_ratio = #{spareConversionRatio} - and spare_inventory_floor = #{spareInventoryFloor} - and spare_inventory_upper = #{spareInventoryUpper} - and spare_type = #{spareType} - and del_flag = '0' + and womsn.storage_id = #{storageId} + and womsn.wh_code = #{whCode} + and womsn.region_code = #{regionCode} + and womsn.wa_code = #{waCode} + and womsn.storage_type = #{storageType} + and womsn.wl_code = #{wlCode} + and womsn.material_code like concat('%', #{materialCode}, '%') + and womsn.material_desc like concat('%', #{materialDesc}, '%') + and womsn.amount = #{amount} + and womsn.storage_amount = #{storageAmount} + and womsn.occupy_amount = #{occupyAmount} + and womsn.lpn = #{lpn} + and womsn.product_batch = #{productBatch} + and womsn.receive_date = #{receiveDate} + and womsn.product_date = #{productDate} + and womsn.user_defined1 = #{userDefined1} + and womsn.user_defined2 = #{userDefined2} + and womsn.user_defined3 = #{userDefined3} + and womsn.user_defined4 = #{userDefined4} + and womsn.user_defined5 = #{userDefined5} + and womsn.user_defined6 = #{userDefined6} + and womsn.user_defined7 = #{userDefined7} + and womsn.user_defined8 = #{userDefined8} + and womsn.user_defined9 = #{userDefined9} + and womsn.user_defined10 = #{userDefined10} + and womsn.gmt_create = #{gmtCreate} + and womsn.last_modified_by = #{lastModifiedBy} + and womsn.gmt_modified = #{gmtModified} + and womsn.active_flag = #{activeFlag} + and womsn.factory_code = #{factoryCode} + and womsn.sap_factory_code = #{sapFactoryCode} + and womsn.wl_name like concat('%', #{wlName}, '%') + and womsn.spare_use_life = #{spareUseLife} + and womsn.spare_name like concat('%', #{spareName}, '%') + and womsn.spare_mode like concat('%', #{spareMode}, '%') + and womsn.spare_manufacturer = #{spareManufacturer} + and womsn.spare_supplier like concat('%', #{spareSupplier}, '%') + and womsn.spare_replacement_cycle = #{spareReplacementCycle} + and womsn.spare_measurement_unit = #{spareMeasurementUnit} + and womsn.spare_conversion_unit = #{spareConversionUnit} + and womsn.spare_conversion_ratio = #{spareConversionRatio} + and womsn.spare_inventory_floor = #{spareInventoryFloor} + and womsn.spare_inventory_upper = #{spareInventoryUpper} + and womsn.spare_type = #{spareType} + + and womsna.own_equipment_name like concat('%', #{ownEquipmentName}, '%') + and womsn.del_flag = '0' From 43620145443bb77319aeee036f0d83bfe4468331 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Wed, 13 Dec 2023 08:46:38 +0800 Subject: [PATCH 10/10] =?UTF-8?q?=E5=8F=AA=E6=9C=89=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E5=B7=A5=E5=8D=95=E6=89=8D=E8=83=BD=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E6=8A=A5=E5=B7=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/IWCInterfaceServiceImpl.java | 2 +- .../mapper/mes/MesReportWorkMapper.xml | 18 +++-- .../controller/QcInterfaceController.java | 54 +++++++++++++ .../com/op/quality/domain/QcInterface.java | 79 +++++++++++++++++++ .../mapper/QcCheckTaskIncomeMapper.java | 2 + .../op/quality/mapper/QcInterfaceMapper.java | 24 ++++++ .../quality/service/IQcInterfaceService.java | 21 +++++ .../impl/QcCheckTaskIncomeServiceImpl.java | 2 + .../impl/QcCheckTaskProduceServiceImpl.java | 1 + .../QcCheckTaskWarehousingServiceImpl.java | 1 + .../service/impl/QcInterfaceServiceImpl.java | 69 ++++++++++++++++ .../impl/QcUserMaterialServiceImpl.java | 1 + .../quality/QcCheckTaskIncomeMapper.xml | 3 + .../mapper/quality/QcInterfaceMapper.xml | 60 ++++++++++++++ .../mapper/quality/QcUserMaterialMapper.xml | 6 +- 15 files changed, 331 insertions(+), 12 deletions(-) create mode 100644 op-modules/op-quality/src/main/java/com/op/quality/controller/QcInterfaceController.java create mode 100644 op-modules/op-quality/src/main/java/com/op/quality/domain/QcInterface.java create mode 100644 op-modules/op-quality/src/main/java/com/op/quality/mapper/QcInterfaceMapper.java create mode 100644 op-modules/op-quality/src/main/java/com/op/quality/service/IQcInterfaceService.java create mode 100644 op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcInterfaceServiceImpl.java create mode 100644 op-modules/op-quality/src/main/resources/mapper/quality/QcInterfaceMapper.xml 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 ef4d597c..474a82bb 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 @@ -267,7 +267,7 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { new LinkedBlockingQueue()); try { dateSources.forEach(dateSource -> { - if("ds_1000".equals(dateSource.get("poolName"))){//只有999白坯工厂有这种情况 + if("ds_999".equals(dateSource.get("poolName"))){//只有999白坯工厂有这种情况 logger.info("++++++++++++" + dateSource.get("poolName") + "++++开始++++++++++"); Runnable run = () -> dateBKFunc(dateSource.get("poolName"),tables); executorService.execute(run); 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 f02ed4b0..d160f047 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 @@ -471,9 +471,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + insert into qc_check_task diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcInterfaceMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcInterfaceMapper.xml new file mode 100644 index 00000000..d93c44fc --- /dev/null +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcInterfaceMapper.xml @@ -0,0 +1,60 @@ + + + + + + + + + diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcUserMaterialMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcUserMaterialMapper.xml index ab560425..df89fef3 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcUserMaterialMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcUserMaterialMapper.xml @@ -3,7 +3,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -45,7 +45,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"