Browse Source

同步数据修复

wucl 1 tháng trước cách đây
mục cha
commit
9b7603aa0a

+ 11 - 0
biz-base/src/main/java/com/dayou/controller/DyoaController.java

@@ -175,4 +175,15 @@ public class DyoaController {
         return RestResponse.data(ret);
     }
 
+    /**
+     * 修复大中型产品收款表与认领表产品收款表id不一致
+     * @return
+     */
+    @IgnoreAuth
+    @GetMapping("/update/realAmount/for/productionType")
+    public RestResponse<Boolean> fixReamAmountForProductionType(){
+        Boolean ret = dyoaHistoryService.fixReamAmountForProductionType();
+        return RestResponse.data(ret);
+    }
+
 }

+ 2 - 0
dao/src/main/java/com/dayou/mapper/ProductionFundMapper.java

@@ -31,4 +31,6 @@ public interface ProductionFundMapper extends CustomBaseMapper<ProductionFund> {
     List<ProductionFund> selectProductionFundIdByDyoaReportNo();
 
     List<ProductionFund> getProductionFundIdByOrderFundId();
+
+    List<ProductionFund> queryDiffReamAmountForProductionType();
 }

+ 15 - 0
dao/src/main/resources/mapper/ProductionFundMapper.xml

@@ -68,4 +68,19 @@
     <select id="getProductionFundIdByOrderFundId" resultType="com.dayou.entity.ProductionFund">
         select order_fund_id,id from production_fund where production_type != 'STATEMENT' GROUP BY order_fund_id
     </select>
+
+    <select id="queryDiffReamAmountForProductionType" resultType="com.dayou.entity.ProductionFund">
+        SELECT
+            p.id,
+            p.real_amount,
+            p.production_no,
+            p.order_fund_id,
+            p.production_type
+        from
+            ( SELECT * FROM production_fund WHERE business_type = 'MAJOR_BUSINESS' AND deleted = 0 AND real_amount IS NOT NULL ) p
+            LEFT JOIN finance_claim fc ON fc.production_fund_id = p.id
+        WHERE
+            fc.production_fund_id IS NULL
+          order by p.id desc
+    </select>
 </mapper>

+ 21 - 0
service/src/main/java/com/dayou/dyoa/DyoaHistoryServiceImpl.java

@@ -2264,6 +2264,27 @@ public class DyoaHistoryServiceImpl implements IDyoaHistoryService{
         return null;
     }
 
+    @Override
+    public Boolean fixReamAmountForProductionType() {
+        List<ProductionFund> diff = productionFundService.queryDiffReamAmountForProductionType();
+        for (ProductionFund productionFund : diff){
+            Long orderFundId = productionFund.getOrderFundId();
+            BigDecimal realAmount = productionFund.getRealAmount();
+            Long id = productionFund.getId();
+            List<FinanceClaim> list = financeClaimService.list(new LambdaQueryWrapper<FinanceClaim>()
+                    .eq(FinanceClaim::getOrderFundId, orderFundId));
+
+            if (list.size()>0){
+                for (FinanceClaim financeClaim : list){
+                    financeClaimService.update(new LambdaUpdateWrapper<FinanceClaim>().eq(BaseEntity::getId,financeClaim.getId())
+                            .set(FinanceClaim::getProductionFundId,id));
+                }
+
+            }
+        }
+        return true;
+    }
+
 
     @Override
     public Boolean updateProductionFund() {

+ 2 - 0
service/src/main/java/com/dayou/dyoa/IDyoaHistoryService.java

@@ -67,4 +67,6 @@ public interface IDyoaHistoryService {
     Boolean commissionProductionId();
 
     Boolean majorOrderOwner();
+
+    Boolean fixReamAmountForProductionType();
 }

+ 15 - 1
service/src/main/java/com/dayou/dyoa/task/FetchDyoaDataSchedule.java

@@ -109,11 +109,25 @@ public class FetchDyoaDataSchedule {
     }
 
     //每天凌晨07:00触发
-    @Scheduled(cron = "0 00 7 * * ?")
+    @Scheduled(cron = "0 0 7 * * ?")
     public void updatePersonalProduction(){
         dyoaHistoryService.updatePersonalProduction();
         log.info("更新个贷出入库状态");
     }
 
+    //每天凌晨07:00触发
+    @Scheduled(cron = "0 30 7 * * ?")
+    public void commissionProductionId(){
+        dyoaHistoryService.commissionProductionId();
+        log.info("更新申报数据");
+    }
+
+    //每天凌晨07:00触发
+    @Scheduled(cron = "0 0 8 * * ?")
+    public void fixReamAmountForProductionType(){
+        dyoaHistoryService.fixReamAmountForProductionType();
+        log.info("大中型产品类型认领数据");
+    }
+
 
 }

+ 1 - 0
service/src/main/java/com/dayou/service/IProductionFundService.java

@@ -43,4 +43,5 @@ public interface IProductionFundService extends IService<ProductionFund> {
         List<ProductionFund> getProductionFundIdByOrderFundId();
 
 
+    List<ProductionFund> queryDiffReamAmountForProductionType();
 }

+ 5 - 0
service/src/main/java/com/dayou/service/impl/ProductionFundServiceImpl.java

@@ -234,5 +234,10 @@ public class ProductionFundServiceImpl extends ServiceImpl<ProductionFundMapper,
         return productionFundMapper.getProductionFundIdByOrderFundId();
     }
 
+    @Override
+    public List<ProductionFund> queryDiffReamAmountForProductionType() {
+        return productionFundMapper.queryDiffReamAmountForProductionType();
+    }
+
 
 }