Browse Source

付款列表增加付款时间筛选/打印报表功能

zhijiezhao 3 years ago
parent
commit
3921de1d84

+ 13 - 0
pom.xml

@@ -890,6 +890,19 @@
 				<version>2.4</version>
 			</plugin>
 
+
+
+				<!-- 让maven不编译xls文件,但仍将其打包 -->
+				<plugin>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-resources-plugin</artifactId>
+					<configuration>
+						<nonFilteredFileExtensions>
+							<nonFilteredFileExtension>xls</nonFilteredFileExtension>
+						</nonFilteredFileExtensions>
+					</configuration>
+				</plugin>
+
 			<!-- clean插件 -->
 			<plugin>
 				<groupId>org.apache.maven.plugins</groupId>

+ 49 - 0
src/main/java/com/caimei/modules/order/entity/CmPayShop.java

@@ -45,6 +45,8 @@ public class CmPayShop extends DataEntity<CmPayShop> {
 
     private String startTime;
     private String endTime;
+    private String startTime2;
+    private String endTime2;
     private Double ableRebateAmount;//供应商可用余额
     private Double rebateAmount;//供应商余额
     private List<NewShopOrder> shopOrders;  //付款单关联的子订单
@@ -56,6 +58,53 @@ public class CmPayShop extends DataEntity<CmPayShop> {
     private String orderID;  //主订单ID
     private String orderNo;  //订单编号
     private String rePayment; //1可以重申,2不可以重申
+    //报表字段
+    //1建设银行7297, 2中信银行0897, 3中信银行7172, 4广发银行0115, 5广发银行5461, 6线上分账
+    private String payBank;
+    //付款类型: 1子订单付款 2供应商差价 3付第三方
+    private String payTypeStr;
+    //  付款账号的类型 0公账, 1私账
+    private String typeStr;
+
+    public String getPayBank() {
+        return payBank;
+    }
+
+    public void setPayBank(String payBank) {
+        this.payBank = payBank;
+    }
+
+    public String getPayTypeStr() {
+        return payTypeStr;
+    }
+
+    public void setPayTypeStr(String payTypeStr) {
+        this.payTypeStr = payTypeStr;
+    }
+
+    public String getTypeStr() {
+        return typeStr;
+    }
+
+    public void setTypeStr(String typeStr) {
+        this.typeStr = typeStr;
+    }
+
+    public String getStartTime2() {
+        return startTime2;
+    }
+
+    public void setStartTime2(String startTime2) {
+        this.startTime2 = startTime2;
+    }
+
+    public String getEndTime2() {
+        return endTime2;
+    }
+
+    public void setEndTime2(String endTime2) {
+        this.endTime2 = endTime2;
+    }
 
     public Double getWipePayment() {
         return wipePayment;

+ 46 - 0
src/main/java/com/caimei/modules/order/service/CmPayShopService.java

@@ -64,6 +64,52 @@ public class CmPayShopService extends CrudService<CmPayShopDao, CmPayShop> {
     @Resource
     private CmRefundShopDao cmRefundShopDao;
 
+    public List<CmPayShop> exports(Page<CmPayShop> cmPayShopPage, CmPayShop cmPayShop) {
+        Page<CmPayShop> result = super.findPage(cmPayShopPage, cmPayShop);
+        List<CmPayShop> list = result.getList();
+        list.forEach(l -> {
+            if (l.getStatus().equals("1")) {
+                //1建设银行7297, 2中信银行0897, 3中信银行7172, 4广发银行0115, 5广发银行5461, 6线上分账
+                if (l.getPayType().equals("1")) {
+                    l.setPayBank("建设银行7297");
+                }
+                if (l.getPayType().equals("2")) {
+                    l.setPayBank("中信银行0897");
+                }
+                if (l.getPayType().equals("3")) {
+                    l.setPayBank("中信银行7172");
+                }
+                if (l.getPayType().equals("4")) {
+                    l.setPayBank("广发银行0115");
+                }
+                if (l.getPayType().equals("5")) {
+                    l.setPayBank("广发银行5461");
+                }
+                if (l.getPayType().equals("6")) {
+                    l.setPayBank("线上分账");
+                }
+            }
+            //付款类型: 1子订单付款 2供应商差价 3付第三方
+            if (l.getPaymentType() == 1) {
+                l.setPayTypeStr("子订单付款");
+            }
+            if (l.getPaymentType() == 2) {
+                l.setPayTypeStr("供应商差价");
+            }
+            if (l.getPaymentType() == 3) {
+                l.setPayTypeStr("付第三方");
+            }
+            //  付款账号的类型 0公账, 1私账
+            if (l.getType().equals("0")) {
+                l.setTypeStr("公账");
+            }
+            if (l.getType().equals("1")) {
+                l.setTypeStr("私账");
+            }
+        });
+        return list;
+    }
+
     public CmPayShop get(String id) {
         CmPayShop payShop = super.get(id);
         if (payShop != null) {

+ 40 - 0
src/main/java/com/caimei/modules/order/web/CmPayShopController.java

@@ -1,11 +1,13 @@
 package com.caimei.modules.order.web;
 
 import com.caimei.dfs.image.beens.ImageUploadInfo;
+import com.caimei.modules.common.utils.ExcelUtil;
 import com.caimei.modules.common.utils.UploadUtils;
 import com.caimei.modules.order.dao.CmPayShopRecordDao;
 import com.caimei.modules.order.dao.NewOrderProductDao;
 import com.caimei.modules.order.entity.*;
 import com.caimei.modules.order.service.*;
+import com.caimei.modules.order.utils.OrderUtil;
 import com.caimei.modules.sys.utils.UploadImageUtils;
 import com.caimei.modules.user.entity.CmUserOrganize;
 import com.caimei.modules.user.service.CmUserOrganizeService;
@@ -89,6 +91,14 @@ public class CmPayShopController extends BaseController {
             model.addAttribute("endTime", cmPayShop.getEndTime());
             cmPayShop.setEndTime(cmPayShop.getEndTime().trim() + " 23:59:59");
         }
+        if (null != cmPayShop.getStartTime2() && !"".equals(cmPayShop.getStartTime2()) && !cmPayShop.getStartTime2().endsWith("00:00:00")) {
+            model.addAttribute("startTime2", cmPayShop.getStartTime2());
+            cmPayShop.setStartTime2(cmPayShop.getStartTime2().trim() + " 00:00:00");
+        }
+        if (null != cmPayShop.getEndTime2() && !"".equals(cmPayShop.getEndTime2()) && !cmPayShop.getEndTime2().endsWith("23:59:59")) {
+            model.addAttribute("endTime2", cmPayShop.getEndTime2());
+            cmPayShop.setEndTime2(cmPayShop.getEndTime2().trim() + " 23:59:59");
+        }
         Page<CmPayShop> page = cmPayShopService.findPage(new Page<CmPayShop>(request, response), cmPayShop);
         //获取组织列表
         List<CmUserOrganize> cmUserOrganizeList = cmUserOrganizeService.findOrganize();
@@ -123,6 +133,36 @@ public class CmPayShopController extends BaseController {
         return "redirect:" + Global.getAdminPath() + "/order/cmPayShop/?repage";
     }
 
+    @RequestMapping(value = "export")
+    public void export(CmPayShop cmPayShop, RedirectAttributes redirectAttributes, HttpServletRequest request, HttpServletResponse response) {
+        if (null != cmPayShop.getStartTime() && !"".equals(cmPayShop.getStartTime()) && !cmPayShop.getStartTime().endsWith("00:00:00")) {
+            cmPayShop.setStartTime(cmPayShop.getStartTime().trim() + " 00:00:00");
+        }
+        if (null != cmPayShop.getEndTime() && !"".equals(cmPayShop.getEndTime()) && !cmPayShop.getEndTime().endsWith("23:59:59")) {
+            cmPayShop.setEndTime(cmPayShop.getEndTime().trim() + " 23:59:59");
+        }
+        if (null != cmPayShop.getStartTime2() && !"".equals(cmPayShop.getStartTime2()) && !cmPayShop.getStartTime2().endsWith("00:00:00")) {
+            cmPayShop.setStartTime2(cmPayShop.getStartTime2().trim() + " 00:00:00");
+        }
+        if (null != cmPayShop.getEndTime2() && !"".equals(cmPayShop.getEndTime2()) && !cmPayShop.getEndTime2().endsWith("23:59:59")) {
+            cmPayShop.setEndTime2(cmPayShop.getEndTime2().trim() + " 23:59:59");
+        }
+        //获取订单数据
+        String fileName = "付款列表.xls";
+        String template = Global.getConfig("export.template");
+        String templateFileName = template + "/payList.xls";
+        try {
+            Map data = new HashMap<String, Object>();
+            List<CmPayShop> list = cmPayShopService.exports(new Page<CmPayShop>(request, response), cmPayShop);
+            data.put("list", list);
+            new ExcelUtil().createExcel(templateFileName, data, fileName, response);
+        } catch (Exception e) {
+            addMessage(redirectAttributes, "收款列表导出失败!" + e.getMessage());
+            logger.info(e.getMessage());
+            e.printStackTrace();
+        }
+    }
+
     @RequestMapping("saveChangePayShopAmount")
     public String saveChangePayShopAmount(NewShopOrder newShopOrder) {
         String shopOrderID = newShopOrder.getId();

BIN
src/main/resources/export/payList.xls


+ 6 - 0
src/main/resources/mappings/modules/order/CmPayShopMapper.xml

@@ -91,6 +91,12 @@
 			<if test="endTime != null and endTime != ''">
 				AND a.applyTime <![CDATA[   <=  ]]> #{endTime}
 			</if>
+			<if test="startTime2 != null and startTime2 != ''">
+				AND a.payTime <![CDATA[  >=  ]]> #{startTime2}
+			</if>
+			<if test="endTime2 != null and endTime2 != ''">
+				AND a.payTime <![CDATA[   <=  ]]> #{endTime2}
+			</if>
 			<if test="status != null and status != ''">
 				AND a.status = #{status}
 			</if>

+ 28 - 9
src/main/webapp/WEB-INF/views/modules/order/cmPayFormList.jsp

@@ -28,6 +28,12 @@
 			$("#searchForm").submit();
         	return false;
         }
+		$(function () {
+			$('#export').click(function () {
+				var formData = $('#searchForm').serialize();
+				window.location.href = "${ctx}/order/cmPayShop/export?" + formData;
+			});
+		})
 	</script>
 </head>
 <body>
@@ -57,14 +63,7 @@
 				<form:input path="id" htmlEscape="false" maxlength="50" class="input-medium"/>
 				<label>供应商:</label>
 				<form:input path="shopName" htmlEscape="false" maxlength="50" class="input-medium"/>
-				<label>申请时间:</label>
-				<form:input path="startTime" type="text" maxlength="20" class="input-medium Wdate" value="${startTime}"
-							onclick="WdatePicker({dateFmt:'yyyy-MM-dd',isShowClear:false});"/>
-				<span class="time-space-symbols">至</span>
-				<form:input path="endTime" type="text" maxlength="20" class="input-medium Wdate" value="${endTime}"
-							onclick="WdatePicker({dateFmt:'yyyy-MM-dd',isShowClear:false});"/>
-			</div>
-			<div>
+
 				<label>付款单名称:</label>
 				<form:input path="name" htmlEscape="false" maxlength="250" class="input-medium"/>
 				<label>付款审核状态:</label>
@@ -73,6 +72,23 @@
 					<form:options items="${fns:getDictList('pay_shop_status')}" itemLabel="label" itemValue="value"
 								  htmlEscape="false"/>
 				</form:select>&nbsp;&nbsp;&nbsp;&nbsp;
+
+			</div>
+			<div>
+				<label>申请时间:</label>
+				<form:input path="startTime" type="text" maxlength="20" class="input-medium Wdate" value="${startTime}"
+							onclick="WdatePicker({dateFmt:'yyyy-MM-dd',isShowClear:false});"/>
+				<span class="time-space-symbols">至</span>
+				<form:input path="endTime" type="text" maxlength="20" class="input-medium Wdate" value="${endTime}"
+							onclick="WdatePicker({dateFmt:'yyyy-MM-dd',isShowClear:false});"/>
+				<label>付款时间:</label>
+				<form:input path="startTime2" type="text" maxlength="20" class="input-medium Wdate" value="${startTime2}"
+							onclick="WdatePicker({dateFmt:'yyyy-MM-dd',isShowClear:false});"/>
+				<span class="time-space-symbols">至</span>
+				<form:input path="endTime2" type="text" maxlength="20" class="input-medium Wdate" value="${endTime2}"
+							onclick="WdatePicker({dateFmt:'yyyy-MM-dd',isShowClear:false});"/>
+			</div>
+			<div>
 				<label>组织:</label>
 				<form:select path="organizeID" class="input-medium">
 					<form:option value="" label="请选择"/>
@@ -88,8 +104,11 @@
 					<form:option value="2" label="供应商差价"/>
 					<form:option value="3" label="付第三方"/>
 				</form:select>
+				<label><input id="btnSubmit" class="btn btn-primary" type="submit" value="查询"/></label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+				&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<label><input id="export" class="btn btn-primary" value="导出筛选结果"/></label>
 			</div>
-			&nbsp;&nbsp;<input id="btnSubmit" class="btn btn-primary" type="submit" value="查询"/>
+
+
 			<div class="clearfix"></div>
 		</div>
 	</form:form>