装配派工单修改责任人选择为装配车间的人

This commit is contained in:
z 2025-04-28 16:36:08 +08:00
parent ebccf3485c
commit 97ef19ccde
6 changed files with 196 additions and 157 deletions

View File

@ -1,95 +1,113 @@
package com.chanko.yunxi.mes.module.heli.controller.admin.procedure;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import javax.validation.constraints.*;
import javax.validation.*;
import javax.servlet.http.*;
import java.util.*;
import java.io.IOException;
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success;
import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils;
import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog;
import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*;
import com.chanko.yunxi.mes.module.heli.controller.admin.procedure.vo.*;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.procedure.ProcedureDO;
import com.chanko.yunxi.mes.module.heli.service.procedure.ProcedureService;
@Tag(name = "管理后台 - 工序")
@RestController
@RequestMapping("/heli/procedure")
@Validated
public class ProcedureController {
@Resource
private ProcedureService procedureService;
@PostMapping("/create")
@Operation(summary = "创建工序")
@PreAuthorize("@ss.hasPermission('heli:procedure:create')")
public CommonResult<Long> createProcedure(@Valid @RequestBody ProcedureSaveReqVO createReqVO) {
return success(procedureService.createProcedure(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新工序")
@PreAuthorize("@ss.hasPermission('heli:procedure:update')")
public CommonResult<Boolean> updateProcedure(@Valid @RequestBody ProcedureSaveReqVO updateReqVO) {
procedureService.updateProcedure(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除工序")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('heli:procedure:delete')")
public CommonResult<Boolean> deleteProcedure(@RequestParam("id") Long id) {
procedureService.deleteProcedure(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得工序")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('heli:procedure:query')")
public CommonResult<ProcedureRespVO> getProcedure(@RequestParam("id") Long id) {
ProcedureDO procedure = procedureService.getProcedure(id);
return success(BeanUtils.toBean(procedure, ProcedureRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得工序分页")
@PreAuthorize("@ss.hasPermission('heli:procedure:query')")
public CommonResult<PageResult<ProcedureRespVO>> getProcedurePage(@Valid ProcedurePageReqVO pageReqVO) {
PageResult<ProcedureDO> pageResult = procedureService.getProcedurePage(pageReqVO);
return success(BeanUtils.toBean(pageResult, ProcedureRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出工序 Excel")
@PreAuthorize("@ss.hasPermission('heli:procedure:export')")
@OperateLog(type = EXPORT)
public void exportProcedureExcel(@Valid ProcedurePageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<ProcedureDO> list = procedureService.getProcedurePage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "工序.xls", "数据", ProcedureRespVO.class,
BeanUtils.toBean(list, ProcedureRespVO.class));
}
}
package com.chanko.yunxi.mes.module.heli.controller.admin.procedure;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.chanko.yunxi.mes.module.heli.controller.admin.workshop.WorkshopController;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.workshop.WorkshopDO;
import com.chanko.yunxi.mes.module.heli.dal.mysql.workshop.WorkshopMapper;
import com.chanko.yunxi.mes.module.heli.service.workshop.WorkshopService;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import javax.validation.constraints.*;
import javax.validation.*;
import javax.servlet.http.*;
import java.util.*;
import java.io.IOException;
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success;
import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils;
import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog;
import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*;
import com.chanko.yunxi.mes.module.heli.controller.admin.procedure.vo.*;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.procedure.ProcedureDO;
import com.chanko.yunxi.mes.module.heli.service.procedure.ProcedureService;
@Tag(name = "管理后台 - 工序")
@RestController
@RequestMapping("/heli/procedure")
@Validated
public class ProcedureController {
@Resource
private ProcedureService procedureService;
@Resource
private WorkshopMapper workshopMapper;
@PostMapping("/create")
@Operation(summary = "创建工序")
@PreAuthorize("@ss.hasPermission('heli:procedure:create')")
public CommonResult<Long> createProcedure(@Valid @RequestBody ProcedureSaveReqVO createReqVO) {
return success(procedureService.createProcedure(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新工序")
@PreAuthorize("@ss.hasPermission('heli:procedure:update')")
public CommonResult<Boolean> updateProcedure(@Valid @RequestBody ProcedureSaveReqVO updateReqVO) {
procedureService.updateProcedure(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除工序")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('heli:procedure:delete')")
public CommonResult<Boolean> deleteProcedure(@RequestParam("id") Long id) {
procedureService.deleteProcedure(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得工序")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('heli:procedure:query')")
public CommonResult<ProcedureRespVO> getProcedure(@RequestParam("id") Long id) {
ProcedureDO procedure = procedureService.getProcedure(id);
return success(BeanUtils.toBean(procedure, ProcedureRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得工序分页")
@PreAuthorize("@ss.hasPermission('heli:procedure:query')")
public CommonResult<PageResult<ProcedureRespVO>> getProcedurePage(@Valid ProcedurePageReqVO pageReqVO) {
PageResult<ProcedureDO> pageResult = procedureService.getProcedurePage(pageReqVO);
return success(BeanUtils.toBean(pageResult, ProcedureRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出工序 Excel")
@PreAuthorize("@ss.hasPermission('heli:procedure:export')")
@OperateLog(type = EXPORT)
public void exportProcedureExcel(@Valid ProcedurePageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<ProcedureDO> list = procedureService.getProcedurePage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "工序.xls", "数据", ProcedureRespVO.class,
BeanUtils.toBean(list, ProcedureRespVO.class));
}
@GetMapping("/getProcedureZPage")
@Operation(summary = "获得装配车间工序分页")
@PreAuthorize("@ss.hasPermission('heli:procedure:query')")
public CommonResult<List<ProcedureDO>> getProcedureZPage() {
WorkshopDO workshopDO = workshopMapper.selectOne(new LambdaQueryWrapper<WorkshopDO>().eq(WorkshopDO::getDeleted, 0).eq(WorkshopDO::getName, "装配车间"));
if (ObjectUtil.isNotEmpty(workshopDO)){
return success(procedureService.getProcedureZPage(workshopDO.getId()));
}
return success(null);
}
}

View File

@ -203,6 +203,9 @@ public class PlanSubDO extends BaseDO {
* */
@TableField(exist = false)
private LocalDateTime changeEndTime;
@TableField(exist = false)
private String businessLine;
@TableField(exist = false)
private int projectMonth;
}

View File

@ -1,55 +1,56 @@
package com.chanko.yunxi.mes.module.heli.service.procedure;
import java.util.*;
import javax.validation.*;
import com.chanko.yunxi.mes.module.heli.controller.admin.procedure.vo.*;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.procedure.ProcedureDO;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
/**
* 工序 Service 接口
*
* @author 管理员
*/
public interface ProcedureService {
/**
* 创建工序
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createProcedure(@Valid ProcedureSaveReqVO createReqVO);
/**
* 更新工序
*
* @param updateReqVO 更新信息
*/
void updateProcedure(@Valid ProcedureSaveReqVO updateReqVO);
/**
* 删除工序
*
* @param id 编号
*/
void deleteProcedure(Long id);
/**
* 获得工序
*
* @param id 编号
* @return 工序
*/
ProcedureDO getProcedure(Long id);
/**
* 获得工序分页
*
* @param pageReqVO 分页查询
* @return 工序分页
*/
PageResult<ProcedureDO> getProcedurePage(ProcedurePageReqVO pageReqVO);
}
package com.chanko.yunxi.mes.module.heli.service.procedure;
import java.util.*;
import javax.validation.*;
import com.chanko.yunxi.mes.module.heli.controller.admin.procedure.vo.*;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.procedure.ProcedureDO;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
/**
* 工序 Service 接口
*
* @author 管理员
*/
public interface ProcedureService {
/**
* 创建工序
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createProcedure(@Valid ProcedureSaveReqVO createReqVO);
/**
* 更新工序
*
* @param updateReqVO 更新信息
*/
void updateProcedure(@Valid ProcedureSaveReqVO updateReqVO);
/**
* 删除工序
*
* @param id 编号
*/
void deleteProcedure(Long id);
/**
* 获得工序
*
* @param id 编号
* @return 工序
*/
ProcedureDO getProcedure(Long id);
/**
* 获得工序分页
*
* @param pageReqVO 分页查询
* @return 工序分页
*/
PageResult<ProcedureDO> getProcedurePage(ProcedurePageReqVO pageReqVO);
List<ProcedureDO> getProcedureZPage(Long id);
}

View File

@ -1,6 +1,7 @@
package com.chanko.yunxi.mes.module.heli.service.procedure;
import cn.hutool.core.lang.UUID;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@ -78,4 +79,9 @@ public class ProcedureServiceImpl implements ProcedureService {
return procedureMapper.selectPage(pageReqVO);
}
@Override
public List<ProcedureDO> getProcedureZPage(Long id) {
return procedureMapper.selectList(new LambdaQueryWrapper<ProcedureDO>().eq(ProcedureDO::getWid, id));
}
}

View File

@ -17,7 +17,10 @@ export interface ProcedureVO {
export const getProcedurePage = async (params) => {
return await request.get({ url: `/heli/procedure/page`, params })
}
// 查询装配车间工序分页
export const getProcedureZPage = async () => {
return await request.get({ url: `/heli/procedure/getProcedureZPage`})
}
// 查询工序详情
export const getProcedure = async (id: number) => {
return await request.get({ url: `/heli/procedure/get?id=` + id })

View File

@ -259,11 +259,17 @@ ref="subFormRef" :model="formData.taskDispatchDetails" :rules="subFormRules"
<template #header> <span class="hl-table_header">*</span>工序名称</template>
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.procedureId`" :rules="subFormRules.procedureId" class="mb-0px!">
<ProcedureSelect
:disabled="detailDisabled || row.procedureStatus != 0"
v-model="row.procedureId"
@update:new-value="(val) => { handleSelectedProcedure(row, val); }" />
<!-- <ProcedureSelect-->
<!--:disabled="detailDisabled || row.procedureStatus != 0"-->
<!-- v-model="row.procedureId"-->
<!-- @update:new-value="(val) => { handleSelectedProcedure(row, val); }" />-->
<el-select v-model="row.procedureId" :disabled="detailDisabled || row.procedureStatus != 0" @update:new-value="(val) => { handleSelectedProcedure(row, val); }">
<el-option
v-for="dict in procedureList" :key="dict.id"
:label="dict.name" :value="dict.id" />
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column label="是否报工" prop="isReport" width="100">
@ -289,7 +295,7 @@ min="0" :precision="0" class="!w-240px"
<!-- <UserSelect-->
<!--v-model="row.owner" :disabled="detailDisabled || row.procedureStatus != 0"-->
<!-- @update:new-value="handleSelectedUser($index, $event)" />-->
<el-select v-model="row.owner" :disabled="detailDisabled || (row.beginProduce != 0 && row.procedureStatus != 0)" @update:new-value="handleSelectedUser($index, $event)">
<el-select v-model="row.owner" filterable :disabled="detailDisabled || (row.beginProduce != 0 && row.procedureStatus != 0)" @update:new-value="handleSelectedUser($index, $event)">
<el-option
v-for="dict in userInit" :key="dict.id"
:label="dict.username+' '+dict.nickname" :value="dict.id" />
@ -679,6 +685,7 @@ const taskDD = ref(null);
//let manufactuId = null;
//let maxLongtime = null;
const userInit = ref()
const procedureList = ref()
let watches = [];
//
@ -1042,6 +1049,7 @@ onMounted(async () => {
detailDisabled.value = true
}
userInit.value = await UserApi.getDeptName("生产部")
procedureList.value = await ProcedureApi.getProcedureZPage()
queryData(currentId.value)
const data = await ProcedureApi.getProcedurePage(queryParams)
procedureSelectList.value=data