Bladeren bron

Merge branch 'master' of http://git.iamberry.com/hexiugang/iamberry-common-parent

dujinyan 7 jaren geleden
bovenliggende
commit
2c9e4d8bba
26 gewijzigde bestanden met toevoegingen van 1023 en 51 verwijderingen
  1. 10 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/ClosedProdcue.java
  2. 24 4
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/Postage.java
  3. 62 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/PostageAuthorityLog.java
  4. 7 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/CustomerService.java
  5. 43 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/PostageAuthorityLogService.java
  6. 93 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/CustomerServiceImpl.java
  7. 65 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/PostageAuthorityLogServiceImpl.java
  8. 11 12
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/SalesOrderServiceImpl.java
  9. 7 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/CustomerInfoMapper.java
  10. 43 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/PostageAuthorityLogMapper.java
  11. 64 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/customerInfoMapper.xml
  12. 84 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/postageAuthorityLogMapper.xml
  13. 13 3
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/postageMapper.xml
  14. 51 0
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminCustomerController.java
  15. 75 8
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminPostageController.java
  16. 9 3
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminSalesOrderController.java
  17. 11 4
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/mq/MQTask.java
  18. 1 1
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/OrderTask.java
  19. 64 0
      watero-rst-web/src/main/java/com/iamberry/rst/utils/EfastUtil.java
  20. 2 0
      watero-rst-web/src/main/resources/watero-rst-orm.xml
  21. 22 0
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/add_customer.ftl
  22. 2 2
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/custome_list.ftl
  23. 2 2
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/update_customer.ftl
  24. 21 0
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/update_repair.ftl
  25. 115 11
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/postage/postage_list.ftl
  26. 122 1
      watero-rst-web/src/main/webapp/common/js/customer/customer.js

+ 10 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/ClosedProdcue.java

@@ -20,6 +20,8 @@ public class ClosedProdcue  implements Serializable {
 
     private String closedProductName; //产品名称
 
+    private String closedProdcueMachineNo;      //机器编码
+
     private Integer productType;        //商品类型
     private String productNumber;       //产品型号
     private ProductColor productColor;      //颜色
@@ -103,4 +105,12 @@ public class ClosedProdcue  implements Serializable {
     public void setProductColor(ProductColor productColor) {
         this.productColor = productColor;
     }
+
+    public String getClosedProdcueMachineNo() {
+        return closedProdcueMachineNo;
+    }
+
+    public void setClosedProdcueMachineNo(String closedProdcueMachineNo) {
+        this.closedProdcueMachineNo = closedProdcueMachineNo;
+    }
 }

+ 24 - 4
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/Postage.java

@@ -1,7 +1,9 @@
 package com.iamberry.rst.core.cm;
 
 import java.io.Serializable;
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
 
 /**
  * 邮费转账
@@ -20,8 +22,10 @@ public class Postage implements Serializable {
     private Integer postageCustomerStatus;
     //状态(客服经理审核)1:审核中 2:通过  3:驳回
     private Integer postageManagerStatus;
-    //状态(财务审核) 1:审核中 2:通过(已申请待转账)  3:驳回  4:已转账
+    //状态(财务审核) 1:审核中 2:通过(已申请待转账)  3:驳回
     private Integer postageFinanceStatus;
+    //转账状态  是否转账:1待转   2:已转
+    private Integer postageTransferStatus;
     //订单来源 销售渠道id
     private Integer postageOrderSource;
     //售后处理方式 3:换新  4:维修  5:补发  6:退货  7:无理由退货
@@ -60,13 +64,13 @@ public class Postage implements Serializable {
     private  Integer[] companyIds;
 
     private Integer customerConfirm;    //确认   1有权限
-
     private Integer customerManager;    //经理审核权限   1有权限
-
     private Integer financeManager;    //财务审核权限   1有权限
-
     private Integer financePay;    //财务转账         1有权限
 
+    //邮费转账日志记录
+    private List<PostageAuthorityLog> postageAuthorityLogList = new ArrayList<PostageAuthorityLog>();
+
     public Integer getPostageId() {
         return postageId;
     }
@@ -290,4 +294,20 @@ public class Postage implements Serializable {
     public void setPostageLogisticsImg(String postageLogisticsImg) {
         this.postageLogisticsImg = postageLogisticsImg;
     }
+
+    public Integer getPostageTransferStatus() {
+        return postageTransferStatus;
+    }
+
+    public void setPostageTransferStatus(Integer postageTransferStatus) {
+        this.postageTransferStatus = postageTransferStatus;
+    }
+
+    public List<PostageAuthorityLog> getPostageAuthorityLogList() {
+        return postageAuthorityLogList;
+    }
+
+    public void setPostageAuthorityLogList(List<PostageAuthorityLog> postageAuthorityLogList) {
+        this.postageAuthorityLogList = postageAuthorityLogList;
+    }
 }

+ 62 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/PostageAuthorityLog.java

@@ -0,0 +1,62 @@
+package com.iamberry.rst.core.cm;
+
+import  java.util.Date;
+import  java.io.Serializable;
+/**
+ *  邮费转账审核日志表类
+ * @author Administrator
+ * @Date 2018-04-12
+ */
+public class PostageAuthorityLog  implements  Serializable{
+    private static final long serialVersionUID = -3003636937972673119L;
+    //日志id
+    private Integer authorityLogId;
+    //审核人员id
+    private Integer adminId;
+    //邮费转账id
+    private Integer postageId;
+    //审核类型:审核类型:1:客服人员   2:客服经理  3:财务审核  4:财务打款
+    private Integer authorityLogType;
+    //审核创建时间'
+    private Date authorityLogCreateTime;
+
+    public Integer getAuthorityLogId(){
+        return authorityLogId;
+    }
+
+    public void setAuthorityLogId(Integer  authorityLogId){
+        this.authorityLogId=authorityLogId;
+    }
+
+    public Integer getAdminId(){
+        return adminId;
+    }
+
+    public void setAdminId(Integer  adminId){
+        this.adminId=adminId;
+    }
+
+    public Integer getPostageId(){
+        return postageId;
+    }
+
+    public void setPostageId(Integer  postageId){
+        this.postageId=postageId;
+    }
+
+    public Integer getAuthorityLogType(){
+        return authorityLogType;
+    }
+
+    public void setAuthorityLogType(Integer  authorityLogType){
+        this.authorityLogType=authorityLogType;
+    }
+
+    public Date getAuthorityLogCreateTime(){
+        return authorityLogCreateTime;
+    }
+
+    public void setAuthorityLogCreateTime(Date  authorityLogCreateTime){
+        this.authorityLogCreateTime=authorityLogCreateTime;
+    }
+}

+ 7 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/CustomerService.java

@@ -146,4 +146,11 @@ public interface CustomerService {
     void deleteCustomerAfterSales(CustomerInfo customer);
 
     Integer selectNotSolvedCustomer(CustomerInfo customer);
+
+    /**
+     *  查询旧的客诉基本信息
+     * @param customerInfo
+     * @return
+     */
+    List<CustomerInfo> listOnCustomer(CustomerInfo customerInfo);
 }

+ 43 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/PostageAuthorityLogService.java

@@ -0,0 +1,43 @@
+package com.iamberry.rst.faces.cm;
+
+import com.iamberry.rst.core.cm.PostageAuthorityLog;
+
+import java.util.List;
+
+/**
+ *  邮费转账审核日志表接口
+ * @author Administrator
+ * @Date 2018-04-12
+ */
+public interface PostageAuthorityLogService {
+    /**
+     * 获取集合
+     * @param  postageAuthorityLog
+     * @return List
+     */
+    List<PostageAuthorityLog> getPostageAuthorityLogList(PostageAuthorityLog  postageAuthorityLog);
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  postageAuthorityLog
+     */
+    PostageAuthorityLog  getPostageAuthorityLogById(Integer  id);
+    /**
+     * 增加数据
+     * @param  postageAuthorityLog
+     * @return Integer
+     */
+    Integer  save(PostageAuthorityLog  postageAuthorityLog);
+    /**
+     * 修改数据
+     * @param  postageAuthorityLog
+     * @return Integer
+     */
+    Integer  update(PostageAuthorityLog  postageAuthorityLog);
+    /**
+     * 删除数据
+     * @param  id
+     * @return Integer
+     */
+    Integer  delete(Integer  id);
+}

+ 93 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/CustomerServiceImpl.java

@@ -627,6 +627,99 @@ public class CustomerServiceImpl implements CustomerService {
         return listCustomer.size();
     }
 
+    @Override
+    public List<CustomerInfo> listOnCustomer(CustomerInfo customerInfo) {
+       List<CustomerInfo> customerList = customerInfoMapper.listOnCustomer(customerInfo);
+        //查询售后维修集合
+        Repair repairInfo = new Repair();
+        repairInfo.setRepairState(1);
+        List<Repair> repairList = repairMapper.listRepair(repairInfo);
+        //查询售后退货集合
+        BackGoods backGoodsInfo = new BackGoods();
+        backGoodsInfo.setBackGoodsState(1);
+        List<BackGoods> backGoodsList = backGoodsMapper.listBackGoods(backGoodsInfo);
+        //查询售后无理由退货集合
+        NoreasonBack noreasonBackInfo = new NoreasonBack();
+        noreasonBackInfo.setNoreasonBackState(1);
+        List<NoreasonBack> noreasonBackList = noreasonBackMapper.listNoreasonBack(noreasonBackInfo);
+        //查询售后补发集合
+        Reissue reissueInfo = new Reissue();
+        reissueInfo.setReissueState(1);
+        List<Reissue> reissueList = reissueMapper.listReissue(reissueInfo);
+        //查询售后换新集合
+        Renewed renewedInfo = new Renewed();
+        renewedInfo.setRenewedState(1);
+        List<Renewed> renewedList = renewedMapper.listRenewed(renewedInfo);
+
+        if (customerList != null && customerList.size() > 0) {
+            for (CustomerInfo customer : customerList) {
+                switch (customer.getCustomerIsSolve().intValue()) {
+                    case 3: //换新
+                        for (Renewed renewed : renewedList) {
+                            if (renewed.getCustomerId().intValue() == customer.getCustomerId()) {
+                                customer.setBackStatus(renewed.getRenewedBackStatus());
+                                customer.setSendStatus(renewed.getRenewedSendStatus());
+                                customer.setSalesTime(renewed.getSalesPayTime());
+                                customer.setSendLogisticsNo(renewed.getRenewedSendLogisticsNo());
+                                customer.setSendLogisticsCompany(renewed.getRenewedSendLogisticsCompany());
+                                customer.setBackLogisticsNo(renewed.getRenewedBackLogisticsNo());
+                                customer.setBackLogisticsCompany(renewed.getRenewedBackLogisticsCompany());
+                                break;
+                            }
+                        }
+                        break;
+                    case 4: //维修
+                        for (Repair repair : repairList) {
+                            if (repair.getCustomerId().intValue() == customer.getCustomerId()) {
+                                customer.setBackStatus(repair.getRepairBackStatus());
+                                customer.setSendStatus(repair.getRepairSendStatus());
+                                customer.setSalesTime(repair.getSalesPayTime());
+                                customer.setSendLogisticsNo(repair.getRepairSendLogisticsNo());
+                                customer.setSendLogisticsCompany(repair.getRepairSendLogisticsCompany());
+                                customer.setBackLogisticsNo(repair.getRepairBackLogisticsNo());
+                                customer.setBackLogisticsCompany(repair.getRepairBackLogisticsCompany());
+                                break;
+                            }
+                        }
+                        break;
+                    case 5: //补发
+                        for (Reissue reissue : reissueList) {
+                            if (reissue.getCustomerId().intValue() == customer.getCustomerId()) {
+                                customer.setSendStatus(reissue.getReissueSendStatus());
+                                customer.setSalesTime(reissue.getSalesPayTime());
+                                customer.setBackLogisticsNo(reissue.getReissueSendLogisticsNo());
+                                customer.setBackLogisticsCompany(reissue.getReissueSendLogisticsCompany());
+                                break;
+                            }
+                        }
+                        break;
+                    case 6: //退货
+                        for (BackGoods backGoods : backGoodsList) {
+                            if (backGoods.getCustomerId().intValue() == customer.getCustomerId()) {
+                                customer.setBackStatus(backGoods.getBackGoodsBackStatus());
+                                customer.setSalesTime(backGoods.getSalesPayTime());
+                                customer.setSendLogisticsNo(backGoods.getBackGoodsBackLogisticsNo());
+                                break;
+                            }
+                        }
+                        break;
+                    case 7: //无理由退货
+                        for (NoreasonBack noreasonBack : noreasonBackList) {
+                            if (noreasonBack.getCustomerId().intValue() == customer.getCustomerId()) {
+                                customer.setBackStatus(noreasonBack.getNoreasonBackBackStatus());
+                                customer.setSalesTime(noreasonBack.getSalesPayTime());
+                                customer.setSendLogisticsNo(noreasonBack.getNoreasonBackBackLogisticsNo());
+                                customer.setSendLogisticsCompany(noreasonBack.getNoreasonBackBackLogisticsCompany());
+                                break;
+                            }
+                        }
+                        break;
+                }
+            }
+        }
+        return customerList;
+    }
+
     /**
      * 产品配件初始化
      * @param cc

+ 65 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/PostageAuthorityLogServiceImpl.java

@@ -0,0 +1,65 @@
+package com.iamberry.rst.service.cm;
+
+import com.iamberry.rst.core.cm.PostageAuthorityLog;
+import com.iamberry.rst.faces.cm.PostageAuthorityLogService;
+import com.iamberry.rst.service.cm.mapper.PostageAuthorityLogMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ *  邮费转账审核日志表接口
+ * @author Administrator
+ * @Date 2018-04-12
+ */
+@Service
+public class PostageAuthorityLogServiceImpl  implements PostageAuthorityLogService {
+    @Autowired
+    private PostageAuthorityLogMapper postageAuthorityLogMapper;
+    /**
+     * 获取集合
+     * @param  postageAuthorityLog
+     * @return List
+     */
+    @Override
+    public List<PostageAuthorityLog> getPostageAuthorityLogList(PostageAuthorityLog  postageAuthorityLog){
+        return  postageAuthorityLogMapper.getPostageAuthorityLogList(postageAuthorityLog);
+    }
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  postageAuthorityLog
+     */
+    @Override
+    public  PostageAuthorityLog  getPostageAuthorityLogById(Integer  id){
+        return  postageAuthorityLogMapper.getPostageAuthorityLogById(id);
+    }
+    /**
+     * 增加数据
+     * @param  postageAuthorityLog
+     * @return Integer
+     */
+    @Override
+    public  Integer  save(PostageAuthorityLog  postageAuthorityLog){
+        return  postageAuthorityLogMapper.save(postageAuthorityLog);
+    }
+    /**
+     * 修改数据
+     * @param  postageAuthorityLog
+     * @return Integer
+     */
+    @Override
+    public  Integer  update(PostageAuthorityLog  postageAuthorityLog){
+        return  postageAuthorityLogMapper.update(postageAuthorityLog);
+    }
+    /**
+     * 删除数据
+     * @param  id
+     * @return Integer
+     */
+    @Override
+    public  Integer  delete(Integer  id){
+        return  postageAuthorityLogMapper.delete(id);
+    }
+}

+ 11 - 12
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/SalesOrderServiceImpl.java

@@ -93,7 +93,7 @@ public class SalesOrderServiceImpl implements SalesOrderService {
     @Transient
     public boolean addOrderAndItem(SalesOrder salesOrder, List<SalesOrderItem> list) throws Exception {
         if (list == null || list.size() == 0) {
-            return false;
+            throw  new RuntimeException("获取Efast订单信息出错!");
         }
         SalesOrder verifyOrder = new SalesOrder();
         verifyOrder.setSalesOrderId(salesOrder.getSalesOrderId());
@@ -106,7 +106,7 @@ public class SalesOrderServiceImpl implements SalesOrderService {
         try {
             int orderNum = salesOrderMapper.addSalesOrder(salesOrder);
             if (orderNum <= 0) {
-                return false;
+                throw  new RuntimeException("获取Efast订单信息出错!");
             }
         }catch (Exception e){
             return true;
@@ -118,7 +118,7 @@ public class SalesOrderServiceImpl implements SalesOrderService {
         //批量添加订单项数据
         int itemNum = salesOrderMapper.addOrderItemList(list);
         if (itemNum <= 0) {
-            return false;
+            throw  new RuntimeException("获取Efast订单信息出错!");
         }
         return true;
     }
@@ -368,15 +368,15 @@ public class SalesOrderServiceImpl implements SalesOrderService {
     @Transient
     public boolean syncEfastOrder(JSONObject orderInfo) throws Exception {
         if (orderInfo == null) {
-            return false;
+            throw  new RuntimeException("获取Efast订单信息出错!");
         }
         if (!orderInfo.has("orders")) {
-            return false;
+            throw  new RuntimeException("获取Efast订单信息出错!");
         }
         //获取订单项集合
         JSONArray itemArray = orderInfo.getJSONArray("orders");
         if (itemArray == null || itemArray.size() == 0) {
-            return false;
+            throw  new RuntimeException("获取Efast订单信息出错!");
         }
 
         SalesOrder salesOrder = new SalesOrder();
@@ -445,11 +445,11 @@ public class SalesOrderServiceImpl implements SalesOrderService {
             ProductColor color = new ProductColor();
             JSONObject itemJson = itemArray.getJSONObject(j);
             SalesOrderItem item = new SalesOrderItem();
-            color.setColorBar(itemJson.getString("goods_sn"));
+            color.setColorBar(itemJson.getString("goods_barcode"));
             List<ProductColor> colorList = productService.listproductAndColor(color);
             if (colorList != null && colorList.size() > 0) {
                 color = colorList.get(0);
-                item.setItemColorBar(itemJson.getString("goods_sn"));//商品69码
+                item.setItemColorBar(itemJson.getString("goods_barcode"));//商品69码
                 item.setItemNum(itemJson.getInt("sn"));//商品数量
                 item.setItemCreateTime(salesOrder.getSalesCreateTime());
                 item.setItemColorId(color.getColorId());
@@ -465,13 +465,13 @@ public class SalesOrderServiceImpl implements SalesOrderService {
             } else {
                 //获取配件信息
                 FittingsInfo fittingsInfo = new FittingsInfo();
-                fittingsInfo.setFittingsBar(itemJson.getString("goods_sn"));
+                fittingsInfo.setFittingsBar(itemJson.getString("goods_barcode"));
                 List<FittingsInfo> Fittings = fittingsInfoMapper.listFittings(fittingsInfo);
                 if (Fittings == null || Fittings.size() == 0) {
                     continue;
                 }
                 fittingsInfo = Fittings.get(0);
-                item.setItemColorBar(itemJson.getString("goods_sn"));//商品69码
+                item.setItemColorBar(itemJson.getString("goods_barcode"));//商品69码
                 item.setItemNum(itemJson.getInt("sn"));//商品数量
                 item.setItemCreateTime(salesOrder.getSalesCreateTime());
                 item.setItemColorId(fittingsInfo.getFittingsId());
@@ -486,12 +486,11 @@ public class SalesOrderServiceImpl implements SalesOrderService {
                 itemList.add(item);
             }
         }
-        //添加订单和订单项
         boolean flag = salesOrderService.addOrderAndItem(salesOrder,itemList);
         if (flag) {
             return true;
         } else {
-            return false;
+            throw  new RuntimeException("添加订单项出错!");
         }
     }
 

+ 7 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/CustomerInfoMapper.java

@@ -41,4 +41,11 @@ public interface CustomerInfoMapper {
 
     /*查询问题个数*/
     Integer getQuestionNumber(CustomerInfo customerInfo);
+    /**
+     *  查询旧的客诉基本信息
+     * @param customerInfo
+     * @return
+     */
+    List<CustomerInfo> listOnCustomer(CustomerInfo customerInfo);
+
 }

+ 43 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/PostageAuthorityLogMapper.java

@@ -0,0 +1,43 @@
+package com.iamberry.rst.service.cm.mapper;
+
+import com.iamberry.rst.core.cm.PostageAuthorityLog;
+
+import java.util.List;
+
+/**
+ *  邮费转账审核日志表接口
+ * @author Administrator
+ * @Date 2018-04-12
+ */
+public interface PostageAuthorityLogMapper {
+    /**
+     * 获取集合
+     * @param  postageAuthorityLog
+     * @return List
+     */
+    List<PostageAuthorityLog> getPostageAuthorityLogList(PostageAuthorityLog  postageAuthorityLog);
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  postageAuthorityLog
+     */
+    PostageAuthorityLog  getPostageAuthorityLogById(Integer  id);
+    /**
+     * 增加数据
+     * @param  postageAuthorityLog
+     * @return Integer
+     */
+    Integer  save(PostageAuthorityLog  postageAuthorityLog);
+    /**
+     * 修改数据
+     * @param  postageAuthorityLog
+     * @return Integer
+     */
+    Integer  update(PostageAuthorityLog  postageAuthorityLog);
+    /**
+     * 删除数据
+     * @param  id
+     * @return Integer
+     */
+    Integer  delete(Integer  id);
+}

+ 64 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/customerInfoMapper.xml

@@ -392,4 +392,68 @@
       </where>
   </select>
 
+
+  <select id="listOnCustomer" parameterType="CustomerInfo" resultMap="customerMap">
+    select
+    c.customer_id,
+    c.customer_counsel_type,
+    a.admin_name,
+    c.customer_name,
+    c.customer_tel,
+    c.customer_wechat_name,
+    c.customer_source_type,
+    c.customer_source,
+    t.type_name,
+    ct.complaint_class_name,
+    s.small_class_name,
+    d.describe_title,
+    sc.company_name,
+    si.store_name,
+    c.customer_area,
+    c.customer_in_TDS,
+    c.customer_out_TDS,
+    c.customer_is_solve,
+    c.customer_is_visit,
+    c.customer_create_time,
+    c.customer_desc,
+    c.customer_out_damaged,
+    c.customer_secondary_customer,
+    v.visit_status,
+    v.visit_complete_date,
+    v.visit_name,
+    v.visit_tel,
+    v.visit_date,
+    v.visit_time_select,
+    v.visit_complete_name,
+    v.visit_complete_tel,
+    sa.admin_name AS  visitDesignatedAdminName,
+    q.question_profile,
+    d.describe_handle_desc,
+    d.describe_content
+    from
+    tb_rst_customer_info c
+    LEFT JOIN tb_rst_question_describe d ON c.customer_id = d.customer_id
+    LEFT JOIN tb_rst_product_type t ON c.type_id = t.type_id
+    LEFT JOIN tb_rst_complaint_question q ON c.question_id = q.question_id
+    LEFT JOIN tb_rst_complaint_small_class s ON q.small_class_id = s.small_class_id
+    LEFT JOIN tb_rst_complaint_type ct ON s.complaint_id = ct.complaint_id
+    LEFT JOIN tb_rst_sales_company sc ON c.company_id = sc.company_id
+    LEFT JOIN tb_rst_store_info si ON c.store_id = si.store_id
+    LEFT JOIN tb_rst_sys_admin a ON c.admin_id = a.admin_id
+    LEFT JOIN tb_rst_visit v ON v.customer_id = c.customer_id
+    LEFT JOIN tb_rst_sys_admin sa ON v.designated_admin_id = sa.admin_id
+    <where>
+      <if test="customerName != null and customerName != ''">
+        c.customer_name = #{customerName}
+      </if>
+      <if test="customerTel != null and customerTel != ''">
+        OR c.customer_tel = #{customerTel}
+      </if>
+      <if test="customerWechatName != null and customerWechatName != ''">
+        OR c.customer_wechat_name = #{customerWechatName}
+      </if>
+    </where>
+
+    ORDER BY c.customer_id desc
+  </select>
 </mapper>

+ 84 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/postageAuthorityLogMapper.xml

@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.iamberry.rst.service.cm.mapper.PostageAuthorityLogMapper">
+    <resultMap  id="BaseResultMap" type="PostageAuthorityLog" >
+        <result    column="authority_log_id"    property="authorityLogId" />
+        <result    column="admin_id"    property="adminId" />
+        <result    column="postage_id"    property="postageId" />
+        <result    column="authority_log_type"    property="authorityLogType" />
+        <result    column="authority_log_create_time"    property="authorityLogCreateTime" />
+    </resultMap>
+    <sql    id="Base_List" >
+        t.authority_log_id,
+        t.admin_id,
+        t.postage_id,
+        t.authority_log_type,
+        t.authority_log_create_time
+    </sql>
+    <select id="getPostageAuthorityLogList" resultMap="BaseResultMap" parameterType="PostageAuthorityLog" >
+        select
+        <include refid="Base_List" />
+        from tb_rst_postage_authority_log t
+        <where>
+            <if test="authorityLogId != null ">
+                AND t.authority_log_id = #{authorityLogId}
+            </if >
+            <if test="adminId != null ">
+                AND t.admin_id = #{adminId}
+            </if >
+            <if test="postageId != null ">
+                AND t.postage_id = #{postageId}
+            </if >
+            <if test="authorityLogType != null ">
+                AND t.authority_log_type = #{authorityLogType}
+            </if >
+        </where>
+    </select>
+    <select id="getPostageAuthorityLogById" resultMap="BaseResultMap" parameterType="Integer" >
+        select
+        <include refid="Base_List" />
+        from tb_rst_postage_authority_log t
+        where t.authority_log_id= #{authorityLogId}
+    </select>
+    <insert id="save" parameterType="PostageAuthorityLog" >
+        insert into
+        tb_rst_postage_authority_log
+        (
+        authority_log_id,
+        admin_id,
+        postage_id,
+        authority_log_type
+        )
+        values
+        (
+        #{authorityLogId},
+        #{adminId},
+        #{postageId},
+        #{authorityLogType}
+        )
+    </insert>
+    <update id="update" parameterType="PostageAuthorityLog" >
+        update
+        tb_rst_postage_authority_log
+        <set >
+            <if test="authorityLogId != null ">
+                authority_log_id = #{authorityLogId},
+            </if >
+            <if test="adminId != null ">
+                admin_id = #{adminId},
+            </if >
+            <if test="postageId != null ">
+                postage_id = #{postageId},
+            </if >
+            <if test="authorityLogType != null ">
+                authority_log_type = #{authorityLogType},
+            </if >
+        </set >
+        where authority_log_id= #{authorityLogId}
+    </update>
+    <delete id="delete" parameterType="Integer" >
+        delete FROM
+        tb_rst_postage_authority_log
+        where authority_log_id=#{authorityLogId}
+    </delete>
+</mapper>

+ 13 - 3
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/postageMapper.xml

@@ -8,6 +8,7 @@
     <result column="postage_customer_status" property="postageCustomerStatus" jdbcType="INTEGER" />
     <result column="postage_manager_status" property="postageManagerStatus" jdbcType="INTEGER" />
     <result column="postage_finance_status" property="postageFinanceStatus" jdbcType="INTEGER" />
+    <result column="postage_transfer_status" property="postageTransferStatus" jdbcType="INTEGER" />
     <result column="postage_order_source" property="postageOrderSource" jdbcType="INTEGER" />
     <result column="postage_treatment_method" property="postageTreatmentMethod" jdbcType="INTEGER" />
     <result column="sales_orderId" property="salesOrderId" jdbcType="VARCHAR" />
@@ -24,7 +25,7 @@
   </resultMap>
 
   <sql id="Base_Column_List" >
-    p.postage_id, p.admin_id, p.customer_id, p.company_id,  p.postage_customer_status, p.postage_manager_status, p.postage_finance_status,p.postage_logistics_img,
+    p.postage_id, p.admin_id, p.customer_id, p.company_id,  p.postage_customer_status, p.postage_manager_status, p.postage_finance_status, p.postage_transfer_status, p.postage_logistics_img,
     p.postage_order_source, p.postage_treatment_method, p.sales_orderId, p.postage_client_name,
     p.postage_client_tel,p.postage_client_address, p.postage_logistics_company, p.postage_logistics_no, p.postage_amount,
     p.postage_alipay, p.postage_alipay_name, p.postage_create_time, p.postage_update_time
@@ -57,6 +58,9 @@
       <if test="postageFinanceStatus != null and postageFinanceStatus != ''">
         AND p.postage_finance_status = #{postageFinanceStatus}
       </if>
+      <if test="postageTransferStatus != null and postageTransferStatus != ''">
+        AND p.postage_transfer_status = #{postageTransferStatus}
+      </if>
       <if test="postageOrderSource != null and postageOrderSource != ''">
         AND p.postage_order_source = #{postageOrderSource}
       </if>
@@ -107,7 +111,7 @@
 
     <insert id="savePostage" parameterType="Postage" >
     insert into tb_rst_postage (postage_id, admin_id, customer_id, company_id, postage_customer_status,
-    postage_manager_status, postage_finance_status,
+    postage_manager_status, postage_finance_status,postage_transfer_status,
     postage_order_source, postage_treatment_method,
     sales_orderId, postage_client_name, postage_client_tel,
     postage_client_address,
@@ -115,7 +119,7 @@
     postage_amount, postage_alipay, postage_alipay_name,postage_logistics_img
     )
     values (#{postageId,jdbcType=INTEGER}, #{adminId,jdbcType=INTEGER}, #{customerId,jdbcType=INTEGER},#{companyId,jdbcType=INTEGER}, #{postageCustomerStatus,jdbcType=INTEGER},
-    #{postageManagerStatus,jdbcType=INTEGER}, #{postageFinanceStatus,jdbcType=INTEGER},
+    #{postageManagerStatus,jdbcType=INTEGER}, #{postageFinanceStatus,jdbcType=INTEGER},  #{postageTransferStatus,jdbcType=INTEGER},
     #{postageOrderSource,jdbcType=INTEGER}, #{postageTreatmentMethod,jdbcType=INTEGER},
     #{salesOrderId,jdbcType=VARCHAR}, #{postageClientName,jdbcType=VARCHAR}, #{postageClientTel,jdbcType=VARCHAR},
     #{postageClientAddress,jdbcType=VARCHAR},
@@ -145,6 +149,9 @@
       <if test="postageFinanceStatus != null" >
         postage_finance_status = #{postageFinanceStatus,jdbcType=INTEGER},
       </if>
+      <if test="postageTransferStatus != null" >
+        postage_transfer_status = #{postageTransferStatus,jdbcType=INTEGER},
+      </if>
       <if test="postageOrderSource != null" >
         postage_order_source = #{postageOrderSource,jdbcType=INTEGER},
       </if>
@@ -213,6 +220,9 @@
       <if test="postageFinanceStatus != null and postageFinanceStatus != ''">
         AND p.postage_finance_status = #{postageFinanceStatus}
       </if>
+      <if test="postageTransferStatus != null and postageTransferStatus != ''">
+        AND p.postage_transfer_status = #{postageTransferStatus}
+      </if>
       <if test="postageOrderSource != null and postageOrderSource != ''">
         AND p.postage_order_source = #{postageOrderSource}
       </if>

+ 51 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminCustomerController.java

@@ -9,6 +9,7 @@ import com.iamberry.rst.core.page.PagedResult;
 import com.iamberry.rst.core.sys.Admin;
 import com.iamberry.rst.faces.address.AddressService;
 import com.iamberry.rst.faces.cm.*;
+import com.iamberry.rst.faces.order.EfastOrderService;
 import com.iamberry.rst.faces.product.ProductService;
 import com.iamberry.rst.faces.sms.SmsService;
 import com.iamberry.rst.faces.sys.SysService;
@@ -22,6 +23,7 @@ import com.iamberry.wechat.tools.NameUtils;
 import com.iamberry.wechat.tools.ResponseJson;
 import com.iamberry.wechat.tools.ResultInfo;
 import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
 import org.apache.commons.codec.binary.Base64;
 import org.apache.commons.lang.StringUtils;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
@@ -91,6 +93,8 @@ public class AdminCustomerController {
     private AddressService addressService;
     @Autowired
     private PostageService postageService;
+    @Autowired
+    private EfastOrderService efastOrderService;
 
 
 
@@ -1892,5 +1896,52 @@ public class AdminCustomerController {
         }
     }
 
+    /**
+     * 根据客户信息查询旧的客诉信息
+     *
+     * @param request
+     * @return
+     * @throws Exception
+     */
+    @ResponseBody
+    @RequestMapping("/selectOnCustomer")
+    public ResponseJson listOnCustomer(HttpServletRequest request,CustomerInfo customerInfo) throws Exception {
+        if (customerInfo == null) {
+            return new ResponseJson(500, "查询客诉失败!", 500);
+        }
+        List<CustomerInfo> onCustomerList = customerService.listOnCustomer(customerInfo);
+        if (onCustomerList.size() == 0) {
+            return new ResponseJson(500, "未找到客诉!", 500);
+        } else {
+            ResponseJson rj = new ResponseJson(200, "查询成功", 200);
+            rj.addResponseKeyValue("onCustomerList", onCustomerList);
+            return rj;
+        }
+    }
+
+    /**
+     * 根据efast订单号查询efast订单物流信息
+     * @param request
+     * @return
+     * @throws Exception
+     */
+    @ResponseBody
+    @RequestMapping("/getefastOrder")
+    public ResponseJson getEfastOrderInfo(HttpServletRequest request,String efastOrderId) throws Exception {
+        if (efastOrderId == null) {
+            return new ResponseJson(500, "查询失败!", 500);
+        }
+        JSONObject orderInfo = efastOrderService.getOrderFormEfastByOrderId(efastOrderId);
+        if (orderInfo == null) {
+            return new ResponseJson(500, "查询失败!", 500);
+        } else if (!orderInfo.has("orders")) {
+            return new ResponseJson(500, "查询失败!", 500);
+
+        } else {
+            ResponseJson rj = new ResponseJson(200, "查询成功", 200);
+            rj.addResponseKeyValue("orderInfo", orderInfo.toString());
+            return rj;
+        }
+    }
 }
 

+ 75 - 8
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminPostageController.java

@@ -4,6 +4,8 @@ import com.iamberry.rst.core.cm.*;
 import com.iamberry.rst.core.order.ProductType;
 import com.iamberry.rst.core.page.PagedResult;
 import com.iamberry.rst.core.sys.Admin;
+import com.iamberry.rst.faces.cm.CompanyInfoService;
+import com.iamberry.rst.faces.cm.PostageAuthorityLogService;
 import com.iamberry.rst.faces.cm.PostageAuthorityService;
 import com.iamberry.rst.faces.cm.PostageService;
 import com.iamberry.rst.faces.sys.SysService;
@@ -42,6 +44,10 @@ public class AdminPostageController {
     private PostageAuthorityService postageAuthorityService;
     @Autowired
     private SysService sysService;
+    @Autowired
+    private CompanyInfoService companyInfoService;
+    @Autowired
+    private PostageAuthorityLogService postageAuthorityLogService;
 
     /**
      * 获取客诉列表
@@ -60,11 +66,19 @@ public class AdminPostageController {
 
         PagedResult<Postage> pagedResult = new PagedResult<>();
 
+        List<CompanyInfo> companyInfoList = companyInfoService.listCompanyInfo(new CompanyInfo());
+
         //获取登录人id
-        if(loginAdmin.getAdminDept() == 3 && loginAdmin.getAdminManager() == 1){        //员工
+        if(loginAdmin.getAdminDept() == 3){        //员工
             postage.setAdminId(loginAdmin.getAdminId());
-        }else if(loginAdmin.getAdminDept() == 3 && loginAdmin.getAdminManager() == 2) {
 
+            if(companyInfoList != null && companyInfoList.size() > 0){
+                Integer[]  companyIds = new Integer[companyInfoList.size()];
+                for (int m=0;m<companyInfoList.size();m++){
+                    companyIds[m] = companyInfoList.get(m).getCompanyId();
+                }
+                postage.setCompanyIds(companyIds);
+            }
         }else{
             /*  获取个人权限所属的销售公司 ,只查询所分的权限的列表 */
             ArrayList companyIdList = new ArrayList();
@@ -72,7 +86,7 @@ public class AdminPostageController {
             for (PostageAuthority postageAuthority:postageAuthorityList ) {
                 companyIdList.add(postageAuthority.getCompanyId());
             }
-            Integer[] companyIds = (Integer[]) companyIdList.toArray(new Integer[companyIdList.size()]);//能正确运行
+            Integer[] companyIds = (Integer[]) companyIdList.toArray(new Integer[companyIdList.size()]);    //获取本身配置的销售公司
             if(companyIds == null || companyIds.length == 0){
                 companyIds = new Integer[]{99};
             }
@@ -190,6 +204,10 @@ public class AdminPostageController {
         if( status == null || status == 0){
             return new ResponseJson(500, "修改状态失败,请重试", 500);
         }
+
+        //获取登录人id
+        Admin loginAdmin = AdminUtils.getLoginAdmin();
+
         Postage post = postageService.getPostage(postageId);
 
         Postage postage = new Postage();
@@ -215,25 +233,49 @@ public class AdminPostageController {
                         postage.setPostageManagerStatus(status);    //驳回
                     }
                     num = postageService.updatePostage(postage);
+                    if(num > 0){        //客服经理审核
+                        PostageAuthorityLog postageAuthorityLog = new PostageAuthorityLog();
+                        postageAuthorityLog.setAdminId(loginAdmin.getAdminId());
+                        postageAuthorityLog.setPostageId(postageId);
+                        postageAuthorityLog.setAuthorityLogType(2);
+                        postageAuthorityLogService.save(postageAuthorityLog);       //增加日志
+                    }
                 }
                 break;
             case 3:         //财务审核
                 if((post.getPostageFinanceStatus() == 1) && verificaAuthority(post.getCompanyId(),3)){
                     //状态(财务审核) 1:审核中 2:通过(已申请待转账)  3:驳回  4:已转账
-                    postage.setPostageFinanceStatus(status);
+                    if(status == 2){
+                        postage.setPostageFinanceStatus(status);
+                        postage.setPostageTransferStatus(1);
+                    }else{
+                        postage.setPostageFinanceStatus(status);
+                    }
                     num = postageService.updatePostage(postage);
+                    if(num > 0){        //客服经理审核
+                        PostageAuthorityLog postageAuthorityLog = new PostageAuthorityLog();
+                        postageAuthorityLog.setAdminId(loginAdmin.getAdminId());
+                        postageAuthorityLog.setPostageId(postageId);
+                        postageAuthorityLog.setAuthorityLogType(3);
+                        postageAuthorityLogService.save(postageAuthorityLog);       //增加日志
+                    }
                 }
                 break;
             case 4:     //财务打款
-
                 if((post.getPostageFinanceStatus() == 2) && verificaAuthority(post.getCompanyId(),4)){
-                    //状态(财务审核) 1:审核中 2:通过(已申请待转账)  3:驳回  4:已转账
-                    postage.setPostageFinanceStatus(status);
+                    //转账状态 是否转账:1已转   2:未转
+                    postage.setPostageTransferStatus(status);
                     num = postageService.updatePostage(postage);
+                    if(num > 0){        //客服经理审核
+                        PostageAuthorityLog postageAuthorityLog = new PostageAuthorityLog();
+                        postageAuthorityLog.setAdminId(loginAdmin.getAdminId());
+                        postageAuthorityLog.setPostageId(postageId);
+                        postageAuthorityLog.setAuthorityLogType(4);
+                        postageAuthorityLogService.save(postageAuthorityLog);       //增加日志
+                    }
                 }
                 break;
         }
-
         if(num > 0){
             return new ResponseJson(200, "修改状态成功", 200);
         }else{
@@ -242,6 +284,31 @@ public class AdminPostageController {
     }
 
     /**
+     * 打印
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions("postage:select:list")
+    @RequestMapping(value = "/print_postage")
+    public ResponseJson printPostage(HttpServletRequest request, Integer postageId) throws Exception {
+        if(postageId == null || postageId == 0){
+            return new ResponseJson(500, "未获取到记录id", 500);
+        }
+        Postage  postage = postageService.getPostage(postageId);
+
+        PostageAuthorityLog postageAuthorityLog = new PostageAuthorityLog();
+        postageAuthorityLog.setPostageId(postageId);
+        List<PostageAuthorityLog> postageAuthorityLogList = postageAuthorityLogService.getPostageAuthorityLogList(postageAuthorityLog);
+        postage.setPostageAuthorityLogList(postageAuthorityLogList);
+
+        if(postage != null){
+            return new ResponseJson(200, "修改状态成功", 200);
+        }else{
+            return new ResponseJson(500, "修改状态失败", 500);
+        }
+    }
+
+    /**
      * 删除
      * @return
      */

+ 9 - 3
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminSalesOrderController.java

@@ -318,13 +318,19 @@ public class AdminSalesOrderController {
             //获取订单详情
             JSONObject orderInfo = efastOrderService.getOrderFormEfastByOrderId(salesDealCode);
             //添加订单和订单项
-            boolean flag = salesOrderService.syncEfastOrder(orderInfo);
+            boolean flag = true;
+            try {
+                flag = salesOrderService.syncEfastOrder(orderInfo);
+            }catch (Exception e){
+                return new ResponseJson(500, e.getMessage(), 500);
+            }
             if (flag) {
                 return new ResponseJson(200, "同步成功!", 200);
             } else {
-                return new ResponseJson(500, "没有查到该订单信息!", 500);
+                return new ResponseJson(500, "同步订单错误!", 500);
             }
         }
-
     }
+
+
 }

+ 11 - 4
watero-rst-web/src/main/java/com/iamberry/rst/controllers/mq/MQTask.java

@@ -23,6 +23,7 @@ import com.iamberry.rst.faces.sys.SysConfigService;
 import com.iamberry.rst.faces.sys.SysService;
 import com.iamberry.rst.service.cm.mapper.CustomerInfoMapper;
 import com.iamberry.rst.service.sms.mapper.MessageMapper;
+import com.iamberry.rst.utils.EfastUtil;
 import com.iamberry.rst.utils.KuaiDi100;
 import com.iamberry.wechat.tools.DateTimeUtil;
 import com.iamberry.wechat.tools.ResponseJson;
@@ -85,6 +86,8 @@ public class MQTask implements InitializingBean {
 	private PostageService postageService;
 	@Autowired
 	private  CompanyInfoService companyInfoService;
+	@Autowired
+	private  EfastUtil efastUtil;
 
 	private Object lock = new Object();
 	private Object lock1 = new Object();
@@ -246,7 +249,8 @@ public class MQTask implements InitializingBean {
 		if(listRepair.size() > 0){
 			for(Repair re:listRepair){
 				if(re.getSalesDealCode() != null){
-					EfastOrder efastOrder = efastOrderService.getFromEfastOrderInfo(re.getSalesDealCode());
+					JSONObject respData = efastOrderService.getOrderFormEfastByOrderId(re.getRepairBackEfastOrderId());
+					EfastOrder efastOrder = efastUtil.respDataConversion(respData);
 					if (efastOrder.getOrderStatus() == 1){//1代表已发货  发货状态: 0(未发货)1(已发货,即已扫描出库)3(备货中)
 						re.setRepairSendName(efastOrder.getOrderAddressName());
 						re.setRepairSendTel(efastOrder.getOrderAddressTel());
@@ -278,7 +282,8 @@ public class MQTask implements InitializingBean {
 		if(listRenewed.size() > 0){
 			for(Renewed re:listRenewed){
 				if(re.getSalesDealCode() != null){
-					EfastOrder efastOrder = efastOrderService.getFromEfastOrderInfo(re.getSalesDealCode());
+					JSONObject respData = efastOrderService.getOrderFormEfastByOrderId(re.getRenewedBackEfastOrderId());
+					EfastOrder efastOrder = efastUtil.respDataConversion(respData);
 					if (efastOrder.getOrderStatus() == 1){//1代表已发货  发货状态: 0(未发货)1(已发货,即已扫描出库)3(备货中)
 						re.setRenewedSendName(efastOrder.getOrderAddressName());
 						re.setRenewedSendTel(efastOrder.getOrderAddressTel());
@@ -308,7 +313,8 @@ public class MQTask implements InitializingBean {
 		if(listReissue.size() > 0){
 			for(Reissue re:listReissue){
 				if(re.getSalesDealCode() != null){
-					EfastOrder efastOrder = efastOrderService.getFromEfastOrderInfo(re.getSalesDealCode());
+					JSONObject respData = efastOrderService.getOrderFormEfastByOrderId(re.getReissueBackEfastOrderId());
+					EfastOrder efastOrder = efastUtil.respDataConversion(respData);
 					if (efastOrder.getOrderStatus() == 1){//1代表已发货  发货状态: 0(未发货)1(已发货,即已扫描出库)3(备货中)
 						re.setReissueSendName(efastOrder.getOrderAddressName());
 						re.setReissueSendTel(efastOrder.getOrderAddressTel());
@@ -519,7 +525,7 @@ public class MQTask implements InitializingBean {
 
 			pt = new Postage();
 			pt.setCompanyId(ci.getCompanyId());
-			pt.setPostageFinanceStatus(2);		//状态(财务审核) 2:通过(已申请待转账)
+			pt.setPostageTransferStatus(1);		//是否转账:1待转   2:已转
 			for (Integer financialPayment: authorityFinancialPaymentSet) {    //financialPayment 为id
 				Integer postageNumber = postageService.getPostageNumber(pt);
 				if(map.get(financialPayment) == null){
@@ -529,6 +535,7 @@ public class MQTask implements InitializingBean {
 					map.put(financialPayment,number + postageNumber);
 				}
 			}
+
 		}
 
 		for (Map.Entry<Integer,Integer> m: map.entrySet()) {

+ 1 - 1
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/OrderTask.java

@@ -33,7 +33,7 @@ public class OrderTask implements InitializingBean {
     }
 
    // @Scheduled(cron = "0 0/4 * * * ?")//每*分钟执行一次
-    @Scheduled(cron = "0 0 */2 * * ?")//每小时执行一次
+//    @Scheduled(cron = "0 0 */2 * * ?")//每小时执行一次
     public void completeOrder() {
         logger.info("------------执行消息提醒,修改已处理的订单至已完成状态 start-----------");
         List<Order> orderList = orderService.listNoCompleteOrder();

+ 64 - 0
watero-rst-web/src/main/java/com/iamberry/rst/utils/EfastUtil.java

@@ -0,0 +1,64 @@
+package com.iamberry.rst.utils;
+
+import com.iamberry.rst.core.order.EfastOrder;
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Component;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLConnection;
+
+/**
+ * Created by Administrator on 2017/8/15.
+ */
+@Component
+public class EfastUtil {
+    /**efast返回数据转换**/
+    public EfastOrder respDataConversion(JSONObject respData) {
+        if(respData == null){
+            return null;
+        }
+        // 发货状态 : shipping_status
+        String shoppingStatus = respData.getString("shipping_status");
+        String shoppingOrderId = respData.getString("order_id");
+        String consignee = respData.getString("consignee");//收货人
+        String address = respData.getString("address");//收货地址
+        String mobile = respData.getString("mobile");//手机号
+        String province = respData.getString("province");//省
+        String city = respData.getString("city");//市
+        String district = respData.getString("district");//区
+        String invoice_no = respData.getString("invoice_no");//快递单号
+        String shipping_name = respData.getString("shipping_name");//快递公司
+
+        String goods_name = "";
+        String goods_number = "";
+        JSONArray citys = respData.getJSONArray("orders");
+        for (int i = 0; i < citys.size(); i++) {
+            JSONObject orderJson = JSONObject.fromObject(citys.get(i));
+            goods_name = orderJson.getString("goods_name");
+            goods_number = orderJson.getString("goods_number");
+        }
+        if (StringUtils.isNotEmpty(shoppingStatus)) {
+            EfastOrder efastOrder = new EfastOrder();
+            efastOrder.setOrderStatus(Integer.parseInt(shoppingStatus));
+            efastOrder.setOrderId(shoppingOrderId);
+            efastOrder.setOrderAddressName(consignee);
+            efastOrder.setOrderAddress(address);
+            efastOrder.setOrderAddressTel(mobile);
+            efastOrder.setOrderProvince(province);
+            efastOrder.setOrderCity(city);
+            efastOrder.setOrderArea(district);
+            efastOrder.setOrderPostNum(invoice_no);
+            efastOrder.setOrderPostFirm(shipping_name);
+            efastOrder.setRepairSendMergeAddress(province + "-" + city + "-" + district);
+            efastOrder.setOrderProductName(goods_name);
+            efastOrder.setOrderNum(Integer.valueOf(goods_number));
+            return efastOrder;
+        }
+        return null;
+    }
+}

+ 2 - 0
watero-rst-web/src/main/resources/watero-rst-orm.xml

@@ -83,6 +83,7 @@
 		<typeAlias type="com.iamberry.rst.core.cm.CustomerCommon" alias="CustomerCommon"/>
 		<typeAlias type="com.iamberry.rst.core.cm.Postage" alias="Postage"/>
 		<typeAlias type="com.iamberry.rst.core.cm.PostageAuthority" alias="PostageAuthority"/>
+		<typeAlias type="com.iamberry.rst.core.cm.PostageAuthorityLog" alias="PostageAuthorityLog"/>
 
 		<typeAlias type="com.iamberry.rst.core.sys.SysConfig" alias="SysConfig"/>
 
@@ -145,6 +146,7 @@
 		<mapper resource="com/iamberry/rst/service/cm/mapper/customerCommonMapper.xml"/>
 		<mapper resource="com/iamberry/rst/service/cm/mapper/postageMapper.xml"/>
 		<mapper resource="com/iamberry/rst/service/cm/mapper/postageAuthorityMapper.xml"/>
+		<mapper resource="com/iamberry/rst/service/cm/mapper/postageAuthorityLogMapper.xml"/>
 
 		<mapper resource="com/iamberry/rst/service/address/mapper/addressMapper.xml"/>
 

+ 22 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/add_customer.ftl

@@ -162,6 +162,28 @@
                     <input type="text" class="input-text associated-phone" placeholder="用户电话" id="customerTel" name="customerTel" value="">
                 </div>
             </div>
+            <div class="row cl" style="display: none;">
+                <div class="formControls col-9 col-sm-9 text-c" id="onCustomerTable">
+                    <table class="table table-border table-bg table-bordered">
+                        <thead>
+                        <tr class="text-c">
+                            <th style="text-align: center;" width="60">客诉时间</th>
+                            <th style="text-align: center;" width="60">跟进客服</th>
+                            <th style="text-align: center;" width="60">用户姓名</th>
+                            <th style="text-align: center;" width="60">用户昵称</th>
+                            <th style="text-align: center;" width="60">用户电话</th>
+                            <th style="text-align: center;" width="60">处理方式</th>
+                            <th style="text-align: center;" width="60">客诉问题</th>
+                            <th style="text-align: center;" width="60">问题简介</th>
+                            <th style="text-align: center;" width="60">操作</th>
+                        </tr>
+                        </thead>
+                        <tbody id="onCustomer">
+
+                        </tbody>
+                    </table>
+                </div>
+            </div>
             <div class="row cl">
                 <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>二次售后:</label>
                 <div class="formControls col-10 col-sm-10 skin-minimal">

+ 2 - 2
watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/custome_list.ftl

@@ -198,11 +198,11 @@
 
                                         <#if (customer.backLogisticsNo??)>
                                             寄回:
-                                            <a onclick="openLogistics('物流信息','${path}/admin/detect/to_view_logistics?billCode=${customer.backLogisticsNo!''}&billName=${customer.backLogisticsCompany!''}',500,400);">${customer.backLogisticsNo!''}</a><br>
+                                            <a onclick="openLogistics('物流信息','${path}/admin/detect/to_view_logistics?billCode=${customer.backLogisticsNo!''}&billName=${customer.backLogisticsCompany!''}',300,400);">${customer.backLogisticsNo!''}</a><br>
                                         </#if>
                                         <#if customer.sendLogisticsNo??>
                                             寄出:
-                                            <a onclick="openLogistics('物流信息','${path}/admin/detect/to_view_logistics?billCode=${customer.sendLogisticsNo!''}&billName=${customer.sendLogisticsCompany!''}',500,400);">${customer.sendLogisticsNo!''}</a><br>
+                                            <a onclick="openLogistics('物流信息','${path}/admin/detect/to_view_logistics?billCode=${customer.sendLogisticsNo!''}&billName=${customer.sendLogisticsCompany!''}',300,400);">${customer.sendLogisticsNo!''}</a><br>
                                         </#if>
                                 <#else>

+ 2 - 2
watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/update_customer.ftl

@@ -105,8 +105,8 @@
                     <div class="radio-box">
                         <input type="radio" id="tel-3" name="customerSourceType" value="3" <#if customerInfo.customerSourceType == 3 >checked</#if>>
                         <label for="tel-3">其他</label>
-                        <input type="text" style="width: 321px;margin-left: 10px; <#if customerInfo.customerSourceType != 3 >display: none;</#if>" class="input-text" value="" placeholder="" id="customerSourceOld" name="customerSourceOld" placeholder="">
-                        <input type="hidden" value="${customerInfo.customerSource!''}" placeholder="" id="customerSource" name="customerSource"  >
+                        <input type="text" style="width: 321px;margin-left: 10px; <#if customerInfo.customerSourceType != 3 >display: none;</#if>" class="input-text" value="${customerInfo.customerSource!''}" placeholder="" id="customerSourceOld" name="customerSourceOld" placeholder="">
+                        <input type="hidden" value="" placeholder="" id="customerSource" name="customerSource"  >
                     </div>
                 </div>
             </div>

+ 21 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/update_repair.ftl

@@ -1036,6 +1036,27 @@
             }
         })
     }
+
+    /*填写订单号后自动获取物流信息*/
+    $("#repairBackEfastOrderId").blur(function () {
+        var repairBackEfastOrderId = $("#repairBackEfastOrderId").val();
+            $.ajax({
+                cache: true,
+                type: "POST",
+                data: {"efastOrderId":repairBackEfastOrderId},
+                url: "${path}/admin/customer/getefastOrder",
+                async: false,
+                success: function(data){
+                    if (data != null && data != "") {
+                        var orderInfo = eval('(' + data.returnMsg.orderInfo + ')');
+                       $("#repairSendLogisticsCompany").val(orderInfo.shipping_name);
+                       $("#repairSendLogisticsNo").val(orderInfo.invoice_no);
+                    }
+                },
+                error: function(XmlHttpRequest, textStatus, errorThrown){
+                }
+            })
+    });
 </script>
 </body>
 </html>

+ 115 - 11
watero-rst-web/src/main/webapp/WEB-INF/views/cm/postage/postage_list.ftl

@@ -47,6 +47,7 @@
                 <option value="2" <#if postage.postageManagerStatus??><#if postage.postageManagerStatus == 2 >selected="selected"</#if></#if>>通过</option>
                 <option value="3" <#if postage.postageManagerStatus??><#if postage.postageManagerStatus == 3 >selected="selected"</#if></#if>>驳回</option>
             </select>
+
             <select class="my-select" name="postageFinanceStatus" id="postageFinanceStatus" style="height: 36px;width: 100px;margin: 0px;padding: 6px 10px 6px 15px;">
                 <option value="">财务审核</option>
                 <option value="1" <#if postage.postageFinanceStatus??><#if postage.postageFinanceStatus == 1 >selected="selected"</#if></#if>>待审核</option>
@@ -55,20 +56,26 @@
                 <option value="4" <#if postage.postageFinanceStatus??><#if postage.postageFinanceStatus == 4 >selected="selected"</#if></#if>>已转账</option>
             </select>
 
+            <select class="my-select" name="postageTransferStatus" id="postageTransferStatus" style="height: 36px;width: 100px;margin: 0px;padding: 6px 10px 6px 15px;">
+                <option value="">财务打款</option>
+                <option value="1" <#if postage.postageTransferStatus??><#if postage.postageTransferStatus == 1 >selected="selected"</#if></#if>>待转</option>
+                <option value="2" <#if postage.postageTransferStatus??><#if postage.postageTransferStatus == 2 >selected="selected"</#if></#if>>已转</option>
+            </select>
+
             <button type="submit" class="btn" style="background: #32a3d8;color: #fff;height: 35px; id="" name=""><i class="Hui-iconfont">&#xe665;</i> 搜索</button>
         </form>
     </div>
 
-
     <div class="mt-20">
         <table class="table table-border table-bg table-bordered">
             <thead>
             <tr class="text-c">
-                <th width="50">客诉编号</th>
+                <th width="40">客诉编号</th>
                 <th width="50">客服人员</th>
                 <th width="50">申请状态</th>
-                <th width="50">客服经理审核状态</th>
-                <th width="50">财务审核状态</th>
+                <th width="50">客服经理审核</th>
+                <th width="50">财务审核</th>
+                <th width="50">财务打款</th>
                 <th width="60">订单来源</th>
                 <th width="70">售后处理方式</th>
                 <th width="80">订单号</th>
@@ -115,11 +122,20 @@
                             <#if postage.postageFinanceStatus == 1>
                                 审核中
                             <#elseif postage.postageFinanceStatus == 2>
-                                通过(已申请待转账)
+                                通过
                             <#elseif postage.postageFinanceStatus == 3>
                                 驳回
-                            <#elseif postage.postageFinanceStatus == 4>
-                                已转账
+                            </#if>
+                        <#else>
+                            -
+                        </#if>
+                    </td>
+                    <td>
+                        <#if postage.postageTransferStatus??>
+                            <#if postage.postageTransferStatus == 1>
+                                待转
+                            <#elseif postage.postageTransferStatus == 2>
+                                已转
                             </#if>
                         <#else>
                             -
@@ -171,7 +187,7 @@
                         </#if>
                     </td>
                     <td>${postage.postageLogisticsNo!''}</td>
-                    <td>${postage.postageAmount!''}</td>
+                    <td>${postage.postageAmount/100!''}</td>
                     <td>${postage.postageAlipay!''}</td>
                     <td>${postage.postageAlipayName!''}</td>
                     <td>
@@ -207,15 +223,24 @@
                             <a style="text-decoration:none" href="javascript:;" title="审核通过" onclick="updatePostage(${postage.postageId},2,3);">
                                 <i class="iconfont icon-pass-2-copy"></i>
                             </a>
-                            <a style="text-decoration:none" href="javascript:;" title="审核不通过" onclick="updatePostage(${postage.postageId},2,3);">
+                            <a style="text-decoration:none" href="javascript:;" title="审核不通过" onclick="updatePostage(${postage.postageId},3,3);">
                                 <i class="iconfont icon-bohui"></i>
                             </a>
                         </#if>
-                        <#if postage.postageFinanceStatus?? && postage.postageFinanceStatus == 2 &&  postage.financePay==1 >
-                            <a style="text-decoration:none" href="javascript:;" title="已转账" onclick="updatePostage(${postage.postageId},4,4);">
+
+                        <#if postage.postageTransferStatus?? && postage.postageTransferStatus == 1 &&  postage.financePay==1 >
+                            <a style="text-decoration:none" href="javascript:;" title="已转账" onclick="updatePostage(${postage.postageId},2,4);">
                                 <i class="iconfont icon-zhuanzhang"></i>
                             </a>
+                            &nbsp;
+                        </#if>
+
+                        <#if postage.postageTransferStatus?? && (postage.postageTransferStatus == 1 ||  postage.postageTransferStatus == 2) >
+                            <a style="text-decoration:none" href="javascript:;" title="打印" onclick="printPostage(${postage.postageId});">
+                                <i class="Hui-iconfont">&#xe652;</i>
+                            </a>
                         </#if>
+
                     </td>
                 </tr>
                 </#list>
@@ -226,9 +251,66 @@
         </table>
     </div>
 </div>
+
+<div  style="padding: 0px;margin: 0px;display: nonde;" >
+    <div id="printlist" style="">
+        <ul style=" height: 460px;margin-left: 20px;margin-right: 20px;">
+            <li style="font-size: 23px;height: 25px;display: block;text-align: center;font-weight: bold;margin-top: 15px">商品换货退货退款审批</li>
+            <li style="font-size: 15px;height: 30px;display: block;text-align: left;margin-top: 15px">深圳爱贝源科技有限公司&nbsp;&nbsp;&nbsp;&nbsp;申请日期:<span>2018-12-11</span></li>
+            <li style="height: 40px;font-size: 12px;font-weight: normal;border: 1px solid #000000;">
+                <div style="float:left;display:block;width:80px;line-height: 40px;height: 40px;border-right: 1px solid #000000;text-align: center;">审批编码</div>
+                <div style="float:left;display:block;width:140px;line-height: 40px;height: 40px;text-align: center;">2018xxxxxxxxxxxxxxxx</div>
+            </li>
+            <li style="height: 40px;font-size: 12px;font-weight: normal;border-bottom: 1px solid #000000;border-left: 1px solid #000000;border-right: 1px solid #000000;">
+                <div style="float:left;display:block;width:80px;line-height: 40px;height: 40px;border-right: 1px solid #000000;text-align: center;">申请人</div>
+                <div style="float:left;display:block;width:140px;line-height: 40px;height: 40px;text-align: center;">wxm</div>
+            </li>
+            <li style="height: 40px;font-size: 12px;font-weight: normal;border-bottom: 1px solid #000000;border-left: 1px solid #000000;border-right: 1px solid #000000;">
+                <div style="float:left;display:block;width:80px;line-height: 40px;height: 40px;border-right: 1px solid #000000;text-align: center;">申请部门</div>
+                <div style="float:left;display:block;width:140px;line-height: 40px;height: 40px;text-align: center;">运营部</div>
+            </li>
+            <li style="height: 40px;font-size: 12px;font-weight: normal;border-bottom: 1px solid #000000;border-left: 1px solid #000000;border-right: 1px solid #000000;">
+                <div style="float:left;display:block;width:80px;line-height: 40px;height: 40px;border-right: 1px solid #000000;text-align: center;"></div>
+                <div style="float:left;display:block;width:99px;line-height: 15px;height: 40px;border-right: 1px solid #000000;text-align: center;">客户成交入口</div>
+                <div style="float:left;display:block;width:50px;line-height: 40px;height: 40px;border-right: 1px solid #000000;text-align: center;">售后类型</div>
+                <div style="float:left;display:block;width:80px;line-height: 40px;height: 40px;border-right: 1px solid #000000;text-align: center;">销售时间及退换货原因</div>
+                <div style="float:left;display:block;width:50px;line-height: 40px;height: 40px;border-right: 1px solid #000000;text-align: center;">交易号</div>
+                <div style="float:left;display:block;width:89px;line-height: 40px;height: 40px;border-right: 1px solid #000000;text-align: center;">客户名称</div>
+                <div style="float:left;display:block;width:80px;line-height: 40px;height: 40px;border-right: 1px solid #000000;text-align: center;">联系电话</div>
+                <div style="float:left;display:block;width:140px;line-height: 40px;height: 40px;text-align: center;">详细地址</div>
+                <div style="float:left;display:block;width:140px;line-height: 40px;height: 40px;text-align: center;">快递公司</div>
+                <div style="float:left;display:block;width:140px;line-height: 40px;height: 40px;text-align: center;">快递单号</div>
+                <div style="float:left;display:block;width:140px;line-height: 40px;height: 40px;text-align: center;">快递费用承担方</div>
+                <div style="float:left;display:block;width:140px;line-height: 40px;height: 40px;text-align: center;">退回商品名称/型号</div>
+                <div style="float:left;display:block;width:140px;line-height: 40px;height: 40px;text-align: center;">销售员</div>
+                <div style="float:left;display:block;width:140px;line-height: 40px;height: 40px;text-align: center;">数量</div>
+                <div style="float:left;display:block;width:140px;line-height: 40px;height: 40px;text-align: center;">退款金额</div>
+                <div style="float:left;display:block;width:140px;line-height: 40px;height: 40px;text-align: center;">退款账户</div>
+            </li>
+
+            <li style="height: 40px;font-size: 12px;font-weight: normal;border-bottom: 1px solid #000000;border-left: 1px solid #000000;border-right: 1px solid #000000;">
+                <div style="float:left;display:block;width:80px;line-height: 40px;height: 40px;border-right: 1px solid #000000;text-align: center;">客服经理审批</div>
+                <div style="float:left;display:block;width:140px;line-height: 40px;height: 40px;text-align: center;">xxx</div>
+            </li>
+            <li style="height: 40px;font-size: 12px;font-weight: normal;border-bottom: 1px solid #000000;border-left: 1px solid #000000;border-right: 1px solid #000000;">
+                <div style="float:left;display:block;width:80px;line-height: 40px;height: 40px;border-right: 1px solid #000000;text-align: center;">财务经理审批</div>
+                <div style="float:left;display:block;width:140px;line-height: 40px;height: 40px;text-align: center;">xxx</div>
+            </li>
+            <li style="height: 40px;font-size: 12px;font-weight: normal;border-bottom: 1px solid #000000;border-left: 1px solid #000000;border-right: 1px solid #000000;">
+                <div style="float:left;display:block;width:80px;line-height: 40px;height: 40px;border-right: 1px solid #000000;text-align: center;">财务打款</div>
+                <div style="float:left;display:block;width:140px;line-height: 40px;height: 40px;text-align: center;">xxx</div>
+            </li>
+
+            <li style="font-size: 15px;height: 30px;display: block;text-align: left;margin-top: 15px">打印时间:<span>2018-12-11</span>&nbsp;&nbsp;&nbsp;&nbsp;打印人:<span>xxx</span></li>
+        </ul>
+    </div>
+</div>
+
+
 <tfoot>
 <#include "/base/page_util.ftl">
 <script type="text/javascript" src="${path}/common/lib/lightbox2/2.8.1/js/lightbox.js"></script>
+<script type="text/javascript" src="${path}/common/lib/jquery.PrintArea/jquery.PrintArea.js"></script>
 </tfoot>
 <script type="text/javascript">
     /**
@@ -256,6 +338,28 @@
         }, function() {
         });
     }
+
+    /**
+     * 打印
+     */
+    function printPostage(postageId) {
+            $.ajax({
+                cache: true,
+                type: "POST",
+                data: {"postageId":postageId},
+                url: "${path}" + "/admin/postage/print_postage",
+                async: true,
+                success: function(data){
+                    if (data.returnCode == 200) {
+                        $("#printlist").printArea();
+                    } else {
+                        layer.msg(data.resultMsg,{icon: 5,time:3000});
+                    }
+                },
+                error: function(XmlHttpRequest, textStatus, errorThrown){
+                }
+            })
+    }
 </script>
 </body>
 </html>

+ 122 - 1
watero-rst-web/src/main/webapp/common/js/customer/customer.js

@@ -1885,4 +1885,125 @@ function processIsEmpty(process){
     }
     return true;
 }
-/*===============================客诉提交  -- end -- =============================== */
+/*===============================客诉提交  -- end -- =============================== */
+
+
+/*$("#customerWechatName").blur(function(){
+    selectOnCustomer();
+});
+$("#customerName").blur(function(){
+    selectOnCustomer();
+});
+$("#customerTel").blur(function(){
+    selectOnCustomer();
+});*/
+/*根据客户信息查询老的客诉---start--*/
+function selectOnCustomer() {
+    var customerWechatName = $("#customerWechatName").val();
+    var customerName = $("#customerName").val();
+    var customerTel = $("#customerTel").val();
+    if((customerWechatName == null || customerWechatName == "") &&
+        (customerName == null || customerName == "") &&
+        (customerTel == null || customerTel == "")){
+        return;
+    }
+    $.ajax({
+        type: "POST",
+        data: {"customerWechatName" :customerWechatName,
+            "customerName":customerName,
+            "customerTel":customerTel},
+        url: url_path + "/admin/customer/selectOnCustomer",
+        async: false,
+        success: function(data){
+            if (data.returnCode == 200) {
+                var onCustomerList = data.returnMsg.onCustomerList;
+                if(onCustomerList != null && onCustomerList.length >0 ){
+                    var onCustomerTd = "";
+                   for(var i = 0;i < onCustomerList.length; i++){
+                        var onCustomer = onCustomerList[i];
+                        //客诉时间
+                       var time = formatDate(new Date(onCustomer.customerCreateTime),"yyyy-MM-dd");
+                       //处理方式
+                       var customerIsSolve = "";
+                       switch (onCustomer.customerIsSolve){
+                           case 1:
+                               customerIsSolve = "已解决";
+
+                               break;
+                           case 2:
+                               customerIsSolve = "未解决";
+                               break;
+                           case 3:
+                               customerIsSolve = "换新"+ backStatus(onCustomer.backStatus)+sendStatus(onCustomer.sendStatus);
+                               break;
+                           case 4:
+                               customerIsSolve = "维修"+ backStatus(onCustomer.backStatus)+sendStatus(onCustomer.sendStatus);
+                               break;
+                           case 5:
+                               customerIsSolve = "补发"+ sendStatus(onCustomer.sendStatus);
+                               break;
+                           case 6:
+                               customerIsSolve = "退货"+ backStatus(onCustomer.backStatus);
+                               break;
+                           case 7:
+                               customerIsSolve = "无理由退货"+ backStatus(onCustomer.backStatus);
+                               break;
+                       }
+                       var customerWechatName = onCustomer.customerWechatName;
+                        //微信昵称
+                       if(typeof(onCustomer.customerWechatName)=="undefined"){
+                           customerWechatName = "";
+                       }
+
+                       var customerName = onCustomer.customerName;
+                       //姓名
+                       if(typeof(onCustomer.customerName)=="undefined"){
+                           customerName = "";
+                       }
+                       onCustomerTd += '' +
+                           ' <tr>' +
+                           ' <td style="text-align: center;">'+ time+'</td>' +
+                           ' <td style="text-align: center;">'+onCustomer.adminName +'</td>' +
+                           ' <td style="text-align: center;">'+customerName +'</td>' +
+                           ' <td style="text-align: center;">'+customerWechatName +'</td>' +
+                           ' <td style="text-align: center;">'+onCustomer.customerTel +'</td>' +
+                           ' <td style="text-align: center;">'+customerIsSolve +'</td>' +
+                           ' <td style="text-align: center;">'+onCustomer.describeTitle +'</td>' +
+                           ' <td style="text-align: center;">'+onCustomer.describeContent +'</td>' +
+                           ' <td style="text-align: center;"></td>' +
+                           ' </tr>' +
+                           '';
+                   }
+                   $("#onCustomer").html(onCustomerTd);
+                }
+            }
+        },
+        error: function(XmlHttpRequest, textStatus, errorThrown){
+        }
+    });
+
+
+    function backStatus(status) {
+        if(status == 1){
+            return "(未寄回)";
+        }
+        if(status == 2){
+            return "(已寄回)";
+        }
+        if(status == 3){
+            return "(已收货)";
+        }
+    }
+    function sendStatus(status) {
+        if(status == 1){
+            return "(未寄送)";
+        }
+        if(status == 2){
+            return "(已寄送)";
+        }
+        if(status == 3){
+            return "(已收货)";
+        }
+    }
+}
+/*根据客户信息查询老的客诉---end--*/