소스 검색

客户系统

wangxiaoming 5 년 전
부모
커밋
e0bdaa808e
28개의 변경된 파일979개의 추가작업 그리고 444개의 파일을 삭제
  1. 2 14
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/CustomerCommon.java
  2. 2 2
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/SalesOrder.java
  3. 9 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/SalesOrderItem.java
  4. 270 14
      watero-rst-core/src/main/java/com.iamberry.rst.core/dm/ClaimOrder.java
  5. 41 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/dm/DmDealer.java
  6. 0 25
      watero-rst-core/src/main/java/com.iamberry.rst.core/order/Product.java
  7. 1 28
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/CustomerService.java
  8. 2 14
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/dm/ClaimOrderService.java
  9. 0 6
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/product/ProductService.java
  10. 0 30
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/NoreasonBackMapper.java
  11. 9 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/salesOrderMapper.xml
  12. 4 22
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/ClaimOrderServiceImpl.java
  13. 1 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/DmDealerServiceImpl.java
  14. 2 14
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/ClaimOrderMapper.java
  15. 6 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/DmDealerMapper.java
  16. 44 39
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/claimOrderMapper.xml
  17. 46 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/dmDealerMapper.xml
  18. 0 6
      watero-rst-service/src/main/java/com/iamberry/rst/service/product/mapper/ProductMapper.java
  19. 16 3
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/dm/DmDealerController.java
  20. 59 0
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/dm/FinanciaReceController.java
  21. 1 1
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminOrderController.java
  22. 47 4
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminSalesOrderController.java
  23. 23 23
      watero-rst-web/src/main/resources/watero-rst-orm.xml
  24. 6 8
      watero-rst-web/src/main/webapp/WEB-INF/views/dm/dealer/dealer_list.ftl
  25. 16 5
      watero-rst-web/src/main/webapp/WEB-INF/views/dm/financialReceipt/fr_list.ftl
  26. 326 27
      watero-rst-web/src/main/webapp/WEB-INF/views/dm/financialReceipt/order_desc.ftl
  27. 39 157
      watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/select_order_list.ftl
  28. 7 0
      watero-rst-web/src/main/webapp/common/js/common/common.js

+ 2 - 14
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/CustomerCommon.java

@@ -79,11 +79,11 @@ public class CustomerCommon implements Serializable {
     //售后寄出产品表
     private List<SendProdcue> sendProdcues = new ArrayList<SendProdcue>();
     //售后寄出产品配件表
-    private List<SendFitting> sendFittings = new ArrayList<SendFitting>();
+//    private List<SendFitting> sendFittings = new ArrayList<SendFitting>();
     //售后寄回产品表
     private List<ClosedProdcue> closedProdcues = new ArrayList<ClosedProdcue>();
     //售后寄回产品配件表
-    private List<ClosedFitting> closedFittings = new ArrayList<ClosedFitting>();
+//    private List<ClosedFitting> closedFittings = new ArrayList<ClosedFitting>();
     //是否可返修
     private Integer maintenanceIsRepair;
     //品质检测状态
@@ -143,13 +143,7 @@ public class CustomerCommon implements Serializable {
         this.sendProdcues = sendProdcues;
     }
 
-    public List<SendFitting> getSendFittings() {
-        return sendFittings;
-    }
 
-    public void setSendFittings(List<SendFitting> sendFittings) {
-        this.sendFittings = sendFittings;
-    }
 
     public List<ClosedProdcue> getClosedProdcues() {
         return closedProdcues;
@@ -159,13 +153,7 @@ public class CustomerCommon implements Serializable {
         this.closedProdcues = closedProdcues;
     }
 
-    public List<ClosedFitting> getClosedFittings() {
-        return closedFittings;
-    }
 
-    public void setClosedFittings(List<ClosedFitting> closedFittings) {
-        this.closedFittings = closedFittings;
-    }
 
     public Integer getRelationId() {
         return relationId;

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

@@ -59,8 +59,8 @@ public class SalesOrder implements Serializable {
     private Integer salesCompanyId;         //销售公司id
     private Integer salesType;              //订单类型  1:购买2:租赁
     private String salesDealCode;           //交易号
-    private Integer salesOrderStatus;       //订单状态 订单状态:1:正常 2:换货 3:退货  4:维修  5:补发 -- TODO: 2019/1/4 改为 ProcTypeId
-    private String salesOrderStatusProcTypeName;       //订单状态 订单状态:1:正常 2:换货 3:退货  4:维修  5:补发 -- TODO: 2019/1/4 改为 ProcTypeId
+    private Integer salesOrderStatus;       //订单状态 订单状态:1:正常 2:换货 3:退货  4:维修  5:补发 -- 改为 ProcTypeId
+    private String salesOrderStatusProcTypeName;       //订单状态 订单状态:1:正常 2:换货 3:退货  4:维修  5:补发 --  改为 ProcTypeName
     private Integer salesShippingStatus;    //发货状态 0(未发货)1(已发货,即已扫描出库)3(备货中)4(收货) 11(已通知配货,后加)
     private Integer salesDeliver;            //出库状态  1:未出库   2:已出库
     private Integer salesOldDeliver;            //过去的状态 - 出库状态  1:未出库   2:已出库

+ 9 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/SalesOrderItem.java

@@ -22,6 +22,7 @@ public class SalesOrderItem implements Serializable {
     private String itemColorBar;        //产品SKU码(百胜)
     private Integer itemProductPrice;   //产品市场价
     private Integer itemProductDiscount;//产品折扣价
+    private Integer itemTotal;//小结
     private Date itemCreateTime;        //创建时间
     private Integer itemIsSource;       //产品来源 1:产品颜色表,2:配件表
 
@@ -203,4 +204,12 @@ public class SalesOrderItem implements Serializable {
     public void setSalesOrderId(String salesOrderId) {
         this.salesOrderId = salesOrderId;
     }
+
+    public Integer getItemTotal() {
+        return itemTotal;
+    }
+
+    public void setItemTotal(Integer itemTotal) {
+        this.itemTotal = itemTotal;
+    }
 }

+ 270 - 14
watero-rst-core/src/main/java/com.iamberry.rst.core/dm/ClaimOrder.java

@@ -1,19 +1,59 @@
 package com.iamberry.rst.core.dm;
 
-import  java.io.Serializable;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
 /**
  *  认领订单关系类
  * @author xm
- * @Date 2019-07-19
+ * @Date 2019-08-08
  */
 public class ClaimOrder  implements  Serializable{
-    private static final long serialVersionUID = 3245798512953020234L;
+    private static final long serialVersionUID = 3509979174298289542L;
     //认领订单id
     private Integer claimOrderId;
-    //订单id
-    private Integer salesId;
-    //财务收款id'
+    //财务收款id
     private Integer frId;
+    //订单项表
+    private Integer itemId;
+    //类型 1:正常 2:退货
+    private Integer claimOrderType;
+    //产品数量 当类型为退货时,为退货数量
+    private Integer claimOrderNum;
+
+
+
+    private Integer itemOrderId;        //所属订单
+    private Integer itemProductId;      //产品id
+    private Integer itemNum;            //产品数量
+    private Integer itemColorId;        //产品颜色         为配件时存储配件id
+    private Integer itemProductType;    //产品类型id
+    private String itemProductName;     //商品名称
+    private String itemProductPic;      //介绍图
+    private String itemProductColor;    //产品颜色         为配件时存储配件名称
+    private String itemColorBar;        //产品SKU码(百胜)
+    private Integer itemProductPrice;   //产品市场价
+    private Integer itemProductDiscount;//产品折扣价
+    private Integer itemTotal;//小结
+    private Date itemCreateTime;        //创建时间
+    private Integer itemIsSource;       //产品来源 1:产品颜色表,2:配件表
+    private String productAbbreviation;		//商品简称
+    private String colorAbbreviation;	//所属产品简称
+    private String salesOrderId;            //订单号
+    private String salesDealCode;   //交易号
+    private Integer itemReturnNum;   //退货数量
+    private String storeName;   //店铺
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
+    private Date salesPayTime;              //支付时间
+    private String salesAdminName;           //录入人名称
+    private String salesAddressTel;         //收件人电话
+    private String salesAddressName;        //收件人姓名
+    private String salesAddressInfo;        //详细地址
+
 
     public Integer getClaimOrderId(){
         return claimOrderId;
@@ -23,14 +63,6 @@ public class ClaimOrder  implements  Serializable{
         this.claimOrderId=claimOrderId;
     }
 
-    public Integer getSalesId(){
-        return salesId;
-    }
-
-    public void setSalesId(Integer  salesId){
-        this.salesId=salesId;
-    }
-
     public Integer getFrId(){
         return frId;
     }
@@ -38,4 +70,228 @@ public class ClaimOrder  implements  Serializable{
     public void setFrId(Integer  frId){
         this.frId=frId;
     }
+
+    public Integer getItemId(){
+        return itemId;
+    }
+
+    public void setItemId(Integer  itemId){
+        this.itemId=itemId;
+    }
+
+    public Integer getClaimOrderType(){
+        return claimOrderType;
+    }
+
+    public void setClaimOrderType(Integer  claimOrderType){
+        this.claimOrderType=claimOrderType;
+    }
+
+    public Integer getClaimOrderNum(){
+        return claimOrderNum;
+    }
+
+    public void setClaimOrderNum(Integer  claimOrderNum){
+        this.claimOrderNum=claimOrderNum;
+    }
+
+    public Integer getItemOrderId() {
+        return itemOrderId;
+    }
+
+    public void setItemOrderId(Integer itemOrderId) {
+        this.itemOrderId = itemOrderId;
+    }
+
+    public Integer getItemProductId() {
+        return itemProductId;
+    }
+
+    public void setItemProductId(Integer itemProductId) {
+        this.itemProductId = itemProductId;
+    }
+
+    public Integer getItemNum() {
+        return itemNum;
+    }
+
+    public void setItemNum(Integer itemNum) {
+        this.itemNum = itemNum;
+    }
+
+    public Integer getItemColorId() {
+        return itemColorId;
+    }
+
+    public void setItemColorId(Integer itemColorId) {
+        this.itemColorId = itemColorId;
+    }
+
+    public Integer getItemProductType() {
+        return itemProductType;
+    }
+
+    public void setItemProductType(Integer itemProductType) {
+        this.itemProductType = itemProductType;
+    }
+
+    public String getItemProductName() {
+        return itemProductName;
+    }
+
+    public void setItemProductName(String itemProductName) {
+        this.itemProductName = itemProductName;
+    }
+
+    public String getItemProductPic() {
+        return itemProductPic;
+    }
+
+    public void setItemProductPic(String itemProductPic) {
+        this.itemProductPic = itemProductPic;
+    }
+
+    public String getItemProductColor() {
+        return itemProductColor;
+    }
+
+    public void setItemProductColor(String itemProductColor) {
+        this.itemProductColor = itemProductColor;
+    }
+
+    public String getItemColorBar() {
+        return itemColorBar;
+    }
+
+    public void setItemColorBar(String itemColorBar) {
+        this.itemColorBar = itemColorBar;
+    }
+
+    public Integer getItemProductPrice() {
+        return itemProductPrice;
+    }
+
+    public void setItemProductPrice(Integer itemProductPrice) {
+        this.itemProductPrice = itemProductPrice;
+    }
+
+    public Integer getItemProductDiscount() {
+        return itemProductDiscount;
+    }
+
+    public void setItemProductDiscount(Integer itemProductDiscount) {
+        this.itemProductDiscount = itemProductDiscount;
+    }
+
+    public Integer getItemTotal() {
+        return itemTotal;
+    }
+
+    public void setItemTotal(Integer itemTotal) {
+        this.itemTotal = itemTotal;
+    }
+
+    public Date getItemCreateTime() {
+        return itemCreateTime;
+    }
+
+    public void setItemCreateTime(Date itemCreateTime) {
+        this.itemCreateTime = itemCreateTime;
+    }
+
+    public Integer getItemIsSource() {
+        return itemIsSource;
+    }
+
+    public void setItemIsSource(Integer itemIsSource) {
+        this.itemIsSource = itemIsSource;
+    }
+
+    public String getProductAbbreviation() {
+        return productAbbreviation;
+    }
+
+    public void setProductAbbreviation(String productAbbreviation) {
+        this.productAbbreviation = productAbbreviation;
+    }
+
+    public String getColorAbbreviation() {
+        return colorAbbreviation;
+    }
+
+    public void setColorAbbreviation(String colorAbbreviation) {
+        this.colorAbbreviation = colorAbbreviation;
+    }
+
+    public String getSalesOrderId() {
+        return salesOrderId;
+    }
+
+    public void setSalesOrderId(String salesOrderId) {
+        this.salesOrderId = salesOrderId;
+    }
+
+    public String getSalesDealCode() {
+        return salesDealCode;
+    }
+
+    public void setSalesDealCode(String salesDealCode) {
+        this.salesDealCode = salesDealCode;
+    }
+
+    public Integer getItemReturnNum() {
+        return itemReturnNum;
+    }
+
+    public void setItemReturnNum(Integer itemReturnNum) {
+        this.itemReturnNum = itemReturnNum;
+    }
+
+    public String getStoreName() {
+        return storeName;
+    }
+
+    public void setStoreName(String storeName) {
+        this.storeName = storeName;
+    }
+
+    public Date getSalesPayTime() {
+        return salesPayTime;
+    }
+
+    public void setSalesPayTime(Date salesPayTime) {
+        this.salesPayTime = salesPayTime;
+    }
+
+    public String getSalesAdminName() {
+        return salesAdminName;
+    }
+
+    public void setSalesAdminName(String salesAdminName) {
+        this.salesAdminName = salesAdminName;
+    }
+
+    public String getSalesAddressTel() {
+        return salesAddressTel;
+    }
+
+    public void setSalesAddressTel(String salesAddressTel) {
+        this.salesAddressTel = salesAddressTel;
+    }
+
+    public String getSalesAddressName() {
+        return salesAddressName;
+    }
+
+    public void setSalesAddressName(String salesAddressName) {
+        this.salesAddressName = salesAddressName;
+    }
+
+    public String getSalesAddressInfo() {
+        return salesAddressInfo;
+    }
+
+    public void setSalesAddressInfo(String salesAddressInfo) {
+        this.salesAddressInfo = salesAddressInfo;
+    }
 }

+ 41 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/dm/DmDealer.java

@@ -37,6 +37,15 @@ public class DmDealer  implements  Serializable{
     //修改时间'
     private Date updateDate;
 
+    //跟进人名称
+    private String adminName;
+    //该客户的回款总金额
+    private Integer frAmount;
+    //合同开始日期
+    private Date coopAgreeBeforeDate;
+    //合同结束日期
+    private Date coopAgreeEndDate;
+
     //对接人
     private List<DealerContact> dealerContactList = new ArrayList<>();
     //渠道
@@ -173,4 +182,36 @@ public class DmDealer  implements  Serializable{
     public void setCooperationAgreeList(List<CooperationAgree> cooperationAgreeList) {
         this.cooperationAgreeList = cooperationAgreeList;
     }
+
+    public String getAdminName() {
+        return adminName;
+    }
+
+    public void setAdminName(String adminName) {
+        this.adminName = adminName;
+    }
+
+    public Integer getFrAmount() {
+        return frAmount;
+    }
+
+    public void setFrAmount(Integer frAmount) {
+        this.frAmount = frAmount;
+    }
+
+    public Date getCoopAgreeBeforeDate() {
+        return coopAgreeBeforeDate;
+    }
+
+    public void setCoopAgreeBeforeDate(Date coopAgreeBeforeDate) {
+        this.coopAgreeBeforeDate = coopAgreeBeforeDate;
+    }
+
+    public Date getCoopAgreeEndDate() {
+        return coopAgreeEndDate;
+    }
+
+    public void setCoopAgreeEndDate(Date coopAgreeEndDate) {
+        this.coopAgreeEndDate = coopAgreeEndDate;
+    }
 }

+ 0 - 25
watero-rst-core/src/main/java/com.iamberry.rst.core/order/Product.java

@@ -1,6 +1,5 @@
 package com.iamberry.rst.core.order;
 
-import com.iamberry.rst.core.cm.FittingsInfo;
 
 import java.io.Serializable;
 import java.util.ArrayList;
@@ -57,7 +56,6 @@ public class Product implements Serializable {
 
     private List<ProductColor> colorList = new ArrayList<ProductColor>();   //产品颜色集合
 
-    private List<FittingsInfo> fittingsList = new ArrayList<FittingsInfo>();   //产品配件集合
 
     private List<ProductAreaRela> productAreaRelaList = new ArrayList<>();  //区域
 
@@ -148,14 +146,6 @@ public class Product implements Serializable {
         this.typeName = typeName;
     }
 
-    public List<FittingsInfo> getFittingsList() {
-        return fittingsList;
-    }
-
-    public void setFittingsList(List<FittingsInfo> fittingsList) {
-        this.fittingsList = fittingsList;
-    }
-
     public Integer getProductWholesale() {
         return productWholesale;
     }
@@ -212,19 +202,4 @@ public class Product implements Serializable {
         this.colorBar = colorBar;
     }
 
-    @Override
-    public String toString() {
-        return "Product{" +
-                "productId=" + productId +
-                ", productName='" + productName + '\'' +
-                ", productAbbreviation='" + productAbbreviation + '\'' +
-                ", productSalesnum=" + productSalesnum +
-                ", productStatus=" + productStatus +
-                ", productCreateTime=" + productCreateTime +
-                ", productRemark='" + productRemark + '\'' +
-                ", productType=" + productType +
-                ", colorList=" + colorList +
-                ", fittingsList=" + fittingsList +
-                '}';
-    }
 }

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

@@ -2,7 +2,6 @@ package com.iamberry.rst.faces.cm;
 
 import com.iamberry.rst.core.cm.*;
 import com.iamberry.rst.core.fm.ComplaintDetectInfo;
-import com.iamberry.rst.core.fm.ComplaintSignclosedInfo;
 import com.iamberry.rst.core.order.ProductType;
 import com.iamberry.rst.core.page.PagedResult;
 
@@ -69,12 +68,7 @@ public interface CustomerService {
      */
     Map<String,Object> getCustomerInfo(CustomerInfo customerInfo);
 
-    /**
-     * 获取售后退货信息
-     * @param backGoods
-     * @return
-     */
-    BackGoods getBackGoods(BackGoods backGoods);
+
 
     /**
      * 获取无理由退货信息
@@ -84,27 +78,6 @@ public interface CustomerService {
 //    NoreasonBack getNoreasonBack(NoreasonBack noreasonBack);
 
     /**
-     * 获取售后补寄信息
-     * @param reissue
-     * @return
-     */
-    Reissue getReissue(Reissue reissue);
-
-    /**
-     * 获取换新详情和品质检测信息
-     * @param renewed
-     * @return
-     */
-    Renewed getRenewedInfo(Renewed renewed);
-
-    /**
-     * 获取维修详情和品质检测信息
-     * @param repair
-     * @return
-     */
-    Repair getRepairInfo(Repair repair);
-
-    /**
      * 查询寄回和寄出的产品和配件信息
      * @param customerCommon
      * @param isSolve

+ 2 - 14
watero-rst-interface/src/main/java/com/iamberry/rst/faces/dm/ClaimOrderService.java

@@ -15,7 +15,7 @@ public interface ClaimOrderService {
      * @param  claimOrder
      * @return List
      */
-    List<ClaimOrder> getClaimOrderList(ClaimOrder  claimOrder);
+    List<ClaimOrder>  getClaimOrderList(ClaimOrder  claimOrder);
     /**
      * 查询单条数据
      * @param  id
@@ -23,23 +23,11 @@ public interface ClaimOrderService {
      */
     ClaimOrder  getClaimOrderById(Integer  id);
     /**
-     * 增加数据
-     * @param  claimOrder
-     * @return Integer
-     */
-    Integer  save(ClaimOrder  claimOrder);
-    /**
-     * 修改数据
-     * @param  claimOrder
-     * @return Integer
-     */
-    Integer  update(ClaimOrder  claimOrder);
-    /**
      * 删除数据
      * @param  id
      * @return Integer
      */
-    Integer  delete(Integer  id);
+    Integer  deleteByFrId(Integer  frId);
     /**
      * 增加数据 <集合>
      * @param  claimOrderList

+ 0 - 6
watero-rst-interface/src/main/java/com/iamberry/rst/faces/product/ProductService.java

@@ -1,6 +1,5 @@
 package com.iamberry.rst.faces.product;
 
-import com.iamberry.rst.core.cm.FittingsInfo;
 import com.iamberry.rst.core.order.Product;
 import com.iamberry.rst.core.order.ProductColor;
 import com.iamberry.rst.core.order.ProductType;
@@ -108,11 +107,6 @@ public interface ProductService {
 
     //根据客诉id查询产品类型
     ProductType getProductType(Integer customerId);
-    /**
-     * 根据sku查询配件信息
-     * @return
-     */
-    FittingsInfo getFittingsBySku(String colorBar);
 
     /**
      * 根据sku查询颜色信息

+ 0 - 30
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/NoreasonBackMapper.java

@@ -1,36 +1,6 @@
 package com.iamberry.rst.service.cm.mapper;
 
-import com.iamberry.rst.core.cm.NoreasonBack;
-
-import java.util.List;
 
 public interface NoreasonBackMapper {
-    int deleteByPrimaryKey(NoreasonBack noreasonBack);
-
-    int insert(NoreasonBack record);
-
-    int insertSelective(NoreasonBack record);
-
-    NoreasonBack selectByPrimaryKey(Integer noreasonBackId);
-
-    /**
-     * 获取无理由退货信息
-     * @param noreasonBack
-     * @return
-     */
-    NoreasonBack getNoreasonBack(NoreasonBack noreasonBack);
-
-    /**
-     * 修改无理由退货信息
-     * @param record
-     * @return
-     */
-    Integer updateNoreasonBack(NoreasonBack record);
 
-    /**
-     * 查询售后无理由退货集合
-     * @param noreasonBack
-     * @return
-     */
-    List<NoreasonBack> listNoreasonBack(NoreasonBack noreasonBack);
 }

+ 9 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/salesOrderMapper.xml

@@ -1402,11 +1402,13 @@
         select
           tb_rst_sales_order_info.*,
           si.store_name,
-          sc.company_name
+          sc.company_name,
+          sa.admin_name AS  salesAdminName
         from tb_rst_sales_order_info
         LEFT JOIN tb_rst_store_info si ON  tb_rst_sales_order_info.sales_store_id = si.store_id
         LEFT JOIN  tb_rst_sales_company sc ON  tb_rst_sales_order_info.sales_company_id = sc.company_id
         LEFT JOIN tb_rst_sales_order_item oi ON tb_rst_sales_order_info.sales_id = oi.item_order_id
+        LEFT JOIN tb_rst_sys_admin sa ON tb_rst_sales_order_info.sales_admin_id = sa.admin_id
         <where>
             <if test="isCustmerAddOrder !=null and isCustmerAddOrder == 2">
                 AND sales_batch_id != 'KS00000000000001'
@@ -1477,6 +1479,12 @@
             <if test="salesMainOrderId !=null">
                 AND sales_main_order_id = #{salesMainOrderId}
             </if>
+            <if test="salesIds != null and salesIds != ''">
+                AND sales_id IN
+                <foreach collection="salesIds" item="node" index="index" separator="," open="(" close=")">
+                    #{node}
+                </foreach >
+            </if>
             <if test="orderDateType == null or orderDateType == 1">
                 <if test="startDate != null and startDate != ''">
                     AND sales_create_time <![CDATA[>=]]> #{startDate}

+ 4 - 22
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/ClaimOrderServiceImpl.java

@@ -16,7 +16,7 @@ import java.util.List;
 @Service
 public class ClaimOrderServiceImpl  implements ClaimOrderService {
     @Autowired
-    private ClaimOrderMapper claimOrderMapper;
+    private  ClaimOrderMapper  claimOrderMapper;
     /**
      * 获取集合
      * @param  claimOrder
@@ -36,31 +36,13 @@ public class ClaimOrderServiceImpl  implements ClaimOrderService {
         return  claimOrderMapper.getClaimOrderById(id);
     }
     /**
-     * 增加数据
-     * @param  claimOrder
-     * @return Integer
-     */
-    @Override
-    public  Integer  save(ClaimOrder  claimOrder){
-        return  claimOrderMapper.save(claimOrder);
-    }
-    /**
-     * 修改数据
-     * @param  claimOrder
-     * @return Integer
-     */
-    @Override
-    public  Integer  update(ClaimOrder  claimOrder){
-        return  claimOrderMapper.update(claimOrder);
-    }
-    /**
      * 删除数据
      * @param  id
      * @return Integer
      */
     @Override
-    public  Integer  delete(Integer  id){
-        return  claimOrderMapper.delete(id);
+    public  Integer  deleteByFrId(Integer  frId){
+        return  claimOrderMapper.deleteByFrId(frId);
     }
     /**
      * 增加数据 <集合>
@@ -68,7 +50,7 @@ public class ClaimOrderServiceImpl  implements ClaimOrderService {
      * @return Integer
      */
     @Override
-    public  Integer  saveList(List<ClaimOrder> claimOrderList){
+    public  Integer  saveList(List<ClaimOrder>  claimOrderList){
         return  claimOrderMapper.saveList(claimOrderList);
     }
 }

+ 1 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/DmDealerServiceImpl.java

@@ -52,7 +52,7 @@ public class DmDealerServiceImpl  implements DmDealerService {
     @Override
     public PagedResult<DmDealer> listDmDealerPage(PageRequest<DmDealer> pageRequest) {
         PageHelper.startPage(pageRequest.getPageNO(), pageRequest.getPageSize(), pageRequest.isPageTotal());
-        List<DmDealer> dmDealerList = dmDealerMapper.getDmDealerList(pageRequest.getData());
+        List<DmDealer> dmDealerList = dmDealerMapper.listDmDealerPage(pageRequest.getData());
         return PageUtil.getPage(dmDealerList);
     }
 

+ 2 - 14
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/ClaimOrderMapper.java

@@ -15,7 +15,7 @@ public interface ClaimOrderMapper {
      * @param  claimOrder
      * @return List
      */
-    List<ClaimOrder> getClaimOrderList(ClaimOrder claimOrder);
+    List<ClaimOrder>  getClaimOrderList(ClaimOrder  claimOrder);
     /**
      * 查询单条数据
      * @param  id
@@ -23,23 +23,11 @@ public interface ClaimOrderMapper {
      */
     ClaimOrder  getClaimOrderById(Integer  id);
     /**
-     * 增加数据
-     * @param  claimOrder
-     * @return Integer
-     */
-    Integer  save(ClaimOrder  claimOrder);
-    /**
-     * 修改数据
-     * @param  claimOrder
-     * @return Integer
-     */
-    Integer  update(ClaimOrder  claimOrder);
-    /**
      * 删除数据
      * @param  id
      * @return Integer
      */
-    Integer  delete(Integer  id);
+    Integer  deleteByFrId(Integer  frId);
     /**
      * 增加数据 <集合>
      * @param  claimOrderList

+ 6 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/DmDealerMapper.java

@@ -23,6 +23,12 @@ public interface DmDealerMapper {
      */
     List<DmDealer> getDmDealerListToFr(DmDealer  dmDealer);
     /**
+     * 获取集合
+     * @param  dmDealer
+     * @return List
+     */
+    List<DmDealer> listDmDealerPage(DmDealer  dmDealer);
+    /**
      * 查询单条数据
      * @param  id
      * @return  dmDealer

+ 44 - 39
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/claimOrderMapper.xml

@@ -3,25 +3,50 @@
 <mapper namespace="com.iamberry.rst.service.dm.mapper.ClaimOrderMapper">
     <resultMap  id="BaseResultMap" type="ClaimOrder" >
         <result    column="claim_order_id"    property="claimOrderId" />
-        <result    column="sales_id"    property="salesId" />
         <result    column="fr_id"    property="frId" />
+        <result    column="item_id"    property="itemId" />
+        <result    column="claim_order_type"    property="claimOrderType" />
+        <result    column="claim_order_num"    property="claimOrderNum" />
     </resultMap>
     <sql    id="Base_List" >
         t.claim_order_id,
-        t.sales_id,
-        t.fr_id
+        t.fr_id,
+        t.item_id,
+        t.claim_order_type,
+        t.claim_order_num
     </sql>
     <select id="getClaimOrderList" resultMap="BaseResultMap" parameterType="ClaimOrder" >
         select
-        <include refid="Base_List" />
+        <include refid="Base_List" />,
+        soi.*,
+        oi.sales_deal_code,
+        oi.sales_pay_time,
+        oi.sales_address_name,
+        oi.sales_address_tel,
+        oi.sales_address_info,
+        si.store_name,
+        sa.admin_name AS salesAdminName
         from tb_rst_dm_claim_order t
+        LEFT JOIN tb_rst_sales_order_item soi ON soi.item_id = t.item_id
+        LEFT JOIN tb_rst_sales_order_info oi ON oi.sales_id = soi.item_order_id
+        LEFT JOIN tb_rst_store_info si ON si.store_id = oi.sales_store_id
+        LEFT JOIN tb_rst_sys_admin sa ON sa.admin_id = oi.sales_admin_id
         <where>
-            <if test="salesId != null ">
-                AND t.sales_id = #{salesId}
+            <if test="claimOrderId != null ">
+                AND t.claim_order_id = #{claimOrderId}
             </if >
             <if test="frId != null ">
                 AND t.fr_id = #{frId}
             </if >
+            <if test="itemId != null ">
+                AND t.item_id = #{itemId}
+            </if >
+            <if test="claimOrderType != null ">
+                AND t.claim_order_type = #{claimOrderType}
+            </if >
+            <if test="claimOrderNum != null ">
+                AND t.claim_order_num = #{claimOrderNum}
+            </if >
         </where>
     </select>
     <select id="getClaimOrderById" resultMap="BaseResultMap" parameterType="Integer" >
@@ -30,49 +55,29 @@
         from tb_rst_dm_claim_order t
         where t.claim_order_id= #{claimOrderId}
     </select>
-    <insert id="save" parameterType="ClaimOrder" >
-        insert into
-        tb_rst_dm_claim_order
-        (
-        sales_id,
-        fr_id
-        )
-        values
-        (
-        #{salesId},
-        #{frId}
-        )
-    </insert>
-    <update id="update" parameterType="ClaimOrder" >
-        update
-        tb_rst_dm_claim_order
-        <set >
-            <if test="salesId != null ">
-                sales_id = #{salesId},
-            </if >
-            <if test="frId != null ">
-                fr_id = #{frId}
-            </if >
-        </set >
-        where claim_order_id= #{claimOrderId}
-    </update>
-    <delete id="delete" parameterType="Integer" >
-        delete
+    <delete id="deleteByFrId" parameterType="Integer" >
+        delete FROM
         tb_rst_dm_claim_order
-        where claim_order_id=#{claimOrderId}
+        where fr_id = #{frId}
     </delete>
     <insert id="saveList" parameterType="java.util.List" >
         insert into
         tb_rst_dm_claim_order
         (
-        sales_id,
-        fr_id
+        claim_order_id,
+        fr_id,
+        item_id,
+        claim_order_type,
+        claim_order_num
         )
         values
         <foreach collection="list" item="node" index="index" separator="," open="" close="">
             (
-            #{node.salesId},
-            #{node.frId}
+            #{node.claimOrderId},
+            #{node.frId},
+            #{node.itemId},
+            #{node.claimOrderType},
+            #{node.claimOrderNum}
             )
         </foreach >
     </insert>

+ 46 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/dmDealerMapper.xml

@@ -62,6 +62,52 @@
         ORDER BY t.dealer_id DESC
     </select>
 
+    <select id="listDmDealerPage" resultMap="BaseResultMap" parameterType="DmDealer" >
+        select
+        <include refid="Base_List" />,
+        cax.coop_agree_before_date,
+        cax2.coop_agree_end_date,
+        SUM(fr.fr_amount) AS  frAmount,
+        sa.admin_name AS adminName
+        from tb_rst_dm_dealer t
+        LEFT JOIN (
+          SELECT ca.dealer_id,MIN(ca.coop_agree_before_date) AS coop_agree_before_date FROM tb_rst_dm_cooperation_agree ca GROUP BY ca.dealer_id
+        )cax ON cax.dealer_id = t.dealer_id
+        LEFT JOIN (
+        SELECT ca2.dealer_id,MAX(ca2.coop_agree_end_date) AS coop_agree_end_date FROM tb_rst_dm_cooperation_agree ca2 GROUP BY ca2.dealer_id
+        )cax2 ON cax2.dealer_id = t.dealer_id
+        LEFT JOIN tb_rst_dm_financial_receipt fr ON t.dealer_id = fr.dealer_id
+        LEFT JOIN tb_rst_sys_admin sa ON t.create_id = sa.admin_id
+        <where>
+            <if test="dealerId != null ">
+                AND t.dealer_id = #{dealerId}
+            </if >
+            <if test="dealerName != null and dealerName != ''">
+                AND t.dealer_name  like  CONCAT ('%',#{dealerName},'%')
+            </if >
+            <if test="dealerIndustry != null and dealerIndustry != ''">
+                AND t.dealer_industry  like  CONCAT ('%',#{dealerIndustry},'%')
+            </if >
+            <if test="dealerType != null ">
+                AND t.dealer_type = #{dealerType}
+            </if >
+            <if test="dealerState != null ">
+                AND t.dealer_state = #{dealerState}
+            </if >
+            <if test="dealerSelfOperated != null ">
+                AND t.dealer_self_operated = #{dealerSelfOperated}
+            </if >
+            <if test="dealerStatus != null ">
+                AND t.dealer_status = #{dealerStatus}
+            </if >
+            <if test="createId != null ">
+                AND t.create_id = #{createId}
+            </if >
+        </where>
+        GROUP BY t.dealer_id
+        ORDER BY t.dealer_id DESC
+    </select>
+
     <select id="getDmDealerListToFr" resultType="DmDealer" parameterType="DmDealer" >
         select
           t.dealer_id,

+ 0 - 6
watero-rst-service/src/main/java/com/iamberry/rst/service/product/mapper/ProductMapper.java

@@ -1,6 +1,5 @@
 package com.iamberry.rst.service.product.mapper;
 
-import com.iamberry.rst.core.cm.FittingsInfo;
 import com.iamberry.rst.core.order.ProductColor;
 import com.iamberry.rst.core.order.Product;
 import com.iamberry.rst.core.order.ProductType;
@@ -89,11 +88,6 @@ public interface ProductMapper {
     ProductType getProductType(Integer customerId);
 
     /**
-     * 根据sku查询配件信息
-     * @return
-     */
-    FittingsInfo getFittingsBySku(String colorBar);
-    /**
      * 根据sku查询颜色信息
      * @return
      */

+ 16 - 3
watero-rst-web/src/main/java/com/iamberry/rst/controllers/dm/DmDealerController.java

@@ -4,6 +4,7 @@ import com.iamberry.rst.core.cm.StoreInfo;
 import com.iamberry.rst.core.dm.*;
 import com.iamberry.rst.core.page.PageRequest;
 import com.iamberry.rst.core.page.PagedResult;
+import com.iamberry.rst.core.sys.Admin;
 import com.iamberry.rst.faces.cm.StoreInfoService;
 import com.iamberry.rst.faces.dm.*;
 import com.iamberry.rst.faces.sys.SysService;
@@ -11,7 +12,9 @@ import com.iamberry.rst.utils.AdminUtils;
 import com.iamberry.rst.utils.StitchAttrUtil;
 import com.iamberry.rst.utils.UploadFileUtils;
 import com.iamberry.wechat.tools.ResponseJson;
+import net.sf.ezmorph.object.DateMorpher;
 import net.sf.json.JSONArray;
+import net.sf.json.util.JSONUtils;
 import org.apache.shiro.authz.annotation.Logical;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.slf4j.Logger;
@@ -66,10 +69,13 @@ public class DmDealerController {
                                           @RequestParam(value = "pageNO", defaultValue = "1", required = false) Integer pageNO,
                                           @RequestParam(value = "totalNum", defaultValue = "0", required = false) Integer totalNum) {
         ModelAndView mv = new ModelAndView("dm/dealer/dealer_list");
-        //获取登录员工id
-        Integer adminId = AdminUtils.getLoginAdminId();
 
-        dmDealer.setCreateId(adminId);
+        Admin admin = AdminUtils.getLoginAdmin();
+        if(admin.getAdminDept() != 2){
+            //获取登录员工id
+            Integer adminId = AdminUtils.getLoginAdminId();
+            dmDealer.setCreateId(adminId);
+        }
 
         // 封装请求数据
         PageRequest<DmDealer> pageRequest = new PageRequest<>(dmDealer, pageNO, pageSize, totalNum == 0);
@@ -79,6 +85,9 @@ public class DmDealerController {
             result.setTotal(totalNum);
         }
         StitchAttrUtil.getSa().setModelAndView(dmDealer, mv, "/admin/dealer/list_page_dealer", result);
+
+        mv.addObject("admin",admin);
+
         return mv;
     }
 
@@ -379,6 +388,10 @@ public class DmDealerController {
             dmDealer.setDealerProductList(dealerProductList);
         }
         if(add_coop_agree_json != null && !"".equals(add_coop_agree_json)){
+
+            String[] dateFormats = new String[] {"yyyy-MM-dd"};
+            JSONUtils.getMorpherRegistry().registerMorpher(new DateMorpher(dateFormats));
+
             JSONArray jsonArray = JSONArray.fromObject(add_coop_agree_json);
             List<CooperationAgree> cooperationAgreeList =  (List) JSONArray.toCollection(jsonArray, CooperationAgree.class);
             dmDealer.setCooperationAgreeList(cooperationAgreeList);

+ 59 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/dm/FinanciaReceController.java

@@ -1,15 +1,19 @@
 package com.iamberry.rst.controllers.dm;
 
+import com.iamberry.rst.core.dm.ClaimOrder;
 import com.iamberry.rst.core.dm.DmDealer;
 import com.iamberry.rst.core.dm.FinancialReceipt;
 import com.iamberry.rst.core.page.PageRequest;
 import com.iamberry.rst.core.page.PagedResult;
+import com.iamberry.rst.core.sys.Admin;
+import com.iamberry.rst.faces.dm.ClaimOrderService;
 import com.iamberry.rst.faces.dm.DmDealerService;
 import com.iamberry.rst.faces.dm.FinancialReceiptService;
 import com.iamberry.rst.faces.sys.SysService;
 import com.iamberry.rst.utils.AdminUtils;
 import com.iamberry.rst.utils.StitchAttrUtil;
 import com.iamberry.wechat.tools.ResponseJson;
+import net.sf.json.JSONArray;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -21,6 +25,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Objects;
@@ -36,6 +41,8 @@ public class FinanciaReceController {
     private FinancialReceiptService financialReceiptService;
     @Autowired
     private DmDealerService dmDealerService;
+    @Autowired
+    private ClaimOrderService claimOrderService;
 
 
     /**
@@ -53,6 +60,9 @@ public class FinanciaReceController {
                                           @RequestParam(value = "totalNum", defaultValue = "0", required = false) Integer totalNum) {
         ModelAndView mv = new ModelAndView("dm/financialReceipt/fr_list");
 
+        Admin admin = AdminUtils.getLoginAdmin();
+        mv.addObject("admin",admin);
+
         // 封装请求数据
         PageRequest<FinancialReceipt> pageRequest = new PageRequest<>(financialReceipt, pageNO, pageSize, totalNum == 0);
         // 查询订单列表
@@ -279,7 +289,56 @@ public class FinanciaReceController {
         mv.addObject("frId",frId);
         FinancialReceipt fr = financialReceiptService.getFinancialReceiptById(frId);
         mv.addObject("fr",fr);
+
+        ClaimOrder claimOrder = new ClaimOrder();
+        claimOrder.setFrId(frId);
+        List<ClaimOrder> claimOrderList = claimOrderService.getClaimOrderList(claimOrder);
+        mv.addObject("claimOrderList",claimOrderList);
         return mv;
     }
 
+    /**
+     * 绑定订单
+     * @param request
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions("dm:financialReceipt:recognize")
+    @RequestMapping("/claim_order")
+    public ResponseJson claimOrder(HttpServletRequest request,Integer frId,String claimOrderJson) {
+        ResponseJson rj = ResponseJson.getSUCCESS();
+
+        List<ClaimOrder> claimOrderList = new ArrayList<>();
+        if(claimOrderJson != null && !"".equals(claimOrderJson)){
+            JSONArray jsonArray = JSONArray.fromObject(claimOrderJson);
+            claimOrderList =  (List) JSONArray.toCollection(jsonArray, ClaimOrder.class);
+        }else{
+            rj = ResponseJson.getFAILURE();
+            return  rj;
+        }
+
+        //删除所有绑定的订单
+        claimOrderService.deleteByFrId(frId);
+
+        for (ClaimOrder claimOrder:claimOrderList) {
+            claimOrder.setFrId(frId);
+        }
+
+        Integer flag = claimOrderService.saveList(claimOrderList);
+
+        if(flag > 0){
+            FinancialReceipt financialReceipt = new FinancialReceipt();
+            financialReceipt.setFrId(frId);
+            financialReceipt.setFrClaimStatus(3);
+            financialReceiptService.update(financialReceipt);
+        }
+
+        if(flag > 0){
+            rj.setResultMsg("绑定成功");
+            return rj;
+        }else{
+            rj = ResponseJson.getFAILURE();
+            return  rj;
+        }
+    }
 }

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

@@ -1175,7 +1175,7 @@ public class AdminOrderController {
                 salesOrder.setSalesAddressInfo(efastOrder.getOrderProvince()+" "+efastOrder.getOrderCity()+" "+efastOrder.getOrderArea()+" "+myaddress);
                 try{
                     String newArea  = efastOrder.getOrderArea();
-                    newArea = newArea.replaceAll("自治区|地区|自治县","");
+                    newArea = newArea.replaceAll("高新技术产业开发区|高新技术开发区|技术开发区|经济开发区|自治区|地区|自治县","");
 
                     String lastNewArea  = newArea.substring(newArea.length()-1,newArea.length());
                     lastNewArea = lastNewArea.replaceAll("县|区|镇|乡|市|州|洲","");

+ 47 - 4
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminSalesOrderController.java

@@ -1,9 +1,6 @@
 package com.iamberry.rst.controllers.order;
 
-import com.iamberry.rst.core.cm.CompanyInfo;
-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.cm.*;
 import com.iamberry.rst.core.order.*;
 import com.iamberry.rst.core.page.PagedResult;
 import com.iamberry.rst.core.sys.Admin;
@@ -1910,7 +1907,53 @@ public class AdminSalesOrderController {
     @RequestMapping("/to_select_order")
     public ModelAndView toSelectOrder(HttpServletRequest request){
         ModelAndView mv = new ModelAndView("order/salesOrder/select_order_list");
+
+        //获取销售公司
+        List<CompanyInfo> companyInfoList = companyInfoService.listCompanyInfo(new CompanyInfo());
+        mv.addObject("companyInfoList", companyInfoList);
         return mv;
     }
 
+    /**
+     * 获取订单集合
+     *
+     * @param request
+     * @param salesOrder
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping(value = "/select_order_page")
+    public ResponseJson listOrder(HttpServletRequest request, SalesOrder salesOrder,
+                                  @RequestParam(value = "pageSize", defaultValue = "20", required = false) Integer pageSize,
+                                  @RequestParam(value = "pageNO", defaultValue = "1", required = false) Integer pageNO,
+                                  @RequestParam(value = "totalNum", defaultValue = "0", required = false) Integer totalNum) {
+
+        //分页获取订单信息
+        PagedResult<SalesOrder> pagedResult = salesOrderService.salesOrderListAndItemPage(pageNO, pageSize, salesOrder, totalNum == 0);
+
+        ResponseJson rj = new ResponseJson(200, "查询成功", 200);
+        rj.addResponseKeyValue("pagedResult", pagedResult);
+        return rj;
+    }
+
+    /**
+     * 获取订单集合
+     * @param request
+     * @param salesOrder
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping(value = "/select_order_desc")
+    public ResponseJson selectOrderDesc(HttpServletRequest request, SalesOrder salesOrder,String ids) {
+        if (ids != null && ids.indexOf("_") > -1) {
+            String[] salesIds = ids.split("_");
+            salesOrder.setSalesIds(salesIds);
+        }
+        List<SalesOrder> salesOrderList = salesOrderService.salesOrderListAndItem(salesOrder);
+        ResponseJson rj = new ResponseJson(200, "查询成功", 200);
+        rj.addResponseKeyValue("salesOrderList", salesOrderList);
+        return rj;
+    }
+
+
 }

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

@@ -71,19 +71,24 @@
 		<typeAlias type="com.iamberry.rst.core.pts.WechatMp" alias="WechatMp"/>
 
 
-		<typeAlias type="com.iamberry.rst.core.cm.BackGoods" alias="BackGoods"/>
+	<!--	<typeAlias type="com.iamberry.rst.core.cm.BackGoods" alias="BackGoods"/>
 		<typeAlias type="com.iamberry.rst.core.cm.ClosedFitting" alias="ClosedFitting"/>
+		<typeAlias type="com.iamberry.rst.core.cm.NoreasonBack" alias="NoreasonBack"/>
+		<typeAlias type="com.iamberry.rst.core.cm.Reissue" alias="Reissue"/>
+		<typeAlias type="com.iamberry.rst.core.cm.Renewed" alias="Renewed"/>
+		<typeAlias type="com.iamberry.rst.core.cm.Repair" alias="Repair"/>
+		<typeAlias type="com.iamberry.rst.core.cm.FittingsInfo" alias="FittingsInfo"/>-->
+
+
+
+
+
 		<typeAlias type="com.iamberry.rst.core.cm.ClosedProdcue" alias="ClosedProdcue"/>
 		<typeAlias type="com.iamberry.rst.core.cm.CompanyInfo" alias="CompanyInfo"/>
 		<typeAlias type="com.iamberry.rst.core.cm.ComplaintQuestionInfo" alias="ComplaintQuestionInfo"/>
 		<typeAlias type="com.iamberry.rst.core.cm.ComplaintTypeInfo" alias="ComplaintTypeInfo"/>
 		<typeAlias type="com.iamberry.rst.core.cm.CustomerInfo" alias="CustomerInfo"/>
-		<typeAlias type="com.iamberry.rst.core.cm.FittingsInfo" alias="FittingsInfo"/>
-		<typeAlias type="com.iamberry.rst.core.cm.NoreasonBack" alias="NoreasonBack"/>
 		<typeAlias type="com.iamberry.rst.core.cm.QuestionDescribe" alias="QuestionDescribe"/>
-		<typeAlias type="com.iamberry.rst.core.cm.Reissue" alias="Reissue"/>
-		<typeAlias type="com.iamberry.rst.core.cm.Renewed" alias="Renewed"/>
-		<typeAlias type="com.iamberry.rst.core.cm.Repair" alias="Repair"/>
 		<typeAlias type="com.iamberry.rst.core.cm.SalesOrder" alias="SalesOrder"/>
 		<typeAlias type="com.iamberry.rst.core.cm.SalesOrderItem" alias="SalesOrderItem"/>
 		<typeAlias type="com.iamberry.rst.core.cm.SendFitting" alias="SendFitting"/>
@@ -131,14 +136,6 @@
 		<typeAlias type="com.iamberry.rst.core.address.District" alias="District"/>
 		<typeAlias type="com.iamberry.rst.core.address.Province" alias="Province"/>
 
-		<typeAlias type="com.iamberry.rst.core.customer.BillingInfo" alias="BillingInfo"/>
-		<typeAlias type="com.iamberry.rst.core.customer.ChannelDivisionInfo" alias="ChannelDivisionInfo"/>
-		<typeAlias type="com.iamberry.rst.core.customer.ChannelSaleInfo" alias="ChannelSaleInfo"/>
-		<typeAlias type="com.iamberry.rst.core.customer.CustomerBasicInfo" alias="CustomerBasicInfo"/>
-		<typeAlias type="com.iamberry.rst.core.customer.DockedContactInfo" alias="DockedContactInfo"/>
-		<typeAlias type="com.iamberry.rst.core.customer.TicketOpeningInfo" alias="TicketOpeningInfo"/>
-		<typeAlias type="com.iamberry.rst.core.customer.LowestPriceInfo" alias="LowestPriceInfo"/>
-
 		<typeAlias type="com.iamberry.rst.core.tools.LogisticsInfo" alias="LogisticsInfo"/>
 		<typeAlias type="com.iamberry.rst.core.order.DownsingleRuleInfo" alias="DownsingleRuleInfo"/>
 		<typeAlias type="com.iamberry.rst.core.order.DownsingleRuleItemInfo" alias="DownsingleRuleItemInfo"/>
@@ -269,22 +266,27 @@
 		<mapper resource="com/iamberry/rst/service/pts/mapper/ptsBatchMapper.xml"/>
 		<mapper resource="com/iamberry/rst/service/pts/mapper/ptsSalesCompanyMapper.xml"/>
 
+
+
+	<!--	<mapper resource="com/iamberry/rst/service/cm/mapper/noreasonBackMapper.xml"/>
 		<mapper resource="com/iamberry/rst/service/cm/mapper/backGoodsMapper.xml"/>
-		<mapper resource="com/iamberry/rst/service/cm/mapper/closedFittingMapper.xml"/>
+		<mapper resource="com/iamberry/rst/service/cm/mapper/reissueMapper.xml"/>
+		<mapper resource="com/iamberry/rst/service/cm/mapper/renewedMapper.xml"/>
+		<mapper resource="com/iamberry/rst/service/cm/mapper/repairMapper.xml"/>
+		<mapper resource="com/iamberry/rst/service/cm/mapper/sendFittingMapper.xml"/>
+		<mapper resource="com/iamberry/rst/service/cm/mapper/fittingsInfoMapper.xml"/>
+		<mapper resource="com/iamberry/rst/service/cm/mapper/closedFittingMapper.xml"/>-->
+
+
+
 		<mapper resource="com/iamberry/rst/service/cm/mapper/closedProdcueMapper.xml"/>
 		<mapper resource="com/iamberry/rst/service/cm/mapper/complaintQuestionInfoMapper.xml"/>
 		<mapper resource="com/iamberry/rst/service/cm/mapper/complaintTypeInfoMapper.xml"/>
 		<mapper resource="com/iamberry/rst/service/cm/mapper/customerInfoMapper.xml"/>
-		<mapper resource="com/iamberry/rst/service/cm/mapper/noreasonBackMapper.xml"/>
 		<mapper resource="com/iamberry/rst/service/cm/mapper/questionDescribeMapper.xml"/>
-		<mapper resource="com/iamberry/rst/service/cm/mapper/reissueMapper.xml"/>
-		<mapper resource="com/iamberry/rst/service/cm/mapper/renewedMapper.xml"/>
-		<mapper resource="com/iamberry/rst/service/cm/mapper/repairMapper.xml"/>
-		<mapper resource="com/iamberry/rst/service/cm/mapper/sendFittingMapper.xml"/>
 		<mapper resource="com/iamberry/rst/service/cm/mapper/sendProdcueMapper.xml"/>
 		<mapper resource="com/iamberry/rst/service/cm/mapper/visitMapper.xml"/>
 		<mapper resource="com/iamberry/rst/service/cm/mapper/companyInfoMapper.xml"/>
-		<mapper resource="com/iamberry/rst/service/cm/mapper/fittingsInfoMapper.xml"/>
 		<mapper resource="com/iamberry/rst/service/cm/mapper/salesOrderMapper.xml"/>
 		<mapper resource="com/iamberry/rst/service/cm/mapper/storeInfoMapper.xml"/>
 		<mapper resource="com/iamberry/rst/service/cm/mapper/customerCommonMapper.xml"/>
@@ -309,8 +311,6 @@
 
 		<mapper resource="com/iamberry/rst/service/address/mapper/addressMapper.xml"/>
 
-		<mapper resource="com/iamberry/rst/service/customer/mapper/CustomerBasicMapper.xml"/>
-
 		<mapper resource="com/iamberry/rst/service/order/mapper/orderMapper.xml"/>
 		<mapper resource="com/iamberry/rst/service/order/mapper/orderBatchMapper.xml"/>
 		<mapper resource="com/iamberry/rst/service/order/mapper/logisticsInfoMapper.xml"/>

+ 6 - 8
watero-rst-web/src/main/webapp/WEB-INF/views/dm/dealer/dealer_list.ftl

@@ -38,7 +38,7 @@
 </nav>
 <div class="page-container">
     <div class="text-c ulc_question" code="returnCode" msg="resultMsg" data="returnMsg" urlPrefix="${path}">
-        <form action="${path}/admin/complaintQuestion/question_page" method="post">
+        <form action="${path}/admin/dealer/list_page_dealer" method="post">
             <button type="button" style="cursor:pointer; float: left;height: 35px;margin-right: 30px;margin-bottom: 10px;" class="my-btn-search" onclick="toAdddealer();">添加客户</button>
 
 
@@ -80,7 +80,6 @@
             <th width="40">合作状态</th>
             <th width="40">首次合作时间</th>
             <th width="60">合同有效期</th>
-            <th width="60">订单总数</th>
             <th width="60">总金额</th>
             <th width="60">客户备注</th>
             <th width="60">跟进客户经理</th>
@@ -110,12 +109,11 @@
                                     停止合作
                                 </#if>
                             </td>
-                            <td></td>
-                            <td></td>
-                            <td></td>
-                            <td></td>
+                            <td>${(dmDealer.coopAgreeBeforeDate?string("yyyy-MM-dd"))!''}</td>
+                            <td>${(dmDealer.coopAgreeEndDate?string("yyyy-MM-dd"))!''}</td>
+                            <td>${((dmDealer.frAmount/100)?string("0.##"))!'0'}</td>
                             <td>${dmDealer.dealerRemarks!''}</td>
-                            <td></td>
+                            <td>${dmDealer.adminName!''}</td>
                             <td>
 
                                 <a style="text-decoration:none" href="javascript:void(0);" title="修改" onclick="toUpdateDealer(${dmDealer.dealerId!''})">
@@ -143,7 +141,7 @@
                         </tr>
                     </#list>
             <#else>
-                <tr><td colspan="8" class="td-manage text-c" >暂时没有客户信息,请添加!</td></tr>
+                <tr><td colspan="12" class="td-manage text-c" >暂时没有客户信息,请添加!</td></tr>
             </#if>
         </tbody>
     </table>

+ 16 - 5
watero-rst-web/src/main/webapp/WEB-INF/views/dm/financialReceipt/fr_list.ftl

@@ -34,7 +34,9 @@
 <div class="page-container">
     <div class="text-c ulc_question" code="returnCode" msg="resultMsg" data="returnMsg" urlPrefix="${path}">
         <form action="${path}/admin/financial_receipt/list_page_fr" method="post">
-            <button type="button" style="cursor:pointer; float: left;height: 35px;margin-right: 30px;margin-bottom: 10px;" class="my-btn-search" onclick="toAddFr();">添加收款</button>
+            <#if admin.adminDept == 5 || admin.adminDept == 1>
+                <button type="button" style="cursor:pointer; float: left;height: 35px;margin-right: 30px;margin-bottom: 10px;" class="my-btn-search" onclick="toAddFr();">添加收款</button>
+            </#if>
 
             <select class="my-select" name="frClaimStatus" id="frClaimStatus" style="height: 36px;width: 132px;margin: 0px;padding: 12px 10px 6px 15px;margin-bottom: 10px;">
                 <option value="">认领进度</option>
@@ -82,17 +84,19 @@
                                    已认领
                                <#elseif financialReceipt.frClaimStatus == 2>
                                     未认领
+                               <#elseif financialReceipt.frClaimStatus == 3>
+                                    已绑定订单
                                </#if>
                             </td>
                             <td>
-                                <#if financialReceipt.frClaimStatus == 1>
+                                <#if financialReceipt.frClaimStatus == 1 || financialReceipt.frClaimStatus == 3>
                                     ${financialReceipt.frClaimAdminName!''}
                                 <#elseif financialReceipt.frClaimStatus == 2>
                                     -
                                 </#if>
                             </td>
                             <td>
-                                <#if financialReceipt.frClaimStatus == 1>
+                                <#if financialReceipt.frClaimStatus == 1 || financialReceipt.frClaimStatus == 3>
                                     ${(financialReceipt.frClaimDate?string("yyyy-MM-dd"))!''}</br>
                                     ${(financialReceipt.frClaimDate?string("HH:mm:ss"))!''}
                                 <#elseif financialReceipt.frClaimStatus == 2>
@@ -100,7 +104,7 @@
                                 </#if>
                             </td>
                             <td>
-                                <#if financialReceipt.frClaimStatus == 1>
+                                <#if financialReceipt.frClaimStatus == 1 || financialReceipt.frClaimStatus == 3>
                                     ${financialReceipt.dealerName!''}
                                 <#elseif financialReceipt.frClaimStatus == 2>
                                     -
@@ -119,11 +123,13 @@
                             </td>
                             <td>
 
-                                <#if financialReceipt.frClaimStatus == 1 || financialReceipt.frClaimStatus == 2>
+                            <#if admin.adminDept == 5 || admin.adminDept == 1>
+                                <#if financialReceipt.frClaimStatus == 1 || financialReceipt.frClaimStatus == 2 >
                                         <a style="text-decoration:none" href="javascript:void(0);" title="修改信息" onclick="toUpdateFr(${financialReceipt.frId!''})">
                                             <font color=#06c>修改</font>
                                         </a>
                                 </#if>
+                            </#if>
 
                                 <#if financialReceipt.frClaimStatus == 2>
                                        <a style="text-decoration:none" href="javascript:void(0);" title="绑定客户" onclick="claimDelaer(${financialReceipt.frId!''},1)">
@@ -141,6 +147,11 @@
                                             <font color=#06c>绑定订单</font>
                                        </a>
                                 </#if>
+                                <#if financialReceipt.frClaimStatus == 3>
+                                    <a style="text-decoration:none" href="javascript:void(0);" title="继续绑定订单" onclick="toOrderDesc(${financialReceipt.frId!''})">
+                                        <font color=#06c>继续绑定订单</font>
+                                    </a>
+                                </#if>
 
                                <#if financialReceipt.frClaimStatus == 2>
                                    <a style="text-decoration:none" href="javascript:void(0);" title="删除" onclick="toUpdateDealer(${financialReceipt.frId!''})">

+ 326 - 27
watero-rst-web/src/main/webapp/WEB-INF/views/dm/financialReceipt/order_desc.ftl

@@ -51,7 +51,10 @@
 </nav>
 <article class="page-container" style="padding: 10px;">
     <div class="pd-20 cl" style="padding-top: 0px;">
-        <form action="${path}/admin/financial_receipt/finan_rece_save" method="post" class="form form-horizontal" id="form-fr"  onkeydown="if(event.keyCode==13)return false;">
+        <form action="${path}/admin/financial_receipt/claim_order" method="post" class="form form-horizontal" id="form-fr"  onkeydown="if(event.keyCode==13)return false;">
+
+            <input type="hidden" id="frId" name="frId" value="${fr.frId!'0'}">
+            <input type="hidden" id="claimOrderJson" name="claimOrderJson" value="">
 
             <div class="row cl">
                 <label class="form-label col-3">
@@ -100,37 +103,122 @@
 
             <div class="row cl" id="" style="">
                 <div class="formControls col-5 col-sm-5" style="padding-top: 3px;">
-                    <button type="button" class="btn btn-primary" onclick="selectOrder()">添加订单</button>
+                    <button type="button" class="btn btn-primary" onclick="selectOrder(1)">添加正常订单</button>
                 </div>
             </div>
 
-            <table class="table table-border table-bordered table-bg table-hover table-sort">
-                <thead>
-                    <tr class="text-c">
-                        <th>订单状态</th>
-                        <th>待结算金额</th>
-                        <th>订单号</th>
-                        <th>交易号</th>
-                        <th>所属店铺</th>
-                        <th>订单产品</th>
-                        <th>下单日期</th>
-                        <th>下单客服</th>
-                        <th>收货人信息</th>
-                        <th>收货人地址</th>
-                    </tr>
-                </thead>
-                <tbody id="orderAll">
-                    <tr class="text-c">
-
-                    </tr>
-                </tbody>
-            </table>
+            <div class="row cl" id="" style="">
+                <div class="formControls col-12 col-sm-12" >
+                    <table class="table table-border table-bordered table-bg table-hover table-sort">
+                        <thead>
+                        <tr class="text-c">
+                            <th>待结算金额</th>
+                            <th>交易号</th>
+                            <th>所属店铺</th>
+                            <th>产品</th>
+                            <th>颜色</th>
+                            <th>售价</th>
+                            <th>数量</th>
+                            <th>下单日期</th>
+                            <th>下单客服</th>
+                            <th>收货人信息</th>
+                            <th>收货人地址</th>
+                            <th>操作</th>
+                        </tr>
+                        </thead>
+                        <tbody id="orderAll">
+                            <#if claimOrderList?? &&  (claimOrderList?size > 0) >
+                                <#list claimOrderList as claimOrder>
+                                    <#if claimOrder.claimOrderType == 1 >
+                                        <tr class="text-c order_item itemNum_${claimOrder_index}" orderItem="1">
+                                            <input type="hidden" class="itemId" value="${claimOrder.itemId}">
+                                            <input type="hidden" class="itemProductDiscount" value="${((claimOrder.itemProductDiscount/100)?string("0.##"))!''}">
+                                            <td class="itemTotal">${((claimOrder.claimOrderNum) * (claimOrder.itemProductDiscount/100))!'0'}</td>
+                                            <td>${claimOrder.salesDealCode!''}</td>
+                                            <td>${claimOrder.storeName!''}</td>
+                                            <td>${claimOrder.itemProductName!''}</td>
+                                            <td>${claimOrder.itemProductColor!''}</td>
+                                            <td>${claimOrder.itemProductDiscount/100}</td>
+                                            <td class="itemNum">${claimOrder.claimOrderNum!'0'}</td>
+                                            <td>${(claimOrder.salesPayTime?string("yyyy-MM-dd"))!''}</td>
+                                            <td>${claimOrder.salesAdminName!''}</td>
+                                            <td>${claimOrder.salesAddressName!''}<br>${claimOrder.salesAddressTel!''}</td>
+                                            <td>${claimOrder.salesAddressInfo!''}</td>
+                                            <td><a href="javascript:void(0)" class="all_down" onclick="deleteTableByTr_orderDesc($(this))">删除</a></td>
+                                        </tr>
+                                    </#if>
+                                </#list>
+                            </#if>
+                        </tbody>
+                    </table>
+                </div>
+            </div>
 
+            <div class="row cl" id="" style="">
+                <div class="formControls col-5 col-sm-5" style="padding-top: 3px;">
+                    <button type="button" class="btn btn-primary" onclick="selectOrder(2)">添加退货订单</button>
+                </div>
+            </div>
+            <div class="row cl" id="" style="">
+                <div class="formControls col-12 col-sm-12" >
+                    <table class="table table-border table-bordered table-bg table-hover table-sort">
+                        <thead>
+                            <tr class="text-c">
+                                <th>待结算金额</th>
+                                <th>交易号</th>
+                                <th>所属店铺</th>
+                                <th>产品</th>
+                                <th>颜色</th>
+                                <th>售价</th>
+                                <th>产品数量</th>
+                                <th>退货数量</th>
+                                <th>下单日期</th>
+                                <th>下单客服</th>
+                                <th>收货人信息</th>
+                                <th>收货人地址</th>
+                                <th>操作</th>
+                            </tr>
+                        </thead>
+                        <tbody id="returnAll">
+                            <#if claimOrderList?? &&  (claimOrderList?size > 0) >
+                                <#list claimOrderList as claimOrder>
+                                    <#if claimOrder.claimOrderType == 2 >
+                                        <tr class="text-c order_item itemNum_${claimOrder_index}"  orderItem="2">
+                                            <input type="hidden" class="itemId" value="${claimOrder.itemId}">
+                                            <input type="hidden" class="itemProductDiscount" value="${((claimOrder.itemProductDiscount/100)?string("0.##"))!''}">
+                                            <td class="itemTotal">-${(claimOrder.itemProductDiscount/100)*claimOrder.claimOrderNum}</td>
+                                            <td>${claimOrder.salesDealCode!''}</td>
+                                            <td>${claimOrder.storeName!''}</td>
+                                            <td>${claimOrder.itemProductName!''}</td>
+                                            <td>${claimOrder.itemProductColor!''}</td>
+                                            <td>${claimOrder.itemProductDiscount/100}</td>
+                                            <td class="itemNum">${claimOrder.itemNum!'0'}</td>
+                                            <td style="width: 70px;"><input type="text" style="text-align: center;" class="input-text input-number decimal_input itemReturnNum" value="${claimOrder.claimOrderNum}"    onkeyup="keyFun($(this),${claimOrder.itemNum!'999'},0)" onpaste="keyFun($(this),${claimOrder.itemNum!'999'},0)" ></td>
+                                            <td>${(claimOrder.salesPayTime?string("yyyy-MM-dd"))!''}</td>
+                                            <td>${claimOrder.salesAdminName!''}</td>
+                                            <td>${claimOrder.salesAddressName!''}<br>${claimOrder.salesAddressTel!''}</td>
+                                            <td>${claimOrder.salesAddressInfo!''}</td>
+                                            <td><a href="javascript:void(0)" class="all_down" onclick="deleteTableByTr_orderDesc($(this))">删除</a></td>
+                                        </tr>
+                                    </#if>
+                                </#list>
+                            </#if>
+                        </tbody>
+                    </table>
+                </div>
+            </div>
 
+            <div class="row cl" id="" style="margin-left: 16px;font-weight: bold;">
+                <p class=""  id="">
+                <#--    共<span id="allNormalProduct">0</span>个正常产品,
+                    <span id="allReturnProduct">0</span>个退货产品,-->
+                    待结算总金额:<span id="allAmount">0</span>
+                </p>
+            </div>
 
             <div class="row cl">
-                <div class="col-2 col-sm-2 col-offset-1">
-                    <button class="btn btn-block btn-primary size-XL" type="submit">确认录入</button>
+                <div class="col-2 col-sm-2">
+                    <button class="btn btn-block btn-primary size-XL" type="submit">提交</button>
                 </div>
             </div>
 
@@ -148,12 +236,223 @@
         increaseArea: '20%'
     });
 
+    var itemNum = 0;
+
+    var isAddOrderType = 1; //1:添加普通订单   2:添加退货订单
+
+    $(function () {
+        calculaAllAmount();
+
+        $('.order_item').find(".itemReturnNum").change(function () {
+            var $item = $(this).parents('tr');
+            var itemReturnNum = $(this).val();
+            var itemProductDiscount = $item.find(".itemProductDiscount").val();
+            if(parseInt(itemReturnNum) > 0){
+                $item.find(".itemTotal").css("color","red");
+                $item.find(".itemTotal").text( accMul(-itemReturnNum,itemProductDiscount));
+            }else{
+                $item.find(".itemTotal").css("color","#000");
+                $item.find(".itemTotal").text(0);
+            }
+            calculaAllAmount();
+        })
+    })
+
     /**
      *
      */
-    function selectOrder() {
-        layer_show("搜索订单",url_path + "/admin/list_order_page/select_order","1000","500");
+    function selectOrder(type) {
+        isAddOrderType=type;
+        layer_show("搜索订单",url_path + "/admin/salesOrder/to_select_order","1200","500");
+    }
+    
+    function showSelectOrder(orderIds) {
+        var index = layer.load(1, {
+            shade: [0.5,'#fff'] //0.1透明度的白色背景
+        });
+
+        if(!isEmpty(orderIds)){
+            layer.msg("未选中订单", {icon: 5, time: 3000});
+            return false
+        }
+
+        $.ajax({
+            type: "POST",
+            data: {
+                ids : orderIds
+            },
+            url: url_path + "/admin/salesOrder/select_order_desc",
+            async: true,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    for(var i=0;i<data.returnMsg.salesOrderList.length;i++){
+
+                        var salesOrder = data.returnMsg.salesOrderList[i];
+                        var time = formatDate(new Date(salesOrder.salesPayTime),"yyyy-MM-dd");
+
+                        for(var j=0;j<salesOrder.salesOrderItemList.length;j++ ){
+                            itemNum ++;
+                            var salesOrderItem = salesOrder.salesOrderItemList[j];
+                            if(isAddOrderType == 1){
+                                var itemTotal = 0;
+                                itemTotal += accMul((salesOrderItem.itemNum),accDiv(salesOrderItem.itemProductDiscount,100));
+                                var html = '';
+                                html = '<tr class="text-c order_item itemNum_'+ itemNum +'" orderItem="1">' +
+                                        '<input type="hidden" class="itemId" value="'+  salesOrderItem.itemId +'">' +
+                                        '<input type="hidden" class="itemProductDiscount" value="'+  accDiv(salesOrderItem.itemProductDiscount,100) +'">' +
+                                        ' <td class="itemTotal">'+ itemTotal +'</td>' +
+                                        ' <td>'+ salesOrder.salesDealCode +'</td>' +
+                                        ' <td>'+ salesOrder.storeName +'</td>' +
+                                        ' <td>'+ salesOrderItem.itemProductName +'</td>' +
+                                        ' <td>'+ salesOrderItem.itemProductColor +'</td>' +
+                                        ' <td>'+ accDiv(salesOrderItem.itemProductDiscount,100) +'</td>' +
+                                        ' <td class="itemNum">'+ salesOrderItem.itemNum +'</td>' +
+                                        ' <td>'+ time +'</td>' +
+                                        ' <td>'+ salesOrder.salesAdminName +'</td>' +
+                                        ' <td>'+ salesOrder.salesAddressName +'<br>'+ salesOrder.salesAddressTel + '</td>' +
+                                        ' <td>'+ salesOrder.salesAddressInfo +'</td>' +
+                                        ' <td><a href="javascript:void(0)" class="all_down" onclick="deleteTableByTr_orderDesc($(this))">删除</a></td>' +
+                                        '</tr>';
+                                $("#orderAll").append(html);
+                            }else{
+                                var itemTotal = 0;
+                                itemTotal += accMul(-salesOrderItem.itemReturnNum,accDiv(salesOrderItem.itemProductDiscount,100));
+                                var html = '';
+                                html = '<tr class="text-c order_item itemNum_'+ itemNum +'"  orderItem="2">' +
+                                        '<input type="hidden" class="itemId" value="'+  salesOrderItem.itemId +'">' +
+                                        '<input type="hidden" class="itemProductDiscount" value="'+accDiv(salesOrderItem.itemProductDiscount,100) +'">' +
+                                        ' <td class="itemTotal">'+ itemTotal +'</td>' +
+                                        ' <td>'+ salesOrder.salesDealCode +'</td>' +
+                                        ' <td>'+ salesOrder.storeName +'</td>' +
+                                        ' <td>'+ salesOrderItem.itemProductName +'</td>' +
+                                        ' <td>'+ salesOrderItem.itemProductColor +'</td>' +
+                                        ' <td>'+ accDiv(salesOrderItem.itemProductDiscount,100) +'</td>' +
+                                        '<td class="itemNum">'+ salesOrderItem.itemNum +'</td>' +
+                                        ' <td style="width: 70px;"><input type="text" style="text-align: center;" class="input-text input-number decimal_input itemReturnNum" value="'+ salesOrderItem.itemReturnNum +'"    onkeyup="keyFun($(this),'+salesOrderItem.itemNum +',0)" onpaste="keyFun($(this),'+salesOrderItem.itemNum +',0)" ></td>' +
+                                        ' <td>'+ time +'</td>' +
+                                        ' <td>'+ salesOrder.salesAdminName +'</td>' +
+                                        ' <td>'+ salesOrder.salesAddressName +'<br>'+ salesOrder.salesAddressTel + '</td>' +
+                                        ' <td>'+ salesOrder.salesAddressInfo +'</td>' +
+                                        ' <td><a href="javascript:void(0)" class="all_down" onclick="deleteTableByTr_orderDesc($(this))">删除</a></td>' +
+                                        '</tr>';
+                                $("#returnAll").append(html);
+
+                                $('.itemNum_'+ itemNum).find(".itemReturnNum").change(function () {
+                                    var $item = $(this).parents('tr');
+                                    var itemReturnNum = $(this).val();
+                                    var itemProductDiscount = $item.find(".itemProductDiscount").val();
+                                    if(parseInt(itemReturnNum) > 0){
+                                        $item.find(".itemTotal").css("color","red");
+                                        $item.find(".itemTotal").text( accMul(-itemReturnNum,itemProductDiscount));
+                                    }else{
+                                        $item.find(".itemTotal").css("color","#000");
+                                        $item.find(".itemTotal").text(0);
+                                    }
+                                    calculaAllAmount();
+                                })
+                            }
+                            calculaAllAmount();
+                        }
+                    }
+                }else{
+                    html = '';
+                }
+                layer.close(index);
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+                layer.close(index);
+            }
+        });
+    }
+
+    /**
+     * 计算总金额
+     */
+    function calculaAllAmount(){
+        var total = 0;
+        var allNormalProduct = 0;
+        var allReturnProduct = 0;
+        $(".order_item").each(function () {
+            var itemTotal = $(this).find(".itemTotal").text();
+            total = accAdd(total,itemTotal);
+
+            if($(this).attr("orderItem") == 1){
+                var itemNum = $(this).find(".itemNum").text();
+                allNormalProduct = accAdd(allNormalProduct,itemNum)
+            }else{
+                var itemReturnNum = $(this).find(".itemReturnNum").val();
+                allReturnProduct = accAdd(allReturnProduct,itemReturnNum);
+            }
+        });
+        $("#allAmount").text(total);
+//        $("#allNormalProduct").text(allNormalProduct);
+//        $("#allReturnProduct").text(allReturnProduct);
+    }
+
+
+    /**
+     * 删除table中的tr
+     */
+    function deleteTableByTr_orderDesc($this) {
+        $this.parents("tr").remove();
+        calculaAllAmount();
     }
+
+    $(function(){
+        var loadIndex = 0;
+        $("#form-fr").Validform({
+            tiptype: function (msg, o, cssctl) {
+                if (o.type == 3) {//失败
+                    layer.msg(msg, {icon: 5, time: 3000});
+                    $(window).scrollTop(o.obj.offset().top - 40);
+                }
+            },
+            datatype: {//自定义验证类型
+            },
+            ignoreHidden: true,
+            tipSweep: true, //若为true,则只在表单提交时验证
+            ajaxPost: true, //异步提交
+            beforeCheck: function (curform) {  //验证通过之前执行的函数
+                var flag = false;
+            },
+            beforeSubmit: function (curform) {  //验证通过之后执行的函数
+                var claimOrderAyyar = new Array();
+                $(".order_item").each(function () {
+                    var claimOrder = new Object();
+                    claimOrder.itemId = $(this).find(".itemId").val();
+                    if($(this).attr("orderItem") == 1){
+                        claimOrder.claimOrderType = 1;
+                        claimOrder.claimOrderNum = $(this).find(".itemNum").text();
+                    }else{
+                        claimOrder.claimOrderType = 2;
+                        claimOrder.claimOrderNum = $(this).find(".itemReturnNum").val();
+                    }
+                    if(claimOrder.claimOrderNum > 0){
+                        claimOrderAyyar.push(claimOrder);
+                    }
+                });
+                $("#claimOrderJson").val(JSON.stringify(claimOrderAyyar));
+                loadIndex = layer.load(1, {
+                    shade: [0.5,'#fff'] //0.1透明度的白色背景
+                });
+            },
+            callback: function (data) {//异步回调函数
+                if (data) {
+                    var index = layer.alert(data.resultMsg, function (index) {
+                        if (data.returnCode == 200) {
+                            location.href = url_path + "/admin/financial_receipt/list_page_fr";
+                        }else {
+                            layer.close(index);
+                        }
+                    });
+                    if(loadIndex != 0 ){
+                        layer.close(loadIndex);
+                    }
+                }
+                return false;
+            }
+        });
+    });
 </script>
 
 

+ 39 - 157
watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/select_order_list.ftl

@@ -83,27 +83,6 @@
                         </span>
                     </div>
 
-                     <#--<div class="formControls col-2 col-sm-2 select_proMethod" style="padding: 0px 10px 0px 0px; width: 110px;" code="returnCode" msg="resultMsg" data="returnMsg">-->
-                        <#--<span class="select-box">-->
-                             <#--<select class="select" id="salesOrderStatus" name="salesOrderStatus"  ulcId=""  ulcValName="procMethodName" ulcValId="procMethodId"  ulcURL="/admin/proc/method?procTypeId=" msg="" ulcList="list"  ulcIsFristSelect="1" ulcFristSelectMsg="请选择类型" >-->
-                             <#--</select>-->
-                         <#--</span>-->
-                     <#--</div>-->
-
-                    <#--<div class="formControls col-2 col-sm-2" style="padding: 0px 10px 0px 0px; width: 110px;">-->
-                        <#--<span class="select-box">-->
-                        <#--<select name="salesOrderStatus" class="select" id="salesOrderStatus">-->
-                            <#--&lt;#&ndash;1:正常 2:换货 3:退货  4:维修  5:补发&ndash;&gt;-->
-                            <#--<option value="">所有类型</option>-->
-                            <#--<option value="1">正常</option>-->
-                            <#--<option value="2">换货</option>-->
-                            <#--<option value="3">退货</option>-->
-                            <#--<option value="4">维修</option>-->
-                            <#--<option value="5">补发</option>-->
-                        <#--</select>-->
-                        <#--</span>-->
-                    <#--</div>-->
-                     <#---->
                     <div class="formControls col-2 col-sm-2"  style="padding: 0px 10px 0px 0px; width: 110px;">
                         <input type="text" class="input-text" value="" placeholder="订单号" id="salesOrderId" name="">
                     </div>
@@ -117,14 +96,7 @@
                      <div class="formControls col-1 col-sm-1" >
                          <button type="button" class="btn btn-primary" style="background: #32a3d8;color: #fff;-webkit-transform:translateY(-5%);" id="searchOrder" name="">搜索</button>
                      </div>
-
-                     <div class="formControls col-1 col-sm-1" >
-                         <button type="button" class="btn btn-primary" style="background: #32a3d8;color: #fff;-webkit-transform:translateY(-5%);" onclick="addOrder()"> 添加订单</button>
-                     </div>
-
-                     <#--<a src="javascript:void(0)" style="color: #00e;text-decoration: underline;" onclick="addOrder()">去添加</a>-->
                 </div>
-
             </form>
         </div>
 
@@ -165,7 +137,6 @@
 </div>
 
 <tfoot>
-<#--<#include "/base/page_util.ftl">-->
 </tfoot>
 
 <#--时间控件-->
@@ -173,26 +144,18 @@
 
 <script>
 
-    /*  1为选择的订单    2:为新添加的订单 */
-    var type = 1;
-
-    var promethodUlc = init_ulc($(".select_proMethod"));
-
     $(function () {
         /*选择店铺*/
         $("[name='companyId']").change(function (){
             var companyId = $(this).val();
             setStore(companyId,$("#storeId"));       //获取店铺
-        })
+        });
 
         /*搜索*/
         $(document).on('click', '#searchOrder', function() {
             searchOrder();
         });
 
-        /*初始化  搜索订单  */
-       //searchOrder();
-
         /*回车搜索*/
         $('.input-text').keydown(function(event){
             if(event.keyCode == 13){ //绑定回车
@@ -225,27 +188,22 @@
                 salesId : salesId,
                 salesOrderId : salesOrderId,
                 salesAddressName : salesAddressName,
-                salesAddressTel : salesAddressTel
+                salesAddressTel : salesAddressTel,
+                pageSize : 100
             },
-            url: "${path}/admin/customer/select_salesOrder",
+            url: "${path}/admin/salesOrder/select_order_page",
             async: true,
             success: function(data){
                 var html = "";
-                if (data.returnCode == 200 && data.returnMsg.salesOrderList.length > 0 ) {
-                    for(var i=0;i<data.returnMsg.salesOrderList.length;i++){
-                        var salesOrder = data.returnMsg.salesOrderList[i];
+                if (data.returnCode == 200 && data.returnMsg.pagedResult.dataList.length > 0 ) {
+                    for(var i=0;i<data.returnMsg.pagedResult.dataList.length;i++){
+                        var salesOrder = data.returnMsg.pagedResult.dataList[i];
                         var disHtml =  "";
                         var productsHtml = '';
                         var salesOrderItem = salesOrder.salesOrderItemList;
                         for(var j=0;j<salesOrderItem.length;j++){
                             var item = interceptToString(salesOrderItem[j].itemProductName) +'('+salesOrderItem[j].itemProductColor+ ")*" + salesOrderItem[j].itemNum;
                                 productsHtml += '<span class="label label-success radius" title="'+ salesOrderItem[j].itemProductName +'('+salesOrderItem[j].itemProductColor+')*'+ (salesOrderItem[j].itemNum - salesOrderItem[j].itemReturnNum) +'">' + item + '</span>';
-
-                                if(salesOrderItem[j].itemNum - salesOrderItem[j].itemReturnNum <= 0){
-                                    disHtml = 'disabled="disabled"';
-                                }else{
-                                    disHtml =  "";
-                                }
                         }
                         var time = formatDate(new Date(salesOrder.salesPayTime),"yyyy-MM-dd");
                         var orderStatus = null;
@@ -254,15 +212,8 @@
                         }else{
                             orderStatus = salesOrder.procTypeName;
                         }
-
-                        <#--1:正常 2:换货 3:退货  4:维修  5:补发-->
-
-
-                        if(salesOrder.salesOrderId == null || salesOrder.salesOrderId == "" || typeof (salesOrder.salesOrderId) == 'undefined' || salesOrder.salesReturnStatus == 2){
-                            disHtml = 'disabled="disabled"';
-                        }
                         html += '<tr class="text-c">' +
-                                ' <td><input type="checkbox" class="sales_order_id" title="订单状态为已退货并且可退货数量为0时不可选择" id="" value="'+ salesOrder.salesId +'" '+ disHtml +'></td>' +
+                                ' <td><input type="checkbox" class="sales_order_id" title="" id="" value="'+ salesOrder.salesId +'" '+ disHtml +'></td>' +
                                 ' <td>'+ convertUndefinedToEmpty(salesOrder.companyName) +'</td>' +
                                 ' <td>'+ convertUndefinedToEmpty(salesOrder.storeName) +'</td>' +
                                 ' <td>'+ convertUndefinedToEmpty(salesOrder.salesOrderId) +'</td>' +
@@ -274,7 +225,6 @@
                                 ' <td>'+ time +'</td>' +
                                 ' <td>'+ orderStatus +'</td>' +
                                 ' <td>'+ salesOrder.salesAddressInfo +'</td>' +
-                                //' <td><a style="" class="select-order" href="javascript:void(0);" title="选择订单" onclick="selectOrderInfo('+ salesOrder.salesId +')" >选择订单</a></td>' +
                                 ' </tr>';
                     }
                 }else{
@@ -292,20 +242,14 @@
     /**
      * 选择订单,返回订单内容到父级
      */
-    function selectOrderInfo(newOrderId) {
-        var orderId = "";
-        if(type == 1){
-            $(".sales_order_id").each(function(){
-                if($(this).is(':checked')){
-                    orderId += $(this).val() + "_";
-                }
-            })
-        }else{
-            if(newOrderId != null){
-                orderId = newOrderId  + "_";;
+    function selectOrderInfo() {
+        var orderIds = "";
+        $(".sales_order_id").each(function(){
+            if($(this).is(':checked')){
+                orderIds += $(this).val() + "_";
             }
-        }
-        parent.setSelectOrder(orderId);
+        })
+        parent.showSelectOrder(orderIds);
         parent.layer.close(parent.layer.getFrameIndex(window.name));
     }
 
@@ -317,96 +261,34 @@
 
 
 <script>
-    $(function (){
-
-        $("#search-product-name-btn").click(function() {
-           var name = $("#search-product-name-input").val();
-           var trs = $("#addProduct").children("tr");
-           if (trs == null || trs.length <= 0) {
-               return;
-           }
-           for (var i = 0; i < trs.length;i ++) {
-               var temp = $($(trs[i]).children("td")[0]).find("span").text();
-               if (temp.indexOf(name) == -1) {
-                   $(trs[i]).hide();
-               } else {
-                   $(trs[i]).show();
-               }
-           }
-        });
-
-        $("#form-order-add").Validform({
-            tiptype: function (msg, o, cssctl) {
-                if (o.type == 3) {//失败
-                    layer.msg(msg, {icon: 5, time: 3000});
-                    $(window).scrollTop(o.obj.offset().top - 40);
-                }
-            },
-            datatype: {//自定义验证类型
-            },
-            ignoreHidden: true,
-            tipSweep: true, //若为true,则只在表单提交时验证
-            ajaxPost: true, //异步提交
-            beforeCheck: function (curform) {  //验证通过之前执行的函数
-                var salesCompanyId = $("#salesCompanyId").val();
-                var salesStoreId = $("#salesStoreId").val();
-                if(salesCompanyId == null || salesCompanyId == "" || typeof(salesCompanyId) == "undefined" ||
-                        salesStoreId == null || salesStoreId == "" || typeof(salesStoreId) == "undefined"){
-                    layer.msg("请选择销售公司与店铺", {icon: 5, time: 3000});
-                    return  false;
-                }
+    /**
+     * 展示销售公司
+     */
+    function setStore(companyId,node){
+        var companyId = $("#companyId").val();
+        var html = '<option value="">店铺</option>';
+        $.ajax({
+            type: "POST",
+            data: {
+                companyId : companyId
             },
-            beforeSubmit: function (curform) {  //验证通过之后执行的函数
-                var pro = $("#province").find("option:selected").text();
-                var city = $("#city").find("option:selected").text();
-                var dis = $("#district").find("option:selected").text();
-                var addres = $("#sendAddress").val();
-                if(addres == null || addres == ""){
-                    layer.msg("未填写详细地址", {icon: 5, time: 3000});
-                    return  false;
-                }
-                $("#salesAddressInfo").val(pro + "-" + city + "-" + dis + "-" + addres);
-
-                var itemList = new Array();
-                $("#addProduct").find(".input-color-number").each(function(){
-                    var number = $(this).val();
-                    if(number != null && number != ""){
-                        var salesOrderItem = new Object();
-                        salesOrderItem.itemProductId = $(this).parent().find(".input-produce-id").val();
-                        salesOrderItem.itemColorId = $(this).parent().find(".input-color-id").val();
-                        salesOrderItem.itemNum = number;
-                        salesOrderItem.itemIsSource = 1;    /*标识产品*/
-                        itemList.push(salesOrderItem);
+            url: "${path}/admin/salesChannel/select_storeInfo",
+            success: function(data){
+                var id;
+                if (data.returnCode == 200) {
+                    for(var i=0;i<data.returnMsg.storeInfoList.length;i++){
+                        var storeInfo = data.returnMsg.storeInfoList[i];
+                        html += '<option value="'+ storeInfo.storeId +'">'+ storeInfo.storeName +'</option>';
                     }
-                })
-//                $("#addProduct").find(".input-fittings-number").each(function(){
-//                    var number = $(this).val();
-//                    if(number != null && number != ""){
-//                        var salesOrderItem = new Object();
-//                        salesOrderItem.itemProductId = $(this).parent().find(".input-produce-id").val();
-//                        salesOrderItem.itemColorId = $(this).parent().find(".input-fittings-id").val();
-//                        salesOrderItem.itemNum = number;
-//                        salesOrderItem.itemIsSource = 2;    /*标识配件*/
-//                        itemList.push(salesOrderItem);
-//                    }
-//                })
-                $("#itemJson").val(JSON.stringify(itemList));
-            },
-            callback: function (data) {//异步回调函数
-                if (data) {
-                    var index = layer.alert(data.resultMsg, function () {
-                        if (data.resultCode == 200) {
-                            type = 2;
-                            selectOrderInfo(data.returnMsg.orderId);
-                        } else {
-                            layer.close(index);
-                        }
-                        return ;
-                    });
+                }else{
+                    html = '';
                 }
+                $(node).html(html);
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
             }
-        })
-    });
+        });
+    }
 
 
 

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

@@ -396,3 +396,10 @@ function verification(){
     });
     return flag;
 }
+
+/**
+ * 删除table中的tr
+ */
+function deleteTableByTr($this) {
+    $this.parents("tr").remove();
+}