Jelajahi Sumber

Merge remote-tracking branch 'origin/master'

xian 5 tahun lalu
induk
melakukan
9da146d9d2

+ 12 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/CompanyInfo.java

@@ -1,7 +1,9 @@
 package com.iamberry.rst.core.cm;
 
 import java.io.Serializable;
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
 
 /**
  * 客诉销售公司实体类
@@ -18,6 +20,8 @@ public class CompanyInfo implements Serializable {
     private String companyRemark;       //备注
     private Date companyCreateTime;     //创建时间
 
+    private List<StoreInfo> storeInfoList = new ArrayList<>();  //店铺集合
+
     public Integer getCompanyId() {
         return companyId;
     }
@@ -73,4 +77,12 @@ public class CompanyInfo implements Serializable {
     public void setCompanyCreateTime(Date companyCreateTime) {
         this.companyCreateTime = companyCreateTime;
     }
+
+    public List<StoreInfo> getStoreInfoList() {
+        return storeInfoList;
+    }
+
+    public void setStoreInfoList(List<StoreInfo> storeInfoList) {
+        this.storeInfoList = storeInfoList;
+    }
 }

+ 11 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/StoreInfo.java

@@ -35,6 +35,9 @@ public class StoreInfo implements Serializable {
     //客户id
     private Integer dealerId;
 
+    //是否被选中
+    private Integer isSelectDepart;     //是否否被选中   1:选中  2:未选中
+
     public CompanyInfo getCompanyInfo() {
         return companyInfo;
     }
@@ -154,4 +157,12 @@ public class StoreInfo implements Serializable {
     public void setStoreIds(Integer[] storeIds) {
         this.storeIds = storeIds;
     }
+
+    public Integer getIsSelectDepart() {
+        return isSelectDepart;
+    }
+
+    public void setIsSelectDepart(Integer isSelectDepart) {
+        this.isSelectDepart = isSelectDepart;
+    }
 }

+ 1 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/order/OrderDepart.java

@@ -22,6 +22,7 @@ public class OrderDepart  implements  Serializable{
     //创建时间'
     private Date orderDepartCreateDate;
 
+
     public Integer getOrderDepartId(){
         return orderDepartId;
     }

+ 14 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/order/OrderDepartService.java

@@ -36,4 +36,18 @@ public interface OrderDepartService {
      * @return Integer
      */
     Integer  save(OrderDepart  orderDepart);
+
+    /**
+     * 批量添加
+     * @param
+     * @return
+     */
+    Integer saveList( List<OrderDepart> orderDepartList );
+
+    /**
+     *修改
+     * @param
+     * @return
+     */
+    Integer update( List<OrderDepart> orderDepartList,Integer adminId);
 }

+ 19 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/order/OrderDepartServiceImpl.java

@@ -7,6 +7,7 @@ import com.iamberry.rst.faces.order.OrderDepartService;
 import com.iamberry.rst.service.order.mapper.OrderDepartMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.HashSet;
 import java.util.List;
@@ -80,4 +81,22 @@ public class OrderDepartServiceImpl  implements OrderDepartService {
     public  Integer  save(OrderDepart  orderDepart){
         return  orderDepartMapper.save(orderDepart);
     }
+
+    /**
+     * 批量添加
+     * @param orderDepartList
+     * @return
+     */
+    @Override
+    public Integer saveList(List<OrderDepart> orderDepartList ){
+        return orderDepartMapper.saveList(orderDepartList);
+    }
+
+    @Override
+    @Transactional
+    public Integer update(List<OrderDepart> orderDepartList,Integer adminId) {
+        orderDepartMapper.deleteDepart(adminId);
+        return orderDepartMapper.saveList(orderDepartList);
+    }
+
 }

+ 14 - 9
watero-rst-service/src/main/java/com/iamberry/rst/service/order/OrderSyncLogServiceImpl.java

@@ -351,7 +351,7 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
                 return 0;
             }
         }else{
-            calendar.add(Calendar.DATE,-1);
+            calendar.add(Calendar.DATE,-7);
             calendar.set(Calendar.HOUR_OF_DAY,0);
             calendar.set(Calendar.MINUTE,0);
             calendar.set(Calendar.SECOND,0);
@@ -1197,6 +1197,10 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
                                             salesOrder.setSalesPostFirm("jd");
                                             break;
                                         }
+                                        case "CYS0000010":{
+                                            salesOrder.setSalesPostFirm("jd");
+                                            break;
+                                        }
                                         case "STO":{
                                             salesOrder.setSalesPostFirm("STO");
                                             break;
@@ -1664,14 +1668,15 @@ public class OrderSyncLogServiceImpl implements OrderSyncLogService {
                         }
 
                         if(1 == dealerChannel.getDealerSelfOperated()) {
-                            //按照购买数量进行降序排序
-                            Collections.sort(noZeroSalesOrderItemList, new Comparator<SalesOrderItem>() {
-                                @Override
-                                public int compare(SalesOrderItem s1, SalesOrderItem s2) {
-                                    return s2.getItemNum().compareTo(s1.getItemNum());
-                                }
-
-                            });
+                            if(noZeroSalesOrderItemList.size() > 1){
+                                //按照购买数量进行降序排序
+                                Collections.sort(noZeroSalesOrderItemList, new Comparator<SalesOrderItem>() {
+                                    @Override
+                                    public int compare(SalesOrderItem s1, SalesOrderItem s2) {
+                                        return s2.getItemNum().compareTo(s1.getItemNum());
+                                    }
+                                });
+                            }
 
                             //计算订单总价(*数量) - 填写的客户价格计算的总价格
                             Integer allPrice = 0;

+ 13 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/order/mapper/OrderDepartMapper.java

@@ -28,4 +28,17 @@ public interface OrderDepartMapper {
      * @return Integer
      */
     Integer  save(OrderDepart  orderDepart);
+    /**
+     * 批量添加
+     * @param orderDepartList
+     * @return
+     */
+    Integer saveList(List<OrderDepart> orderDepartList);
+
+    /**
+     * 批量添加
+     * @param adminId
+     * @return
+     */
+    Integer deleteDepart(Integer adminId);
 }

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

@@ -64,4 +64,32 @@
         #{storeId}
         )
     </insert>
+
+    <insert id="saveList"  parameterType="java.util.List">
+        insert into
+        tb_rst_order_depart
+        (
+            admin_id,
+            order_depart_type,
+            company_id,
+            store_id
+        )
+        values
+        <foreach collection="list" item="node" index="index" separator="," open="" close="">
+            (
+                #{node.adminId},
+                #{node.orderDepartType},
+                #{node.companyId},
+                #{node.storeId}
+            )
+        </foreach>
+    </insert>
+
+    <delete id="deleteDepart" parameterType ="Integer" >
+        delete from
+          tb_rst_order_depart
+        where
+          admin_id = #{adminId}
+    </delete>
+
 </mapper>

+ 9 - 8
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminOrderController.java

@@ -1150,14 +1150,15 @@ public class AdminOrderController {
                 }
 
                 if(1 == dealerChannel.getDealerSelfOperated()) {
-                    //按照购买数量进行降序排序
-                    Collections.sort(salesOrderItemList, new Comparator<SalesOrderItem>() {
-                        @Override
-                        public int compare(SalesOrderItem s1, SalesOrderItem s2) {
-                            return s2.getItemNum().compareTo(s1.getItemNum());
-                        }
-
-                    });
+                    if(salesOrderItemList.size() > 1){
+                        //按照购买数量进行降序排序
+                        Collections.sort(salesOrderItemList, new Comparator<SalesOrderItem>() {
+                            @Override
+                            public int compare(SalesOrderItem s1, SalesOrderItem s2) {
+                                return s2.getItemNum().compareTo(s1.getItemNum());
+                            }
+                        });
+                    }
 
                     //计算订单总价(*数量) - 填写的客户价格计算的总价格
                     Integer allPrice = 0;

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

@@ -243,7 +243,11 @@ public class AdminSalesOrderController {
             LogisticsInfo logisticsInfo = new LogisticsInfo();
             logisticsInfo.setLogisticsRstCode(order.getSalesPostFirm());
             List<LogisticsInfo> logis = salesOrderService.getLogisticsInfo(logisticsInfo);
-            order.setSalesPostFirmName(logis.get(0).getLogisticsName());
+            if(logis == null || logis.size() < 1){
+                order.setSalesPostFirmName(order.getSalesPostFirm());
+            }else{
+                order.setSalesPostFirmName(logis.get(0).getLogisticsName());
+            }
         }
 
         //查询操作记录

+ 65 - 2
watero-rst-web/src/main/java/com/iamberry/rst/controllers/sys/SysController.java

@@ -1,9 +1,15 @@
 package com.iamberry.rst.controllers.sys;
 
 import com.iamberry.app.tool.des.MD5;
+import com.iamberry.rst.core.cm.CompanyInfo;
+import com.iamberry.rst.core.cm.StoreInfo;
+import com.iamberry.rst.core.order.OrderDepart;
 import com.iamberry.rst.core.page.PageRequest;
 import com.iamberry.rst.core.page.PagedResult;
 import com.iamberry.rst.core.sys.*;
+import com.iamberry.rst.faces.cm.CompanyInfoService;
+import com.iamberry.rst.faces.cm.StoreInfoService;
+import com.iamberry.rst.faces.order.OrderDepartService;
 import com.iamberry.rst.faces.sys.DepartService;
 import com.iamberry.rst.faces.sys.SysService;
 import com.iamberry.rst.utils.AdminUtils;
@@ -52,6 +58,12 @@ public class SysController {
     private SysService sysService;
     @Autowired
     private DepartService departService;
+    @Autowired
+    private CompanyInfoService companyInfoService;
+    @Autowired
+    private StoreInfoService storeInfoService;
+    @Autowired
+    private OrderDepartService orderDepartService;
 
     private static Logger logger = LoggerFactory.getLogger(SysController.class);
 
@@ -261,7 +273,30 @@ public class SysController {
     @RequestMapping("/{adminId}/_edit_permission")
     public ModelAndView editPermissionUI(@PathVariable("adminId") Integer adminId) {
         List<Menu> menus = sysService.listPermissions(adminId);
-        return new ModelAndView("sys/edit_permission").addObject("list", menus).addObject("adminId", adminId);
+
+        Integer[] storeIds = orderDepartService.getDepartStoreIds(adminId);
+
+        List<CompanyInfo> companyInfoList = companyInfoService.listCompanyInfo(new CompanyInfo());
+        for (CompanyInfo companyInfo : companyInfoList) {
+            StoreInfo storeInfo = new StoreInfo();
+            storeInfo.setCompanyId(companyInfo.getCompanyId());
+            List<StoreInfo>  storeInfoList = storeInfoService.listStore(storeInfo);
+            if(storeIds.length > 0){
+                for (StoreInfo si : storeInfoList) {
+                    for (int i = 0; i < storeIds.length; i++) {
+                        if(si.getStoreId() == storeIds[i]){
+                            si.setIsSelectDepart(1); //   1:选中  2:未选中
+                        }
+                    }
+                }
+            }
+            companyInfo.setStoreInfoList(storeInfoList);
+        }
+
+        return new ModelAndView("sys/edit_permission")
+                .addObject("companyInfoList", companyInfoList)
+                .addObject("list", menus)
+                .addObject("adminId", adminId);
     }
 
     @RequiresRoles(value = {"ROOT", "MANAGER"}, logical = Logical.OR)
@@ -269,7 +304,9 @@ public class SysController {
     @RequestMapping("/edit_permission")
     @ResponseBody
     public ResponseJson editPermission(@RequestParam("adminId") Integer adminId,
-                                       @RequestParam("perms[]") String [] perms) {
+                                       @RequestParam("perms[]") String [] perms,
+                                       @RequestParam("companyIds") String companyIds,
+                                       @RequestParam("storeIds") String storeIds) {
 
         // perms["一级菜单:二级菜单:权限id:权限操作符", "一级菜单:二级菜单:权限id:权限操作符"]
         List<AdminPocess> pocesses = new ArrayList<>();
@@ -299,6 +336,32 @@ public class SysController {
             logger.info("", e);
         }
 
+        List<OrderDepart> orderDepartList = new ArrayList<>();
+        if(companyIds != null && !"".equals(companyIds)){
+            String[] companyArray = companyIds.split(",");
+            for (String company : companyArray) {
+                OrderDepart orderDepart = new OrderDepart();
+                orderDepart.setAdminId(adminId);
+                orderDepart.setCompanyId(Integer.valueOf(company));
+                orderDepart.setOrderDepartType(1);
+                orderDepartList.add(orderDepart);
+            }
+        }
+        if(storeIds != null && !"".equals(storeIds)){
+            String[] storeArray = storeIds.split(",");
+            for (String store : storeArray) {
+                OrderDepart orderDepart = new OrderDepart();
+                orderDepart.setAdminId(adminId);
+                orderDepart.setStoreId(Integer.valueOf(store));
+                orderDepart.setOrderDepartType(2);
+                orderDepartList.add(orderDepart);
+            }
+        }
+
+        if(orderDepartList.size() > 0){
+            orderDepartService.update(orderDepartList,adminId);
+        }
+
         if (res == 0) {
             return new ResponseJson(200, "ERROR", 400);
         }

+ 1 - 0
watero-rst-web/src/main/java/com/iamberry/rst/utils/StitchAttrUtil.java

@@ -38,6 +38,7 @@ public class StitchAttrUtil {
             "cmRelation",
             "signclosedImgInfoList",
             "suSalesOrderItemList",
+            "storeInfoList",
             "storeIds"
     };
 

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

@@ -281,6 +281,8 @@
             <input type="hidden"  id="salesWaitMoney" name="salesWaitMoney" value="0" >
             <input type="hidden"  id="salesLastMoney" name="salesLastMoney" value="0" >
             <input type="hidden"  id="salesShippingFee" name="salesShippingFee"  value="0">
+
+            <input type="hidden"  id="salesWarrantyStatus" name="salesWarrantyStatus" title="没有售后"  value="0">
             <span style="color: #dd0000;margin-left: 190px;margin-top: 20px;"><strong>请认真填写实付金额,如果不知道实际销售价格,请联系业务员获取</strong></span>
             <div class="row cl">
                 <label class="form-label col-3">

+ 93 - 1
watero-rst-web/src/main/webapp/WEB-INF/views/sys/edit_permission.ftl

@@ -54,6 +54,36 @@
                 </li>
             </#list>
         </ul>
+
+        <div class="cl pd-5 bg-1 bk-gray mt-20">
+            <span class="l">订单权限</span>
+        </div>
+        <ul id="Huifold1" class="Huifold">
+            <#list companyInfoList as company>
+                <li class="item company_list">
+                    <h4><label class="permission-class"><input type="checkbox" class="company_checkbox" len="${company.storeInfoList?size}" value="${company.companyId}" id="permission-${company.companyId}">${company.companyName}</label><b>+</b></h4>
+                    <div class="info">
+                        <table class="table table-border table-bordered">
+                            <thead>
+                                <tr><th width="20%">是否拥有操作此店铺的权限</th><th>店铺名称</th><th>店铺备注</th></tr>
+                            </thead>
+                            <tbody>
+                                <#list company.storeInfoList as store>
+                                <tr>
+                                    <th>
+                                        <label><input type="checkbox" len="0" id="permission-input-${store.storeId!''}" class="ermissions ermissions-${store.storeId!''} store_once" name="haveId" <#if store.isSelectDepart??><#if store.isSelectDepart == 1>checked="checked"</#if></#if> value="${store.storeId}">选中</label>
+                                    </th>
+                                    <td>${store.storeName!""}</td>
+                                    <td>${store.storeRemark!""}</td>
+                                </tr>
+                                </#list>
+                            </tbody>
+                        </table>
+                    </div>
+                </li>
+            </#list>
+        </ul>
+
     </form>
 </div>
 </body>
@@ -98,7 +128,34 @@
                 return false;
             }
 
-            $.post(root_path + "/admin/sys/edit_permission",{"adminId":$("#hidden-adminid-input").val(), "perms":array},function(result){
+            //勾选的销售公司
+            var companyIds = "";
+            //勾选的店铺
+            var storeIds = "";
+
+            $(".company_checkbox").each(function () {
+                var companyId = $(this).val();
+                if($(this).is(':checked')){
+                    if(companyIds == ""){
+                        companyIds = companyId;
+                    }else{
+                        companyIds += "," + companyId
+                    }
+                }else{
+                    $(this).parents(".company_list").find(".store_once").each(function () {
+                        var storeId = $(this).val();
+                        if($(this).is(':checked')){
+                            if(storeIds == ""){
+                                storeIds = storeId
+                            }else{
+                                storeIds += "," + storeId
+                            }
+                        }
+                    })
+                }
+            })
+
+            $.post(root_path + "/admin/sys/edit_permission",{"adminId":$("#hidden-adminid-input").val(), "perms":array, "companyIds":companyIds, "storeIds":storeIds},function(result){
                 if (result.returnCode != 200 || result.returnCode != 200) {
                     layer.msg('重置失败,请重试!',{icon: 5,time:3000});
                 } else {
@@ -203,5 +260,40 @@
         event.stopPropagation();
     }
 
+    $(function (){
+        controlCheck();
+
+        //选择销售公司,对应的店铺都选中
+        $(".company_checkbox").click(function(event) {
+            var $company_list_context = $(this).parents(".company_list");
+            if($(this).is(':checked')){//取消选中
+                $company_list_context.find(".store_once").prop("checked",true);
+            }else{
+                $company_list_context.find(".store_once").removeAttr("checked");
+            }
+        })
+
+        $(".store_once").click(function(event) {
+            controlCheck();
+        })
+    })
+
+
+    function controlCheck() {
+        //初始化销售公司是否都选择了
+        $(".company_list").each(function () {
+            var flag = true;
+            $(this).find(".store_once").each(function () {
+                if(!$(this).is(':checked')) {
+                    flag = false;
+                }
+            })
+            if(flag){
+                $(this).find(".company_checkbox").prop("checked",true);
+            }else{
+                $(this).find(".company_checkbox").removeAttr("checked");
+            }
+        })
+    }
 </script>
 </html>