From 107d3c8bfe096b7d26869f13c1866e39cbd97c24 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期四, 12 八月 2021 13:08:55 +0800 Subject: [PATCH] Merge branch 'htwms' of https://gitee.com/luxiaotao1123/wms-cloud into htwms --- src/main/java/zy/cloud/wms/common/service/erp/ErpService.java | 212 +++++++++++++++++++++++++++++++++------------------- 1 files changed, 134 insertions(+), 78 deletions(-) diff --git a/src/main/java/zy/cloud/wms/common/service/erp/ErpService.java b/src/main/java/zy/cloud/wms/common/service/erp/ErpService.java index 1d749fa..eefc7a0 100644 --- a/src/main/java/zy/cloud/wms/common/service/erp/ErpService.java +++ b/src/main/java/zy/cloud/wms/common/service/erp/ErpService.java @@ -1,78 +1,134 @@ -//package zy.cloud.wms.common.service.erp; -// -//import com.alibaba.fastjson.JSON; -//import com.core.common.Cools; -//import com.core.common.DateUtils; -//import com.core.common.SnowflakeIdWorker; -//import lombok.extern.slf4j.Slf4j; -//import org.springframework.beans.factory.annotation.Autowired; -//import org.springframework.stereotype.Service; -//import zy.cloud.wms.common.model.BillDto; -//import zy.cloud.wms.common.service.erp.entity.UploadBill; -//import zy.cloud.wms.common.service.erp.entity.UploadBillDetail; -//import zy.cloud.wms.manager.utils.HttpHandler; -// -//import java.util.ArrayList; -//import java.util.Date; -//import java.util.List; -// -///** -// * Created by vincent on 2021/3/23 -// */ -//@Slf4j -//@Service("erpService") -//public class ErpService { -// -// @Autowired -// private SnowflakeIdWorker snowflakeIdWorker; -// -// /** -// * 鍗曟嵁涓婃姤 -// */ -// public Boolean uploadBill(List<BillDto> dtos, Integer docId, String docNumber){ -// if (true) { -//// return true; -// } -// try { -// if (Cools.isEmpty(dtos)) { -// return false; -// } -// UploadBill uploadBill = new UploadBill(); -// uploadBill.setNumber(docNumber); -// uploadBill.setBillDate(DateUtils.convert(new Date(), DateUtils.yyyyMMdd_F)); -// uploadBill.setBTypeID("SHHT"); -// uploadBill.setKTypeID("瀹忔尯浠撳簱"); -// uploadBill.setVchType(docId); -// List<UploadBillDetail> detail = new ArrayList<>(); -// uploadBill.setDetail(detail); -// for (BillDto dto : dtos) { -// UploadBillDetail detl = new UploadBillDetail(); -// detl.setUserCode(dto.getMatnr()); -// detl.setQty(dto.getQty()); -// detl.setPrice(0); -// detail.add(detl); -// } -// System.out.println(JSON.toJSONString(uploadBill)); -// String response = new HttpHandler.Builder() -// .setUri(ErpScheduler.URI) -// .setPath(ErpScheduler.UPLOAD_BILL) -// .setJson(JSON.toJSONString(uploadBill)) -// .build() -// .doPost(); -// -// if (!Cools.isEmpty(response)) { -// log.warn(response); -// Result result = JSON.parseObject(response, Result.class); -// if (result.getCode() != 1) { -// return false; -// } -// } -// } catch (Exception e) { -// e.printStackTrace(); -// return false; -// } -// return Boolean.TRUE; -// } -// -// -//} +package zy.cloud.wms.common.service.erp; + +import com.alibaba.fastjson.JSON; +import com.core.common.Cools; +import com.core.common.DateUtils; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import zy.cloud.wms.common.model.BillDto; +import zy.cloud.wms.common.service.erp.entity.UploadBill; +import zy.cloud.wms.common.service.erp.entity.UploadBillDetail; +import zy.cloud.wms.manager.entity.DocLog; +import zy.cloud.wms.manager.entity.DocType; +import zy.cloud.wms.manager.entity.Mat; +import zy.cloud.wms.manager.entity.RequestLog; +import zy.cloud.wms.manager.service.DocLogService; +import zy.cloud.wms.manager.service.DocTypeService; +import zy.cloud.wms.manager.service.MatService; +import zy.cloud.wms.manager.service.RequestLogService; +import zy.cloud.wms.manager.utils.HttpHandler; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * Created by vincent on 2021/3/23 + */ +@Slf4j +@Service("erpService") +public class ErpService { + + @Autowired + private DocTypeService docTypeService; + @Autowired + private MatService matService; + @Autowired + private RequestLogService requestLogService; + @Autowired + private DocLogService docLogService; + + /** + * 鍗曟嵁涓婃姤 + */ + public ErpR uploadBill(List<BillDto> dtos, Integer docId, String docNumber){ + try { + Date now = new Date(); + if (Cools.isEmpty(dtos)) { + return new ErpR(false, null); + } + DocType docType = docTypeService.selectById(docId); + if (Cools.isEmpty(docType)) { + return new ErpR(false, null); + } + + // 鏃ュ織 + List<DocLog> docLogs = new ArrayList<>(); + + UploadBill uploadBill = new UploadBill(); + uploadBill.setNumber(docNumber); + uploadBill.setBillDate(DateUtils.convert(new Date(), DateUtils.yyyyMMdd_F)); + uploadBill.setBTypeID("SHHT"); + uploadBill.setKTypeID("瀹忔尯浠撳簱"); + uploadBill.setVchType(docId); + if (docId == 9) { + uploadBill.setDifAtype(22); + } else if (docId == 14) { + uploadBill.setDifAtype(23); + } + uploadBill.setSummary(docType.getDocName() + " - " + DateUtils.convert(new Date(), "yyyy-MM-dd HH:mm")); + List<UploadBillDetail> detail = new ArrayList<>(); + uploadBill.setDetail(detail); + for (BillDto dto : dtos) { + Mat mat = matService.selectByMatnr(dto.getMatnr()); + UploadBillDetail detl = new UploadBillDetail(); + detl.setUserCode(dto.getMatnr()); + detl.setQty(dto.getQty()); + detl.setPrice(0); + detl.setUnit(mat==null?"鏆傛棤":mat.getUnit()); + detail.add(detl); + + // 鏃ュ織 + docLogs.add(new DocLog( + docNumber, // 鍗曟嵁缂栧彿 + docId.longValue(), // 鍗曟嵁绫诲瀷 + null, // 鍗曟嵁鍚嶇О + dto.getMatnr(), // 鍟嗗搧缂栧彿 + dto.getQty(), // 涓婃姤鏁伴噺 + 1, // 缁撴灉 + now, // 涓婃姤鏃堕棿 + null // 澶囨敞 + )); + } + log.warn(JSON.toJSONString(uploadBill)); + String response = new HttpHandler.Builder() + .setUri(ErpScheduler.URI) + .setPath(ErpScheduler.UPLOAD_BILL) + .setJson(JSON.toJSONString(uploadBill)) + .build() + .doPost(); + + try { + for (DocLog docLog : docLogs) { + docLogService.insert(docLog); + } + + // 鏃ュ織璁板綍 + RequestLog logInfo = new RequestLog(); + logInfo.setName("鍗曟嵁涓婁紶锛屽崟鎹被鍨�" + docId); + logInfo.setRequest(JSON.toJSONString(uploadBill)); // 鍏ュ弬 + logInfo.setResponse(response); // 鍑哄弬 + logInfo.setCreateTime(new Date()); + requestLogService.insert(logInfo); + } catch (Exception e) { + log.error(e.getMessage()); + } + + + if (!Cools.isEmpty(response)) { + log.warn(response); + Result result = JSON.parseObject(response, Result.class); + if (result.getCode() != 1) { + return new ErpR(false, result.getMsg()); + } + } + } catch (Exception e) { + e.printStackTrace(); + return new ErpR(false, e.getMessage()); + } + return new ErpR(true, null); + } + + +} -- Gitblit v1.9.1