修改获取批次商品列表信息的接口的查询逻辑
This commit is contained in:
@@ -845,16 +845,9 @@ public class DepotItemController {
|
|||||||
DepotItem depotItem = depotItemService.getDepotItem(depotItemId);
|
DepotItem depotItem = depotItemService.getDepotItem(depotItemId);
|
||||||
number = depotHeadService.getDepotHead(depotItem.getHeaderId()).getNumber();
|
number = depotHeadService.getDepotHead(depotItem.getHeaderId()).getNumber();
|
||||||
}
|
}
|
||||||
List<DepotItemVoBatchNumberList> reslist = new ArrayList<>();
|
|
||||||
List<DepotItemVoBatchNumberList> list = depotItemService.getBatchNumberList(number, name, depotId, barCode, batchNumber);
|
List<DepotItemVoBatchNumberList> list = depotItemService.getBatchNumberList(number, name, depotId, barCode, batchNumber);
|
||||||
for(DepotItemVoBatchNumberList bn: list) {
|
map.put("rows", list);
|
||||||
if(bn.getTotalNum()!=null && bn.getTotalNum().compareTo(BigDecimal.ZERO)>0) {
|
map.put("total", list.size());
|
||||||
reslist.add(bn);
|
|
||||||
}
|
|
||||||
bn.setExpirationDateStr(Tools.parseDateToStr(bn.getExpirationDate()));
|
|
||||||
}
|
|
||||||
map.put("rows", reslist);
|
|
||||||
map.put("total", reslist.size());
|
|
||||||
res.code = 200;
|
res.code = 200;
|
||||||
res.data = map;
|
res.data = map;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|||||||
@@ -11,6 +11,8 @@ public class DepotItemVoBatchNumberList {
|
|||||||
private String name;
|
private String name;
|
||||||
private String standard;
|
private String standard;
|
||||||
private String model;
|
private String model;
|
||||||
|
private Long unitId;
|
||||||
|
private String commodityUnit;
|
||||||
private String batchNumber;
|
private String batchNumber;
|
||||||
private Date expirationDate;
|
private Date expirationDate;
|
||||||
private String expirationDateStr;
|
private String expirationDateStr;
|
||||||
@@ -56,6 +58,22 @@ public class DepotItemVoBatchNumberList {
|
|||||||
this.model = model;
|
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() {
|
public String getBatchNumber() {
|
||||||
return batchNumber;
|
return batchNumber;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,14 +13,14 @@ import com.jsh.erp.exception.BusinessRunTimeException;
|
|||||||
import com.jsh.erp.exception.JshException;
|
import com.jsh.erp.exception.JshException;
|
||||||
import com.jsh.erp.service.depot.DepotService;
|
import com.jsh.erp.service.depot.DepotService;
|
||||||
import com.jsh.erp.service.depotHead.DepotHeadService;
|
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.log.LogService;
|
||||||
import com.jsh.erp.service.material.MaterialService;
|
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.role.RoleService;
|
||||||
import com.jsh.erp.service.serialNumber.SerialNumberService;
|
import com.jsh.erp.service.serialNumber.SerialNumberService;
|
||||||
import com.jsh.erp.service.systemConfig.SystemConfigService;
|
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.service.user.UserService;
|
||||||
import com.jsh.erp.utils.QueryUtils;
|
|
||||||
import com.jsh.erp.utils.StringUtil;
|
import com.jsh.erp.utils.StringUtil;
|
||||||
import com.jsh.erp.utils.Tools;
|
import com.jsh.erp.utils.Tools;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
@@ -31,7 +31,10 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.*;
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class DepotItemService {
|
public class DepotItemService {
|
||||||
@@ -65,7 +68,7 @@ public class DepotItemService {
|
|||||||
@Resource
|
@Resource
|
||||||
private DepotService depotService;
|
private DepotService depotService;
|
||||||
@Resource
|
@Resource
|
||||||
private RoleService roleService;
|
private UnitService unitService;
|
||||||
@Resource
|
@Resource
|
||||||
private MaterialCurrentStockMapper materialCurrentStockMapper;
|
private MaterialCurrentStockMapper materialCurrentStockMapper;
|
||||||
@Resource
|
@Resource
|
||||||
@@ -1087,8 +1090,21 @@ public class DepotItemService {
|
|||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<DepotItemVoBatchNumberList> getBatchNumberList(String number, String name, Long depotId, String barCode, String batchNumber){
|
public List<DepotItemVoBatchNumberList> getBatchNumberList(String number, String name, Long depotId, String barCode, String batchNumber) throws Exception {
|
||||||
return depotItemMapperEx.getBatchNumberList(StringUtil.toNull(number), name, depotId, barCode, batchNumber);
|
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) {
|
public Long getCountByMaterialAndDepot(Long mId, Long depotId) {
|
||||||
|
|||||||
@@ -88,6 +88,8 @@
|
|||||||
<result column="name" jdbcType="VARCHAR" property="name" />
|
<result column="name" jdbcType="VARCHAR" property="name" />
|
||||||
<result column="standard" jdbcType="VARCHAR" property="standard" />
|
<result column="standard" jdbcType="VARCHAR" property="standard" />
|
||||||
<result column="model" jdbcType="VARCHAR" property="model" />
|
<result column="model" jdbcType="VARCHAR" property="model" />
|
||||||
|
<result column="unit_id" jdbcType="BIGINT" property="unitId" />
|
||||||
|
<result column="commodity_unit" jdbcType="VARCHAR" property="commodityUnit" />
|
||||||
<result column="batch_number" jdbcType="VARCHAR" property="batchNumber" />
|
<result column="batch_number" jdbcType="VARCHAR" property="batchNumber" />
|
||||||
<result column="expiration_date" jdbcType="TIMESTAMP" property="expirationDate" />
|
<result column="expiration_date" jdbcType="TIMESTAMP" property="expirationDate" />
|
||||||
<result column="total_num" jdbcType="VARCHAR" property="totalNum" />
|
<result column="total_num" jdbcType="VARCHAR" property="totalNum" />
|
||||||
@@ -841,14 +843,16 @@
|
|||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getBatchNumberList" resultMap="batchNumberListMap">
|
<select id="getBatchNumberList" resultMap="batchNumberListMap">
|
||||||
select id, bar_code, name, standard, model, batch_number, expiration_date, sum(basic_number) total_num from
|
select id, bar_code, name, standard, model, unit_id,
|
||||||
(select di.batch_number id, me.bar_code, m.name, m.standard, m.model,di.batch_number,di.expiration_date,
|
commodity_unit, batch_number, expiration_date, sum(basic_number) total_num from
|
||||||
|
(select di.batch_number id, me.bar_code, m.name, m.standard, m.model, m.unit_id,
|
||||||
|
me.commodity_unit, di.batch_number,di.expiration_date,
|
||||||
di.basic_number*(case dh.type when '入库' then 1 when '出库' then -1 end) as basic_number
|
di.basic_number*(case dh.type when '入库' then 1 when '出库' then -1 end) as basic_number
|
||||||
from jsh_depot_head dh
|
from jsh_depot_head dh
|
||||||
left join jsh_depot_item di on dh.id=di.header_id
|
left join jsh_depot_item di on dh.id=di.header_id
|
||||||
left join jsh_material m on m.id=di.material_id and ifnull(m.delete_flag, '0') != '1'
|
left join jsh_material m on m.id=di.material_id and ifnull(m.delete_flag, '0') != '1'
|
||||||
left join jsh_material_extend me on me.material_id=m.id and ifnull(me.delete_flag,'0') !='1'
|
left join jsh_material_extend me on me.material_id=m.id and ifnull(me.delete_flag,'0') !='1'
|
||||||
where me.bar_code= #{barCode} and me.default_flag=1
|
where me.bar_code= #{barCode}
|
||||||
<if test="name != null">
|
<if test="name != null">
|
||||||
<bind name="bindName" value="'%'+name+'%'"/>
|
<bind name="bindName" value="'%'+name+'%'"/>
|
||||||
and di.batch_number like #{bindName}
|
and di.batch_number like #{bindName}
|
||||||
|
|||||||
Reference in New Issue
Block a user