零件收货管理修改

This commit is contained in:
z 2026-03-18 17:07:48 +08:00
parent ddaf9dbbf5
commit 2da64480c9
8 changed files with 92 additions and 20 deletions

View File

@ -1,5 +1,6 @@
package com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog; package com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
import java.math.BigDecimal; import java.math.BigDecimal;
@ -72,9 +73,12 @@ public class StorageLogDO extends BaseDO {
private BigDecimal storageAft; private BigDecimal storageAft;
private BigDecimal storageBef; private BigDecimal storageBef;
private String codeNo; private String codeNo;
private BigDecimal price;
private Long supplierId;
private String auItem;
@TableField(exist = false) @TableField(exist = false)
private String matCode; private String matCode;
@TableField(exist = false)
private String matName; private String matName;
@TableField(exist = false) @TableField(exist = false)
private String matSpec; private String matSpec;
@ -86,6 +90,7 @@ public class StorageLogDO extends BaseDO {
private String rgName; private String rgName;
@TableField(exist = false) @TableField(exist = false)
private String pnName; private String pnName;
@TableField(exist = false)
private List<MaterialDO> materialDOList;
} }

View File

@ -13,6 +13,7 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.equip.EquipDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.plan.PlanDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.plan.PlanDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storage.StorageDO;
import com.chanko.yunxi.mes.module.system.dal.dataobject.dept.DeptDO; import com.chanko.yunxi.mes.module.system.dal.dataobject.dept.DeptDO;
import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO; import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO;
import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.github.yulichang.wrapper.MPJLambdaWrapper;
@ -190,4 +191,11 @@ public interface ProjectOrderMapper extends BaseMapperX<ProjectOrderDO> {
// //
// ); // );
} }
default ProjectOrderDO selectByStockId(Long stockId){
MPJLambdaWrapper<ProjectOrderDO> query = new MPJLambdaWrapper<>();
query.selectAll(ProjectOrderDO.class)
.leftJoin(StorageDO.class,"s",StorageDO::getProjectNo,ProjectOrderDO::getId);
return selectOne(query.eq(StorageDO::getId,stockId));
}
} }

View File

@ -29,7 +29,7 @@ public interface StorageLogMapper extends BaseMapperX<StorageLogDO> {
MPJLambdaWrapper<StorageLogDO> query = new MPJLambdaWrapper<>(); MPJLambdaWrapper<StorageLogDO> query = new MPJLambdaWrapper<>();
query.selectAll(StorageLogDO.class) query.selectAll(StorageLogDO.class)
.select( "mat.name as matName","mat.code as matCode","mat.unit as matUnit","wh.wh_name as whName","rg.rg_name as rgName","pn.pn_name as pnName") .select( "COALESCE(mat.name, t.mat_name) as matName","mat.code as matCode","mat.unit as matUnit","wh.wh_name as whName","rg.rg_name as rgName","pn.pn_name as pnName")
.select("mat.spec as matSpec") .select("mat.spec as matSpec")
// .leftJoin(StorageDO.class, "st", StorageDO::getId, StorageLogDO::getStockId) // .leftJoin(StorageDO.class, "st", StorageDO::getId, StorageLogDO::getStockId)
.leftJoin(MaterialDO.class,"mat", MaterialDO::getId,StorageLogDO::getMatId) .leftJoin(MaterialDO.class,"mat", MaterialDO::getId,StorageLogDO::getMatId)
@ -44,7 +44,7 @@ public interface StorageLogMapper extends BaseMapperX<StorageLogDO> {
.like(!StringUtils.isEmpty(reqVO.getMatName()), MaterialDO::getName, reqVO.getMatName()) .like(!StringUtils.isEmpty(reqVO.getMatName()), MaterialDO::getName, reqVO.getMatName())
.like(!StringUtils.isEmpty(reqVO.getCodeNo()), StorageLogDO::getCodeNo, reqVO.getCodeNo()) .like(!StringUtils.isEmpty(reqVO.getCodeNo()), StorageLogDO::getCodeNo, reqVO.getCodeNo())
.like(!StringUtils.isEmpty(reqVO.getMatSpec()), MaterialDO::getSpec, reqVO.getMatSpec()) .like(!StringUtils.isEmpty(reqVO.getMatSpec()), MaterialDO::getSpec, reqVO.getMatSpec())
.notIn(StorageLogDO::getStockMode,24,14)
.eq(!ObjectUtil.isEmpty(reqVO.getWhId()), StorageLogDO::getWhId, reqVO.getWhId()); .eq(!ObjectUtil.isEmpty(reqVO.getWhId()), StorageLogDO::getWhId, reqVO.getWhId());
return selectPage(reqVO,query); return selectPage(reqVO,query);
} }

View File

@ -17,6 +17,7 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.pn.PnDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.procedure.ProcedureDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.procedure.ProcedureDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDetailDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDetailDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseorderno.PurchaseOrderNoDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseorderno.PurchaseOrderNoDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storage.StorageDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storage.StorageDO;
@ -34,6 +35,7 @@ import com.chanko.yunxi.mes.module.heli.dal.mysql.materialplandetail.MaterialPla
import com.chanko.yunxi.mes.module.heli.dal.mysql.plan.PlanMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.plan.PlanMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomDetailMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomDetailMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.projectorder.ProjectOrderMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseorderno.PurchaseOrderNoMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseorderno.PurchaseOrderNoMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.storage.StorageMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.storage.StorageMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.storagein.StorageInMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.storagein.StorageInMapper;
@ -138,7 +140,8 @@ public class PurchaseOrderNoDetailServiceImpl implements PurchaseOrderNoDetailSe
private PlanMapper planMapper; private PlanMapper planMapper;
@Resource @Resource
private PgMasterService pgMasterService; private PgMasterService pgMasterService;
@Resource
private ProjectOrderMapper projectOrderMapper;
@Override @Override
public Long createPurchaseOrderNoDetail(PurchaseOrderNoDetailSaveReqVO createReqVO) { public Long createPurchaseOrderNoDetail(PurchaseOrderNoDetailSaveReqVO createReqVO) {
// 插入 // 插入
@ -243,7 +246,7 @@ public class PurchaseOrderNoDetailServiceImpl implements PurchaseOrderNoDetailSe
// //出库库物料集合 // //出库库物料集合
// ArrayList<StorageMatDO> outList = new ArrayList<>(); // ArrayList<StorageMatDO> outList = new ArrayList<>();
ArrayList<StorageLogDO> logList = new ArrayList<>(); ArrayList<StorageLogDO> logList = new ArrayList<>();
ArrayList<StorageLogDO> outLogList = new ArrayList<>(); // ArrayList<StorageLogDO> outLogList = new ArrayList<>();
//生成入库单 //生成入库单
StorageInDO storageInDO = new StorageInDO(); StorageInDO storageInDO = new StorageInDO();
@ -347,12 +350,13 @@ public class PurchaseOrderNoDetailServiceImpl implements PurchaseOrderNoDetailSe
// storageMatDOS.add(storageMatDO); // storageMatDOS.add(storageMatDO);
// outList.add(outMat); // outList.add(outMat);
StorageLogDO logDO = new StorageLogDO(); StorageLogDO logDO = new StorageLogDO();
StorageLogDO outLogDO = new StorageLogDO(); // StorageLogDO outLogDO = new StorageLogDO();
StorageInDetailDO storageInDetailDO = new StorageInDetailDO(); StorageInDetailDO storageInDetailDO = new StorageInDetailDO();
storageInDetailDO.setStorageNoId(storageInDO.getId()); storageInDetailDO.setStorageNoId(storageInDO.getId());
storageInDetailDO.setProjectSubCode(byId.getProjectSubCode()); storageInDetailDO.setProjectSubCode(byId.getProjectSubCode());
storageInDetailDO.setBoomDetailId(byId.getBoomDetailId()); storageInDetailDO.setBoomDetailId(byId.getBoomDetailId());
storageInDetailDO.setBoomName(byId.getBoomName()); storageInDetailDO.setBoomName(byId.getBoomName());
logDO.setMatName(byId.getBoomName());
storageInDetailDO.setBoomSpec(byId.getBoomSpec()); storageInDetailDO.setBoomSpec(byId.getBoomSpec());
storageInDetailDO.setBoomUnit(byId.getBoomUnit()); storageInDetailDO.setBoomUnit(byId.getBoomUnit());
storageInDetailDO.setComposition(byId.getComposition()); storageInDetailDO.setComposition(byId.getComposition());
@ -369,10 +373,10 @@ public class PurchaseOrderNoDetailServiceImpl implements PurchaseOrderNoDetailSe
} }
if (result.compareTo(BigDecimal.ZERO)==0){ if (result.compareTo(BigDecimal.ZERO)==0){
storageInDetailDO.setEstimatedPrice(BigDecimal.ZERO); storageInDetailDO.setEstimatedPrice(BigDecimal.ZERO);
logDO.setPrice(BigDecimal.ZERO);
}else { }else {
storageInDetailDO.setEstimatedPrice(detailDO.getPurchaseRemAmounts().multiply( result).setScale(1, RoundingMode.HALF_UP)); storageInDetailDO.setEstimatedPrice(detailDO.getPurchaseRemAmounts().multiply( result).setScale(1, RoundingMode.HALF_UP));
logDO.setPrice(detailDO.getPurchaseRemAmounts().multiply( result).setScale(1, RoundingMode.HALF_UP));
} }
storageInDetailDO.setActualPrice(byId.getActualPrice()); storageInDetailDO.setActualPrice(byId.getActualPrice());
storageInDetailDO.setBoomAmount(byId.getBoomAmount()); storageInDetailDO.setBoomAmount(byId.getBoomAmount());
@ -393,11 +397,16 @@ public class PurchaseOrderNoDetailServiceImpl implements PurchaseOrderNoDetailSe
PurchaseOrderNoDO purchaseOrderNoDO = purchaseOrderNoMapper.selectById(byId.getPurchaseOrderId()); PurchaseOrderNoDO purchaseOrderNoDO = purchaseOrderNoMapper.selectById(byId.getPurchaseOrderId());
if (ObjectUtil.isNotEmpty(purchaseOrderNoDO)){ if (ObjectUtil.isNotEmpty(purchaseOrderNoDO)){
storageInDetailDO.setSupplierId(purchaseOrderNoDO.getSupplierId()); storageInDetailDO.setSupplierId(purchaseOrderNoDO.getSupplierId());
logDO.setSupplierId(purchaseOrderNoDO.getSupplierId());
} }
storageInDetailDO.setPurchaseOrderNoId(byId.getPurchaseOrderId()); storageInDetailDO.setPurchaseOrderNoId(byId.getPurchaseOrderId());
storageInDetailDO.setPurchaseOrderNoDetailId(byId.getId()); storageInDetailDO.setPurchaseOrderNoDetailId(byId.getId());
storageInDetailDO.setAcarrDate(byId.getBoomArriveDates()); storageInDetailDO.setAcarrDate(byId.getBoomArriveDates());
storageInDetailMapper.insert(storageInDetailDO); storageInDetailMapper.insert(storageInDetailDO);
// ProjectOrderDO projectOrderDO = projectOrderMapper.selectById(byId.getProjectId());
// if (ObjectUtil.isNotEmpty(projectOrderDO)){
// logDO.setAuItem(projectOrderDO.getAuItem());
// }
logDO.setStockId(storageInDetailDO.getId()); logDO.setStockId(storageInDetailDO.getId());
logDO.setStorageOkQty(detailDO.getPurchaseRemAmounts()); logDO.setStorageOkQty(detailDO.getPurchaseRemAmounts());
logDO.setStockMode(11); logDO.setStockMode(11);
@ -405,10 +414,10 @@ public class PurchaseOrderNoDetailServiceImpl implements PurchaseOrderNoDetailSe
logDO.setGoodsType(2); logDO.setGoodsType(2);
logDO.setCodeNo(storageInDO.getStorageNo()); logDO.setCodeNo(storageInDO.getStorageNo());
logList.add(logDO); logList.add(logDO);
outLogDO.setStockMode(25); // outLogDO.setStockMode(25);
outLogDO.setStockType(2); // outLogDO.setStockType(2);
outLogDO.setGoodsType(2); // outLogDO.setGoodsType(2);
outLogList.add(outLogDO); // outLogList.add(outLogDO);
} }
// } // }
storageLogMapper.insertBatch(logList); storageLogMapper.insertBatch(logList);

View File

@ -20,6 +20,7 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.outsourcestock.OutsourceS
import com.chanko.yunxi.mes.module.heli.dal.dataobject.outsourcestockboom.OutsourceStockBoomDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.outsourcestockboom.OutsourceStockBoomDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.outsourcestockmaterial.OutsourceStockMaterialDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.outsourcestockmaterial.OutsourceStockMaterialDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.pn.PnDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.pn.PnDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseorder.PurchaseOrderDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseorder.PurchaseOrderDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordernodetail.PurchaseOrderNoDetailDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordernodetail.PurchaseOrderNoDetailDO;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO;
@ -37,6 +38,7 @@ import com.chanko.yunxi.mes.module.heli.dal.mysql.outsourcestock.OutsourceStockM
import com.chanko.yunxi.mes.module.heli.dal.mysql.outsourcestockboom.OutsourceStockBoomMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.outsourcestockboom.OutsourceStockBoomMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.outsourcestockmaterial.OutsourceStockMaterialMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.outsourcestockmaterial.OutsourceStockMaterialMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.pn.PnMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.pn.PnMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.projectorder.ProjectOrderMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseorder.PurchaseOrderMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseorder.PurchaseOrderMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseordernodetail.PurchaseOrderNoDetailMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseordernodetail.PurchaseOrderNoDetailMapper;
import com.chanko.yunxi.mes.module.heli.dal.mysql.storageinventory.StorageInventoryMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.storageinventory.StorageInventoryMapper;
@ -58,6 +60,7 @@ import com.chanko.yunxi.mes.module.system.dal.mysql.dict.DictDataMapper;
import com.chanko.yunxi.mes.module.system.service.user.AdminUserService; import com.chanko.yunxi.mes.module.system.service.user.AdminUserService;
import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.hibernate.validator.constraints.EAN;
import org.springframework.data.redis.hash.ObjectHashMapper; import org.springframework.data.redis.hash.ObjectHashMapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -144,6 +147,8 @@ public class StorageServiceImpl implements StorageService {
@Resource @Resource
private StorageLogService storageLogService; private StorageLogService storageLogService;
@Resource
private ProjectOrderMapper projectOrderMapper;
/* /*
* *
* 委外验收取消提交作废入库单 * 委外验收取消提交作废入库单
@ -512,7 +517,8 @@ public class StorageServiceImpl implements StorageService {
// 将物料信息转化日志信息 // 将物料信息转化日志信息
List<StorageLogDO> logList = BeanUtils.toBean(matList,StorageLogDO.class); List<StorageLogDO> logList = BeanUtils.toBean(matList,StorageLogDO.class);
// 同步库存单状态到日志便于以后统计 // 同步库存单状态到日志便于以后统计
ProjectOrderDO projectOrderDO = projectOrderMapper.selectByStockId(stockId);
StorageDO storageDO = storageMapper.selectById(stockId);
for (StorageLogDO log : logList){ for (StorageLogDO log : logList){
log.setId(null); log.setId(null);
log.setStatus(status); log.setStatus(status);
@ -521,11 +527,17 @@ public class StorageServiceImpl implements StorageService {
log.setStockType(1); log.setStockType(1);
log.setGoodsType(1); log.setGoodsType(1);
log.setCodeNo(stockNo); log.setCodeNo(stockNo);
if (ObjectUtil.isNotEmpty(storageDO.getSupplierId())){
log.setSupplierId(storageDO.getSupplierId());
}
}else { }else {
log.setStockMode(25); log.setStockMode(25);
log.setStockType(2); log.setStockType(2);
log.setGoodsType(1); log.setGoodsType(1);
log.setCodeNo(stockNo); log.setCodeNo(stockNo);
if (ObjectUtil.isNotEmpty(projectOrderDO)){
log.setAuItem(projectOrderDO.getAuItem());
}
} }
} }
// 批量保存当前库存物料日志信息 // 批量保存当前库存物料日志信息

View File

@ -106,7 +106,18 @@ public class StorageLogServiceImpl implements StorageLogService {
@Override @Override
public PageResult<StorageLogDO> getStorageLogPage(StorageLogPageReqVO pageReqVO) { public PageResult<StorageLogDO> getStorageLogPage(StorageLogPageReqVO pageReqVO) {
// return storageLogAllMapper.selectPage(pageReqVO); // return storageLogAllMapper.selectPage(pageReqVO);
return storageLogMapper.selectPage(pageReqVO); PageResult<StorageLogDO> pageResult = storageLogMapper.selectPage(pageReqVO);
for (StorageLogDO logDO : pageResult.getList()) {
if (logDO.getGoodsType()==2){
if (ObjectUtil.isNotEmpty(logDO.getMatName())){
LambdaQueryWrapper<MaterialDO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(MaterialDO::getName, logDO.getMatName());
List<MaterialDO> materialDOS = materialMapper.selectList(queryWrapper);
logDO.setMaterialDOList(materialDOS);
}
}
}
return pageResult;
} }
@Override @Override

View File

@ -1,7 +1,7 @@
<template> <template>
<el-card class="hl-card"> <el-card class="hl-card">
<template #header> <template #header>
<span>零件采购收货</span> <span></span>
</template> </template>
<ContentWrap class="borderxx"> <ContentWrap class="borderxx">
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->

View File

@ -44,6 +44,7 @@
<el-button @click="resetQuery"> <el-button @click="resetQuery">
<Icon icon="ep:refresh" class="mr-5px" /> 重置 <Icon icon="ep:refresh" class="mr-5px" /> 重置
</el-button> </el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</ContentWrap> </ContentWrap>
@ -52,7 +53,31 @@
<ContentWrap> <ContentWrap>
<el-table v-loading="loading" :data="list" :show-overflow-tooltip="true" class="hl-table"> <el-table v-loading="loading" :data="list" :show-overflow-tooltip="true" class="hl-table">
<el-table-column type="index" width="100" fixed label="序号" align="center" /> <el-table-column type="index" width="100" fixed label="序号" align="center" />
<el-table-column label="物料编码" align="center" prop="matCode" min-width="150" fixed /> <el-table-column label="物料编码" align="center" prop="matCode" min-width="150" fixed>
<template #default="scope">
<template v-if="scope.row.goodsType == 2">
<el-form-item class="mb-0px!">
<el-select
v-model="scope.row.matId"
placeholder=""
style="width: 100%"
filterable
clearable
>
<el-option
v-for="dict in scope.row.materialDOList"
:key="dict.id"
:label="dict.code + ' ' + dict.name"
:value="dict.id"
/>
</el-select>
</el-form-item>
</template>
<template v-else>
{{ scope.row.matCode }}
</template>
</template>
</el-table-column>
<el-table-column label="物料名称" align="center" prop="matName" min-width="120" fixed /> <el-table-column label="物料名称" align="center" prop="matName" min-width="120" fixed />
<el-table-column label="规格/型号" align="center" prop="matSpec" min-width="120" /> <el-table-column label="规格/型号" align="center" prop="matSpec" min-width="120" />
<el-table-column label="单据编号" align="center" prop="codeNo" min-width="180" /> <el-table-column label="单据编号" align="center" prop="codeNo" min-width="180" />
@ -64,8 +89,8 @@
<el-table-column label="仓库" align="center" prop="whName" min-width="100" /> <el-table-column label="仓库" align="center" prop="whName" min-width="100" />
<el-table-column label="库区" align="center" prop="rgName" min-width="100" /> <el-table-column label="库区" align="center" prop="rgName" min-width="100" />
<el-table-column label="库位" align="center" prop="pnName" min-width="100" /> <el-table-column label="库位" align="center" prop="pnName" min-width="100" />
<el-table-column label="盘库前数量" align="center" prop="storageBef" min-width="140" /> <!-- <el-table-column label="盘库前数量" align="center" prop="storageBef" min-width="140" />-->
<el-table-column label="盘库后数量" align="center" prop="storageAft" min-width="140" /> <!-- <el-table-column label="盘库后数量" align="center" prop="storageAft" min-width="140" />-->
<el-table-column label="入/出库数量" align="center" prop="storageOkQty" min-width="140" fixed="right" > <el-table-column label="入/出库数量" align="center" prop="storageOkQty" min-width="140" fixed="right" >
<template #default="scope"> <template #default="scope">
{{scope.row.stockType==1 || scope.row.storageOkQty<0?scope.row.storageOkQty:'-'+scope.row.storageOkQty}} {{scope.row.stockType==1 || scope.row.storageOkQty<0?scope.row.storageOkQty:'-'+scope.row.storageOkQty}}
@ -92,6 +117,8 @@ import * as WarehouseApi from '@/api/heli/warehouse'
import routeParamsCache from '@/utils/routeParamsCache' import routeParamsCache from '@/utils/routeParamsCache'
import axios from "axios"; import axios from "axios";
import {getAccessToken, getTenantId} from "@/utils/auth"; import {getAccessToken, getTenantId} from "@/utils/auth";
import Material from "@/views/heli/material/index.vue";
import MaterialSelect from "@/views/heli/hlvuestyle/materialSelect.vue";
defineOptions({ name: 'StorageLog' }) defineOptions({ name: 'StorageLog' })