diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/WareHouseController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/WareHouseController.java index 2fca92bd..a654bf24 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/WareHouseController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/WareHouseController.java @@ -832,6 +832,7 @@ public class WareHouseController { orderSaveRequest.setExportStatus(ConstantStatus.ORDER_EXPORT_UN); orderSaveRequest.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); orderSaveRequest.setSignStatus(ConstantStatus.ORDER_SIGN_UN); + orderSaveRequest.setCreateUser(userId); orderSaveRequest.setReceiveStatus(ConstantStatus.RECEIVE_UN); orderSaveRequest.setInvWarehouseCode(addOrderRequest.getInvWarehouseCode()); orderSaveRequest.setFromSubInvCode(addOrderRequest.getFromSubInvCode()); @@ -1055,9 +1056,7 @@ public class WareHouseController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } try { - String customerId = getCustomerId(); Integer userId = customerService.getUserId(); - postOrderRequest.setCustomerId(customerId); postOrderRequest.setUserId(userId); ioTransInoutService.creatOrderWeb(postOrderRequest); } catch (Exception e) { diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/UnitMaintainEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/UnitMaintainEntity.java index 812250b6..1652026a 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/UnitMaintainEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/UnitMaintainEntity.java @@ -7,30 +7,30 @@ import java.util.Date; @Data public class UnitMaintainEntity { - private Integer id; - private String thirdId; - private String thirdName; - private String erpId; - private String name; - private String spell; - private String addr; - private String status; - private String type; - private String contact; - private String mobile; - private String creditNo; - - - private String thirdId1; - private String thirdId2; - private String thirdId3; - private String thirdId4; - private String thirdName1; - private String thirdName2; - private String thirdName3; - private String thirdName4; - - private Date updateTime; + public Integer id; + public String thirdId; + public String thirdName; + public String erpId; + public String name; + public String spell; + public String addr; + public String status; + public String type; + public String contact; + public String mobile; + public String creditNo; + + + public String thirdId1; + public String thirdId2; + public String thirdId3; + public String thirdId4; + public String thirdName1; + public String thirdName2; + public String thirdName3; + public String thirdName4; + + public Date updateTime; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/business/StockOrderUploadLogEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/business/StockOrderUploadLogEntity.java index 8301a6ab..2c1b6730 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/business/StockOrderUploadLogEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/business/StockOrderUploadLogEntity.java @@ -50,5 +50,6 @@ public class StockOrderUploadLogEntity { private String billTypeName; private Integer fromType; + private String uploadData; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/httpclient/req/UdiwmsOrderDetail.java b/api-admin/src/main/java/com/glxp/api/admin/httpclient/req/UdiwmsOrderDetail.java index 4d50b354..f52d47ae 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/httpclient/req/UdiwmsOrderDetail.java +++ b/api-admin/src/main/java/com/glxp/api/admin/httpclient/req/UdiwmsOrderDetail.java @@ -22,18 +22,44 @@ public class UdiwmsOrderDetail { private String firstSalesInvNo; //销售发票号(第一票) private String registerNo; //注册/备案证号 private String manufactory; //生产厂家 + private String measname;//计量单位 private Integer count; //数量 private String remark; //备注 private String remark1; //备注1/规格型号ID private String remark2; //备注2/型号 private String remark3; //备注3/规格 + private List codeList; - @Data public static class CodeDetaiEntity { private String code; private String nameCode; private Integer count; + + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getNameCode() { + return nameCode; + } + + public void setNameCode(String nameCode) { + this.nameCode = nameCode; + } + + public Integer getCount() { + return count; + } + + public void setCount(Integer count) { + this.count = count; + } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/httpclient/req/UdiwmsPreInOrderRequest.java b/api-admin/src/main/java/com/glxp/api/admin/httpclient/req/UdiwmsPreInOrderRequest.java new file mode 100644 index 00000000..f58cdafb --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/httpclient/req/UdiwmsPreInOrderRequest.java @@ -0,0 +1,69 @@ +package com.glxp.api.admin.httpclient.req; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@NoArgsConstructor +@Data +public class UdiwmsPreInOrderRequest { + + + @JsonProperty("billNo") + private String billNo; + @JsonProperty("billdate") + private String billdate; + @JsonProperty("corpId") + private String corpId; + @JsonProperty("corpName") + private String corpName; + @JsonProperty("locInvCode") + private String locInvCode; + @JsonProperty("locInvName") + private String locInvName; + @JsonProperty("actor") + private String actor; + @JsonProperty("remark") + private String remark; + @JsonProperty("item") + private List items; + + @NoArgsConstructor + @Data + public static class ItemDTO { + @JsonProperty("code") + private String code; + @JsonProperty("productId") + private String productId; + @JsonProperty("productName") + private String productName; + @JsonProperty("standard") + private String standard; + @JsonProperty("expireDate") + private String expireDate; + @JsonProperty("productDate") + private String productDate; + @JsonProperty("batchNo") + private String batchNo; + @JsonProperty("count") + private Integer count; + @JsonProperty("measname") + private String measname; + @JsonProperty("registerNo") + private String registerNo; + @JsonProperty("price") + private Double price; + @JsonProperty("secSalesInvNo") + private String secSalesInvNo; + @JsonProperty("invoiceDate") + private String invoiceDate; + @JsonProperty("secSalesListNo") + private String secSalesListNo; + @JsonProperty("firstSalesInvNo") + private String firstSalesInvNo; + @JsonProperty("remark") + private String remark; + } +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderServiceImpl.java index d50dd179..28c91d8d 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ReflectUtil; import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; import com.github.pagehelper.PageHelper; @@ -15,6 +16,7 @@ import com.glxp.api.admin.dao.basic.BussinessTypeDao; import com.glxp.api.admin.dao.basic.UnitMaintainDao; import com.glxp.api.admin.dao.business.StockOrderDao; import com.glxp.api.admin.dao.business.StockOrderDetailDao; +import com.glxp.api.admin.entity.auth.AuthAdmin; import com.glxp.api.admin.entity.basic.*; import com.glxp.api.admin.entity.business.StockOrderDetailEntity; import com.glxp.api.admin.entity.business.StockOrderEntity; @@ -26,6 +28,7 @@ import com.glxp.api.admin.entity.inventory.InvWarehouseEntity; import com.glxp.api.admin.entity.thrsys.ThrInvWarehouseEntity; import com.glxp.api.admin.httpclient.req.UdiwmsOrderDetail; import com.glxp.api.admin.httpclient.req.UdiwmsOrderRequest; +import com.glxp.api.admin.httpclient.req.UdiwmsPreInOrderRequest; import com.glxp.api.admin.httpclient.res.UdiwmsOrderResponse; import com.glxp.api.admin.req.basic.FilterBasicThirdSysDetailRequest; import com.glxp.api.admin.req.business.StockOrderDetailFilterRequest; @@ -34,6 +37,7 @@ import com.glxp.api.admin.req.business.StockOrderQueryRequest; import com.glxp.api.admin.req.business.StockOrderUploadRequest; import com.glxp.api.admin.res.business.StockOrderDetailEntityVo; import com.glxp.api.admin.res.business.StockOrderExportResponse; +import com.glxp.api.admin.service.auth.AuthAdminService; import com.glxp.api.admin.service.basic.BussinessLocalTypeService; import com.glxp.api.admin.service.basic.UdiRelevanceService; import com.glxp.api.admin.service.business.StockOrderService; @@ -295,7 +299,16 @@ public class StockOrderServiceImpl implements StockOrderService { UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(stockOrderDetailEntity.getRelId()); UdiwmsOrderDetail item = new UdiwmsOrderDetail(); BeanUtil.copyProperties(stockOrderDetailEntity, item); + if (StrUtil.isNotEmpty(stockOrderDetailEntity.getProductDate())) { + item.setProductDate(DateUtil.formateExpireTime("20" + stockOrderDetailEntity.getProductDate())); + } + if (StrUtil.isNotEmpty(stockOrderDetailEntity.getExpireDate())) { + item.setExpireDate(DateUtil.formateExpireTime("20" + stockOrderDetailEntity.getExpireDate())); + } + item.setMeasname(udiRelevanceEntity.getMeasname()); + item.setStandard(stockOrderDetailEntity.getSpec()); + item.setRegisterNo(stockOrderDetailEntity.getZczbhhzbapzbh()); List warehouseEntityList = filterCodes(stockOrderDetailEntity, warehouseEntities); if (CollUtil.isNotEmpty(warehouseEntityList)) { List codeDetaiEntities = new ArrayList<>(); @@ -321,6 +334,10 @@ public class StockOrderServiceImpl implements StockOrderService { udiwmsOrderRequest.setItem(items); + //提交成功,更新导出状态 + OrderEntity orderEntity = + orderService.findById(stockOrderEntity.getOrderIdFk()); + //提交单据到第三方服务 //记录日志 @@ -330,9 +347,13 @@ public class StockOrderServiceImpl implements StockOrderService { uploadLog.setSubmitTime(new Date()); uploadLog.setBillNo(udiwmsOrderRequest.getBillNo()); uploadLog.setFromType(ConstantStatus.THIRD_ORDER_UPLOAD); - BasicThirdSysEntity basicThirdSysEntity = basicThirdSysDao.selectByThirdId(thirdSysBusApiEntity.getThirdSys()); - String response = httpOkClient.uCloudPost(basicThirdSysEntity.getThridUrl() + "/udiwms/erp/submitOrders", udiwmsOrderRequest); + String response = null; + if (bussinessLocalTypeEntity.isPreIn()) { + UdiwmsPreInOrderRequest udiwmsPreInOrderRequest = submitPreInOrderToThirdSys(udiwmsOrderRequest, orderEntity); + response = httpOkClient.uCloudPost(basicThirdSysEntity.getThridUrl() + "/udiwms/erp/preIn/submitOrders", udiwmsPreInOrderRequest); + } else + response = httpOkClient.uCloudPost(basicThirdSysEntity.getThridUrl() + "/udiwms/erp/submitOrders", udiwmsOrderRequest); if (StrUtil.isNotBlank(response)) { try { @@ -341,9 +362,7 @@ public class StockOrderServiceImpl implements StockOrderService { if (baseResponse.getCode().equals(20000)) { UdiwmsOrderResponse udiwmsOrderResponse = baseResponse.getData(); - //提交成功,更新导出状态 - OrderEntity orderEntity = - orderService.findById(stockOrderEntity.getOrderIdFk()); + orderEntity.setExportStatus(1); if (udiwmsOrderResponse != null) { orderEntity.setThirdBillNo(udiwmsOrderResponse.getThirdBillNo()); @@ -373,6 +392,47 @@ public class StockOrderServiceImpl implements StockOrderService { return ResultVOUtils.error(500, "提交失败"); } + + } + + @Resource + AuthAdminService authAdminService; + + public UdiwmsPreInOrderRequest submitPreInOrderToThirdSys(UdiwmsOrderRequest udiwmsOrderRequest, OrderEntity orderEntity) { + + UdiwmsPreInOrderRequest udiwmsPreInOrderRequest = new UdiwmsPreInOrderRequest(); + if (udiwmsOrderRequest != null) { + BeanUtils.copyProperties(udiwmsOrderRequest, udiwmsPreInOrderRequest); + udiwmsPreInOrderRequest.setLocInvCode(udiwmsOrderRequest.getLocStorageCode()); + udiwmsPreInOrderRequest.setLocInvName(udiwmsOrderRequest.getLocStorageName()); + if (orderEntity.getReviewUser() != null) { + AuthAdmin authAdmin = authAdminService.findById(orderEntity.getReviewUser().longValue()); + udiwmsPreInOrderRequest.setActor(authAdmin.getEmployeeName()); + } else if (orderEntity.getCreateUser() != null) { + AuthAdmin authAdmin = authAdminService.findById(orderEntity.getCreateUser().longValue()); + udiwmsPreInOrderRequest.setActor(authAdmin.getEmployeeName()); + } + + + List itemDTOS = new ArrayList<>(); + if (CollUtil.isNotEmpty(udiwmsOrderRequest.getItem())) { + for (UdiwmsOrderDetail udiwmsOrderDetail : udiwmsOrderRequest.getItem()) { + if (CollUtil.isNotEmpty(udiwmsOrderDetail.getCodeList())) { + for (UdiwmsOrderDetail.CodeDetaiEntity codeDetaiEntity : udiwmsOrderDetail.getCodeList()) { + UdiwmsPreInOrderRequest.ItemDTO itemDTO = new UdiwmsPreInOrderRequest.ItemDTO(); + BeanUtils.copyProperties(udiwmsOrderDetail, itemDTO); + itemDTO.setCode(codeDetaiEntity.getCode()); + itemDTO.setCount(codeDetaiEntity.getCount()); + itemDTOS.add(itemDTO); + } + } + } + } + udiwmsPreInOrderRequest.setItems(itemDTOS); + + } + + return udiwmsPreInOrderRequest; } @@ -381,8 +441,8 @@ public class StockOrderServiceImpl implements StockOrderService { List results = new ArrayList<>(); if (CollUtil.isNotEmpty(warehouseEntities)) { for (WarehouseEntity warehouseEntity : warehouseEntities) { - if (StrUtil.trimToEmpty(warehouseEntity.getRelId()) == StrUtil.trimToEmpty(stockOrderDetailEntity.getRelId()) - && StrUtil.trimToEmpty(warehouseEntity.getBatchNo()) == StrUtil.trimToEmpty(stockOrderDetailEntity.getBatchNo()) + if (StrUtil.trimToEmpty(warehouseEntity.getRelId()).equals(StrUtil.trimToEmpty(stockOrderDetailEntity.getRelId())) + && StrUtil.trimToEmpty(warehouseEntity.getBatchNo()).equals(StrUtil.trimToEmpty(stockOrderDetailEntity.getBatchNo())) ) { results.add(warehouseEntity); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/util/DateUtil.java b/api-admin/src/main/java/com/glxp/api/admin/util/DateUtil.java index 8d89086a..30866f5f 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/util/DateUtil.java +++ b/api-admin/src/main/java/com/glxp/api/admin/util/DateUtil.java @@ -62,6 +62,16 @@ public class DateUtil extends org.apache.commons.lang3.time.DateUtils { return dateString; } + public static String formateExpireTime(String str) { + try { + Date date = DateUtil.parseDate(str, "yyyyMMdd"); + return formatDate(date, "yyyy-MM-dd"); + } catch (ParseException e) { + e.printStackTrace(); + } + return str; + } + public static Long parseDateExpire(String str) { try { return DateUtil.parseDate(str, "yyyyMMdd").getTime(); @@ -71,6 +81,7 @@ public class DateUtil extends org.apache.commons.lang3.time.DateUtils { return 0l; } + /** * 得到当前日期字符串 格式(yyyy-MM-dd) */ diff --git a/api-admin/src/main/java/com/glxp/api/admin/util/HttpOkClient.java b/api-admin/src/main/java/com/glxp/api/admin/util/HttpOkClient.java index bf3bc00e..e0699ea5 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/util/HttpOkClient.java +++ b/api-admin/src/main/java/com/glxp/api/admin/util/HttpOkClient.java @@ -1,6 +1,7 @@ package com.glxp.api.admin.util; import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSONObject; import com.glxp.api.admin.entity.basic.BasicThirdSysEntity; import lombok.extern.slf4j.Slf4j; @@ -18,14 +19,16 @@ public class HttpOkClient { OkHttpCli okHttpCli; public String uCloudPost(String url, Object object) { - String json = JSONObject.toJSON(object).toString(); + + String json = JSONUtil.toJsonStr(object); + log.info(url + "\n" + json); String response = okHttpCli.doPostJson(url, json, "Content-Type", "application/json"); return response; } public String uCloudPost(String url, Object object, BasicThirdSysEntity basicThirdSysEntity) { - String json = JSONObject.toJSON(object).toString(); + String json = JSONUtil.toJsonStr(object); log.info(url + "\n" + json); List header = new ArrayList<>(); header.add("Content-Type"); diff --git a/api-admin/src/main/resources/logback-spring.xml b/api-admin/src/main/resources/logback-spring.xml index feb539fa..ee19fb9c 100644 --- a/api-admin/src/main/resources/logback-spring.xml +++ b/api-admin/src/main/resources/logback-spring.xml @@ -1,9 +1,9 @@ logback - - - + + +