Procházet zdrojové kódy

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

# Conflicts:
#	watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/add_order.ftl
liujiankang před 5 roky
rodič
revize
e37122bab6
17 změnil soubory, kde provedl 807 přidání a 73 odebrání
  1. 40 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/SalesOrder.java
  2. 5 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/SalesOrderService.java
  3. 7 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/dm/SupplierProductService.java
  4. 5 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/SalesOrderServiceImpl.java
  5. 34 8
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/postOrderNumMapper.xml
  6. 22 4
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/salesOrderMapper.xml
  7. 5 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/SupplierProductServiceImpl.java
  8. 1 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/dealerProductMapper.xml
  9. 5 3
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/dmDealerMapper.xml
  10. 346 3
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/dm/DmDealerController.java
  11. 7 7
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminSalesOrderController.java
  12. 0 4
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AwaitSendController.java
  13. 274 0
      watero-rst-web/src/main/webapp/WEB-INF/views/dm/dealer/dm_order_statistics.ftl
  14. 13 6
      watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/add_order.ftl
  15. 17 10
      watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/update_order.ftl
  16. 0 9
      watero-rst-web/src/main/webapp/WEB-INF/views/order/statistics/order_statistics.ftl
  17. 26 18
      watero-rst-web/src/main/webapp/common/js/salesOrder/salesOrder.js

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

@@ -155,6 +155,14 @@ public class SalesOrder implements Serializable {
     private String salesPostFirmName;//快递公司名称
 
     private Integer dealerId;//客户id
+    //客户名称
+    private String dealerName;
+    //渠道名称
+    private String dealChannelName;
+    //订单总成本 单个成本请用 itemCostTotal
+    private Integer costTotal;
+    //是否认领   1:已认领 2:未认领
+    private Integer orderIscostTotal;
 
     private List<ComplaintDetectInfo> complaintDetectInfoList;
     public Integer getSalesOldOrderStatus() {
@@ -931,4 +939,36 @@ public class SalesOrder implements Serializable {
     public void setItemCostTotal(Integer itemCostTotal) {
         this.itemCostTotal = itemCostTotal;
     }
+
+    public String getDealerName() {
+        return dealerName;
+    }
+
+    public void setDealerName(String dealerName) {
+        this.dealerName = dealerName;
+    }
+
+    public String getDealChannelName() {
+        return dealChannelName;
+    }
+
+    public void setDealChannelName(String dealChannelName) {
+        this.dealChannelName = dealChannelName;
+    }
+
+    public Integer getCostTotal() {
+        return costTotal;
+    }
+
+    public void setCostTotal(Integer costTotal) {
+        this.costTotal = costTotal;
+    }
+
+    public Integer getOrderIscostTotal() {
+        return orderIscostTotal;
+    }
+
+    public void setOrderIscostTotal(Integer orderIscostTotal) {
+        this.orderIscostTotal = orderIscostTotal;
+    }
 }

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

@@ -469,4 +469,9 @@ public interface SalesOrderService {
      * 根据订单号查询订单
      */
     SalesOrder getSalesOrderByOrderId(String salesOrderId);
+
+    /**
+     * 修改订单项
+     */
+    Integer updateOrderItemObj(SalesOrderItem salesOrderItem);
 }

+ 7 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/dm/SupplierProductService.java

@@ -34,4 +34,11 @@ public interface SupplierProductService {
      * @return Integer
      */
     Integer  saveList(List<SupplierProduct>  supplierProductList);
+
+    /**
+     * 查询单条数据
+     * @param  colorId
+     * @return  supplierProduct
+     */
+    SupplierProduct  getSupplierProductByColorId(Integer colorId);
 }

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

@@ -1568,6 +1568,11 @@ public class SalesOrderServiceImpl implements SalesOrderService {
         return salesOrderMapper.getSalesOrderByOrderId(salesOrderId);
     }
 
+    @Override
+    public Integer updateOrderItemObj(SalesOrderItem salesOrderItem) {
+        return salesOrderMapper.updateOrderItemObj(salesOrderItem);
+    }
+
     public void calculationTotal(SalesOrder salesOrder,List<SalesOrderItem> salesOrderItemList){
         Integer salesAmount=0,salesPayMoney=0;
 

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

@@ -138,6 +138,7 @@
         tb_rst_sales_order_info t
         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_dm_claim_order dco on soi.item_id=dco.item_id
         <where>
             <if test="isCustmerAddOrder !=null and isCustmerAddOrder == 2">
                 AND sales_batch_id != 'KS00000000000001'
@@ -188,7 +189,7 @@
                 AND sales_address_info like CONCAT('%',#{salesAddressInfo},'%')
             </if>
             <if test="itemProductName !=null and itemProductName !=''">
-                AND oi.item_product_color like CONCAT('%',#{itemProductName},'%')
+                AND soi.item_product_color like CONCAT('%',#{itemProductName},'%')
             </if>
             <if test="salesAdminId != null ">
                 AND sales_admin_id = #{salesAdminId}
@@ -237,6 +238,12 @@
                 WHERE dc.dealer_id = #{dealerId}
                 )
             </if>
+            <if test="orderIscostTotal != null and orderIscostTotal == 1">
+                AND dco.item_id is not null
+            </if>
+            <if test="orderIscostTotal != null and orderIscostTotal == 2">
+                AND dco.item_id is null
+            </if>
         </where>
     </select>
 
@@ -246,20 +253,33 @@
         SELECT
             t.*,
             soi.*,
-            cpm.proc_method_name,
-            cpt.proc_type_name,
+          tx.proc_method_name,
+            tx.proc_type_name procTypeName,
+            tx.proc_type_id procTypeId,
             trsc.company_name companyName,
             si.store_name storeName,
-            ci.customer_is_solve customerIsSolve
+            ci.customer_is_solve customerIsSolve,
+            ddc.deal_channel_name AS dealChannelName,
+            dd.dealer_name AS dealerName,
+            ifnull(dco.claim_order_id,0) AS orderIscostTotal
         FROM
             tb_rst_sales_order_info t
         LEFT JOIN tb_rst_sales_company trsc ON t.sales_company_id = trsc.company_id
-        LEFT JOIN tb_rst_store_info si ON t.sales_store_id = si.store_id
+        LEFT JOIN tb_rst_store_info si ON  t.sales_store_id = si.store_id
+        LEFT JOIN tb_rst_dm_dealer_channel_store dcs ON si.store_id = dcs.store_id
+        LEFT JOIN tb_rst_dm_dealer_channel ddc ON dcs.deal_channel_id = ddc.deal_channel_id
+        LEFT JOIN tb_rst_dm_dealer dd ON ddc.dealer_id = dd.dealer_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
+        LEFT JOIN (
+            SELECT pm.*,
+            pt.proc_type_name
+            FROM tb_rst_cm_proc_method pm
+            LEFT JOIN tb_rst_cm_proc_type pt ON pt.proc_type_id = pm.proc_type_id
+            ) tx ON tx.proc_method_id = cr.proc_method_id
+        LEFT JOIN tb_rst_sys_admin sa ON t.sales_admin_id = sa.admin_id
+        LEFT JOIN tb_rst_dm_claim_order dco on soi.item_id=dco.item_id
         <where>
             <if test="isCustmerAddOrder !=null and isCustmerAddOrder == 2">
                 AND sales_batch_id != 'KS00000000000001'
@@ -310,7 +330,7 @@
                 AND sales_address_info like CONCAT('%',#{salesAddressInfo},'%')
             </if>
             <if test="itemProductName !=null and itemProductName !=''">
-                AND oi.item_product_color like CONCAT('%',#{itemProductName},'%')
+                AND soi.item_product_color like CONCAT('%',#{itemProductName},'%')
             </if>
             <if test="salesAdminId != null ">
                 AND sales_admin_id = #{salesAdminId}
@@ -359,6 +379,12 @@
                 WHERE dc.dealer_id = #{dealerId}
                 )
             </if>
+            <if test="orderIscostTotal != null and orderIscostTotal == 1">
+                AND dco.item_id is not null
+            </if>
+            <if test="orderIscostTotal != null and orderIscostTotal == 2">
+                AND dco.item_id is null
+            </if>
         </where>
         ORDER BY t.sales_id DESC
     </select>

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

@@ -1463,16 +1463,28 @@
           si.store_name,
           sc.company_name,
           sa.admin_name AS  salesAdminName,
-          pt.proc_type_name procTypeName,
-          pt.proc_type_id procTypeId
+          tx.proc_type_name procTypeName,
+          tx.proc_type_id procTypeId,
+          ddc.deal_channel_name AS dealChannelName,
+          dd.dealer_name AS dealerName,
+          SUM(oi.item_cost_total) AS cost_total,
+          ifnull(dco.claim_order_id,0) AS orderIscostTotal
         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_dm_dealer_channel_store dcs ON si.store_id = dcs.store_id
+        LEFT JOIN tb_rst_dm_dealer_channel ddc ON dcs.deal_channel_id = ddc.deal_channel_id
+        LEFT JOIN tb_rst_dm_dealer dd ON ddc.dealer_id = dd.dealer_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_cm_relation cr ON tb_rst_sales_order_info.sales_customer_id = cr.customer_id
-        LEFT JOIN tb_rst_cm_proc_method pm ON pm.proc_method_id = cr.proc_method_id
-        LEFT JOIN tb_rst_cm_proc_type pt ON pt.proc_type_id = pm.proc_type_id
+        LEFT JOIN (
+            SELECT pm.*,
+            pt.proc_type_name
+            FROM tb_rst_cm_proc_method pm
+            LEFT JOIN tb_rst_cm_proc_type pt ON pt.proc_type_id = pm.proc_type_id
+        ) tx ON tx.proc_method_id = cr.proc_method_id
         LEFT JOIN tb_rst_sys_admin sa ON tb_rst_sales_order_info.sales_admin_id = sa.admin_id
+        LEFT JOIN tb_rst_dm_claim_order dco on oi.item_id=dco.item_id
         <where>
             <if test="isCustmerAddOrder !=null and isCustmerAddOrder == 2">
                 AND sales_batch_id != 'KS00000000000001'
@@ -1592,6 +1604,12 @@
                     WHERE dc.dealer_id = #{dealerId}
                 )
             </if>
+            <if test="orderIscostTotal != null and orderIscostTotal == 1">
+                AND dco.item_id is not null
+            </if>
+            <if test="orderIscostTotal != null and orderIscostTotal == 2">
+                AND dco.item_id is null
+            </if>
         </where>
         GROUP BY tb_rst_sales_order_info.sales_id
         ORDER BY tb_rst_sales_order_info.sales_id DESC

+ 5 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/SupplierProductServiceImpl.java

@@ -53,4 +53,9 @@ public class SupplierProductServiceImpl  implements SupplierProductService {
     public  Integer  saveList(List<SupplierProduct> supplierProductList){
         return  supplierProductMapper.saveList(supplierProductList);
     }
+
+    @Override
+    public SupplierProduct getSupplierProductByColorId(Integer colorId) {
+        return supplierProductMapper.getSupplierProductByColorId(colorId);
+    }
 }

+ 1 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/dealerProductMapper.xml

@@ -48,7 +48,7 @@
 
     <resultMap  id="DealerProductMap" type="DealerProduct" >
         <result    column="deal_prod_id"    property="dealProdId" />
-        <collection property="dealerProductStoreList" column="dealProdId" ofType="DealerProductStore" select="getDealerProductStoreList" javaType="ArrayList" />
+        <collection property="dealerProductStoreList" column="deal_prod_id" ofType="DealerProductStore" select="getDealerProductStoreList" javaType="ArrayList" />
     </resultMap>
 
     <select id="getDealerProductAndStoreList" resultMap="DealerProductMap" parameterType="DealerProduct" >

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

@@ -67,16 +67,18 @@
             <include refid="Base_List" />,
         cax.coop_agree_before_date,
         cax2.coop_agree_end_date,
-        SUM(fr.fr_amount) AS  frAmount,
+        fr_amount AS frAmount,
         sa.admin_name AS adminName
-        from tb_rst_dm_dealer t
+        from
+        (
+        SELECT xx.*,SUM(fr.fr_amount) AS fr_amount FROM tb_rst_dm_dealer xx LEFT JOIN tb_rst_dm_financial_receipt fr ON xx.dealer_id = fr.dealer_id GROUP BY xx.dealer_id
+        )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_dm_dealer_channel dc ON t.dealer_id = dc.dealer_id
         LEFT JOIN tb_rst_dm_dealer_channel_store dcs ON dcs.deal_channel_id = dc.deal_channel_id
         LEFT JOIN tb_rst_store_info si ON si.store_id = dcs.store_id

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

@@ -1,16 +1,27 @@
 package com.iamberry.rst.controllers.dm;
 
+import com.iamberry.rst.core.cm.SalesOrder;
 import com.iamberry.rst.core.cm.StoreInfo;
 import com.iamberry.rst.core.dm.*;
+import com.iamberry.rst.core.order.OrderWarehouse;
+import com.iamberry.rst.core.order.ProductColor;
 import com.iamberry.rst.core.page.PageRequest;
 import com.iamberry.rst.core.page.PagedResult;
+import com.iamberry.rst.core.pts.PtsBatch;
 import com.iamberry.rst.core.sys.Admin;
+import com.iamberry.rst.core.tools.LogisticsInfo;
+import com.iamberry.rst.faces.cm.PostOrderNumService;
+import com.iamberry.rst.faces.cm.SalesOrderService;
 import com.iamberry.rst.faces.cm.StoreInfoService;
 import com.iamberry.rst.faces.dm.*;
+import com.iamberry.rst.faces.order.LogisticsInfoService;
+import com.iamberry.rst.faces.product.ProductService;
 import com.iamberry.rst.faces.sys.SysService;
+import com.iamberry.rst.service.cm.mapper.SalesOrderMapper;
 import com.iamberry.rst.utils.AdminUtils;
 import com.iamberry.rst.utils.StitchAttrUtil;
 import com.iamberry.rst.utils.UploadFileUtils;
+import com.iamberry.wechat.tools.ObjectExcelView;
 import com.iamberry.wechat.tools.ResponseJson;
 import net.sf.ezmorph.object.DateMorpher;
 import net.sf.json.JSONArray;
@@ -31,9 +42,8 @@ import javax.servlet.http.HttpServletRequest;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
+import java.text.SimpleDateFormat;
+import java.util.*;
 
 @Controller
 @RequestMapping("/admin/dealer")
@@ -59,6 +69,21 @@ public class DmDealerController {
     @Autowired
     private DealerChannelStoreService dealerChannelStoreService;
 
+    @Autowired
+    private SalesOrderService salesOrderService;
+    @Autowired
+    private LogisticsInfoService logisticsInfoService;
+    @Autowired
+    private ProductService productService;
+    @Autowired
+    private SupplierProductService supplierProductService;
+    @Autowired
+    private SalesOrderMapper salesOrderMapper;
+    @Autowired
+    private PostOrderNumService postOrderNumService;
+
+    private static List<LogisticsInfo> LOGISTICSINFO_LIST;
+
     /**
      * 查询客户基本信息列表
      *
@@ -519,4 +544,322 @@ public class DmDealerController {
         }
     }
 
+    /**
+     * 分页查询订单列表信息
+     * @param request
+     * @param salesOrder
+     * @param pageSize
+     * @param pageNO
+     * @param totalNum
+     * @return
+     * @throws Exception
+     */
+    @RequiresPermissions("dm:order_statistic:list")
+    @RequestMapping("/list_order_for_dm")
+    public ModelAndView listOrderForDm(HttpServletRequest request, SalesOrder salesOrder,
+                                      @RequestParam(value = "pageSize", defaultValue = "10", required = false) Integer pageSize,
+                                      @RequestParam(value = "pageNO", defaultValue = "1", required = false) Integer pageNO,
+                                      @RequestParam(value = "totalNum", defaultValue = "0", required = false) Integer totalNum) throws Exception {
+        ModelAndView mv = new ModelAndView("dm/dealer/dm_order_statistics");
+        salesOrder.setIsCustmerAddOrder(2);
+        //分页获取订单信息
+        PagedResult<SalesOrder> pagedResult = salesOrderService.salesOrderListAndItemPage(pageNO, pageSize, salesOrder,totalNum == 0);
+        if (totalNum != 0) {
+            pagedResult.setTotal(totalNum);
+        }
+        List<StoreInfo> listStoreInfo = storeInfoService.listStore(new StoreInfo());
+        List<LogisticsInfo> logisticsInfoList = logisticsInfoService.getLogisticsInfoList(new LogisticsInfo());
+        List<ProductColor> productColorList = productService.listproductAndColor(new ProductColor());
+        List<OrderWarehouse> listOrderWarehouse = salesOrderService.listOrderWarehouse();
+        List<DmDealer> dmDealerList = dmDealerService.getDmDealerList(new DmDealer());
+        StitchAttrUtil.getSa()
+                .addDatePro("yyyy-MM-dd HH:mm:ss","startDate","endDate")
+                .addNoPro("salesOrderItemList","complaintDetectInfoList")
+                .setModelAndView(salesOrder, mv, "/admin/dealer/list_order_for_dm", pagedResult);
+
+        mv.addObject("listOrderWarehouse",listOrderWarehouse);
+        mv.addObject("listStoreInfo",listStoreInfo);
+        mv.addObject("logisticsInfoList",logisticsInfoList);
+        mv.addObject("productColorList",productColorList);
+        mv.addObject("dmDealerList",dmDealerList);
+        return mv;
+    }
+
+    /**
+     *
+     * @param request
+     * @return
+     */
+//    @ResponseBody
+//    @RequestMapping("/order_update")
+//    public ResponseJson order_update(HttpServletRequest request) {
+//        ResponseJson rj = ResponseJson.getSUCCESS();
+//        Integer flag = 0;
+//
+//        SalesOrder salesOrder = new SalesOrder();
+//        Calendar calendar = Calendar.getInstance();
+//        calendar.set(2019,8,01,00,00,00);
+//        salesOrder.setStartDate(calendar.getTime());  //startDate
+//
+//        Calendar endCalendar = Calendar.getInstance();
+//        endCalendar.set(2019,8,10,00,00,00);
+//        salesOrder.setEndDate(endCalendar.getTime());
+//
+//        salesOrder.setSalesStatus(1);
+//        List<SalesOrder> salesOrderList = salesOrderService.salesOrderListAndItem(salesOrder);
+//
+//        System.out.println("总共"+salesOrderList.size()+"单");
+//        int i=0;
+//
+//        for (SalesOrder so : salesOrderList) {//201909090002
+//            System.out.println("当前"+i+"单"+so.getSalesId());
+//            i++;
+//            SalesOrder newSo = new SalesOrder();
+//
+//            if(so.getSalesStatus() != 1){
+//                continue;
+//            }
+//
+//            if(so.getSalesCustomerId() != null){
+//                continue;
+//            }
+//
+//            if(so.getSalesPayMoney() == null || so.getSalesPayMoney() == 0 || so.getSalesPayMoney() == 2147483647){
+//                Integer price = 0;
+//                StoreInfo storeInfo = storeInfoService.getStoreInfoById(so.getSalesStoreId());
+//                DealerChannel dealerChannel = new DealerChannel();
+//                dealerChannel.setStoreId(so.getSalesStoreId());
+//                List<DealerChannel>  dealerChannelList = dealerChannelService.getDealerChannelList(dealerChannel);
+//                if(dealerChannelList!= null && dealerChannelList.size() > 0){
+//                    dealerChannel = dealerChannelList.get(0);
+//                }else{
+//                    System.out.println("未查询到客户信息!订单id:"+so.getSalesId()+"店铺信息:"+storeInfo.getStoreName());
+//                    continue;
+//                }
+//                for (SalesOrderItem salesOrderItem:so.getSalesOrderItemList()) {
+//                    SalesOrderItem newSoi = new SalesOrderItem();
+//                    newSoi.setItemNum(salesOrderItem.getItemNum());
+//                    newSoi.setItemId(salesOrderItem.getItemId());
+//
+//                    boolean isUpdateItem = false;
+//                    if(salesOrderItem.getItemCostTotal() == null ||salesOrderItem.getItemCostTotal() == 0){
+//                        SupplierProduct supplierProduct = supplierProductService.getSupplierProductByColorId(salesOrderItem.getItemColorId());
+//                        if(supplierProduct != null){
+//                            newSoi.setItemCost(supplierProduct.getSpCost());
+//                            newSoi.setItemCostTotal(supplierProduct.getSpCost() * newSoi.getItemNum());
+//                            isUpdateItem = true;
+//                        }else{
+//                            System.out.println("确认订单失败-未查询到该产品("+ salesOrderItem.getItemProductName() +"-"+ salesOrderItem.getItemProductColor() +")的成本价格订单id:"+so.getSalesId());
+//                        }
+//                    }
+//
+//                    if(salesOrderItem.getItemTotal() == null || salesOrderItem.getItemTotal() == 0|| salesOrderItem.getItemTotal() == 2147483647){
+//                        DealerProduct dealerProduct = new DealerProduct();
+//                        dealerProduct.setDealerId(dealerChannel.getDealerId());
+//                        dealerProduct.setColorBar(salesOrderItem.getItemColorBar());
+//                        System.out.println("========xz==========="+salesOrderItem.getItemColorBar() + "==="+dealerChannel.getDealerId());
+//                        List<DealerProduct> dealerProductList = dealerProductService.getDealerProductAndStoreList(dealerProduct);
+//                        if(dealerProductList.size() > 0){
+//                            dealerProduct = dealerProductList.get(0);
+//                            if(1 == dealerProduct.getDealProdStoreArea()){
+//                                // 1:全部店铺
+//                                newSoi.setItemProductDiscount(dealerProduct.getDealProdPrice());
+//                                newSoi.setItemProductPrice(dealerProduct.getDealProdPrice());
+//                            }else{
+//                                // 2:部分店铺
+//                                for (DealerProductStore dps:dealerProduct.getDealerProductStoreList()) {
+//                                    if(dealerChannel.getDealChannelId().equals(dps.getDealChannelId())){
+//                                        newSoi.setItemProductDiscount(dealerProduct.getDealProdPrice());
+//                                        newSoi.setItemProductPrice(dealerProduct.getDealProdPrice());
+//                                    }
+//                                }
+//                            }
+//                            System.out.println("========xy==========="+newSoi.getItemProductDiscount() + "===" +  newSoi.getItemNum() +"==="+
+//                                    dealerChannel.getDealerId() + "=====" + salesOrderItem.getItemColorBar());
+//                            newSoi.setItemTotal(newSoi.getItemProductDiscount()*newSoi.getItemNum());
+//
+//                            isUpdateItem = true;
+//                            price += newSoi.getItemTotal();
+//                        }else{
+//                            System.out.println("=======xx========"+salesOrderItem.getItemProductName()+salesOrderItem.getItemProductColor() + "==="+dealerChannel.getDealerId() +"==="+so.getSalesId());
+//                        }
+//                    }else{
+//                        price += salesOrderItem.getItemTotal();
+//                    }
+//                    if(isUpdateItem){
+//                        flag = salesOrderService.updateOrderItemObj(newSoi);
+//                        if(flag < 1){
+//                            System.out.println("修改订单项失败!订单id:"+so.getSalesId());
+//                        }
+//                    }
+//                }
+//                newSo.setSalesId(so.getSalesId());  //salesId
+//                newSo.setSalesAmount(price);
+//                newSo.setSalesPayMoney(price);
+//                flag = salesOrderMapper.updateSalesOrder(newSo);
+//                if(flag < 1){
+//                    System.out.println("修改订单失败!订单id:"+so.getSalesId());
+//                }
+//            }
+//        }
+//
+//        if(flag > 0){
+//            rj.setResultMsg("");
+//            return rj;
+//        }else{
+//            rj = ResponseJson.getFAILURE();
+//            return  rj;
+//        }
+//    }
+
+    /**
+     * 下载订单,返回给各个平台
+     * @param request
+     * @return
+     * @throws IOException
+     */
+    @ResponseBody
+    @RequestMapping("/dm_download_order_val")
+    @RequiresPermissions("salesOrder:order_statistics:deliver")
+    public ResponseJson dmDownloadOrderVal(HttpServletRequest request,SalesOrder so) throws Exception {
+        ResponseJson rj = ResponseJson.getFAILURE();
+        Integer num = postOrderNumService.listSalesOrderAndItemNum(so);
+        if(num > 20000){
+            rj.setResultMsg("下载订单超过20000条,请精确查询条件");
+            return rj;
+        }
+        return ResponseJson.getSUCCESS();
+    }
+
+    /**
+     * 下载订单,返回给各个平台
+     * @param request
+     * @return
+     * @throws IOException
+     */
+    @RequestMapping("/dm_download_order")
+    @RequiresPermissions("salesOrder:order_statistics:deliver")
+    public ModelAndView dmDownloadOrder(HttpServletRequest request,SalesOrder so) throws Exception {
+        so.setIsCustmerAddOrder(2);
+        List<SalesOrder> temporarySalesOrderList = postOrderNumService.listSalesOrderAndItem(so);
+
+        if(temporarySalesOrderList.size() > 20000){
+            return new ModelAndView().addObject("下载出错,下载数量过大");
+        }
+
+        // 准备model
+        Map<String, Object> model = new HashMap<String, Object>();
+        model.put("fileName", "订单列表");	// 下载文件名称
+
+        // 标题
+        List<String> titles = new ArrayList<String>();
+        titles.add("订单创建日期");
+        titles.add("订单编号");
+        titles.add("交易号");
+        titles.add("订单类型");
+
+        titles.add("客户名称");
+        titles.add("渠道名称");
+        titles.add("店铺名称");
+        titles.add("是否认领");
+
+        titles.add("姓名");
+        titles.add("电话");
+        titles.add("收货人地址");
+        titles.add("快递公司");
+        titles.add("快递单号");
+        titles.add("商品名称");
+        titles.add("商品颜色");
+        titles.add("商品数量");
+        titles.add("商品小结");
+        titles.add("成本小结");
+
+        titles.add("打单状态");
+        titles.add("打单日期");
+        model.put("titles", titles);
+        PtsBatch ptsBatch = new PtsBatch();
+        List<List<Object>> countexts = new ArrayList<List<Object>>();
+        if(temporarySalesOrderList != null && temporarySalesOrderList.size() >0){
+            for (SalesOrder salesOrder : temporarySalesOrderList) {
+                List<Object> row = new ArrayList<Object>();
+                SimpleDateFormat formatter = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
+                row.add(salesOrder.getSalesCreateTime() == null ? null:formatter.format(salesOrder.getSalesCreateTime()));
+                row.add(salesOrder.getSalesOrderId() == null ? null:salesOrder.getSalesOrderId());
+                row.add(salesOrder.getSalesDealCode() == null ? null:salesOrder.getSalesDealCode());
+                if(salesOrder.getSalesCustomerId() == null){
+                    row.add("正常订单");
+                }else{
+                    String typeName = salesOrder.getProcTypeName() == null ? "":salesOrder.getProcTypeName();
+                    row.add("售后订单("+  typeName +")");
+                }
+
+                row.add(salesOrder.getDealerName() == null ? null:salesOrder.getDealerName());
+                row.add(salesOrder.getDealChannelName() == null ? null:salesOrder.getDealChannelName());
+                row.add(salesOrder.getStoreName() == null ? null:salesOrder.getStoreName());
+                if(salesOrder.getOrderIscostTotal() == 0){   //orderIscostTotal
+                    row.add("未认领");
+                }else{
+                    row.add("已认领");
+                }
+
+                row.add(salesOrder.getSalesAddressName() == null ? null:salesOrder.getSalesAddressName());
+                row.add(salesOrder.getSalesAddressTel() == null ? null:salesOrder.getSalesAddressTel());
+                row.add(salesOrder.getSalesAddressInfo() == null ? null:salesOrder.getSalesAddressInfo());
+                String frim = replace(salesOrder.getSalesPostFirm());
+                row.add(frim);
+                row.add(salesOrder.getSalesPostNum() == null ? null:salesOrder.getSalesPostNum());
+                row.add(salesOrder.getItemProductName() == null ? null:salesOrder.getItemProductName()+(salesOrder.getItemProductColor() == null ? null:"-"+salesOrder.getItemProductColor()));
+                row.add(salesOrder.getItemProductColor() == null ? null:salesOrder.getItemProductColor());
+                row.add(salesOrder.getItemNum() == null ? null:salesOrder.getItemNum());
+                row.add(salesOrder.getItemTotal() == null ? null:salesOrder.getItemTotal()/100);
+                row.add(salesOrder.getItemCostTotal() == null ? null:salesOrder.getItemTotal()/100);
+
+                String salesShoppingStatus = "";
+                if(salesOrder.getSalesShippingStatus() == null){
+                    salesShoppingStatus = "未打单";
+                }else{
+                    // 0(未发货)1(已发货,即已扫描出库)3(备货中)4(收货) 11(已通知配货,后加)
+                    switch (salesOrder.getSalesShippingStatus()){
+                        case 0:
+                            salesShoppingStatus = "未打单";
+                            break;
+                        case 1:
+                            salesShoppingStatus = "已打单";
+                            break;
+                        case 11:
+                            salesShoppingStatus = "通知配货";
+                            break;
+                        default:
+                            salesShoppingStatus = "其他状态";
+                            break;
+                    }
+                }
+                row.add(salesShoppingStatus);
+                row.add(salesOrder.getSalesSendTime() == null ? "未发货":formatter.format(salesOrder.getSalesSendTime()));
+                countexts.add(row);
+            }
+        }
+        model.put("varList", countexts);
+        ObjectExcelView erv = new ObjectExcelView();
+        ModelAndView mv = new ModelAndView(erv,model);
+        return mv;
+    }
+
+    /**物流名称替换**/
+    public String replace(String code) {
+        String name = "";
+        if(code == null || "".equals(code)){
+            return "";
+        }
+        if(LOGISTICSINFO_LIST == null){
+            LOGISTICSINFO_LIST = logisticsInfoService.getLogisticsInfoList(new LogisticsInfo());
+        }
+
+        for (LogisticsInfo logistics : LOGISTICSINFO_LIST) {
+            if(code .equalsIgnoreCase(logistics.getLogisticsRstCode())){
+                return logistics.getLogisticsName();
+            }
+        }
+        return "";
+    }
 }

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

@@ -980,12 +980,12 @@ public class AdminSalesOrderController {
             }
         }
 
-        salesOrder.setSalesAmount(salesOrder.getSalesAmount()*100);
-        salesOrder.setSalesDiscountMoney(salesOrder.getSalesDiscountMoney()*100);;
-        salesOrder.setSalesPayMoney(salesOrder.getSalesPayMoney()*100);
-        salesOrder.setSalesWaitMoney(salesOrder.getSalesWaitMoney()*100);
-        salesOrder.setSalesLastMoney(salesOrder.getSalesLastMoney()*100);
-        salesOrder.setSalesShippingFee(salesOrder.getSalesShippingFee()*100);
+//        salesOrder.setSalesAmount(salesOrder.getSalesAmount()*100);
+//        salesOrder.setSalesDiscountMoney(salesOrder.getSalesDiscountMoney()*100);;
+//        salesOrder.setSalesPayMoney(salesOrder.getSalesPayMoney()*100);
+//        salesOrder.setSalesWaitMoney(salesOrder.getSalesWaitMoney()*100);
+//        salesOrder.setSalesLastMoney(salesOrder.getSalesLastMoney()*100);
+//        salesOrder.setSalesShippingFee(salesOrder.getSalesShippingFee()*100);
 
         salesOrder.setSalesOrderItemList(salesOrderItemList);
 
@@ -2001,7 +2001,7 @@ public class AdminSalesOrderController {
                                 }else{
                                     // 2:部分店铺
                                     for (DealerProductStore dps:dp.getDealerProductStoreList()) {
-                                        if(storeId.equals(dps.getStoreId())){
+                                        if(dealerChannel.getDealChannelId().equals(dps.getDealChannelId())){
                                             pc.setColorDiscount(dp.getDealProdPrice());
                                             pc.setColorPrice(dp.getDealProdPrice());
                                         }

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

@@ -5,7 +5,6 @@ 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.StoreShip;
-import com.iamberry.rst.core.dm.DmDealer;
 import com.iamberry.rst.core.fm.ComplaintDetectInfo;
 import com.iamberry.rst.core.fm.InventoryInfo;
 import com.iamberry.rst.core.fm.InventoryLog;
@@ -915,8 +914,6 @@ public class AwaitSendController {
         List<LogisticsInfo> logisticsInfoList = logisticsInfoService.getLogisticsInfoList(new LogisticsInfo());
         List<ProductColor> productColorList = productService.listproductAndColor(new ProductColor());
         List<OrderWarehouse> listOrderWarehouse = salesOrderService.listOrderWarehouse();
-
-        List<DmDealer> dmDealerList = dmDealerService.getDmDealerList(new DmDealer());
         StitchAttrUtil.getSa()
                 .addDatePro("yyyy-MM-dd HH:mm:ss","startDate","endDate")
                 .addNoPro("salesOrderItemList")
@@ -926,7 +923,6 @@ public class AwaitSendController {
         mv.addObject("listStoreInfo",listStoreInfo);
         mv.addObject("logisticsInfoList",logisticsInfoList);
         mv.addObject("productColorList",productColorList);
-        mv.addObject("dmDealerList",dmDealerList);
 
         return mv;
     }

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 274 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/dm/dealer/dm_order_statistics.ftl


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

@@ -246,14 +246,14 @@
             <div class="row cl" id="" style="">
                 <label class="form-label col-1 col-sm-1" style="display: none">总金额:</label>
                 <div class="formControls col-2 col-sm-2" style="display: none">
-                    <input type="text" class="input-text" value="" placeholder="总金额" datatype="*" errormsg="必须要输入总金额!" id="salesAmount" name="salesAmount"  >
+                    <input type="text" class="input-text" value="" placeholder="总金额" datatype="*" errormsg="必须要输入总金额!" id="salesAmountTest" name="salesAmountTest"  >
                 </div>
                 <label class="form-label col-2 col-sm-2">实付金额:</label>
                 <div class="formControls col-2 col-sm-2">
-                    <input type="text" class="input-text" value="0" placeholder="实付金额" datatype="*" errormsg="必须要输入总金额!" id="salesPayMoney" name="salesPayMoney"  >
+                    <input type="text" class="input-text" value="0" placeholder="实付金额" datatype="*" errormsg="必须要输入总金额!" id="salesPayMoneyTest" name="salesPayMoneyTest"  >
                 </div>
                 <div class="formControls col-2 col-sm-2" style="display: none">
-                    <input type="text" class="input-text" value="0" placeholder="优惠金额" datatype="*" errormsg="必须要输入总金额!" id="salesDiscountMoney" name="salesDiscountMoney"  >
+                    <input type="text" class="input-text" value="0" placeholder="优惠金额" datatype="*" errormsg="必须要输入总金额!" id="salesDiscountMoneyTest" name="salesDiscountMoneyTest"  >
                 </div>
 
                 <div class="formControls col-2 col-sm-2">
@@ -261,9 +261,16 @@
                 </div>
             </div>
 
-            <input type="hidden" class="input-text" value="0" placeholder="待付金额" id="salesWaitMoney" name="salesWaitMoney"  >
-            <input type="hidden" class="input-text" value="0" placeholder="本次支付金额" id="salesLastMoney" name="salesLastMoney"  >
-            <input type="hidden" class="input-text" value="0" placeholder="邮费" id="salesShippingFee" name="salesShippingFee"  >
+            <input type="hidden" class="input-text" value="0" placeholder="待付金额" id="salesWaitMoneyTest" name="salesWaitMoneyTest"  >
+            <input type="hidden" class="input-text" value="0" placeholder="本次支付金额" id="salesLastMoneyTest" name="salesLastMoneyTest"  >
+            <input type="hidden" class="input-text" value="0" placeholder="邮费" id="salesShippingFeeTest" name="salesShippingFeeTest"  >
+
+            <input type="hidden"  id="salesAmount" name="salesAmount"  >
+            <input type="hidden"  id="salesPayMoney" name="salesPayMoney"  >
+            <input type="hidden"  id="salesDiscountMoney" name="salesDiscountMoney"  >
+            <input type="hidden"  id="salesWaitMoney" name="salesWaitMoney"  >
+            <input type="hidden"  id="salesLastMoney" name="salesLastMoney"  >
+            <input type="hidden"  id="salesShippingFee" name="salesShippingFee"  >
             <span style="color: #dd0000;margin-left: 190px;margin-top: 20px;"><strong>请认真填写实付金额,如果不知道实际销售价格,请联系业务员获取</strong></span>
             <div class="row cl">
                 <label class="form-label col-3">

+ 17 - 10
watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/update_order.ftl

@@ -241,8 +241,8 @@
                                     <input type="hidden" class="color_id" id="" value="${item.itemColorId}">
                                     <td>${item.itemProductName}</td>
                                     <td>${item.itemProductColor}</td>
-                                    <td style="width: 40px;"><input type="text" class="input-text input-number color_price" style="text-align: center;" value="${((item.itemProductPrice/100)?string("0.##"))!''}"  name="" id="" placeholder="售价" onkeyup="keyFun($(this),99999,1)" onpaste="keyFun($(this),99999,1)"></td>
-                                    <td style="width: 40px;"><input type="text" class="input-text input-number color_discount" style="text-align: center;" value="${((item.itemProductDiscount/100)?string("0.##"))!''}"  name="" id="" placeholder="售价" onkeyup="keyFun($(this),99999,1)" onpaste="keyFun($(this),99999,1)"></td>
+                                    <td style="width: 40px;"><input type="text" class="input-text input-number color_price decimal_input" style="text-align: center;" value="${((item.itemProductPrice/100)?string("0.##"))!''}"  name="" id="" placeholder="售价" onkeyup="keyFunDecimal($(this),9999999,0)" myMinVal="0" myMaxVal="9999999"></td>
+                                    <td style="width: 40px;"><input type="text" class="input-text input-number color_discount decimal_input" style="text-align: center;" value="${((item.itemProductDiscount/100)?string("0.##"))!''}"  name="" id="" placeholder="售价" onkeyup="keyFunDecimal($(this),9999999,0)" myMinVal="0" myMaxVal="9999999"></td>
                                     <td>${item.itemColorBar}</td>
                                     <td style="width: 30px;">
                                         <input type="text"
@@ -257,9 +257,9 @@
                                     </td>
                                     <td style="width: 40px;">
                                         <input type="text"
-                                               class="input-text input-number item_total"
+                                               class="input-text input-number item_total decimal_input"
                                                style="text-align: center;" value="${((item.itemTotal/100)?string("0.##"))!''}"
-                                               name="" id="" placeholder="售价" onkeyup="keyFun($(this),999999,1)" onpaste="keyFun($(this),999999,1)"
+                                               name="" id="" placeholder="售价" onkeyup="keyFunDecimal($(this),9999999,0)" myMinVal="0" myMaxVal="9999999"
                                                 <#if orderType==1 || orderType==3 >
                                                     readonly="readonly"   isUpdate="2"
                                                 <#else>
@@ -287,14 +287,14 @@
             <div class="row cl" id="" style="">
                 <label class="form-label col-1 col-sm-1" style="display: none">总金额:</label>
                 <div class="formControls col-2 col-sm-2" style="display: none">
-                    <input type="text" class="input-text" value="${((order.salesAmount/100)?string("0.##"))!''}" placeholder="总金额" datatype="*" errormsg="必须要输入总金额!" id="salesAmount" name="salesAmount"  >
+                    <input type="text" class="input-text" value="${((order.salesAmount/100)?string("0.##"))!''}" placeholder="总金额" datatype="*" errormsg="必须要输入总金额!" id="salesAmountTest" name="salesAmountTest"  >
                 </div>
                 <label class="form-label col-2 col-sm-2">实付金额:</label>
                 <div class="formControls col-2 col-sm-2">
-                    <input type="text" class="input-text" value="${((order.salesPayMoney/100)?string("0.##"))!''}" placeholder="实付金额" datatype="*" errormsg="必须要输入总金额!" id="salesPayMoney" name="salesPayMoney"  >
+                    <input type="text" class="input-text" value="${((order.salesPayMoney/100)?string("0.##"))!''}" placeholder="实付金额" datatype="*" errormsg="必须要输入总金额!" id="salesPayMoneyTest" name="salesPayMoneyTest"  >
                 </div>
                 <div class="formControls col-2 col-sm-2" style="display: none">
-                    <input type="text" class="input-text" value="${((order.salesDiscountMoney/100)?string("0.##"))!''}" placeholder="优惠金额" datatype="*" errormsg="必须要输入总金额!" id="salesDiscountMoney" name="salesDiscountMoney"  >
+                    <input type="text" class="input-text" value="${((order.salesDiscountMoney/100)?string("0.##"))!''}" placeholder="优惠金额" datatype="*" errormsg="必须要输入总金额!" id="salesDiscountMoneyTest" name="salesDiscountMoneyTest"  >
                 </div>
 
                 <div class="formControls col-2 col-sm-2" >
@@ -302,9 +302,16 @@
                 </div>
             </div>
 
-            <input type="hidden" class="input-text" value="${((order.salesWaitMoney/100)?string("0.##"))!''}" placeholder="待付金额" id="salesWaitMoney" name="salesWaitMoney"  >
-            <input type="hidden" class="input-text" value="${((order.salesLastMoney/100)?string("0.##"))!''}" placeholder="本次支付金额" id="salesLastMoney" name="salesLastMoney"  >
-            <input type="hidden" class="input-text" value="${((order.salesShippingFee/100)?string("0.##"))!''}" placeholder="邮费" id="salesShippingFee" name="salesShippingFee"  >
+            <input type="hidden" class="input-text" value="${((order.salesWaitMoney/100)?string("0.##"))!''}" placeholder="待付金额" id="salesWaitMoneyTest" name="salesWaitMoneyTest"  >
+            <input type="hidden" class="input-text" value="${((order.salesLastMoney/100)?string("0.##"))!''}" placeholder="本次支付金额" id="salesLastMoneyTest" name="salesLastMoneyTest"  >
+            <input type="hidden" class="input-text" value="${((order.salesShippingFee/100)?string("0.##"))!''}" placeholder="邮费" id="salesShippingFeeTest" name="salesShippingFeeTest"  >
+
+            <input type="hidden"  id="salesAmount" name="salesAmount"  >
+            <input type="hidden"  id="salesPayMoney" name="salesPayMoney"  >
+            <input type="hidden"  id="salesDiscountMoney" name="salesDiscountMoney"  >
+            <input type="hidden"  id="salesWaitMoney" name="salesWaitMoney"  >
+            <input type="hidden"  id="salesLastMoney" name="salesLastMoney"  >
+            <input type="hidden"  id="salesShippingFee" name="salesShippingFee"  >
 
             <div class="row cl">
                 <label class="form-label col-3">

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

@@ -55,15 +55,6 @@
                     <option value ="3" <#if salesOrder.salesStatus??><#if salesOrder.salesStatus == 3 >selected="selected"</#if></#if>>作废</option>
                 </select>
 
-                <select class="select" name="dealerId" id="dealerId" style="height: 30px;width: 120px;margin: 0px;margin-bottom: 10px;">
-                    <option value="">客户信息</option>
-                    <#if dmDealerList?? &&  (dmDealerList?size > 0) >
-                        <#list dmDealerList as dmDealer>
-                            <option value="${dmDealer.dealerId!''}" <#if salesOrder.dealerId??><#if salesOrder.dealerId == dmDealer.dealerId >selected="selected"</#if></#if>>${dmDealer.dealerName!''}</option>
-                        </#list>
-                    </#if>
-                </select>
-
                 <select class="select" name="salesStoreId" id="salesStoreId" style="height: 30px;width: 120px;margin: 0px;margin-bottom: 10px;">
                     <option value="">店铺</option>
                     <#if listStoreInfo?? &&  (listStoreInfo?size > 0) >

+ 26 - 18
watero-rst-web/src/main/webapp/common/js/salesOrder/salesOrder.js

@@ -113,7 +113,18 @@ $(function(){
                     return false;
                 }
             }
-
+            var salesAmountTest = $("#salesAmountTest").val();
+            var salesPayMoneyTest = $("#salesPayMoneyTest").val();
+            var salesDiscountMoneyTest = $("#salesDiscountMoneyTest").val();
+            var salesWaitMoneyTest = $("#salesWaitMoneyTest").val();
+            var salesLastMoneyTest = $("#salesLastMoneyTest").val();
+            var salesShippingFeeTest = $("#salesShippingFeeTest").val();
+            $("#salesAmount").val(accMul(salesAmountTest,100));
+            $("#salesPayMoney").val(accMul(salesPayMoneyTest,100));
+            $("#salesDiscountMoney").val(accMul(salesDiscountMoneyTest,100));
+            $("#salesWaitMoney").val(accMul(salesWaitMoneyTest,100));
+            $("#salesLastMoney").val(accMul(salesLastMoneyTest,100));
+            $("#salesShippingFee").val(accMul(salesShippingFeeTest,100));
 
             $("#orderItemString").val(JSON.stringify(orderItemArray));
 
@@ -346,11 +357,11 @@ function setSelectProduct(colorIds){
                             '<input type="hidden" class="color_id" id="" value="'+ productColor.colorId +'" >' +
                             ' <td>'+ cufte(productColor.productName) +'</td>' +
                             ' <td>'+ cufte(productColor.colorName) +'</td>' +
-                            ' <td style="width: 40px;"><input type="text" class="input-text input-number color_price" style="text-align: center;" value="'+ accDiv(productColor.colorPrice,100) +'"  name="" id="" placeholder="售价" onkeyup="keyFun($(this),99999,1)" onpaste="keyFun($(this),99999,1)"></td>' +
-                            ' <td style="width: 40px;"><input type="text" class="input-text input-number color_discount" style="text-align: center" value="'+ accDiv(productColor.colorDiscount,100) +'"  name="" id="" placeholder="售价" onkeyup="keyFun($(this),99999,1)" onpaste="keyFun($(this),99999,1)"></td>' +
+                            ' <td style="width: 40px;"><input type="text" class="input-text input-number color_price" style="text-align: center;" value="'+ accDiv(productColor.colorPrice,100) +'"  name="" id="" placeholder="售价" onkeyup="keyFunDecimal($(this),9999999,0)" myMinVal="0" myMaxVal="9999999"></td>' +
+                            ' <td style="width: 40px;"><input type="text" class="input-text input-number color_discount" style="text-align: center" value="'+ accDiv(productColor.colorDiscount,100) +'"  name="" id="" placeholder="售价" onkeyup="keyFunDecimal($(this),9999999,0)" myMinVal="0" myMaxVal="9999999"></td>' +
                             ' <td>'+ cufte(productColor.colorBar) +'</td>' +
                             ' <td style="width: 30px;"><input type="text" class="input-text input-number item-num" style="text-align: center" value="1"  name="" id="" placeholder="产品数量" onkeyup="keyFun($(this),999,1)" onpaste="keyFun($(this),999,1)"></td>' +
-                            ' <td style="width: 40px;"><input type="text" class="input-text input-number item_total" isUpdate="1" style="text-align: center" value="'+ accDiv(productColor.colorDiscount,100) +'"  name="" id="" placeholder="小结" onkeyup="keyFun($(this),99999,1)" onpaste="keyFun($(this),99999,1)"></td>' +
+                            ' <td style="width: 40px;"><input type="text" class="input-text input-number item_total" isUpdate="1" style="text-align: center" value="'+ accDiv(productColor.colorDiscount,100) +'"  name="" id="" placeholder="小结" onkeyup="keyFunDecimal($(this),9999999,0)" myMinVal="0" myMaxVal="9999999"></td>' +
                             ' <td><a href="javascript:void(0)" class="del_product all_down" onclick="delProduct($(this))" >删除</a></td>' +
                             ' </tr>';
                     }
@@ -383,18 +394,13 @@ function calculatePrice(){
     var colorDiscountAll = 0,colorPriceAll = 0;
     $("#add_product").find("tr").each(function(){
         var colorDiscount = 0,colorPrice = 0,salesPayMoney=0,itemNum=0;
-        colorDiscount = parseInt($(this).find(".color_discount").val());
-        colorPrice = parseInt($(this).find(".color_price").val());
+        colorDiscount = Number($(this).find(".color_discount").val());
+        colorPrice = Number($(this).find(".color_price").val());
         itemNum = $(this).find(".item-num").val();
         if(!isEmpty(itemNum)){
             return;
         }
-        itemNum = parseInt(itemNum);
-        // salesPayMoney = colorPrice -colorDiscount;
-        // if(salesPayMoney < 0){
-        //     salesPayMoney = 0;
-        // }
-
+        itemNum = Number(itemNum);
         var total = accMul(colorDiscount,itemNum);
         var isUpdate = $(this).find(".item_total").attr("isUpdate");
         if(isUpdate == "1"){
@@ -403,13 +409,15 @@ function calculatePrice(){
             total = $(this).find(".item_total").val();
             total = Number(total);
         }
-        colorDiscountAll += total;
-        colorPriceAll += accMul(colorPrice,itemNum);
+        colorDiscountAll = accAdd(colorDiscountAll,total);
+
+        var newColorPrice = accMul(colorPrice,itemNum);
+        colorPriceAll = accAdd(colorPriceAll,newColorPrice);
     });
-    $("#salesAmount").val(colorPriceAll);
-    $("#salesPayMoney").val(colorDiscountAll);
-    $("#salesDiscountMoney").val(accSub(colorPriceAll,colorDiscountAll));
-    $("#salesLastMoney").val(colorDiscountAll);
+    $("#salesAmountTest").val(colorPriceAll);
+    $("#salesPayMoneyTest").val(colorDiscountAll);
+    $("#salesDiscountMoneyTest").val(accSub(colorPriceAll,colorDiscountAll));
+    $("#salesLastMoneyTest").val(colorDiscountAll);
 }
 
 /**