Browse Source

订单中心

wangxiaoming 6 years ago
parent
commit
8d73be37cd

+ 6 - 6
watero-common-tool/src/main/java/com/iamberry/wechat/tools/AddrUtil.java

@@ -1,8 +1,8 @@
 package com.iamberry.wechat.tools;
 
-import org.jsoup.Jsoup;
-import org.jsoup.nodes.Document;
-import org.jsoup.select.Elements;
+//import org.jsoup.Jsoup;
+//import org.jsoup.nodes.Document;
+//import org.jsoup.select.Elements;
 
 import java.io.UnsupportedEncodingException;
 import java.net.URLEncoder;
@@ -61,9 +61,9 @@ public class AddrUtil {
 	public static String getPostCode(String addr) {
 		try {
 			String url = "http://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=" + URLEncoder.encode(addr + "邮编", "UTF-8");
-			Document doc = Jsoup.parse(HttpClient431Util.doGet(null, url));
-			Elements rows = doc.select(".op_exactqa_s_answer");
-			return rows.text().trim();
+//			Document doc = Jsoup.parse(HttpClient431Util.doGet(null, url));
+//			Elements rows = doc.select(".op_exactqa_s_answer");
+//			return rows.text().trim();
 		} catch (Exception e) {
 			e.printStackTrace();
 		}

+ 2 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/tools/LogisticsInfo.java

@@ -13,6 +13,8 @@ public class LogisticsInfo implements Serializable {
     private String logisticsRstCode;//rst物流公司代码
     private String logisticsEfastCode;//Efast物流公司代码
     private String logisticsOnehundredCode;//快递100物流公司代码
+    //备注
+    private String logisticsReamk;
     private Date createDate;//创建时间
 
     public Integer getLogisticsId() {

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

@@ -230,4 +230,12 @@ public interface SalesOrderService {
      * @return
      */
     Integer confirmSalesOrder(Integer salesId);
+
+    /**
+     * 分配物流方式
+     * @param salesOrder
+     * @return
+     */
+    Integer distributionExpress(SalesOrder salesOrder);
+
 }

+ 37 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/order/LogisticsInfoService.java

@@ -0,0 +1,37 @@
+package com.iamberry.rst.faces.order;
+
+import com.iamberry.rst.core.tools.LogisticsInfo;
+
+import java.util.List;
+
+/**
+ *
+ * @author ljk
+ * @Date 2018-09-12
+ */
+public interface LogisticsInfoService {
+    /**
+     * 获取集合
+     * @param  logisticsInfo
+     * @return List
+     */
+    List<LogisticsInfo> getLogisticsInfoList(LogisticsInfo logisticsInfo);
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  logisticsInfo
+     */
+    LogisticsInfo  getLogisticsInfoById(Integer  id);
+    /**
+     * 增加数据
+     * @param  logisticsInfo
+     * @return Integer
+     */
+    Integer  save(LogisticsInfo  logisticsInfo);
+    /**
+     * 修改数据
+     * @param  logisticsInfo
+     * @return Integer
+     */
+    Integer  update(LogisticsInfo  logisticsInfo);
+}

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

@@ -852,5 +852,11 @@ public class SalesOrderServiceImpl implements SalesOrderService {
         return flag;
     }
 
+    @Override
+    public Integer distributionExpress(SalesOrder salesOrder) {
+        return salesOrderMapper.distributionExpress(salesOrder);
+    }
+
+
 
 }

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

@@ -184,4 +184,11 @@ public interface SalesOrderMapper {
      */
     Integer noticeDistribution(SalesOrder salesOrder);
 
+    /**
+     * 分配物流方式
+     * @param salesOrder
+     * @return
+     */
+    Integer distributionExpress(SalesOrder salesOrder);
+
 }

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

@@ -43,7 +43,7 @@
 
   <!-- 根据id查询订单信息 -->
   <select id="getSalesOrderById" resultType="SalesOrder" parameterType="java.lang.Integer" >
-    select 
+    select
       	t.*,
       	trsc.company_name companyName,
       	trsi.store_efast  storeEfast,
@@ -87,6 +87,9 @@
       <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>
@@ -667,7 +670,7 @@
     </set>
     where sales_deal_code = #{salesDealCode}
   </update>
-  
+
   <select id="getLogisticsInfo" parameterType="LogisticsInfo" resultType="LogisticsInfo">
     SELECT * from tb_rst_logistics_info
     <where>
@@ -800,4 +803,13 @@
           sales_id = #{salesId}
     </update>
 
+    <!-- 分配发货方式 -->
+    <update id="distributionExpress" parameterType="SalesOrder">
+        update tb_rst_sales_order_info
+        SET
+          sales_post_firm = #{salesPostFirm}
+        WHERE
+          sales_id = #{salesId}
+    </update>
+
 </mapper>

+ 56 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/order/LogisticsInfoServiceImpl.java

@@ -0,0 +1,56 @@
+package com.iamberry.rst.service.order;
+
+import com.iamberry.rst.core.tools.LogisticsInfo;
+import com.iamberry.rst.faces.order.LogisticsInfoService;
+import com.iamberry.rst.service.order.mapper.LogisticsInfoMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ *
+ * @author ljk
+ * @Date 2018-09-12
+ */
+@Service
+public class LogisticsInfoServiceImpl  implements LogisticsInfoService {
+    @Autowired
+    private LogisticsInfoMapper logisticsInfoMapper;
+    /**
+     * 获取集合
+     * @param  logisticsInfo
+     * @return List
+     */
+    @Override
+    public List<LogisticsInfo> getLogisticsInfoList(LogisticsInfo  logisticsInfo){
+        return  logisticsInfoMapper.getLogisticsInfoList(logisticsInfo);
+    }
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  logisticsInfo
+     */
+    @Override
+    public  LogisticsInfo  getLogisticsInfoById(Integer  id){
+        return  logisticsInfoMapper.getLogisticsInfoById(id);
+    }
+    /**
+     * 增加数据
+     * @param  logisticsInfo
+     * @return Integer
+     */
+    @Override
+    public  Integer  save(LogisticsInfo  logisticsInfo){
+        return  logisticsInfoMapper.save(logisticsInfo);
+    }
+    /**
+     * 修改数据
+     * @param  logisticsInfo
+     * @return Integer
+     */
+    @Override
+    public  Integer  update(LogisticsInfo  logisticsInfo){
+        return  logisticsInfoMapper.update(logisticsInfo);
+    }
+}

+ 37 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/order/mapper/LogisticsInfoMapper.java

@@ -0,0 +1,37 @@
+package com.iamberry.rst.service.order.mapper;
+
+import com.iamberry.rst.core.tools.LogisticsInfo;
+
+import java.util.List;
+
+/**
+ *
+ * @author ljk
+ * @Date 2018-09-12
+ */
+public interface LogisticsInfoMapper {
+    /**
+     * 获取集合
+     * @param  logisticsInfo
+     * @return List
+     */
+    List<LogisticsInfo> getLogisticsInfoList(LogisticsInfo  logisticsInfo);
+    /**
+     * 查询单条数据
+     * @param  id
+     * @return  logisticsInfo
+     */
+    LogisticsInfo  getLogisticsInfoById(Integer  id);
+    /**
+     * 增加数据
+     * @param  logisticsInfo
+     * @return Integer
+     */
+    Integer  save(LogisticsInfo  logisticsInfo);
+    /**
+     * 修改数据
+     * @param  logisticsInfo
+     * @return Integer
+     */
+    Integer  update(LogisticsInfo  logisticsInfo);
+}

+ 91 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/order/mapper/logisticsInfoMapper.xml

@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.iamberry.rst.service.order.mapper.LogisticsInfoMapper">
+    <resultMap  id="BaseResultMap" type="LogisticsInfo" >
+        <result    column="logistics_id"    property="logisticsId" />
+        <result    column="logistics_name"    property="logisticsName" />
+        <result    column="logistics_rst_code"    property="logisticsRstCode" />
+        <result    column="logistics_efast_code"    property="logisticsEfastCode" />
+        <result    column="logistics_onehundred_code"    property="logisticsOnehundredCode" />
+        <result    column="logistics_reamk"    property="logisticsReamk" />
+        <result    column="create_date"    property="createDate" />
+    </resultMap>
+    <sql    id="Base_List" >
+        t.logistics_id,
+        t.logistics_name,
+        t.logistics_rst_code,
+        t.logistics_efast_code,
+        t.logistics_onehundred_code,
+        t.logistics_reamk,
+        t.create_date
+    </sql>
+    <select id="getLogisticsInfoList" resultMap="BaseResultMap" parameterType="LogisticsInfo" >
+        select
+        <include refid="Base_List" />
+        from tb_rst_logistics_info t
+        <where>
+            <if test="logisticsId != null ">
+                AND t.logistics_id = #{logisticsId}
+            </if >
+            <if test="logisticsName != null and logisticsName != ''">
+                AND t.logistics_name = #{logisticsName}
+            </if >
+            <if test="logisticsRstCode != null and logisticsRstCode != ''">
+                AND t.logistics_rst_code = #{logisticsRstCode}
+            </if >
+            <if test="logisticsEfastCode != null and logisticsEfastCode != ''">
+                AND t.logistics_efast_code = #{logisticsEfastCode}
+            </if >
+            <if test="logisticsOnehundredCode != null and logisticsOnehundredCode != ''">
+                AND t.logistics_onehundred_code = #{logisticsOnehundredCode}
+            </if >
+        </where>
+    </select>
+    <select id="getLogisticsInfoById" resultMap="BaseResultMap" parameterType="Integer" >
+        select
+        <include refid="Base_List" />
+        from tb_rst_logistics_info t
+        where t.logistics_id= #{logisticsId}
+    </select>
+    <insert id="save" parameterType="LogisticsInfo" >
+        insert into
+        tb_rst_logistics_info
+        (
+        logistics_name,
+        logistics_rst_code,
+        logistics_efast_code,
+        logistics_onehundred_code,
+        logistics_reamk
+        )
+        values
+        (
+        #{logisticsName},
+        #{logisticsRstCode},
+        #{logisticsEfastCode},
+        #{logisticsOnehundredCode},
+        #{logisticsReamk}
+        )
+    </insert>
+    <update id="update" parameterType="LogisticsInfo" >
+        update
+        tb_rst_logistics_info
+        <set >
+            <if test="logisticsName != null and logisticsName != ''">
+                logistics_name = #{logisticsName},
+            </if >
+            <if test="logisticsRstCode != null and logisticsRstCode != ''">
+                logistics_rst_code = #{logisticsRstCode},
+            </if >
+            <if test="logisticsEfastCode != null and logisticsEfastCode != ''">
+                logistics_efast_code = #{logisticsEfastCode},
+            </if >
+            <if test="logisticsOnehundredCode != null and logisticsOnehundredCode != ''">
+                logistics_onehundred_code = #{logisticsOnehundredCode},
+            </if >
+            <if test="logisticsReamk != null and logisticsReamk != ''">
+                logistics_reamk = #{logisticsReamk},
+            </if >
+        </set >
+        where logistics_id= #{logisticsId}
+    </update>
+</mapper>

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

@@ -13,6 +13,7 @@ import com.iamberry.rst.faces.cm.CompanyInfoService;
 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.AdminUtils;
@@ -66,6 +67,8 @@ public class AdminSalesOrderController {
     private ProductService productService ;
     @Autowired
     private GenerateKeyUtil generateKeyUtil ;
+    @Autowired
+    private LogisticsInfoService logisticsInfoService;
 
     /**
      * 分页查询订单列表信息
@@ -97,6 +100,7 @@ public class AdminSalesOrderController {
             pagedResult.setTotal(totalNum);
         }
         List<StoreInfo> listStoreInfo = storeInfoService.listStore(new StoreInfo());
+        List<LogisticsInfo> logisticsInfoList = logisticsInfoService.getLogisticsInfoList(new LogisticsInfo());
         salesOrder.setSalesOrderItemList(null);
 
         StitchAttrUtil.getSa()
@@ -104,6 +108,7 @@ public class AdminSalesOrderController {
                 .setModelAndView(salesOrder, mv, "/admin/salesOrder/list_order_page", pagedResult);
 
         mv.addObject("listStoreInfo",listStoreInfo);
+        mv.addObject("logisticsInfoList",logisticsInfoList);
         mv.addObject("identity",identity);
         return mv;
     }
@@ -963,4 +968,40 @@ public class AdminSalesOrderController {
         return rj;
     }
 
+    /**
+     * 分配快递方式
+     * @param request
+     * @return
+     * @throws Exception
+     */
+    @ResponseBody
+    @RequestMapping("/distribution_express")
+    @RequiresPermissions("salesOrder:distribution:express")
+    public ResponseJson distributionExpress(HttpServletRequest request,Integer[] salesOrderIds,String orderExpress) throws Exception {
+        ResponseJson rj = ResponseJson.getFAILURE();
+        Integer flag = 0;
+        String errorId = "";
+        for (Integer salesIds:salesOrderIds) {
+            SalesOrder so = new SalesOrder();
+            so.setSalesId(salesIds);
+            so.setSalesPostFirm(orderExpress);
+            try{
+                flag = salesOrderService.distributionExpress(so);
+            }catch (Exception e){
+                e.printStackTrace();
+            }
+            if(flag < 1){
+                errorId  += salesIds + ",";
+            }
+        }
+        if(errorId.length() > 0){
+            rj.addResponseKeyValue("errorId",errorId);
+            return rj;
+        }
+        rj = new ResponseJson(200, "分配发货方式成功", 200);
+        return rj;
+    }
+
+
+
 }

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

@@ -7,6 +7,7 @@ import com.iamberry.rst.core.order.EOrderRequestData;
 import com.iamberry.rst.core.page.PagedResult;
 import com.iamberry.rst.core.tools.LogisticsInfo;
 import com.iamberry.rst.faces.cm.SalesOrderService;
+import com.iamberry.rst.faces.order.LogisticsInfoService;
 import com.iamberry.rst.utils.OrderUtils;
 import com.iamberry.rst.utils.StitchAttrUtil;
 import com.iamberry.wechat.tools.AddrUtil;
@@ -42,6 +43,9 @@ public class AwaitSendController {
 
     @Autowired
     private SalesOrderService salesOrderService;
+    @Autowired
+    private LogisticsInfoService logisticsInfoService;
+
 
     private static final Logger LOGGER = LoggerFactory.getLogger(AwaitSendController.class);
 
@@ -65,6 +69,7 @@ public class AwaitSendController {
                 temp.setSalesOrderItemList(salesOrderService.listSalesOrderItem(item));
             }
         }
+        List<LogisticsInfo> logisticsInfoList = logisticsInfoService.getLogisticsInfoList(new LogisticsInfo());
 
         salesOrder.setSalesOrderItemList(null);
         ModelAndView mv = new ModelAndView("order/salesOrder/list_wait_send_order");
@@ -72,6 +77,7 @@ public class AwaitSendController {
                 .addDatePro("yyyy-MM-dd HH:mm:ss","startDate","endDate")
                 .setModelAndView(salesOrder, mv, "/admin/await_send/listAwaitSendOrder", pagedResult);
         mv.addObject("req",salesOrder);
+        mv.addObject("logisticsInfoList",logisticsInfoList);
         return mv;
     }
 

+ 1 - 1
watero-rst-web/src/main/resources/watero-rst-orm.xml

@@ -178,9 +178,9 @@
 
 		<mapper resource="com/iamberry/rst/service/order/mapper/orderMapper.xml"/>
 		<mapper resource="com/iamberry/rst/service/order/mapper/orderBatchMapper.xml"/>
+		<mapper resource="com/iamberry/rst/service/order/mapper/logisticsInfoMapper.xml"/>
 
 		<mapper resource="com/iamberry/rst/service/cm/mapper/inventoryLogMapper.xml"/>
 		<mapper resource="com/iamberry/rst/service/cm/mapper/inventoryMapper.xml"/>
-
 	</mappers>
 </configuration>

File diff suppressed because it is too large
+ 22 - 3
watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/list_wait_send_order.ftl


+ 69 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/sales_order_list.ftl

@@ -258,11 +258,39 @@
             <div style="float: left;margin-top: 20px;">
                 <button type="button" class="btn" style="background: #32a3d8;color: #fff;-webkit-transform:translateY(-5%);height: 35px;" id="" onclick="noticeDistribution()">通知配货</button>
                 <button type="button" class="btn" style="background: #32a3d8;color: #fff;-webkit-transform:translateY(-5%);height: 35px;" id="" onclick="confirmOrder()">确认订单</button>
+                <button type="button" class="btn" style="background: #32a3d8;color: #fff;-webkit-transform:translateY(-5%);height: 35px;" id="" onclick="distribution_express()">分配快递公司</button>
             </div>
         </#if>
 
     </div>
 </div>
+
+<!-- 同步订单状态 -->
+<div class="layui-layer layui-anim layui-layer-iframe" id="layui-Express" times="4" showtime="0" contype="string" style="display:none;z-index: 10; width: 400px; height: 260px; position: absolute; top: 100px; left: 379px;">
+    <form action="" method="post" class="form form-horizontal" id="form-admin-Express">
+        <div class="layui-layer-title" style="cursor: move;" move="ok">同步订单</div>
+        <br>
+        <div class="row cl">
+            <label class="form-label col-4" style="float: left;"><span class="c-red">*</span>&nbsp;快递公司:</label>
+            <div style="float: left;box-sizing: border-box;min-height: 1px;">
+                <select class="select" id="orderExpress" name="orderExpress">
+                    <#list logisticsInfoList as logisticsInfo>
+                        <option value="${logisticsInfo.logisticsRstCode}">${logisticsInfo.logisticsName}</option>
+                    </#list>
+                </select>
+            </div>
+            <div class="col-4"></div>
+        </div>
+        <br>
+        <div class="col-9 col-offset-3">
+            <input class="btn btn-primary radius" onclick="distributionOrderExpress()" type="button" value="&nbsp;&nbsp;提交&nbsp;&nbsp;">
+        </div>
+    </form>
+    <span class="layui-layer-setwin">
+        <a class="layui-layer-ico layui-layer-close layui-layer-close1" onclick="exitWindowsDiv(this);" href="javascript:;"></a>
+    </span>
+</div>
+
 <tfoot>
 <#include "/base/page_util.ftl">
 <script type="text/javascript" src="${path}/common/lib/ueditor/1.4.3/ueditor.config.js"></script>
@@ -486,6 +514,47 @@
         }
 
 
+        function distribution_express(){
+            $("#layui-Express").show();
+        }
+
+        function distributionOrderExpress(){
+            var index = layer.load(1, {
+                 shade: [0.5,'#fff'] //0.1透明度的白色背景
+             });
+             var salesOrderIds = "";
+             $(".sales_id:checked").each(function(){
+                 var val = $(this).val();
+                 if(isEmpty(salesOrderIds)){
+                     salesOrderIds += ","+val
+                 }else{
+                     salesOrderIds = val
+                 }
+             })
+            var orderExpress = $("#orderExpress").val();
+             $.ajax({
+                 type:'POST',
+                 url: '${path}/admin/salesOrder/distribution_express',
+                data:{
+                    "salesOrderIds" : salesOrderIds,
+                    "orderExpress" : orderExpress
+                },
+                dataType: 'json',
+                success:function(res) {
+                    if(res.resultCode == 200 && res.returnCode == 200){
+                        location.reload();
+                    }else{
+                        layer.alert("分配发货异常!", function(index){
+                            layer.close(index);
+                        });
+                        layer.close(index);
+                    }
+                    return false;
+                }
+            });
+        }
+
+
        /* function submitSynOrder() {
             var efastOrderId = $.trim($('#efastOrderId').val());
             if(efastOrderId == null || efastOrderId == ""){