提交采购业务优化流程
This commit is contained in:
parent
6a08847659
commit
f95efa8b86
|
@ -69,8 +69,8 @@
|
||||||
<if test="ts != null and ts != ''"> and TS = #{ts} </if>
|
<if test="ts != null and ts != ''"> and TS = #{ts} </if>
|
||||||
-- and sts='Y'
|
-- and sts='Y'
|
||||||
</trim>
|
</trim>
|
||||||
<if test=" sort == null or sort == ''.toString() "> order by sorts asc</if>
|
<!---- <if test=" sort == null or sort == ''.toString() "> order by sorts asc</if>-->
|
||||||
<if test=" sort !='' and sort!=null and order !='' and order!=null ">order by ${sort} ${order}</if>
|
<!---- <if test=" sort !='' and sort!=null and order !='' and order!=null ">order by ${sort} ${order}</if>-->
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 查询符合条件的数量 -->
|
<!-- 查询符合条件的数量 -->
|
||||||
|
|
|
@ -30,7 +30,7 @@ import java.math.BigDecimal;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 代理品牌采购业务:(代理品牌采购)OFS采购入库单生成U8C采购订单
|
* 代理品牌采购业务:(代理品牌采购)OFS采购入库单生成U8C采购订单,根据业务流程,自动生成U8C采购入库单
|
||||||
*
|
*
|
||||||
* @Author:liuyang
|
* @Author:liuyang
|
||||||
* @Package:com.hzya.frame.plugin.lets.plugin.purchase
|
* @Package:com.hzya.frame.plugin.lets.plugin.purchase
|
||||||
|
@ -108,6 +108,49 @@ public class ProxyPurchaseWarehous extends PluginBaseEntity {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据单号查询
|
||||||
|
*
|
||||||
|
* @author liuyang
|
||||||
|
*/
|
||||||
|
public void startImplement(String startTime, String endTime) {
|
||||||
|
String threadNameStr = StrUtil.format("(代理品牌采购)OFS采购入库单生成U8C采购订单 售后入库单号", startTime, endTime);
|
||||||
|
logger.info(threadNameStr);
|
||||||
|
|
||||||
|
Thread thread = new Thread(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
try {
|
||||||
|
List<StockinOrderSearchResponse.StockinOrder> returnGoodHeaderDetailsDataDtoArrayList = new ArrayList<>();
|
||||||
|
QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
|
||||||
|
queryOfsSoSaleOutVo.setClosedAt_start(startTime);
|
||||||
|
queryOfsSoSaleOutVo.setClosedAt_end(endTime);
|
||||||
|
queryOfsSoSaleOutVo.setClientCode("LETS");
|
||||||
|
queryOfsSoSaleOutVo.setPageNo(1L);
|
||||||
|
queryOfsSoSaleOutVo.setPageSize(50L);
|
||||||
|
// queryOfsSoSaleOutVo.setCode(code);
|
||||||
|
queryOfsSoSaleOutVo.setInternalInstructionType("PURCHASE");
|
||||||
|
queryOfsSoSaleOutVo.setStatus(900L);
|
||||||
|
queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L);
|
||||||
|
logger.info("数据返回行数:{}", returnGoodHeaderDetailsDataDtoArrayList.size());
|
||||||
|
if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) {
|
||||||
|
getSet(returnGoodHeaderDetailsDataDtoArrayList);
|
||||||
|
} else {
|
||||||
|
logger.info("没有查询到任何数据!不需要同步");
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("startImplement方法抛出异常", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, threadNameStr);
|
||||||
|
thread.start();
|
||||||
|
try {
|
||||||
|
thread.join();
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("thread.join()异常", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据单号查询
|
* 根据单号查询
|
||||||
*
|
*
|
||||||
|
@ -128,7 +171,7 @@ public class ProxyPurchaseWarehous extends PluginBaseEntity {
|
||||||
queryOfsSoSaleOutVo.setPageSize(50L);
|
queryOfsSoSaleOutVo.setPageSize(50L);
|
||||||
queryOfsSoSaleOutVo.setCode(code);
|
queryOfsSoSaleOutVo.setCode(code);
|
||||||
queryOfsSoSaleOutVo.setInternalInstructionType("PURCHASE");
|
queryOfsSoSaleOutVo.setInternalInstructionType("PURCHASE");
|
||||||
queryOfsSoSaleOutVo.setStatus(900L);
|
// queryOfsSoSaleOutVo.setStatus(900L);
|
||||||
queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L);
|
queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L);
|
||||||
logger.info("数据返回行数:{}", returnGoodHeaderDetailsDataDtoArrayList.size());
|
logger.info("数据返回行数:{}", returnGoodHeaderDetailsDataDtoArrayList.size());
|
||||||
if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) {
|
if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) {
|
||||||
|
@ -232,8 +275,8 @@ public class ProxyPurchaseWarehous extends PluginBaseEntity {
|
||||||
BdCorpEntity bdCorpEntity = poOrderSonDto.getBdCorpEntity();//采购公司、收货公司
|
BdCorpEntity bdCorpEntity = poOrderSonDto.getBdCorpEntity();//采购公司、收货公司
|
||||||
BdDeptdocEntity bdDeptdocEntity = poOrderSonDto.getBdDeptdocEntity();//采购部门
|
BdDeptdocEntity bdDeptdocEntity = poOrderSonDto.getBdDeptdocEntity();//采购部门
|
||||||
BdPurorgEntity bdPurorgEntity = poOrderSonDto.getBdPurorgEntity();//采购组织
|
BdPurorgEntity bdPurorgEntity = poOrderSonDto.getBdPurorgEntity();//采购组织
|
||||||
BdCubasdocEntity bdCubasdocEntity = poOrderSonDto.getBdCubasdocEntity();
|
BdCubasdocEntity bdCubasdocEntity = poOrderSonDto.getBdCubasdocEntity();//客商基本档案-供应商
|
||||||
BdCumandocEntity bdCumandocEntity = poOrderSonDto.getBdCumandocEntity();//客商档案-供应商
|
BdCumandocEntity bdCumandocEntity = poOrderSonDto.getBdCumandocEntity();//客商管理档案-供应商
|
||||||
BdCalbodyEntity bdCalbodyEntity = poOrderSonDto.getBdCalbodyEntity();//收货库存组织
|
BdCalbodyEntity bdCalbodyEntity = poOrderSonDto.getBdCalbodyEntity();//收货库存组织
|
||||||
BdStordocEntity bdStordocEntity = poOrderSonDto.getBdStordocEntity();//收货仓库
|
BdStordocEntity bdStordocEntity = poOrderSonDto.getBdStordocEntity();//收货仓库
|
||||||
|
|
||||||
|
@ -252,6 +295,15 @@ public class ProxyPurchaseWarehous extends PluginBaseEntity {
|
||||||
poOrderParentDto.setDauditdate(generateBusinessDate);//审批日期
|
poOrderParentDto.setDauditdate(generateBusinessDate);//审批日期
|
||||||
poOrderParentDto.setDorderdate(generateBusinessDate);//订单日期
|
poOrderParentDto.setDorderdate(generateBusinessDate);//订单日期
|
||||||
poOrderParentDto.setDrevisiondate(generateBusinessDate);//修改日期
|
poOrderParentDto.setDrevisiondate(generateBusinessDate);//修改日期
|
||||||
|
//2024年8月21日 13:34:07 对比了手工建单和接口传单,发现接口传单少了这个:是否由销售订单协同生成、补货标志、是否已协同生成销售订单 默认为N
|
||||||
|
poOrderParentDto.setBsocooptome(false);//是否由销售订单协同生成
|
||||||
|
poOrderParentDto.setBisreplenish(false);//补货标志
|
||||||
|
poOrderParentDto.setBcooptoso(false);//是否已协同生成销售订单
|
||||||
|
poOrderParentDto.setCgiveinvoicevendor(bdCumandocEntity.getPkCumandoc());//发票方id
|
||||||
|
|
||||||
|
poOrderParentDto.setVdef17(ProfilesActiveConstant.sourceSystem1);//来源系统
|
||||||
|
poOrderParentDto.setVdef19(poOrderSonDto.getCode());//原单单号
|
||||||
|
poOrderParentDto.setVdef20(poOrderSonDto.getId());//原单主键
|
||||||
|
|
||||||
//采购订单明细行
|
//采购订单明细行
|
||||||
List<PoOrderChildrenDto> poOrderChildrenDtoList = new ArrayList<>();
|
List<PoOrderChildrenDto> poOrderChildrenDtoList = new ArrayList<>();
|
||||||
|
@ -260,6 +312,10 @@ public class ProxyPurchaseWarehous extends PluginBaseEntity {
|
||||||
StockinOrderSearchResponse.StockinOrder.StockinB stockinB = details.get(j);
|
StockinOrderSearchResponse.StockinOrder.StockinB stockinB = details.get(j);
|
||||||
OfsPoOrderDetails ofsPoOrderDetail = findOfsPoOrderDetail(ofsPoOrderDataDetails, stockinB);
|
OfsPoOrderDetails ofsPoOrderDetail = findOfsPoOrderDetail(ofsPoOrderDataDetails, stockinB);
|
||||||
|
|
||||||
|
//TODO 测试
|
||||||
|
stockinB.setReceivedQty("1");
|
||||||
|
ofsPoOrderDetail.setFulfillAmount("10");
|
||||||
|
|
||||||
//2024年8月20日 16:02:21 已经和妮姐、万万确认,采购公司和收货公司目前是一致的,暂时不用区分取数逻辑
|
//2024年8月20日 16:02:21 已经和妮姐、万万确认,采购公司和收货公司目前是一致的,暂时不用区分取数逻辑
|
||||||
BdInvmandocEntity bdInvmandocEntity = queryInventoryMan(stockinB, bdCorpEntity.getPkCorp());
|
BdInvmandocEntity bdInvmandocEntity = queryInventoryMan(stockinB, bdCorpEntity.getPkCorp());
|
||||||
String receivedQty = stockinB.getReceivedQty();//实收数量
|
String receivedQty = stockinB.getReceivedQty();//实收数量
|
||||||
|
@ -281,6 +337,10 @@ public class ProxyPurchaseWarehous extends PluginBaseEntity {
|
||||||
poOrderChildrenDto.setPk_arrvcorp(bdCorpEntity.getPkCorp());//收货公司
|
poOrderChildrenDto.setPk_arrvcorp(bdCorpEntity.getPkCorp());//收货公司
|
||||||
poOrderChildrenDto.setPk_arrvstoorg(bdCalbodyEntity.getPkCalbody());//收货库存组织
|
poOrderChildrenDto.setPk_arrvstoorg(bdCalbodyEntity.getPkCalbody());//收货库存组织
|
||||||
poOrderChildrenDto.setCwarehouseid(bdStordocEntity.getPkStordoc());//收货仓库
|
poOrderChildrenDto.setCwarehouseid(bdStordocEntity.getPkStordoc());//收货仓库
|
||||||
|
poOrderChildrenDto.setPk_reqcorp(bdCorpEntity.getPkCorp());//需求公司 *
|
||||||
|
// poOrderChildrenDto.setIisreplenish(false);//补货标识 *
|
||||||
|
poOrderChildrenDto.setCoperator("0001A110000000000U3D");//操作员id
|
||||||
|
// poOrderChildrenDto.setBreceiveplan(false);//存在到货计划
|
||||||
poOrderChildrenDtoList.add(poOrderChildrenDto);
|
poOrderChildrenDtoList.add(poOrderChildrenDto);
|
||||||
|
|
||||||
//2024年8月20日 16:00:03 已经和佳妮总确认,计划到货日期,不用进行传递
|
//2024年8月20日 16:00:03 已经和佳妮总确认,计划到货日期,不用进行传递
|
||||||
|
@ -294,8 +354,19 @@ public class ProxyPurchaseWarehous extends PluginBaseEntity {
|
||||||
|
|
||||||
Map<String, List<PoOrderParentChildrenDto>> stringStringMap = new HashMap<>();
|
Map<String, List<PoOrderParentChildrenDto>> stringStringMap = new HashMap<>();
|
||||||
stringStringMap.put("puordervo", poOrderParentChildrenDtoList);
|
stringStringMap.put("puordervo", poOrderParentChildrenDtoList);
|
||||||
sendU8CPoOrder(JSON.toJSONString(stringStringMap));
|
PoOrderHeadBodyDto poOrderHeadBodyDto = sendU8CPoOrder(JSON.toJSONString(stringStringMap));
|
||||||
logger.info("推送U8C代理品牌采购订单采购!采购订单主键:{} 采购订单编码:{}", null, null);
|
|
||||||
|
String corderid = null;
|
||||||
|
String vordercode = null;
|
||||||
|
PoOrderHeadDto parentvo = poOrderHeadBodyDto.getParentvo();
|
||||||
|
List<PoOrderBodyDto> childrenvo = poOrderHeadBodyDto.getChildrenvo();
|
||||||
|
if (parentvo != null) {
|
||||||
|
corderid = parentvo.getCorderid();
|
||||||
|
}
|
||||||
|
if (childrenvo != null) {
|
||||||
|
vordercode = parentvo.getVordercode();
|
||||||
|
}
|
||||||
|
logger.info("推送U8C代理品牌采购订单采购!U8C采购订单主键:{} U8C采购订单编码:{}", corderid, vordercode);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
logger.info("poOrderSonDto.size为0!");
|
logger.info("poOrderSonDto.size为0!");
|
||||||
|
@ -365,6 +436,8 @@ public class ProxyPurchaseWarehous extends PluginBaseEntity {
|
||||||
//2024年8月20日 14:47:55 丽知商城、OFS 供应商客商档案、传递到U8C的客商,
|
//2024年8月20日 14:47:55 丽知商城、OFS 供应商客商档案、传递到U8C的客商,
|
||||||
//其中自定义项1作为原系统编码,因此统一传到自定义项一,已经和大家确认好了,没有关系的,放心大胆传吧,宝贝
|
//其中自定义项1作为原系统编码,因此统一传到自定义项一,已经和大家确认好了,没有关系的,放心大胆传吧,宝贝
|
||||||
String shipFromCode = header.getShipFromCode();
|
String shipFromCode = header.getShipFromCode();
|
||||||
|
Assert.notNull(shipFromCode, "O供应商编码不能为空,没有办法完成业务逻辑,请配置供应商编码");
|
||||||
|
Assert.state(!"".equals(shipFromCode.trim()), "O供应商编码不能为空,没有办法完成业务逻辑,请配置供应商编码!");
|
||||||
BdCubasdocEntity bdCubasdocEntity = new BdCubasdocEntity();
|
BdCubasdocEntity bdCubasdocEntity = new BdCubasdocEntity();
|
||||||
bdCubasdocEntity.setDataSourceCode("lets_u8c");
|
bdCubasdocEntity.setDataSourceCode("lets_u8c");
|
||||||
bdCubasdocEntity.setDr(0L);
|
bdCubasdocEntity.setDr(0L);
|
||||||
|
@ -429,8 +502,9 @@ public class ProxyPurchaseWarehous extends PluginBaseEntity {
|
||||||
poOrderSonDto.setOfsPoOrderData(ofsPoOrderData);
|
poOrderSonDto.setOfsPoOrderData(ofsPoOrderData);
|
||||||
poOrderSonDto.setBdCalbodyEntity(bdCalbodyEntities.get(0));
|
poOrderSonDto.setBdCalbodyEntity(bdCalbodyEntities.get(0));
|
||||||
poOrderSonDto.setBdStordocEntity(bdStordocEntityList.get(0));
|
poOrderSonDto.setBdStordocEntity(bdStordocEntityList.get(0));
|
||||||
|
poOrderSonDto.setDetails(details);
|
||||||
|
|
||||||
BeanUtil.copyPropertiesV2(poOrderSonDto, header);
|
BeanUtil.copyPropertiesV2(header, poOrderSonDto);
|
||||||
poOrderSonDtoArrayList.add(poOrderSonDto);
|
poOrderSonDtoArrayList.add(poOrderSonDto);
|
||||||
}
|
}
|
||||||
//成功
|
//成功
|
||||||
|
@ -465,6 +539,8 @@ public class ProxyPurchaseWarehous extends PluginBaseEntity {
|
||||||
* @author liuyang
|
* @author liuyang
|
||||||
*/
|
*/
|
||||||
private String createGenerateBusinessDate(PoOrderSonDto poOrderSonDto) {
|
private String createGenerateBusinessDate(PoOrderSonDto poOrderSonDto) {
|
||||||
|
//TODO 测试
|
||||||
|
poOrderSonDto.setShipAt("2024-08-19");
|
||||||
if (poOrderSonDto != null && poOrderSonDto.getShipAt() != null) {
|
if (poOrderSonDto != null && poOrderSonDto.getShipAt() != null) {
|
||||||
String shipAt = poOrderSonDto.getShipAt();
|
String shipAt = poOrderSonDto.getShipAt();
|
||||||
String businessFormat = null;
|
String businessFormat = null;
|
||||||
|
@ -556,10 +632,13 @@ public class ProxyPurchaseWarehous extends PluginBaseEntity {
|
||||||
*/
|
*/
|
||||||
private OfsPoOrderDetails findOfsPoOrderDetail(List<OfsPoOrderDetails> ofsPoOrderDataDetails, StockinOrderSearchResponse.StockinOrder.StockinB stockinB) {
|
private OfsPoOrderDetails findOfsPoOrderDetail(List<OfsPoOrderDetails> ofsPoOrderDataDetails, StockinOrderSearchResponse.StockinOrder.StockinB stockinB) {
|
||||||
if (ofsPoOrderDataDetails != null && ofsPoOrderDataDetails.size() > 0 && stockinB != null) {
|
if (ofsPoOrderDataDetails != null && ofsPoOrderDataDetails.size() > 0 && stockinB != null) {
|
||||||
//TODO 2024年8月20日 23:33:11 先使用sku验证,然后O接口更新明细id,使用明细id匹配!
|
// 2024年8月20日 23:33:11 先使用sku验证,然后O接口更新明细id,使用明细id匹配!
|
||||||
// 2024年8月20日 23:36:04 使用sku匹配,在某种角度来说是错误的
|
// 2024年8月20日 23:36:04 使用sku匹配,在某种角度来说是错误的
|
||||||
|
// 2024年8月21日 14:23:02 O接口已经返回明细行主键,根据这个匹配
|
||||||
for (int i = 0; i < ofsPoOrderDataDetails.size(); i++) {
|
for (int i = 0; i < ofsPoOrderDataDetails.size(); i++) {
|
||||||
if (ofsPoOrderDataDetails.get(i).getSkuCode().equals(stockinB.getSkuCode())) {
|
Assert.notNull(ofsPoOrderDataDetails.get(i).getId(), "采购订单明细行主键不能为空!");
|
||||||
|
Assert.notNull(stockinB.getRefOrderDetailId(), "采购入库单明细行对应的关联采购订单的明细行主键不能为空!");
|
||||||
|
if (ofsPoOrderDataDetails.get(i).getId().equals(stockinB.getRefOrderDetailId())) {
|
||||||
return ofsPoOrderDataDetails.get(0);
|
return ofsPoOrderDataDetails.get(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -576,7 +655,7 @@ public class ProxyPurchaseWarehous extends PluginBaseEntity {
|
||||||
*
|
*
|
||||||
* @author liuyang
|
* @author liuyang
|
||||||
*/
|
*/
|
||||||
public SoSaleResultRootDto sendU8CPoOrder(String param) throws Exception {
|
public PoOrderHeadBodyDto sendU8CPoOrder(String param) throws Exception {
|
||||||
long startLong = System.currentTimeMillis();
|
long startLong = System.currentTimeMillis();
|
||||||
logger.info("代理品牌采购推送开始,推送参数:" + param + ",U8C_URL:" + ProfilesActiveConstant.U8C_URL);
|
logger.info("代理品牌采购推送开始,推送参数:" + param + ",U8C_URL:" + ProfilesActiveConstant.U8C_URL);
|
||||||
String result = HttpRequest.post(ProfilesActiveConstant.U8C_URL).header("appId", "800037")//头信息,多个头信息多次调用此方法即可
|
String result = HttpRequest.post(ProfilesActiveConstant.U8C_URL).header("appId", "800037")//头信息,多个头信息多次调用此方法即可
|
||||||
|
@ -590,22 +669,27 @@ public class ProxyPurchaseWarehous extends PluginBaseEntity {
|
||||||
long endLong = System.currentTimeMillis();
|
long endLong = System.currentTimeMillis();
|
||||||
logger.info("U8C采购订单接口请求耗时:" + (endLong - startLong));
|
logger.info("U8C采购订单接口请求耗时:" + (endLong - startLong));
|
||||||
|
|
||||||
|
//2024年8月21日 13:17:57 如果结果返回为null,则赋予"",后面的处理逻辑能满足需求
|
||||||
|
if (result == null) {
|
||||||
|
result = "";
|
||||||
|
}
|
||||||
|
|
||||||
JSONObject jsonObject = JSON.parseObject(result);
|
JSONObject jsonObject = JSON.parseObject(result);
|
||||||
result = String.valueOf(jsonObject.get("attribute"));
|
result = String.valueOf(jsonObject.get("attribute"));
|
||||||
|
|
||||||
boolean isSuccess = false;
|
boolean isSuccess = false;
|
||||||
SoSaleResultRootDto soSaleResultRootDto = null;
|
PoOrderHeadBodyDto poOrderHeadBodyDto = null;
|
||||||
if (result != null && !"".equals(result)) {
|
if (result != null && !"".equals(result)) {
|
||||||
ReusltStrDto reusltStrDto = JSON.parseObject(result, ReusltStrDto.class);
|
ReusltStrDto reusltStrDto = JSON.parseObject(result, ReusltStrDto.class);
|
||||||
if ("success".equals(reusltStrDto.getStatus())) {
|
if ("success".equals(reusltStrDto.getStatus())) {
|
||||||
soSaleResultRootDto = resultDataHandle(reusltStrDto.getData());
|
poOrderHeadBodyDto = resultDataHandle(reusltStrDto.getData());
|
||||||
isSuccess = true;
|
isSuccess = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!isSuccess) {
|
if (!isSuccess) {
|
||||||
Assert.state(false, "代理品牌采购业务推送U8C采购订单失败 接口返回结果:{}", result);
|
Assert.state(false, "代理品牌采购业务推送U8C采购订单失败 接口返回结果:{}", result);
|
||||||
}
|
}
|
||||||
return soSaleResultRootDto;
|
return poOrderHeadBodyDto;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -613,17 +697,16 @@ public class ProxyPurchaseWarehous extends PluginBaseEntity {
|
||||||
*
|
*
|
||||||
* @author liuyang
|
* @author liuyang
|
||||||
*/
|
*/
|
||||||
private SoSaleResultRootDto resultDataHandle(String resultData) {
|
private PoOrderHeadBodyDto resultDataHandle(String resultData) {
|
||||||
try {
|
try {
|
||||||
if (resultData != null && !"".equals(resultData)) {
|
if (resultData != null && !"".equals(resultData)) {
|
||||||
if (resultData.contains("[")) {
|
if (resultData.contains("[")) {
|
||||||
resultData = resultData.substring(1, resultData.length() - 1);
|
resultData = resultData.substring(1, resultData.length() - 1);
|
||||||
}
|
}
|
||||||
return JSON.parseObject(resultData, SoSaleResultRootDto.class);
|
return JSON.parseObject(resultData, PoOrderHeadBodyDto.class);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
logger.error("resultDataHandle方法解析返回参数失败的错误", e);
|
||||||
logger.error("解析返回参数失败的错误", e);
|
|
||||||
//如果解析失败,记录原因,但是不能影响结果的记录
|
//如果解析失败,记录原因,但是不能影响结果的记录
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|
|
@ -416,6 +416,8 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
|
||||||
saleorderRequestParentDto.setNdiscountrate("100.000000");//整单折扣
|
saleorderRequestParentDto.setNdiscountrate("100.000000");//整单折扣
|
||||||
saleorderRequestParentDto.setPk_corp(bdCorpEntity.getPkCorp());//公司id
|
saleorderRequestParentDto.setPk_corp(bdCorpEntity.getPkCorp());//公司id
|
||||||
|
|
||||||
|
saleorderRequestParentDto.setVdef17(ProfilesActiveConstant.sourceSystem1);//来源系统
|
||||||
|
|
||||||
//原单单号、原单主键
|
//原单单号、原单主键
|
||||||
saleorderRequestParentDto.setVdef19(header.getCode());
|
saleorderRequestParentDto.setVdef19(header.getCode());
|
||||||
saleorderRequestParentDto.setVdef20(header.getId());
|
saleorderRequestParentDto.setVdef20(header.getId());
|
||||||
|
|
|
@ -400,6 +400,7 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
||||||
saleorderRequestParentDto.setDapprovedate(generateBusinessDate);//审核日期
|
saleorderRequestParentDto.setDapprovedate(generateBusinessDate);//审核日期
|
||||||
saleorderRequestParentDto.setNdiscountrate("100.000000");//整单折扣
|
saleorderRequestParentDto.setNdiscountrate("100.000000");//整单折扣
|
||||||
saleorderRequestParentDto.setPk_corp(bdCorpEntity.getPkCorp());//公司id
|
saleorderRequestParentDto.setPk_corp(bdCorpEntity.getPkCorp());//公司id
|
||||||
|
saleorderRequestParentDto.setVdef17(ProfilesActiveConstant.sourceSystem1);//来源系统
|
||||||
|
|
||||||
//汇总单号=汇总维度
|
//汇总单号=汇总维度
|
||||||
saleorderRequestParentDto.setVdef18(keyGroup);
|
saleorderRequestParentDto.setVdef18(keyGroup);
|
||||||
|
|
|
@ -401,6 +401,7 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
|
||||||
saleorderRequestParentDto.setDapprovedate(generateBusinessDate);//审核日期
|
saleorderRequestParentDto.setDapprovedate(generateBusinessDate);//审核日期
|
||||||
saleorderRequestParentDto.setNdiscountrate("100.000000");//整单折扣
|
saleorderRequestParentDto.setNdiscountrate("100.000000");//整单折扣
|
||||||
saleorderRequestParentDto.setPk_corp(bdCorpEntity.getPkCorp());//公司id
|
saleorderRequestParentDto.setPk_corp(bdCorpEntity.getPkCorp());//公司id
|
||||||
|
saleorderRequestParentDto.setVdef17(ProfilesActiveConstant.sourceSystem1);//来源系统
|
||||||
|
|
||||||
//平台
|
//平台
|
||||||
saleorderRequestParentDto.setPk_defdoc2(platformArchives.getPkDefdoc());
|
saleorderRequestParentDto.setPk_defdoc2(platformArchives.getPkDefdoc());
|
||||||
|
|
|
@ -412,6 +412,7 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
//平台
|
//平台
|
||||||
saleorderRequestParentDto.setPk_defdoc2(platformArchives.getPkDefdoc());
|
saleorderRequestParentDto.setPk_defdoc2(platformArchives.getPkDefdoc());
|
||||||
saleorderRequestParentDto.setVdef2(platformArchives.getDocname());
|
saleorderRequestParentDto.setVdef2(platformArchives.getDocname());
|
||||||
|
saleorderRequestParentDto.setVdef17(ProfilesActiveConstant.sourceSystem1);//来源系统
|
||||||
|
|
||||||
//TODO 2024年8月8日 17:17:58 店铺档案自定义项1,先不传,后续维护好之后再传!
|
//TODO 2024年8月8日 17:17:58 店铺档案自定义项1,先不传,后续维护好之后再传!
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,52 @@
|
||||||
|
package com.hzya.frame.plugin.lets.u8cdto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author:liuyang
|
||||||
|
* @Package:com.hzya.frame.plugin.lets.u8cdto
|
||||||
|
* @Project:kangarooDataCenterV3
|
||||||
|
* @name:PoOrderHeadDto
|
||||||
|
* @Date:2024/8/21 12:00
|
||||||
|
* @Filename:PoOrderHeadDto
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class PoOrderBodyDto {
|
||||||
|
private String ccurrencytypeid;
|
||||||
|
private String termid;
|
||||||
|
private String ccurrencytype_name;
|
||||||
|
private String cmangid;
|
||||||
|
private String invcode;
|
||||||
|
private String cmang_name;
|
||||||
|
private String cwarehouseid;
|
||||||
|
private String pk_arrvstoorg;
|
||||||
|
private String pk_invoicecorp;
|
||||||
|
private String unitcode;
|
||||||
|
private String invoicecorp_name;
|
||||||
|
private String pk_arrvcorp;
|
||||||
|
private String pk_corp;
|
||||||
|
private String corp_name;
|
||||||
|
private String corder_bid;
|
||||||
|
private String corderid;
|
||||||
|
private String crowno;
|
||||||
|
private String nexchangeotobrate;
|
||||||
|
private String nmoney;
|
||||||
|
private String nordernum;
|
||||||
|
private String norgnettaxprice;
|
||||||
|
private String norgtaxprice;
|
||||||
|
private String noriginalcurmny;
|
||||||
|
private String noriginalcurprice;
|
||||||
|
private String noriginalnetprice;
|
||||||
|
private String noriginaltaxmny;
|
||||||
|
private String noriginaltaxpricemny;
|
||||||
|
private String ntaxmny;
|
||||||
|
private String ntaxpricemny;
|
||||||
|
private String ntaxrate;
|
||||||
|
private String ts;
|
||||||
|
private String ndiscountrate;
|
||||||
|
private String iisactive;
|
||||||
|
private String idiscounttaxtype;
|
||||||
|
private String forderrowstatus;
|
||||||
|
private String cbaseid;
|
||||||
|
private String breceiveplan;
|
||||||
|
}
|
|
@ -100,4 +100,7 @@ public class PoOrderChildrenDto {
|
||||||
private String vmemo;
|
private String vmemo;
|
||||||
private String vostatus;
|
private String vostatus;
|
||||||
private String vproducenum;
|
private String vproducenum;
|
||||||
|
private String pk_reqcorp;
|
||||||
|
private Boolean iisreplenish;
|
||||||
|
private Boolean breceiveplan;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
package com.hzya.frame.plugin.lets.u8cdto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author:liuyang
|
||||||
|
* @Package:com.hzya.frame.plugin.lets.u8cdto
|
||||||
|
* @Project:kangarooDataCenterV3
|
||||||
|
* @name:PoOrderHeadDto
|
||||||
|
* @Date:2024/8/21 12:00
|
||||||
|
* @Filename:PoOrderHeadDto
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class PoOrderHeadBodyDto {
|
||||||
|
private PoOrderHeadDto parentvo;
|
||||||
|
private List<PoOrderBodyDto> childrenvo;
|
||||||
|
}
|
|
@ -0,0 +1,54 @@
|
||||||
|
package com.hzya.frame.plugin.lets.u8cdto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author:liuyang
|
||||||
|
* @Package:com.hzya.frame.plugin.lets.u8cdto
|
||||||
|
* @Project:kangarooDataCenterV3
|
||||||
|
* @name:PoOrderHeadDto
|
||||||
|
* @Date:2024/8/21 12:00
|
||||||
|
* @Filename:PoOrderHeadDto
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class PoOrderHeadDto {
|
||||||
|
private String ccurrencytypeid;
|
||||||
|
private String currtype_code;
|
||||||
|
private String currtype_name;
|
||||||
|
private String nexchangeotobrate;
|
||||||
|
private String pk_corp;
|
||||||
|
private String unitcode;
|
||||||
|
private String corp_name;
|
||||||
|
private String cbiztype;
|
||||||
|
private String busicode;
|
||||||
|
private String cbiztype_name;
|
||||||
|
private String cpurorganization;
|
||||||
|
private String code;
|
||||||
|
private String cpurorganization_name;
|
||||||
|
private String cdeptid;
|
||||||
|
private String deptcode;
|
||||||
|
private String cdept_name;
|
||||||
|
private String cauditpsn;
|
||||||
|
private String user_code;
|
||||||
|
private String cauditpsn_name;
|
||||||
|
private String coperator;
|
||||||
|
private String coperator_name;
|
||||||
|
private String corderid;
|
||||||
|
private String dauditdate;
|
||||||
|
private String dorderdate;
|
||||||
|
private String forderstatus;
|
||||||
|
private String vordercode;
|
||||||
|
private String ts;
|
||||||
|
private String nversion;
|
||||||
|
private String taudittime;
|
||||||
|
private String tmaketime;
|
||||||
|
private String breturn;
|
||||||
|
private String bislatest;
|
||||||
|
private String cvendormangid;
|
||||||
|
private String custcode;
|
||||||
|
private String cvendormang_name;
|
||||||
|
private String bisreplenish;
|
||||||
|
private String cvendorbaseid;
|
||||||
|
private String drevisiondate;
|
||||||
|
private String vdef17;
|
||||||
|
}
|
|
@ -12,12 +12,12 @@ import lombok.Data;
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class PoOrderParentDto {
|
public class PoOrderParentDto {
|
||||||
private String bcooptoso;
|
private Boolean bcooptoso;
|
||||||
private String bislatest;
|
private String bislatest;
|
||||||
private String bisreplenish;
|
private Boolean bisreplenish;
|
||||||
private String bpubtoec;
|
private String bpubtoec;
|
||||||
private String breturn;
|
private String breturn;
|
||||||
private String bsocooptome;
|
private Boolean bsocooptome;
|
||||||
private String caccountbankid;
|
private String caccountbankid;
|
||||||
private String caccountyear;
|
private String caccountyear;
|
||||||
private String cauditpsn;
|
private String cauditpsn;
|
||||||
|
@ -91,4 +91,5 @@ public class PoOrderParentDto {
|
||||||
private String vdef9;
|
private String vdef9;
|
||||||
private String vmemo;
|
private String vmemo;
|
||||||
private String vordercode;
|
private String vordercode;
|
||||||
}
|
private String cgiveinvoicevendor;
|
||||||
|
}
|
|
@ -27,7 +27,7 @@ public class ProxyPurchaseWarehousTest {
|
||||||
@Test
|
@Test
|
||||||
public void startImplement() {
|
public void startImplement() {
|
||||||
try {
|
try {
|
||||||
proxyPurchaseWarehous.startImplement("LETS-RE2024010200000001");
|
proxyPurchaseWarehous.startImplement("LETS-RE2024082000000001");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
@ -37,7 +37,7 @@ public class ProxyPurchaseWarehousTest {
|
||||||
public void startImplement2() {
|
public void startImplement2() {
|
||||||
try {
|
try {
|
||||||
//2024年8月20日 16:17:24 测试查询OFS采购订单
|
//2024年8月20日 16:17:24 测试查询OFS采购订单
|
||||||
proxyPurchaseWarehous.queryOfsPoOrder("LETS-PO2024010200000001");
|
proxyPurchaseWarehous.queryOfsPoOrder("LETS-PO2024081400000002");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue