| | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.approve.mapper.ApproveNodeMapper; |
| | |
| | | import com.ruoyi.common.enums.StockInQualifiedRecordTypeEnum; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.device.mapper.DeviceRepairMapper; |
| | | import com.ruoyi.device.pojo.DeviceRepair; |
| | | import com.ruoyi.other.service.impl.TempFileServiceImpl; |
| | | import com.ruoyi.procurementrecord.utils.StockUtils; |
| | | import com.ruoyi.project.system.domain.SysUser; |
| | |
| | | import com.ruoyi.sales.pojo.SalesQuotation; |
| | | import com.ruoyi.sales.pojo.ShippingInfo; |
| | | import com.ruoyi.sales.service.impl.CommonFileServiceImpl; |
| | | import com.ruoyi.sales.service.impl.SalesLedgerProductServiceImpl; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | |
| | | private final QualityTestStandardMapper qualityTestStandardMapper; |
| | | private final QualityTestStandardParamMapper qualityTestStandardParamMapper; |
| | | private final QualityInspectParamMapper qualityInspectParamMapper; |
| | | private final SalesLedgerProductServiceImpl salesLedgerProductServiceImpl; |
| | | |
| | | |
| | | public ApproveProcess getApproveById(String id) { |
| | |
| | | approveProcessMapper.updateById(approveProcess); |
| | | |
| | | //采购审核 |
| | | if (approveProcess.getApproveType().equals(5)) { |
| | | if(approveProcess.getApproveType().equals(5)){ |
| | | PurchaseLedger purchaseLedger = purchaseLedgerMapper.selectOne(new LambdaQueryWrapper<PurchaseLedger>() |
| | | .eq(PurchaseLedger::getPurchaseContractNumber, approveProcess.getApproveReason()) |
| | | .last("limit 1")); |
| | | if (purchaseLedger != null) { |
| | | if(purchaseLedger != null) { |
| | | if (status.equals(2)) { |
| | | // 同意 |
| | | purchaseLedger.setApprovalStatus(3); |
| | |
| | | for (SalesLedgerProduct salesLedgerProduct : salesLedgerProducts) { |
| | | // 质检 |
| | | if (salesLedgerProduct.getIsChecked()) { |
| | | addQualityInspect(purchaseLedger, salesLedgerProduct); |
| | | } else { |
| | | addQualityInspect(purchaseLedger, salesLedgerProduct); }else { |
| | | //直接入库 |
| | | stockUtils.addStock(salesLedgerProduct.getProductModelId(), salesLedgerProduct.getQuantity(), StockInQualifiedRecordTypeEnum.PURCHASE_STOCK_IN.getCode(), purchaseLedger.getId()); |
| | | } |
| | |
| | | } |
| | | } |
| | | // 销售报价状态修改 |
| | | if (approveProcess.getApproveType().equals(6)) { |
| | | if(approveProcess.getApproveType().equals(6)){ |
| | | SalesQuotation salesQuote = salesQuotationMapper.selectOne(new LambdaQueryWrapper<SalesQuotation>() |
| | | .eq(SalesQuotation::getQuotationNo, approveProcess.getApproveReason()) |
| | | .last("limit 1")); |
| | | // 同意 |
| | | if (status.equals(2) && salesQuote != null) { |
| | | if(status.equals(2) && salesQuote != null){ |
| | | salesQuote.setStatus("通过"); |
| | | } else if (status.equals(3) && salesQuote != null) { |
| | | }else if(status.equals(3) && salesQuote != null){ |
| | | salesQuote.setStatus("拒绝"); |
| | | } else if (status.equals(1) && salesQuote != null) { |
| | | }else if(status.equals(1) && salesQuote != null){ |
| | | salesQuote.setStatus("审核中"); |
| | | } |
| | | salesQuotationMapper.updateById(salesQuote); |
| | | } |
| | | // 出库审批修改 |
| | | if (approveProcess.getApproveType().equals(7)) { |
| | | if(approveProcess.getApproveType().equals(7)){ |
| | | String[] split = approveProcess.getApproveReason().split(":"); |
| | | ShippingInfo shippingInfo = shippingInfoMapper.selectOne(new LambdaQueryWrapper<ShippingInfo>() |
| | | .eq(ShippingInfo::getShippingNo, split[1]) |
| | | .orderByDesc(ShippingInfo::getCreateTime) |
| | | .last("limit 1")); |
| | | if (shippingInfo != null) { |
| | | if (status.equals(2)) { |
| | | if(shippingInfo != null){ |
| | | if(status.equals(2)){ |
| | | shippingInfo.setStatus("审核通过"); |
| | | } else if (status.equals(3)) { |
| | | }else if(status.equals(3)){ |
| | | shippingInfo.setStatus("审核拒绝"); |
| | | } else if (status.equals(1)) { |
| | | }else if(status.equals(1)){ |
| | | shippingInfo.setStatus("审核中"); |
| | | } |
| | | shippingInfoMapper.updateById(shippingInfo); |
| | | } |
| | | |
| | | } |
| | | if (approveProcess.getApproveType().equals(10)) { |
| | | //生成生产订单 |
| | | List<SalesLedgerProduct> salesLedgerProducts = salesLedgerProductMapper.selectList(new QueryWrapper<SalesLedgerProduct>().lambda().eq(SalesLedgerProduct::getSalesLedgerId, approveProcess.getRecordId())); |
| | | salesLedgerProducts.forEach(salesLedgerProductServiceImpl::addProductionData); |
| | | } |
| | | // 绑定附件 |
| | | if (!CollectionUtils.isEmpty(approveNode.getTempFileIds()) && approveNode.getApproveNodeStatus() == 1) { |
| | | if(!CollectionUtils.isEmpty(approveNode.getTempFileIds()) && approveNode.getApproveNodeStatus() == 1){ |
| | | tempFileService.migrateTempFilesToFormal(approveNode.getId(), approveNode.getTempFileIds(), FileNameType.ApproveNode.getValue()); |
| | | } |
| | | } |
| | |
| | | @Override |
| | | public void updateApproveNode(ApproveNode approveNode) throws IOException { |
| | | // 审批节点状态:1同意,2拒绝,0尚未审核 |
| | | switch (approveNode.getApproveNodeStatus()) { |
| | | switch (approveNode.getApproveNodeStatus()){ |
| | | case 1: |
| | | updateApproveProcessStatus(approveNode, Boolean.TRUE.equals(approveNode.getIsLast()) ? 2 : 1); |
| | | /*消息通知*/ |
| | | Integer nodeOrder = approveNode.getApproveNodeOrder(); |
| | | ApproveProcess approveProcess = approveProcessMapper.selectList(Wrappers.<ApproveProcess>lambdaQuery() |
| | | .eq(ApproveProcess::getApproveId, approveNode.getApproveProcessId())).get(0); |
| | | if (approveProcess.getApproveUserIds().split(",").length > nodeOrder) { |
| | | if (approveProcess.getApproveUserIds().split(",").length > nodeOrder){ |
| | | String id = approveProcess.getApproveUserIds().split(",")[nodeOrder]; |
| | | if (approveProcess.getApproveType() == 8) { |
| | | if (approveProcess.getApproveType()==8){ |
| | | sysNoticeService.simpleNoticeByUser(approveProcessType(approveProcess.getApproveType()), |
| | | approveProcess.getApproveId() + "流程编号的审批需要您审核!!!!!", |
| | | Arrays.asList(Long.valueOf(id)), |
| | | "/safeProduction/safeWorkApproval?approveType=" + approveProcess.getApproveType() + "&approveId=" + approveProcess.getApproveId()); |
| | | } else { |
| | | }else { |
| | | sysNoticeService.simpleNoticeByUser(approveProcessType(approveProcess.getApproveType()), |
| | | approveProcess.getApproveId() + "流程编号的审批需要您审核!!!!!", |
| | | Arrays.asList(Long.valueOf(id)), |
| | |
| | | } |
| | | |
| | | //审批类型获取(与前端页面对应) |
| | | private String approveProcessType(Integer approveType) { |
| | | switch (approveType) { |
| | | private String approveProcessType(Integer approveType){ |
| | | switch (approveType){ |
| | | case 1: |
| | | return "公出管理"; |
| | | case 2: |
| | |
| | | return "发货审批"; |
| | | case 8: |
| | | return "危险作业审批"; |
| | | case 10: |
| | | return "销售审批"; |
| | | } |
| | | return null; |
| | | } |