wangxiaoming %!s(int64=6) %!d(string=hai) anos
pai
achega
427820da2c

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

@@ -28,6 +28,8 @@ public class ProcMethod  implements  Serializable{
     //处理方式修改时间'
     private Date procMethodUpdateTime;
 
+    private String procTypeName;
+
     public Integer getProcMethodId(){
         return procMethodId;
     }
@@ -99,4 +101,12 @@ public class ProcMethod  implements  Serializable{
     public void setProcMethodUpdateTime(Date  procMethodUpdateTime){
         this.procMethodUpdateTime=procMethodUpdateTime;
     }
+
+    public String getProcTypeName() {
+        return procTypeName;
+    }
+
+    public void setProcTypeName(String procTypeName) {
+        this.procTypeName = procTypeName;
+    }
 }

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

@@ -58,6 +58,7 @@ public class SalesOrder implements Serializable {
     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 salesShippingStatus;    //发货状态 0(未发货)1(已发货,即已扫描出库)3(备货中)4(收货) 11(已通知配货,后加)
     private Integer salesDeliver;            //出库状态  1:未出库   2:已出库
     private Date salesDeliverTime;            //出库时间
@@ -109,6 +110,7 @@ public class SalesOrder implements Serializable {
     private Integer salesAdminId;           //录入人id
     private String salesAdminName;           //录入人名称
 
+    private Integer isSalesCustomerId;           //是否绑定客诉(是否为售后订单)  1:不是  2:是
     private Integer salesCustomerId;           //客诉id
     //  处理结果: 1:已解决  2:未解决 3:换新  4:维修 5:补发 6:退货 7:无理由退货
     private Integer customerIsSolve;
@@ -122,7 +124,15 @@ public class SalesOrder implements Serializable {
 
     private Date salesDistributionTime;//通知配货时间
 
-    private String procTypeName;//通知配货时间
+
+    private String procTypeName;//
+    private String procTypeId;//
+
+    //处理方式id
+    private Integer procMethodId;
+    //处理方式名称
+    private String procMethodName;
+
    private Integer salesWarehouseId;//所属仓库id
  public Integer getStartOrderNO() {
        return startOrderNO;
@@ -731,4 +741,43 @@ public class SalesOrder implements Serializable {
         this.salesWarehouseId = salesWarehouseId;
     }
 
+    public String getProcMethodName() {
+        return procMethodName;
+    }
+
+    public void setProcMethodName(String procMethodName) {
+        this.procMethodName = procMethodName;
+    }
+
+    public String getSalesOrderStatusProcTypeName() {
+        return salesOrderStatusProcTypeName;
+    }
+
+    public void setSalesOrderStatusProcTypeName(String salesOrderStatusProcTypeName) {
+        this.salesOrderStatusProcTypeName = salesOrderStatusProcTypeName;
+    }
+
+    public String getProcTypeId() {
+        return procTypeId;
+    }
+
+    public void setProcTypeId(String procTypeId) {
+        this.procTypeId = procTypeId;
+    }
+
+    public Integer getProcMethodId() {
+        return procMethodId;
+    }
+
+    public void setProcMethodId(Integer procMethodId) {
+        this.procMethodId = procMethodId;
+    }
+
+    public Integer getIsSalesCustomerId() {
+        return isSalesCustomerId;
+    }
+
+    public void setIsSalesCustomerId(Integer isSalesCustomerId) {
+        this.isSalesCustomerId = isSalesCustomerId;
+    }
 }

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

@@ -410,4 +410,11 @@ public interface SalesOrderService {
      * @return
      */
     List<OrderWarehouse> listOrderWarehouse();
+
+
+    /**
+     * 专用于 - 销售统计
+     * @return
+     */
+    List<SalesOrder> salesOrderAndItemStat(SalesOrder salesOrder);
 }

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

@@ -1097,4 +1097,9 @@ public class SalesOrderServiceImpl implements SalesOrderService {
     public List<OrderWarehouse> listOrderWarehouse() {
         return salesOrderMapper.listOrderWarehouse();
     }
+
+    @Override
+    public List<SalesOrder> salesOrderAndItemStat(SalesOrder salesOrder) {
+        return salesOrderMapper.salesOrderAndItemStat(salesOrder);
+    }
 }

+ 7 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/SalesOrderMapper.java

@@ -343,4 +343,11 @@ public interface SalesOrderMapper {
      * @return
      */
     List<OrderWarehouse> listOrderWarehouse();
+
+
+    /**
+     * 专用于 - 销售统计
+     * @return
+     */
+    List<SalesOrder> salesOrderAndItemStat(SalesOrder salesOrder);
 }

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

@@ -235,6 +235,8 @@
         SELECT
             t.*,
             soi.*,
+            cpm.proc_method_name,
+            cpt.proc_type_name,
             trsc.company_name companyName,
             si.store_name storeName,
             ci.customer_is_solve customerIsSolve
@@ -244,6 +246,9 @@
         LEFT JOIN tb_rst_store_info si ON t.sales_store_id = si.store_id
         LEFT JOIN tb_rst_sales_order_item soi ON t.sales_id = soi.item_order_id
         LEFT JOIN tb_rst_cm_customer_info ci ON t.sales_customer_id = ci.customer_id
+        LEFT JOIN tb_rst_cm_relation cr ON ci.customer_id = cr.customer_id
+        LEFT JOIN tb_rst_cm_proc_method cpm ON cr.proc_method_id = cpm.proc_method_id
+        LEFT JOIN tb_rst_cm_proc_type cpt ON cpm.proc_type_id = cpt.proc_type_id
         <where>
             <if test="isCustmerAddOrder !=null and isCustmerAddOrder == 2">
                 AND sales_batch_id != 'KS00000000000001'

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

@@ -50,8 +50,10 @@
     </select>
     <select id="getProcMethodById" resultMap="BaseResultMap" parameterType="Integer" >
         select
-        <include refid="Base_List" />
+        <include refid="Base_List" />,
+        cpt.proc_type_name
         from tb_rst_cm_proc_method t
+        LEFT JOIN tb_rst_cm_proc_type cpt ON  t.proc_type_id = cpt.proc_type_id
         where t.proc_method_id= #{procMethodId}
     </select>
     <insert id="save" parameterType="ProcMethod" >

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

@@ -155,7 +155,7 @@
             GROUP BY
             soi.sales_id
             ORDER BY
-            soi.sales_id DESC
+            soi.sales_create_time DESC
             LIMIT #{startOrderNO}, #{endOrderNO}
         ) temp
         LEFT JOIN tb_rst_sales_company trsc ON temp.sales_company_id = trsc.company_id
@@ -1134,6 +1134,8 @@
         SELECT
             t.*,
             soi.*,
+            cpm.proc_method_name,
+            cpt.proc_type_name,
             trsc.company_name companyName,
             si.store_name storeName,
             ci.customer_is_solve customerIsSolve
@@ -1143,6 +1145,9 @@
         LEFT JOIN tb_rst_store_info si ON t.sales_store_id = si.store_id
         LEFT JOIN tb_rst_sales_order_item soi ON t.sales_id = soi.item_order_id
         LEFT JOIN tb_rst_cm_customer_info ci ON t.sales_customer_id = ci.customer_id
+        LEFT JOIN tb_rst_cm_relation cr ON ci.customer_id = cr.customer_id
+        LEFT JOIN tb_rst_cm_proc_method cpm ON cr.proc_method_id = cpm.proc_method_id
+        LEFT JOIN tb_rst_cm_proc_type cpt ON cpm.proc_type_id = cpt.proc_type_id
       <where>
             t.sales_batch_id != 'KS00000000000001'
           <if test="salesIsDownload !=null ">
@@ -1581,4 +1586,82 @@
     <select id="listOrderWarehouse" resultType="OrderWarehouse" >
       SELECT * from tb_rst_order_warehouse
     </select>
+
+    <!-- 订单集合 -->
+    <select id="salesOrderAndItemStat" resultMap="SalesOrderAndItemMap" parameterType="SalesOrder" >
+        SELECT
+        soi.sales_company_id,
+        soi.sales_order_status,
+        SUM(item_num) as item_num,
+        soitem.*,
+        sc.company_name,
+        cpt.proc_type_name,
+        cpm.proc_method_name
+        FROM tb_rst_sales_order_item  soitem
+        LEFT JOIN tb_rst_sales_order_info soi ON soi.sales_id = soitem.item_order_id
+        LEFT JOIN  tb_rst_sales_company sc ON  soi.sales_company_id = sc.company_id
+        LEFT JOIN tb_rst_cm_customer_info ci ON soi.sales_customer_id = ci.customer_id
+        LEFT JOIN tb_rst_cm_relation cr ON ci.customer_id = cr.customer_id
+        LEFT JOIN tb_rst_cm_proc_method cpm ON cr.proc_method_id = cpm.proc_method_id
+        LEFT JOIN tb_rst_cm_proc_type cpt ON cpm.proc_type_id = cpt.proc_type_id
+        <where>
+            <if test="isCustmerAddOrder !=null and isCustmerAddOrder == 2">
+                AND sales_batch_id != 'KS00000000000001'
+            </if>
+            <if test="salesIsDownload !=null and salesIsDownload !=''">
+                AND sales_is_download = #{salesIsDownload}
+            </if>
+            <if test="salesShippingStatus !=null">
+                AND sales_shipping_status = #{salesShippingStatus}
+            </if>
+            <if test="salesStatus !=null">
+                AND sales_status = #{salesStatus}
+            </if>
+            <if test="salesDeliver !=null">
+                AND sales_deliver = #{salesDeliver}
+            </if>
+            <if test="salesStoreId !=null and salesStoreId !=''">
+                AND sales_store_id = #{salesStoreId}
+            </if>
+            <if test="salesPostFirm !=null and salesPostFirm !=''">
+                AND sales_post_firm = #{salesPostFirm}
+            </if>
+            <if test="salesCompanyId !=null and salesCompanyId !=''">
+                AND sales_company_id = #{salesCompanyId}
+            </if>
+            <if test="salesId !=null">
+                AND sales_id = #{salesId}
+            </if>
+            <if test="salesOrderId !=null and salesOrderId !=''">
+                AND sales_orderId = #{salesOrderId}
+            </if>
+            <if test="salesDealCode !=null and salesDealCode !=''">
+                AND sales_deal_code = #{salesDealCode}
+            </if>
+            <if test="salesBatchId !=null and salesBatchId !=''">
+                AND sales_batch_id = #{salesBatchId}
+            </if>
+            <if test="salesAddressInfo !=null and salesAddressInfo !=''">
+                AND sales_address_info like CONCAT('%',#{salesAddressInfo},'%')
+            </if>
+            <if test="salesAddType != null ">
+                AND sales_add_type = #{salesAddType}
+            </if>
+            <if test="procMethodId != null ">
+                AND cpm.proc_method_id = #{procMethodId}
+            </if>
+            <if test="isSalesCustomerId == 1 ">
+                AND soi.sales_customer_id is null
+            </if>
+            <if test="startDate != null and startDate != ''">
+                AND sales_create_time <![CDATA[>=]]> #{startDate}
+            </if>
+            <if test="endDate != null and endDate != ''">
+                AND sales_create_time <![CDATA[<=]]> #{endDate}
+            </if>
+        </where>
+        GROUP BY soitem.item_color_id
+        ORDER BY soi.sales_create_time DESC
+    </select>
+
 </mapper>

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

@@ -426,6 +426,12 @@ public class AdminCustomerController {
         PagedResult<SalesOrder> pagedResult = salesOrderService.listSalesOrderPage(pageNO, pageSize, salesOrder, totalNum == 0);
 
         List<SalesOrder> salesOrderList = pagedResult.getDataList();
+        for (SalesOrder so:salesOrderList) {
+            if(so.getSalesOrderStatus() != 0){
+                ProcMethod procMethod = procMethodService.getProcMethodById(so.getSalesOrderStatus());
+                so.setSalesOrderStatusProcTypeName(procMethod.getProcTypeName());
+            }
+        }
 
         if (salesOrderList == null || salesOrderList.size() < 1) {
             return new ResponseJson(500, "查询失败", 500);

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

@@ -806,37 +806,8 @@ public class AdminOrderController {
                 if(salesOrder.getSalesCustomerId() == null){
                     row.add("正常订单");
                 }else{
-                    if(salesOrder.getCustomerIsSolve() == null){
-                        row.add("售后订单");
-                    }else{
-                        switch (salesOrder.getCustomerIsSolve()){
-                            case 1:
-                                row.add("售后订单(已解决)");
-                                break;
-                            case 2:
-                                row.add("售后订单(未解决)");
-                                break;
-                            case 3:
-                                row.add("售后订单(换新)");
-                                break;
-                            case 4:
-                                row.add("售后订单(维修)");
-                                break;
-                            case 5:
-                                row.add("售后订单(补发)");
-                                break;
-                            case 6:
-                                row.add("售后订单(退货)");
-                                break;
-                            case 7:
-                                row.add("售后订单(无理由退货)");
-                                break;
-                            default:
-                                row.add("售后订单");
-                                break;
-                        }
-                    }
-
+                    String typeName = salesOrder.getProcTypeName() == null ? "":salesOrder.getProcTypeName();
+                    row.add("售后订单("+  typeName +")");
                 }
                 row.add(salesOrder.getSalesAddressName() == null ? null:salesOrder.getSalesAddressName());
                 row.add(salesOrder.getSalesAddressTel() == null ? null:salesOrder.getSalesAddressTel());

+ 105 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminSalesOrderStatController.java

@@ -0,0 +1,105 @@
+package com.iamberry.rst.controllers.order;
+
+import com.iamberry.rst.core.cm.CompanyInfo;
+import com.iamberry.rst.core.cm.ProcMethod;
+import com.iamberry.rst.core.cm.SalesOrder;
+import com.iamberry.rst.core.cm.SalesOrderItem;
+import com.iamberry.rst.faces.cm.CompanyInfoService;
+import com.iamberry.rst.faces.cm.ProcMethodService;
+import com.iamberry.rst.faces.cm.SalesOrderService;
+import com.iamberry.rst.faces.cm.StoreInfoService;
+import com.iamberry.rst.faces.order.EfastOrderService;
+import com.iamberry.rst.faces.order.LogisticsInfoService;
+import com.iamberry.rst.faces.order.OrderBatchService;
+import com.iamberry.rst.faces.product.ProductService;
+import com.iamberry.rst.utils.GenerateKeyUtil;
+import com.iamberry.wechat.tools.ResponseJson;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+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.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 订单信息统计
+ */
+@Controller
+@RequestMapping("admin/salesOrderStat")
+public class AdminSalesOrderStatController {
+
+    private Logger logger = LoggerFactory.getLogger(AdminSalesOrderStatController.class);
+
+    @Autowired
+    private SalesOrderService salesOrderService;
+
+    @Autowired
+    private CompanyInfoService companyInfoService;
+    @Autowired
+    private StoreInfoService storeInfoService;
+    @Autowired
+    private OrderBatchService orderBatchService;
+    @Autowired
+    private ProductService productService ;
+    @Autowired
+    private GenerateKeyUtil generateKeyUtil ;
+    @Autowired
+    private LogisticsInfoService logisticsInfoService;
+    @Autowired
+    private ProcMethodService procMethodService;
+
+    /**
+     * 查询订单统计
+     * @param request
+     * @param salesOrder
+     * @return
+     * @throws Exception
+     */
+    @ResponseBody
+    @RequestMapping("/sell_order_stat")
+    @RequiresPermissions("salesOrder:statistics:sell")
+    public ResponseJson listOrderPage(HttpServletRequest request, SalesOrder salesOrder) throws Exception {
+        ResponseJson rj = ResponseJson.getSUCCESS();
+
+        List<SalesOrder> salesOrderList = new ArrayList();
+
+        List<ProcMethod> procMethodList = procMethodService.getProcMethodList(new ProcMethod());
+        List<CompanyInfo> companyInfoList = companyInfoService.listCompanyInfo(new CompanyInfo());
+
+        for (CompanyInfo companyInfo:companyInfoList) {
+            salesOrder.setProcMethodId(null);
+            salesOrder.setSalesCompanyId(companyInfo.getCompanyId());
+            salesOrder.setIsSalesCustomerId(1);
+            salesOrderList.addAll(salesOrderService.salesOrderAndItemStat(salesOrder));
+
+            salesOrder.setIsSalesCustomerId(2);
+            for (ProcMethod procMethod:procMethodList) {
+                salesOrder.setProcMethodId(procMethod.getProcMethodId());
+                salesOrderList.addAll(salesOrderService.salesOrderAndItemStat(salesOrder));
+            }
+        }
+        rj.addResponseKeyValue("salesOrderList",salesOrderList);
+        return rj;
+    }
+
+    /**
+     * 进入销售统计页面
+     * @param request
+     * @return
+     * @throws Exception
+     */
+    @RequestMapping("/to_sell_order_stat")
+    @RequiresPermissions("salesOrder:select:salesOrder")
+    public ModelAndView selectSalesOrder(HttpServletRequest request) throws Exception {
+        ModelAndView mv = new ModelAndView("order/statistics/sell_order_statistics");
+        return mv;
+    }
+}

+ 2 - 30
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AwaitSendController.java

@@ -884,36 +884,8 @@ public class AwaitSendController {
                 if(salesOrder.getSalesCustomerId() == null){
                     row.add("正常订单");
                 }else{
-                    if(salesOrder.getCustomerIsSolve() == null){
-                        row.add("售后订单");
-                    }else{
-                        switch (salesOrder.getCustomerIsSolve()){
-                            case 1:
-                                row.add("售后订单(已解决)");
-                                break;
-                            case 2:
-                                row.add("售后订单(未解决)");
-                                break;
-                            case 3:
-                                row.add("售后订单(换新)");
-                                break;
-                            case 4:
-                                row.add("售后订单(维修)");
-                                break;
-                            case 5:
-                                row.add("售后订单(补发)");
-                                break;
-                            case 6:
-                                row.add("售后订单(退货)");
-                                break;
-                            case 7:
-                                row.add("售后订单(无理由退货)");
-                                break;
-                            default:
-                                row.add("售后订单");
-                                break;
-                        }
-                    }
+                    String typeName = salesOrder.getProcTypeName() == null ? "":salesOrder.getProcTypeName();
+                    row.add("售后订单("+  typeName +")");
                 }
                 row.add(salesOrder.getSalesAddressName() == null ? null:salesOrder.getSalesAddressName());
                 row.add(salesOrder.getSalesAddressTel() == null ? null:salesOrder.getSalesAddressTel());

+ 42 - 54
watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/order_list.ftl

@@ -82,35 +82,30 @@
                         </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">
-                            <#--1:正常 2:换货 3:退货  4:维修  5:补发-->
-                            <option value="">所有类型</option>
-                            <option value="1">正常</option>
-                            <option value="2">换货</option>
-                            <option value="3">退货</option>
-                            <option value="4">维修</option>
-                            <option value="5">补发</option>
-                            <#--<option value="0">取消订单</option>
-                            <option value="1">待支付</option>
-                            <option value="2">已支付</option>
-                            <option value="3">退款申请中</option>
-                            <option value="4">已退款</option>
-                            <option value="5">已发货</option>
-                            <option value="6">申请退货中</option>
-                            <option value="7">退货中</option>
-                            <option value="8">订单退货,订单关闭</option>
-                            <option value="9">换货中</option>
-                            <option value="10">换货完成</option>
-                            <option value="11">申请换货中</option>
-                            <option value="12">已完成</option>
-                            <option value="13">全额付款</option>
-                            <option value="14">定金付款</option>-->
-                        </select>
-                        </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="true" 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="Efast订单号" id="salesOrderId" name="">
+                        <input type="text" class="input-text" value="" placeholder="订单号" id="salesOrderId" name="">
                     </div>
 
                      <div class="formControls col-2 col-sm-2" style="padding: 0px 10px 0px 0px; width: 110px;" >
@@ -140,7 +135,7 @@
                     <th width="10"><input type="checkbox" class="selectAll" id="selectAll" value="selectAll" ></th>
                     <th width="50">销售公司</th>
                     <th width="50">店铺名称</th>
-                    <th width="50">Efast订单号</th>
+                    <th width="50">订单号</th>
                     <th width="100">交易号</th>
                     <th width="60">收货人姓名</th>
                     <th width="80">收货人电话</th>
@@ -232,7 +227,7 @@
                             <input type="text" class="input-text" value="" placeholder="填写收件人姓名" id="sendName" name="salesAddressName" datatype="s1-20" errormsg="联系人格式不正确!" >
                         </div>
                         <div class="formControls col-3 col-sm-3">
-                            <input type="text" class="input-text associated-phone" value="" placeholder="填写收件人手机号" id="sendTel" name="salesAddressTel" datatype="/\w{11,11}/i" errormsg="联系人电话格式不正确!">
+                            <input type="text" class="input-text associated-phone" value="" placeholder="填写收件人手机号" id="sendTel" name="salesAddressTel" datatype="m" errormsg="联系人电话格式不正确!">
                         </div>
                         <div class="formControls col-3 col-sm-3">
                             <input type="text" placeholder="购买日期" id="salesPayTime"  name="salesPayTime" datatype="*" class="input-text Wdate" onclick="WdatePicker({skin:'whyGreen',dateFmt:'yyyy-MM-dd HH:mm:ss',maxDate: '%y-%M-%d'})"  readonly="readonly">
@@ -307,6 +302,8 @@
     /*  1为选择的订单    2:为新添加的订单 */
     var type = 1;
 
+    var promethodUlc = init_ulc($(".select_proMethod"));
+
     $(function () {
         /*选择店铺*/
         $("[name='companyId']").change(function (){
@@ -372,21 +369,12 @@
                         }
                         var time = formatDate(new Date(salesOrder.salesPayTime),"yyyy-MM-dd");
                         var orderStatus = null;
-                        if(salesOrder.salesOrderStatus == 1){
+                        if(salesOrder.salesOrderStatus == 0){
                             orderStatus = "正常";
+                        }else{
+                            orderStatus = salesOrder.salesOrderStatusProcTypeName;
                         }
-                        if(salesOrder.salesOrderStatus == 2){
-                            orderStatus = "换货";
-                        }
-                        if(salesOrder.salesOrderStatus == 3){
-                            orderStatus = "退货";
-                        }
-                        if(salesOrder.salesOrderStatus == 4){
-                            orderStatus = "维修";
-                        }
-                        if(salesOrder.salesOrderStatus == 5){
-                            orderStatus = "补发";
-                        }
+
                         <#--1:正常 2:换货 3:退货  4:维修  5:补发-->
 
                         var disHtml =  "";
@@ -511,17 +499,17 @@
                         itemList.push(salesOrderItem);
                     }
                 })
-                $("#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);
-                    }
-                })
+//                $("#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) {//异步回调函数

+ 152 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/order/statistics/sell_order_statistics.ftl

@@ -0,0 +1,152 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+    <meta charset="utf-8">
+    <meta name="renderer" content="webkit|ie-comp|ie-stand">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
+    <meta http-equiv="Cache-Control" content="no-siteapp" />
+    <link rel="Bookmark" href="/favicon.ico" >
+    <link rel="Shortcut Icon" href="/favicon.ico" />
+<#include "/base/add_base.ftl">
+    <title>出库列表</title>
+    <style>
+        .tit{position: relative;text-align: left;font-size: 16px;padding-left: 10px;}
+        .tit:after{content: '';position: absolute;left: 0;top: 20%;height: 60%;width: 3px;background-color: #32a3d8;}
+        .tit-2{position: relative;text-align: left;font-size: 16px;padding-left: 10px;}
+        .tit-2:after{content: '';position: absolute;left: 0;top: 20%;height: 60%;width: 3px;background-color: #32a3d8;}
+        #province select{margin-right:10px; width:100px;height: 31px;-webkit-appearance:none !important;appearance:none;background: url(${path}/common/images/cm/select-1.png) right center no-repeat;background-size: auto 100%;padding-left:3px;padding-right: 25px;}
+        .ac_results li a {white-space: nowrap;text-decoration:none;display:block;color:#05a;padding:1px 3px}
+        .ac_results li {border:1px solid #fff}
+        .ac_results li a span {float:right}
+        .select-box{background: url(${path}/common/images/cm/select-1.png) right center no-repeat;background-size: auto 100%;}
+        .select-box select{-webkit-appearance:none !important;background-color: transparent; appearance:none;padding-right: 25px;}
+        .dalog-ask{position: absolute;left:60%;top:0;-webkit-transform: translateY(-30%);transform: translateY(-30%);display: none;background-color: #fff;z-index: 10;}
+        .tag{ width:300px; min-height:300px; border:1px solid #32a3d8; position:relative;background-color: #fff;line-height: 1.5;padding: 10px 12px;}
+        .tag em{display:block; border-width:15px; position:absolute; top:30%; left:-30px;border-style:solid dashed dashed; border-color:transparent  #32a3d8 transparent transparent;font-size:0; line-height:0;}
+        .time-line-list{list-style: none;width: 100%;margin-left: -20px;}
+        .time-line-list>li{position: relative;float: left; text-align: center;width: 100px;overflow: hidden;white-space: nowrap;word-break: break-all;padding: 2px 0;}
+        .time-line-list .number{display: inline-block; padding: 2px; background: #32a3d8;border: 2px solid #fff;box-shadow:0 0 0 1px #32a3d8;width: 20px;height: 20px;color: #fff;line-height: 20px;border-radius: 50%;}
+        .time-line-list>li:before{content:'';position: absolute;height: 1px;width: 30%;right:0;top: 15px; background-color: #32a3d8;}
+        .time-line-list>li:after{content: '';position: absolute;height: 1px;width: 30%;left: 0;top: 15px;background:#32a3d8;}
+        .time-line-list>li:first-child:after,.time-line-list>li:last-child:before{display: none;}
+        .time-line-list .arrow{border-width:7px; position:absolute; left:25%; top:9px;border-style:solid dashed dashed; border-color:transparent  transparent  transparent #32a3d8;font-size:0; line-height:0;}
+        .time-line-list>li:first-child .arrow{display: none;}
+        .table-bg th{background-color: #e2f6ff;}
+        .update-parts>span{margin-right: 10px;padding: 3px 4px;background-color: #effaff;border: 1px solid #32a3d8;}
+        .msg-phone{height: 35px;line-height: 35px;}
+        .col-sm-1{width: 150px;}
+
+        .all_down{text-decoration: underline;color: #00c;}
+
+        .bold{    color: #f00;font-weight: bold;}
+    </style>
+</head>
+<body>
+<nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页
+    <span class="c-gray en">&gt;</span> 仓库管理
+    <span class="c-gray en">&gt;</span> 出库统计
+    <a class="btn radius r" style="line-height:1.6em;margin-top:3px;background: #32a3d8;color: #fff;border:1px solid #32a3d8;" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a>
+</nav>
+
+<article class="page-container" style="padding: 10px;">
+    <div class="pd-20 cl">
+        <form action="" method="post" class="form form-horizontal" id="form-order-add"  >
+
+            <div class="mt-20" style="">
+                <table class="table table-border table-bg table-bordered">
+                    <thead>
+                        <tr class="text-c">
+                            <th>销售公司</th>
+                            <th>订单类型</th>
+                            <th>类型描述</th>
+                            <th>订单数量</th>
+                            <th>产品名称</th>
+                            <th>产品数量</th>
+                            <th>实发数量</th>
+                        </tr>
+                    </thead>
+                    <tbody id="allDay">
+
+                    </tbody>
+                </table>
+            </div>
+
+        </form>
+    </div>
+</article>
+
+<tfoot>
+</tfoot>
+<script>
+    $(function (){
+        var date = new Date();
+        date.setDate(1);
+        date.setHours(0);
+        date.setMinutes(0);
+        date.setSeconds(0);
+        var startDate = formatDate(date,"yyyy-MM-dd HH:mm:ss");
+
+        var endDate = new Date();
+        endDate.setMonth(endDate.getMonth()+1);
+        endDate.setDate(1);
+        endDate.setHours(23);
+        endDate.setMinutes(59);
+        endDate.setSeconds(59);
+        endDate = formatDate(endDate,"yyyy-MM-dd HH:mm:ss");
+
+        loadIndex = layer.load(1, {
+            shade: [0.5,'#fff'] //0.1透明度的白色背景
+        });
+        $.ajax({
+            type:'POST',
+            url: '${path}/admin/salesOrderStat/sell_order_stat',
+            data:{
+                startDate : startDate,
+                endDate : endDate
+            },
+            dataType: 'json',
+            success:function(res) {
+                var html = "";
+
+                var num = 0;
+                var isMethod=null;
+                for(var i=0; i<res.returnMsg.salesOrderList.length;i++){
+                    var so = res.returnMsg.salesOrderList[i];
+                    var typeName = so.procTypeName;
+                    var methodName = so.procMethodName;
+                    if(!isEmpty(so.procTypeName) && !isEmpty(so.procMethodName)){
+                        typeName = "正常订单";
+                        methodName = "销售订单";
+                    }
+                    if(isMethod == null){
+                        isMethod = typeName;
+                    }
+                    if(isMethod == typeName){
+                        num+=so.itemNum;
+                    }else{
+                        isMethod = typeName;
+                        num = 0;
+                    }
+                    html +=  '<tr>'
+                        + ' <td>'+ so.companyName +'</td>'
+                        + ' <td>'+ typeName +'</td>'
+                        + ' <td>'+ methodName +'</td>'
+                        + ' <td>'+  +'</td>'
+                        + ' <td>'+ so.itemProductName +'('+ so.itemProductColor +')</td>'
+                        + ' <td>'+ so.itemNum +'</td>'
+                        + ' <td>'+ so.itemNum +'</td>'
+                        + ' </tr>';
+                }
+                $("#allDay").html(html);
+                if(loadIndex != 0 ){
+                    layer.close(loadIndex);
+                }
+            }
+        });
+    })
+
+</script>
+
+</body>
+</html>

+ 1 - 1
watero-rst-web/src/main/webapp/common/js/customer/customer.js

@@ -462,7 +462,7 @@ function initProcessResult(procMethodIsBack,procMethodIsSend){
 
         if((procMethodIsBack == 2 && procMethodIsSend == 2)){ //不需要寄回,不需要寄出就是 已解决,未解决
             visitByType(1);
-            isNeedSelectOrder == 2
+            isNeedSelectOrder = 2
         }
 
         var promType = $("#procTypeId").val() //查看是否为维修