生产进度问题修改
This commit is contained in:
parent
7966960b85
commit
b03045f497
@ -151,7 +151,7 @@ public class bdgzsomthingController {
|
|||||||
BeanUtils.toBean(list, bdgzsomthingRespVO.class));
|
BeanUtils.toBean(list, bdgzsomthingRespVO.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Scheduled(fixedRate = 10800000)
|
// @Scheduled(fixedRate = 10800000)
|
||||||
public void scheduledTask() {
|
public void scheduledTask() {
|
||||||
bdgzsomthingService.selectds();
|
bdgzsomthingService.selectds();
|
||||||
}
|
}
|
||||||
@ -159,8 +159,8 @@ public class bdgzsomthingController {
|
|||||||
//@Scheduled(cron = "0 2 0 * * ?") //每天十天执行一次
|
//@Scheduled(cron = "0 2 0 * * ?") //每天十天执行一次
|
||||||
@PostConstruct
|
@PostConstruct
|
||||||
public void init() {
|
public void init() {
|
||||||
selectHasPrice();
|
// selectHasPrice();
|
||||||
selectSafeStorageAndDeliverOneYear();
|
// selectSafeStorageAndDeliverOneYear();
|
||||||
// bdgzsomthingService.selectds();
|
// bdgzsomthingService.selectds();
|
||||||
}
|
}
|
||||||
@Scheduled(cron = "0 0 2 * * ?")
|
@Scheduled(cron = "0 0 2 * * ?")
|
||||||
|
@ -92,16 +92,17 @@ public interface BgMasterLineMapper extends BaseMapperX<BgMasterLineDO> {
|
|||||||
return selectOne(query);
|
return selectOne(query);
|
||||||
}
|
}
|
||||||
|
|
||||||
default BgMasterLineDO getByDispatchDetail(Long id){
|
default Long getByDispatchDetail(Long id){
|
||||||
MPJLambdaWrapper<BgMasterLineDO> query = new MPJLambdaWrapper<>();
|
MPJLambdaWrapper<BgMasterLineDO> query = new MPJLambdaWrapper<>();
|
||||||
query.selectAll(BgMasterLineDO.class)
|
query
|
||||||
.leftJoin(PgMasterLineDO.class, "a", PgMasterLineDO::getId, BgMasterLineDO::getZjMxId);
|
.leftJoin(PgMasterLineDO.class, "a", PgMasterLineDO::getId, BgMasterLineDO::getZjMxId);
|
||||||
|
|
||||||
query.eq( PgMasterLineDO::getDispatchDetailId, id)
|
query.eq( PgMasterLineDO::getDispatchDetailId, id)
|
||||||
.orderByDesc(BgMasterLineDO::getId)
|
.eq(PgMasterLineDO::getDeleted,0)
|
||||||
.last("limit 1");
|
.eq(BgMasterLineDO::getIsQua,1)
|
||||||
|
.in(BgMasterLineDO::getAuditOpinion,1,3);
|
||||||
;
|
;
|
||||||
|
|
||||||
return selectOne(query);
|
return selectCount(query);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -242,6 +242,7 @@ public interface ProcessBomDetailMapper extends BaseMapperX<ProcessBomDetailDO>
|
|||||||
MPJLambdaWrapper<ProcessBomDetailDO> query = new MPJLambdaWrapper<>();
|
MPJLambdaWrapper<ProcessBomDetailDO> query = new MPJLambdaWrapper<>();
|
||||||
query.selectAll(ProcessBomDetailDO.class)
|
query.selectAll(ProcessBomDetailDO.class)
|
||||||
.select("f.name as compositionName")
|
.select("f.name as compositionName")
|
||||||
|
.select("t.amount*d.amount as boomAmount")
|
||||||
.leftJoin(PlanTaskBomDO.class,"ptb",PlanTaskBomDO::getBomDetailId,ProcessBomDetailDO::getId)
|
.leftJoin(PlanTaskBomDO.class,"ptb",PlanTaskBomDO::getBomDetailId,ProcessBomDetailDO::getId)
|
||||||
.leftJoin(PlanTaskDO.class,"pt",PlanTaskDO::getId,PlanTaskBomDO::getTaskId)
|
.leftJoin(PlanTaskDO.class,"pt",PlanTaskDO::getId,PlanTaskBomDO::getTaskId)
|
||||||
.leftJoin(ProcessBomDO.class,"g",ProcessBomDO::getId,ProcessBomDetailDO::getBomId)
|
.leftJoin(ProcessBomDO.class,"g",ProcessBomDO::getId,ProcessBomDetailDO::getBomId)
|
||||||
@ -272,6 +273,7 @@ public interface ProcessBomDetailMapper extends BaseMapperX<ProcessBomDetailDO>
|
|||||||
.select("m.status as makeStatus")
|
.select("m.status as makeStatus")
|
||||||
.select("r.receiving_status as receivingStatus")
|
.select("r.receiving_status as receivingStatus")
|
||||||
.select("CASE WHEN r.id IS NOT NULL THEN 1 ELSE 0 END AS orderNoExists")
|
.select("CASE WHEN r.id IS NOT NULL THEN 1 ELSE 0 END AS orderNoExists")
|
||||||
|
.select("t.amount*d.amount as boomAmount")
|
||||||
.leftJoin(PlanTaskBomDO.class,"ptb",PlanTaskBomDO::getBomDetailId,ProcessBomDetailDO::getId)
|
.leftJoin(PlanTaskBomDO.class,"ptb",PlanTaskBomDO::getBomDetailId,ProcessBomDetailDO::getId)
|
||||||
.leftJoin(PlanTaskDO.class,"pt",PlanTaskDO::getId,PlanTaskBomDO::getTaskId)
|
.leftJoin(PlanTaskDO.class,"pt",PlanTaskDO::getId,PlanTaskBomDO::getTaskId)
|
||||||
.leftJoin(ProcessBomDO.class,"g",ProcessBomDO::getId,ProcessBomDetailDO::getBomId)
|
.leftJoin(ProcessBomDO.class,"g",ProcessBomDO::getId,ProcessBomDetailDO::getBomId)
|
||||||
|
@ -43,9 +43,11 @@ public interface ProjectOrderMapper extends BaseMapperX<ProjectOrderDO> {
|
|||||||
query.selectAll(ProjectOrderDO.class)
|
query.selectAll(ProjectOrderDO.class)
|
||||||
.select("a.id as projectSubId,a.name as projectSubName")
|
.select("a.id as projectSubId,a.name as projectSubName")
|
||||||
.select("b.name as customerName,e.name as deviceModel")
|
.select("b.name as customerName,e.name as deviceModel")
|
||||||
|
|
||||||
.leftJoin(ProjectOrderSubDO.class,"a",ProjectOrderSubDO::getProjectOrderId,ProjectOrderDO::getId)
|
.leftJoin(ProjectOrderSubDO.class,"a",ProjectOrderSubDO::getProjectOrderId,ProjectOrderDO::getId)
|
||||||
.leftJoin(CustomerDO.class,"b",CustomerDO::getId,ProjectOrderDO::getCustomerId)
|
.leftJoin(CustomerDO.class,"b",CustomerDO::getId,ProjectOrderDO::getCustomerId)
|
||||||
.leftJoin(EquipDO.class,"e",EquipDO::getId,ProjectOrderSubDO::getDeviceModel)
|
.leftJoin(EquipDO.class,"e",EquipDO::getId,ProjectOrderSubDO::getDeviceModel)
|
||||||
|
.disableSubLogicDel()
|
||||||
.like(!StringUtils.isEmpty(reqVO.getCode()),ProjectOrderDO::getCode,reqVO.getCode())
|
.like(!StringUtils.isEmpty(reqVO.getCode()),ProjectOrderDO::getCode,reqVO.getCode())
|
||||||
.like(!StringUtils.isEmpty(reqVO.getProjectName()),ProjectOrderDO::getProjectName,reqVO.getProjectName())
|
.like(!StringUtils.isEmpty(reqVO.getProjectName()),ProjectOrderDO::getProjectName,reqVO.getProjectName())
|
||||||
.like(!StringUtils.isEmpty(reqVO.getCustomerName()),"b.name",reqVO.getCustomerName())
|
.like(!StringUtils.isEmpty(reqVO.getCustomerName()),"b.name",reqVO.getCustomerName())
|
||||||
|
@ -330,7 +330,7 @@ public interface TaskDispatchDetailMapper extends BaseMapperX<TaskDispatchDetail
|
|||||||
if (reqVO.getSubOrDetailName() != null && !reqVO.getSubOrDetailName().trim().equals("")){
|
if (reqVO.getSubOrDetailName() != null && !reqVO.getSubOrDetailName().trim().equals("")){
|
||||||
query.and( e ->e.like(ProjectOrderDO::getProjectName, reqVO.getSubOrDetailName()).or().like(
|
query.and( e ->e.like(ProjectOrderDO::getProjectName, reqVO.getSubOrDetailName()).or().like(
|
||||||
ProjectOrderSubDO::getName, reqVO.getSubOrDetailName()
|
ProjectOrderSubDO::getName, reqVO.getSubOrDetailName()
|
||||||
));
|
).or().like(ProcessBomDetailDO::getMaterialName, reqVO.getSubOrDetailName()));
|
||||||
// query.eq(" (b.project_name like '%" + reqVO.getSubOrDetailName() + "%' or c.name like '%" + reqVO.getSubOrDetailName() + "%')");
|
// query.eq(" (b.project_name like '%" + reqVO.getSubOrDetailName() + "%' or c.name like '%" + reqVO.getSubOrDetailName() + "%')");
|
||||||
}
|
}
|
||||||
query.and(wrapper -> {
|
query.and(wrapper -> {
|
||||||
|
@ -1256,9 +1256,8 @@ public class ProcessBomServiceImpl implements ProcessBomService {
|
|||||||
Postponement=1;
|
Postponement=1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
BgMasterLineDO bgMasterLineDO = bgMasterLineMapper.getByDispatchDetail(detailDO.getId());
|
Long bgMasterLineDO = bgMasterLineMapper.getByDispatchDetail(detailDO.getId());
|
||||||
if (ObjectUtil.isNotEmpty(bgMasterLineDO)){
|
if (bgMasterLineDO>0){
|
||||||
if (bgMasterLineDO.getIsQua()==1&&("1".equals(bgMasterLineDO.getAuditOpinion())||"3".equals(bgMasterLineDO.getAuditOpinion()))){
|
|
||||||
flag=3;
|
flag=3;
|
||||||
}else if (Postponement==0){
|
}else if (Postponement==0){
|
||||||
flag=1;
|
flag=1;
|
||||||
@ -1267,7 +1266,6 @@ public class ProcessBomServiceImpl implements ProcessBomService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
detailDO.setFlag(flag);
|
detailDO.setFlag(flag);
|
||||||
}
|
|
||||||
});
|
});
|
||||||
item.setTaskDispatchDetailDOList(detailDOS);
|
item.setTaskDispatchDetailDOList(detailDOS);
|
||||||
});
|
});
|
||||||
|
@ -70,15 +70,15 @@
|
|||||||
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
|
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
|
||||||
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
|
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
|
||||||
|
|
||||||
<el-button
|
<!-- <el-button-->
|
||||||
type="success"
|
<!-- type="success"-->
|
||||||
plain
|
<!-- plain-->
|
||||||
@click="handleExport"
|
<!-- @click="handleExport"-->
|
||||||
:loading="exportLoading"
|
<!-- :loading="exportLoading"-->
|
||||||
v-hasPermi="['heli:shenhe:export']"
|
<!-- v-hasPermi="['heli:shenhe:export']"-->
|
||||||
>
|
<!-- >-->
|
||||||
<Icon icon="ep:download" class="mr-5px" /> 导出
|
<!-- <Icon icon="ep:download" class="mr-5px" /> 导出-->
|
||||||
</el-button>
|
<!-- </el-button>-->
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</ContentWrap>
|
</ContentWrap>
|
||||||
@ -89,12 +89,12 @@
|
|||||||
<el-tab-pane label="加工件" name="first">{{ }}</el-tab-pane>
|
<el-tab-pane label="加工件" name="first">{{ }}</el-tab-pane>
|
||||||
<el-tab-pane label="标准件" name="second">{{ }}</el-tab-pane>
|
<el-tab-pane label="标准件" name="second">{{ }}</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
<el-table style="height: 500px;" v-loading="loading" :data="list" :show-overflow-tooltip="true" border class="hl-table" :row-class-name="tableRowClassName" :cell-class-name="cellClassName">
|
<el-table style="height: 500px;" v-loading="loading" :data="list" :show-overflow-tooltip="true" border class="hl-table" :cell-class-name="cellClassName">
|
||||||
<el-table-column type="index" min-width="60" label="序号" align="center" />
|
<el-table-column type="index" min-width="60" label="序号" align="center" />
|
||||||
<el-table-column label="零件名称" align="center" prop="materialName" min-width="180"/>
|
<el-table-column label="零件名称" align="center" prop="materialName" min-width="180"/>
|
||||||
<el-table-column label="材质" prop="compositionName" min-width="180"/>
|
<el-table-column label="材质" prop="compositionName" min-width="180"/>
|
||||||
<el-table-column label="规格型号" prop="spec" min-width="180"/>
|
<el-table-column label="规格型号" prop="spec" min-width="180"/>
|
||||||
<el-table-column label="数量" prop="amount" min-width="145"/>
|
<el-table-column label="数量" prop="boomAmount" min-width="145"/>
|
||||||
<el-table-column v-if="activeIndex == 'first'" label="下料" min-width="145">
|
<el-table-column v-if="activeIndex == 'first'" label="下料" min-width="145">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<template v-for="(item, index) in row.taskDispatchDetailDOList" :key="index">
|
<template v-for="(item, index) in row.taskDispatchDetailDOList" :key="index">
|
||||||
@ -103,9 +103,9 @@
|
|||||||
<div class="first-row">
|
<div class="first-row">
|
||||||
<span class="left" v-if="!item.reportTime">{{ item.sort }}</span>
|
<span class="left" v-if="!item.reportTime">{{ item.sort }}</span>
|
||||||
<span class="right">
|
<span class="right">
|
||||||
<img
|
<img
|
||||||
v-if="item.checkYn === 1"
|
v-if="item.checkYn === 0"
|
||||||
src="/src/assets/imgs/checkStatus.png"
|
src="/src/assets/imgs/checkstatusss.png"
|
||||||
class="status-icon"
|
class="status-icon"
|
||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
@ -114,9 +114,9 @@
|
|||||||
<div class="second-row">
|
<div class="second-row">
|
||||||
<span class="left">{{ formatLongToDate(item.reportTime) }}</span>
|
<span class="left">{{ formatLongToDate(item.reportTime) }}</span>
|
||||||
<span class="right">
|
<span class="right">
|
||||||
<img
|
<img
|
||||||
v-if="item.isOutsourcing === 'Y'"
|
v-if="item.isOutsourcing === 'Y'"
|
||||||
src="/src/assets/imgs/out.png"
|
src="/src/assets/imgs/out.png"
|
||||||
class="status-icon"
|
class="status-icon"
|
||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
@ -136,15 +136,15 @@
|
|||||||
</span>
|
</span>
|
||||||
<span>
|
<span>
|
||||||
<!-- isOutsourcing 图片 -->
|
<!-- isOutsourcing 图片 -->
|
||||||
<img
|
<img
|
||||||
v-if="item.isOutsourcing === 'Y'"
|
v-if="item.isOutsourcing === 'Y'"
|
||||||
src="/src/assets/imgs/out.png"
|
src="/src/assets/imgs/out.png"
|
||||||
class="status-icon"
|
class="status-icon"
|
||||||
/>
|
/>
|
||||||
<!-- checkYn 图片 -->
|
<!-- checkYn 图片 -->
|
||||||
<img
|
<img
|
||||||
v-if="item.checkYn === 1"
|
v-if="item.checkYn === 0"
|
||||||
src="/src/assets/imgs/checkstatusss.png"
|
src="/src/assets/imgs/checkstatusss.png"
|
||||||
class="status-icon"
|
class="status-icon"
|
||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
@ -168,15 +168,15 @@
|
|||||||
</span>
|
</span>
|
||||||
<span>
|
<span>
|
||||||
<!-- isOutsourcing 图片 -->
|
<!-- isOutsourcing 图片 -->
|
||||||
<img
|
<img
|
||||||
v-if="item.isOutsourcing === 'Y'"
|
v-if="item.isOutsourcing === 'Y'"
|
||||||
src="/src/assets/imgs/out.png"
|
src="/src/assets/imgs/out.png"
|
||||||
class="status-icon"
|
class="status-icon"
|
||||||
/>
|
/>
|
||||||
<!-- checkYn 图片 -->
|
<!-- checkYn 图片 -->
|
||||||
<img
|
<img
|
||||||
v-if="item.checkYn === 1"
|
v-if="item.checkYn === 0"
|
||||||
src="/src/assets/imgs/checkstatusss.png"
|
src="/src/assets/imgs/checkstatusss.png"
|
||||||
class="status-icon"
|
class="status-icon"
|
||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
@ -200,15 +200,15 @@
|
|||||||
</span>
|
</span>
|
||||||
<span>
|
<span>
|
||||||
<!-- isOutsourcing 图片 -->
|
<!-- isOutsourcing 图片 -->
|
||||||
<img
|
<img
|
||||||
v-if="item.isOutsourcing === 'Y'"
|
v-if="item.isOutsourcing === 'Y'"
|
||||||
src="/src/assets/imgs/out.png"
|
src="/src/assets/imgs/out.png"
|
||||||
class="status-icon"
|
class="status-icon"
|
||||||
/>
|
/>
|
||||||
<!-- checkYn 图片 -->
|
<!-- checkYn 图片 -->
|
||||||
<img
|
<img
|
||||||
v-if="item.checkYn === 1"
|
v-if="item.checkYn === 0"
|
||||||
src="/src/assets/imgs/checkstatusss.png"
|
src="/src/assets/imgs/checkstatusss.png"
|
||||||
class="status-icon"
|
class="status-icon"
|
||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
@ -232,15 +232,15 @@
|
|||||||
</span>
|
</span>
|
||||||
<span>
|
<span>
|
||||||
<!-- isOutsourcing 图片 -->
|
<!-- isOutsourcing 图片 -->
|
||||||
<img
|
<img
|
||||||
v-if="item.isOutsourcing === 'Y'"
|
v-if="item.isOutsourcing === 'Y'"
|
||||||
src="/src/assets/imgs/out.png"
|
src="/src/assets/imgs/out.png"
|
||||||
class="status-icon"
|
class="status-icon"
|
||||||
/>
|
/>
|
||||||
<!-- checkYn 图片 -->
|
<!-- checkYn 图片 -->
|
||||||
<img
|
<img
|
||||||
v-if="item.checkYn === 1"
|
v-if="item.checkYn === 0"
|
||||||
src="/src/assets/imgs/checkstatusss.png"
|
src="/src/assets/imgs/checkstatusss.png"
|
||||||
class="status-icon"
|
class="status-icon"
|
||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
@ -264,15 +264,15 @@
|
|||||||
</span>
|
</span>
|
||||||
<span>
|
<span>
|
||||||
<!-- isOutsourcing 图片 -->
|
<!-- isOutsourcing 图片 -->
|
||||||
<img
|
<img
|
||||||
v-if="item.isOutsourcing === 'Y'"
|
v-if="item.isOutsourcing === 'Y'"
|
||||||
src="/src/assets/imgs/out.png"
|
src="/src/assets/imgs/out.png"
|
||||||
class="status-icon"
|
class="status-icon"
|
||||||
/>
|
/>
|
||||||
<!-- checkYn 图片 -->
|
<!-- checkYn 图片 -->
|
||||||
<img
|
<img
|
||||||
v-if="item.checkYn === 1"
|
v-if="item.checkYn === 0"
|
||||||
src="/src/assets/imgs/checkstatusss.png"
|
src="/src/assets/imgs/checkstatusss.png"
|
||||||
class="status-icon"
|
class="status-icon"
|
||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
@ -296,15 +296,15 @@
|
|||||||
</span>
|
</span>
|
||||||
<span>
|
<span>
|
||||||
<!-- isOutsourcing 图片 -->
|
<!-- isOutsourcing 图片 -->
|
||||||
<img
|
<img
|
||||||
v-if="item.isOutsourcing === 'Y'"
|
v-if="item.isOutsourcing === 'Y'"
|
||||||
src="/src/assets/imgs/out.png"
|
src="/src/assets/imgs/out.png"
|
||||||
class="status-icon"
|
class="status-icon"
|
||||||
/>
|
/>
|
||||||
<!-- checkYn 图片 -->
|
<!-- checkYn 图片 -->
|
||||||
<img
|
<img
|
||||||
v-if="item.checkYn === 1"
|
v-if="item.checkYn === 0"
|
||||||
src="/src/assets/imgs/checkstatusss.png"
|
src="/src/assets/imgs/checkstatusss.png"
|
||||||
class="status-icon"
|
class="status-icon"
|
||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
@ -328,15 +328,15 @@
|
|||||||
</span>
|
</span>
|
||||||
<span>
|
<span>
|
||||||
<!-- isOutsourcing 图片 -->
|
<!-- isOutsourcing 图片 -->
|
||||||
<img
|
<img
|
||||||
v-if="item.isOutsourcing === 'Y'"
|
v-if="item.isOutsourcing === 'Y'"
|
||||||
src="/src/assets/imgs/out.png"
|
src="/src/assets/imgs/out.png"
|
||||||
class="status-icon"
|
class="status-icon"
|
||||||
/>
|
/>
|
||||||
<!-- checkYn 图片 -->
|
<!-- checkYn 图片 -->
|
||||||
<img
|
<img
|
||||||
v-if="item.checkYn === 1"
|
v-if="item.checkYn === 0"
|
||||||
src="/src/assets/imgs/checkstatusss.png"
|
src="/src/assets/imgs/checkstatusss.png"
|
||||||
class="status-icon"
|
class="status-icon"
|
||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
@ -360,15 +360,15 @@
|
|||||||
</span>
|
</span>
|
||||||
<span>
|
<span>
|
||||||
<!-- isOutsourcing 图片 -->
|
<!-- isOutsourcing 图片 -->
|
||||||
<img
|
<img
|
||||||
v-if="item.isOutsourcing === 'Y'"
|
v-if="item.isOutsourcing === 'Y'"
|
||||||
src="/src/assets/imgs/out.png"
|
src="/src/assets/imgs/out.png"
|
||||||
class="status-icon"
|
class="status-icon"
|
||||||
/>
|
/>
|
||||||
<!-- checkYn 图片 -->
|
<!-- checkYn 图片 -->
|
||||||
<img
|
<img
|
||||||
v-if="item.checkYn === 1"
|
v-if="item.checkYn === 0"
|
||||||
src="/src/assets/imgs/checkstatusss.png"
|
src="/src/assets/imgs/checkstatusss.png"
|
||||||
class="status-icon"
|
class="status-icon"
|
||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
@ -392,15 +392,15 @@
|
|||||||
</span>
|
</span>
|
||||||
<span>
|
<span>
|
||||||
<!-- isOutsourcing 图片 -->
|
<!-- isOutsourcing 图片 -->
|
||||||
<img
|
<img
|
||||||
v-if="item.isOutsourcing === 'Y'"
|
v-if="item.isOutsourcing === 'Y'"
|
||||||
src="/src/assets/imgs/out.png"
|
src="/src/assets/imgs/out.png"
|
||||||
class="status-icon"
|
class="status-icon"
|
||||||
/>
|
/>
|
||||||
<!-- checkYn 图片 -->
|
<!-- checkYn 图片 -->
|
||||||
<img
|
<img
|
||||||
v-if="item.checkYn === 1"
|
v-if="item.checkYn === 0"
|
||||||
src="/src/assets/imgs/checkstatusss.png"
|
src="/src/assets/imgs/checkstatusss.png"
|
||||||
class="status-icon"
|
class="status-icon"
|
||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
@ -424,15 +424,15 @@
|
|||||||
</span>
|
</span>
|
||||||
<span>
|
<span>
|
||||||
<!-- isOutsourcing 图片 -->
|
<!-- isOutsourcing 图片 -->
|
||||||
<img
|
<img
|
||||||
v-if="item.isOutsourcing === 'Y'"
|
v-if="item.isOutsourcing === 'Y'"
|
||||||
src="/src/assets/imgs/out.png"
|
src="/src/assets/imgs/out.png"
|
||||||
class="status-icon"
|
class="status-icon"
|
||||||
/>
|
/>
|
||||||
<!-- checkYn 图片 -->
|
<!-- checkYn 图片 -->
|
||||||
<img
|
<img
|
||||||
v-if="item.checkYn === 1"
|
v-if="item.checkYn === 0"
|
||||||
src="/src/assets/imgs/checkstatusss.png"
|
src="/src/assets/imgs/checkstatusss.png"
|
||||||
class="status-icon"
|
class="status-icon"
|
||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
@ -456,15 +456,15 @@
|
|||||||
</span>
|
</span>
|
||||||
<span>
|
<span>
|
||||||
<!-- isOutsourcing 图片 -->
|
<!-- isOutsourcing 图片 -->
|
||||||
<img
|
<img
|
||||||
v-if="item.isOutsourcing === 'Y'"
|
v-if="item.isOutsourcing === 'Y'"
|
||||||
src="/src/assets/imgs/out.png"
|
src="/src/assets/imgs/out.png"
|
||||||
class="status-icon"
|
class="status-icon"
|
||||||
/>
|
/>
|
||||||
<!-- checkYn 图片 -->
|
<!-- checkYn 图片 -->
|
||||||
<img
|
<img
|
||||||
v-if="item.checkYn === 1"
|
v-if="item.checkYn === 0"
|
||||||
src="/src/assets/imgs/checkstatusss.png"
|
src="/src/assets/imgs/checkstatusss.png"
|
||||||
class="status-icon"
|
class="status-icon"
|
||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
@ -488,15 +488,15 @@
|
|||||||
</span>
|
</span>
|
||||||
<span>
|
<span>
|
||||||
<!-- isOutsourcing 图片 -->
|
<!-- isOutsourcing 图片 -->
|
||||||
<img
|
<img
|
||||||
v-if="item.isOutsourcing === 'Y'"
|
v-if="item.isOutsourcing === 'Y'"
|
||||||
src="/src/assets/imgs/out.png"
|
src="/src/assets/imgs/out.png"
|
||||||
class="status-icon"
|
class="status-icon"
|
||||||
/>
|
/>
|
||||||
<!-- checkYn 图片 -->
|
<!-- checkYn 图片 -->
|
||||||
<img
|
<img
|
||||||
v-if="item.checkYn === 1"
|
v-if="item.checkYn === 0"
|
||||||
src="/src/assets/imgs/checkstatusss.png"
|
src="/src/assets/imgs/checkstatusss.png"
|
||||||
class="status-icon"
|
class="status-icon"
|
||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
@ -520,15 +520,15 @@
|
|||||||
</span>
|
</span>
|
||||||
<span>
|
<span>
|
||||||
<!-- isOutsourcing 图片 -->
|
<!-- isOutsourcing 图片 -->
|
||||||
<img
|
<img
|
||||||
v-if="item.isOutsourcing === 'Y'"
|
v-if="item.isOutsourcing === 'Y'"
|
||||||
src="/src/assets/imgs/out.png"
|
src="/src/assets/imgs/out.png"
|
||||||
class="status-icon"
|
class="status-icon"
|
||||||
/>
|
/>
|
||||||
<!-- checkYn 图片 -->
|
<!-- checkYn 图片 -->
|
||||||
<img
|
<img
|
||||||
v-if="item.checkYn === 1"
|
v-if="item.checkYn === 0"
|
||||||
src="/src/assets/imgs/checkstatusss.png"
|
src="/src/assets/imgs/checkstatusss.png"
|
||||||
class="status-icon"
|
class="status-icon"
|
||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
@ -552,15 +552,15 @@
|
|||||||
</span>
|
</span>
|
||||||
<span>
|
<span>
|
||||||
<!-- isOutsourcing 图片 -->
|
<!-- isOutsourcing 图片 -->
|
||||||
<img
|
<img
|
||||||
v-if="item.isOutsourcing === 'Y'"
|
v-if="item.isOutsourcing === 'Y'"
|
||||||
src="/src/assets/imgs/out.png"
|
src="/src/assets/imgs/out.png"
|
||||||
class="status-icon"
|
class="status-icon"
|
||||||
/>
|
/>
|
||||||
<!-- checkYn 图片 -->
|
<!-- checkYn 图片 -->
|
||||||
<img
|
<img
|
||||||
v-if="item.checkYn === 1"
|
v-if="item.checkYn === 0"
|
||||||
src="/src/assets/imgs/checkstatusss.png"
|
src="/src/assets/imgs/checkstatusss.png"
|
||||||
class="status-icon"
|
class="status-icon"
|
||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
@ -584,15 +584,15 @@
|
|||||||
</span>
|
</span>
|
||||||
<span>
|
<span>
|
||||||
<!-- isOutsourcing 图片 -->
|
<!-- isOutsourcing 图片 -->
|
||||||
<img
|
<img
|
||||||
v-if="item.isOutsourcing === 'Y'"
|
v-if="item.isOutsourcing === 'Y'"
|
||||||
src="/src/assets/imgs/out.png"
|
src="/src/assets/imgs/out.png"
|
||||||
class="status-icon"
|
class="status-icon"
|
||||||
/>
|
/>
|
||||||
<!-- checkYn 图片 -->
|
<!-- checkYn 图片 -->
|
||||||
<img
|
<img
|
||||||
v-if="item.checkYn === 1"
|
v-if="item.checkYn === 0"
|
||||||
src="/src/assets/imgs/checkstatusss.png"
|
src="/src/assets/imgs/checkstatusss.png"
|
||||||
class="status-icon"
|
class="status-icon"
|
||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
@ -605,10 +605,10 @@
|
|||||||
</template>
|
</template>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
<!--标准件-->
|
<!--标准件-->
|
||||||
<!--加工件-->
|
<!--加工件-->
|
||||||
|
|
||||||
<el-table-column v-if="activeIndex == 'second'" label="物料需求计划" align="center" prop="planBoomExists" min-width="180">
|
<el-table-column v-if="activeIndex == 'second'" label="物料需求计划" align="center" prop="planBoomExists" min-width="180">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
{{ row.planBoomExists ?(row.planBoomExists== 1?'✔':''):''}}
|
{{ row.planBoomExists ?(row.planBoomExists== 1?'✔':''):''}}
|
||||||
@ -726,32 +726,19 @@ const formatLongToDate = (longTimestamp) => {
|
|||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
const date = new Date(longTimestamp);
|
const date = new Date(longTimestamp);
|
||||||
const year = date.getFullYear();
|
// const year = date.getFullYear();
|
||||||
|
const year = String(date.getFullYear()).slice(-2);
|
||||||
const month = String(date.getMonth() + 1).padStart(2, '0'); // 月份从 0 开始
|
const month = String(date.getMonth() + 1).padStart(2, '0'); // 月份从 0 开始
|
||||||
const day = String(date.getDate()).padStart(2, '0');
|
const day = String(date.getDate()).padStart(2, '0');
|
||||||
return `${year}-${month}-${day}`;
|
return `${year}-${month}-${day}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
const tableRowClassName = ({ row }) => {
|
|
||||||
var endTime = new Date(row.endTime);
|
|
||||||
|
|
||||||
// 获取当前时间的 Date 对象
|
|
||||||
var currentTime = new Date();
|
|
||||||
|
|
||||||
// 将 endTime 和 currentTime 的时间部分设置为零
|
|
||||||
endTime.setHours(0, 0, 0, 0);
|
|
||||||
currentTime.setHours(0, 0, 0, 0);
|
|
||||||
if (row.wgType!=2&&endTime < currentTime){
|
|
||||||
return 'warning-row';
|
|
||||||
}else {
|
|
||||||
return ''
|
|
||||||
}
|
|
||||||
}
|
|
||||||
const cellClassName = ({ row,column }) => {
|
const cellClassName = ({ row,column }) => {
|
||||||
if(row.taskDispatchDetailDOList){
|
if(row.taskDispatchDetailDOList){
|
||||||
for(var i = 0 ;i < row.taskDispatchDetailDOList.length ; i++){
|
for(var i = 0 ;i < row.taskDispatchDetailDOList.length ; i++){
|
||||||
var item = row.taskDispatchDetailDOList[i];
|
var item = row.taskDispatchDetailDOList[i];
|
||||||
|
|
||||||
if (item.procedureName == column.label && item.flag === 1) {
|
if (item.procedureName == column.label && item.flag === 1) {
|
||||||
return 'green-cell'
|
return 'green-cell'
|
||||||
};
|
};
|
||||||
@ -801,7 +788,7 @@ const handleExport = async () => {
|
|||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
loading.value = true
|
loading.value = true
|
||||||
await getList()
|
await getList()
|
||||||
|
|
||||||
userList.value = await UserApi.getSimpleUserList()
|
userList.value = await UserApi.getSimpleUserList()
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
@ -814,7 +801,7 @@ onMounted(async () => {
|
|||||||
background-color: #e6f7e6 !important;
|
background-color: #e6f7e6 !important;
|
||||||
}
|
}
|
||||||
.yellow-cell {
|
.yellow-cell {
|
||||||
background-color: #fffbe6 !important;
|
background-color: #fffbe6 !important;
|
||||||
}
|
}
|
||||||
.red-cell {
|
.red-cell {
|
||||||
background-color: #fff1f0 !important;
|
background-color: #fff1f0 !important;
|
||||||
@ -824,14 +811,14 @@ onMounted(async () => {
|
|||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.first-row, .second-row {
|
.first-row, .second-row {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-bottom: 4px; /* 增加行间距 */
|
margin-bottom: 4px; /* 增加行间距 */
|
||||||
}
|
}
|
||||||
|
|
||||||
.status-icon {
|
.status-icon {
|
||||||
width: 35px; /* 增大图片宽度 */
|
width: 35px; /* 增大图片宽度 */
|
||||||
height: 35px; /* 增大图片高度 */
|
height: 35px; /* 增大图片高度 */
|
||||||
|
169
mes-ui/mes-ui-admin-vue3/src/views/heli/storage/transaction.vue
Normal file
169
mes-ui/mes-ui-admin-vue3/src/views/heli/storage/transaction.vue
Normal file
@ -0,0 +1,169 @@
|
|||||||
|
<template>
|
||||||
|
<el-card class="hl-card">
|
||||||
|
<template #header>
|
||||||
|
<span>库存变动日志</span>
|
||||||
|
</template>
|
||||||
|
<ContentWrap class="borderxx">
|
||||||
|
<!-- 搜索工作栏 -->
|
||||||
|
<el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="120px">
|
||||||
|
<el-form-item label="物料编码" prop="matCode">
|
||||||
|
<el-input v-model="queryParams.matCode" placeholder="物料编码" clearable @keyup.enter="handleQuery" class="!w-240px" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="物料名称" prop="matName">
|
||||||
|
<el-input v-model="queryParams.matName" placeholder="物料名称" clearable @keyup.enter="handleQuery" class="!w-240px" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="物料类型" prop="matType">
|
||||||
|
<el-select v-model="queryParams.matType" placeholder="下拉选择" clearable class="!w-240px">
|
||||||
|
<el-option v-for="dict in getIntDictOptions(DICT_TYPE.HELI_MATERIAL_TYPE)" :key="dict.label" :label="dict.label" :value="dict.label" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="仓库" prop="whId">
|
||||||
|
<el-select v-model="queryParams.whId" placeholder="下拉选择" clearable class="!w-240px">
|
||||||
|
<el-option v-for="dict in whList" :key="dict.id" :label="dict.wh_name" :value="dict.id" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="批次号" prop="lotNo" v-if="false">
|
||||||
|
<el-input v-model="queryParams.lotNo" placeholder="批次号" clearable @keyup.enter="handleQuery" class="!w-240px" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="业务单据编号" prop="stockNo">
|
||||||
|
<el-input v-model="queryParams.stockNo" placeholder="业务单据编号" clearable @keyup.enter="handleQuery" class="!w-240px" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="变动方向" prop="stockType">
|
||||||
|
<el-select v-model="queryParams.stockType" placeholder="下拉选择" clearable class="!w-240px">
|
||||||
|
<el-option v-for="dict in getIntDictOptions(DICT_TYPE.HELI_STORAGE_TYPE)" :key="dict.value" :label="dict.label" :value="dict.value" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="上游单据编号" prop="headerNo">
|
||||||
|
<el-input v-model="queryParams.headerNo" placeholder="上游单据编号" clearable @keyup.enter="handleQuery" class="!w-240px" />
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item>
|
||||||
|
<el-button @click="handleQuery" type="primary">
|
||||||
|
<Icon icon="ep:search" class="mr-5px" /> 搜索
|
||||||
|
</el-button>
|
||||||
|
<el-button @click="resetQuery">
|
||||||
|
<Icon icon="ep:refresh" class="mr-5px" /> 重置
|
||||||
|
</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</ContentWrap>
|
||||||
|
|
||||||
|
<!-- 列表 -->
|
||||||
|
<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="120" fixed />
|
||||||
|
<el-table-column label="物料名称" align="center" prop="matName" min-width="120" fixed />
|
||||||
|
<el-table-column label="物料类型" align="center" prop="matType" min-width="120" />
|
||||||
|
<el-table-column label="物料简称" align="center" prop="shortName" min-width="120" />
|
||||||
|
<el-table-column label="规格/型号" align="center" prop="matSpec" min-width="120" />
|
||||||
|
<el-table-column label="品牌" align="center" prop="matBrand" min-width="120" />
|
||||||
|
<el-table-column label="业务单据编号" align="center" prop="stockNo" min-width="180" />
|
||||||
|
<el-table-column label="业务单据类型" align="center" prop="stockTypeName" min-width="120" />
|
||||||
|
<el-table-column label="上游单据编号" align="center" prop="headerNo" min-width="120" />
|
||||||
|
<el-table-column label="仓库" align="center" prop="whName" min-width="120" />
|
||||||
|
<el-table-column label="库区" align="center" prop="rgName" min-width="120" />
|
||||||
|
<el-table-column label="库位" align="center" prop="pnName" min-width="140" />
|
||||||
|
<el-table-column label="批次号" align="center" prop="lotNo" min-width="120" v-if="false" />
|
||||||
|
<el-table-column label="变动数量" align="center" prop="storageOkQty" fixed="right" min-width="120">
|
||||||
|
<template #default="scope">
|
||||||
|
<span v-if="scope.row.storageOkQty<0" style="color:#EC808D;">
|
||||||
|
{{scope.row.storageOkQty}}
|
||||||
|
</span>
|
||||||
|
<span v-else-if="scope.row.storageOkQty>0" style="color:#63A103;">
|
||||||
|
+{{scope.row.storageOkQty}}
|
||||||
|
</span>
|
||||||
|
<span v-else>
|
||||||
|
{{scope.row.storageOkQty}}
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="库存单位" align="center" prop="matUnit" fixed="right" min-width="120" />
|
||||||
|
</el-table>
|
||||||
|
<!-- 分页 -->
|
||||||
|
<Pagination :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize" @pagination="getList" />
|
||||||
|
</ContentWrap>
|
||||||
|
</el-card>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import download from '@/utils/download'
|
||||||
|
import * as StorageLogApi from '@/api/heli/storagelog'
|
||||||
|
|
||||||
|
import { getIntDictOptions, DICT_TYPE } from '@/utils/dict'
|
||||||
|
|
||||||
|
import * as WarehouseApi from '@/api/heli/warehouse'
|
||||||
|
// import * as RgApi from '@/api/heli/rg'
|
||||||
|
// import * as PnApi from '@/api/heli/pn'
|
||||||
|
|
||||||
|
defineOptions({ name: 'StorageLog' })
|
||||||
|
|
||||||
|
const whList = ref([])
|
||||||
|
// const rgList = ref([])
|
||||||
|
// const pnList = ref([])
|
||||||
|
|
||||||
|
const message = useMessage() // 消息弹窗
|
||||||
|
const { t } = useI18n() // 国际化
|
||||||
|
|
||||||
|
const loading = ref(true) // 列表的加载中
|
||||||
|
const list = ref([]) // 列表的数据
|
||||||
|
const total = ref(0) // 列表的总页数
|
||||||
|
const queryParams = reactive({
|
||||||
|
pageNo: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
matCode: undefined,
|
||||||
|
matName: undefined,
|
||||||
|
matType: undefined,
|
||||||
|
whId:undefined,
|
||||||
|
lotNo: undefined,
|
||||||
|
pnId: undefined,
|
||||||
|
stockNo: undefined,
|
||||||
|
stockType: undefined,
|
||||||
|
headerNo: undefined
|
||||||
|
})
|
||||||
|
const queryFormRef = ref() // 搜索的表单
|
||||||
|
|
||||||
|
/** 查询列表 */
|
||||||
|
const getList = async () => {
|
||||||
|
loading.value = true
|
||||||
|
try {
|
||||||
|
const data = await StorageLogApi.getStorageLogPage(queryParams)
|
||||||
|
list.value = data.list
|
||||||
|
total.value = data.total
|
||||||
|
} finally {
|
||||||
|
loading.value = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 搜索按钮操作 */
|
||||||
|
const handleQuery = () => {
|
||||||
|
queryParams.pageNo = 1
|
||||||
|
getList()
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 重置按钮操作 */
|
||||||
|
const resetQuery = () => {
|
||||||
|
queryFormRef.value.resetFields()
|
||||||
|
handleQuery()
|
||||||
|
}
|
||||||
|
//仓库列表
|
||||||
|
const init_page_wh = (async ()=>{
|
||||||
|
whList.value = await WarehouseApi.getSimpList()
|
||||||
|
})
|
||||||
|
// //库区列表
|
||||||
|
// const init_page_rg = (async ()=>{
|
||||||
|
// rgList.value = await RgApi.getSimpList()
|
||||||
|
// })
|
||||||
|
// //库位列表
|
||||||
|
// const init_page_pn = (async ()=>{
|
||||||
|
// pnList.value = await PnApi.getSimpList()
|
||||||
|
// })
|
||||||
|
|
||||||
|
/** 初始化 **/
|
||||||
|
onMounted(async () => {
|
||||||
|
await init_page_wh()
|
||||||
|
// await init_page_rg()
|
||||||
|
// await init_page_pn()
|
||||||
|
await getList()
|
||||||
|
})
|
||||||
|
</script>
|
Loading…
Reference in New Issue
Block a user