瀏覽代碼

no message

FengChaoYu 9 月之前
父節點
當前提交
04156d391f

+ 10 - 0
mall-server-api/src/main/java/com/gree/mall/manager/controller/settle/repair/DailyImportSummaryController.java

@@ -380,6 +380,16 @@ public class DailyImportSummaryController {
         return ResponseHelper.success();
     }
 
+    @PostMapping("/salary/reject")
+    @ApiOperation(value = "日结工资(结算网点批量驳回)-驳回")
+    public ResponseHelper rejectSalary(
+            @ApiParam(required = true, value = "汇总批次号") @RequestParam String summaryBatchNo,
+            @ApiParam(value = "网点名称(批量)") @RequestParam(required = false) List<String> summaryNumberList
+    ) throws Exception {
+        dailyImportSummaryLogic.rejectSalary(summaryBatchNo, summaryNumberList);
+        return ResponseHelper.success();
+    }
+
     @GetMapping("/summary/list")
     @ApiOperation(value = "结算网点汇总-日结")
     public ResponseHelper<List<DailySummaryDataBean>> summaryList(

+ 49 - 0
mall-server-api/src/main/java/com/gree/mall/manager/logic/settle/repair/DailyImportSummaryLogic.java

@@ -1210,6 +1210,55 @@ public class DailyImportSummaryLogic {
         redisUtil.del(Constant.RedisPrefix.ISSUE_SAL_MOBILE_SMS + mobile);
     }
 
+    @Transactional
+    public void rejectSalary(String summaryBatchNo, List<String> summaryWebsiteNumber) {
+        AdminUserCom adminUser = commonLogic.getAdminUser();
+
+        if (adminUser.getType() == 2) {
+            throw new RemoteServiceException("平台账号禁止操作");
+        }
+        Integer count = settleDailyIssueSummaryRecordService.lambdaQuery()
+                .eq(SettleDailyIssueSummaryRecord::getCompanyWechatId, adminUser.getAdminCompanyWechat().getCompanyWechatId())
+                .eq(SettleDailyIssueSummaryRecord::getSummaryBatchNo, summaryBatchNo)
+                .in(CollectionUtil.isNotEmpty(summaryWebsiteNumber), SettleDailyIssueSummaryRecord::getSummaryNumber, summaryWebsiteNumber)
+                .and(wrapper ->
+                        wrapper.ne(SettleDailyIssueSummaryRecord::getStatus, DailyConstant.ISSUE_STATUS_NOT)
+                                .or()
+                                .ne(SettleDailyIssueSummaryRecord::getShouldReduceCost, 0).or()
+                                .ne(SettleDailyIssueSummaryRecord::getIncrDecrCost, 0)
+                ).count();
+        // todo 存在驳回 增减费用 ,扣回费用
+
+        if (count > 0) {
+            throw new RemoteServiceException("存在已发放或扣减和增减费用数据");
+        }
+
+        settleDailyIssueSummaryRecordService.lambdaUpdate()
+                .set(SettleDailyIssueSummaryRecord::getStatus, DailyConstant.ISSUE_STATUS_REJECT)
+                .set(SettleDailyIssueSummaryRecord::getUpdateTime, new Date())
+                .set(SettleDailyIssueSummaryRecord::getUpdateBy, adminUser.getNickName())
+                .eq(SettleDailyIssueSummaryRecord::getCompanyWechatId, adminUser.getAdminCompanyWechat().getCompanyWechatId())
+                .eq(SettleDailyIssueSummaryRecord::getSummaryBatchNo, summaryBatchNo)
+                .in(CollectionUtil.isNotEmpty(summaryWebsiteNumber), SettleDailyIssueSummaryRecord::getSummaryNumber, summaryWebsiteNumber)
+                .eq(SettleDailyIssueSummaryRecord::getStatus, DailyConstant.SUMMARY_STATUS_HAS).update();
+
+        settleDailyImportSummaryItemService.lambdaUpdate()
+                .set(SettleDailyImportSummaryItem::getSummaryStatus, DailyConstant.SUMMARY_STATUS_REJECT)
+                .eq(SettleDailyImportSummaryItem::getSummaryBatchNo, summaryBatchNo)
+                .in(CollectionUtil.isNotEmpty(summaryWebsiteNumber), SettleDailyImportSummaryItem::getSummaryNumber, summaryWebsiteNumber)
+                .update();
+
+        settleDailyResidualInsuranceService.lambdaUpdate().eq(SettleDailyResidualInsurance::getSummaryBatchNo, summaryBatchNo).remove();
+
+        //删掉新产生的历史数据
+        settleDailyRemaineBuckleService.lambdaUpdate().eq(SettleDailyRemaineBuckle::getSummaryBatchNo,Constant.DAILY_PREFIX + summaryBatchNo).remove();
+        //将本次批次号处理的数据还原
+        settleDailyRemaineBuckleService.lambdaUpdate()
+                .set(SettleDailyRemaineBuckle::getIsBuckle,false)
+                .eq(SettleDailyRemaineBuckle::getSummaryBatchNo,summaryBatchNo)
+                .update();
+    }
+
     public List<DailySummaryDataBean> summaryList(String summaryBatchNo) {
         AdminUserCom adminUser = commonLogic.getAdminUser();