ソースを参照

采购变更问题处理

yzc 1 年間 前
コミット
f6ad755970

+ 3 - 15
hx-sale/src/main/java/com/fjhx/sale/flow/EhsdPurchaseUpdateFlow.java

@@ -196,20 +196,14 @@ public class EhsdPurchaseUpdateFlow extends FlowDelegate {
 
         //先将当前合同id 以及 当前合同关联数据的合同id 改为临时id
         long tempId = IdWorker.getId();
-//        ehsdPurchaseService.update(q -> q.eq(BaseIdPo::getId, businessId).set(BaseIdPo::getId, tempId));
-        ehsdPurchaseService.updatePurchaseId(businessId,tempId,SecurityUtils.getUserId());
+        ehsdPurchaseService.updatePurchaseId(businessId,tempId,SecurityUtils.getUserId(),null);
         ehsdPurchaseProductService.update(q -> q.eq(EhsdPurchaseProduct::getPurchaseId, businessId).set(EhsdPurchaseProduct::getPurchaseId, tempId));
         ehsdPurchaseProjectService.update(q -> q.eq(EhsdPurchaseProject::getPurchaseId, businessId).set(EhsdPurchaseProject::getPurchaseId, tempId));
         ehsdPurchaseArrivalService.update(q -> q.eq(EhsdPurchaseArrival::getPurchaseId, businessId).set(EhsdPurchaseArrival::getPurchaseId, tempId));
 
 
         //将旧合同的id改为新合同id
-        ehsdPurchaseService.updatePurchaseId(oldPurchaseId,businessId,SecurityUtils.getUserId());
-        ehsdPurchaseService.update(q -> q
-                .eq(BaseIdPo::getId, oldPurchaseId)
-                .set(BasePo::getUpdateTime, new Date())
-                .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
-        );
+        ehsdPurchaseService.updatePurchaseId(oldPurchaseId,businessId,SecurityUtils.getUserId(),null);
         ehsdPurchaseProductService.update(q -> q
                 .eq(EhsdPurchaseProduct::getPurchaseId, oldPurchaseId)
                 .set(EhsdPurchaseProduct::getPurchaseId, businessId)
@@ -229,13 +223,7 @@ public class EhsdPurchaseUpdateFlow extends FlowDelegate {
                 .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
         );
         //将新合同id改为旧合同id
-        ehsdPurchaseService.updatePurchaseId(tempId,oldPurchaseId,SecurityUtils.getUserId());
-        ehsdPurchaseService.update(q -> q
-                .eq(BaseIdPo::getId, tempId)
-                .set(EhsdPurchase::getOldPurchaseId, businessId)
-                .set(BasePo::getUpdateTime, new Date())
-                .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
-        );
+        ehsdPurchaseService.updatePurchaseId(tempId,oldPurchaseId,SecurityUtils.getUserId(),businessId);
         ehsdPurchaseProductService.update(q -> q
                 .eq(EhsdPurchaseProduct::getPurchaseId, tempId)
                 .set(EhsdPurchaseProduct::getPurchaseId, oldPurchaseId)

+ 2 - 2
hx-sale/src/main/java/com/fjhx/sale/mapper/purchase/EhsdPurchaseMapper.java

@@ -13,7 +13,7 @@ import org.apache.ibatis.annotations.Param;
  * ehsd采购表 Mapper 接口
  * </p>
  *
- * @author 
+ * @author
  * @since 2023-05-17
  */
 public interface EhsdPurchaseMapper extends BaseMapper<EhsdPurchase> {
@@ -23,5 +23,5 @@ public interface EhsdPurchaseMapper extends BaseMapper<EhsdPurchase> {
      */
     Page<EhsdPurchaseVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<EhsdPurchase> wrapper);
 
-    boolean updatePurchaseId(Long id, long newId, Long userId);
+    boolean updatePurchaseId(Long id, Long newId, Long userId, Long oldPurchaseId);
 }

+ 1 - 1
hx-sale/src/main/java/com/fjhx/sale/service/purchase/EhsdPurchaseService.java

@@ -56,5 +56,5 @@ public interface EhsdPurchaseService extends BaseService<EhsdPurchase> {
      */
     List<EhsdPurchaseVo> getListBySupplyId(String supplyId);
 
-    boolean updatePurchaseId(Long businessId, long tempId, Long userId);
+    boolean updatePurchaseId(Long id, Long newId, Long userId, Long oldPurchaseId);
 }

+ 5 - 4
hx-sale/src/main/java/com/fjhx/sale/service/purchase/impl/EhsdPurchaseServiceImpl.java

@@ -129,7 +129,7 @@ public class EhsdPurchaseServiceImpl extends ServiceImpl<EhsdPurchaseMapper, Ehs
         wrapper.ne(EhsdPurchase::getStatus, FlowStatusEnum1.UPDATE.getKey());
 
         //不显示 在审批中 但是 有历史合同id的数据
-        wrapper.not(q->q
+        wrapper.not(q -> q
                 .eq(EhsdPurchase::getStatus, FlowStatusEnum1.UNDER_REVIEW.getKey())
                 .isNotNull("t1.old_purchase_id")
         );
@@ -244,6 +244,7 @@ public class EhsdPurchaseServiceImpl extends ServiceImpl<EhsdPurchaseMapper, Ehs
 
     /**
      * 详情
+     *
      * @param id
      * @return
      */
@@ -306,7 +307,7 @@ public class EhsdPurchaseServiceImpl extends ServiceImpl<EhsdPurchaseMapper, Ehs
         DynamicDataSourceContextHolder.push(SourceConstant.BASE);
         FlowExample flowExample = flowExampleService.getOne(Wrappers.<FlowExample>query().lambda().eq(FlowExample::getBusinessId, id));
         // 赋值流程id
-        if(ObjectUtil.isNotEmpty(flowExample)) {
+        if (ObjectUtil.isNotEmpty(flowExample)) {
             result.setFlowExampleId(flowExample.getId());
         }
 
@@ -392,8 +393,8 @@ public class EhsdPurchaseServiceImpl extends ServiceImpl<EhsdPurchaseMapper, Ehs
      * 采购id修改
      */
     @Override
-    public boolean updatePurchaseId(Long id, long newId, Long userId) {
-        return baseMapper.updatePurchaseId(id, newId, userId);
+    public boolean updatePurchaseId(Long id, Long newId, Long userId, Long oldPurchaseId) {
+        return baseMapper.updatePurchaseId(id, newId, userId, oldPurchaseId);
     }
 
 }

+ 8 - 1
hx-sale/src/main/resources/mapper/purchase/EhsdPurchaseMapper.xml

@@ -12,7 +12,14 @@
     </select>
 
     <update id="updatePurchaseId">
-        update ehsd_purchase set id = #{newId},update_user = #{userId},update_time = sysdate() where id = #{id}
+        update
+            ehsd_purchase
+        set id = #{newId},
+            update_user = #{userId},
+            update_time = sysdate()
+            <if test="oldPurchaseId != null">,old_purchase_id = #{oldPurchaseId}</if>
+        where
+            id = #{id}
     </update>