Explorar o código

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

wangxiaoming %!s(int64=6) %!d(string=hai) anos
pai
achega
2ca9e1c526

+ 134 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/SendbackInfo.java

@@ -0,0 +1,134 @@
+package com.iamberry.rst.core.cm;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Created by Administrator on 2019/1/23.
+ */
+public class SendbackInfo implements Serializable {
+    private static final long serialVersionUID = -8656273134485720766L;
+    private Integer sendbackId;//
+    private Integer relationId;//处理主键
+    private String sendbackLogisticsCompany;//物流公司
+    private String sendbackLogisticsNo;//物流单号
+    private String sendbackName;//寄回人姓名
+    private String sendbackTel;//寄回人电话
+    private Integer sendbackStatus;//寄回状态 1.未配送2.配送中3.已签收
+    private Date sendbackCreateTime;//创建时间
+    private Date sendbackUpdateTime;//创建时间
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
+    private Date sendbackSignTime;//签收时间
+    private String sendbackLogisticsName;//物流公司名称
+    private List<SendbackItem> listSendbackItem;
+    private String sendProdcues;//寄回产品json
+
+    public Integer getSendbackId() {
+        return sendbackId;
+    }
+
+    public void setSendbackId(Integer sendbackId) {
+        this.sendbackId = sendbackId;
+    }
+
+    public Integer getRelationId() {
+        return relationId;
+    }
+
+    public void setRelationId(Integer relationId) {
+        this.relationId = relationId;
+    }
+
+    public String getSendbackLogisticsCompany() {
+        return sendbackLogisticsCompany;
+    }
+
+    public void setSendbackLogisticsCompany(String sendbackLogisticsCompany) {
+        this.sendbackLogisticsCompany = sendbackLogisticsCompany;
+    }
+
+    public String getSendbackLogisticsNo() {
+        return sendbackLogisticsNo;
+    }
+
+    public void setSendbackLogisticsNo(String sendbackLogisticsNo) {
+        this.sendbackLogisticsNo = sendbackLogisticsNo;
+    }
+
+    public String getSendbackName() {
+        return sendbackName;
+    }
+
+    public void setSendbackName(String sendbackName) {
+        this.sendbackName = sendbackName;
+    }
+
+    public String getSendbackTel() {
+        return sendbackTel;
+    }
+
+    public void setSendbackTel(String sendbackTel) {
+        this.sendbackTel = sendbackTel;
+    }
+
+    public Integer getSendbackStatus() {
+        return sendbackStatus;
+    }
+
+    public void setSendbackStatus(Integer sendbackStatus) {
+        this.sendbackStatus = sendbackStatus;
+    }
+
+    public Date getSendbackCreateTime() {
+        return sendbackCreateTime;
+    }
+
+    public void setSendbackCreateTime(Date sendbackCreateTime) {
+        this.sendbackCreateTime = sendbackCreateTime;
+    }
+
+    public Date getSendbackUpdateTime() {
+        return sendbackUpdateTime;
+    }
+
+    public void setSendbackUpdateTime(Date sendbackUpdateTime) {
+        this.sendbackUpdateTime = sendbackUpdateTime;
+    }
+
+    public List<SendbackItem> getListSendbackItem() {
+        return listSendbackItem;
+    }
+
+    public void setListSendbackItem(List<SendbackItem> listSendbackItem) {
+        this.listSendbackItem = listSendbackItem;
+    }
+
+    public Date getSendbackSignTime() {
+        return sendbackSignTime;
+    }
+
+    public void setSendbackSignTime(Date sendbackSignTime) {
+        this.sendbackSignTime = sendbackSignTime;
+    }
+
+    public String getSendbackLogisticsName() {
+        return sendbackLogisticsName;
+    }
+
+    public void setSendbackLogisticsName(String sendbackLogisticsName) {
+        this.sendbackLogisticsName = sendbackLogisticsName;
+    }
+
+    public String getSendProdcues() {
+        return sendProdcues;
+    }
+
+    public void setSendProdcues(String sendProdcues) {
+        this.sendProdcues = sendProdcues;
+    }
+}

+ 73 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/SendbackItem.java

@@ -0,0 +1,73 @@
+package com.iamberry.rst.core.cm;
+
+import java.io.Serializable;
+
+/**
+ * Created by Administrator on 2019/1/23.
+ */
+public class SendbackItem implements Serializable {
+    private static final long serialVersionUID = -7647058893919639691L;
+    private Integer sendbackItemId;//
+    private Integer sendbackId;//寄回信息主键
+    private Integer sendbackProductId;//寄回产品id
+    private Integer sendbackColorId;//寄回产品颜色id
+    private Integer sendbackProdcueNumber;//数量
+    private String sendbackProductName;//寄回产品名称
+    private String sendbackColorName;//寄回产品颜色名称
+
+    public Integer getSendbackItemId() {
+        return sendbackItemId;
+    }
+
+    public void setSendbackItemId(Integer sendbackItemId) {
+        this.sendbackItemId = sendbackItemId;
+    }
+
+    public Integer getSendbackId() {
+        return sendbackId;
+    }
+
+    public void setSendbackId(Integer sendbackId) {
+        this.sendbackId = sendbackId;
+    }
+
+    public Integer getSendbackProductId() {
+        return sendbackProductId;
+    }
+
+    public void setSendbackProductId(Integer sendbackProductId) {
+        this.sendbackProductId = sendbackProductId;
+    }
+
+    public Integer getSendbackColorId() {
+        return sendbackColorId;
+    }
+
+    public void setSendbackColorId(Integer sendbackColorId) {
+        this.sendbackColorId = sendbackColorId;
+    }
+
+    public Integer getSendbackProdcueNumber() {
+        return sendbackProdcueNumber;
+    }
+
+    public void setSendbackProdcueNumber(Integer sendbackProdcueNumber) {
+        this.sendbackProdcueNumber = sendbackProdcueNumber;
+    }
+
+    public String getSendbackProductName() {
+        return sendbackProductName;
+    }
+
+    public void setSendbackProductName(String sendbackProductName) {
+        this.sendbackProductName = sendbackProductName;
+    }
+
+    public String getSendbackColorName() {
+        return sendbackColorName;
+    }
+
+    public void setSendbackColorName(String sendbackColorName) {
+        this.sendbackColorName = sendbackColorName;
+    }
+}

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

@@ -269,4 +269,64 @@ public interface CustomerService {
      * @return
      */
     String  synchronizePostageInfo();
+
+    /**
+     * 添加寄回信息
+     */
+    SendbackInfo addSendbackInfo(SendbackInfo sendbackInfo);
+
+    /**
+     * 添加寄回信息项集合
+     */
+    Integer addSendbackItemList(List<SendbackItem> list);
+
+    /**
+     * 查询单个寄回信息
+     */
+    SendbackInfo getSendbackInfo(Integer sendbackId);
+
+    /**
+     * 查询寄回信息集合
+     */
+    List<SendbackInfo> listSendbackInfo(Integer relationId);
+
+    /**
+     * 查询寄回信息项集合
+     */
+    List<SendbackItem> sendbackItemList(Integer sendbackId);
+
+    /**
+     * 修改寄回信息
+     */
+    SendbackInfo updateSendbackInfo(SendbackInfo sendbackInfo);
+
+    /**
+     * 修改寄回状态
+     */
+    Integer updateSendbackStatus(SendbackInfo sendbackInfo) ;
+
+    /**
+     * 修改寄回信息项
+     */
+    Integer updateSendbackItem(SendbackItem sendbackItem);
+
+    /**
+     * 删除寄回信息
+     */
+    Integer deleteSendbackInfo(Integer sendbackId);
+
+    /**
+     * 根据主键删除寄回信息项
+     */
+    Integer deleteSendbackItemById(Integer sendbackItemId);
+
+    /**
+     * 根据寄回信息主键删除所有寄回信息项
+     */
+    Integer deleteSendbackItemBySendbackId(Integer sendbackId);
+
+    /**
+     * 查询寄回产品集合
+     */
+    List<ClosedProdcue> listclosedProdcue(ClosedProdcue closedProdcue);
 }

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

@@ -17,6 +17,8 @@ import com.iamberry.rst.service.fm.mapper.ComplaintSignclosedProductInfoMapper;
 import com.iamberry.rst.service.product.mapper.ProductMapper;
 import com.iamberry.rst.util.CustomerCommonUtil;
 import com.iamberry.rst.util.PageUtil;
+import com.iamberry.wechat.tools.ResponseJson;
+import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -1629,4 +1631,106 @@ public class CustomerServiceImpl implements CustomerService {
             }
         return "同步成功:"+num+"个,失败:"+oum+"个";
     }
+
+    @Override
+    @Transactional
+    public SendbackInfo addSendbackInfo(SendbackInfo sendbackInfo) {
+        JSONArray jsonArray;
+        List<SendbackItem> sendbackItemList;
+        Integer msg = customerInfoMapper.addSendbackInfo(sendbackInfo);
+        jsonArray = JSONArray.fromObject(sendbackInfo.getSendProdcues());
+        sendbackItemList = (List) JSONArray.toCollection(jsonArray, SendbackItem.class);
+        if(msg < 1){
+            return null;
+        }
+        List<SendbackItem> sendbackItemLists = new ArrayList<>();
+        for (SendbackItem info : sendbackItemList){
+            info.setSendbackId(sendbackInfo.getSendbackId());
+            if(info.getSendbackProdcueNumber() > 0){
+                sendbackItemLists.add(info);
+            }
+        }
+        Integer msgs = customerService.addSendbackItemList(sendbackItemLists);
+        if(msgs < 1){
+            throw new RuntimeException("添加寄回产品项信息失败");
+        }
+        return sendbackInfo;
+    }
+
+    @Override
+    public Integer addSendbackItemList(List<SendbackItem> list) {
+        return customerInfoMapper.addSendbackItemList(list);
+    }
+
+    @Override
+    public SendbackInfo getSendbackInfo(Integer sendbackId) {
+        return customerInfoMapper.getSendbackInfo(sendbackId);
+    }
+
+    @Override
+    public List<SendbackInfo> listSendbackInfo(Integer relationId) {
+        return customerInfoMapper.listSendbackInfo(relationId);
+    }
+
+    @Override
+    public List<SendbackItem> sendbackItemList(Integer sendbackId) {
+        return customerInfoMapper.sendbackItemList(sendbackId);
+    }
+
+    @Override
+    public SendbackInfo updateSendbackInfo(SendbackInfo sendbackInfo) {
+        JSONArray jsonArray;
+        List<SendbackItem> sendbackItemList;
+        Integer msg = customerInfoMapper.updateSendbackInfo(sendbackInfo);
+        jsonArray = JSONArray.fromObject(sendbackInfo.getSendProdcues());
+        sendbackItemList = (List) JSONArray.toCollection(jsonArray, SendbackItem.class);
+        if(msg < 1){
+            return null;
+        }
+        //删除原寄回产品项
+        if(customerInfoMapper.deleteSendbackItemBySendbackId(sendbackInfo.getSendbackId()) < 1){
+            throw new RuntimeException("删除寄回产品项信息失败");
+        }
+        List<SendbackItem> sendbackItemLists = new ArrayList<>();
+        for (SendbackItem info : sendbackItemList){
+            info.setSendbackId(sendbackInfo.getSendbackId());
+            if(info.getSendbackProdcueNumber() > 0){
+                sendbackItemLists.add(info);
+            }
+        }
+        Integer msgs = customerService.addSendbackItemList(sendbackItemLists);
+        if(msgs < 1){
+            throw new RuntimeException("修改寄回产品项信息失败");
+        }
+        return sendbackInfo;
+    }
+
+    @Override
+    public Integer updateSendbackStatus(SendbackInfo sendbackInfo) {
+        return customerInfoMapper.updateSendbackInfo(sendbackInfo);
+    }
+    @Override
+    public Integer updateSendbackItem(SendbackItem sendbackItem) {
+        return customerInfoMapper.updateSendbackItem(sendbackItem);
+    }
+
+    @Override
+    public Integer deleteSendbackInfo(Integer sendbackId) {
+        return customerInfoMapper.deleteSendbackInfo(sendbackId);
+    }
+
+    @Override
+    public Integer deleteSendbackItemById(Integer sendbackItemId) {
+        return customerInfoMapper.deleteSendbackItemById(sendbackItemId);
+    }
+
+    @Override
+    public Integer deleteSendbackItemBySendbackId(Integer sendbackId) {
+        return customerInfoMapper.deleteSendbackItemBySendbackId(sendbackId);
+    }
+
+    @Override
+    public List<ClosedProdcue> listclosedProdcue(ClosedProdcue closedProdcue) {
+        return closedProdcueMapper.listclosedProdcue(closedProdcue);
+    }
 }

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

@@ -146,4 +146,54 @@ public interface CustomerInfoMapper {
      */
     Integer  deletePostageInfo(Integer postageId);
 
+    /**
+     * 添加寄回信息
+     */
+   Integer addSendbackInfo(SendbackInfo sendbackInfo);
+
+    /**
+     * 添加寄回信息项集合
+     */
+   Integer addSendbackItemList(List<SendbackItem> list);
+
+    /**
+     * 查询单个寄回信息
+     */
+    SendbackInfo getSendbackInfo(Integer sendbackId);
+
+    /**
+     * 查询寄回信息集合
+     */
+    List<SendbackInfo> listSendbackInfo(Integer relationId);
+
+    /**
+     * 查询寄回信息项集合
+     */
+    List<SendbackItem> sendbackItemList(Integer sendbackId);
+
+    /**
+     * 修改寄回信息
+     */
+    Integer updateSendbackInfo(SendbackInfo sendbackInfo);
+
+    /**
+     * 修改寄回信息项
+     */
+    Integer updateSendbackItem(SendbackItem sendbackItem);
+
+    /**
+     * 删除寄回信息
+     */
+    Integer deleteSendbackInfo(Integer sendbackId);
+
+    /**
+     * 根据主键删除寄回信息项
+     */
+    Integer deleteSendbackItemById(Integer sendbackItemId);
+
+    /**
+     * 根据寄回信息主键删除所有寄回信息项
+     */
+    Integer deleteSendbackItemBySendbackId(Integer sendbackId);
+
 }

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

@@ -1090,4 +1090,165 @@ LEFT JOIN tb_rst_cm_proc_type cpt ON cpt.proc_type_id = cpm.proc_type_id
   <delete id="deletePostageInfo" parameterType="Integer">
     DELETE from tb_rst_postage_info WHERE postage_id = #{postageId}
   </delete>
+
+
+  
+  <insert id="addSendbackInfo" parameterType="SendbackInfo" keyProperty="sendbackId" useGeneratedKeys="true">
+      INSERT INTO tb_rst_cm_sendback_info
+      (
+        relation_id,
+        sendback_logistics_company,
+        sendback_logistics_no,
+        sendback_name,
+        sendback_tel,
+        sendback_status,
+        sendback_sign_time,
+        sendback_create_time
+      )
+       VALUES
+      ( #{relationId},
+        #{sendbackLogisticsCompany},
+        #{sendbackLogisticsNo},
+        #{sendbackName},
+        #{sendbackTel},
+        #{sendbackStatus},
+        #{sendbackSignTime},
+        NOW()
+      )
+  </insert>
+
+  <insert id="addSendbackItemList" parameterType="ArrayList">
+    INSERT INTO tb_rst_cm_sendback_item
+    (
+    sendback_id,
+    sendback_product_id,
+    sendback_color_id,
+    sendback_prodcue_number
+    )
+    VALUES
+    <foreach collection="list" item="item" separator=",">
+      (
+      #{item.sendbackId},#{item.sendbackProductId},#{item.sendbackColorId},#{item.sendbackProdcueNumber}
+      )
+    </foreach>
+  </insert>
+
+  <resultMap id="sendbackMap" type="SendbackInfo">
+    <id column="sendback_id" property="sendbackId"/>
+    <result column="relation_id" property="relationId"/>
+    <result column="sendback_logistics_company" property="sendbackLogisticsCompany"/>
+    <result column="sendback_logistics_no" property="sendbackLogisticsNo"/>
+    <result column="sendback_name" property="sendbackName"/>
+    <result column="sendback_tel" property="sendbackTel"/>
+    <result column="sendback_status" property="sendbackStatus"/>
+    <result column="sendback_sign_time" property="sendbackSignTime"/>
+    <result column="sendback_create_time" property="sendbackCreateTime"/>
+    <result column="sendback_update_time" property="sendbackUpdateTime"/>
+    <result column="logistics_name" property="sendbackLogisticsName"/>
+    <collection property="listSendbackItem" column="sendback_id" ofType="SendbackItem" select="sendbackItemList"/>
+  </resultMap>
+
+  <select id="getSendbackInfo" parameterType="Integer" resultMap="sendbackMap">
+    SELECT
+      sendback_id,
+      relation_id,
+      sendback_logistics_company,
+      sendback_logistics_no,
+      sendback_name,
+      sendback_tel,
+      sendback_status,
+      sendback_sign_time,
+      sendback_create_time,
+      sendback_update_time,
+      tb_rst_logistics_info.logistics_name
+     from tb_rst_cm_sendback_info
+     LEFT JOIN tb_rst_logistics_info on tb_rst_cm_sendback_info.sendback_logistics_company = tb_rst_logistics_info.logistics_rst_code
+     WHERE sendback_id = #{sendbackId}
+  </select>
+
+  <select id="listSendbackInfo" parameterType="Integer" resultMap="sendbackMap">
+    SELECT
+      sendback_id,
+      relation_id,
+      sendback_logistics_company,
+      sendback_logistics_no,
+      sendback_name,
+      sendback_tel,
+      sendback_status,
+      sendback_sign_time,
+      sendback_create_time,
+      sendback_update_time,
+      tb_rst_logistics_info.logistics_name
+     from tb_rst_cm_sendback_info
+     LEFT JOIN tb_rst_logistics_info on tb_rst_cm_sendback_info.sendback_logistics_company = tb_rst_logistics_info.logistics_rst_code
+     WHERE relation_id = #{relationId}
+  </select>
+
+  <select id="sendbackItemList" parameterType="Integer" resultType="SendbackItem">
+      select
+      *,
+      tb_rst_product_info.product_name AS sendbackProductName,
+      tb_rst_product_color.color_name AS sendbackColorName
+       from tb_rst_cm_sendback_item
+      LEFT JOIN tb_rst_product_info on tb_rst_cm_sendback_item.sendback_product_id = tb_rst_product_info.product_id
+      LEFT JOIN tb_rst_product_color on tb_rst_cm_sendback_item.sendback_color_id = tb_rst_product_color.color_id
+      where sendback_id = #{sendbackId};
+  </select>
+
+  <update id="updateSendbackInfo" parameterType="SendbackInfo">
+    UPDATE tb_rst_cm_sendback_info
+    <set>
+      <if test="sendbackLogisticsCompany != null and sendbackLogisticsCompany != ''">
+        sendback_logistics_company = #{sendbackLogisticsCompany},
+      </if>
+      <if test="sendbackLogisticsNo != null and sendbackLogisticsNo != ''">
+        sendback_logistics_no = #{sendbackLogisticsNo},
+      </if>
+      <if test="sendbackName != null and sendbackName != ''">
+        sendback_name = #{sendbackName},
+      </if>
+      <if test="sendbackSignTime != null and sendbackSignTime != ''">
+        sendback_sign_time = #{sendbackSignTime},
+      </if>
+      <if test="sendbackTel != null and sendbackTel != ''">
+        sendback_tel = #{sendbackTel},
+      </if>
+      <if test="sendbackStatus != null and sendbackStatus != ''">
+        sendback_status = #{sendbackStatus},
+      </if>
+      <if test="sendbackSignTime != null and sendbackSignTime != ''">
+        sendback_sign_time = #{sendbackSignTime}
+      </if>
+    </set>
+    WHERE sendback_id = #{sendbackId}
+  </update>
+
+  <update id="updateSendbackItem" parameterType="SendbackItem">
+    UPDATE tb_rst_cm_sendback_item
+    <set>
+      <if test="sendbackProductId != null and sendbackProductId != ''">
+        sendback_product_id = #{sendbackProductId},
+      </if>
+      <if test="sendbackColorId != null and sendbackColorId != ''">
+        sendback_color_id = #{sendbackColorId},
+      </if>
+      <if test="sendbackProdcueNumber != null and sendbackProdcueNumber != ''">
+        sendback_prodcue_number = #{sendbackProdcueNumber},
+      </if>
+    </set>
+    WHERE sendback_item_id = #{sendbackItemId}
+  </update>
+
+  <delete id="deleteSendbackInfo" parameterType="Integer" >
+    DELETE FROM tb_rst_cm_sendback_info WHERE sendback_id = #{sendbackId}
+  </delete>
+
+  <delete id="deleteSendbackItemById" parameterType="Integer" >
+    DELETE FROM tb_rst_cm_sendback_item WHERE sendback_item_id = #{sendbackItemId}
+  </delete>
+
+  <delete id="deleteSendbackItemBySendbackId" parameterType="Integer" >
+    DELETE FROM tb_rst_cm_sendback_item WHERE sendback_id = #{sendbackId}
+  </delete>
+
 </mapper>

+ 112 - 2
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminCustomerController.java

@@ -1180,6 +1180,13 @@ public class AdminCustomerController {
         ProcMethod procMethod = customerService.getProcMethod(cmRelation.getProcMethodId());
         List<LogisticsInfo>logisticsInfoList =  logisticsInfoService.getLogisticsInfoList(new LogisticsInfo());
         List<PostageInfo> listPostageInfo = customerService.listPostageInfo(cmRelation.getRelationId());
+        List<SendbackInfo> listSendbackInfo = customerService.listSendbackInfo(cmRelation.getRelationId());
+        //查询寄回产品
+        ClosedProdcue record = new ClosedProdcue();
+        record.setRelationId(cmRelation.getRelationId());
+        List <ClosedProdcue> listClosedProdcue = customerService.listclosedProdcue(record);
+        mv.addObject("listClosedProdcue",listClosedProdcue);
+        mv.addObject("listSendbackInfo",listSendbackInfo);
         mv.addObject("logisticsInfoList",logisticsInfoList);
         mv.addObject("listPostageInfo", listPostageInfo);
         mv.addObject("procMethod", procMethod);
@@ -2035,14 +2042,117 @@ public class AdminCustomerController {
         return rj;
     }
 
+
+    /**
+     * 获取寄回信息
+     * @param request
+     * @param sendbackId
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping("/get_SendbackInfo")
+    public ResponseJson getSendbackInfo(HttpServletRequest request,Integer sendbackId){
+        ResponseJson rj = new ResponseJson(200, "查询成功", 200);
+        if(sendbackId == null){
+            return new ResponseJson(500, "查询失败!", 500);
+        }
+        SendbackInfo sendbackInfo = customerService.getSendbackInfo(sendbackId);
+        rj.addResponseKeyValue("sendbackInfo",sendbackInfo);
+        return rj;
+    }
+
+    /**
+     * 添加寄回信息
+     * @param request
+     * @param sendbackInfo
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping("/add_SendbackInfo")
+    public ResponseJson addSendbackInfo(HttpServletRequest request,SendbackInfo sendbackInfo){
+        ResponseJson rj = new ResponseJson(200, "添加成功", 200);
+        if(sendbackInfo == null){
+            return new ResponseJson(500, "添加失败,请检查参数!", 500);
+        }
+        /*signTime*/
+        SendbackInfo info = customerService.addSendbackInfo(sendbackInfo);
+        if(info == null){
+            return new ResponseJson(500, "添加失败", 500);
+        }
+        SendbackInfo info1 = customerService.getSendbackInfo(sendbackInfo.getSendbackId());
+        rj.addResponseKeyValue("sendbackInfo",info1);
+        return rj;
+    }
+
+    /**
+     * 修改寄回信息
+     * @param request
+     * @param sendbackInfo
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping("/update_SendbackInfo")
+    public ResponseJson updateSendbackInfo(HttpServletRequest request,SendbackInfo sendbackInfo){
+        ResponseJson rj = new ResponseJson(200, "修改成功", 200);
+        if(sendbackInfo == null){
+            return new ResponseJson(500, "修改失败,请检查参数!", 500);
+        }
+        SendbackInfo info = customerService.updateSendbackInfo(sendbackInfo);
+        if(info == null){
+            return new ResponseJson(500, "修改失败", 500);
+        }
+        SendbackInfo info1 = customerService.getSendbackInfo(sendbackInfo.getSendbackId());
+        rj.addResponseKeyValue("sendbackInfo",info1);
+        return rj;
+    }
+    /**
+     * 修改寄回状态为已签收
+     * @param request
+     * @param sendbackInfo
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping("/update_SendbackStatus")
+    public ResponseJson updateSendbackStatus(HttpServletRequest request,SendbackInfo sendbackInfo){
+        ResponseJson rj = new ResponseJson(200, "修改成功", 200);
+        if(sendbackInfo == null){
+            return new ResponseJson(500, "修改失败,请检查参数!", 500);
+        }
+        if(customerService.updateSendbackStatus(sendbackInfo) < 1){
+            return new ResponseJson(500, "修改失败", 500);
+        }
+        SendbackInfo info1 = customerService.getSendbackInfo(sendbackInfo.getSendbackId());
+        rj.addResponseKeyValue("sendbackInfo",info1);
+        return rj;
+    }
+
+    /**
+     * 删除单个寄回信息
+     * @param request
+     * @param sendbackId
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping("/delete_SendbackInfo")
+    public ResponseJson deleteSendbackInfo(HttpServletRequest request,Integer sendbackId){
+        ResponseJson rj = new ResponseJson(200, "删除成功", 200);
+        if(sendbackId == null){
+            return new ResponseJson(500, "删除失败,请检查参数!", 500);
+        }
+        Integer msg = customerService.deleteSendbackInfo(sendbackId);
+        if(msg < 1){
+            return new ResponseJson(500, "删除失败", 500);
+        }
+        return rj;
+    }
     /**
      * 同步邮费信息
      * @param request
      * @param
      * @return
      */
-    @ResponseBody
-    @RequestMapping("/synchronize_PostageInfo")
+    /*@ResponseBody
+    @RequestMapping("/synchronize_PostageInfo")*/
     public ResponseJson synchronizePostageInfo(HttpServletRequest request){
            String msg = customerService.synchronizePostageInfo();
         return new ResponseJson(200, msg, 200);

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

@@ -189,6 +189,8 @@
 		<typeAlias type="com.iamberry.rst.core.order.OrderWarehouse" alias="OrderWarehouse"/>
 		<typeAlias type="com.iamberry.rst.core.order.OrderWarehouseAdmin" alias="OrderWarehouseAdmin"/>
 		<typeAlias type="com.iamberry.rst.core.cm.PostageInfo" alias="PostageInfo"/>
+		<typeAlias type="com.iamberry.rst.core.cm.SendbackInfo" alias="SendbackInfo"/>
+		<typeAlias type="com.iamberry.rst.core.cm.SendbackItem" alias="SendbackItem"/>
 	</typeAliases>
 	<!-- PageHelper -->
 	<plugins>

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

@@ -58,35 +58,83 @@
         <div <#if procMethod.procMethodIsBack == 1>class="tabCon"</#if> style="display: none;">
             <div class="row cl">
                 <div class="formControls col-2 col-sm-2 text-r">
-                    <strong>产品寄回</strong>
+                    <strong>寄回信息</strong>
                 </div>
-                <div class="formControls col-8 col-sm-8 skin-minimal">
-                    <div class="radio-box">
-                        <input type="radio" id="tel-3" name="relationBackStatus" value="1" seleType="send">
-                        <label for="tel-3">未寄回</label>
-                    </div>
+                <div class="formControls col-10 col-sm-10">
+                    <table class="table table-border table-bg table-bordered" >
+                        <thead>
+                        <tr>
+                            <th>物流公司</th>
+                            <th>物流单号</th>
+                            <th>寄回人信息</th>
+                            <th>状态</th>
+                            <th>产品</th>
+                            <th>操作</th>
+                        </tr>
+                        </thead>
+                        <tbody id="SendbackbodyId">
+                        <#if listSendbackInfo?? &&  (listSendbackInfo?size > 0) >
+                            <#list listSendbackInfo as sendbackInfo>
+                            <tr id="deleteSendbackId${(sendbackInfo.sendbackId)!''}">
+                                <td>${(sendbackInfo.sendbackLogisticsName)!''}</td>
+                                <td>${(sendbackInfo.sendbackLogisticsNo)!''}</td>
+                                <td>${(sendbackInfo.sendbackName)!''}<br>${(sendbackInfo.sendbackTel)!''}</td>
+                                <td>
+                                    <#if sendbackInfo.sendbackStatus == 1>未配送</#if>
+                                    <#if sendbackInfo.sendbackStatus == 2>配送中</#if>
+                                    <#if sendbackInfo.sendbackStatus == 3>已签收</#if>
+                                </td>
+                                <td>
+                                    <#if sendbackInfo.listSendbackItem?? &&  (sendbackInfo.listSendbackItem?size > 0) >
+                                        <#list sendbackInfo.listSendbackItem as sendbackItem>
+                                            ${sendbackItem.sendbackProductName}(${sendbackItem.sendbackColorName})* ${sendbackItem.sendbackProdcueNumber}<br>
+                                        </#list>
+                                    </#if>
+                                </td>
+                                <td><a onclick="deleteSendbackInfo(${(sendbackInfo.sendbackId)!});">删除</a>&nbsp;&nbsp;<a onclick="getSendbackInfo(${(sendbackInfo.sendbackId)!});">修改</a>&nbsp;&nbsp;<#if sendbackInfo.sendbackStatus == 2><a onclick="updateSendbackStatus(${(sendbackInfo.sendbackId)!});">签收</a></#if></td>
+                            </tr>
+                            </#list>
+                        <#else>
+                            <tr id="colspanSendbackId"><td colspan="7" class="td-manage text-c" >暂时没有寄回信息,请添加!</td></tr>
+                        </#if>
+                        </tbody>
+                    </table>
+                    <button type="button" class="btn btn-primary" style="background: #32a3d8;color: #fff;" id="" name="" onclick="showSendbackDiv();">增加寄回物流</button>
+                </div>
+            </div>
+
+            <div class="row cl" id="addSendBackDiv" style="display:none;">
+                <div class="formControls col-2 col-sm-2 text-r">
+                    <strong></strong>
+                </div>
+            <div class="formControls col-10 col-sm-10">
+            <div class="row cl">
+                <div class="formControls col-2 col-sm-2 text-r">
+                    <strong>寄回信息</strong>
+                </div>
+                <div class="formControls col-10 col-sm-10">
                     <div class="radio-box">
-                        <input type="radio" id="tel-4" name="relationBackStatus" value="2" seleType="send">
-                        <label for="tel-4">已寄回</label>
+                        <input type="radio" id="tel-b1" name="sendbackStatus" value="1">
+                        <label for="tel-b1">未寄回</label>
                     </div>
                     <div class="radio-box">
-                        <input type="radio" id="tel-5" name="relationBackStatus" value="4" seleType="send">
-                        <label for="tel-5">签收待确认</label>
+                        <input type="radio" id="tel-b2" name="sendbackStatus" value="2">
+                        <label for="tel-b2">已寄回</label>
                     </div>
                     <div class="radio-box">
-                        <input type="radio" id="tel-6" name="relationBackStatus" value="3" seleType="send">
-                        <label for="tel-6">已收货</label>
+                        <input type="radio" id="tel-b3" name="sendbackStatus" value="3">
+                        <label for="tel-b3">已签收</label>
                     </div>
                 </div>
             </div>
             <div class="row cl" id="backLogisticsInfo">
                 <div class="formControls col-2 col-sm-2 text-r">
-                    <strong>寄回信息</strong>
+                    <strong>物流信息</strong>
                 </div>
                 <div class="formControls col-4 col-sm-4">
                     <div style="width: 100%;display: inline-block;margin-right: 10px;">
                         <span class="select-box">
-                                <select name="relationBackLogisticsCompany" id="relationBackLogisticsCompany" class="select" seleType="send">
+                                <select name="sendbackLogisticsCompany" id="sendbackLogisticsCompany" class="select" seleType="send">
                                     <option value="">请选择物流公司</option>
                                     <#if logisticsInfoList?? &&  (logisticsInfoList?size > 0) >
                                         <#list logisticsInfoList as logisticsInfo>
@@ -99,7 +147,7 @@
                 </div>
 
                 <div class="formControls col-4 col-sm-4">
-                    <input style="margin-right: 10px;" type="text" class="input-text" value="" placeholder="请输入快递单号" id="relationBackLogisticsNo" name="relationBackLogisticsNo" seleType="send">
+                    <input style="margin-right: 10px;" type="text" class="input-text" value="" placeholder="请输入快递单号" id="sendbackLogisticsNo" name="sendbackLogisticsNo">
                     <#--<input style="width: 150px;margin-right: 10px;" type="text" class="input-text" value="" placeholder="寄回邮费" id="renewedBackPostage" name="renewedBackPostage">
                     <input style="width: 150px;" type="text" class="input-text" value="" placeholder="用户支付宝账户" id="renewedAlipay" name="renewedAlipay">-->
                 </div>
@@ -107,30 +155,173 @@
 
             <div class="row cl" style="position: relative;" id="backUserInfo">
                 <div class="formControls col-2 col-sm-2 text-r">
-                    <strong>寄件信息</strong>
+                    <strong>寄件</strong>
                 </div>
                 <div class="formControls col-4 col-sm-4">
-                    <input type="text" class="input-text" value="" placeholder="寄件人姓名" id="relationBackName" name="relationBackName" seleType="send">
+                    <input type="text" class="input-text" value="" placeholder="寄件人姓名" id="sendbackName" name="sendbackName">
                 </div>
                 <div class="formControls col-4 col-sm-4">
-                    <input type="text" class="input-text" value="" placeholder="寄件人电话" id="relationBackTel" name="relationBackTel" seleType="send">
+                    <input type="text" class="input-text" value="" placeholder="寄件人电话" id="sendbackTel" name="sendbackTel">
                 </div>
             </div>
+                <div class="row cl" style="position: relative;" id="backUserInfo">
+                    <div class="formControls col-2 col-sm-2 text-r">
+                        <strong>寄回产品</strong>
+                    </div>
+                    <div class="formControls col-8 col-sm-8">
+                        <table class="table table-border table-bg table-bordered" >
+                            <thead>
+                            <tr>
+                                <th>产品</th>
+                                <th>颜色</th>
+                                <th>数量</th>
+                            </tr>
+                            </thead>
+                            <tbody id="productbodyId">
+                            <#if listClosedProdcue?? &&  (listClosedProdcue?size > 0) >
+                                <#list listClosedProdcue as prodcue>
+                                <tr>
+                                    <td>${(prodcue.closedProductName)!''}</td>
+                                    <td>${(prodcue.closedColorName)!''}</td>
+                                    <td><input type="text" class="input-text input-prodcueNumber-id" value="${(prodcue.closedProdcueNumber)!''}"></td>
+                                    <input type="hidden" class="input-produce-id" value="${(prodcue.productId)!''}">
+                                    <input type="hidden" class="input-color-id" value="${(prodcue.colorId)!''}">
+                                </tr>
+                                </#list>
+                            <#else>
+                            <tr id="colspanId"><td colspan="3" class="td-manage text-c" >没有产品信息!</td></tr>
+                            </#if>
+                            </tbody>
+                        </table>
+                        <input type="hidden" id="sendProdcues" value="">
+                    </div>
+                </div>
                 <div class="row cl" style="position: relative;/*display: none;*/">
                     <div class="formControls col-2 col-sm-2 text-r">
                         <strong>仓库签收时间</strong>
                     </div>
                     <div class="formControls col-4 col-sm-4">
-                        <input type="text" placeholder="请选择仓库签收时间" id="relationBackReceiptDate"  name="relationBackReceiptDate" datatype="*" class="input-text Wdate" onclick="WdatePicker({skin:'whyGreen',maxDate:'%y-%M-%d'})"  readonly="readonly" seleType="send">
+                        <input type="text" placeholder="请选择仓库签收时间" id="sendbackSignTime"  name="sendbackSignTime" datatype="*" class="input-text Wdate" onclick="WdatePicker({skin:'whyGreen',maxDate:'%y-%M-%d'})"  readonly="readonly" seleType="send">
                     </div>
                 </div>
                 <div class="row cl">
                     <div class="formControls col-2 col-sm-2">
                     </div>
                     <div class="formControls col-8 col-sm-8 text-c">
-                        <button onClick="update_relation_info(1);" class="btn btn-primary" type="button">确认修改</button>
+                        <button onClick="addSendbackInfo();" class="btn btn-primary" type="button">确认添加寄回信息</button>
+                    </div>
+                </div>
+              </div>
+            </div>
+            <div class="row cl" id="updateSendBackDiv" style="display:none;">
+                <input type="hidden" value="" id="sendbackIds">
+                <div class="formControls col-2 col-sm-2 text-r">
+                    <strong></strong>
+                </div>
+            <div class="formControls col-10 col-sm-10">
+            <div class="row cl">
+                <div class="formControls col-2 col-sm-2 text-r">
+                    <strong>寄回信息</strong>
+                </div>
+                <div class="formControls col-10 col-sm-10">
+                    <div class="radio-box">
+                        <input type="radio" id="tel-c1" name="sendbackStatuss" value="1">
+                        <label for="tel-c1">未寄回</label>
+                    </div>
+                    <div class="radio-box">
+                        <input type="radio" id="tel-c2" name="sendbackStatuss" value="2">
+                        <label for="tel-c2">已寄回</label>
+                    </div>
+                    <div class="radio-box">
+                        <input type="radio" id="tel-c3" name="sendbackStatuss" value="3">
+                        <label for="tel-c3">已签收</label>
+                    </div>
+                </div>
+            </div>
+            <div class="row cl" id="backLogisticsInfos">
+                <div class="formControls col-2 col-sm-2 text-r">
+                    <strong>物流信息</strong>
+                </div>
+                <div class="formControls col-4 col-sm-4">
+                    <div style="width: 100%;display: inline-block;margin-right: 10px;">
+                        <span class="select-box">
+                                <select name="sendbackLogisticsCompanys" id="sendbackLogisticsCompanys" class="select" seleType="send">
+                                    <option value="">请选择物流公司</option>
+                                    <#if logisticsInfoList?? &&  (logisticsInfoList?size > 0) >
+                                        <#list logisticsInfoList as logisticsInfo>
+                                            <option value="${logisticsInfo.logisticsRstCode!''}" >${logisticsInfo.logisticsName!''}(${logisticsInfo.logisticsRstCode!''})</option>
+                                        </#list>
+                                    </#if>
+                                </select>
+                        </span>
                     </div>
                 </div>
+
+                <div class="formControls col-4 col-sm-4">
+                    <input style="margin-right: 10px;" type="text" class="input-text" value="" placeholder="请输入快递单号" id="sendbackLogisticsNos" name="sendbackLogisticsNos">
+                </div>
+            </div>
+
+            <div class="row cl" style="position: relative;" id="backUserInfo">
+                <div class="formControls col-2 col-sm-2 text-r">
+                    <strong>寄件人</strong>
+                </div>
+                <div class="formControls col-4 col-sm-4">
+                    <input type="text" class="input-text" value="" placeholder="寄件人姓名" id="sendbackNames" name="sendbackNames">
+                </div>
+                <div class="formControls col-4 col-sm-4">
+                    <input type="text" class="input-text" value="" placeholder="寄件人电话" id="sendbackTels" name="sendbackTels">
+                </div>
+            </div>
+                <div class="row cl" style="position: relative;" id="backUserInfos">
+                    <div class="formControls col-2 col-sm-2 text-r">
+                        <strong>寄回产品</strong>
+                    </div>
+                    <div class="formControls col-8 col-sm-8">
+                        <table class="table table-border table-bg table-bordered" >
+                            <thead>
+                            <tr>
+                                <th>产品</th>
+                                <th>颜色</th>
+                                <th>数量</th>
+                            </tr>
+                            </thead>
+                            <tbody id="productbodyIds">
+                            <#if listClosedProdcue?? &&  (listClosedProdcue?size > 0) >
+                                <#list listClosedProdcue as prodcue>
+                                <tr>
+                                    <td>${(prodcue.closedProductName)!''}</td>
+                                    <td>${(prodcue.closedColorName)!''}</td>
+                                    <td><input type="text" class="input-text input-prodcueNumber-ids" value="${(prodcue.closedProdcueNumber)!''}"></td>
+                                    <input type="hidden" class="input-produce-ids" value="${(prodcue.productId)!''}">
+                                    <input type="hidden" class="input-color-ids" value="${(prodcue.colorId)!''}">
+                                </tr>
+                                </#list>
+                            <#else>
+                            <tr id="productcolspanIds"><td colspan="3" class="td-manage text-c" >没有产品信息!</td></tr>
+                            </#if>
+                            </tbody>
+                        </table>
+                        <input type="hidden" id="sendProdcuess" value="">
+                    </div>
+                </div>
+                <div class="row cl" style="position: relative;/*display: none;*/">
+                    <div class="formControls col-2 col-sm-2 text-r">
+                        <strong>仓库签收时间</strong>
+                    </div>
+                    <div class="formControls col-4 col-sm-4">
+                        <input type="text" placeholder="请选择仓库签收时间" id="sendbackSignTimes"  name="sendbackSignTimes" datatype="*" class="input-text Wdate" onclick="WdatePicker({skin:'whyGreen',maxDate:'%y-%M-%d'})"  readonly="readonly">
+                    </div>
+                </div>
+                <div class="row cl">
+                    <div class="formControls col-2 col-sm-2">
+                    </div>
+                    <div class="formControls col-8 col-sm-8 text-c">
+                        <button onClick="updateSendbackInfo();" class="btn btn-primary" type="button">确认修改寄回信息</button>
+                    </div>
+                </div>
+              </div>
+            </div>
         </div>
         <div <#if procMethod.procMethodIsBack == 1>class="tabCon"</#if> style="display: none;">
             <div class="row cl" id="backTransferInfo">
@@ -153,7 +344,7 @@
                 <div class="formControls col-2 col-sm-2 text-r">
                     <strong>邮费信息</strong>
                 </div>
-                <div class="formControls col-8 col-sm-8">
+                <div class="formControls col-10 col-sm-10">
                 <table class="table table-border table-bg table-bordered" >
                     <thead>
                     <tr>
@@ -175,6 +366,7 @@
                             <td>${(postageInfo.postageAlipayName)!''}</td>
                             <td>${(postageInfo.postageAlipay)!''}</td>
                             <#if postageInfo.postageStatus??>
+                                <#if postageInfo.postageStatus == 0><td>未申请</td></#if>
                                 <#if postageInfo.postageStatus == 1><td>未申请</td></#if>
                                 <#if postageInfo.postageStatus == 2><td>已申请(待转账)</td></#if>
                                 <#if postageInfo.postageStatus == 3><td>已转账</td></#if>
@@ -187,19 +379,24 @@
                         </tr>
                         </#list>
                     <#else>
-                    <tr><td colspan="7" class="td-manage text-c" >暂时没有邮费信息,请添加!</td></tr>
+                    <tr id="colspanId"><td colspan="7" class="td-manage text-c" >暂时没有邮费信息,请添加!</td></tr>
                     </#if>
                     </tbody>
                 </table>
                     <button type="button" class="btn btn-primary" style="background: #32a3d8;color: #fff;" id="" name="" onclick="showPostageDiv();">录入邮费转账</button>
                 </div>
             </div>
-            <div id="addPostageId" style="display: none;">
+            <div class="row cl" id="addPostageId" style="display: none;">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong></strong>
+            </div>
+            <div class="formControls col-10 col-sm-10">
+            <div >
                 <div class="row cl">
                     <div class="formControls col-2 col-sm-2 text-r">
                         <strong>状态</strong>
                     </div>
-                    <div class="formControls col-8 col-sm-8">
+                    <div class="formControls col-10 col-sm-10">
                         <div class="radio-box">
                             <input type="radio" id="tel-66" name="postageStatus" checked value="1">
                             <label for="tel-66">未申请</label>
@@ -251,13 +448,19 @@
                     </div>
                 </div>
             </div>
-
-            <div id="updatePostageId" style="display: none;">
+            </div>
+            </div>
+             <div class="row cl"  id="updatePostageId" style="display: none;">
+                 <div class="formControls col-2 col-sm-2 text-r">
+                        <strong></strong>
+                  </div>
+            <div class="formControls col-10 col-sm-10">
+            <div>
                 <div class="row cl">
                     <div class="formControls col-2 col-sm-2 text-r">
                         <strong>状态</strong>
                     </div>
-                    <div class="formControls col-8 col-sm-8 skin-minimal">
+                    <div class="formControls col-10 col-sm-10 skin-minimal">
                         <div class="radio-box">
                             <input type="radio" id="tel-666" name="postageStatuss" value="1">
                             <label for="tel-666">未申请</label>
@@ -310,6 +513,8 @@
                     </div>
                 </div>
             </div>
+             </div>
+             </div>
             <div class="row cl">
                 <div class="formControls col-2 col-sm-2">
                 </div>
@@ -475,6 +680,13 @@
     var uname = /^[\u4e00-\u9fa5a-zA-Z]{1,12}$/; //中文英文
     var money = /^(0{1}|([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/;//金额
 
+
+    //添加寄回信息按钮
+    function showSendbackDiv() {
+        $("#updateSendBackDiv").hide();
+        $("#addSendBackDiv").show();
+    }
+    //添加邮费信息按钮
     function showPostageDiv() {
         $("#updatePostageId").hide();
         $("#addPostageId").show();
@@ -483,11 +695,320 @@
     function isRelationIsTransfer(type) {
         if(type == 0){
             $("#postageInformation").hide();
+            $("#updatePostageId").hide();
+            $("#addPostageId").hide();
         }else{
             $("#postageInformation").show();
         }
     }
 
+    /*查询寄回信息*/
+    function getSendbackInfo(sendbackId) {
+        var info;
+        $.ajax({
+            cache: true,
+            type: "POST",
+            data: {"sendbackId" : sendbackId},
+            url: "${path}/admin/customer/get_SendbackInfo",
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    $("#addSendBackDiv").hide();
+                    $("#updateSendBackDiv").show();
+                    info = data.returnMsg.sendbackInfo;
+                    $("#sendbackIds").val(info.sendbackId);
+                    $("input[type=radio][name=sendbackStatuss][value='"+info.sendbackStatus+"']").prop("checked",true);
+                    $("#sendbackLogisticsCompanys").val(info.sendbackLogisticsCompany);
+                    $("#sendbackLogisticsNos").val(info.sendbackLogisticsNo);
+                    $("#sendbackNames").val(info.sendbackName);
+                    $("#sendbackTels").val(info.sendbackTel);
+                    $("#sendbackSignTimes").val(info.sendbackSignTime);
+                    $("#productbodyIds").find(".input-prodcueNumber-ids").each(function () {
+                        for(var i=0;i<info.listSendbackItem.length;i++){
+                           if(info.listSendbackItem[i].sendbackProductId == $(this).parents("tr").find(".input-produce-ids").eq(0).val()
+                           && info.listSendbackItem[i].sendbackColorId == $(this).parents("tr").find(".input-color-ids").eq(0).val()) {
+                               $(this).val(info.listSendbackItem[i].sendbackProdcueNumber);
+                           }
+                        }
+                    });
+                } else {
+                    layer.msg("修改失败!",{icon: 5,time:1000});
+                }
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+                window.parent.admin_result("修改失败!",5);
+            }
+        })
+    }
+
+
+    /*添加寄回信息*/
+    function addSendbackInfo() {
+            var relationId = $("#relationId").val();
+            var sendbackStatus = parseInt($("input[name='sendbackStatus']:checked").val());
+            var sendbackLogisticsCompany = $("#sendbackLogisticsCompany").val();
+            var sendbackLogisticsNo = $("#sendbackLogisticsNo").val();
+            var sendbackName = $("#sendbackName").val();
+            var sendbackTel = $("#sendbackTel").val();
+            var sendbackSignTime = $("#sendbackSignTime").val();
+            var sendProdcues = new Array();  //寄出产品表
+
+            $("#productbodyId").find(".input-prodcueNumber-id").each(function () {
+                var product = new Object();
+                product.sendbackProdcueNumber = $(this).val();
+                product.sendbackProductId = $(this).parents("tr").find(".input-produce-id").eq(0).val();    //产品id
+                product.sendbackColorId = $(this).parents("tr").find(".input-color-id").eq(0).val();    //颜色id
+                sendProdcues.push(product);
+            });
+            $("#sendProdcues").val(JSON.stringify(sendProdcues));
+            var SendProdcues = $("#sendProdcues").val();
+            if(sendbackStatus == null || sendbackStatus == ""){
+                layer.msg("请选择寄回状态!",{icon: 5,time:1000});
+                return;
+            }
+            if(sendbackLogisticsCompany == null || sendbackLogisticsCompany == ""){
+                layer.msg("请输入物流公司!",{icon: 5,time:1000});
+                return;
+            }
+            if(sendbackLogisticsNo == null || sendbackLogisticsNo == ""){
+                layer.msg("请输入物流单号!",{icon: 5,time:1000});
+                return;
+            }
+            if(sendbackName == null || sendbackName == ""){
+                layer.msg("请输入寄回人姓名!",{icon: 5,time:1000});
+                return;
+            }
+            if(sendbackTel == null || sendbackTel == ""){
+                layer.msg("请输入寄回人电话!",{icon: 5,time:1000});
+                return;
+            }
+            if(sendbackSignTime == null || postageAlipayName == ""){
+                layer.msg("请输入签收时间!",{icon: 5,time:1000});
+                return;
+            }
+            $.ajax({
+                cache: true,
+                type: "POST",
+                data: {"relationId" : relationId,
+                    "sendbackStatus" : sendbackStatus,
+                    "sendbackLogisticsCompany" : sendbackLogisticsCompany,
+                    "sendbackLogisticsNo" : sendbackLogisticsNo,
+                    "sendbackName" : sendbackName,
+                    "sendbackTel" : sendbackTel,
+                    "sendbackSignTime" : sendbackSignTime,
+                    "sendProdcues" : SendProdcues
+                },
+                url: "${path}/admin/customer/add_SendbackInfo",
+                async: false,
+                success: function(data){
+                        if (data.returnCode == 200) {
+                            $("#colspanSendbackId").remove();
+                            sendbackInfo = data.returnMsg.sendbackInfo;
+                            var sendbackStatus;
+                            var htmls = '<a onclick="deleteSendbackInfo('+sendbackInfo.sendbackId+');">删除</a>&nbsp&nbsp<a onclick="getSendbackInfo('+sendbackInfo.sendbackId+');">修改</a>&nbsp&nbsp<a onclick="updateSendbackStatus('+sendbackInfo.sendbackId+');">签收</a>';
+                            if(sendbackInfo.sendbackStatus == 1){
+                                sendbackStatus = "未配送";
+                            }
+                            if(sendbackInfo.sendbackStatus == 2){
+                                sendbackStatus = "配送中";
+                                htmls = '<a onclick="deleteSendbackInfo('+sendbackInfo.sendbackId+');">删除</a>&nbsp&nbsp<a onclick="getSendbackInfo('+sendbackInfo.sendbackId+');">修改</a>';
+                            }
+                            if(sendbackInfo.sendbackStatus == 3){
+                                sendbackStatus = "已签收";
+                            }
+                            var html = "";
+                            for(var i=0;i<sendbackInfo.listSendbackItem.length;i++){
+                                var sendbackItem = sendbackInfo.listSendbackItem[i]
+                                html += sendbackItem.sendbackProductName+'('+sendbackItem.sendbackColorName+')*'+ sendbackItem.sendbackProdcueNumber+ '<br>';
+                            };
+                            $("#SendbackbodyId").append('<tr id="deleteSendbackId'+sendbackInfo.sendbackId+'">' +
+                                    '<td>'+sendbackInfo.sendbackLogisticsName+'</td>' +
+                                    '<td>'+sendbackInfo.sendbackLogisticsNo+'</td>' +
+                                    '<td>'+sendbackInfo.sendbackName+'<br>'+sendbackInfo.sendbackTel+'</td>' +
+                                    '<td>'+sendbackStatus+'</td>' +
+                                    '<td>'+html+'</td>' +
+                                    '<td>'+htmls+'</td></tr>');
+                            layer.msg("添加成功!",{icon: 1,time:1000});
+
+                    } else {
+                        layer.msg("添加失败!",{icon: 5,time:1000});
+                    }
+                },
+                error: function(XmlHttpRequest, textStatus, errorThrown){
+                    window.parent.admin_result("修改失败!",5);
+                }
+                })
+    }
+
+    /*修改寄回信息*/
+    function updateSendbackInfo() {
+        var sendbackIds = $("#sendbackIds").val();
+        var sendbackStatus = parseInt($("input[name='sendbackStatuss']:checked").val());
+        var sendbackLogisticsCompany = $("#sendbackLogisticsCompanys").val();
+        var sendbackLogisticsNo = $("#sendbackLogisticsNos").val();
+        var sendbackName = $("#sendbackNames").val();
+        var sendbackTel = $("#sendbackTels").val();
+        var sendbackSignTime = $("#sendbackSignTimes").val();
+        var sendProdcues = new Array();  //寄出产品表
+
+        $("#productbodyIds").find(".input-prodcueNumber-ids").each(function () {
+            var product = new Object();
+            product.sendbackProdcueNumber = $(this).val();
+            product.sendbackProductId = $(this).parents("tr").find(".input-produce-ids").eq(0).val();    //产品id
+            product.sendbackColorId = $(this).parents("tr").find(".input-color-ids").eq(0).val();    //颜色id
+            product.sendbackItemId = $(this).parents("tr").find(".input-item-ids").eq(0).val();    //寄回项主键
+            sendProdcues.push(product);
+        });
+        $("#sendProdcues").val(JSON.stringify(sendProdcues));
+        var SendProdcues = $("#sendProdcues").val();
+        if(sendbackStatus == null || sendbackStatus == ""){
+            layer.msg("请选择寄回状态!",{icon: 5,time:1000});
+            return;
+        }
+        if(sendbackLogisticsCompany == null || sendbackLogisticsCompany == ""){
+            layer.msg("请输入物流公司!",{icon: 5,time:1000});
+            return;
+        }
+        if(sendbackLogisticsNo == null || sendbackLogisticsNo == ""){
+            layer.msg("请输入物流单号!",{icon: 5,time:1000});
+            return;
+        }
+        if(sendbackName == null || sendbackName == ""){
+            layer.msg("请输入寄回人姓名!",{icon: 5,time:1000});
+            return;
+        }
+        if(sendbackTel == null || sendbackTel == ""){
+            layer.msg("请输入寄回人电话!",{icon: 5,time:1000});
+            return;
+        }
+        if(sendbackSignTime == null || postageAlipayName == ""){
+            layer.msg("请输入签收时间!",{icon: 5,time:1000});
+            return;
+        }
+        $.ajax({
+            cache: true,
+            type: "POST",
+            data: {"sendbackId" : sendbackIds,
+                "sendbackStatus" : sendbackStatus,
+                "sendbackLogisticsCompany" : sendbackLogisticsCompany,
+                "sendbackLogisticsNo" : sendbackLogisticsNo,
+                "sendbackName" : sendbackName,
+                "sendbackTel" : sendbackTel,
+                "sendbackSignTime" : sendbackSignTime,
+                "sendProdcues" : SendProdcues
+            },
+            url: "${path}/admin/customer/update_SendbackInfo",
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    $("#deleteSendbackId"+sendbackIds).html();
+                    sendbackInfo = data.returnMsg.sendbackInfo;
+                    var sendbackStatus;
+                    var htmls = '<a onclick="deleteSendbackInfo('+sendbackInfo.sendbackId+');">删除</a>&nbsp&nbsp<a onclick="getSendbackInfo('+sendbackInfo.sendbackId+');">修改</a>&nbsp&nbsp<a onclick="updateSendbackStatus('+sendbackInfo.sendbackId+');">签收</a>';
+                    if(sendbackInfo.sendbackStatus == 1){
+                        sendbackStatus = "未配送";
+                    }
+                    if(sendbackInfo.sendbackStatus == 2){
+                        sendbackStatus = "配送中";
+                        htmls = '<a onclick="deleteSendbackInfo('+sendbackInfo.sendbackId+');">删除</a>&nbsp&nbsp<a onclick="getSendbackInfo('+sendbackInfo.sendbackId+');">修改</a>';
+                    }
+                    if(sendbackInfo.sendbackStatus == 3){
+                        sendbackStatus = "已签收";
+                    }
+                    var html = "";
+                    for(var i=0;i<sendbackInfo.listSendbackItem.length;i++){
+                        var sendbackItem = sendbackInfo.listSendbackItem[i];
+                        html += sendbackItem.sendbackProductName+'('+sendbackItem.sendbackColorName+')*'+ sendbackItem.sendbackProdcueNumber+ '<br>';
+                    };
+                    $("#deleteSendbackId"+sendbackIds).html('<td>'+sendbackInfo.sendbackLogisticsName+'</td>' +
+                            '<td>'+sendbackInfo.sendbackLogisticsNo+'</td>' +
+                            '<td>'+sendbackInfo.sendbackName+'<br>'+sendbackInfo.sendbackTel+'</td>' +
+                            '<td>'+sendbackStatus+'</td>' +
+                            '<td>'+html+'</td>' +
+                            '<td>'+htmls+'</td>');
+                    layer.msg("修改成功!",{icon: 1,time:1000});
+
+                } else {
+                    layer.msg("修改失败!",{icon: 5,time:1000});
+                }
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+                window.parent.admin_result("修改失败!",5);
+            }
+        })
+    }
+    /*修改寄回状态*/
+    function updateSendbackStatus(sendbackId) {
+        $.ajax({
+            cache: true,
+            type: "POST",
+            data: {"sendbackId" : sendbackId,
+                "sendbackStatus" : 3
+            },
+            url: "${path}/admin/customer/update_SendbackStatus",
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    $("#deleteSendbackId"+sendbackId).html();
+                    sendbackInfo = data.returnMsg.sendbackInfo;
+                    var sendbackStatus;
+                    var htmls = '<a onclick="deleteSendbackInfo('+sendbackInfo.sendbackId+');">删除</a>&nbsp&nbsp<a onclick="getSendbackInfo('+sendbackInfo.sendbackId+');">修改</a>&nbsp&nbsp<a onclick="updateSendbackStatus('+sendbackInfo.sendbackId+');">签收</a>';
+                    if(sendbackInfo.sendbackStatus == 1){
+                        sendbackStatus = "未配送";
+                    }
+                    if(sendbackInfo.sendbackStatus == 2){
+                        sendbackStatus = "配送中";
+                        htmls = '<a onclick="deleteSendbackInfo('+sendbackInfo.sendbackId+');">删除</a>&nbsp&nbsp<a onclick="getSendbackInfo('+sendbackInfo.sendbackId+');">修改</a>';
+                    }
+                    if(sendbackInfo.sendbackStatus == 3){
+                        sendbackStatus = "已签收";
+                    }
+                    var html = "";
+                    for(var i=0;i<sendbackInfo.listSendbackItem.length;i++){
+                        var sendbackItem = sendbackInfo.listSendbackItem[i];
+                        html += sendbackItem.sendbackProductName+'('+sendbackItem.sendbackColorName+')*'+ sendbackItem.sendbackProdcueNumber+ '<br>';
+                    };
+                    $("#deleteSendbackId"+sendbackId).html('<td>'+sendbackInfo.sendbackLogisticsName+'</td>' +
+                            '<td>'+sendbackInfo.sendbackLogisticsNo+'</td>' +
+                            '<td>'+sendbackInfo.sendbackName+'<br>'+sendbackInfo.sendbackTel+'</td>' +
+                            '<td>'+sendbackStatus+'</td>' +
+                            '<td>'+html+'</td>' +
+                            '<td>'+htmls+'</td>');
+                    layer.msg("签收成功!",{icon: 1,time:1000});
+
+                } else {
+                    layer.msg("签收失败!",{icon: 5,time:1000});
+                }
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+                window.parent.admin_result("签收失败!",5);
+            }
+        })
+    }
+
+    /*删除邮费信息*/
+    function deleteSendbackInfo(sendbackId) {
+        $.ajax({
+            cache: true,
+            type: "POST",
+            data: {"sendbackId" : sendbackId},
+            url: "${path}/admin/customer/delete_SendbackInfo",
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    $("#deleteSendbackId"+sendbackId).remove();
+                    layer.msg("删除成功!",{icon: 1,time:1000});
+                } else {
+                    layer.msg("删除失败!",{icon: 5,time:1000});
+                }
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+                window.parent.admin_result("删除失败!",5);
+            }
+        })
+    }
+
+
     /*添加邮费信息*/
     function addPostage() {
         var postageInfo;
@@ -497,6 +1018,26 @@
         var postageAlipayName = $("#postageAlipayName").val();
         var postageAlipay = $("#postageAlipay").val();
         var postageDesc = $("#postageDesc").val();
+        if(postageStatus == null || postageStatus == ""){
+            layer.msg("请选择邮费状态!",{icon: 5,time:1000});
+            return;
+        }
+        if(postageAmount == null || postageAmount == ""){
+            layer.msg("请输入邮费金额!",{icon: 5,time:1000});
+            return;
+        }
+        if (!money.test(postageAmount)) {
+            layer.msg("邮费格式不正确,请重新输入!",{icon: 5,time:1000});
+            return;
+        }
+        if(postageAlipayName == null || postageAlipayName == ""){
+            layer.msg("请输入支付宝姓名!",{icon: 5,time:1000});
+            return;
+        }
+        if(postageAlipay == null || postageAlipay == ""){
+            layer.msg("请输入支付宝账号!",{icon: 5,time:1000});
+            return;
+        }
             $.ajax({
                 cache: true,
                 type: "POST",
@@ -510,7 +1051,8 @@
                 async: false,
                 success: function(data){
                     if (data.returnCode == 200) {
-                        postageInfo = postageInfo = data.returnMsg.postageInfo;
+                        $("#colspanId").remove();
+                        postageInfo = data.returnMsg.postageInfo;
                         var postageStatuss
                         if(postageInfo.postageStatus == 1){
                             postageStatuss = "未申请";
@@ -605,7 +1147,26 @@
         var postageAlipayName = $("#postageAlipayNames").val();
         var postageAlipay = $("#postageAlipays").val();
         var postageDesc = $("#postageDescs").val();
-
+        if(postageStatus == null || postageStatus == ""){
+            layer.msg("请选择邮费状态!",{icon: 5,time:1000});
+            return;
+        }
+        if(postageAmount == null || postageAmount == ""){
+            layer.msg("请输入邮费金额!",{icon: 5,time:1000});
+            return;
+        }
+        if (!money.test(postageAmount)) {
+            layer.msg("邮费格式不正确,请重新输入!",{icon: 5,time:1000});
+            return;
+        }
+        if(postageAlipayName == null || postageAlipayName == ""){
+            layer.msg("请输入支付宝姓名!",{icon: 5,time:1000});
+            return;
+        }
+        if(postageAlipay == null || postageAlipay == ""){
+            layer.msg("请输入支付宝账号!",{icon: 5,time:1000});
+            return;
+        }
         $.ajax({
             cache: true,
             type: "POST",