|
|
@@ -9,10 +9,14 @@ import com.dk.common.model.pojo.PageList;
|
|
|
import com.dk.common.response.ResponseResultUtil;
|
|
|
import com.dk.common.response.ResponseResultVO;
|
|
|
import com.dk.mdm.infrastructure.convert.mac.ReceiptConvert;
|
|
|
+import com.dk.mdm.mapper.mac.AccountObjectMapper;
|
|
|
+import com.dk.mdm.mapper.mac.ReceivableMapper;
|
|
|
+import com.dk.mdm.model.pojo.mac.AccountObject;
|
|
|
import com.dk.mdm.model.pojo.mac.Receipt;
|
|
|
import com.dk.mdm.mapper.mac.ReceiptMapper;
|
|
|
import com.dk.common.service.BaseService;
|
|
|
import com.dk.common.mapper.BaseMapper;
|
|
|
+import com.dk.mdm.model.pojo.mac.Receivable;
|
|
|
import com.dk.mdm.model.query.mac.ReceiptQuery;
|
|
|
import com.dk.mdm.model.response.mac.ReceiptResponse;
|
|
|
import com.dk.mdm.model.vo.mac.ReceiptVO;
|
|
|
@@ -43,6 +47,15 @@ public class ReceiptService extends BaseService<Receipt> {
|
|
|
private ReceiptMapper receiptMapper;
|
|
|
|
|
|
@Autowired
|
|
|
+ private ReceivableMapper receivableMapper; // 应收账款
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private AccountObjectService accountObjectService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private AccountObjectMapper accountObjectMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
private CommonService commonService;
|
|
|
|
|
|
@Autowired
|
|
|
@@ -80,11 +93,45 @@ public class ReceiptService extends BaseService<Receipt> {
|
|
|
.setReceiptType(Constant.DocumentType.ORDER.getName());
|
|
|
// 转化实体
|
|
|
Receipt receipt = receiptConvert.convertToPo(receiptVO);
|
|
|
- // Receipt总单保存
|
|
|
+ // Receipt保存
|
|
|
super.insert(receipt);
|
|
|
+
|
|
|
+ // 插入应收账款
|
|
|
+ Receivable receivable = new Receivable();
|
|
|
+ // 获取单号
|
|
|
+ codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.RECEIVABLE.getName(), false);
|
|
|
+ receivable.setRecId(codeMap.get("outId").toString()).setRecNo(codeMap.get("outNote").toString())
|
|
|
+ .setRecType(Constant.recType.SHOU_KUAN.getName()).setAccType(1).setRecDirection(false)
|
|
|
+ .setObjectId(receiptVO.getCusId()).setOrgId(receiptVO.getOrgId()).setStaffId(receipt.getStaffId())
|
|
|
+ .setAccDate(receiptVO.getReceiptDate()).setRecStatus(Constant.recStatuse.QUE_DING.getName())
|
|
|
+ .setAmtReceivable(receiptVO.getReceiptAmt().negate()).setAmtResidue(receiptVO.getReceiptAmt().negate())
|
|
|
+ .setBiznisType("t_mac_receipt").setBiznisId(receiptVO.getReceiptId()).setBiznisNo(receiptVO.getReceiptNo())
|
|
|
+ .setMakeStaff(receiptVO.getMakeStaff());
|
|
|
+ receivableMapper.insert(receivable);
|
|
|
+
|
|
|
+ // 更新收款单上的应收账款
|
|
|
+ Receipt receiptUpdate = new Receipt();
|
|
|
+ receiptUpdate.setReceivableId(receivable.getRecId()).setReceiptId(receiptVO.getReceiptId());
|
|
|
+ super.updateByUuid(receiptUpdate);
|
|
|
+
|
|
|
+ // 插入账款总表
|
|
|
+ AccountObject accountObjectForUpdate = accountObjectMapper.selectByIdForUpdate(receiptVO.getCusId());
|
|
|
+ // 没有账款对象,需要新建
|
|
|
+ if(accountObjectForUpdate == null){
|
|
|
+ accountObjectForUpdate = new AccountObject();
|
|
|
+ accountObjectForUpdate.setObjectId(receiptVO.getCusId()).setObjectType("对象类型-客户");
|
|
|
+ accountObjectMapper.insert(accountObjectForUpdate);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 更新账款总表上收款的相关字段
|
|
|
+ AccountObject accountObjectUpdate = new AccountObject();
|
|
|
+ accountObjectUpdate.setSumPayment(accountObjectForUpdate.getSumPayment().add(receiptVO.getReceiptAmt()))// 总收付
|
|
|
+ .setSumMoney(accountObjectForUpdate.getSumMoney().add(receiptVO.getReceiptAmt()))// 总资金
|
|
|
+ .setAmtRefundable(accountObjectForUpdate.getAmtRefundable().add(receiptVO.getReceiptAmt())) // 可退金额
|
|
|
+ .setObjectId(accountObjectForUpdate.getObjectId());
|
|
|
+ accountObjectService.updateByUuid(accountObjectUpdate);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
return ResponseResultUtil.success();
|
|
|
}
|
|
|
|