From 3f22772b5b70f6d0808e7e7c8f16793fb0ea47bb Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期五, 31 五月 2024 15:07:08 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 154 +++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 147 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index a262d23..ee6d7cf 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -1,5 +1,8 @@
package com.zy.asrs.service.impl;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.common.DateUtils;
@@ -14,15 +17,19 @@
import com.zy.asrs.mapper.TagMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.MatUtils;
+import com.zy.asrs.utils.Utils;
import com.zy.common.model.DetlDto;
+import com.zy.common.utils.HttpHandler;
import com.zy.common.utils.NodeUtils;
import com.zy.system.entity.User;
import com.zy.system.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.text.ParseException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -31,8 +38,15 @@
* Created by vincent on 2022/4/9
*/
@Slf4j
-@Service
+@Service("OpenService")
public class OpenServiceImpl implements OpenService {
+
+ @Value("${u8.url}")
+ private String url;
+
+ @Value("${u8.path}")
+ private String orderReportPath;
+
@Autowired
private OrderService orderService;
@@ -66,6 +80,10 @@
private ReportQueryMapper reportQueryMapper;
@Autowired
private UserService userService;
+ @Autowired
+ private PlaService plaService;
+ @Autowired
+ private ApiLogService apiLogService;
@Override
@Transactional
@@ -207,13 +225,13 @@
param.getCCode(), // 璁㈠崟缂栧彿
DateUtils.convert(now), // 鍗曟嵁鏃ユ湡
docType.getDocId(), // 鍗曟嵁绫诲瀷
- null, // 椤圭洰缂栧彿
+ 1L, // 椤圭洰缂栧彿
null, //
null, // 璋冩嫧椤圭洰缂栧彿
null, // 鍒濆绁ㄦ嵁鍙�
- null, // 绁ㄦ嵁鍙�
+ param.getCAccount(), // 涓讳綋
null, // 瀹㈡埛缂栧彿
- param.getCAccount(), // 瀹㈡埛
+ param.getCCusName(), // 瀹㈡埛
null, // 鑱旂郴鏂瑰紡
param.getCMaker(), // 鎿嶄綔浜哄憳
null, // 鍚堣閲戦
@@ -486,14 +504,15 @@
}
if (!matService.insert(mat)) {
throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
- } else {
- log.info("鍚屾鏂扮墿鏂橻鍟嗗搧缂栧彿锛歿}]", mat.getMatnr());
}
+ log.info("鍚屾鏂扮墿鏂橻鍟嗗搧缂栧彿锛歿}]", mat.getMatnr());
} else {
- mat.sync(param);
+ //mat.sync(param);
+ mat.setMaktx(matParam.getMaktx());
if (!matService.update(mat, new EntityWrapper<Mat>().eq("matnr", matParam.getMatnr()))) {
throw new CoolException("鏇存柊宸插瓨鍦ㄥ晢鍝佷俊鎭け璐ワ紝璇疯仈绯荤鐞嗗憳");
}
+ log.info("鍚屾鏇存柊鐗╂枡[鍟嗗搧缂栧彿锛歿}]", mat.getMatnr());
}
}
@@ -538,4 +557,125 @@
return digitalTwin;
}
+ @Override
+ public int pakinReportErp(JSONObject json) throws ParseException {
+ JSONArray jsonArray = JSONArray.parseArray(json.getJSONArray("pla").toJSONString());
+
+ List<OpenOrderPakoutParam> list = new ArrayList<>();
+
+
+ for (Object o : jsonArray){
+ JSONObject jsonObject = (JSONObject)o;
+ String brand = jsonObject.get("brand").toString();
+ String batch = jsonObject.get("batch").toString();
+ Integer packageNo = Integer.parseInt(jsonObject.get("packageNo").toString());
+
+ Pla pla = plaService.selectByBatchAndPackageNo(batch, packageNo, brand);
+ Mat mat = matService.selectByMaktx(pla.getBrand());
+ //褰撶敓浜у崟鍙蜂笉涓�鑷存椂锛岄渶瑕佹柊寤轰竴涓猵aram
+ if(list.size() == 0 || checkOrder(list,pla.getProOrderNo()) == null){
+ OpenOrderPakoutParam param = new OpenOrderPakoutParam();
+ String type = Cools.isEmpty(pla.getProOrderNo()) ? "璋冩嫧鍏ュ簱鍗�" : "鐢熶骇鍏ュ簱鍗�";
+ param.setcCode(pla.getProOrderNo());
+ param.setcAccount(pla.getOwner());
+ param.setdDate(Utils.getDateStr1(new Date()));
+ param.setType(type);
+
+ List<OpenOrderPakoutParam.Body> bodyList = new ArrayList<>();
+ OpenOrderPakoutParam.Body body = new OpenOrderPakoutParam.Body();
+ body.setcInvCode(mat.getMatnr());
+ body.setiQuantity(pla.getWeightAnfme());
+ body.setCbMemo(pla.getMemo());
+ bodyList.add(body);
+
+ param.setaDDBody(bodyList);
+
+ list.add(param);
+ }else {
+ OpenOrderPakoutParam param = checkOrder(list, pla.getProOrderNo());
+ List<OpenOrderPakoutParam.Body> bodyList = param.getADDBody();
+ OpenOrderPakoutParam.Body body = checkOrderDetl(bodyList, mat.getMatnr());
+ //鏈夋柊鐨勭墝鍙峰垯娣诲姞鏂扮殑orderDetl锛屽惁鍒欑疮鍔�
+ if(body == null){
+ body = new OpenOrderPakoutParam.Body();
+ body.setcInvCode(mat.getMatnr());
+ body.setiQuantity(pla.getWeightAnfme());
+ body.setCbMemo(pla.getMemo());
+ bodyList.add(body);
+ }else {
+ body.setiQuantity(body.getIQuantity() + pla.getWeightAnfme());
+ }
+ }
+ }
+
+ return doHttpRequest(list, "鍏ュ簱鍗曚笂鎶�", url, orderReportPath, null, "127.0.0.1");
+
+ }
+
+ private OpenOrderPakoutParam checkOrder(List<OpenOrderPakoutParam> list, String orderNo){
+
+ for (OpenOrderPakoutParam param : list){
+ //鍒ゆ柇鏄惁鍖呭惈閲嶅鐨勮鍗曞彿
+ if(Cools.eq(param.getCCode(),orderNo)){
+ return param;
+ }
+ }
+
+ return null;
+
+ }
+
+ private OpenOrderPakoutParam.Body checkOrderDetl(List<OpenOrderPakoutParam.Body> bodyList, String matnr){
+
+ for (OpenOrderPakoutParam.Body param : bodyList){
+ //鍒ゆ柇鏄惁鍖呭惈閲嶅鐨勮鍗曞彿
+ if(Cools.eq(param.getCInvCode(),matnr)){
+ return param;
+ }
+ }
+
+ return null;
+
+ }
+
+ private int doHttpRequest(Object requestParam, String namespace, String url, String path, String appkey, String ip){
+ String response = "";
+ boolean success = false;
+
+ try {
+ response = new HttpHandler.Builder()
+ .setUri(url)
+ .setPath(path)
+ .setJson(JSONObject.toJSONString(requestParam))
+ .build()
+ .doPost();
+ JSONObject jsonObject = JSON.parseObject(response);
+
+ if(Cools.isEmpty(jsonObject.get("errCode"))){
+ throw new CoolException(jsonObject.get("Message").toString());
+ }
+
+ int code = (int) jsonObject.get("errCode");
+ if(code != 0){
+ throw new CoolException(jsonObject.get("errMsg").toString());
+ }
+ success = true;
+ return code;
+ }catch (Exception e){
+ log.error(e.getMessage());
+ throw new CoolException("璋冪敤鎺ュ彛鍝嶅簲閿欒");
+ }finally {
+ apiLogService.save(
+ namespace,
+ url + path,
+ appkey,
+ ip,
+ JSON.toJSONString(JSONObject.toJSONString(requestParam)),
+ response,
+ success
+ );
+ }
+
+ }
+
}
--
Gitblit v1.9.1