|
|
@@ -733,7 +733,11 @@ public class ReceiptService extends BaseService<RecPay> {
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
+ /**
|
|
|
+ * @desc : 供应商收退款查询
|
|
|
+ * @author : 于继渤
|
|
|
+ * @date : 2024/7/5 10:36
|
|
|
+ */
|
|
|
@Pagination
|
|
|
public ResponseResultVO<PageList<RecPayResponse>> getRpSupList(RecPayQuery recPayQuery) {
|
|
|
return super.mergeListWithCount(recPayQuery, recPayMapper.getRpSupList(recPayQuery),
|
|
|
@@ -741,4 +745,76 @@ public class ReceiptService extends BaseService<RecPay> {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * @desc : 新建供应商收款
|
|
|
+ * @author : 于继渤
|
|
|
+ * @date : 2024/7/5 10:48
|
|
|
+ */
|
|
|
+ @Transactional(
|
|
|
+ rollbackFor = {Exception.class}
|
|
|
+ )
|
|
|
+ public ResponseResultVO<?> insertSupReceipt(RecPayVO recPayVO) {
|
|
|
+
|
|
|
+ // 获取单号
|
|
|
+ Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.RECPAY.getName(), false);
|
|
|
+ recPayVO.setRpId(codeMap.get("outId").toString()).setRpNo(codeMap.get("outNote").toString());
|
|
|
+ // 转化实体
|
|
|
+ RecPay recPay = recPayConvert.convertToPo(recPayVO);
|
|
|
+ // 总单保存
|
|
|
+ super.insert(recPay);
|
|
|
+
|
|
|
+ // 明细保存
|
|
|
+ if (recPayVO.getItemList() != null && recPayVO.getItemList().size() > 0) {
|
|
|
+ for (RecPayItemVO recPayItemVO : recPayVO.getItemList()) {
|
|
|
+ RecPayItem recPayItem = recPayItemConvert.convertToPo(recPayItemVO);
|
|
|
+ recPayItem.setRpId(recPay.getRpId()).setCpId(recPay.getCpId()).setMakeStaff(recPay.getMakeStaff()).setAccDate(recPay.getAccDate());
|
|
|
+ recPayItemMapper.insert(recPayItem);
|
|
|
+
|
|
|
+ // 插入账款明细
|
|
|
+ AccountItem accountItem = new AccountItem();
|
|
|
+ accountItem.setAccItemType(Constant.accItemType.SHOU_KUAN.getName())
|
|
|
+ .setObjectId(recPayVO.getObjectId())
|
|
|
+ .setOrgId(recPayVO.getOrgId())
|
|
|
+ .setStaffId(recPayVO.getStaffId())
|
|
|
+ .setAccDate(recPayVO.getAccDate())
|
|
|
+ .setRecStatus(Constant.recStatuse.QUE_DING.getName())
|
|
|
+ .setAmtPay(recPayItem.getAmtRec())
|
|
|
+ .setBiznisType("t_mac_rec_pay_item")
|
|
|
+ .setBiznisId(recPayItem.getRpId())
|
|
|
+ .setBiznisNo(recPayVO.getRpNo())
|
|
|
+ .setMakeStaff(recPayVO.getMakeStaff()).setCpId(recPayVO.getCpId());
|
|
|
+ accountItemMapper.insert(accountItem);
|
|
|
+
|
|
|
+ // 更新收款单上的账款明细Id
|
|
|
+ RecPayItem recPayItemUpdate = new RecPayItem();
|
|
|
+ recPayItemUpdate.setAccItemId(accountItem.getItemId()).setItemId(recPayItem.getItemId());
|
|
|
+ recPayItemService.updateByUuid(recPayItemUpdate);
|
|
|
+
|
|
|
+ // 插入资金流水
|
|
|
+ MoneyAccountItem moneyAccountItem = new MoneyAccountItem();
|
|
|
+ moneyAccountItem.setMacId(recPayItem.getMacId()).setFlowType(Constant.FlowType.SHOU_FU_KUAN.getName())
|
|
|
+ .setInvoiceId(recPayItem.getItemId()).setAmtInflow(recPayItem.getAmtPay()).setAccDate(recPayVO.getAccDate())
|
|
|
+ .setMakeStaff(recPayItem.getMakeStaff()).setCpId(recPayItem.getCpId());
|
|
|
+ moneyAccountItemMapper.insert(moneyAccountItem);
|
|
|
+
|
|
|
+ // 更新资金账户
|
|
|
+ MoneyAccount moneyAccountForUpdate = moneyAccountMapper.selectByIdForUpdate(recPayItem.getMacId());
|
|
|
+ MoneyAccount moneyAccountUpdate = new MoneyAccount();
|
|
|
+ moneyAccountUpdate.setBalance(moneyAccountForUpdate.getBalance().add(recPayItem.getAmtPay()))
|
|
|
+ .setMacId(moneyAccountForUpdate.getMacId());
|
|
|
+ moneyAccountService.updateByUuid(moneyAccountUpdate);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 插入账款总表
|
|
|
+ Account accountForUpdate = accountService.getCusAccountForUpdate(recPayVO.getObjectId());
|
|
|
+ // 更新账款总表上收款的相关字段
|
|
|
+ Account accountUpdate = new Account();
|
|
|
+ accountUpdate.setReceipt(accountForUpdate.getReceipt().add(recPayVO.getSumAmtPay()))// 总收款金额
|
|
|
+ .setReceiptResidue(accountForUpdate.getReceiptResidue().add(recPayVO.getSumAmtPay()))// 可退金额
|
|
|
+ .setObjectId(accountForUpdate.getObjectId());
|
|
|
+ accountService.updateByUuid(accountUpdate);
|
|
|
+ return ResponseResultUtil.success();
|
|
|
+ }
|
|
|
+
|
|
|
}
|