Browse Source

订单明细导入添加原价

hu 1 year ago
parent
commit
a0502f0c5c

+ 18 - 5
src/custom/restcontroller/webmanage/sale/order/OrderImport.java

@@ -4,6 +4,7 @@ import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.HashMap;
 
+import common.data.*;
 import org.apache.commons.lang.StringUtils;
 import org.apache.poi.ss.usermodel.CellStyle;
 import org.apache.poi.ss.usermodel.CellType;
@@ -23,10 +24,6 @@ import common.Controller;
 import common.YosException;
 import common.annotation.API;
 import common.annotation.CACHEING_CLEAN;
-import common.data.ExcelFactory;
-import common.data.Row;
-import common.data.Rows;
-import common.data.SQLFactory;
 import restcontroller.R;
 import restcontroller.system.attachment.Attachment;
 import utility.tools.Math;
@@ -250,11 +247,18 @@ public class OrderImport extends Controller {
                     sqlFactoryupload.addParameter("sa_promotion_itemsid", 0);
                     // 商品信息
                     Row itemRow = getItemRow(row.getLong("itemid"));
+                    JSONObject item = new JSONObject();
+                    item.put("itemid", row.getString("itemid"));
+
                     if(itemRow.getBoolean("iscustomsize")){
+                        item.put("length", row.getString("length"));
+                        item.put("width", row.getString("width"));
                         sqlFactoryupload.addParameter("length", row.getDouble("length"));
                         sqlFactoryupload.addParameter("width",  row.getDouble("width"));
                         sqlFactoryupload.addParameter("customproperties",  row.getString("customproperties"));
                     }else{
+                        item.put("length", itemRow.getString("length"));
+                        item.put("width", itemRow.getString("width"));
                         sqlFactoryupload.addParameter("length", itemRow.getDouble("length"));
                         sqlFactoryupload.addParameter("width",  itemRow.getDouble("width"));
                         sqlFactoryupload.addParameter("customproperties",  "");
@@ -280,6 +284,7 @@ public class OrderImport extends Controller {
                     sqlFactoryupload.addParameter("batchno", "");
                     sqlFactoryupload.addParameter("stockno", "");
 
+
                     // 订购数量
                     sqlFactoryupload.addParameter("qty", qty);
                     // 辅助单位数量
@@ -290,6 +295,13 @@ public class OrderImport extends Controller {
                     // 判断单价是否高于系统的单价
                     // 价格
                     BigDecimal defaultprice;
+                    OrderItemsHelper orderItemsHelper = new OrderItemsHelper(this);
+                    //批量查询商品信息
+                    JSONObject jsonObject = new JSONObject();
+                    jsonObject.put("itemid", row.getLong("itemid"));
+                    jsonArray.add(jsonObject);
+                    RowsMap itemRowsMap = orderItemsHelper.getItemRowsMap(jsonArray);
+                    BigDecimal saleprice  = orderItemsHelper.getSalePrice(orderRows.get(0), itemPrice,item,itemRowsMap);
                     switch (type) {
                         case "项目订单":
                             defaultprice = itemPrice.getContractprice(sa_contractid);
@@ -310,6 +322,8 @@ public class OrderImport extends Controller {
                     sqlFactoryupload.addParameter("price", defaultprice);
                     // 折前金额(元)
                     sqlFactoryupload.addParameter("amount", defaultprice.multiply(qty));
+                    sqlFactoryupload.addParameter("saleprice", saleprice);
+
                     sqllist.add(sqlFactoryupload.getSQL());
                     i++;
                 }
@@ -540,7 +554,6 @@ public class OrderImport extends Controller {
                     sqlFactoryupload.addParameter("stockid", 0);
                     sqlFactoryupload.addParameter("position", 0);
                     sqlFactoryupload.addParameter("batchno", "");
-                    sqlFactoryupload.addParameter("stockno", "");
 
                     // 订购数量
                     sqlFactoryupload.addParameter("qty", qty);

+ 2 - 2
src/custom/restcontroller/webmanage/sale/order/SQL/订单商品明细_新增.sql

@@ -2,8 +2,8 @@ insert into sa_orderitems (sa_orderitemsid, siteid, createby, createdate, change
                            createuserid, itemid, rowno, batchcontrol, itemno, itemname, model, unit, auxunit,
                            isclose, conversionrate, price, amount, marketprice,
                            defaultprice, defaultamount, qty, auxqty, undeliqty, sa_orderid, remarks, stockno, position,
-                           batchno,customproperties,sa_promotion_itemsid,width,length)
+                           batchno,customproperties,sa_promotion_itemsid,width,length,saleprice)
 values ($sa_orderitemsid$, $siteid$, $username$, current_time, $userid$, $username$, current_time, $userid$, $itemid$,
         $rowno$, $batchcontrol$, $itemno$, $itemname$, $model$, $unit$, $auxunit$, 0, $conversionrate$, $price$,
         $amount$, $marketprice$, $defaultprice$, $defaultamount$, $qty$, $auxqty$, $qty$, $sa_orderid$, $remarks$,
-        $stockno$, $position$, $batchno$,$customproperties$,$sa_promotion_itemsid$,$width$,$length$);
+        $stockno$, $position$, $batchno$,$customproperties$,$sa_promotion_itemsid$,$width$,$length$,$saleprice$);

+ 2 - 1
src/custom/restcontroller/webmanage/sale/order/SQL/订单商品明细_更新.sql

@@ -12,6 +12,7 @@ set qty           = $qty$,
     stockno       = $stockno$,
     position      = $position$,
     batchno       = $batchno$,
-    sa_promotion_itemsid=$sa_promotion_itemsid$
+    sa_promotion_itemsid=$sa_promotion_itemsid$,
+    saleprice=$saleprice$
 where siteid = $siteid$
   and sa_orderitemsid = $sa_orderitemsid$