Commit 8068fc13a59d966bd318450ad70ddab4f105891b

Authored by 陈威
1 parent a8776277
Exists in master

每日资金复核

backend/chkpower/src/main/java/com/hotent/chkpower/controller/WDailyFundsController.java
... ... @@ -82,14 +82,85 @@ public class WDailyFundsController extends BaseController<WDailyFundsManager, WD
82 82 }
83 83  
84 84  
85   - private BigDecimal aggregateBalance(HashMap<String, String> data, String key, BigDecimal aggregate) {
86   - // 直接检查值是否存在并为非空,避免了额外的containsKey调用
87   - Object value = data.get(key);
88   - if (value != null && !value.equals("")) {
89   - return aggregate.add(new BigDecimal(((Number) value).doubleValue()));
90   - } else {
91   - return BigDecimal.ZERO;
  85 + @PostMapping(value = "/updateInsps")
  86 + public CommonResult<String> updateInsps(@RequestBody WDailyFundsInspDto wDailyFundsInspDto) throws Exception {
  87 + baseService.updateInsps(wDailyFundsInspDto.getwDailyFundsList());
  88 + return CommonResult.<String>ok().message("成功");
  89 + }
  90 +
  91 +
  92 + /**
  93 + * 按日期查询复核列表
  94 + *
  95 + * @param date
  96 + * @return
  97 + * @throws Exception
  98 + */
  99 + @GetMapping(value = "/getInspList")
  100 + public CommonResult getInspList(@RequestParam String date) throws Exception {
  101 + HashMap map = new HashMap();
  102 + map.put("date", date);
  103 + List<String> gslxList = wCurrentManager.getCurrentOrgTypeList();
  104 + BigDecimal F_yesterday_account_balance_zs = BigDecimal.ZERO;
  105 + BigDecimal F_today_account_balance_zs = BigDecimal.ZERO;
  106 + BigDecimal F_account_balance_difference_zs = BigDecimal.ZERO;
  107 + BigDecimal F_today_net_cash_flow_zs = BigDecimal.ZERO;
  108 + BigDecimal F_today_freeze_amount_zs = BigDecimal.ZERO;
  109 + BigDecimal F_today_freezing_zs = BigDecimal.ZERO;
  110 + List<Map> list = new ArrayList<Map>();
  111 + for (String orgType : gslxList) {
  112 + List<WDailyFunds> listDataBean = baseService.getDailyFundsByDateList(orgType, date);
  113 + if (listDataBean == null || listDataBean.size() == 0) {
  114 + break;
  115 + }
  116 + List<Map<String, Object>> listData = convertToMapList(listDataBean);
  117 + BigDecimal F_yesterday_account_balance = BigDecimal.ZERO;
  118 + BigDecimal F_today_account_balance = BigDecimal.ZERO;
  119 + BigDecimal F_account_balance_difference = BigDecimal.ZERO;
  120 + BigDecimal F_today_net_cash_flow = BigDecimal.ZERO;
  121 + BigDecimal F_today_freeze_amount = BigDecimal.ZERO;
  122 + BigDecimal F_today_freezing = BigDecimal.ZERO;
  123 + for (Map<String, Object> data : listData) {
  124 + F_yesterday_account_balance = aggregateBalance(data, "fYesterdayAccountBalance", F_yesterday_account_balance);
  125 + F_today_account_balance = aggregateBalance(data, "fTodayAccountBalance", F_today_account_balance);
  126 + F_account_balance_difference = aggregateBalance(data, "fAccountBalanceDifference", F_account_balance_difference);
  127 + F_today_net_cash_flow = aggregateBalance(data, "fTodayNetCashFlow", F_today_net_cash_flow);
  128 + F_today_freeze_amount = aggregateBalance(data, "fTodayFreezeAmount", F_today_freeze_amount);
  129 + F_today_freezing = aggregateBalance(data, "fTodayFreezing", F_today_freezing);
  130 + }
  131 + Map<String, Object> xjMap = new HashMap<>();
  132 + xjMap.put("fOrgType", "小计(" + orgType + ")");
  133 + xjMap.put("fDate", "小计(" + orgType + ")");
  134 + xjMap.put("fOrgName", "小计(" + orgType + ")");
  135 + xjMap.put("fYesterdayAccountBalance", F_yesterday_account_balance.setScale(2, RoundingMode.HALF_UP).toString());
  136 + xjMap.put("fTodayAccountBalance", F_today_account_balance.setScale(2, RoundingMode.HALF_UP).toString());
  137 + xjMap.put("fAccountBalanceDifference", F_account_balance_difference.setScale(2, RoundingMode.HALF_UP).toString());
  138 + xjMap.put("fTodayNetCashFlow", F_today_net_cash_flow.setScale(2, RoundingMode.HALF_UP).toString());
  139 + xjMap.put("fTodayFreezeAmount", F_today_freeze_amount.setScale(2, RoundingMode.HALF_UP).toString());
  140 + xjMap.put("fTodayFreezing", F_today_freezing.setScale(2, RoundingMode.HALF_UP).toString());
  141 + listData.add(xjMap);
  142 + list.addAll(listData);
  143 + F_yesterday_account_balance_zs = F_yesterday_account_balance_zs.add(F_yesterday_account_balance);
  144 + F_today_account_balance_zs = F_today_account_balance_zs.add(F_today_account_balance);
  145 + F_account_balance_difference_zs = F_account_balance_difference_zs.add(F_account_balance_difference);
  146 + F_today_net_cash_flow_zs = F_today_net_cash_flow_zs.add(F_today_net_cash_flow);
  147 + F_today_freeze_amount_zs = F_today_freeze_amount_zs.add(F_today_freeze_amount);
  148 + F_today_freezing_zs = F_today_freezing_zs.add(F_today_freezing);
92 149 }
  150 + HashMap<String, String> hzMap = new HashMap<>();
  151 + hzMap.put("fOrgType", "汇总");
  152 + hzMap.put("fDate", "汇总");
  153 + hzMap.put("fOrgName", "汇总");
  154 + hzMap.put("fYesterdayAccountBalance", F_yesterday_account_balance_zs.setScale(2, RoundingMode.HALF_UP).toString());
  155 + hzMap.put("fTodayAccountBalance", F_today_account_balance_zs.setScale(2, RoundingMode.HALF_UP).toString());
  156 + hzMap.put("fAccountBalanceDifference", F_account_balance_difference_zs.setScale(2, RoundingMode.HALF_UP).toString());
  157 + hzMap.put("fTodayNetCashFlow", F_today_net_cash_flow_zs.setScale(2, RoundingMode.HALF_UP).toString());
  158 + hzMap.put("fTodayFreezeAmount", F_today_freeze_amount_zs.setScale(2, RoundingMode.HALF_UP).toString());
  159 + hzMap.put("fTodayFreezing", F_today_freezing_zs.setScale(2, RoundingMode.HALF_UP).toString());
  160 + list.add(hzMap);
  161 + map.put("list", list);
  162 + return CommonResult.ok().value(list);
  163 +
93 164 }
94 165  
95 166 /**
... ... @@ -104,60 +175,58 @@ public class WDailyFundsController extends BaseController&lt;WDailyFundsManager, WD
104 175 HashMap map = new HashMap();
105 176 map.put("date", date);
106 177 List<String> gslxList = wCurrentManager.getCurrentOrgTypeList();
107   -
108   -
109 178 BigDecimal F_yesterday_account_balance_zs = BigDecimal.ZERO;
110 179 BigDecimal F_today_account_balance_zs = BigDecimal.ZERO;
111 180 BigDecimal F_account_balance_difference_zs = BigDecimal.ZERO;
112 181 BigDecimal F_today_net_cash_flow_zs = BigDecimal.ZERO;
113 182 BigDecimal F_today_freeze_amount_zs = BigDecimal.ZERO;
114 183 BigDecimal F_today_freezing_zs = BigDecimal.ZERO;
115   -
116   - List<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();
  184 + List<Map> list = new ArrayList<Map>();
117 185 for (String orgType : gslxList) {
118   - List<HashMap<String, String>> listData = baseService.getDailyFundsByDateList(orgType, date);
119   - if (listData == null || listData.size() == 0) {
  186 + List<WDailyFunds> listDataBean = baseService.getDailyFundsByDateList(orgType, date);
  187 + if (listDataBean == null || listDataBean.size() == 0) {
120 188 break;
121 189 }
  190 + List<Map<String, Object>> listData = convertToMapList(listDataBean);
122 191 BigDecimal F_yesterday_account_balance = BigDecimal.ZERO;
123 192 BigDecimal F_today_account_balance = BigDecimal.ZERO;
124 193 BigDecimal F_account_balance_difference = BigDecimal.ZERO;
125 194 BigDecimal F_today_net_cash_flow = BigDecimal.ZERO;
126 195 BigDecimal F_today_freeze_amount = BigDecimal.ZERO;
127 196 BigDecimal F_today_freezing = BigDecimal.ZERO;
128   - for (HashMap<String, String> data : listData) {
129   - F_yesterday_account_balance = aggregateBalance(data, "F_yesterday_account_balance", F_yesterday_account_balance);
130   - F_today_account_balance = aggregateBalance(data, "F_today_account_balance", F_today_account_balance);
131   - F_account_balance_difference = aggregateBalance(data, "F_account_balance_difference", F_account_balance_difference);
132   - F_today_net_cash_flow = aggregateBalance(data, "F_today_net_cash_flow", F_today_net_cash_flow);
133   - F_today_freeze_amount = aggregateBalance(data, "F_today_freeze_amount", F_today_freeze_amount);
134   - F_today_freezing = aggregateBalance(data, "F_today_freezing", F_today_freezing);
  197 + for (Map<String, Object> data : listData) {
  198 + F_yesterday_account_balance = aggregateBalance(data, "fYesterdayAccountBalance", F_yesterday_account_balance);
  199 + F_today_account_balance = aggregateBalance(data, "fTodayAccountBalance", F_today_account_balance);
  200 + F_account_balance_difference = aggregateBalance(data, "fAccountBalanceDifference", F_account_balance_difference);
  201 + F_today_net_cash_flow = aggregateBalance(data, "fTodayNetCashFlow", F_today_net_cash_flow);
  202 + F_today_freeze_amount = aggregateBalance(data, "fTodayFreezeAmount", F_today_freeze_amount);
  203 + F_today_freezing = aggregateBalance(data, "fTodayFreezing", F_today_freezing);
135 204 }
136   - HashMap<String, String> xjMap = new HashMap<>();
137   - xjMap.put("F_org_type", "小计(" + orgType + ")");
138   - xjMap.put("F_yesterday_account_balance", F_yesterday_account_balance.setScale(2, RoundingMode.HALF_UP).toString());
139   - xjMap.put("F_today_account_balance", F_today_account_balance.setScale(2, RoundingMode.HALF_UP).toString());
140   - xjMap.put("F_account_balance_difference", F_account_balance_difference.setScale(2, RoundingMode.HALF_UP).toString());
141   - xjMap.put("F_today_net_cash_flow", F_today_net_cash_flow.setScale(2, RoundingMode.HALF_UP).toString());
142   - xjMap.put("F_today_freeze_amount", F_today_freeze_amount.setScale(2, RoundingMode.HALF_UP).toString());
143   - xjMap.put("F_today_freezing", F_today_freezing.setScale(2, RoundingMode.HALF_UP).toString());
  205 + Map<String, Object> xjMap = new HashMap<>();
  206 + xjMap.put("fOrgType", "小计(" + orgType + ")");
  207 + xjMap.put("fYesterdayAccountBalance", F_yesterday_account_balance.setScale(2, RoundingMode.HALF_UP).toString());
  208 + xjMap.put("fTodayAccountBalance", F_today_account_balance.setScale(2, RoundingMode.HALF_UP).toString());
  209 + xjMap.put("fAccountBalanceDifference", F_account_balance_difference.setScale(2, RoundingMode.HALF_UP).toString());
  210 + xjMap.put("fTodayNetCashFlow", F_today_net_cash_flow.setScale(2, RoundingMode.HALF_UP).toString());
  211 + xjMap.put("fTodayFreezeAmount", F_today_freeze_amount.setScale(2, RoundingMode.HALF_UP).toString());
  212 + xjMap.put("fTodayFreezing", F_today_freezing.setScale(2, RoundingMode.HALF_UP).toString());
144 213 listData.add(xjMap);
145 214 list.addAll(listData);
146 215 F_yesterday_account_balance_zs = F_yesterday_account_balance_zs.add(F_yesterday_account_balance);
147   - F_today_account_balance_zs= F_today_account_balance_zs.add(F_today_account_balance);
148   - F_account_balance_difference_zs=F_account_balance_difference_zs.add(F_account_balance_difference);
149   - F_today_net_cash_flow_zs=F_today_net_cash_flow_zs.add(F_today_net_cash_flow);
150   - F_today_freeze_amount_zs=F_today_freeze_amount_zs.add(F_today_freeze_amount);
151   - F_today_freezing_zs=F_today_freezing_zs.add(F_today_freezing);
  216 + F_today_account_balance_zs = F_today_account_balance_zs.add(F_today_account_balance);
  217 + F_account_balance_difference_zs = F_account_balance_difference_zs.add(F_account_balance_difference);
  218 + F_today_net_cash_flow_zs = F_today_net_cash_flow_zs.add(F_today_net_cash_flow);
  219 + F_today_freeze_amount_zs = F_today_freeze_amount_zs.add(F_today_freeze_amount);
  220 + F_today_freezing_zs = F_today_freezing_zs.add(F_today_freezing);
152 221 }
153 222 HashMap<String, String> hzMap = new HashMap<>();
154   - hzMap.put("F_org_type", "汇总");
155   - hzMap.put("F_yesterday_account_balance", F_yesterday_account_balance_zs.setScale(2, RoundingMode.HALF_UP).toString());
156   - hzMap.put("F_today_account_balance", F_today_account_balance_zs.setScale(2, RoundingMode.HALF_UP).toString());
157   - hzMap.put("F_account_balance_difference", F_account_balance_difference_zs.setScale(2, RoundingMode.HALF_UP).toString());
158   - hzMap.put("F_today_net_cash_flow", F_today_net_cash_flow_zs.setScale(2, RoundingMode.HALF_UP).toString());
159   - hzMap.put("F_today_freeze_amount", F_today_freeze_amount_zs.setScale(2, RoundingMode.HALF_UP).toString());
160   - hzMap.put("F_today_freezing", F_today_freezing_zs.setScale(2, RoundingMode.HALF_UP).toString());
  223 + hzMap.put("fOrgType", "汇总");
  224 + hzMap.put("fYesterdayAccountBalance", F_yesterday_account_balance_zs.setScale(2, RoundingMode.HALF_UP).toString());
  225 + hzMap.put("fTodayAccountBalance", F_today_account_balance_zs.setScale(2, RoundingMode.HALF_UP).toString());
  226 + hzMap.put("fAccountBalanceDifference", F_account_balance_difference_zs.setScale(2, RoundingMode.HALF_UP).toString());
  227 + hzMap.put("fTodayNetCashFlow", F_today_net_cash_flow_zs.setScale(2, RoundingMode.HALF_UP).toString());
  228 + hzMap.put("fTodayFreezeAmount", F_today_freeze_amount_zs.setScale(2, RoundingMode.HALF_UP).toString());
  229 + hzMap.put("fTodayFreezing", F_today_freezing_zs.setScale(2, RoundingMode.HALF_UP).toString());
161 230 list.add(hzMap);
162 231 map.put("list", list);
163 232 TemplateExportParams params = new TemplateExportParams("doc/dailyFundsByDateExport.xls");
... ... @@ -181,5 +250,62 @@ public class WDailyFundsController extends BaseController&lt;WDailyFundsManager, WD
181 250 }
182 251 }
183 252  
  253 + //金额计算
  254 + private BigDecimal aggregateBalance(Map<String, Object> data, String key, BigDecimal aggregate) {
  255 + Object value = data.get(key);
  256 + if (value != null) {
  257 + if (value instanceof Number) {
  258 + // 如果 value 是 Number 的实例,则安全地转换并添加到累加器中
  259 + return aggregate.add(new BigDecimal(((Number) value).doubleValue()));
  260 + } else if (value instanceof String) {
  261 + // 如果 value 是 String,则尝试将其解析为 BigDecimal
  262 + try {
  263 + BigDecimal number = new BigDecimal((String) value);
  264 + return aggregate.add(number);
  265 + } catch (NumberFormatException e) {
  266 + // 如果解析失败,返回原来的累加器值
  267 + return aggregate;
  268 + }
  269 + }
  270 + }
  271 + // 如果 value 为 null 或者既不是 Number 也不是 String,返回原来的累加器值
  272 + return aggregate;
  273 + }
  274 +
  275 + //类中转换
  276 + private static List<Map<String, Object>> convertToMapList(List<WDailyFunds> fundsList) {
  277 + List<Map<String, Object>> resultList = new ArrayList<>();
  278 + for (WDailyFunds dailyFunds : fundsList) {
  279 + Map<String, Object> map = new HashMap<>();
  280 + map.put("id", dailyFunds.getId());
  281 + map.put("refId", dailyFunds.getRefId());
  282 + map.put("fDate", dailyFunds.getFDate() != null ? dailyFunds.getFDate().toLocalDate() : null);
  283 + map.put("fOrgName", dailyFunds.getFOrgName());
  284 + map.put("fOrgId", dailyFunds.getFOrgId());
  285 + map.put("fOrgType", dailyFunds.getFOrgType());
  286 + map.put("fYesterdayAccountBalance", dailyFunds.getFYesterdayAccountBalance()==null?null:dailyFunds.getFYesterdayAccountBalance().setScale(2, RoundingMode.HALF_UP).toString());
  287 + map.put("fTodayAccountBalance", dailyFunds.getFTodayAccountBalance()==null?null:dailyFunds.getFTodayAccountBalance().setScale(2, RoundingMode.HALF_UP).toString());
  288 + map.put("fAccountBalanceDifference", dailyFunds.getFAccountBalanceDifference()==null?null:dailyFunds.getFAccountBalanceDifference().setScale(2, RoundingMode.HALF_UP).toString());
  289 + map.put("fTodayNetCashFlow", dailyFunds.getFTodayNetCashFlow()==null?null:dailyFunds.getFTodayNetCashFlow().setScale(2, RoundingMode.HALF_UP).toString());
  290 + map.put("fTodayFreezeAmount", dailyFunds.getFTodayFreezeAmount()==null?null:dailyFunds.getFTodayFreezeAmount().setScale(2, RoundingMode.HALF_UP).toString());
  291 + map.put("fTodayFreezing", dailyFunds.getFTodayFreezing()==null?null:dailyFunds.getFTodayFreezing().setScale(2, RoundingMode.HALF_UP).toString());
  292 + map.put("fInspStatusName", dailyFunds.getFInspStatusName());
  293 + map.put("fInspTime", dailyFunds.getFInspTime());
  294 + map.put("fInspNotes", dailyFunds.getFInspNotes());
  295 + map.put("fInspBy", dailyFunds.getFInspBy());
  296 + map.put("fInspId", dailyFunds.getFInspId());
  297 + map.put("fCreateBy", dailyFunds.getFCreateBy());
  298 + map.put("fCreateId", dailyFunds.getFCreateId());
  299 + map.put("fCreateTime", dailyFunds.getFCreateTime());
  300 + map.put("fUpdateBy", dailyFunds.getFUpdateBy());
  301 + map.put("fUpdateId", dailyFunds.getFUpdateId());
  302 + map.put("fUpdateTime", dailyFunds.getFUpdateTime());
  303 + map.put("fFormDataRev", dailyFunds.getFFormDataRev());
  304 + map.put("fOrderNo", dailyFunds.getFOrderNo());
  305 + resultList.add(map);
  306 + }
  307 + return resultList;
  308 + }
  309 +
184 310  
185 311 }
... ...
backend/chkpower/src/main/java/com/hotent/chkpower/dao/WDailyFundsDao.java
... ... @@ -27,6 +27,6 @@ public interface WDailyFundsDao extends BaseMapper&lt;WDailyFunds&gt; {
27 27  
28 28 List<WDailyFunds> selectWDailyFundsNews(@Param("wCurrentList") List<HashMap<String,String>> wCurrentList, @Param("fDate") LocalDateTime fDate);
29 29  
30   - List<HashMap<String, String>> getDailyFundsByDateList(@Param("fOrgType") String fOrgType, @Param("fDate") String fDate);
  30 +// List<HashMap<String, String>> getDailyFundsByDateList(@Param("fOrgType") String fOrgType, @Param("fDate") String fDate);
31 31  
32 32 }
... ...
backend/chkpower/src/main/java/com/hotent/chkpower/manager/WDailyFundsManager.java
... ... @@ -38,8 +38,15 @@ public interface WDailyFundsManager extends BaseManager&lt;WDailyFunds&gt; {
38 38 void updateInsp(WDailyFundsInspDto wDailyFundsInspDto);
39 39  
40 40  
41   - List<HashMap<String, String>> getDailyFundsByDateList(String orgType, String date);
  41 + List<WDailyFunds> getDailyFundsByDateList(String orgType, String date);
42 42  
43 43 void verifyInitWDailyFunds(LocalDateTime fDate);
44 44  
  45 + /**
  46 + * 批量复核,每条状态不一致
  47 + * @param wDailyFunds
  48 + */
  49 + void updateInsps( List<WDailyFunds> wDailyFunds);
  50 +
  51 +
45 52 }
... ...
backend/chkpower/src/main/java/com/hotent/chkpower/manager/impl/WDailyFundsManagerImpl.java
... ... @@ -99,6 +99,7 @@ public class WDailyFundsManagerImpl extends BaseManagerImpl&lt;WDailyFundsDao, WDai
99 99 }
100 100 }
101 101  
  102 + @Transactional
102 103 @Override
103 104 public void updateInsp(WDailyFundsInspDto wDailyFundsInspDto) {
104 105 List<WDailyFunds> wDailyFunds = wDailyFundsInspDto.getwDailyFundsList();
... ... @@ -128,8 +129,13 @@ public class WDailyFundsManagerImpl extends BaseManagerImpl&lt;WDailyFundsDao, WDai
128 129 }
129 130  
130 131 @Override
131   - public List<HashMap<String, String>> getDailyFundsByDateList(String orgType, String date) {
132   - return baseMapper.getDailyFundsByDateList(orgType,date);
  132 + public List<WDailyFunds> getDailyFundsByDateList(String orgType, String date) {
  133 + List<WDailyFunds> wDailyFunds = baseMapper.selectList(Wrappers.<WDailyFunds>lambdaQuery()
  134 + .eq(WDailyFunds::getFOrgType, orgType)
  135 + .eq(WDailyFunds::getFDate, date)
  136 + .orderByAsc(WDailyFunds::getFOrderNo)
  137 + );
  138 + return wDailyFunds;
133 139 }
134 140  
135 141 @Override
... ... @@ -140,4 +146,30 @@ public class WDailyFundsManagerImpl extends BaseManagerImpl&lt;WDailyFundsDao, WDai
140 146 }
141 147 }
142 148  
  149 + @Transactional
  150 + @Override
  151 + public void updateInsps(List<WDailyFunds> wDailyFunds) {
  152 + for (WDailyFunds wDailyFund : wDailyFunds) {
  153 + baseMapper.update(null,Wrappers.<WDailyFunds>lambdaUpdate()
  154 + .set(WDailyFunds::getFUpdateBy, scriptImpl.getCurrentUserName())
  155 + .set(WDailyFunds::getFUpdateId, scriptImpl.getCurrentUserId())
  156 + .set(WDailyFunds::getFInspStatusName, wDailyFund.getFInspStatusName())
  157 + .set(WDailyFunds::getFInspTime, LocalDateTime.now())
  158 + .set(WDailyFunds::getFInspNotes, wDailyFund.getFInspNotes())
  159 + .eq(WDailyFunds::getId, wDailyFund.getId())
  160 + );
  161 +
  162 + WFinance wFinance = new WFinance();
  163 + wFinance.setFUpdateBy(scriptImpl.getCurrentUserName());
  164 + wFinance.setFUpdateId(scriptImpl.getCurrentUserId());
  165 + wFinance.setFInspStatusName(wDailyFund.getFInspStatusName());
  166 + wFinance.setFInspTime(LocalDateTime.now());
  167 + wFinance.setFInspNotes(wDailyFund.getFInspNotes());
  168 + wFinance.setFDate(wDailyFund.getFDate());
  169 + wFinance.setFOrgId(wDailyFund.getFOrgId());
  170 + wFinanceDao.updateInsp(wFinance);
  171 + wCurrentReportManager.updateInsp(wDailyFund.getFDate(),wDailyFund.getFOrgId(),wDailyFund.getFInspStatusName(),wDailyFund.getFInspNotes());
  172 + }
  173 + }
  174 +
143 175 }
... ...
backend/chkpower/src/main/java/com/hotent/chkpower/model/WDailyFunds.java
... ... @@ -2,6 +2,7 @@ package com.hotent.chkpower.model;
2 2  
3 3 import java.math.BigDecimal;
4 4 import com.baomidou.mybatisplus.annotation.IdType;
  5 +import com.fasterxml.jackson.annotation.JsonFormat;
5 6 import com.hotent.base.entity.BaseModel;
6 7 import com.baomidou.mybatisplus.extension.activerecord.Model;
7 8 import com.baomidou.mybatisplus.annotation.TableId;
... ... @@ -26,127 +27,127 @@ public class WDailyFunds extends BaseModel&lt;WDailyFunds&gt; {
26 27 @TableId(value = "ID_", type = IdType.ASSIGN_ID)
27 28 @JsonProperty("id")
28 29 private String id;
29   -
  30 +
30 31 @ApiModelProperty(value = "外键")
31 32 @TableField("REF_ID_")
32 33 @JsonProperty("refId")
33 34 private String refId;
34   -
  35 +
35 36 @ApiModelProperty(value = "日期")
36 37 @TableField("F_date")
37 38 @JsonProperty("fDate")
38 39 private LocalDateTime fDate;
39   -
  40 +
40 41 @ApiModelProperty(value = "公司")
41 42 @TableField("F_org_name")
42 43 @JsonProperty("fOrgName")
43 44 private String fOrgName;
44   -
  45 +
45 46 @ApiModelProperty(value = "公司id")
46 47 @TableField("F_org_id")
47 48 @JsonProperty("fOrgId")
48 49 private String fOrgId;
49   -
  50 +
50 51 @ApiModelProperty(value = "公司类型")
51 52 @TableField("F_org_type")
52 53 @JsonProperty("fOrgType")
53 54 private String fOrgType;
54   -
  55 +
55 56 @ApiModelProperty(value = "昨日余额")
56 57 @TableField("F_yesterday_account_balance")
57 58 @JsonProperty("fYesterdayAccountBalance")
58 59 private BigDecimal fYesterdayAccountBalance;
59   -
  60 +
60 61 @ApiModelProperty(value = "今日余额")
61 62 @TableField("F_today_account_balance")
62 63 @JsonProperty("fTodayAccountBalance")
63 64 private BigDecimal fTodayAccountBalance;
64   -
  65 +
65 66 @ApiModelProperty(value = "余额差额")
66 67 @TableField("F_account_balance_difference")
67 68 @JsonProperty("fAccountBalanceDifference")
68 69 private BigDecimal fAccountBalanceDifference;
69   -
  70 +
70 71 @ApiModelProperty(value = "今日净现金流")
71 72 @TableField("F_today_net_cash_flow")
72 73 @JsonProperty("fTodayNetCashFlow")
73 74 private BigDecimal fTodayNetCashFlow;
74   -
  75 +
75 76 @ApiModelProperty(value = "今日被冻结金额")
76 77 @TableField("F_today_freeze_amount")
77 78 @JsonProperty("fTodayFreezeAmount")
78 79 private BigDecimal fTodayFreezeAmount;
79   -
  80 +
80 81 @ApiModelProperty(value = "今日冻结上限")
81 82 @TableField("F_today_freezing")
82 83 @JsonProperty("fTodayFreezing")
83 84 private BigDecimal fTodayFreezing;
84   -
  85 +
85 86 @ApiModelProperty(value = "复核状态")
86 87 @TableField("F_insp_status_name")
87 88 @JsonProperty("fInspStatusName")
88 89 private String fInspStatusName;
89   -
  90 +
90 91 @ApiModelProperty(value = "复核时间")
91 92 @TableField("F_insp_time")
92 93 @JsonProperty("fInspTime")
93 94 private LocalDateTime fInspTime;
94   -
  95 +
95 96 @ApiModelProperty(value = "复核备注")
96 97 @TableField("F_insp_notes")
97 98 @JsonProperty("fInspNotes")
98 99 private String fInspNotes;
99   -
  100 +
100 101 @ApiModelProperty(value = "复核人")
101 102 @TableField("F_insp_by")
102 103 @JsonProperty("fInspBy")
103 104 private String fInspBy;
104   -
  105 +
105 106 @ApiModelProperty(value = "复核人id")
106 107 @TableField("F_insp_id")
107 108 @JsonProperty("fInspId")
108 109 private String fInspId;
109   -
  110 +
110 111 @ApiModelProperty(value = "创建人")
111 112 @TableField("F_create_by")
112 113 @JsonProperty("fCreateBy")
113 114 private String fCreateBy;
114   -
  115 +
115 116 @ApiModelProperty(value = "创建人id")
116 117 @TableField("F_create_id")
117 118 @JsonProperty("fCreateId")
118 119 private String fCreateId;
119   -
  120 +
120 121 @ApiModelProperty(value = "创建时间")
121 122 @TableField("F_create_time")
122 123 @JsonProperty("fCreateTime")
123 124 private LocalDateTime fCreateTime;
124   -
  125 +
125 126 @ApiModelProperty(value = "修改人")
126 127 @TableField("F_update_by")
127 128 @JsonProperty("fUpdateBy")
128 129 private String fUpdateBy;
129   -
  130 +
130 131 @ApiModelProperty(value = "修改人id")
131 132 @TableField("F_update_id")
132 133 @JsonProperty("fUpdateId")
133 134 private String fUpdateId;
134   -
  135 +
135 136 @ApiModelProperty(value = "修改时间")
136 137 @TableField("F_update_time")
137 138 @JsonProperty("fUpdateTime")
138 139 private LocalDateTime fUpdateTime;
139   -
  140 +
140 141 @ApiModelProperty(value = "表单数据版本")
141 142 @TableField("F_form_data_rev_")
142 143 @JsonProperty("fFormDataRev")
143 144 private Long fFormDataRev;
144   -
  145 +
145 146 @ApiModelProperty(value = "排序")
146 147 @TableField("F_order_no")
147 148 @JsonProperty("fOrderNo")
148 149 private BigDecimal fOrderNo;
149   -
  150 +
150 151  
151 152 public String getId() {
152 153 return id;
... ...
backend/chkpower/src/main/resources/doc/dailyFundsByDateExport.xls
No preview for this file type
backend/chkpower/src/main/resources/mapper/WDailyFundsMapper.xml
... ... @@ -103,9 +103,9 @@
103 103 </if>
104 104 </select>
105 105  
106   - <select id="getDailyFundsByDateList" resultType="java.util.HashMap">
107   - SELECT * FROM w_daily_funds
108   - WHERE F_org_type =#{fOrgType} and DATE(F_date) =DATE(#{fDate})
109   - ORDER BY F_order_no asc
110   - </select>
  106 +<!-- <select id="getDailyFundsByDateList" resultType="java.util.HashMap">-->
  107 +<!-- SELECT * FROM w_daily_funds-->
  108 +<!-- WHERE F_org_type =#{fOrgType} and DATE(F_date) =DATE(#{fDate})-->
  109 +<!-- ORDER BY F_order_no asc-->
  110 +<!-- </select>-->
111 111 </mapper>
... ...
frontend/front/src/api/service/dailyFunds.js
... ... @@ -9,6 +9,22 @@ export function updateInsp(data) {
9 9 })
10 10 }
11 11  
  12 +export function updateInsps(data) {
  13 + return request({
  14 + url: `${context.portal}/wDailyFunds/v1/updateInsps`,
  15 + method: 'post',
  16 + data,
  17 + })
  18 +}
  19 +
  20 +export function getInspList(date) {
  21 + return request({
  22 + url: `${context.portal}/wDailyFunds/v1/getInspList?date=` + date,
  23 + method: 'get',
  24 + })
  25 +}
  26 +
  27 +
12 28 export function dailyFundsByDateExport(date) {
13 29 return request({
14 30 url: `${context.portal}/wDailyFunds/v1/dailyFundsByDateExport?date=${date}`,
... ...
frontend/front/src/views/pages/reviewOfFinancialDailyReport/index.vue
1 1 <template>
2   - <div class='container'>
3   - <el-container>
4   - <el-header>
5   - <div class="title">
6   - <span>资金复核日报</span>
7   - <el-date-picker v-model="days" value-format="yyyy-MM-dd" type="date" placeholder="选择日期"
8   - @change="handleChangeDate">
9   - </el-date-picker>
10   - <!-- {{ days }} -->
11   - </div>
12   - </el-header>
13   - <el-main>
14   - <el-table :data="tableData" border show-summary :default-sort="{ prop: 'wdailyfundsfdate', order: '' }"
15   - :summary-method="getSummaries" :span-method="spanMethod" :cell-style="cellStyleMethod"
16   - style="width: 100%; margin-top: 20px">
17   - <!-- <el-table-column type="selection" width="55"></el-table-column> -->
18   - <el-table-column prop="wdailyfundsforgtype" align="center" label="公司类型"></el-table-column>
19   - <el-table-column prop="wdailyfundsfdate" align="center" sortable label="日期">
20   - </el-table-column>
21   - <el-table-column prop="wdailyfundsforgname" align="center" label="公司"> </el-table-column>
22   - <el-table-column prop="wdailyfundsfyesterdayaccountbalance" align="center" label="昨日余额">
23   - </el-table-column>
24   - <el-table-column prop="wdailyfundsftodayaccountbalance" align="center" label="今日余额">
25   - </el-table-column>
26   - <el-table-column prop="wdailyfundsfaccountbalancedifference" align="center" label="差额(今日-昨日)">
27   - </el-table-column>
28   - <el-table-column prop="wdailyfundsftodaynetcashflow" align="center" label="净现金流"> </el-table-column>
29   - <el-table-column prop="wdailyfundsftodayfreezing" align="center" label="冻结金额"> </el-table-column>
30   - <el-table-column prop="wdailyfundsftodayfreezeamount" align="center" label="冻结金额上限">
31   - </el-table-column>
32   - <el-table-column prop="wdailyfundsfinspstatusname" align="center" label="复核"> </el-table-column>
33   - <el-table-column prop="" align="center" label="复核人"> </el-table-column>
34   - <el-table-column prop="" align="center" label="填报人"> </el-table-column>
35   - <el-table-column prop="remake" label="备注"> </el-table-column>
36   - </el-table>
37   - </el-main>
38   - <el-footer>
39   - <div class="" style="display: flex;justify-content: center;" v-if="tableData.length">
40   - <el-button type="primary" style="width: 200px;" @click="handleReview">
41   - 复核完成
42   - </el-button>
43   - </div>
44   - </el-footer>
45   - </el-container>
46   - <!-- <div slot="append" style="display:flex;">
47   - <div class="sum_footer">
48   - <div class="sum_footer_unit center" style="width:160px;">
49   - 合计(大写)
50   - </div>
51   - <div class="sum_footer_unit" style="width:350px;">11111</div>
52   - </div>
53   - <div class="sum_footer">
54   - <div class="sum_footer_unit center" style="width:120px;">
55   - 合计(小写)
56   - </div>
57   - <div class="sum_footer_unit" style="flex-grow:3">2222</div>
58   - </div>
59   - </div> -->
60   - </div>
  2 + <div class='container' v-loading="loading">
  3 + <el-container>
  4 + <el-header>
  5 + <div class="title">
  6 + <span>资金复核日报</span>
  7 + <el-date-picker v-model="days" value-format="yyyy-MM-dd" type="date" placeholder="选择日期"
  8 + @change="handleChangeDate">
  9 + </el-date-picker>
  10 + </div>
  11 + </el-header>
  12 + <el-main>
  13 + <el-row>
  14 + <el-col :span="12">
  15 + <el-button icon="el-icon-download" @click="onSubmitDc">资金日报导出</el-button>
  16 + </el-col>
  17 + <el-col :span="12">
  18 + <div style="text-align: right;">
  19 + <el-checkbox v-model="updateInspStatusChecked" style="margin-right: 15px;">包含已复核</el-checkbox>
  20 + <el-button type="warning" @click="onUpdateInspStatusName('不通过')">一键不通过</el-button>
  21 + <el-button type="success" @click="onUpdateInspStatusName('通过')">一键通过</el-button>
  22 + </div>
  23 + </el-col>
  24 + </el-row>
  25 + <el-table :data="tableData" border :default-sort="{ prop: 'wdailyfundsfdate', order: '' }"
  26 + :span-method="spanMethod" :row-class-name="tableRowClassName"> style="width: 100%; margin-top: 20px">
  27 + <el-table-column prop="fOrgType" align="center" label="公司类型" width="80"></el-table-column>
  28 + <el-table-column prop="fDate" align="center" sortable label="日期" width="120"></el-table-column>
  29 + <el-table-column prop="fOrgName" align="center" label="公司"></el-table-column>
  30 + <el-table-column prop="fYesterdayAccountBalance" align="center" label="昨日余额"
  31 + width="120"></el-table-column>
  32 + <el-table-column prop="fTodayAccountBalance" align="center" label="今日余额" width="120"></el-table-column>
  33 + <el-table-column prop="fAccountBalanceDifference" align="center" label="差额(今日-昨日)"
  34 + width="120"></el-table-column>
  35 + <el-table-column prop="fTodayNetCashFlow" align="center" label="净现金流" width="120"></el-table-column>
  36 + <el-table-column prop="fTodayFreezeAmount" align="center" label="冻结金额" width="120"></el-table-column>
  37 + <el-table-column prop="fTodayFreezing" align="center" label="冻结金额上限" width="120"></el-table-column>
  38 + <el-table-column prop="fInspStatusName" align="center" label="复核" width="120">
  39 + <template slot-scope="scope">
  40 + <template v-if="scope.row.id">
  41 + <el-select v-model="scope.row.fInspStatusName" placeholder="请选择" style="width: 100%">
  42 + <el-option label="通过" value="通过"></el-option>
  43 + <el-option label="不通过" value="不通过"></el-option>
  44 + </el-select>
  45 + </template>
  46 + </template>
  47 + </el-table-column>
  48 + <el-table-column prop="fInspNotes" align="center" label="备注" width="220">
  49 + <template slot-scope="scope">
  50 + <template v-if="scope.row.id">
  51 + <el-input placeholder="请输入内容" v-model="scope.row.fInspNotes" clearable></el-input>
  52 + </template>
  53 + </template>
  54 + </el-table-column>
  55 + </el-table>
  56 + </el-main>
  57 + <el-footer>
  58 + <div class="footerBtn" v-if="tableData.length">
  59 + <el-button type="primary" style="width: 200px;" @click="handleReview" v-if="!isOn()">
  60 + 复核完成
  61 + </el-button>
  62 + <el-button type="info" style="width: 200px;" plain v-if="isOn()">
  63 + 复核完成
  64 + </el-button>
  65 + </div>
  66 + </el-footer>
  67 + </el-container>
  68 + </div>
61 69 </template>
62   -
63 70 <script>
  71 +import {dailyFundsByDateExport, getInspList, updateInsps} from "@/api/service/dailyFunds";
  72 +import TemplateForm from "@/components/dataTemplate/TemplateForm.vue";
  73 +
64 74 export default {
65   - data() {
66   - return {
67   - tableData: [],
68   - days: new Date(Date.now() - 86400000).toISOString().split('T')[0]
69   - };
  75 + components: {TemplateForm},
  76 + data() {
  77 + return {
  78 + loading:false,
  79 + updateInspStatusChecked: false,
  80 + tableData: [],
  81 + days: new Date(Date.now() - 86400000).toISOString().split('T')[0]
  82 + };
  83 + },
  84 + mounted() {
  85 + this.initData();
  86 + },
  87 + methods: {
  88 + async initData() {
  89 + let data = await getInspList(this.days);
  90 + this.tableData = this.mergeTableRow(data.value, ['fOrgType']);
  91 + },
  92 + handleChangeDate() {
  93 + this.initData();
70 94 },
71   - mounted() {
72   - this.initData();
  95 + spanMethod({row, column, rowIndex, columnIndex}) {
  96 + if (column.property == 'fOrgType' && row.fOrgType != row.fDate) {
  97 + return [row.fOrgTypeSPAN.rowspan, row.fOrgTypeSPAN.colspan]
  98 + }
  99 + if (row.fOrgType == row.fDate) {
  100 + if (columnIndex == 0) {
  101 + return [1, 3];
  102 + } else if (columnIndex == 1 || columnIndex == 2) {
  103 + return [0, 0];
  104 + }
  105 + }
73 106 },
74   - methods: {
75   - async initData() {
76   - let params = {
77   - "templateId": "1810231230602571776",
78   - "queryFilter": {
79   - "pageBean": {
80   - "page": 1,
81   - "pageSize": 999,
82   - "total": 1
83   - },
84   - "querys": [
85   - {
86   - "property": "t.F_date",
87   - "value": this.days
88   - },
89   - ],
90   - "sorter": [
91   - {
92   - "property": "t.F_date",
93   - "direction": "DESC"
94   - },
95   - {
96   - "property": "t.F_org_type",
97   - "direction": "DESC"
98   - },
99   - {
100   - "property": "t.F_org_name",
101   - "direction": "DESC"
102   - },
103   - {
104   - "property": "t.F_org_id",
105   - "direction": "DESC"
106   - },
107   - {
108   - "property": "t.F_insp_status_name",
109   - "direction": "DESC"
110   - }
111   - ]
112   - }
  107 + mergeTableRow(data, merge) {
  108 + if (!merge || merge.length === 0) {
  109 + return data
  110 + }
  111 + merge.forEach((m) => {
  112 + const mList = {}
  113 + data = data.map((v, index) => {
  114 + const rowVal = v[m]
  115 + if (mList[rowVal] && mList[rowVal].newIndex === index) {
  116 + mList[rowVal]['num']++
  117 + mList[rowVal]['newIndex']++
  118 + data[mList[rowVal]['index']][m + 'SPAN'].rowspan++
  119 + v[m + 'SPAN'] = {
  120 + rowspan: 0,
  121 + colspan: 0
113 122 }
114   - let data = await this.$requestConfig.getDataTemplateDataList(params);
115   - this.tableData = data.rows;
116   - // 添加小计行
117   - this.tableData = this.tableData.reduce((acc, cur, index) => {
118   - acc.push(cur);
119   - // 判断是否需要添加小计行
120   - if (cur.wdailyfundsforderno !== 'subtotal' && (index === this.tableData.length - 1 || this.tableData[index + 1].wdailyfundsforgtype !== cur.wdailyfundsforgtype)) {
121   - const subtotalRow = {
122   - wdailyfundsforderno: 'subtotal',
123   - wdailyfundsforgtype: `小计(${cur.wdailyfundsforgtype || '--'})`,
124   - wdailyfundsfyesterdayaccountbalance: 0,
125   - wdailyfundsftodayaccountbalance: 0,
126   - wdailyfundsfaccountbalancedifference: 0,
127   - wdailyfundsftodaynetcashflow: 0,
128   - wdailyfundsftodayfreezing: 0,
129   - wdailyfundsftodayfreezeamount: 0,
130   - };
131   - // 计算小计值
132   - this.tableData.forEach((item) => {
133   - if (item.wdailyfundsforgtype === cur.wdailyfundsforgtype) {
134   - subtotalRow.wdailyfundsfyesterdayaccountbalance += isNaN(item.wdailyfundsfyesterdayaccountbalance) ? 0 : item.wdailyfundsfyesterdayaccountbalance;
135   - subtotalRow.wdailyfundsftodayaccountbalance += isNaN(item.wdailyfundsftodayaccountbalance) ? 0 : item.wdailyfundsftodayaccountbalance;
136   - subtotalRow.wdailyfundsfaccountbalancedifference += isNaN(item.wdailyfundsfaccountbalancedifference) ? 0 : item.wdailyfundsfaccountbalancedifference;
137   - subtotalRow.wdailyfundsftodaynetcashflow += isNaN(item.wdailyfundsftodaynetcashflow) ? 0 : item.wdailyfundsftodaynetcashflow;
138   - subtotalRow.wdailyfundsftodayfreezing += isNaN(item.wdailyfundsftodayfreezing) ? 0 : item.wdailyfundsftodayfreezing;
139   - subtotalRow.wdailyfundsftodayfreezeamount += isNaN(item.wdailyfundsftodayfreezeamount) ? 0 : item.wdailyfundsftodayfreezeamount;
140   - }
141   - });
142   - subtotalRow.wdailyfundsfyesterdayaccountbalance = (subtotalRow.wdailyfundsfyesterdayaccountbalance.toFixed(2));
143   - subtotalRow.wdailyfundsftodayaccountbalance = (subtotalRow.wdailyfundsftodayaccountbalance.toFixed(2));
144   - subtotalRow.wdailyfundsfaccountbalancedifference = (subtotalRow.wdailyfundsfaccountbalancedifference.toFixed(2));
145   - subtotalRow.wdailyfundsftodaynetcashflow = (subtotalRow.wdailyfundsftodaynetcashflow.toFixed(2));
146   - subtotalRow.wdailyfundsftodayfreezing = (subtotalRow.wdailyfundsftodayfreezing.toFixed(2));
147   - subtotalRow.wdailyfundsftodayfreezeamount = (subtotalRow.wdailyfundsftodayfreezeamount.toFixed(2));
148   - acc.push(subtotalRow);
149   - }
150   - return acc;
151   - }, []);
152   - console.log('数据', JSON.parse(JSON.stringify(this.tableData)));
153   - },
154   - handleChangeDate() {
155   - this.initData();
156   - },
157   - getSummaries(param) {
158   - const { columns, data } = param;
159   - const sums = [];
160   - columns.forEach((column, index) => {
161   - if (index === 0) {
162   - sums[index] = '汇总';
163   - return;
164   - }
165   - const values = data
166   - .filter(item => item.wdailyfundsforderno !== 'subtotal') // 过滤掉小计行
167   - .map(item => Number(item[column.property]));
168   - if (!values.every(value => isNaN(value))) {
169   - sums[index] = values.reduce((prev, curr) => {
170   - const value = Number(curr);
171   - if (!isNaN(value)) {
172   - return prev + curr;
173   - } else {
174   - return prev;
175   - }
176   - }, 0);
177   - sums[index] = sums[index].toFixed(2);
178   - } else {
179   - sums[index] = 'N/A';
180   - }
181   - });
182   - // 可直接调接口获取后修改sums。
183   - // console.log("合计列",sums);
184   - return sums;
185   - },
186   - spanMethod({ row, column, rowIndex, columnIndex }) {
187   - // console.log('row', JSON.parse(JSON.stringify(row)));
188   - // console.log('column', JSON.parse(JSON.stringify(column)));
189   - // console.log(rowIndex, columnIndex);
190   - if (columnIndex === 0) {
191   - // 第一列合并单元格
192   - if (row.wdailyfundsforderno === 'subtotal') {
193   - // 小计行
194   - return {
195   - rowspan: 1,
196   - colspan: 3,
197   - content: '小计'
198   - };
199   - } else if (rowIndex > 0 && row.wdailyfundsforgtype === this.tableData[rowIndex - 1].wdailyfundsforgtype) {
200   - return {
201   - rowspan: 0,
202   - colspan: 0
203   - };
204   - } else {
205   - // 计算合并行数
206   - let rowspan = 1;
207   - for (let i = rowIndex + 1; i < this.tableData.length; i++) {
208   - if (row.wdailyfundsforgtype === this.tableData[i].wdailyfundsforgtype) {
209   - rowspan++;
210   - } else {
211   - break;
212   - }
213   - }
214   - return {
215   - rowspan,
216   - colspan: 1,
217   - content: row.wdailyfundsforgtype
218   - };
219   - }
220   - } else if (columnIndex === 1 || columnIndex === 2) {
221   - if (row.wdailyfundsforderno === 'subtotal' && (!row.wdailyfundsfdate || !wdailyfundsforgname)) {
222   - return {
223   - rowspan: 0,
224   - colspan: 0
225   - }
226   - }
  123 + } else {
  124 + mList[rowVal] = {num: 1, index: index, newIndex: index + 1}
  125 + v[m + 'SPAN'] = {
  126 + rowspan: 1,
  127 + colspan: 1
227 128 }
228   -
229   - },
230   - cellStyleMethod({ row, column, rowIndex, columnIndex }) {
231   -
232   - },
233   - // 复核
234   - handleReview() {
235   - console.log('一键复核', JSON.parse(JSON.stringify(this.tableData)));
236   - },
  129 + }
  130 + return v
  131 + })
  132 + })
  133 + return data
  134 + },
  135 + tableRowClassName({row, rowIndex}) {
  136 + if (!row.id && row.fOrgType != '汇总') {
  137 + return 'hj-row';
  138 + }
  139 + if (!row.id && row.fOrgType == '汇总') {
  140 + return 'hz-row';
  141 + }
  142 + return '';
  143 + },
  144 + // 复核
  145 + handleReview() {
  146 + this.$confirm('是否确认批量复核?', '提示', {
  147 + confirmButtonText: '确定',
  148 + cancelButtonText: '取消',
  149 + type: 'warning'
  150 + }).then(() => {
  151 + this.loading=true;
  152 + let wDailyFundsList = [];
  153 + this.tableData.forEach(d => {
  154 + if (d.id && d.fInspStatusName && d.fInspStatusName != '待复核') {
  155 + wDailyFundsList.push({
  156 + id: d.id,
  157 + fDate: d.fDate + " 00:00:00",
  158 + fOrgName: d.fOrgName,
  159 + fOrgId: d.fOrgId,
  160 + fOrgType: d.fOrgType,
  161 + fInspStatusName: d.fInspStatusName,
  162 + fInspNotes: d.fInspNotes
  163 + })
  164 + }
  165 + })
  166 + updateInsps({
  167 + wDailyFundsList: wDailyFundsList
  168 + }).then((res) => {
  169 + if (res.state) {
  170 + this.loading=false;
  171 + this.$message.success(res.message)
  172 + this.$emit("RefreshTable");
  173 + this.dialogVisible = false;
  174 + } else {
  175 + this.loading=false;
  176 + this.$emit("RefreshTable");
  177 + this.$message.warning(res.message)
  178 + this.dialogVisible = false;
  179 + }
  180 + })
  181 + });
  182 + },
  183 + //是否可提交
  184 + isOn() {
  185 + let data = this.tableData.find(d => {
  186 + return d.fInspStatusName == '待复核'
  187 + })
  188 + return data ? true : false;
  189 + },
  190 + // 导出
  191 + onSubmitDc() {
  192 + if (!this.days) {
  193 + this.$message.error('请选择日期!');
  194 + return false;
  195 + }
  196 + dailyFundsByDateExport(this.days).then(_ref => {
  197 + let {data, headers} = _ref;
  198 + // 附件下载
  199 + const blob = new Blob([data]);
  200 + // 附件下载
  201 + const fileName = decodeURIComponent(headers['content-disposition'].split(';')[1].split('filename=')[1]);
  202 + saveAs(blob, fileName);
  203 + }).catch(err => {
  204 + this.$message.error(`模板下载失败:${err}`);
  205 + });
  206 + },
  207 + //修改状态
  208 + onUpdateInspStatusName(status) {
  209 + this.tableData.forEach(d => {
  210 + if (this.updateInspStatusChecked) {
  211 + d.fInspStatusName = status;
  212 + } else {
  213 + d.fInspStatusName = d.fInspStatusName == '待复核' ? status : d.fInspStatusName;
  214 + }
  215 + })
237 216 }
  217 + }
  218 +
238 219 };
239 220 </script>
240 221 <style lang='scss' scoped>
241 222 .container {
242   - background: #fff;
  223 + background: #fff;
243 224 }
244 225  
245 226 .title {
246   - font-size: 28px;
247   - display: flex;
248   - justify-content: center;
249   - align-items: center;
250   -}
  227 + font-size: 28px;
  228 + display: flex;
  229 + justify-content: center;
  230 + align-items: center;
251 231  
252   -.el-input {
  232 + .el-input {
253 233 line-height: 0;
254   -}
  234 + }
255 235  
256   -::v-deep .el-input__inner {
  236 + ::v-deep .el-input__inner {
257 237 border: none;
258 238 font-size: 28px;
  239 + }
259 240 }
260 241  
  242 +
261 243 .el-header {
262   - text-align: center;
263   - line-height: 60px;
  244 + text-align: center;
  245 + line-height: 60px;
264 246 }
265 247  
266 248 .el-footer {
267   - width: 100%;
  249 + width: 100%;
  250 +}
  251 +
  252 +.footerBtn {
  253 + display: flex;
  254 + justify-content: center;
  255 + position: fixed;
  256 + //left: 208px;
  257 + //right: 208px;
  258 + bottom: 10px;
  259 + width: 100%;
  260 + background-color: #f4f4f4;
  261 + left: 0;
  262 + right: 0;
  263 +}
  264 +
  265 +
  266 +::v-deep {
  267 + .el-table .hj-row {
  268 + background-color: #f4f4f4;
  269 + font-weight: bold;
  270 + }
  271 +
  272 + .el-table .hz-row {
  273 + font-weight: bold;
  274 + }
268 275 }
269   -</style>
270 276 \ No newline at end of file
  277 +</style>
... ...