Bladeren bron

Merge branch 'master' of http://49.4.53.36:3000/hotel/hotel-saas-backend

qh 2 jaren geleden
bovenliggende
commit
1d0b408637

+ 78 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/finance/controller/SummaryController.java

@@ -0,0 +1,78 @@
+package org.jeecg.modules.finance.controller;
+
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.ObjectUtils;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.TokenUtils;
+import org.jeecg.modules.business.entity.BusWaiter;
+import org.jeecg.modules.business.service.IBusWaiterService;
+import org.jeecg.modules.finance.service.ISummaryService;
+import org.jeecg.modules.fw.dto.RoomCleanDto;
+import org.jeecg.modules.fw.entity.FwRoomClean;
+import org.jeecg.modules.fw.service.IFwRoomCleanService;
+import org.jeecg.modules.pos.entity.PosOrderGoodsPayment;
+import org.jeecg.modules.rooms.Enum.RoomStatusEnum;
+import org.jeecg.modules.rooms.entity.CesRoomLayoutPriceDate;
+import org.jeecg.modules.rooms.entity.CesRooms;
+import org.jeecg.modules.rooms.service.CesRoomsServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+
+/**
+ * @Description: 收款统计
+ * @Author: jeecg-boot
+ * @Date:   2023-04-19
+ * @Version: V1.0
+ */
+@Api(tags="收款统计")
+@RestController
+@RequestMapping("/finance/summary")
+@Slf4j
+public class SummaryController {
+	@Autowired
+	private ISummaryService summaryService;
+
+	/**
+	 * 收款汇总统计
+	 *
+	 * @param posOrderGoodsPayment
+	 * @param pageNo
+	 * @param pageSize
+	 * @param startTime
+	 * @param endTime
+	 * @param req
+	 * @return
+	 */
+	@ApiOperation(value = "收款汇总统计", notes = "收款汇总统计")
+	@GetMapping(value = "/financeSummaryPage")
+	public Result<IPage<HashMap<String, Object>>> getFinanceSummarizationPage(PosOrderGoodsPayment posOrderGoodsPayment,
+																			  @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+																			  @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+																			  @RequestParam(name = "startTime", required = false) @JsonFormat() DateTime startTime,
+																			  @RequestParam(name = "endTime", required = false) @JsonFormat() DateTime endTime,
+																			  @RequestParam(name = "departmentId", defaultValue = "0") Integer departmentId,
+																			  HttpServletRequest req) {
+		Page<HashMap<String, Object>> page = new Page<HashMap<String, Object>>(pageNo, pageSize);
+		IPage<HashMap<String, Object>> pageList = summaryService.pageList(page, posOrderGoodsPayment.getHotelId(), startTime, endTime, departmentId);
+		return Result.OK(pageList);
+	}
+
+}

+ 108 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/finance/mapper/SummaryMapper.java

@@ -0,0 +1,108 @@
+package org.jeecg.modules.finance.mapper;
+
+import cn.hutool.core.date.DateTime;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import org.jeecg.modules.business.entity.BusRoomPayType;
+import org.jeecg.modules.kc.entity.KcDepositoryInGoods;
+import org.jeecg.modules.pos.entity.PosOrderGoodsPayment;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * @Description: 收款汇总统计
+ * @Author: jeecg-boot
+ * @Date:   2023-04-19
+ * @Version: V1.0
+ */
+public interface SummaryMapper extends BaseMapper<PosOrderGoodsPayment>  {
+
+    /**
+     * 收款汇总统计全部
+     * @param page
+     * @param busRoomPayTypes
+     * @param hotelId
+     * @param startTime
+     * @param endTime
+     * @return
+     */
+    @Select("<script>select max(h.name) as hotel_name,'POS' as department\n" +
+            "<foreach item='item' index='index' collection='busRoomPayTypes' open=',' separator=',' close=' '>"+
+            "SUM(case ogp.payment_method when '${item.id}' then ogp.pay_money else 0 end) as '${item.name}'\n" +
+            "</foreach>"+
+            "from bus_hotel_info h\n" +
+            "inner join bus_room_pay_type_info pty on h.id=pty.hotel_id\n" +
+            "left join pos_order_goods_payment ogp on pty.id=ogp.payment_method\n" +
+            "where 1=1" +
+            "<if test='hotelId != null and hotelId !=\"\"'> and h.id = #{hotelId} </if>"+
+            "<if test='startTime != null'> and ogp.create_time &gt;= #{startTime} </if>"+
+            "<if test='endTime != null'> and ogp.create_time &lt;= #{endTime} </if>"+
+            "group by h.id\n" +
+            "UNION ALL\n" +
+            "select max(h.name) as hotel_name,'客房' as department\n" +
+            "<foreach item='item' index='index' collection='busRoomPayTypes' open=',' separator=',' close=' '>"+
+            "SUM(case of.pay_type when '${item.id}' then of.money else 0 end) as '${item.name}'\n" +
+            "</foreach>"+
+            "from bus_hotel_info h\n" +
+            "inner join bus_room_pay_type_info pty on h.id=pty.hotel_id\n" +
+            "left join bus_order_fee of on pty.id=of.pay_type\n" +
+            "where of.fee_type=2 and of.preferential_status=2" +
+            "<if test='hotelId != null and hotelId !=\"\"'> and h.id = #{hotelId} </if>"+
+            "<if test='startTime != null'> and of.create_time &gt;= #{startTime} </if>"+
+            "<if test='endTime != null'> and of.create_time &lt;= #{endTime} </if>"+
+            "group by h.id</script>")
+    public List<HashMap<String,Object>> pageList(Page<HashMap<String,Object>> page, @Param("busRoomPayTypes") List<BusRoomPayType> busRoomPayTypes, @Param("hotelId") String hotelId, @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime);
+
+
+    /**
+     * 收款汇总统计POS
+     * @param page
+     * @param busRoomPayTypes
+     * @param hotelId
+     * @param startTime
+     * @param endTime
+     * @return
+     */
+    @Select("<script>select max(h.name) as hotel_name,'POS' as department,\n" +
+            "<foreach item='item' index='index' collection='busRoomPayTypes' open=',' separator=',' close=' '>"+
+            "SUM(case ogp.payment_method when '${item.id}' then ogp.pay_money else 0 end) as '${item.name}',\n" +
+            "</foreach>"+
+            "from bus_hotel_info h\n" +
+            "inner join bus_room_pay_type_info pty on h.id=pty.hotel_id\n" +
+            "left join pos_order_goods_payment ogp on pty.id=ogp.payment_method\n" +
+            "where 1=1" +
+            "<if test='hotelId != null and hotelId !=\"\"'> and h.id = #{hotelId} </if>"+
+            "<if test='startTime != null'> and ogp.create_time &gt;= #{startTime} </if>"+
+            "<if test='endTime != null'> and ogp.create_time &lt;= #{endTime} </if>"+
+            "group by h.id</script>")
+    public List<HashMap<String,Object>> posPageList(Page<HashMap<String,Object>> page, @Param("busRoomPayTypes") List<BusRoomPayType> busRoomPayTypes, @Param("hotelId") String hotelId, @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime);
+
+    /**
+     * 收款汇总统计全部
+     * @param page
+     * @param busRoomPayTypes
+     * @param hotelId
+     * @param startTime
+     * @param endTime
+     * @return
+     */
+    @Select("<script>select max(h.name) as hotel_name,'客房' as department,\n" +
+            "<foreach item='item' index='index' collection='busRoomPayTypes' open=',' separator=',' close=' '>"+
+            "SUM(case of.pay_type when '${item.id}' then of.money else 0 end) as '${item.name}',\n" +
+            "</foreach>"+
+            "from bus_hotel_info h\n" +
+            "inner join bus_room_pay_type_info pty on h.id=pty.hotel_id\n" +
+            "left join bus_order_fee of on pty.id=of.pay_type\n" +
+            "where of.fee_type=2 and of.preferential_status=2" +
+            "<if test='hotelId != null and hotelId !=\"\"'> and h.id = #{hotelId} </if>"+
+            "<if test='startTime != null'> and of.create_time &gt;= #{startTime} </if>"+
+            "<if test='endTime != null'> and of.create_time &lt;= #{endTime} </if>"+
+            "group by h.id</script>")
+    public List<HashMap<String,Object>> roomPageList(Page<HashMap<String,Object>> page, @Param("busRoomPayTypes") List<BusRoomPayType> busRoomPayTypes, @Param("hotelId") String hotelId, @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime);
+
+}

+ 5 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/finance/mapper/xml/SummaryMapper.xml

@@ -0,0 +1,5 @@
+<?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="org.jeecg.modules.finance.mapper.SummaryMapper">
+
+</mapper>

+ 28 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/finance/service/ISummaryService.java

@@ -0,0 +1,28 @@
+package org.jeecg.modules.finance.service;
+
+import cn.hutool.core.date.DateTime;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.jeecg.modules.fw.entity.FwRoomRepair;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.pos.entity.PosOrderGoodsPayment;
+
+import java.util.HashMap;
+
+/**
+ * @Description: 收款汇总统计
+ * @Author: jeecg-boot
+ * @Date:   2023-04-19
+ * @Version: V1.0
+ */
+public interface ISummaryService extends IService<PosOrderGoodsPayment> {
+    /**
+     * 收款汇总统计
+     *
+     * @param page
+     * @param hotelId
+     * @param startTime
+     * @param endTime
+     * @return
+     */
+    public Page<HashMap<String, Object>> pageList(Page<HashMap<String, Object>> page, String hotelId, DateTime startTime, DateTime endTime, Integer departmentId);
+}

+ 60 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/finance/service/impl/SummaryServiceImpl.java

@@ -0,0 +1,60 @@
+package org.jeecg.modules.finance.service.impl;
+
+import cn.hutool.core.date.DateTime;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.business.entity.BusRoomPayType;
+import org.jeecg.modules.business.service.IBusRoomPayTypeService;
+import org.jeecg.modules.finance.mapper.SummaryMapper;
+import org.jeecg.modules.finance.service.ISummaryService;
+import org.jeecg.modules.fw.entity.FwRoomRepair;
+import org.jeecg.modules.fw.mapper.FwRoomRepairMapper;
+import org.jeecg.modules.fw.service.IFwRoomRepairService;
+import org.jeecg.modules.pos.entity.PosOrderGoodsPayment;
+import org.jeecg.modules.rooms.mapper.CesRoomLayoutPriceDateMapper;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import javax.annotation.Resource;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+/**
+ * @Description: 收款汇总统计
+ * @Author: jeecg-boot
+ * @Date:   2023-04-19
+ * @Version: V1.0
+ */
+@Service
+public class SummaryServiceImpl extends ServiceImpl<SummaryMapper, PosOrderGoodsPayment> implements ISummaryService {
+
+    @Resource
+    private SummaryMapper summaryMapper;
+    @Resource
+    private IBusRoomPayTypeService busRoomPayTypeService;
+
+    /**
+     * 收款汇总统计
+     *
+     * @param page
+     * @param hotelId
+     * @param startTime
+     * @param endTime
+     * @return
+     */
+    public Page<HashMap<String, Object>> pageList(Page<HashMap<String, Object>> page, String hotelId, DateTime startTime, DateTime endTime, Integer departmentId) {
+        LambdaQueryWrapper<BusRoomPayType> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.eq(BusRoomPayType::getHotelId, hotelId);
+        List<BusRoomPayType> busRoomPayTypes = busRoomPayTypeService.list(lambdaQueryWrapper);
+//        List<String> busRoomPayTypes=new ArrayList<>();
+        if (departmentId == 1) {
+            return page.setRecords(summaryMapper.posPageList(page, busRoomPayTypes, hotelId, startTime, endTime));
+        } else if (departmentId == 2) {
+            return page.setRecords(summaryMapper.roomPageList(page, busRoomPayTypes, hotelId, startTime, endTime));
+        }
+        return page.setRecords(summaryMapper.pageList(page, busRoomPayTypes, hotelId, startTime, endTime));
+    }
+}

+ 10 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/kc/controller/KcDepositoryInGoodsController.java

@@ -12,6 +12,7 @@ import javax.servlet.http.HttpServletResponse;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.kc.entity.KcDepository;
 import org.jeecg.modules.kc.entity.KcDepositoryInGoods;
 import org.jeecg.modules.kc.entity.KcGoods;
 import org.jeecg.modules.kc.entity.KcGoodsType;
@@ -22,6 +23,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.extern.slf4j.Slf4j;
 
+import org.jeecg.modules.kc.service.IKcDepositoryService;
 import org.jeecg.modules.kc.service.IKcGoodsService;
 import org.jeecg.modules.rooms.entity.CesGoodsUnit;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
@@ -56,6 +58,8 @@ public class KcDepositoryInGoodsController extends JeecgController<KcDepositoryI
 	private IKcDepositoryInGoodsService kcDepositoryInGoodsService;
 	@Autowired
 	private IKcGoodsService kcGoodsService;
+	@Autowired
+	private IKcDepositoryService kcDepositoryService;
 	/**
 	 * 分页列表查询
 	 *
@@ -74,6 +78,12 @@ public class KcDepositoryInGoodsController extends JeecgController<KcDepositoryI
 								   HttpServletRequest req) {
 		Page<KcDepositoryInGoods> page = new Page<KcDepositoryInGoods>(pageNo, pageSize);
 		IPage<KcDepositoryInGoods> pageList = kcDepositoryInGoodsService.depositoryInGoodsList(page, kcDepositoryInGoods.getHotelId(), kcDepositoryInGoods.getGoodsName(), kcDepositoryInGoods.getDepositoryId());
+		pageList.getRecords().forEach(item -> {
+			KcDepository kcDepository = kcDepositoryService.getById(item.getDepositoryId());
+			if (kcDepository != null) {
+				item.setDepositoryName(kcDepository.getName());
+			}
+		});
 		return Result.OK(pageList);
 	}
 

+ 44 - 16
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/kc/controller/KcStockController.java

@@ -174,14 +174,28 @@ private  IKcDepositoryInGoodsService kcDepositoryInGoodsService;
 		kcStock.setCreateTime(DateTime.now());
 		String stockInfo = "";
 		for (KcStockDetail kcStockDetail : kcStock.getStockDetailList()) {
-			KcSupplierInGoods kcSupplierInGoods = kcSupplierInGoodsService.getById(kcStockDetail.getSupplierInGoodsId());
-			if (kcSupplierInGoods != null) {
-				KcGoods kcGoods = kcGoodsService.getById(kcSupplierInGoods.getGoodsId());
-				if (kcGoods != null) {
-					kcStockDetail.setKcGoods(kcGoods);
-					CesGoodsUnit cesGoodsUnit = cesGoodsUnitService.getById(kcGoods.getGoodUnit());
-					if (cesGoodsUnit != null) {
-						stockInfo += kcGoods.getName() + kcStockDetail.getNum() + cesGoodsUnit.getName() + ",";
+			if (kcStock.getType().equals(2)) {
+				KcSupplierInGoods kcSupplierInGoods = kcSupplierInGoodsService.getById(kcStockDetail.getSupplierInGoodsId());
+				if (kcSupplierInGoods != null) {
+					KcGoods kcGoods = kcGoodsService.getById(kcSupplierInGoods.getGoodsId());
+					if (kcGoods != null) {
+						kcStockDetail.setKcGoods(kcGoods);
+						CesGoodsUnit cesGoodsUnit = cesGoodsUnitService.getById(kcGoods.getGoodUnit());
+						if (cesGoodsUnit != null) {
+							stockInfo += kcGoods.getName() + kcStockDetail.getNum() + cesGoodsUnit.getName() + ",";
+						}
+					}
+				}
+			} else if (kcStock.getType().equals(1)) {
+				KcDepositoryInGoods kcDepositoryInGoods = kcDepositoryInGoodsService.getById(kcStockDetail.getSupplierInGoodsId());
+				if (kcDepositoryInGoods != null) {
+					KcGoods kcGoods = kcGoodsService.getById(kcDepositoryInGoods.getGoodsId());
+					if (kcGoods != null) {
+						kcStockDetail.setKcGoods(kcGoods);
+						CesGoodsUnit cesGoodsUnit = cesGoodsUnitService.getById(kcGoods.getGoodUnit());
+						if (cesGoodsUnit != null) {
+							stockInfo += kcGoods.getName() + kcStockDetail.getNum() + cesGoodsUnit.getName() + ",";
+						}
 					}
 				}
 			}
@@ -297,14 +311,28 @@ private  IKcDepositoryInGoodsService kcDepositoryInGoodsService;
 		}
 		String stockInfo = "";
 		for (KcStockDetail kcStockDetail : kcStock.getStockDetailList()) {
-			KcSupplierInGoods kcSupplierInGoods = kcSupplierInGoodsService.getById(kcStockDetail.getSupplierInGoodsId());
-			if (kcSupplierInGoods != null) {
-				KcGoods kcGoods = kcGoodsService.getById(kcSupplierInGoods.getGoodsId());
-				if (kcGoods != null) {
-					kcStockDetail.setKcGoods(kcGoods);
-					CesGoodsUnit cesGoodsUnit = cesGoodsUnitService.getById(kcGoods.getGoodUnit());
-					if (cesGoodsUnit != null) {
-						stockInfo += kcGoods.getName() + kcStockDetail.getNum() + cesGoodsUnit.getName() + ",";
+			if (kcStock.getType().equals(2)) {
+				KcSupplierInGoods kcSupplierInGoods = kcSupplierInGoodsService.getById(kcStockDetail.getSupplierInGoodsId());
+				if (kcSupplierInGoods != null) {
+					KcGoods kcGoods = kcGoodsService.getById(kcSupplierInGoods.getGoodsId());
+					if (kcGoods != null) {
+						kcStockDetail.setKcGoods(kcGoods);
+						CesGoodsUnit cesGoodsUnit = cesGoodsUnitService.getById(kcGoods.getGoodUnit());
+						if (cesGoodsUnit != null) {
+							stockInfo += kcGoods.getName() + kcStockDetail.getNum() + cesGoodsUnit.getName() + ",";
+						}
+					}
+				}
+			} else if (kcStock.getType().equals(1)) {
+				KcDepositoryInGoods kcDepositoryInGoods = kcDepositoryInGoodsService.getById(kcStockDetail.getSupplierInGoodsId());
+				if (kcDepositoryInGoods != null) {
+					KcGoods kcGoods = kcGoodsService.getById(kcDepositoryInGoods.getGoodsId());
+					if (kcGoods != null) {
+						kcStockDetail.setKcGoods(kcGoods);
+						CesGoodsUnit cesGoodsUnit = cesGoodsUnitService.getById(kcGoods.getGoodUnit());
+						if (cesGoodsUnit != null) {
+							stockInfo += kcGoods.getName() + kcStockDetail.getNum() + cesGoodsUnit.getName() + ",";
+						}
 					}
 				}
 			}

+ 42 - 15
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/kc/controller/KcStockDetailController.java

@@ -9,21 +9,21 @@ import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import org.apache.commons.lang3.ObjectUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.kc.entity.*;
 import org.jeecg.modules.kc.enums.StorageEnum;
-import org.jeecg.modules.kc.service.IKcDepositoryInGoodsService;
-import org.jeecg.modules.kc.service.IKcGoodsService;
-import org.jeecg.modules.kc.service.IKcStockDetailService;
+import org.jeecg.modules.kc.service.*;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.extern.slf4j.Slf4j;
 
-import org.jeecg.modules.kc.service.IKcSupplierInGoodsService;
 import org.jeecg.modules.rooms.entity.CesGoodsUnit;
 import org.jeecg.modules.rooms.service.CesGoodsUnitServiceImpl;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
@@ -62,6 +62,10 @@ public class KcStockDetailController extends JeecgController<KcStockDetail, IKcS
 	private CesGoodsUnitServiceImpl cesGoodsUnitService;
 	@Autowired
 	private IKcSupplierInGoodsService kcSupplierInGoodsService;
+	@Autowired
+	private IKcStockService kcStockService;
+	@Autowired
+	private  IKcDepositoryInGoodsService kcDepositoryInGoodsService;
 	/**
 	 * 分页列表查询
 	 *
@@ -81,20 +85,43 @@ public class KcStockDetailController extends JeecgController<KcStockDetail, IKcS
 		QueryWrapper<KcStockDetail> queryWrapper = QueryGenerator.initQueryWrapper(kcStockDetail, req.getParameterMap());
 		Page<KcStockDetail> page = new Page<KcStockDetail>(pageNo, pageSize);
 		IPage<KcStockDetail> pageList = kcStockDetailService.page(page, queryWrapper);
-		pageList.getRecords().forEach(item -> {
-			KcSupplierInGoods kcSupplierInGoods = kcSupplierInGoodsService.getById(item.getSupplierInGoodsId());
-			if (kcSupplierInGoods != null) {
-				KcGoods kcGoods = kcGoodsService.getById(kcSupplierInGoods.getGoodsId());
-				if (kcGoods != null) {
-					item.setSpec(kcGoods.getSpec());
-					item.setName(kcGoods.getName());
-					CesGoodsUnit cesGoodsUnit = cesGoodsUnitService.getById(kcGoods.getGoodUnit());
-					if (cesGoodsUnit != null) {
-						item.setGoodUnit(cesGoodsUnit.getName());
+		KcStock kcStock = null;
+		if (ObjectUtils.isNotEmpty(kcStockDetail.getStockId())) {
+			LambdaQueryWrapper<KcStock> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+			lambdaQueryWrapper.eq(KcStock::getCode, kcStockDetail.getStockId());
+			kcStock = kcStockService.getOne(lambdaQueryWrapper);
+		}
+		for (KcStockDetail record : pageList.getRecords()) {
+			if (kcStock != null) {
+				if (kcStock.getType().equals(1)) {
+					KcDepositoryInGoods kcDepositoryInGoods = kcDepositoryInGoodsService.getById(record.getSupplierInGoodsId());
+					if (kcDepositoryInGoods != null) {
+						KcGoods kcGoods = kcGoodsService.getById(kcDepositoryInGoods.getGoodsId());
+						if (kcGoods != null) {
+							record.setSpec(kcGoods.getSpec());
+							record.setName(kcGoods.getName());
+							CesGoodsUnit cesGoodsUnit = cesGoodsUnitService.getById(kcGoods.getGoodUnit());
+							if (cesGoodsUnit != null) {
+								record.setGoodUnit(cesGoodsUnit.getName());
+							}
+						}
+					}
+				} else {
+					KcSupplierInGoods kcSupplierInGoods = kcSupplierInGoodsService.getById(record.getSupplierInGoodsId());
+					if (kcSupplierInGoods != null) {
+						KcGoods kcGoods = kcGoodsService.getById(kcSupplierInGoods.getGoodsId());
+						if (kcGoods != null) {
+							record.setSpec(kcGoods.getSpec());
+							record.setName(kcGoods.getName());
+							CesGoodsUnit cesGoodsUnit = cesGoodsUnitService.getById(kcGoods.getGoodUnit());
+							if (cesGoodsUnit != null) {
+								record.setGoodUnit(cesGoodsUnit.getName());
+							}
+						}
 					}
 				}
 			}
-		});
+		}
 		return Result.OK(pageList);
 	}
 

+ 2 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/kc/entity/KcDepositoryInGoods.java

@@ -63,4 +63,6 @@ public class KcDepositoryInGoods implements Serializable {
 	private String goodsUnitName;
 	@TableField(exist = false)
 	private String goodsSpec;
+	@TableField(exist = false)
+	private String depositoryName;
 }