diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/api/OrderApiImpl.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/api/OrderApiImpl.java index 79bcd0b8..ec21f708 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/api/OrderApiImpl.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/api/OrderApiImpl.java @@ -248,7 +248,7 @@ public class OrderApiImpl implements OrderApi { SalesOrderDetailMapper salesOrderDetailMapper = SpringUtil.getBean(SalesOrderDetailMapper.class); PrchOrdDtlMapper prchOrdDtlMapper = SpringUtil.getBean(PrchOrdDtlMapper.class); updateOrderLstQtyDTOS.forEach(f -> { - if ("SALE".equals(f.getSplyBsnTp())) { + if (OrderTypeEnum.SALE.getCode().equals(f.getSplyBsnTp())) { SalesOrderDetailDO salesOrderDetailDO = salesOrderDetailMapper.selectById(f.getOrderDetailId()); // 处理 trfQty 可能为 null 的情况,默认值 0 BigDecimal lstQty = Optional.ofNullable(salesOrderDetailDO.getTrfQty()) @@ -261,7 +261,7 @@ public class OrderApiImpl implements OrderApi { updateDO.setTrfQty(lstQty.subtract(f.getLstQty())); // 减法 log.info("更新销售订单明细:{}", updateDO); salesOrderDetailMapper.updateById(updateDO); - } else if ("PUR".equals(f.getSplyBsnTp())) { + } else if (OrderTypeEnum.PUR.getCode().equals(f.getSplyBsnTp())) { // 采购 PrchOrdDtlDO prchOrdDtlDO = prchOrdDtlMapper.selectById(f.getOrderDetailId()); BigDecimal lstQty = Optional.ofNullable(prchOrdDtlDO.getLstQty()) @@ -274,6 +274,12 @@ public class OrderApiImpl implements OrderApi { updateDO.setLstQty(lstQty.subtract(f.getLstQty())); log.info("更新销售订单明细:{}", updateDO); prchOrdDtlMapper.updateById(updateDO); + } else if (OrderTypeEnum.ENT.getCode().equals(f.getSplyBsnTp())) { + // 委托加工 + } else if (OrderTypeEnum.ENTED_SALE.getCode().equals(f.getSplyBsnTp())) { + // 来料销售 + } else if (OrderTypeEnum.ENTED_PUR.getCode().equals(f.getSplyBsnTp())) { + // 来料采购 } else { throw new RuntimeException("请求数据错误"); } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/ContractController.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/ContractController.java index 3f9792dc..aed4c7dd 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/ContractController.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/controller/admin/contract/ContractController.java @@ -241,5 +241,12 @@ public class ContractController implements BusinessControllerMarker { PageResult pageResult = contractService.getPageNoPermission(pageReqVO); return success(BeanUtils.toBean(pageResult, ContractRespVO.class)); } + @GetMapping("/get-no-permission") + @Operation(summary = "获得合同分页列表-没有权限") + @PreAuthorize("@ss.hasAnyPermissions({'base:contract:get','purchaseContract:detail'})") + public CommonResult getNoPermission(@RequestParam("id") Long id) { + ContractRespVO contractRespVO = contractService.getNoPermission(id); + return success(contractRespVO); + } } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractService.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractService.java index affeffac..7e7c7d38 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractService.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractService.java @@ -50,7 +50,13 @@ public interface ContractService { * @return 合同信息 */ ContractRespVO get(Long id); - + /** + * 获得合同详情--无权限 + * + * @param id 合同ID + * @return 合同信息 + */ + ContractRespVO getNoPermission(Long id); /** * 修改合同 * diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractServiceImpl.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractServiceImpl.java index 00929091..65fd408c 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractServiceImpl.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractServiceImpl.java @@ -480,6 +480,110 @@ public class ContractServiceImpl implements ContractService { return respVO; } + @Override + @CompanyDataPermissionIgnore + @DeptDataPermissionIgnore + @TenantIgnore + public ContractRespVO getNoPermission(Long id) { + // 返回结果 + ContractRespVO respVO = new ContractRespVO(); + + // 查询并设置合同主信息 + ContractMainDO contractMainDO = contractMainMapper.selectById(id); + if (contractMainDO == null) { + throw exception(CONTRACT_NOT_EXISTS); + } + BeanUtils.copyProperties(contractMainDO, respVO); + + // 查询并设置合同明细 + List detailDOS = contractDetailMapper + .selectList(TableFieldConstants.BSE_CTRT_DTL_CTRT_MAIN_ID, contractMainDO.getId()); + if (detailDOS != null && !detailDOS.isEmpty()) { + respVO.setDetail(BeanUtils.toBean(detailDOS, DetailRespVO.class)); + respVO.getDetail().forEach(detail -> { + + // 查询并设置交货计划 + List planDOS = contractPlanMapper + .selectList(TableFieldConstants.BSE_CTRT_PLN_CTRT_DTL_ID, detail.getId()); + if (planDOS != null && !planDOS.isEmpty()) { + detail.setPlans(BeanUtils.toBean(planDOS, PlanRespVO.class)); + } + }); + } + + // 查询并设置价款结算条款 + List formulaDOS = contractFormulaMapper + .selectList(TableFieldConstants.BSE_CTRT_FMU_CTRT_ID, contractMainDO.getId()); + if (formulaDOS != null && !formulaDOS.isEmpty()) { + respVO.setFormulas(BeanUtils.toBean(formulaDOS, FormulaRespVO.class)); + + respVO.getFormulas().forEach(formula -> { + + // 查询并设置基础系数配置 + List coefficientDOS = contractCoefficientMapper + .selectList(TableFieldConstants.BSE_CTRT_COEF_FMU_ID, formula.getId()); + if (coefficientDOS != null && !coefficientDOS.isEmpty()) { + formula.setCoefficients(BeanUtils.toBean(coefficientDOS, CoefficientRespVO.class)); + } + // 查询并设置品位等级价配置 + List gradeDOS = contractGradeMapper + .selectList(TableFieldConstants.BSE_CTRT_GRD_FMU_ID, formula.getId()); + if (gradeDOS != null && !gradeDOS.isEmpty()) { + formula.setGrades(BeanUtils.toBean(gradeDOS, GradeRespVO.class)); + } + // 查询并设置调整价配置 + List deductDOS = contractDeductMapper + .selectList(TableFieldConstants.BSE_CTRT_DDCT_FMU_ID, formula.getId()); + if (deductDOS != null && !deductDOS.isEmpty()) { + formula.setDeducts(BeanUtils.toBean(deductDOS, DeductRespVO.class)); + } + // 查询并设置市场价配置 + List priceDOS = contractPriceMapper + .selectList(TableFieldConstants.BSE_CTRT_PRC_FMU_ID, formula.getId()); + if (priceDOS != null && !priceDOS.isEmpty()) { + formula.setPrices(BeanUtils.toBean(priceDOS, PriceRespVO.class)); + } + }); + } + + // 查询并设置参数降级规则 + List demoteDOS = contractDemoteMapper + .selectList(TableFieldConstants.BSE_CTRT_DMOT_CTRT_ID, contractMainDO.getId()); + if (demoteDOS != null && !demoteDOS.isEmpty()) { + respVO.setDemotes(BeanUtils.toBean(demoteDOS, DemoteRespVO.class)); + } + + // 查询并设置品位不计价规则 + List notDOS = contractNotMapper + .selectList(TableFieldConstants.BSE_CTRT_NT_CTRT_ID, contractMainDO.getId()); + if (notDOS != null && !notDOS.isEmpty()) { + respVO.setNots(BeanUtils.toBean(notDOS, NotRespVO.class)); + } + + // 查询合同动态字段及条款 + if (contractMainDO.getBusinessId() != null) { + TmplInscBsnRelRespVO tmplInscBsnRel = tmplInscBsnRelService.getTmplInscBsnRel(contractMainDO.getBusinessId()); + if (tmplInscBsnRel != null) { + // 设置合同动态字段 + respVO.setDynamicsFields(tmplInscBsnRel.getTmplInscDatBsnRespVOS()); + // 设置合同动态条款 + respVO.setDynamicsItems(tmplInscBsnRel.getTmplInscItmBsnRespVOS()); + } + } + //收发货 + List contractReceiveSendListByContractId = contractReceiveSendService.getContractReceiveSendListByContractId(contractMainDO.getId()); + if (contractReceiveSendListByContractId != null && !contractReceiveSendListByContractId.isEmpty()) { + respVO.setContractReceiveSends(contractReceiveSendListByContractId); + } + //金额拆分 + List amountDismantleListByContractId = amountDismantleService.getAmountDismantleListByContractId(contractMainDO.getId()); + if (amountDismantleListByContractId != null && !amountDismantleListByContractId.isEmpty()) { + respVO.setAmountSplit(BeanUtils.toBean(amountDismantleListByContractId, AmountDismantleRespVO.class)); + } + + return respVO; + } + @Override public ContractRespVO getBySystemContractNumber(String systemContractNumber) { // 返回结果