Browse Source

法务模块订单催款列表导出开发

anderx 4 years ago
parent
commit
2f26eddfc1

+ 6 - 0
src/main/java/com/goafanti/common/mapper/TOrderMidMapper.xml

@@ -383,6 +383,9 @@
     <if test="depId != null">
       and a.order_dep = #{depId}
     </if>
+    <if test="startTime != null and endTime != null">
+      and b.dun_start_time between #{startTime} and #{endTime}
+    </if>
     order by b.dun_start_time desc
     <if test="page_sql != null">
         ${page_sql}
@@ -407,6 +410,9 @@
     <if test="depId != null">
       and a.order_dep = #{depId}
     </if>
+    <if test="startTime != null and endTime != null">
+      and b.dun_start_time between #{startTime} and #{endTime}
+    </if>
   </select>
   <update id="updateByList">
     update t_order_mid

+ 1 - 1
src/main/java/com/goafanti/common/task/OrderDunTask.java

@@ -89,7 +89,7 @@ public class OrderDunTask {
 	 */
 	@RequestMapping(value = "/open/pushLegalAffairs", method = RequestMethod.GET)
 	public void pushLegalAffairs() {
-		List<OutOrderLegalAffairsListBo>  list=legalAffairsService.getLegalAffairsOrder();
+		List<OutOrderLegalAffairsListBo>  list=legalAffairsService.getLegalAffairsOrder(new InputOrderListBo());
 		ArrayList<String> addList = new ArrayList<>();
 		Date now=new Date();
 		for (OutOrderLegalAffairsListBo out : list) {

+ 27 - 0
src/main/java/com/goafanti/order/bo/InputOrderListBo.java

@@ -6,9 +6,36 @@ public class InputOrderListBo {
     private String contractNo;
     private String aid;
     private String depId;
+    private String depName;
+    private String startTime;
+    private String endTime;
     private Integer pageSize;
     private Integer pageNo;
 
+    public String getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(String startTime) {
+        this.startTime = startTime;
+    }
+
+    public String getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(String endTime) {
+        this.endTime = endTime;
+    }
+
+    public String getDepName() {
+        return depName;
+    }
+
+    public void setDepName(String depName) {
+        this.depName = depName;
+    }
+
     public String getUserName() {
         return userName;
     }

+ 17 - 1
src/main/java/com/goafanti/order/bo/OutOrderLegalAffairsListBo.java

@@ -1,22 +1,38 @@
 package com.goafanti.order.bo;
 
+import com.goafanti.common.utils.excel.Excel;
+
 import java.math.BigDecimal;
 import java.util.Date;
 
 public class OutOrderLegalAffairsListBo {
+    @Excel(name = "订单编号")
     private String orderNo;
+    @Excel(name = "合同编号")
     private String contractNo;
+    @Excel(name = "客户名称")
     private String buyerName;
+    @Excel(name = "订单负责人")
     private String salesmanName;
+    @Excel(name = "订单部门")
     private String depName;
+    @Excel(name = "签单金额(万元)")
     private BigDecimal totalAmount;
+    @Excel(name = "已收款(万元)")
     private BigDecimal settlementAmount;
+    @Excel(name = "应收款(万元)")
     private BigDecimal orderReceivables;
+    @Excel(name = "欠款(万元)")
     private BigDecimal orderArrears;
+
     private Date dunStartTime;
+    @Excel(name = "催收启动日期")
     private String dunStartTimes;
-    private Integer daysRemaining;
+    @Excel(name = "移交法务",readConverterExp = "0=未移交,1=已移交")
     private Integer legalAffairs;
+    @Excel(name = "自动移交法务(天)")
+    private Integer daysRemaining;
+
 
     public Integer getLegalAffairs() {
         return legalAffairs;

+ 30 - 1
src/main/java/com/goafanti/order/controller/LegalAffairsApiController.java

@@ -3,19 +3,27 @@ package com.goafanti.order.controller;
 import com.goafanti.common.bo.Result;
 import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.controller.CertifyApiController;
+import com.goafanti.common.utils.excel.NewExcelUtil;
 import com.goafanti.order.bo.InputOrderListBo;
+import com.goafanti.order.bo.OutOrderLegalAffairsListBo;
 import com.goafanti.order.service.LegalAffairsService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 @RestController
 @RequestMapping(value = "/api/admin/lagalAffairs")
 public class LegalAffairsApiController extends CertifyApiController {
     @Autowired
     private LegalAffairsService legalAffairsService;
 
+    @Value(value = "${upload.path}")
+    private String uploadPath = null;
+
     /**
      * 订单催款转交法务
      * @param orderNo
@@ -46,7 +54,28 @@ public class LegalAffairsApiController extends CertifyApiController {
     @RequestMapping(value = "/orderList",method = RequestMethod.GET)
     public Result orderList(InputOrderListBo in){
         Result res =new Result();
-        res.data(legalAffairsService.orderList(in));
+        res.data(legalAffairsService.orderListPage(in));
         return res;
     }
+
+    /**
+     * 订单催款列表(法务)
+     * @param in
+     * @return
+     */
+    @RequestMapping(value = "/orderList/Exprot",method = RequestMethod.GET)
+    public Result orderListExprot(InputOrderListBo in){
+        List<OutOrderLegalAffairsListBo> list = legalAffairsService.getLegalAffairsOrder(in);
+        NewExcelUtil newExcelUtil=new NewExcelUtil<>(OutOrderLegalAffairsListBo.class);
+        StringBuffer sb=new StringBuffer("搜索条件=》");
+        if (in.getUserName()!=null)sb=sb.append("客户名称:").append(in.getUserName()).append(",");
+        if (in.getLegalAffairs()!=null)sb=sb.append("转交法务:").append(in.getLegalAffairs()==0?"未转交":"已转交").append(",");
+        if (in.getContractNo()!=null)sb=sb.append("合同编号:").append(in.getContractNo()).append(",");
+        if (in.getDepName()!=null)sb=sb.append("订单部门:").append(in.getDepName()).append(",");
+        if (in.getStartTime()!=null&&in.getEndTime()!=null){
+            sb=sb.append("催款启动时间:").append(in.getStartTime()).append("~").append(in.getEndTime()).append(",");
+
+        }
+        return newExcelUtil.exportExcel(list,"订单催款列表",uploadPath,sb.substring(0,sb.length()-1));
+    }
 }

+ 4 - 2
src/main/java/com/goafanti/order/service/LegalAffairsService.java

@@ -10,9 +10,11 @@ public interface LegalAffairsService {
 
     int pushTransferLagalAffairs(String orderNo);
 
-    Object orderList(InputOrderListBo in);
+    Object orderListPage(InputOrderListBo in);
 
-    List<OutOrderLegalAffairsListBo> getLegalAffairsOrder();
+
+
+    List<OutOrderLegalAffairsListBo> getLegalAffairsOrder(InputOrderListBo in);
 
     boolean checkTask(String orderNo);
 }

+ 33 - 14
src/main/java/com/goafanti/order/service/impl/LegalAffairsServiceImpl.java

@@ -40,27 +40,46 @@ public class LegalAffairsServiceImpl extends BaseMybatisDao<TOrderMidMapper> imp
     }
 
     @Override
-    public Object orderList(InputOrderListBo in) {
-        HashMap<String, Object> map = new HashMap<>();
-        if(in.getContractNo()!=null)map.put("contractNo",in.getContractNo());
-        if(in.getLegalAffairs()!=null)map.put("legalAffairs",in.getLegalAffairs());
-        if(in.getAid()!=null)map.put("aid",in.getAid());
-        if(in.getDepId()!=null)map.put("depId",in.getDepId());
-        if(in.getUserName()!=null)map.put("user",in.getUserName());
-        Pagination<OutOrderLegalAffairsListBo>  p= (Pagination<OutOrderLegalAffairsListBo>) findPage("legalAffairsOrderList","legalAffairsOrderCount",map,in.getPageNo(),in.getPageSize());
+    public Object orderListPage(InputOrderListBo in) {
+        HashMap<String, Object> params = new HashMap<>();
+        addParams(in, params);
+        Pagination<OutOrderLegalAffairsListBo>  p= (Pagination<OutOrderLegalAffairsListBo>) findPage("legalAffairsOrderList","legalAffairsOrderCount",params,in.getPageNo(),in.getPageSize());
         List<OutOrderLegalAffairsListBo> list = (List<OutOrderLegalAffairsListBo>) p.getList();
+        sumDaysRemaining(list);
+        return p;
+    }
+
+    private void addParams(InputOrderListBo in, HashMap<String, Object> map) {
+        if(in.getContractNo()!=null) map.put("contractNo", in.getContractNo());
+        if(in.getLegalAffairs()!=null) map.put("legalAffairs", in.getLegalAffairs());
+        if(in.getAid()!=null) map.put("aid", in.getAid());
+        if(in.getDepId()!=null) map.put("depId", in.getDepId());
+        if(in.getUserName()!=null) map.put("user", in.getUserName());
+        if(in.getStartTime()!=null)map.put("startTime", in.getStartTime());
+        if(in.getEndTime()!=null)map.put("endTime", in.getEndTime()+" 23:59:59");
+    }
+
+    private void sumDaysRemaining(List<OutOrderLegalAffairsListBo> list) {
         Date date = new Date();
         for (OutOrderLegalAffairsListBo out : list) {
-            long start=out.getDunStartTime().getTime()+AFTConstants.DUN_START_LIMIT_MS;
-            int i= (int) ((start-date.getTime())/(3600*24*1000));
-            out.setDaysRemaining(i);
+            if (out.getLegalAffairs()==0){
+                long start=out.getDunStartTime().getTime()+AFTConstants.DUN_START_LIMIT_MS;
+                int i= (int) ((start-date.getTime())/(3600*24*1000));
+                out.setDaysRemaining(i);
+            }else {
+                out.setDaysRemaining(0);
+            }
+
         }
-        return p;
     }
 
     @Override
-    public List<OutOrderLegalAffairsListBo> getLegalAffairsOrder() {
-        return (List<OutOrderLegalAffairsListBo>) findList("legalAffairsOrderList",new HashMap<>(),1,999999);
+    public List<OutOrderLegalAffairsListBo> getLegalAffairsOrder(InputOrderListBo in) {
+        HashMap<String, Object> params = new HashMap<>();
+        addParams(in, params);
+        List<OutOrderLegalAffairsListBo> list =(List<OutOrderLegalAffairsListBo>) findList("legalAffairsOrderList",params,1,999999);
+        sumDaysRemaining(list);
+        return list;
     }
 
     @Override