优化序列号和批号选择列表的接口

This commit is contained in:
季圣华 2022-09-09 00:25:03 +08:00
parent 9795d32bee
commit aa72b0bce2
9 changed files with 77 additions and 27 deletions

View File

@ -709,6 +709,7 @@ public class DepotItemController {
@GetMapping(value = "/getBatchNumberList")
@ApiOperation(value = "获取批次商品列表信息")
public BaseResponseInfo getBatchNumberList(@RequestParam("name") String name,
@RequestParam("depotItemId") Long depotItemId,
@RequestParam("depotId") Long depotId,
@RequestParam("barCode") String barCode,
@RequestParam(value = "batchNumber", required = false) String batchNumber,
@ -716,8 +717,13 @@ public class DepotItemController {
BaseResponseInfo res = new BaseResponseInfo();
Map<String, Object> map = new HashMap<>();
try {
String number = "";
if(depotItemId != null) {
DepotItem depotItem = depotItemService.getDepotItem(depotItemId);
number = depotHeadService.getDepotHead(depotItem.getHeaderId()).getNumber();
}
List<DepotItemVoBatchNumberList> reslist = new ArrayList<>();
List<DepotItemVoBatchNumberList> list = depotItemService.getBatchNumberList(name, depotId, barCode, batchNumber);
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);

View File

@ -1,17 +1,14 @@
package com.jsh.erp.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.jsh.erp.constants.ExceptionConstants;
import com.jsh.erp.datasource.entities.SerialNumber;
import com.jsh.erp.datasource.entities.DepotItem;
import com.jsh.erp.datasource.entities.SerialNumberEx;
import com.jsh.erp.exception.BusinessParamCheckingException;
import com.jsh.erp.exception.BusinessRunTimeException;
import com.jsh.erp.service.depotHead.DepotHeadService;
import com.jsh.erp.service.depotItem.DepotItemService;
import com.jsh.erp.service.serialNumber.SerialNumberService;
import com.jsh.erp.utils.BaseResponseInfo;
import com.jsh.erp.utils.Constants;
import com.jsh.erp.utils.ErpInfo;
import com.jsh.erp.utils.StringUtil;
import com.jsh.erp.utils.Tools;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
@ -40,6 +37,10 @@ public class SerialNumberController {
@Resource
private SerialNumberService serialNumberService;
@Resource
private DepotHeadService depotHeadService;
@Resource
private DepotItemService depotItemService;
/**
* create by: cjl
@ -84,6 +85,7 @@ public class SerialNumberController {
@GetMapping(value = "/getEnableSerialNumberList")
@ApiOperation(value = "获取序列号商品")
public BaseResponseInfo getEnableSerialNumberList(@RequestParam("name") String name,
@RequestParam("depotItemId") Long depotItemId,
@RequestParam("depotId") Long depotId,
@RequestParam("barCode") String barCode,
@RequestParam("page") Integer currentPage,
@ -92,8 +94,16 @@ public class SerialNumberController {
BaseResponseInfo res = new BaseResponseInfo();
Map<String, Object> map = new HashMap<>();
try {
List<SerialNumber> list = serialNumberService.getEnableSerialNumberList(name, depotId, barCode, (currentPage-1)*pageSize, pageSize);
Long total = serialNumberService.getEnableSerialNumberCount(name, depotId, barCode);
String number = "";
if(depotItemId != null) {
DepotItem depotItem = depotItemService.getDepotItem(depotItemId);
number = depotHeadService.getDepotHead(depotItem.getHeaderId()).getNumber();
}
List<SerialNumberEx> list = serialNumberService.getEnableSerialNumberList(number, name, depotId, barCode, (currentPage-1)*pageSize, pageSize);
for(SerialNumberEx serialNumberEx: list) {
serialNumberEx.setCreateTimeStr(Tools.getCenternTime(serialNumberEx.getCreateTime()));
}
Long total = serialNumberService.getEnableSerialNumberCount(number, name, depotId, barCode);
map.put("rows", list);
map.put("total", total);
res.code = 200;

View File

@ -1,5 +1,7 @@
package com.jsh.erp.datasource.entities;
import java.util.Date;
/**
* Description
*
@ -30,6 +32,10 @@ public class SerialNumberEx extends SerialNumber{
private String depotName;
private String createTimeStr;
private String updateTimeStr;
public String getMaterialCode() {
return materialCode;
}
@ -85,4 +91,20 @@ public class SerialNumberEx extends SerialNumber{
public void setDepotName(String depotName) {
this.depotName = depotName;
}
public String getCreateTimeStr() {
return createTimeStr;
}
public void setCreateTimeStr(String createTimeStr) {
this.createTimeStr = createTimeStr;
}
public String getUpdateTimeStr() {
return updateTimeStr;
}
public void setUpdateTimeStr(String updateTimeStr) {
this.updateTimeStr = updateTimeStr;
}
}

View File

@ -163,6 +163,7 @@ public interface DepotItemMapperEx {
@Param("goToType") String goToType);
List<DepotItemVoBatchNumberList> getBatchNumberList(
@Param("number") String number,
@Param("name") String name,
@Param("depotId") Long depotId,
@Param("barCode") String barCode,

View File

@ -44,12 +44,14 @@ public interface SerialNumberMapperEx {
int batchDeleteSerialNumberByIds(@Param("updateTime") Date updateTime, @Param("updater") Long updater, @Param("ids") String ids[]);
List<SerialNumber> getEnableSerialNumberList(@Param("name") String name,
List<SerialNumberEx> getEnableSerialNumberList(@Param("number") String number,
@Param("name") String name,
@Param("depotId") Long depotId,
@Param("barCode") String barCode,
@Param("offset") Integer offset, @Param("rows") Integer rows);
Long getEnableSerialNumberCount(@Param("name") String name,
Long getEnableSerialNumberCount(@Param("number") String number,
@Param("name") String name,
@Param("depotId") Long depotId,
@Param("barCode") String barCode);
}

View File

@ -955,8 +955,8 @@ public class DepotItemService {
return count;
}
public List<DepotItemVoBatchNumberList> getBatchNumberList(String name, Long depotId, String barCode, String batchNumber){
return depotItemMapperEx.getBatchNumberList(name, depotId, barCode, batchNumber);
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 Long getCountByMaterialAndDepot(Long mId, Long depotId) {

View File

@ -7,6 +7,7 @@ import com.jsh.erp.datasource.entities.*;
import com.jsh.erp.datasource.mappers.*;
import com.jsh.erp.exception.BusinessRunTimeException;
import com.jsh.erp.exception.JshException;
import com.jsh.erp.service.depotHead.DepotHeadService;
import com.jsh.erp.service.depotItem.DepotItemService;
import com.jsh.erp.service.log.LogService;
import com.jsh.erp.service.material.MaterialService;
@ -42,8 +43,6 @@ public class SerialNumberService {
@Resource
private MaterialMapperEx materialMapperEx;
@Resource
private MaterialMapper materialMapper;
@Resource
private MaterialService materialService;
@Resource
private UserService userService;
@ -374,20 +373,20 @@ public class SerialNumberService {
return result;
}
public List<SerialNumber> getEnableSerialNumberList(String name, Long depotId, String barCode, Integer offset, Integer rows)throws Exception {
List<SerialNumber> list =null;
public List<SerialNumberEx> getEnableSerialNumberList(String number, String name, Long depotId, String barCode, Integer offset, Integer rows)throws Exception {
List<SerialNumberEx> list =null;
try{
list = serialNumberMapperEx.getEnableSerialNumberList(StringUtil.toNull(name), depotId, barCode, offset, rows);
list = serialNumberMapperEx.getEnableSerialNumberList(StringUtil.toNull(number), StringUtil.toNull(name), depotId, barCode, offset, rows);
}catch(Exception e){
JshException.readFail(logger, e);
}
return list;
}
public Long getEnableSerialNumberCount(String name, Long depotId, String barCode)throws Exception {
public Long getEnableSerialNumberCount(String number, String name, Long depotId, String barCode)throws Exception {
Long count = 0L;
try{
count = serialNumberMapperEx.getEnableSerialNumberCount(StringUtil.toNull(name), depotId, barCode);
count = serialNumberMapperEx.getEnableSerialNumberCount(StringUtil.toNull(number), StringUtil.toNull(name), depotId, barCode);
}catch(Exception e){
JshException.readFail(logger, e);
}

View File

@ -687,8 +687,7 @@
select id, bar_code, name, standard, model, batch_number, expiration_date, sum(oper_number) total_num from
(select di.batch_number id, me.bar_code, m.name, m.standard, m.model,di.batch_number,di.expiration_date,
di.oper_number*(case dh.type when '入库' then 1 when '出库' then -1 end) as oper_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_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'
@ -703,6 +702,9 @@
<if test="batchNumber != null">
and di.batch_number= #{batchNumber}
</if>
<if test="number != null">
and dh.number!= #{number}
</if>
and m.enable_batch_number =1
and di.delete_flag!=1) tb
group by batch_number

View File

@ -158,9 +158,9 @@
)
</update>
<select id="getEnableSerialNumberList" resultMap="com.jsh.erp.datasource.mappers.SerialNumberMapper.BaseResultMap">
<select id="getEnableSerialNumberList" resultType="com.jsh.erp.datasource.entities.SerialNumberEx">
select
ser.id, ser.serial_number
ser.id, ser.serial_number, ser.in_bill_no, ser.create_time, ser.update_time
FROM jsh_serial_number ser
left join jsh_material m on m.id=ser.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'
@ -175,7 +175,11 @@
<if test="barCode != null">
and me.bar_code= #{barCode}
</if>
and ser.is_sell = '0'
and (ser.is_sell = '0'
<if test="number != null">
or ser.out_bill_no = #{number}
</if>
)
and ifnull(ser.delete_flag,'0') !='1'
order by ser.id desc
<if test="offset != null and rows != null">
@ -199,7 +203,11 @@
<if test="barCode != null">
and me.bar_code= #{barCode}
</if>
and ser.is_sell = '0'
and (ser.is_sell = '0'
<if test="number != null">
or ser.out_bill_no = #{number}
</if>
)
and ifnull(ser.delete_flag,'0') !='1'
</select>
</mapper>