Browse Source

Merge remote-tracking branch 'origin/master'

master
yunuo970428 3 years ago
parent
commit
d43bf97c77
  1. 17
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/AppBaseOutsourcingApplicationVo.java
  2. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeign.java
  3. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeignFallback.java
  4. 27
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/PayBaseVehicleQuery.java
  5. 28
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/PayBaseVehicleVo.java
  6. 3
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualsales/AppBaseVehicleActualSalesVo.java
  7. 3
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/app/AppVehicleApplyListVo.java
  8. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/app/AppVehicleApplyVo.java
  9. 8
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyService.java
  10. 8
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationMapper.xml
  11. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.java
  12. 7
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml
  13. 16
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java
  14. 23
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java
  15. 3
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesMapper.xml
  16. 66
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java
  17. 6
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyMapper.xml
  18. 6
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplydetail/BusVehicleApplyDetailMapper.xml
  19. 62
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincostapply/AppFinCostApplyVo.java
  20. 7
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincostapply/FinCostapplyFeign.java
  21. 5
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincostapply/FinCostapplyFeignFallback.java
  22. 58
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapply/AppFinPaymentApplyVo.java
  23. 7
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapply/FinPaymentapply.java
  24. 11
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapply/FinPaymentapplyDetailsVo.java
  25. 11
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapply/FinPaymentapplyDto.java
  26. 4
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapply/FinPaymentapplyFeign.java
  27. 5
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapply/FinPaymentapplyFeignFallback.java
  28. 27
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetails/AppFinPaymentapplyDetailVo.java
  29. 34
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetails/FinPaymentapplyDetailDto.java
  30. 31
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetails/FinPaymentapplyDetailVo.java
  31. 33
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetails/FinPaymentapplyDetails.java
  32. 21
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplyvehicle/AppFinPaymentapplyVehicleVo.java
  33. 32
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplyvehicle/FinPaymentapplyVehicle.java
  34. 30
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplyvehicle/FinPaymentapplyVehicleDto.java
  35. 30
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplyvehicle/FinPaymentapplyVehicleVo.java
  36. 10
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java
  37. 12
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java
  38. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/KingDeeBillId.java
  39. 3
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/appaybill/ApPayBill.java
  40. 29
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bank/BDBank.java
  41. 33
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/cnbankcnt/CNBankacnt.java
  42. 4
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stkinstock/StkInStock.java
  43. 3
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincostapply/FinCostapplyMapper.java
  44. 26
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincostapply/FinCostapplyMapper.xml
  45. 5
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincostapply/FinCostapplyRest.java
  46. 92
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincostapply/FinCostapplyService.java
  47. 3
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyMapper.java
  48. 32
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyMapper.xml
  49. 5
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyRest.java
  50. 127
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyService.java
  51. 23
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplydetails/FinPaymentapplyDetailsMapper.java
  52. 32
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplydetails/FinPaymentapplyDetailsMapper.xml
  53. 48
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplydetails/FinPaymentapplyDetailsService.java
  54. 23
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplyvehicle/FinPaymentapplyVehicleMapper.java
  55. 28
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplyvehicle/FinPaymentapplyVehicleMapper.xml
  56. 46
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplyvehicle/FinPaymentapplyVehicleService.java
  57. 29
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java
  58. 50
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/appaybill/ApPayBillService.java
  59. 8
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/appaybill/data_FPAYBILLENTRY.json
  60. 44
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/BDBankCastToKingDeeBillFields.java
  61. 72
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/BDBankService.java
  62. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/data.json
  63. 13
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/data_data.json
  64. 11
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/data_model.json
  65. 59
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/remarks.txt
  66. 1
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/webapi测试的数据.txt
  67. BIN
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/银行的参数必填备注.xlsx
  68. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterial/BdMaterialService.java
  69. 44
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/CNBankcntCastToKingDeeBillFields.java
  70. 81
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/CNBankcntService.java
  71. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/data.json
  72. 13
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/data_data.json
  73. 20
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/data_model.json
  74. 75
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/remarks.txt
  75. 1
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/webapi测试的数据.txt
  76. BIN
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/银行的参数必填备注.xlsx
  77. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/STKInStockService.java
  78. 57
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/costapply/CostApplyFeign.java
  79. 9
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/costapply/CostApplyFeignFallback.java
  80. 68
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/costapply/CostDetailsVo.java
  81. 37
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/costapply/flowable/CostApplyDto.java
  82. 25
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/costapply/flowable/CostApplyQuery.java
  83. 47
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/costapply/flowable/CostApplyTaskQuery.java
  84. 34
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/paymentapply/PaymentApplyDetailsVo.java
  85. 56
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/paymentapply/PaymentApplyFeign.java
  86. 9
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/paymentapply/PaymentApplyFeignFallback.java
  87. 26
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/paymentapply/PaymentApplyVehicleVo.java
  88. 67
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/paymentapply/PaymentApplyVo.java
  89. 37
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/paymentapply/flowable/PaymentApplyDto.java
  90. 25
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/paymentapply/flowable/PaymentApplyQuery.java
  91. 47
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/paymentapply/flowable/PaymentApplyTaskQuery.java
  92. 27
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/externalPurchase/ExternalPurchaseVo.java
  93. 7
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/ModelModpriceModelVo.java
  94. 4
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/unsoldBuyout/UnsoldBuyoutVo.java
  95. 4
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/vehicleApply/VehicleApplyListVo.java
  96. 7
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/vehicleApply/VehicleApplyVo.java
  97. 54
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/finance/costapply/CostApplyRest.java
  98. 136
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/finance/costapply/CostApplyService.java
  99. 54
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/finance/paymentapply/PaymentApplyRest.java
  100. 137
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/finance/paymentapply/PaymentApplyService.java

17
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/AppBaseOutsourcingApplicationVo.java

@ -37,9 +37,9 @@ public class AppBaseOutsourcingApplicationVo implements Vo {
private String insideCode;
@ApiModelProperty("采购单位名称")
private String purchasingUnitName;
@ApiModelProperty("开户银行")
@ApiModelProperty("车款开户银行")
private String depositBankName;
@ApiModelProperty("银行账号")
@ApiModelProperty("车款银行账号")
private String bankAccount;
@ApiModelProperty("采购价格")
private String purchasePrice;
@ -62,4 +62,17 @@ public class AppBaseOutsourcingApplicationVo implements Vo {
private String configSid;
private AppBaseVesionVo carDetailPage;
@ApiModelProperty("车款收款账户")
private String accountName;
@ApiModelProperty("订金开户银行")
private String modelBankName;
@ApiModelProperty("订金银行账号")
private String modelBankAccount;
@ApiModelProperty("订金收款账户名称")
private String modelAccountName;
@ApiModelProperty("是否先付款")
private String isBeforePaymentKey;
@ApiModelProperty("是否先付款 1是,0否")
private String isBeforePaymentValue;
}

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeign.java

@ -317,6 +317,10 @@ public interface BaseVehicleFeign {
@PostMapping("/selectCostVehicleList")
ResultBean<PagerVo<VehicleCostListVo>> selectCostVehicleList(@RequestBody PagerQuery<VehicleCostListQuery> pagerQuery);
@ApiOperation("付款申请选择车辆分页列表")
@PostMapping("/selectPayVehicleList")
ResultBean<PagerVo<PayBaseVehicleVo>> selectPayVehicleList(@RequestBody PagerQuery<PayBaseVehicleQuery> pagerQuery);
@ApiOperation("入库根据车架号更改车辆台账数据")
@PostMapping("/updateVehicleEnterlibraryByVin")
ResultBean updateVehicleEnterlibraryByVin(@RequestBody VehicleEnterlibrary vehicleEnterlibrary);

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeignFallback.java

@ -218,6 +218,11 @@ public class BaseVehicleFeignFallback implements BaseVehicleFeign {
return null;
}
@Override
public ResultBean<PagerVo<PayBaseVehicleVo>> selectPayVehicleList(PagerQuery<PayBaseVehicleQuery> pagerQuery) {
return null;
}
@Override
public ResultBean updateVehicleEnterlibraryByVin(VehicleEnterlibrary vehicleEnterlibrary) {
return null;

27
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/PayBaseVehicleQuery.java

@ -0,0 +1,27 @@
package com.yxt.anrui.base.api.basevehicle;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/10/8 11:21
* @Description
*/
@Data
public class PayBaseVehicleQuery implements Query {
private static final long serialVersionUID = 8939482367294270164L;
@ApiModelProperty(value = "已选择的车辆的sid")
private List<String> sidList = new ArrayList<>();
@ApiModelProperty(value = "车架号")
private String vinNo;
@ApiModelProperty(value = "用户sid")
private String userSid;
}

28
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/PayBaseVehicleVo.java

@ -0,0 +1,28 @@
package com.yxt.anrui.base.api.basevehicle;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/10/8 11:16
* @Description
*/
@Data
public class PayBaseVehicleVo implements Vo {
private static final long serialVersionUID = 8935506131970564858L;
@ApiModelProperty("车型名称")
private String modelName;
@ApiModelProperty("车型sid")
private String modelSid;
@ApiModelProperty("配置sid")
private String configSid;
@ApiModelProperty("车辆sid")
private String vehSid;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("厂家结算价")
private String costPrice;
}

3
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualsales/AppBaseVehicleActualSalesVo.java

@ -44,4 +44,7 @@ public class AppBaseVehicleActualSalesVo implements Vo {
private String payStateKey;
@ApiModelProperty("付款明细合计")
private String payDetailTotal;
@ApiModelProperty("分公司")
private String useOrgName;
}

3
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/app/AppVehicleApplyListVo.java

@ -41,4 +41,7 @@ public class AppVehicleApplyListVo implements Vo {
@ApiModelProperty(value = "配置名称")
private String configName;
@ApiModelProperty("厂家销售通路")
private String actualPay;
}

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/app/AppVehicleApplyVo.java

@ -48,4 +48,6 @@ public class AppVehicleApplyVo implements Vo {
private String applyType;
@ApiModelProperty("订金付款备注")
private String payRemarks;
@ApiModelProperty("采购系统")
private String orgDeptName;
}

8
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyService.java

@ -458,6 +458,10 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa
* 车辆类型
*/
sf.setCllx("03");
/**
* 车辆类型
*/
sf.setCllxType("03");
/**
* // 批号:FLot
*/
@ -474,6 +478,10 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa
* 物料分组
*/
sf.setWlfz("01");
/**
* 物料分组
*/
sf.setWlfzType("01");
fInStockEntry.add(sf);
}
stkInStock.setFInStockEntry(fInStockEntry);

8
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationMapper.xml

@ -64,7 +64,13 @@
totalExpenseAmount,
remarks,
modelSid,
configSid
configSid,
accountName,
modelBankName,
modelBankAccount,
modelAccountName,
isBeforePayment as isBeforePaymentKey,
case isBeforePayment when 1 then '是' when 0 then '否' end as isBeforePaymentValue
from base_outsourcing_application
where sid = #{sid}
</select>

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.java

@ -464,4 +464,6 @@ public interface BaseVehicleMapper extends BaseMapper<BaseVehicle> {
@Update("update base_vehicle set remarks = #{remarks} where sid = #{sid}")
void updateVehRemarks(@Param("remarks") String remarks,@Param("sid") String sid);
IPage<PayBaseVehicleVo> selectPayVehicleList(IPage<BaseVehicle> page,@Param(Constants.WRAPPER) QueryWrapper<BaseVehicle> qw);
}

7
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml

@ -1182,4 +1182,11 @@
${ew.sqlSegment}
</where>
</select>
<select id="selectPayVehicleList" resultType="com.yxt.anrui.base.api.basevehicle.PayBaseVehicleVo">
select bv.vinNo,bv.modelName,bv.modelSid,bv.modelConfigSid configSid,bv.sid vehSid,bv.costPrice from base_vehicle bv
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

16
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java

@ -267,7 +267,10 @@ public class BaseVehicleRest implements BaseVehicleFeign {
* 车辆类型
*/
sf.setCllx("03");//TODO 需要根据车辆对应的车型 分析出车辆类型 推送到车辆台账中 规则:1.车辆类型—>优先考虑LNG的类型,然后再是牵引、载货等。
/**
* 车辆类型
*/
sf.setCllxType("03");
/**
* // 批号:FLot
*/
@ -284,6 +287,10 @@ public class BaseVehicleRest implements BaseVehicleFeign {
* 物料分组
*/
sf.setWlfz("01");
/**
* 物料分组
*/
sf.setWlfzType("01");
fInStockEntry.add(sf);
}
stkInStock.setFInStockEntry(fInStockEntry);
@ -629,6 +636,13 @@ public class BaseVehicleRest implements BaseVehicleFeign {
return rb.success().setData(pv);
}
@Override
public ResultBean<PagerVo<PayBaseVehicleVo>> selectPayVehicleList(PagerQuery<PayBaseVehicleQuery> pagerQuery) {
ResultBean<PagerVo<PayBaseVehicleVo>> rb = ResultBean.fireFail();
PagerVo<PayBaseVehicleVo> pv = baseVehicleService.selectPayVehicleList(pagerQuery);
return rb.success().setData(pv);
}
@Override
public ResultBean updateVehicleEnterlibraryByVin(VehicleEnterlibrary vehicleEnterlibrary) {
return baseVehicleService.updateVehicleEnterlibraryByVin(vehicleEnterlibrary);

23
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java

@ -2647,4 +2647,27 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
baseMapper.updateVehRemarks(remarks,sid);
return rb.success().setMsg("备注修改成功");
}
public PagerVo<PayBaseVehicleVo> selectPayVehicleList(PagerQuery<PayBaseVehicleQuery> pagerQuery) {
IPage<BaseVehicle> page = PagerUtil.queryToPage(pagerQuery);
PayBaseVehicleQuery query = pagerQuery.getParams();
QueryWrapper<BaseVehicle> qw = new QueryWrapper<>();
//本分公司、非删除、库存状态为非在途非调入。
if (query != null) {
if (StringUtils.isNotBlank(query.getUserSid())) {
ResultBean<String> resultBean = sysStaffOrgFeign.getPathSidByUserSid(query.getUserSid());
qw.eq("bv.useOrgSid", resultBean.getData());
}
if (query.getSidList().size() > 0) {
qw.notIn("bv.vinNo", query.getSidList());
}
if (StringUtils.isNotBlank(query.getVinNo())) {
qw.like("bv.vinNo", query.getVinNo());
}
qw.and(wrapper -> wrapper.ne("bv.vehicleState", VehicleState.StockEnum.ING_STOCK.getCode()).or().ne("bv.vehicleState", VehicleState.StockEnum.DR_STOCK.getCode()));
}
IPage<PayBaseVehicleVo> pagging = baseMapper.selectPayVehicleList(page, qw);
PagerVo<PayBaseVehicleVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
}

3
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesMapper.xml

@ -64,7 +64,8 @@
reason,
money,
case isPay when '1' then '1' when '0' then '0' end payStateKey,
case isPay when '1' then '是' when '0' then '否' end payState
case isPay when '1' then '是' when '0' then '否' end payState,
useOrgName
from base_vehicle_actual_sales
where sid = #{sid}
</select>

66
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java

@ -7,6 +7,10 @@ import com.yxt.anrui.base.api.basevehicle.BaseVehicle;
import com.yxt.anrui.base.api.basevehicleout.*;
import com.yxt.anrui.base.biz.basevehicle.BaseVehicleService;
import com.yxt.anrui.base.common.enums.VehicleState;
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign;
import com.yxt.anrui.fin.api.kingdee.saloutstock.SalOutStock;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
@ -17,7 +21,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* @Author dimengzhe
@ -29,6 +35,10 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
@Autowired
private BaseVehicleService baseVehicleService;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private FinKingDeeFeign finKingDeeFeign;
public ResultBean vehicleOut(BaseVehicleOutDto dto) {
ResultBean rb = ResultBean.fireFail();
@ -63,9 +73,65 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
baseVehicle.setSalePrice(Integer.valueOf(dto.getPrice()));
baseVehicleService.updateById(baseVehicle);
////ToDo:推送财务出库单
//推送金蝶出库单
try {
SalOutStock salOutStock = createSalOutStock(baseVehicle);
ResultBean resultBean1 = finKingDeeFeign.draftSalOutStock(salOutStock);
} catch (Exception e) {
log.error(e.getMessage());
}
return rb.success();
}
private SalOutStock createSalOutStock(BaseVehicle baseVehicle) {
SalOutStock salOutStock = new SalOutStock();
//日期
salOutStock.setFDate(baseVehicle.getCreateTime().toString());
//分公司id
ResultBean<SysOrganizationVo> resultBean = sysOrganizationFeign.fetchBySid(baseVehicle.getCreateOrgSid());
if (!resultBean.getSuccess()) {
SysOrganizationVo vo = resultBean.getData();
if (vo != null) {
salOutStock.setFSaleOrgId(vo.getOrgCode());
}
}
//客户
//销售部门id
ResultBean<SysOrganizationVo> resultBean1 = sysOrganizationFeign.selectByPSid(baseVehicle.getCreateOrgSid(), "销售支持部");
if (resultBean1.getSuccess()) {
SysOrganizationVo vo = resultBean1.getData();
if (vo != null) {
salOutStock.setFSaleDeptID(vo.getOrgCode());
}
}
//项目类别key和项目类别type
//业务员
//中介单位
//物料列表
List<SalOutStock.FEntity> fEntityList = new ArrayList<>();
SalOutStock.FEntity fEntity = new SalOutStock.FEntity();
//单价
//物料编码
//批号
//仓库id
//销售折让
//返利金额
//备注
fEntityList.add(fEntity);
if (fEntityList.size() > 0) {
salOutStock.setFEntity(fEntityList);
return salOutStock;
} else {
return null;
}
}
public PagerVo<BaseVehicleOutVo> pagerList(PagerQuery<BaseVehicleOutQuery> query) {
IPage<BaseVehicleOut> page = PagerUtil.queryToPage(query);
BaseVehicleOutQuery params = query.getParams();

6
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyMapper.xml

@ -74,7 +74,8 @@
ba.createOrgSid as userSid,
ba.createOrgName,
ba.applyType,
ba.payRemarks
ba.payRemarks,
ba.orgDeptName
from bus_vehicle_apply ba
where sid = #{sid}
</select>
@ -99,6 +100,7 @@
select count(*)
from bus_vehicle_apply ba
left join base_manufactor_subscription bs on ba.applicationCode = bs.proSchAppNo
where bs.state = 1 and find_in_set(ba.sid, #{join})
where bs.state = 1
and find_in_set(ba.sid, #{join})
</select>
</mapper>

6
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplydetail/BusVehicleApplyDetailMapper.xml

@ -55,7 +55,8 @@
left join bus_vehicle_apply bv on bd.applySid = bv.sid
left join bus_vehicle_order bo on bo.purchaseApplyMediumModelSid = bd.sid
where bd.vehicleSid = #{modelSid}
and bd.configSid = #{configSid} and length(bo.platformNo)>0
and bd.configSid = #{configSid}
and length(bo.platformNo) > 0
</select>
<select id="getVehicleApply" resultType="com.yxt.anrui.base.api.busvehicleapply.app.AppVehicleApplyListVo">
@ -68,7 +69,8 @@
bd.remarks,
bd.configName,
bsz.guidePrice,
bsz.sid topSid
bsz.sid topSid,
bd.actualPay
from bus_vehicle_apply_detail bd
left join bus_vehicle_apply_sz bsz on bsz.detailsSid = bd.sid
where bd.applySid = #{sid}

62
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincostapply/AppFinCostApplyVo.java

@ -0,0 +1,62 @@
package com.yxt.anrui.fin.api.fincostapply;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/10/4 18:07
* @Description
*/
@Data
public class AppFinCostApplyVo implements Vo {
private static final long serialVersionUID = 7253342244052642678L;
@ApiModelProperty("费用名称")
private String costTitleValue;
@ApiModelProperty("创建时间")
private String createTime;
//申请人
private String name;
//费用类型
private String costTypeValue;
//申请费用
private String cost;
//使用方式
private String useTypeValue;
//备注
private String remarks;
//是否涉及车辆
@ApiModelProperty("是否涉及车辆:1是,0否")
private String isVeh;
private String isVehKey;
//涉及车辆
private String vins;
//任务id
private String taskId;
//实例id
private String procInstId;
private String sid;
@ApiModelProperty("是否需要出门:1是,0否.如果涉及车辆,则选择是否需要出门")
private String isOutDoor;
@ApiModelProperty("创建人sid")
private String createBySid;
}

7
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincostapply/FinCostapplyFeign.java

@ -117,4 +117,11 @@ public interface FinCostapplyFeign {
public ResultBean breakProcess(@Valid @RequestBody FinCostTaskQuery query);
/***********************************移动端************************************************/
@ApiOperation(value = "app详情")
@GetMapping(value = "/appDetails/{sid}")
@ResponseBody
ResultBean<AppFinCostApplyVo> appDetails(@PathVariable("sid")String sid);
}

5
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincostapply/FinCostapplyFeignFallback.java

@ -106,4 +106,9 @@ public class FinCostapplyFeignFallback implements FinCostapplyFeign {
public ResultBean breakProcess(FinCostTaskQuery query) {
return null;
}
@Override
public ResultBean<AppFinCostApplyVo> appDetails(String sid) {
return null;
}
}

58
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapply/AppFinPaymentApplyVo.java

@ -0,0 +1,58 @@
package com.yxt.anrui.fin.api.finpaymentapply;
import com.yxt.anrui.fin.api.finpaymentapplydetails.AppFinPaymentapplyDetailVo;
import com.yxt.anrui.fin.api.finpaymentapplyvehicle.AppFinPaymentapplyVehicleVo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/10/6 10:35
* @Description
*/
@Data
public class AppFinPaymentApplyVo implements Vo {
private static final long serialVersionUID = -7421450588161214608L;
@ApiModelProperty("款项名称")
private String costTitleValue;
//创建时间
private String createTime;
//申请人
private String name;
//款项类别
private String costTypeValue;
//业务编号
private String busSid;
//金额
private String cost;
//付款单位名称
private String payCompany;
//收款单位名称
private String receiveCompany;
//付款备注
private String remarks;
//是否涉及车辆
private String isVeh;
private String isVehValue;
//付款明细List
private List<AppFinPaymentapplyDetailVo> paymentList = new ArrayList<>();
@ApiModelProperty("付款明细合计")
private String paymentTotal;
//车辆列表
private List<AppFinPaymentapplyVehicleVo> carList = new ArrayList<>();
@ApiModelProperty("车辆金额合计")
private String carTotal;
private String createBySid;
private String taskId;
private String procInstId;
private String sid;
}

7
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapply/FinPaymentapply.java

@ -96,4 +96,11 @@ public class FinPaymentapply extends BaseEntity {
@ApiModelProperty(value = "任务id")
private String taskId;
@ApiModelProperty("是否涉及车辆,1是,0否")
private String isVeh;
@ApiModelProperty("付款明细合计")
private BigDecimal paymentTotal;
@ApiModelProperty("车辆金额合计")
private BigDecimal carTotal;
}

11
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapply/FinPaymentapplyDetailsVo.java

@ -26,12 +26,16 @@
package com.yxt.anrui.fin.api.finpaymentapply;
import com.yxt.anrui.fin.api.finpaymentapplydetails.FinPaymentapplyDetailVo;
import com.yxt.anrui.fin.api.finpaymentapplyvehicle.FinPaymentapplyVehicleVo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* Project: anrui-fin(财务) <br/>
* File: FinPaymentapplyVo.java <br/>
@ -88,4 +92,9 @@ public class FinPaymentapplyDetailsVo implements Vo {
@ApiModelProperty(value = "备注")
private String remarks;
private List<FinPaymentapplyDetailVo> detailsList = new ArrayList<>();
private List<FinPaymentapplyVehicleVo> vehicleList = new ArrayList<>();
private String isVeh;
}

11
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapply/FinPaymentapplyDto.java

@ -26,12 +26,15 @@
package com.yxt.anrui.fin.api.finpaymentapply;
import com.yxt.anrui.fin.api.finpaymentapplydetails.FinPaymentapplyDetailDto;
import com.yxt.anrui.fin.api.finpaymentapplyvehicle.FinPaymentapplyVehicleDto;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* Project: anrui-fin(财务) <br/>
* File: FinPaymentapplyDto.java <br/>
@ -83,4 +86,10 @@ public class FinPaymentapplyDto implements Dto {
@ApiModelProperty(value = "业务关联:编号")
private String busSid;
private List<FinPaymentapplyDetailDto> detailsList;
private List<FinPaymentapplyVehicleDto> vehicleList;
@ApiModelProperty("是否涉及车辆,1是,0否")
private String isVeh;
}

4
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapply/FinPaymentapplyFeign.java

@ -109,5 +109,9 @@ public interface FinPaymentapplyFeign {
@PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@Valid @RequestBody FinPayTaskQuery query);
@ApiOperation(value = "移动端详情")
@GetMapping(value = "/getPaymentApply/{sid}")
ResultBean<AppFinPaymentApplyVo> getPaymentApply(@PathVariable("sid") String sid);
}

5
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapply/FinPaymentapplyFeignFallback.java

@ -105,4 +105,9 @@ public class FinPaymentapplyFeignFallback implements FinPaymentapplyFeign {
public ResultBean breakProcess(FinPayTaskQuery query) {
return null;
}
@Override
public ResultBean<AppFinPaymentApplyVo> getPaymentApply(String sid) {
return null;
}
}

27
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetails/AppFinPaymentapplyDetailVo.java

@ -0,0 +1,27 @@
package com.yxt.anrui.fin.api.finpaymentapplydetails;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/10/6 14:41
* @Description
*/
@Data
public class AppFinPaymentapplyDetailVo implements Vo {
private static final long serialVersionUID = -5474423439043642156L;
@ApiModelProperty("厂家销售通路")
private String actualPay;
@ApiModelProperty("付款方式")
private String paymentType;
@ApiModelProperty("开户行")
private String bank;
@ApiModelProperty("收款银行账号")
private String receivingAccount;
@ApiModelProperty("付款金额")
private String payAccount;
@ApiModelProperty("备注")
private String remarks;
}

34
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetails/FinPaymentapplyDetailDto.java

@ -0,0 +1,34 @@
package com.yxt.anrui.fin.api.finpaymentapplydetails;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* @Author dimengzhe
* @Date 2022/10/6 21:26
* @Description
*/
@Data
public class FinPaymentapplyDetailDto implements Dto {
private static final long serialVersionUID = -5488673242509961312L;
@ApiModelProperty("付款方式key")
private String paymentTypeKey;
@ApiModelProperty("付款方式")
private String paymentType;
@ApiModelProperty("厂家销售通路")
private String actualPay;
@ApiModelProperty("开户行")
private String bank;
@ApiModelProperty("收款银行账号")
private String receivingAccount;
@ApiModelProperty("付款金额")
private String payAccount;
@ApiModelProperty("备注")
private String remarks;
}

31
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetails/FinPaymentapplyDetailVo.java

@ -0,0 +1,31 @@
package com.yxt.anrui.fin.api.finpaymentapplydetails;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* @Author dimengzhe
* @Date 2022/10/6 22:13
* @Description
*/
@Data
public class FinPaymentapplyDetailVo implements Vo {
private static final long serialVersionUID = 2763515857490645883L;
@ApiModelProperty("付款方式key")
private String paymentTypeKey;
@ApiModelProperty("付款方式")
private String paymentType;
@ApiModelProperty("厂家销售通路")
private String actualPay;
@ApiModelProperty("开户行")
private String bank;
@ApiModelProperty("收款银行账号")
private String receivingAccount;
@ApiModelProperty("付款金额")
private String payAccount;
}

33
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetails/FinPaymentapplyDetails.java

@ -0,0 +1,33 @@
package com.yxt.anrui.fin.api.finpaymentapplydetails;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* @Author dimengzhe
* @Date 2022/10/6 14:11
* @Description
*/
@Data
public class FinPaymentapplyDetails extends BaseEntity {
private static final long serialVersionUID = -4576193401443241659L;
private String applySid;
@ApiModelProperty("付款方式key")
private String paymentTypeKey;
@ApiModelProperty("付款方式")
private String paymentType;
@ApiModelProperty("厂家销售通路")
private String actualPay;
@ApiModelProperty("开户行")
private String bank;
@ApiModelProperty("收款银行账号")
private String receivingAccount;
@ApiModelProperty("付款金额")
private BigDecimal payAccount;
}

21
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplyvehicle/AppFinPaymentapplyVehicleVo.java

@ -0,0 +1,21 @@
package com.yxt.anrui.fin.api.finpaymentapplyvehicle;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/10/6 14:56
* @Description
*/
@Data
public class AppFinPaymentapplyVehicleVo implements Vo {
private static final long serialVersionUID = -3232965325256220009L;
@ApiModelProperty("车型")
private String modelName;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("厂家结算价")
private String money;
}

32
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplyvehicle/FinPaymentapplyVehicle.java

@ -0,0 +1,32 @@
package com.yxt.anrui.fin.api.finpaymentapplyvehicle;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* @Author dimengzhe
* @Date 2022/10/6 14:23
* @Description
*/
@Data
public class FinPaymentapplyVehicle extends BaseEntity {
private static final long serialVersionUID = 6931224151880251447L;
@ApiModelProperty("付款申请")
private String applySid;
@ApiModelProperty("车型名称")
private String modelName;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("车辆sid")
private String vehiSid;
@ApiModelProperty("车型sid")
private String modelSid;
@ApiModelProperty("配置sid")
private String configSid;
@ApiModelProperty("厂家结算价")
private BigDecimal money;
}

30
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplyvehicle/FinPaymentapplyVehicleDto.java

@ -0,0 +1,30 @@
package com.yxt.anrui.fin.api.finpaymentapplyvehicle;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* @Author dimengzhe
* @Date 2022/10/6 21:28
* @Description
*/
@Data
public class FinPaymentapplyVehicleDto implements Dto {
private static final long serialVersionUID = 5067723170213631020L;
@ApiModelProperty("车型名称")
private String modelName;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("车辆sid")
private String vehiSid;
@ApiModelProperty("车型sid")
private String modelSid;
@ApiModelProperty("配置sid")
private String configSid;
@ApiModelProperty("厂家结算价")
private String money;
}

30
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplyvehicle/FinPaymentapplyVehicleVo.java

@ -0,0 +1,30 @@
package com.yxt.anrui.fin.api.finpaymentapplyvehicle;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* @Author dimengzhe
* @Date 2022/10/6 22:14
* @Description
*/
@Data
public class FinPaymentapplyVehicleVo implements Vo {
private static final long serialVersionUID = 3601884852528436759L;
@ApiModelProperty("车型名称")
private String modelName;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("车辆sid")
private String vehiSid;
@ApiModelProperty("车型sid")
private String modelSid;
@ApiModelProperty("配置sid")
private String configSid;
@ApiModelProperty("厂家结算价")
private String money;
}

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

@ -3,10 +3,12 @@ package com.yxt.anrui.fin.api.kingdee;
import com.yxt.anrui.fin.api.kingdee.appayable.APPayable;
import com.yxt.anrui.fin.api.kingdee.appaybill.ApPayBill;
import com.yxt.anrui.fin.api.kingdee.arreceivable.ARReceivable;
import com.yxt.anrui.fin.api.kingdee.bank.BDBank;
import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer;
import com.yxt.anrui.fin.api.kingdee.bdmaterial.BdMaterial;
import com.yxt.anrui.fin.api.kingdee.bdstock.BDStock;
import com.yxt.anrui.fin.api.kingdee.bdsupplier.BdSupplier;
import com.yxt.anrui.fin.api.kingdee.cnbankcnt.CNBankacnt;
import com.yxt.anrui.fin.api.kingdee.orgorganizations.OrgOrganizations;
import com.yxt.anrui.fin.api.kingdee.purmrb.PurMrb;
import com.yxt.anrui.fin.api.kingdee.push.STKInStockPushPurmrb;
@ -105,4 +107,12 @@ public interface FinKingDeeFeign {
@PostMapping("/drafBDStock")
@ResponseBody
public ResultBean<String> drafBDtStock(@RequestBody @Valid BDStock bDtStock) throws Exception;
@ApiOperation("暂存银行的接口")
@PostMapping("/drafBDBank")
@ResponseBody
public ResultBean<String> drafBDBank(@RequestBody @Valid BDBank bdBank) ;
@ApiOperation("暂存银行账号的接口")
@PostMapping("/drafCNBankacnt")
@ResponseBody
public ResultBean<String> drafCNBankacnt(@RequestBody @Valid CNBankacnt cnBankacnt);
}

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

@ -3,10 +3,12 @@ package com.yxt.anrui.fin.api.kingdee;
import com.yxt.anrui.fin.api.kingdee.appayable.APPayable;
import com.yxt.anrui.fin.api.kingdee.appaybill.ApPayBill;
import com.yxt.anrui.fin.api.kingdee.arreceivable.ARReceivable;
import com.yxt.anrui.fin.api.kingdee.bank.BDBank;
import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer;
import com.yxt.anrui.fin.api.kingdee.bdmaterial.BdMaterial;
import com.yxt.anrui.fin.api.kingdee.bdstock.BDStock;
import com.yxt.anrui.fin.api.kingdee.bdsupplier.BdSupplier;
import com.yxt.anrui.fin.api.kingdee.cnbankcnt.CNBankacnt;
import com.yxt.anrui.fin.api.kingdee.orgorganizations.OrgOrganizations;
import com.yxt.anrui.fin.api.kingdee.purmrb.PurMrb;
import com.yxt.anrui.fin.api.kingdee.push.STKInStockPushPurmrb;
@ -98,5 +100,15 @@ implements FinKingDeeFeign{
return null;
}
@Override
public ResultBean<String> drafBDBank(BDBank bdBank) {
return null;
}
@Override
public ResultBean<String> drafCNBankacnt(CNBankacnt cnBankacnt) {
return null;
}
}

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/KingDeeBillId.java

@ -13,6 +13,8 @@ public enum KingDeeBillId {
BD_CUSTOMER("BD_Customer","客户"),
BD_SUPPLIER("BD_Supplier","供应商"),
BD_MATERIAL("BD_MATERIAL","物料"),
BD_BANK("BD_BANK","银行"),
CN_BANKACNT("CN_BANKACNT","银行账号"),
BD_STOCK("BD_STOCK","仓库");
private String ID;
private String NAME;

3
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/appaybill/ApPayBill.java

@ -42,7 +42,7 @@ public class ApPayBill {
/**
* //应付类别:F_PAEZ_AssistantKey (必填项) 默认:005 定金
*/
@JsonProperty("F_PAEZ_Assistant")
@JsonProperty("F_PAEZ_AssistantKey")
@NotBlank
public String F_PAEZ_AssistantKey;
/**
@ -73,7 +73,6 @@ public class ApPayBill {
//付款组织:FPAYORGID (必填项)
/* public String FPAYORGID ;*/
@JsonProperty("FPAYBILLENTRY")
@NotBlank
public List<FPAYBILLENTRY> FPAYBILLENTRY=new ArrayList<>();
@Data
public static class FPAYBILLENTRY{

29
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bank/BDBank.java

@ -0,0 +1,29 @@
package com.yxt.anrui.fin.api.kingdee.bank;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* 银行
*/
@Data
public class BDBank {
/* 创建组织:FCreateOrgId (必填项)*/
@NotBlank
@JsonProperty("FCreateOrgId")
public String FCreateOrgId;
/*名称:FName (必填项)*/
@NotBlank
@JsonProperty("FName")
public String FName;
/* 使用组织:FUseOrgId (必填项)*/
@NotBlank
@JsonProperty("FUseOrgId")
public String FUseOrgId;
/* :FNumber (必填项)*/
@NotBlank
@JsonProperty("FNumber")
public String FNumber;
}

33
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/cnbankcnt/CNBankacnt.java

@ -0,0 +1,33 @@
package com.yxt.anrui.fin.api.kingdee.cnbankcnt;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* 银行账号
*/
@Data
public class CNBankacnt {
/*银行账号:FNumber (必填项)*/
@NotBlank
@JsonProperty("FNumber")
public String FNumber;
/*开户银行:FBANKID (必填项)*/
@NotBlank
@JsonProperty("FBANKID")
public String FBANKID;
/*账户名称:FName (必填项)*/
@NotBlank
@JsonProperty("FName")
public String FName;
/*使用组织:FUseOrgId (必填项)*/
@NotBlank
@JsonProperty("FUseOrgId")
public String FUseOrgId;
/*创建组织:FCreateOrgId (必填项)*/
@NotBlank
@JsonProperty("FCreateOrgId")
public String FCreateOrgId;
}

4
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stkinstock/StkInStock.java

@ -85,11 +85,15 @@ public class StkInStock {
*/
@NotBlank
public String wlfz;
@NotBlank
public String wlfzType;
/**
* 车辆类型
*/
@NotBlank
public String cllx;
@NotBlank
public String cllxType;
/**
* // 单价:FPrice
*/@JsonProperty("FPrice")

3
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincostapply/FinCostapplyMapper.java

@ -29,6 +29,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.fin.api.fincostapply.AppFinCostApplyVo;
import com.yxt.anrui.fin.api.fincostapply.FinCostapplyDetailsVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -81,4 +82,6 @@ public interface FinCostapplyMapper extends BaseMapper<FinCostapply> {
int selectBySid(String list);
String selectNum(String bill);
AppFinCostApplyVo appDetails(String sid);
}

26
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincostapply/FinCostapplyMapper.xml

@ -74,8 +74,30 @@
</select>
<select id="selectNum" resultType="java.lang.String">
select RIGHT(billNo,4)
select RIGHT(billNo, 4)
from fin_costapply
where billNo LIKE concat(#{bill}, '%') order by id desc limit 1
where billNo LIKE concat(#{bill}, '%')
order by id desc
limit 1
</select>
<select id="appDetails" resultType="com.yxt.anrui.fin.api.fincostapply.AppFinCostApplyVo">
select fc.costTitleValue,
DATE_FORMAT(fc.createTime, '%Y-%m-%d') as createTime,
fc.name,
fc.costTypeValue,
fc.cost,
fc.useTypeValue,
fc.remarks,
fc.isVeh as isVehKey,
fc.taskId,
fc.procInstId,
fc.sid,
fc.createBySid,
case fc.isOutDoor when 1 then '是' when 0 then '否' end as isOutDoor,
case fc.isVeh when 1 then '是' when 0 then '否' end as isVeh
from fin_costapply fc
where fc.sid = #{sid}
</select>
</mapper>

5
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincostapply/FinCostapplyRest.java

@ -127,4 +127,9 @@ public class FinCostapplyRest implements FinCostapplyFeign {
public ResultBean breakProcess(FinCostTaskQuery query) {
return finCostapplyService.breakProcess(query);
}
@Override
public ResultBean<AppFinCostApplyVo> appDetails(String sid) {
return finCostapplyService.appDetails(sid);
}
}

92
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincostapply/FinCostapplyService.java

@ -43,6 +43,7 @@ import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo;
import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
@ -59,6 +60,9 @@ import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.messagecenter.api.message.MessageFeign;
import com.yxt.messagecenter.api.message.MessageFlowVo;
import com.yxt.messagecenter.api.message.MessageFlowableQuery;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -99,6 +103,8 @@ public class FinCostapplyService extends MybatisBaseService<FinCostapplyMapper,
private SysStaffPostFeign sysStaffPostFeign;
@Autowired
private SysUserRoleFeign sysUserRoleFeign;
@Autowired
private MessageFeign messageFeign;
public PagerVo<FinCostapplyVo> listPageVo(PagerQuery<FinCostapplyQuery> pq) {
FinCostapplyQuery query = pq.getParams();
@ -259,6 +265,9 @@ public class FinCostapplyService extends MybatisBaseService<FinCostapplyMapper,
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
//用户的部门全路径sid
bv.setOrgSidPath(orgSidPath);
//业务sid
@ -287,12 +296,12 @@ public class FinCostapplyService extends MybatisBaseService<FinCostapplyMapper,
String userSid = dto.getCreateBySid();
ResultBean<List<String>> userRoleList = sysUserRoleFeign.getUserRoleSidByUserSid(userSid);
UserRoleQuery userRoleQuery = new UserRoleQuery();
if(userRoleList.getData().size()>0){
if (userRoleList.getData().size() > 0) {
userRoleQuery.setRoleSid(userRoleList.getData().get(0));
}
userRoleQuery.setOrgSid(staffOrgResultBean.getData().getOrgSid());
ResultBean<List<SysUserVo>> listResultBean = sysUserFeign.getUserByOrgRole(userRoleQuery);
if(!listResultBean.getSuccess()){
if (!listResultBean.getSuccess()) {
return rb.setMsg(listResultBean.getMsg());
}
List<SysUserVo> sysUserVos = listResultBean.getData();
@ -314,6 +323,18 @@ public class FinCostapplyService extends MybatisBaseService<FinCostapplyMapper,
}
UpdateFlowFieldVo ufVo = voResultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(ufVo));
//极光推送
finCostapply = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("费用申请");
messageFlowableQuery.setMsgContent(finCostapply.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("费用申请");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
return voResultBean;
}
if (r == 2) {
@ -379,15 +400,33 @@ public class FinCostapplyService extends MybatisBaseService<FinCostapplyMapper,
ResultBean rb = ResultBean.fireFail();
FinCostapply finCostapply = fetchBySid(bv.getBusinessSid());
if (bv.getTaskId().equals(finCostapply.getTaskId())) {
Map<String, Object> vaributes = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", bv.getBusinessSid());
vaributes.put("app", appMap);
bv.setFormVariables(vaributes);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
/* //ToDo:出纳付款记录
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
}*/
if (!"Event_end".equals(resultBean.getData().getTaskDefKey())){
//极光推送
UpdateFlowFieldVo ufVo = resultBean.getData();
finCostapply = fetchBySid(bv.getBusinessSid());
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
ufVo.setProcDefId(finCostapply.getProcDefId());
ufVo.setProcInsId(finCostapply.getProcInstId());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(bv.getBusinessSid());
messageFlowableQuery.setModuleName("费用申请");
messageFlowableQuery.setMsgContent(finCostapply.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("费用申请");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
}
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
@ -440,6 +479,7 @@ public class FinCostapplyService extends MybatisBaseService<FinCostapplyMapper,
if (finCostapply == null) {
return rb.setMsg("该申请不存在");
}
String businessSid = query.getBusinessSid();
String businessTaskId = finCostapply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
@ -451,6 +491,11 @@ public class FinCostapplyService extends MybatisBaseService<FinCostapplyMapper,
}
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
Map<String, Object> vaributes = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", query.getBusinessSid());
vaributes.put("app", appMap);
flowTaskVo.setValues(vaributes);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
@ -458,6 +503,30 @@ public class FinCostapplyService extends MybatisBaseService<FinCostapplyMapper,
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
//更新业务中的流程相关的参数
updateFlowFiled(map);
//极光推送
UpdateFlowFieldVo ufVo = resultBean.getData();
finCostapply = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
String procId = finCostapply.getProcInstId();
ufVo.setProcInsId(procId);
ufVo.setProcDefId(finCostapply.getProcDefId());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("费用申请");
ResultBean<List<LatestTaskVo>> listResultBean = flowTaskFeign.getLatestTasks(procId);
String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_();
List<String> receiveSidList = Arrays.asList(nextNodeUserSids.split(","));
if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(finCostapply.getCreateBySid())) {
messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交");
} else {
messageFlowableQuery.setMsgContent(finCostapply.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
}
messageFlowableQuery.setMsgTitle("费用申请");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
return rb.success();
}
}
@ -537,4 +606,15 @@ public class FinCostapplyService extends MybatisBaseService<FinCostapplyMapper,
delBySids(sids);
return rb.success().setMsg("删除成功");
}
public ResultBean<AppFinCostApplyVo> appDetails(String sid) {
ResultBean<AppFinCostApplyVo> rb = ResultBean.fireFail();
AppFinCostApplyVo appFinCostApplyVo = baseMapper.appDetails(sid);
if ("1".equals(appFinCostApplyVo.getIsVehKey())) {//涉及车辆
List<String> vinNoList = finCostapplyVehicleService.selectByApplySid(sid);
String vins = StringUtils.join(vinNoList.toArray(), "\n");
appFinCostApplyVo.setVins(vins);
}
return rb.success().setData(appFinCostApplyVo);
}
}

3
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyMapper.java

@ -29,6 +29,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.fin.api.finpaymentapply.AppFinPaymentApplyVo;
import com.yxt.anrui.fin.api.finpaymentapply.FinPaymentapplyDetailsVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -76,4 +77,6 @@ public interface FinPaymentapplyMapper extends BaseMapper<FinPaymentapply> {
List<String> selectCodeBySid(@Param("list") List<String> applySids);
int updateStateBySid(@Param("sid") String applySid, @Param("state") int state);
AppFinPaymentApplyVo getPaymentApply(String sid);
}

32
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyMapper.xml

@ -47,9 +47,11 @@
</update>
<select id="selectNum" resultType="java.lang.String">
select RIGHT(billNo,4)
select RIGHT(billNo, 4)
from fin_paymentapply
where billNo LIKE concat(#{bill}, '%') order by id desc limit 1
where billNo LIKE concat(#{bill}, '%')
order by id desc
limit 1
</select>
<select id="fetchDetailsVoBySid" resultType="com.yxt.anrui.fin.api.finpaymentapply.FinPaymentapplyDetailsVo">
@ -71,7 +73,8 @@
fp.receiveCompanySid,
fp.remarks,
fp.name,
DATE_FORMAT(fp.createTime, '%Y-%m-%d') as createTime
DATE_FORMAT(fp.createTime, '%Y-%m-%d') as createTime,
fp.isVeh
from fin_paymentapply fp
where fp.sid = #{sid}
</select>
@ -96,4 +99,27 @@
set state = #{state}
where sid = #{sid}
</update>
<select id="getPaymentApply" resultType="com.yxt.anrui.fin.api.finpaymentapply.AppFinPaymentApplyVo">
select fp.costTitleValue,
DATE_FORMAT(fp.createTime, '%Y-%m-%d') as createTime,
fp.createBySid,
fp.name,
fp.costTypeValue,
fp.busSid,
fp.cost,
fp.payCompany,
fp.receiveCompany,
fp.remarks,
fp.isVeh,
case fp.isVeh when 1 then '是' when 0 then '否' end as isVehValue,
fp.paymentTotal,
fp.carTotal,
fp.sid,
fp.createBySid,
fp.taskId,
fp.procInstId
from fin_paymentapply fp
where sid = #{sid}
</select>
</mapper>

5
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyRest.java

@ -126,4 +126,9 @@ public class FinPaymentapplyRest implements FinPaymentapplyFeign {
public ResultBean breakProcess(FinPayTaskQuery query) {
return finPaymentapplyService.breakProcess(query);
}
@Override
public ResultBean<AppFinPaymentApplyVo> getPaymentApply(String sid) {
return finPaymentapplyService.getPaymentApply(sid);
}
}

127
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyService.java

@ -37,12 +37,21 @@ import com.yxt.anrui.fin.api.finpaymentapply.flow.FinPayGetNodeQuery;
import com.yxt.anrui.fin.api.finpaymentapply.flow.FinPayGetNodeVo;
import com.yxt.anrui.fin.api.finpaymentapply.flow.FinPayTaskQuery;
import com.yxt.anrui.fin.api.finpaymentapply.flow.SubmitFinPayDto;
import com.yxt.anrui.fin.api.finpaymentapplydetails.AppFinPaymentapplyDetailVo;
import com.yxt.anrui.fin.api.finpaymentapplydetails.FinPaymentapplyDetailDto;
import com.yxt.anrui.fin.api.finpaymentapplydetails.FinPaymentapplyDetailVo;
import com.yxt.anrui.fin.api.finpaymentapplyvehicle.AppFinPaymentapplyVehicleVo;
import com.yxt.anrui.fin.api.finpaymentapplyvehicle.FinPaymentapplyVehicleDto;
import com.yxt.anrui.fin.api.finpaymentapplyvehicle.FinPaymentapplyVehicleVo;
import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordDto;
import com.yxt.anrui.fin.biz.finpaymentapplydetails.FinPaymentapplyDetailsService;
import com.yxt.anrui.fin.biz.finpaymentapplyvehicle.FinPaymentapplyVehicleService;
import com.yxt.anrui.fin.biz.finpaymentrecord.FinPaymentrecordService;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo;
import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
@ -58,10 +67,14 @@ import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.messagecenter.api.message.MessageFeign;
import com.yxt.messagecenter.api.message.MessageFlowVo;
import com.yxt.messagecenter.api.message.MessageFlowableQuery;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
@ -96,6 +109,13 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
@Autowired
private SysStaffPostFeign sysStaffPostFeign;
@Autowired
private FinPaymentapplyDetailsService finPaymentapplyDetailsService;
@Autowired
private FinPaymentapplyVehicleService finPaymentapplyVehicleService;
@Autowired
private MessageFeign messageFeign;
public PagerVo<FinPaymentapplyVo> listPageVo(PagerQuery<FinPaymentapplyQuery> pq) {
FinPaymentapplyQuery query = pq.getParams();
QueryWrapper<FinPaymentapply> qw = new QueryWrapper<>();
@ -141,6 +161,15 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
BeanUtil.copyProperties(dto, finPaymentapply, "sid");
String billNo = getApplyCode(dto);
finPaymentapply.setBillNo(billNo);
List<FinPaymentapplyDetailDto> detailsList = dto.getDetailsList();
String i = finPaymentapplyDetailsService.saveDetailsList(detailsList, finPaymentapply.getSid());
if ("1".equals(dto.getIsVeh())) {
List<FinPaymentapplyVehicleDto> vehicleDtoList = dto.getVehicleList();
String j = finPaymentapplyVehicleService.saveVehicleList(vehicleDtoList, finPaymentapply.getSid());
finPaymentapply.setCarTotal(new BigDecimal(j));
}
finPaymentapply.setPaymentTotal(new BigDecimal(i));
baseMapper.insert(finPaymentapply);
dtoSid = finPaymentapply.getSid();
} else {
@ -149,6 +178,17 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
return rb.setMsg("该付款申请不存在");
}
BeanUtil.copyProperties(dto, finPaymentapply);
List<FinPaymentapplyDetailDto> detailsList = dto.getDetailsList();
String i = finPaymentapplyDetailsService.saveDetailsList(detailsList, finPaymentapply.getSid());
if ("1".equals(dto.getIsVeh())) {
List<FinPaymentapplyVehicleDto> vehicleDtoList = dto.getVehicleList();
String j = finPaymentapplyVehicleService.saveVehicleList(vehicleDtoList, finPaymentapply.getSid());
finPaymentapply.setCarTotal(new BigDecimal(j));
} else {
finPaymentapplyVehicleService.deleteVehicle(dtoSid);
}
finPaymentapply.setPaymentTotal(new BigDecimal(i));
baseMapper.updateById(finPaymentapply);
}
return rb.success().setData(dtoSid);
@ -176,6 +216,10 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
public FinPaymentapplyDetailsVo fetchDetailsVoBySid(String sid) {
FinPaymentapplyDetailsVo vo = baseMapper.fetchDetailsVoBySid(sid);
List<FinPaymentapplyDetailVo> detailsList = finPaymentapplyDetailsService.getDetails(sid);
List<FinPaymentapplyVehicleVo> vehicleList = finPaymentapplyVehicleService.getVehicleList(sid);
vo.setDetailsList(detailsList);
vo.setVehicleList(vehicleList);
return vo;
}
@ -217,6 +261,9 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
//用户的部门全路径sid
bv.setOrgSidPath(orgSidPath);
//业务sid
@ -255,6 +302,18 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
}
UpdateFlowFieldVo ufVo = voResultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(ufVo));
//极光推送
finPaymentapply = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("付款申请");
messageFlowableQuery.setMsgContent(finPaymentapply.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("付款申请");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
return voResultBean;
}
if (r == 2) {
@ -319,6 +378,11 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
ResultBean rb = ResultBean.fireFail();
FinPaymentapply finPaymentapply = fetchBySid(bv.getBusinessSid());
if (bv.getTaskId().equals(finPaymentapply.getTaskId())) {
Map<String, Object> vaributes = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", bv.getBusinessSid());
vaributes.put("app", appMap);
bv.setFormVariables(vaributes);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
@ -341,6 +405,22 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
finPaymentrecordDto.setReceiveCompany(finPaymentapply.getReceiveCompany());
finPaymentrecordDto.setReceiveBankAccount(finPaymentapply.getReceiveBankAccount());
finPaymentrecordService.saveDto(finPaymentrecordDto);
} else {
//极光推送
UpdateFlowFieldVo ufVo = resultBean.getData();
finPaymentapply = fetchBySid(bv.getBusinessSid());
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
ufVo.setProcDefId(finPaymentapply.getProcDefId());
ufVo.setProcInsId(finPaymentapply.getProcInstId());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(bv.getBusinessSid());
messageFlowableQuery.setModuleName("付款申请");
messageFlowableQuery.setMsgContent(finPaymentapply.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("付款申请");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
}
return rb.success().setData(resultBean.getData());
} else {
@ -395,6 +475,7 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
return rb.setMsg("该申请不存在");
}
String businessTaskId = finPaymentapply.getTaskId();
String businessSid = query.getBusinessSid();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
if (StringUtils.isBlank(query.getComment())) {
@ -405,6 +486,11 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
}
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
Map<String, Object> vaributes = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", query.getBusinessSid());
vaributes.put("app", appMap);
flowTaskVo.setValues(vaributes);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
@ -412,6 +498,30 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
//更新业务中的流程相关的参数
updateFlowFiled(map);
//极光推送
UpdateFlowFieldVo ufVo = resultBean.getData();
finPaymentapply = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
String procId = finPaymentapply.getProcInstId();
ufVo.setProcInsId(procId);
ufVo.setProcDefId(finPaymentapply.getProcDefId());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("付款申请");
ResultBean<List<LatestTaskVo>> listResultBean = flowTaskFeign.getLatestTasks(procId);
String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_();
List<String> receiveSidList = Arrays.asList(nextNodeUserSids.split(","));
if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(finPaymentapply.getCreateBySid())) {
messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交");
} else {
messageFlowableQuery.setMsgContent(finPaymentapply.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
}
messageFlowableQuery.setMsgTitle("付款申请");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
return rb.success();
}
}
@ -488,6 +598,11 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
return rb.setMsg("删除的数据中包含已经提交审批的数据,删除失败");
}
delBySids(sids);
List<String> sidsList = Arrays.asList(sids);
for (String s : sidsList) {
finPaymentapplyDetailsService.deleteByApplySid(s);
finPaymentapplyVehicleService.deleteVehicle(s);
}
return rb.success().setMsg("删除成功");
}
@ -498,4 +613,16 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
public int updateStateBySid(String applySid, int state) {
return baseMapper.updateStateBySid(applySid, state);
}
public ResultBean<AppFinPaymentApplyVo> getPaymentApply(String sid) {
ResultBean<AppFinPaymentApplyVo> rb = ResultBean.fireFail();
AppFinPaymentApplyVo vo = baseMapper.getPaymentApply(sid);
List<AppFinPaymentapplyDetailVo> paymentList = finPaymentapplyDetailsService.getDetailsList(sid);
vo.setPaymentList(paymentList);
if ("1".equals(vo.getIsVeh())) {//涉及车辆
List<AppFinPaymentapplyVehicleVo> carList = finPaymentapplyVehicleService.getCarList(sid);
vo.setCarList(carList);
}
return rb.success().setData(vo);
}
}

23
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplydetails/FinPaymentapplyDetailsMapper.java

@ -0,0 +1,23 @@
package com.yxt.anrui.fin.biz.finpaymentapplydetails;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.fin.api.finpaymentapplydetails.AppFinPaymentapplyDetailVo;
import com.yxt.anrui.fin.api.finpaymentapplydetails.FinPaymentapplyDetailVo;
import com.yxt.anrui.fin.api.finpaymentapplydetails.FinPaymentapplyDetails;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/10/6 15:16
* @Description
*/
@Mapper
public interface FinPaymentapplyDetailsMapper extends BaseMapper<FinPaymentapplyDetails> {
List<AppFinPaymentapplyDetailVo> getDetailsList(String sid);
int deleteDetail(String sid);
List<FinPaymentapplyDetailVo> getDetails(String sid);
}

32
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplydetails/FinPaymentapplyDetailsMapper.xml

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yxt.anrui.fin.biz.finpaymentapplydetails.FinPaymentapplyDetailsMapper">
<select id="getDetailsList" resultType="com.yxt.anrui.fin.api.finpaymentapplydetails.AppFinPaymentapplyDetailVo">
select fd.actualPay,
fd.paymentType,
fd.bank,
fd.receivingAccount,
fd.payAccount,
fd.remarks
from fin_paymentapply_details fd
where fd.applySid = #{sid}
</select>
<delete id="deleteDetail">
delete
from fin_paymentapply_details
where applySid = #{sid}
</delete>
<select id="getDetails" resultType="com.yxt.anrui.fin.api.finpaymentapplydetails.FinPaymentapplyDetailVo">
select fd.actualPay,
fd.paymentType,
fd.bank,
fd.receivingAccount,
fd.payAccount,
fd.remarks,
fd.paymentTypeKey
from fin_paymentapply_details fd
where fd.applySid = #{sid}
</select>
</mapper>

48
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplydetails/FinPaymentapplyDetailsService.java

@ -0,0 +1,48 @@
package com.yxt.anrui.fin.biz.finpaymentapplydetails;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.fin.api.finpaymentapplydetails.AppFinPaymentapplyDetailVo;
import com.yxt.anrui.fin.api.finpaymentapplydetails.FinPaymentapplyDetailDto;
import com.yxt.anrui.fin.api.finpaymentapplydetails.FinPaymentapplyDetailVo;
import com.yxt.anrui.fin.api.finpaymentapplydetails.FinPaymentapplyDetails;
import com.yxt.common.base.service.MybatisBaseService;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/10/6 15:16
* @Description
*/
@Service
public class FinPaymentapplyDetailsService extends MybatisBaseService<FinPaymentapplyDetailsMapper, FinPaymentapplyDetails> {
public List<AppFinPaymentapplyDetailVo> getDetailsList(String sid) {
return baseMapper.getDetailsList(sid);
}
public String saveDetailsList(List<FinPaymentapplyDetailDto> detailsList, String sid) {
//删除
baseMapper.deleteDetail(sid);
BigDecimal bigDecimal = new BigDecimal("0");
for (FinPaymentapplyDetailDto dto : detailsList) {
FinPaymentapplyDetails finPaymentapplyDetails = new FinPaymentapplyDetails();
BeanUtil.copyProperties(dto, finPaymentapplyDetails, "sid");
finPaymentapplyDetails.setApplySid(sid);
bigDecimal = bigDecimal.add(new BigDecimal(dto.getPayAccount()));
finPaymentapplyDetails.setPayAccount(new BigDecimal(dto.getPayAccount()));
baseMapper.insert(finPaymentapplyDetails);
}
return bigDecimal.toString();
}
public void deleteByApplySid(String s) {
baseMapper.deleteDetail(s);
}
public List<FinPaymentapplyDetailVo> getDetails(String sid) {
return baseMapper.getDetails(sid);
}
}

23
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplyvehicle/FinPaymentapplyVehicleMapper.java

@ -0,0 +1,23 @@
package com.yxt.anrui.fin.biz.finpaymentapplyvehicle;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.fin.api.finpaymentapplyvehicle.AppFinPaymentapplyVehicleVo;
import com.yxt.anrui.fin.api.finpaymentapplyvehicle.FinPaymentapplyVehicle;
import com.yxt.anrui.fin.api.finpaymentapplyvehicle.FinPaymentapplyVehicleVo;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/10/6 15:18
* @Description
*/
@Mapper
public interface FinPaymentapplyVehicleMapper extends BaseMapper<FinPaymentapplyVehicle> {
List<AppFinPaymentapplyVehicleVo> getCarList(String sid);
int deleteVehicle(String sid);
List<FinPaymentapplyVehicleVo> getVehicleList(String sid);
}

28
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplyvehicle/FinPaymentapplyVehicleMapper.xml

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yxt.anrui.fin.biz.finpaymentapplyvehicle.FinPaymentapplyVehicleMapper">
<select id="getCarList" resultType="com.yxt.anrui.fin.api.finpaymentapplyvehicle.AppFinPaymentapplyVehicleVo">
select fv.modelName,
fv.vinNo,
fv.money
from fin_paymentapply_vehicle fv
where applySid = #{sid}
</select>
<delete id="deleteVehicle">
delete
from fin_paymentapply_vehicle
where applySid = #{sid}
</delete>
<select id="getVehicleList" resultType="com.yxt.anrui.fin.api.finpaymentapplyvehicle.FinPaymentapplyVehicleVo">
select fv.modelName,
fv.vinNo,
fv.money,
fv.modelSid,
fv.vehiSid,
fv.configSid
from fin_paymentapply_vehicle fv
where applySid = #{sid}
</select>
</mapper>

46
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplyvehicle/FinPaymentapplyVehicleService.java

@ -0,0 +1,46 @@
package com.yxt.anrui.fin.biz.finpaymentapplyvehicle;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.fin.api.finpaymentapplyvehicle.AppFinPaymentapplyVehicleVo;
import com.yxt.anrui.fin.api.finpaymentapplyvehicle.FinPaymentapplyVehicle;
import com.yxt.anrui.fin.api.finpaymentapplyvehicle.FinPaymentapplyVehicleDto;
import com.yxt.anrui.fin.api.finpaymentapplyvehicle.FinPaymentapplyVehicleVo;
import com.yxt.common.base.service.MybatisBaseService;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/10/6 15:18
* @Description
*/
@Service
public class FinPaymentapplyVehicleService extends MybatisBaseService<FinPaymentapplyVehicleMapper, FinPaymentapplyVehicle> {
public List<AppFinPaymentapplyVehicleVo> getCarList(String sid) {
return baseMapper.getCarList(sid);
}
public String saveVehicleList(List<FinPaymentapplyVehicleDto> vehicleDtoList, String sid) {
baseMapper.deleteVehicle(sid);
BigDecimal bigDecimal = new BigDecimal("0");
for (FinPaymentapplyVehicleDto dto : vehicleDtoList) {
FinPaymentapplyVehicle finPaymentapplyVehicle = new FinPaymentapplyVehicle();
BeanUtil.copyProperties(dto, finPaymentapplyVehicle, "sid");
finPaymentapplyVehicle.setMoney(new BigDecimal(dto.getMoney()));
bigDecimal = bigDecimal.add(new BigDecimal(dto.getMoney()));
baseMapper.insert(finPaymentapplyVehicle);
}
return bigDecimal.toString();
}
public void deleteVehicle(String dtoSid) {
baseMapper.deleteVehicle(dtoSid);
}
public List<FinPaymentapplyVehicleVo> getVehicleList(String sid) {
return baseMapper.getVehicleList(sid);
}
}

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

@ -4,10 +4,12 @@ import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign;
import com.yxt.anrui.fin.api.kingdee.appayable.APPayable;
import com.yxt.anrui.fin.api.kingdee.appaybill.ApPayBill;
import com.yxt.anrui.fin.api.kingdee.arreceivable.ARReceivable;
import com.yxt.anrui.fin.api.kingdee.bank.BDBank;
import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer;
import com.yxt.anrui.fin.api.kingdee.bdmaterial.BdMaterial;
import com.yxt.anrui.fin.api.kingdee.bdstock.BDStock;
import com.yxt.anrui.fin.api.kingdee.bdsupplier.BdSupplier;
import com.yxt.anrui.fin.api.kingdee.cnbankcnt.CNBankacnt;
import com.yxt.anrui.fin.api.kingdee.orgorganizations.OrgOrganizations;
import com.yxt.anrui.fin.api.kingdee.purmrb.PurMrb;
import com.yxt.anrui.fin.api.kingdee.push.STKInStockPushPurmrb;
@ -16,10 +18,12 @@ import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock;
import com.yxt.anrui.fin.api.kingdee.stktransferdirect.StkTransferDirect;
import com.yxt.anrui.fin.biz.kingdee.appaybill.ApPayBillService;
import com.yxt.anrui.fin.biz.kingdee.appayable.APPayableService;
import com.yxt.anrui.fin.biz.kingdee.bank.BDBankService;
import com.yxt.anrui.fin.biz.kingdee.bdcustomer.BdCustomerService;
import com.yxt.anrui.fin.biz.kingdee.bdmaterial.BdMaterialService;
import com.yxt.anrui.fin.biz.kingdee.bdstock.BDStockService;
import com.yxt.anrui.fin.biz.kingdee.bdsupplier.BdSupplierService;
import com.yxt.anrui.fin.biz.kingdee.cnbankcnt.CNBankcntService;
import com.yxt.anrui.fin.biz.kingdee.orgorganizations.OrgOrganizationsService;
import com.yxt.anrui.fin.biz.kingdee.purmrb.PurMrbService;
import com.yxt.anrui.fin.biz.kingdee.push.PushService;
@ -106,6 +110,16 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
*/
@Autowired
private PushService pushService;
/**
* 银行
*/
@Autowired
private BDBankService bdBankService;
/**
* 银行
*/
@Autowired
private CNBankcntService cnBankcntService;
@ApiOperation("入账暂存应付单的接口")
@PostMapping("/draftEntryBill")
@ResponseBody
@ -223,5 +237,20 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
public ResultBean<String> drafBDtStock(@RequestBody @Valid BDStock bDtStock) throws Exception {
return bDStockService.draftBDStock(bDtStock);//bdCustomerService;//bdCustomerService.getKingBillDataInfoList("","");
}
@ApiOperation("暂存银行的接口")
@PostMapping("/drafBDBank")
@ResponseBody
@Override
public ResultBean<String> drafBDBank(BDBank bdBank) {
return bdBankService.draftBDBank(bdBank);//bdCustomerService;//bdCustomerService.getKingBillDataInfoList("","");
}
@ApiOperation("暂存银行账号的接口")
@PostMapping("/drafCNBankacnt")
@ResponseBody
@Override
public ResultBean<String> drafCNBankacnt(CNBankacnt cNBankacnt) {
return cnBankcntService.draftCNBankcnt(cNBankacnt);//bdCustomerService;//bdCustomerService.getKingBillDataInfoList("","");
}
}

50
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/appaybill/ApPayBillService.java

@ -31,56 +31,29 @@ public class ApPayBillService extends FinKingDeeService {
//业务表的主表数据集合
Map<String,String> map_fEntityModel_= object2Map(apPayBill);//createMapParams(stringObjectMap);
//应付类别
String F_PAEZ_AssistantType = map_fEntityModel_.get("F_PAEZ_AssistantType");
String F_PAEZ_AssistantKey = map_fEntityModel_.get("F_PAEZ_AssistantKey");
SysMappingInfoQuery smiq=new SysMappingInfoQuery();
smiq.setMap_sourceKey("CWXT");
smiq.setMap_object("付款单");
smiq.setMap_item("应付类别");
smiq.setDictKey(F_PAEZ_AssistantKey);
smiq.setDictTypeCode(F_PAEZ_AssistantType);
ResultBean<SysMappingInfoVo> sysMappingInfoVoResultBean = sysMappingFeign.selectMappingInfo(smiq);
ResultBean<SysMappingInfoVo> sysMappingInfoVoResultBean = getSysMappingInfoVoResultBean( "应付类别",map_fEntityModel_.get("F_PAEZ_AssistantKey"), map_fEntityModel_.get("F_PAEZ_AssistantType"));
boolean success = sysMappingInfoVoResultBean.getSuccess();
if(!success){
return rb.setMsg(sysMappingInfoVoResultBean.getMsg());
}
String F_PAEZ_Assistant=sysMappingInfoVoResultBean.getData().getMap_itemKey();//TODO 根据应付类别的code,key查询金蝶系统中的应付类别的编码 映射来源“CWXT”/“财务系统”
map_fEntityModel_.put("F_PAEZ_Assistant",F_PAEZ_Assistant);
map_fEntityModel_.put("F_PAEZ_Assistant","001");//sysMappingInfoVoResultBean.getData().getMap_itemKey());
//准备 物料列表的数据 ForEntryBill
List<ApPayBill.FPAYBILLENTRY> fpaybillentrYs = apPayBill.getFPAYBILLENTRY();
List<Map<String, String>> vehicleListMap = createVehicleLists(fpaybillentrYs);
for(int i=0;i<vehicleListMap.size();i++){
Map<String,String> params=vehicleListMap.get(i);
//付款用途
String FPURPOSEIDType = params.get("FPURPOSEIDType");
String FPURPOSEIDKey = params.get("FPURPOSEIDKey");
smiq=new SysMappingInfoQuery();
smiq.setMap_sourceKey("CWXT");
smiq.setMap_object("付款单");
smiq.setMap_item("付款用途");
smiq.setDictKey(FPURPOSEIDKey);
smiq.setDictTypeCode(FPURPOSEIDType);
sysMappingInfoVoResultBean = sysMappingFeign.selectMappingInfo(smiq);
sysMappingInfoVoResultBean = getSysMappingInfoVoResultBean( "付款用途", params.get("FPURPOSEIDKey"), params.get("FPURPOSEIDType"));
if(! sysMappingInfoVoResultBean.getSuccess()){
return rb.setMsg(sysMappingInfoVoResultBean.getMsg());
}
String FPURPOSEID=sysMappingInfoVoResultBean.getData().getMap_itemKey();//TODO 根据付款用途的code,key查询金蝶系统中的付款用途的编码 映射来源“CWXT”/“财务系统”
params.put("FPURPOSEID",FPURPOSEID);
params.put("FPURPOSEID","SFKYT08_SYS");//sysMappingInfoVoResultBean.getData().getMap_itemKey());
//结算方式
String FSETTLETYPEIDType = params.get("FSETTLETYPEIDType");
String FSETTLETYPEIDKey = params.get("FSETTLETYPEIDKey");
smiq=new SysMappingInfoQuery();
smiq.setMap_sourceKey("CWXT");
smiq.setMap_object("付款单");
smiq.setMap_item("结算方式");
smiq.setDictKey(FSETTLETYPEIDKey);
smiq.setDictTypeCode(FSETTLETYPEIDType);
sysMappingInfoVoResultBean = sysMappingFeign.selectMappingInfo(smiq);
sysMappingInfoVoResultBean = getSysMappingInfoVoResultBean( "结算方式", params.get("FSETTLETYPEIDKey"), params.get("FSETTLETYPEIDType"));
if(!sysMappingInfoVoResultBean.getSuccess()){
return rb.setMsg(sysMappingInfoVoResultBean.getMsg());
}
String FSETTLETYPEID=sysMappingInfoVoResultBean.getData().getMap_itemKey();//TODO 根据结算方式的code,key查询金蝶系统中的结算方式的编码 映射来源“CWXT”/“财务系统”
params.put("FSETTLETYPEID",FSETTLETYPEID);
params.put("FSETTLETYPEID","02");//sysMappingInfoVoResultBean.getData().getMap_itemKey());
}
String kingDeeData = ApPayBillCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap);
return accessKingDeeInterface(KingDeeBillId.AP_PAYBILL.getID(),kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL());
@ -89,4 +62,15 @@ public class ApPayBillService extends FinKingDeeService {
}
return rb;
}
private ResultBean<SysMappingInfoVo> getSysMappingInfoVoResultBean( String Map_item, String FPURPOSEIDKey,
String FPURPOSEIDType) {
SysMappingInfoQuery smiq =new SysMappingInfoQuery();
smiq.setMap_sourceKey("CWXT");
smiq.setMap_object("付款单");
smiq.setMap_item(Map_item);
smiq.setDictKey(FPURPOSEIDKey);
smiq.setDictTypeCode(FPURPOSEIDType);
return sysMappingFeign.selectMappingInfo(smiq);
}
}

8
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/appaybill/data_FPAYBILLENTRY.json

@ -6,10 +6,10 @@
"FNumber": "@KD_FPURPOSEID"
},
"FPAYTOTALAMOUNTFOR": @KD_FPAYTOTALAMOUNTFOR,
"FPAYAMOUNTFOR_E": @KD_FPAYAMOUNTFOR_E,
"FSETTLEPAYAMOUNTFOR": @KD_FSETTLEPAYAMOUNTFOR,
"FREALPAYAMOUNTFOR_D": @KD_FREALPAYAMOUNTFOR_D,
"FPAYAMOUNT_E": @KD_FPAYAMOUNT_E,
"FPAYAMOUNTFOR_E": @KD_FPAYTOTALAMOUNTFOR,
"FSETTLEPAYAMOUNTFOR": @KD_FPAYTOTALAMOUNTFOR,
"FREALPAYAMOUNTFOR_D": @KD_FPAYTOTALAMOUNTFOR,
"FPAYAMOUNT_E": @KD_FPAYTOTALAMOUNTFOR,
"FACCOUNTID": {"FNumber":"@KD_FACCOUNTID"},
"FPOSTDATE": "@KD_FPOSTDATE",
"FRuZhangType": "1",

44
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/BDBankCastToKingDeeBillFields.java

@ -0,0 +1,44 @@
package com.yxt.anrui.fin.biz.kingdee.bank;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.parser.Feature;
import com.yxt.anrui.fin.biz.kingdee.KingDeeUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Map;
/**
* 封装转换的类
*/
public class BDBankCastToKingDeeBillFields {
private static Logger log=LoggerFactory.getLogger(BDBankCastToKingDeeBillFields.class);
/**
* 构造金蝶需要的数据结构 并对字段赋值
*
* @param map_fEntityModel_
* @return
*/
public static String getKingDeeData(Map<String,String> map_fEntityModel_ ){
/**
* 取模板
*/
String readJsonFile = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/bank/data.json");
String fEntityData_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/bank/data_data.json");
String fEntityModel_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/bank/data_model.json");
log.info("readJsonFile:{}",readJsonFile);
log.info("fEntityData_:{}",fEntityData_);
log.info("fEntityModel_:{}",fEntityModel_);
//模板字符创转json
JSONObject jsonObj= JSONObject.parseObject(readJsonFile, Feature.OrderedField);
JSONObject jsonFEntityData_= JSONObject.parseObject(fEntityData_,Feature.OrderedField);
fEntityModel_ =KingDeeUtils.replaceTemplateParams(fEntityModel_, map_fEntityModel_);
JSONObject jsonFEntityModel_= JSONObject.parseObject(fEntityModel_,Feature.OrderedField);
jsonFEntityData_.put("Model",JSONObject.parseObject(JSON.toJSONString(jsonFEntityModel_),Feature.OrderedField));
jsonObj.put("data",jsonFEntityData_.toJSONString());
return jsonObj.toJSONString();
}
}

72
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/BDBankService.java

@ -0,0 +1,72 @@
package com.yxt.anrui.fin.biz.kingdee.bank;
import com.yxt.anrui.fin.api.kingdee.KingDeeBillId;
import com.yxt.anrui.fin.api.kingdee.KingDeeBillUrl;
import com.yxt.anrui.fin.api.kingdee.KingDeeResult;
import com.yxt.anrui.fin.api.kingdee.bank.BDBank;
import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService;
import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@Service
public class BDBankService extends FinKingDeeService {
/**
* 保存银行信息 list
* @param bDBanks
* @return
*/
public ResultBean<List<KingDeeResult>> draftBDBankList(List<BDBank> bDBanks) {
List<KingDeeResult> list=new ArrayList<>();
ResultBean rb=ResultBean.fireFail();
for(BDBank b:bDBanks) {
ResultBean<List<KingDeeResult>> resultBean = draftBDBank(b);
if (resultBean.getSuccess()) {
list.add(resultBean.getData().get(0));
}
}
return rb.success().setData(list);
}
/**
* 保存银行信息
* @param bDBank
* @return
*/
public ResultBean draftBDBank(BDBank bDBank) {
//bdCustomer=BdCustomer.createBdCustomer();
ResultBean rb=ResultBean.fireFail();
try {
//业务表的主表数据集合
Map<String,String> map_fEntityModel_= object2Map(bDBank);
//准备 物料列表的数据 ForEntryBill
String kingDeeData = BDBankCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_);
ResultBean<String> resultBean = accessKingDeeInterface(
KingDeeBillId.BD_BANK.getID(), kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL());
String submitKD = getSubmitKD(resultBean.getData(),KingDeeBillId.BD_BANK.getID());
ResultBean<String> resultBean1 = accessKingDeeInterface(KingDeeBillId.BD_BANK.getID(), submitKD,KingDeeBillUrl.SUBMIT_URL.getURL());
if(!resultBean1.getSuccess()){
log.info("银行提交失败!");
return rb.setMsg("银行提交失败!");
}
log.info("银行提交成功!");
String auditKD = getAuditKD(resultBean.getData(),KingDeeBillId.BD_BANK.getID());
ResultBean<String> resultBean2 = accessKingDeeInterface(KingDeeBillId.BD_BANK.getID(), auditKD,KingDeeBillUrl.AUDIT_URL.getURL());
if(!resultBean2.getSuccess()){
log.info("银行审核失败!");
return rb.setMsg("银行审核失败!");
}
log.info("银行审核成功!");
return resultBean;
} catch (Exception e) {
e.printStackTrace();
}
return rb;
}
}

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/data.json

@ -0,0 +1,4 @@
{
"formId": "BD_BANK",
"data": "@KD_data"
}

13
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/data_data.json

@ -0,0 +1,13 @@
{
"Creator": "",
"NeedUpDateFields": [],
"NeedReturnFields": [],
"IsDeleteEntry": "True",
"SubSystemId": "",
"IsVerifyBaseDataField": "false",
"IsEntryBatchFill": "True",
"ValidateFlag": "True",
"NumberSearch": "True",
"InterationFlags": "",
"Model": {}
}

11
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/data_model.json

@ -0,0 +1,11 @@
{
"FBANKID": 0,
"FName": "@KD_FName",
"FNumber": "@KD_FNumber",
"FCreateOrgId": {
"FNumber": "@KD_FCreateOrgId"
},
"FUseOrgId": {
"FNumber": "@KD_FUseOrgId"
}
}

59
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/remarks.txt

@ -0,0 +1,59 @@
一、请求参数说明:
1.formid:业务对象表单Id,字符串类型(必录)
2.data:Json格式数据(详情参考Json格式数据)(必录)
2.1.Creator:创建者内码(非必录)
2.2.NeedUpDateFields:需要更新的字段,数组类型,格式:[key1,key2,...](非必录),注(更新单据体字段得加上单据体key)
2.3.NeedReturnFields:需返回结果的字段集合,数组类型,格式:[key,entitykey.key,...](非必录),注(返回单据体字段格式:entitykey.key)
2.4.IsDeleteEntry:是否删除已存在的分录,布尔类型,默认true(非必录)
2.5.SubSystemId:表单所在的子系统内码,字符串类型(非必录)
2.6.IsVerifyBaseDataField:是否验证所有的基础资料有效性,布尔类,默认false(非必录)
2.7.IsEntryBatchFill:是否批量填充分录,默认true(非必录)
2.8.ValidateFlag:是否验证标志,布尔类型,默认true(非必录)
2.9.NumberSearch:是否用编码搜索基础资料,布尔类型,默认true(非必录)
2.10.InterationFlags:交互标志集合,字符串类型,分号分隔,格式:"flag1;flag2;..."(非必录),例如(允许负库存标识:STK_InvCheckResult)
2.11.Model:表单数据包,Json类型(必录)
二、Json格式数据:
{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FBANKID\":\"0\",\"FNumber\":\"\",\"FName\":\"\",\"FACNTBRANCHNUMBER\":\"\",\"FCreateOrgId\":{\"FNumber\":\"\"},\"FUseOrgId\":{\"FNumber\":\"\"},\"FACNTAREACODE\":\"\",\"FACNTAREANAME\":\"\",\"FADDRESS\":\"\",\"FDescription\":\"\"}}
三、返回参数:
{\"Result\":{\"ResponseStatus\":{\"ErrorCode\":\"\",\"IsSuccess\":\"false\",\"Errors\":[{\"FieldName\":\"\",\"Message\":\"\",\"DIndex\":0}],\"SuccessEntitys\":[{\"Id\":\"\",\"Number\":\"\",\"DIndex\":0}],\"SuccessMessages\":[{\"FieldName\":\"\",\"Message\":\"\",\"DIndex\":0}]},\"Id\":\"\",\"NeedReturnData\":[{}]}}
四、代码示例:
// 使用webapi引用组件Kingdee.BOS.WebApi.Client.dll
K3CloudApiClient client = new K3CloudApiClient("http://121.36.43.55/k3cloud/");
var ret = client.ValidateLogin("61dce6601125a0","Administrator","888888",2052);
var result = JObject.Parse(ret)["LoginResultType"].Value<int>();
// 登陆成功
if (result == 1)
{
client.Draft("BD_BANK","{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FBANKID\":\"0\",\"FNumber\":\"\",\"FName\":\"\",\"FACNTBRANCHNUMBER\":\"\",\"FCreateOrgId\":{\"FNumber\":\"\"},\"FUseOrgId\":{\"FNumber\":\"\"},\"FACNTAREACODE\":\"\",\"FACNTAREANAME\":\"\",\"FADDRESS\":\"\",\"FDescription\":\"\"}}");
}
五、字段说明:
审核人:FAuditorID
系统预设:FIsSysPreset
银行地址:FADDRESS
禁用人:FForbidderID
禁用日期:FForbidDate
审核日期:FAuditDate
银行:FBankType
联行号:FACNTBRANCHNUMBER
地区名:FACNTAREANAME
地区码:FACNTAREACODE
省:FProvince
城市:FCity
地区:FDistrict
编码:FNumber
描述:FDescription
创建组织:FCreateOrgId (必填项)
数据状态:FDocumentStatus
禁用状态:FForbidStatus
名称:FName (必填项)
使用组织:FUseOrgId (必填项)
修改日期:FModifyDate
生效日期:FStartDate
失效日期:FEndDate
创建人:FCreatorId
修改人:FModifierId
创建日期:FCreateDate

1
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/webapi测试的数据.txt

@ -0,0 +1 @@
{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FBANKID\":0,\"FName\":\"mcmcmcmcm\",\"FCreateOrgId\":{\"FNumber\":\"101\"},\"FUseOrgId\":{\"FNumber\":\"101\"}}}

BIN
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/银行的参数必填备注.xlsx

Binary file not shown.

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterial/BdMaterialService.java

@ -69,11 +69,11 @@ public class BdMaterialService extends FinKingDeeService {
private List<KeyItem> getKeyItems() {
List<KeyItem> params=new ArrayList<>();
params.add(new KeyItem("FCategoryID","存货类别") );
/* params.add(new KeyItem("FMaterialGroup","物料分组") );
params.add(new KeyItem("FMaterialGroup","物料分组") );
params.add(new KeyItem("F_PAEZ_Base","车辆类型") );
params.add(new KeyItem("F_PAEZ_Base2","车辆系别") );
params.add(new KeyItem("F_PAEZ_Base3","车辆马力") );
params.add(new KeyItem("F_PAEZ_Base4","车辆驱动") );*/
params.add(new KeyItem("F_PAEZ_Base4","车辆驱动") );
return params;
}

44
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/CNBankcntCastToKingDeeBillFields.java

@ -0,0 +1,44 @@
package com.yxt.anrui.fin.biz.kingdee.cnbankcnt;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.parser.Feature;
import com.yxt.anrui.fin.biz.kingdee.KingDeeUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Map;
/**
* 封装转换的类
*/
public class CNBankcntCastToKingDeeBillFields {
private static Logger log=LoggerFactory.getLogger(CNBankcntCastToKingDeeBillFields.class);
/**
* 构造金蝶需要的数据结构 并对字段赋值
*
* @param map_fEntityModel_
* @return
*/
public static String getKingDeeData(Map<String,String> map_fEntityModel_ ){
/**
* 取模板
*/
String readJsonFile = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/cnbankcnt/data.json");
String fEntityData_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/cnbankcnt/data_data.json");
String fEntityModel_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/cnbankcnt/data_model.json");
log.info("readJsonFile:{}",readJsonFile);
log.info("fEntityData_:{}",fEntityData_);
log.info("fEntityModel_:{}",fEntityModel_);
//模板字符创转json
JSONObject jsonObj= JSONObject.parseObject(readJsonFile, Feature.OrderedField);
JSONObject jsonFEntityData_= JSONObject.parseObject(fEntityData_,Feature.OrderedField);
fEntityModel_ =KingDeeUtils.replaceTemplateParams(fEntityModel_, map_fEntityModel_);
JSONObject jsonFEntityModel_= JSONObject.parseObject(fEntityModel_,Feature.OrderedField);
jsonFEntityData_.put("Model",JSONObject.parseObject(JSON.toJSONString(jsonFEntityModel_),Feature.OrderedField));
jsonObj.put("data",jsonFEntityData_.toJSONString());
return jsonObj.toJSONString();
}
}

81
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/CNBankcntService.java

@ -0,0 +1,81 @@
package com.yxt.anrui.fin.biz.kingdee.cnbankcnt;
import com.yxt.anrui.fin.api.kingdee.KingDeeBillId;
import com.yxt.anrui.fin.api.kingdee.KingDeeBillUrl;
import com.yxt.anrui.fin.api.kingdee.KingDeeResult;
import com.yxt.anrui.fin.api.kingdee.bank.BDBank;
import com.yxt.anrui.fin.api.kingdee.cnbankcnt.CNBankacnt;
import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService;
import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@Service
public class CNBankcntService extends FinKingDeeService {
/**
* 保存银行账号信息 list
* @param cNBankacnts
* @return
*/
public ResultBean<List<KingDeeResult>> draftCNBankcntList(List<CNBankacnt> cNBankacnts) {
List<KingDeeResult> list=new ArrayList<>();
ResultBean rb=ResultBean.fireFail();
for(CNBankacnt b:cNBankacnts) {
ResultBean<List<KingDeeResult>> resultBean = draftCNBankcnt(b);
if (resultBean.getSuccess()) {
list.add(resultBean.getData().get(0));
}
}
return rb.success().setData(list);
}
/**
* 保存银行账号信息
* @param cNBankcnt
* @return
*/
public ResultBean draftCNBankcnt(CNBankacnt cNBankcnt) {
//bdCustomer=BdCustomer.createBdCustomer();
ResultBean rb=ResultBean.fireFail();
try {
//业务表的主表数据集合
Map<String,String> map_fEntityModel_= object2Map(cNBankcnt);
//准备 物料列表的数据 ForEntryBill
String kingDeeData = CNBankcntCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_);
ResultBean<String> resultBean = accessKingDeeInterface(
KingDeeBillId.CN_BANKACNT.getID(), kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL());
String submitKD = getSubmitKD(resultBean.getData(),KingDeeBillId.CN_BANKACNT.getID());
ResultBean<String> resultBean1 = accessKingDeeInterface(KingDeeBillId.CN_BANKACNT.getID(), submitKD,KingDeeBillUrl.SUBMIT_URL.getURL());
if(!resultBean1.getSuccess()){
log.info("银行账号提交失败!");
return rb.setMsg("银行账号提交失败!");
}
log.info("银行账号提交成功!");
String auditKD = getAuditKD(resultBean.getData(),KingDeeBillId.CN_BANKACNT.getID());
ResultBean<String> resultBean2 = accessKingDeeInterface(KingDeeBillId.CN_BANKACNT.getID(), auditKD,KingDeeBillUrl.AUDIT_URL.getURL());
if(!resultBean2.getSuccess()){
log.info("银行账号审核失败!");
return rb.setMsg("银行账号审核失败!");
}
log.info("银行账号审核成功!");
/*String allocate = getAllocate(resultBean.getData(),cNBankcnt.getTOrgIds(),KingDeeBillId.BD_MATERIAL.getID());
ResultBean<String> resultBean3 =accessKingDeeInterface(
KingDeeBillId.CN_BANKACNT.getID(), allocate,
KingDeeBillUrl.ALLOCATE_URL.getURL());// allocateKingDeeBillData(KingDeeBillId.BD_MATERIAL.getID(), allocate);
if(!resultBean3.getSuccess()){
log.info("银行账号分配失败!");
return rb.setMsg("银行账号分配失败!");
}
log.info("银行账号分配成功!");*/
return resultBean;
} catch (Exception e) {
e.printStackTrace();
}
return rb;
}
}

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/data.json

@ -0,0 +1,4 @@
{
"formId": "CN_BANKACNT",
"data": "@KD_data"
}

13
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/data_data.json

@ -0,0 +1,13 @@
{
"Creator": "",
"NeedUpDateFields": [],
"NeedReturnFields": [],
"IsDeleteEntry": "True",
"SubSystemId": "",
"IsVerifyBaseDataField": "false",
"IsEntryBatchFill": "True",
"ValidateFlag": "True",
"NumberSearch": "True",
"InterationFlags": "",
"Model": {}
}

20
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/data_model.json

@ -0,0 +1,20 @@
{
"FBANKACNTID": 0,
"FCreateOrgId": {
"FNumber": "@KD_FCreateOrgId"
},
"FNumber": "@KD_FNumber",
"FBANKID": {
"FNumber": "@KD_FBANKID"
},
"FName": "@KD_FName",
"FUseOrgId": {
"FNumber": "@KD_FUseOrgId"
},
"FIsCancel": false,
"FIsFundUp": false,
"FISDEFAULTBANK": false,
"FIsSupBank": false,
"FUpType": "1",
"FIsSupBBC": false
}

75
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/remarks.txt

@ -0,0 +1,75 @@
一、请求参数说明:
1.formid:业务对象表单Id,字符串类型(必录)
2.data:Json格式数据(详情参考Json格式数据)(必录)
2.1.Creator:创建者内码(非必录)
2.2.NeedUpDateFields:需要更新的字段,数组类型,格式:[key1,key2,...](非必录),注(更新单据体字段得加上单据体key)
2.3.NeedReturnFields:需返回结果的字段集合,数组类型,格式:[key,entitykey.key,...](非必录),注(返回单据体字段格式:entitykey.key)
2.4.IsDeleteEntry:是否删除已存在的分录,布尔类型,默认true(非必录)
2.5.SubSystemId:表单所在的子系统内码,字符串类型(非必录)
2.6.IsVerifyBaseDataField:是否验证所有的基础资料有效性,布尔类,默认false(非必录)
2.7.IsEntryBatchFill:是否批量填充分录,默认true(非必录)
2.8.ValidateFlag:是否验证标志,布尔类型,默认true(非必录)
2.9.NumberSearch:是否用编码搜索基础资料,布尔类型,默认true(非必录)
2.10.InterationFlags:交互标志集合,字符串类型,分号分隔,格式:"flag1;flag2;..."(非必录),例如(允许负库存标识:STK_InvCheckResult)
2.11.Model:表单数据包,Json类型(必录)
二、Json格式数据:
{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FBANKACNTID\":\"0\",\"FCreateOrgId\":{\"FNumber\":\"\"},\"FNumber\":\"\",\"FBANKID\":{\"FNumber\":\"\"},\"FName\":\"\",\"FInOrOut\":\"\",\"FACNTBRANCHNUMBER\":\"\",\"FBankType\":{\"FNAME\":\"\"},\"FProvince\":{\"FNAME\":\"\"},\"FCity\":{\"FNAME\":\"\"},\"FDistrict\":{\"FNAME\":\"\"},\"FUseOrgId\":{\"FNumber\":\"\"},\"FACNTAREACODE\":\"\",\"FACNTAREANAME\":\"\",\"FIsCancel\":\"false\",\"FIsFundUp\":\"false\",\"FISDEFAULTBANK\":\"false\",\"FIsSupBank\":\"false\",\"FINNERACCOUNTID\":{\"FNUMBER\":\"\"},\"FDescription\":\"\",\"FSRCBILLID\":\"0\",\"FUpType\":\"\",\"FUpAmount\":\"0\",\"FBaseAmount\":\"0\",\"FMinUpAmount\":\"0\",\"FACCOUNTTYPE\":\"\",\"FLICENSEKEY\":\"\",\"FPUBLICACNT\":{\"FNUMBER\":\"\"},\"FBankServiceLoginId\":\"\",\"FBankServiceLoginDesc\":\"\",\"FIsSupBBC\":\"false\"}}
三、返回参数:
{\"Result\":{\"ResponseStatus\":{\"ErrorCode\":\"\",\"IsSuccess\":\"false\",\"Errors\":[{\"FieldName\":\"\",\"Message\":\"\",\"DIndex\":0}],\"SuccessEntitys\":[{\"Id\":\"\",\"Number\":\"\",\"DIndex\":0}],\"SuccessMessages\":[{\"FieldName\":\"\",\"Message\":\"\",\"DIndex\":0}]},\"Id\":\"\",\"NeedReturnData\":[{}]}}
四、代码示例:
// 使用webapi引用组件Kingdee.BOS.WebApi.Client.dll
K3CloudApiClient client = new K3CloudApiClient("http://121.36.43.55/k3cloud/");
var ret = client.ValidateLogin("61dce6601125a0","Administrator","888888",2052);
var result = JObject.Parse(ret)["LoginResultType"].Value<int>();
// 登陆成功
if (result == 1)
{
client.Draft("CN_BANKACNT","{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FBANKACNTID\":\"0\",\"FCreateOrgId\":{\"FNumber\":\"\"},\"FNumber\":\"\",\"FBANKID\":{\"FNumber\":\"\"},\"FName\":\"\",\"FInOrOut\":\"\",\"FACNTBRANCHNUMBER\":\"\",\"FBankType\":{\"FNAME\":\"\"},\"FProvince\":{\"FNAME\":\"\"},\"FCity\":{\"FNAME\":\"\"},\"FDistrict\":{\"FNAME\":\"\"},\"FUseOrgId\":{\"FNumber\":\"\"},\"FACNTAREACODE\":\"\",\"FACNTAREANAME\":\"\",\"FIsCancel\":\"false\",\"FIsFundUp\":\"false\",\"FISDEFAULTBANK\":\"false\",\"FIsSupBank\":\"false\",\"FINNERACCOUNTID\":{\"FNUMBER\":\"\"},\"FDescription\":\"\",\"FSRCBILLID\":\"0\",\"FUpType\":\"\",\"FUpAmount\":\"0\",\"FBaseAmount\":\"0\",\"FMinUpAmount\":\"0\",\"FACCOUNTTYPE\":\"\",\"FLICENSEKEY\":\"\",\"FPUBLICACNT\":{\"FNUMBER\":\"\"},\"FBankServiceLoginId\":\"\",\"FBankServiceLoginDesc\":\"\",\"FIsSupBBC\":\"false\"}}");
}
五、字段说明:
资金上划:FIsFundUp
内部账户:FINNERACCOUNTID
上划方式:FUpType (必填项)
留底余额:FBaseAmount
上划定额:FUpAmount
省:FProvince
城市:FCity
地区:FDistrict
源单内码:FSRCBILLID
账户收支属性:FInOrOut (必填项)
最小上划金额:FMinUpAmount
登录配置编号:FBankServiceLoginId
对公账号:FPUBLICACNT
银行版本:FBankServiceLoginDesc
支持BBC分销门户显示:FIsSupBBC
币别:FCURRENCYID
支持网银:FIsSupBank
是否销户:FIsCancel
默认账号:FISDEFAULTBANK
授权密码:FLICENSEKEY
账号类型:FACCOUNTTYPE (必填项)
使用组织:FUseOrgId (必填项)
创建组织:FCreateOrgId (必填项)
创建人:FCreatorId
创建日期:FCreateDate
修改人:FModifierId
禁用状态:FForbidStatus
数据状态:FDocumentStatus
账户名称:FName (必填项)
备注:FDescription
银行账号:FNumber (必填项)
修改日期:FModifyDate
禁用日期:FForbidDate
审核人:FApproverId
禁用人:FForbidderID
银行:FBankType
银行地址:FBANKADDRESS
账户地区码:FACNTAREACODE
开户银行联行号:FACNTBRANCHNUMBER
账户地区名:FACNTAREANAME
审核日期:FApproveDate
开户银行:FBANKID (必填项)

1
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/webapi测试的数据.txt

@ -0,0 +1 @@
{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FBANKACNTID\":0,\"FCreateOrgId\":{\"FNumber\":\"101\"},\"FNumber\":\"11122222\",\"FBANKID\":{\"FNumber\":\"0001\"},\"FName\":\"222211111\",\"FUseOrgId\":{\"FNumber\":\"101\"},\"FIsCancel\":false,\"FIsFundUp\":false,\"FISDEFAULTBANK\":false,\"FIsSupBank\":false,\"FUpType\":\"1\",\"FIsSupBBC\":false}}

BIN
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/银行的参数必填备注.xlsx

Binary file not shown.

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/STKInStockService.java

@ -98,9 +98,9 @@ public class STKInStockService extends FinKingDeeService {
BdMaterial bdMaterial=new BdMaterial();
bdMaterial.setFName(f.getFMaterialId());
bdMaterial.setF_PAEZ_BaseKey(f.getCllx());
bdMaterial.setF_PAEZ_BaseType(f.getCllx());
bdMaterial.setF_PAEZ_BaseType(f.getCllxType());
bdMaterial.setFMaterialGroupKey(f.getWlfz());
bdMaterial.setFMaterialGroupType(f.getWlfz());
bdMaterial.setFMaterialGroupType(f.getWlfzType());
bdMaterial.setTOrgIds(stkInStock.getTOrgId());
List<BdMaterial> list=new ArrayList<>();
list.add(bdMaterial);

57
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/costapply/CostApplyFeign.java

@ -0,0 +1,57 @@
package com.yxt.anrui.terminal.api.finance.costapply;
import com.yxt.anrui.terminal.api.finance.costapply.flowable.CostApplyDto;
import com.yxt.anrui.terminal.api.finance.costapply.flowable.CostApplyQuery;
import com.yxt.anrui.terminal.api.finance.costapply.flowable.CostApplyTaskQuery;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
/**
* @Author dimengzhe
* @Date 2022/10/4 19:11
* @Description
*/
@Api(tags = "费用申请")
@FeignClient(
contextId = "terminal-CostApply",
name = "anrui-terminal",
path = "/finance/v1/costApply",
fallback = CostApplyFeignFallback.class)
public interface CostApplyFeign {
@ApiOperation("费用申请详情")
@GetMapping("/getCostApply/{sid}")
@ResponseBody
ResultBean<CostDetailsVo> getCostApply(@PathVariable("sid") String sid);
@ApiOperation("办理")
@PutMapping("/agreeCostApplyInfo")
@ResponseBody
ResultBean agreeCostApplyInfo(@RequestBody CostApplyDto dto);
@ApiOperation("驳回")
@PutMapping("/rejectCostApplyInfo")
@ResponseBody
ResultBean rejectCostApplyInfo(@RequestBody CostApplyTaskQuery query);
@ApiOperation("撤回")
@PutMapping("/recallCostApplyInfo")
@ResponseBody
ResultBean recallCostApplyInfo(@RequestBody CostApplyTaskQuery query);
@ApiOperation("终止")
@PutMapping("/stopCostApplyInfo")
@ResponseBody
ResultBean stopCostApplyInfo(@RequestBody CostApplyTaskQuery query);
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@SpringQueryMap CostApplyQuery query);
}

9
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/costapply/CostApplyFeignFallback.java

@ -0,0 +1,9 @@
package com.yxt.anrui.terminal.api.finance.costapply;
/**
* @Author dimengzhe
* @Date 2022/10/4 19:20
* @Description
*/
public class CostApplyFeignFallback {
}

68
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/costapply/CostDetailsVo.java

@ -0,0 +1,68 @@
package com.yxt.anrui.terminal.api.finance.costapply;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/10/4 18:58
* @Description
*/
@Data
public class CostDetailsVo implements Vo {
private static final long serialVersionUID = 4230232069904074647L;
@ApiModelProperty("费用名称")
@JsonProperty("applyName")
private String costTitleValue;
@ApiModelProperty("创建时间")
@JsonProperty("applyDate")
private String createTime;
//申请人
@JsonProperty("applicant")
private String name;
//费用类型
@JsonProperty("costType")
private String costTypeValue;
//申请费用
@JsonProperty("applyPrice")
private String cost;
//使用方式
@JsonProperty("useType")
private String useTypeValue;
//备注
private String remarks;
//是否涉及车辆
@JsonProperty("isVeh")
private String isVeh;
@JsonProperty("isVehKey")
private String isVehKey;
@ApiModelProperty(value = "车架号")
private String vins;
//任务id
private String taskId;
//实例id
@JsonProperty("procInsId")
private String procInstId;
private String sid;
@ApiModelProperty("是否需要出门")
@JsonProperty("vinState")
private String isOutDoor;
@JsonProperty("userSid")
private String createBySid;
}

37
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/costapply/flowable/CostApplyDto.java

@ -0,0 +1,37 @@
package com.yxt.anrui.terminal.api.finance.costapply.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/10/4 18:06
* @Description
*/
@Data
public class CostApplyDto implements Dto {
private static final long serialVersionUID = -5698304783095155182L;
@ApiModelProperty(value = "任务id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
@ApiModelProperty(value = "流程id")
@NotBlank(message = "参数错误:procInsId")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty(value = "意见")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
@ApiModelProperty(value = "用户sid")
@NotBlank(message = "参数错误:userSid")
private String userSid;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
}

25
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/costapply/flowable/CostApplyQuery.java

@ -0,0 +1,25 @@
package com.yxt.anrui.terminal.api.finance.costapply.flowable;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @Author dimengzhe
* @Date 2022/10/5 15:26
* @Description
*/
@Data
public class CostApplyQuery implements Query {
private static final long serialVersionUID = 5041782090284095194L;
@ApiModelProperty(value = "节点key")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
@ApiModelProperty(value = "0 上一环节 1下一环节")
@NotNull(message = "参数错误:next")
private Integer next;
}

47
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/costapply/flowable/CostApplyTaskQuery.java

@ -0,0 +1,47 @@
package com.yxt.anrui.terminal.api.finance.costapply.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/10/5 15:31
* @Description
*/
@Data
public class CostApplyTaskQuery implements Query {
private static final long serialVersionUID = -3303215603844118072L;
/**
* 终止驳回撤回
*/
@ApiModelProperty("任务Id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
/**
* 终止驳回撤回
*/
@ApiModelProperty("业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
/**
* 终止驳回
*/
@ApiModelProperty("任务意见")
private String comment;
/**
* 终止撤回驳回
*/
@ApiModelProperty("用户Sid")
private String userSid;
/**
* 终止
*/
@ApiModelProperty("流程实例Id")
@JsonProperty("procInsId")
private String instanceId;
}

34
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/paymentapply/PaymentApplyDetailsVo.java

@ -0,0 +1,34 @@
package com.yxt.anrui.terminal.api.finance.paymentapply;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/10/6 15:52
* @Description
*/
@Data
public class PaymentApplyDetailsVo implements Vo {
private static final long serialVersionUID = -3182165897761808808L;
@ApiModelProperty("厂家销售通路")
@JsonProperty("paymentName")
private String actualPay;
@ApiModelProperty("付款方式")
@JsonProperty("state")
private String paymentType;
@ApiModelProperty("开户行")
@JsonProperty("depositBank")
private String bank;
@ApiModelProperty("收款银行账号")
@JsonProperty("bankAccount")
private String receivingAccount;
@ApiModelProperty("付款金额")
@JsonProperty("paymentPrice")
private String payAccount;
@ApiModelProperty("备注")
private String remarks;
}

56
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/paymentapply/PaymentApplyFeign.java

@ -0,0 +1,56 @@
package com.yxt.anrui.terminal.api.finance.paymentapply;
import com.yxt.anrui.terminal.api.finance.paymentapply.flowable.PaymentApplyDto;
import com.yxt.anrui.terminal.api.finance.paymentapply.flowable.PaymentApplyQuery;
import com.yxt.anrui.terminal.api.finance.paymentapply.flowable.PaymentApplyTaskQuery;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
/**
* @Author dimengzhe
* @Date 2022/10/6 9:57
* @Description
*/
@Api(tags = "付款申请")
@FeignClient(
contextId = "terminal-PaymentApply",
name = "anrui-terminal",
path = "/finance/v1/paymentApply",
fallback = PaymentApplyFeignFallback.class)
public interface PaymentApplyFeign {
@ApiOperation("详情")
@GetMapping("/getPaymentApply/{sid}")
@ResponseBody
ResultBean<PaymentApplyVo> getPaymentApply(@PathVariable("sid") String sid);
@ApiOperation("办理")
@PutMapping("/agreePaymentApplyInfo")
@ResponseBody
ResultBean agreePayApplyInfo(@RequestBody PaymentApplyDto dto);
@ApiOperation("驳回")
@PutMapping("/rejectPaymentApplyInfo")
@ResponseBody
ResultBean rejectPayApplyInfo(@RequestBody PaymentApplyTaskQuery query);
@ApiOperation("撤回")
@PutMapping("/recallPaymentApplyInfo")
@ResponseBody
ResultBean recallPayApplyInfo(@RequestBody PaymentApplyTaskQuery query);
@ApiOperation("终止")
@PutMapping("/stopPaymentApplyInfo")
@ResponseBody
ResultBean stopPayApplyInfo(@RequestBody PaymentApplyTaskQuery query);
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@SpringQueryMap PaymentApplyQuery query);
}

9
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/paymentapply/PaymentApplyFeignFallback.java

@ -0,0 +1,9 @@
package com.yxt.anrui.terminal.api.finance.paymentapply;
/**
* @Author dimengzhe
* @Date 2022/10/6 9:58
* @Description
*/
public class PaymentApplyFeignFallback {
}

26
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/paymentapply/PaymentApplyVehicleVo.java

@ -0,0 +1,26 @@
package com.yxt.anrui.terminal.api.finance.paymentapply;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/10/6 15:53
* @Description
*/
@Data
public class PaymentApplyVehicleVo implements Vo {
private static final long serialVersionUID = -8919822312166380804L;
@ApiModelProperty("车型")
@JsonProperty("model")
private String modelName;
@ApiModelProperty("车架号")
@JsonProperty("vin")
private String vinNo;
@ApiModelProperty("厂家结算价")
@JsonProperty("price")
private String money;
}

67
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/paymentapply/PaymentApplyVo.java

@ -0,0 +1,67 @@
package com.yxt.anrui.terminal.api.finance.paymentapply;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/10/6 9:59
* @Description
*/
@Data
public class PaymentApplyVo implements Vo {
private static final long serialVersionUID = 1191604961683000023L;
@ApiModelProperty("款项名称")
@JsonProperty("paymentName")
private String costTitleValue;
//创建时间
@JsonProperty("applyDate")
private String createTime;
//申请人
@JsonProperty("applyName")
private String name;
//款项类别
@JsonProperty("paymentType")
private String costTypeValue;
//业务编号
@JsonProperty("businessId")
private String busSid;
//金额
@JsonProperty("price")
private String cost;
//付款单位名称
@JsonProperty("payerName")
private String payCompany;
//收款单位名称
@JsonProperty("payeeName")
private String receiveCompany;
//付款备注
@JsonProperty("paymentRemarks")
private String remarks;
//是否涉及车辆
@JsonProperty("involveCarKey")
private String isVeh;
@JsonProperty("involveCar")
private String isVehValue;
//付款明细List
private List<PaymentApplyDetailsVo> paymentList = new ArrayList<>();
@ApiModelProperty("付款明细合计")
private String paymentTotal;
//车辆列表
private List<PaymentApplyVehicleVo> carList = new ArrayList<>();
@ApiModelProperty("车辆金额合计")
private String carTotal;
@JsonProperty("userSid")
private String createBySid;
private String taskId;
@JsonProperty("procInsId")
private String procInstId;
}

37
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/paymentapply/flowable/PaymentApplyDto.java

@ -0,0 +1,37 @@
package com.yxt.anrui.terminal.api.finance.paymentapply.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/10/6 9:59
* @Description
*/
@Data
public class PaymentApplyDto implements Dto {
private static final long serialVersionUID = 7798653263828204569L;
@ApiModelProperty(value = "任务id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
@ApiModelProperty(value = "流程id")
@NotBlank(message = "参数错误:procInsId")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty(value = "意见")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
@ApiModelProperty(value = "用户sid")
@NotBlank(message = "参数错误:userSid")
private String userSid;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
}

25
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/paymentapply/flowable/PaymentApplyQuery.java

@ -0,0 +1,25 @@
package com.yxt.anrui.terminal.api.finance.paymentapply.flowable;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @Author dimengzhe
* @Date 2022/10/6 10:00
* @Description
*/
@Data
public class PaymentApplyQuery implements Query {
private static final long serialVersionUID = 6112966480482869923L;
@ApiModelProperty(value = "节点key")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
@ApiModelProperty(value = "0 上一环节 1下一环节")
@NotNull(message = "参数错误:next")
private Integer next;
}

47
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/paymentapply/flowable/PaymentApplyTaskQuery.java

@ -0,0 +1,47 @@
package com.yxt.anrui.terminal.api.finance.paymentapply.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/10/6 10:00
* @Description
*/
@Data
public class PaymentApplyTaskQuery implements Query {
private static final long serialVersionUID = 4492173829846824226L;
/**
* 终止驳回撤回
*/
@ApiModelProperty("任务Id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
/**
* 终止驳回撤回
*/
@ApiModelProperty("业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
/**
* 终止驳回
*/
@ApiModelProperty("任务意见")
private String comment;
/**
* 终止撤回驳回
*/
@ApiModelProperty("用户Sid")
private String userSid;
/**
* 终止
*/
@ApiModelProperty("流程实例Id")
@JsonProperty("procInsId")
private String instanceId;
}

27
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/externalPurchase/ExternalPurchaseVo.java

@ -46,11 +46,11 @@ public class ExternalPurchaseVo implements Vo {
@ApiModelProperty("采购单位名称")
@JsonProperty("purchasingUnit")
private String purchasingUnitName;
@ApiModelProperty("开户银行")
@JsonProperty("bankDeposit")
@ApiModelProperty("车款开户银行")
@JsonProperty("carPaymentAccount")
private String depositBankName;
@ApiModelProperty("银行账号")
@JsonProperty("invoBankNum")
@ApiModelProperty("车款银行账号")
@JsonProperty("carPaymentBankDeposit")
private String bankAccount;
@ApiModelProperty("采购价格")
private String purchasePrice;
@ -76,4 +76,23 @@ public class ExternalPurchaseVo implements Vo {
private String configSid;
private ExterVesionVo carDetailPage;
@ApiModelProperty("车款收款账户")
@JsonProperty("carPaymentBankAccount")
private String accountName;
@ApiModelProperty("订金开户银行")
@JsonProperty("depositBankDeposit")
private String modelBankName;
@ApiModelProperty("订金银行账号")
@JsonProperty("depositBankAccount")
private String modelBankAccount;
@ApiModelProperty("订金收款账户名称")
@JsonProperty("depositAccount")
private String modelAccountName;
@ApiModelProperty("是否先付款")
@JsonProperty("firstPayKey")
private String isBeforePaymentKey;
@ApiModelProperty("是否先付款 1是,0否")
@JsonProperty("firstPay")
private String isBeforePaymentValue;
}

7
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/ModelModpriceModelVo.java

@ -22,8 +22,8 @@ public class ModelModpriceModelVo implements Vo {
private String configName; // 常用配置名称
@ApiModelProperty("成本价")
private String costPrice; // 成本价
@ApiModelProperty("现销售指导价")
@JsonProperty("guidancePrice")
@ApiModelProperty("现全款销售指导价")
@JsonProperty("fullGuidancePrice")
private String guidedPrice; // 现销售指导价
@ApiModelProperty("价格增减数额")
@JsonProperty("adjustPrice")
@ -33,6 +33,9 @@ public class ModelModpriceModelVo implements Vo {
@ApiModelProperty("车型页面信息")
private ModelVehicleVersionVo carDetailPage;
@ApiModelProperty("现贷款销售指导价")
@JsonProperty("loanGuidancePrice")
private String manufactorSettlementPrice; // 现贷款销售指导价

4
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/unsoldBuyout/UnsoldBuyoutVo.java

@ -44,4 +44,8 @@ public class UnsoldBuyoutVo implements Vo {
private String payStateKey;
@ApiModelProperty("付款明细合计")
private String payDetailTotal;
@ApiModelProperty("分公司")
@JsonProperty("company")
private String useOrgName;
}

4
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/vehicleApply/VehicleApplyListVo.java

@ -40,4 +40,8 @@ public class VehicleApplyListVo implements Vo {
@ApiModelProperty(value = "配置")
@JsonProperty("config")
private String configName;
@ApiModelProperty("厂家销售通路")
@JsonProperty("saleRoad")
private String actualPay;
}

7
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/vehicleApply/VehicleApplyVo.java

@ -51,5 +51,12 @@ public class VehicleApplyVo implements Vo {
@JsonProperty("type")
private String applyType;
@ApiModelProperty("采购系统")
@JsonProperty("system")
private String orgDeptName;
@ApiModelProperty("订金付款备注")
@JsonProperty("depositRemark")
private String payRemarks;
}

54
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/finance/costapply/CostApplyRest.java

@ -0,0 +1,54 @@
package com.yxt.anrui.terminal.biz.finance.costapply;
import com.yxt.anrui.terminal.api.finance.costapply.CostApplyFeign;
import com.yxt.anrui.terminal.api.finance.costapply.CostDetailsVo;
import com.yxt.anrui.terminal.api.finance.costapply.flowable.CostApplyDto;
import com.yxt.anrui.terminal.api.finance.costapply.flowable.CostApplyQuery;
import com.yxt.anrui.terminal.api.finance.costapply.flowable.CostApplyTaskQuery;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @Author dimengzhe
* @Date 2022/10/5 15:12
* @Description
*/
@Controller
@RequestMapping("/finance/v1/costApply")
public class CostApplyRest implements CostApplyFeign {
@Autowired
private CostApplyService costApplyService;
@Override
public ResultBean<CostDetailsVo> getCostApply(String sid) {
return costApplyService.getCostApply(sid);
}
@Override
public ResultBean agreeCostApplyInfo(CostApplyDto dto) {
return costApplyService.agreeCostApplyInfo(dto);
}
@Override
public ResultBean rejectCostApplyInfo(CostApplyTaskQuery query) {
return costApplyService.rejectCostApplyInfo(query);
}
@Override
public ResultBean recallCostApplyInfo(CostApplyTaskQuery query) {
return costApplyService.recallCostApplyInfo(query);
}
@Override
public ResultBean stopCostApplyInfo(CostApplyTaskQuery query) {
return costApplyService.stopCostApplyInfo(query);
}
@Override
public ResultBean<String> getFlowOperateTitle(CostApplyQuery query) {
return costApplyService.getFlowOperateTitle(query);
}
}

136
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/finance/costapply/CostApplyService.java

@ -0,0 +1,136 @@
package com.yxt.anrui.terminal.biz.finance.costapply;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.fin.api.fincostapply.AppFinCostApplyVo;
import com.yxt.anrui.fin.api.fincostapply.FinCostapplyFeign;
import com.yxt.anrui.fin.api.fincostapply.flow.FinCostCompleteDto;
import com.yxt.anrui.fin.api.fincostapply.flow.FinCostGetNodeQuery;
import com.yxt.anrui.fin.api.fincostapply.flow.FinCostGetNodeVo;
import com.yxt.anrui.fin.api.fincostapply.flow.FinCostTaskQuery;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.terminal.api.finance.costapply.CostDetailsVo;
import com.yxt.anrui.terminal.api.finance.costapply.flowable.CostApplyDto;
import com.yxt.anrui.terminal.api.finance.costapply.flowable.CostApplyQuery;
import com.yxt.anrui.terminal.api.finance.costapply.flowable.CostApplyTaskQuery;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/10/5 15:13
* @Description
*/
@Service
public class CostApplyService {
@Autowired
private FinCostapplyFeign finCostapplyFeign;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
public ResultBean<CostDetailsVo> getCostApply(String sid) {
ResultBean<CostDetailsVo> rb = ResultBean.fireFail();
ResultBean<AppFinCostApplyVo> resultBean = finCostapplyFeign.appDetails(sid);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
CostDetailsVo costDetailsVo = new CostDetailsVo();
BeanUtil.copyProperties(resultBean.getData(), costDetailsVo);
return rb.success().setData(costDetailsVo);
}
public ResultBean agreeCostApplyInfo(CostApplyDto dto) {
ResultBean rb = ResultBean.fireFail();
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
//根据staffSid获取用户的组织全路径
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid());
if (!staffOrgResultBean.getSuccess()) {
return rb.setMsg(staffOrgResultBean.getMsg());
}
//用户的组织全路径
String orgSidPath = staffOrgResultBean.getData().getOrgSidPath();
FinCostCompleteDto finCostCompleteDto = new FinCostCompleteDto();
BeanUtil.copyProperties(dto, finCostCompleteDto);
finCostCompleteDto.setOrgSidPath(orgSidPath);
ResultBean resultBean = finCostapplyFeign.complete(finCostCompleteDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean rejectCostApplyInfo(CostApplyTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
FinCostTaskQuery finCostTaskQuery = new FinCostTaskQuery();
BeanUtil.copyProperties(query, finCostTaskQuery);
ResultBean resultBean = finCostapplyFeign.taskReject(finCostTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean recallCostApplyInfo(CostApplyTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
FinCostTaskQuery finCostTaskQuery = new FinCostTaskQuery();
BeanUtil.copyProperties(query, finCostTaskQuery);
ResultBean resultBean = finCostapplyFeign.revokeProcess(finCostTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean stopCostApplyInfo(CostApplyTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
FinCostTaskQuery finCostTaskQuery = new FinCostTaskQuery();
BeanUtil.copyProperties(query, finCostTaskQuery);
ResultBean resultBean = finCostapplyFeign.breakProcess(finCostTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean<String> getFlowOperateTitle(CostApplyQuery query) {
ResultBean<String> rb = ResultBean.fireFail();
//0 上一环节 1下一环节
int next = query.getNext();
FinCostGetNodeQuery getNodeQuery = new FinCostGetNodeQuery();
BeanUtil.copyProperties(query, getNodeQuery);
String data = "";
if (next == 0) {
ResultBean<List<FinCostGetNodeVo>> getPreviousNodesForReject = finCostapplyFeign.getPreviousNodesForReject(getNodeQuery);
if (getPreviousNodesForReject.getSuccess()) {
getPreviousNodesForReject.getData().removeAll(Collections.singleton(null));
data = getPreviousNodesForReject.getData().get(0).getName();
} else {
return rb.setMsg(getPreviousNodesForReject.getMsg());
}
} else if (next == 1) {
ResultBean<List<FinCostGetNodeVo>> getNextNodesForSubmit = finCostapplyFeign.getNextNodesForSubmit(getNodeQuery);
if (getNextNodesForSubmit.getSuccess()) {
getNextNodesForSubmit.getData().removeAll(Collections.singleton(null));
data = getNextNodesForSubmit.getData().get(0).getName();
} else {
return rb.setMsg(getNextNodesForSubmit.getMsg());
}
} else {
return rb.setMsg("参数错误:next");
}
return rb.success().setData(data);
}
}

54
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/finance/paymentapply/PaymentApplyRest.java

@ -0,0 +1,54 @@
package com.yxt.anrui.terminal.biz.finance.paymentapply;
import com.yxt.anrui.terminal.api.finance.paymentapply.PaymentApplyFeign;
import com.yxt.anrui.terminal.api.finance.paymentapply.PaymentApplyVo;
import com.yxt.anrui.terminal.api.finance.paymentapply.flowable.PaymentApplyDto;
import com.yxt.anrui.terminal.api.finance.paymentapply.flowable.PaymentApplyQuery;
import com.yxt.anrui.terminal.api.finance.paymentapply.flowable.PaymentApplyTaskQuery;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @Author dimengzhe
* @Date 2022/10/6 10:15
* @Description
*/
@Controller
@RequestMapping("/finance/v1/paymentApply")
public class PaymentApplyRest implements PaymentApplyFeign {
@Autowired
private PaymentApplyService paymentApplyService;
@Override
public ResultBean<PaymentApplyVo> getPaymentApply(String sid) {
return paymentApplyService.getPaymentApply(sid);
}
@Override
public ResultBean agreePayApplyInfo(PaymentApplyDto dto) {
return paymentApplyService.agreePayApplyInfo(dto);
}
@Override
public ResultBean rejectPayApplyInfo(PaymentApplyTaskQuery query) {
return paymentApplyService.rejectPayApplyInfo(query);
}
@Override
public ResultBean recallPayApplyInfo(PaymentApplyTaskQuery query) {
return paymentApplyService.recallPayApplyInfo(query);
}
@Override
public ResultBean stopPayApplyInfo(PaymentApplyTaskQuery query) {
return paymentApplyService.stopPayApplyInfo(query);
}
@Override
public ResultBean<String> getFlowOperateTitle(PaymentApplyQuery query) {
return paymentApplyService.getFlowOperateTitle(query);
}
}

137
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/finance/paymentapply/PaymentApplyService.java

@ -0,0 +1,137 @@
package com.yxt.anrui.terminal.biz.finance.paymentapply;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.fin.api.fincostapply.flow.FinCostGetNodeVo;
import com.yxt.anrui.fin.api.finpaymentapply.AppFinPaymentApplyVo;
import com.yxt.anrui.fin.api.finpaymentapply.FinPaymentapplyFeign;
import com.yxt.anrui.fin.api.finpaymentapply.flow.FinPayCompleteDto;
import com.yxt.anrui.fin.api.finpaymentapply.flow.FinPayGetNodeQuery;
import com.yxt.anrui.fin.api.finpaymentapply.flow.FinPayGetNodeVo;
import com.yxt.anrui.fin.api.finpaymentapply.flow.FinPayTaskQuery;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.terminal.api.finance.paymentapply.PaymentApplyVo;
import com.yxt.anrui.terminal.api.finance.paymentapply.flowable.PaymentApplyDto;
import com.yxt.anrui.terminal.api.finance.paymentapply.flowable.PaymentApplyQuery;
import com.yxt.anrui.terminal.api.finance.paymentapply.flowable.PaymentApplyTaskQuery;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/10/6 10:16
* @Description
*/
@Service
public class PaymentApplyService {
@Autowired
private FinPaymentapplyFeign finPaymentapplyFeign;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
public ResultBean<PaymentApplyVo> getPaymentApply(String sid) {
ResultBean<PaymentApplyVo> rb = ResultBean.fireFail();
PaymentApplyVo vo = new PaymentApplyVo();
ResultBean<AppFinPaymentApplyVo> resultBean = finPaymentapplyFeign.getPaymentApply(sid);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
BeanUtil.copyProperties(resultBean.getData(), vo);
return rb.success().setData(vo);
}
public ResultBean agreePayApplyInfo(PaymentApplyDto dto) {
ResultBean rb = ResultBean.fireFail();
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
//根据staffSid获取用户的组织全路径
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid());
if (!staffOrgResultBean.getSuccess()) {
return rb.setMsg(staffOrgResultBean.getMsg());
}
//用户的组织全路径
String orgSidPath = staffOrgResultBean.getData().getOrgSidPath();
FinPayCompleteDto finPayCompleteDto = new FinPayCompleteDto();
BeanUtil.copyProperties(dto, finPayCompleteDto);
finPayCompleteDto.setOrgSidPath(orgSidPath);
ResultBean resultBean = finPaymentapplyFeign.complete(finPayCompleteDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean rejectPayApplyInfo(PaymentApplyTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
FinPayTaskQuery finPayTaskQuery = new FinPayTaskQuery();
BeanUtil.copyProperties(query, finPayTaskQuery);
ResultBean resultBean = finPaymentapplyFeign.taskReject(finPayTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean recallPayApplyInfo(PaymentApplyTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
FinPayTaskQuery finPayTaskQuery = new FinPayTaskQuery();
BeanUtil.copyProperties(query, finPayTaskQuery);
ResultBean resultBean = finPaymentapplyFeign.revokeProcess(finPayTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean stopPayApplyInfo(PaymentApplyTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
FinPayTaskQuery finPayTaskQuery = new FinPayTaskQuery();
BeanUtil.copyProperties(query, finPayTaskQuery);
ResultBean resultBean = finPaymentapplyFeign.breakProcess(finPayTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean<String> getFlowOperateTitle(PaymentApplyQuery query) {
ResultBean<String> rb = ResultBean.fireFail();
//0 上一环节 1下一环节
int next = query.getNext();
FinPayGetNodeQuery getNodeQuery = new FinPayGetNodeQuery();
BeanUtil.copyProperties(query, getNodeQuery);
String data = "";
if (next == 0) {
ResultBean<List<FinPayGetNodeVo>> getPreviousNodesForReject = finPaymentapplyFeign.getPreviousNodesForReject(getNodeQuery);
if (getPreviousNodesForReject.getSuccess()) {
getPreviousNodesForReject.getData().removeAll(Collections.singleton(null));
data = getPreviousNodesForReject.getData().get(0).getName();
} else {
return rb.setMsg(getPreviousNodesForReject.getMsg());
}
} else if (next == 1) {
ResultBean<List<FinPayGetNodeVo>> getNextNodesForSubmit = finPaymentapplyFeign.getNextNodesForSubmit(getNodeQuery);
if (getNextNodesForSubmit.getSuccess()) {
getNextNodesForSubmit.getData().removeAll(Collections.singleton(null));
data = getNextNodesForSubmit.getData().get(0).getName();
} else {
return rb.setMsg(getNextNodesForSubmit.getMsg());
}
} else {
return rb.setMsg("参数错误:next");
}
return rb.success().setData(data);
}
}

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save