فهرست منبع

添加了修改补发的接口

liuzhiwei 7 سال پیش
والد
کامیت
0000a04918

+ 20 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/Reissue.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;
 
 /**
  * 售后补发
@@ -46,6 +48,24 @@ public class Reissue  implements Serializable {
     //  CURRENT_TIMESTAMP ,
     private Date reissueUpdateTime;
 
+    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 getReissueId() {
         return reissueId;

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

@@ -2,6 +2,7 @@ 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.cm.Reissue;
 import com.iamberry.rst.core.page.PagedResult;
 
 import java.util.List;
@@ -38,4 +39,11 @@ public interface CustomerService {
      * @return
      */
     BackGoods getBackGoods(BackGoods backGoods);
+
+    /**
+     * 获取售后补寄信息
+     * @param reissue
+     * @return
+     */
+    Reissue getReissue(Reissue reissue);
 }

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

@@ -145,4 +145,31 @@ public class CustomerServiceImpl implements CustomerService {
         }
         return goods;
     }
+
+    @Override
+    public Reissue getReissue(Reissue reissue) {
+        //查询售后补发信息
+        List<Reissue> reissueList = reissueMapper.listReissue(reissue);
+        if (reissueList == null || reissueList.size() == 0) {
+            return null;
+        }
+        Reissue reissueInfo = reissueList.get(0);
+        ClosedProdcue closedProdcue = new ClosedProdcue();
+        closedProdcue.setRelationId(reissueInfo.getReissueId());
+        closedProdcue.setClosedProdcueType(6);
+        //查询寄回产品集合
+        List<ClosedProdcue> prodcueList = closedProdcueMapper.listclosedProdcue(closedProdcue);
+        ClosedFitting fitting = new ClosedFitting();
+        fitting.setRelationId(reissueInfo.getReissueId());
+        fitting.setClosedFittingType(6);
+        //查询寄回配件集合
+        List<ClosedFitting> fittingList = closedFittingMapper.listClosedFitting(fitting);
+        if (prodcueList != null && prodcueList.size() > 0) {
+            reissueInfo.setClosedProdcues(prodcueList);
+        }
+        if (fittingList != null && fittingList.size() > 0) {
+            reissueInfo.setClosedFittings(fittingList);
+        }
+        return reissueInfo;
+    }
 }

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

@@ -2,6 +2,8 @@ package com.iamberry.rst.service.cm.mapper;
 
 import com.iamberry.rst.core.cm.SendFitting;
 
+import java.util.List;
+
 public interface SendFittingMapper {
     int deleteByPrimaryKey(Integer sendFittingId);
 
@@ -14,4 +16,11 @@ public interface SendFittingMapper {
     int updateByPrimaryKeySelective(SendFitting record);
 
     int updateByPrimaryKey(SendFitting record);
+
+    /**
+     * 查询寄送的配件集合
+     * @param record
+     * @return
+     */
+    List<SendFitting> listSendFitting(SendFitting record);
 }

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

@@ -2,6 +2,8 @@ package com.iamberry.rst.service.cm.mapper;
 
 import com.iamberry.rst.core.cm.SendProdcue;
 
+import java.util.List;
+
 public interface SendProdcueMapper {
     int deleteByPrimaryKey(Integer sendProdcueId);
 
@@ -14,4 +16,11 @@ public interface SendProdcueMapper {
     int updateByPrimaryKeySelective(SendProdcue record);
 
     int updateByPrimaryKey(SendProdcue record);
+
+    /**
+     * 获取寄出产品集合
+     * @param record
+     * @return
+     */
+    List<SendProdcue> listSendProdcue(SendProdcue record);
 }

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

@@ -40,6 +40,14 @@
       *
     from
       tb_rst_reissue
+    <where>
+      <if test="customerId != null and customerId != ''">
+        customer_id = #{customerId}
+      </if>
+      <if test="reissueState != null and reissueState != ''">
+        and reissue_state = #{reissueState}
+      </if>
+    </where>
   </select>
 
   <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >

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

@@ -17,6 +17,24 @@
     from tb_rst_send_fitting
     where send_fitting_id = #{sendFittingId,jdbcType=INTEGER}
   </select>
+
+  <!-- 查询寄送的配件集合 -->
+  <select id="listSendFitting" parameterType="SendFitting" resultType="SendFitting">
+    select
+      sf.*,
+      pf.fittings_name sendProductName
+    from tb_rst_send_fitting sf
+    LEFT JOIN tb_rst_product_fittings pf ON sf.fittings_id = pf.fittings_id
+    <where>
+      <if test="relationId != null and relationId != ''">
+        sf.relation_id = #{relationId}
+      </if>
+      <if test="sendFittingType != null and sendFittingType != ''">
+        and sf.send_fitting_type = #{sendFittingType}
+      </if>
+    </where>
+  </select>
+
   <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
     delete from tb_rst_send_fitting
     where send_fitting_id = #{sendFittingId,jdbcType=INTEGER}

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

@@ -17,6 +17,25 @@
     from tb_rst_send_prodcue
     where send_prodcue_id = #{sendProdcueId,jdbcType=INTEGER}
   </select>
+
+  <!-- 获取寄出产品集合 -->
+  <select id="listSendProdcue" parameterType="SendProdcue" resultType="SendProdcue">
+    select
+      sp.*,
+      pi.product_name sendProduceName
+    from
+      tb_rst_send_prodcue sp
+    LEFT JOIN tb_rst_product_info pi ON sp.product_id = pi.product_id
+    <where>
+      <if test="relationId != null and relationId != ''">
+        sp.relation_id = #{relationId}
+      </if>
+      <if test="sendProduceType != null and sendProduceType != ''">
+        and sp.send_produce_type = #{sendProduceType}
+      </if>
+    </where>
+  </select>
+
   <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
     delete from tb_rst_send_prodcue
     where send_prodcue_id = #{sendProdcueId,jdbcType=INTEGER}

+ 27 - 1
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminCustomerController.java

@@ -612,7 +612,7 @@ public class AdminCustomerController {
      * @throws Exception
      */
     @ResponseBody
-    @RequiresPermissions("customer:update:BackGoods")
+    @RequiresPermissions("customer:update:backGoods")
     @RequestMapping("/update_back_goods")
     public ResponseJson updateBackGoods(HttpServletRequest request, BackGoods backGoods) throws Exception {
         if (!StringUtils.isNotEmpty(backGoods.getBackGoodsId().toString())) {
@@ -628,5 +628,31 @@ public class AdminCustomerController {
             return new ResponseJson(500, "修改失败!", 500);
         }
     }
+
+    /**
+     * 进入修改补寄信息页面
+     * @param request
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions("customer:update:reissue")
+    @RequestMapping("/_update_reissue")
+    public ResponseJson updateReissueUI(HttpServletRequest request) {
+        String customerId = request.getParameter("customerId");
+        if (!StringUtils.isNotEmpty(customerId)) {
+            return new ResponseJson(500, "该客诉信息不存在!", 500);
+        }
+        Reissue reissue = new Reissue();
+        reissue.setCustomerId(Integer.parseInt(customerId));
+        //获取售后补寄信息
+        reissue = customerService.getReissue(reissue);
+        if (reissue == null) {
+            return new ResponseJson(500, "该客诉没有售后退货信息!", 500);
+        } else {
+            ResponseJson rj =new ResponseJson(200, "查询成功", 200);
+            rj.addResponseKeyValue("reissue", reissue);
+            return rj;
+        }
+    }
 }
 

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

@@ -659,6 +659,92 @@
 		</span>
         </div>
         <!-- 退货处理end -->
+        <!-- 补发处理start -->
+        <div class="layui-layer layui-anim layui-layer-iframe" id="update-reissue-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-reissue" method="post" class="form form-horizontal" id="form-update-reissue">
+                <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="reissueId" name="reissueId" />
+                        <label><span class="c-red">*</span>&nbsp;当前进度:</label>
+                        <label id="reissueSchedule"></label>
+                    </div>
+                    <div class="col-4"> </div>
+                </div>
+                <div style="margin-left: 10px;">
+                    <div class="formControls repair_send_status" style="margin-top: 10px;">
+                        <label>是否已寄送:</label>
+                        <input type="radio" name="reissueSendStatus" value="1"/><label>未寄出&nbsp;&nbsp;</label>
+                        <input type="radio" name="reissueSendStatus" value="2"/><label>已寄出&nbsp;&nbsp;</label>
+                        <input type="radio" name="reissueSendStatus" value="3"/><label>已收货&nbsp;&nbsp;</label>
+                        <label>Efast订单号:</label>
+                        <label id="reissueBackEfastOrderId"></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>
+                        <select name="reissueSendLogisticsCompany" id="reissueSendLogisticsCompany" 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="reissueSendLogisticsNo" class="input-text" value="" style="width: 150px;" name="reissueSendLogisticsNo">
+                    </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="reissueProduct" 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>
+                        <input type="text" id="reissueSendName" class="input-text" value="" style="width: 150px;" name="reissueSendName">
+                        <input type="text" id="reissueSendTel" class="input-text" value="" style="width: 150px;" name="reissueSendTel">
+                    </div>
+                    <div class="formControls">
+                        <select id="reissueProvinceNumber" name="reissueProvinceNumber" style="height: 30px;width: 100px;"></select>
+                        <select id="reissueCityNumber" name="reissueCityNumber" style="height: 30px;width: 100px;" onchange=""></select>
+                        <select id="reissueAreaNumber" name="reissueAreaNumber" style="height: 30px;width: 100px;" onchange=""></select>
+                    </div>
+                    <div class="formControls">
+                        <textarea id="reissueSendAddress" name="reissueSendAddress" 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>
+                        <textarea id="reissueDesc" name="reissueDesc" cols="" rows="" style="width: 500px;height: 70px;" class="textarea" ></textarea>
+                    </div>
+                    <div class="col-4"></div>
+                </div>
+                <div class="col-9 col-offset-3">
+                    <input class="btn btn-primary radius" onclick="update_reissue_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 -->
         <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">
@@ -818,28 +904,12 @@
                                     )
                                 <#elseif customer.customerIsSolve == 5>
                                     补发(
-                                    <#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>
                                     )
                                 <#elseif customer.customerIsSolve == 6>
@@ -1485,6 +1555,53 @@
         })
     }
 
+    /*获取售后退货信息*/
+    function get_reissue_info(customerId) {
+        $.ajax({
+            cache: true,
+            type: "POST",
+            data: {"customerId":customerId},
+            url: "${path}/admin/customer/_update_reissue",
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    var reissue = data.returnMsg.reissue;
+                    console.log(reissue);
+                    /*$('#reissueId').val(reissue.reissueId);
+                    $('#backGoodsBackName').val(reissue.backGoodsBackName);
+                    $('#backGoodsBackTel').val(reissue.backGoodsBackTel);
+                    $('#backGoodsBackLogisticsCompany').val(reissue.backGoodsBackLogisticsCompany);
+                    $('#backGoodsBackLogisticsNo').val(reissue.backGoodsBackLogisticsNo);
+                    $('#backGoodsBackPostage').val(reissue.backGoodsBackPostage/100);
+                    $('#backGoodsBackMachineNo').val(reissue.backGoodsBackMachineNo);
+                    $('#backGoodsDesc').val(reissue.backGoodsDesc);
+                    var reissueSchedule = '';
+                    switch (reissue.backGoodsBackStatus) {
+                        case 1:reissueSchedule += '未寄回';break;
+                        case 2:reissueSchedule += '已寄回';break;
+                        case 3:reissueSchedule += '已收货';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-reissue-info').show();
+                }
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+            }
+        })
+    }
+
 
 </script>
 </body>