Browse Source

交回车辆入库申请推送财务其他入库单调式

zhanglei
dimengzhe 4 weeks ago
parent
commit
d0685a448d
  1. 6
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java
  2. 6
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java
  3. 10
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stkmiscellaneous/StkMiscellaneous.java
  4. 11
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java
  5. 6
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkmiscellaneous/StkMiscellaneousService.java
  6. 11
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkmiscellaneous/data_FEntity.json
  7. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkmiscellaneous/data_model.json
  8. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkmisdelivery/StkMisDeliveryService.java
  9. 11
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturninboundapply/LoanReturnInboundApplyRest.java
  10. 45
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturninboundapply/LoanReturnInboundApplyService.java

6
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java

@ -23,6 +23,7 @@ import com.yxt.anrui.fin.api.kingdee.push.SalOutStockPushSalReturnStock;
import com.yxt.anrui.fin.api.kingdee.salesreturn.SalesReturn;
import com.yxt.anrui.fin.api.kingdee.saloutstock.SalOutStock;
import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock;
import com.yxt.anrui.fin.api.kingdee.stkmiscellaneous.StkMiscellaneous;
import com.yxt.anrui.fin.api.kingdee.stktransferdirect.StkTransferDirect;
import com.yxt.anrui.fin.api.kingdee.voucher.CollectionVoucher;
import com.yxt.anrui.fin.api.kingdee.voucher.GeneralVoucher;
@ -365,4 +366,9 @@ public interface FinKingDeeFeign {
// ResultBean<String> draftSalesReturnOrders(@RequestBody @Valid SalesReturn salesReturn);
ResultBean<String> draftSalesReturnOrders(@RequestBody @Valid SalOutStockPushSalReturnStock salReturnStock) throws Exception;
@ApiOperation("其它入库单保存接口")
@PostMapping("/draftStkMiscellaneous")
@ResponseBody
ResultBean<String> draftStkMiscellaneous(@RequestBody @Valid StkMiscellaneous stkMiscellaneous);
}

6
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java

@ -23,6 +23,7 @@ import com.yxt.anrui.fin.api.kingdee.push.SalOutStockPushSalReturnStock;
import com.yxt.anrui.fin.api.kingdee.salesreturn.SalesReturn;
import com.yxt.anrui.fin.api.kingdee.saloutstock.SalOutStock;
import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock;
import com.yxt.anrui.fin.api.kingdee.stkmiscellaneous.StkMiscellaneous;
import com.yxt.anrui.fin.api.kingdee.stktransferdirect.StkTransferDirect;
import com.yxt.anrui.fin.api.kingdee.voucher.CollectionVoucher;
import com.yxt.anrui.fin.api.kingdee.voucher.GeneralVoucher;
@ -334,5 +335,10 @@ implements FinKingDeeFeign{
return null;
}
@Override
public ResultBean<String> draftStkMiscellaneous(StkMiscellaneous stkMiscellaneous){
return null;
}
}

10
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stkmiscellaneous/StkMiscellaneous.java

@ -1,5 +1,6 @@
package com.yxt.anrui.fin.api.kingdee.stkmiscellaneous;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -14,24 +15,25 @@ import java.util.List;
@Data
public class StkMiscellaneous {
@ApiModelProperty("编号")
private String FBillNo;
@ApiModelProperty("库存组织")
@JsonProperty("FStockOrgId")
private String FStockOrgId;
@ApiModelProperty("部门")
@JsonProperty("FDEPTID")
private String FDEPTID;
@ApiModelProperty("日期")
private String FDate;
@ApiModelProperty("货主")
@JsonProperty("FOwnerIdHead")
private String FOwnerIdHead;
@ApiModelProperty("备注")
private String FNOTE;
public List<StkMiscellaneousEntry> StkMiscellaneousEntry = new ArrayList<>();
public List<StkMiscellaneous.StkMiscellaneousEntry> StkMiscellaneousEntry = new ArrayList<>();
@Data
public class StkMiscellaneousEntry {
public static class StkMiscellaneousEntry {
//物料编码
private String FMATERIALID;

11
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java

@ -28,6 +28,7 @@ import com.yxt.anrui.fin.api.kingdee.push.SalOutStockPushSalReturnStock;
import com.yxt.anrui.fin.api.kingdee.salesreturn.SalesReturn;
import com.yxt.anrui.fin.api.kingdee.saloutstock.SalOutStock;
import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock;
import com.yxt.anrui.fin.api.kingdee.stkmiscellaneous.StkMiscellaneous;
import com.yxt.anrui.fin.api.kingdee.stktransferdirect.StkTransferDirect;
import com.yxt.anrui.fin.api.kingdee.voucher.*;
import com.yxt.anrui.fin.biz.kingdee.appayable.APPayableService;
@ -54,6 +55,7 @@ import com.yxt.anrui.fin.biz.kingdee.receivablebill.ReceivableBillService;
import com.yxt.anrui.fin.biz.kingdee.salesreturn.SalesReturnOrdersService;
import com.yxt.anrui.fin.biz.kingdee.saloutstock.SalOutStockService;
import com.yxt.anrui.fin.biz.kingdee.stkinstock.STKInStockService;
import com.yxt.anrui.fin.biz.kingdee.stkmiscellaneous.StkMiscellaneousService;
import com.yxt.anrui.fin.biz.kingdee.stktransferdirect.StkTransferDirectService;
import com.yxt.anrui.fin.biz.kingdee.voucher.VoucherService;
import com.yxt.anrui.portal.api.dictcommon.DictCommonFeign;
@ -216,6 +218,9 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
@Autowired
private SysMappingFeign sysMappingFeign;
@Autowired
private StkMiscellaneousService stkMiscellaneousService;
@ApiOperation("入账暂存应付单的接口")
@PostMapping("/draftEntryBill")
@ResponseBody
@ -2008,6 +2013,12 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
return pushReturnService.getReturnStock(salReturnStock);
}
@Override
public ResultBean<String> draftStkMiscellaneous(StkMiscellaneous stkMiscellaneous) {
log.info("FinKingDeeFeignRest-draftStkMiscellaneous:{}", JSONObject.toJSONString(stkMiscellaneous));
return stkMiscellaneousService.draftStkMiscellaneous(stkMiscellaneous);
}
@ApiOperation("暂存收款单的接口")
@PostMapping("/draftArReceivebill")
@ResponseBody

6
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkmiscellaneous/StkMiscellaneousService.java

@ -37,13 +37,16 @@ public class StkMiscellaneousService extends FinKingDeeService {
map_fEntityModel_.put("FDate", sdf.format(new Date()));
}
map_fEntityModel_.put("FBaseCurrId", "PRE001");
map_fEntityModel_.put("FOwnerIdHead",stkMiscellaneous.getFOwnerIdHead());
map_fEntityModel_.put("FDEPTID",stkMiscellaneous.getFDEPTID());
map_fEntityModel_.put("FNOTE",stkMiscellaneous.getFNOTE());
List<StkMiscellaneous.StkMiscellaneousEntry> stkMiscellaneousEntryList = stkMiscellaneous.getStkMiscellaneousEntry() == null ? new ArrayList<>() : stkMiscellaneous.getStkMiscellaneousEntry();
//准备 物料列表的数据
ResultBean<List<Map<String, String>>> vehicleListMap = createVehicleListsForReceivableBill(stkMiscellaneousEntryList);
if (!vehicleListMap.getSuccess()) {
return rb.setMsg(vehicleListMap.getMsg());
}
String kingDeeData = VoucherCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_, vehicleListMap.getData());
String kingDeeData = StkMiscellaneousCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_, vehicleListMap.getData());
try {
ResultBean<String> resultBean1 = accessKingDeeInterface(KingDeeBillId.STK_MISCELLANEOUS.getID(), kingDeeData, KingDeeBillUrl.SAVE_URL.getURL());
if (!resultBean1.getSuccess()) {
@ -72,6 +75,7 @@ public class StkMiscellaneousService extends FinKingDeeService {
m.put("FUnitID", c.getFUnitID());
m.put("FSTOCKID", c.getFSTOCKID());
m.put("FOWNERID", c.getFOWNERID());
m.put("FKEEPERID", c.getFOWNERID());
mapList.add(m);
}

11
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkmiscellaneous/data_FEntity.json

@ -6,9 +6,10 @@
"FUnitID": {
"FNumber": "@KD_FUnitID"
},
"FQty": {
"FNumber": "@KD_FQty"
},
"FQty": 1.0,
"FREALQTY": 1.0,
"FBASEQTY": 1.0,
"FBaseUnitID": { "FNumber": "liang" },
"FSTOCKID": {
"FNumber": "@KD_FSTOCKID"
},
@ -18,5 +19,7 @@
"FOWNERTYPEID": "BD_OwnerOrg",
"FOWNERID": {
"FNumber": "@KD_FOWNERID"
}
},
"FKEEPERTYPEID": "BD_KeeperOrg",
"FKEEPERID": {"FNumber": "@KD_FKEEPERID"}
}

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkmiscellaneous/data_model.json

@ -1,5 +1,4 @@
{
"FBillNo": "@KD_FBillNo",
"FBillTypeID": {
"FNUMBER": "QTRKD01_SYS"
},
@ -15,6 +14,9 @@
"FBaseCurrId": {
"FNumber": "PRE001"
},
"FDEPTID": {
"FNumber": "@KD_FDEPTID"
},
"FNOTE": "@KD_FNOTE",
"FEntity": [
]

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkmisdelivery/StkMisDeliveryService.java

@ -45,7 +45,7 @@ public class StkMisDeliveryService extends FinKingDeeService {
if (!vehicleListMap.getSuccess()) {
return rb.setMsg(vehicleListMap.getMsg());
}
String kingDeeData = VoucherCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_, vehicleListMap.getData());
String kingDeeData = StkMisDeliveryCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_, vehicleListMap.getData());
try {
ResultBean<String> resultBean1 = accessKingDeeInterface(KingDeeBillId.STK_MISCELLANEOUS.getID(), kingDeeData, KingDeeBillUrl.SAVE_URL.getURL());
if (!resultBean1.getSuccess()) {

11
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturninboundapply/LoanReturnInboundApplyRest.java

@ -114,4 +114,15 @@ public class LoanReturnInboundApplyRest implements LoanReturnInboundApplyFeign {
return ResultBean.fireSuccess();
}
@ApiOperation(value = "财务推送其它入库单测试")
@PostMapping(value = "/pushStkIn")
public ResultBean pushStkIn(String sid){
LoanReturnInboundApply loanReturnInboundApply = loanReturnInboundApplyService.fetchBySid(sid);
loanReturnInboundApplyService.pushStkIn(loanReturnInboundApply);
return ResultBean.fireSuccess();
}
}

45
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturninboundapply/LoanReturnInboundApplyService.java

@ -20,6 +20,7 @@ import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeig
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusVinStateSetQuery;
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign;
import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer;
import com.yxt.anrui.fin.api.kingdee.stkmiscellaneous.StkMiscellaneous;
import com.yxt.anrui.fin.api.kingdee.voucher.Voucher;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
@ -610,6 +611,11 @@ public class LoanReturnInboundApplyService extends MybatisBaseService<LoanReturn
//TOdO:
pushRiskToFin(finalLoanReturnInboundApply);
});
Future future2 = pool.submit(() -> {
//推送其他入库单
//TOdO:
pushStkIn(finalLoanReturnInboundApply);
});
} catch (Exception e) {
e.printStackTrace();
}
@ -698,17 +704,15 @@ public class LoanReturnInboundApplyService extends MybatisBaseService<LoanReturn
//应收贷款车欠款_到期欠款_本金
BigDecimal bjMoney = BigDecimal.ZERO;
String lq = loanRepaymentPlanDetailsService.getYqLq(loanReturnInboundApply.getBusVinSid());
lqMoney = lqMoney.add(new BigDecimal(StringUtils.isBlank(lq)? "0" :lq));
lqMoney = lqMoney.add(new BigDecimal(StringUtils.isBlank(lq) ? "0" : lq));
//未到期欠款
String wdq = alrepaidAndArrVo.getUnexpiredMoney();
wdqMoney = wdqMoney.add(new BigDecimal(StringUtils.isBlank(wdq)?"0":wdq));
wdqMoney = wdqMoney.add(new BigDecimal(StringUtils.isBlank(wdq) ? "0" : wdq));
String bj = loanRepaymentPlanDetailsService.getBj(loanReturnInboundApply.getBusVinSid());
bjMoney = bjMoney.add(new BigDecimal(StringUtils.isBlank(bj)?"0":bj));
bjMoney = bjMoney.add(new BigDecimal(StringUtils.isBlank(bj) ? "0" : bj));
all = lqMoney.add(wdqMoney).add(bjMoney);
List<Voucher.VoucherResultDetailDto> voucherResultDetailDtos = new ArrayList<>();
//借方
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto();
@ -718,7 +722,7 @@ public class LoanReturnInboundApplyService extends MybatisBaseService<LoanReturn
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf3 = new Voucher.VoucherResultDetailDto();
//-------------------------------------------应收贷款车欠款_待处理欠款_扣回车辆
if(all.compareTo(BigDecimal.ZERO) != 0){
if (all.compareTo(BigDecimal.ZERO) != 0) {
voucherResultDetailDtoJf.setSummary("扣回车辆入库");
voucherResultDetailDtoJf.setSubjectNo("1201.03.01");
//核算部门
@ -730,7 +734,7 @@ public class LoanReturnInboundApplyService extends MybatisBaseService<LoanReturn
}
//---------------------------------------------应收贷款车欠款_到期欠款_累欠
if(lqMoney.compareTo(BigDecimal.ZERO) != 0){
if (lqMoney.compareTo(BigDecimal.ZERO) != 0) {
voucherResultDetailDtoDf1.setSummary("扣回车辆入库");
voucherResultDetailDtoDf1.setSubjectNo("1201.02.03");
//核算部门
@ -742,7 +746,7 @@ public class LoanReturnInboundApplyService extends MybatisBaseService<LoanReturn
}
//--------------------------------------------应收贷款车欠款_未到期欠款_未到期欠款
if(wdqMoney.compareTo(BigDecimal.ZERO) != 0){
if (wdqMoney.compareTo(BigDecimal.ZERO) != 0) {
voucherResultDetailDtoDf2.setSummary("扣回车辆入库");
voucherResultDetailDtoDf2.setSubjectNo("1201.01.00");
//核算部门
@ -754,7 +758,7 @@ public class LoanReturnInboundApplyService extends MybatisBaseService<LoanReturn
}
//-------------------------------------------应收贷款车欠款_到期欠款_本金
if(bjMoney.compareTo(BigDecimal.ZERO) != 0){
if (bjMoney.compareTo(BigDecimal.ZERO) != 0) {
voucherResultDetailDtoDf3.setSummary("扣回车辆入库");
voucherResultDetailDtoDf3.setSubjectNo("1201.02.01");
//核算部门
@ -764,13 +768,34 @@ public class LoanReturnInboundApplyService extends MybatisBaseService<LoanReturn
voucherResultDetailDtoDf3.setCredit(bjMoney.toString());
voucherResultDetailDtos.add(voucherResultDetailDtoDf3);
}
if(!voucherResultDetailDtos.isEmpty()){
if (!voucherResultDetailDtos.isEmpty()) {
voucher.setResultDetails(voucherResultDetailDtos);
finKingDeeFeign.saveVoucher(voucher);
}
}
public void pushStkIn(LoanReturnInboundApply loanReturnInboundApply) {
SysOrganizationVo sysOrg = sysOrganizationFeign.fetchBySid(loanReturnInboundApply.getUseOrgSid()).getData();
StkMiscellaneous stkMiscellaneous = new StkMiscellaneous();
List<StkMiscellaneous.StkMiscellaneousEntry> stkMiscellaneousEntryList = new ArrayList<>();
SysOrganizationVo sysOrgDept = sysOrganizationFeign.fetchBySid(loanReturnInboundApply.getCreateDeptSid()).getData();
stkMiscellaneous.setFStockOrgId(sysOrg.getOrgCode());
stkMiscellaneous.setFDEPTID(sysOrgDept.getOrgCode());
stkMiscellaneous.setFNOTE("");
stkMiscellaneous.setFDate(DateUtil.today());
stkMiscellaneous.setFOwnerIdHead(sysOrg.getOrgCode());
StkMiscellaneous.StkMiscellaneousEntry stkMiscellaneousEntry = new StkMiscellaneous.StkMiscellaneousEntry();
stkMiscellaneousEntry.setFMATERIALID(loanReturnInboundApply.getVinNo());
stkMiscellaneousEntry.setFUnitID("liang");
stkMiscellaneousEntry.setFSTOCKID("ARZSCK");
stkMiscellaneousEntry.setFOWNERID(sysOrg.getOrgCode());
stkMiscellaneousEntryList.add(stkMiscellaneousEntry);
stkMiscellaneous.setStkMiscellaneousEntry(stkMiscellaneousEntryList);
ResultBean resultBean = finKingDeeFeign.draftStkMiscellaneous(stkMiscellaneous);
}
private int submitBusinessData(SubmitReturnInbondApplyDto dto, LoanReturnInboundApply loanReturnInboundApply) {
int r = 0;
if (StringUtils.isBlank(dto.getSid())) {

Loading…
Cancel
Save