Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
yxt_djz 2 years ago
parent
commit
5692bf36af
  1. 20
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basediscountpackage/AppDiscountpackageQuery.java
  2. 38
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basediscountpackage/AppDiscountpackageVo.java
  3. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basediscountpackage/BaseDiscountpackageFeign.java
  4. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basediscountpackage/BaseDiscountpackageFeignFallback.java
  5. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeign.java
  6. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeignFallback.java
  7. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeign.java
  8. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeignFallback.java
  9. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/AppCommonContractInitVo.java
  10. 21
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CarContractListVo.java
  11. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContract.java
  12. 1
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/ContractTemplateEnum.java
  13. 23
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/InvoicMessageContractVo.java
  14. 8
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basediscountpackage/BaseDiscountpackageRest.java
  15. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basediscountpackage/BaseDiscountpackageService.java
  16. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigService.java
  17. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.java
  18. 25
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml
  19. 7
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java
  20. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java
  21. 3
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderMapper.java
  22. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderMapper.xml
  23. 5
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderRest.java
  24. 6
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderService.java
  25. 7
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.xml
  26. 346
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java
  27. 1576
      anrui-base/anrui-base-biz/src/main/resources/ftl/carContract.ftl
  28. 1163
      anrui-base/anrui-base-biz/src/main/resources/ftl/carFin.ftl
  29. 8
      anrui-base/anrui-base-biz/src/main/resources/ftl/existingvehicles.ftl
  30. 10
      anrui-base/anrui-base-biz/src/main/resources/ftl/existingvehicles_black.ftl
  31. 1102
      anrui-base/anrui-base-biz/src/main/resources/ftl/invoicApply.ftl
  32. 1356
      anrui-base/anrui-base-biz/src/main/resources/ftl/moneyFin.ftl
  33. 10
      anrui-base/anrui-base-biz/src/main/resources/ftl/orderacar.ftl
  34. 10
      anrui-base/anrui-base-biz/src/main/resources/ftl/orderacar_black.ftl
  35. 1424
      anrui-base/anrui-base-biz/src/main/resources/ftl/receiveCar.ftl
  36. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/AppDeliveredApplyInfoVo.java
  37. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/AppSubmitDeliveredApplyDto.java
  38. 6
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeposit/AppBusDepositBuscenterDetailVo.java
  39. 4
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdepositfictitious/BusDepositFictitious.java
  40. 6
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppBusSaleOrderStateVo.java
  41. 12
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppBusSalesOrderSubmitInfoVo.java
  42. 1
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppOrderDetailsVo.java
  43. 3
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppOrderModelInfoVo.java
  44. 21
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/vin/VinListsVo.java
  45. 3
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppBusSalesOrderDepositListVo.java
  46. 7
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermakeup/BusSalesOrderMakeup.java
  47. 7
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermakeup/app/AppBusSalesOrderMakeUpDto.java
  48. 6
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermakeup/app/AppBusSalesOrderMakeUpVo.java
  49. 15
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordersubmit/BusSalesOrderSubmit.java
  50. 16
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordersubmit/BusSalesOrderSubmitDto.java
  51. 1
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicleDetailsVo.java
  52. 5
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicleFeign.java
  53. 5
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicleFeignFallback.java
  54. 40
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java
  55. 1
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositfictitious/BusDepositFictitiousMapper.xml
  56. 5
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositvehicle/BusDepositVehicleService.java
  57. 58
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositService.java
  58. 11
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.xml
  59. 227
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  60. 6
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositService.java
  61. 5
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermakeup/BusSalesOrderMakeupMapper.xml
  62. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermodel/BusSalesOrderModelService.java
  63. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordersubmit/BusSalesOrderSubmitService.java
  64. 3
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.java
  65. 9
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.xml
  66. 14
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleRest.java
  67. 12
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleService.java
  68. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesvehicleorder/BusSalesVehicleOrderMapper.java
  69. 13
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesvehicleorder/BusSalesVehicleOrderMapper.xml
  70. 8
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesvehicleorder/BusSalesVehicleOrderService.java
  71. 9
      anrui-buscenter/anrui-buscenter-ui/src/api/dictcommons/dictcommons.js
  72. 65
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xunidingdanFlow/dingjinshouqu.vue
  73. 160
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xunidingdanFlow/dingjinshouquEdit.vue
  74. 73
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xunidingdanFlow/dingjinshouquInfo.vue
  75. 164
      anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xunidingdan/xunidingjinAdd.vue
  76. 73
      anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xunidingdan/xunidingjininfo.vue
  77. 45
      anrui-buscenter/anrui-finmanage-ui/src/api/anruifinmanagement/billinginformation.js
  78. 10
      anrui-buscenter/anrui-finmanage-ui/src/api/anruifinmanagement/paymentConfirmation.js
  79. 9
      anrui-buscenter/anrui-finmanage-ui/src/api/jichuxinxi/dictcommons.js
  80. 30
      anrui-buscenter/anrui-finmanage-ui/src/router/modules/codemenu.js
  81. 195
      anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/billinginformation/kaipiaoxinxiguanli/kaipiaoxinxiAdd.vue
  82. 282
      anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/billinginformation/kaipiaoxinxiguanli/kaixiaoxinxiguanli.vue
  83. 184
      anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/billinginformation/kaipiaoxinxiweihu/kaipiaoxinxiweihu.vue
  84. 70
      anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/paymentConfirmation/acknowledgementReceipt.vue
  85. 192
      anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/paymentConfirmation/acknowledgementReceiptAdd.vue
  86. 93
      anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/paymentConfirmation/acknowledgementReceiptInfo.vue
  87. 4
      anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/paymentConfirmation/cashierConfirmationInfo.vue
  88. 2
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempService.java
  89. 5
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/AppFinCollectionConfirmationDetailedVo.java
  90. 15
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/AppFinCollectionConfirmationDto.java
  91. 15
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/AppFinCollectionConfirmationInitVo.java
  92. 13
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/AppFinCollectionConfirmationPageVo.java
  93. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/FinCollectionConfirmation.java
  94. 14
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/FinCollectionConfirmationDetailsVo.java
  95. 14
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/FinCollectionConfirmationDto.java
  96. 11
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/FinCollectionConfirmationVo.java
  97. 13
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/app/FinConfirmDto.java
  98. 70
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicing.java
  99. 71
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingDetailsVo.java
  100. 71
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingDto.java

20
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basediscountpackage/AppDiscountpackageQuery.java

@ -0,0 +1,20 @@
package com.yxt.anrui.base.api.basediscountpackage;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class AppDiscountpackageQuery implements Query {
@ApiModelProperty("userSid")
private String userSid;
@ApiModelProperty("组织机构sid")
private String orgPath;
@ApiModelProperty("合同编号 客户名称")
private String names;
@ApiModelProperty("申请日期")
private String date;
@ApiModelProperty("1待办 2已办")
private String type;
}

38
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basediscountpackage/AppDiscountpackageVo.java

@ -0,0 +1,38 @@
package com.yxt.anrui.base.api.basediscountpackage;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel(value = "优惠包 视图数据对象", description = "优惠包 视图数据对象")
@Data
public class AppDiscountpackageVo implements Vo {
@ApiModelProperty("优惠包sid")
private String sid;
@ApiModelProperty("合同编号")
private String contractId;
@ApiModelProperty("申请人")
private String applyName;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("流程状态")
private String nodeState;
@ApiModelProperty("申请日期")
private String applyDate;
@ApiModelProperty("是否显示办理按钮 提交后不显示")
private Boolean showHandleBtn;
@ApiModelProperty("车型名称")
private String model;
@ApiModelProperty("台数")
private String number;
}

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basediscountpackage/BaseDiscountpackageFeign.java

@ -76,6 +76,10 @@ public interface BaseDiscountpackageFeign {
@ApiOperation("移动端-获取标签")
@GetMapping("/selectAppLableListByUserSid")
ResultBean<List<AppBaseLableListVo>> selectAppListByUserSid(@SpringQueryMap AppLableQuery appLableQuery);
@ApiOperation("移动端-获取优惠包列表")
@PostMapping("/getDiscountManageApplyList")
ResultBean<PagerVo<AppDiscountpackageVo>> getDiscountManageApplyList(@RequestBody PagerQuery<AppDiscountpackageQuery> pq);
/*****************************销售政策流程****************************************************/
@ApiOperation("提交销售政策流程")

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basediscountpackage/BaseDiscountpackageFeignFallback.java

@ -77,6 +77,11 @@ public class BaseDiscountpackageFeignFallback implements BaseDiscountpackageFeig
return null;
}
@Override
public ResultBean<PagerVo<AppDiscountpackageVo>> getDiscountManageApplyList(PagerQuery<AppDiscountpackageQuery> pq) {
return null;
}
@Override
public ResultBean submitBaseDiscountpackage(SubmitBaseDiscountpackageDto dto) {
return null;

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

@ -456,6 +456,10 @@ public interface BaseVehicleFeign {
@PostMapping("/selectByVinNoAndOrgSid")
ResultBean<BaseVehicle> selectByVinNoAndOrgSid(@RequestParam("vinNo") String vinNo, @RequestParam("createOrgSid") String createOrgSid);
@ApiOperation("根据物料编码查询排产申请编号")
@PostMapping("/selectByfMaterialID")
ResultBean<String> selectByfMaterialID(@RequestParam("fMaterialID") String fMaterialID);
@ApiOperation("巡检获取车价号:已添加切换机构")
@PostMapping("/getInspectionVinList")
@ResponseBody

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

@ -361,6 +361,11 @@ public class BaseVehicleFeignFallback implements BaseVehicleFeign {
return null;
}
@Override
public ResultBean<String> selectByfMaterialID(String fMaterialID) {
return null;
}
@Override
public ResultBean<PagerVo<InspectionVinVo>> getInspectionVinList(PagerQuery<InspectionVinQuery> pagerQuery) {
return null;

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeign.java

@ -117,4 +117,9 @@ public interface BusVehicleOrderFeign {
@ApiOperation("查询采购系统(部门)sid、采购系统(部门)名称字段、厂家销售通路sid、厂家销售通路")
@GetMapping("/getActualAndOrgDept/{vehicleOrderSid}/{modelSid}/{configSid}")
public ResultBean<ActualAndOrgDeptVo> getActualAndOrgDept(@PathVariable("vehicleOrderSid") String vehicleOrderSid, @PathVariable("modelSid")String modelSid, @PathVariable("configSid")String configSid);
@ApiOperation("根据采购订单sid更新采购订单的锁定数量")
@PutMapping("/updateState")
ResultBean updateLockNum(@RequestParam("sid")String sid,@RequestParam("num")String num);
}

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeignFallback.java

@ -112,5 +112,10 @@ public class BusVehicleOrderFeignFallback implements BusVehicleOrderFeign {
return null;
}
@Override
public ResultBean updateLockNum(String sid, String num) {
return null;
}
}

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/AppCommonContractInitVo.java

@ -71,6 +71,11 @@ public class AppCommonContractInitVo implements Vo {
private String configSid;
@ApiModelProperty("车型sid")
private String modelSid;
@ApiModelProperty("1全款,2贷款")
private String buyTypeKey;
@ApiModelProperty("业务sid")
private String busSid;
}

21
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CarContractListVo.java

@ -0,0 +1,21 @@
package com.yxt.anrui.base.api.commoncontract;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/12/15 23:17
* @Description
*/
@Data
public class CarContractListVo implements Vo {
private static final long serialVersionUID = -7919203466777644461L;
@ApiModelProperty("品牌")
private String brand;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("发动机号")
private String enginNo;
}

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContract.java

@ -116,4 +116,6 @@ public class CommonContract extends BaseEntity {
private String configSid;
private String commonContractUrl;
@ApiModelProperty("合同的整个文件的路径")
private String contractUrlAll;
}

1
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/ContractTemplateEnum.java

@ -15,6 +15,7 @@ public enum ContractTemplateEnum {
CUSTOMERINVOICINGAPPLICATION("customer_invoicing_application", "客户开票申请书"),
VEHICLEREGISTRATION("vehicle_registration", "车辆登记合同"),
ENTRUSTPICKUPAUTHORIZATION("entrust_pickup_authorization", "委托提车授权书"),
CONTRACTALL("contract_all", "合同其他附件"),
;
/**

23
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/InvoicMessageContractVo.java

@ -0,0 +1,23 @@
package com.yxt.anrui.base.api.commoncontract;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/12/15 14:16
* @Description
*/
@Data
public class InvoicMessageContractVo implements Vo {
private static final long serialVersionUID = 1949545697410508233L;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("开票类型")
private String type;
@ApiModelProperty("开票金额")
private String invoicMoney;
@ApiModelProperty("开票名称")
private String invoicName;
}

8
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basediscountpackage/BaseDiscountpackageRest.java

@ -146,6 +146,14 @@ public class BaseDiscountpackageRest implements BaseDiscountpackageFeign {
return baseDiscountpackageService.selectAppListByUserSid(appLableQuery);
}
@Override
public ResultBean<PagerVo<AppDiscountpackageVo>> getDiscountManageApplyList(PagerQuery<AppDiscountpackageQuery> pq) {
PagerVo<AppDiscountpackageVo> page = new PagerVo<>();
IPage<AppDiscountpackageVo> iPage = baseDiscountpackageService.getDiscountManageApplyList(pq);
PagerVo<AppDiscountpackageVo> pagerVo = PagerUtil.pageToVo(iPage, page);
return new ResultBean<PagerVo<AppDiscountpackageVo>>().success().setData(pagerVo);
}
@Override
public ResultBean submitBaseDiscountpackage(SubmitBaseDiscountpackageDto dto) {
return baseDiscountpackageService.submitBaseDiscountpackage(dto);

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basediscountpackage/BaseDiscountpackageService.java

@ -711,4 +711,8 @@ public class BaseDiscountpackageService extends MybatisBaseService<BaseDiscountp
}
return rb.success().setData(appBaseLableListVos);
}
public IPage<AppDiscountpackageVo> getDiscountManageApplyList(PagerQuery<AppDiscountpackageQuery> pq) {
return null;
}
}

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigService.java

@ -903,7 +903,9 @@ public class BaseModelConfigService extends MybatisBaseService<BaseModelConfigMa
labelValue.append(labelName).append("/");
}
}
if (StringUtils.isNotBlank(labelValue.toString())){
vo.setLabelValue(labelValue.substring(0,labelValue.lastIndexOf("/")));
}
List<String> modelImages = baseVehicleModelAppendixService.selectImageList(modelSid);
List<String> modelImagesList = new ArrayList<>();
if (!modelImages.isEmpty()) {

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

@ -484,4 +484,6 @@ public interface BaseVehicleMapper extends BaseMapper<BaseVehicle> {
List<AppBaseVinNowCarVo> getStockModelNowCarList(@Param(Constants.WRAPPER) QueryWrapper<AppBaseVinNowCarVo> qw);
AppBaseConfigOrderCarVo getStockModelSidAndConfigSid(@Param("modelSid") String modelSid, @Param("configSid") String configSid, @Param("useOrg") String useOrg);
String selectByfMaterialID(String fMaterialID);
}

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

@ -932,7 +932,6 @@
</where>
</if>
order by isFictitious desc
</select>
<select id="fetchVehicle" resultType="com.yxt.anrui.base.api.basevehicle.BaseVehicleVo">
@ -975,7 +974,8 @@
#{item}
</foreach>
</where>
</if>) as total
</if>
) as total
</select>
<select id="selectByModelSidAndConfigSid"
@ -983,12 +983,15 @@
SELECT bvm.vehicleAlias AS modelName,
convert(bc.guidedPrice / 10000, decimal (10, 2)) AS price,
bmc.configName AS commonlyConfig,
(SELECT GROUP_CONCAT(bvl.labelName) FROM base_vehmodel_label bvl
(SELECT GROUP_CONCAT(bvl.labelName)
FROM base_vehmodel_label bvl
LEFT JOIN base_vehmodelconfig_label bvcl
ON bvcl.labelSid = bvl.sid
LEFT JOIN base_vehmodel_config bvc
ON bvc.`sid` = bvcl.`vehmodelConfigSid`
WHERE bvc.modelSid = bvm.sid AND bvc.`configurationItemsSid` = bmc.sid AND bvc.`useOrgSid` = #{useOrg}) AS labelName
WHERE bvc.modelSid = bvm.sid
AND bvc.`configurationItemsSid` = bmc.sid
AND bvc.`useOrgSid` = #{useOrg}) AS labelName
FROM base_vehmodel_config bc
LEFT JOIN base_vehicle_model bvm ON bc.`modelSid` = bvm.`sid`
LEFT JOIN base_model_config bmc ON bc.configurationItemsSid = bmc.`sid`
@ -1529,12 +1532,15 @@
select bvm.vehicleAlias AS modelName,
convert(bvc.guidedPrice / 10000, decimal (10, 2)) AS price,
bmc.configName AS commonlyConfig,
(SELECT GROUP_CONCAT(bvl.labelName) FROM base_vehmodel_label bvl
(SELECT GROUP_CONCAT(bvl.labelName)
FROM base_vehmodel_label bvl
LEFT JOIN base_vehmodelconfig_label bvcl
ON bvcl.labelSid = bvl.sid
LEFT JOIN base_vehmodel_config bvc
ON bvc.`sid` = bvcl.`vehmodelConfigSid`
WHERE bvc.modelSid = bvm.sid AND bvc.`configurationItemsSid` = bmc.sid AND bvc.`useOrgSid` = #{useOrg}) AS labelName
WHERE bvc.modelSid = bvm.sid
AND bvc.`configurationItemsSid` = bmc.sid
AND bvc.`useOrgSid` = #{useOrg}) AS labelName
from base_vehmodel_config bvc
LEFT JOIN base_vehicle_model bvm ON bvc.`modelSid` = bvm.`sid`
LEFT JOIN base_model_config bmc ON bvc.configurationItemsSid = bmc.`sid`
@ -1542,4 +1548,11 @@
AND bvc.configurationItemsSid = #{configSid}
AND bvc.useOrgSid = #{useOrg}
</select>
<select id="selectByfMaterialID" resultType="java.lang.String">
SELECT orderingNo
FROM base_vehicle
WHERE vinNo like concat('%', #{fMaterialID}, '%')
LIMIT 1
</select>
</mapper>

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

@ -1193,6 +1193,13 @@ public class BaseVehicleRest implements BaseVehicleFeign {
return rb.success().setData(baseVehicle);
}
@Override
public ResultBean<String> selectByfMaterialID(String fMaterialID) {
ResultBean rb = ResultBean.fireFail();
String orderingNo = baseVehicleService.selectByfMaterialID(fMaterialID);
return rb.success().setData(orderingNo);
}
@Override
public ResultBean<PagerVo<InspectionVinVo>> getInspectionVinList(PagerQuery<InspectionVinQuery> pagerQuery) {
if (StringUtils.isBlank(pagerQuery.getParams().getUserSid())) {

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

@ -3488,4 +3488,8 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
appBaseConfigOrderCarVo.setCarDetailPage(appVehicleVersionVo);
return appBaseConfigOrderCarVo;
}
public String selectByfMaterialID(String fMaterialID) {
return baseMapper.selectByfMaterialID(fMaterialID);
}
}

3
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderMapper.java

@ -32,6 +32,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.base.api.basevehicle.AppCurrentCarDetailVo;
import com.yxt.anrui.base.api.busvehicleorder.*;
import com.yxt.common.core.result.ResultBean;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@ -116,4 +117,6 @@ public interface BusVehicleOrderMapper extends BaseMapper<BusVehicleOrder> {
@Update("update bus_vehicle_order set state = 1 where sid = #{vehicleOrderSid}")
void updateState(String vehicleOrderSid);
int updateLockNum(@Param("sid") String sid, @Param("num") String num);
}

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderMapper.xml

@ -211,4 +211,8 @@
ON bvad.`sid` = bvo.purchaseApplyMediumModelSid
WHERE bvad.sid = #{sid}
</select>
<update id="updateLockNum">
update bus_vehicle_order set lockingNum = #{num} where sid = #{sid}
</update>
</mapper>

5
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderRest.java

@ -218,4 +218,9 @@ public class BusVehicleOrderRest implements BusVehicleOrderFeign {
return rb.success().setData(vo);
}
@Override
public ResultBean updateLockNum(String sid, String num) {
return busVehicleOrderService.updateLockNum(sid,num);
}
}

6
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderService.java

@ -525,4 +525,10 @@ public class BusVehicleOrderService extends MybatisBaseService<BusVehicleOrderMa
baseMapper.updateState(vehicleOrderSid);
return rb.success().setMsg("更新成功");
}
public ResultBean updateLockNum(String sid, String num) {
ResultBean rb = ResultBean.fireFail();
baseMapper.updateLockNum(sid,num);
return rb.success();
}
}

7
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.xml

@ -113,7 +113,8 @@
customerTypeKey as customerKey,
modelSid,
configSid,
customerSid
customerSid,
busSid
FROM common_contract
WHERE sid = #{contractSid}
</select>
@ -156,6 +157,8 @@
</select>
<select id="selectByNo" resultType="com.yxt.anrui.base.api.commoncontract.CommonContract">
select * from common_contract where contractNo = #{contractNo}
select *
from common_contract
where contractNo = #{contractNo}
</select>
</mapper>

346
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java

@ -15,6 +15,7 @@ import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractNodeVo;
import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractTaskQuery;
import com.yxt.anrui.base.biz.basemodelszconfig.BaseModelSzconfigService;
import com.yxt.anrui.base.biz.basetrailer.BaseTrailerService;
import com.yxt.anrui.base.biz.basevehicle.BaseVehicleService;
import com.yxt.anrui.base.biz.basevehiclebrand.BaseVehicleBrandService;
import com.yxt.anrui.base.biz.basevehiclemodel.BaseVehicleModelService;
import com.yxt.anrui.base.biz.commonappendix.CommonAppendixService;
@ -26,11 +27,14 @@ import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitiousFeig
import com.yxt.anrui.buscenter.api.busdepositvehicle.BusDepositVehicleFeign;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.*;
import com.yxt.anrui.buscenter.api.bussalesorder.app.vin.VinListsVo;
import com.yxt.anrui.crm.api.crmcustomer.CrmCustomerFeign;
import com.yxt.anrui.crm.api.crmcustomerfile.CrmCustomerFileFeign;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerFileDDto;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo;
import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingDetailsVo;
import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingFeign;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedFeign;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.UnCollectionDto;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
@ -76,6 +80,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.io.File;
import java.io.InputStream;
import java.math.BigDecimal;
import java.text.MessageFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.*;
@ -150,6 +155,10 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
private FlowTaskFeign flowTaskFeign;
@Autowired
private FinUncollectedReceivablesDetailedFeign finUncollectedDetailedFeign;
@Autowired
private FinCompanyInvoicingFeign finCompanyInvoicingFeign;
@Autowired
private BaseVehicleService baseVehicleService;
private QueryWrapper<CommonContract> createQueryWrapper(CommonContractQuery query) {
// todo: 这里根据具体业务调整查询条件
@ -749,20 +758,15 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
return url;
}*/
private String genCarSaleContract(PrintConfirmDto dto, Map<String, Object> map, AppOrderDetailsVo appOrderDetailsVo) {
// File file = null;
String ftl = "";
if ("现车".equals(appOrderDetailsVo.getOrderType())) {
//获取模板
// file = new File(getClass().getClassLoader().getResource("ftl/existingvehicles.ftl").getFile());
ftl = "existingvehicles";
} else {
//获取模板
ftl = "orderacar";
// file = new File(getClass().getClassLoader().getResource("ftl/orderacar.ftl").getFile());
}
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/" + ftl + ".ftl");
// String dir = getClassLoader().getResource("ftl").getPath();
//生成word文件名
String targetPath = docPdfComponent.getUploadTemplateUrl();
String dateStr = DateUtil.format(new Date(), "yyyyMMdd");
@ -775,7 +779,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
//新生成的word路径
String wordPath = targetPath + typeName;
//生成文件名
String pdfName = "合同_"+dateStr + seconds + ".pdf";
String pdfName = "新车买卖合同_" + dateStr + seconds + ".pdf";
WordConvertUtils.doc2pdf(wordPath, targetPath, pdfName);
return pdfName;
}
@ -812,7 +816,6 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
}*/
private String genCarSaleContractBlank(PrintConfirmDto dto, Map<String, Object> map, AppOrderDetailsVo appOrderDetailsVo) {
String url = "";
// File file = null;
map.put("totalPrice", "");
map.put("priceRemarks", "");
map.put("depositTotal", "");
@ -823,13 +826,10 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
if ("现车".equals(appOrderDetailsVo.getOrderType())) {
//获取模板
ftl = "existingvehicles_black";
// file = new File(getClass().getClassLoader().getResource("ftl/existingvehicles_black.ftl").getFile());
} else {
// 订车获取模板
ftl = "orderacar_black";
// file = new File(getClass().getClassLoader().getResource("ftl/orderacar_black.ftl").getFile());
}
// String dir = getClassLoader().getResource("ftl").getPath();
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/" + ftl + ".ftl");
//生成word文件名
String targetPath = docPdfComponent.getUploadTemplateUrl();
@ -843,10 +843,212 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
//新生成的word路径
String wordPath = targetPath + typeName;
//生成合同文件名
String pdfName = "空白合同_"+dateStr + seconds + ".pdf";
String pdfName = "新车买卖空白合同_" + dateStr + seconds + ".pdf";
WordConvertUtils.doc2pdf(wordPath, targetPath, pdfName);
url = pdfName;
}
return url;
}
private String getReceiveCar(Map<String, Object> map, AppOrderDetailsVo appOrderDetailsVo) {
String url = "";
//查询销售订单的现车
AppOrderModelInfoVo orderModelInfoVo = appOrderDetailsVo.getModelInfo();
List<String> stringList = orderModelInfoVo.getVinList();
/*if (stringList.size() > 0) {
map.put("vinNo", String.join(",", stringList));
}*/
String ftl = "receiveCar";
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/" + ftl + ".ftl");
//生成word文件名
String targetPath = docPdfComponent.getUploadTemplateUrl();
String dateStr = DateUtil.format(new Date(), "yyyyMMdd");
long seconds = System.currentTimeMillis();
String typeName = dateStr + seconds + ".doc";
File file = new File(targetPath + ftl + seconds + ".ftl");
File dir = new File(targetPath);
WordConvertUtils.inputStreamToFile(inputStream, file);
WordConvertUtils.creatWord1(map, file, targetPath, typeName, dir);
//新生成的word路径
String wordPath = targetPath + typeName;
//生成合同文件名
String pdfName = "接收车辆委托书_" + dateStr + seconds + ".pdf";
WordConvertUtils.doc2pdf(wordPath, targetPath, pdfName);
url = pdfName;
return url;
}
/**
* 客户开票申请信息
*
* @param map
* @param appOrderDetailsVo
* @return
*/
private String getInvoicMessage(Map<String, Object> map, AppOrderDetailsVo appOrderDetailsVo) {
String url = "";
//根据分公司sid查询分公司开票申请
String invoicName = "";
ResultBean<FinCompanyInvoicingDetailsVo> invoicingDetailsVoResultBean = finCompanyInvoicingFeign.fetchDetailsByUseOrgSid(appOrderDetailsVo.getUseOrgSid());
if (invoicingDetailsVoResultBean.getData() != null) {
map.put("createOrgName", invoicingDetailsVoResultBean.getData().getUseOrgName());
invoicName = invoicingDetailsVoResultBean.getData().getName();
}
//查询销售订单的现车
AppOrderModelInfoVo orderModelInfoVo = appOrderDetailsVo.getModelInfo();
AppOrderPriceInfoVo priceInfo = appOrderDetailsVo.getPriceInfo();
List<String> stringList = orderModelInfoVo.getVinList();
List<InvoicMessageContractVo> invoicMessageContractVos = new ArrayList<>();
if (stringList.size() > 0) {
for (int i = 0; i < stringList.size(); i++) {
InvoicMessageContractVo vo = new InvoicMessageContractVo();
vo.setVinNo(stringList.get(i));
vo.setType(appOrderDetailsVo.getInvoiceType());
vo.setInvoicMoney(priceInfo.getSingleFinalPrice());
vo.setInvoicName(invoicName);
invoicMessageContractVos.add(vo);
}
}
map.put("invoicList", invoicMessageContractVos);
String ftl = "invoicApply";
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/" + ftl + ".ftl");
//生成word文件名
String targetPath = docPdfComponent.getUploadTemplateUrl();
String dateStr = DateUtil.format(new Date(), "yyyyMMdd");
long seconds = System.currentTimeMillis();
String typeName = dateStr + seconds + ".doc";
File file = new File(targetPath + ftl + seconds + ".ftl");
File dir = new File(targetPath);
WordConvertUtils.inputStreamToFile(inputStream, file);
WordConvertUtils.creatWord1(map, file, targetPath, typeName, dir);
//新生成的word路径
String wordPath = targetPath + typeName;
//生成合同文件名
String pdfName = "开票申请书_" + dateStr + seconds + ".pdf";
WordConvertUtils.doc2pdf(wordPath, targetPath, pdfName);
url = pdfName;
return url;
}
/**
* 款项确认-车款
*
* @param map
* @param appOrderDetailsVo
* @return
*/
private String getCarFin(Map<String, Object> map, AppOrderDetailsVo appOrderDetailsVo) {
String url = "";
//查询销售订单的现车
/*AppOrderModelInfoVo orderModelInfoVo = appOrderDetailsVo.getModelInfo();
AppOrderPriceInfoVo priceInfo = appOrderDetailsVo.getPriceInfo();
AppOrderDepositInfoVo depositInfo = appOrderDetailsVo.getDepositInfo();
String singleFinalPrice = priceInfo.getSingleFinalPrice();
String deposit = depositInfo.getDeposit();
if (new BigDecimal(singleFinalPrice).compareTo(new BigDecimal(deposit)) != 0) {
//单台成交价-单台订金 = 单台车款
BigDecimal money = new BigDecimal(singleFinalPrice).subtract(new BigDecimal(deposit)).multiply(new BigDecimal(priceInfo.getNumber()));
map.put("money", money);
map.put("moneyDx", TransformMoney.transform(TransformMoney.getDecimalStr(Double.valueOf(money.toString()).doubleValue())));
}
List<String> stringList = orderModelInfoVo.getVinList();
if (stringList.size() > 0) {
map.put("vinNo", String.join(",", stringList));
}*/
//车款:money,大写:moneyDx
String ftl = "carFin";
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/" + ftl + ".ftl");
//生成word文件名
String targetPath = docPdfComponent.getUploadTemplateUrl();
String dateStr = DateUtil.format(new Date(), "yyyyMMdd");
long seconds = System.currentTimeMillis();
String typeName = dateStr + seconds + ".doc";
File file = new File(targetPath + ftl + seconds + ".ftl");
File dir = new File(targetPath);
WordConvertUtils.inputStreamToFile(inputStream, file);
WordConvertUtils.creatWord1(map, file, targetPath, typeName, dir);
//新生成的word路径
String wordPath = targetPath + typeName;
//生成合同文件名
String pdfName = "款项确认书_车款_" + dateStr + seconds + ".pdf";
WordConvertUtils.doc2pdf(wordPath, targetPath, pdfName);
url = pdfName;
return url;
}
private String getMoneyFin(Map<String, Object> map, AppOrderDetailsVo appOrderDetailsVo) {
String url = "";
//查询销售订单的现车
/* AppOrderModelInfoVo orderModelInfoVo = appOrderDetailsVo.getModelInfo();
AppOrderPriceInfoVo priceInfo = appOrderDetailsVo.getPriceInfo();
AppOrderDepositInfoVo depositInfo = appOrderDetailsVo.getDepositInfo();
String singleFinalPrice = priceInfo.getSingleFinalPrice();
String deposit = depositInfo.getDeposit();
map.put("money", new BigDecimal(singleFinalPrice).multiply(new BigDecimal(priceInfo.getNumber())));
map.put("moneyDx", TransformMoney.transform(TransformMoney.getDecimalStr(Double.valueOf(new BigDecimal(singleFinalPrice).multiply(new BigDecimal(priceInfo.getNumber())).toString()).doubleValue())));
map.put("moneyXx", new BigDecimal(deposit).multiply(new BigDecimal(priceInfo.getNumber())));*/
//车款:money,大写:moneyDx
String ftl = "moneyFin";
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/" + ftl + ".ftl");
//生成word文件名
String targetPath = docPdfComponent.getUploadTemplateUrl();
String dateStr = DateUtil.format(new Date(), "yyyyMMdd");
long seconds = System.currentTimeMillis();
String typeName = dateStr + seconds + ".doc";
File file = new File(targetPath + ftl + seconds + ".ftl");
File dir = new File(targetPath);
WordConvertUtils.inputStreamToFile(inputStream, file);
WordConvertUtils.creatWord1(map, file, targetPath, typeName, dir);
//新生成的word路径
String wordPath = targetPath + typeName;
//生成合同文件名
String pdfName = "款项确认书_订金_" + dateStr + seconds + ".pdf";
WordConvertUtils.doc2pdf(wordPath, targetPath, pdfName);
url = pdfName;
return url;
}
private String getCarContract(Map<String, Object> map, AppOrderDetailsVo appOrderDetailsVo) {
String url = "";
// map.put("createDate", DateUtil.today());
//查询销售订单的现车
AppOrderModelInfoVo orderModelInfoVo = appOrderDetailsVo.getModelInfo();
List<CarContractListVo> carContractListVos = new ArrayList<>();
List<VinListsVo> vinNoList = orderModelInfoVo.getVinListsVos();
if (vinNoList.size() > 0) {
for (int i = 0; i < vinNoList.size(); i++) {
CarContractListVo carContractListVo = new CarContractListVo();
/*carContractListVo.setBrand(orderModelInfoVo.getBrand());
carContractListVo.setVinNo(vinNoList.get(i).getVinNo());
String vinSid = vinNoList.get(i).getVinSid();
if (StringUtils.isNotBlank(vinSid)) {
//根据车辆sid查询车辆信息获取发动机号
BaseVehicleSelectVo baseVehicleSelectVo = baseVehicleService.details(vinSid);
if (baseVehicleSelectVo != null) {
carContractListVo.setEnginNo(baseVehicleSelectVo.getEngineNo());
}
}*/
carContractListVos.add(carContractListVo);
}
}
map.put("carLists", carContractListVos);
String ftl = "carContract";
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/" + ftl + ".ftl");
//生成word文件名
String targetPath = docPdfComponent.getUploadTemplateUrl();
String dateStr = DateUtil.format(new Date(), "yyyyMMdd");
long seconds = System.currentTimeMillis();
String typeName = dateStr + seconds + ".doc";
File file = new File(targetPath + ftl + seconds + ".ftl");
File dir = new File(targetPath);
WordConvertUtils.inputStreamToFile(inputStream, file);
WordConvertUtils.creatWord1(map, file, targetPath, typeName, dir);
//新生成的word路径
String wordPath = targetPath + typeName;
//生成合同文件名
String pdfName = "车辆登记合同_" + dateStr + seconds + ".pdf";
WordConvertUtils.doc2pdf(wordPath, targetPath, pdfName);
url = pdfName;
return url;
}
@ -1094,6 +1296,11 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
*/
public AppCommonContractInitVo getContractInfo(String contractSid, String userSid) {
AppCommonContractInitVo vo = baseMapper.getContractInfo(contractSid);
ResultBean<AppOrderDetailsVo> busSalesOrderFeignSaleOrderDetails = busSalesOrderFeign.getSaleOrderDetails(vo.getBusSid());
if (busSalesOrderFeignSaleOrderDetails.getSuccess()) {
AppOrderDetailsVo appOrderDetailsVo = busSalesOrderFeignSaleOrderDetails.getData();
vo.setBuyTypeKey(appOrderDetailsVo.getPayTypeKey());
}
String urlPrefix = fileUploadComponent.getUrlPrefix();
if (StringUtils.isNotBlank(vo.getAppdixUrl())) {
String[] split1 = vo.getAppdixUrl().split(",");
@ -1154,9 +1361,9 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
ResultBean rb = ResultBean.fireFail();
AppUserOrgInfoVo data = sysUserFeign.getUserOrgInfoByUserSid(dto.getUserSid()).getData();
CommonContract commonContract = fetchBySid(dto.getContractSid());
commonContract.setStaffSid(dto.getUserSid());
commonContract.setStaffName(data.getStaffName());
commonContract.setOrgSid(data.getOrgSid());
// commonContract.setStaffSid(dto.getUserSid());
// commonContract.setStaffName(data.getStaffName());
// commonContract.setOrgSid(data.getOrgSid());
String s1 = "";
String s2 = "";
String s3 = "";
@ -1383,14 +1590,22 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
//车辆交付地点
String address = priceInfo.getAddress();
//组装到文档相对应的字段中
map.put("createOrgName", createOrgName);
ResultBean<FinCompanyInvoicingDetailsVo> invoicingDetailsVoResultBean = finCompanyInvoicingFeign.fetchDetailsByUseOrgSid(appOrderDetailsVo.getUseOrgSid());
if (invoicingDetailsVoResultBean.getData() != null) {
map.put("createOrgName", invoicingDetailsVoResultBean.getData().getUseOrgName());
}else{
return rb.setMsg("请先完善公司开票信息");
}
// map.put("createOrgName", createOrgName);
map.put("customerName", customerName);
map.put("mobile", mobile);
map.put("idNo", idNo);
map.put("modelName", modelName);
map.put("modelConfig", modelConfig);
map.put("remarks", remarks);
if(appOrderDetailsVo.getInsuranceState()){
map.put("insuranceInfo", insuranceInfo);
}
map.put("totalPrice", totalPrice);
map.put("priceRemarks", priceRemarks);
map.put("depositTotal", depositTotal);
@ -1405,7 +1620,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
ExecutorService pool = new ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
/* Future<String> future1 = pool.submit(() -> {
Future<String> future1 = pool.submit(() -> {
return genCarSaleContract(dto, map, appOrderDetailsVo);
});
PrintConfirmVo printConfirmVo = null;
@ -1433,12 +1648,75 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
printConfirmVo.setDownloadUrl(docPdfComponent.getPrefixTemplateUrl() + future2.get());
list.add(printConfirmVo);
url = url + "," + future2.get();
}*/
}
//接收车辆委托书
Future<String> future4 = pool.submit(() -> {
return getReceiveCar(map, appOrderDetailsVo);
});
Future<String> future5 = pool.submit(() -> {
return getInvoicMessage(map, appOrderDetailsVo);
});
String singleFinalPriceOne = priceInfo.getSingleFinalPrice();
String depositOne = depositInfo.getDeposit();
//单台成交价与单台订金相等
Future<String> future6 = null;
if (new BigDecimal(singleFinalPriceOne).compareTo(new BigDecimal(depositOne)) != 0) {
future6 = pool.submit(() -> {
return getCarFin(map, appOrderDetailsVo);
});
}
Future<String> future7 = pool.submit(() -> {
return getMoneyFin(map, appOrderDetailsVo);
});
Future<String> future8 = null;
if (!"02".equals(appOrderDetailsVo.getInvoiceType())) {
future8 = pool.submit(() -> {
return getCarContract(map, appOrderDetailsVo);
});
}
List<File> filesList = new ArrayList<>();
//合并pdf文件
if (future8 != null) {
if (StringUtils.isNotBlank(future8.get())) {
File file = new File(docPdfComponent.getUploadTemplateUrl() + future8.get());
filesList.add(file);
}
}
if (StringUtils.isNotBlank(future4.get())) {
File file = new File(docPdfComponent.getUploadTemplateUrl() + future4.get());
filesList.add(file);
}
if (StringUtils.isNotBlank(future5.get())) {
File file = new File(docPdfComponent.getUploadTemplateUrl() + future5.get());
filesList.add(file);
}
if (StringUtils.isNotBlank(future6.get())) {
File file = new File(docPdfComponent.getUploadTemplateUrl() + future6.get());
filesList.add(file);
}
if (StringUtils.isNotBlank(future7.get())) {
File file = new File(docPdfComponent.getUploadTemplateUrl() + future7.get());
filesList.add(file);
}
String urlAll = "";
if (filesList.size() > 0) {
String typeName = ContractTemplateEnum.CONTRACTALL.getName() + "_" + DateUtil.format(new Date(), "yyyMMdd") + System.currentTimeMillis() + ".pdf";
File allFile = WordConvertUtils.mulFile2One(filesList, docPdfComponent.getUploadTemplateUrl() + typeName);
System.out.println("-========" + docPdfComponent.getUploadTemplateUrl() + typeName);
urlAll = typeName;
}
if (StringUtils.isNotBlank(urlAll)) {
printConfirmVo = new PrintConfirmVo();
printConfirmVo.setName(MessageFormat.format("《{0}》", ContractTemplateEnum.CONTRACTALL.getName()));
printConfirmVo.setDownloadUrl(docPdfComponent.getPrefixTemplateUrl() + urlAll);
list.add(printConfirmVo);
}
//生成合同数据
//根据销售订单sid查询合同表中是否存在
CommonContractBuscenterVo commonContractBuscenterVo = baseMapper.selectByBusSid(dto.getBusSid());
if (commonContractBuscenterVo == null) {
String finalUrl = url;
String finalUrlAll = urlAll;
Future<String> future3 = pool.submit(() -> {
//新增合同信息
CommonContract commonContract = new CommonContract();
@ -1455,7 +1733,8 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
//客户sid
commonContract.setCustomerSid(appOrderDetailsVo.getCustomerSid());
//业务员sid、业务员
commonContract.setStaffSid(appOrderDetailsVo.getUserSid());
commonContract.setStaffSid(appOrderDetailsVo.getStaffSid());
commonContract.setCreateBySid(appOrderDetailsVo.getUserSid());
commonContract.setStaffName(appOrderDetailsVo.getSellerName());
//分公司sid
commonContract.setOrgSid(appOrderDetailsVo.getOrgSid());
@ -1466,7 +1745,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
commonContract.setPartyB(customerName);
//签订日期、签订地点
commonContract.setCreateDate(new Date());
commonContract.setAddress("");
commonContract.setAddress(address);
//订金
commonContract.setDeposit(new BigDecimal(depositTotal));
//合同金额
@ -1487,6 +1766,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
commonContract.setCommonContractUrl(finalUrl);
commonContract.setCustomerType(appOrderDetailsVo.getCustomerType());
commonContract.setCustomerTypeKey(appOrderDetailsVo.getCustomerKey());
commonContract.setContractUrlAll(finalUrlAll);
save(commonContract);
if (list.size() > 0) {
//添加合同下载路径
@ -1520,8 +1800,8 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
//单台成交价与单台订金相等
if (new BigDecimal(singleFinalPrice).compareTo(new BigDecimal(deposit)) != 0) {//推送车款
String money = new BigDecimal(singleFinalPrice).subtract(new BigDecimal(deposit)).toString();
if ("现车".equals(appOrderDetailsVo.getOrderType())) {
List<String> vinList = appOrderModelInfoVo.getVinList();
// if ("现车".equals(appOrderDetailsVo.getOrderType())) {
List<VinListsVo> vinList = appOrderModelInfoVo.getVinListsVos();
for (int i = 0; i < vinList.size(); i++) {
UnCollectionDto unCollectionDto = new UnCollectionDto();
//合同sid
@ -1541,13 +1821,16 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
unCollectionDto.setReceivablesName("车款");
unCollectionDto.setCustomerPhone(appOrderDetailsVo.getPhone());
unCollectionDto.setUseOrgSid(appOrderDetailsVo.getUseOrgSid());
unCollectionDto.setVinNo(vinList.get(i).toString());
unCollectionDto.setVinNo(vinList.get(i).getVinNo());
unCollectionDto.setCurrentReceivableMoney(money);
unCollectionDto.setUserSid(dto.getUserSid());
unCollectionDto.setReveivableMoney(money);
unCollectionDto.setBusVinSid(vinList.get(i).getSid());
unCollectionDto.setPayType(appOrderDetailsVo.getPayType());
unCollectionDto.setPayTypeKey(appOrderDetailsVo.getPayTypeKey());
finUncollectedDetailedFeign.saveUnCollection(unCollectionDto);
}
} else {
/* } else {
int qualiy = Integer.valueOf(appOrderModelInfoVo.getTotal()).intValue();
for (int i = 0; i < qualiy; i++) {
UnCollectionDto unCollectionDto = new UnCollectionDto();
@ -1573,12 +1856,12 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
unCollectionDto.setReveivableMoney(money);
finUncollectedDetailedFeign.saveUnCollection(unCollectionDto);
}
}
}*/
}
//添加推送至款项确认的应收未收明细中
if ("现车".equals(appOrderDetailsVo.getOrderType())) {
List<String> vinList = appOrderModelInfoVo.getVinList();
/* if ("现车".equals(appOrderDetailsVo.getOrderType())) {*/
List<VinListsVo> vinList = appOrderModelInfoVo.getVinListsVos();
for (int i = 0; i < vinList.size(); i++) {
UnCollectionDto unCollectionDto = new UnCollectionDto();
//合同sid
@ -1598,13 +1881,16 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
unCollectionDto.setReceivablesName("订金");
unCollectionDto.setCustomerPhone(appOrderDetailsVo.getPhone());
unCollectionDto.setUseOrgSid(appOrderDetailsVo.getUseOrgSid());
unCollectionDto.setVinNo(vinList.get(i).toString());
unCollectionDto.setVinNo(vinList.get(i).getVinNo());
unCollectionDto.setCurrentReceivableMoney(depositInfo.getDeposit());
unCollectionDto.setUserSid(dto.getUserSid());
unCollectionDto.setReveivableMoney(depositInfo.getDeposit());
unCollectionDto.setBusVinSid(vinList.get(i).getSid());
unCollectionDto.setPayType(appOrderDetailsVo.getPayType());
unCollectionDto.setPayTypeKey(appOrderDetailsVo.getPayTypeKey());
finUncollectedDetailedFeign.saveUnCollection(unCollectionDto);
}
} else {
/*} else {
int qualiy = Integer.valueOf(appOrderModelInfoVo.getTotal()).intValue();
for (int i = 0; i < qualiy; i++) {
UnCollectionDto unCollectionDto = new UnCollectionDto();
@ -1630,7 +1916,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
unCollectionDto.setReveivableMoney(depositInfo.getDeposit());
finUncollectedDetailedFeign.saveUnCollection(unCollectionDto);
}
}
}*/
return commonContract.getSid();
});
}
@ -1794,7 +2080,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
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(commonContract.getStaffSid())) {
if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(commonContract.getCreateBySid())) {
messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交");
} else {
messageFlowableQuery.setMsgContent(commonContract.getStaffName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");

1576
anrui-base/anrui-base-biz/src/main/resources/ftl/carContract.ftl

File diff suppressed because it is too large

1163
anrui-base/anrui-base-biz/src/main/resources/ftl/carFin.ftl

File diff suppressed because it is too large

8
anrui-base/anrui-base-biz/src/main/resources/ftl/existingvehicles.ftl

@ -906,6 +906,7 @@
<w:tcPr>
<w:tcW w:w="8522" w:type="dxa"/>
</w:tcPr>
<#if modelName??>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:widowControl/>
@ -927,6 +928,8 @@
<w:t>${modelName!}</w:t>
</w:r>
</w:p>
</#if>
<#if modelConfig??>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:widowControl/>
@ -948,6 +951,8 @@
<w:t>${modelConfig!}</w:t>
</w:r>
</w:p>
</#if>
<#if topName??>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:widowControl/>
@ -969,6 +974,7 @@
<w:t>${topName!}</w:t>
</w:r>
</w:p>
</#if>
<#if trailerName??>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
@ -992,6 +998,7 @@
</w:r>
</w:p>
</#if>
<#if remarks??>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:widowControl/>
@ -1013,6 +1020,7 @@
<w:t>${remarks!}</w:t>
</w:r>
</w:p>
</#if>
<#if discountDetail??>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>

10
anrui-base/anrui-base-biz/src/main/resources/ftl/existingvehicles_black.ftl

@ -906,6 +906,7 @@
<w:tcPr>
<w:tcW w:w="8522" w:type="dxa"/>
</w:tcPr>
<#if modelName??>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:widowControl/>
@ -927,6 +928,8 @@
<w:t>${modelName!}</w:t>
</w:r>
</w:p>
</#if>
<#if modelConfig??>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:widowControl/>
@ -948,6 +951,8 @@
<w:t>${modelConfig!}</w:t>
</w:r>
</w:p>
</#if>
<#if topName??>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:widowControl/>
@ -969,6 +974,7 @@
<w:t>${topName!}</w:t>
</w:r>
</w:p>
</#if>
<#if trailerName??>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
@ -992,6 +998,7 @@
</w:r>
</w:p>
</#if>
<#if remarks??>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:widowControl/>
@ -1013,6 +1020,7 @@
<w:t>${remarks!}</w:t>
</w:r>
</w:p>
</#if>
<#if discountDetail??>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
@ -1036,6 +1044,7 @@
</w:r>
</w:p>
</#if>
<#if insuranceInfo??>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:widowControl/>
@ -1059,6 +1068,7 @@
<w:t>${insuranceInfo!}</w:t>
</w:r>
</w:p>
</#if>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:widowControl/>

1102
anrui-base/anrui-base-biz/src/main/resources/ftl/invoicApply.ftl

File diff suppressed because it is too large

1356
anrui-base/anrui-base-biz/src/main/resources/ftl/moneyFin.ftl

File diff suppressed because it is too large

10
anrui-base/anrui-base-biz/src/main/resources/ftl/orderacar.ftl

@ -1021,6 +1021,7 @@
<w:tcPr>
<w:tcW w:w="8522" w:type="dxa"/>
</w:tcPr>
<#if modelName??>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:widowControl/>
@ -1043,6 +1044,8 @@
<w:t>${modelName!}</w:t>
</w:r>
</w:p>
</#if>
<#if modelConfig??>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:widowControl/>
@ -1065,6 +1068,8 @@
<w:t>${modelConfig!}</w:t>
</w:r>
</w:p>
</#if>
<#if topName??>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:widowControl/>
@ -1087,6 +1092,7 @@
<w:t>${topName!}</w:t>
</w:r>
</w:p>
</#if>
<#if trailerName??>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
@ -1111,6 +1117,7 @@
</w:r>
</w:p>
</#if>
<#if remarks??>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:widowControl/>
@ -1133,6 +1140,7 @@
<w:t>${remarks!}</w:t>
</w:r>
</w:p>
</#if>
<#if discountDetail??>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
@ -1157,6 +1165,7 @@
</w:r>
</w:p>
</#if>
<#if insuranceInfo??>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:widowControl/>
@ -1181,6 +1190,7 @@
<w:t>${insuranceInfo!}</w:t>
</w:r>
</w:p>
</#if>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:widowControl/>

10
anrui-base/anrui-base-biz/src/main/resources/ftl/orderacar_black.ftl

@ -1021,6 +1021,7 @@
<w:tcPr>
<w:tcW w:w="8522" w:type="dxa"/>
</w:tcPr>
<#if modelName??>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:widowControl/>
@ -1043,6 +1044,8 @@
<w:t>${modelName!}</w:t>
</w:r>
</w:p>
</#if>
<#if modelConfig??>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:widowControl/>
@ -1065,6 +1068,8 @@
<w:t>${modelConfig!}</w:t>
</w:r>
</w:p>
</#if>
<#if topName??>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:widowControl/>
@ -1087,6 +1092,7 @@
<w:t>${topName!}</w:t>
</w:r>
</w:p>
</#if>
<#if trailerName??>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
@ -1111,6 +1117,7 @@
</w:r>
</w:p>
</#if>
<#if remarks??>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:widowControl/>
@ -1133,6 +1140,7 @@
<w:t>${remarks!}</w:t>
</w:r>
</w:p>
</#if>
<#if discountDetail??>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
@ -1157,6 +1165,7 @@
</w:r>
</w:p>
</#if>
<#if insuranceInfo??>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:widowControl/>
@ -1181,6 +1190,7 @@
<w:t>${insuranceInfo!}</w:t>
</w:r>
</w:p>
</#if>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:widowControl/>

1424
anrui-base/anrui-base-biz/src/main/resources/ftl/receiveCar.ftl

File diff suppressed because it is too large

2
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/AppDeliveredApplyInfoVo.java

@ -54,7 +54,7 @@ public class AppDeliveredApplyInfoVo implements Vo {
private String createBySid;
@ApiModelProperty("流程实列id")
private String procInsId;
private String procInstId;
@ApiModelProperty("任务id")
private String taskId;

2
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/AppSubmitDeliveredApplyDto.java

@ -1,5 +1,6 @@
package com.yxt.anrui.buscenter.api.busdeliveredapply;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -10,6 +11,7 @@ public class AppSubmitDeliveredApplyDto extends AppDeliveredApplyDto {
@ApiModelProperty("意见")
private String comment;
@ApiModelProperty("流程实例id")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty("任务id")
private String taskId;

6
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeposit/AppBusDepositBuscenterDetailVo.java

@ -1,12 +1,10 @@
package com.yxt.anrui.buscenter.api.busdeposit;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.anrui.buscenter.api.busdepositcustomer.AppBusDepositCustomerListVo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
@ -34,10 +32,10 @@ public class AppBusDepositBuscenterDetailVo implements Vo {
private String payDate;
@ApiModelProperty("付款方式")
private String payType;
private String payTypeKey;
@ApiModelProperty("付款方式")
private String payTypeValue;
private String payType;
@ApiModelProperty("付款人")
private String payName;

4
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdepositfictitious/BusDepositFictitious.java

@ -64,5 +64,9 @@ public class BusDepositFictitious extends BaseEntity {
private String payPath;
private String depositBillSid;
@ApiModelProperty("付款人姓名")
private String payName;
@ApiModelProperty("付款人联系电话")
private String mobile;
}

6
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppBusSaleOrderStateVo.java

@ -70,4 +70,10 @@ public class AppBusSaleOrderStateVo implements Vo {
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("客户联系电话")
private String customerMobile;
@ApiModelProperty("车辆功能")
private String vehicleFunctionKey;
}

12
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppBusSalesOrderSubmitInfoVo.java

@ -32,4 +32,16 @@ public class AppBusSalesOrderSubmitInfoVo implements Vo {
private String recommender;
@ApiModelProperty(value = "内部引荐人sid")
private String recommenderSid;
@ApiModelProperty("中介人1所在单位")
private String intermediaryUnit;
@ApiModelProperty(value = "中介人2")
private String intermediaryName2;
@ApiModelProperty(value = "中介人2sid")
private String intermediarySid2;
@ApiModelProperty("中介电话2")
private String intermediaryMobile2;
@ApiModelProperty("中介人2所在单位")
private String intermediaryUnit2;
private String agencyFee2;
}

1
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppOrderDetailsVo.java

@ -95,4 +95,5 @@ public class AppOrderDetailsVo implements Vo {
@ApiModelProperty("是否包牌")
private String licensePlateValue;
private String staffSid;
}

3
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppOrderModelInfoVo.java

@ -1,5 +1,6 @@
package com.yxt.anrui.buscenter.api.bussalesorder.app.order;
import com.yxt.anrui.buscenter.api.bussalesorder.app.vin.VinListsVo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -42,4 +43,6 @@ public class AppOrderModelInfoVo implements Vo {
@ApiModelProperty("公告型号")
private String publicModel;
private List<VinListsVo> vinListsVos = new ArrayList<>();
}

21
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/vin/VinListsVo.java

@ -0,0 +1,21 @@
package com.yxt.anrui.buscenter.api.bussalesorder.app.vin;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/12/15 23:46
* @Description
*/
@Data
public class VinListsVo implements Vo {
private static final long serialVersionUID = -3820186937342114410L;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("车辆sid")
private String vinSid;
@ApiModelProperty("销售订单中的车辆表sid")
private String sid;
}

3
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppBusSalesOrderDepositListVo.java

@ -40,4 +40,7 @@ public class AppBusSalesOrderDepositListVo implements Vo {
@ApiModelProperty("订金使用记录sid")
private String useDepositRecordSid;
@ApiModelProperty("付款人联系电话")
private String mobile;
}

7
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermakeup/BusSalesOrderMakeup.java

@ -95,4 +95,11 @@ public class BusSalesOrderMakeup extends BaseEntity {
@ApiModelProperty("地板加热")
private String floorHeating;
@ApiModelProperty("外廓尺寸长")
private String sizeLong;
//宽
private String sizeWide;
//高
private String sizeHigh;
}

7
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermakeup/app/AppBusSalesOrderMakeUpDto.java

@ -62,5 +62,12 @@ public class AppBusSalesOrderMakeUpDto implements Dto {
@ApiModelProperty("地板加热")
private String floorHeating;
@ApiModelProperty("外廓尺寸长")
private String sizeLong;
//宽
private String sizeWide;
//高
private String sizeHigh;
}

6
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermakeup/app/AppBusSalesOrderMakeUpVo.java

@ -64,4 +64,10 @@ public class AppBusSalesOrderMakeUpVo implements Vo {
private String selfUnHyCoPl;
@ApiModelProperty("地板加热")
private String floorHeating;
@ApiModelProperty("外廓尺寸长")
private String sizeLong;
//宽
private String sizeWide;
//高
private String sizeHigh;
}

15
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordersubmit/BusSalesOrderSubmit.java

@ -37,5 +37,20 @@ public class BusSalesOrderSubmit extends BaseEntity {
@ApiModelProperty(value = "内部引荐人sid")
private String userSid;
@ApiModelProperty(value = "中介名称")
private String distributorNameTwo;
@ApiModelProperty(value = "联系电话")
private String distributorMobileTwo;
@ApiModelProperty(value = "中介单位sid")
private String distributorSidTwo;
@ApiModelProperty(value = "单车中介服务费")
private BigDecimal distributorPriceTwo;
@ApiModelProperty("所在单位1")
private String distributorUnit;
@ApiModelProperty("所在单位2")
private String distributorUnitTwo;
}

16
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordersubmit/BusSalesOrderSubmitDto.java

@ -1,5 +1,6 @@
package com.yxt.anrui.buscenter.api.bussalesordersubmit;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -40,5 +41,20 @@ public class BusSalesOrderSubmitDto implements Dto {
@ApiModelProperty("返利备注")
private String remarks;
@ApiModelProperty(value = "中介名称")
private String distributorNameTwo;
@ApiModelProperty(value = "联系电话")
private String distributorMobileTwo;
@ApiModelProperty(value = "中介单位sid")
private String distributorSidTwo;
@ApiModelProperty(value = "单车中介服务费")
private String distributorPriceTwo;
@ApiModelProperty("所在单位1")
private String distributorUnit;
@ApiModelProperty("所在单位2")
private String distributorUnitTwo;
}

1
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicleDetailsVo.java

@ -56,5 +56,6 @@ public class BusSalesOrderVehicleDetailsVo implements Vo {
private String linkText;
@ApiModelProperty("车辆sid")
private String linkSid;
private String sid;
}

5
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicleFeign.java

@ -60,4 +60,9 @@ public interface BusSalesOrderVehicleFeign {
@ResponseBody
public ResultBean<List<String>> selectList(@PathVariable("sid") String sid);
@ApiOperation("根据sid查询车辆 详情")
@GetMapping("/details/{sid}")
@ResponseBody
ResultBean<BusSalesOrderVehicle> details(@PathVariable("sid")String sid);
}

5
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicleFeignFallback.java

@ -53,4 +53,9 @@ public class BusSalesOrderVehicleFeignFallback implements BusSalesOrderVehicleFe
return null;
}
@Override
public ResultBean<BusSalesOrderVehicle> details(String sid) {
return null;
}
}

40
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java

@ -47,8 +47,6 @@ import com.yxt.anrui.buscenter.biz.busdeliveredapplydetails.BusDeliveredApplyDet
import com.yxt.anrui.buscenter.biz.busdeliveredusemessage.BusDeliveredUseMessageService;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo;
import com.yxt.anrui.fin.api.kingdee.KingDeeResult;
import com.yxt.anrui.fin.api.kingdee.saloutstock.SalOutStock;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
@ -65,14 +63,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.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@ -114,6 +112,8 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
CommonContractFeign commonContractFeign;
@Autowired
BaseVehicleFeign baseVehicleFeign;
@Autowired
private MessageFeign messageFeign;
/**
* 构造出库申请的查询条件
@ -750,12 +750,19 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
String vin = carList.get(0).getVin();
baseVehicle = baseVehicleFeign.selectByVinNoAndOrgSid(vin, stringResultBean.getData()).getData();
busDeliveredApplyDetailsService.appSaveList(carList, busDeliveredApply.getSid());
//更改车辆状态
for (int i = 0; i < carList.size(); i++) {
String vinNo = carList.get(i).getVin();
busDeliveredService.updateState(vinNo, 0);
}
}
baseMapper.updateStateBySid(2, dtoSid, DateUtil.date());
busDeliveredApply.setApplySid(sysUserVo.getSid());
busDeliveredApply.setApplyName(sysUserVo.getName());
busDeliveredApply.setModelSid(baseVehicle.getModelSid());
busDeliveredApply.setConfigSid(baseVehicle.getModelConfigSid());
save(busDeliveredApply);
return rb.success().setData(busDeliveredApply.getSid());
} else {
BusDeliveredApply busDeliveredApply = fetchBySid(dtoSid);
if (busDeliveredApply == null) {
@ -776,8 +783,8 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
busDeliveredApplyDetailsService.appSaveList(carList, busDeliveredApply.getSid());
}
updateById(busDeliveredApply);
return rb.success().setData(busDeliveredApply.getSid());
}
return rb.success().setData(dtoSid);
}
public ResultBean<AppDeliveredApplyInfoVo> getRetrievalApplyInfoBySid(String sid) {
@ -869,9 +876,7 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值
Map<String, Object> variables = BeanUtil.beanToMap(dto);
//若有网关,则赋值网关中判断的字段。
variables.put("businessSid", businessSid);
Map<String, Object> variables = new HashMap<>();
//用户的部门全路径sid
bv.setOrgSidPath(orgSidPath);
//业务sid
@ -879,12 +884,29 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
//用户sid
bv.setUserSid(dto.getUserSid());
bv.setFormVariables(variables);
//若app移动端有此功能,则传递appMap参数
Map<String, Object> appMap = new HashMap<>();
//需和移动端沟通业务sid保存的属性具体值:appMap中sid不是固定的。移动端提供具体字段。
appMap.put("sid", businessSid);
variables.put("app", appMap);
//流程定义id
bv.setModelId(ProcDefEnum.BUSDELIVEREDAPPLY.getProDefId());
if (r == 1) {
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv);
UpdateFlowFieldVo ufVo = voResultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(ufVo));
//极光推送
busDeliveredApply = 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(busDeliveredApply.getApplyName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("出库申请");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
return voResultBean;
}
if (r == 2) {

1
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositfictitious/BusDepositFictitiousMapper.xml

@ -40,6 +40,7 @@
select bf.depositBillNo as virtualOrderId,
bd.sid as virtualOrderSid,
bd2.draweeName as name,
bd2.draweeMobile as mobile,
bf.price as payMoney,
bf.payPath,
bd2.usedDeposit,

5
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositvehicle/BusDepositVehicleService.java

@ -3,7 +3,6 @@ package com.yxt.anrui.buscenter.biz.busdepositvehicle;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.common.enums.DictCommonEnum;
import com.yxt.anrui.buscenter.api.busdepositcustomer.BusDepositCustomerVo;
import com.yxt.anrui.buscenter.api.busdepositvehicle.*;
import com.yxt.anrui.buscenter.api.busdepositvehiclecustomer.BusDepositVehicleCustomerVo;
import com.yxt.anrui.buscenter.api.busmaindeposit.BusMainDeposit;
@ -222,9 +221,11 @@ public class BusDepositVehicleService extends MybatisBaseService<BusDepositVehic
vo.setDepositBillType(busMainDeposit.getDepositBillType());
vo.setDepositBillTypeKey(busMainDeposit.getDepositBillTypeKey());
BusDepositVehicleCustomerVo vehicleCustomerVo = busDepositVehicleCustomerService.selectByBillSid(virtualOrderSid);
if(vehicleCustomerVo != null){
vo.setCustomerName(vehicleCustomerVo.getCustomerName());
vo.setCustomerSid(vehicleCustomerVo.getCustomerSid());
vo.setMobile(vehicleCustomerVo.getCustomerMobile());
}
vo.setStaffName(busMainDeposit.getStaffName());
vo.setDepartmentName(busMainDeposit.getOrgName());
vo.setVirtualOrderSid(query.getVirtualOrderSid());
@ -281,12 +282,14 @@ public class BusDepositVehicleService extends MybatisBaseService<BusDepositVehic
vo.setDepositBillTypeKey(busMainDeposit.getDepositBillTypeKey());
//查询客户信息
BusDepositVehicleCustomerVo vehicleCustomerVo = busDepositVehicleCustomerService.selectByBillSid(virtualOrderSid);
if(vehicleCustomerVo != null){
vo.setCustomerSid(vehicleCustomerVo.getCustomerSid());
vo.setCustomerName(vehicleCustomerVo.getCustomerName());
vo.setMobile(vehicleCustomerVo.getCustomerMobile());
vo.setHeadImage(vehicleCustomerVo.getCustomerPhoto());
vo.setCustomerClass(vehicleCustomerVo.getCustomerClass());
vo.setCustomerClassKey(vehicleCustomerVo.getCustomerClassKey());
}
vo.setStaffName(busMainDeposit.getStaffName());
vo.setDepartmentName(busMainDeposit.getOrgName());
vo.setUpdateStateUrl("未确定字段");

58
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositService.java

@ -658,50 +658,43 @@ public class BusMainDepositService extends MybatisBaseService<BusMainDepositMapp
AppBusDepositBusDetailsVo vo = baseMapper.selDepositByBillsid(virtualOrderSid);
record.setPayName(vo.getPayName());
record.setMobile(vo.getMobile());
if (StringUtils.isNotBlank(record.getUsedDeposit())) {
record.setDescribe("订金: " + vo.getDeposit() + "元 已用:" + record.getUsedDeposit() + "元");
} else {
record.setDescribe("订金: " + vo.getDeposit() + "元 已用:" + "0" + "元");
}
/*List<BusDepositRecordsVo> depositRecords = busDepositFictitiousService.getDepositRecords(record.getVirtualOrderId());
if (depositRecords.size() > 0) {
for (BusDepositRecordsVo depositRecord : depositRecords) {
String usePrice = depositRecord.getUsePrice();
if (StringUtils.isNotBlank(usePrice)) {
BigDecimal priceBig = new BigDecimal(usePrice);
bigDecimalAll = bigDecimalAll.add(priceBig);
}
}
record.setDescribe("订金: " + vo.getDeposit() + "元 已用:" + bigDecimalAll.toString() + "元");
} else {
record.setDescribe("订金: " + vo.getDeposit() + "元 已用:" + "0" + "元");
}*/
record.setCarNumber(vo.getCarNumber());
//财务确认状态字段
//判断财务是否已审核
if ("已办结".equals(record.getVirtualOrderState())) {
//查询款项确认的busSid是否存在该申请的sid
ResultBean<FinCollectionConfirmation> finCollectionConfirmationResultBean = finCollectionConfirmationFeign.selectByBusSid(record.getVirtualOrderSid());
//审核状态(1待审核/2已驳回/3已审核)
FinCollectionConfirmation finCollectionConfirmation = finCollectionConfirmationResultBean.getData();
if (finCollectionConfirmation != null) {
if("1".equals(finCollectionConfirmation.getAuditState())){
if(finCollectionConfirmation.getAuditState() != null){
if(finCollectionConfirmation.getAuditState() ==1){
record.setPaymentState("待确认");
}else if("2".equals(finCollectionConfirmation.getAuditState())){
}else if(finCollectionConfirmation.getAuditState() ==2){
record.setPaymentState("驳回");
}else{
record.setPaymentState("已确认");
}
if (StringUtils.isNotBlank(record.getUsedDeposit())) {
record.setDescribe("订金: " + vo.getDeposit() + "元 已用:" + record.getUsedDeposit() + "元");
} else {
record.setDescribe("订金: " + vo.getDeposit() + "元 已用:" + "0" + "元");
}
}
}else{
record.setPaymentState("待确认");
}
}
}
record.setCarNumber(vo.getCarNumber());
} else if (record.getVirtualOrderType().equals("02")) {
BusDepositVehicleCustomer busDepositVehicleCustomer = baseMapper.selectVehicleCustomerByBillSid(virtualOrderSid);
int count = baseMapper.selByBillSidCount(virtualOrderSid);
record.setCarNumber(String.valueOf(count));
if (busDepositVehicleCustomer != null) {
record.setCustomerSid(busDepositVehicleCustomer.getCustomerSid());
record.setCustomerName(busDepositVehicleCustomer.getCustomerName());
record.setMobile(busDepositVehicleCustomer.getCustomerMobile());
}
}
// 状态判断:0未提交,1办理中, 2已办结, -1退回到发起人,-2终止
if ("待提交".equals(record.getVirtualOrderState())) {
record.setShowDeleteBtn(true);
@ -1909,6 +1902,9 @@ public class BusMainDepositService extends MybatisBaseService<BusMainDepositMapp
*/
public ResultBean submitVirtualVehicleOrder(SubmitVirtualOrderVehicleDto dto) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(dto.getCustomerSid())) {
return rb.setMsg("客户不能为空");
}
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid());
if (!userVoResultBean.getSuccess()) {
@ -2127,8 +2123,24 @@ public class BusMainDepositService extends MybatisBaseService<BusMainDepositMapp
finConfirmDto.setAuditState(1);
finConfirmDto.setCreateByName(busDeposit.getStaffName());
finConfirmDto.setRemarks(busDeposit.getRemarks());
//ToDo:赋值
//查询打款凭证
finConfirmDto.setPaymentVoucherUrl(busDeposit.getPaymentProof());
//申请部门
List<String> orgList = Arrays.asList(bv.getOrgSidPath().split("/"));
String deptSid = orgList.get(orgList.size() - 1);
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(deptSid);
if (sysOrganizationVoResultBean.getData() != null) {
finConfirmDto.setCreateDept(sysOrganizationVoResultBean.getData().getName());
}
//申请日期
finConfirmDto.setCreateDate(DateUtil.today());
//收款账户名称
finConfirmDto.setReceivingName(busDeposit.getCollectionAccountName());
//付款账号后4位
finConfirmDto.setPayAccount(busDeposit.getPayBankAcc());
//付款银行
finConfirmDto.setPayBank(busDeposit.getDepositBank());
finCollectionConfirmationFeign.saveFinConfirm(finConfirmDto);
}
if (DictCommonEnum.DepositBillType.JYDD_DC.getCode().equals(busMainDeposit.getDepositBillTypeKey())) {

11
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.xml

@ -171,7 +171,13 @@
bs.distributorName intermediaryName,
bs.distributorMobile intermediaryMobile,
bs.distributorSid intermediarySid,
bo.customerPhoto mobile
bo.customerPhoto mobile,
bs.distributorUnit as intermediaryUnit,
bs.distributorNameTwo as intermediaryName2,
bs.distributorSidTwo as intermediarySid2,
bs.distributorMobileTwo as intermediaryMobile2,
bs.distributorUnitTwo as intermediaryUnit2,
bs.distributorPriceTwo as agencyFee2
from bus_sales_order bo
left join bus_sales_order_price bp on bp.salesOrderSid = bo.sid
left join bus_sales_order_submit bs on bo.sid = bs.salesOrderSid
@ -200,7 +206,8 @@
bo.payTypeKey,
bo.payType,
bo.useOrgSid,
bo.licensePlateValue
bo.licensePlateValue,
bo.staffSid
from bus_sales_order bo
where sid = #{sid}
</select>

227
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java

@ -40,6 +40,8 @@ import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleSelectVo;
import com.yxt.anrui.base.api.basevehicle.BusMainDepositUpdateQuery;
import com.yxt.anrui.base.api.basevehicle.app.AppBaseVehicleOrderVo;
import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModel;
import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModelFeign;
import com.yxt.anrui.base.api.basevehiclemodelappendix.BaseVehicleModelAppendixFeign;
import com.yxt.anrui.base.api.basevehiclepolicy.BaseVehiclePolicyFeign;
import com.yxt.anrui.base.api.basevehicletempstate.BaseVehicleTempstateFeign;
@ -64,10 +66,7 @@ import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitiousDto;
import com.yxt.anrui.buscenter.api.bussalesorder.*;
import com.yxt.anrui.buscenter.api.bussalesorder.app.model.*;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.*;
import com.yxt.anrui.buscenter.api.bussalesorder.app.vin.VinDto;
import com.yxt.anrui.buscenter.api.bussalesorder.app.vin.VinListDto;
import com.yxt.anrui.buscenter.api.bussalesorder.app.vin.VinListVo;
import com.yxt.anrui.buscenter.api.bussalesorder.app.vin.VinVo;
import com.yxt.anrui.buscenter.api.bussalesorder.app.vin.*;
import com.yxt.anrui.buscenter.api.bussalesorder.contract.AppRovalContractPageQuery;
import com.yxt.anrui.buscenter.api.bussalesorder.contract.AppRovalContractPageVo;
import com.yxt.anrui.buscenter.api.bussalesorder.flowable.*;
@ -88,10 +87,12 @@ import com.yxt.anrui.buscenter.api.bussalesordermodel.BusSalesOrderModelDto;
import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice;
import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPriceDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPriceDto;
import com.yxt.anrui.buscenter.api.bussalesordersubmit.BusSalesOrderSubmit;
import com.yxt.anrui.buscenter.api.bussalesordersubmit.BusSalesOrderSubmitDto;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleDto;
import com.yxt.anrui.buscenter.api.bussalesvehicleorder.BusSalesVehicleOrder;
import com.yxt.anrui.buscenter.api.bussalesvehicleorder.BusSalesVehicleOrderDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesvehicleorder.BusSalesVehicleOrderDto;
import com.yxt.anrui.buscenter.biz.busdeposit.BusDepositService;
@ -129,7 +130,9 @@ 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.portal.api.sysuser.UserRoleQuery;
import com.yxt.anrui.portal.api.sysuser.app.AppUserOrgInfoVo;
import com.yxt.anrui.portal.api.sysuserrole.SysUserRoleFeign;
import com.yxt.anrui.portal.config.DictCommonType;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
@ -241,6 +244,10 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
private BaseDiscountpackageFeign baseDiscountpackageFeign;
@Autowired
private BaseBrandletpricepowimitFeign baseBrandletpricepowimitFeign;
@Autowired
private SysUserRoleFeign sysUserRoleFeign;
@Autowired
private BaseVehicleModelFeign baseVehicleModelFeign;
/**
@ -972,8 +979,8 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
//计算总指导价-总成交价-总优惠包的价值
bigDecimalOne = guildPriceAll.subtract(finalPriceAll).subtract(discountPrice);
List<String> vehicleList = new ArrayList<>();
//是否是现车
if ("1".equals(busSalesOrder.getType())) {
//是否是现车//ToDo:暂去掉
/*if ("1".equals(busSalesOrder.getType())) {
//根据销售订单sid查询现车的sid集合
vehicleList = busSalesOrderVehicleService.selectVehicleSid(sid);
//根据现车去查询销售政策的总促销政策之和
@ -985,37 +992,39 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
List<String> stringList = listResultBean.getData();
initBigDecimal = initBigDecimal.add(stringList.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add));
}
/*ResultBean<BaseVehiclePriceVo> priceResultBean = baseVehiclePolicyFeign.selectPrice(vehicleList.get(i));
if (priceResultBean.getSuccess() && priceResultBean.getData() != null) {
String price = priceResultBean.getData().getDiscountMoney();
BigDecimal bigDecimal1 = new BigDecimal(price);
initBigDecimal = initBigDecimal.add(bigDecimal1);
}
}
}*/
//查询返利金额
BusSalesOrderSubmit busSalesOrderSubmit = busSalesOrderSubmitService.selectBySaleOrderSid(sid);
if (busSalesOrderSubmit != null) {
//台数
if (busSalesOrderSubmit.getDistributorPrice() != null) {
if (quantity != null) {
initBigDecimal = initBigDecimal.add(new BigDecimal(quantity).multiply(busSalesOrderSubmit.getDistributorPrice()));
}
}
if (busSalesOrderSubmit.getDistributorPriceTwo() != null) {
if (quantity != null) {
initBigDecimal = initBigDecimal.add(new BigDecimal(quantity).multiply(busSalesOrderSubmit.getDistributorPriceTwo()));
}
}
}
//销售经理的角色sid
String roleSid = "f0a79b5e-5338-435e-b0c6-08fc01048f55";
//查询销售支持部经理是否超权限
// String roleSid = "f0a79b5e-5338-435e-b0c6-08fc01048f55";
String roleSid = "f07e98d3-d179-48ee-a5ff-5928addead3f";
//查询销售部经理是否超权限
BusSalesOrderModel busSalesOrderModel = busSalesOrderModelService.selectByOrderSid(sid);
BaseBrandMitQuery baseBrandMitQuery = new BaseBrandMitQuery();
baseBrandMitQuery.setRoleSid(roleSid);
baseBrandMitQuery.setOrgSid(busSalesOrder.getUseOrgSid());
baseBrandMitQuery.setBrandSid(busSalesOrderModel.getBrandSid());
ResultBean<String> resultBean1 = baseBrandletpricepowimitFeign.getMoney(baseBrandMitQuery);
/* BusSalesOrderModel busSalesOrderModel = busSalesOrderModelService.selectByOrderSid(sid);
String brandSid = busSalesOrderModel.getBrandSid();
BaseOrderPostPriceQuery baseOrderPostPriceQuery = new BaseOrderPostPriceQuery();
baseOrderPostPriceQuery.setBrandSid(brandSid);
baseOrderPostPriceQuery.setRoleSid(roleSid);
ResultBean<BaseOrderPostPriceVo> resultBean1 = basePostPriceFeign.selectPostPrice(baseOrderPostPriceQuery);*/
if (resultBean1.getSuccess()) {
// String price = resultBean1.getData().getPrice();
String price = resultBean1.getData();
//ToDo:计算是否超权限:岗位权限(销售部经理权限、总经理权限)+总促销金额<总指导价-总成交价-优惠包总价值
//销售支持部经理的岗位权限价格
BigDecimal bigDecimal2 = new BigDecimal(price);
BigDecimal bigDecimal2 = new BigDecimal(price).multiply(new BigDecimal(quantity));
bigDecimalTwo = bigDecimal2.add(initBigDecimal);
//判断岗位权限+总促销价格和总指导价-总成交价-优惠包总价值的大小
if (bigDecimalTwo.compareTo(bigDecimalOne) < 0) {
@ -1029,24 +1038,20 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
}
}
//总经理的角色sid
// roleSid = "135b4829-2928-4124-a5b3-7d4b1101a863";
roleSid = "135b4829-2928-4124-a5b3-7d4b1101a863";
//查询总经理审批是否超权限
/* baseOrderPostPriceQuery = new BaseOrderPostPriceQuery();
baseOrderPostPriceQuery.setBrandSid(brandSid);
baseOrderPostPriceQuery.setRoleSid(roleSid);
ResultBean<BaseOrderPostPriceVo> resultBean2 = basePostPriceFeign.selectPostPrice(baseOrderPostPriceQuery);*/
baseBrandMitQuery = new BaseBrandMitQuery();
baseBrandMitQuery.setRoleSid(roleSid);
baseBrandMitQuery.setOrgSid(busSalesOrder.getUseOrgSid());
baseBrandMitQuery.setBrandSid(busSalesOrderModel.getBrandSid());
ResultBean<String> resultBean2 = baseBrandletpricepowimitFeign.getMoney(baseBrandMitQuery);
if (resultBean2.getSuccess()) {
// String price = resultBean2.getData().getPrice();
String price = resultBean2.getData();
//ToDo:计算是否有权限:岗位权限(销售部经理权限、总经理权限)+总促销金额>总指导价-总成交价-优惠包总价值
//总经理的岗位权限价格
bigDecimalTwo = new BigDecimal("0");
BigDecimal bigDecimal2 = new BigDecimal(price);
BigDecimal bigDecimal2 = new BigDecimal(price).multiply(new BigDecimal(quantity));
bigDecimalTwo = bigDecimal2.add(initBigDecimal);
//判断岗位权限+总促销价格和总指导价-总成交价-优惠包总价值的大小
if (bigDecimalTwo.compareTo(bigDecimalOne) < 0) {
@ -1169,6 +1174,36 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
//更新业务中的流程相关的参数
updateFlowFiled(map);
BusSalesOrder busSalesOrder1 = fetchBySid(query.getBusinessSid());
String procId1 = busSalesOrder1.getProcInstId();
ResultBean<List<LatestTaskVo>> listResultBean = flowTaskFeign.getLatestTasks(procId1);
String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_();
List<String> receiveSidList = Arrays.asList(nextNodeUserSids.split(","));
if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(busSalesOrder1.getCreateBySid())) {
ResultBean<AppOrderDetailsVo> details = getSaleOrderDetails(query.getBusinessSid());
AppOrderDetailsVo vo = details.getData();
if ("现车".equals(vo.getOrderType())) {
//更新已选择的车架号的状态为未锁定
List<String> list = busSalesOrderVehicleService.selectVehicleSid(query.getBusinessSid());
BusMainDepositUpdateQuery busMainDepositUpdateQuery = new BusMainDepositUpdateQuery();
busMainDepositUpdateQuery.setVinSidList(list);
busMainDepositUpdateQuery.setLockedState(VehicleState.LockEnum.UN_LOCK.getCode());
busMainDepositUpdateQuery.setLockedStateValue(VehicleState.LockEnum.UN_LOCK.getRemarks());
baseVehicleFeign.updateMainDepositByVinNo(busMainDepositUpdateQuery);
}
if ("采购订单".equals(vo.getOrderType())) {
List<BusSalesVehicleOrder> list = busSalesVehicleOrderService.selectLinkSid(query.getBusinessSid());
for (BusSalesVehicleOrder b : list) {
String linkSid = b.getLinkSid();
int count = b.getUsingNum();
//查询该采购订单的已使用台数
int num = busSalesVehicleOrderService.selectByLinkSid(linkSid);
// int numcount = num-count;
//更新
ResultBean resultBeanOrder = busVehicleOrderFeign.updateLockNum(linkSid, String.valueOf(num));
}
}
}
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
@ -1187,10 +1222,10 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
messageFlowableQuery.setAppMap((Map<String, Object>) variables.get("app"));
messageFlowableQuery.setBusinessSid(query.getBusinessSid());
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(busSalesOrder.get().getStaffSid())) {
ResultBean<List<LatestTaskVo>> listResultBean2 = flowTaskFeign.getLatestTasks(procId);
String nextNodeUserSids2 = listResultBean2.getData().get(0).getASSIGNEE_();
List<String> receiveSidList2 = Arrays.asList(nextNodeUserSids2.split(","));
if (receiveSidList2.size() == 1 && receiveSidList2.get(0).equals(busSalesOrder.get().getCreateBySid())) {
messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交");
} else {
messageFlowableQuery.setMsgContent(busSalesOrder.get().getStaffName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
@ -1199,7 +1234,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
messageFlowableQuery.setMsgTitle("销售订单");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
});
Future future2 = pool.submit(() -> {
/*Future future2 = pool.submit(() -> {
ResultBean<List<LatestTaskVo>> listResultBean = flowTaskFeign.getLatestTasks(procId);
String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_();
List<String> receiveSidList = Arrays.asList(nextNodeUserSids.split(","));
@ -1216,7 +1251,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
baseVehicleFeign.updateMainDepositByVinNo(busMainDepositUpdateQuery);
}
}
});
});*/
} catch (Exception e) {
e.printStackTrace();
@ -1286,6 +1321,19 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
busMainDepositUpdateQuery.setLockedStateValue(VehicleState.LockEnum.UN_LOCK.getRemarks());
baseVehicleFeign.updateMainDepositByVinNo(busMainDepositUpdateQuery);
}
if ("采购订单".equals(vo.getOrderType())) {
List<BusSalesVehicleOrder> list = busSalesVehicleOrderService.selectLinkSid(query.getBusinessSid());
for (BusSalesVehicleOrder b : list) {
String linkSid = b.getLinkSid();
int count = b.getUsingNum();
//查询该采购订单的已使用台数
int num = busSalesVehicleOrderService.selectByLinkSid(linkSid);
// int numcount = num-count;
//更新
ResultBean resultBeanOrder = busVehicleOrderFeign.updateLockNum(linkSid, String.valueOf(num));
}
}
return rb.success().setData(resultBean.getData());
}
}
@ -1314,7 +1362,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
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(busSalesOrder.getStaffSid())) {
if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(busSalesOrder.getCreateBySid())) {
ResultBean<AppOrderDetailsVo> details = getSaleOrderDetails(query.getBusinessSid());
AppOrderDetailsVo vo = details.getData();
if ("现车".equals(vo.getOrderType())) {
@ -1326,6 +1374,18 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
busMainDepositUpdateQuery.setLockedStateValue(VehicleState.LockEnum.UN_LOCK.getRemarks());
baseVehicleFeign.updateMainDepositByVinNo(busMainDepositUpdateQuery);
}
if ("采购订单".equals(vo.getOrderType())) {
List<BusSalesVehicleOrder> list = busSalesVehicleOrderService.selectLinkSid(query.getBusinessSid());
for (BusSalesVehicleOrder b : list) {
String linkSid = b.getLinkSid();
int count = b.getUsingNum();
//查询该采购订单的已使用台数
int num = busSalesVehicleOrderService.selectByLinkSid(linkSid);
// int numcount = num-count;
//更新
ResultBean resultBeanOrder = busVehicleOrderFeign.updateLockNum(linkSid, String.valueOf(num));
}
}
}
return rb.success().setData(resultBean.getData());
}
@ -1349,6 +1409,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
//单据状态
BusSalesOrder busSalesOrder = fetchBySid(saleOrderSid);
if (busSalesOrder != null) {
vo.setCustomerMobile(busSalesOrder.getMobile());
vo.setUserSid(busSalesOrder.getCreateBySid());
vo.setProcInsId(busSalesOrder.getProcInstId());
vo.setTaskId(busSalesOrder.getTaskId());
@ -1360,6 +1421,12 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
vo.setModelSid(busSalesOrderModelDetailsVo.getModelSid());
vo.setModelName(busSalesOrderModelDetailsVo.getModelName());
vo.setConfigSid(busSalesOrderModelDetailsVo.getModelConfigSid());
if (StringUtils.isNotBlank(busSalesOrderModelDetailsVo.getModelSid())) {
ResultBean<BaseVehicleModel> selectDetails = baseVehicleModelFeign.selectDetails(busSalesOrderModelDetailsVo.getModelSid());
if (selectDetails.getData() != null) {
vo.setVehicleFunctionKey(selectDetails.getData().getVehicleType());
}
}
} else {
vo.setModleInfoState(0);
vo.setModelName("未完善");
@ -2324,6 +2391,10 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
if (!isDeposit) {
return rb.setMsg("请完善订金信息");
}
boolean isMakeUp = isMakeUp(sid);
if(!isMakeUp){
return rb.setMsg("请完善上装信息");
}
if (StringUtils.isBlank(busSalesOrder.getIsInsurance())) {
return rb.setMsg("请先完善保险信息");
} else {
@ -2366,6 +2437,31 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
return rb.success();
}
private boolean isMakeUp(String sid) {
Boolean isMakeUp = true;
BusSalesOrder busSalesOrder = fetchBySid(sid);
BusSalesOrderModelDetailsVo busSalesOrderModelDetailsVo = busSalesOrderModelService.details(sid);
if(busSalesOrderModelDetailsVo != null){
ResultBean<BaseVehicleModel> details = baseVehicleModelFeign.selectDetails(busSalesOrderModelDetailsVo.getModelSid());
if(details.getData() != null){
String vehicleKey = details.getData().getVehicleType();
//(是否开启上装需要根据车辆功能载货、自卸、搅拌车、专用车的开启,且为必填)
if("3".equals(vehicleKey)|| "005".equals(vehicleKey)||"7".equals(vehicleKey)||"5".equals(vehicleKey)){
if(busSalesOrder.getIsTop() == null){
isMakeUp = false;
}else{
if("0".equals(busSalesOrder.getIsTop())){
isMakeUp = false;
}
}
}
}
}
return isMakeUp;
}
/**
* 根据销售订单sid查询销售订单车型信息是否已完善
*
@ -2657,6 +2753,8 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
modelInfo.setOrderList(stringList);
}
}
List<VinListsVo> vinListVoList = busSalesOrderVehicleService.selectByDetailsSid(sid);
modelInfo.setVinListsVos(vinListVoList);
ResultBean<String> images = baseVehicleModelAppendixFeign.selectImage(modelInfo.getModelSid());
if (images.getSuccess()) {
modelInfo.setModelImage(images.getData());
@ -2758,6 +2856,19 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
if (r == 0) {
return rb.setMsg("操作失败!提交的数据不一致");
}
BusSalesOrder busSalesOrderOne = fetchBySid(businessSid);
if ("2".equals(busSalesOrderOne.getType())) {
List<BusSalesVehicleOrderDetailsVo> list = busSalesVehicleOrderService.detailsList(busSalesOrderOne.getSid());
for (BusSalesVehicleOrderDetailsVo busSalesVehicleOrderDetailsVo : list) {
String linkSid = busSalesVehicleOrderDetailsVo.getLinkSid();
//查询该采购订单的已使用台数
int count = busSalesVehicleOrderService.selectByLinkSid(linkSid);
count = count + busSalesVehicleOrderDetailsVo.getUsingNum();
//更新该采购订单的锁定台数
ResultBean resultBeanOrder = busVehicleOrderFeign.updateLockNum(linkSid, String.valueOf(count));
}
}
//保存提交时补充的内容
BusSalesOrderSubmitDto busSalesOrderSubmit = dto.getInfo();
if (busSalesOrderSubmit != null) {
@ -2786,6 +2897,30 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
bv.setFormVariables(variables);
//流程定义id
bv.setModelId(ProcDefEnum.SALESORDER.getProDefId());
//根据员工的sid查询员工的角色
String userSid = busSalesOrderOne.getCreateBySid();
ResultBean<List<String>> userRoleList = sysUserRoleFeign.getUserRoleSidByUserSid(userSid);
UserRoleQuery userRoleQuery = new UserRoleQuery();
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()) {
return rb.setMsg(listResultBean.getMsg());
}
List<SysUserVo> sysUserVos = listResultBean.getData();
sysUserVos.removeAll(Collections.singleton(null));
if (sysUserVos.isEmpty()) {
return rb.setMsg("下一环节没有用户");
}
StringBuilder nextNodeUserSids = new StringBuilder();
for (SysUserVo su : sysUserVos) {
nextNodeUserSids.append(su.getSid()).append(",");
}
//符合条件的用户的sid,拼接的字符串
String nextNodeUserSids_ = nextNodeUserSids.toString();
bv.setNextNodeUserSids(nextNodeUserSids_);
if (r == 1) {
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv);
if (!voResultBean.getSuccess()) {
@ -2931,8 +3066,16 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
busMainDepositUpdateQuery.setLockedState(VehicleState.LockEnum.ORDER_LOCK.getCode());
busMainDepositUpdateQuery.setLockedStateValue(VehicleState.LockEnum.ORDER_LOCK.getRemarks());
baseVehicleFeign.updateMainDepositByVinNo(busMainDepositUpdateQuery);
} else {
int num = Integer.parseInt(vo.getPriceInfo().getNumber());
for (int i = 0; i < num; i++) {
BusSalesOrderVehicle busSalesOrderVehicle = new BusSalesOrderVehicle();
busSalesOrderVehicle.setSalesOrderSid(bv.getBusinessSid());
busSalesOrderVehicleService.insert(busSalesOrderVehicle);
}
}
}
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
@ -3066,15 +3209,23 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
List<VinListDto> list = dto.getVinList();
//根据销售订单sid查询车架号
List<BusSalesOrderVehicleDetailsVo> busSalesOrderVehicleDetailsVos = busSalesOrderVehicleService.detailsList(dto.getSaleOrderSid());
if (busSalesOrderVehicleDetailsVos.size() > 0) {
/* if (busSalesOrderVehicleDetailsVos.size() > 0) {
busSalesOrderVehicleService.deleteByOrderSid(dto.getSaleOrderSid());
}
}*/
//新增
for (VinListDto v : list) {
/* for (VinListDto v : list) {
BusSalesOrderVehicle busSalesOrderVehicle = new BusSalesOrderVehicle();
BeanUtil.copyProperties(v, busSalesOrderVehicle);
busSalesOrderVehicle.setSalesOrderSid(dto.getSaleOrderSid());
busSalesOrderVehicleService.insert(busSalesOrderVehicle);
}*/
if (busSalesOrderVehicleDetailsVos.size() > 0) {
for (int i = 0; i < busSalesOrderVehicleDetailsVos.size(); i++) {
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleService.fetchBySid(busSalesOrderVehicleDetailsVos.get(i).getSid());
busSalesOrderVehicle.setLinkNo(list.get(i).getLinkNo());
busSalesOrderVehicle.setLinkSid(list.get(i).getLinkSid());
busSalesOrderVehicleService.updateById(busSalesOrderVehicle);
}
}
return rb.success();

6
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositService.java

@ -236,13 +236,19 @@ public class BusSalesOrderDepositService extends MybatisBaseService<BusSalesOrde
}
for (AppBusSalesOrderDepositListDto listDto : listVos) {
//查询结转金额是否小于可用金额
if(new BigDecimal(listDto.getPrice()).compareTo(new BigDecimal(listDto.getDepositPrice()))>0){
return rb.setMsg("结转金额不允许大于订金剩余金额");
}
//查询付款人是否和客户一样
BusDeposit busDeposit = busDepositService.selectByBillSid(listDto.getDepositBillSid());
if (!busSalesOrder.getCustomerName().equals(busDeposit.getDraweeName())) {
if(busSalesOrder.getMobile().equals(busDeposit.getDraweeMobile())){
if (listDto.getEntrustImage().isEmpty()) {
return rb.setMsg("选择的虚拟订金单中有付款人与该客户不一致,请上传款项支付委托书");
}
}
}
makeUpDecimal = makeUpDecimal.add(new BigDecimal(listDto.getPrice()));
}

5
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermakeup/BusSalesOrderMakeupMapper.xml

@ -47,7 +47,10 @@
bm.floorHeating,
bm.topNameKey,
bm.commissionReformTypeKey,
bm.textureKey
bm.textureKey,
bm.sizeLong,
bm.sizeWide,
bm.sizeHigh
from bus_sales_order_makeup bm
left join bus_sales_order b on bm.salesOrderSid = b.sid
where salesOrderSid = #{sid}

4
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermodel/BusSalesOrderModelService.java

@ -195,13 +195,13 @@ public class BusSalesOrderModelService extends MybatisBaseService<BusSalesOrderM
String type = "";
String state = dto.getState();
int num = 0;
if ("0".equals(state)) {
if ("0".equals(state)) {//现车
type = "1";
List<AppBusSalesOrderVehicleDto> nowCarList = orderInfo.getNowCarList();
busSalesOrderVehicleService.saveAppVehicle(nowCarList, salesOrderSid);
num = nowCarList.size();
}
if ("1".equals(state)) {
if ("1".equals(state)) {//采购订单
List<AppBusSalesVehicleOrderDto> readyCarList = orderInfo.getReadyCarList();
busSalesVehicleOrderService.saveAppOrder(readyCarList, salesOrderSid);
type = "2";

4
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordersubmit/BusSalesOrderSubmitService.java

@ -55,4 +55,8 @@ public class BusSalesOrderSubmitService extends MybatisBaseService<BusSalesOrder
}
}
public BusSalesOrderSubmit selectBySaleOrderSid(String sid) {
return baseMapper.seletByOrderSid(sid);
}
}

3
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.java

@ -27,6 +27,7 @@ package com.yxt.anrui.buscenter.biz.bussalesordervehicle;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.buscenter.api.bussalesorder.app.model.AppNowCarListVo;
import com.yxt.anrui.buscenter.api.bussalesorder.app.vin.VinListsVo;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleDetailsVo;
import org.apache.ibatis.annotations.Mapper;
@ -87,4 +88,6 @@ public interface BusSalesOrderVehicleMapper extends BaseMapper<BusSalesOrderVehi
* @return
*/
List<String> selectVehicelSid(String sid);
List<VinListsVo> selectByDetailsSid(String sid);
}

9
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.xml

@ -20,7 +20,8 @@
resultType="com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleDetailsVo">
select linkNo,
linkText,
linkSid
linkSid,
sid
from bus_sales_order_vehicle
where salesOrderSid = #{sid}
</select>
@ -51,4 +52,10 @@
from bus_sales_order_vehicle
where salesOrderSid = #{sid}
</select>
<select id="selectByDetailsSid" resultType="com.yxt.anrui.buscenter.api.bussalesorder.app.vin.VinListsVo">
select sid, linkNo as vinNo, linkSid as vinSid
from bus_sales_order_vehicle
where salesOrderSid = #{sid}
</select>
</mapper>

14
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleRest.java

@ -25,14 +25,13 @@
*********************************************************/
package com.yxt.anrui.buscenter.biz.bussalesordervehicle;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@ -64,5 +63,10 @@ public class BusSalesOrderVehicleRest implements BusSalesOrderVehicleFeign {
return rb.success().setData(list);
}
@Override
public ResultBean<BusSalesOrderVehicle> details(String sid) {
return busSalesOrderVehicleService.details(sid);
}
}

12
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleService.java

@ -27,11 +27,13 @@ package com.yxt.anrui.buscenter.biz.bussalesordervehicle;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.buscenter.api.bussalesorder.app.model.AppNowCarListVo;
import com.yxt.anrui.buscenter.api.bussalesorder.app.vin.VinListsVo;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleDto;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.app.AppBusSalesOrderVehicleDto;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Service;
import java.util.List;
@ -126,4 +128,14 @@ public class BusSalesOrderVehicleService extends MybatisBaseService<BusSalesOrde
public List<String> selectVehicleSid(String sid) {
return baseMapper.selectVehicelSid(sid);
}
public List<VinListsVo> selectByDetailsSid(String sid) {
return baseMapper.selectByDetailsSid(sid);
}
public ResultBean<BusSalesOrderVehicle> details(String sid) {
ResultBean<BusSalesOrderVehicle> rb = ResultBean.fireFail();
BusSalesOrderVehicle busSalesOrderVehicle = fetchBySid(sid);
return rb.success().setData(busSalesOrderVehicle);
}
}

4
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesvehicleorder/BusSalesVehicleOrderMapper.java

@ -79,4 +79,8 @@ public interface BusSalesVehicleOrderMapper extends BaseMapper<BusSalesVehicleOr
* @return
*/
List<String> selectListBySid(String sid);
int selectByLinkSid(String linkSid);
List<BusSalesVehicleOrder> selectLinkSid(String businessSid);
}

13
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesvehicleorder/BusSalesVehicleOrderMapper.xml

@ -47,4 +47,17 @@
from bus_sales_vehicle_order
where salesOrderSid = #{sid}
</select>
<select id="selectByLinkSid" resultType="int">
select ifnull(sum(IFNULL(cast(bs.usingNum as signed),'0')),0)
from bus_sales_vehicle_order bs
left join bus_sales_order bo on bo.sid = bs.salesOrderSid
where bs.linkSid = #{linkSid} and length(bo.nodeState)>0 and bo.nodeState != '销售订单申请'
</select>
<select id="selectLinkSid" resultType="com.yxt.anrui.buscenter.api.bussalesvehicleorder.BusSalesVehicleOrder">
select *
from bus_sales_vehicle_order
where salesOrderSid = #{businessSid}
</select>
</mapper>

8
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesvehicleorder/BusSalesVehicleOrderService.java

@ -119,4 +119,12 @@ public class BusSalesVehicleOrderService extends MybatisBaseService<BusSalesVehi
public List<String> selectList(String sid) {
return baseMapper.selectListBySid(sid);
}
public int selectByLinkSid(String linkSid) {
return baseMapper.selectByLinkSid(linkSid);
}
public List<BusSalesVehicleOrder> selectLinkSid(String businessSid) {
return baseMapper.selectLinkSid(businessSid);
}
}

9
anrui-buscenter/anrui-buscenter-ui/src/api/dictcommons/dictcommons.js

@ -28,6 +28,15 @@ export function typeValues(data) {
})
}
// 根据用户sid获取本分公司下的银行账号
export function selAccountByOrgSid(data) {
return request({
url: '/fin/v1/finmanufacturerbank/selAccountByOrgSid',
method: 'get',
params: data
})
}
// 品牌下拉
export function brandDown(data) {
return request({

65
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xunidingdanFlow/dingjinshouqu.vue

@ -12,12 +12,7 @@
<div class="">
<div class="titwu">销售简易订单</div>
<el-form ref="dataForm" :model="temp" class="formadd">
<el-row class="rowStyle">
<el-col :span="24" class="tleftb colStyle">
<span>金额单位: </span>
</el-col>
</el-row>
<el-row>
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="3" class="tleftb">
<span>分公司</span>
</el-col>
@ -71,17 +66,25 @@
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span>车辆台数</span>
<span>付款方式</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.carNumber }}</span>
<span>{{ temp.payType }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>付款日期</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.payDate }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>订金金额</span>
<span>订金金额()</span>
</el-col>
<el-col :span="13">
<el-col :span="5">
<el-form-item>
<span>{{ temp.deposit }}</span>
</el-form-item>
@ -89,29 +92,43 @@
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span>付款日期</span>
<span v-show="temp.payTypeKey === '03'">付款账号后4位</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.payDate }}</span>
<span v-show="temp.payTypeKey === '03'">{{ temp.payNumber }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>付款方式</span>
<span>开户银行</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.payTypeValue }}</span>
<span>{{ temp.depositBank }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>付款银行账号</span>
</el-col>
<el-col :span="5">
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span>车辆台数</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.payNumber }}</span>
<span>{{ temp.carNumber }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
</el-col>
<el-col :span="5">
</el-col>
<el-col :span="3" class="tleftb">
</el-col>
<el-col :span="5">
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
@ -122,10 +139,18 @@
<span>{{ temp.collectionNumber }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>收款银行名称</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.collectionAccountName }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>收款银行</span>
</el-col>
<el-col :span="13">
<el-col :span="5">
<el-form-item>
<span>{{ temp.collectionBank }}</span>
</el-form-item>
@ -492,12 +517,6 @@ export default {
text-align: center;
padding: 30px 0 20px 0;
}
.rowStyle {
border-left: 0px !important;
}
.colStyle {
border-right: 0px !important;
}
.rowClass{
border-top: 1px solid #E0E3EB;
}

160
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xunidingdanFlow/dingjinshouquEdit.vue

@ -11,12 +11,7 @@
<div class="">
<div class="titwu">销售简易订单</div>
<el-form ref="dataForm" :model="temp" class="formadd" :rules="rules">
<el-row class="rowStyle">
<el-col :span="24" class="tleftb colStyle">
<span>金额单位: </span>
</el-col>
</el-row>
<el-row>
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="3" class="tleftb">
<span>分公司</span>
</el-col>
@ -70,17 +65,27 @@
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span>车辆台数</span>
<span><span class="icon">*</span>付款方式</span>
</el-col>
<el-col :span="5">
<el-form-item>
<el-input v-model="temp.carNumber" class="addinputw" placeholder="" clearable/>
<el-form-item prop="payType">
<el-select v-model="temp.payType" class="addinputw" placeholder="" @change="changePaymentType">
<el-option v-for="item in paymentType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>订金金额</span>
<span><span class="icon">*</span>付款日期</span>
</el-col>
<el-col :span="13">
<el-col :span="5">
<el-form-item prop="payDate">
<el-date-picker v-model="temp.payDate" type="date" placeholder="选择日期" value-format="yyyy-MM-dd" class="addinputw"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>订金金额()</span>
</el-col>
<el-col :span="5">
<el-form-item prop="deposit">
<el-input v-model="temp.deposit" class="addinputw" placeholder="" clearable/>
</el-form-item>
@ -88,53 +93,71 @@
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>付款日期</span>
<span v-show="temp.payTypeKey === '03'"><span class="icon">*</span>付款账号后4位</span>
</el-col>
<el-col :span="5">
<el-form-item prop="payDate">
<el-date-picker v-model="temp.payDate" type="date" placeholder="选择日期" value-format="yyyy-MM-dd" class="addinputw"></el-date-picker>
<el-form-item prop="payNumber">
<el-input v-show="temp.payTypeKey === '03'" v-model="temp.payNumber" class="addinputw" placeholder="" clearable/>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>付款方式</span>
<span>开户银行</span>
</el-col>
<el-col :span="5">
<el-form-item prop="payType">
<el-select v-model="temp.payType" class="addinputw" placeholder="" @change="changePaymentType">
<el-option v-for="item in paymentType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
</el-select>
<el-form-item>
<el-input v-model="temp.depositBank" class="addinputw" placeholder="" clearable/>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>付款银行账号</span>
</el-col>
<el-col :span="5">
<el-form-item prop="payNumber">
<el-input v-model="temp.payNumber" class="addinputw" placeholder="" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>收款银行</span>
<span>车辆台数</span>
</el-col>
<el-col :span="13">
<el-form-item prop="collectionBank">
<el-select v-model="temp.collectionBank" class="addinputw" placeholder="" @change="changeproBank">
<el-option v-for="item in proBank_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
</el-select>
<el-col :span="5">
<el-form-item>
<el-input v-model="temp.carNumber" class="addinputw" placeholder="" clearable/>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
</el-col>
<el-col :span="5">
</el-col>
<el-col :span="3" class="tleftb">
</el-col>
<el-col :span="5">
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>收款银行账号</span>
</el-col>
<el-col :span="5">
<el-form-item prop="collectionNumber">
<el-select v-model="temp.collectionNumber" class="addinputw" placeholder="" @change="changeProBankAccValue">
<el-option v-for="item in ProBankAcc_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
<el-select v-model="temp.collectionNumber" class="addinputw" filterable clearable placeholder="" @change="changeProBankAccValue">
<el-option v-for="item in ProBankAcc_list" :key="item.accountSid" :label="item.bankAccount" :value="item.bankAccount"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>收款银行名称</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.collectionAccountName }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>收款银行</span>
</el-col>
<el-col :span="5">
<el-form-item prop="collectionBank">
<span>{{ temp.collectionBank }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
@ -196,7 +219,7 @@
<script>
import { depositDetail, saveDing, submitApprove, typeValues } from '@/api/jichuxinxi/busdeposit'
import { fetchBySid, getPathSidByUserSid } from '@/api/dictcommons/dictcommons'
import { fetchBySid, getPathSidByUserSid, selAccountByOrgSid } from '@/api/dictcommons/dictcommons'
import Upload from '@/components/uploadFile/upload.vue' //
import xuanzekehu from './relation/xuanzekehu'
@ -222,7 +245,6 @@ export default {
viewState: 1,
listLoading: false,
paymentType_list: [],
proBank_list: [],
ProBankAcc_list: [],
temp: {
departmentName: '',
@ -247,7 +269,10 @@ export default {
userSid: window.sessionStorage.getItem('userSid'), // Sid
virtualOrderSid: '', // Sid
taskId: '', // Id
procInsId: '' // ID
procInsId: '', // ID
depositBank: '',
collectionAccountName: '',
accountSid: ''
},
customerName: [],
rules: {
@ -256,7 +281,6 @@ export default {
deposit: [{ required: true, message: '订金金额不能为空', trigger: 'blur' }],
payDate: [{ required: true, message: '付款日期不能为空', trigger: 'change' }],
payType: [{ required: true, message: '付款方式不能为空', trigger: 'change' }],
payNumber: [{ required: true, message: '付款银行账号不能为空', trigger: 'blur' }],
collectionBank: [{ required: true, message: '收款银行不能为空', trigger: 'change' }],
collectionNumber: [{ required: true, message: '收款银行账号不能为空', trigger: 'change' }]
}
@ -283,21 +307,15 @@ export default {
methods: {
getType() {
//
typeValues({
type: 'customerPayType'
}).then((res) => {
typeValues({ type: 'customerPayType' }).then((res) => {
if (res.code === '200') {
this.paymentType_list = res.data
console.log('下拉框请求111', res.data)
}
})
//
typeValues({
type: 'receiptBank'
}).then((res) => {
if (res.code === '200') {
this.proBank_list = res.data
console.log('下拉框请求111', res.data)
selAccountByOrgSid({ userSid: window.sessionStorage.getItem('userSid'), orgPath: '' }).then((resp) => {
if (resp.success) {
this.ProBankAcc_list = resp.data
}
})
},
@ -319,47 +337,23 @@ export default {
this.temp.payTypeKey = bb.key
console.log('name', this.temp.payType, 'key', this.temp.payTypeKey)
},
changeproBank(value) {
console.log('触发下拉框按钮')
let bb = null
this.proBank_list.forEach((e) => {
if (e.dictValue === value) {
bb = {
type: e.dictType,
name: e.dictValue,
key: e.dictKey,
sid: e.sid
}
}
})
this.temp.collectionBank = bb.name
this.temp.collectionBankKey = bb.key
this.getProBankAcc(bb.sid)
},
getProBankAcc(sid) {
typeValues({ psid: sid, type: 'receiptAccount' }).then((res) => {
if (res.code === '200') {
this.ProBankAcc_list = res.data
console.log('下拉框请求111', res.data)
}
})
},
changeProBankAccValue(value) {
console.log('触发下拉框按钮')
let bb = null
this.ProBankAcc_list.forEach((e) => {
if (e.dictValue === value) {
if (e.bankAccount === value) {
bb = {
type: e.dictType,
name: e.dictValue,
key: e.dictKey,
sid: e.sid
accountSid: e.accountSid,
accountName: e.accountName,
depositBank: e.depositBank,
bankAccount: e.bankAccount
}
}
})
this.temp.collectionNumber = bb.name
this.temp.collectionNumberKey = bb.key
console.log('name', this.temp.collectionNumber, 'key', this.temp.collectionNumberKey)
this.temp.collectionNumber = bb.bankAccount
this.temp.collectionAccountName = bb.accountName
this.temp.accountSid = bb.accountSid
this.temp.collectionBank = bb.depositBank
},
getPathSid() {
const userSid = window.sessionStorage.getItem('userSid')
@ -466,6 +460,10 @@ export default {
//
handleSubmit() {
this.getUrl()
if (this.temp.payTypeKey === '03' && this.temp.payNumber === '') {
this.$message({ showClose: true, type: 'error', message: '因付款方式为转账,则付款账号不能为空' })
return
}
if (this.temp.payImages.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请上传付款凭证' })
return
@ -533,12 +531,6 @@ export default {
justify-content: space-between;
align-items: center;
}
.rowStyle {
border-left: 0px !important;
}
.colStyle {
border-right: 0px !important;
}
.tips {
font-size: 12px;
color: #606266;

73
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xunidingdanFlow/dingjinshouquInfo.vue

@ -10,12 +10,7 @@
<div class="">
<div class="titwu">销售简易订单</div>
<el-form ref="dataForm" :model="temp" class="formadd">
<el-row class="rowStyle">
<el-col :span="24" class="tleftb colStyle">
<span>金额单位: </span>
</el-col>
</el-row>
<el-row>
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="3" class="tleftb">
<span>分公司</span>
</el-col>
@ -69,17 +64,25 @@
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span>车辆台数</span>
<span>付款方式</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.carNumber }}</span>
<span>{{ temp.payType }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>付款日期</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.payDate }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>订金金额</span>
<span>订金金额()</span>
</el-col>
<el-col :span="13">
<el-col :span="5">
<el-form-item>
<span>{{ temp.deposit }}</span>
</el-form-item>
@ -87,39 +90,45 @@
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span>付款日期</span>
<span v-show="temp.payTypeKey === '03'">付款账号后4位</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.payDate }}</span>
<span v-show="temp.payTypeKey === '03'">{{ temp.payNumber }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>付款方式</span>
<span>开户银行</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.payTypeValue }}</span>
<span>{{ temp.depositBank }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>付款银行账号</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.payNumber }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span>收款银行</span>
<span>车辆台数</span>
</el-col>
<el-col :span="13">
<el-col :span="5">
<el-form-item>
<span>{{ temp.collectionBank }}</span>
<span>{{ temp.carNumber }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
</el-col>
<el-col :span="5">
</el-col>
<el-col :span="3" class="tleftb">
</el-col>
<el-col :span="5">
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span>收款银行账号</span>
</el-col>
@ -128,6 +137,22 @@
<span>{{ temp.collectionNumber }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>收款银行名称</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.collectionAccountName }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>收款银行</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.collectionBank }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
@ -298,10 +323,4 @@ export default {
text-align: center;
padding: 30px 0 20px 0;
}
.rowStyle {
border-left: 0px !important;
}
.colStyle {
border-right: 0px !important;
}
</style>

164
anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xunidingdan/xunidingjinAdd.vue

@ -12,12 +12,7 @@
<div class="listconadd">
<div class="titwu">销售简易订单</div>
<el-form ref="dataForm" :model="temp" class="formadd" :rules="rules">
<el-row class="rowStyle">
<el-col :span="24" class="tleftb colStyle">
<span>金额单位: </span>
</el-col>
</el-row>
<el-row>
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="3" class="tleftb">
<span>分公司</span>
</el-col>
@ -71,17 +66,27 @@
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span>车辆台数</span>
<span><span class="icon">*</span>付款方式</span>
</el-col>
<el-col :span="5">
<el-form-item>
<el-input v-model="temp.carNumber" class="addinputw" placeholder="" clearable/>
<el-form-item prop="payType">
<el-select v-model="temp.payType" class="addinputw" placeholder="" @change="changePaymentType">
<el-option v-for="item in paymentType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>订金金额</span>
<span><span class="icon">*</span>付款日期</span>
</el-col>
<el-col :span="5">
<el-form-item prop="payDate">
<el-date-picker v-model="temp.payDate" type="date" placeholder="选择日期" value-format="yyyy-MM-dd" class="addinputw"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="13">
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>订金金额()</span>
</el-col>
<el-col :span="5">
<el-form-item prop="deposit">
<el-input v-model="temp.deposit" class="addinputw" placeholder="" clearable/>
</el-form-item>
@ -89,53 +94,71 @@
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>付款日期</span>
<span v-show="temp.payTypeKey === '03'"><span class="icon">*</span>付款账号后4位</span>
</el-col>
<el-col :span="5">
<el-form-item prop="payDate">
<el-date-picker v-model="temp.payDate" type="date" placeholder="选择日期" value-format="yyyy-MM-dd" class="addinputw"></el-date-picker>
<el-form-item>
<el-input v-show="temp.payTypeKey === '03'" v-model="temp.payNumber" class="addinputw" placeholder="" clearable/>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>付款方式</span>
<span>开户银行</span>
</el-col>
<el-col :span="5">
<el-form-item prop="payType">
<el-select v-model="temp.payType" class="addinputw" placeholder="" @change="changePaymentType">
<el-option v-for="item in paymentType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
</el-select>
<el-form-item>
<el-input v-model="temp.depositBank" class="addinputw" placeholder="" clearable/>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>付款银行账号</span>
</el-col>
<el-col :span="5">
<el-form-item prop="payNumber">
<el-input v-model="temp.payNumber" class="addinputw" placeholder="" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>收款银行</span>
<span>车辆台数</span>
</el-col>
<el-col :span="13">
<el-form-item prop="collectionBank">
<el-select v-model="temp.collectionBank" placeholder="" @change="changeproBank">
<el-option v-for="item in proBank_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
</el-select>
<el-col :span="5">
<el-form-item>
<el-input v-model="temp.carNumber" class="addinputw" placeholder="" clearable/>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
</el-col>
<el-col :span="5">
</el-col>
<el-col :span="3" class="tleftb">
</el-col>
<el-col :span="5">
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>收款银行账号</span>
</el-col>
<el-col :span="5">
<el-form-item prop="collectionNumber">
<el-select v-model="temp.collectionNumber" class="addinputw" placeholder="" @change="changeProBankAccValue">
<el-option v-for="item in ProBankAcc_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
<el-select v-model="temp.collectionNumber" class="addinputw" filterable clearable placeholder="" @change="changeProBankAccValue">
<el-option v-for="item in ProBankAcc_list" :key="item.accountSid" :label="item.bankAccount" :value="item.bankAccount"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>收款银行名称</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.collectionAccountName }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>收款银行</span>
</el-col>
<el-col :span="5">
<el-form-item prop="collectionBank">
<span>{{ temp.collectionBank }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
@ -198,7 +221,7 @@
<script>
import { depositDetail, saveDing, submitApprove, typeValues } from '@/api/jichuxinxi/busdeposit'
import { fetchBySid, getPathSidByUserSid } from '@/api/dictcommons/dictcommons'
import { fetchBySid, getPathSidByUserSid, selAccountByOrgSid } from '@/api/dictcommons/dictcommons'
import Upload from '@/components/uploadFile/upload.vue' //
import xuanzekehu from '@/views/xiaoshouguanli/xunidingdan/com/xuanzekehu'
@ -224,7 +247,6 @@ export default {
viewState: 1,
listLoading: false,
paymentType_list: [],
proBank_list: [],
ProBankAcc_list: [],
temp: {
departmentName: '',
@ -249,7 +271,10 @@ export default {
userSid: window.sessionStorage.getItem('userSid'), // Sid
virtualOrderSid: '', // Sid
taskId: '', // Id
procInsId: '' // ID
procInsId: '', // ID
depositBank: '',
collectionAccountName: '',
accountSid: ''
},
customerName: [],
rules: {
@ -258,7 +283,6 @@ export default {
deposit: [{ required: true, message: '订金金额不能为空', trigger: 'blur' }],
payDate: [{ required: true, message: '付款日期不能为空', trigger: 'change' }],
payType: [{ required: true, message: '付款方式不能为空', trigger: 'change' }],
payNumber: [{ required: true, message: '付款银行账号不能为空', trigger: 'blur' }],
collectionBank: [{ required: true, message: '收款银行不能为空', trigger: 'change' }],
collectionNumber: [{ required: true, message: '收款银行账号不能为空', trigger: 'change' }]
}
@ -267,21 +291,15 @@ export default {
methods: {
getType() {
//
typeValues({
type: 'customerPayType'
}).then((res) => {
typeValues({ type: 'customerPayType' }).then((res) => {
if (res.code === '200') {
this.paymentType_list = res.data
console.log('下拉框请求111', res.data)
}
})
//
typeValues({
type: 'receiptBank'
}).then((res) => {
if (res.code === '200') {
this.proBank_list = res.data
console.log('下拉框请求111', res.data)
selAccountByOrgSid({ userSid: window.sessionStorage.getItem('userSid'), orgPath: '' }).then((resp) => {
if (resp.success) {
this.ProBankAcc_list = resp.data
}
})
},
@ -301,45 +319,22 @@ export default {
this.temp.payTypeKey = bb.key
console.log('name', this.temp.payType, 'key', this.temp.payTypeKey)
},
changeproBank(value) {
let bb = null
this.proBank_list.forEach((e) => {
if (e.dictValue === value) {
bb = {
type: e.dictType,
name: e.dictValue,
key: e.dictKey,
sid: e.sid
}
}
})
this.temp.collectionBank = bb.name
this.temp.collectionBankKey = bb.key
this.getProBankAcc(bb.sid)
},
getProBankAcc(sid) {
typeValues({ psid: sid, type: 'receiptAccount' }).then((res) => {
if (res.code === '200') {
this.ProBankAcc_list = res.data
console.log('下拉框请求111', res.data)
}
})
},
changeProBankAccValue(value) {
let bb = null
this.ProBankAcc_list.forEach((e) => {
if (e.dictValue === value) {
if (e.bankAccount === value) {
bb = {
type: e.dictType,
name: e.dictValue,
key: e.dictKey,
sid: e.sid
accountSid: e.accountSid,
accountName: e.accountName,
depositBank: e.depositBank,
bankAccount: e.bankAccount
}
}
})
this.temp.collectionNumber = bb.name
this.temp.collectionNumberKey = bb.key
console.log('name', this.temp.collectionNumber, 'key', this.temp.collectionNumberKey)
this.temp.collectionNumber = bb.bankAccount
this.temp.collectionAccountName = bb.accountName
this.temp.accountSid = bb.accountSid
this.temp.collectionBank = bb.depositBank
},
getPathSid() {
const userSid = window.sessionStorage.getItem('userSid')
@ -462,6 +457,10 @@ export default {
//
handleSubmit() {
this.getUrl()
if (this.temp.payTypeKey === '03' && this.temp.payNumber === '') {
this.$message({ showClose: true, type: 'error', message: '因付款方式为转账,则付款账号不能为空' })
return
}
if (this.temp.payImages.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请上传付款凭证' })
return
@ -522,7 +521,10 @@ export default {
userSid: '', // Sid
virtualOrderSid: '', // Sid
taskId: '', // Id
procInsId: '' // ID
procInsId: '', // ID
depositBank: '',
collectionAccountName: '',
accountSid: ''
} //
this.submitdisabled = false
this.$refs['uploadImg'].stateName = '' //
@ -557,10 +559,4 @@ export default {
justify-content: space-between;
align-items: center;
}
.rowStyle {
border-left: 0px !important;
}
.colStyle {
border-right: 0px !important;
}
</style>

73
anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xunidingdan/xunidingjininfo.vue

@ -10,12 +10,7 @@
<div class="listconadd">
<div class="titwu">销售简易订单</div>
<el-form ref="dataForm" :model="temp" class="formadd">
<el-row class="rowStyle">
<el-col :span="24" class="tleftb colStyle">
<span>金额单位: </span>
</el-col>
</el-row>
<el-row>
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="3" class="tleftb">
<span>分公司</span>
</el-col>
@ -69,17 +64,25 @@
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span>车辆台数</span>
<span>付款方式</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.carNumber }}</span>
<span>{{ temp.payType }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>付款日期</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.payDate }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>订金金额</span>
<span>订金金额()</span>
</el-col>
<el-col :span="13">
<el-col :span="5">
<el-form-item>
<span>{{ temp.deposit }}</span>
</el-form-item>
@ -87,39 +90,45 @@
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span>付款日期</span>
<span v-show="temp.payTypeKey === '03'">付款账号后4位</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.payDate }}</span>
<span v-show="temp.payTypeKey === '03'">{{ temp.payNumber }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>付款方式</span>
<span>开户银行</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.payTypeValue }}</span>
<span>{{ temp.depositBank }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>付款银行账号</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.payNumber }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span>收款银行</span>
<span>车辆台数</span>
</el-col>
<el-col :span="13">
<el-col :span="5">
<el-form-item>
<span>{{ temp.collectionBank }}</span>
<span>{{ temp.carNumber }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
</el-col>
<el-col :span="5">
</el-col>
<el-col :span="3" class="tleftb">
</el-col>
<el-col :span="5">
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
<span>收款银行账号</span>
</el-col>
@ -128,6 +137,22 @@
<span>{{ temp.collectionNumber }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>收款银行名称</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.collectionAccountName }}</span>
</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span>收款银行</span>
</el-col>
<el-col :span="5">
<el-form-item>
<span>{{ temp.collectionBank }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">
@ -229,10 +254,4 @@ export default {
</script>
<style scoped>
.rowStyle {
border-left: 0px !important;
}
.colStyle {
border-right: 0px !important;
}
</style>

45
anrui-buscenter/anrui-finmanage-ui/src/api/anruifinmanagement/billinginformation.js

@ -0,0 +1,45 @@
import request from '@/utils/request'
export default {
// 查询分页列表
listPage: function(params) {
return request({
url: '/fin/v1/fincompanyinvoicing/listPage',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
// 保存修改记录
saveOrUpdate: function(params) {
return request({
url: '/fin/v1/fincompanyinvoicing/save',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
// 通过sid查询一条记录
fetchBySid: function(sid) {
return request({
url: '/fin/v1/fincompanyinvoicing/fetchDetailsBySid/' + sid,
method: 'get'
})
},
// 通过sid查询一条记录
fetchDetailsByUseOrgSid: function(sid) {
return request({
url: '/fin/v1/fincompanyinvoicing/fetchDetailsByUseOrgSid/' + sid,
method: 'get'
})
},
// 通过sid删除一条或多条记录
delBySids: function(data) {
return request({
url: '/fin/v1/fincompanyinvoicing/delBySids',
method: 'DELETE',
data: data,
headers: { 'Content-Type': 'application/json' }
})
}
}

10
anrui-buscenter/anrui-finmanage-ui/src/api/anruifinmanagement/paymentConfirmation.js

@ -1,5 +1,4 @@
import request from '@/utils/request'
import qs from 'querystring'
// 收款确认管理和出纳款项管理分页列表条件查询
export function listPage(data) {
@ -24,11 +23,11 @@ export function listAll(data) {
})
}
// 收款确认管理h和出纳款项确认管理--回显、详情
export function fetchBySid(data) {
// 收款确认管理和出纳款项确认管理--回显、详情
export function fetchDetailBySid(data) {
return request({
url: '/fin/fincollectionconfirmation/fetchBySid/' + data,
method: 'get',
method: 'get'
})
}
@ -111,7 +110,8 @@ export function dataDictionary(data) {
// 上传文件
export function upload(data) {
return request({
url: '/fin/file/upload',data,
url: '/fin/file/upload',
data,
method: 'post',
headers: {
'Content-Type': 'multipart/form-data'

9
anrui-buscenter/anrui-finmanage-ui/src/api/jichuxinxi/dictcommons.js

@ -64,6 +64,15 @@ export function selectAccountByUseOrgSid(data) {
})
}
// 根据用户sid获取本分公司下的银行账号
export function selAccountByOrgSid(data) {
return request({
url: '/fin/v1/finmanufacturerbank/selAccountByOrgSid',
method: 'get',
params: data
})
}
// 获取厂家回款通路
export function selectNameByOrg(data) {
return request({

30
anrui-buscenter/anrui-finmanage-ui/src/router/modules/codemenu.js

@ -156,6 +156,36 @@ const codemenu = [
meta: { title: '出纳付款', noCache: true }
}]
},
// 开票信息管理
{
path: '/billinginformation',
component: Layout,
redirect: '/billinginformation',
meta: {
title: '开票信息管理'
},
children: [{
path: '/billinginformation/kaipiaoxinxiguanli',
component: () => import('@/views/anruifinmanagement/billinginformation/kaipiaoxinxiguanli/kaixiaoxinxiguanli.vue'),
name: 'kaixiaoxinxiguanli',
meta: { title: '开票信息管理', noCache: true }
}]
},
// 开票信息维护
{
path: '/billinginformation',
component: Layout,
redirect: '/billinginformation',
meta: {
title: '开票信息维护'
},
children: [{
path: '/billinginformation/kaipiaoxinxiweihu',
component: () => import('@/views/anruifinmanagement/billinginformation/kaipiaoxinxiweihu/kaipiaoxinxiweihu.vue'),
name: 'kaipiaoxinxiweihu',
meta: { title: '开票信息维护', noCache: true }
}]
},
// 费用申请管理编辑
{
path: '/feiyongguanliFlow/feiyongguanli/feiyongEdit',

195
anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/billinginformation/kaipiaoxinxiguanli/kaipiaoxinxiAdd.vue

@ -0,0 +1,195 @@
<template>
<div class="app-container">
<div>
<!--标题按钮部分开始-->
<div class="tab-header webtop">
<!--标题-->
<div>{{ viewTitle }}</div>
<!--start 添加修改按钮-->
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="save()">保存
</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<!--标题按钮部分结束-->
<!--Start 新增修改部分-->
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formadd">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="4" class="tleftb">
<span>分公司</span>
</el-col>
<el-col :span="20">
<el-form-item>
<el-select v-model="formobj.useOrgName" placeholder="请选择" clearable filterable @change="changeOrg">
<el-option v-for="item in org_list" :key="item.sid" :label="item.name" :value="item.name"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>名称</span>
</el-col>
<el-col :span="20">
<el-form-item><el-input v-model="formobj.name" clearable placeholder="" style="width: 40%"></el-input></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>纳税人识别号</span>
</el-col>
<el-col :span="20">
<el-form-item><el-input v-model="formobj.taxpayerNo" clearable placeholder="" style="width: 40%"></el-input></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>地址</span>
</el-col>
<el-col :span="8">
<el-form-item><el-input v-model="formobj.address" clearable placeholder="" class="addinputw"></el-input></el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>电话</span>
</el-col>
<el-col :span="8">
<el-form-item><el-input v-model="formobj.phone" clearable placeholder="" class="addinputw"></el-input></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>开户行</span>
</el-col>
<el-col :span="8">
<el-form-item>
<el-select v-model="formobj.bankName" placeholder="请选择" clearable filterable>
<el-option v-for="item in bank_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>银行账号</span>
</el-col>
<el-col :span="8">
<el-form-item><el-input v-model="formobj.bankAccount" clearable placeholder="" class="addinputw"></el-input></el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
<!--End 添加修改部分-->
</div>
</template>
<script>
import req from '@/api/anruifinmanagement/billinginformation'
import { getListOrg, typeValues } from '@/api/jichuxinxi/dictcommons'
export default {
name: 'kaipiaoxinxiAdd',
data() {
return {
viewTitle: '',
index: 0,
tableKey: 0,
org_list: [],
bank_list: [],
//
formobj: {
sid: '', // sid
address: '',
bankAccount: '',
bankName: '',
name: '',
phone: '',
taxpayerNo: '',
useOrgName: '',
useOrgSid: ''
},
rules: {},
submitdisabled: false
}
},
methods: {
init() {
typeValues({ type: 'bank' }).then((res) => {
if (res.success) {
this.bank_list = res.data
}
})
getListOrg().then((resp) => {
if (resp.success) {
this.org_list = resp.data
}
})
},
showAdd() {
this.$nextTick(() => {
this.init()
this.$refs['form_obj'].clearValidate()
})
this.viewTitle = '【新增】开票信息'
},
showEdit(row) {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
this.init()
})
this.viewTitle = '【编辑】开票信息'
console.log('编辑回显', row.sid)
req.fetchBySid(row.sid).then((resp) => {
this.formobj = resp.data
}).catch((e) => {
this.formobj = row
})
},
changeOrg(value) {
const choose = this.org_list.filter((item) => item.name === value)
this.formobj.useOrgSid = choose[0].sid
},
save() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.saveOrUpdate(this.formobj).then((resp) => {
if (resp.success) {
this.$message({ showClose: true, type: 'success', message: '保存成功' })
this.handleReturn('true')
} else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled = false
})
} else {
return false
}
})
},
// ===
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
//
this.formobj = {
sid: '', // sid
address: '',
bankAccount: '',
bankName: '',
name: '',
phone: '',
taxpayerNo: '',
useOrgName: '',
useOrgSid: ''
}
this.submitdisabled = false
this.$refs['form_obj'].resetFields()
this.$emit('doback')
}
}
}
</script>
<style scoped>
</style>

282
anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/billinginformation/kaipiaoxinxiguanli/kaixiaoxinxiguanli.vue

@ -0,0 +1,282 @@
<template>
<div class="app-container">
<!-- Start 列表页面 -->
<div v-show="viewState == 1">
<button-bar view-title="开票信息管理" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
<el-form-item label="分公司名称">
<el-select v-model="listQuery.params.useOrgSid" placeholder="请选择" clearable filterable>
<el-option v-for="item in org_list" :key="item.sid" :label="item.name" :value="item.sid"></el-option>
</el-select>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" icon="el-icon-search" @click="handleFilter" size="small">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" @click="handleReset" size="small">重置</el-button>
</div>
</div>
</div>
<div class="listtop">
<div class="tit">开票信息列表</div>
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column fixed width="50px" type="selection" align="center"/>
<el-table-column fixed width="80px" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column fixed label="操作" width="100px" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="toEdit(scope.row)">编辑</el-button>
</template>
</el-table-column>
<el-table-column label="名称" align="center" width="140">
<template slot-scope="scope">
<span>{{ scope.row.name }}</span>
</template>
</el-table-column>
<el-table-column label="纳税人识别号" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.taxpayerNo }}</span>
</template>
</el-table-column>
<el-table-column label="地址" align="left" header-align="center">
<template slot-scope="scope">
<span>{{ scope.row.address }}</span>
</template>
</el-table-column>
<el-table-column label="电话" align="center" width="150">
<template slot-scope="scope">
<span>{{ scope.row.phone }}</span>
</template>
</el-table-column>
<el-table-column label="开户行" align="center" width="150">
<template slot-scope="scope">
<span>{{ scope.row.bankName }}</span>
</template>
</el-table-column>
<el-table-column label="账号" align="center" width="180">
<template slot-scope="scope">
<span>{{ scope.row.bankAccount }}</span>
</template>
</el-table-column>
</el-table>
</div>
<div class="pages">
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
</div>
</div>
<kaipiaoxinxiAdd v-show="viewState == 2 || viewState == 3" ref="divAdd" @doback="resetState" @reloadlist="getList"/>
</div>
</template>
<script>
import req from '@/api/anruifinmanagement/billinginformation'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import kaipiaoxinxiAdd from './kaipiaoxinxiAdd.vue'
import { getListOrg } from '@/api/jichuxinxi/dictcommons'
export default {
name: 'kaipiaoxinxiguanli',
components: {
Pagination,
pageye,
ButtonBar,
kaipiaoxinxiAdd
},
data() {
return {
btndisabled: false,
btnList: [
{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'danger',
size: 'small',
icon: 'del',
btnKey: 'doDel',
btnLabel: '删除'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
isSearchShow: false,
searchxianshitit: '显示查询条件',
viewState: 1,
// -----------
tableKey: 0,
list: [],
sids: [],
org_list: [],
FormLoading: false,
listLoading: false,
listQuery: {
params: {
useOrgSid: ''
},
current: 1,
size: 5,
total: 0
},
rules: {}
}
},
created() {
this.init()
//
this.getList()
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
init() {
getListOrg().then((resp) => {
if (resp.success) {
this.org_list = resp.data
}
})
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
handleSelectionChange(row) {
const aa = []
row.forEach((element) => {
aa.push(element.sid)
})
this.sids = aa
console.log('sids', this.sids)
},
//
getList() {
this.listLoading = true
req.listPage(this.listQuery).then((response) => {
this.listLoading = false
if (response.success) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.list = []
this.listQuery.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
handleReset() {
this.listQuery = {
params: {
useOrgSid: ''
},
current: 1,
size: 5,
total: 0
}
this.getList()
},
toAdd() {
this.viewState = 2
this.$refs['divAdd'].showAdd()
},
toEdit(row) {
this.viewState = 3
this.$refs['divAdd'].showEdit(row)
},
doDel() {
if (this.sids.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作' })
return
}
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.delBySids(this.sids).then(resp => {
if (resp.success) {
this.$message({ type: 'success', message: resp.msg, showClose: true })
}
this.getList()
loading.close()
}).catch(e => {
loading.close()
})
}).catch(() => {
})
},
resetState() {
this.viewState = 1
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
/*表格列设置fixed后固定列出现下边框的设置*/
/deep/ .el-table__fixed {
height: 100% !important;
}
/*表格列设置fixed后固定列出现下边框的设置*/
/deep/ .el-table__fixed-right {
height: 100% !important;
}
</style>

184
anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/billinginformation/kaipiaoxinxiweihu/kaipiaoxinxiweihu.vue

@ -0,0 +1,184 @@
<template>
<div class="app-container">
<div>
<!--标题按钮部分开始-->
<div class="tab-header webtop">
<!--标题-->
<div>{{ viewTitle }}</div>
<!--start 添加修改按钮-->
<div>
<el-button type="primary" size="small" @click="save()">保存
</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<!--标题按钮部分结束-->
<!--Start 新增修改部分-->
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formadd">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="4" class="tleftb">
<span>分公司</span>
</el-col>
<el-col :span="20">
<el-form-item><span>{{ formobj.useOrgName }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>名称</span>
</el-col>
<el-col :span="20">
<el-form-item><el-input v-model="formobj.name" clearable placeholder="" style="width: 40%"></el-input></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>纳税人识别号</span>
</el-col>
<el-col :span="20">
<el-form-item><el-input v-model="formobj.taxpayerNo" clearable placeholder="" style="width: 40%"></el-input></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>地址</span>
</el-col>
<el-col :span="8">
<el-form-item><el-input v-model="formobj.address" clearable placeholder="" class="addinputw"></el-input></el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>电话</span>
</el-col>
<el-col :span="8">
<el-form-item><el-input v-model="formobj.phone" clearable placeholder="" class="addinputw"></el-input></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>开户行</span>
</el-col>
<el-col :span="8">
<el-form-item>
<el-select v-model="formobj.bankName" placeholder="请选择" clearable filterable>
<el-option v-for="item in bank_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>银行账号</span>
</el-col>
<el-col :span="8">
<el-form-item><el-input v-model="formobj.bankAccount" clearable placeholder="" class="addinputw"></el-input></el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
<!--End 添加修改部分-->
</div>
</template>
<script>
import req from '@/api/anruifinmanagement/billinginformation'
import { getPathSidByUserSid, fetchBySid, typeValues } from '@/api/jichuxinxi/dictcommons'
export default {
name: 'kaipiaoxinxiweihu',
data() {
return {
viewTitle: '',
index: 0,
tableKey: 0,
org_list: [],
bank_list: [],
//
formobj: {
sid: '', // sid
address: '',
bankAccount: '',
bankName: '',
name: '',
phone: '',
taxpayerNo: '',
useOrgName: '',
useOrgSid: ''
},
rules: {}
}
},
created() {
this.showAdd()
},
methods: {
init() {
typeValues({ type: 'bank' }).then((res) => {
if (res.success) {
this.bank_list = res.data
}
})
},
showAdd() {
this.$nextTick(() => {
this.init()
this.$refs['form_obj'].clearValidate()
})
this.viewTitle = '【新增】开票信息'
getPathSidByUserSid({ userSid: window.sessionStorage.getItem('userSid') }).then((res) => {
if (res.success) {
this.formobj.useOrgSid = res.data
fetchBySid(res.data).then((resp) => {
if (resp.success) {
this.formobj.useOrgName = resp.data.name
}
})
req.fetchDetailsByUseOrgSid(res.data).then((response) => {
if (response.success) {
if (response.data !== null) {
this.formobj = response.data
this.viewTitle = '【编辑】开票信息'
}
}
})
}
})
},
save() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
req.saveOrUpdate(this.formobj).then((resp) => {
if (resp.success) {
this.$message({ showClose: true, type: 'success', message: '保存成功' })
// this.handleReturn('true')
}
}).catch(() => {
})
} else {
return false
}
})
},
// ===
handleReturn() {
//
this.formobj = {
sid: '', // sid
address: '',
bankAccount: '',
bankName: '',
name: '',
phone: '',
taxpayerNo: '',
useOrgName: '',
useOrgSid: ''
}
this.$refs['form_obj'].resetFields()
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
</style>

70
anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/paymentConfirmation/acknowledgementReceipt.vue

@ -8,7 +8,7 @@
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
<el-row>
<el-form-item label="付款方名称:" class="searchlist">
<el-form-item label="付款方:" class="searchlist">
<el-input v-model="listQuery.params.payerName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="收款方式:" class="searchlist">
@ -17,9 +17,7 @@
</el-select>
</el-form-item>
<el-form-item label="收款银行:" class="searchlist">
<el-select v-model="listQuery.params.collectionBank" placeholder="请选择" style="width: 300px" filterable clearable>
<el-option v-for="item in receiptBank_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
<el-input v-model="listQuery.params.collectionBank" placeholder="" clearable/>
</el-form-item>
<el-form-item label="认款状态:" class="searchlist">
<el-select v-model="listQuery.params.subscriptionState" placeholder="请选择" filterable clearable>
@ -48,54 +46,84 @@
</div>
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%">
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column label="操作" align="center" width="180px">
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column fixed label="操作" align="center" width="180">
<template slot-scope="scope">
<el-button type="primary" :disabled="!scope.row.showHandle" size="small" @click="handUpdate(scope.row)">认款</el-button>
<el-button type="primary" size="small" @click="handLook(scope.row)">查看</el-button>
<el-button type="primary" :disabled="!scope.row.showHandle" size="mini" @click="handUpdate(scope.row)">认款</el-button>
<el-button type="primary" size="mini" @click="handLook(scope.row)">查看</el-button>
</template>
</el-table-column>
<el-table-column label="审核状态" align="center">
<el-table-column label="审核状态" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.auditState == 1 ? '待审核' : scope.row.auditState == 2 ? '已驳回' : scope.row.auditState ==3 ? '已审核' : '其他' }}</span>
</template>
</el-table-column>
<el-table-column label="认款状态" align="center">
<el-table-column label="认款状态" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.subscriptionState == 1 ? '未认款' : scope.row.subscriptionState == 2 ? '部分认款' : scope.row.subscriptionState == 3 ? '已认款' : '其他' }}</span>
</template>
</el-table-column>
<el-table-column label="收款日期" align="center">
<el-table-column label="申请部门" align="center" width="150">
<template slot-scope="scope">
<span>{{ scope.row.collectionDate }}</span>
<span>{{ scope.row.createDept }}</span>
</template>
</el-table-column>
<el-table-column label="收款银行" align="center">
<el-table-column label="申请人" align="center" width="130">
<template slot-scope="scope">
<span>{{ scope.row.collectionBank }}</span>
<span>{{ scope.row.createByName }}</span>
</template>
</el-table-column>
<el-table-column label="收款银行账号" align="center">
<el-table-column label="申请日期" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.createDate }}</span>
</template>
</el-table-column>
<el-table-column label="收款银行账号" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.collectionBankNum }}</span>
</template>
</el-table-column>
<el-table-column label="收款方式" align="center">
<el-table-column label="收款银行名称" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.collectionTypeValue }}</span>
<span>{{ scope.row.receivingName }}</span>
</template>
</el-table-column>
<el-table-column label="收款金额" align="center">
<el-table-column label="收款银行" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.collectionBank }}</span>
</template>
</el-table-column>
<el-table-column label="收款金额" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.collectionMoney }}</span>
</template>
</el-table-column>
<el-table-column label="付款方名称" align="center">
<el-table-column label="收款日期" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.collectionDate }}</span>
</template>
</el-table-column>
<el-table-column label="收款方式" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.collectionTypeValue }}</span>
</template>
</el-table-column>
<el-table-column label="付款方" align="center" width="150">
<template slot-scope="scope">
<span>{{ scope.row.payerName }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center">
<el-table-column label="付款账号后4位" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.payAccount }}</span>
</template>
</el-table-column>
<el-table-column label="付款银行" align="center" width="200">
<template slot-scope="scope">
<span>{{ scope.row.payBank }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center" width="300">
<template slot-scope="scope">
<span>{{ scope.row.remarks }}</span>
</template>
@ -204,7 +232,7 @@ export default {
this.receiptBank_list = res.data
}
})
dataDictionary({ type: 'receiptType' }).then((res) => {
dataDictionary({ type: 'customerPayType' }).then((res) => {
if (res.code === '200') {
this.collectionType_list = res.data
}

192
anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/paymentConfirmation/acknowledgementReceiptAdd.vue

@ -13,59 +13,109 @@
<el-form ref="form_obj" :model="formobj" :rules="rules" label-position="top" class="formadd">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="4" class="tleftb">
<el-form-item><span>收款日期</span></el-form-item>
<span>申请部门</span>
</el-col>
<el-col :span="4" class="trightb">
<el-col :span="4">
<el-form-item>
<el-date-picker value-format="yyyy-MM-dd" v-model="formobj.collectionDate" :disabled="forbidden" clearable type="date" style="width: 93%" placeholder="请选择"/>
<span>{{ formobj.createDept }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<el-form-item><span>收款银行</span></el-form-item>
<span>申请人</span>
</el-col>
<el-col :span="4" class="trightb">
<el-col :span="4">
<el-form-item>
<el-select v-model="formobj.collectionBank" :disabled="forbidden" placeholder="请选择" @change="changeCollectionBank" filterable clearable>
<el-option v-for="item in receiptBank_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
<span>{{ formobj.createByName }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<el-form-item><span>收款银行账号</span></el-form-item>
<span>申请日期</span>
</el-col>
<el-col :span="4" class="trightb">
<el-col :span="4">
<el-form-item>
<span>{{ formobj.createDate }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>收款银行账号</span>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item prop="collectionBankNum">
<el-select v-model="formobj.collectionBankNum" placeholder="请选择" :disabled="forbidden" @change="changeCollectionBankNum" filterable clearable>
<el-option v-for="item in collectionBankNum_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
<el-option v-for="item in collectionBankNum_list" :key="item.accountSid" :label="item.bankAccount" :value="item.bankAccount"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>收款银行名称</span>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item>
<span>{{ formobj.receivingName }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>收款银行</span>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item>
<span>{{ formobj.collectionBank }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<el-form-item><span>收款方式</span></el-form-item>
<span><span class="icon">*</span>收款金额()</span>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item>
<el-form-item prop="collectionMoney">
<el-input v-model="formobj.collectionMoney" @keyup.native="UpNumber" @keydown.native="UpNumber" :disabled="forbidden" @change="changeCollectionMoney" placeholder="" clearable/>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>收款日期</span>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item prop="collectionDate">
<el-date-picker value-format="yyyy-MM-dd" v-model="formobj.collectionDate" :disabled="forbidden" clearable type="date" style="width: 93%" placeholder="请选择"/>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>收款方式</span>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item prop="collectionTypeValue">
<el-select v-model="formobj.collectionTypeValue" placeholder="请选择" :disabled="forbidden" @change="changeCollectionType" filterable clearable>
<el-option v-for="item in receiptType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<el-form-item><span>付款方名称</span></el-form-item>
<span><span class="icon">*</span>付款方</span>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item>
<el-form-item prop="payerName">
<el-input v-model="formobj.payerName" :disabled="forbidden" placeholder="" clearable/>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<el-form-item><span>收款金额</span></el-form-item>
<span><span class="icon">*</span>付款账号后4位</span>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item prop="payAccount">
<el-input v-model="formobj.payAccount" :disabled="forbidden" placeholder="" clearable/>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<el-form-item><span>付款银行</span></el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item>
<el-input v-model="formobj.collectionMoney" @keyup.native="UpNumber" @keydown.native="UpNumber" :disabled="forbidden" @change="changeCollectionMoney" placeholder="" clearable/>
<el-input v-model="formobj.payBank" :disabled="forbidden" placeholder="" clearable/>
</el-form-item>
</el-col>
</el-row>
@ -234,8 +284,9 @@
</template>
<script>
import { save, dataDictionary, listAll, fetchBySid } from '@/api/anruifinmanagement/paymentConfirmation.js'
import { save, dataDictionary, listAll, fetchDetailBySid } from '@/api/anruifinmanagement/paymentConfirmation.js'
import Upload from '@/components/uploadFile/filesUpload' //
import { getPathSidByUserSid, fetchBySid, selAccountByOrgSid } from '@/api/jichuxinxi/dictcommons'
export default {
name: 'acknowledgementReceiptAdd',
@ -256,8 +307,10 @@ export default {
list2: [],
formobj: {
sid: '',
createByName: window.sessionStorage.getItem('name'),
staffSid: window.sessionStorage.getItem('staffSid'),
createDept: '',
createDate: '',
createByName: '',
staffSid: '',
collectionDate: '',
collectionBank: '',
collectionBankKey: '',
@ -272,6 +325,10 @@ export default {
balance: '',
useOrgSid: '',
userSid: '',
receivingName: '',
payBank: '',
payAccount: '',
accountSid: '',
finSelectedReceivablesDetaileds: [],
paymentVoucherAppendixs: [],
remittanceConfirmationAppendixs: []
@ -283,15 +340,18 @@ export default {
sids: [],
createBySid: ''
},
rules: {},
rules: {
collectionBankNum: [{ required: true, message: '收款银行账号不能为空', trigger: 'change' }],
collectionMoney: [{ required: true, message: '收款金额不能为空', trigger: 'blur' }],
collectionDate: [{ required: true, message: '收款日期不能为空', trigger: 'change' }],
collectionTypeValue: [{ required: true, message: '收款方式不能为空', trigger: 'change' }],
payerName: [{ required: true, message: '付款方不能为空', trigger: 'blur' }],
payAccount: [{ required: true, message: '付款账号不能为空', trigger: 'blur' }]
},
submitdisabled: false,
balance: '' //
}
},
created() {
this.DataDictionary()
this.newDate()
},
methods: {
//
newDate() {
@ -305,6 +365,7 @@ export default {
if (day < 10) {
day = '0' + day
}
this.formobj.createDate = year + '-' + month + '-' + day
this.formobj.collectionDate = year + '-' + month + '-' + day
},
UpNumber(e) {
@ -317,51 +378,47 @@ export default {
}
},
DataDictionary() {
getPathSidByUserSid({ userSid: window.sessionStorage.getItem('userSid') }).then((resp) => {
if (resp.success) {
fetchBySid(resp.data).then((res) => {
if (res.success) {
this.formobj.createDept = res.data.name
}
})
}
})
dataDictionary({ type: 'receiptBank' }).then((res) => {
if (res.code === '200') {
this.receiptBank_list = res.data
}
})
dataDictionary({ type: 'receiptType' }).then((res) => {
dataDictionary({ type: 'customerPayType' }).then((res) => {
if (res.code === '200') {
this.receiptType_list = res.data
}
})
},
collectionBankNum(sid) {
dataDictionary({ type: 'receiptAccount', psid: sid }).then((res) => {
if (res.code === '200') {
this.collectionBankNum_list = res.data
}
})
},
changeCollectionBank(value) {
let aa = null
this.receiptBank_list.forEach((e) => {
if (e.dictKey === value) {
aa = {
name: e.dictValue,
value: e.dictKey,
sid: e.sid
}
selAccountByOrgSid({ userSid: window.sessionStorage.getItem('userSid'), orgPath: '' }).then((resp) => {
if (resp.success) {
this.collectionBankNum_list = resp.data
}
})
this.formobj.collectionBank = aa.name
this.formobj.collectionBankKey = aa.value
this.collectionBankNum(aa.sid)
},
changeCollectionBankNum(value) {
let aa = null
this.collectionBankNum_list.forEach((e) => {
if (e.dictKey === value) {
if (e.bankAccount === value) {
aa = {
name: e.dictValue,
value: e.dictKey
accountSid: e.accountSid,
accountName: e.accountName,
depositBank: e.depositBank,
bankAccount: e.bankAccount
}
}
})
this.formobj.collectionBankNum = aa.name
this.formobj.collectionBankNumKey = aa.value
this.formobj.accountSid = aa.accountSid
this.formobj.collectionBankNum = aa.bankAccount
this.formobj.receivingName = aa.accountName
this.formobj.collectionBank = aa.depositBank
},
changeCollectionType(value) {
let aa = null
@ -444,12 +501,20 @@ export default {
this.getlist()
},
showAdd() {
this.DataDictionary()
this.newDate()
this.viewTitle = '【新建】收款确认申请'
this.formobj.createByName = window.sessionStorage.getItem('name')
this.formobj.staffSid = window.sessionStorage.getItem('staffSid')
this.getlist()
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
},
showEdit(row) {
this.DataDictionary()
this.viewTitle = '【编辑】收款确认申请'
fetchBySid(row.sid).then(resp => {
fetchDetailBySid(row.sid).then(resp => {
if (resp.code === '200') {
this.formobj = resp.data
this.balance = this.formobj.balance
@ -475,6 +540,7 @@ export default {
this.$nextTick(() => {
this.$refs['remit'].show(this.list1)
this.$refs['remittance'].show(this.list2)
this.$refs['form_obj'].clearValidate()
})
}
}).catch(e => {
@ -556,7 +622,6 @@ export default {
this.getlist()
},
submit() {
this.submitdisabled = true
if (this.formobj.paymentVoucherAppendixs.length > 0) {
var paymentVoucherUrl_list = []
for (var i = 0; i < this.formobj.paymentVoucherAppendixs.length; i++) {
@ -572,22 +637,28 @@ export default {
this.formobj.remittanceConfirmationUrl = remittanceConfirmationUrl_list.join(',')
}
this.formobj.userSid = window.sessionStorage.getItem('userSid')
save(this.formobj).then(resp => {
this.submitdisabled = false
if (resp.code === '200') {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
save(this.formobj).then((resp) => {
if (resp.success) {
this.$message({ showClose: true, type: 'success', message: resp.msg })
this.handleReturn('true')
}
}).catch(() => {
this.submitdisabled = false
})
}
})
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {
sid: '',
createByName: window.sessionStorage.getItem('name'),
staffSid: window.sessionStorage.getItem('staffSid'),
createDept: '',
createDate: '',
createByName: '',
staffSid: '',
collectionDate: '',
collectionBank: '',
collectionBankKey: '',
@ -602,6 +673,10 @@ export default {
balance: '',
useOrgSid: '',
userSid: '',
receivingName: '',
payBank: '',
payAccount: '',
accountSid: '',
finSelectedReceivablesDetaileds: [],
paymentVoucherAppendixs: [],
remittanceConfirmationAppendixs: []
@ -621,6 +696,7 @@ export default {
this.$refs['remittance'].show(this.list2)
})
this.balance = ''
this.$refs['form_obj'].resetFields()
this.$emit('doback')
}
}

93
anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/paymentConfirmation/acknowledgementReceiptInfo.vue

@ -7,35 +7,77 @@
</div>
</div>
<div class="listconadd">
<div class="wlInfo"><span>收款确认申请</span></div>
<div class="titwu"><span>收款确认申请</span></div>
<el-form ref="form_obj" :model="formobj" :rules="rules" label-position="top" label-width="300px" class="formadd">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="4" class="tleftb">
<span>申请部门</span>
</el-col>
<el-col :span="4">
<el-form-item>
<span>{{ formobj.createDept }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>申请人</span>
</el-col>
<el-col :span="4">
<el-form-item>
<span>{{ formobj.createByName }}</span>
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<span>申请日期</span>
</el-col>
<el-col :span="4">
<el-form-item>
<span>{{ formobj.createDate }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<el-form-item><span>收款日期</span></el-form-item>
<el-form-item><span>收款银行账号</span></el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item>
{{ formobj.collectionDate }}
{{ formobj.collectionBankNum }}
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<el-form-item><span>收款银行</span></el-form-item>
<el-form-item><span>收款银行名称</span></el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item>
{{ formobj.collectionBank }}
{{ formobj.receivingName }}
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<el-form-item><span>收款银行账号</span></el-form-item>
<el-form-item><span>收款银行</span></el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item>
{{ formobj.collectionBankNum }}
{{ formobj.collectionBank }}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<el-form-item><span>收款金额()</span></el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item>
{{ formobj.collectionMoney }}
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<el-form-item><span>收款日期</span></el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item>
{{ formobj.collectionDate }}
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<el-form-item><span>收款方式</span></el-form-item>
</el-col>
@ -44,8 +86,10 @@
{{ formobj.collectionTypeValue }}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<el-form-item><span>付款方名称</span></el-form-item>
<el-form-item><span>付款方</span></el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item>
@ -53,11 +97,19 @@
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<el-form-item><span>收款金额</span></el-form-item>
<el-form-item><span>付款账号后4位</span></el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item>
{{ formobj.collectionMoney }}
{{ formobj.payAccount }}
</el-form-item>
</el-col>
<el-col :span="4" class="tleftb">
<el-form-item><span>付款银行</span></el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item>
{{ formobj.payBank }}
</el-form-item>
</el-col>
</el-row>
@ -166,7 +218,7 @@
</template>
<script>
import { fetchBySid } from '@/api/anruifinmanagement/paymentConfirmation.js'
import { fetchDetailBySid } from '@/api/anruifinmanagement/paymentConfirmation.js'
export default {
name: 'acknowledgementReceiptInfo',
@ -183,7 +235,7 @@ export default {
methods: {
showInfo(row) {
this.viewTitle = '认款详情'
fetchBySid(row.sid).then(resp => {
fetchDetailBySid(row.sid).then(resp => {
if (resp.code === '200') {
this.formobj = resp.data
if (this.formobj.paymentVoucherAppendixs.length > 0) {
@ -218,21 +270,4 @@ export default {
</script>
<style scoped>
.wlInfo {
padding-top: 20px;
font-size: 24px;
font-weight: bold;
display: flex;
justify-content: center;
align-items: center;
}
.tleftb {
text-align: right;
}
.listadd {
width: 100%;
height: calc(100vh - 0px);
overflow-y: auto;
overflow-x: hidden;
}
</style>

4
anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/paymentConfirmation/cashierConfirmationInfo.vue

@ -168,7 +168,7 @@
</template>
<script>
import { fetchBySid, cashierConfirm, cashierReject } from '@/api/anruifinmanagement/paymentConfirmation.js'
import { fetchDetailBySid, cashierConfirm, cashierReject } from '@/api/anruifinmanagement/paymentConfirmation.js'
export default {
name: 'cashierConfitmationInfo',
@ -189,7 +189,7 @@ export default {
this.viewState = viewState
this.sid = row.sid
this.viewTitle = '认款详情'
fetchBySid(row.sid).then(resp => {
fetchDetailBySid(row.sid).then(resp => {
if (resp.code === '200') {
this.formobj = resp.data
if (this.formobj.paymentVoucherAppendixs.length > 0) {

2
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempService.java

@ -145,7 +145,7 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
qw.eq("cct.staffSid", query.getStaffSid());
}
if (query.getCustomerSidList().size() > 0) {
if (query.getCustomerSidList() != null && query.getCustomerSidList().size() > 0) {
qw.notIn("cct.sid", query.getCustomerSidList());
}
String remindStartDay = query.getRemindStartDay();

5
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/AppFinCollectionConfirmationDetailedVo.java

@ -52,5 +52,10 @@ public class AppFinCollectionConfirmationDetailedVo implements Vo {
@ApiModelProperty("收款方式")
private String collectionType;
@ApiModelProperty("收款账户名称")
private String receivingName;
@ApiModelProperty("付款账号后4位")
private String payAccount;
}

15
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/AppFinCollectionConfirmationDto.java

@ -72,4 +72,19 @@ public class AppFinCollectionConfirmationDto implements Dto {
@ApiModelProperty("款项明细")
private List<AppFinSelectedReceivablesDetailedDto> contractList;
@ApiModelProperty("申请部门")
private String createDept;
@ApiModelProperty("申请日期")
private String createDate;
@ApiModelProperty("收款账户名称")
private String receivingName;
@ApiModelProperty("付款账号后4位")
private String payAccount;
@ApiModelProperty("付款银行")
private String payBank;
@ApiModelProperty("收款银行账号sid")
private String accountSid;
@ApiModelProperty("申请人")
private String createByName;
}

15
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/AppFinCollectionConfirmationInitVo.java

@ -68,5 +68,20 @@ public class AppFinCollectionConfirmationInitVo implements Vo {
@ApiModelProperty("")
private boolean handle;
@ApiModelProperty("申请部门")
private String createDept;
@ApiModelProperty("申请日期")
private String createDate;
@ApiModelProperty("收款账户名称")
private String receivingName;
@ApiModelProperty("付款账号后4位")
private String payAccount;
@ApiModelProperty("付款银行")
private String payBank;
@ApiModelProperty("收款银行账号sid")
private String accountSid;
@ApiModelProperty("申请人名称")
private String createByName;
}

13
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/AppFinCollectionConfirmationPageVo.java

@ -40,5 +40,18 @@ public class AppFinCollectionConfirmationPageVo implements Vo {
@ApiModelProperty("余额")
private BigDecimal balance;
@ApiModelProperty("申请部门")
private String createDept;
@ApiModelProperty("申请日期")
private String createDate;
@ApiModelProperty("收款账户名称")
private String receivingName;
@ApiModelProperty("付款账号后4位")
private String payAccount;
@ApiModelProperty("付款银行")
private String payBank;
@ApiModelProperty("申请人")
private String createByName;
}

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/FinCollectionConfirmation.java

@ -104,4 +104,6 @@ public class FinCollectionConfirmation extends BaseEntity {
private String payAccount;
@ApiModelProperty("付款银行")
private String payBank;
@ApiModelProperty("收款银行账号sid")
private String accountSid;
}

14
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/FinCollectionConfirmationDetailsVo.java

@ -90,4 +90,18 @@ public class FinCollectionConfirmationDetailsVo implements Vo {
private List<FinCollectionConfirmationAppendixVo> paymentVoucherAppendixs; // 打款凭证附件
@ApiModelProperty("汇款确认书附件")
private List<FinCollectionConfirmationAppendixVo> remittanceConfirmationAppendixs; // 汇款确认书附件
@ApiModelProperty("申请部门")
private String createDept;
@ApiModelProperty("申请日期")
private String createDate;
@ApiModelProperty("收款账户名称")
private String receivingName;
@ApiModelProperty("付款账号后4位")
private String payAccount;
@ApiModelProperty("付款银行")
private String payBank;
}

14
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/FinCollectionConfirmationDto.java

@ -96,4 +96,18 @@ public class FinCollectionConfirmationDto implements Dto {
private List<FinCollectionConfirmationAppendixDto> paymentVoucherAppendixs; // 打款凭证附件
@ApiModelProperty("汇款确认书附件")
private List<FinCollectionConfirmationAppendixDto> remittanceConfirmationAppendixs; // 汇款确认书附件
@ApiModelProperty("申请部门")
private String createDept;
@ApiModelProperty("申请日期")
private String createDate;
@ApiModelProperty("收款账户名称")
private String receivingName;
@ApiModelProperty("付款账号后4位")
private String payAccount;
@ApiModelProperty("付款银行")
private String payBank;
@ApiModelProperty("收款银行账号sid")
private String accountSid;
}

11
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/FinCollectionConfirmationVo.java

@ -75,4 +75,15 @@ public class FinCollectionConfirmationVo implements Vo {
@ApiModelProperty("余额")
private String balance;
@ApiModelProperty("申请部门")
private String createDept;
@ApiModelProperty("申请日期")
private String createDate;
@ApiModelProperty("收款账户名称")
private String receivingName;
@ApiModelProperty("付款账号后4位")
private String payAccount;
@ApiModelProperty("付款银行")
private String payBank;
}

13
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/app/FinConfirmDto.java

@ -69,4 +69,17 @@ public class FinConfirmDto implements Dto {
@ApiModelProperty("打款凭证url")
private String paymentVoucherUrl;
@ApiModelProperty("申请部门")
private String createDept;
@ApiModelProperty("申请日期")
private String createDate;
@ApiModelProperty("收款账户名称")
private String receivingName;
@ApiModelProperty("付款账号后4位")
private String payAccount;
@ApiModelProperty("付款银行")
private String payBank;
@ApiModelProperty("收款银行账号sid")
private String accountSid;
}

70
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicing.java

@ -0,0 +1,70 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.fin.api.fincompanyinvoicing;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-fin(公司开票信息管理) <br/>
* File: FinCompanyInvoicing.java <br/>
* Class: com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicing <br/>
* Description: 公司开票信息管理. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-12-14 09:00:52 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "公司开票信息管理", description = "公司开票信息管理")
@TableName("fin_company_invoicing")
public class FinCompanyInvoicing extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("银行账号")
private String bankAccount; // 银行账号
@ApiModelProperty("开户行")
private String bankName; // 开户行
@ApiModelProperty("名称")
private String name; // 名称
@ApiModelProperty("纳税人识别号")
private String taxpayerNo; // 纳税人识别号
@ApiModelProperty("地址")
private String address; // 地址
@ApiModelProperty("电话")
private String phone; // 电话
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("分公司名称")
private String useOrgName; // 分公司名称
}

71
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingDetailsVo.java

@ -0,0 +1,71 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.fin.api.fincompanyinvoicing;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-fin(公司开票信息管理) <br/>
* File: FinCompanyInvoicingVo.java <br/>
* Class: com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingVo <br/>
* Description: 公司开票信息管理 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-12-14 09:00:52 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "公司开票信息管理 视图数据详情", description = "公司开票信息管理 视图数据详情")
public class FinCompanyInvoicingDetailsVo implements Vo {
private String sid; // sid
@ApiModelProperty("银行账号")
private String bankAccount; // 银行账号
@ApiModelProperty("开户行")
private String bankName; // 开户行
@ApiModelProperty("名称")
private String name; // 名称
@ApiModelProperty("纳税人识别号")
private String taxpayerNo; // 纳税人识别号
@ApiModelProperty("地址")
private String address; // 地址
@ApiModelProperty("电话")
private String phone; // 电话
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("分公司名称")
private String useOrgName; // 分公司名称
}

71
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingDto.java

@ -0,0 +1,71 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.fin.api.fincompanyinvoicing;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-fin(公司开票信息管理) <br/>
* File: FinCompanyInvoicingDto.java <br/>
* Class: com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingDto <br/>
* Description: 公司开票信息管理 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-12-14 09:00:52 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "公司开票信息管理 数据传输对象", description = "公司开票信息管理 数据传输对象")
public class FinCompanyInvoicingDto implements Dto {
private String sid; // sid
@ApiModelProperty("银行账号")
private String bankAccount; // 银行账号
@ApiModelProperty("开户行")
private String bankName; // 开户行
@ApiModelProperty("名称")
private String name; // 名称
@ApiModelProperty("纳税人识别号")
private String taxpayerNo; // 纳税人识别号
@ApiModelProperty("地址")
private String address; // 地址
@ApiModelProperty("电话")
private String phone; // 电话
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("分公司名称")
private String useOrgName; // 分公司名称
}

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

Loading…
Cancel
Save