diff --git a/src/main/java/com/yxt/purchase/apiadmin/PurchaseBillRest.java b/src/main/java/com/yxt/purchase/apiadmin/PurchaseBillRest.java index 4faf530..48ac83c 100644 --- a/src/main/java/com/yxt/purchase/apiadmin/PurchaseBillRest.java +++ b/src/main/java/com/yxt/purchase/apiadmin/PurchaseBillRest.java @@ -61,7 +61,13 @@ public class PurchaseBillRest { String sid = purchaseBillService.saveOrUpdateDto(dto); return rb.success().setData(sid); } - + @ApiOperation("新增采购单(对外)") + @PostMapping("/savePurchase") + public ResultBean savePurchase(@RequestBody PurchaseBillDto dto){ + ResultBean rb = ResultBean.fireFail(); + String sid = purchaseBillService.savePurcahse(dto); + return rb.success().setData(sid); + } @ApiOperation("采购单提交") @PostMapping("/submit") public ResultBean submit(@RequestBody String[] sids){ diff --git a/src/main/java/com/yxt/purchase/biz/purchasebill/PurchaseBillService.java b/src/main/java/com/yxt/purchase/biz/purchasebill/PurchaseBillService.java index fba97bd..bc8bd19 100644 --- a/src/main/java/com/yxt/purchase/biz/purchasebill/PurchaseBillService.java +++ b/src/main/java/com/yxt/purchase/biz/purchasebill/PurchaseBillService.java @@ -72,6 +72,9 @@ public class PurchaseBillService extends MybatisBaseService> listPageVo(PagerQuery pq) { ResultBean rb = ResultBean.fireFail(); PurchaseBillQuery query = pq.getParams(); @@ -306,6 +309,68 @@ public class PurchaseBillService extends MybatisBaseService purchaseBillDetailList = dto.getPurchaseBillDetailList(); + List purchaseAppendixList = dto.getPurchaseAppendixList(); + //生成单据编号 + String billNo = ""; + String date = DateUtil.format(DateUtil.date(), "yyyyMM"); + billNo = "CGD" + dto.getOrgCode() + date; + String i = baseMapper.selectNum(billNo); + if (StringUtils.isNotBlank(i)) { + billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue()); + } else { + billNo = Rule.getBillNo(billNo, 0); + } + dto.setBillNo(billNo); + String sid = this.insertByDto(dto); + //保存采购单费用/预付款 + purchaseBillAmount.setBillSid(sid); + purchaseBillAmountService.insertByDto(purchaseBillAmount); + //保存采购单扩展 + purchaseBillExtend.setBillSid(sid); + purchaseBillExtend.setDeliveryStateKey("1"); + purchaseBillExtend.setDeliveryStateValue("未发货"); + purchaseBillExtend.setReceiveStateKey("1"); + purchaseBillExtend.setReceiveStateValue("待提交"); + purchaseBillExtendService.insertByDto(purchaseBillExtend); + //保存商品信息 + for (PurchaseBillDetailDto purchaseBillDetailDto : purchaseBillDetailList) { + purchaseBillDetailDto.setBillSid(sid); + String goodsImgUrl = purchaseBillDetailDto.getGoodsImgUrl(); + goodsImgUrl = goodsImgUrl.replace(fileUploadComponent.getUrlPrefix(), ""); + purchaseBillDetailDto.setGoodsImgUrl(goodsImgUrl); + String detailSid = purchaseBillDetailService.insertByDto(purchaseBillDetailDto); + PurchaseBillBatchDto purchaseBillBatchDto = new PurchaseBillBatchDto(); + purchaseBillBatchDto.setBillSid(sid); + purchaseBillBatchDto.setBillDetailSid(detailSid); + purchaseBillBatchDto.setBatchNumber(purchaseBillDetailDto.getBatchNumber()); + purchaseBillBatchDto.setExpireDate(purchaseBillDetailDto.getExpireDate()); + purchaseBillBatchDto.setMadeDate(purchaseBillDetailDto.getMadeDate()); + purchaseBillBatchService.insertByDto(purchaseBillBatchDto); + } + //保存附件信息 + for (PurchaseAppendixUrl purchaseAppendixUrl : purchaseAppendixList) { + PurchaseAppendixDto purchaseAppendixDto = new PurchaseAppendixDto(); + String filePath = purchaseAppendixUrl.getUrl().replace(fileUploadComponent.getUrlPrefix(), ""); + purchaseAppendixDto.setLinkSid(sid); + purchaseAppendixDto.setAttachType(PurchaseFileEnum.PURCHASEBILL.getAttachType()); + purchaseAppendixDto.setFilePath(filePath); + purchaseAppendixService.insertByDto(purchaseAppendixDto); + } + //保存操作日志 + PurchaseFlowNodeDto purchaseFlowNodeDto = new PurchaseFlowNodeDto(); + purchaseFlowNodeDto.setBillSid(sid); + purchaseFlowNodeDto.setCreateByName(dto.getCreateByName()); + purchaseFlowNodeDto.setNodeCode("01"); + purchaseFlowNodeDto.setNodeName("新增"); + purchaseFlowNodeDto.setResult("成功"); + purchaseFlowNodeService.insertByDto(purchaseFlowNodeDto); + return sid; + } public void submit(String[] sids) { for (String sid : sids) { PurchaseBill purchaseBill = fetchBySid(sid);