From b062314f84ccdb27c074cb1e672e0ef56e091c73 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期三, 24 十一月 2021 09:11:55 +0800 Subject: [PATCH] # --- src/main/java/zy/cloud/wms/common/service/erp/ErpService.java | 91 ++++++++++++++++++++++++++++++++++++++------- 1 files changed, 76 insertions(+), 15 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 e432541..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 @@ -3,13 +3,20 @@ 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.entity.Comb; +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; @@ -24,49 +31,103 @@ public class ErpService { @Autowired - private SnowflakeIdWorker snowflakeIdWorker; + private DocTypeService docTypeService; + @Autowired + private MatService matService; + @Autowired + private RequestLogService requestLogService; + @Autowired + private DocLogService docLogService; /** * 鍗曟嵁涓婃姤 */ - public Boolean uploadBill(List<Comb> combs, Integer docId, String docNumber){ + public ErpR uploadBill(List<BillDto> dtos, Integer docId, String docNumber){ try { - if (Cools.isEmpty(combs)) { - return false; + 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("瀹忔尯瀹㈡埛"); + 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 (Comb comb : combs) { + for (BillDto dto : dtos) { + Mat mat = matService.selectByMatnr(dto.getMatnr()); UploadBillDetail detl = new UploadBillDetail(); - detl.setUserCode(comb.getMatnr()); - detl.setQty(comb.getAnfme()); - detl.setPrice(0.0D); - } + 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 false; + return new ErpR(false, result.getMsg()); } } } catch (Exception e) { e.printStackTrace(); - return false; + return new ErpR(false, e.getMessage()); } - return Boolean.TRUE; + return new ErpR(true, null); } -- Gitblit v1.9.1