Commit ba456af1b30483b690cc25057a633ea51e767817

Authored by 陈威
1 parent 131cbd61
Exists in master

修改每日资金汇总逻辑

backend/chkpower/src/main/java/com/hotent/chkpower/controller/WDailyFundsController.java
@@ -27,6 +27,10 @@ import java.io.OutputStream; @@ -27,6 +27,10 @@ import java.io.OutputStream;
27 import java.math.BigDecimal; 27 import java.math.BigDecimal;
28 import java.math.RoundingMode; 28 import java.math.RoundingMode;
29 import java.net.URLEncoder; 29 import java.net.URLEncoder;
  30 +import java.time.LocalDate;
  31 +import java.time.LocalDateTime;
  32 +import java.time.LocalTime;
  33 +import java.time.format.DateTimeFormatter;
30 import java.util.*; 34 import java.util.*;
31 import java.util.stream.Collectors; 35 import java.util.stream.Collectors;
32 36
@@ -75,13 +79,19 @@ public class WDailyFundsController extends BaseController<WDailyFundsManager, WD @@ -75,13 +79,19 @@ public class WDailyFundsController extends BaseController<WDailyFundsManager, WD
75 return CommonResult.<String>ok().message(msg); 79 return CommonResult.<String>ok().message(msg);
76 } 80 }
77 81
78 - @PostMapping(value = "/updateInsp")  
79 - public CommonResult<String> updateInsp(@RequestBody WDailyFundsInspDto wDailyFundsInspDto) throws Exception {  
80 - baseService.updateInsp(wDailyFundsInspDto);  
81 - return CommonResult.<String>ok().message("成功");  
82 - } 82 +// @PostMapping(value = "/updateInsp")
  83 +// public CommonResult<String> updateInsp(@RequestBody WDailyFundsInspDto wDailyFundsInspDto) throws Exception {
  84 +// baseService.updateInsp(wDailyFundsInspDto);
  85 +// return CommonResult.<String>ok().message("成功");
  86 +// }
83 87
84 88
  89 + /**
  90 + * 批量复核
  91 + * @param wDailyFundsInspDto
  92 + * @return
  93 + * @throws Exception
  94 + */
85 @PostMapping(value = "/updateInsps") 95 @PostMapping(value = "/updateInsps")
86 public CommonResult<String> updateInsps(@RequestBody WDailyFundsInspDto wDailyFundsInspDto) throws Exception { 96 public CommonResult<String> updateInsps(@RequestBody WDailyFundsInspDto wDailyFundsInspDto) throws Exception {
87 baseService.updateInsps(wDailyFundsInspDto.getwDailyFundsList()); 97 baseService.updateInsps(wDailyFundsInspDto.getwDailyFundsList());
@@ -90,6 +100,18 @@ public class WDailyFundsController extends BaseController&lt;WDailyFundsManager, WD @@ -90,6 +100,18 @@ public class WDailyFundsController extends BaseController&lt;WDailyFundsManager, WD
90 100
91 101
92 /** 102 /**
  103 + * 重新计算指定日期的汇总
  104 + * @param fDate
  105 + * @return
  106 + * @throws Exception
  107 + */
  108 + @PostMapping(value = "/updateInspsByDate")
  109 + public CommonResult<String> updateInspsByDate(@RequestBody Map<String, String> params) throws Exception {
  110 + baseService.updateInspsByDate(convertStringToLocalDateTime(params.get("fDate")));
  111 + return CommonResult.<String>ok().message("成功");
  112 + }
  113 +
  114 + /**
93 * 按日期查询复核列表 115 * 按日期查询复核列表
94 * 116 *
95 * @param date 117 * @param date
@@ -307,5 +329,13 @@ public class WDailyFundsController extends BaseController&lt;WDailyFundsManager, WD @@ -307,5 +329,13 @@ public class WDailyFundsController extends BaseController&lt;WDailyFundsManager, WD
307 return resultList; 329 return resultList;
308 } 330 }
309 331
  332 + //时间转换
  333 + private static LocalDateTime convertStringToLocalDateTime(String dateString) {
  334 + String datePart = dateString.substring(0, 10);
  335 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
  336 + LocalDate date = LocalDate.parse(datePart, formatter);
  337 + LocalDateTime dateTime = LocalDateTime.of(date, LocalTime.MIDNIGHT);
  338 + return dateTime;
  339 + }
310 340
311 } 341 }
backend/chkpower/src/main/java/com/hotent/chkpower/dao/WDailyFundsDao.java
@@ -21,11 +21,23 @@ public interface WDailyFundsDao extends BaseMapper&lt;WDailyFunds&gt; { @@ -21,11 +21,23 @@ public interface WDailyFundsDao extends BaseMapper&lt;WDailyFunds&gt; {
21 21
22 void insertInitWDailyFunds(@Param("fDate") LocalDateTime fDate); 22 void insertInitWDailyFunds(@Param("fDate") LocalDateTime fDate);
23 23
  24 + void updateInitWDailyFundByOrgsDate(
  25 + @Param("wCurrentList") List<HashMap<String, String>> wCurrentList,
  26 + @Param("fDate") LocalDateTime fDate,
  27 + @Param("fUpdateBy") String fUpdateBy,
  28 + @Param("fUpdateId") String fUpdateId,
  29 + @Param("fUpdateTime") LocalDateTime fUpdateTime
  30 + );
24 31
25 - Integer selectWDailyFundsCount(@Param("fDate") LocalDateTime fDate); 32 + void updateInitWDailyFundByDate(@Param("fDate") LocalDateTime fDate);
26 33
27 34
28 - List<WDailyFunds> selectWDailyFundsNews(@Param("wCurrentList") List<HashMap<String,String>> wCurrentList, @Param("fDate") LocalDateTime fDate); 35 +
  36 +
  37 +// Integer selectWDailyFundsCount(@Param("fDate") LocalDateTime fDate);
  38 +
  39 +
  40 +// List<WDailyFunds> selectWDailyFundsNews(@Param("wCurrentList") List<HashMap<String,String>> wCurrentList, @Param("fDate") LocalDateTime fDate);
29 41
30 // List<HashMap<String, String>> getDailyFundsByDateList(@Param("fOrgType") String fOrgType, @Param("fDate") String fDate); 42 // List<HashMap<String, String>> getDailyFundsByDateList(@Param("fOrgType") String fOrgType, @Param("fDate") String fDate);
31 43
backend/chkpower/src/main/java/com/hotent/chkpower/dao/WOrgInfoDao.java 0 → 100644
@@ -0,0 +1,9 @@ @@ -0,0 +1,9 @@
  1 +package com.hotent.chkpower.dao;
  2 +
  3 +import com.hotent.chkpower.model.WOrgInfo;
  4 +import org.apache.ibatis.annotations.Param;
  5 +
  6 +public interface WOrgInfoDao {
  7 + WOrgInfo selectOrgInfoByOrgid(@Param("fOrgId") String fOrgId);
  8 +
  9 +}
backend/chkpower/src/main/java/com/hotent/chkpower/manager/WDailyFundsManager.java
@@ -35,7 +35,7 @@ public interface WDailyFundsManager extends BaseManager&lt;WDailyFunds&gt; { @@ -35,7 +35,7 @@ public interface WDailyFundsManager extends BaseManager&lt;WDailyFunds&gt; {
35 void editWDailyFunds(List<HashMap<String,String>> wCurrentList, LocalDateTime date); 35 void editWDailyFunds(List<HashMap<String,String>> wCurrentList, LocalDateTime date);
36 36
37 37
38 - void updateInsp(WDailyFundsInspDto wDailyFundsInspDto); 38 +// void updateInsp(WDailyFundsInspDto wDailyFundsInspDto);
39 39
40 40
41 List<WDailyFunds> getDailyFundsByDateList(String orgType, String date); 41 List<WDailyFunds> getDailyFundsByDateList(String orgType, String date);
@@ -49,4 +49,11 @@ public interface WDailyFundsManager extends BaseManager&lt;WDailyFunds&gt; { @@ -49,4 +49,11 @@ public interface WDailyFundsManager extends BaseManager&lt;WDailyFunds&gt; {
49 void updateInsps( List<WDailyFunds> wDailyFunds); 49 void updateInsps( List<WDailyFunds> wDailyFunds);
50 50
51 51
  52 + /**
  53 + * 更新知道日期汇总表
  54 + * @param fDate
  55 + */
  56 + void updateInspsByDate(LocalDateTime fDate);
  57 +
  58 +
52 } 59 }
backend/chkpower/src/main/java/com/hotent/chkpower/manager/impl/WAfterScriptManagerImpl.java
@@ -75,7 +75,6 @@ public class WAfterScriptManagerImpl implements WAfterScriptManager { @@ -75,7 +75,6 @@ public class WAfterScriptManagerImpl implements WAfterScriptManager {
75 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); 75 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
76 LocalDate date = LocalDate.parse(datePart, formatter); 76 LocalDate date = LocalDate.parse(datePart, formatter);
77 LocalDateTime dateTime = LocalDateTime.of(date, LocalTime.MIDNIGHT); 77 LocalDateTime dateTime = LocalDateTime.of(date, LocalTime.MIDNIGHT);
78 - System.out.println("LocalDateTime with default time: " + dateTime);  
79 return dateTime; 78 return dateTime;
80 } 79 }
81 } 80 }
backend/chkpower/src/main/java/com/hotent/chkpower/manager/impl/WDailyFundsManagerImpl.java
@@ -2,7 +2,10 @@ package com.hotent.chkpower.manager.impl; @@ -2,7 +2,10 @@ package com.hotent.chkpower.manager.impl;
2 2
3 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; 3 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
4 import com.baomidou.mybatisplus.core.toolkit.Wrappers; 4 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  5 +import com.hotent.base.util.BeanUtils;
  6 +import com.hotent.base.util.StringUtil;
5 import com.hotent.chkpower.dao.WFinanceDao; 7 import com.hotent.chkpower.dao.WFinanceDao;
  8 +import com.hotent.chkpower.dao.WOrgInfoDao;
6 import com.hotent.chkpower.manager.WCurrentReportManager; 9 import com.hotent.chkpower.manager.WCurrentReportManager;
7 import com.hotent.chkpower.manager.WFinanceManager; 10 import com.hotent.chkpower.manager.WFinanceManager;
8 import com.hotent.chkpower.model.WDailyFunds; 11 import com.hotent.chkpower.model.WDailyFunds;
@@ -11,15 +14,14 @@ import com.hotent.chkpower.manager.WDailyFundsManager; @@ -11,15 +14,14 @@ import com.hotent.chkpower.manager.WDailyFundsManager;
11 import com.hotent.base.manager.impl.BaseManagerImpl; 14 import com.hotent.base.manager.impl.BaseManagerImpl;
12 import com.hotent.chkpower.model.WFinance; 15 import com.hotent.chkpower.model.WFinance;
13 import com.hotent.chkpower.dto.WDailyFundsInspDto; 16 import com.hotent.chkpower.dto.WDailyFundsInspDto;
  17 +import com.hotent.chkpower.model.WOrgInfo;
14 import com.hotent.runtime.script.ScriptImpl; 18 import com.hotent.runtime.script.ScriptImpl;
15 import org.springframework.stereotype.Service; 19 import org.springframework.stereotype.Service;
16 import org.springframework.transaction.annotation.Transactional; 20 import org.springframework.transaction.annotation.Transactional;
17 21
18 import javax.annotation.Resource; 22 import javax.annotation.Resource;
19 import java.time.LocalDateTime; 23 import java.time.LocalDateTime;
20 -import java.util.Collections;  
21 -import java.util.HashMap;  
22 -import java.util.List; 24 +import java.util.*;
23 25
24 26
25 /** 27 /**
@@ -39,6 +41,8 @@ public class WDailyFundsManagerImpl extends BaseManagerImpl&lt;WDailyFundsDao, WDai @@ -39,6 +41,8 @@ public class WDailyFundsManagerImpl extends BaseManagerImpl&lt;WDailyFundsDao, WDai
39 private WFinanceManager wFinanceManager; 41 private WFinanceManager wFinanceManager;
40 @Resource 42 @Resource
41 private WFinanceDao wFinanceDao; 43 private WFinanceDao wFinanceDao;
  44 + @Resource
  45 + private WOrgInfoDao wOrgInfoDao;
42 46
43 @Override 47 @Override
44 public WDailyFunds getDetail(String id) { 48 public WDailyFunds getDetail(String id) {
@@ -58,76 +62,73 @@ public class WDailyFundsManagerImpl extends BaseManagerImpl&lt;WDailyFundsDao, WDai @@ -58,76 +62,73 @@ public class WDailyFundsManagerImpl extends BaseManagerImpl&lt;WDailyFundsDao, WDai
58 62
59 @Transactional 63 @Transactional
60 @Override 64 @Override
61 - public void editWDailyFunds(List<HashMap<String,String>> wCurrentList, LocalDateTime fDate) {  
62 - if (wCurrentList == null || wCurrentList.size() == 0) {return;}  
63 - //验证 65 + public void editWDailyFunds(List<HashMap<String, String>> wCurrentList, LocalDateTime fDate) {
  66 + if (wCurrentList == null || wCurrentList.size() == 0) {
  67 + return;
  68 + }
  69 + //验证 日期是否产生记录
64 verifyInitWDailyFunds(fDate); 70 verifyInitWDailyFunds(fDate);
65 - List<WDailyFunds> data = baseMapper.selectWDailyFundsNews(wCurrentList, fDate);  
66 - if (data != null && data.size() > 0){  
67 - for (WDailyFunds wDailyFunds : data) {  
68 - LambdaUpdateWrapper<WDailyFunds> wrapper = Wrappers.lambdaUpdate();  
69 - //昨日余额  
70 - wrapper.set(WDailyFunds::getFYesterdayAccountBalance, wDailyFunds.getFYesterdayAccountBalance());  
71 - //今日余额  
72 - wrapper.set(WDailyFunds::getFTodayAccountBalance, wDailyFunds.getFTodayAccountBalance());  
73 - //余额差额  
74 - wrapper.set(WDailyFunds::getFAccountBalanceDifference, wDailyFunds.getFAccountBalanceDifference());  
75 - //今日净现金流  
76 - wrapper.set(WDailyFunds::getFTodayNetCashFlow, wDailyFunds.getFTodayNetCashFlow());  
77 - //今日被冻结金额  
78 - wrapper.set(WDailyFunds::getFTodayFreezeAmount, wDailyFunds.getFTodayFreezeAmount());  
79 - //今日冻结上限  
80 - wrapper.set(WDailyFunds::getFTodayFreezing, wDailyFunds.getFTodayFreezing());  
81 -  
82 - //更新时间  
83 - wrapper.set(WDailyFunds::getFUpdateTime, LocalDateTime.now());  
84 - //更新人  
85 - wrapper.set(WDailyFunds::getFUpdateBy, scriptImpl.getCurrentUserName());  
86 - //更新人id  
87 - wrapper.set(WDailyFunds::getFUpdateId, scriptImpl.getCurrentUserId());  
88 -  
89 - //复核状态  
90 - wrapper.set(WDailyFunds::getFInspStatusName, "待复核");  
91 - //复核时间  
92 - wrapper.set(WDailyFunds::getFInspTime, null);  
93 - //复核备注  
94 - wrapper.set(WDailyFunds::getFInspNotes, null);  
95 - //条件  
96 - wrapper.eq(WDailyFunds::getId, wDailyFunds.getId());  
97 - baseMapper.update(null,wrapper);  
98 - }  
99 - } 71 + //验证 公司是否产生汇总
  72 + verifyInitWDailyFundOrgs(wCurrentList, fDate);
  73 + //批量修改
  74 + baseMapper.updateInitWDailyFundByOrgsDate(wCurrentList, fDate,scriptImpl.getCurrentUserName(),scriptImpl.getCurrentUserId(),LocalDateTime.now());
100 } 75 }
101 76
102 - @Transactional  
103 - @Override  
104 - public void updateInsp(WDailyFundsInspDto wDailyFundsInspDto) {  
105 - List<WDailyFunds> wDailyFunds = wDailyFundsInspDto.getwDailyFundsList();  
106 - if (wDailyFunds == null || wDailyFunds.size() == 0) {return;}  
107 - for (WDailyFunds wDailyFund : wDailyFunds) {  
108 - baseMapper.update(null,Wrappers.<WDailyFunds>lambdaUpdate()  
109 - .set(WDailyFunds::getFUpdateBy, scriptImpl.getCurrentUserName())  
110 - .set(WDailyFunds::getFUpdateId, scriptImpl.getCurrentUserId())  
111 - .set(WDailyFunds::getFInspStatusName, wDailyFundsInspDto.getfInspStatusName())  
112 - .set(WDailyFunds::getFInspTime, LocalDateTime.now())  
113 - .set(WDailyFunds::getFInspNotes, wDailyFundsInspDto.getfInspNotes())  
114 - .eq(WDailyFunds::getId, wDailyFund.getId())  
115 - );  
116 -  
117 -  
118 - WFinance wFinance = new WFinance();  
119 - wFinance.setFUpdateBy(scriptImpl.getCurrentUserName());  
120 - wFinance.setFUpdateId(scriptImpl.getCurrentUserId());  
121 - wFinance.setFInspStatusName(wDailyFundsInspDto.getfInspStatusName());  
122 - wFinance.setFInspTime(LocalDateTime.now());  
123 - wFinance.setFInspNotes(wDailyFundsInspDto.getfInspNotes());  
124 - wFinance.setFDate(wDailyFund.getFDate());  
125 - wFinance.setFOrgId(wDailyFund.getFOrgId());  
126 - wFinanceDao.updateInsp(wFinance);  
127 - wCurrentReportManager.updateInsp(wDailyFund.getFDate(),wDailyFund.getFOrgId(),wDailyFundsInspDto.getfInspStatusName(),wDailyFundsInspDto.getfInspNotes()); 77 + //验证 公司是否产生汇总
  78 + private void verifyInitWDailyFundOrgs(List<HashMap<String, String>> wCurrentList, LocalDateTime fDate) {
  79 + for (Map map : wCurrentList) {
  80 + if (map.containsKey("F_org_id") && map.get("F_org_id")!=null && StringUtil.isNotEmpty(map.get("F_org_id").toString())) {
  81 + WOrgInfo wOrgInfo = wOrgInfoDao.selectOrgInfoByOrgid(map.get("F_org_id").toString());
  82 + if (BeanUtils.isNotEmpty(wOrgInfo)) {
  83 + List<WDailyFunds> wDailyFunds = baseMapper.selectList(Wrappers.<WDailyFunds>lambdaQuery().eq(WDailyFunds::getFOrgId, map.get("F_org_id")).eq(WDailyFunds::getFDate, fDate));
  84 + if (wDailyFunds == null || wDailyFunds.size() == 0) {
  85 + WDailyFunds wDailyFunds_add = new WDailyFunds();
  86 + wDailyFunds_add.setFDate(fDate);
  87 + wDailyFunds_add.setFOrgId(wOrgInfo.getfOrgId());
  88 + wDailyFunds_add.setFOrgName(wOrgInfo.getfOrgName());
  89 + wDailyFunds_add.setFOrgType(wOrgInfo.getfOrgType());
  90 + wDailyFunds_add.setFInspStatusName("待复核");
  91 + wDailyFunds_add.setFCreateBy(scriptImpl.getCurrentUserName());
  92 + wDailyFunds_add.setFCreateId(scriptImpl.getCurrentUserId());
  93 + wDailyFunds_add.setFCreateTime(LocalDateTime.now());
  94 + baseMapper.insert(wDailyFunds_add);
  95 + }
  96 + }
  97 + }
128 } 98 }
129 } 99 }
130 100
  101 +// @Transactional
  102 +// @Override
  103 +// public void updateInsp(WDailyFundsInspDto wDailyFundsInspDto) {
  104 +// List<WDailyFunds> wDailyFunds = wDailyFundsInspDto.getwDailyFundsList();
  105 +// if (wDailyFunds == null || wDailyFunds.size() == 0) {
  106 +// return;
  107 +// }
  108 +// for (WDailyFunds wDailyFund : wDailyFunds) {
  109 +// baseMapper.update(null, Wrappers.<WDailyFunds>lambdaUpdate()
  110 +// .set(WDailyFunds::getFUpdateBy, scriptImpl.getCurrentUserName())
  111 +// .set(WDailyFunds::getFUpdateId, scriptImpl.getCurrentUserId())
  112 +// .set(WDailyFunds::getFInspStatusName, wDailyFundsInspDto.getfInspStatusName())
  113 +// .set(WDailyFunds::getFInspTime, LocalDateTime.now())
  114 +// .set(WDailyFunds::getFInspNotes, wDailyFundsInspDto.getfInspNotes())
  115 +// .eq(WDailyFunds::getId, wDailyFund.getId())
  116 +// );
  117 +//
  118 +//
  119 +// WFinance wFinance = new WFinance();
  120 +// wFinance.setFUpdateBy(scriptImpl.getCurrentUserName());
  121 +// wFinance.setFUpdateId(scriptImpl.getCurrentUserId());
  122 +// wFinance.setFInspStatusName(wDailyFundsInspDto.getfInspStatusName());
  123 +// wFinance.setFInspTime(LocalDateTime.now());
  124 +// wFinance.setFInspNotes(wDailyFundsInspDto.getfInspNotes());
  125 +// wFinance.setFDate(wDailyFund.getFDate());
  126 +// wFinance.setFOrgId(wDailyFund.getFOrgId());
  127 +// wFinanceDao.updateInsp(wFinance);
  128 +// wCurrentReportManager.updateInsp(wDailyFund.getFDate(), wDailyFund.getFOrgId(), wDailyFundsInspDto.getfInspStatusName(), wDailyFundsInspDto.getfInspNotes());
  129 +// }
  130 +// }
  131 +
131 @Override 132 @Override
132 public List<WDailyFunds> getDailyFundsByDateList(String orgType, String date) { 133 public List<WDailyFunds> getDailyFundsByDateList(String orgType, String date) {
133 List<WDailyFunds> wDailyFunds = baseMapper.selectList(Wrappers.<WDailyFunds>lambdaQuery() 134 List<WDailyFunds> wDailyFunds = baseMapper.selectList(Wrappers.<WDailyFunds>lambdaQuery()
@@ -138,9 +139,11 @@ public class WDailyFundsManagerImpl extends BaseManagerImpl&lt;WDailyFundsDao, WDai @@ -138,9 +139,11 @@ public class WDailyFundsManagerImpl extends BaseManagerImpl&lt;WDailyFundsDao, WDai
138 return wDailyFunds; 139 return wDailyFunds;
139 } 140 }
140 141
  142 + // 验证 日期是否产生记录
141 @Override 143 @Override
142 public void verifyInitWDailyFunds(LocalDateTime fDate) { 144 public void verifyInitWDailyFunds(LocalDateTime fDate) {
143 - Integer count = baseMapper.selectWDailyFundsCount(fDate); 145 +// Integer count = baseMapper.selectWDailyFundsCount(fDate);
  146 + Integer count = baseMapper.selectCount(Wrappers.<WDailyFunds>lambdaQuery().eq(WDailyFunds::getFDate, fDate));
144 if (count == null || count == 0) { 147 if (count == null || count == 0) {
145 baseMapper.insertInitWDailyFunds(fDate); 148 baseMapper.insertInitWDailyFunds(fDate);
146 } 149 }
@@ -150,7 +153,7 @@ public class WDailyFundsManagerImpl extends BaseManagerImpl&lt;WDailyFundsDao, WDai @@ -150,7 +153,7 @@ public class WDailyFundsManagerImpl extends BaseManagerImpl&lt;WDailyFundsDao, WDai
150 @Override 153 @Override
151 public void updateInsps(List<WDailyFunds> wDailyFunds) { 154 public void updateInsps(List<WDailyFunds> wDailyFunds) {
152 for (WDailyFunds wDailyFund : wDailyFunds) { 155 for (WDailyFunds wDailyFund : wDailyFunds) {
153 - baseMapper.update(null,Wrappers.<WDailyFunds>lambdaUpdate() 156 + baseMapper.update(null, Wrappers.<WDailyFunds>lambdaUpdate()
154 .set(WDailyFunds::getFUpdateBy, scriptImpl.getCurrentUserName()) 157 .set(WDailyFunds::getFUpdateBy, scriptImpl.getCurrentUserName())
155 .set(WDailyFunds::getFUpdateId, scriptImpl.getCurrentUserId()) 158 .set(WDailyFunds::getFUpdateId, scriptImpl.getCurrentUserId())
156 .set(WDailyFunds::getFInspStatusName, wDailyFund.getFInspStatusName()) 159 .set(WDailyFunds::getFInspStatusName, wDailyFund.getFInspStatusName())
@@ -168,8 +171,17 @@ public class WDailyFundsManagerImpl extends BaseManagerImpl&lt;WDailyFundsDao, WDai @@ -168,8 +171,17 @@ public class WDailyFundsManagerImpl extends BaseManagerImpl&lt;WDailyFundsDao, WDai
168 wFinance.setFDate(wDailyFund.getFDate()); 171 wFinance.setFDate(wDailyFund.getFDate());
169 wFinance.setFOrgId(wDailyFund.getFOrgId()); 172 wFinance.setFOrgId(wDailyFund.getFOrgId());
170 wFinanceDao.updateInsp(wFinance); 173 wFinanceDao.updateInsp(wFinance);
171 - wCurrentReportManager.updateInsp(wDailyFund.getFDate(),wDailyFund.getFOrgId(),wDailyFund.getFInspStatusName(),wDailyFund.getFInspNotes()); 174 + wCurrentReportManager.updateInsp(wDailyFund.getFDate(), wDailyFund.getFOrgId(), wDailyFund.getFInspStatusName(), wDailyFund.getFInspNotes());
172 } 175 }
173 } 176 }
174 177
  178 + @Transactional
  179 + @Override
  180 + public void updateInspsByDate(LocalDateTime fDate) {
  181 + //验证 日期是否产生记录
  182 + verifyInitWDailyFunds(fDate);
  183 + //批量重新计算
  184 + baseMapper.updateInitWDailyFundByDate(fDate);
  185 + }
  186 +
175 } 187 }
backend/chkpower/src/main/java/com/hotent/chkpower/model/WOrgInfo.java 0 → 100644
@@ -0,0 +1,50 @@ @@ -0,0 +1,50 @@
  1 +package com.hotent.chkpower.model;
  2 +
  3 +import com.baomidou.mybatisplus.annotation.TableField;
  4 +import com.fasterxml.jackson.annotation.JsonProperty;
  5 +import io.swagger.annotations.ApiModelProperty;
  6 +
  7 +import java.math.BigDecimal;
  8 +
  9 +public class WOrgInfo {
  10 +
  11 + private String fOrgName;
  12 +
  13 + private String fOrgId;
  14 +
  15 + private String fOrgType;
  16 +
  17 + private BigDecimal fOrderNo;
  18 +
  19 + public String getfOrgName() {
  20 + return fOrgName;
  21 + }
  22 +
  23 + public void setfOrgName(String fOrgName) {
  24 + this.fOrgName = fOrgName;
  25 + }
  26 +
  27 + public String getfOrgId() {
  28 + return fOrgId;
  29 + }
  30 +
  31 + public void setfOrgId(String fOrgId) {
  32 + this.fOrgId = fOrgId;
  33 + }
  34 +
  35 + public String getfOrgType() {
  36 + return fOrgType;
  37 + }
  38 +
  39 + public void setfOrgType(String fOrgType) {
  40 + this.fOrgType = fOrgType;
  41 + }
  42 +
  43 + public BigDecimal getfOrderNo() {
  44 + return fOrderNo;
  45 + }
  46 +
  47 + public void setfOrderNo(BigDecimal fOrderNo) {
  48 + this.fOrderNo = fOrderNo;
  49 + }
  50 +}
backend/chkpower/src/main/resources/mapper/WDailyFundsMapper.xml
@@ -63,46 +63,130 @@ @@ -63,46 +63,130 @@
63 63
64 <insert id="insertInitWDailyFunds"> 64 <insert id="insertInitWDailyFunds">
65 INSERT into w_daily_funds(ID_,F_date,F_org_id,F_org_name,F_org_type,F_order_no,F_insp_status_name) 65 INSERT into w_daily_funds(ID_,F_date,F_org_id,F_org_name,F_org_type,F_order_no,F_insp_status_name)
66 - SELECT REPLACE(UUID(), '-', '') as ID_,DATE_FORMAT(#{fDate,jdbcType=TIMESTAMP}, '%Y-%m-%d 00:00:00') as F_date,org.ID_ as F_org_id,org.NAME_ as F_org_name,orgParams.VALUE_ as F_org_type,org.ORDER_NO_ as F_order_no,'待复核' as F_insp_status_name 66 + SELECT REPLACE(UUID(), '-', '') as ID_,#{fDate,jdbcType=TIMESTAMP} as F_date,org.ID_ as F_org_id,org.NAME_ as F_org_name,orgParams.VALUE_ as F_org_type,org.ORDER_NO_ as F_order_no,'待复核' as F_insp_status_name
67 FROM uc_org org 67 FROM uc_org org
68 JOIN uc_org_params orgParams on orgParams.ORG_ID_= org.ID_ 68 JOIN uc_org_params orgParams on orgParams.ORG_ID_= org.ID_
69 WHERE orgParams.VALUE_ !='' and orgParams.VALUE_ IS NOT NULL 69 WHERE orgParams.VALUE_ !='' and orgParams.VALUE_ IS NOT NULL
70 </insert> 70 </insert>
71 71
72 - <select id="selectWDailyFundsCount" resultType="java.lang.Integer">  
73 - SELECT COUNT(ID_) FROM w_daily_funds WHERE DATE(F_date) = DATE(#{fDate,jdbcType=TIMESTAMP})  
74 - </select>  
75 -  
76 - <select id="selectWDailyFundsNews" resultType="com.hotent.chkpower.model.WDailyFunds">  
77 - SELECT funds.F_date,funds.id_,funds.F_org_id,funds.F_org_name ,  
78 - jrye.F_today_account_balance,zrye.F_yesterday_account_balance,(IFNULL(jrye.F_today_account_balance,0) - IFNULL(zrye.F_yesterday_account_balance,0)) as F_account_balance_difference  
79 - ,jxjl.F_today_net_cash_flow,jrye.F_today_freeze_amount,jrye.F_today_freezing  
80 - FROM w_daily_funds funds  
81 - LEFT JOIN (  
82 - SELECT F_org_id,SUM(F_account_balance) AS F_today_account_balance,SUM(F_freeze_amount) as F_today_freeze_amount,SUM(F_freezing) AS F_today_freezing  
83 - FROM w_current  
84 - WHERE DATE(F_date) =DATE(#{fDate,jdbcType=TIMESTAMP})  
85 - GROUP BY F_org_id  
86 - ) jrye on jrye.F_org_id = funds.F_org_id  
87 - LEFT JOIN (  
88 - SELECT F_org_id,SUM(F_account_balance) AS F_yesterday_account_balance  
89 - FROM w_current  
90 - WHERE DATE(F_date) =(SELECT DATE_SUB(DATE(#{fDate,jdbcType=TIMESTAMP}), INTERVAL 1 DAY))  
91 - GROUP BY F_org_id  
92 - ) zrye on zrye.F_org_id = funds.F_org_id  
93 - LEFT JOIN (  
94 - SELECT F_org_id, SUM(F_total_net_cash_flow) as F_today_net_cash_flow  
95 - FROM w_finance WHERE DATE(F_date) =DATE(#{fDate,jdbcType=TIMESTAMP})  
96 - GROUP BY F_org_id  
97 - ) jxjl on jxjl.F_org_id = funds.F_org_id  
98 - WHERE DATE(funds.F_date) =DATE(#{fDate,jdbcType=TIMESTAMP}) 72 + <update id="updateInitWDailyFundByOrgsDate">
  73 + UPDATE w_daily_funds funds SET
  74 + F_yesterday_account_balance =(
  75 + SELECT SUM(c.F_account_balance)
  76 + FROM w_current c
  77 + WHERE F_date =(SELECT DATE_SUB(funds.F_date, INTERVAL 1 DAY))
  78 + AND c.F_org_id = funds.F_org_id
  79 + ),
  80 + F_today_account_balance =(
  81 + SELECT SUM(c.F_account_balance)
  82 + FROM w_current c
  83 + WHERE c.F_date =funds.F_date
  84 + AND c.F_org_id = funds.F_org_id
  85 + ),
  86 + F_today_net_cash_flow= (
  87 + SELECT SUM(c.F_total_net_cash_flow) * 10000
  88 + FROM w_finance c
  89 + WHERE c.F_date = funds.F_date
  90 + AND c.F_org_id = funds.F_org_id
  91 + ),
  92 + F_today_freeze_amount=(
  93 + SELECT SUM(c.F_freeze_amount)
  94 + FROM w_current c
  95 + WHERE c.F_date = funds.F_date
  96 + AND c.F_org_id = funds.F_org_id
  97 + ),
  98 + F_today_freezing=(
  99 + SELECT SUM(c.F_freezing)
  100 + FROM w_current c
  101 + WHERE c.F_date = funds.F_date
  102 + AND c.F_org_id = funds.F_org_id
  103 + ),
  104 + F_account_balance_difference = (IFNULL(funds.F_today_account_balance,0)- IFNULL(funds.F_yesterday_account_balance,0)),
  105 + F_update_by = #{fUpdateBy,jdbcType=VARCHAR},
  106 + F_update_id = #{fUpdateId,jdbcType=VARCHAR},
  107 + F_update_time = #{fUpdateTime,jdbcType=TIMESTAMP},
  108 + f_insp_status_name = '待复核',
  109 + f_insp_time = null,
  110 + f_insp_notes = null
  111 + WHERE funds.F_date = #{fDate,jdbcType=TIMESTAMP}
99 <if test="wCurrentList != null and wCurrentList.size() > 0"> 112 <if test="wCurrentList != null and wCurrentList.size() > 0">
100 and funds.F_org_id in 113 and funds.F_org_id in
101 <foreach collection="wCurrentList" separator="," item="item" open="(" close=")"> 114 <foreach collection="wCurrentList" separator="," item="item" open="(" close=")">
102 #{item.F_org_id} 115 #{item.F_org_id}
103 </foreach> 116 </foreach>
104 </if> 117 </if>
105 - </select> 118 + </update>
  119 +
  120 + <update id="updateInitWDailyFundByDate">
  121 + UPDATE w_daily_funds funds SET
  122 + F_yesterday_account_balance =(
  123 + SELECT SUM(c.F_account_balance)
  124 + FROM w_current c
  125 + WHERE F_date =(SELECT DATE_SUB(funds.F_date, INTERVAL 1 DAY))
  126 + AND c.F_org_id = funds.F_org_id
  127 + ),
  128 + F_today_account_balance =(
  129 + SELECT SUM(c.F_account_balance)
  130 + FROM w_current c
  131 + WHERE c.F_date =funds.F_date
  132 + AND c.F_org_id = funds.F_org_id
  133 + ),
  134 + F_today_net_cash_flow= (
  135 + SELECT SUM(c.F_total_net_cash_flow) * 10000
  136 + FROM w_finance c
  137 + WHERE c.F_date = funds.F_date
  138 + AND c.F_org_id = funds.F_org_id
  139 + ),
  140 + F_today_freeze_amount=(
  141 + SELECT SUM(c.F_freeze_amount)
  142 + FROM w_current c
  143 + WHERE c.F_date = funds.F_date
  144 + AND c.F_org_id = funds.F_org_id
  145 + ),
  146 + F_today_freezing=(
  147 + SELECT SUM(c.F_freezing)
  148 + FROM w_current c
  149 + WHERE c.F_date = funds.F_date
  150 + AND c.F_org_id = funds.F_org_id
  151 + ),
  152 + F_account_balance_difference = (IFNULL(funds.F_today_account_balance,0)- IFNULL(funds.F_yesterday_account_balance,0))
  153 + WHERE funds.F_date = #{fDate,jdbcType=TIMESTAMP}
  154 + </update>
  155 +
  156 + <!-- <select id="selectWDailyFundsCount" resultType="java.lang.Integer">-->
  157 +<!-- SELECT COUNT(ID_) FROM w_daily_funds WHERE DATE(F_date) = DATE(#{fDate,jdbcType=TIMESTAMP})-->
  158 +<!-- </select>-->
  159 +
  160 +<!-- <select id="selectWDailyFundsNews" resultType="com.hotent.chkpower.model.WDailyFunds">-->
  161 +<!-- SELECT funds.F_date,funds.id_,funds.F_org_id,funds.F_org_name ,-->
  162 +<!-- jrye.F_today_account_balance,zrye.F_yesterday_account_balance,(IFNULL(jrye.F_today_account_balance,0) - IFNULL(zrye.F_yesterday_account_balance,0)) as F_account_balance_difference-->
  163 +<!-- ,jxjl.F_today_net_cash_flow,jrye.F_today_freeze_amount,jrye.F_today_freezing-->
  164 +<!-- FROM w_daily_funds funds-->
  165 +<!-- LEFT JOIN (-->
  166 +<!-- SELECT F_org_id,SUM(F_account_balance) AS F_today_account_balance,SUM(F_freeze_amount) as F_today_freeze_amount,SUM(F_freezing) AS F_today_freezing-->
  167 +<!-- FROM w_current-->
  168 +<!-- WHERE DATE(F_date) =DATE(#{fDate,jdbcType=TIMESTAMP})-->
  169 +<!-- GROUP BY F_org_id-->
  170 +<!-- ) jrye on jrye.F_org_id = funds.F_org_id-->
  171 +<!-- LEFT JOIN (-->
  172 +<!-- SELECT F_org_id,SUM(F_account_balance) AS F_yesterday_account_balance-->
  173 +<!-- FROM w_current-->
  174 +<!-- WHERE DATE(F_date) =(SELECT DATE_SUB(DATE(#{fDate,jdbcType=TIMESTAMP}), INTERVAL 1 DAY))-->
  175 +<!-- GROUP BY F_org_id-->
  176 +<!-- ) zrye on zrye.F_org_id = funds.F_org_id-->
  177 +<!-- LEFT JOIN (-->
  178 +<!-- SELECT F_org_id, SUM(F_total_net_cash_flow) as F_today_net_cash_flow-->
  179 +<!-- FROM w_finance WHERE DATE(F_date) =DATE(#{fDate,jdbcType=TIMESTAMP})-->
  180 +<!-- GROUP BY F_org_id-->
  181 +<!-- ) jxjl on jxjl.F_org_id = funds.F_org_id-->
  182 +<!-- WHERE DATE(funds.F_date) =DATE(#{fDate,jdbcType=TIMESTAMP})-->
  183 +<!-- <if test="wCurrentList != null and wCurrentList.size() > 0">-->
  184 +<!-- and funds.F_org_id in-->
  185 +<!-- <foreach collection="wCurrentList" separator="," item="item" open="(" close=")">-->
  186 +<!-- #{item.F_org_id}-->
  187 +<!-- </foreach>-->
  188 +<!-- </if>-->
  189 +<!-- </select>-->
106 190
107 <!-- <select id="getDailyFundsByDateList" resultType="java.util.HashMap">--> 191 <!-- <select id="getDailyFundsByDateList" resultType="java.util.HashMap">-->
108 <!-- SELECT * FROM w_daily_funds--> 192 <!-- SELECT * FROM w_daily_funds-->
backend/chkpower/src/main/resources/mapper/WOrgInfoMapper.xml 0 → 100644
@@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3 +<mapper namespace="com.hotent.chkpower.dao.WOrgInfoDao">
  4 +
  5 + <select id="selectOrgInfoByOrgid" resultType="com.hotent.chkpower.model.WOrgInfo">
  6 + SELECT org.ID_ as fOrgId,org.NAME_ as fOrgName,orgParams.VALUE_ as fOrgType,org.ORDER_NO_ as fOrderNo
  7 + FROM uc_org org
  8 + JOIN uc_org_params orgParams on orgParams.ORG_ID_= org.ID_
  9 + WHERE orgParams.VALUE_ !='' and orgParams.VALUE_ IS NOT NULL
  10 + AND org.ID_=#{fOrgId}
  11 + </select>
  12 +</mapper>