zhangyuewww преди 3 години
родител
ревизия
55fe241d91

+ 9 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/PaymentManagementController.java

@@ -106,6 +106,15 @@ public class PaymentManagementController {
     public String editInfo(@RequestBody PaymentManagement paymentManagement){
         return paymentManagementService.editInfo(paymentManagement);
     }
+    /**
+     * 反结算
+     * @param paymentManagement
+     * @return
+     */
+    @PostMapping("/api/ReSettlement")
+    public String ReSettlement(@RequestBody PaymentManagement paymentManagement){
+        return paymentManagementService.ReSettlement(paymentManagement);
+    }
     /**
      * 删除
      */

+ 10 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/WarehouseInOutInfoController.java

@@ -70,6 +70,16 @@ public class WarehouseInOutInfoController {
     public String InOutWarehouse(@RequestBody WarehouseInOutInfo warehouseInOutInfo) {
         return warehouseInOutInfoService.InOutWarehouse(warehouseInOutInfo);
     }
+    /**
+     * 退回
+     *
+     * @param warehouseInOutInfo
+     * @return
+     */
+    @PostMapping("/returnWarehouse")
+    public String returnWarehouse(@RequestBody WarehouseInOutInfo warehouseInOutInfo) {
+        return warehouseInOutInfoService.returnWarehouse(warehouseInOutInfo);
+    }
 
     /**
      * 流转记录查询

+ 4 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/PaymentManagement.java

@@ -305,6 +305,10 @@ public class PaymentManagement extends BaseModel<PaymentManagement> {
      * 扣杂
      */
     private Float buckleMiscellaneous;
+    /**
+     * 反结算标识
+     */
+    private String reverseFlag;
     /**
      * 模糊查询
      */

+ 6 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IPaymentManagementService.java

@@ -87,6 +87,12 @@ public interface IPaymentManagementService extends IService<PaymentManagement> {
      * @return
      */
     String selectTaskId(PaymentManagement paymentManagement);
+    /**
+     * 反结算
+     *
+     * @param paymentManagement
+     */
+    String ReSettlement(PaymentManagement paymentManagement);
 
     void export(PaymentManagement paymentManagement, HttpServletResponse response) throws Exception;
 

+ 4 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IWarehouseInOutInfoService.java

@@ -40,6 +40,10 @@ public interface IWarehouseInOutInfoService extends IService<WarehouseInOutInfo>
      * 出入库
      */
     String InOutWarehouse(WarehouseInOutInfo warehouseInOutInfo);
+    /**
+     * 退回
+     */
+    String returnWarehouse(WarehouseInOutInfo warehouseInOutInfo);
 
     /**
      * 流转记录分页查询

+ 36 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/PaymentManagementServiceImpl.java

@@ -302,7 +302,14 @@ public class PaymentManagementServiceImpl extends ServiceImpl<PaymentManagementM
         paymentManagement1.setSettlementDate(new Date());
         //未付
         paymentManagement1.setAmountNotPayable(paymentManagement.getAmountIngPayable() - paymentManagement1.getAmountEdPayable());
-        this.openAuditFlow(paymentManagement1);
+        if ("1".equals(paymentManagement1.getReverseFlag())){
+            paymentManagement1.setReverseFlag("0");
+            this.updateById(paymentManagement1);
+            workflowService.activateInstance(paymentManagement.getWorkflowId(),paymentManagement.getId());
+        }
+        else {
+            this.openAuditFlow(paymentManagement1);
+        }
         //查询关联流转记录
         QualityInspectionManagement qualityInspectionManagement = qualityInspectionManagementService.selectOne(new EntityWrapper<QualityInspectionManagement>()
                 .eq("relation_id", paymentManagement1.getRelationId())
@@ -625,6 +632,9 @@ public class PaymentManagementServiceImpl extends ServiceImpl<PaymentManagementM
     @Override
     @Transactional(rollbackFor = Exception.class)
     public String editCollect(PaymentManagement paymentManagement) {
+        if ("1".equals(paymentManagement.getReverseFlag())){
+            paymentManagement.setReverseFlag("0");
+        }
         boolean one = this.updateById(paymentManagement);
         if (one) {
             return "OK";
@@ -744,6 +754,31 @@ public class PaymentManagementServiceImpl extends ServiceImpl<PaymentManagementM
         return taskIdNull;
     }
 
+    /**
+     * 反结算
+     * @param paymentManagement
+     * @return
+     */
+    @Override
+    public String ReSettlement(PaymentManagement paymentManagement) {
+        workflowService.suspendInstance(paymentManagement.getWorkflowId(), paymentManagement.getId());
+        paymentManagement.setReverseFlag("1");
+        this.updateById(paymentManagement);
+        WarehouseInOutInfo warehouseInOutInfo=warehouseInOutInfoService.selectOne(new EntityWrapper<WarehouseInOutInfo>()
+        .eq("payment_id",paymentManagement.getId()));
+        if (warehouseInOutInfo!=null){
+            WarehousePositionStorageInfo warehousePositionStorageInfo = warehousePositionStorageInfoService.selectOne(new EntityWrapper<WarehousePositionStorageInfo>()
+                    .eq("position_id", warehouseInOutInfo.getPositionId())
+                    .eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey()));
+            if (warehousePositionStorageInfo!=null){
+                warehousePositionStorageInfo.setStorage(warehousePositionStorageInfo.getStorage()-warehouseInOutInfo.getNetWeight());
+                warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
+            }
+            warehouseInOutInfoService.deleteById(warehouseInOutInfo.getId());
+        }
+        return "OK";
+    }
+
 
     private List<String> getResourceIdList() {
         User currentUser = AuthSecurityUtils.getCurrentUserInfo();

+ 24 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/QualityInspectionManagementServiceImpl.java

@@ -160,6 +160,7 @@ public class QualityInspectionManagementServiceImpl extends ServiceImpl<QualityI
      */
     @Override
     public String editQualityInspection(QualityInspectionManagement qualityInspectionManagement) {
+        QualityInspectionManagement qualityInspectionManagement1=this.selectById(qualityInspectionManagement.getId());
         CommonStaff commonStaff = staffService.getInfo(AuthSecurityUtils.getCurrentUserId());
         //复检
         if ("1".equals(qualityInspectionManagement.getFlag())){
@@ -181,6 +182,29 @@ public class QualityInspectionManagementServiceImpl extends ServiceImpl<QualityI
                 weighingManagementService.updateById(weighingManagement);
             }
         }
+        PaymentManagement paymentManagement=paymentManagementService.selectOne(new EntityWrapper<PaymentManagement>()
+                .eq("relation_id",qualityInspectionManagement1.getRelationId())
+                .eq("status","待结算")
+                .isNull("approveStatus")
+                .eq("comp_id", qualityInspectionManagement1.getCompId()));
+        if (paymentManagement!=null){
+            if (qualityInspectionManagement1.getGoodsName().contains("潮粮")){
+                paymentManagement.setTidalGrainPrice(qualityInspectionManagement1.getTidalGrainPrice());
+            }
+            else {
+                paymentManagement.setSolidGrainPrice(qualityInspectionManagement1.getDryGrainPrice());
+            }
+            WeighingManagement weighingManagement = weighingManagementService.selectOne(new EntityWrapper<WeighingManagement>()
+                    .eq("comp_id",qualityInspectionManagement1.getCompId())
+                    .eq("delete_flag","0")
+                    .eq("relation_id", qualityInspectionManagement1.getRelationId()));
+            if(weighingManagement!=null){
+                weighingManagement.setStorageNumber(qualityInspectionManagement1.getStorageTagNo());
+                weighingManagement.setBinNumber(qualityInspectionManagement1.getBinNumber());
+                weighingManagement.setCarNumber(qualityInspectionManagement1.getCarNumber());
+                weighingManagementService.updateById(weighingManagement);
+            }
+        }
         boolean one=this.updateById(qualityInspectionManagement);
         //成功返回ok
         if (one ) {

+ 36 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehouseInOutInfoServiceImpl.java

@@ -1733,6 +1733,42 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
         return warehouseInOutInfo.getId();
     }
 
+    @Override
+    public String returnWarehouse(WarehouseInOutInfo warehouseInOutInfo) {
+        WarehouseInOutInfo warehouseInOutInfo1=this.selectById(warehouseInOutInfo.getId());
+        warehouseInOutInfo.setStatusFlag(StatusEnum.TEMPORARILY_STORED.getFlag());
+        warehouseInOutInfo.setStatus(StatusEnum.TEMPORARILY_STORED.getName());
+        this.updateById(warehouseInOutInfo);
+        if ("销售出库".equals(warehouseInOutInfo1.getInOutType())){
+            StockSaleReceiptReport stockSaleReceiptReport=stockSaleReceiptReportService.selectOne(new EntityWrapper<StockSaleReceiptReport>()
+            .eq("warehouse_record_id",warehouseInOutInfo.getId()));
+            if (stockSaleReceiptReport!=null){
+                stockSaleReceiptReportService.deleteById(stockSaleReceiptReport.getId());
+            }
+        }
+        else if ("采购入库".equals(warehouseInOutInfo1.getInOutType())){
+            StockPurchaseReceiptReport stockPurchaseReceiptReport=stockPurchaseReceiptReportService.selectOne(new EntityWrapper<StockPurchaseReceiptReport>()
+                    .eq("warehouse_record_id",warehouseInOutInfo.getId()));
+            if (stockPurchaseReceiptReport!=null){
+                stockPurchaseReceiptReportService.deleteById(stockPurchaseReceiptReport.getId());
+            }
+        }
+        else if ("移库入库".equals(warehouseInOutInfo1.getInOutType())){
+            StockPurchaseReceiptReport stockPurchaseReceiptReport=stockPurchaseReceiptReportService.selectOne(new EntityWrapper<StockPurchaseReceiptReport>()
+                    .eq("warehouse_record_id",warehouseInOutInfo.getId()));
+            if (stockPurchaseReceiptReport!=null){
+                stockPurchaseReceiptReportService.deleteById(stockPurchaseReceiptReport.getId());
+            }
+        }
+        InOutWarehouseTask inOutWarehouseTask=inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
+                .eq("in_out_task_no",warehouseInOutInfo1.getInOutTaskNo()));
+        if (inOutWarehouseTask!=null){
+            inOutWarehouseTask.setCompletedQuantity(inOutWarehouseTask.getCompletedQuantity()-Float.valueOf(String.valueOf(warehouseInOutInfo1.getNetWeight())));
+        }
+        return "OK";
+
+    }
+
     /**
      * 流转记录查询
      *

+ 1 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/PaymentManagementMapper.xml

@@ -133,6 +133,7 @@
         a.approve_status as approveStatus,
         a.status_flag as statusFlag,
         a.update_date as updateDate,
+        a.reverse_flag as reverseFlag,
         a.workflow_id as workflowId,
         a.create_date as createDate,
         a.unit_deduction as unitDeduction,