【库存盘点】整体盘点/部分盘点 分页处理

dev
siontion 2 months ago
parent 601ccd4dbb
commit 18fd770a1d

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.*;
import com.chanko.yunxi.mes.framework.tenant.core.db.TenantBaseDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import org.apache.poi.hpsf.Decimal;
import java.math.BigDecimal;
@ -181,4 +182,43 @@ public class MaterialDO extends TenantBaseDO {
*/
private String ts;
@TableField(exist = false)
private String matName;
@TableField(exist = false)
private String matCode;
@TableField(exist = false)
private String matSpec;
@TableField(exist = false)
private String matBrand;
@TableField(exist = false)
private String matType;
@TableField(exist = false)
private String matUnit;
@TableField(exist = false)
private String whId;
@TableField(exist = false)
private String whName;
@TableField(exist = false)
private String pnId;
@TableField(exist = false)
private String pnName;
@TableField(exist = false)
private String rgId;
@TableField(exist = false)
private String rgName;
@TableField(exist = false)
private Decimal storageOkQty;
}

@ -5,9 +5,11 @@ import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX;
import com.chanko.yunxi.mes.framework.mybatis.core.query.MPJLambdaWrapperX;
import com.chanko.yunxi.mes.module.biz.controller.admin.material.vo.MaterialPageReqVO;
import com.chanko.yunxi.mes.module.biz.controller.admin.storagelog.vo.StorageNowAllReqVO;
import com.chanko.yunxi.mes.module.biz.controller.admin.tplusstorageout.vo.TplusStorageOutPageReqVO;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.material.MaterialDO;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.procedure.ProcedureDO;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.storage.StorageDO;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.supplier.SupplierDO;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.tpluslasteststock.TplusLastestStockDO;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.tplusstorageout.TplusStorageOutDO;
@ -94,4 +96,36 @@ public interface MaterialMapper extends BaseMapperX<MaterialDO> {
return selectPage(reqVO, query);
}
default PageResult<MaterialDO> selectStorageCheckMatAllData(StorageNowAllReqVO queryReqVO){
MPJLambdaWrapper<MaterialDO> query = new MPJLambdaWrapper<>();
query.selectAll(MaterialDO.class)
.select("t.code as mat_code,t.name as mat_name")
.select("t.spec as mat_spec,t.brand as mat_brand")
.select("ifNull(a.lot_no,'') as lot_no,t.short_name")
// .select("material_type as mat_type")
// .select("unit as mat_unit")
.select("b.label as mat_type")
.select("c.label as mat_unit")
.select("ifNull(a.wh_id,'') as wh_id")
.select("ifNull(a.wh_name,'') as wh_name")
.select("ifNull(a.rg_id,'') as rg_id")
.select("ifNull(a.rg_name,'') as rg_name")
.select("ifNull(a.pn_id,'') as pn_id")
.select("ifNull(a.pn_name,'') as pn_name")
.select("ifNull(a.storage_ok_qty,0) as storage_ok_qty")
.leftJoin("(select * from v_storage_material_now where wh_id="+queryReqVO.getWhId()+") as a on a.id=t.id")
.leftJoin("system_dict_data as b on b.value=t.material_type and b.dict_type='biz_material_type'")
.leftJoin("system_dict_data as c on c.value=t.material_type and c.dict_type='biz_material_unit'")
.orderByDesc(MaterialDO::getCode);
query.like(!StringUtils.isEmpty(queryReqVO.getMatSpec()),MaterialDO::getSpec,queryReqVO.getMatSpec())
.eq(queryReqVO.getMatType()!=null,MaterialDO::getMaterialType,queryReqVO.getMatType())
.apply(!StringUtils.isEmpty(queryReqVO.getMatCode()),"(t.name like {0} or t.name like {0})","%"+queryReqVO.getMatCode()+"%")
;
return selectPage(queryReqVO,query);
}
}

@ -3,6 +3,7 @@ package com.chanko.yunxi.mes.module.biz.dal.mysql.storage;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX;
import com.chanko.yunxi.mes.module.biz.controller.admin.storage.vo.StoragePageReqVO;
import com.chanko.yunxi.mes.module.biz.controller.admin.storagelog.vo.StorageNowAllReqVO;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.material.MaterialDO;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.projectorder.ProjectOrderDO;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.projectorder.ProjectOrderSubDO;
@ -68,4 +69,6 @@ public interface StorageMapper extends BaseMapperX<StorageDO> {
void updateMatTenantId();
}

@ -61,7 +61,21 @@ public interface StorageLogNowMapper extends BaseMapperX<StorageLogNowDO> {
PageResult<StorageLogNowDO> selectAllPage(StorageLogPageReqVO reqVO);
PageResult<StorageLogNowDO> selectNoZero(StorageNowAllReqVO reqVO);
default PageResult<StorageLogNowDO> selectNoZero(StorageNowAllReqVO reqVO){
MPJLambdaWrapper<StorageLogNowDO> query = new MPJLambdaWrapper<>();
query.selectAll(StorageLogNowDO.class)
.orderByDesc(StorageLogNowDO::getMatCode);
query.gt(true,StorageLogNowDO::getStorageOkQty,0)
.eq(reqVO.getWhId()!=null,StorageLogNowDO::getWhId,reqVO.getWhId())
.like(reqVO.getMatSpec()!=null && !reqVO.getMatSpec().isEmpty(),StorageLogNowDO::getMatSpec,reqVO.getMatSpec())
.eq(reqVO.getMatType()!=null && !reqVO.getMatType().isEmpty(),StorageLogNowDO::getMatType,reqVO.getMatType())
.apply(reqVO.getMatCode()!=null && !reqVO.getMatCode().isEmpty(),"(t.name like {0} or t.name like {0})","%"+reqVO.getMatCode()+"%")
;
return selectPage(reqVO,query);
}
PageResult<StorageLogNowDO> selectNowList(StorageNowAllReqVO reqVO);

@ -3,6 +3,7 @@ package com.chanko.yunxi.mes.module.biz.service.storagelog;
import com.chanko.yunxi.mes.module.biz.controller.admin.storagelog.vo.StorageLogPageReqVO;
import com.chanko.yunxi.mes.module.biz.controller.admin.storagelog.vo.StorageLogSaveReqVO;
import com.chanko.yunxi.mes.module.biz.controller.admin.storagelog.vo.StorageNowAllReqVO;
import com.chanko.yunxi.mes.module.biz.dal.mysql.material.MaterialMapper;
import com.chanko.yunxi.mes.module.biz.dal.mysql.storagelog.StorageLogAllMapper;
import com.chanko.yunxi.mes.module.biz.dal.mysql.storagelog.StorageLogMapper;
import com.chanko.yunxi.mes.module.biz.dal.mysql.storagelog.StorageLogNowMapper;
@ -44,6 +45,9 @@ public class StorageLogServiceImpl implements StorageLogService {
@Resource
private StorageMaterialMapper storageMaterialMapper;
@Resource
private MaterialMapper materialMapper;
@Override
public Long createStorageLog(StorageLogSaveReqVO createReqVO) {
// 插入
@ -113,7 +117,8 @@ public class StorageLogServiceImpl implements StorageLogService {
return storageLogNowMapper.selectNoZero(queryReqVO);
}else{
// 筛选全部的实时库存数据,包含未分配仓库的物料信息和已分配仓库的物料信息
return storageLogNowMapper.selectNowList(queryReqVO);
// return storageLogNowMapper.selectNowList(queryReqVO);
return BeanUtils.toBean(materialMapper.selectStorageCheckMatAllData(queryReqVO),StorageLogNowDO.class);
}
//
}

@ -46,7 +46,7 @@
</select>
<select id="selectNowList"
parameterType="com.chanko.yunxi.mes.module.biz.controller.admin.storagelog.vo.StorageNowAllReqVO"
resultMap="StorageLogAllDO">
resultType="com.chanko.yunxi.mes.module.biz.dal.dataobject.storagelogNow.StorageLogNowDO">
select * from (
select * from v_storage_material_now where wh_id=#{whId}
union all

Loading…
Cancel
Save