第三方单据上传,新增预验收单据单独一个接口上传,优化一些单据字段

fengcang
anthonyywj2 3 years ago
parent 74d295e705
commit fb5cf1d364

@ -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) {

@ -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;
}

@ -50,5 +50,6 @@ public class StockOrderUploadLogEntity {
private String billTypeName;
private Integer fromType;
private String uploadData;
}

@ -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<CodeDetaiEntity> 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;
}
}

@ -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<ItemDTO> 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;
}
}

@ -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<WarehouseEntity> warehouseEntityList = filterCodes(stockOrderDetailEntity, warehouseEntities);
if (CollUtil.isNotEmpty(warehouseEntityList)) {
List<UdiwmsOrderDetail.CodeDetaiEntity> 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<UdiwmsPreInOrderRequest.ItemDTO> 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<WarehouseEntity> 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);
}

@ -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
*/

@ -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<String> header = new ArrayList<>();
header.add("Content-Type");

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<contextName>logback</contextName>
<!-- <property name="log.path" value="D:\\udi\\logs\\UDI_WMS_MC\\"/>-->
<!--输出到控制台/home/glxpdata/udiwms/UDI_WMS_MC/-->
<property name="log.path" value="../logs/udiwms/"/>
<property name="log.path" value="D:\\udiwms\\logs\\UDI_WMS_MC\\"/>
<!-- 输出到控制台/home/glxpdata/udiwms/UDI_WMS_MC/-->
<!-- <property name="log.path" value="../logs/udiwms/"/>-->
<!--D:\\udi\\logs\\UDI_WMS_MC\\-->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<!-- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">

Loading…
Cancel
Save