Bläddra i källkod

添加了维修和退货处理

liuzhiwei 7 år sedan
förälder
incheckning
4c70409031
26 ändrade filer med 1262 tillägg och 616 borttagningar
  1. 22 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/BackGoods.java
  2. 10 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/ClosedFitting.java
  3. 20 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/ClosedProdcue.java
  4. 130 1
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/Repair.java
  5. 20 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/SendFitting.java
  6. 20 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/SendProdcue.java
  7. 17 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/BackGoodsService.java
  8. 8 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/CustomerService.java
  9. 7 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/RenewedService.java
  10. 23 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/RepairService.java
  11. 23 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/BackGoodsServiceImpl.java
  12. 46 5
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/CustomerServiceImpl.java
  13. 5 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/RenewedServiceImpl.java
  14. 28 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/RepairServiceImpl.java
  15. 6 3
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/BackGoodsMapper.java
  16. 9 3
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/ClosedFittingMapper.java
  17. 9 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/ClosedProdcueMapper.java
  18. 6 5
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/RenewedMapper.java
  19. 14 2
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/RepairMapper.java
  20. 11 21
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/backGoodsMapper.xml
  21. 19 49
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/closedFittingMapper.xml
  22. 17 37
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/closedProdcueMapper.xml
  23. 31 235
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/renewedMapper.xml
  24. 67 204
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/repairMapper.xml
  25. 163 8
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminCustomerController.java
  26. 531 43
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/custome_list.ftl

+ 22 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/BackGoods.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;
 
 public class BackGoods  implements Serializable {
     private static final long serialVersionUID = -6844954322262497132L;
@@ -39,6 +41,26 @@ public class BackGoods  implements Serializable {
 
     private Date backGoodsUpdateTime;
 
+    private List<ClosedFitting> closedFittings = new ArrayList<ClosedFitting>();//寄回配件集合
+
+    private List<ClosedProdcue> closedProdcues = new ArrayList<ClosedProdcue>();//机会产品集合
+
+    public List<ClosedFitting> getClosedFittings() {
+        return closedFittings;
+    }
+
+    public void setClosedFittings(List<ClosedFitting> closedFittings) {
+        this.closedFittings = closedFittings;
+    }
+
+    public List<ClosedProdcue> getClosedProdcues() {
+        return closedProdcues;
+    }
+
+    public void setClosedProdcues(List<ClosedProdcue> closedProdcues) {
+        this.closedProdcues = closedProdcues;
+    }
+
     public Integer getBackGoodsBackStatus() {
         return backGoodsBackStatus;
     }

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

@@ -14,8 +14,18 @@ public class ClosedFitting  implements Serializable {
 
     private Integer closedFittingNumber;
 
+    private Integer closedFittingType;  //售后类型  3:换新;4:维修;5:补发;6:退货;7:无理由退货
+
     private String fittingName;     //配件名称
 
+    public Integer getClosedFittingType() {
+        return closedFittingType;
+    }
+
+    public void setClosedFittingType(Integer closedFittingType) {
+        this.closedFittingType = closedFittingType;
+    }
+
     public String getFittingName() {
         return fittingName;
     }

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

@@ -14,6 +14,26 @@ public class ClosedProdcue  implements Serializable {
 
     private Integer closedProdcueNumber;
 
+    private Integer closedProdcueType;  //售后类型  3:换新;4:维修;5:补发;6:退货;7:无理由退货
+
+    private String closedProductName; //产品名称
+
+    public String getClosedProductName() {
+        return closedProductName;
+    }
+
+    public void setClosedProductName(String closedProductName) {
+        this.closedProductName = closedProductName;
+    }
+
+    public Integer getClosedProdcueType() {
+        return closedProdcueType;
+    }
+
+    public void setClosedProdcueType(Integer closedProdcueType) {
+        this.closedProdcueType = closedProdcueType;
+    }
+
     public Integer getClosedProdcueId() {
         return closedProdcueId;
     }

+ 130 - 1
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/Repair.java

@@ -1,12 +1,14 @@
 package com.iamberry.rst.core.cm;
 
 import java.io.Serializable;
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
 
 /**
  * 售后维修表
  */
-public class Repair  implements Serializable {
+public class Repair implements Serializable {
 
     private static final long serialVersionUID = 6499911867888249040L;
 
@@ -67,6 +69,133 @@ public class Repair  implements Serializable {
     //  修改时间 ,
     private Date repairUpdateTime;
 
+    private String detectPhenomenon;            //工厂检测现象
+    private String detectFailureClassification; //故障分类
+    private String detectFailureCause;          //故障原因
+    private String detectResults;               //判定结果
+    private String detectPoint;                 //故障指向
+    private String detectAnalysis;              //原因分析
+    private Integer detectRevolutionProduced;   //是否转入生产部门
+    private Integer maintenanceIdRepair;        //是否可返修
+    private String maintenanceContent;          //返修内容
+    private Date maintenanceContentDate;        //返修日期
+    private Integer closedProdcueNumber;        //寄回产品数量
+    private String productName;                 //产品名称
+    private Integer detectState;                //品质检测状态
+    private List<ClosedFitting> closedFittings = new ArrayList<ClosedFitting>();//寄回配件集合
+
+    public List<ClosedFitting> getClosedFittings() {
+        return closedFittings;
+    }
+
+    public void setClosedFittings(List<ClosedFitting> closedFittings) {
+        this.closedFittings = closedFittings;
+    }
+
+    public String getDetectPhenomenon() {
+        return detectPhenomenon;
+    }
+
+    public void setDetectPhenomenon(String detectPhenomenon) {
+        this.detectPhenomenon = detectPhenomenon;
+    }
+
+    public String getDetectFailureClassification() {
+        return detectFailureClassification;
+    }
+
+    public void setDetectFailureClassification(String detectFailureClassification) {
+        this.detectFailureClassification = detectFailureClassification;
+    }
+
+    public String getDetectFailureCause() {
+        return detectFailureCause;
+    }
+
+    public void setDetectFailureCause(String detectFailureCause) {
+        this.detectFailureCause = detectFailureCause;
+    }
+
+    public String getDetectResults() {
+        return detectResults;
+    }
+
+    public void setDetectResults(String detectResults) {
+        this.detectResults = detectResults;
+    }
+
+    public String getDetectPoint() {
+        return detectPoint;
+    }
+
+    public void setDetectPoint(String detectPoint) {
+        this.detectPoint = detectPoint;
+    }
+
+    public String getDetectAnalysis() {
+        return detectAnalysis;
+    }
+
+    public void setDetectAnalysis(String detectAnalysis) {
+        this.detectAnalysis = detectAnalysis;
+    }
+
+    public Integer getDetectRevolutionProduced() {
+        return detectRevolutionProduced;
+    }
+
+    public void setDetectRevolutionProduced(Integer detectRevolutionProduced) {
+        this.detectRevolutionProduced = detectRevolutionProduced;
+    }
+
+    public Integer getMaintenanceIdRepair() {
+        return maintenanceIdRepair;
+    }
+
+    public void setMaintenanceIdRepair(Integer maintenanceIdRepair) {
+        this.maintenanceIdRepair = maintenanceIdRepair;
+    }
+
+    public String getMaintenanceContent() {
+        return maintenanceContent;
+    }
+
+    public void setMaintenanceContent(String maintenanceContent) {
+        this.maintenanceContent = maintenanceContent;
+    }
+
+    public Date getMaintenanceContentDate() {
+        return maintenanceContentDate;
+    }
+
+    public void setMaintenanceContentDate(Date maintenanceContentDate) {
+        this.maintenanceContentDate = maintenanceContentDate;
+    }
+
+    public Integer getClosedProdcueNumber() {
+        return closedProdcueNumber;
+    }
+
+    public void setClosedProdcueNumber(Integer closedProdcueNumber) {
+        this.closedProdcueNumber = closedProdcueNumber;
+    }
+
+    public String getProductName() {
+        return productName;
+    }
+
+    public void setProductName(String productName) {
+        this.productName = productName;
+    }
+
+    public Integer getDetectState() {
+        return detectState;
+    }
+
+    public void setDetectState(Integer detectState) {
+        this.detectState = detectState;
+    }
+
     public Integer getRepairId() {
         return repairId;
     }

+ 20 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/SendFitting.java

@@ -14,6 +14,26 @@ public class SendFitting  implements Serializable {
 
     private Integer sendFittingNumber;
 
+    private Integer sendFittingType;    //售后类型  3:换新;4:维修;5:补发;6:退货;7:无理由退货
+
+    private String sendProductName; //产品名称
+
+    public String getSendProductName() {
+        return sendProductName;
+    }
+
+    public void setSendProductName(String sendProductName) {
+        this.sendProductName = sendProductName;
+    }
+
+    public Integer getSendFittingType() {
+        return sendFittingType;
+    }
+
+    public void setSendFittingType(Integer sendFittingType) {
+        this.sendFittingType = sendFittingType;
+    }
+
     public Integer getSendFittingId() {
         return sendFittingId;
     }

+ 20 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/SendProdcue.java

@@ -15,6 +15,26 @@ public class SendProdcue  implements Serializable {
 
     private Integer sendProdcueNumber;
 
+    private Integer sendProduceType;    //售后类型  3:换新;4:维修;5:补发;6:退货;7:无理由退货
+
+    private String sendProduceName; //产品名称
+
+    public String getSendProduceName() {
+        return sendProduceName;
+    }
+
+    public void setSendProduceName(String sendProduceName) {
+        this.sendProduceName = sendProduceName;
+    }
+
+    public Integer getSendProduceType() {
+        return sendProduceType;
+    }
+
+    public void setSendProduceType(Integer sendProduceType) {
+        this.sendProduceType = sendProduceType;
+    }
+
     public Integer getSendProdcueId() {
         return sendProdcueId;
     }

+ 17 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/BackGoodsService.java

@@ -0,0 +1,17 @@
+package com.iamberry.rst.faces.cm;
+
+import com.iamberry.rst.core.cm.BackGoods;
+
+/**
+ * 退货service
+ * Created by liuzhiwei on 2017/11/8.
+ */
+public interface BackGoodsService {
+
+    /**
+     * 修改售后退货信息
+     * @param record
+     * @return
+     */
+    Integer updateBackGoods(BackGoods record);
+}

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

@@ -1,5 +1,6 @@
 package com.iamberry.rst.faces.cm;
 
+import com.iamberry.rst.core.cm.BackGoods;
 import com.iamberry.rst.core.cm.CustomerInfo;
 import com.iamberry.rst.core.page.PagedResult;
 
@@ -30,4 +31,11 @@ public interface CustomerService {
      * @return
      */
     PagedResult<CustomerInfo> listCustomer(int pageNO, int pageSize, CustomerInfo customerInfo, boolean isTotalNum);
+
+    /**
+     * 获取售后退货信息
+     * @param backGoods
+     * @return
+     */
+    BackGoods getBackGoods(BackGoods backGoods);
 }

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

@@ -24,4 +24,11 @@ public interface RenewedService {
      * @return
      */
     List<ClosedFitting> listClosedFitting(ClosedFitting closedFitting);
+
+    /**
+     * 修改换新信息
+     * @param record
+     * @return
+     */
+    Integer updateRenewedInfo(Renewed record);
 }

+ 23 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/RepairService.java

@@ -0,0 +1,23 @@
+package com.iamberry.rst.faces.cm;
+
+import com.iamberry.rst.core.cm.Repair;
+
+/**
+ * 维修Service
+ * Created by liuzhiwei on 2017/11/8.
+ */
+public interface RepairService {
+    /**
+     * 获取维修详情和品质检测信息
+     * @param repair
+     * @return
+     */
+    Repair getRepairInfo(Repair repair);
+
+    /**
+     * 修改维修信息
+     * @param repair
+     * @return
+     */
+    Integer updateRepairInfo(Repair repair);
+}

+ 23 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/BackGoodsServiceImpl.java

@@ -0,0 +1,23 @@
+package com.iamberry.rst.service.cm;
+
+import com.iamberry.rst.core.cm.BackGoods;
+import com.iamberry.rst.faces.cm.BackGoodsService;
+import com.iamberry.rst.service.cm.mapper.BackGoodsMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 退货service
+ * Created by liuzhiwei on 2017/11/8.
+ */
+@Service
+public class BackGoodsServiceImpl implements BackGoodsService {
+
+    @Autowired
+    private BackGoodsMapper backGoodsMapper;
+
+    @Override
+    public Integer updateBackGoods(BackGoods record) {
+        return backGoodsMapper.updateBackGoods(record);
+    }
+}

+ 46 - 5
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/CustomerServiceImpl.java

@@ -27,6 +27,10 @@ public class CustomerServiceImpl implements CustomerService {
     private ReissueMapper reissueMapper;
     @Autowired
     private RenewedMapper renewedMapper;
+    @Autowired
+    private ClosedFittingMapper closedFittingMapper;
+    @Autowired
+    private ClosedProdcueMapper closedProdcueMapper;
 
     @Override
     public CustomerInfo getCustomerInfo(Integer customerId) {
@@ -44,15 +48,25 @@ public class CustomerServiceImpl implements CustomerService {
         //查询客诉列表
         List<CustomerInfo> customerList = customerInfoMapper.listCustomer(customerInfo);
         //查询售后维修集合
-        List<Repair> repairList = repairMapper.listRepair(new Repair());
+        Repair repairInfo = new Repair();
+        repairInfo.setRepairState(1);
+        List<Repair> repairList = repairMapper.listRepair(repairInfo);
         //查询售后退货集合
-        List<BackGoods> backGoodsList = backGoodsMapper.listBackGoods(new BackGoods());
+        BackGoods backGoodsInfo = new BackGoods();
+        backGoodsInfo.setBackGoodsState(1);
+        List<BackGoods> backGoodsList = backGoodsMapper.listBackGoods(backGoodsInfo);
         //查询售后无理由退货集合
-        List<NoreasonBack> noreasonBackList = noreasonBackMapper.listNoreasonBack(new NoreasonBack());
+        NoreasonBack noreasonBackInfo = new NoreasonBack();
+        noreasonBackInfo.setNoreasonBackState(1);
+        List<NoreasonBack> noreasonBackList = noreasonBackMapper.listNoreasonBack(noreasonBackInfo);
         //查询售后补发集合
-        List<Reissue> reissueList = reissueMapper.listReissue(new Reissue());
+        Reissue reissueInfo = new Reissue();
+        reissueInfo.setReissueState(1);
+        List<Reissue> reissueList = reissueMapper.listReissue(reissueInfo);
         //查询售后换新集合
-        List<Renewed> renewedList = renewedMapper.listRenewed(new Renewed());
+        Renewed renewedInfo = new Renewed();
+        renewedInfo.setRenewedState(1);
+        List<Renewed> renewedList = renewedMapper.listRenewed(renewedInfo);
 
         if (customerList != null && customerList.size() > 0) {
             for (CustomerInfo customer : customerList) {
@@ -104,4 +118,31 @@ public class CustomerServiceImpl implements CustomerService {
         }
         return PageUtil.getPage(customerList);
     }
+
+    @Override
+    public BackGoods getBackGoods(BackGoods backGoods) {
+        //获取退货集合
+        List<BackGoods> backList = backGoodsMapper.listBackGoods(backGoods);
+        if (backList == null || backList.size() == 0) {
+            return null;
+        }
+        BackGoods goods = backList.get(0);
+        ClosedProdcue closedProdcue = new ClosedProdcue();
+        closedProdcue.setRelationId(goods.getBackGoodsId());
+        closedProdcue.setClosedProdcueType(6);
+        //查询寄回产品集合
+        List<ClosedProdcue> prodcueList = closedProdcueMapper.listclosedProdcue(closedProdcue);
+        ClosedFitting fitting = new ClosedFitting();
+        fitting.setRelationId(goods.getBackGoodsId());
+        fitting.setClosedFittingType(6);
+        //查询寄回配件集合
+        List<ClosedFitting> fittingList = closedFittingMapper.listClosedFitting(fitting);
+        if (prodcueList != null && prodcueList.size() > 0) {
+            goods.setClosedProdcues(prodcueList);
+        }
+        if (fittingList != null && fittingList.size() > 0) {
+            goods.setClosedFittings(fittingList);
+        }
+        return goods;
+    }
 }

+ 5 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/RenewedServiceImpl.java

@@ -28,4 +28,9 @@ public class RenewedServiceImpl implements RenewedService {
     public List<ClosedFitting> listClosedFitting(ClosedFitting closedFitting) {
         return renewedMapper.listClosedFitting(closedFitting);
     }
+
+    @Override
+    public Integer updateRenewedInfo(Renewed record) {
+        return renewedMapper.updateRenewedInfo(record);
+    }
 }

+ 28 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/RepairServiceImpl.java

@@ -0,0 +1,28 @@
+package com.iamberry.rst.service.cm;
+
+import com.iamberry.rst.core.cm.Repair;
+import com.iamberry.rst.faces.cm.RepairService;
+import com.iamberry.rst.service.cm.mapper.RepairMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 维修Service
+ * Created by liuzhiwei on 2017/11/8.
+ */
+@Service
+public class RepairServiceImpl implements RepairService {
+
+    @Autowired
+    private RepairMapper repairMapper;
+
+    @Override
+    public Repair getRepairInfo(Repair repair) {
+        return repairMapper.getRepairInfo(repair);
+    }
+
+    @Override
+    public Integer updateRepairInfo(Repair repair) {
+        return repairMapper.updateRepairInfo(repair);
+    }
+}

+ 6 - 3
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/BackGoodsMapper.java

@@ -14,9 +14,12 @@ public interface BackGoodsMapper {
 
     BackGoods selectByPrimaryKey(Integer backGoodsId);
 
-    int updateByPrimaryKeySelective(BackGoods record);
-
-    int updateByPrimaryKey(BackGoods record);
+    /**
+     * 修改售后退货信息
+     * @param record
+     * @return
+     */
+    Integer updateBackGoods(BackGoods record);
 
     /**
      * 查询售后退货集合

+ 9 - 3
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/ClosedFittingMapper.java

@@ -2,16 +2,22 @@ package com.iamberry.rst.service.cm.mapper;
 
 import com.iamberry.rst.core.cm.ClosedFitting;
 
+import java.util.List;
+
 public interface ClosedFittingMapper {
     int deleteByPrimaryKey(Integer closedFittingId);
 
     int insert(ClosedFitting record);
 
-    int insertSelective(ClosedFitting record);
-
     ClosedFitting selectByPrimaryKey(Integer closedFittingId);
 
     int updateByPrimaryKeySelective(ClosedFitting record);
 
-    int updateByPrimaryKey(ClosedFitting record);
+
+    /**
+     * 获取寄回配件集合
+     * @param record
+     * @return
+     */
+    List<ClosedFitting> listClosedFitting(ClosedFitting record);
 }

+ 9 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/ClosedProdcueMapper.java

@@ -2,6 +2,8 @@ package com.iamberry.rst.service.cm.mapper;
 
 import com.iamberry.rst.core.cm.ClosedProdcue;
 
+import java.util.List;
+
 public interface ClosedProdcueMapper {
     int deleteByPrimaryKey(Integer closedProdcueId);
 
@@ -14,4 +16,11 @@ public interface ClosedProdcueMapper {
     int updateByPrimaryKeySelective(ClosedProdcue record);
 
     int updateByPrimaryKey(ClosedProdcue record);
+
+    /**
+     * 查询售后寄回产品集合
+     * @param record
+     * @return
+     */
+    List<ClosedProdcue> listclosedProdcue(ClosedProdcue record);
 }

+ 6 - 5
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/RenewedMapper.java

@@ -10,11 +10,12 @@ public interface RenewedMapper {
 
     int insert(Renewed record);
 
-    int insertSelective(Renewed record);
-
-    int updateByPrimaryKeySelective(Renewed record);
-
-    int updateByPrimaryKey(Renewed record);
+    /**
+     * 修改换新信息
+     * @param record
+     * @return
+     */
+    Integer updateRenewedInfo(Renewed record);
 
     /**
      * 查询售后换新集合

+ 14 - 2
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/RepairMapper.java

@@ -9,8 +9,6 @@ public interface RepairMapper {
 
     int insert(Repair record);
 
-    int insertSelective(Repair record);
-
     Repair selectByPrimaryKey(Integer repairId);
 
     int updateByPrimaryKeySelective(Repair record);
@@ -23,4 +21,18 @@ public interface RepairMapper {
      * @return
      */
     List<Repair> listRepair(Repair repair);
+
+    /**
+     * 获取维修详情和品质检测信息
+     * @param repair
+     * @return
+     */
+    Repair getRepairInfo(Repair repair);
+
+    /**
+     * 修改维修信息
+     * @param repair
+     * @return
+     */
+    Integer updateRepairInfo(Repair repair);
 }

+ 11 - 21
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/backGoodsMapper.xml

@@ -39,6 +39,14 @@
       *
     from
       tb_rst_back_goods
+    <where>
+      <if test="customerId != null and customerId != ''">
+        customer_id = #{customerId}
+      </if>
+      <if test="backGoodsState != null and backGoodsState != ''">
+        and back_goods_state = #{backGoodsState}
+      </if>
+    </where>
   </select>
 
   <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
@@ -172,7 +180,9 @@
       </if>
     </trim>
   </insert>
-  <update id="updateByPrimaryKeySelective" parameterType="BackGoods" >
+
+  <!-- 修改售后退货信息 -->
+  <update id="updateBackGoods" parameterType="BackGoods" >
     update tb_rst_back_goods
     <set >
       <if test="customerId != null" >
@@ -226,24 +236,4 @@
     </set>
     where back_goods_id = #{backGoodsId,jdbcType=INTEGER}
   </update>
-  <update id="updateByPrimaryKey" parameterType="BackGoods" >
-    update tb_rst_back_goods
-    set customer_id = #{customerId,jdbcType=INTEGER},
-      order_id = #{orderId,jdbcType=INTEGER},
-      signclosed_id = #{signclosedId,jdbcType=INTEGER},
-      back_goods_back_status = #{backGoodsBackStatus,jdbcType=BIT},
-      back_goods_back_name = #{backGoodsBackName,jdbcType=VARCHAR},
-      back_goods_back_tel = #{backGoodsBackTel,jdbcType=CHAR},
-      back_goods_back_logistics_company = #{backGoodsBackLogisticsCompany,jdbcType=VARCHAR},
-      back_goods_back_logistics_no = #{backGoodsBackLogisticsNo,jdbcType=VARCHAR},
-      back_goods_back_postage = #{backGoodsBackPostage,jdbcType=INTEGER},
-      back_goods_back_machine_no = #{backGoodsBackMachineNo,jdbcType=VARCHAR},
-      back_goods_desc = #{backGoodsDesc,jdbcType=VARCHAR},
-      back_goods_state = #{backGoodsState,jdbcType=BIT},
-      back_goods_alipay = #{backGoodsAlipay,jdbcType=VARCHAR},
-      back_goods_is_transfer = #{backGoodsIsTransfer,jdbcType=BIT},
-      back_goods_create_time = #{backGoodsCreateTime,jdbcType=TIMESTAMP},
-      back_goods_update_time = #{backGoodsUpdateTime,jdbcType=TIMESTAMP}
-    where back_goods_id = #{backGoodsId,jdbcType=INTEGER}
-  </update>
 </mapper>

+ 19 - 49
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/closedFittingMapper.xml

@@ -17,53 +17,31 @@
     from tb_rst_closed_fitting
     where closed_fitting_id = #{closedFittingId,jdbcType=INTEGER}
   </select>
-  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
-    delete from tb_rst_closed_fitting
-    where closed_fitting_id = #{closedFittingId,jdbcType=INTEGER}
-  </delete>
   <insert id="insert" parameterType="ClosedFitting" >
     insert into tb_rst_closed_fitting (closed_fitting_id, relation_id, product_id, 
       fittings_id, closed_fitting_number)
     values (#{closedFittingId,jdbcType=INTEGER}, #{relationId,jdbcType=INTEGER}, #{productId,jdbcType=INTEGER}, 
       #{fittingsId,jdbcType=INTEGER}, #{closedFittingNumber,jdbcType=INTEGER})
   </insert>
-  <insert id="insertSelective" parameterType="ClosedFitting" >
-    insert into tb_rst_closed_fitting
-    <trim prefix="(" suffix=")" suffixOverrides="," >
-      <if test="closedFittingId != null" >
-        closed_fitting_id,
-      </if>
-      <if test="relationId != null" >
-        relation_id,
-      </if>
-      <if test="productId != null" >
-        product_id,
-      </if>
-      <if test="fittingsId != null" >
-        fittings_id,
-      </if>
-      <if test="closedFittingNumber != null" >
-        closed_fitting_number,
-      </if>
-    </trim>
-    <trim prefix="values (" suffix=")" suffixOverrides="," >
-      <if test="closedFittingId != null" >
-        #{closedFittingId,jdbcType=INTEGER},
-      </if>
-      <if test="relationId != null" >
-        #{relationId,jdbcType=INTEGER},
-      </if>
-      <if test="productId != null" >
-        #{productId,jdbcType=INTEGER},
-      </if>
-      <if test="fittingsId != null" >
-        #{fittingsId,jdbcType=INTEGER},
-      </if>
-      <if test="closedFittingNumber != null" >
-        #{closedFittingNumber,jdbcType=INTEGER},
-      </if>
-    </trim>
-  </insert>
+
+  <!-- 获取寄回配件集合 -->
+  <select id="listClosedFitting" parameterType="ClosedFitting" resultType="ClosedFitting">
+    select
+      cf.closed_fitting_number closedFittingNumber,
+      pf.fittings_name fittingName
+    from
+      tb_rst_closed_fitting cf
+    LEFT JOIN tb_rst_product_fittings pf ON cf.fittings_id = pf.fittings_id
+    <where>
+      <if test="relationId != null and relationId != ''">
+        relation_id = #{relationId}
+      </if>
+      <if test="closedFittingType != null and closedFittingType != ''">
+        and closed_fitting_type = #{closedFittingType}
+      </if>
+    </where>
+  </select>
+
   <update id="updateByPrimaryKeySelective" parameterType="ClosedFitting" >
     update tb_rst_closed_fitting
     <set >
@@ -82,12 +60,4 @@
     </set>
     where closed_fitting_id = #{closedFittingId,jdbcType=INTEGER}
   </update>
-  <update id="updateByPrimaryKey" parameterType="ClosedFitting" >
-    update tb_rst_closed_fitting
-    set relation_id = #{relationId,jdbcType=INTEGER},
-      product_id = #{productId,jdbcType=INTEGER},
-      fittings_id = #{fittingsId,jdbcType=INTEGER},
-      closed_fitting_number = #{closedFittingNumber,jdbcType=INTEGER}
-    where closed_fitting_id = #{closedFittingId,jdbcType=INTEGER}
-  </update>
 </mapper>

+ 17 - 37
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/closedProdcueMapper.xml

@@ -27,43 +27,6 @@
     values (#{closedProdcueId,jdbcType=INTEGER}, #{relationId,jdbcType=INTEGER}, #{productId,jdbcType=INTEGER}, 
       #{colorId,jdbcType=INTEGER}, #{closedProdcueNumber,jdbcType=INTEGER})
   </insert>
-  <insert id="insertSelective" parameterType="ClosedProdcue" >
-    insert into tb_rst_closed_prodcue
-    <trim prefix="(" suffix=")" suffixOverrides="," >
-      <if test="closedProdcueId != null" >
-        closed_prodcue_id,
-      </if>
-      <if test="relationId != null" >
-        relation_id,
-      </if>
-      <if test="productId != null" >
-        product_id,
-      </if>
-      <if test="colorId != null" >
-        color_id,
-      </if>
-      <if test="closedProdcueNumber != null" >
-        closed_prodcue_number,
-      </if>
-    </trim>
-    <trim prefix="values (" suffix=")" suffixOverrides="," >
-      <if test="closedProdcueId != null" >
-        #{closedProdcueId,jdbcType=INTEGER},
-      </if>
-      <if test="relationId != null" >
-        #{relationId,jdbcType=INTEGER},
-      </if>
-      <if test="productId != null" >
-        #{productId,jdbcType=INTEGER},
-      </if>
-      <if test="colorId != null" >
-        #{colorId,jdbcType=INTEGER},
-      </if>
-      <if test="closedProdcueNumber != null" >
-        #{closedProdcueNumber,jdbcType=INTEGER},
-      </if>
-    </trim>
-  </insert>
   <update id="updateByPrimaryKeySelective" parameterType="ClosedProdcue" >
     update tb_rst_closed_prodcue
     <set >
@@ -90,4 +53,21 @@
       closed_prodcue_number = #{closedProdcueNumber,jdbcType=INTEGER}
     where closed_prodcue_id = #{closedProdcueId,jdbcType=INTEGER}
   </update>
+
+  <!-- 查询售后寄回产品集合 -->
+  <select id="listclosedProdcue" parameterType="ClosedProdcue" resultType="ClosedProdcue">
+    select
+      cp.*,
+      pi.product_name closedProductName
+    from tb_rst_closed_prodcue cp
+    LEFT JOIN tb_rst_product_info pi ON cp.product_id = pi.product_id
+    <where>
+      <if test="relationId != null and relationId != ''">
+        relation_id = #{relationId}
+      </if>
+      <if test="closedProdcueType != null and closedProdcueType != ''">
+        and closed_prodcue_type = #{closedProdcueType}
+      </if>
+    </where>
+  </select>
 </mapper>

+ 31 - 235
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/renewedMapper.xml

@@ -130,297 +130,93 @@
       #{renewedIsTransfer,jdbcType=BIT}, #{renewedCreateTime,jdbcType=TIMESTAMP}, #{renewedUpdateTime,jdbcType=TIMESTAMP}
       )
   </insert>
-  <insert id="insertSelective" parameterType="Renewed" >
-    insert into tb_rst_renewed
-    <trim prefix="(" suffix=")" suffixOverrides="," >
-      <if test="renewedId != null" >
-        renewed_id,
-      </if>
-      <if test="customerId != null" >
-        customer_id,
-      </if>
-      <if test="orderId != null" >
-        order_id,
-      </if>
-      <if test="signclosedId != null" >
-        signclosed_id,
-      </if>
-      <if test="renewedBackEfastOrderId != null" >
-        renewed_back_efast_order_id,
-      </if>
-      <if test="renewedBackStatus != null" >
-        renewed_back_status,
-      </if>
-      <if test="renewedBackName != null" >
-        renewed_back_name,
-      </if>
-      <if test="renewedBackTel != null" >
-        renewed_back_tel,
-      </if>
-      <if test="renewedBackLogisticsCompany != null" >
-        renewed_back_logistics_company,
-      </if>
-      <if test="renewedBackLogisticsNo != null" >
-        renewed_back_logistics_no,
-      </if>
-      <if test="renewedBackPostage != null" >
-        renewed_back_postage,
-      </if>
-      <if test="renewedBackMachineNo != null" >
-        renewed_back_machine_no,
-      </if>
-      <if test="renewedSendStatus != null" >
-        renewed_send_status,
-      </if>
-      <if test="renewedSendName != null" >
-        renewed_send_name,
-      </if>
-      <if test="renewedSendTel != null" >
-        renewed_send_tel,
-      </if>
-      <if test="provinceNumber != null" >
-        province_number,
-      </if>
-      <if test="cityNumber != null" >
-        city_number,
-      </if>
-      <if test="areaNumber != null" >
-        area_number,
-      </if>
-      <if test="renewedSendMergeAddress != null" >
-        renewed_send_merge_address,
-      </if>
-      <if test="renewedSendAddress != null" >
-        renewed_send_address,
-      </if>
-      <if test="renewedSendLogisticsCompany != null" >
-        renewed_send_logistics_company,
-      </if>
-      <if test="renewedSendLogisticsNo != null" >
-        renewed_send_logistics_no,
-      </if>
-      <if test="renewedDesc != null" >
-        renewed_desc,
-      </if>
-      <if test="renewedState != null" >
-        renewed_state,
-      </if>
-      <if test="renewedAlipay != null" >
-        renewed_alipay,
-      </if>
-      <if test="renewedIsTransfer != null" >
-        renewed_is_transfer,
-      </if>
-      <if test="renewedCreateTime != null" >
-        renewed_create_time,
-      </if>
-      <if test="renewedUpdateTime != null" >
-        renewed_update_time,
-      </if>
-    </trim>
-    <trim prefix="values (" suffix=")" suffixOverrides="," >
-      <if test="renewedId != null" >
-        #{renewedId,jdbcType=INTEGER},
-      </if>
-      <if test="customerId != null" >
-        #{customerId,jdbcType=INTEGER},
-      </if>
-      <if test="orderId != null" >
-        #{orderId,jdbcType=INTEGER},
-      </if>
-      <if test="signclosedId != null" >
-        #{signclosedId,jdbcType=INTEGER},
-      </if>
-      <if test="renewedBackEfastOrderId != null" >
-        #{renewedBackEfastOrderId,jdbcType=VARCHAR},
-      </if>
-      <if test="renewedBackStatus != null" >
-        #{renewedBackStatus,jdbcType=BIT},
-      </if>
-      <if test="renewedBackName != null" >
-        #{renewedBackName,jdbcType=VARCHAR},
-      </if>
-      <if test="renewedBackTel != null" >
-        #{renewedBackTel,jdbcType=CHAR},
-      </if>
-      <if test="renewedBackLogisticsCompany != null" >
-        #{renewedBackLogisticsCompany,jdbcType=VARCHAR},
-      </if>
-      <if test="renewedBackLogisticsNo != null" >
-        #{renewedBackLogisticsNo,jdbcType=VARCHAR},
-      </if>
-      <if test="renewedBackPostage != null" >
-        #{renewedBackPostage,jdbcType=INTEGER},
-      </if>
-      <if test="renewedBackMachineNo != null" >
-        #{renewedBackMachineNo,jdbcType=VARCHAR},
-      </if>
-      <if test="renewedSendStatus != null" >
-        #{renewedSendStatus,jdbcType=BIT},
-      </if>
-      <if test="renewedSendName != null" >
-        #{renewedSendName,jdbcType=VARCHAR},
-      </if>
-      <if test="renewedSendTel != null" >
-        #{renewedSendTel,jdbcType=CHAR},
-      </if>
-      <if test="provinceNumber != null" >
-        #{provinceNumber,jdbcType=VARCHAR},
-      </if>
-      <if test="cityNumber != null" >
-        #{cityNumber,jdbcType=VARCHAR},
-      </if>
-      <if test="areaNumber != null" >
-        #{areaNumber,jdbcType=VARCHAR},
-      </if>
-      <if test="renewedSendMergeAddress != null" >
-        #{renewedSendMergeAddress,jdbcType=VARCHAR},
-      </if>
-      <if test="renewedSendAddress != null" >
-        #{renewedSendAddress,jdbcType=VARCHAR},
-      </if>
-      <if test="renewedSendLogisticsCompany != null" >
-        #{renewedSendLogisticsCompany,jdbcType=VARCHAR},
-      </if>
-      <if test="renewedSendLogisticsNo != null" >
-        #{renewedSendLogisticsNo,jdbcType=VARCHAR},
-      </if>
-      <if test="renewedDesc != null" >
-        #{renewedDesc,jdbcType=VARCHAR},
-      </if>
-      <if test="renewedState != null" >
-        #{renewedState,jdbcType=BIT},
-      </if>
-      <if test="renewedAlipay != null" >
-        #{renewedAlipay,jdbcType=VARCHAR},
-      </if>
-      <if test="renewedIsTransfer != null" >
-        #{renewedIsTransfer,jdbcType=BIT},
-      </if>
-      <if test="renewedCreateTime != null" >
-        #{renewedCreateTime,jdbcType=TIMESTAMP},
-      </if>
-      <if test="renewedUpdateTime != null" >
-        #{renewedUpdateTime,jdbcType=TIMESTAMP},
-      </if>
-    </trim>
-  </insert>
-  <update id="updateByPrimaryKeySelective" parameterType="Renewed" >
+
+  <!-- 修改换新信息 -->
+  <update id="updateRenewedInfo" parameterType="Renewed" >
     update tb_rst_renewed
     <set >
       <if test="customerId != null" >
-        customer_id = #{customerId,jdbcType=INTEGER},
+        customer_id = #{customerId},
       </if>
       <if test="orderId != null" >
-        order_id = #{orderId,jdbcType=INTEGER},
+        order_id = #{orderId},
       </if>
       <if test="signclosedId != null" >
-        signclosed_id = #{signclosedId,jdbcType=INTEGER},
+        signclosed_id = #{signclosedId},
       </if>
       <if test="renewedBackEfastOrderId != null" >
-        renewed_back_efast_order_id = #{renewedBackEfastOrderId,jdbcType=VARCHAR},
+        renewed_back_efast_order_id = #{renewedBackEfastOrderId},
       </if>
       <if test="renewedBackStatus != null" >
-        renewed_back_status = #{renewedBackStatus,jdbcType=BIT},
+        renewed_back_status = #{renewedBackStatus},
       </if>
       <if test="renewedBackName != null" >
-        renewed_back_name = #{renewedBackName,jdbcType=VARCHAR},
+        renewed_back_name = #{renewedBackName},
       </if>
       <if test="renewedBackTel != null" >
-        renewed_back_tel = #{renewedBackTel,jdbcType=CHAR},
+        renewed_back_tel = #{renewedBackTel},
       </if>
       <if test="renewedBackLogisticsCompany != null" >
-        renewed_back_logistics_company = #{renewedBackLogisticsCompany,jdbcType=VARCHAR},
+        renewed_back_logistics_company = #{renewedBackLogisticsCompany},
       </if>
       <if test="renewedBackLogisticsNo != null" >
-        renewed_back_logistics_no = #{renewedBackLogisticsNo,jdbcType=VARCHAR},
+        renewed_back_logistics_no = #{renewedBackLogisticsNo},
       </if>
       <if test="renewedBackPostage != null" >
-        renewed_back_postage = #{renewedBackPostage,jdbcType=INTEGER},
+        renewed_back_postage = #{renewedBackPostage},
       </if>
       <if test="renewedBackMachineNo != null" >
-        renewed_back_machine_no = #{renewedBackMachineNo,jdbcType=VARCHAR},
+        renewed_back_machine_no = #{renewedBackMachineNo},
       </if>
       <if test="renewedSendStatus != null" >
-        renewed_send_status = #{renewedSendStatus,jdbcType=BIT},
+        renewed_send_status = #{renewedSendStatus},
       </if>
       <if test="renewedSendName != null" >
-        renewed_send_name = #{renewedSendName,jdbcType=VARCHAR},
+        renewed_send_name = #{renewedSendName},
       </if>
       <if test="renewedSendTel != null" >
-        renewed_send_tel = #{renewedSendTel,jdbcType=CHAR},
+        renewed_send_tel = #{renewedSendTel},
       </if>
       <if test="provinceNumber != null" >
-        province_number = #{provinceNumber,jdbcType=VARCHAR},
+        province_number = #{provinceNumber},
       </if>
       <if test="cityNumber != null" >
-        city_number = #{cityNumber,jdbcType=VARCHAR},
+        city_number = #{cityNumber},
       </if>
       <if test="areaNumber != null" >
-        area_number = #{areaNumber,jdbcType=VARCHAR},
+        area_number = #{areaNumber},
       </if>
       <if test="renewedSendMergeAddress != null" >
-        renewed_send_merge_address = #{renewedSendMergeAddress,jdbcType=VARCHAR},
+        renewed_send_merge_address = #{renewedSendMergeAddress},
       </if>
       <if test="renewedSendAddress != null" >
-        renewed_send_address = #{renewedSendAddress,jdbcType=VARCHAR},
+        renewed_send_address = #{renewedSendAddress},
       </if>
       <if test="renewedSendLogisticsCompany != null" >
-        renewed_send_logistics_company = #{renewedSendLogisticsCompany,jdbcType=VARCHAR},
+        renewed_send_logistics_company = #{renewedSendLogisticsCompany},
       </if>
       <if test="renewedSendLogisticsNo != null" >
-        renewed_send_logistics_no = #{renewedSendLogisticsNo,jdbcType=VARCHAR},
+        renewed_send_logistics_no = #{renewedSendLogisticsNo},
       </if>
       <if test="renewedDesc != null" >
-        renewed_desc = #{renewedDesc,jdbcType=VARCHAR},
+        renewed_desc = #{renewedDesc},
       </if>
       <if test="renewedState != null" >
-        renewed_state = #{renewedState,jdbcType=BIT},
+        renewed_state = #{renewedState},
       </if>
       <if test="renewedAlipay != null" >
-        renewed_alipay = #{renewedAlipay,jdbcType=VARCHAR},
+        renewed_alipay = #{renewedAlipay},
       </if>
       <if test="renewedIsTransfer != null" >
-        renewed_is_transfer = #{renewedIsTransfer,jdbcType=BIT},
+        renewed_is_transfer = #{renewedIsTransfer},
       </if>
       <if test="renewedCreateTime != null" >
-        renewed_create_time = #{renewedCreateTime,jdbcType=TIMESTAMP},
+        renewed_create_time = #{renewedCreateTime},
       </if>
       <if test="renewedUpdateTime != null" >
-        renewed_update_time = #{renewedUpdateTime,jdbcType=TIMESTAMP},
+        renewed_update_time = #{renewedUpdateTime},
       </if>
     </set>
-    where renewed_id = #{renewedId,jdbcType=INTEGER}
-  </update>
-  <update id="updateByPrimaryKey" parameterType="Renewed" >
-    update tb_rst_renewed
-    set customer_id = #{customerId,jdbcType=INTEGER},
-      order_id = #{orderId,jdbcType=INTEGER},
-      signclosed_id = #{signclosedId,jdbcType=INTEGER},
-      renewed_back_efast_order_id = #{renewedBackEfastOrderId,jdbcType=VARCHAR},
-      renewed_back_status = #{renewedBackStatus,jdbcType=BIT},
-      renewed_back_name = #{renewedBackName,jdbcType=VARCHAR},
-      renewed_back_tel = #{renewedBackTel,jdbcType=CHAR},
-      renewed_back_logistics_company = #{renewedBackLogisticsCompany,jdbcType=VARCHAR},
-      renewed_back_logistics_no = #{renewedBackLogisticsNo,jdbcType=VARCHAR},
-      renewed_back_postage = #{renewedBackPostage,jdbcType=INTEGER},
-      renewed_back_machine_no = #{renewedBackMachineNo,jdbcType=VARCHAR},
-      renewed_send_status = #{renewedSendStatus,jdbcType=BIT},
-      renewed_send_name = #{renewedSendName,jdbcType=VARCHAR},
-      renewed_send_tel = #{renewedSendTel,jdbcType=CHAR},
-      province_number = #{provinceNumber,jdbcType=VARCHAR},
-      city_number = #{cityNumber,jdbcType=VARCHAR},
-      area_number = #{areaNumber,jdbcType=VARCHAR},
-      renewed_send_merge_address = #{renewedSendMergeAddress,jdbcType=VARCHAR},
-      renewed_send_address = #{renewedSendAddress,jdbcType=VARCHAR},
-      renewed_send_logistics_company = #{renewedSendLogisticsCompany,jdbcType=VARCHAR},
-      renewed_send_logistics_no = #{renewedSendLogisticsNo,jdbcType=VARCHAR},
-      renewed_desc = #{renewedDesc,jdbcType=VARCHAR},
-      renewed_state = #{renewedState,jdbcType=BIT},
-      renewed_alipay = #{renewedAlipay,jdbcType=VARCHAR},
-      renewed_is_transfer = #{renewedIsTransfer,jdbcType=BIT},
-      renewed_create_time = #{renewedCreateTime,jdbcType=TIMESTAMP},
-      renewed_update_time = #{renewedUpdateTime,jdbcType=TIMESTAMP}
-    where renewed_id = #{renewedId,jdbcType=INTEGER}
+    where renewed_id = #{renewedId}
   </update>
 </mapper>

+ 67 - 204
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/repairMapper.xml

@@ -54,6 +54,42 @@
       tb_rst_repair
   </select>
 
+  <!-- 获取维修详情和品质检测信息 -->
+  <select id="getRepairInfo" parameterType="Repair" resultType="Repair">
+    select
+      r.*,
+      d.detect_state detectState,
+      d.detect_phenomenon detectPhenomenon,
+      d.detect_failure_classification detectFailureClassification,
+      d.detect_failure_cause detectFailureCause,
+      d.detect_results detectResults,
+      d.detect_point detectPoint,
+      d.detect_analysis detectAnalysis,
+      d.detect_revolution_produced detectRevolutionProduced,
+      m.maintenance_id_repair maintenanceIdRepair,
+      m.maintenance_content maintenanceContent,
+      m.maintenance_content_date maintenanceContentDate,
+      p.closed_prodcue_number closedProdcueNumber,
+      pi.product_name productName
+    from
+      tb_rst_repair r
+    LEFT JOIN tb_rst_complaint_detect d ON r.customer_id = d.customer_id
+    LEFT JOIN tb_rst_complaint_maintenance m ON d.detect_id = m.detect_id
+    LEFT JOIN tb_rst_closed_prodcue p ON p.relation_id = r.repair_id
+    LEFT JOIN tb_rst_product_info pi ON p.product_id = pi.product_id
+    <where>
+      <if test="repairId != null and repairId != ''">
+        repair_id = #{repairId}
+      </if>
+      <if test="customerId != null and customerId != ''">
+        and r.customer_id = #{customerId}
+      </if>
+      <if test="repairState != null and repairState != ''">
+        and r.repair_state = #{repairState}
+      </if>
+    </where>
+  </select>
+
   <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
     delete from tb_rst_repair
     where repair_id = #{repairId,jdbcType=INTEGER}
@@ -82,267 +118,94 @@
       #{repairIsTransfer,jdbcType=BIT}, #{repairCreateTime,jdbcType=TIMESTAMP}, #{repairUpdateTime,jdbcType=TIMESTAMP}
       )
   </insert>
-  <insert id="insertSelective" parameterType="Repair" >
-    insert into tb_rst_repair
-    <trim prefix="(" suffix=")" suffixOverrides="," >
-      <if test="repairId != null" >
-        repair_id,
-      </if>
-      <if test="customerId != null" >
-        customer_id,
-      </if>
-      <if test="orderId != null" >
-        order_id,
-      </if>
-      <if test="signclosedId != null" >
-        signclosed_id,
-      </if>
-      <if test="repairBackEfastOrderId != null" >
-        repair_back_efast_order_id,
-      </if>
-      <if test="repairBackStatus != null" >
-        repair_back_status,
-      </if>
-      <if test="repairBackName != null" >
-        repair_back_name,
-      </if>
-      <if test="repairBackTel != null" >
-        repair_back_tel,
-      </if>
-      <if test="repairBackLogisticsCompany != null" >
-        repair_back_logistics_company,
-      </if>
-      <if test="repairBackLogisticsNo != null" >
-        repair_back_logistics_no,
-      </if>
-      <if test="repairBackPostage != null" >
-        repair_back_postage,
-      </if>
-      <if test="repairBackMachineNo != null" >
-        repair_back_machine_no,
-      </if>
-      <if test="repairSendStatus != null" >
-        repair_send_status,
-      </if>
-      <if test="repairSendName != null" >
-        repair_send_name,
-      </if>
-      <if test="repairSendTel != null" >
-        repair_send_tel,
-      </if>
-      <if test="provinceNumber != null" >
-        province_number,
-      </if>
-      <if test="cityNumber != null" >
-        city_number,
-      </if>
-      <if test="areaNumber != null" >
-        area_number,
-      </if>
-      <if test="repairSendMergeAddress != null" >
-        repair_send_merge_address,
-      </if>
-      <if test="repairSendAddress != null" >
-        repair_send_address,
-      </if>
-      <if test="repairSendLogisticsCompany != null" >
-        repair_send_logistics_company,
-      </if>
-      <if test="repairSendLogisticsNo != null" >
-        repair_send_logistics_no,
-      </if>
-      <if test="repairDesc != null" >
-        repair_desc,
-      </if>
-      <if test="repairState != null" >
-        repair_state,
-      </if>
-      <if test="repairAlipay != null" >
-        repair_alipay,
-      </if>
-      <if test="repairIsTransfer != null" >
-        repair_is_transfer,
-      </if>
-      <if test="repairCreateTime != null" >
-        repair_create_time,
-      </if>
-      <if test="repairUpdateTime != null" >
-        repair_update_time,
-      </if>
-    </trim>
-    <trim prefix="values (" suffix=")" suffixOverrides="," >
-      <if test="repairId != null" >
-        #{repairId,jdbcType=INTEGER},
-      </if>
-      <if test="customerId != null" >
-        #{customerId,jdbcType=INTEGER},
-      </if>
-      <if test="orderId != null" >
-        #{orderId,jdbcType=INTEGER},
-      </if>
-      <if test="signclosedId != null" >
-        #{signclosedId,jdbcType=INTEGER},
-      </if>
-      <if test="repairBackEfastOrderId != null" >
-        #{repairBackEfastOrderId,jdbcType=VARCHAR},
-      </if>
-      <if test="repairBackStatus != null" >
-        #{repairBackStatus,jdbcType=BIT},
-      </if>
-      <if test="repairBackName != null" >
-        #{repairBackName,jdbcType=VARCHAR},
-      </if>
-      <if test="repairBackTel != null" >
-        #{repairBackTel,jdbcType=CHAR},
-      </if>
-      <if test="repairBackLogisticsCompany != null" >
-        #{repairBackLogisticsCompany,jdbcType=VARCHAR},
-      </if>
-      <if test="repairBackLogisticsNo != null" >
-        #{repairBackLogisticsNo,jdbcType=VARCHAR},
-      </if>
-      <if test="repairBackPostage != null" >
-        #{repairBackPostage,jdbcType=INTEGER},
-      </if>
-      <if test="repairBackMachineNo != null" >
-        #{repairBackMachineNo,jdbcType=VARCHAR},
-      </if>
-      <if test="repairSendStatus != null" >
-        #{repairSendStatus,jdbcType=BIT},
-      </if>
-      <if test="repairSendName != null" >
-        #{repairSendName,jdbcType=VARCHAR},
-      </if>
-      <if test="repairSendTel != null" >
-        #{repairSendTel,jdbcType=CHAR},
-      </if>
-      <if test="provinceNumber != null" >
-        #{provinceNumber,jdbcType=VARCHAR},
-      </if>
-      <if test="cityNumber != null" >
-        #{cityNumber,jdbcType=VARCHAR},
-      </if>
-      <if test="areaNumber != null" >
-        #{areaNumber,jdbcType=VARCHAR},
-      </if>
-      <if test="repairSendMergeAddress != null" >
-        #{repairSendMergeAddress,jdbcType=VARCHAR},
-      </if>
-      <if test="repairSendAddress != null" >
-        #{repairSendAddress,jdbcType=VARCHAR},
-      </if>
-      <if test="repairSendLogisticsCompany != null" >
-        #{repairSendLogisticsCompany,jdbcType=VARCHAR},
-      </if>
-      <if test="repairSendLogisticsNo != null" >
-        #{repairSendLogisticsNo,jdbcType=VARCHAR},
-      </if>
-      <if test="repairDesc != null" >
-        #{repairDesc,jdbcType=VARCHAR},
-      </if>
-      <if test="repairState != null" >
-        #{repairState,jdbcType=BIT},
-      </if>
-      <if test="repairAlipay != null" >
-        #{repairAlipay,jdbcType=VARCHAR},
-      </if>
-      <if test="repairIsTransfer != null" >
-        #{repairIsTransfer,jdbcType=BIT},
-      </if>
-      <if test="repairCreateTime != null" >
-        #{repairCreateTime,jdbcType=TIMESTAMP},
-      </if>
-      <if test="repairUpdateTime != null" >
-        #{repairUpdateTime,jdbcType=TIMESTAMP},
-      </if>
-    </trim>
-  </insert>
-  <update id="updateByPrimaryKeySelective" parameterType="Repair" >
+
+  <!-- 修改维修信息 -->
+  <update id="updateRepairInfo" parameterType="Repair" >
     update tb_rst_repair
     <set >
       <if test="customerId != null" >
-        customer_id = #{customerId,jdbcType=INTEGER},
+        customer_id = #{customerId},
       </if>
       <if test="orderId != null" >
-        order_id = #{orderId,jdbcType=INTEGER},
+        order_id = #{orderId},
       </if>
       <if test="signclosedId != null" >
-        signclosed_id = #{signclosedId,jdbcType=INTEGER},
+        signclosed_id = #{signclosedId},
       </if>
       <if test="repairBackEfastOrderId != null" >
-        repair_back_efast_order_id = #{repairBackEfastOrderId,jdbcType=VARCHAR},
+        repair_back_efast_order_id = #{repairBackEfastOrderId},
       </if>
       <if test="repairBackStatus != null" >
-        repair_back_status = #{repairBackStatus,jdbcType=BIT},
+        repair_back_status = #{repairBackStatus},
       </if>
       <if test="repairBackName != null" >
-        repair_back_name = #{repairBackName,jdbcType=VARCHAR},
+        repair_back_name = #{repairBackName},
       </if>
       <if test="repairBackTel != null" >
-        repair_back_tel = #{repairBackTel,jdbcType=CHAR},
+        repair_back_tel = #{repairBackTel},
       </if>
       <if test="repairBackLogisticsCompany != null" >
-        repair_back_logistics_company = #{repairBackLogisticsCompany,jdbcType=VARCHAR},
+        repair_back_logistics_company = #{repairBackLogisticsCompany},
       </if>
       <if test="repairBackLogisticsNo != null" >
-        repair_back_logistics_no = #{repairBackLogisticsNo,jdbcType=VARCHAR},
+        repair_back_logistics_no = #{repairBackLogisticsNo},
       </if>
       <if test="repairBackPostage != null" >
-        repair_back_postage = #{repairBackPostage,jdbcType=INTEGER},
+        repair_back_postage = #{repairBackPostage},
       </if>
       <if test="repairBackMachineNo != null" >
-        repair_back_machine_no = #{repairBackMachineNo,jdbcType=VARCHAR},
+        repair_back_machine_no = #{repairBackMachineNo},
       </if>
       <if test="repairSendStatus != null" >
-        repair_send_status = #{repairSendStatus,jdbcType=BIT},
+        repair_send_status = #{repairSendStatus},
       </if>
       <if test="repairSendName != null" >
-        repair_send_name = #{repairSendName,jdbcType=VARCHAR},
+        repair_send_name = #{repairSendName},
       </if>
       <if test="repairSendTel != null" >
-        repair_send_tel = #{repairSendTel,jdbcType=CHAR},
+        repair_send_tel = #{repairSendTel},
       </if>
       <if test="provinceNumber != null" >
-        province_number = #{provinceNumber,jdbcType=VARCHAR},
+        province_number = #{provinceNumber},
       </if>
       <if test="cityNumber != null" >
-        city_number = #{cityNumber,jdbcType=VARCHAR},
+        city_number = #{cityNumber},
       </if>
       <if test="areaNumber != null" >
-        area_number = #{areaNumber,jdbcType=VARCHAR},
+        area_number = #{areaNumber},
       </if>
       <if test="repairSendMergeAddress != null" >
-        repair_send_merge_address = #{repairSendMergeAddress,jdbcType=VARCHAR},
+        repair_send_merge_address = #{repairSendMergeAddress},
       </if>
       <if test="repairSendAddress != null" >
-        repair_send_address = #{repairSendAddress,jdbcType=VARCHAR},
+        repair_send_address = #{repairSendAddress},
       </if>
       <if test="repairSendLogisticsCompany != null" >
-        repair_send_logistics_company = #{repairSendLogisticsCompany,jdbcType=VARCHAR},
+        repair_send_logistics_company = #{repairSendLogisticsCompany},
       </if>
       <if test="repairSendLogisticsNo != null" >
-        repair_send_logistics_no = #{repairSendLogisticsNo,jdbcType=VARCHAR},
+        repair_send_logistics_no = #{repairSendLogisticsNo},
       </if>
       <if test="repairDesc != null" >
-        repair_desc = #{repairDesc,jdbcType=VARCHAR},
+        repair_desc = #{repairDesc},
       </if>
       <if test="repairState != null" >
-        repair_state = #{repairState,jdbcType=BIT},
+        repair_state = #{repairState},
       </if>
       <if test="repairAlipay != null" >
-        repair_alipay = #{repairAlipay,jdbcType=VARCHAR},
+        repair_alipay = #{repairAlipay},
       </if>
       <if test="repairIsTransfer != null" >
-        repair_is_transfer = #{repairIsTransfer,jdbcType=BIT},
+        repair_is_transfer = #{repairIsTransfer},
       </if>
       <if test="repairCreateTime != null" >
-        repair_create_time = #{repairCreateTime,jdbcType=TIMESTAMP},
+        repair_create_time = #{repairCreateTime},
       </if>
       <if test="repairUpdateTime != null" >
-        repair_update_time = #{repairUpdateTime,jdbcType=TIMESTAMP},
+        repair_update_time = #{repairUpdateTime},
       </if>
     </set>
-    where repair_id = #{repairId,jdbcType=INTEGER}
+    where repair_id = #{repairId}
   </update>
   <update id="updateByPrimaryKey" parameterType="Repair" >
     update tb_rst_repair

+ 163 - 8
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminCustomerController.java

@@ -53,6 +53,10 @@ public class AdminCustomerController {
     private QuestionDescribeService questionDescribeService;
     @Autowired
     private RenewedService renewedService;
+    @Autowired
+    private RepairService repairService;
+    @Autowired
+    private BackGoodsService backGoodsService;
 
     /**
      * 获取客诉列表
@@ -211,7 +215,7 @@ public class AdminCustomerController {
     @ResponseBody
     @RequiresPermissions("customer:add:visit")
     @RequestMapping("/add_visit_info")
-    public ResponseJson addVisitInfo(HttpServletRequest request,Visit visit) {
+    public ResponseJson addVisitInfo(HttpServletRequest request,Visit visit) throws Exception {
         String visitAdminId = request.getParameter("visitAdminId");
         if (!StringUtils.isNotEmpty(visitAdminId)) {
             return new ResponseJson(500, "请选择回访人!", 500);
@@ -235,7 +239,7 @@ public class AdminCustomerController {
     @ResponseBody
     @RequiresPermissions("customer:update:customerIsSolve")
     @RequestMapping("/update_customerIsSolve")
-    public ResponseJson updateCustomerIsSolve(HttpServletRequest request) {
+    public ResponseJson updateCustomerIsSolve(HttpServletRequest request) throws Exception {
         String customerId = request.getParameter("customerId");
         if (!StringUtils.isNotEmpty(customerId)) {
             return new ResponseJson(500, "该客诉信息不存在!", 500);
@@ -269,7 +273,7 @@ public class AdminCustomerController {
     @ResponseBody
     @RequiresPermissions("customer:add:customer")
     @RequestMapping("/select_sys_admin")
-    public ResponseJson selectSysAdmin(HttpServletRequest request) {
+    public ResponseJson selectSysAdmin(HttpServletRequest request) throws Exception {
         ResponseJson rj = new ResponseJson(200, "修改成功!", 200);
         Integer adminId = AdminUtils.getLoginAdminId();
         Admin admin = new Admin();
@@ -291,7 +295,7 @@ public class AdminCustomerController {
     @ResponseBody
     @RequiresPermissions("customer:add:customer")
     @RequestMapping("/select_produce_type")
-    public ResponseJson selectProduceType(HttpServletRequest request) {
+    public ResponseJson selectProduceType(HttpServletRequest request) throws Exception {
         ResponseJson rj = new ResponseJson(200, "修改成功!", 200);
 
         ProductType productType = new ProductType();
@@ -314,7 +318,7 @@ public class AdminCustomerController {
     @ResponseBody
     @RequiresPermissions("customer:update:visit")
     @RequestMapping("/update_visit_finish")
-    public ResponseJson updateVisitFinish(HttpServletRequest request,Visit visit) {
+    public ResponseJson updateVisitFinish(HttpServletRequest request,Visit visit) throws Exception {
         String customerId = request.getParameter("finish_customerId");
         if (!StringUtils.isNotEmpty(customerId)) {
             return new ResponseJson(500, "该客诉信息不存在!", 500);
@@ -338,7 +342,7 @@ public class AdminCustomerController {
     @ResponseBody
     @RequiresPermissions("customer:get:visit")
     @RequestMapping("/get_visit_info")
-    public ResponseJson getVisitInfo(HttpServletRequest request) {
+    public ResponseJson getVisitInfo(HttpServletRequest request) throws Exception {
         String customerId = request.getParameter("customerId");
         if (!StringUtils.isNotEmpty(customerId)) {
             return new ResponseJson(500, "该客诉信息不存在!", 500);
@@ -364,7 +368,7 @@ public class AdminCustomerController {
     @ResponseBody
     @RequiresPermissions("customer:get:describe")
     @RequestMapping("/get_describe_info")
-    public ResponseJson getDescribeInfo(HttpServletRequest request) {
+    public ResponseJson getDescribeInfo(HttpServletRequest request) throws Exception {
         String customerId = request.getParameter("customerId");
         if (!StringUtils.isNotEmpty(customerId)) {
             return new ResponseJson(500, "该客诉信息不存在!", 500);
@@ -390,7 +394,7 @@ public class AdminCustomerController {
     @ResponseBody
     @RequiresPermissions("customer:get:renewed")
     @RequestMapping("/get_renewed_info")
-    public ResponseJson getRenewedInfo(HttpServletRequest request) {
+    public ResponseJson getRenewedInfo(HttpServletRequest request) throws Exception {
         String customerId = request.getParameter("customerId");
         if (!StringUtils.isNotEmpty(customerId)) {
             return new ResponseJson(500, "该客诉信息不存在!", 500);
@@ -415,5 +419,156 @@ public class AdminCustomerController {
             return rj;
         }
     }
+
+    /**
+     * 修改换新信息
+     * @param request
+     * @param renewed
+     * @return
+     * @throws Exception
+     */
+    @ResponseBody
+    @RequiresPermissions("customer:update:renewed")
+    @RequestMapping("/update_renewed_info")
+    public ResponseJson updateRenewedInfo(HttpServletRequest request, Renewed renewed) throws Exception {
+        if (!StringUtils.isNotEmpty(renewed.getRenewedId().toString())) {
+            return new ResponseJson(500, "该换新信息不能修改!", 500);
+        }
+        if (StringUtils.isNotEmpty(renewed.getRenewedBackPostage().toString())) {
+            renewed.setRenewedBackPostage(renewed.getRenewedBackPostage().intValue()*100);
+        }
+        //修改换新信息
+        int num = renewedService.updateRenewedInfo(renewed);
+        if (num > 0) {
+            return new ResponseJson(200, "修改成功!", 200);
+        } else {
+            return new ResponseJson(500, "修改失败!", 500);
+        }
+    }
+
+    /**
+     * 进入修改维修页面
+     * @param request
+     * @return
+     * @throws Exception
+     */
+    @ResponseBody
+    @RequiresPermissions("customer:update:repair")
+    @RequestMapping("/_update_repair")
+    public ResponseJson updateRepairUI(HttpServletRequest request) throws Exception {
+        String customerId = request.getParameter("customerId");
+        if (!StringUtils.isNotEmpty(customerId)) {
+            return new ResponseJson(500, "该客诉信息不存在!", 500);
+        }
+        Repair repair = new Repair();
+        repair.setCustomerId(Integer.parseInt(customerId));
+        repair.setRepairState(1);
+        //获取维修详情和品质检测信息
+        repair = repairService.getRepairInfo(repair);
+        if (repair == null) {
+            return new ResponseJson(500, "该客诉没有维修信息!", 500);
+        } else {
+            ClosedFitting closedFitting = new ClosedFitting();
+            closedFitting.setRelationId(repair.getRepairId());
+            //获取寄回配件集合
+            List<ClosedFitting> fittingList = renewedService.listClosedFitting(closedFitting);
+            if (fittingList != null && fittingList.size() > 0) {
+                repair.setClosedFittings(fittingList);
+            }
+            ResponseJson rj =new ResponseJson(200, "查询成功", 200);
+            rj.addResponseKeyValue("repair", repair);
+            return rj;
+        }
+    }
+
+    /**
+     * 修改维修处理信息
+     * @param request
+     * @param repair
+     * @return
+     * @throws Exception
+     */
+    @ResponseBody
+    @RequiresPermissions("customer:update:repair")
+    @RequestMapping("/update_repair_info")
+    public ResponseJson updateRepairInfo(HttpServletRequest request, Repair repair) throws Exception {
+        if (!StringUtils.isNotEmpty(repair.getRepairId().toString())) {
+            return new ResponseJson(500, "该换新信息不能修改!", 500);
+        }
+        String provinceNumber = request.getParameter("repairProvinceNumber");
+        String cityNumber = request.getParameter("repairCityNumber");
+        String areaNumber = request.getParameter("repairAreaNumber");
+        if (StringUtils.isNotEmpty(provinceNumber)) {
+            repair.setProvinceNumber(Integer.parseInt(provinceNumber));
+        }
+        if (StringUtils.isNotEmpty(cityNumber)) {
+            repair.setCityNumber(Integer.parseInt(cityNumber));
+        }
+        if (StringUtils.isNotEmpty(areaNumber)) {
+            repair.setAreaNumber(Integer.parseInt(areaNumber));
+        }
+        if (StringUtils.isNotEmpty(repair.getRepairBackPostage().toString())) {
+            repair.setRepairBackPostage(repair.getRepairBackPostage().intValue()*100);
+        }
+        //修改维修信息
+        int num = repairService.updateRepairInfo(repair);
+        if (num > 0) {
+            return new ResponseJson(200, "修改成功!", 200);
+        } else {
+            return new ResponseJson(500, "修改失败!", 500);
+        }
+    }
+
+    /**
+     * 进入修改售后退货页面
+     * @param request
+     * @return
+     * @throws Exception
+     */
+    @ResponseBody
+    @RequiresPermissions("customer:update:BackGoods")
+    @RequestMapping("/_update_back_goods")
+    public ResponseJson updateBackGoodsUI(HttpServletRequest request) throws Exception {
+        String customerId = request.getParameter("customerId");
+        if (!StringUtils.isNotEmpty(customerId)) {
+            return new ResponseJson(500, "该客诉信息不存在!", 500);
+        }
+        BackGoods backGoods = new BackGoods();
+        backGoods.setCustomerId(Integer.parseInt(customerId));
+        //获取售后退货信息
+        backGoods = customerService.getBackGoods(backGoods);
+        if (backGoods == null) {
+            return new ResponseJson(500, "该客诉没有售后退货信息!", 500);
+        } else {
+            ResponseJson rj =new ResponseJson(200, "查询成功", 200);
+            rj.addResponseKeyValue("backGoods", backGoods);
+            return rj;
+        }
+    }
+
+    /**
+     * 修改售后退货信息
+     * @param request
+     * @param backGoods
+     * @return
+     * @throws Exception
+     */
+    @ResponseBody
+    @RequiresPermissions("customer:update:BackGoods")
+    @RequestMapping("/update_back_goods")
+    public ResponseJson updateBackGoods(HttpServletRequest request, BackGoods backGoods) throws Exception {
+        if (!StringUtils.isNotEmpty(backGoods.getBackGoodsId().toString())) {
+            return new ResponseJson(500, "该售后退货信息不能修改!", 500);
+        }
+        if (StringUtils.isNotEmpty(backGoods.getBackGoodsBackPostage().toString())) {
+            backGoods.setBackGoodsBackPostage(backGoods.getBackGoodsBackPostage().intValue()*100);
+        }
+        int num = backGoodsService.updateBackGoods(backGoods);
+        if (num > 0) {
+            return new ResponseJson(200, "修改成功!", 200);
+        } else {
+            return new ResponseJson(500, "修改失败!", 500);
+        }
+    }
 }
 

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

@@ -208,11 +208,12 @@
         </div>
         <!-- 查看问题描述内容end -->
         <!-- 换新处理start -->
-        <div class="layui-layer layui-anim layui-layer-iframe" id="update-renewed-info" times="4" showtime="0" contype="string" style="display:none;z-index: 19891018; width: 700px; height: 700px; position: absolute; top: 100px; left: 250px;text-align: left;">
-            <form action="" name="form-visit-finish" method="post" class="form form-horizontal" id="form-visit-finish">
+        <div class="layui-layer layui-anim layui-layer-iframe" id="update-renewed-info" times="4" showtime="0" contype="string" style="display:none;z-index: 19891018; width: 700px; height: 850px; position: absolute; top: 100px; left: 250px;text-align: left;">
+            <form action="" name="form-update-renewed" method="post" class="form form-horizontal" id="form-update-renewed">
                 <div class="layui-layer-title" id="synOrder" style="cursor: move;" move="ok">换新处理</div>
                 <div style="margin-left: 10px;">
                     <div class="formControls" style="margin-top: 10px;">
+                        <input type="hidden" id="renewedId" name="renewedId" />
                         <label><span class="c-red">*</span>&nbsp;当前进度:</label>
                         <label id="renewedSchedule"></label>
                     </div>
@@ -322,7 +323,7 @@
                 <div style="margin-left: 10px;">
                     <div class="formControls" style="margin-top: 10px;">
                         <label><span class="c-red">*</span>&nbsp;备注:</label>
-                        <input type="text" id="renewedDesc" class="input-text" value="" style="width: 150px;" name="renewedDesc">
+                        <textarea id="renewedDesc" name="renewedDesc" cols="" rows="" style="width: 500px;height: 70px;" class="textarea" ></textarea>
                     </div>
                     <div class="col-4"> </div>
                 </div>
@@ -385,7 +386,7 @@
                     <div class="col-4"> </div>
                 </div>
                 <div class="col-9 col-offset-3">
-                    <input class="btn btn-primary radius" onclick="updateVisitInfo();" type="button" value="&nbsp;&nbsp;确认&nbsp;&nbsp;">
+                    <input class="btn btn-primary radius" onclick="update_renewed_info();" type="button" value="&nbsp;&nbsp;确认&nbsp;&nbsp;">
                 </div>
             </form>
             <span class="layui-layer-setwin">
@@ -393,6 +394,271 @@
 		</span>
         </div>
         <!-- 换新处理start -->
+        <!-- 维修处理start -->
+        <div class="layui-layer layui-anim layui-layer-iframe" id="update-repair-info" times="4" showtime="0" contype="string" style="display:none;z-index: 19891018; width: 700px; height: 850px; position: absolute; top: 100px; left: 250px;text-align: left;">
+            <form action="" name="form-update-repair" method="post" class="form form-horizontal" id="form-update-repair">
+                <div class="layui-layer-title" id="synOrder" style="cursor: move;" move="ok">换新处理</div>
+                <div style="margin-left: 10px;">
+                    <div class="formControls" style="margin-top: 10px;">
+                        <input type="hidden" id="repairId" name="repairId" />
+                        <label><span class="c-red">*</span>&nbsp;当前进度:</label>
+                        <label id="repairSchedule"></label>
+                    </div>
+                    <div class="col-4"> </div>
+                </div>
+                <div style="margin-left: 10px;">
+                    <div class="formControls repair_back_status">
+                        <label><span class="c-red">*</span>&nbsp;客户已寄回:</label>
+                        <input type="radio" name="repairBackStatus" value="1"/><label>未寄回&nbsp;&nbsp;</label>
+                        <input type="radio" name="repairBackStatus" value="2"/><label>已寄回&nbsp;&nbsp;</label>
+                        <input type="radio" name="repairBackStatus" value="3"/><label>已收货&nbsp;&nbsp;</label>
+                    </div>
+                </div>
+                <div style="margin-left: 10px;">
+                    <div class="formControls" style="margin-top: 10px;">
+                        <label><span class="c-red">*</span>&nbsp;寄回物流:</label>
+                        <select name="repairBackLogisticsCompany" id="repairBackLogisticsCompany" style="height: 30px;width: 100px;">
+                            <option value="sto">申通快递</option>
+                            <option value="yto">圆通快递</option>
+                            <option value="sf">顺丰快递</option>
+                            <option value="ems">邮政EMS</option>
+                            <option value="zto">中通快递</option>
+                            <option value="zjs">宅急送</option>
+                            <option value="yunda">韵达快递</option>
+                            <option value="cces">cces快递</option>
+                            <option value="pick">上门提货</option>
+                            <option value="htky">汇通快递</option>
+                            <option value="ttkdex">天天快递</option>
+                            <option value="stars">星晨急便</option>
+                            <option value="jd">京东快递</option>
+                            <option value="01">其他</option>
+                            <option value="02">上门送货</option>
+                        </select>
+                        <input type="text" id="repairBackLogisticsNo" class="input-text" value="" style="width: 150px;" name="repairBackLogisticsNo">
+                        <input type="text" id="repairBackPostage" class="input-text" value="" style="width: 150px;" name="repairBackPostage">
+                    </div>
+                    <div class="col-4"> </div>
+                </div>
+                <div style="margin-left: 10px;">
+                    <div class="formControls" style="margin-top: 10px;">
+                        <label><span class="c-red">*</span>&nbsp;寄回信息:</label>
+                        <input type="text" id="repairBackName" class="input-text" value="" style="width: 150px;" name="repairBackName">
+                        <input type="text" id="repairBackTel" class="input-text" value="" style="width: 150px;" name="repairBackTel">
+                        <input type="text" id="repairBackMachineNo" class="input-text" value="" style="width: 150px;" name="repairBackMachineNo">
+                    </div>
+                    <div class="col-4"> </div>
+                </div>
+                <div style="margin-left: 10px;">
+                    <div class="formControls" style="margin-top: 10px;">
+                        <label><span class="c-red">*</span>&nbsp;寄送产品:</label>
+                        <div id="repairProduct" class="update-parts"></div>
+                    </div>
+                    <div class="col-4"> </div>
+                </div>
+                <hr/>
+                <div style="margin-left: 10px;">
+                    <div class="formControls repair_send_status" style="margin-top: 10px;">
+                        <label>是否已寄送:</label>
+                        <input type="radio" name="repairSendStatus" value="1"/><label>未寄出&nbsp;&nbsp;</label>
+                        <input type="radio" name="repairSendStatus" value="2"/><label>已寄出&nbsp;&nbsp;</label>
+                        <input type="radio" name="repairSendStatus" value="3"/><label>已收货&nbsp;&nbsp;</label>
+                        <label>Efast订单号:</label>
+                        <label id="repairBackEfastOrderId"></label>
+                    </div>
+                    <div class="col-4"> </div>
+                </div>
+                <div style="margin-left: 10px;">
+                    <div class="formControls" style="margin-top: 10px;">
+                        <label><span class="c-red">*</span>&nbsp;用户地址:</label>
+                        <input type="text" id="repairSendName" class="input-text" value="" style="width: 150px;" name="repairSendName">
+                        <input type="text" id="repairSendTel" class="input-text" value="" style="width: 150px;" name="repairSendTel">
+                    </div>
+                    <div class="formControls">
+                        <select id="repairProvinceNumber" name="repairProvinceNumber" style="height: 30px;width: 100px;" onchange=""></select>
+                        <select id="repairCityNumber" name="repairCityNumber" style="height: 30px;width: 100px;" onchange=""></select>
+                        <select id="repairAreaNumber" name="repairAreaNumber" style="height: 30px;width: 100px;" onchange=""></select>
+                    </div>
+                    <div class="formControls">
+                        <textarea id="repairSendAddress" name="repairSendAddress" cols="" rows="" style="width: 500px;height: 70px;" class="textarea" ></textarea>
+                    </div>
+                    <div class="col-4"> </div>
+                </div>
+                <div style="margin-left: 10px;">
+                    <div class="formControls" style="margin-top: 10px;">
+                        <label><span class="c-red">*</span>&nbsp;寄出物流:</label>
+                        <select name="repairSendLogisticsCompany" id="repairSendLogisticsCompany" style="height: 30px;width: 100px;">
+                            <option value="sto">申通快递</option>
+                            <option value="yto">圆通快递</option>
+                            <option value="sf">顺丰快递</option>
+                            <option value="ems">邮政EMS</option>
+                            <option value="zto">中通快递</option>
+                            <option value="zjs">宅急送</option>
+                            <option value="yunda">韵达快递</option>
+                            <option value="cces">cces快递</option>
+                            <option value="pick">上门提货</option>
+                            <option value="htky">汇通快递</option>
+                            <option value="ttkdex">天天快递</option>
+                            <option value="stars">星晨急便</option>
+                            <option value="jd">京东快递</option>
+                            <option value="01">其他</option>
+                            <option value="02">上门送货</option>
+                        </select>
+                        <input type="text" id="repairSendLogisticsNo" class="input-text" value="" style="width: 150px;" name="repairSendLogisticsNo">
+                    </div>
+                    <div class="col-4"> </div>
+                </div>
+                <div style="margin-left: 10px;">
+                    <div class="formControls" style="margin-top: 10px;">
+                        <label><span class="c-red">*</span>&nbsp;备注:</label>
+                        <textarea id="repairDesc" name="repairDesc" cols="" rows="" style="width: 500px;height: 70px;" class="textarea" ></textarea>
+                    </div>
+                    <div class="col-4"> </div>
+                </div>
+                <hr/>
+                <div style="margin-left: 10px;">
+                    <div class="formControls" style="margin-top: 10px;">
+                        <label><span class="c-red">*</span>&nbsp;QC进度:</label>
+                        <div>
+                            <table class="table table-border table-bordered table-bg table-hover table-sort">
+                                <tr>
+                                    <th>工厂检测现象</th>
+                                    <th>故障分类</th>
+                                    <th>故障原因</th>
+                                    <th>判定结果</th>
+                                    <th>故障指向</th>
+                                    <th>原因分析</th>
+                                    <th>生产维修</th>
+                                </tr>
+                                <tr>
+                                    <td id="repairDetectPhenomenon"></td>
+                                    <td id="repairDetectFailureClassification"></td>
+                                    <td id="repairDetectFailureCause"></td>
+                                    <td id="repairDetectResults"></td>
+                                    <td id="repairDetectPoint"></td>
+                                    <td id="repairDetectAnalysis"></td>
+                                    <td id="repairDetectRevolutionProduced"></td>
+                                </tr>
+                            </table>
+                        </div>
+                    </div>
+                    <div class="col-4"> </div>
+                </div>
+                <div style="margin-left: 10px;">
+                    <div class="formControls" style="margin-top: 10px;">
+                        <label><span class="c-red">*</span>&nbsp;返修进度:</label>
+                        <div>
+                            <table class="table table-border table-bordered table-bg table-hover table-sort">
+                                <tr>
+                                    <th>是否可返修</th>
+                                    <th>返修内容</th>
+                                    <th>返修日期</th>
+                                </tr>
+                                <tr>
+                                    <td id="repairMaintenanceIdRepair"></td>
+                                    <td id="repairMaintenanceContent"></td>
+                                    <td id="repairMaintenanceContentDate"></td>
+                                </tr>
+                            </table>
+                        </div>
+                    </div>
+                    <div class="col-4"> </div>
+                </div>
+                <div style="margin-left: 10px;">
+                    <div class="formControls" style="margin-top: 10px;">
+                        <label>
+                            寄送产品将自动推送Efast,系统自动获取物流信息,并更新。<br/>
+                            如果在Efast作废订单等操作后,无法获取物流信息,请手动填写物流信息。
+                        </label>
+                    </div>
+                    <div class="col-4"> </div>
+                </div>
+                <div class="col-9 col-offset-3">
+                    <input class="btn btn-primary radius" onclick="update_repair_info();" type="button" value="&nbsp;&nbsp;确认&nbsp;&nbsp;">
+                </div>
+            </form>
+            <span class="layui-layer-setwin">
+				<a class="layui-layer-ico layui-layer-close layui-layer-close1" onclick="hide_this(this)" href="javascript:;"></a>
+		</span>
+        </div>
+        <!-- 维修处理end -->
+        <!-- 退货处理start -->
+        <div class="layui-layer layui-anim layui-layer-iframe" id="update-back-goods" times="4" showtime="0" contype="string" style="display:none;z-index: 19891018; width: 700px; height: 400px; position: absolute; top: 100px; left: 250px;text-align: left;">
+            <form action="" name="form-update-backGoods" method="post" class="form form-horizontal" id="form-update-backGoods">
+                <div class="layui-layer-title" id="synOrder" style="cursor: move;" move="ok">退货处理</div>
+                <div style="margin-left: 10px;">
+                    <div class="formControls" style="margin-top: 10px;">
+                        <input type="hidden" id="backGoodsId" name="backGoodsId" />
+                        <label><span class="c-red">*</span>&nbsp;当前进度:</label>
+                        <label id="backGoodsSchedule"></label>
+                    </div>
+                    <div class="col-4"> </div>
+                </div>
+                <div style="margin-left: 10px;">
+                    <div class="formControls backGoods_back_status">
+                        <label><span class="c-red">*</span>&nbsp;客户已寄回:</label>
+                        <input type="radio" name="backGoodsBackStatus" value="1"/><label>未寄回&nbsp;&nbsp;</label>
+                        <input type="radio" name="backGoodsBackStatus" value="2"/><label>已寄回&nbsp;&nbsp;</label>
+                        <input type="radio" name="backGoodsBackStatus" value="3"/><label>已收货&nbsp;&nbsp;</label>
+                    </div>
+                </div>
+                <div style="margin-left: 10px;">
+                    <div class="formControls" style="margin-top: 10px;">
+                        <label><span class="c-red">*</span>&nbsp;寄回物流:</label>
+                        <select name="backGoodsBackLogisticsCompany" id="backGoodsBackLogisticsCompany" style="height: 30px;width: 100px;">
+                            <option value="sto">申通快递</option>
+                            <option value="yto">圆通快递</option>
+                            <option value="sf">顺丰快递</option>
+                            <option value="ems">邮政EMS</option>
+                            <option value="zto">中通快递</option>
+                            <option value="zjs">宅急送</option>
+                            <option value="yunda">韵达快递</option>
+                            <option value="cces">cces快递</option>
+                            <option value="pick">上门提货</option>
+                            <option value="htky">汇通快递</option>
+                            <option value="ttkdex">天天快递</option>
+                            <option value="stars">星晨急便</option>
+                            <option value="jd">京东快递</option>
+                            <option value="01">其他</option>
+                            <option value="02">上门送货</option>
+                        </select>
+                        <input type="text" id="backGoodsBackLogisticsNo" class="input-text" value="" style="width: 150px;" name="backGoodsBackLogisticsNo">
+                        <input type="text" id="backGoodsBackPostage" class="input-text" value="" style="width: 150px;" name="backGoodsBackPostage">
+                    </div>
+                    <div class="col-4"> </div>
+                </div>
+                <div style="margin-left: 10px;">
+                    <div class="formControls" style="margin-top: 10px;">
+                        <label><span class="c-red">*</span>&nbsp;寄回信息:</label>
+                        <input type="text" id="backGoodsBackName" class="input-text" value="" style="width: 150px;" name="backGoodsBackName">
+                        <input type="text" id="backGoodsBackTel" class="input-text" value="" style="width: 150px;" name="backGoodsBackTel">
+                        <input type="text" id="backGoodsBackMachineNo" class="input-text" value="" style="width: 150px;" name="backGoodsBackMachineNo">
+                    </div>
+                    <div class="col-4"> </div>
+                </div>
+                <div style="margin-left: 10px;">
+                    <div class="formControls" style="margin-top: 10px;">
+                        <label><span class="c-red">*</span>&nbsp;寄回产品:</label>
+                        <div id="backGoodsProduct" class="update-parts"></div>
+                    </div>
+                    <div class="col-4"> </div>
+                </div>
+                <div style="margin-left: 10px;">
+                    <div class="formControls" style="margin-top: 10px;">
+                        <label><span class="c-red">*</span>&nbsp;备注:</label>
+                        <textarea id="backGoodsDesc" name="backGoodsDesc" cols="" rows="" style="width: 500px;height: 70px;" class="textarea" ></textarea>
+                    </div>
+                    <div class="col-4"> </div>
+                </div>
+                <br/>
+                <div class="col-9 col-offset-3">
+                    <input class="btn btn-primary radius" onclick="update_back_goods();" type="button" value="&nbsp;&nbsp;确认修改&nbsp;&nbsp;">
+                </div>
+            </form>
+            <span class="layui-layer-setwin">
+				<a class="layui-layer-ico layui-layer-close layui-layer-close1" onclick="hide_this(this)" href="javascript:;"></a>
+		</span>
+        </div>
+        <!-- 退货处理end -->
         <form action="${path}/admin/customer/select_customer_list" method="post">
             <button type="button" style="cursor:pointer; float: left;" class="my-btn-search" onclick="toAddCustomer();">新建客诉</button>
             <input type="text" class="my-input"  style="width:100px;margin-right: 0px;" value="${customerId!}" placeholder="客户姓名" id="customerName" name="customerName">
@@ -524,29 +790,31 @@
                                     )
                                 <#elseif customer.customerIsSolve == 4>
                                     维修(
-                                    <#if customer.backStatus == 1>
-                                        未寄回
-                                    <#elseif customer.backStatus == 2>
-                                        已寄回
-                                    <#elseif customer.backStatus == 3>
-                                        已收货
-                                    </#if>,
-                                    <#if customer.sendStatus == 1>
-                                        未寄送
-                                    <#elseif customer.sendStatus == 2>
-                                        已寄送
-                                    <#elseif customer.sendStatus == 3>
-                                        已收货
-                                    </#if>,
-                                    <#if customer.detectState == 1>
-                                        待仓库转入
-                                    <#elseif customer.detectState == 2>
-                                        正在检查
-                                    <#elseif customer.detectState == 3>
-                                        检查通过
-                                    <#elseif customer.detectState == 4>
-                                        检查未通过
-                                    </#if>
+                                    <a style="text-decoration:none" href="javascript:void(0);" onclick="get_repair_info(${customer.customerId!''})">
+                                        <#if customer.backStatus == 1>
+                                            未寄回
+                                        <#elseif customer.backStatus == 2>
+                                            已寄回
+                                        <#elseif customer.backStatus == 3>
+                                            已收货
+                                        </#if>,
+                                        <#if customer.sendStatus == 1>
+                                            未寄送
+                                        <#elseif customer.sendStatus == 2>
+                                            已寄送
+                                        <#elseif customer.sendStatus == 3>
+                                            已收货
+                                        </#if>,
+                                        <#if customer.detectState == 1>
+                                            待仓库转入
+                                        <#elseif customer.detectState == 2>
+                                            正在检查
+                                        <#elseif customer.detectState == 3>
+                                            检查通过
+                                        <#elseif customer.detectState == 4>
+                                            检查未通过
+                                        </#if>
+                                    </a>
                                     )
                                 <#elseif customer.customerIsSolve == 5>
                                     补发(
@@ -575,7 +843,17 @@
                                     </#if>
                                     )
                                 <#elseif customer.customerIsSolve == 6>
-                                    退货
+                                    退货(
+                                    <a style="text-decoration:none" href="javascript:void(0);" onclick="get_book_goods_info(${customer.customerId!''})">
+                                        <#if customer.backStatus == 1>
+                                            未寄回
+                                        <#elseif customer.backStatus == 2>
+                                            已寄回
+                                        <#elseif customer.backStatus == 3>
+                                            已收货
+                                        </#if>
+                                    </a>
+                                    )
                                 <#elseif customer.customerIsSolve == 7>
                                     无理由退货
                                 </#if>
@@ -857,6 +1135,7 @@
         });
     }
 
+    /*获取换新信息*/
     function get_renewed_info(customerId) {
         $.ajax({
             cache: true,
@@ -869,9 +1148,9 @@
 
                     var renewed = data.returnMsg.renewed;
 
-                    getProvince();
-                    getCity(renewed.provinceNumber);
-                    getDistrict(renewed.cityNumber);
+                    getProvince('provinceNumber');
+                    getCity('cityNumber',renewed.provinceNumber);
+                    getDistrict('areaNumber',renewed.cityNumber);
                     console.log(renewed);
                     var renewedSchedule = '';
                     switch (renewed.renewedBackStatus) {
@@ -888,17 +1167,18 @@
                         case 1:renewedSchedule += '待仓库转入';break;
                         case 2:renewedSchedule += '正在检查';break;
                         case 3:renewedSchedule += '检查通过';break;
-                        case 3:renewedSchedule += '检查未通过';break;
+                        case 4:renewedSchedule += '检查未通过';break;
                     }
                     var renewedProduct = '';
                     if (renewed.productName != null && renewed.productName != '') {
                         renewedProduct += '<span>'+ renewed.productName + '*' + renewed.closedProdcueNumber + '</span>';
                     }
-                    if (renewed.closedFittings != null && renewed.length > 0) {
+                    if (renewed.closedFittings != null && renewed.closedFittings.length > 0) {
                         $.each(renewed.closedFittings,function(index,element){
                             renewedProduct += '<span>'+ this.fittingName + '*' + this.closedFittingNumber + '</span>';
                         })
                     }
+                    $('#renewedId').val(renewed.renewedId);
                     $(".renewed_back_status input[value='"+ renewed.renewedBackStatus +"']").attr("checked",true);
                     $(".renewed_send_status input[value='"+ renewed.renewedSendStatus +"']").attr("checked",true);
                     $('#renewedSchedule').html(renewedSchedule);
@@ -910,7 +1190,7 @@
                     $("#cityNumber option[value='" + renewed.cityNumber + "']").attr("selected","true");
                     $("#areaNumber option[value='" + renewed.areaNumber + "']").attr("selected","true");
                     $('#renewedBackLogisticsNo').val(renewed.renewedBackLogisticsNo);
-                    $('#renewedBackPostage').val(renewed.renewedBackPostage);
+                    $('#renewedBackPostage').val(renewed.renewedBackPostage/100);
                     $('#renewedBackName').val(renewed.renewedBackName);
                     $('#renewedBackTel').val(renewed.renewedBackTel);
                     $('#renewedBackMachineNo').val(renewed.renewedBackMachineNo);
@@ -938,45 +1218,126 @@
         })
     }
 
+    /*获取维修信息*/
+    function get_repair_info(customerId) {
+        $.ajax({
+            cache: true,
+            type: "POST",
+            data: {"customerId":customerId},
+            url: "${path}/admin/customer/_update_repair",
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    var repair = data.returnMsg.repair;
+                    getProvince('repairProvinceNumber');
+                    getCity('repairCityNumber',repair.provinceNumber);
+                    getDistrict('repairAreaNumber',repair.cityNumber);
+                    console.log(repair);
+                    var repairSchedule = '';
+                    switch (repair.repairBackStatus) {
+                        case 1:repairSchedule += '待寄回,';break;
+                        case 2:repairSchedule += '已寄回,';break;
+                        case 3:repairSchedule += '已收货,';break;
+                    }
+                    switch (repair.repairSendStatus) {
+                        case 1:repairSchedule += '待寄送,';break;
+                        case 2:repairSchedule += '已寄送,';break;
+                        case 3:repairSchedule += '已收货,';break;
+                    }
+                    switch (repair.detectState) {
+                        case 1:repairSchedule += '待仓库转入';break;
+                        case 2:repairSchedule += '正在检查';break;
+                        case 3:repairSchedule += '检查通过';break;
+                        case 4:repairSchedule += '检查未通过';break;
+                    }
+                    var repairProduct = '';
+                    if (repair.productName != null && repair.productName != '') {
+                        repairProduct += '<span>'+ repair.productName + '*' + repair.closedProdcueNumber + '</span>';
+                    }
+                    if (repair.closedFittings != null && repair.closedFittings.length > 0) {
+                        $.each(repair.closedFittings,function(index,element){
+                            repairProduct += '<span>'+ this.fittingName + '*' + this.closedFittingNumber + '</span>';
+                        })
+                    }
+                    $('#repairId').val(repair.repairId);
+                    $(".repair_back_status input[value='"+ repair.repairBackStatus +"']").attr("checked",true);
+                    $(".repair_send_status input[value='"+ repair.repairSendStatus +"']").attr("checked",true);
+                    $('#repairSchedule').html(repairSchedule);
+                    $('#repairProduct').html(repairProduct);
+                    $("#repairBackLogisticsCompany option[value='" + repair.repairBackLogisticsCompany + "']").attr("selected","true");
+                    $("#repairSendLogisticsCompany option[value='" + repair.repairSendLogisticsCompany + "']").attr("selected","true");
+
+                    $("#repairProvinceNumber option[value='" + repair.provinceNumber + "']").attr("selected","true");
+                    $("#repairCityNumber option[value='" + repair.cityNumber + "']").attr("selected","true");
+                    $("#repairAreaNumber option[value='" + repair.areaNumber + "']").attr("selected","true");
+                    $('#repairBackLogisticsNo').val(repair.repairBackLogisticsNo);
+                    $('#repairBackPostage').val(repair.repairBackPostage/100);
+                    $('#repairBackName').val(repair.repairBackName);
+                    $('#repairBackTel').val(repair.repairBackTel);
+                    $('#repairBackMachineNo').val(repair.repairBackMachineNo);
+                    $('#repairBackEfastOrderId').html(repair.repairBackEfastOrderId);
+                    $('#repairSendName').val(repair.repairSendName);
+                    $('#repairSendTel').val(repair.repairSendTel);
+                    $('#repairSendAddress').val(repair.repairSendAddress);
+                    $('#repairSendLogisticsNo').val(repair.repairSendLogisticsNo);
+                    $('#repairDesc').val(repair.repairDesc);
+                    $('#detectPhenomenon').val(repair.detectPhenomenon);
+                    $('#detectFailureClassification').val(repair.detectFailureClassification);
+                    $('#detectFailureCause').val(repair.detectFailureCause);
+                    $('#detectResults').val(repair.detectResults);
+                    $('#detectPoint').val(repair.detectPoint);
+                    $('#detectAnalysis').val(repair.detectAnalysis);
+                    $('#detectRevolutionProduced').val(repair.detectRevolutionProduced);
+                    $('#maintenanceIdRepair').val(repair.maintenanceIdRepair);
+                    $('#maintenanceContent').val(repair.maintenanceContent);
+                    $('#maintenanceContentDate').val(repair.maintenanceContentDate);
+                    $('#update-repair-info').show();
+                }
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+            }
+        })
+    }
+
     /**
      * 获取省
      */
-    function getProvince() {
+    function getProvince(provinceNum) {
         var province = listProvince();
         if(province!=null){
             var provinceHtml = '';
             for(var i=0;i<province.length;i++){
                 provinceHtml += '<option value="'+ province[i].provinceId +'">'+ province[i].province +'</option>';
             }
-            $('#provinceNumber').append(provinceHtml);
+            $('#'+provinceNum).append(provinceHtml);
         }
     }
 
     /**
      * 获取市
      */
-    function getCity(provineceId) {
+    function getCity(cityNum,provineceId) {
         var city = listCity(provineceId,'');
         if(city!=null){
             var cityHtml = '';
             for(var i=0;i<city.length;i++){
                 cityHtml += '<option value="'+ city[i].cityId +'">'+ city[i].city +'</option>';
             }
-            $('#cityNumber').append(cityHtml);
+            $('#'+cityNum).append(cityHtml);
         }
     }
 
     /**
      * 获取区
      */
-    function getDistrict(cityId) {
+    function getDistrict(districtNum,cityId) {
         var district = listDistrict(cityId,'');
         if(district!=null){
             var districtHtml = '';
             for(var i=0;i<district.length;i++){
                 districtHtml += '<option value="'+ district[i].districtId +'">'+ district[i].district +'</option>';
             }
-            $('#areaNumber').append(districtHtml);
+            $('#'+districtNum).append(districtHtml);
         }
     }
 
@@ -984,19 +1345,146 @@
     $(document).on('change', '#provinceNumber', function() {
         var proId = $("#provinceNumber").val();
         $('#cityNumber option').remove();
-        getCity(proId);
+        getCity('cityNumber',proId);
         var cityId = $("#cityNumber").val();
         $('#areaNumber option').remove();
-        getDistrict(cityId);
+        getDistrict('areaNumber',cityId);
     });
 
     /*监听市选择事件*/
     $(document).on('change', '#cityNumber', function() {
         var city = $("#cityNumber").val();
         $('#areaNumber option').remove();
-        getDistrict(city);
+        getDistrict('areaNumber',city);
     });
 
+    /*监听省选择事件*/
+    $(document).on('change', '#repairProvinceNumber', function() {
+        var proId = $("#repairProvinceNumber").val();
+        $('#repairCityNumber option').remove();
+        getCity('repairCityNumber',proId);
+        var cityId = $("#cityNumber").val();
+        $('#repairAreaNumber option').remove();
+        getDistrict('repairAreaNumber',cityId);
+    });
+
+    /*监听市选择事件*/
+    $(document).on('change', '#repairCityNumber', function() {
+        var city = $("#repairCityNumber").val();
+        $('#repairAreaNumber option').remove();
+        getDistrict('repairAreaNumber',city);
+    });
+
+    /*修改换新信息*/
+    function update_renewed_info() {
+        $.ajax({
+            cache: true,
+            type: "POST",
+            data: $('#form-update-renewed').serialize(),
+            url: "${path}/admin/customer/update_renewed_info",
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    layer.msg(data.resultMsg,{icon: 1,time:1000});
+                } else {
+                    layer.msg(data.resultMsg,{icon: 5,time:1000});
+                }
+                $('#update-renewed-info').hide();
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+            }
+        })
+    }
+
+    /*修改维修信息*/
+    function update_repair_info() {
+        $.ajax({
+            cache: true,
+            type: "POST",
+            data: $('#form-update-repair').serialize(),
+            url: "${path}/admin/customer/update_repair_info",
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    layer.msg(data.resultMsg,{icon: 1,time:1000});
+                } else {
+                    layer.msg(data.resultMsg,{icon: 5,time:1000});
+                }
+                $('#update-repair-info').hide();
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+            }
+        })
+    }
+
+    /*获取售后退货信息*/
+    function get_book_goods_info(customerId) {
+        $.ajax({
+            cache: true,
+            type: "POST",
+            data: {"customerId":customerId},
+            url: "${path}/admin/customer/_update_back_goods",
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    var backGoods = data.returnMsg.backGoods;
+                    console.log(backGoods);
+                    $('#backGoodsId').val(backGoods.backGoodsId);
+                    $('#backGoodsBackName').val(backGoods.backGoodsBackName);
+                    $('#backGoodsBackTel').val(backGoods.backGoodsBackTel);
+                    $('#backGoodsBackLogisticsCompany').val(backGoods.backGoodsBackLogisticsCompany);
+                    $('#backGoodsBackLogisticsNo').val(backGoods.backGoodsBackLogisticsNo);
+                    $('#backGoodsBackPostage').val(backGoods.backGoodsBackPostage/100);
+                    $('#backGoodsBackMachineNo').val(backGoods.backGoodsBackMachineNo);
+                    $('#backGoodsDesc').val(backGoods.backGoodsDesc);
+                    var backGoodsSchedule = '';
+                    switch (backGoods.backGoodsBackStatus) {
+                        case 1:backGoodsSchedule += '未寄回';break;
+                        case 2:backGoodsSchedule += '已寄回';break;
+                        case 3:backGoodsSchedule += '已收货';break;
+                    }
+                    $('#backGoodsSchedule').html(backGoodsSchedule);
+                    $(".backGoods_back_status input[value='"+ backGoods.backGoodsBackStatus +"']").attr("checked",true);
+                    var backProduct = '';
+                    if (backGoods.closedProdcues != null && backGoods.closedProdcues.length > 0) {
+                        $.each(backGoods.closedProdcues,function(index,element){
+                            backProduct += '<span>'+ this.closedProductName + '*' + this.closedProdcueNumber + '</span>';
+                        })
+                    }
+                    if (backGoods.closedFittings != null && backGoods.closedFittings.length > 0) {
+                        $.each(backGoods.closedFittings,function(index,element){
+                            backProduct += '<span>'+ this.fittingName + '*' + this.closedFittingNumber + '</span>';
+                        })
+                    }
+                    $('#update-back-goods').show();
+                }
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+            }
+        })
+    }
+
+    /*修改售后退货信息*/
+    function update_back_goods() {
+        $.ajax({
+            cache: true,
+            type: "POST",
+            data: $('#form-update-backGoods').serialize(),
+            url: "${path}/admin/customer/update_back_goods",
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    layer.msg(data.resultMsg,{icon: 1,time:1000});
+                } else {
+                    layer.msg(data.resultMsg,{icon: 5,time:1000});
+                }
+                $('#update-back-goods').hide();
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+            }
+        })
+    }
+
 
 </script>
 </body>