From 9b2838fd5b53ae5ef4aa7e082e2718cc0ccc4466 Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期五, 25 八月 2023 09:30:01 +0800
Subject: [PATCH] U8接口相关功能
---
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 176 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 171 insertions(+), 5 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 f84e478..3307d90 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -13,18 +13,18 @@
import com.zy.asrs.mapper.ReportQueryMapper;
import com.zy.asrs.mapper.TagMapper;
import com.zy.asrs.service.*;
-import com.zy.asrs.task.core.ReturnT;
-import com.zy.asrs.task.handler.WorkLogHandler;
import com.zy.asrs.utils.MatUtils;
import com.zy.common.model.DetlDto;
-import com.zy.common.utils.ListUtils;
import com.zy.common.utils.NodeUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
/**
* Created by vincent on 2022/4/9
@@ -603,8 +603,174 @@
*/
@Override
@Transactional
- public void outlogERP() {
+ public List<ViewWorkInBean> outlogERP() {
+ List<ViewWorkInBean> viewWorkInERP = reportQueryMapper.getViewWorkOutERP();
+ ArrayList<ViewWorkInBean> viewWorkInBeans = new ArrayList<>();
+ for (ViewWorkInBean viewWorkInBean:viewWorkInERP){
+ viewWorkInBean.sype();
+ viewWorkInBeans.add(viewWorkInBean);
+ }
+ return viewWorkInBeans;
+ }
+ @Transactional
+ public boolean syncMat(MatInfoParam param) {
+ if(!Cools.isEmpty(matService.selectByMatnr(param.getCinvcode()))){
+ callApiLogSave(param, "/open/asrs/mat/v1", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佸晢鍝佸凡瀛樺湪锛侊紒锛�", false);
+ param.setType(false);
+ param.setMemo("鍟嗗搧宸插瓨鍦紒");
+ return false;
+ }
+ Date now = new Date();
+ Mat mat = new Mat();
+ //鐗╂枡鍙�
+ mat.setMatnr(param.getCinvcode());
+ //鐗╂枡鍚嶇О
+ mat.setMaktx(param.getCinvname());
+ //瑙勬牸鍨嬪彿
+ mat.setSpecs(param.getCInvStd());
+ //瀛樿揣鍒嗙被缂栫爜
+ mat.setBrand(param.getCinvccode());
+ //瀛樿揣鍒嗙被鍚嶇О
+ mat.setColor(param.getCInvCName());
+ //璁¢噺鍗曚綅
+ mat.setUnit(param.getCComUnitName());
+ //杩涢」绋�
+ mat.setPrice(param.getIImpTaxRate());
+ //閿�椤圭◣
+ mat.setUnits(param.getITaxRate());
+ //鍚敤鏃ユ湡
+ mat.setDsDate(param.getDSDate());
+ //寤烘。浜�
+ mat.setSupp(param.getCCreatePerson());
+ //寤烘。鏃ユ湡
+ mat.setDInvCreateDatetime(param.getDInvCreateDatetime());
+ //閫氱敤鍨嬪彿
+ mat.setModel(param.getCinvdefine4());
+
+ mat.setCreateTime(now);
+ mat.setUpdateTime(now);
+
+ if (matService.insert(mat)) {
+ callApiLogSave(param, "/open/asrs/mat/v1", "鎺ユ敹ERP涓嬪彂鍟嗗搧淇℃伅鎴愬姛锛佹坊鍔犲晢鍝佷俊鎭垚鍔燂紒", true);
+ param.setType(true);
+ } else {
+ callApiLogSave(param, "/open/asrs/mat/v1", "娣诲姞ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛侊紒锛佺姸鎬佸紓甯革紒锛侊紒", false);
+ param.setType(false);
+ param.setMemo("娣诲姞ERP涓嬪彂鍟嗗搧淇℃伅澶辫触锛�");
+ }
+
+ matService.insert(mat);
+
+ return true;
+ }
+
+ @Transactional
+ public boolean syncOrder(Map<String, Object> param) {
+ if(Cools.isEmpty(param) || Cools.isEmpty(param.get("orderDetails"))){
+ throw new CoolException("鍗曟嵁鍙傛暟涓虹┖鎴栬�呭崟鎹鎯呬负绌猴紝鏃犳硶鐢熸垚鍗曟嵁淇℃伅");
+ }
+
+ if(!Cools.isEmpty(orderService.selectByNo(param.get("id").toString()))){
+ throw new CoolException("璇ュ崟鎹凡瀛樺湪锛屾棤娉曠敓鎴愬崟鎹俊鎭�");
+ }
+ Order order = orderMapping(param);
+ orderService.insert(order);
+ List<Map<String, Object>> orderDetails = (List<Map<String, Object>>) param.get("orderDetails");
+ orderDetails.forEach(odParam -> {
+ OrderDetl od = orderDetlMapping(order.getOrderNo(),odParam);
+ orderDetlService.insert(od);
+ });
+
+ return true;
+ }
+
+ @Transactional
+ public boolean orderDelete(String orderNo) {
+ Order order = orderService.selectByNo(orderNo);
+ if(Cools.isEmpty(order)){
+ throw new CoolException("鍗曟嵁涓嶅瓨鍦紝鏃犳硶鍒犻櫎鍗曟嵁");
+ }
+
+ if(order.getSettle() != 1){
+ return false;
+ }
+
+ orderService.deleteById(order);
+ orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_no",orderNo));
+
+ return true;
+ }
+
+ private Order orderMapping(Map<String, Object> param){
+ Date now = new Date();
+ Order order = new Order();
+ //uuid
+ order.setUuid(String.valueOf(snowflakeIdWorker.nextId()));
+ //鏍哥畻涓讳綋
+ order.setItemName(param.get("account").toString());
+ //鍗曟嵁鍞竴琛ㄧず
+ order.setOrderNo(param.get("id").toString());
+ //涓氬姟绫诲瀷
+ order.setDefNumber(param.get("cBusType").toString());
+ //鍗曟嵁绫诲瀷
+ DocType docType = docTypeService.selectOrAdd(param.get("cVouchType").toString(), Boolean.TRUE);
+ order.setDocType(docType.getDocId());
+ //鍗曟嵁鏃ユ湡
+ order.setOrderTime(param.get("dDate").toString());
+ //渚涘簲鍟�/瀹㈡埛缂栫爜
+ order.setCstmrName(param.get("ks").toString());
+ //浠撳簱
+ order.setTel(param.get("cWhName").toString());
+ //鍑哄叆搴撶被鍒�
+ order.setOperMemb(param.get("cRdName").toString());
+ //閮ㄩ棬
+ order.setSalesman(param.get("cDepCode").toString());
+ //澶囨敞
+ order.setMemo(param.get("cMemo").toString());
+ //鍒跺崟浜�
+ order.setShipCode(param.get("cMaker").toString());
+
+ order.setCreateTime(now);
+ order.setUpdateTime(now);
+
+ //璁㈠崟鐘舵��
+ order.setSettle(1L);
+ //鐘舵��
+ order.setStatus(1);
+ return order;
+ }
+
+ private OrderDetl orderDetlMapping(String orderId, Map<String, Object> odParam){
+ OrderDetl od = new OrderDetl();
+ od.setOrderNo(orderId);
+ //琛屽敮涓�鏍囪瘑
+ od.setItemNum(odParam.get("autoId").toString());
+ //瀛樿揣缂栫爜
+ od.setMatnr(odParam.get("cInvCode").toString());
+ //瀛樿揣鍚嶇О
+ od.setMaktx(odParam.get("cInvName").toString());
+ //瑙勬牸鍨嬪彿
+ od.setSpecs(odParam.get("cInvStd").toString());
+ //璁¢噺鍗曚綅
+ od.setUnit(odParam.get("cComUnitName").toString());
+ //鏁伴噺
+ od.setAnfme(Double.parseDouble(odParam.get("iQuantity").toString()));
+ //琛屽彿
+ od.setBrand(odParam.get("irowno").toString());
+ //閿�鍞鍗曞彿
+ od.setColor(odParam.get("csocode").toString());
+ //閿�鍞鍗曡鍙�
+ od.setOrigin(odParam.get("isoseq").toString());
+
+ return od;
+ }
+
+
+ public void callApiLogSave(MatInfoParam matParam, String tableName, String response, Boolean bool) {
+ apiLogService.save("ERP涓嬪彂鍟嗗搧淇℃伅", tableName, "null", "10.10.10.1",
+ "鐗╂枡缂栫爜锛�" + matParam.getCinvcode() + "銆佺墿鏂欏悕绉帮細" + matParam.getCinvname() + "銆佽鏍硷細" + matParam.getCInvStd() + "銆佸娉細" + matParam.getMemo(),
+ response, bool);
}
}
--
Gitblit v1.9.1