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

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; package com.chanko.yunxi.mes.module.heli.controller.admin.procedure;
import org.springframework.web.bind.annotation.*; import cn.hutool.core.util.ObjectUtil;
import javax.annotation.Resource; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.springframework.validation.annotation.Validated; import com.chanko.yunxi.mes.module.heli.controller.admin.workshop.WorkshopController;
import org.springframework.security.access.prepost.PreAuthorize; import com.chanko.yunxi.mes.module.heli.dal.dataobject.workshop.WorkshopDO;
import io.swagger.v3.oas.annotations.tags.Tag; import com.chanko.yunxi.mes.module.heli.dal.mysql.workshop.WorkshopMapper;
import io.swagger.v3.oas.annotations.Parameter; import com.chanko.yunxi.mes.module.heli.service.workshop.WorkshopService;
import io.swagger.v3.oas.annotations.Operation; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.constraints.*; import org.springframework.validation.annotation.Validated;
import javax.validation.*; import org.springframework.security.access.prepost.PreAuthorize;
import javax.servlet.http.*; import io.swagger.v3.oas.annotations.tags.Tag;
import java.util.*; import io.swagger.v3.oas.annotations.Parameter;
import java.io.IOException; import io.swagger.v3.oas.annotations.Operation;
import com.chanko.yunxi.mes.framework.common.pojo.PageParam; import javax.validation.constraints.*;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import javax.validation.*;
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult; import javax.servlet.http.*;
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; import java.util.*;
import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success; import java.io.IOException;
import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils; import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog; import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*; 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.module.heli.controller.admin.procedure.vo.*;
import com.chanko.yunxi.mes.module.heli.dal.dataobject.procedure.ProcedureDO; import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils;
import com.chanko.yunxi.mes.module.heli.service.procedure.ProcedureService;
import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog;
@Tag(name = "管理后台 - 工序") import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*;
@RestController
@RequestMapping("/heli/procedure") import com.chanko.yunxi.mes.module.heli.controller.admin.procedure.vo.*;
@Validated import com.chanko.yunxi.mes.module.heli.dal.dataobject.procedure.ProcedureDO;
public class ProcedureController { import com.chanko.yunxi.mes.module.heli.service.procedure.ProcedureService;
@Resource @Tag(name = "管理后台 - 工序")
private ProcedureService procedureService; @RestController
@RequestMapping("/heli/procedure")
@PostMapping("/create") @Validated
@Operation(summary = "创建工序") public class ProcedureController {
@PreAuthorize("@ss.hasPermission('heli:procedure:create')")
public CommonResult<Long> createProcedure(@Valid @RequestBody ProcedureSaveReqVO createReqVO) { @Resource
return success(procedureService.createProcedure(createReqVO)); private ProcedureService procedureService;
} @Resource
private WorkshopMapper workshopMapper;
@PutMapping("/update")
@Operation(summary = "更新工序")
@PreAuthorize("@ss.hasPermission('heli:procedure:update')") @PostMapping("/create")
public CommonResult<Boolean> updateProcedure(@Valid @RequestBody ProcedureSaveReqVO updateReqVO) { @Operation(summary = "创建工序")
procedureService.updateProcedure(updateReqVO); @PreAuthorize("@ss.hasPermission('heli:procedure:create')")
return success(true); public CommonResult<Long> createProcedure(@Valid @RequestBody ProcedureSaveReqVO createReqVO) {
} return success(procedureService.createProcedure(createReqVO));
}
@DeleteMapping("/delete")
@Operation(summary = "删除工序") @PutMapping("/update")
@Parameter(name = "id", description = "编号", required = true) @Operation(summary = "更新工序")
@PreAuthorize("@ss.hasPermission('heli:procedure:delete')") @PreAuthorize("@ss.hasPermission('heli:procedure:update')")
public CommonResult<Boolean> deleteProcedure(@RequestParam("id") Long id) { public CommonResult<Boolean> updateProcedure(@Valid @RequestBody ProcedureSaveReqVO updateReqVO) {
procedureService.deleteProcedure(id); procedureService.updateProcedure(updateReqVO);
return success(true); return success(true);
} }
@GetMapping("/get") @DeleteMapping("/delete")
@Operation(summary = "获得工序") @Operation(summary = "删除工序")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('heli:procedure:query')") @PreAuthorize("@ss.hasPermission('heli:procedure:delete')")
public CommonResult<ProcedureRespVO> getProcedure(@RequestParam("id") Long id) { public CommonResult<Boolean> deleteProcedure(@RequestParam("id") Long id) {
ProcedureDO procedure = procedureService.getProcedure(id); procedureService.deleteProcedure(id);
return success(BeanUtils.toBean(procedure, ProcedureRespVO.class)); return success(true);
} }
@GetMapping("/page") @GetMapping("/get")
@Operation(summary = "获得工序分页") @Operation(summary = "获得工序")
@PreAuthorize("@ss.hasPermission('heli:procedure:query')") @Parameter(name = "id", description = "编号", required = true, example = "1024")
public CommonResult<PageResult<ProcedureRespVO>> getProcedurePage(@Valid ProcedurePageReqVO pageReqVO) { @PreAuthorize("@ss.hasPermission('heli:procedure:query')")
PageResult<ProcedureDO> pageResult = procedureService.getProcedurePage(pageReqVO); public CommonResult<ProcedureRespVO> getProcedure(@RequestParam("id") Long id) {
return success(BeanUtils.toBean(pageResult, ProcedureRespVO.class)); ProcedureDO procedure = procedureService.getProcedure(id);
} return success(BeanUtils.toBean(procedure, ProcedureRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出工序 Excel") @GetMapping("/page")
@PreAuthorize("@ss.hasPermission('heli:procedure:export')") @Operation(summary = "获得工序分页")
@OperateLog(type = EXPORT) @PreAuthorize("@ss.hasPermission('heli:procedure:query')")
public void exportProcedureExcel(@Valid ProcedurePageReqVO pageReqVO, public CommonResult<PageResult<ProcedureRespVO>> getProcedurePage(@Valid ProcedurePageReqVO pageReqVO) {
HttpServletResponse response) throws IOException { PageResult<ProcedureDO> pageResult = procedureService.getProcedurePage(pageReqVO);
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); return success(BeanUtils.toBean(pageResult, ProcedureRespVO.class));
List<ProcedureDO> list = procedureService.getProcedurePage(pageReqVO).getList(); }
// 导出 Excel
ExcelUtils.write(response, "工序.xls", "数据", ProcedureRespVO.class, @GetMapping("/export-excel")
BeanUtils.toBean(list, ProcedureRespVO.class)); @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) @TableField(exist = false)
private LocalDateTime changeEndTime; 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; package com.chanko.yunxi.mes.module.heli.service.procedure;
import java.util.*; import java.util.*;
import javax.validation.*; import javax.validation.*;
import com.chanko.yunxi.mes.module.heli.controller.admin.procedure.vo.*; 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.dal.dataobject.procedure.ProcedureDO;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.framework.common.pojo.PageParam; import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
/** /**
* 工序 Service 接口 * 工序 Service 接口
* *
* @author 管理员 * @author 管理员
*/ */
public interface ProcedureService { public interface ProcedureService {
/** /**
* 创建工序 * 创建工序
* *
* @param createReqVO 创建信息 * @param createReqVO 创建信息
* @return 编号 * @return 编号
*/ */
Long createProcedure(@Valid ProcedureSaveReqVO createReqVO); Long createProcedure(@Valid ProcedureSaveReqVO createReqVO);
/** /**
* 更新工序 * 更新工序
* *
* @param updateReqVO 更新信息 * @param updateReqVO 更新信息
*/ */
void updateProcedure(@Valid ProcedureSaveReqVO updateReqVO); void updateProcedure(@Valid ProcedureSaveReqVO updateReqVO);
/** /**
* 删除工序 * 删除工序
* *
* @param id 编号 * @param id 编号
*/ */
void deleteProcedure(Long id); void deleteProcedure(Long id);
/** /**
* 获得工序 * 获得工序
* *
* @param id 编号 * @param id 编号
* @return 工序 * @return 工序
*/ */
ProcedureDO getProcedure(Long id); ProcedureDO getProcedure(Long id);
/** /**
* 获得工序分页 * 获得工序分页
* *
* @param pageReqVO 分页查询 * @param pageReqVO 分页查询
* @return 工序分页 * @return 工序分页
*/ */
PageResult<ProcedureDO> getProcedurePage(ProcedurePageReqVO pageReqVO); 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; package com.chanko.yunxi.mes.module.heli.service.procedure;
import cn.hutool.core.lang.UUID; import cn.hutool.core.lang.UUID;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -78,4 +79,9 @@ public class ProcedureServiceImpl implements ProcedureService {
return procedureMapper.selectPage(pageReqVO); 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) => { export const getProcedurePage = async (params) => {
return await request.get({ url: `/heli/procedure/page`, 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) => { export const getProcedure = async (id: number) => {
return await request.get({ url: `/heli/procedure/get?id=` + id }) 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 #header> <span class="hl-table_header">*</span>工序名称</template>
<template #default="{ row, $index }"> <template #default="{ row, $index }">
<el-form-item :prop="`${$index}.procedureId`" :rules="subFormRules.procedureId" class="mb-0px!"> <el-form-item :prop="`${$index}.procedureId`" :rules="subFormRules.procedureId" class="mb-0px!">
<ProcedureSelect <!-- <ProcedureSelect-->
:disabled="detailDisabled || row.procedureStatus != 0" <!--:disabled="detailDisabled || row.procedureStatus != 0"-->
v-model="row.procedureId" <!-- v-model="row.procedureId"-->
@update:new-value="(val) => { handleSelectedProcedure(row, val); }" /> <!-- @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> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="是否报工" prop="isReport" width="100"> <el-table-column label="是否报工" prop="isReport" width="100">
@ -289,7 +295,7 @@ min="0" :precision="0" class="!w-240px"
<!-- <UserSelect--> <!-- <UserSelect-->
<!--v-model="row.owner" :disabled="detailDisabled || row.procedureStatus != 0"--> <!--v-model="row.owner" :disabled="detailDisabled || row.procedureStatus != 0"-->
<!-- @update:new-value="handleSelectedUser($index, $event)" />--> <!-- @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 <el-option
v-for="dict in userInit" :key="dict.id" v-for="dict in userInit" :key="dict.id"
:label="dict.username+' '+dict.nickname" :value="dict.id" /> :label="dict.username+' '+dict.nickname" :value="dict.id" />
@ -679,6 +685,7 @@ const taskDD = ref(null);
//let manufactuId = null; //let manufactuId = null;
//let maxLongtime = null; //let maxLongtime = null;
const userInit = ref() const userInit = ref()
const procedureList = ref()
let watches = []; let watches = [];
// //
@ -1042,6 +1049,7 @@ onMounted(async () => {
detailDisabled.value = true detailDisabled.value = true
} }
userInit.value = await UserApi.getDeptName("生产部") userInit.value = await UserApi.getDeptName("生产部")
procedureList.value = await ProcedureApi.getProcedureZPage()
queryData(currentId.value) queryData(currentId.value)
const data = await ProcedureApi.getProcedurePage(queryParams) const data = await ProcedureApi.getProcedurePage(queryParams)
procedureSelectList.value=data procedureSelectList.value=data