params) {
+ iPmDemandService.batchCreate(params);
+ return new ResponseEntity<>(HttpStatus.OK);
+ }
+}
diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/enums/EXTConstant.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/enums/EXTConstant.java
index 7ae9132..67aed20 100644
--- a/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/enums/EXTConstant.java
+++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/enums/EXTConstant.java
@@ -21,4 +21,9 @@ public class EXTConstant {
* ACS下发任务接口地址
*/
public final static String SEND_TASK_ACS_API = "api/wms/task";
+
+ /**
+ * 中鼎查询库存接口地址
+ */
+ public final static String QUERY_INVENTORY_ZD_API = "/app/restful/api/v3/wms/getInventoryList";
}
diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/service/WmsToZDWmdService.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/service/WmsToZDWmdService.java
index 41cd52a..71c16e3 100644
--- a/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/service/WmsToZDWmdService.java
+++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/service/WmsToZDWmdService.java
@@ -4,6 +4,8 @@ import com.alibaba.fastjson.JSONObject;
import org.nl.wms.ext_manage.service.dto.ZDInventory;
import org.springframework.http.ResponseEntity;
+import java.util.List;
+
/**
*
* WMS调用中鼎服务类
@@ -33,5 +35,5 @@ public interface WmsToZDWmdService {
/**
*
*/
- ResponseEntity queryInventory(String materialCode);
+ ResponseEntity> queryInventory(String materialCode);
}
diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/service/dto/ZDInventory.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/service/dto/ZDInventory.java
index f71b544..ca2ae48 100644
--- a/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/service/dto/ZDInventory.java
+++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/service/dto/ZDInventory.java
@@ -1,23 +1,15 @@
package org.nl.wms.ext_manage.service.dto;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
public class ZDInventory {
- private String id;
- /**
- * 物料编码
- */
- private String materialCode;
- /**
- * 物料名称
- */
- private String materialName;
- /**
- * 物料总数量
- */
- private String totalQty;
- /**
- * 所属仓库
- */
- private String storCode;
-
+ private String houseCode;
+ private String skuCode;
+ private String batchNo;
+ private BigDecimal qty;
}
diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/service/impl/WmsToZDWmdServiceImpl.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/service/impl/WmsToZDWmdServiceImpl.java
new file mode 100644
index 0000000..2f32539
--- /dev/null
+++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/service/impl/WmsToZDWmdServiceImpl.java
@@ -0,0 +1,94 @@
+package org.nl.wms.ext_manage.service.impl;
+
+import cn.hutool.http.HttpRequest;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import lombok.extern.slf4j.Slf4j;
+import org.nl.common.exception.BadRequestException;
+import org.nl.config.SpringContextHolder;
+import org.nl.wms.ext_manage.enums.EXTConstant;
+import org.nl.wms.ext_manage.service.WmsToZDWmdService;
+import org.nl.wms.ext_manage.service.dto.ZDInventory;
+import org.nl.wms.system_manage.enums.SysParamConstant;
+import org.nl.wms.system_manage.service.param.dao.Param;
+import org.nl.wms.system_manage.service.param.impl.SysParamServiceImpl;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+@Slf4j
+public class WmsToZDWmdServiceImpl implements WmsToZDWmdService {
+
+ @Override
+ public ResponseEntity syncDemandOrder(JSONObject whereJson) {
+ log.info("syncDemandOrder生产领料需求单下发输入参数:-------------------" + whereJson.toString());
+ String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode(SysParamConstant.ZD_URL).getValue();
+ // TODO: add demand order API path to EXTConstant once endpoint is confirmed
+ try {
+ String resultMsg = HttpRequest.post(url)
+ .body(whereJson.toString())
+ .execute().body();
+ JSONObject result = JSONObject.parseObject(resultMsg);
+ log.info("syncDemandOrder需求单下发输出参数:-------------------" + result.toString());
+ return new ResponseEntity<>(result, HttpStatus.OK);
+ } catch (Exception e) {
+ throw new BadRequestException("中鼎需求单下发失败:" + e.getMessage());
+ }
+ }
+
+ @Override
+ public ResponseEntity syncPurchaseReceiving(JSONObject whereJson) {
+ log.info("syncPurchaseReceiving采购入库单下发输入参数:-------------------" + whereJson.toString());
+ String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode(SysParamConstant.ZD_URL).getValue();
+ // TODO: add purchase receiving API path to EXTConstant once endpoint is confirmed
+ try {
+ String resultMsg = HttpRequest.post(url)
+ .body(whereJson.toString())
+ .execute().body();
+ JSONObject result = JSONObject.parseObject(resultMsg);
+ log.info("syncPurchaseReceiving采购入库单下发输出参数:-------------------" + result.toString());
+ return new ResponseEntity<>(result, HttpStatus.OK);
+ } catch (Exception e) {
+ throw new BadRequestException("中鼎采购入库单下发失败:" + e.getMessage());
+ }
+ }
+
+ @Override
+ public ResponseEntity> queryInventory(String skuCode) {
+ log.info("queryInventory查询SKU库存输入参数:skuCode={}", skuCode);
+ Param param = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode(SysParamConstant.ZD_URL);
+ if (param==null){
+ throw new BadRequestException("查询中鼎库存失败,接口地址未配置");
+ }
+ String baseUrl = param.getValue();
+ String url = baseUrl + EXTConstant.QUERY_INVENTORY_ZD_API;
+
+ JSONObject requestBody = new JSONObject();
+ requestBody.put("SkuCode", skuCode);
+ requestBody.put("HouseCode", "");
+ requestBody.put("HouseCodeLis", new JSONArray());
+
+ try {
+ String resultMsg = HttpRequest.post(url)
+ .contentType("application/json")
+ .body(requestBody.toString())
+ .execute().body();
+ log.info("queryInventory查询SKU库存输出参数:-------------------" + resultMsg);
+
+ JSONObject result = JSONObject.parseObject(resultMsg);
+ Integer respCode = result.getInteger("respCode");
+ if (respCode == null || respCode != 0) {
+ throw new BadRequestException("中鼎库存查询失败:" + result.getString("respMsg"));
+ }
+ List inventorys = result.getJSONArray("data").toJavaList(ZDInventory.class);
+ return new ResponseEntity<>(inventorys, HttpStatus.OK);
+ } catch (BadRequestException e) {
+ throw e;
+ } catch (Exception e) {
+ throw new BadRequestException("中鼎库存查询异常:" + e.getMessage());
+ }
+ }
+}
diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosInServiceImpl.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosInServiceImpl.java
index f41ccab..7f12c55 100644
--- a/nladmin-system/wms-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosInServiceImpl.java
+++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosInServiceImpl.java
@@ -172,7 +172,7 @@ public class PdaIosInServiceImpl implements PdaIosInService {
}
GroupPlate groupDao = GroupPlate.builder()
.group_id(IdUtil.getStringId())
- .material_id(materDao.getMaterial_code())
+ .material_code(materDao.getMaterial_code())
.storagevehicle_code(vehicleDao.getStoragevehicle_code())
.pcsn(pcsn)
.qty_unit_id(unitDao.getMeasure_unit_id())
@@ -449,7 +449,7 @@ public class PdaIosInServiceImpl implements PdaIosInService {
ArrayList tableData = new ArrayList<>();
HashMap dtl = new HashMap<>();
GroupPlate plateDao = plateDaoList.get(0);
- MdMeMaterialbase materDao = iMdMeMaterialbaseService.getByCode(plateDao.getMaterial_id());
+ MdMeMaterialbase materDao = iMdMeMaterialbaseService.getByCode(plateDao.getMaterial_code());
dtl.put("storagevehicle_code", plateDao.getStoragevehicle_code());
dtl.put("material_id", materDao.getMaterial_id());
dtl.put("material_code", materDao.getMaterial_code());
diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosOutServiceImpl.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosOutServiceImpl.java
index 134a2b1..2538b9f 100644
--- a/nladmin-system/wms-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosOutServiceImpl.java
+++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosOutServiceImpl.java
@@ -192,7 +192,7 @@ public class PdaIosOutServiceImpl implements PdaIosOutService {
.eq(GroupPlate::getGroup_id, whereJson.getString("group_id")));
Structattr sectDao = iStructattrService.getOne(new LambdaQueryWrapper()
.eq(Structattr::getStruct_code, whereJson.getString("struct_code")));
- MdMeMaterialbase materDao = iMdMeMaterialbaseService.getById(plateDao.getMaterial_id());
+ MdMeMaterialbase materDao = iMdMeMaterialbaseService.getById(plateDao.getMaterial_code());
whereJson.put("material_id", materDao.getMaterial_id());
whereJson.put("material_code", materDao.getMaterial_code());
whereJson.put("store_id", sectDao.getStor_id());
diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/pm_manage/demand/controller/PmDemandController.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/pm_manage/demand/controller/PmDemandController.java
new file mode 100644
index 0000000..c673137
--- /dev/null
+++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/pm_manage/demand/controller/PmDemandController.java
@@ -0,0 +1,79 @@
+package org.nl.wms.pm_manage.demand.controller;
+
+import cn.dev33.satoken.annotation.SaIgnore;
+import org.nl.common.base.TableDataInfo;
+import org.nl.common.domain.query.PageQuery;
+import org.nl.common.logging.annotation.Log;
+import org.nl.wms.pm_manage.demand.service.IPmDemandService;
+import org.nl.wms.pm_manage.demand.service.dto.DemandInventryDto;
+import org.nl.wms.pm_manage.demand.service.dto.PmDemandDto;
+import org.nl.wms.pm_manage.demand.service.dto.PmDemandParam;
+import org.nl.wms.pm_manage.demand.service.dto.PmDemandQuery;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+import java.util.Arrays;
+import java.util.List;
+
+@RestController
+@RequestMapping("/api/pmDemand")
+@SaIgnore
+public class PmDemandController {
+
+ @Resource
+ private IPmDemandService pmDemandService;
+
+ @GetMapping
+ @Log("查询需求单")
+ public ResponseEntity