零件采购
This commit is contained in:
parent
9c4a1f5e3d
commit
1a14def1db
@ -199,4 +199,18 @@ public class MaterialPlanController {
|
||||
public CommonResult<Boolean> delMaterial(@RequestParam("id") Long id) {
|
||||
return materialPlanService.delMaterial(id);
|
||||
}
|
||||
|
||||
// @PostMapping("/getPartPurchasePages")
|
||||
// @Operation(summary = "获得零件采购分页")
|
||||
// public CommonResult<PageResult<MaterialPlanBoomDO>> getPartPurchasePages(@Valid @RequestBody MaterialPlanPageReqVO pageReqVO) {
|
||||
// PageResult<MaterialPlanBoomDO> pageResult = materialPlanService.getPartPurchasePages(pageReqVO);
|
||||
// return success(pageResult);
|
||||
// }
|
||||
|
||||
@GetMapping("/getPartPurchasePages")
|
||||
@Operation(summary = "获得零件采购分页")
|
||||
public CommonResult<PageResult<MaterialPlanBoomDO>> getPartPurchasePages() {
|
||||
String a ="asdij";
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@ -69,5 +69,11 @@ public class MaterialPlanPageReqVO extends PageParam {
|
||||
@Schema(description = "制单日期")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] matPlanDate;
|
||||
@Schema(description = "物料名称")
|
||||
private String matName;
|
||||
@Schema(description = "零件采购需求状态(0-待送审 1 -已送审 2-已批准 3-已打回)")
|
||||
private Integer mplanStatus;
|
||||
@Schema(description = "责任人")
|
||||
private String duEmpName;
|
||||
|
||||
}
|
@ -162,4 +162,15 @@ public class MaterialPlanBoomDO extends BaseDO {
|
||||
private String customerBriefName;
|
||||
@TableField(exist = false)
|
||||
private String boomArriveDates;
|
||||
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String unit;
|
||||
/**
|
||||
* 责任人姓名
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String duEmpName;
|
||||
}
|
||||
|
@ -192,6 +192,35 @@ public interface MaterialPlanBoomMapper extends BaseMapperX<MaterialPlanBoomDO>
|
||||
return selectPage(pageReqVO, query);
|
||||
}
|
||||
|
||||
|
||||
default PageResult<MaterialPlanBoomDO> getPartsPages(MaterialPlanPageReqVO pageReqVO){
|
||||
MPJLambdaWrapper<MaterialPlanBoomDO> query = new MPJLambdaWrapper<>();
|
||||
query.selectAll(MaterialPlanBoomDO.class)
|
||||
.select("p.project_name as projectName","p.name as projectSubName")
|
||||
.select("d.blueprint_no as blueprintNo","d.unit as unit")
|
||||
.select("a.nickname as duEmpName","c.name as procedureName","e.name as compositionName")
|
||||
.select(MaterialPlanDO::getBrief)
|
||||
.leftJoin(MaterialPlanDO.class, "p", MaterialPlanDO::getId,MaterialPlanBoomDO::getProjectMaterialPlanId)
|
||||
.leftJoin(ProcessBomDetailDO.class,"d",ProcessBomDetailDO::getId,MaterialPlanBoomDO::getBoomDetailId)
|
||||
.leftJoin(AdminUserDO.class, "a", AdminUserDO::getId, MaterialPlanBoomDO::getDuEmpId)
|
||||
.leftJoin(ProcedureDO.class, "c", ProcedureDO::getId, MaterialPlanBoomDO::getProcedureId)
|
||||
.leftJoin(CompositionDO.class, "e", CompositionDO::getId, ProcessBomDetailDO::getCompositionId)
|
||||
.disableSubLogicDel();
|
||||
query
|
||||
.like(!StringUtils.isEmpty(pageReqVO.getProjectName()),MaterialPlanDO::getProjectName, pageReqVO.getProjectName())
|
||||
.like(!StringUtils.isEmpty(pageReqVO.getProjectSubName()), MaterialPlanDO::getName, pageReqVO.getProjectSubName())
|
||||
.like(!StringUtils.isEmpty(pageReqVO.getMaterialName()), MaterialPlanBoomDO::getMatName, pageReqVO.getMaterialName())
|
||||
.like(!StringUtils.isEmpty(pageReqVO.getMatName()), MaterialPlanBoomDO::getMatName, pageReqVO.getMatName())
|
||||
.like(!StringUtils.isEmpty(pageReqVO.getProjectCode()), ProjectOrderDO::getCode, pageReqVO.getProjectCode())
|
||||
.like(!StringUtils.isEmpty(pageReqVO.getDuEmpName()), AdminUserDO::getNickname, pageReqVO.getDuEmpName())
|
||||
.eq(!StringUtils.isEmpty(pageReqVO.getMatType()), MaterialPlanDO::getMatType, pageReqVO.getMatType())
|
||||
.eq(!StringUtils.isEmpty(pageReqVO.getStatus()), MaterialPlanBoomDO::getIsPurYard, pageReqVO.getStatus())
|
||||
.eq(Objects.nonNull(pageReqVO.getMplanStatus()), MaterialPlanBoomDO::getMplanStatus, pageReqVO.getMplanStatus())
|
||||
.eq(Objects.nonNull(pageReqVO.getProjectMaterialPlanNo()), MaterialPlanDO::getProjectMaterialPlanNo, pageReqVO.getProjectMaterialPlanNo());
|
||||
return selectPage(pageReqVO, query);
|
||||
}
|
||||
|
||||
|
||||
// default PageResult<MaterialPlanBoomDO> selectPage(MaterialPlanBoomPageReqVO reqVO) {
|
||||
// return selectPage(reqVO, new LambdaQueryWrapperX<MaterialPlanBoomDO>()
|
||||
// .eqIfPresent(MaterialPlanBoomDO::getId, reqVO.getId())
|
||||
|
@ -80,4 +80,6 @@ public interface MaterialPlanService {
|
||||
Boolean supplement(List<StorageLogNowDO> list);
|
||||
|
||||
CommonResult<Boolean> delMaterial(Long id);
|
||||
|
||||
PageResult<MaterialPlanBoomDO> getPartPurchasePages(MaterialPlanPageReqVO pageReqVO);
|
||||
}
|
||||
|
@ -425,4 +425,9 @@ public class MaterialPlanServiceImpl implements MaterialPlanService {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<MaterialPlanBoomDO> getPartPurchasePages(MaterialPlanPageReqVO pageReqVO) {
|
||||
return materialPlanBoomMapper.getPartsPages(pageReqVO);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -94,3 +94,13 @@ export const supplement = async (data) => {
|
||||
export const delMaterial = async (id: number) => {
|
||||
return await request.delete({ url: `/heli/material-plan/delMaterial?id=` + id })
|
||||
}
|
||||
|
||||
// // 查询零件采购分页
|
||||
// export const getPartPurchasePages = async (params) => {
|
||||
// return await request.post({ url: `/heli/material-plan/getPartPurchasePages`, params })
|
||||
// }
|
||||
|
||||
// 更新采购单主驳回
|
||||
export const getPartPurchasePages = async () => {
|
||||
return await request.get({ url: `/heli/material-plan/getPartPurchasePage` })
|
||||
}
|
||||
|
@ -12,17 +12,17 @@
|
||||
<el-form-item label="子项目名称" prop="projectSubName">
|
||||
<el-input v-model="queryParams.projectSubName" placeholder="请输入子项目名称" clearable @keyup.enter="handleQuery" class="!w-240px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="零件名称" prop="materialName">
|
||||
<el-input v-model="queryParams.materialName" placeholder="请输入零件名称" clearable @keyup.enter="handleQuery" class="!w-240px" />
|
||||
<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="projectCode">
|
||||
<el-input v-model="queryParams.projectCode" placeholder="请输入项目编号" clearable @keyup.enter="handleQuery" class="!w-240px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="责任人" prop="ownerName">
|
||||
<el-input v-model="queryParams.ownerName" placeholder="请输入责任人" clearable @keyup.enter="handleQuery" class="!w-240px"/>
|
||||
<el-form-item label="责任人" prop="duEmpName">
|
||||
<el-input v-model="queryParams.duEmpName" placeholder="请输入责任人" clearable @keyup.enter="handleQuery" class="!w-240px"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="采购状态" prop="status">
|
||||
<el-select v-model="queryParams.status" placeholder="请选择采购状态" clearable class="!w-240px">
|
||||
<el-form-item label="采购状态" prop="mplanStatus">
|
||||
<el-select v-model="queryParams.mplanStatus" placeholder="请选择采购状态" clearable class="!w-240px">
|
||||
<el-option v-for="dict in getIntDictOptions(DICT_TYPE.MATERIAL_PLAN_BOOM_MPLAN_STATUS)" :key="dict.value" :label="dict.label" :value="dict.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@ -71,25 +71,14 @@
|
||||
</el-table-column>
|
||||
<el-table-column label="客户简称" align="center" prop="brief" min-width="180" />
|
||||
<el-table-column label="项目名称" align="center" prop="projectName" min-width="180" />
|
||||
<el-table-column label="零件名称" align="center" prop="boomName" min-width="180" />
|
||||
<el-table-column label="材质" align="center" prop="composition" min-width="120" />
|
||||
<el-table-column label="采购数量" align="center" prop="purchaseAmount" min-width="120" />
|
||||
<el-table-column label="计划到货日期" align="center" prop="arriveTime" :formatter="dateFormatter1" min-width="120" />
|
||||
<el-table-column label="供应商" align="center" prop="supplierName" min-width="180" />
|
||||
<el-table-column label="技术要求" align="center" prop="description" min-width="180" />
|
||||
<el-table-column label="理论重量" align="center" prop="theWeight" min-width="100" />
|
||||
<el-table-column label="价格" align="center" prop="estimatedPrice" min-width="100" />
|
||||
<el-table-column label="订单状态" align="center" prop="orderStatus" min-width="100" >
|
||||
<template #default="scope">
|
||||
{{
|
||||
getIntDictOptions(DICT_TYPE.PART_PURCHASE_STATUS).find(
|
||||
(dict) => dict.value === scope.row.orderStatus
|
||||
)?.label || '未知状态'
|
||||
}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="采购订单号" align="center" prop="purchaseNo" min-width="180" />
|
||||
<el-table-column label="责任人" align="center" prop="duEmpName" min-width="100" />
|
||||
<el-table-column label="零件名称" align="center" prop="matName" min-width="180" />
|
||||
<el-table-column label="材质" align="center" prop="compositionName" min-width="120" />
|
||||
<el-table-column label="图号" align="center" prop="blueprintNo" min-width="120" />
|
||||
<el-table-column label="需求数量" align="center" prop="boomAmount" min-width="120" />
|
||||
<el-table-column label="单位" align="center" prop="unit" min-width="120" />
|
||||
<el-table-column label="责任人" align="center" prop="duEmpName" min-width="120" />
|
||||
<el-table-column label="状态" align="center" prop="mplanStatus" min-width="120" />
|
||||
<el-table-column label="采购单号" align="center" prop="purchaseNo" min-width="120" />
|
||||
</el-table>
|
||||
<!-- 分页 -->
|
||||
<Pagination :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize" @pagination="getList" />
|
||||
@ -112,6 +101,7 @@ import * as PartPurchaseOrderApi from "@/api/heli/partpurchaseorder";
|
||||
import {ElTable} from "element-plus";
|
||||
import {useUserStore} from "@/store/modules/user";
|
||||
import {dateFormatter1} from "@/utils/formatTime";
|
||||
import {getPartPurchasePages} from "@/api/heli/materialplan";
|
||||
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
||||
|
||||
defineOptions({ name: 'standard' })
|
||||
@ -140,10 +130,11 @@ const queryParams = reactive({
|
||||
version: undefined,
|
||||
bomStatus: undefined,
|
||||
remark: undefined,
|
||||
status: 1,
|
||||
mplanStatus: 0,
|
||||
createTime: [],
|
||||
ownerName:username,
|
||||
duEmpName:username,
|
||||
materialName:undefined,
|
||||
matName:undefined,
|
||||
projectMaterialPlanNo:undefined,
|
||||
})
|
||||
const queryFormRef = ref() // 搜索的表单
|
||||
@ -153,9 +144,10 @@ const exportLoading = ref(false) // 导出的加载中
|
||||
const getList = async () => {
|
||||
loading.value = true
|
||||
try {
|
||||
const data = await PartPurchaseOrderApi.getPartPage(queryParams)
|
||||
list.value = data.list
|
||||
total.value = data.total
|
||||
// const data = await MaterialPlanApi.getPartPurchasePages(queryParams)
|
||||
// list.value = data.list
|
||||
// total.value = data.total
|
||||
await MaterialPlanApi.getPartPurchasePages()
|
||||
} finally {
|
||||
loading.value = false
|
||||
}
|
||||
@ -219,22 +211,6 @@ const submitForm = async () => {
|
||||
return;
|
||||
}
|
||||
|
||||
// // 3. 校验每个零件
|
||||
// for (const item of list) {
|
||||
// if (item.projectMaterialPlanNo) {
|
||||
// message.error(`工序${item.procedureName}中零件 ${item.materialName} 已生成物料需求计划,请确认`);
|
||||
// return;
|
||||
// }
|
||||
// if (!item.boomArriveDate) { // 注意:原代码是 boomArriveDate,确保拼写正确
|
||||
// message.error(`工序${item.procedureName}中零件 ${item.materialName} 要求完成日期为空,请确认`);
|
||||
// return;
|
||||
// }
|
||||
// if (!item.duEmpId) {
|
||||
// message.error(`工序${item.procedureName}中零件 ${item.materialName} 责任人为空,请确认`);
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
|
||||
// 4. 添加加载状态(Element Plus 兼容处理)
|
||||
formLoading.value = true;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user