| | |
| | | ErpPurchaseOrderDO purchaseOrder = BeanUtils.toBean(createReqVO, ErpPurchaseOrderDO.class, in -> in |
| | | .setNo(no).setStatus(submit ? ErpAuditStatus.PROCESS.getStatus() : ErpAuditStatus.DRAFT.getStatus()) |
| | | .setInCount(BigDecimal.ZERO).setInStatus(ErpPurchaseOrderInStatusEnum.NOT_IN.getStatus())); |
| | | if (purchaseOrder.getDepositPrice() == null) { |
| | | purchaseOrder.setDepositPrice(BigDecimal.ZERO); |
| | | } |
| | | calculateTotalPrice(purchaseOrder, purchaseOrderItems); |
| | | purchaseOrderMapper.insert(purchaseOrder); |
| | | // 2.2 插入订单项 |
| | |
| | | |
| | | // 2.1 更新订单 |
| | | ErpPurchaseOrderDO updateObj = BeanUtils.toBean(updateReqVO, ErpPurchaseOrderDO.class); |
| | | if (updateObj.getDepositPrice() == null) { |
| | | updateObj.setDepositPrice(BigDecimal.ZERO); |
| | | } |
| | | calculateTotalPrice(updateObj, purchaseOrderItems); |
| | | purchaseOrderMapper.updateById(updateObj); |
| | | // 2.2 更新订单项 |
| | |
| | | if (!submitable) { |
| | | throw exception(PURCHASE_ORDER_SUBMIT_FAIL_STATUS); |
| | | } |
| | | // 2. 付款日期必选:采购申请自动生成的草稿订单没有付款日期,提交前必须先编辑补齐 |
| | | if (purchaseOrder.getPaymentDate() == null) { |
| | | throw exception(PURCHASE_ORDER_PAYMENT_DATE_REQUIRED); |
| | | } |
| | | |
| | | // 2. 创建 BPM 流程实例 |
| | | // 3. 创建 BPM 流程实例 |
| | | // 全局免审批:业务校验通过后直接执行审批通过逻辑,无需流程模型。 |
| | | if (processInstanceApi.isGlobalAutoApprove()) { |
| | | purchaseOrderMapper.updateById(new ErpPurchaseOrderDO() |
| | |
| | | return arrivalNoticeId; |
| | | } |
| | | |
| | | } |
| | | } |