var curr_time = new Date();
var strDate = curr_time.getFullYear()+"-";
strDate += curr_time.getMonth()+1+"-";
strDate += curr_time.getDate();
$("#general-SmtDate").datebox("setValue", strDate);
bankCode =$("#general-bankCode").combobox("getValue");
bank_flag=$("#bank_flag").val();
instant_flag=$("#instant_flag").val();
$.post('/general/count.html',{smtDate:smtDate = $('#first-tb1 input[name=smtDate]').val(),
bankCode :bankCode,bankFlag:bank_flag,instantFlag:instant_flag}, function(data){
data.moneyTotal=formatPriceToRMB(data.moneyTotal);
data.unsolvedMoney=formatPriceToRMB(data.unsolvedMoney);
data.sendMoney=formatPriceToRMB(data.sendMoney);
$('#count').form('load', data);
$("#moneyTotal").textbox("setValue", data.moneyTotal);
$("#unsolvedMoney").textbox("setValue", data.unsolvedMoney);
$("#sendMoney").textbox("setValue", data.sendMoney);
}, "json");
@RequestMapping("/count")
@ResponseBody
public Map count(String smtDate ,String bankCode, byte bankFlag ,byte instantFlag ){
Map resultMap = null;
try{
String formatDate = null;
if(StringUtils.isNotEmpty(smtDate)){
formatDate = smtDate.replaceAll("-", "");
}
resultMap = smtBatchService.batchCount(DatasoureFlagEnum.DATA_SMT.getCode(),formatDate,bankCode,bankFlag,instantFlag);
}catch(Exception e){
log.error("获取批次汇总数据失败", e);
}
return resultMap;
}
/**
* 统计非即时到账
*/
public Map batchCount(@DataSource(field="smtId")Integer smtId,String smtDate,String bankCode, byte bankFlag ,byte instantFlag){
Map resultMap=new HashMap();
//非指定渠道bankCode集合
List bankCodeList=null;
//非指定渠道RouteCode集合
List routeCodeList=null;
try {
if(bankCode== null ||bankCode==""){
//非指定bankCode集合
bankCodeList=smtBankMapper.queryAllByBankFlags(bankFlag);
//根据 bankCodeList 获取所有routeCode集合
routeCodeList=smtRouteMapper.selectByBankCodes(bankCodeList,null);
}else{
//非指定bankCode集合
bankCodeList=smtBankMapper.queryAllByBankFlag(bankFlag,bankCode);
//根据 bankCodeList 获取所有routeCode集合
routeCodeList=smtRouteMapper.selectByBankCodes(bankCodeList,null);
}
} catch (Exception e) {
throw new RuntimeException("异常了");
}
//当渠道code集合为null时, 直接封装返回信息。
if(routeCodeList.size()<=0){
resultMap.put("batchTotal", 0);
resultMap.put("unsolvedBatch", 0);
resultMap.put("detailTotal", 0);
resultMap.put("moneyTotal", 0.00);
resultMap.put("unsolvedMoney", 0.00);
resultMap.put("unsolvedDetail", 0);
resultMap.put("sendBatch", 0);
resultMap.put("sendDetail", 0);
resultMap.put("sendMoney", 0.00);
return resultMap;
}
//统计map
Map batchTotal=smtBatchMapper.batchCounts(instantFlag,smtDate,routeCodeList);
resultMap.put(
"batchTotal",
String.valueOf(batchTotal.get("batchTotal") == null
|| String.valueOf(batchTotal.get("batchTotal")).equals(
"0") ? 0 : batchTotal.get("batchTotal")));
resultMap.put("unsolvedBatch",
String.valueOf(batchTotal.get("unsolvedBatch") == null
|| String.valueOf(batchTotal.get("unsolvedBatch"))
.equals("0") ? 0 : batchTotal
.get("unsolvedBatch")));
resultMap.put(
"sendBatch",
String.valueOf(batchTotal.get("sendBatch") == null
|| String.valueOf(batchTotal.get("sendBatch")).equals(
"0") ? 0 : batchTotal.get("sendBatch")));
resultMap.put("detailTotal",
String.valueOf(batchTotal.get("detailTotal") == null
|| String.valueOf(batchTotal.get("detailTotal"))
.equals("0") ? 0 : batchTotal
.get("detailTotal")));
resultMap.put("unsolvedDetail",
String.valueOf(batchTotal.get("unsolvedDetail") == null
|| String.valueOf(batchTotal.get("unsolvedDetail"))
.equals("0") ? 0 : batchTotal
.get("unsolvedDetail")));
resultMap.put(
"sendDetail",
String.valueOf(batchTotal.get("sendDetail") == null
|| String.valueOf(batchTotal.get("sendDetail")).equals(
"0") ? 0 : batchTotal.get("sendDetail")));
resultMap.put("moneyTotal",
String.valueOf(batchTotal.get("moneyTotal") == null
|| String.valueOf(batchTotal.get("moneyTotal")).equals(
"0") ? "0." + "00" : batchTotal
.get("moneyTotal")));
resultMap.put("unsolvedMoney",
String.valueOf(batchTotal.get("unsolvedMoney") == null
|| String.valueOf(batchTotal.get("unsolvedMoney"))
.equals("0") ? "0." + "00" : batchTotal
.get("unsolvedMoney")));
resultMap.put("sendMoney",
String.valueOf(batchTotal.get("sendMoney") == null
|| String.valueOf(batchTotal.get("sendMoney")).equals(
"0") ? "0." + "00" : batchTotal
.get("sendMoney")));
return resultMap;
}
/**
* 根据批量标识分类统计不同状态打包数
* @param instantFlag '即时到账标志:1-否;2-是。'
* @return
*/
Map batchCounts(@Param("instantFlag") Byte instantFlag,@Param("smtDate")String smtDate
,@Param("listRouteCode")List listRouteCode);