refactor(outsourc):优化委外入库单创建逻辑- 更新原单主键设置逻辑,使用OFS采购订单主键替代O采购入库单主键- 移除BOM版本号设置,避免因版本号问题导致的错误

- 优化JSON序列化配置,确保空值正确处理
- 调整部分字段注释和命名,提高代码可读性
This commit is contained in:
liuy 2025-01-22 17:42:21 +08:00
parent b4f7dd0d2d
commit 79e17fd46f
2 changed files with 11 additions and 5 deletions

View File

@ -6,6 +6,7 @@ import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpRequest;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.hzya.frame.base.PluginBaseEntity;
import com.hzya.frame.beanutil.BeanUtil;
import com.hzya.frame.plugin.lets.constant.OverallConstant;
@ -460,8 +461,10 @@ public class ConsignmachiningIn extends PluginBaseEntity {
poOrderParentDto.setPk_defdoc3(bdRdclEntity.getPkRdcl());//收发类别
poOrderParentDto.setVdef3(bdRdclEntity.getRdname());
poOrderParentDto.setVdef17(ProfilesActiveConstant.sourceSystem1);//来源系统
poOrderParentDto.setVdef19(consignmachiningInSonDto.getCode());//原单单号
poOrderParentDto.setVdef20(consignmachiningInSonDto.getId());//原单主键
poOrderParentDto.setVdef19(consignmachiningInSonDto.getCode());//原单单号O采购入库单单号
// poOrderParentDto.setVdef20(consignmachiningInSonDto.getId());//原单主键O采购入库单主键
//2025年1月22日 17:33:43 原单主键使用OFS采购订单主键
poOrderParentDto.setVdef20(ofsPoOrderDataHeader.getId());
//委外入库表头明细行
List<ScorderBodyDto> scorderBodyDtoArrayList = new ArrayList<>();
@ -494,9 +497,11 @@ public class ConsignmachiningIn extends PluginBaseEntity {
scorderBodyDto.setNordernum(stockinB.getReceivedQty());//数量
scorderBodyDto.setNoriginalnetprice(noriginalcurprice.stripTrailingZeros().toPlainString());//净单价
scorderBodyDto.setCwarehouseid(bdStordocEntity.getPkStordoc());//仓库
scorderBodyDto.setBomversion(bomVersion.get(0).getVersion());//BOM版本
// scorderBodyDto.setBomversion(bomVersion.get(0).getVersion());//BOM版本
scorderBodyDto.setBomversion(null);//BOM版本
scorderBodyDto.setDplanarrvdate(generateBusinessDate);//计划到货日期
// scorderBodyDto.setVdef16(bomVersion.get(0).getVersion());//版本号
// scorderBodyDto.setVdef16(null);//版本号
scorderBodyDtoArrayList.add(scorderBodyDto);
}
@ -508,7 +513,7 @@ public class ConsignmachiningIn extends PluginBaseEntity {
Map<String, List<ScorderDto>> stringStringMap = new HashMap<>();
stringStringMap.put("OrderVO", scorderDtoArrayList);
ScOrderResultDto scOrderResultDto = sendU8cScorder(JSON.toJSONString(stringStringMap));
ScOrderResultDto scOrderResultDto = sendU8cScorder(JSON.toJSONString(stringStringMap, SerializerFeature.WriteMapNullValue));
String cgeneralhid = null;
String vbillcode = null;

View File

@ -569,6 +569,7 @@ public class ConsignmachiningInReturn extends PluginBaseEntity {
}
//2024年8月30日 13:28:46 查询原委外订单(取的是钉钉推送到U8C的委外订单)查询逻辑OFS采退出库单 -> OFS采退订单 -> OFS采购订单
//得到OFS采购订单
OfsPoOrderData ofsPoOrder = queryOfsPoOrder(purchaseReturnOrder);
//2024年8月30日 13:35:16 根据OFS采购订单查询OFS委外订单
@ -990,7 +991,7 @@ public class ConsignmachiningInReturn extends PluginBaseEntity {
/**
* 查询委外订单表头对象
*
* @param ofsPoOrderId OFS采退订单主键
* @param ofsPoOrderId OFS采订单主键
* @author liuyang
*/
private ScOrderEntity queryScOrder(String ofsPoOrderId) {