|
@@ -3633,8 +3633,8 @@ public class FxController extends BaseController {
|
|
|
myColumns3.add(new ExcelColumn("商户类型", "merchant_type", 20));
|
|
|
myColumns3.add(new ExcelColumn("加油包类型", "type", 20));
|
|
|
myColumns3.add(new ExcelColumn("购买数量", "num", 20));
|
|
|
- myColumns3.add(new ExcelColumn("成本价", "unit_price", 20));
|
|
|
- myColumns3.add(new ExcelColumn("收入总价", "price", 20));
|
|
|
+ myColumns3.add(new ExcelColumn("单价(成本)", "unit_price", 20));
|
|
|
+ myColumns3.add(new ExcelColumn("总价(收入)", "price", 20));
|
|
|
myColumns3.add(new ExcelColumn("服务总人数", "lib_service", 20));
|
|
|
myColumns3.add(new ExcelColumn("激活时间", "sign_time", 20));
|
|
|
myColumns3.add(new ExcelColumn("购买时间", "create_time", 20));
|
|
@@ -4024,9 +4024,13 @@ public class FxController extends BaseController {
|
|
|
|
|
|
List<Map<String, Object>> mapList=page.getContent();
|
|
|
for (Map<String, Object> map : mapList) {
|
|
|
+ map.put("init_3",new BigDecimal(map.get("init_1").toString()).doubleValue()-new BigDecimal(map.get("init_2").toString()).doubleValue());
|
|
|
+ map.put("ir_1",new BigDecimal(new BigDecimal(map.get("price").toString()).doubleValue()*new BigDecimal(map.get("init_3").toString()).doubleValue()).setScale(2, RoundingMode.UP).doubleValue());
|
|
|
+
|
|
|
map.put("pr_1",new BigDecimal(new BigDecimal(map.get("price").toString()).doubleValue()*(Integer.parseInt(map.get("count_1").toString()))).setScale(2, RoundingMode.UP).doubleValue());
|
|
|
map.put("pr_2",new BigDecimal(new BigDecimal(map.get("price").toString()).doubleValue()*(Integer.parseInt(map.get("count_2").toString()))).setScale(2, RoundingMode.UP).doubleValue());
|
|
|
- map.put("count_3",new BigDecimal(map.get("count_1").toString()).doubleValue()-new BigDecimal(map.get("count_2").toString()).doubleValue());
|
|
|
+
|
|
|
+ map.put("count_3",new BigDecimal(map.get("count_1").toString()).intValue()-new BigDecimal(map.get("count_2").toString()).intValue());
|
|
|
map.put("pr_3",new BigDecimal(map.get("pr_1").toString()).doubleValue()-new BigDecimal(map.get("pr_2").toString()).doubleValue());
|
|
|
|
|
|
switch (map.get("type").toString()) {
|
|
@@ -4055,6 +4059,8 @@ public class FxController extends BaseController {
|
|
|
myColumns3.add(new ExcelColumn("商户名称", "unit_name", 20));
|
|
|
myColumns3.add(new ExcelColumn("商户类型", "type", 20));
|
|
|
myColumns3.add(new ExcelColumn("签约端口数", "port_num", 20));
|
|
|
+ myColumns3.add(new ExcelColumn("期初数量", "init_3", 20));
|
|
|
+ myColumns3.add(new ExcelColumn("期初金额", "ir_1", 20));
|
|
|
myColumns3.add(new ExcelColumn("本期增加数量", "count_1", 20));
|
|
|
myColumns3.add(new ExcelColumn("本期增加金额", "pr_1", 20));
|
|
|
myColumns3.add(new ExcelColumn("本期减少数量", "count_2", 20));
|
|
@@ -4080,6 +4086,106 @@ public class FxController extends BaseController {
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
+ @RequestMapping(value = "/exportMerchantBalanceList", method = RequestMethod.POST)
|
|
|
+ @ResponseBody
|
|
|
+ public void exportMerchantBalanceList( HttpServletRequest request, HttpServletResponse response) {
|
|
|
+ ServletOutputStream os = null;
|
|
|
+ try {
|
|
|
+ String libName="端口结存流水列表";
|
|
|
+ os = response.getOutputStream(); //获得输出流
|
|
|
+ response.reset(); //清空输出流
|
|
|
+ String fileName = new String(libName.getBytes("gb2312"), "ISO8859-1") +".xlsx";
|
|
|
+ response.setHeader("Content-disposition", "attachment; filename="+ fileName); //设定输出文件头
|
|
|
+ response.setContentType("application/vnd.ms-excel;charset=UTF-8");
|
|
|
+ response.setCharacterEncoding("utf-8");
|
|
|
+
|
|
|
+ Map<String, Object> params = new HashMap<String, Object>();
|
|
|
+ params.put("merchantId", request.getParameter("merchantId")==null?"":request.getParameter("merchantId"));
|
|
|
+ params.put("type", request.getParameter("type")==null?"":request.getParameter("type"));
|
|
|
+ params.put("createTime", request.getParameter("createTime")==null?"2020-01-01":request.getParameter("createTime"));
|
|
|
+ params.put("endCreateTime", request.getParameter("endCreateTime")==null?DateHelper.format(new Date(), "yyyy-MM-dd") :request.getParameter("endCreateTime"));
|
|
|
+
|
|
|
+ Page<Map<String, Object>> page = financeService.findMerchantBalanceByPage(params, initPage(1, 10000, Direction.DESC, new String[]{"createTime"}));
|
|
|
+
|
|
|
+ List<Map<String, Object>> mapList=page.getContent();
|
|
|
+ for (Map<String, Object> map : mapList) {
|
|
|
+ //期初
|
|
|
+ map.put("init_5",(Integer.parseInt(map.get("init_1").toString())+Integer.parseInt(map.get("init_3").toString()))
|
|
|
+ -(Integer.parseInt(map.get("init_2").toString())+Integer.parseInt(map.get("init_4").toString())));
|
|
|
+ map.put("ir_7",new BigDecimal(
|
|
|
+ (new BigDecimal(map.get("ir_1").toString()).doubleValue()+new BigDecimal(map.get("ir_3").toString()).doubleValue()+new BigDecimal(map.get("ir_5").toString()).doubleValue())
|
|
|
+ -(new BigDecimal(map.get("ir_2").toString()).doubleValue()+new BigDecimal(map.get("ir_4").toString()).doubleValue()+new BigDecimal(map.get("ir_6").toString()).doubleValue())
|
|
|
+ ).setScale(2, RoundingMode.UP).doubleValue());
|
|
|
+
|
|
|
+ //本期增加
|
|
|
+ map.put("count_5",(Integer.parseInt(map.get("count_1").toString())+Integer.parseInt(map.get("count_3").toString())));
|
|
|
+ map.put("pr_7",new BigDecimal(
|
|
|
+ (new BigDecimal(map.get("pr_1").toString()).doubleValue()+new BigDecimal(map.get("pr_3").toString()).doubleValue()+new BigDecimal(map.get("pr_5").toString()).doubleValue())
|
|
|
+ ).setScale(2, RoundingMode.UP).doubleValue());
|
|
|
+
|
|
|
+ //本期减少
|
|
|
+ map.put("count_6",(Integer.parseInt(map.get("count_2").toString())+Integer.parseInt(map.get("count_4").toString())));
|
|
|
+ map.put("pr_8",new BigDecimal(
|
|
|
+ (new BigDecimal(map.get("pr_1").toString()).doubleValue()+new BigDecimal(map.get("pr_4").toString()).doubleValue()+new BigDecimal(map.get("pr_6").toString()).doubleValue())
|
|
|
+ ).setScale(2, RoundingMode.UP).doubleValue());
|
|
|
+
|
|
|
+ //本期结存
|
|
|
+ map.put("count_7",new BigDecimal(map.get("count_5").toString()).intValue()-new BigDecimal(map.get("count_6").toString()).intValue());
|
|
|
+ map.put("pr_9",new BigDecimal(map.get("pr_7").toString()).doubleValue()-new BigDecimal(map.get("pr_8").toString()).doubleValue());
|
|
|
+
|
|
|
+ switch (map.get("type").toString()) {
|
|
|
+ case "1":
|
|
|
+ map.put("type","直接签约(塾币模式)");
|
|
|
+ break;
|
|
|
+ case "2":
|
|
|
+ map.put("type","内部消耗");
|
|
|
+ break;
|
|
|
+ case "3":
|
|
|
+ map.put("type","外部签约");
|
|
|
+ break;
|
|
|
+ case "4":
|
|
|
+ map.put("type","内部不结算(财务)");
|
|
|
+ break;
|
|
|
+ case "5":
|
|
|
+ map.put("type","直接签约(端口模式)");
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ List<ExcelColumn> myColumns3 = new ArrayList<ExcelColumn>();
|
|
|
+ myColumns3.add(new ExcelColumn("商户账号", "pos_code", 20));
|
|
|
+ myColumns3.add(new ExcelColumn("商户名称", "unit_name", 20));
|
|
|
+ myColumns3.add(new ExcelColumn("商户类型", "type", 20));
|
|
|
+ myColumns3.add(new ExcelColumn("期初数量", "init_5", 20));
|
|
|
+ myColumns3.add(new ExcelColumn("期初金额", "ir_7", 20));
|
|
|
+ myColumns3.add(new ExcelColumn("本期增加数量", "count_5", 20));
|
|
|
+ myColumns3.add(new ExcelColumn("本期增加金额", "pr_7", 20));
|
|
|
+ myColumns3.add(new ExcelColumn("本期减少数量", "count_6", 20));
|
|
|
+ myColumns3.add(new ExcelColumn("本期减少金额", "pr_8", 20));
|
|
|
+ myColumns3.add(new ExcelColumn("结存数量", "count_7", 20));
|
|
|
+ myColumns3.add(new ExcelColumn("结存金额", "pr_9", 20));
|
|
|
+
|
|
|
+ CustomizeToExcel.downFile(myColumns3, mapList, os);
|
|
|
+ }catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }catch (Exception e1){
|
|
|
+ e1.printStackTrace();
|
|
|
+ }finally{
|
|
|
+ if(os != null){
|
|
|
+ try {
|
|
|
+ os.flush();
|
|
|
+ os.close();
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
@RequestMapping(value = "/exportMerchantActiveCapList", method = RequestMethod.POST)
|
|
|
@ResponseBody
|
|
|
public void exportMerchantActiveCapList( HttpServletRequest request, HttpServletResponse response) {
|
|
@@ -4849,6 +4955,9 @@ public class FxController extends BaseController {
|
|
|
|
|
|
List<Map<String, Object>> mapList=page.getContent();
|
|
|
for (Map<String, Object> map : mapList) {
|
|
|
+ map.put("init_3",new BigDecimal(map.get("init_1").toString()).doubleValue()-new BigDecimal(map.get("init_2").toString()).doubleValue());
|
|
|
+ map.put("ir_1",new BigDecimal(new BigDecimal(map.get("price").toString()).doubleValue()*new BigDecimal(map.get("init_3").toString()).doubleValue()).setScale(2, RoundingMode.UP).doubleValue());
|
|
|
+
|
|
|
map.put("pr_1",new BigDecimal(new BigDecimal(map.get("price").toString()).doubleValue()*(Integer.parseInt(map.get("count_1").toString()))).setScale(2, RoundingMode.UP).doubleValue());
|
|
|
map.put("pr_2",new BigDecimal(new BigDecimal(map.get("price").toString()).doubleValue()*(Integer.parseInt(map.get("count_2").toString()))).setScale(2, RoundingMode.UP).doubleValue());
|
|
|
map.put("count_3",new BigDecimal(map.get("count_1").toString()).doubleValue()-new BigDecimal(map.get("count_2").toString()).doubleValue());
|
|
@@ -4864,6 +4973,64 @@ public class FxController extends BaseController {
|
|
|
}
|
|
|
|
|
|
|
|
|
+ //塾币结存表
|
|
|
+ @RequestMapping("/merchantBalanceList")
|
|
|
+ public String merchantBalanceList(Model model,
|
|
|
+ @RequestParam(required = false, defaultValue = "100") int pageSize,
|
|
|
+ @RequestParam(required = false, defaultValue = "1") int pageNo)throws Exception {
|
|
|
+
|
|
|
+ Map<String, Object> params = new HashMap<String, Object>();
|
|
|
+ params.put("merchantId", request.getParameter("merchantId")==null?"":request.getParameter("merchantId"));
|
|
|
+ params.put("type", request.getParameter("type")==null?"":request.getParameter("type"));
|
|
|
+ params.put("createTime", request.getParameter("createTime")==null?"2020-01-01":request.getParameter("createTime"));
|
|
|
+ params.put("endCreateTime", request.getParameter("endCreateTime")==null?DateHelper.format(new Date(), "yyyy-MM-dd") :request.getParameter("endCreateTime"));
|
|
|
+
|
|
|
+
|
|
|
+ SplitPage sp = new SplitPage();
|
|
|
+ sp.setAction(request.getRequestURI());
|
|
|
+ sp.setPageNo(pageNo);
|
|
|
+ sp.setPageSize(pageSize);
|
|
|
+ sp.setParams(params);
|
|
|
+ Page<Map<String, Object>> page = financeService.findMerchantBalanceByPage(params, initPage(pageNo, pageSize, Direction.DESC, new String[]{"createTime"}));
|
|
|
+ sp.setRowCnt((int) page.getTotalElements());
|
|
|
+
|
|
|
+ List<Map<String, Object>> mapList=page.getContent();
|
|
|
+ for (Map<String, Object> map : mapList) {
|
|
|
+ //期初
|
|
|
+ map.put("init_5",(Integer.parseInt(map.get("init_1").toString())+Integer.parseInt(map.get("init_3").toString()))
|
|
|
+ -(Integer.parseInt(map.get("init_2").toString())+Integer.parseInt(map.get("init_4").toString())));
|
|
|
+ map.put("ir_7",new BigDecimal(
|
|
|
+ (new BigDecimal(map.get("ir_1").toString()).doubleValue()+new BigDecimal(map.get("ir_3").toString()).doubleValue()+new BigDecimal(map.get("ir_5").toString()).doubleValue())
|
|
|
+ -(new BigDecimal(map.get("ir_2").toString()).doubleValue()+new BigDecimal(map.get("ir_4").toString()).doubleValue()+new BigDecimal(map.get("ir_6").toString()).doubleValue())
|
|
|
+ ).setScale(2, RoundingMode.UP).doubleValue());
|
|
|
+
|
|
|
+ //本期增加
|
|
|
+ map.put("count_5",(Integer.parseInt(map.get("count_1").toString())+Integer.parseInt(map.get("count_3").toString())));
|
|
|
+ map.put("pr_7",new BigDecimal(
|
|
|
+ (new BigDecimal(map.get("pr_1").toString()).doubleValue()+new BigDecimal(map.get("pr_3").toString()).doubleValue()+new BigDecimal(map.get("pr_5").toString()).doubleValue())
|
|
|
+ ).setScale(2, RoundingMode.UP).doubleValue());
|
|
|
+
|
|
|
+ //本期减少
|
|
|
+ map.put("count_6",(Integer.parseInt(map.get("count_2").toString())+Integer.parseInt(map.get("count_4").toString())));
|
|
|
+ map.put("pr_8",new BigDecimal(
|
|
|
+ (new BigDecimal(map.get("pr_1").toString()).doubleValue()+new BigDecimal(map.get("pr_4").toString()).doubleValue()+new BigDecimal(map.get("pr_6").toString()).doubleValue())
|
|
|
+ ).setScale(2, RoundingMode.UP).doubleValue());
|
|
|
+
|
|
|
+ //本期结存
|
|
|
+ map.put("count_7",new BigDecimal(map.get("count_5").toString()).doubleValue()-new BigDecimal(map.get("count_6").toString()).doubleValue());
|
|
|
+ map.put("pr_9",new BigDecimal(map.get("pr_7").toString()).doubleValue()-new BigDecimal(map.get("pr_8").toString()).doubleValue());
|
|
|
+
|
|
|
+ }
|
|
|
+ model.addAttribute("list", mapList);
|
|
|
+ model.addAttribute("listNavigatHtml", sp.getSysPaginHtml());
|
|
|
+ model.addAttribute("page", sp);
|
|
|
+ model.addAttribute("search", params);
|
|
|
+ List<Merchant> list=merchantService.findMerchantByPage();
|
|
|
+ model.addAttribute("poslist", list);
|
|
|
+ return "sys/fx/merchantBalanceList";
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
@@ -5028,7 +5195,7 @@ public class FxController extends BaseController {
|
|
|
|
|
|
@RequestMapping(value="/saveMerchantSign")
|
|
|
@ResponseBody
|
|
|
- public Response saveMerchantSign(Model model, String id,Integer type,Integer num,Integer libService,String signTime,Double unitPrice) {
|
|
|
+ public Response saveMerchantSign(Model model, String id,Integer type,Integer num,Integer libService,String signTime,Double unitPrice,Double price) {
|
|
|
Response response = new Response();
|
|
|
if(type==null) {
|
|
|
response.failure("请选择购买的加油包");
|
|
@@ -5042,7 +5209,7 @@ public class FxController extends BaseController {
|
|
|
response.failure("激活日期不可为空");
|
|
|
return response;
|
|
|
}
|
|
|
- merchantSignService.saveMerchantSign(id, type, num, libService, signTime, unitPrice);
|
|
|
+ merchantSignService.saveMerchantSign(id, type, num, libService, signTime, unitPrice,price);
|
|
|
response.success("操作成功");
|
|
|
return response;
|
|
|
}
|