云
11 小时以前 c215f6c20445b973ff730dcdf4206426992da81d
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/oqc/MesQcOqcController.java
@@ -10,11 +10,14 @@
import cn.iocoder.yudao.module.mes.controller.admin.qc.oqc.vo.MesQcOqcPageReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.qc.oqc.vo.MesQcOqcRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.qc.oqc.vo.MesQcOqcSaveReqVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.md.client.MesMdClientDO;
import cn.iocoder.yudao.module.mes.controller.admin.qc.oqc.vo.MesQcOqcRetestReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.qc.oqc.vo.MesQcOqcApprovalReqVO;
import cn.iocoder.yudao.module.crm.api.customer.CrmCustomerApi;
import cn.iocoder.yudao.module.crm.api.customer.dto.CrmCustomerRespDTO;
import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.md.unitmeasure.MesMdUnitMeasureDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.qc.oqc.MesQcOqcDO;
import cn.iocoder.yudao.module.mes.service.md.client.MesMdClientService;
import cn.iocoder.yudao.module.crm.api.customer.CrmCustomerApi;
import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemService;
import cn.iocoder.yudao.module.mes.service.md.unitmeasure.MesMdUnitMeasureService;
import cn.iocoder.yudao.module.mes.service.qc.oqc.MesQcOqcService;
@@ -49,7 +52,7 @@
    @Resource
    private MesQcOqcService oqcService;
    @Resource
    private MesMdClientService clientService;
    private CrmCustomerApi customerApi;
    @Resource
    private MesMdItemService itemService;
    @Resource
@@ -80,6 +83,30 @@
    public CommonResult<Boolean> finishOqc(@RequestParam("id") Long id) {
        oqcService.finishOqc(id);
        return success(true);
    }
    @PostMapping("/retest") @Operation(summary = "销售质检复检")
    @PreAuthorize("@ss.hasPermission('mes:qc-oqc:retest')")
    public CommonResult<Boolean> retestOqc(@Valid @RequestBody MesQcOqcRetestReqVO reqVO) {
        oqcService.retestOqc(reqVO);
        return success(true);
    }
    @PostMapping("/sales-approve") @Operation(summary = "销售部审批")
    @PreAuthorize("@ss.hasPermission('mes:qc-oqc:sales-approve')")
    public CommonResult<Boolean> salesApprove(@Valid @RequestBody MesQcOqcApprovalReqVO reqVO) {
        oqcService.salesApprove(reqVO.getId(), reqVO.getApproved(), reqVO.getOpinion());
        return success(true);
    }
    @PostMapping("/company-approve") @Operation(summary = "公司质检审批销售出货")
    @PreAuthorize("@ss.hasPermission('mes:qc-oqc:company-approve')")
    public CommonResult<Boolean> companyApprove(@Valid @RequestBody MesQcOqcApprovalReqVO reqVO) {
        oqcService.companyApprove(reqVO.getId(), reqVO.getApproved(), reqVO.getOpinion());
        return success(true);
    }
    @GetMapping("/actions") @Operation(summary = "销售质检流程记录")
    @PreAuthorize("@ss.hasPermission('mes:qc-oqc:query')")
    public CommonResult<List<cn.iocoder.yudao.module.mes.dal.dataobject.qc.oqc.MesQcOqcActionDO>> actions(@RequestParam Long id) {
        return success(oqcService.getActions(id));
    }
    @DeleteMapping("/delete")
@@ -127,7 +154,7 @@
            return Collections.emptyList();
        }
        // 批量查询客户
        Map<Long, MesMdClientDO> clientMap = clientService.getClientMap(
        Map<Long, CrmCustomerRespDTO> clientMap = customerApi.getCustomerMap(
                convertSet(list, MesQcOqcDO::getClientId));
        // 批量查询物料
        Map<Long, MesMdItemDO> itemMap = itemService.getItemMap(
@@ -141,7 +168,7 @@
        // 拼装 VO
        return BeanUtils.toBean(list, MesQcOqcRespVO.class, vo -> {
            findAndThen(clientMap, vo.getClientId(),
                    client -> vo.setClientNickname(client.getNickname()));
                    client -> vo.setClientNickname(client.getName()));
            findAndThen(itemMap, vo.getItemId(), item -> {
                vo.setItemCode(item.getCode()).setItemName(item.getName()).setItemSpecification(item.getSpecification());
                findAndThen(unitMeasureMap, item.getUnitMeasureId(),