Commit 7bb0be0701cec9342d8f49cb952377c9ec692bf2

Authored by 房远帅
1 parent bab22544

合同:库存合同锁价问题处理

... ... @@ -961,3 +961,5 @@ create table if not exists customer_visit_record(
961 961 create_time datetime default now() comment '创建时间',
962 962 update_time datetime default now() comment '更新时间'
963 963 );
  964 +
  965 +alter table tbl_purchase_order_line add column contract_distributor_line_id varchar(32) DEFAULT NULL comment '合同物料行ID';
... ...
... ... @@ -265,6 +265,11 @@ public class PurchaseOrderLine extends BaseEntity implements BaseDto {
265 265 private Boolean delFlag;
266 266
267 267 /**
  268 + * 合同物料行ID
  269 + */
  270 + private String contractDistributorLineId;
  271 +
  272 + /**
268 273 * 新增/删除/变更
269 274 */
270 275 @TableField(exist = false)
... ...
... ... @@ -731,6 +731,7 @@ public class ContractDistributorStandardServiceImpl extends
731 731 createPurchaseOrderLineVo.setSalesPrice(contractDistributorLine.getUnitPrice());
732 732 createPurchaseOrderLineVo.setDeliveryDate(contractDistributorLine.getDeliveryDate());
733 733 createPurchaseOrderLineVo.setShowOrder(contractDistributorLine.getShowOrder());
  734 + createPurchaseOrderLineVo.setContractDistributorLineId(contractDistributorLine.getId());
734 735 createPurchaseOrderLineVoList.add(createPurchaseOrderLineVo);
735 736 });
736 737 }
... ... @@ -755,6 +756,7 @@ public class ContractDistributorStandardServiceImpl extends
755 756 createPurchaseOrderLineVo.setSalesPrice(contractStdProcessingLine.getUnitPrice());
756 757 createPurchaseOrderLineVo.setDeliveryDate(contractStdProcessingLine.getDeliveryDate());
757 758 createPurchaseOrderLineVo.setShowOrder(contractStdProcessingLine.getShowOrder());
  759 + createPurchaseOrderLineVo.setContractDistributorLineId(contractStdProcessingLine.getId());
758 760 createPurchaseOrderLineVoList.add(createPurchaseOrderLineVo);
759 761 });
760 762 }
... ... @@ -1084,9 +1086,14 @@ public class ContractDistributorStandardServiceImpl extends
1084 1086
1085 1087 for (int index = 0; index < purchaseOrderLineList.size(); index++) {
1086 1088 PurchaseOrderLine oldLine = purchaseOrderLineList.get(index);
1087   - UpdateContractDistributorLineVo contractDistributorLine = vo.getContractDistributorLineList().get(index);
  1089 + Map<String, BigDecimal> map = vo.getContractDistributorLineList().stream()
  1090 + .collect(Collectors.toMap(
  1091 + UpdateContractDistributorLineVo::getId,
  1092 + UpdateContractDistributorLineVo::getUnitPrice,
  1093 + (existing, replacement) -> replacement // 保留后者
  1094 + ));
1088 1095 Wrapper<PurchaseOrderLine> updateOrderLineWrapper = Wrappers.lambdaUpdate(PurchaseOrderLine.class)
1089   - .set(PurchaseOrderLine::getSalesPrice, contractDistributorLine.getUnitPrice())
  1096 + .set(PurchaseOrderLine::getSalesPrice, map.get(oldLine.getContractDistributorLineId()))
1090 1097 .eq(PurchaseOrderLine::getId, oldLine.getId());
1091 1098 purchaseOrderLineService.update(updateOrderLineWrapper);
1092 1099 }
... ...
... ... @@ -128,6 +128,9 @@ public class PurchaseOrderLineServiceImpl extends BaseMpServiceImpl<PurchaseOrde
128 128 if (vo.getPackagingFee() != null) {
129 129 data.setPackagingFee(vo.getPackagingFee());
130 130 }
  131 + if (!StringUtil.isBlank(vo.getContractDistributorLineId())) {
  132 + data.setContractDistributorLineId(vo.getContractDistributorLineId());
  133 + }
131 134
132 135 getBaseMapper().insert(data);
133 136
... ...
... ... @@ -176,4 +176,10 @@ public class CreatePurchaseOrderLineVo implements BaseVo, Serializable {
176 176 @IsNumberPrecision(message = "包装费最多允许4位小数!", value = 4)
177 177 private BigDecimal packagingFee;
178 178
  179 + /**
  180 + * 合同物料行ID
  181 + */
  182 + @ApiModelProperty("合同物料行ID")
  183 + private String contractDistributorLineId;
  184 +
179 185 }
... ...
... ... @@ -26,6 +26,7 @@
26 26 <result column="assessment_exceeds_agreement" property="assessmentExceedsAgreement"/>
27 27 <result column="packaging_fee" property="packagingFee"/>
28 28 <result column="shipment" property="shipment"/>
  29 + <result column="contract_distributor_line_id" property="contractDistributorLineId"/>
29 30 <result column="create_by_id" property="createById"/>
30 31 <result column="create_by" property="createBy"/>
31 32 <result column="update_by_id" property="updateById"/>
... ... @@ -59,6 +60,7 @@
59 60 tb.assessment_exceeds_agreement,
60 61 tb.packaging_fee,
61 62 tb.shipment,
  63 + tb.contract_distributor_line_id,
62 64 tb.create_by_id,
63 65 tb.create_by,
64 66 tb.update_by_id,
... ... @@ -96,7 +98,7 @@
96 98 length, length_tol_pos, length_tol_neg,
97 99 status, quantity, sales_price, delivery_date, show_order,
98 100 assessment_exceeds_agreement, create_by_id, create_by, update_by_id, update_by,
99   - create_time, update_time, parent_id,packaging_fee
  101 + create_time, update_time, parent_id,packaging_fee,contract_distributor_line_id
100 102 ) VALUES
101 103 <foreach collection="specList" item="item" separator=",">
102 104 (
... ... @@ -106,7 +108,7 @@
106 108 #{item.length}, #{item.lengthTolPos}, #{item.lengthTolNeg},
107 109 #{item.status}, #{item.quantity}, #{item.salesPrice}, #{item.deliveryDate}, #{item.showOrder},
108 110 #{item.assessmentExceedsAgreement}, #{item.createById}, #{item.createBy}, #{item.updateById}, #{item.updateBy},
109   - #{item.createTime}, #{item.updateTime}, #{item.parentId},#{item.packagingFee}
  111 + #{item.createTime}, #{item.updateTime}, #{item.parentId},#{item.packagingFee},#{item.contractDistributorLineId}
110 112 )
111 113 </foreach>
112 114 </insert>
... ...