|
|
@ -1,7 +1,6 @@
|
|
|
|
package com.glxp.mipsdl.admin.client.http;
|
|
|
|
package com.glxp.mipsdl.admin.client.http;
|
|
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
|
import cn.hutool.core.util.ReflectUtil;
|
|
|
|
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
import com.alibaba.fastjson.TypeReference;
|
|
|
|
import com.alibaba.fastjson.TypeReference;
|
|
|
@ -19,14 +18,15 @@ import com.glxp.mipsdl.admin.dao.thrsys.ThrInvWarehouseDao;
|
|
|
|
import com.glxp.mipsdl.admin.entity.basic.BasicThirdSysBusApiEntity;
|
|
|
|
import com.glxp.mipsdl.admin.entity.basic.BasicThirdSysBusApiEntity;
|
|
|
|
import com.glxp.mipsdl.admin.entity.basic.BussinessLocalTypeEntity;
|
|
|
|
import com.glxp.mipsdl.admin.entity.basic.BussinessLocalTypeEntity;
|
|
|
|
import com.glxp.mipsdl.admin.entity.basic.UdiRelevanceEntity;
|
|
|
|
import com.glxp.mipsdl.admin.entity.basic.UdiRelevanceEntity;
|
|
|
|
import com.glxp.mipsdl.admin.entity.basic.UnitMaintainEntity;
|
|
|
|
|
|
|
|
import com.glxp.mipsdl.admin.entity.business.StockOrderDetailEntity;
|
|
|
|
import com.glxp.mipsdl.admin.entity.business.StockOrderDetailEntity;
|
|
|
|
import com.glxp.mipsdl.admin.entity.business.StockOrderEntity;
|
|
|
|
import com.glxp.mipsdl.admin.entity.business.StockOrderEntity;
|
|
|
|
import com.glxp.mipsdl.admin.entity.business.StockOrderUploadLogEntity;
|
|
|
|
import com.glxp.mipsdl.admin.entity.business.StockOrderUploadLogEntity;
|
|
|
|
import com.glxp.mipsdl.admin.entity.inout.OrderEntity;
|
|
|
|
import com.glxp.mipsdl.admin.entity.inout.OrderEntity;
|
|
|
|
import com.glxp.mipsdl.admin.entity.inventory.InvWarehouseEntity;
|
|
|
|
import com.glxp.mipsdl.admin.entity.inventory.InvWarehouseEntity;
|
|
|
|
import com.glxp.mipsdl.admin.entity.phxyy.BasicThirdSysDetailEntity;
|
|
|
|
import com.glxp.mipsdl.admin.entity.phxyy.BasicThirdSysDetailEntity;
|
|
|
|
|
|
|
|
import com.glxp.mipsdl.admin.entity.thrsys.ThrCorpEntity;
|
|
|
|
import com.glxp.mipsdl.admin.entity.thrsys.ThrInvWarehouseEntity;
|
|
|
|
import com.glxp.mipsdl.admin.entity.thrsys.ThrInvWarehouseEntity;
|
|
|
|
|
|
|
|
import com.glxp.mipsdl.admin.entity.thrsys.ThrProductsEntity;
|
|
|
|
import com.glxp.mipsdl.admin.req.UdiwmsOnhandRequest;
|
|
|
|
import com.glxp.mipsdl.admin.req.UdiwmsOnhandRequest;
|
|
|
|
import com.glxp.mipsdl.admin.req.UdiwmsOrderDetail;
|
|
|
|
import com.glxp.mipsdl.admin.req.UdiwmsOrderDetail;
|
|
|
|
import com.glxp.mipsdl.admin.req.UdiwmsOrderRequest;
|
|
|
|
import com.glxp.mipsdl.admin.req.UdiwmsOrderRequest;
|
|
|
@ -38,7 +38,7 @@ import com.glxp.mipsdl.admin.service.phxyy.BasicThirdSysBusApiService;
|
|
|
|
import com.glxp.mipsdl.admin.service.phxyy.BussinessOriginTypeService;
|
|
|
|
import com.glxp.mipsdl.admin.service.phxyy.BussinessOriginTypeService;
|
|
|
|
import com.glxp.mipsdl.admin.util.DateUtil;
|
|
|
|
import com.glxp.mipsdl.admin.util.DateUtil;
|
|
|
|
import com.glxp.mipsdl.admin.util.HttpClient;
|
|
|
|
import com.glxp.mipsdl.admin.util.HttpClient;
|
|
|
|
import com.glxp.mipsdl.admin.util.ThirdUtils;
|
|
|
|
import com.glxp.mipsdl.admin.util.SubmitOrderUtils;
|
|
|
|
import com.glxp.mipsdl.common.res.BaseResponse;
|
|
|
|
import com.glxp.mipsdl.common.res.BaseResponse;
|
|
|
|
import com.glxp.mipsdl.common.util.ResultVOUtils;
|
|
|
|
import com.glxp.mipsdl.common.util.ResultVOUtils;
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
@ -76,8 +76,6 @@ public class PhxyyClient {
|
|
|
|
@Resource
|
|
|
|
@Resource
|
|
|
|
private ThrInvWarehouseDao thrInvWarehouseDao;
|
|
|
|
private ThrInvWarehouseDao thrInvWarehouseDao;
|
|
|
|
@Resource
|
|
|
|
@Resource
|
|
|
|
private UnitMaintainDao unitMaintainDao;
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
|
|
|
|
private BussinessTypeDao bussinessTypeDao;
|
|
|
|
private BussinessTypeDao bussinessTypeDao;
|
|
|
|
@Resource
|
|
|
|
@Resource
|
|
|
|
private BasicThirdSysDetailDao basicThirdSysDetailDao;
|
|
|
|
private BasicThirdSysDetailDao basicThirdSysDetailDao;
|
|
|
@ -92,7 +90,8 @@ public class PhxyyClient {
|
|
|
|
private BasicThirdSysBusApiService basicThirdSysBusApiService;
|
|
|
|
private BasicThirdSysBusApiService basicThirdSysBusApiService;
|
|
|
|
@Resource
|
|
|
|
@Resource
|
|
|
|
private BussinessOriginTypeService bussinessOriginTypeService;
|
|
|
|
private BussinessOriginTypeService bussinessOriginTypeService;
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
|
|
|
|
SubmitOrderUtils submitOrderUtils;
|
|
|
|
|
|
|
|
|
|
|
|
public HttpHeaders getHeaders() {
|
|
|
|
public HttpHeaders getHeaders() {
|
|
|
|
HttpHeaders headers = new HttpHeaders();
|
|
|
|
HttpHeaders headers = new HttpHeaders();
|
|
|
@ -185,7 +184,6 @@ public class PhxyyClient {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//查询单据和详情信息,组装第三方系统接口参数所需数据
|
|
|
|
//查询单据和详情信息,组装第三方系统接口参数所需数据
|
|
|
|
StockOrderEntity stockOrderEntity = stockOrderDao.findById(udiwmsOrderRequest.getId());
|
|
|
|
StockOrderEntity stockOrderEntity = stockOrderDao.findById(udiwmsOrderRequest.getId());
|
|
|
|
|
|
|
|
|
|
|
|
OrderEntity orderEntity = orderDao.findById(stockOrderEntity.getOrderIdFk());
|
|
|
|
OrderEntity orderEntity = orderDao.findById(stockOrderEntity.getOrderIdFk());
|
|
|
|
List<StockOrderDetailEntity> stockOrderDetailEntities = stockOrderDetailDao.findByOrderIdFk(stockOrderEntity.getId());
|
|
|
|
List<StockOrderDetailEntity> stockOrderDetailEntities = stockOrderDetailDao.findByOrderIdFk(stockOrderEntity.getId());
|
|
|
|
udiwmsOrderRequest.setBillDate(stockOrderEntity.getBilldate());
|
|
|
|
udiwmsOrderRequest.setBillDate(stockOrderEntity.getBilldate());
|
|
|
@ -202,7 +200,8 @@ public class PhxyyClient {
|
|
|
|
return ResultVOUtils.error(500, "接口未配置,无法提交!");
|
|
|
|
return ResultVOUtils.error(500, "接口未配置,无法提交!");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
String thirdId = getThirdId(thirdSysBusApiEntity);
|
|
|
|
String thirdId = getThirdId(thirdSysBusApiEntity);
|
|
|
|
udiwmsOrderRequest.setBillType(thirdSysBusApiEntity.getThirdBuyCode());
|
|
|
|
// udiwmsOrderRequest.setBillType(thirdSysBusApiEntity.getThirdBuyCode());
|
|
|
|
|
|
|
|
udiwmsOrderRequest.setBillType(submitOrderUtils.toBusType(stockOrderEntity.getBillType()));
|
|
|
|
if (bussinessLocalTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INPUT) {
|
|
|
|
if (bussinessLocalTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INPUT) {
|
|
|
|
udiwmsOrderRequest.setCorpId(stockOrderEntity.getCorpName()); //往来单位编码,需转换为第三方系统的ID
|
|
|
|
udiwmsOrderRequest.setCorpId(stockOrderEntity.getCorpName()); //往来单位编码,需转换为第三方系统的ID
|
|
|
|
udiwmsOrderRequest.setCorpName(stockOrderEntity.getCorpName()); //往来单位名称,需转换为第三方系统的名称
|
|
|
|
udiwmsOrderRequest.setCorpName(stockOrderEntity.getCorpName()); //往来单位名称,需转换为第三方系统的名称
|
|
|
@ -222,18 +221,11 @@ public class PhxyyClient {
|
|
|
|
log.error("查询单据对应的第三方往来单位信息异常", e);
|
|
|
|
log.error("查询单据对应的第三方往来单位信息异常", e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else if (bussinessLocalTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) {
|
|
|
|
} else if (bussinessLocalTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) {
|
|
|
|
//查询往来单位第三方系统对照编码
|
|
|
|
ThrCorpEntity thrCorpEntity = submitOrderUtils.toCorp(stockOrderEntity.getCorpId(), thirdId);
|
|
|
|
UnitMaintainEntity unitMaintainEntity = unitMaintainDao.selectThirdInfoByErpId(stockOrderEntity.getCorpId());
|
|
|
|
if (thrCorpEntity == null)
|
|
|
|
try {
|
|
|
|
return ResultVOUtils.error(500, "上传失败,往来单位未关联对应第三方产品编码!");
|
|
|
|
String thirdCorpId = (String) ReflectUtil.getFieldValue(unitMaintainEntity, unitMaintainEntity.getClass().getField(thirdId));
|
|
|
|
udiwmsOrderRequest.setCorpId(thrCorpEntity.getUnitId()); //往来单位编码,需转换为第三方系统的ID
|
|
|
|
udiwmsOrderRequest.setCorpId(thirdCorpId); //往来单位编码,需转换为第三方系统的ID
|
|
|
|
udiwmsOrderRequest.setCorpName(thrCorpEntity.getName()); //往来单位名称,需转换为第三方系统的名称
|
|
|
|
|
|
|
|
|
|
|
|
String thirdName = ThirdUtils.getThirdName(thirdId);
|
|
|
|
|
|
|
|
String thirdCorpName = (String) ReflectUtil.getFieldValue(unitMaintainEntity, unitMaintainEntity.getClass().getField(thirdName));
|
|
|
|
|
|
|
|
udiwmsOrderRequest.setCorpName(thirdCorpName); //往来单位名称,需转换为第三方系统的名称
|
|
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
|
|
|
log.error(e.getMessage(), e);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
InvWarehouseEntity invWarehouseEntity = invWarehouseDao.selectOneByCode(orderEntity.getFromSubInvCode());
|
|
|
|
InvWarehouseEntity invWarehouseEntity = invWarehouseDao.selectOneByCode(orderEntity.getFromSubInvCode());
|
|
|
@ -244,7 +236,7 @@ public class PhxyyClient {
|
|
|
|
} catch (Exception e) {
|
|
|
|
} catch (Exception e) {
|
|
|
|
log.error("查询第三方系统仓库异常", e);
|
|
|
|
log.error("查询第三方系统仓库异常", e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
udiwmsOrderRequest.setBillFlag(stockOrderEntity.getBillFlag()); //单据状态
|
|
|
|
udiwmsOrderRequest.setBillFlag("1");
|
|
|
|
//查询单据出入库类型
|
|
|
|
//查询单据出入库类型
|
|
|
|
String mainAction = bussinessTypeDao.selectInoutTypebByLocalAction(stockOrderEntity.getBillType());
|
|
|
|
String mainAction = bussinessTypeDao.selectInoutTypebByLocalAction(stockOrderEntity.getBillType());
|
|
|
|
if (ConstantType.TYPE_PUT.equals(mainAction)) {
|
|
|
|
if (ConstantType.TYPE_PUT.equals(mainAction)) {
|
|
|
@ -261,28 +253,31 @@ public class PhxyyClient {
|
|
|
|
UdiwmsOrderDetail item = new UdiwmsOrderDetail();
|
|
|
|
UdiwmsOrderDetail item = new UdiwmsOrderDetail();
|
|
|
|
BeanUtil.copyProperties(stockOrderDetailEntity, item);
|
|
|
|
BeanUtil.copyProperties(stockOrderDetailEntity, item);
|
|
|
|
if (StrUtil.isNotEmpty(stockOrderDetailEntity.getProductDate())) {
|
|
|
|
if (StrUtil.isNotEmpty(stockOrderDetailEntity.getProductDate())) {
|
|
|
|
item.setProductDate(DateUtil.formatExpireTime("20" + stockOrderDetailEntity.getProductDate()));
|
|
|
|
item.setProductDate(com.glxp.mipsdl.admin.util.DateUtil.formatExpireTime("20" + stockOrderDetailEntity.getProductDate()));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (StrUtil.isNotEmpty(stockOrderDetailEntity.getExpireDate())) {
|
|
|
|
if (StrUtil.isNotEmpty(stockOrderDetailEntity.getExpireDate())) {
|
|
|
|
item.setExpireDate(DateUtil.formatExpireTime("20" + stockOrderDetailEntity.getExpireDate()));
|
|
|
|
item.setExpireDate(com.glxp.mipsdl.admin.util.DateUtil.formatExpireTime("20" + stockOrderDetailEntity.getExpireDate()));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
item.setMeasname(udiRelevanceEntity.getMeasname());
|
|
|
|
item.setMeasname(udiRelevanceEntity.getMeasname());
|
|
|
|
item.setStandard(stockOrderDetailEntity.getSpec());
|
|
|
|
item.setStandard(stockOrderDetailEntity.getSpec());
|
|
|
|
item.setRegisterNo(stockOrderDetailEntity.getZczbhhzbapzbh());
|
|
|
|
item.setRegisterNo(stockOrderDetailEntity.getZczbhhzbapzbh());
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
String thirdProductId = (String) ReflectUtil.getFieldValue(udiRelevanceEntity, thirdId);
|
|
|
|
item.setPrice(stockOrderDetailEntity.getPrice());
|
|
|
|
item.setProductId(thirdProductId);
|
|
|
|
item.setFirstSalesInvNo(stockOrderDetailEntity.getFirstSalesInvNo());
|
|
|
|
String thirdName = ThirdUtils.getThirdName(thirdId);
|
|
|
|
item.setSecSalesInvNo(stockOrderDetailEntity.getSecSalesInvNo());
|
|
|
|
String thirdProductName = (String) ReflectUtil.getFieldValue(udiRelevanceEntity, thirdName);
|
|
|
|
item.setInvoiceDate(stockOrderDetailEntity.getInvoiceDate());
|
|
|
|
item.setProductName(thirdProductName);
|
|
|
|
item.setSecSalesListNo(stockOrderDetailEntity.getSecSalesListNo());
|
|
|
|
|
|
|
|
ThrProductsEntity thrProductsEntity = submitOrderUtils.toProduct(stockOrderDetailEntity, thirdId);
|
|
|
|
|
|
|
|
item.setProductId(thrProductsEntity.getCode());
|
|
|
|
|
|
|
|
item.setProductName(thrProductsEntity.getName());
|
|
|
|
items.add(item);
|
|
|
|
items.add(item);
|
|
|
|
} catch (Exception e) {
|
|
|
|
} catch (Exception e) {
|
|
|
|
log.error(e.getMessage(), e);
|
|
|
|
log.error(e.getMessage(), e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
udiwmsOrderRequest.setItem(items);
|
|
|
|
udiwmsOrderRequest.setItem(items);
|
|
|
|
BasicThirdSysDetailEntity basicThirdSysDetailEntity = basicThirdSysDetailDao.selectByKey("orderSubmitUrl", thirdSysConfig.getThirdSysConfig().getThirdId());
|
|
|
|
BasicThirdSysDetailEntity basicThirdSysDetailEntity = basicThirdSysDetailDao.selectByKey("orderSubmitUrl", thirdSysConfig.getThirdSysConfig().getThirdId());
|
|
|
|
|
|
|
|
|
|
|
|
//记录日志
|
|
|
|
//记录日志
|
|
|
|
StockOrderUploadLogEntity uploadLog = new StockOrderUploadLogEntity();
|
|
|
|
StockOrderUploadLogEntity uploadLog = new StockOrderUploadLogEntity();
|
|
|
|
uploadLog.setBillDate(DateUtil.parseDate(udiwmsOrderRequest.getBillDate()));
|
|
|
|
uploadLog.setBillDate(DateUtil.parseDate(udiwmsOrderRequest.getBillDate()));
|
|
|
|