diff --git a/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsOdsMateStorageNewsSnController.java b/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsOdsMateStorageNewsSnController.java index 640f20c65..c813b3aef 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsOdsMateStorageNewsSnController.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsOdsMateStorageNewsSnController.java @@ -95,4 +95,14 @@ public class WmsOdsMateStorageNewsSnController extends BaseController { public AjaxResult remove(@PathVariable Long[] mateOrderInSnIds) { return toAjax(wmsOdsMateStorageNewsSnService.deleteWmsOdsMateStorageNewsSnByMateOrderInSnIds(mateOrderInSnIds)); } + + /** + * 新增包材库存明细表 + */ + + + @PostMapping("cardDy") + public AjaxResult cardDy(@RequestBody List list) { + return success(wmsOdsMateStorageNewsSnService.cardDy(list)); + } } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/domain/WmsOdsMateStorageNewsSn.java b/op-modules/op-wms/src/main/java/com/op/wms/domain/WmsOdsMateStorageNewsSn.java index e2c49a2d3..afa061587 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/domain/WmsOdsMateStorageNewsSn.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/domain/WmsOdsMateStorageNewsSn.java @@ -58,6 +58,15 @@ public class WmsOdsMateStorageNewsSn extends BaseEntity { */ @Excel(name = "采购订单行项目") private String poLine; + private String procureCode; + + public String getProcureCode() { + return procureCode; + } + + public void setProcureCode(String procureCode) { + this.procureCode = procureCode; + } /** * 物料号 diff --git a/op-modules/op-wms/src/main/java/com/op/wms/mapper/OdsProcureOrderMapper.java b/op-modules/op-wms/src/main/java/com/op/wms/mapper/OdsProcureOrderMapper.java index 6cd3335e9..7f5de53f7 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/mapper/OdsProcureOrderMapper.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/mapper/OdsProcureOrderMapper.java @@ -103,4 +103,6 @@ public interface OdsProcureOrderMapper { void deleteBatchPallet(@Param("list")List dtos0); + + List getIdCardListByU1(OdsProcureOrder order); } 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 712ca93f0..42e15c190 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 @@ -6,6 +6,7 @@ import com.op.wms.domain.WmsOdsEmStorageNews; import com.op.wms.domain.WmsOdsMateStorageNews; import com.op.wms.domain.WmsOdsMateStorageNewsSn; import com.op.wms.domain.WmsToWCSDTO; +import org.apache.ibatis.annotations.Param; /** * 包材库存明细表Mapper接口是 @@ -80,4 +81,6 @@ public interface WmsOdsMateStorageNewsSnMapper { public void updatesub(WmsOdsMateStorageNews wmsOdsMateStorageNews); public void updateWmsOdsMateStorageNewsSnTWM(WmsOdsMateStorageNewsSn wmsRawOrderInNewsSn); + + List cardDy(@Param("list")List list); } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/IWmsOdsMateStorageNewsSnService.java b/op-modules/op-wms/src/main/java/com/op/wms/service/IWmsOdsMateStorageNewsSnService.java index abdd8cd24..5a9145047 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/IWmsOdsMateStorageNewsSnService.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/IWmsOdsMateStorageNewsSnService.java @@ -58,4 +58,6 @@ public interface IWmsOdsMateStorageNewsSnService { * @return 结果 */ public int deleteWmsOdsMateStorageNewsSnByMateOrderInSnId(Long mateOrderInSnId); + + String cardDy(List list); } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsOdsMateStorageNewsSnServiceImpl.java b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsOdsMateStorageNewsSnServiceImpl.java index f984114b1..c6470e1e7 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsOdsMateStorageNewsSnServiceImpl.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsOdsMateStorageNewsSnServiceImpl.java @@ -1,9 +1,18 @@ package com.op.wms.service.impl; +import java.io.IOException; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson2.JSONArray; import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.wms.domain.OdsProcureOrder; +import com.op.wms.mapper.OdsProcureOrderMapper; +import okhttp3.*; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import com.op.wms.mapper.WmsOdsMateStorageNewsSnMapper; import com.op.wms.domain.WmsOdsMateStorageNewsSn; @@ -17,9 +26,14 @@ import com.op.wms.service.IWmsOdsMateStorageNewsSnService; */ @Service public class WmsOdsMateStorageNewsSnServiceImpl implements IWmsOdsMateStorageNewsSnService { + + + @Value("${dayin.url1}") + private String dayinUrl1; @Autowired private WmsOdsMateStorageNewsSnMapper wmsOdsMateStorageNewsSnMapper; - + @Autowired + private OdsProcureOrderMapper odsProcureOrderMapper; /** * 查询包材库存明细表 * @@ -91,4 +105,89 @@ public class WmsOdsMateStorageNewsSnServiceImpl implements IWmsOdsMateStorageNew public int deleteWmsOdsMateStorageNewsSnByMateOrderInSnId(Long mateOrderInSnId) { return wmsOdsMateStorageNewsSnMapper.deleteWmsOdsMateStorageNewsSnByMateOrderInSnId(mateOrderInSnId); } + + @Override + @DS("#header.poolName") + public String cardDy(List list) { + String result="打印完成"; + List lists= wmsOdsMateStorageNewsSnMapper.cardDy(list); + for (WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn: + lists) { + OdsProcureOrder order=new OdsProcureOrder(); + order.setUserDefined1(wmsOdsMateStorageNewsSn.getWlCode()); + List dtos0= odsProcureOrderMapper.getIdCardListByU1(order); + for (OdsProcureOrder order1: + dtos0 ) { + String materialCode= order1.getMaterialCode();//000000040000004873 + materialCode = materialCode.replaceFirst("^0{7}", ""); // 只替换开头的7个0 + order1.setMaterialCode(materialCode); + } + dayin(dtos0); + } + + return result; + } + + public String dayin( List orderList) { + // 定义请求的URL地址 + String url = dayinUrl1; + // 打印输出url的值 + System.out.println(url); + // 创建OkHttpClient实例,用于发送HTTP请求 + OkHttpClient client = new OkHttpClient(); + + // 定义请求体的媒体类型为json + MediaType mediaType = MediaType.parse("application/json"); + + // 创建一个JSONArray,用于存储多个订单的信息 + JSONArray jsonArray = new JSONArray(); + try { + // 创建JSON对象payload,并设置请求参数 + // 遍历传入的订单列表 + for (OdsProcureOrder order : orderList) { + + JSONObject payload = new JSONObject(); + + payload.put("supplier", order.getSupplierName()); + + payload.put("itemName", order.getMaterialDesc()); + + payload.put("itemCode", order.getMaterialCode()); + + payload.put("warehousingDate", order.getUserDefined11()); + + payload.put("batch", order.getUserDefined7()); + + payload.put("number", order.getPlanNumber()); + payload.put("qrcode", order.getUserDefined1()); + // 将当前订单的JSON对象添加到JSONArray中 + jsonArray.add(payload); + } + // 创建请求体,将JSONArray转换为字符串 + RequestBody body = RequestBody.create(mediaType, jsonArray.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对象,请求编码、状态码和消息 + Map map = new HashMap(); + map = result; + String message = (String) map.get("msg"); + response.close(); + return message; + } catch (IOException e) { + // 捕获IOException并处理异常 + e.printStackTrace(); // 在控制台打印异常信息,建议记录到日志文件 + return "请求失败,异常信息:" + e.getMessage(); // 返回异常信息 + } finally { + // 关闭OkHttpClient + client.dispatcher().executorService().shutdown(); + } + } } diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOrderMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOrderMapper.xml index b014e2058..e86c84d39 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOrderMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOrderMapper.xml @@ -756,5 +756,44 @@ #{item.ID} + 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 333a33f26..cff95c759 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 @@ -42,38 +42,71 @@ + + where mate_order_in_sn_id in + + #{item.mateOrderInSnId} + + update wms_ods_mate_storage_news set amount = ISNULL(amount, 0) + #{amount},