瀏覽代碼

售后流程修改

liujiankang 5 年之前
父節點
當前提交
7913a4e2a0
共有 30 個文件被更改,包括 590 次插入99 次删除
  1. 56 1
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/CustomerInfo.java
  2. 10 1
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/SalesOrder.java
  3. 18 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/fm/ComplaintAfterSalesNum.java
  4. 63 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/fm/ComplaintDetectInfo.java
  5. 1 1
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/SalesOrderService.java
  6. 11 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/fm/ComplaintDetectInfoService.java
  7. 18 3
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/SalesOrderServiceImpl.java
  8. 33 29
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/customerInfoMapper.xml
  9. 10 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/fm/ComplaintDetectInfoServiceImpl.java
  10. 12 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/fm/mapper/ComplaintDetectInfoMapper.java
  11. 158 40
      watero-rst-service/src/main/java/com/iamberry/rst/service/fm/mapper/complaintDetectInfoMapper.xml
  12. 7 0
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminCustomerController.java
  13. 60 0
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminDetectController.java
  14. 1 1
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminOrderController.java
  15. 7 1
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminSalesOrderController.java
  16. 28 0
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AwaitSendController.java
  17. 23 6
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/custome_list.ftl
  18. 2 2
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/update_relation.ftl
  19. 1 1
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/add_QC.ftl
  20. 1 1
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/add_detect.ftl
  21. 2 2
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/add_remark.ftl
  22. 1 1
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/detect_complete.ftl
  23. 6 2
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/detect_detail.ftl
  24. 3 3
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/detect_list.ftl
  25. 1 1
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/update_complete.ftl
  26. 1 1
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/update_detect.ftl
  27. 1 1
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/update_produced_info.ftl
  28. 19 0
      watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/add_order.ftl
  29. 11 1
      watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/list_wait_send_order.ftl
  30. 25 0
      watero-rst-web/src/main/webapp/common/js/salesOrder/salesOrder.js

+ 56 - 1
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/CustomerInfo.java

@@ -184,12 +184,19 @@ public class CustomerInfo  implements Serializable {
     private Integer completeMaintenanceNum;//维修完成数量
     private Integer beenScrappedNum;//已报废的数量
     private Integer beenRenovatedNum;//已翻新的数量
-    private Integer afterState;// 1今日签收 2昨日签收 3前日签收 4.待检测 5已检测待确认 6.检测完成
+    private Integer afterState;// 1今日签收 2昨日签收 3前日签收 4.待检测 5已检测待确认 6.检测完成 7原机退回,待下单 8维修完成,待下单
     private String afterTime;// 售后搜索日期条件
     @DateTimeFormat(pattern="yyyy-MM-dd")
     @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
     private Date warehouseDate;// 仓库签收日期 用作列表查询
     private Integer warehouseDetectState;//状态 详情见数据库文档 用作列表查询 (1.待检测  2已检测,待确认 3待维修 4待翻新 5待报废 6维修完成 7翻新完成 8报废完成)
+    private Integer detectPlaceorder;//状态 售后下单 1待发货 2已发货
+
+    private Integer stayBackNum;//待退回
+    private Integer beenReturnedNum;//已退回
+    private Integer stayQcConfirmNum;//待QC确认
+    private Integer placeOrderNum;//待下单
+    private Integer beenOrderedNum;//维修完成已下单
 
     public void setComplaintDetectList(List<ComplaintDetectInfo> complaintDetectList) {
         this.complaintDetectList = complaintDetectList;
@@ -1020,4 +1027,52 @@ public class CustomerInfo  implements Serializable {
     public void setWarehouseDetectState(Integer warehouseDetectState) {
         this.warehouseDetectState = warehouseDetectState;
     }
+
+    public Integer getDetectPlaceorder() {
+        return detectPlaceorder;
+    }
+
+    public void setDetectPlaceorder(Integer detectPlaceorder) {
+        this.detectPlaceorder = detectPlaceorder;
+    }
+
+    public Integer getStayBackNum() {
+        return stayBackNum;
+    }
+
+    public void setStayBackNum(Integer stayBackNum) {
+        this.stayBackNum = stayBackNum;
+    }
+
+    public Integer getBeenReturnedNum() {
+        return beenReturnedNum;
+    }
+
+    public void setBeenReturnedNum(Integer beenReturnedNum) {
+        this.beenReturnedNum = beenReturnedNum;
+    }
+
+    public Integer getStayQcConfirmNum() {
+        return stayQcConfirmNum;
+    }
+
+    public void setStayQcConfirmNum(Integer stayQcConfirmNum) {
+        this.stayQcConfirmNum = stayQcConfirmNum;
+    }
+
+    public Integer getPlaceOrderNum() {
+        return placeOrderNum;
+    }
+
+    public void setPlaceOrderNum(Integer placeOrderNum) {
+        this.placeOrderNum = placeOrderNum;
+    }
+
+    public Integer getBeenOrderedNum() {
+        return beenOrderedNum;
+    }
+
+    public void setBeenOrderedNum(Integer beenOrderedNum) {
+        this.beenOrderedNum = beenOrderedNum;
+    }
 }

+ 10 - 1
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/SalesOrder.java

@@ -1,6 +1,7 @@
 package com.iamberry.rst.core.cm;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.iamberry.rst.core.fm.ComplaintDetectInfo;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
@@ -148,7 +149,7 @@ public class SalesOrder implements Serializable {
     private Integer playSingle;//待打单数量
     private Integer outbound;//待出库数量
 
-
+    private List<ComplaintDetectInfo> complaintDetectInfoList;
     public Integer getSalesOldOrderStatus() {
         return salesOldOrderStatus;
     }
@@ -867,4 +868,12 @@ public class SalesOrder implements Serializable {
     public void setOutbound(Integer outbound) {
         this.outbound = outbound;
     }
+
+    public List<ComplaintDetectInfo> getComplaintDetectInfoList() {
+        return complaintDetectInfoList;
+    }
+
+    public void setComplaintDetectInfoList(List<ComplaintDetectInfo> complaintDetectInfoList) {
+        this.complaintDetectInfoList = complaintDetectInfoList;
+    }
 }

+ 18 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/fm/ComplaintAfterSalesNum.java

@@ -11,6 +11,8 @@ public class ComplaintAfterSalesNum implements Serializable{
     private Integer beDetected;//待检测
     private Integer beConfirmed;//已检测待确认
     private Integer completeProcessing;//完成处理
+    private Integer placeOrderNum;//原机退回,待下单
+    private Integer detectplaceOrderNum;//维修完成,待下单
 
     public Integer getTodaysignNum() {
         return todaysignNum;
@@ -67,4 +69,20 @@ public class ComplaintAfterSalesNum implements Serializable{
     public void setCompleteProcessing(Integer completeProcessing) {
         this.completeProcessing = completeProcessing;
     }
+
+    public Integer getPlaceOrderNum() {
+        return placeOrderNum;
+    }
+
+    public void setPlaceOrderNum(Integer placeOrderNum) {
+        this.placeOrderNum = placeOrderNum;
+    }
+
+    public Integer getDetectplaceOrderNum() {
+        return detectplaceOrderNum;
+    }
+
+    public void setDetectplaceOrderNum(Integer detectplaceOrderNum) {
+        this.detectplaceOrderNum = detectplaceOrderNum;
+    }
 }

+ 63 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/fm/ComplaintDetectInfo.java

@@ -100,6 +100,21 @@ public class ComplaintDetectInfo implements Serializable {
     private Integer detectIsPrint;// 是否打印 1未打印 2已打印
     private Date detectPrintTime;//首次打印时间
     private String signclosedName;//签收人姓名
+    private Integer detectPlaceorder;//是否下单 1否 2是
+    private Integer detectSalesId;//订单号
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    private Date detectCompletionTime;//检测完成时间
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    private Date maintenanceCompletionTime;//维修完成时间
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    private Date renovationCompletionTime;//翻新完成时间
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    private Date scrapCompletionTime;//报废完成时间
+
 
     public Integer getDetectId() {
         return detectId;
@@ -636,4 +651,52 @@ public class ComplaintDetectInfo implements Serializable {
     public void setSignclosedName(String signclosedName) {
         this.signclosedName = signclosedName;
     }
+
+    public Integer getDetectPlaceorder() {
+        return detectPlaceorder;
+    }
+
+    public void setDetectPlaceorder(Integer detectPlaceorder) {
+        this.detectPlaceorder = detectPlaceorder;
+    }
+
+    public Integer getDetectSalesId() {
+        return detectSalesId;
+    }
+
+    public void setDetectSalesId(Integer detectSalesId) {
+        this.detectSalesId = detectSalesId;
+    }
+
+    public Date getDetectCompletionTime() {
+        return detectCompletionTime;
+    }
+
+    public void setDetectCompletionTime(Date detectCompletionTime) {
+        this.detectCompletionTime = detectCompletionTime;
+    }
+
+    public Date getMaintenanceCompletionTime() {
+        return maintenanceCompletionTime;
+    }
+
+    public void setMaintenanceCompletionTime(Date maintenanceCompletionTime) {
+        this.maintenanceCompletionTime = maintenanceCompletionTime;
+    }
+
+    public Date getRenovationCompletionTime() {
+        return renovationCompletionTime;
+    }
+
+    public void setRenovationCompletionTime(Date renovationCompletionTime) {
+        this.renovationCompletionTime = renovationCompletionTime;
+    }
+
+    public Date getScrapCompletionTime() {
+        return scrapCompletionTime;
+    }
+
+    public void setScrapCompletionTime(Date scrapCompletionTime) {
+        this.scrapCompletionTime = scrapCompletionTime;
+    }
 }

+ 1 - 1
watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/SalesOrderService.java

@@ -226,7 +226,7 @@ public interface SalesOrderService {
      */
     Integer getIsMachine(String colorBar);
 
-    boolean addRstOrderinfo(SalesOrder mainOrder,List<SalesOrder> listSalesOrder);
+    boolean addRstOrderinfo(SalesOrder mainOrder,List<SalesOrder> listSalesOrder,String[] detectIds);
 
     /**
      *查询拥有该交易号的数量

+ 11 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/fm/ComplaintDetectInfoService.java

@@ -178,4 +178,15 @@ public interface ComplaintDetectInfoService {
      * @return
      */
     Integer updatePrint(ComplaintDetectInfo detectInfo);
+    /**
+     * 已完成维修、原机退货,并且发货状态为待下单的维修记录,则需要查询当前客诉对应的维修机器
+     * @return
+     */
+    List<ComplaintDetectInfo> listDetectByCustomerId(Integer customerId);
+
+    /**
+     * 查询订单关联的维修
+     * @return
+     */
+    List<ComplaintDetectInfo> listComplaintDetectBySalesId(Integer detectSalesId);
 }

+ 18 - 3
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/SalesOrderServiceImpl.java

@@ -7,6 +7,7 @@ import com.iamberry.rst.core.cm.FittingsInfo;
 import com.iamberry.rst.core.cm.SalesOrder;
 import com.iamberry.rst.core.cm.SalesOrderItem;
 import com.iamberry.rst.core.cm.StoreInfo;
+import com.iamberry.rst.core.fm.ComplaintDetectInfo;
 import com.iamberry.rst.core.fm.InventoryInfo;
 import com.iamberry.rst.core.fm.InventoryLog;
 import com.iamberry.rst.core.order.*;
@@ -21,6 +22,7 @@ import com.iamberry.rst.faces.order.EfastOrderService;
 import com.iamberry.rst.faces.product.ProductService;
 import com.iamberry.rst.service.cm.mapper.FittingsInfoMapper;
 import com.iamberry.rst.service.cm.mapper.SalesOrderMapper;
+import com.iamberry.rst.service.fm.mapper.ComplaintDetectInfoMapper;
 import com.iamberry.rst.service.fm.mapper.InventoryLogMapper;
 import com.iamberry.rst.service.fm.mapper.InventoryMapper;
 import com.iamberry.rst.service.order.mapper.LogisticsInfoMapper;
@@ -76,7 +78,8 @@ public class SalesOrderServiceImpl implements SalesOrderService {
     private InventoryMapper inventoryMapper;
     @Autowired
     private InventoryLogMapper inventoryLogMapper;
-
+    @Autowired
+    private ComplaintDetectInfoMapper complaintDetectInfoMapper;
 
     @Override
     public Integer addSalesOrder(SalesOrder salesOrder) {
@@ -411,14 +414,14 @@ public class SalesOrderServiceImpl implements SalesOrderService {
             }
             //判断主从订单--------------------end
 
-             msg = salesOrderService.addRstOrderinfo(mainOrder,listSalesOrder);
+             msg = salesOrderService.addRstOrderinfo(mainOrder,listSalesOrder,null);
         }
         return msg;
     }
 
     @Override
     @Transactional
-    public boolean addRstOrderinfo(SalesOrder mainOrder,List<SalesOrder> listSalesOrder) {
+    public boolean addRstOrderinfo(SalesOrder mainOrder,List<SalesOrder> listSalesOrder,String[] detectIds) {
          Integer flag = salesOrderMapper.getOrderBySalesDealCodeNum(mainOrder.getSalesDealCode());
         if(flag > 0){
             throw  new RuntimeException("交易号("+ mainOrder.getSalesDealCode() +")重复,请重新生成交易号!");
@@ -461,6 +464,18 @@ public class SalesOrderServiceImpl implements SalesOrderService {
                 }
             }
         }
+        //修为维修记录为已下单
+        if(detectIds != null){
+            if(detectIds.length > 0){
+                for(String detectId : detectIds){
+                    ComplaintDetectInfo detectInfo = new ComplaintDetectInfo();
+                    detectInfo.setDetectId(Integer.valueOf(detectId));
+                    detectInfo.setDetectPlaceorder(2);
+                    detectInfo.setDetectSalesId(mainOrder.getSalesId());
+                    complaintDetectInfoMapper.updateDetectById(detectInfo);
+                }
+            }
+        }
         return true;
     }
 

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

@@ -298,6 +298,11 @@
     cc.relationId as relationId,
     ri.receivingOne as receivingOne,
     ri.receivingTwo as receivingTwo,
+    cs.stayBackNum as stayBackNum,
+    cs.beenReturnedNum as beenReturnedNum,
+    cs.stayQcConfirmNum as stayQcConfirmNum,
+    cs.placeOrderNum as placeOrderNum,
+    cs.beenOrderedNum as beenOrderedNum,
     cs.beDetected as beDetected,
     cs.beMaintenance as beMaintenance,
     cs.beRefurbished as beRefurbished,
@@ -386,35 +391,25 @@
     GROUP BY
     signclosed_customer_id) ri ON ri.signclosed_customer_id = c.customer_id
     LEFT JOIN (SELECT
-    detect_id,
-    customer_id,
-    COUNT(
-    CASE detect_state
-    WHEN 1 THEN
-    1
-    END
-    ) AS beDetected,
-    COUNT(case detect_state when 31 then 1
-    when 35 then 1
-    end) as beMaintenance,
-    COUNT(case detect_state when 20 then 1
-    end) as beRefurbished,
-    COUNT(case detect_state when 22 then 1
-    end) as beScrapped,
-    COUNT(case detect_state when 30 then 1
-    when 34 then 1 WHEN 38 then 1
-    end) as beContact,
-    COUNT(case detect_state when 32 then 1
-    when 36 then 1
-    end) as completeMaintenanceNum,
-    COUNT(case detect_state when 23 then 1
-    end) as beenScrappedNum,
-    COUNT(case detect_state when 21 then 1
-    end) as beenRenovatedNum
-    FROM
-    tb_rst_complaint_detect
-    GROUP BY
-    customer_id) cs ON cs.customer_id = c.customer_id
+      detect_id,
+      customer_id,
+      sum(case when (detect_state = 37 and detect_placeorder = 1) then 1 else 0 end) as stayBackNum,
+      sum(case when (detect_state = 37 and detect_placeorder = 2) then 1 else 0 end) as beenReturnedNum,
+      sum(case when (detect_state in (32,36) and maintenance_results = 2) then 1 else 0 end) as stayQcConfirmNum,
+      sum(case when (detect_state in (32,36) and maintenance_results = 1 and detect_placeorder = 1) then 1 else 0 end) as placeOrderNum,
+      sum(case when (detect_state in (32,36) and maintenance_results = 1 and detect_placeorder = 2) then 1 else 0 end) as beenOrderedNum,
+      COUNT(CASE detect_state WHEN 1 THEN 1 END) AS beDetected,
+      COUNT(case detect_state when 31 then 1 when 35 then 1 end) as beMaintenance,
+      COUNT(case detect_state when 20 then 1 end) as beRefurbished,
+      COUNT(case detect_state when 22 then 1 end) as beScrapped,
+      COUNT(case detect_state when 30 then 1 when 34 then 1 WHEN 38 then 1 end) as beContact,
+      COUNT(case detect_state when 32 then 1 when 36 then 1 end) as completeMaintenanceNum,
+      COUNT(case detect_state when 23 then 1 end) as beenScrappedNum,
+      COUNT(case detect_state when 21 then 1 end) as beenRenovatedNum
+      FROM
+      tb_rst_complaint_detect
+      GROUP BY
+      customer_id) cs ON cs.customer_id = c.customer_id
     LEFT JOIN tb_rst_cm_visit v ON v.customer_id = c.customer_id
     LEFT JOIN tb_rst_sales_order_info oi ON cc.orderId = oi.sales_id
     LEFT JOIN tb_rst_cm_question_describe qd ON c.customer_id = qd.customer_id
@@ -519,6 +514,12 @@
       <if test="afterState != null and afterState == 6">
         and cd.detect_state in(32,33,36,37)
       </if>
+      <if test="afterState != null and afterState == 7">
+        and cd.detect_state = 37 and cd.detect_placeorder = 1 AND maintenance_results = 1
+      </if>
+      <if test="afterState != null and afterState == 8">
+        and cd.detect_state in(32,36) and cd.detect_placeorder = 1 AND maintenance_results = 1
+      </if>
       <if test="warehouseDate != null">
         and cs.signclosed_date = #{warehouseDate}
       </if>
@@ -546,6 +547,9 @@
       <if test="warehouseDetectState != null and warehouseDetectState == 8">
         and cd.detect_state = 23
       </if>
+      <if test="detectPlaceorder != null and detectPlaceorder != ''">
+        and (cd.detect_state = 37 or cc.procTypeId = 3) AND detect_placeorder = #{detectPlaceorder}
+      </if>
     </where>
     GROUP BY c.customer_id
     ORDER BY c.customer_id desc

+ 10 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/fm/ComplaintDetectInfoServiceImpl.java

@@ -506,5 +506,15 @@ public class ComplaintDetectInfoServiceImpl implements ComplaintDetectInfoServic
         return complaintDetectInfoMapper.updateDetectById(detectInfo);
     }
 
+    @Override
+    public List<ComplaintDetectInfo> listDetectByCustomerId(Integer customerId) {
+        return complaintDetectInfoMapper.listDetectByCustomerId(customerId);
+    }
+
+    @Override
+    public List<ComplaintDetectInfo> listComplaintDetectBySalesId(Integer detectSalesId) {
+        return complaintDetectInfoMapper.listComplaintDetectBySalesId(detectSalesId);
+    }
+
 
 }

+ 12 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/fm/mapper/ComplaintDetectInfoMapper.java

@@ -152,5 +152,17 @@ public interface ComplaintDetectInfoMapper {
      */
     ComplaintAfterSalesNum getCustomerDetectNum(ComplaintDetectInfo detect);
 
+    /**
+     * 已完成维修、原机退货,并且发货状态为待下单的维修记录,则需要查询当前客诉对应的维修机器
+     * @return
+     */
+    List<ComplaintDetectInfo> listDetectByCustomerId(Integer customerId);
+
+    /**
+     * 查询订单关联的维修
+     * @return
+     */
+    List<ComplaintDetectInfo> listComplaintDetectBySalesId(Integer detectSalesId);
+
 
 }

+ 158 - 40
watero-rst-service/src/main/java/com/iamberry/rst/service/fm/mapper/complaintDetectInfoMapper.xml

@@ -42,6 +42,7 @@
 	  oi.sales_pay_time salesPayTime,
 	  cpm.proc_method_name procMethodName,
       cpt.proc_type_name procTypeName,
+      cpt.proc_type_id procTypeId,
       oi.sales_pay_time AS salesTime,
       ap.province signclosedAddrProvincesName,
       ac.city signclosedAddrCityName,
@@ -49,7 +50,12 @@
       cs.signclosed_date signclosedDate,
       cs.signclosed_logistics_number logisticsNumber,
       cd.detect_is_print detectIsPrint,
-      cd.detect_print_time detectPrintTime
+      cd.detect_print_time detectPrintTime,
+      cd.detect_placeorder detectPlaceorder,
+      cd.detect_completion_time detectCompletionTime,
+      cd.maintenance_completion_time maintenanceCompletionTime,
+      cd.renovation_completion_time renovationCompletionTime,
+      cd.scrap_completion_time scrapCompletionTime
     from tb_rst_complaint_detect cd
     LEFT JOIN tb_rst_cm_question_describe qd on cd.customer_id = qd.customer_id
     LEFT JOIN tb_rst_product_info pi ON cd.product_id = pi.product_id
@@ -60,24 +66,8 @@
     LEFT JOIN tb_rst_cm_proc_type cpt ON cpm.proc_type_id = cpt.proc_type_id
     LEFT JOIN tb_rst_cm_customer_info c ON cd.customer_id = c.customer_id
     LEFT JOIN tb_rst_complaint_signclosed cs ON cs.signclosed_id = cd.signclosed_id
-    LEFT JOIN (
-    SELECT
-    xx.*
-    FROM
-    (
-    SELECT
-    tb_rst_cm_proc_method.proc_type_id AS customerIsSolve,
-    tb_rst_cm_relation.relation_id AS relationId,
-    customer_id AS customerIds,
-    tb_rst_cm_relation_order.sales_id AS orderId
-    FROM
-    tb_rst_cm_relation
-    LEFT JOIN tb_rst_cm_proc_method ON tb_rst_cm_proc_method.proc_method_id = tb_rst_cm_relation.proc_method_id
-    LEFT JOIN tb_rst_cm_proc_type ON tb_rst_cm_proc_type.proc_type_id = tb_rst_cm_proc_method.proc_type_id
-    LEFT JOIN tb_rst_cm_relation_order ON tb_rst_cm_relation_order.relation_id = tb_rst_cm_relation.relation_id
-    ) xx
-    ) cc ON cc.customerIds = c.customer_id
-    LEFT JOIN tb_rst_sales_order_info oi ON cc.orderId = oi.sales_id
+    LEFT JOIN tb_rst_cm_relation_order ro ON ro.relation_customer_id = c.customer_id
+    LEFT JOIN tb_rst_sales_order_info oi ON ro.sales_id = oi.sales_id
     LEFT JOIN tb_rst_address_province ap ON cs.signclosed_addr_provinces = ap.province_id
     LEFT JOIN tb_rst_address_city ac ON cs.signclosed_addr_city = ac.city_id
     LEFT JOIN tb_rst_address_district ad on ad.district_id = cs.signclosed_addr_area
@@ -134,7 +124,12 @@
     cs.signclosed_logistics_number logisticsNumber,
     cd.detect_is_print detectIsPrint,
     cd.detect_print_time detectPrintTime,
-    cs.signclosed_send_name signclosedName
+    cs.signclosed_send_name signclosedName,
+    cd.detect_placeorder detectPlaceorder,
+    cd.detect_completion_time detectCompletionTime,
+    cd.maintenance_completion_time maintenanceCompletionTime,
+    cd.renovation_completion_time renovationCompletionTime,
+    cd.scrap_completion_time scrapCompletionTime
     from tb_rst_complaint_detect cd
     LEFT JOIN tb_rst_product_info pi ON cd.product_id = pi.product_id
     LEFT JOIN tb_rst_cm_question_describe qd on cd.customer_id = qd.customer_id
@@ -145,24 +140,8 @@
     LEFT JOIN tb_rst_cm_proc_type cpt ON cpm.proc_type_id = cpt.proc_type_id
     LEFT JOIN tb_rst_cm_customer_info c ON cd.customer_id = c.customer_id
     LEFT JOIN tb_rst_complaint_signclosed cs ON cs.signclosed_id = cd.signclosed_id
-    LEFT JOIN (
-    SELECT
-    xx.*
-    FROM
-    (
-    SELECT
-    tb_rst_cm_proc_method.proc_type_id AS customerIsSolve,
-    tb_rst_cm_relation.relation_id AS relationId,
-    customer_id AS customerIds,
-    tb_rst_cm_relation_order.sales_id AS orderId
-    FROM
-    tb_rst_cm_relation
-    LEFT JOIN tb_rst_cm_proc_method ON tb_rst_cm_proc_method.proc_method_id = tb_rst_cm_relation.proc_method_id
-    LEFT JOIN tb_rst_cm_proc_type ON tb_rst_cm_proc_type.proc_type_id = tb_rst_cm_proc_method.proc_type_id
-    LEFT JOIN tb_rst_cm_relation_order ON tb_rst_cm_relation_order.relation_id = tb_rst_cm_relation.relation_id
-    ) xx
-    ) cc ON cc.customerIds = c.customer_id
-    LEFT JOIN tb_rst_sales_order_info oi ON cc.orderId = oi.sales_id
+    LEFT JOIN tb_rst_cm_relation_order ro ON ro.relation_customer_id = c.customer_id
+    LEFT JOIN tb_rst_sales_order_info oi ON ro.sales_id = oi.sales_id
     LEFT JOIN tb_rst_address_province ap ON cs.signclosed_addr_provinces = ap.province_id
     LEFT JOIN tb_rst_address_city ac ON cs.signclosed_addr_city = ac.city_id
     LEFT JOIN tb_rst_address_district ad on ad.district_id = cs.signclosed_addr_area
@@ -260,6 +239,12 @@
       <if test="signclosedName != null and signclosedName != ''">
         and cs.signclosed_send_name  like CONCAT('%',#{signclosedName},'%')
       </if>
+      <if test="detectPlaceorder != null and detectPlaceorder != ''">
+        and cd.detect_placeorder  = #{detectPlaceorder}
+      </if>
+      <if test="detectSalesId != null and detectSalesId != ''">
+        and cd.detect_sales_id  = #{detectSalesId}
+      </if>
     </where>
       GROUP BY cd.detect_id
       ORDER BY cd.detect_create_time DESC
@@ -350,7 +335,25 @@
         detect_is_print = #{detectIsPrint,jdbcType=INTEGER},
       </if>
       <if test="detectPrintTime != null and detectPrintTime != ''" >
-        detect_print_time = #{detectPrintTime,jdbcType=TIMESTAMP}
+        detect_print_time = #{detectPrintTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="detectPlaceorder != null and detectPlaceorder != ''" >
+        detect_placeorder = #{detectPlaceorder,jdbcType=INTEGER},
+      </if>
+      <if test="detectSalesId != null and detectSalesId != ''" >
+        detect_sales_id = #{detectSalesId,jdbcType=INTEGER},
+      </if>
+      <if test="detectCompletionTime != null and detectCompletionTime != ''" >
+        detect_completion_time = #{detectCompletionTime},
+      </if>
+      <if test="maintenanceCompletionTime != null and maintenanceCompletionTime != ''" >
+        maintenance_completion_time = #{maintenanceCompletionTime},
+      </if>
+      <if test="renovationCompletionTime != null and renovationCompletionTime != ''" >
+        renovation_completion_time = #{renovationCompletionTime},
+      </if>
+      <if test="scrapCompletionTime != null and scrapCompletionTime != ''" >
+        scrap_completion_time = #{scrapCompletionTime}
       </if>
     </set>
     where
@@ -575,7 +578,9 @@
         SELECT
             sum(CASE WHEN detect_state = 1 then 1 else 0 end) AS beDetected,
             sum(CASE WHEN detect_state in(30,34,38) then 1 else 0 end) AS beConfirmed,
-            sum(CASE WHEN detect_state in(32,33,36,37) then 1 else 0 end) AS completeProcessing
+            sum(CASE WHEN detect_state in(32,33,36,37) then 1 else 0 end) AS completeProcessing,
+            sum(CASE WHEN (detect_state = 37 and detect_placeorder = 1 AND maintenance_results = 1) then 1 else 0 end) AS placeOrderNum,
+            sum(CASE WHEN (detect_state in(32,36) and detect_placeorder = 1 AND maintenance_results = 1) then 1 else 0 end) AS detectplaceOrderNum
         FROM
             tb_rst_complaint_detect cd
         LEFT JOIN tb_rst_cm_customer_info ci ON ci.customer_id = cd.customer_id
@@ -585,4 +590,117 @@
             </if>
         </where>
     </select>
+
+
+  <!--已完成维修、原机退货,并且发货状态为待下单的维修记录,则需要查询当前客诉对应的维修机器-->
+  <select id="listDetectByCustomerId" parameterType="Integer" resultType="ComplaintDetectInfo">
+        select
+        cd.detect_id detectId,
+        cd.product_id productId,
+        cd.product_color_id productColorId,
+        cd.detect_product_number detectProductNumber,
+        cd.detect_state detectState,
+        cd.detect_phenomenon detectPhenomenon,
+        cd.detect_classification detectClassification,
+        cd.detect_failure_cause detectFailureCause,
+        cd.signclosed_id signclosedId,
+        cd.detect_results detectResults,
+        cd.detect_point detectPoint,
+        cd.detect_nalysis detectNalysis,
+        cd.detect_content detectContent,
+        cd.customer_id customerId,
+        cd.is_maintenance isMaintenance,
+        cd.detect_desc detectDesc,
+        cd.detect_date detectDate,
+        cd.detect_create_time detectCreateTime,
+        cd.detect_update_time detectUpdateTime,
+        cd.detect_offer detectOffer,
+        cd.detect_renovation detectRenovation,
+        cd.detect_processing_results detectProcessingResults,
+        cd.detect_customer_desc detectCustomerDesc,
+        cd.detect_production detectProduction,
+        cd.detect_fuselage_barcode detectFuselageBarcode,
+        cd.detect_film_type detectFilmType,
+        cd.detect_float_type detectFloatType,
+        cd.detect_version_number detectVersionNumber,
+        cd.detect_is_refurbishing detectIsRefurbishing,
+        cd.maintenance_results maintenanceResults,
+        cd.detect_number detectNumber,
+        cd.complete_cut_time completeCutTime,
+        qd.describe_title questionTitle,
+        pi.product_name productName,
+        pi.product_abbreviation productAbbreviation,
+        pt.type_name productTypeName,
+        ci.color_name colorName,
+        cpm.proc_method_name procMethodName,
+        cpt.proc_type_name procTypeName,
+        oi.sales_pay_time AS salesTime,
+        ap.province signclosedAddrProvincesName,
+        ac.city signclosedAddrCityName,
+        ad.district signclosedAddrAreaName,
+        cs.signclosed_date signclosedDate,
+        c.customer_create_time customerCreateTime,
+        cs.signclosed_logistics_number logisticsNumber,
+        cd.detect_is_print detectIsPrint,
+        cd.detect_print_time detectPrintTime,
+        cs.signclosed_send_name signclosedName,
+        cd.detect_placeorder detectPlaceorder
+        from tb_rst_complaint_detect cd
+        LEFT JOIN tb_rst_product_info pi ON cd.product_id = pi.product_id
+        LEFT JOIN tb_rst_cm_question_describe qd on cd.customer_id = qd.customer_id
+        LEFT JOIN tb_rst_product_type pt on pi.product_type = pt.type_id
+        LEFT JOIN tb_rst_product_color ci on cd.product_color_id = ci.color_id
+        LEFT JOIN tb_rst_cm_relation cr ON cd.customer_id = cr.customer_id
+        LEFT JOIN tb_rst_cm_proc_method cpm ON cr.proc_method_id = cpm.proc_method_id
+        LEFT JOIN tb_rst_cm_proc_type cpt ON cpm.proc_type_id = cpt.proc_type_id
+        LEFT JOIN tb_rst_cm_customer_info c ON cd.customer_id = c.customer_id
+        LEFT JOIN tb_rst_complaint_signclosed cs ON cs.signclosed_id = cd.signclosed_id
+        LEFT JOIN tb_rst_cm_relation_order ro ON ro.relation_customer_id = c.customer_id
+        LEFT JOIN tb_rst_sales_order_info oi ON ro.sales_id = oi.sales_id
+        LEFT JOIN tb_rst_address_province ap ON cs.signclosed_addr_provinces = ap.province_id
+        LEFT JOIN tb_rst_address_city ac ON cs.signclosed_addr_city = ac.city_id
+        LEFT JOIN tb_rst_address_district ad on ad.district_id = cs.signclosed_addr_area
+        WHERE
+            cd.customer_id = #{customerId}
+        AND detect_state in (32,36,37) AND maintenance_results = 1 AND detect_placeorder = 1
+  </select>
+
+
+  <select id="listComplaintDetectBySalesId" resultType="ComplaintDetectInfo" parameterType="Integer" >
+    select
+    cd.detect_id detectId,
+    cd.product_id productId,
+    cd.product_color_id productColorId,
+    cd.detect_product_number detectProductNumber,
+    cd.detect_state detectState,
+    cd.detect_phenomenon detectPhenomenon,
+    cd.detect_classification detectClassification,
+    cd.detect_failure_cause detectFailureCause,
+    cd.signclosed_id signclosedId,
+    cd.detect_results detectResults,
+    cd.detect_point detectPoint,
+    cd.detect_nalysis detectNalysis,
+    cd.detect_content detectContent,
+    cd.customer_id customerId,
+    cd.is_maintenance isMaintenance,
+    cd.detect_desc detectDesc,
+    cd.detect_date detectDate,
+    cd.detect_create_time detectCreateTime,
+    cd.detect_update_time detectUpdateTime,
+    cd.detect_offer detectOffer,
+    cd.detect_renovation detectRenovation,
+    cd.detect_processing_results detectProcessingResults,
+    cd.detect_customer_desc detectCustomerDesc,
+    cd.detect_production detectProduction,
+    cd.detect_fuselage_barcode detectFuselageBarcode,
+    cd.detect_film_type detectFilmType,
+    cd.detect_float_type detectFloatType,
+    cd.detect_version_number detectVersionNumber,
+    cd.detect_is_refurbishing detectIsRefurbishing,
+    cd.maintenance_results maintenanceResults,
+    cd.detect_number detectNumber,
+    cd.complete_cut_time completeCutTime
+    from tb_rst_complaint_detect cd
+    where  cd.detect_sales_id  = #{detectSalesId}
+  </select>
 </mapper>

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

@@ -658,6 +658,9 @@ public class AdminCustomerController {
                 ci.setCustomerDistrictName("");
             }
         }
+        //已完成维修、原机退货,并且发货状态为待下单的维修记录,则需要查询当前客诉对应的维修机器
+        List<ComplaintDetectInfo> listDetet = complaintDetectInfoService.listDetectByCustomerId(Integer.valueOf(customerId));
+        rj.addResponseKeyValue("listDetet", listDetet);
         rj.addResponseKeyValue("cmRelation", cmRelation);
         rj.addResponseKeyValue("procMethod", procMethod);
         rj.addResponseKeyValue("customerCommon", map.get("customerCommon"));
@@ -2602,10 +2605,14 @@ public class AdminCustomerController {
             complaintAfterSalesNum.setBeDetected(0);
             complaintAfterSalesNum.setBeConfirmed(0);
             complaintAfterSalesNum.setCompleteProcessing(0);
+            complaintAfterSalesNum.setPlaceOrderNum(0);
+            complaintAfterSalesNum.setDetectplaceOrderNum(0);
         }else{
             complaintAfterSalesNum.setBeDetected(afterSalesNum.getBeDetected());
             complaintAfterSalesNum.setBeConfirmed(afterSalesNum.getBeConfirmed());
             complaintAfterSalesNum.setCompleteProcessing(afterSalesNum.getCompleteProcessing());
+            complaintAfterSalesNum.setPlaceOrderNum(afterSalesNum.getPlaceOrderNum());
+            complaintAfterSalesNum.setDetectplaceOrderNum(afterSalesNum.getDetectplaceOrderNum());
         }
         /*查询维修数据 end*/
         /*查询签收数据 state*/

+ 60 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminDetectController.java

@@ -473,6 +473,14 @@ public class AdminDetectController {
         }
         String[] configli6 = request.getParameterValues("configli6");
         detectInfo.setConfigli6(configli6);
+        if(detectInfo.getDetectState() != null){
+            if(detectInfo.getDetectState() == 32 || detectInfo.getDetectState() == 36 ){
+                detectInfo.setMaintenanceCompletionTime(new Date());
+            }
+            if(detectInfo.getDetectState() == 21 ){
+                detectInfo.setRenovationCompletionTime(new Date());
+            }
+        }
         Integer num = complaintDetectInfoService.updateDetectContent(detectInfo);
 
         if (num < 1) {
@@ -655,6 +663,7 @@ public class AdminDetectController {
         detectInfo.setConfigli3(configli3);
         detectInfo.setConfigli4(configli4);
         detectInfo.setConfigli5(configli5);
+        detectInfo.setDetectCompletionTime(new Date());
         Integer num = complaintDetectInfoService.updateDetectById(detectInfo,componentsImgs);
         if (num < 1) {
             msg.setResultCode(500);
@@ -1128,5 +1137,56 @@ public class AdminDetectController {
         return msg;
     }
 
+    /**
+     * 修改报废状态
+     *
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping(value = "/update_scrap")
+    public ResponseJson updateScrap(HttpServletRequest request,ComplaintDetectInfo complaintDetectInfo){
+        ResponseJson msg = new ResponseJson();
+        if(complaintDetectInfo == null){
+            msg.setResultCode(500);
+            msg.setReturnCode(500);
+            return msg;
+        }
+        complaintDetectInfo.setScrapCompletionTime(new Date());
+        Integer num = complaintDetectInfoService.updatePrint(complaintDetectInfo);
+        if (num < 1) {
+            msg.setResultCode(500);
+            msg.setReturnCode(500);
+        } else {
+            msg.setResultCode(200);
+            msg.setReturnCode(200);
+        }
+        return msg;
+    }
+
+    /**
+     * 修改是否下单状态
+     *
+     * @return
+     */
+    /*@ResponseBody
+    @RequestMapping(value = "/update_placeorder")
+    public ResponseJson updatePlaceorder(HttpServletRequest request,ComplaintDetectInfo complaintDetectInfo){
+        ResponseJson msg = new ResponseJson();
+        if(complaintDetectInfo == null){
+            msg.setResultCode(500);
+            msg.setReturnCode(500);
+            return msg;
+        }
+        Integer num = complaintDetectInfoService.updatePrint(complaintDetectInfo);
+        if (num < 1) {
+            msg.setResultCode(500);
+            msg.setReturnCode(500);
+        } else {
+            msg.setResultCode(200);
+            msg.setReturnCode(200);
+        }
+        return msg;
+    }*/
+
 }
 

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

@@ -1054,7 +1054,7 @@ public class AdminOrderController {
 //                        }
 //                        sb.append(salesDealCode+"\r\n");
 //                    }
-                    bl = salesOrderService.addRstOrderinfo(salesOrders,new ArrayList<SalesOrder>());
+                    bl = salesOrderService.addRstOrderinfo(salesOrders,new ArrayList<SalesOrder>(),null);
                 }catch (RuntimeException e){
                     logger.info("插入订单失败;错误信息" + e.getMessage());
                     for(EfastOrder efastOrderStyle:orderEfasts){

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

@@ -1,6 +1,7 @@
 package com.iamberry.rst.controllers.order;
 
 import com.iamberry.rst.core.cm.*;
+import com.iamberry.rst.core.fm.ComplaintDetectInfo;
 import com.iamberry.rst.core.fm.InventoryInfo;
 import com.iamberry.rst.core.fm.InventoryLog;
 import com.iamberry.rst.core.order.*;
@@ -10,6 +11,7 @@ import com.iamberry.rst.core.tools.LogisticsInfo;
 import com.iamberry.rst.faces.cm.CompanyInfoService;
 import com.iamberry.rst.faces.cm.SalesOrderService;
 import com.iamberry.rst.faces.cm.StoreInfoService;
+import com.iamberry.rst.faces.fm.ComplaintDetectInfoService;
 import com.iamberry.rst.faces.order.EfastOrderService;
 import com.iamberry.rst.faces.order.LogisticsInfoService;
 import com.iamberry.rst.faces.order.OrderBatchService;
@@ -758,6 +760,8 @@ public class AdminSalesOrderController {
         if(salesOrder.getSalesAddressTel() != null && !"".equals(salesOrder.getSalesAddressTel())){
             salesOrder.setSalesAddressTel(salesOrder.getSalesAddressTel().trim());
         }
+        //获取选中的售后维修记录
+        String[] detectIds = request.getParameterValues("detectId");
 
         Admin admin = AdminUtils.getLoginAdmin();
         ResponseJson rj = new ResponseJson();
@@ -832,7 +836,7 @@ public class AdminSalesOrderController {
         String errorMsg = "";
         try {
            // bl = salesOrderService.addRstOrderAndIteminfo(salesOrder);
-            bl = salesOrderService.addRstOrderinfo(salesOrder,new ArrayList<SalesOrder>());
+            bl = salesOrderService.addRstOrderinfo(salesOrder,new ArrayList<SalesOrder>(),detectIds);
         }catch (Exception e){
             errorMsg = e.getMessage();
             e.printStackTrace();
@@ -840,6 +844,8 @@ public class AdminSalesOrderController {
         }
         if(bl){
             return new ResponseJson(200, "添加订单成功,订单交易号为:"+ salesOrder.getSalesDealCode(), 200);
+
+
         }else{
             return  new ResponseJson(500, "添加订单失败,失败原因:"+errorMsg, 500);
         }

+ 28 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AwaitSendController.java

@@ -2,6 +2,7 @@ package com.iamberry.rst.controllers.order;
 
 import com.alibaba.fastjson.JSONObject;
 import com.iamberry.rst.core.cm.*;
+import com.iamberry.rst.core.fm.ComplaintDetectInfo;
 import com.iamberry.rst.core.fm.InventoryInfo;
 import com.iamberry.rst.core.fm.InventoryLog;
 import com.iamberry.rst.core.order.*;
@@ -10,6 +11,7 @@ import com.iamberry.rst.core.pts.PtsBatch;
 import com.iamberry.rst.core.sys.Admin;
 import com.iamberry.rst.core.tools.LogisticsInfo;
 import com.iamberry.rst.faces.cm.*;
+import com.iamberry.rst.faces.fm.ComplaintDetectInfoService;
 import com.iamberry.rst.faces.order.LogisticsInfoService;
 import com.iamberry.rst.faces.product.ProductService;
 import com.iamberry.rst.utils.AdminUtils;
@@ -65,6 +67,8 @@ public class AwaitSendController {
     private InventoryService inventoryService;
     @Autowired
     private InventoryLogService inventoryLogService;
+    @Autowired
+    private ComplaintDetectInfoService complaintDetectInfoService;
     private static final Logger LOGGER = LoggerFactory.getLogger(AwaitSendController.class);
 
 
@@ -105,6 +109,9 @@ public class AwaitSendController {
                 SalesOrderItem item = new SalesOrderItem();
                 item.setItemOrderId(temp.getSalesId());
                 temp.setSalesOrderItemList(salesOrderService.listSalesOrderItem(item));
+                //查询封装维修编号
+                List<ComplaintDetectInfo> listDetect  = complaintDetectInfoService.listComplaintDetectBySalesId(temp.getSalesId());
+                temp.setComplaintDetectInfoList(listDetect);
             }
         }
         int errorOrderNum = 0;
@@ -226,6 +233,13 @@ public class AwaitSendController {
                                    HttpServletRequest request) {
         // 检查订单状态
         SalesOrder salesOrderInfo = salesOrderService.getSalesOrderById(salesId);
+        if(salesOrderInfo != null){
+            //查询封装售后维修编号
+            List<ComplaintDetectInfo> listDetect  = complaintDetectInfoService.listComplaintDetectBySalesId(salesId);
+            salesOrderInfo.setComplaintDetectInfoList(listDetect);
+        }
+
+
         if (salesOrderInfo.getSalesShippingStatus() != 11) {
             return ResponseJson.getFAILURE().addResponseKeyValue("error","订单状态非通知配货,无法打印");
         }
@@ -331,6 +345,20 @@ public class AwaitSendController {
             }
             Goodsquantity += temp.getItemNum();
         }
+        // 20190603增加需求:产品名称后面增加售后维修编号
+        if(salesOrderInfo.getComplaintDetectInfoList() != null && salesOrderInfo.getComplaintDetectInfoList().size() > 0){
+            goodName.append("<br>【维修编号:");
+           for(int i = 0; i< salesOrderInfo.getComplaintDetectInfoList().size();i++ ){
+               ComplaintDetectInfo detectInfo = salesOrderInfo.getComplaintDetectInfoList().get(i);
+               if( i == 0){
+                   goodName.append(detectInfo.getDetectNumber());
+               }else{
+                   goodName.append(","+detectInfo.getDetectNumber());
+               }
+           }
+           goodName.append("】");
+        }
+
         // 20181113增加需求:产品名称后面增加打印订单日期
         goodName.append("【D").append(DateTimeUtil.format(new Date(), "MMdd")).append("】");
         String uuid = UUIDGenerator.getUUID().substring(0, 8);

文件差異過大導致無法顯示
+ 23 - 6
watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/custome_list.ftl


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

@@ -901,7 +901,7 @@
                         <table class="table table-border table-bg table-bordered" >
                             <thead>
                             <tr>
-                                <th>检测id</th>
+                                <th>维修编号</th>
                                 <th>当前状态</th>
                                 <th>产品</th>
                                 <th>是否有故障</th>
@@ -917,7 +917,7 @@
                                 <#list detectList as detect>
                                 <tr>
                                 <#--<td class="text-c" width="100">${detect.customerId!}</td>-->
-                                    <td class="text-c" width="100">${detect.detectId!''}</td>
+                                    <td class="text-c" width="100">${detect.detectNumber!''}</td>
                                     <td class="text-c" width="100" id="detectState${(detect.detectId)!}">
                                         <#if detect.detectState == 1>
                                             待检测机器

+ 1 - 1
watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/add_QC.ftl

@@ -45,7 +45,7 @@
             <div class="formControls col-12 col-sm-12">
                 <strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;备注</strong>
                 <div class="radio-box">
-                    <textarea style="height: 60px;margin: 10px 0px 10px 0px;width: 100%;" name="qcDesc" id="qcDesc" class="my-textarea" placeholder="请填写寄出订单备注信息!"></textarea>
+                    <textarea style="height: 60px;margin: 10px 0px 10px 0px;width: 100%;" name="qcDesc" id="qcDesc" class="my-textarea" placeholder="请填写QC备注信息!"></textarea>
                 </div>
             </div>
         </div>

+ 1 - 1
watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/add_detect.ftl

@@ -200,7 +200,7 @@
             <label class="form-label col-3 col-sm-3 huanhang"  style="text-align: right;">备注信息:</label>
             <div class="formControls col-xs-9 col-sm-9">
                 <div class="radio-box">
-                    <textarea rows="3" style="width: 500px;margin-left: -15px;margin-top: 8px;" cols="20" name="detectItemDesc" id="detectItemDesc" class="my-textarea" placeholder="请详细备注签收的内容,便于以后复查。如果转入生产,则生产部门同事可查看!"></textarea>
+                    <textarea rows="3" style="width: 500px;margin-left: -15px;margin-top: 8px;" cols="20" name="detectItemDesc" id="detectItemDesc" class="my-textarea" placeholder="请输入备注!"></textarea>
                 </div>
             </div>
         </div>

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

@@ -33,9 +33,9 @@
         <div class="input-box"   style="text-align:center;">
             <span class="input-dic spanhidth">备注</span>
             <#if detectItem??>
-                <textarea rows="5" cols="20" name="detectItemDesc" id="detectItemDesc" class="my-textarea" placeholder="请详细备注签收的内容,便于以后复查。如果转入生产,则生产部门同事可查看!">${detectItem.detectItemDesc!''}</textarea>
+                <textarea rows="5" cols="20" name="detectItemDesc" id="detectItemDesc" class="my-textarea" placeholder="请输入备注!">${detectItem.detectItemDesc!''}</textarea>
             <#else>
-                <textarea rows="5" cols="20" name="detectItemDesc" id="detectItemDesc" class="my-textarea" placeholder="请详细备注签收的内容,便于以后复查。如果转入生产,则生产部门同事可查看!"></textarea>
+                <textarea rows="5" cols="20" name="detectItemDesc" id="detectItemDesc" class="my-textarea" placeholder="请输入备注!"></textarea>
             </#if>
         </div>
         <#--<div style="text-align:center;">

+ 1 - 1
watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/detect_complete.ftl

@@ -130,7 +130,7 @@
                 <label class="form-label col-3 col-sm-3 huanhang"  style="text-align: right;">备注:</label>
                 <div class="formControls col-xs-9 col-sm-9">
                     <div class="radio-box" style="padding: 0px; width: 100%;">
-                        <textarea  style="height: 60px;"  name="detectDesc" id="detectDesc" class="my-textarea" placeholder="请详细备注签收的内容,便于以后复查。如果转入生产,则生产部门同事可查看!">${detectInfo.detectDesc!''}</textarea>
+                        <textarea  style="height: 60px;"  name="detectDesc" id="detectDesc" class="my-textarea" placeholder="请输入备注">${detectInfo.detectDesc!''}</textarea>
                     </div>
                 </div>
             </div>

+ 6 - 2
watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/detect_detail.ftl

@@ -237,8 +237,12 @@
                 <th width="10">客服备注:</th>
                 <td width="10" style="font-weight: normal;"><span>${detectinfo.detectCustomerDesc!''}</span></td>
                 <td width="10"></td>
-                <th width="10"></th>
-                <td width="10" style="font-weight: normal;"><span></span></td>
+                <th width="10">是否下单:</th>
+                <td width="10" style="font-weight: normal;"><span>
+                <#if detectinfo.procTypeId??><#if detectinfo.procTypeId == 3 || detectinfo.detectState == 37><#if detectinfo.detectPlaceorder??>
+                    <#if detectinfo.detectPlaceorder == 1>未下单</#if>
+                    <#if detectinfo.detectPlaceorder == 2>已下单</#if>
+                </#if></#if></#if></span></td>
             </tr>
             </thead>
         </table>

+ 3 - 3
watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/detect_list.ftl

@@ -316,7 +316,7 @@
                         </#if>-->
                             <#if detect.detectState == 22>
                                 <a style="text-decoration:none" href="javascript:;" title="报废完成"
-                                   onclick="updateState('${detect.detectId!''}','23');">
+                                   onclick="updateScrap('${detect.detectId!''}','23');">
                                     <i class="Hui-iconfont">报废完成</i><br>
                                 </a>
                             </#if>
@@ -761,11 +761,11 @@
         });
     }
     //修改状态
-    function  updateState(detectId,state) {
+    function  updateScrap(detectId,state) {
             $.ajax({
                 cache: true,
                 type: "POST",
-                url: "${path}/admin/detect/update",
+                url: "${path}/admin/detect/update_scrap",
                 data:{detectId:detectId,detectState:state},
                 async: false,
                 success: function(data){

+ 1 - 1
watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/update_complete.ftl

@@ -322,7 +322,7 @@
             <label class="form-label col-3 col-sm-3 huanhang" style="text-align: right;">备注信息:</label>
             <div class="col-xs-9 col-sm-9 skin-minimal">
                 <div class="radio-box" style="padding: 0px; width: 100%;">
-                    <textarea style="height: 60px;margin: 10px 0px 10px 0px;width: 85%;" name="detectDesc" id="detectDesc" class="my-textarea" placeholder="请填写寄出订单备注信息!">${detectInfo.detectDesc!''}</textarea>
+                    <textarea style="height: 60px;margin: 10px 0px 10px 0px;width: 85%;" name="detectDesc" id="detectDesc" class="my-textarea" placeholder="请填写备注信息!">${detectInfo.detectDesc!''}</textarea>
                 </div>
             </div>
         </div>

+ 1 - 1
watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/update_detect.ftl

@@ -364,7 +364,7 @@
             <label class="form-label col-3 col-sm-3 huanhang" style="text-align: right;">备注信息:</label>
             <div class="col-xs-9 col-sm-9 skin-minimal">
                 <div class="radio-box" style="padding: 0px; width: 100%;">
-                    <textarea style="height: 60px;margin: 10px 0px 10px 0px;width: 85%;" name="detectDesc" id="detectDesc" class="my-textarea" placeholder="请填写寄出订单备注信息!">${detectInfo.detectDesc!''}</textarea>
+                    <textarea style="height: 60px;margin: 10px 0px 10px 0px;width: 85%;" name="detectDesc" id="detectDesc" class="my-textarea" placeholder="请填写备注信息!">${detectInfo.detectDesc!''}</textarea>
                 </div>
             </div>
         </div>

+ 1 - 1
watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/update_produced_info.ftl

@@ -93,7 +93,7 @@
             <label class="form-label col-3 col-sm-3 huanhang"  style="text-align: right;">备注:</label>
             <div class="formControls col-xs-9 col-sm-9 huanhang">
                 <div class="radio-box">
-                    <textarea rows="3" style="width: 180%;margin-left: -15%;margin-top: 5%;" cols="20" name="detectDesc" id="detectDesc" class="my-textarea" placeholder="请详细备注签收的内容,便于以后复查。如果转入生产,则生产部门同事可查看!"></textarea>
+                    <textarea rows="3" style="width: 180%;margin-left: -15%;margin-top: 5%;" cols="20" name="detectDesc" id="detectDesc" class="my-textarea" placeholder="请输入备注!"></textarea>
                 </div>
             </div>
         </div>

+ 19 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/add_order.ftl

@@ -81,6 +81,25 @@
                     <span id="salesCustomerIdHtml"></span>
                     <input type="hidden" id="salesCustomerId" name="salesCustomerId" value="">
                 </div>
+
+                <div class="row cl" id="" style="">
+                    <label class="form-label col-1 col-sm-1"></label>
+                    <div class="formControls col-7 col-sm-7">
+                        <table class="table table-border table-bg table-bordered" style="margin-top: 10px;margin-left: 14px;display: none;" id="all_detect_product">
+                            <thead>
+                            <tr class="text-c">
+                                <th style="text-align: center;" width="30" >请选择要发货的机器</th>
+                                <th style="text-align: center;" width="25" >维修编号</th>
+                                <th style="text-align: center;" width="10">维修状态</th>
+                                <th style="text-align: center;" width="10">维修机器</th>
+                                <th style="text-align: center;" width="10">维修颜色</th>
+                            </tr>
+                            </thead>
+                            <tbody id="detect_product">
+                            </tbody>
+                        </table>
+                    </div>
+                </div>
             </div>
 
             <div class="row cl">

+ 11 - 1
watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/list_wait_send_order.ftl

@@ -109,8 +109,9 @@
             <th width="40">配送方式</th>
         <#--<th width="40">客户备注</th>-->
             <th width="40">后台备注</th>
+            <th width="40">维修编号</th>
             <th width="40">下单时间</th>
-            <th width="40">通知配货时间</th>
+            <th width="40">通知配货</th>
             <th width="60">操作</th>
         </tr>
         </thead>
@@ -184,6 +185,15 @@
 
             <#--<td>${(o.salesUserRemark)!}</td>-->
                 <td>${(o.salesAdminRemark)!}</td>
+                <td>
+                    <#if o.complaintDetectInfoList ??>
+                        <#list o.complaintDetectInfoList as d>
+                            <span class="label label-success radius" style="cursor: pointer;" onclick="distribution_postFirm('维修详情','${path}/admin/detect/to_detail?detectId=${d.detectId!''}','770','650');">${(d.detectNumber)!}</span>
+                        </#list>
+
+
+                </#if>
+                </td>
                 <td>${(o.salesCreateTime?string("yyyy-MM-dd"))!}</td>
                 <td><#if (o.salesPostFirm)??>${(o.salesDistributionTime?string("yyyy-MM-dd"))!}</#if></td>
                 <td class="td-manage">

+ 25 - 0
watero-rst-web/src/main/webapp/common/js/salesOrder/salesOrder.js

@@ -167,6 +167,31 @@ function setSelectCustomer(customerId){
                 if(data.returnMsg.colorIds != null){
                     setSelectProduct(data.returnMsg.colorIds);
                 }
+                //回显售后数据
+                var listDetet = data.returnMsg.listDetet;
+                if(listDetet.length > 0){
+                    var html = "";
+                    $("#all_detect_product").show();
+                    for(var i=0;i<listDetet.length;i++){
+                        var detet = listDetet[i];
+                        var detectStateName = "";
+                        if(detet.detectState === 32 || detet.detectState === 36 ){
+                            detectStateName = "维修完成,待发货";
+                        }
+                        if(detet.detectState === 37 ){
+                            detectStateName = "原机退回,待发货";
+                        }
+                        html += '<tr class="text-c">' +
+                            ' <td><input type="checkbox" name="detectId" value="'+detet.detectId+'"><label></td>' +
+                            ' <td>'+ cufte(detet.detectNumber) +'</td>' +
+                            ' <td>'+ detectStateName +'</td>' +
+                            ' <td>'+ cufte(detet.productName) +'</td>' +
+                            ' <td>'+ cufte(detet.colorName) +'</td>' +
+                            ' </tr>';
+                    }
+                    $("#detect_product").html(html);
+                }
+
             }else{
             }
             $("#salesCustomer").show();