Ver Fonte

门店供应链物品管理/记录

zhangkaikai há 1 ano atrás
pai
commit
84805eb490

+ 4 - 7
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/ChannelGoodsOrderMgrController.java

@@ -74,9 +74,6 @@ public class ChannelGoodsOrderMgrController extends BaseApiController {
     @Autowired
     private IDeliveryCompanyService deliveryCompanyService;
 
-    @Autowired
-    private IUserDeliverOrderItemService userDeliverOrderItemService;
-
     @Autowired
     private MapperFacade mapperFacade;
 
@@ -85,7 +82,7 @@ public class ChannelGoodsOrderMgrController extends BaseApiController {
      */
     @PostMapping("/list")
     @ApiOperation(value = "订单列表", notes = "获取所有订单信息")
-    @PreAuthorize("@ss.hasPermi('order:channel:list')")
+    @PreAuthorize("@ss.hasPermi('channelGoods:channel:list')")
     @ApiResponses(
             @ApiResponse(code = 200, message = "success", response = ChannelGoodsOrderVO.class)
     )
@@ -117,7 +114,7 @@ public class ChannelGoodsOrderMgrController extends BaseApiController {
      */
     @PostMapping("/detail")
     @ApiOperation(value = "订单详情", notes = "在订单列表页面查看详情")
-    @PreAuthorize("@ss.hasPermi('order:channel:query')")
+    @PreAuthorize("@ss.hasPermi('channelGoods:channel:query')")
     @ApiResponses(
             @ApiResponse(code = 200, message = "success", response = ChannelGoodsOrderInfoVO.class)
     )
@@ -151,7 +148,7 @@ public class ChannelGoodsOrderMgrController extends BaseApiController {
     @Log(title = "订单发货", businessType = BusinessType.UPDATE)
     @PostMapping("/ship")
     @ApiOperation(value = "订单发货", notes = "在订单发货页面提交")
-    @PreAuthorize("@ss.hasPermi('order:channel:ship')")
+    @PreAuthorize("@ss.hasPermi('channelGoods:channel:ship')")
     public AjaxResult ship(@RequestBody ChannelGoodsOrderShipParam shipParam) {
 
         if(null == shipParam || StringUtils.isBlank(shipParam.getOrderId())) {
@@ -198,7 +195,7 @@ public class ChannelGoodsOrderMgrController extends BaseApiController {
 
     @Log(title = "订单导出", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
-    @PreAuthorize("@ss.hasPermi('order:channel:export')")
+    @PreAuthorize("@ss.hasPermi('channelGoods:channel:export')")
     public AjaxResult export(@RequestBody ChannelGoodsOrderQueryParam queryParam) {
         Date startTime = queryParam.getStartTime();
         Date endTime = queryParam.getEndTime();

+ 4 - 12
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/ChannelGoodsSettleMgrController.java

@@ -19,10 +19,8 @@ import com.qs.mp.channel.service.IChannelGoodsSettleOrderItemService;
 import com.qs.mp.channel.service.IChannelGoodsSettleOrderService;
 import com.qs.mp.common.core.domain.AjaxResult;
 import com.qs.mp.common.core.page.TableDataInfo;
-import com.qs.mp.common.enums.ChannelGoodsOrderSettleEnum;
 import com.qs.mp.common.enums.ChannelGoodsOrderStatusEnum;
 import com.qs.mp.common.exception.ServiceException;
-import com.qs.mp.system.service.id.BizIdGenerator;
 import com.qs.mp.web.controller.common.BaseApiController;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -33,9 +31,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.ArrayList;
 import java.util.List;
-import java.util.stream.Collectors;
 
 /**
  * 结算门店采购商品
@@ -62,7 +58,7 @@ public class ChannelGoodsSettleMgrController extends BaseApiController {
 
     @PostMapping("/list")
     @ApiOperation(value = "门店库存结算列表")
-    @PreAuthorize("@ss.hasPermi('business:goods:list')")
+    @PreAuthorize("@ss.hasPermi('business:channelGoods:list')")
     @ApiResponses(
             @ApiResponse(code = 200, message = "成功", response = ChannelGoodsSettleVO.class)
     )
@@ -105,7 +101,7 @@ public class ChannelGoodsSettleMgrController extends BaseApiController {
 
     @PostMapping("/detail/{orderId}")
     @ApiOperation(value = "门店库存结算详情")
-    @PreAuthorize("@ss.hasPermi('business:goods:query')")
+    @PreAuthorize("@ss.hasPermi('business:channelGoods:query')")
     @ApiResponses(
             @ApiResponse(code = 200, message = "成功", response = ChannelGoodsSettleVO.class)
     )
@@ -118,16 +114,12 @@ public class ChannelGoodsSettleMgrController extends BaseApiController {
             channelGoodsOrderSettleVO.setTotalRemainQty(channelGoodsList.stream().mapToInt(ChannelGoods::getRemainQty).sum());
             channelGoodsOrderSettleVO.setTotalSettleQty(channelGoodsList.stream().mapToInt(ChannelGoods::getSettleQty).sum());
             channelGoodsOrderSettleVO.setTotalVerifyQty(channelGoodsList.stream().mapToInt(ChannelGoods::getVerifyQty).sum());
-            Integer totalPurchaseCost = 0;
-            for (ChannelGoods channelGoods : channelGoodsList) {
-                totalPurchaseCost += channelGoods.getPurchaseCost() * channelGoods.getRemainQty();
-            }
-            channelGoodsOrderSettleVO.setTotalPurchaseCost(totalPurchaseCost);
             channelGoodsOrderSettleVO.setStatus(channelGoodsList.get(0).getStatus());
 
             ChannelGoodsSettleOrderItem settleOrderItem = settleOrderItemService.getOne(new LambdaQueryWrapper<ChannelGoodsSettleOrderItem>().eq(ChannelGoodsSettleOrderItem::getChannelGoodsId, channelGoodsList.get(0).getId()));
             if (settleOrderItem != null) {
                 ChannelGoodsSettleOrder settleOrder = settleOrderService.getOne(new LambdaQueryWrapper<ChannelGoodsSettleOrder>().eq(ChannelGoodsSettleOrder::getOrderId, settleOrderItem.getOrderId()));
+                channelGoodsOrderSettleVO.setTotalPurchaseCost(settleOrder.getOrderAmt());
                 channelGoodsOrderSettleVO.setPayAmount(settleOrder.getSettleAmt());
                 channelGoodsOrderSettleVO.setPushTime(settleOrder.getCreatedTime());
                 channelGoodsOrderSettleVO.setSettleTime(settleOrder.getPayTime());
@@ -141,7 +133,7 @@ public class ChannelGoodsSettleMgrController extends BaseApiController {
     }
 
     @PostMapping("/push/settle/order")
-    @PreAuthorize("@ss.hasPermi('business:order:push')")
+    @PreAuthorize("@ss.hasPermi('business:channelGoodsOrder:push')")
     @ApiOperation(value = "推送结算订单")
     public AjaxResult settleOrder(@RequestBody PushChannelGoodsSettleParam settleVO) {
         if (settleVO.getSettleAmt() <= 0) {

+ 18 - 2
mp-admin/src/main/java/com/qs/mp/web/controller/api/channel/ChannelGoodsController.java

@@ -7,10 +7,12 @@ import com.qs.mp.admin.domain.vo.GoodsVO;
 import com.qs.mp.admin.service.IGoodsService;
 import com.qs.mp.admin.service.IGoodsSkuService;
 import com.qs.mp.channel.domain.ChannelGoods;
+import com.qs.mp.channel.domain.ChannelGoodsSettleOrderItem;
 import com.qs.mp.channel.domain.param.SiteGoodsForChannelQueryParam;
 import com.qs.mp.channel.domain.param.SiteGoodsQueryParam;
 import com.qs.mp.channel.domain.vo.ChannelGoodsVO;
 import com.qs.mp.channel.service.IChannelGoodsService;
+import com.qs.mp.channel.service.IChannelGoodsSettleOrderItemService;
 import com.qs.mp.common.core.domain.AjaxResult;
 import com.qs.mp.common.core.page.TableDataInfo;
 import com.qs.mp.common.enums.ChannelGoodsSettleStatusTypeEnum;
@@ -52,6 +54,9 @@ public class ChannelGoodsController extends BaseApiController {
     @Autowired
     private IChannelGoodsService channelGoodsService;
 
+    @Autowired
+    private IChannelGoodsSettleOrderItemService settleOrderItemService;
+
     @Autowired
     private MapperFacade mapperFacade;
 
@@ -99,8 +104,12 @@ public class ChannelGoodsController extends BaseApiController {
     )
     public TableDataInfo goodsListChannel(@RequestBody SiteGoodsForChannelQueryParam param) {
         Long channelId = SecurityUtils.getLoginUser().getChannelId();
-
-        QueryWrapper<ChannelGoods> wrapper = new QueryWrapper<ChannelGoods>().eq("t1.channel_id", channelId).eq("t1.status", param.getSettleStatus());
+        if (param.getChannelId() != null) {
+            channelId = param.getChannelId();
+        }
+        QueryWrapper<ChannelGoods> wrapper = new QueryWrapper<ChannelGoods>()
+                .eq("t1.channel_id", channelId)
+                .eq("t1.status", param.getSettleStatus());
         if (ChannelGoodsSettleStatusTypeEnum.NO.equals(param.getSettleStatus())) {
             wrapper.orderByAsc("t1.remain_qty");
             wrapper.orderByDesc("t1.created_time");
@@ -108,6 +117,13 @@ public class ChannelGoodsController extends BaseApiController {
             wrapper.orderByDesc("t1.settle_time");
         }
         List<ChannelGoodsVO> channelGoodsList = channelGoodsService.listChannelGoods(wrapper);
+        for (ChannelGoodsVO channelGoodsVO : channelGoodsList) {
+            if (ChannelGoodsSettleStatusTypeEnum.DOING.equals(channelGoodsVO.getStatus())) {
+                List<ChannelGoodsSettleOrderItem> items = settleOrderItemService.list(new QueryWrapper<ChannelGoodsSettleOrderItem>().eq("channel_goods_id", channelGoodsVO.getId()));
+                channelGoodsVO.setSettleOrderId(items.get(0).getOrderId());
+                channelGoodsVO.setPurchaseOrderId(channelGoodsVO.getOrderId());
+            }
+        }
         return getDataTable(channelGoodsList);
     }
 

+ 4 - 4
mp-admin/src/main/java/com/qs/mp/web/controller/api/channel/ChannelGoodsSettleController.java

@@ -70,10 +70,10 @@ public class ChannelGoodsSettleController extends BaseApiController {
     public TableDataInfo list() {
         Long channelId = SecurityUtils.getLoginUser().getChannelId();
         startPage();
-        List<ChannelGoodsSettleOrder> list = settleOrderService.list(new LambdaQueryWrapper<ChannelGoodsSettleOrder>()
-                .eq(ChannelGoodsSettleOrder::getChannelId, channelId)
-                .orderByAsc(ChannelGoodsSettleOrder::getStatus)
-                .orderByDesc(ChannelGoodsSettleOrder::getCreatedTime));
+        List<ChannelSettleVO> list = settleOrderService.listGoodsSettleOrder(new QueryWrapper<ChannelGoodsSettleOrder>()
+                .eq("t1.channel_id", channelId)
+                .orderByAsc("t1.status")
+                .orderByDesc("t1.created_time"));
         List<ChannelSettleVO> channelSettleVOS = mapperFacade.mapAsList(list, ChannelSettleVO.class);
         return getDataTable(channelSettleVOS);
     }

+ 6 - 0
mp-service/src/main/java/com/qs/mp/channel/domain/vo/ChannelGoodsVO.java

@@ -13,6 +13,12 @@ import lombok.Data;
 @Data
 public class ChannelGoodsVO extends ChannelGoods {
 
+    @ApiModelProperty("结算订单id")
+    private String settleOrderId;
+
+    @ApiModelProperty("采购订单id")
+    private String purchaseOrderId;
+
     @ApiModelProperty("供应商名称")
     private String supplierName;
 

+ 5 - 2
mp-service/src/main/java/com/qs/mp/channel/domain/vo/ChannelSettleVO.java

@@ -20,8 +20,11 @@ import java.util.List;
 public class ChannelSettleVO {
 
 
-    @ApiModelProperty("订单id")
-    private String orderId;
+    @ApiModelProperty("采购订单id")
+    private String purchaseOrderId;
+
+    @ApiModelProperty("结算账单id")
+    private String settleOrderId;
 
     @ApiModelProperty("应付金额")
     private Integer orderAmt;

+ 7 - 0
mp-service/src/main/java/com/qs/mp/channel/mapper/ChannelGoodsSettleOrderMapper.java

@@ -1,7 +1,13 @@
 package com.qs.mp.channel.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.qs.mp.channel.domain.ChannelGoodsSettleOrder;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qs.mp.channel.domain.vo.ChannelSettleVO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * @auther quanshu
@@ -10,4 +16,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface ChannelGoodsSettleOrderMapper extends BaseMapper<ChannelGoodsSettleOrder> {
 
+    List<ChannelSettleVO> listGoodsSettleOrder(@Param(Constants.WRAPPER) QueryWrapper<ChannelGoodsSettleOrder> channelGoodsSettleOrderQueryWrapper);
 }

+ 6 - 0
mp-service/src/main/java/com/qs/mp/channel/service/IChannelGoodsSettleOrderService.java

@@ -1,10 +1,14 @@
 package com.qs.mp.channel.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.qs.mp.channel.domain.ChannelGoodsSettleOrder;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qs.mp.channel.domain.param.PushChannelGoodsSettleParam;
+import com.qs.mp.channel.domain.vo.ChannelSettleVO;
 import com.qs.mp.pay.domain.PayOrder;
 
+import java.util.List;
+
 /**
  * <p>
  * 经销商商品结算订单 服务类
@@ -28,4 +32,6 @@ public interface IChannelGoodsSettleOrderService extends IService<ChannelGoodsSe
      * @param payOrder
      */
     void paySuccess(PayOrder payOrder);
+
+    List<ChannelSettleVO> listGoodsSettleOrder(QueryWrapper<ChannelGoodsSettleOrder> channelGoodsSettleOrderQueryWrapper);
 }

+ 7 - 0
mp-service/src/main/java/com/qs/mp/channel/service/impl/ChannelGoodsSettleOrderServiceImpl.java

@@ -2,11 +2,13 @@ package com.qs.mp.channel.service.impl;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.qs.mp.channel.domain.ChannelGoods;
 import com.qs.mp.channel.domain.ChannelGoodsSettleOrder;
 import com.qs.mp.channel.domain.ChannelGoodsSettleOrderItem;
 import com.qs.mp.channel.domain.param.PushChannelGoodsSettleParam;
+import com.qs.mp.channel.domain.vo.ChannelSettleVO;
 import com.qs.mp.channel.mapper.ChannelGoodsSettleOrderMapper;
 import com.qs.mp.channel.service.IChannelGoodsService;
 import com.qs.mp.channel.service.IChannelGoodsSettleOrderItemService;
@@ -132,4 +134,9 @@ public class ChannelGoodsSettleOrderServiceImpl extends ServiceImpl<ChannelGoods
             throw new ServiceException("更新门店采购商品信息失败");
         }
     }
+
+    @Override
+    public List<ChannelSettleVO> listGoodsSettleOrder(QueryWrapper<ChannelGoodsSettleOrder> channelGoodsSettleOrderQueryWrapper) {
+        return getBaseMapper().listGoodsSettleOrder(channelGoodsSettleOrderQueryWrapper);
+    }
 }

+ 7 - 0
mp-service/src/main/resources/mapper/channel/ChannelGoodsSettleOrderMapper.xml

@@ -23,5 +23,12 @@
     <sql id="Base_Column_List">
         order_id, channel_id, title, settle_num, order_amt, settle_amt, type, pay_type, status, settle_channel, pay_time, created_time, updated_time
     </sql>
+    <select id="listGoodsSettleOrder" resultType="com.qs.mp.channel.domain.vo.ChannelSettleVO">
+        select t3.order_id as purchaseOrderId,t1.order_id as settleOrderId,t1.order_amt,t1.settle_amt,t1.status,t1.created_time,t1.pay_time
+        from mp_channel_goods_settle_order t1
+        left join mp_channel_goods_settle_order_item t2 on t1.order_id = t2.order_id
+        left join mp_channel_goods t3 on t3.id = channel_goods_id
+            ${ew.customSqlSegment}
+    </select>
 
 </mapper>