| | |
| | | import com.ruoyi.account.mapper.sales.AccountSalesCollectionMapper; |
| | | import com.ruoyi.account.pojo.sales.AccountInvoiceApplication; |
| | | import com.ruoyi.account.pojo.sales.AccountSalesCollection; |
| | | import com.ruoyi.approve.bean.dto.ApprovalInstanceDto; |
| | | import com.ruoyi.approve.pojo.ApprovalTemplate; |
| | | import com.ruoyi.approve.service.ApprovalInstanceService; |
| | | import com.ruoyi.approve.service.ApprovalTemplateService; |
| | | import com.ruoyi.basic.enums.ApplicationTypeEnum; |
| | | import com.ruoyi.basic.enums.RecordTypeEnum; |
| | | import com.ruoyi.basic.mapper.CustomerMapper; |
| | |
| | | import com.ruoyi.basic.utils.FileUtil; |
| | | import com.ruoyi.common.enums.FileNameType; |
| | | import com.ruoyi.common.enums.SaleEnum; |
| | | import com.ruoyi.common.enums.TypeEnums; |
| | | import com.ruoyi.common.exception.base.BaseException; |
| | | import com.ruoyi.common.utils.DateUtils; |
| | | import com.ruoyi.common.utils.EnumUtil; |
| | |
| | | ; |
| | | @Autowired |
| | | private SysUserMapper sysUserMapper; |
| | | |
| | | @Autowired |
| | | private ApprovalInstanceService approvalInstanceService; |
| | | @Autowired |
| | | private ApprovalTemplateService approvalTemplateService; |
| | | |
| | | @Override |
| | | public List<SalesLedger> selectSalesLedgerList(SalesLedgerDto salesLedgerDto) { |
| | |
| | | contractNo = generateSalesContractNo(salesLedgerDto.getEntryDate()); |
| | | } |
| | | salesLedger.setSalesContractNo(contractNo); |
| | | salesLedger.setApprovalStatus(0); |
| | | salesLedgerMapper.insert(salesLedger); |
| | | |
| | | // 新增时发起协同审批 |
| | | submitApproval(salesLedger); |
| | | } else { |
| | | salesLedgerMapper.updateById(salesLedger); |
| | | } |
| | |
| | | for (SalesLedgerProduct salesLedgerProduct : insertList) { |
| | | salesLedgerProduct.setType(type.getCode()); |
| | | salesLedgerProductMapper.insert(salesLedgerProduct); |
| | | // 添加生产数据 |
| | | salesLedgerProductServiceImpl.addProductionData(salesLedgerProduct); |
| | | } |
| | | } |
| | | } |
| | |
| | | return totalAmount; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 新增销售台账时发起协同审批 |
| | | */ |
| | | private void submitApproval(SalesLedger salesLedger) { |
| | | LoginUser loginUser = SecurityUtils.getLoginUser(); |
| | | ApprovalTemplate template = approvalTemplateService.getOne( |
| | | new LambdaQueryWrapper<ApprovalTemplate>() |
| | | .eq(ApprovalTemplate::getBusinessType, TypeEnums.SALES_LEDGER_APPROVAL.getCode()) |
| | | .eq(ApprovalTemplate::getDeleted, 0) |
| | | .orderByDesc(ApprovalTemplate::getId) |
| | | .last("limit 1") |
| | | ); |
| | | if (template == null) { |
| | | log.warn("销售审批模板不存在,跳过发起审批"); |
| | | return; |
| | | } |
| | | ApprovalInstanceDto instanceDto = new ApprovalInstanceDto(); |
| | | instanceDto.setTemplateId(template.getId()); |
| | | instanceDto.setTemplateName(template.getTemplateName()); |
| | | instanceDto.setBusinessId(salesLedger.getId()); |
| | | instanceDto.setBusinessType(TypeEnums.SALES_LEDGER_APPROVAL.getCode()); |
| | | instanceDto.setCurrentLevel(1); |
| | | instanceDto.setTitle(salesLedger.getSalesContractNo() + "销售审批"); |
| | | instanceDto.setApplicantId(loginUser.getUserId()); |
| | | instanceDto.setApplicantName(loginUser.getNickName()); |
| | | instanceDto.setApplyTime(LocalDateTime.now()); |
| | | approvalInstanceService.add(instanceDto); |
| | | } |
| | | } |