给商品查询列表的接口增加初始库存的展示

This commit is contained in:
jishenghua 2024-12-17 23:44:52 +08:00
parent 7dea80bb8c
commit 9307855a39
5 changed files with 49 additions and 1 deletions

View File

@ -51,6 +51,11 @@ public class MaterialVo4Unit extends Material{
*/
private String bigUnitStock;
/**
* 换算为大单位的初始库存
*/
private String bigUnitInitialStock;
private String imgSmall;
private String imgLarge;
@ -246,4 +251,12 @@ public class MaterialVo4Unit extends Material{
public void setImgLarge(String imgLarge) {
this.imgLarge = imgLarge;
}
public String getBigUnitInitialStock() {
return bigUnitInitialStock;
}
public void setBigUnitInitialStock(String bigUnitInitialStock) {
this.bigUnitInitialStock = bigUnitInitialStock;
}
}

View File

@ -1,7 +1,6 @@
package com.jsh.erp.datasource.mappers;
import com.jsh.erp.datasource.entities.MaterialCurrentStock;
import com.jsh.erp.datasource.entities.MaterialCurrentStockExample;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;

View File

@ -11,6 +11,9 @@ public interface MaterialInitialStockMapperEx {
int batchInsert(List<MaterialInitialStock> list);
List<MaterialInitialStock> getInitialStockMapByIdList(
@Param("materialIdList") List<Long> materialIdList);
List<MaterialInitialStock> getListExceptZero();
void batchDeleteByDepots(@Param("ids") String ids[]);

View File

@ -138,6 +138,7 @@ public class MaterialService {
list= materialMapperEx.selectByConditionMaterial(materialParam, standard, model, color, brand, mfrs, materialOther, weight, expiryNum,
enableSerialNumber, enableBatchNumber, position, enabled, remark, idList, mpList, offset, rows);
if (null != list && list.size()>0) {
Map<Long,BigDecimal> initialStockMap = getInitialStockMapByMaterialList(list);
Map<Long,BigDecimal> currentStockMap = getCurrentStockMapByMaterialList(list);
for (MaterialVo4Unit m : list) {
if(fileUploadType == 2) {
@ -145,6 +146,8 @@ public class MaterialService {
m.setImgLarge("large");
}
m.setMaterialOther(getMaterialOtherByParam(mpArr, m));
m.setInitialStock(initialStockMap.get(m.getId())!=null? initialStockMap.get(m.getId()): BigDecimal.ZERO);
m.setBigUnitInitialStock(getBigUnitStock(m.getInitialStock(), m.getUnitId()));
m.setStock(currentStockMap.get(m.getId())!=null? currentStockMap.get(m.getId()): BigDecimal.ZERO);
m.setBigUnitStock(getBigUnitStock(m.getStock(), m.getUnitId()));
resList.add(m);
@ -1267,6 +1270,24 @@ public class MaterialService {
return stock;
}
/**
* 根据商品列表获取初始库存Map
* @param list
* @return
*/
public Map<Long,BigDecimal> getInitialStockMapByMaterialList(List<MaterialVo4Unit> list) {
Map<Long,BigDecimal> map = new HashMap<>();
List<Long> materialIdList = new ArrayList<>();
for(MaterialVo4Unit materialVo4Unit: list) {
materialIdList.add(materialVo4Unit.getId());
}
List<MaterialInitialStock> mcsList = materialInitialStockMapperEx.getInitialStockMapByIdList(materialIdList);
for(MaterialInitialStock materialInitialStock: mcsList) {
map.put(materialInitialStock.getMaterialId(), materialInitialStock.getNumber());
}
return map;
}
/**
* 根据商品列表获取当前库存Map
* @param list

View File

@ -10,6 +10,18 @@
</foreach >
</insert>
<select id="getInitialStockMapByIdList" resultType="com.jsh.erp.datasource.entities.MaterialInitialStock">
select material_id, sum(number) number from jsh_material_initial_stock
where 1=1
and ifnull(delete_flag,'0') !='1'
and material_id in
<foreach collection="materialIdList" item="materialId" index="index" separator="," open="(" close=")">
#{materialId}
</foreach>
group by material_id
</select>
<select id="getListExceptZero" resultType="com.jsh.erp.datasource.entities.MaterialInitialStock">
select * from jsh_material_initial_stock where number!=0
and ifnull(delete_flag,'0') !='1'