修改获取批次商品列表信息的接口的查询逻辑

This commit is contained in:
季圣华
2023-04-01 23:26:07 +08:00
parent de6f8ba7c2
commit 426adf2ad6
4 changed files with 50 additions and 19 deletions

View File

@@ -845,16 +845,9 @@ public class DepotItemController {
DepotItem depotItem = depotItemService.getDepotItem(depotItemId);
number = depotHeadService.getDepotHead(depotItem.getHeaderId()).getNumber();
}
List<DepotItemVoBatchNumberList> reslist = new ArrayList<>();
List<DepotItemVoBatchNumberList> list = depotItemService.getBatchNumberList(number, name, depotId, barCode, batchNumber);
for(DepotItemVoBatchNumberList bn: list) {
if(bn.getTotalNum()!=null && bn.getTotalNum().compareTo(BigDecimal.ZERO)>0) {
reslist.add(bn);
}
bn.setExpirationDateStr(Tools.parseDateToStr(bn.getExpirationDate()));
}
map.put("rows", reslist);
map.put("total", reslist.size());
map.put("rows", list);
map.put("total", list.size());
res.code = 200;
res.data = map;
} catch (Exception e) {

View File

@@ -11,6 +11,8 @@ public class DepotItemVoBatchNumberList {
private String name;
private String standard;
private String model;
private Long unitId;
private String commodityUnit;
private String batchNumber;
private Date expirationDate;
private String expirationDateStr;
@@ -56,6 +58,22 @@ public class DepotItemVoBatchNumberList {
this.model = model;
}
public Long getUnitId() {
return unitId;
}
public void setUnitId(Long unitId) {
this.unitId = unitId;
}
public String getCommodityUnit() {
return commodityUnit;
}
public void setCommodityUnit(String commodityUnit) {
this.commodityUnit = commodityUnit;
}
public String getBatchNumber() {
return batchNumber;
}

View File

@@ -13,14 +13,14 @@ import com.jsh.erp.exception.BusinessRunTimeException;
import com.jsh.erp.exception.JshException;
import com.jsh.erp.service.depot.DepotService;
import com.jsh.erp.service.depotHead.DepotHeadService;
import com.jsh.erp.service.materialExtend.MaterialExtendService;
import com.jsh.erp.service.log.LogService;
import com.jsh.erp.service.material.MaterialService;
import com.jsh.erp.service.materialExtend.MaterialExtendService;
import com.jsh.erp.service.role.RoleService;
import com.jsh.erp.service.serialNumber.SerialNumberService;
import com.jsh.erp.service.systemConfig.SystemConfigService;
import com.jsh.erp.service.unit.UnitService;
import com.jsh.erp.service.user.UserService;
import com.jsh.erp.utils.QueryUtils;
import com.jsh.erp.utils.StringUtil;
import com.jsh.erp.utils.Tools;
import org.slf4j.Logger;
@@ -31,7 +31,10 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class DepotItemService {
@@ -65,7 +68,7 @@ public class DepotItemService {
@Resource
private DepotService depotService;
@Resource
private RoleService roleService;
private UnitService unitService;
@Resource
private MaterialCurrentStockMapper materialCurrentStockMapper;
@Resource
@@ -1087,8 +1090,21 @@ public class DepotItemService {
return count;
}
public List<DepotItemVoBatchNumberList> getBatchNumberList(String number, String name, Long depotId, String barCode, String batchNumber){
return depotItemMapperEx.getBatchNumberList(StringUtil.toNull(number), name, depotId, barCode, batchNumber);
public List<DepotItemVoBatchNumberList> getBatchNumberList(String number, String name, Long depotId, String barCode, String batchNumber) throws Exception {
List<DepotItemVoBatchNumberList> reslist = new ArrayList<>();
List<DepotItemVoBatchNumberList> list = depotItemMapperEx.getBatchNumberList(StringUtil.toNull(number), name, depotId, barCode, batchNumber);
for(DepotItemVoBatchNumberList bn: list) {
if(bn.getTotalNum()!=null && bn.getTotalNum().compareTo(BigDecimal.ZERO)>0) {
bn.setExpirationDateStr(Tools.parseDateToStr(bn.getExpirationDate()));
if(bn.getUnitId()!=null) {
Unit unit = unitService.getUnit(bn.getUnitId());
String commodityUnit = bn.getCommodityUnit();
bn.setTotalNum(unitService.parseStockByUnit(bn.getTotalNum(), unit, commodityUnit));
}
reslist.add(bn);
}
}
return reslist;
}
public Long getCountByMaterialAndDepot(Long mId, Long depotId) {