Bladeren bron

物资-库存导出调整

huangguoce 4 weken geleden
bovenliggende
commit
2d220ba268

+ 13 - 1
jeeplus-modules/jeeplus-psi-management/src/main/java/com/jeeplus/psimanage/psiWareHouse/mapper/xml/PsiWareHouseBasicMapper.xml

@@ -149,7 +149,7 @@
 			a.trade_name,
 			a.company,
 			c.name as wareHouseTypeName,
-			sum( a.trade_number)  AS allNumber,
+			IFNULL(his_detail.trade_number,0)  AS allNumber,
 			b.collect_number AS borrowNumber,
 			loss.loss_number AS lossNumber,
 			IFNULL(loss_after.loss_number, 0) AS afterLossNumber,
@@ -256,6 +256,18 @@
 			) all_stock ON a.trade_name = all_stock.trade_name
 			LEFT JOIN (
 				SELECT
+					pwd.trade_name,
+					SUM(pwd.trade_number) AS trade_number
+				FROM psi_management_warehouse_detailed pwd
+				left join psi_management_warehouse_basics pmcba on pwd.basic_id = pmcba.id and pmcba.del_flag = 0
+				WHERE pwd.del_flag = 0
+					<if test=" dto != null and dto.dateRange != null and dto.dateRange.length == 2">
+						and pmcba.ware_house_date &gt;= #{dto.dateRange[0]} AND pmcba.ware_house_date &lt;= #{dto.dateRange[1]}
+					</if>
+					GROUP BY pwd.trade_name
+			) his_detail ON a.trade_name = his_detail.trade_name
+			LEFT JOIN (
+				SELECT
 					ab.trade_name,
 					SUM(ab.trade_number) AS trade_number
 				FROM psi_management_warehouse_detailed ab

+ 9 - 5
jeeplus-modules/jeeplus-psi-management/src/main/java/com/jeeplus/psimanage/psiWareHouse/service/PsiWareHouseBasicService.java

@@ -955,9 +955,9 @@ public class PsiWareHouseBasicService {
 
         //日期范围
         String[] dateRange = dto.getDateRange();
-        if (dateRange != null) {
-            queryWrapper.between("bas.ware_house_date", dateRange[0], dateRange[1]);
-        }
+        //if (dateRange != null) {
+        //    queryWrapper.between("bas.ware_house_date", dateRange[0], dateRange[1]);
+        //}
 
         if (StringUtils.isNotEmpty(dto.getSupplierId())) {
             List<PsiWareHouseDetailed> wareHouseDetaileds = psiDetailedMapper.selectList(new LambdaQueryWrapper<PsiWareHouseDetailed>().eq(PsiWareHouseDetailed::getSupplierId, dto.getSupplierId()));
@@ -1053,17 +1053,21 @@ public class PsiWareHouseBasicService {
                         ? Double.parseDouble(item.getAllNumber()) : 0;
 
 
+                //日期范围之后的领用数据
                 double afterNotSurplusStock = StringUtils.isNotBlank(item.getAfterNotSurplusStock())
                         ? Double.parseDouble(item.getAfterNotSurplusStock()) : 0;
-
+                //日期范围之后的报损数据
                 double afterLossNumber = StringUtils.isNotBlank(item.getAfterLossNumber())
                         ? Double.parseDouble(item.getAfterLossNumber()) : 0;
-
+                //日期范围之后的入库数据
                 double afterTradeNumber = StringUtils.isNotBlank(item.getAfterTradeNumber())
                         ? Double.parseDouble(item.getAfterTradeNumber()) : 0;
 
                 //计算历史库存时,需要对时间范围之后的入库,领用,报损进行处理
                 double historyInventory = allCurrentInventory - tradeNumber + notSurplusStock + lossNumber - afterTradeNumber + (afterNotSurplusStock/spec)  + (afterLossNumber/spec);
+                if(historyInventory < 0){
+                    historyInventory = 0;
+                }
                 item.setHisTradeNumber(String.valueOf(historyInventory));
                 item.setDateRange(dateRange[0] + "至" + dateRange[1]);
             }else{