Browse Source

修改订单

wangxiaoming 6 years ago
parent
commit
ae695b721b

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

@@ -56,11 +56,11 @@ public class SalesOrder implements Serializable {
     private Integer salesOrderStatus;       //订单状态 订单状态:1:正常 2:换货 3:退货  4:维修  5:补发
     private Integer salesShippingStatus;    //发货状态 0(未发货)1(已发货,即已扫描出库)3(备货中)4(收货)
     private Integer salesPayStatus;         //付款状态 0(未付款)2(已付款)
-    private Integer salesProcessStatus;     //单据状态
-    private Integer salesIsSend;            //是否通知配货
-    private Integer salesIsLocked;          //是否锁定
-    private Integer salesIsSeparate;        //是否缺货
-    private Integer salesIsDownload;        //是否下载过
+    private Integer salesProcessStatus;     //单据状态  0(正常单)1(问题单)
+    private Integer salesIsSend;            //是否通知配货    0:否1:是
+    private Integer salesIsLocked;          //是否锁定  0:否1:是
+    private Integer salesIsSeparate;        //是否缺货  0:否1:是
+    private Integer salesIsDownload;        //是否下载过     1 未下载 2 已下载
     private Integer salesMainOrderId;//主订单id(拆单用)
 
     private String companyName;             //销售公司名称

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

@@ -23,6 +23,13 @@ public interface SalesOrderService {
     Integer addSalesOrder(SalesOrder salesOrder);
 
     /**
+     * 添加订单信息
+     * @param salesOrder
+     * @return
+     */
+    Integer addSalesOrderManual(SalesOrder salesOrder);
+
+    /**
      * 根据id查询订单信息
      * @param salesId
      * @return

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

@@ -61,6 +61,14 @@ public class SalesOrderServiceImpl implements SalesOrderService {
     }
 
     @Override
+    @Transactional
+    public Integer addSalesOrderManual(SalesOrder salesOrder) {
+        salesOrderMapper.addSalesOrder(salesOrder);
+
+        return null;
+    }
+
+    @Override
     public SalesOrder getSalesOrderById(Integer salesId) {
         return salesOrderMapper.getSalesOrderById(salesId);
     }

+ 1 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/order/mapper/orderBatchMapper.xml

@@ -32,7 +32,7 @@
             </if >
         </where>
         GROUP BY soi.sales_batch_id
-        ORDER BY t.batch_id DESC
+        ORDER BY t.batch_create_time DESC
     </select>
     <select id="getOrderBatchById" resultMap="BaseResultMap" parameterType="String" >
         select

+ 4 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/product/mapper/productMapper.xml

@@ -129,9 +129,12 @@
             color_picture,
             color_status,
             color_cretae_time,
-            color_update_time
+            color_update_time,
+            pi.product_type,
+            pi.product_name
         FROM
             tb_rst_product_color
+        LEFT JOIN tb_rst_product_info pi ON  tb_rst_product_color.color_product_id = pi.product_id
         WHERE color_id = #{colorId}
     </select>
 

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

@@ -24,6 +24,7 @@ import com.iamberry.rst.faces.sms.SmsService;
 import com.iamberry.rst.faces.sys.SysService;
 import com.iamberry.rst.utils.AdminUtils;
 import com.iamberry.rst.utils.ExcelUtil;
+import com.iamberry.rst.utils.GenerateKeyUtil;
 import com.iamberry.rst.utils.OrderNoUtil;
 import com.iamberry.wechat.tools.DateTimeUtil;
 import com.iamberry.wechat.tools.NameUtils;
@@ -90,6 +91,8 @@ public class AdminOrderController {
 
     @Autowired
     private ExcelUtil excelUtil;
+    @Autowired
+    private GenerateKeyUtil generateKeyUtil ;
 
     /**
      * 进入更换滤芯页面
@@ -998,7 +1001,7 @@ public class AdminOrderController {
 
         String batchId = "";
         if(orderBatch == null || "1".equals(orderBatch)){
-            batchId = "SC" + sdf.format(new Date()) + String.format("%04d", orderBatchNum);
+            batchId =  generateKeyUtil.getSalesBatchIdSC();
             OrderBatch ob = new OrderBatch();
             ob.setBatchId(batchId);
             ob.setBatchStatus(1);

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

@@ -4,6 +4,8 @@ import com.iamberry.rst.core.cm.CompanyInfo;
 import com.iamberry.rst.core.cm.SalesOrder;
 import com.iamberry.rst.core.cm.SalesOrderItem;
 import com.iamberry.rst.core.cm.StoreInfo;
+import com.iamberry.rst.core.order.OrderBatch;
+import com.iamberry.rst.core.order.ProductColor;
 import com.iamberry.rst.core.page.PagedResult;
 import com.iamberry.rst.core.tools.LogisticsInfo;
 import com.iamberry.rst.faces.cm.CompanyInfoService;
@@ -61,6 +63,8 @@ public class AdminSalesOrderController {
     private OrderBatchService orderBatchService;
     @Autowired
     private ProductService productService ;
+    @Autowired
+    private GenerateKeyUtil generateKeyUtil ;
 
 
     /**
@@ -622,6 +626,27 @@ public class AdminSalesOrderController {
 
         JSONArray jsonArray = JSONArray.fromObject(orderItemString);
         List<SalesOrderItem> salesOrderItemList = (List) JSONArray.toCollection(jsonArray, SalesOrderItem.class);
+        for (SalesOrderItem salesOrderItem:salesOrderItemList) {
+            if(salesOrderItem.getItemNum() > 0 && salesOrderItem.getItemColorId() > 0){
+                ProductColor productColor = productService.getProduceColor(salesOrderItem.getItemColorId());
+                if(productColor == null){
+                    return  new ResponseJson(500, "商品不存在", 500);
+                }
+                salesOrderItem.setItemProductId(productColor.getColorProductId());  ////产品id
+                salesOrderItem.setItemColorId(productColor.getColorId());
+                salesOrderItem.setItemProductType(productColor.getProductType());
+                salesOrderItem.setItemProductName(productColor.getProductName());
+                salesOrderItem.setItemProductPic(productColor.getColorPicture());
+                salesOrderItem.setItemProductColor(productColor.getColorName());
+                salesOrderItem.setItemColorBar(productColor.getColorBar()); ///产品SKU码(百胜)
+                salesOrderItem.setItemProductPrice(productColor.getColorPrice());
+                salesOrderItem.setItemProductDiscount(productColor.getColorDiscount());
+                salesOrderItem.setItemCreateTime(new Date());
+                salesOrderItem.setItemIsSource(1);
+            }else{
+                return  new ResponseJson(500, "添加商品错误", 500);
+            }
+        }
 
         String dealCode = GenerateKeyUtil.getSalesOrderKey();   //获取交易号
         salesOrder.setSalesOpenId(dealCode); //身份证号/openid
@@ -634,10 +659,46 @@ public class AdminSalesOrderController {
         salesOrder.setSalesType(1); //订单类型  1:购买2:租赁
         salesOrder.setSalesOrderStatus(1);   //订单状态 订单状态:1:正常 2:换货 3:退货  4:维修  5:补发
         salesOrder.setSalesShippingStatus(0);      //发货状态 0(未发货
-
-
-
-        return rj;
+        salesOrder.setSalesPayStatus(2);    //2(已付款)
+        salesOrder.setSalesProcessStatus(0); //0(正常单)
+        salesOrder.setSalesIsSend(0);  //是否通知配货    0:否1:是
+        salesOrder.setSalesIsLocked(0); //是否锁定 0:否1:是
+        salesOrder.setSalesIsSeparate(0);    //是否缺货  0:否1:是
+        salesOrder.setSalesIsDownload(1);    // 1 未下载
+
+        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);
+
+        if(salesOrder.getSalesBatchId() == null || "1".equals(salesOrder.getSalesBatchId())){
+            String batchId = generateKeyUtil.getSalesBatchIdSD();
+            OrderBatch ob = new OrderBatch();
+            ob.setBatchId(batchId);
+            ob.setBatchStatus(1);
+            Integer flag = orderBatchService.save(ob);
+            if(flag < 1){
+                return  new ResponseJson(500, "创建批次失败", 500);
+            }
+            salesOrder.setSalesBatchId(batchId);
+        }
+        boolean bl = true;
+        String errorMsg = "";
+        try {
+            bl = salesOrderService.addRstOrderAndIteminfo(salesOrder);
+        }catch (Exception e){
+            errorMsg = e.getMessage();
+            e.printStackTrace();
+        }
+        if(bl){
+            return new ResponseJson(200, "添加订单成功,订单交易号为:"+ dealCode, 200);
+        }else{
+            return  new ResponseJson(500, "添加订单失败,失败原因:"+errorMsg, 500);
+        }
     }
 
     /**

+ 12 - 7
watero-rst-web/src/main/java/com/iamberry/rst/utils/ExcelUtil.java

@@ -600,16 +600,21 @@ public class ExcelUtil {
                     order.setStoreId(Integer.valueOf(storeArray[0]));           //店铺
                 }
                 order.setOid(oid);                       // oid
-                if (postType.equals("ems")) {
-                    if (order.getOrderProvince().contains("广东")) {
-                        order.setOrderPostType("ems");
+                try{
+                    if (postType.equals("ems")) {
+                        if (order.getOrderProvince().contains("广东")) {
+                            order.setOrderPostType("ems");
+                        } else {
+                            order.setOrderPostType("eyb");
+                        }
                     } else {
-                        order.setOrderPostType("eyb");
+                        order.setOrderPostType(postType);
                     }
-                } else {
-                    order.setOrderPostType(postType);
+                }catch (Exception e){
+                    order.setOrderPostType("ems");
+                    e.printStackTrace();
+                    logger.info("匹配快递公司失败");
                 }
-
                 // 保存
                 orderEfasts.add(order);
             } catch (Exception e) {

+ 41 - 4
watero-rst-web/src/main/java/com/iamberry/rst/utils/GenerateKeyUtil.java

@@ -1,24 +1,61 @@
 package com.iamberry.rst.utils;
 
+import com.iamberry.rst.core.order.OrderBatch;
+import com.iamberry.rst.faces.order.OrderBatchService;
+import com.iamberry.wechat.tools.ResponseJson;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
 import java.text.SimpleDateFormat;
 import java.util.Date;
 
 /***
  * 用于生成单号
  */
+@Component
 public class GenerateKeyUtil {
 
-    private static SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
+    @Autowired
+    private OrderBatchService orderBatchService;
+
+    private static SimpleDateFormat SDF_ORDERID = new SimpleDateFormat("yyyyMMddHHmmss");
+
+    private static SimpleDateFormat SDF_BATCH = new SimpleDateFormat("yyMMddHHmm");
 
     /*订单交易号前两位,D标识一定为手动增加  */
-    private final static String sd = "D";
+    private final static String SD_ORDER = "D";
+
+    /*手动添加批次编号*/
+    private final static String SD_BATCH = "D";
+    /*批量添加批次编号*/
+    private final static String SC_BATCH = "C";
 
     /**
-     * 获取交易号
+     * 获取交易号-手动添加
      * @return
      */
     public static String getSalesOrderKey(){
-        return (sd  + sdf.format(new Date()) + "0" + generateRandomNumber(3));
+        return (SD_ORDER  + SDF_ORDERID.format(new Date()) + "0" + generateRandomNumber(3));
+    }
+
+
+
+    /**
+     * 获取批次号 setSalesBatchId -- 单个添加
+     * @return
+     */
+    public String getSalesBatchIdSD(){
+        Integer orderBatchNum = orderBatchService.getOrderBatchNum(new OrderBatch());
+        return ("S"+ SD_BATCH + SDF_BATCH.format(new Date()) + String.format("%08d", orderBatchNum));
+    }
+
+    /**
+     * 获取批次号 setSalesBatchId -- 批量导入
+     * @return
+     */
+    public String getSalesBatchIdSC(){
+        Integer orderBatchNum = orderBatchService.getOrderBatchNum(new OrderBatch());
+        return ("S"+ SC_BATCH + SDF_BATCH.format(new Date()) + String.format("%08d", orderBatchNum));
     }
 
 

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

@@ -82,13 +82,13 @@
                     <label class="form-label col-1 col-sm-1">销售渠道:</label>
                     <div class="formControls col-2 col-sm-2" style="">
                     <span class="select-box">
-                        <select class="select init_company" id="" defValue="">
+                        <select class="select init_company" name="salesCompanyId" id="" defValue="">
                         </select>
 				    </span>
                     </div>
                     <div class="formControls col-2 col-sm-2">
                     <span class="select-box">
-                        <select  class="select init_store" id="">
+                        <select  class="select init_store"  name="salesStoreId" id="">
                         </select>
                     </span>
                     </div>
@@ -144,6 +144,18 @@
                 <div class="formControls col-2 col-sm-2">
                     <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">
                 </div>
+                <label class="form-label col-1 col-sm-1">支付方式:</label>
+                <div class="formControls col-2 col-sm-2" style="">
+                    <span class="select-box">
+                        <select class="select" id="salesPayType" name="salesPayType">
+                            <#--1:微信支付 2:现金支付3:已支付定金¥99 4:刷卡支付 5:支付宝支付-->
+                            <option value="1">微信支付</option>
+                            <option value="2">现金支付3</option>
+                            <option value="4">刷卡支付</option>
+                            <option value="5">支付宝支付</option>
+                        </select>
+				    </span>
+                </div>
             </div>
 
 
@@ -187,7 +199,7 @@
                 </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="" placeholder="实付金额" datatype="*" errormsg="必须要输入总金额!" id="salesPayMoney" name="salesPayMoney"  >
+                    <input type="text" class="input-text" value="0" placeholder="实付金额" datatype="*" errormsg="必须要输入总金额!" id="salesPayMoney" name="salesPayMoney"  >
                 </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"  >
@@ -198,9 +210,9 @@
                 </div>
             </div>
 
-            <input type="hidden" class="input-text" value="" placeholder="待付金额" id="salesWaitMoney" name="salesWaitMoney"  >
-            <input type="hidden" class="input-text" value="" placeholder="本次支付金额" id="salesLastMoney" name="salesLastMoney"  >
-            <input type="hidden" class="input-text" value="" placeholder="邮费" id="salesShippingFee" name="salesShippingFee"  >
+            <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"  >
 
             <div class="row cl">
                 <label class="form-label col-3">
@@ -414,6 +426,8 @@
         $("#salesAmount").val(colorPriceAll);
         $("#salesPayMoney").val(colorDiscountAll);
         $("#salesDiscountMoney").val(salesPayMoneyAll);
+
+        $("#salesLastMoney").val(colorDiscountAll);
     }
 
 </script>