来料加工

This commit is contained in:
潘荣晟
2026-02-27 14:42:34 +08:00
parent da974408f7
commit 72f38c5075
8 changed files with 110 additions and 35 deletions

View File

@@ -126,5 +126,7 @@ public class OriginalMaterialProcessingDetailPageReqVO extends PageParam {
@Schema(description = "税率") @Schema(description = "税率")
private BigDecimal taxRte; private BigDecimal taxRte;
@Schema(description = "价格条件明细")
private String priceConditionDetail;
} }

View File

@@ -156,5 +156,10 @@ public class OriginalMaterialProcessingDetailRespVO {
private String metalAcctasscatGroup; private String metalAcctasscatGroup;
@Schema(description = "税率") @Schema(description = "税率")
@ExcelProperty("税率")
private BigDecimal taxRte; private BigDecimal taxRte;
@Schema(description = "价格条件明细")
@ExcelProperty("价格条件明细")
private String priceConditionDetail;
} }

View File

@@ -124,4 +124,6 @@ public class OriginalMaterialProcessingDetailSaveReqVO {
@Schema(description = "税率") @Schema(description = "税率")
private BigDecimal taxRte; private BigDecimal taxRte;
@Schema(description = "价格条件明细")
private String priceConditionDetail;
} }

View File

@@ -19,9 +19,10 @@ public class OriginalMaterialProcessingPageReqVO extends PageParam {
@Schema(description = "订单号") @Schema(description = "订单号")
private String systemOrderNumber; private String systemOrderNumber;
@Schema(description = "公司编码;推送ERP必须") @Schema(description = "公司名称", example = "芋艿")
private String cpName; private String cpName;
@Schema(description = "公司编码;推送ERP必须")
private String cpNum;
@Schema(description = "客商编码;推送ERP必须") @Schema(description = "客商编码;推送ERP必须")
private String supplierNumber; private String supplierNumber;

View File

@@ -170,6 +170,8 @@ public class OriginalMaterialProcessingSaveReqVO {
private String saleOrgzCd; private String saleOrgzCd;
@Schema(description = "付款方名称") @Schema(description = "付款方名称")
private String payerName; private String payerName;
@Schema(description = "付款方编码")
private String payerNum;
@Schema(description = "销售组织名称") @Schema(description = "销售组织名称")
private String saleOrgzName; private String saleOrgzName;
@Schema(description = "分销聚道编码") @Schema(description = "分销聚道编码")

View File

@@ -213,4 +213,7 @@ public class OriginalMaterialProcessingDetailDO extends BusinessBaseDO {
*/ */
@TableField("TAX_RTE") @TableField("TAX_RTE")
private BigDecimal taxRte; private BigDecimal taxRte;
@TableField("PRC_CND_DTL")
private String priceConditionDetail;
} }

View File

@@ -1,6 +1,8 @@
package com.zt.plat.module.contractorder.service.originalmaterialprocessing; package com.zt.plat.module.contractorder.service.originalmaterialprocessing;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONException;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -127,7 +129,7 @@ public class OriginalMaterialProcessingServiceImplImpl implements OriginalMateri
} }
private String generateOrderNumber(String materialType) { private String generateOrderNumber(String materialType) {
return sequenceApi.getNextSequence("ENTRUST_ORDER_NUMBER", null, null).getData(); return sequenceApi.getNextSequence("OEM_CMT_ORDER_NO", null, null).getData();
} }
@@ -455,6 +457,7 @@ public class OriginalMaterialProcessingServiceImplImpl implements OriginalMateri
// head.setTaxclass(1); // head.setTaxclass(1);
erpSalesOrderSaveReqVO.setHead(head); erpSalesOrderSaveReqVO.setHead(head);
List<ErpSalesOrderSaveReqVO.Item> items = new ArrayList<>(); List<ErpSalesOrderSaveReqVO.Item> items = new ArrayList<>();
List<String> conds = new ArrayList<>();
originalMaterialProcessingDetailDOS.forEach(detail -> { originalMaterialProcessingDetailDOS.forEach(detail -> {
ErpSalesOrderSaveReqVO.Item item = new ErpSalesOrderSaveReqVO.Item(); ErpSalesOrderSaveReqVO.Item item = new ErpSalesOrderSaveReqVO.Item();
item.setItem_categ(String.valueOf(detail.getLineNumber())); item.setItem_categ(String.valueOf(detail.getLineNumber()));
@@ -469,7 +472,23 @@ public class OriginalMaterialProcessingServiceImplImpl implements OriginalMateri
item.setShip_point(detail.getShippingPlace()); // 装运地点 item.setShip_point(detail.getShippingPlace()); // 装运地点
item.setAcct_assgt(detail.getMetalAcctasscatGroup());//todo 物料科目分配组 item.setAcct_assgt(detail.getMetalAcctasscatGroup());//todo 物料科目分配组
items.add(item); items.add(item);
//conds
String priceConditionDetail = detail.getPriceConditionDetail();
if (priceConditionDetail == null || priceConditionDetail.trim().isEmpty()) {
return; // 空字符串直接跳过
}
try {
// 解析 JSON 数组,捕获格式错误
List<String> strList = JSONArray.parseArray(priceConditionDetail, String.class);
// List<JSONArray> jsonArrays = JSONArray.parseArray(priceConditionDetail, JSONArray.class);
conds.addAll(strList);
} catch (JSONException e) {
// 处理解析失败(例如打日志、忽略错误数据等)
log.error("解析价格条件详情失败,内容:{}", priceConditionDetail, e);
}
}); });
erpSalesOrderSaveReqVO.setConds(conds);
} }
@Override @Override
@@ -483,7 +502,7 @@ public class OriginalMaterialProcessingServiceImplImpl implements OriginalMateri
throw exception(ORIGINAL_MATERIAL_PROCESSING_DO_NOT_EXISTS); throw exception(ORIGINAL_MATERIAL_PROCESSING_DO_NOT_EXISTS);
} }
if (originalMaterialProcessingDO.getOrderSAPNumber()!=null) { if (originalMaterialProcessingDO.getOrderSAPNumber() != null) {
throw exception(ORDER_ALREADY_SUBMIT); throw exception(ORDER_ALREADY_SUBMIT);
} }