|
|
@ -1,106 +1,136 @@
|
|
|
|
package com.chanko.yunxi.mes.module.heli.controller.admin.processbom;
|
|
|
|
package com.chanko.yunxi.mes.module.heli.controller.admin.processbom;
|
|
|
|
|
|
|
|
|
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
|
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
|
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
|
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
|
|
|
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
|
|
import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils;
|
|
|
|
import io.swagger.v3.oas.annotations.Parameter;
|
|
|
|
import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog;
|
|
|
|
import io.swagger.v3.oas.annotations.Operation;
|
|
|
|
import com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum;
|
|
|
|
|
|
|
|
import com.chanko.yunxi.mes.framework.operatelog.core.service.OperateLogFrameworkService;
|
|
|
|
import javax.validation.constraints.*;
|
|
|
|
import com.chanko.yunxi.mes.module.heli.controller.admin.processbom.vo.ProcessBomPageReqVO;
|
|
|
|
import javax.validation.*;
|
|
|
|
import com.chanko.yunxi.mes.module.heli.controller.admin.processbom.vo.ProcessBomRespVO;
|
|
|
|
import javax.servlet.http.*;
|
|
|
|
import com.chanko.yunxi.mes.module.heli.controller.admin.processbom.vo.ProcessBomSaveReqVO;
|
|
|
|
import java.util.*;
|
|
|
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDO;
|
|
|
|
import java.io.IOException;
|
|
|
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbomdetail.ProcessBomDetailDO;
|
|
|
|
|
|
|
|
import com.chanko.yunxi.mes.module.heli.enums.BusinesTypeEnum;
|
|
|
|
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
|
|
|
import com.chanko.yunxi.mes.module.heli.service.processbom.ProcessBomService;
|
|
|
|
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
|
|
|
import io.swagger.v3.oas.annotations.Operation;
|
|
|
|
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
|
|
|
|
import io.swagger.v3.oas.annotations.Parameter;
|
|
|
|
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
|
|
|
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
|
|
import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success;
|
|
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils;
|
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
|
|
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog;
|
|
|
|
|
|
|
|
import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*;
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
import com.chanko.yunxi.mes.module.heli.controller.admin.processbom.vo.*;
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDO;
|
|
|
|
import javax.validation.Valid;
|
|
|
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbomdetail.ProcessBomDetailDO;
|
|
|
|
import java.io.IOException;
|
|
|
|
import com.chanko.yunxi.mes.module.heli.service.processbom.ProcessBomService;
|
|
|
|
import java.time.LocalDateTime;
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
@Tag(name = "管理后台 - 工艺bom")
|
|
|
|
|
|
|
|
@RestController
|
|
|
|
import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success;
|
|
|
|
@RequestMapping("/heli/process-bom")
|
|
|
|
import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
|
|
|
|
@Validated
|
|
|
|
|
|
|
|
public class ProcessBomController {
|
|
|
|
@Tag(name = "管理后台 - 工艺bom")
|
|
|
|
|
|
|
|
@RestController
|
|
|
|
@Resource
|
|
|
|
@RequestMapping("/heli/process-bom")
|
|
|
|
private ProcessBomService processBomService;
|
|
|
|
@Validated
|
|
|
|
|
|
|
|
public class ProcessBomController {
|
|
|
|
@PostMapping("/create")
|
|
|
|
|
|
|
|
@Operation(summary = "创建工艺bom")
|
|
|
|
@Resource
|
|
|
|
@PreAuthorize("@ss.hasPermission('heli:process-bom:create')")
|
|
|
|
private ProcessBomService processBomService;
|
|
|
|
public CommonResult<Long> createProcessBom(@Valid @RequestBody ProcessBomSaveReqVO createReqVO) {
|
|
|
|
|
|
|
|
return success(processBomService.createProcessBom(createReqVO));
|
|
|
|
@Resource
|
|
|
|
}
|
|
|
|
private OperateLogFrameworkService operateLogFrameworkService;
|
|
|
|
|
|
|
|
|
|
|
|
@PutMapping("/update")
|
|
|
|
@Resource
|
|
|
|
@Operation(summary = "更新工艺bom")
|
|
|
|
private HttpServletRequest request;
|
|
|
|
@PreAuthorize("@ss.hasPermission('heli:process-bom:update')")
|
|
|
|
|
|
|
|
public CommonResult<Boolean> updateProcessBom(@Valid @RequestBody ProcessBomSaveReqVO updateReqVO) {
|
|
|
|
@PostMapping("/create")
|
|
|
|
processBomService.updateProcessBom(updateReqVO);
|
|
|
|
@Operation(summary = "创建工艺bom")
|
|
|
|
return success(true);
|
|
|
|
@PreAuthorize("@ss.hasPermission('heli:process-bom:create')")
|
|
|
|
}
|
|
|
|
public CommonResult<Long> createProcessBom(@Valid @RequestBody ProcessBomSaveReqVO createReqVO) {
|
|
|
|
|
|
|
|
return success(processBomService.createProcessBom(createReqVO));
|
|
|
|
@DeleteMapping("/delete")
|
|
|
|
}
|
|
|
|
@Operation(summary = "删除工艺bom")
|
|
|
|
|
|
|
|
@Parameter(name = "id", description = "编号", required = true)
|
|
|
|
@PutMapping("/update")
|
|
|
|
@PreAuthorize("@ss.hasPermission('heli:process-bom:delete')")
|
|
|
|
@Operation(summary = "更新工艺bom")
|
|
|
|
public CommonResult<Boolean> deleteProcessBom(@RequestParam("id") Long id) {
|
|
|
|
@PreAuthorize("@ss.hasPermission('heli:process-bom:update')")
|
|
|
|
processBomService.deleteProcessBom(id);
|
|
|
|
public CommonResult<Boolean> updateProcessBom(@Valid @RequestBody ProcessBomSaveReqVO updateReqVO) {
|
|
|
|
return success(true);
|
|
|
|
processBomService.updateProcessBom(updateReqVO);
|
|
|
|
}
|
|
|
|
return success(true);
|
|
|
|
|
|
|
|
}
|
|
|
|
@GetMapping("/get")
|
|
|
|
|
|
|
|
@Operation(summary = "获得工艺bom")
|
|
|
|
@PostMapping("/operate")
|
|
|
|
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
|
|
|
@Operation(summary = "操作工艺bom")
|
|
|
|
@PreAuthorize("@ss.hasPermission('heli:process-bom:query')")
|
|
|
|
@PreAuthorize("@ss.hasPermission('heli:process-bom:update')")
|
|
|
|
public CommonResult<ProcessBomRespVO> getProcessBom(@RequestParam("id") Long id) {
|
|
|
|
@OperateLog(enable = false)
|
|
|
|
ProcessBomDO processBom = processBomService.getProcessBom(id);
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
|
return success(BeanUtils.toBean(processBom, ProcessBomRespVO.class));
|
|
|
|
public CommonResult<Long> operateProcessBom(@Valid @RequestBody ProcessBomSaveReqVO operateReqVO) {
|
|
|
|
}
|
|
|
|
LocalDateTime startTime = LocalDateTime.now();
|
|
|
|
|
|
|
|
processBomService.operateProcessBom(operateReqVO);
|
|
|
|
@GetMapping("/page")
|
|
|
|
|
|
|
|
@Operation(summary = "获得工艺bom分页")
|
|
|
|
// 手动记录日志
|
|
|
|
@PreAuthorize("@ss.hasPermission('heli:process-bom:query')")
|
|
|
|
operateLogFrameworkService.createOperateLog(request,
|
|
|
|
public CommonResult<PageResult<ProcessBomRespVO>> getProcessBomPage(@Valid ProcessBomPageReqVO pageReqVO) {
|
|
|
|
startTime,
|
|
|
|
PageResult<ProcessBomDO> pageResult = processBomService.getProcessBomPage(pageReqVO);
|
|
|
|
BusinesTypeEnum.PROCESS_BOM.name(),
|
|
|
|
return success(BeanUtils.toBean(pageResult, ProcessBomRespVO.class));
|
|
|
|
operateReqVO.getId(),
|
|
|
|
}
|
|
|
|
OperateTypeEnum.valueOf(operateReqVO.getActive()).getType(),
|
|
|
|
|
|
|
|
operateReqVO.getActiveOpinion());
|
|
|
|
@GetMapping("/export-excel")
|
|
|
|
|
|
|
|
@Operation(summary = "导出工艺bom Excel")
|
|
|
|
return success(operateReqVO.getId());
|
|
|
|
@PreAuthorize("@ss.hasPermission('heli:process-bom:export')")
|
|
|
|
}
|
|
|
|
@OperateLog(type = EXPORT)
|
|
|
|
|
|
|
|
public void exportProcessBomExcel(@Valid ProcessBomPageReqVO pageReqVO,
|
|
|
|
@DeleteMapping("/delete")
|
|
|
|
HttpServletResponse response) throws IOException {
|
|
|
|
@Operation(summary = "删除工艺bom")
|
|
|
|
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
|
|
|
@Parameter(name = "id", description = "编号", required = true)
|
|
|
|
List<ProcessBomDO> list = processBomService.getProcessBomPage(pageReqVO).getList();
|
|
|
|
@PreAuthorize("@ss.hasPermission('heli:process-bom:delete')")
|
|
|
|
// 导出 Excel
|
|
|
|
public CommonResult<Boolean> deleteProcessBom(@RequestParam("id") Long id) {
|
|
|
|
ExcelUtils.write(response, "工艺bom.xls", "数据", ProcessBomRespVO.class,
|
|
|
|
processBomService.deleteProcessBom(id);
|
|
|
|
BeanUtils.toBean(list, ProcessBomRespVO.class));
|
|
|
|
return success(true);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// ==================== 子表(工艺bom明细) ====================
|
|
|
|
@GetMapping("/get")
|
|
|
|
|
|
|
|
@Operation(summary = "获得工艺bom")
|
|
|
|
@GetMapping("/process-bom-detail/list-by-bom-id")
|
|
|
|
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
|
|
|
@Operation(summary = "获得工艺bom明细列表")
|
|
|
|
@PreAuthorize("@ss.hasPermission('heli:process-bom:query')")
|
|
|
|
@Parameter(name = "bomId", description = "bom id")
|
|
|
|
public CommonResult<ProcessBomRespVO> getProcessBom(@RequestParam("id") Long id) {
|
|
|
|
@PreAuthorize("@ss.hasPermission('heli:process-bom:query')")
|
|
|
|
ProcessBomDO processBom = processBomService.getProcessBom(id);
|
|
|
|
public CommonResult<List<ProcessBomDetailDO>> getProcessBomDetailListByBomId(@RequestParam("bomId") Long bomId) {
|
|
|
|
return success(BeanUtils.toBean(processBom, ProcessBomRespVO.class));
|
|
|
|
return success(processBomService.getProcessBomDetailListByBomId(bomId));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@GetMapping("/page")
|
|
|
|
}
|
|
|
|
@Operation(summary = "获得工艺bom分页")
|
|
|
|
|
|
|
|
@PreAuthorize("@ss.hasPermission('heli:process-bom:query')")
|
|
|
|
|
|
|
|
public CommonResult<PageResult<ProcessBomRespVO>> getProcessBomPage(@Valid ProcessBomPageReqVO pageReqVO) {
|
|
|
|
|
|
|
|
PageResult<ProcessBomDO> pageResult = processBomService.getProcessBomPage(pageReqVO);
|
|
|
|
|
|
|
|
return success(BeanUtils.toBean(pageResult, ProcessBomRespVO.class));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@GetMapping("/export-excel")
|
|
|
|
|
|
|
|
@Operation(summary = "导出工艺bom Excel")
|
|
|
|
|
|
|
|
@PreAuthorize("@ss.hasPermission('heli:process-bom:export')")
|
|
|
|
|
|
|
|
@OperateLog(type = EXPORT)
|
|
|
|
|
|
|
|
public void exportProcessBomExcel(@Valid ProcessBomPageReqVO pageReqVO,
|
|
|
|
|
|
|
|
HttpServletResponse response) throws IOException {
|
|
|
|
|
|
|
|
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
|
|
|
|
|
|
|
List<ProcessBomDO> list = processBomService.getProcessBomPage(pageReqVO).getList();
|
|
|
|
|
|
|
|
// 导出 Excel
|
|
|
|
|
|
|
|
ExcelUtils.write(response, "工艺bom.xls", "数据", ProcessBomRespVO.class,
|
|
|
|
|
|
|
|
BeanUtils.toBean(list, ProcessBomRespVO.class));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// ==================== 子表(工艺bom明细) ====================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@GetMapping("/process-bom-detail/list-by-bom-id")
|
|
|
|
|
|
|
|
@Operation(summary = "获得工艺bom明细列表")
|
|
|
|
|
|
|
|
@Parameter(name = "bomId", description = "bom id")
|
|
|
|
|
|
|
|
@PreAuthorize("@ss.hasPermission('heli:process-bom:query')")
|
|
|
|
|
|
|
|
public CommonResult<List<ProcessBomDetailDO>> getProcessBomDetailListByBomId(@RequestParam("bomId") Long bomId) {
|
|
|
|
|
|
|
|
return success(processBomService.getProcessBomDetailListByBomId(bomId));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|