Forráskód Böngészése

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

# Conflicts:
#	watero-rst-core/src/main/java/com.iamberry.rst.core/cm/SalesOrder.java
liujiankang 5 éve
szülő
commit
c5e58de8a3

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

@@ -7,6 +7,7 @@ import com.iamberry.rst.core.cm.StoreInfo;
 import com.iamberry.rst.core.dm.DealerChannel;
 import com.iamberry.rst.core.dm.DealerProduct;
 import com.iamberry.rst.core.dm.DealerProductStore;
+import com.iamberry.rst.core.dm.SupplierProduct;
 import com.iamberry.rst.core.order.*;
 import com.iamberry.rst.core.page.PagedResult;
 import com.iamberry.rst.core.sys.Admin;
@@ -16,6 +17,7 @@ import com.iamberry.rst.faces.cm.SalesOrderService;
 import com.iamberry.rst.faces.cm.StoreInfoService;
 import com.iamberry.rst.faces.dm.DealerChannelService;
 import com.iamberry.rst.faces.dm.DealerProductService;
+import com.iamberry.rst.faces.dm.SupplierProductService;
 import com.iamberry.rst.faces.order.EfastOrderService;
 import com.iamberry.rst.faces.order.LogisticsInfoService;
 import com.iamberry.rst.faces.order.OrderBatchService;
@@ -43,6 +45,7 @@ import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.*;
+import java.text.NumberFormat;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
@@ -82,6 +85,8 @@ public class AdminSalesOrderController {
     private DealerChannelService dealerChannelService;
     @Autowired
     private DealerProductService dealerProductService;
+    @Autowired
+    private SupplierProductService supplierProductService;
     /**
      * 分页查询订单列表信息
      * @param request
@@ -778,6 +783,14 @@ public class AdminSalesOrderController {
         salesOrder.setSalesPayTime(sdf.parse(salesPayTime));
         JSONArray jsonArray = JSONArray.fromObject(orderItemString);
         List<SalesOrderItem> salesOrderItemList = (List) JSONArray.toCollection(jsonArray, SalesOrderItem.class);
+
+        //根据店铺查询客户是否自营
+        DealerChannel  dealerChannel = new DealerChannel();
+        dealerChannel.setStoreId(salesOrder.getSalesStoreId());
+        List<DealerChannel> listDealer = dealerChannelService.getDealerChannelList(dealerChannel);
+        if(listDealer.size() < 1){
+            return  new ResponseJson(500, "未找到店铺客户信息", 500);
+        }
         for (SalesOrderItem salesOrderItem:salesOrderItemList) {
             if(salesOrderItem.getItemNum() > 0 && salesOrderItem.getItemColorId() > 0){
                 ProductColor productColor = productService.getProduceColor(salesOrderItem.getItemColorId());
@@ -977,7 +990,9 @@ public class AdminSalesOrderController {
                 salesOrderItem.setItemIsSource(1);
                 //---- updata new add
                 salesOrderItem.setItemOrderId(salesOrder.getSalesId());
-                salesOrderItem.setItemCostTotal(salesOrderItem.getItemCost() * salesOrderItem.getItemNum());
+                if(salesOrderItem.getItemCost() != null){
+                    salesOrderItem.setItemCostTotal(salesOrderItem.getItemCost() * salesOrderItem.getItemNum());
+                }
             }else{
                 return  new ResponseJson(500, "添加商品错误", 500);
             }

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

@@ -256,9 +256,13 @@
                     <input type="text" class="input-text" value="0" placeholder="优惠金额" datatype="*" errormsg="必须要输入优惠金额!" id="salesDiscountMoneyTest" name="salesDiscountMoneyTest"  >
                 </div>
 
-                <div class="formControls col-2 col-sm-2">
+                <div class="formControls col-1 col-sm-1">
                     <input type="button" style="color: #32a3d8;border: 1px solid #32a3d8;" class="btn add-order-button" onclick="calculatePrice()" value="计算产品总价" >
                 </div>
+
+                <div class="formControls col-1 col-sm-1">
+                    <input type="button" style="color: #32a3d8;border: 1px solid #32a3d8;" class="btn add-order-button" onclick="sharePrice()" value="分摊实付金额" >
+                </div>
             </div>
 
             <input type="hidden" class="input-text" value="0" placeholder="待付金额" id="salesWaitMoneyTest" name="salesWaitMoneyTest"  >

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

@@ -229,7 +229,7 @@
                                 <th style="text-align: center;" width="25" >产品颜色</th>
                                 <th style="text-align: center;" width="10">原价</th>
                                 <th style="text-align: center;" width="10">售价</th>
-                                <th style="text-align: center;" width="10">成本价</th>
+                                <#--<th style="text-align: center;" width="10">成本价</th>-->
                                 <th style="text-align: center;" width="25">产品编码</th>
                                 <th style="text-align: center;" width="10">数量</th>
                                 <th style="text-align: center;" width="10">小结</th>
@@ -244,8 +244,7 @@
                                     <td>${item.itemProductColor}</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 style="width: 40px;"><input type="text" class="input-text input-number item_cost decimal_input" style="text-align: center;" value="${((item.itemCost/100)?string("0.##"))!''}"  name="" id="" placeholder="成本价" onkeyup="keyFunDecimal($(this),9999999,0)" myMinVal="0" myMaxVal="9999999"></td>
-                                    <td>${item.itemColorBar}</td>
+                                    <td style="width: 40px;display: none;"><input type="hidden" class="input-text input-number item_cost decimal_input" style="text-align: center;" value="${((item.itemCost/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"
                                                class="input-text input-number item-num"
@@ -299,9 +298,12 @@
                     <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" >
+                <div class="formControls col-1 col-sm-1" >
                     <input type="button" style="width: 100%;" class="btn btn-primary add-order-button" onclick="calculatePrice()" value="计算商品总价" >
                 </div>
+                <div class="formControls col-1 col-sm-1">
+                    <input type="button" style="color: #32a3d8;border: 1px solid #32a3d8;" class="btn add-order-button" onclick="sharePrice()" value="分摊实付金额" >
+                </div>
             </div>
 
             <input type="hidden" class="input-text" value="${((order.salesWaitMoney/100)?string("0.##"))!''}" placeholder="待付金额" id="salesWaitMoneyTest" name="salesWaitMoneyTest"  >

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

@@ -458,6 +458,49 @@ function calculatePrice(){
 }
 
 /**
+ * 分摊实付金额
+ */
+function sharePrice(){
+    /*总价,折扣价,优惠金额*/
+    var colorDiscountAll = 0,colorPriceAll = 0,remainingAmount = 0;
+    var salesPayMoneyTest = $("#salesPayMoneyTest").val();
+    if(!isEmpty(salesPayMoneyTest)){
+        return;
+    }
+    $("#add_product").find("tr").each(function(){
+        var colorDiscount = 0,colorPrice = 0,salesPayMoney=0,itemNum=0;
+        colorDiscount = Number($(this).find(".color_discount").val());
+        itemNum = $(this).find(".item-num").val();
+        if(!isEmpty(itemNum)){
+            return;
+        }
+        itemNum = Number(itemNum);
+        var total = accMul(colorDiscount,itemNum);
+        colorDiscountAll = accAdd(colorDiscountAll,total);
+    });
+    var length = $("#add_product").find("tr").length;
+    $("#add_product").find("tr").each(function(i, dom){
+        var colorDiscount = 0,colorPrice = 0,salesPayMoney=0,itemNum=0;
+        colorDiscount = Number($(this).find(".color_discount").val());
+        itemNum = $(this).find(".item-num").val();
+        if(!isEmpty(itemNum)){
+            return;
+        }
+        itemNum = Number(itemNum);
+        var total = accMul(colorDiscount,itemNum);
+        var proportion = accDiv(total,colorDiscountAll);
+        var msg = Math.floor(salesPayMoneyTest * proportion  * 100) /100;
+        /*var msg = Math.floor(accMul(salesPayMoneyTest,proportion)  * 100) /100;*/
+
+        if(i === length -1){
+            $(this).find(".item_total").val(accSub(salesPayMoneyTest,remainingAmount));
+        }else{
+            remainingAmount = accAdd(msg,remainingAmount);
+            $(this).find(".item_total").val(msg);
+        }
+    });
+}
+/**
  * 设置邮编
  * @param data
  */