Compare commits
2 Commits
9efc4ac674
...
7622014015
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7622014015 | ||
|
|
2da64480c9 |
@ -1,5 +1,6 @@
|
||||
package com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog;
|
||||
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import java.math.BigDecimal;
|
||||
@ -72,9 +73,12 @@ public class StorageLogDO extends BaseDO {
|
||||
private BigDecimal storageAft;
|
||||
private BigDecimal storageBef;
|
||||
private String codeNo;
|
||||
private BigDecimal price;
|
||||
private Long supplierId;
|
||||
private String auItem;
|
||||
@TableField(exist = false)
|
||||
private String matCode;
|
||||
@TableField(exist = false)
|
||||
|
||||
private String matName;
|
||||
@TableField(exist = false)
|
||||
private String matSpec;
|
||||
@ -86,6 +90,7 @@ public class StorageLogDO extends BaseDO {
|
||||
private String rgName;
|
||||
@TableField(exist = false)
|
||||
private String pnName;
|
||||
|
||||
@TableField(exist = false)
|
||||
private List<MaterialDO> materialDOList;
|
||||
|
||||
}
|
||||
@ -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.projectorder.ProjectOrderDO;
|
||||
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.user.AdminUserDO;
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
||||
@ -29,7 +29,7 @@ public interface StorageLogMapper extends BaseMapperX<StorageLogDO> {
|
||||
MPJLambdaWrapper<StorageLogDO> query = new MPJLambdaWrapper<>();
|
||||
|
||||
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")
|
||||
// .leftJoin(StorageDO.class, "st", StorageDO::getId, StorageLogDO::getStockId)
|
||||
.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.getCodeNo()), StorageLogDO::getCodeNo, reqVO.getCodeNo())
|
||||
.like(!StringUtils.isEmpty(reqVO.getMatSpec()), MaterialDO::getSpec, reqVO.getMatSpec())
|
||||
|
||||
.notIn(StorageLogDO::getStockMode,24,14)
|
||||
.eq(!ObjectUtil.isEmpty(reqVO.getWhId()), StorageLogDO::getWhId, reqVO.getWhId());
|
||||
return selectPage(reqVO,query);
|
||||
}
|
||||
|
||||
@ -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.processbom.ProcessBomDO;
|
||||
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.serialnumber.SerialNumberDO;
|
||||
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.processbom.ProcessBomDetailMapper;
|
||||
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.storage.StorageMapper;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.storagein.StorageInMapper;
|
||||
@ -138,7 +140,8 @@ public class PurchaseOrderNoDetailServiceImpl implements PurchaseOrderNoDetailSe
|
||||
private PlanMapper planMapper;
|
||||
@Resource
|
||||
private PgMasterService pgMasterService;
|
||||
|
||||
@Resource
|
||||
private ProjectOrderMapper projectOrderMapper;
|
||||
@Override
|
||||
public Long createPurchaseOrderNoDetail(PurchaseOrderNoDetailSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
@ -243,7 +246,7 @@ public class PurchaseOrderNoDetailServiceImpl implements PurchaseOrderNoDetailSe
|
||||
// //出库库物料集合
|
||||
// ArrayList<StorageMatDO> outList = new ArrayList<>();
|
||||
ArrayList<StorageLogDO> logList = new ArrayList<>();
|
||||
ArrayList<StorageLogDO> outLogList = new ArrayList<>();
|
||||
// ArrayList<StorageLogDO> outLogList = new ArrayList<>();
|
||||
|
||||
//生成入库单
|
||||
StorageInDO storageInDO = new StorageInDO();
|
||||
@ -347,12 +350,13 @@ public class PurchaseOrderNoDetailServiceImpl implements PurchaseOrderNoDetailSe
|
||||
// storageMatDOS.add(storageMatDO);
|
||||
// outList.add(outMat);
|
||||
StorageLogDO logDO = new StorageLogDO();
|
||||
StorageLogDO outLogDO = new StorageLogDO();
|
||||
// StorageLogDO outLogDO = new StorageLogDO();
|
||||
StorageInDetailDO storageInDetailDO = new StorageInDetailDO();
|
||||
storageInDetailDO.setStorageNoId(storageInDO.getId());
|
||||
storageInDetailDO.setProjectSubCode(byId.getProjectSubCode());
|
||||
storageInDetailDO.setBoomDetailId(byId.getBoomDetailId());
|
||||
storageInDetailDO.setBoomName(byId.getBoomName());
|
||||
logDO.setMatName(byId.getBoomName());
|
||||
storageInDetailDO.setBoomSpec(byId.getBoomSpec());
|
||||
storageInDetailDO.setBoomUnit(byId.getBoomUnit());
|
||||
storageInDetailDO.setComposition(byId.getComposition());
|
||||
@ -369,10 +373,10 @@ public class PurchaseOrderNoDetailServiceImpl implements PurchaseOrderNoDetailSe
|
||||
}
|
||||
if (result.compareTo(BigDecimal.ZERO)==0){
|
||||
storageInDetailDO.setEstimatedPrice(BigDecimal.ZERO);
|
||||
|
||||
logDO.setPrice(BigDecimal.ZERO);
|
||||
}else {
|
||||
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.setBoomAmount(byId.getBoomAmount());
|
||||
@ -393,22 +397,27 @@ public class PurchaseOrderNoDetailServiceImpl implements PurchaseOrderNoDetailSe
|
||||
PurchaseOrderNoDO purchaseOrderNoDO = purchaseOrderNoMapper.selectById(byId.getPurchaseOrderId());
|
||||
if (ObjectUtil.isNotEmpty(purchaseOrderNoDO)){
|
||||
storageInDetailDO.setSupplierId(purchaseOrderNoDO.getSupplierId());
|
||||
logDO.setSupplierId(purchaseOrderNoDO.getSupplierId());
|
||||
}
|
||||
storageInDetailDO.setPurchaseOrderNoId(byId.getPurchaseOrderId());
|
||||
storageInDetailDO.setPurchaseOrderNoDetailId(byId.getId());
|
||||
storageInDetailDO.setAcarrDate(byId.getBoomArriveDates());
|
||||
storageInDetailMapper.insert(storageInDetailDO);
|
||||
logDO.setStockId(storageInDetailDO.getId());
|
||||
// ProjectOrderDO projectOrderDO = projectOrderMapper.selectById(byId.getProjectId());
|
||||
// if (ObjectUtil.isNotEmpty(projectOrderDO)){
|
||||
// logDO.setAuItem(projectOrderDO.getAuItem());
|
||||
// }
|
||||
logDO.setStockId(storageInDetailDO.getId());
|
||||
logDO.setStorageOkQty(detailDO.getPurchaseRemAmounts());
|
||||
logDO.setStockMode(11);
|
||||
logDO.setStockType(1);
|
||||
logDO.setGoodsType(2);
|
||||
logDO.setCodeNo(storageInDO.getStorageNo());
|
||||
logList.add(logDO);
|
||||
outLogDO.setStockMode(25);
|
||||
outLogDO.setStockType(2);
|
||||
outLogDO.setGoodsType(2);
|
||||
outLogList.add(outLogDO);
|
||||
// outLogDO.setStockMode(25);
|
||||
// outLogDO.setStockType(2);
|
||||
// outLogDO.setGoodsType(2);
|
||||
// outLogList.add(outLogDO);
|
||||
}
|
||||
// }
|
||||
storageLogMapper.insertBatch(logList);
|
||||
|
||||
@ -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.outsourcestockmaterial.OutsourceStockMaterialDO;
|
||||
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.purchaseordernodetail.PurchaseOrderNoDetailDO;
|
||||
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.outsourcestockmaterial.OutsourceStockMaterialMapper;
|
||||
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.purchaseordernodetail.PurchaseOrderNoDetailMapper;
|
||||
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 org.apache.poi.ss.usermodel.*;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import org.hibernate.validator.constraints.EAN;
|
||||
import org.springframework.data.redis.hash.ObjectHashMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
@ -144,6 +147,8 @@ public class StorageServiceImpl implements StorageService {
|
||||
|
||||
@Resource
|
||||
private StorageLogService storageLogService;
|
||||
@Resource
|
||||
private ProjectOrderMapper projectOrderMapper;
|
||||
/*
|
||||
*
|
||||
* 委外验收取消提交,作废入库单
|
||||
@ -512,7 +517,8 @@ public class StorageServiceImpl implements StorageService {
|
||||
// 将物料信息转化日志信息
|
||||
List<StorageLogDO> logList = BeanUtils.toBean(matList,StorageLogDO.class);
|
||||
// 同步库存单状态到日志,便于以后统计
|
||||
|
||||
ProjectOrderDO projectOrderDO = projectOrderMapper.selectByStockId(stockId);
|
||||
StorageDO storageDO = storageMapper.selectById(stockId);
|
||||
for (StorageLogDO log : logList){
|
||||
log.setId(null);
|
||||
log.setStatus(status);
|
||||
@ -521,11 +527,17 @@ public class StorageServiceImpl implements StorageService {
|
||||
log.setStockType(1);
|
||||
log.setGoodsType(1);
|
||||
log.setCodeNo(stockNo);
|
||||
if (ObjectUtil.isNotEmpty(storageDO.getSupplierId())){
|
||||
log.setSupplierId(storageDO.getSupplierId());
|
||||
}
|
||||
}else {
|
||||
log.setStockMode(25);
|
||||
log.setStockType(2);
|
||||
log.setGoodsType(1);
|
||||
log.setCodeNo(stockNo);
|
||||
if (ObjectUtil.isNotEmpty(projectOrderDO)){
|
||||
log.setAuItem(projectOrderDO.getAuItem());
|
||||
}
|
||||
}
|
||||
}
|
||||
// 批量保存当前库存物料日志信息
|
||||
|
||||
@ -106,7 +106,18 @@ public class StorageLogServiceImpl implements StorageLogService {
|
||||
@Override
|
||||
public PageResult<StorageLogDO> getStorageLogPage(StorageLogPageReqVO 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
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<el-card class="hl-card">
|
||||
<template #header>
|
||||
<span>零件采购收货</span>
|
||||
<span></span>
|
||||
</template>
|
||||
<ContentWrap class="borderxx">
|
||||
<!-- 搜索工作栏 -->
|
||||
|
||||
@ -44,6 +44,7 @@
|
||||
<el-button @click="resetQuery">
|
||||
<Icon icon="ep:refresh" class="mr-5px" /> 重置
|
||||
</el-button>
|
||||
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</ContentWrap>
|
||||
@ -52,7 +53,31 @@
|
||||
<ContentWrap>
|
||||
<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 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="matSpec" min-width="120" />
|
||||
<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="rgName" 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="storageAft" 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="storageOkQty" min-width="140" fixed="right" >
|
||||
<template #default="scope">
|
||||
{{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 axios from "axios";
|
||||
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' })
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user