Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
yunuo970428 2 years ago
parent
commit
8620d54965
  1. 31
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufacturerretware/BaseApplyInboundVehQueryMaterial.java
  2. 7
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufacturerretware/BaseManufacturerRetwareFeign.java
  3. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufacturerretware/BaseManufacturerRetwareFeignFallback.java
  4. 28
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufacturerretware/WithdrawalPdfVo.java
  5. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/BaseOutsourcingApplication.java
  6. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/BaseOutsourcingApplicationDetailsVo.java
  7. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/BaseOutsourcingApplicationDto.java
  8. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/BaseOutsourcingApplicationFeign.java
  9. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/BaseOutsourcingApplicationFeignFallback.java
  10. 182
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/ReceiveSaveDto.java
  11. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelVo.java
  12. 61
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusApplyPushDto.java
  13. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApplyFeign.java
  14. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApplyFeignFallback.java
  15. 36
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapplydetail/BusApplyDetailsPushDto.java
  16. 18
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapplysz/BusVehicleApplySzPushDto.java
  17. 76
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerretware/BaseManufacturerRetwareRest.java
  18. 203
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerretware/BaseManufacturerRetwareService.java
  19. 5
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationRest.java
  20. 82
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java
  21. 82
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesService.java
  22. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.xml
  23. 5
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyRest.java
  24. 27
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java
  25. 3113
      anrui-base/anrui-base-biz/src/main/resources/ftl/cgtkjgdy.ftl
  26. 3110
      anrui-base/anrui-base-biz/src/main/resources/ftl/cgtkzsdy.ftl
  27. 43
      anrui-base/anrui-base-biz/src/main/resources/ftl/existingvehicles.ftl
  28. 43
      anrui-base/anrui-base-biz/src/main/resources/ftl/existingvehicles2.ftl
  29. 43
      anrui-base/anrui-base-biz/src/main/resources/ftl/existingvehicles_black.ftl
  30. 43
      anrui-base/anrui-base-biz/src/main/resources/ftl/existingvehicles_black2.ftl
  31. 43
      anrui-base/anrui-base-biz/src/main/resources/ftl/orderacar.ftl
  32. 43
      anrui-base/anrui-base-biz/src/main/resources/ftl/orderacar_black.ftl
  33. 2902
      anrui-base/anrui-base-biz/src/main/resources/ftl/tkjg.ftl
  34. 2900
      anrui-base/anrui-base-biz/src/main/resources/ftl/tkzk.ftl
  35. 5
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeign.java
  36. 5
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeignFallback.java
  37. 25
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrdersVo.java
  38. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermakeup/BusSalesOrderMakeup.java
  39. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermakeup/app/AppBusSalesOrderMakeUpDto.java
  40. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermakeup/app/AppBusSalesOrderMakeUpVo.java
  41. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivered/BusDeliveredMapper.xml
  42. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivered/BusDeliveredService.java
  43. 5
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderRest.java
  44. 107
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  45. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermakeup/BusSalesOrderMakeupMapper.java
  46. 7
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermakeup/BusSalesOrderMakeupMapper.xml
  47. 6
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermakeup/BusSalesOrderMakeupService.java
  48. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermodel/BusSalesOrderModelService.java
  49. 7
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.xml
  50. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/saloutstock/SalOutStockService.java
  51. 5
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow2/FlowFeign.java
  52. 2
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
  53. 14
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowRest.java
  54. 199
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowService.java
  55. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/flowable/LoanCreditApplyCompleteDto.java
  56. 31
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancreditappealapply/LoanCreditAppealApplyService.java
  57. 6
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinboundvehquery/ScmApplyInboundVehQueryFeign.java
  58. 5
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinboundvehquery/ScmApplyInboundVehQueryFeignFallback.java
  59. 2
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmpurchasechannel/ScmPurchaseChannel.java
  60. 12
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmpurchasechannel/ScmPurchaseChannelDto.java
  61. 6
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmpurchasechannel/ScmPurchaseChannelFeign.java
  62. 5
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmpurchasechannel/ScmPurchaseChannelFeignFallback.java
  63. 4
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmpurchasechannel/ScmPurchaseChannelVo.java
  64. 43
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmpurchasechannel/SendOutApplyDto.java
  65. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinboundvehquery/ScmApplyInboundVehQueryMapper.java
  66. 9
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinboundvehquery/ScmApplyInboundVehQueryRest.java
  67. 4
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinboundvehquery/ScmApplyInboundVehQueryService.java
  68. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmpurchasechannel/ScmPurchaseChannelMapper.xml
  69. 5
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmpurchasechannel/ScmPurchaseChannelRest.java
  70. 151
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmpurchasechannel/ScmPurchaseChannelService.java
  71. 3
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/topinfo/TopDto.java
  72. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/topinfo/TopVo.java
  73. 4
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/CreditReviewDetailsSsVo.java
  74. 42
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/CreditReviewFeign.java
  75. 34
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/CreditReviewFeignFallback.java
  76. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/CreditReviewSsDto.java
  77. 34
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/flowable/CompleteCreditDto.java
  78. 17
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/flowable/CreditQuery.java
  79. 42
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/flowable/CreditTaskQuery.java
  80. 19
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/flowable/SubmitCreditDto.java
  81. 34
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/creditreview/CreditReviewRest.java
  82. 173
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/creditreview/CreditReviewService.java

31
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufacturerretware/BaseApplyInboundVehQueryMaterial.java

@ -0,0 +1,31 @@
package com.yxt.anrui.base.api.basemanufacturerretware;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/8/3 14:02
*/
@Data
public class BaseApplyInboundVehQueryMaterial implements Vo {
@ApiModelProperty("序号")
private String id; // 序号
@ApiModelProperty("物料编号")
private String vinNo; // 物料编号
@ApiModelProperty("物料分组名称")
private String mgroupName; // 物料分组名称
@ApiModelProperty("车辆类型value")
private String vehicleType; // 车辆类型value
@ApiModelProperty("计量单位")
private String iunit; // 计量单位
@ApiModelProperty("数量")
private String num; // 数量
@ApiModelProperty("结算金额")
private String settleMoney; // 结算金额
@ApiModelProperty("仓库名称")
private String localName; // 仓库名称
}

7
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufacturerretware/BaseManufacturerRetwareFeign.java

@ -26,6 +26,7 @@
package com.yxt.anrui.base.api.basemanufacturerretware;
import com.yxt.anrui.base.api.basemanufacturerretwareveh.BaseManufacturerRetwareVehDto;
import com.yxt.anrui.base.api.basevehicleout.PdfPath;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.yxt.common.core.query.PagerQuery;
@ -86,4 +87,10 @@ public interface BaseManufacturerRetwareFeign {
@GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody
public ResultBean<BaseManufacturerRetwareDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
@ApiOperation("生成厂家退库库单pdf")
@PostMapping("/withdrawalPdf")
@ResponseBody
ResultBean<String> withdrawalPdf(@RequestParam("cgtkdSid") String cgtkdSid, @RequestParam("printerType") String printerType);
}

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufacturerretware/BaseManufacturerRetwareFeignFallback.java

@ -80,4 +80,9 @@ public class BaseManufacturerRetwareFeignFallback implements BaseManufacturerRet
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui-base/basemanufacturerretware/fetchDetailsBySid无法访问");
}
@Override
public ResultBean<String> withdrawalPdf(String cjtkdSid, String printerType) {
return null;
}
}

28
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufacturerretware/WithdrawalPdfVo.java

@ -0,0 +1,28 @@
package com.yxt.anrui.base.api.basemanufacturerretware;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Administrator
* @description
* @date 2023/8/3 13:57
*/
@Data
public class WithdrawalPdfVo implements Vo {
private String priceDate;
private String manPurOrderType;
private String billNo;
private String orgDeptName;
private String manName;
private String exitDate;
private String zs;
private String zsettleMoney;
private String tPriceDX;
private String makeName;
private String confirmName;
private List<BaseApplyInboundVehQueryMaterial> baseApplyInboundVehQueryMaterials = new ArrayList<>();
}

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/BaseOutsourcingApplication.java

@ -160,4 +160,6 @@ public class BaseOutsourcingApplication extends BaseEntity {
@ApiModelProperty("申请人组织路径")
private String orgSidPath; // 申请人组织路径
@ApiModelProperty("销售订单sid")
private String saleOrderSid;
}

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/BaseOutsourcingApplicationDetailsVo.java

@ -168,4 +168,6 @@ public class BaseOutsourcingApplicationDetailsVo implements Vo {
@ApiModelProperty("申请人组织路径")
private String orgSidPath; // 申请人组织路径
@ApiModelProperty("销售订单sid")
private String saleOrderSid;
}

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/BaseOutsourcingApplicationDto.java

@ -189,4 +189,6 @@ public class BaseOutsourcingApplicationDto implements Dto {
private String orgSidPath; // 申请人组织路径
@ApiModelProperty("申请人组织路径")
private String orgPath; // 申请人组织路径
@ApiModelProperty("销售订单sid")
private String saleOrderSid;
}

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/BaseOutsourcingApplicationFeign.java

@ -69,6 +69,10 @@ public interface BaseOutsourcingApplicationFeign {
@PostMapping("/saveOrUpdate")
public ResultBean saveOrUpdate(@RequestBody BaseOutsourcingApplicationDto dto);
@ApiOperation("接收采购渠道推送保存")
@PostMapping("/receiveSave")
public ResultBean receiveSave(@RequestBody ReceiveSaveDto dto);
@ApiOperation("根据sid批量删除")
@PostMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids);

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/BaseOutsourcingApplicationFeignFallback.java

@ -62,6 +62,11 @@ public class BaseOutsourcingApplicationFeignFallback implements BaseOutsourcingA
return ResultBean.fireFail().setMsg("接口anrui-base/baseoutsourcingapplication/saveOrUpdate无法访问");
}
@Override
public ResultBean receiveSave(ReceiveSaveDto dto) {
return null;
}
@Override
public ResultBean delBySids( String[] sids){
return ResultBean.fireFail().setMsg("接口anrui-base/baseoutsourcingapplication/delBySids无法访问");

182
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/ReceiveSaveDto.java

@ -0,0 +1,182 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.api.baseoutsourcingapplication;
import com.yxt.anrui.base.api.baseoutsourcingapplicationvehicle.BaseOutsourcingApplicationVehicleDto;
import com.yxt.anrui.base.api.commonappendix.CommonAppendix;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.util.List;
/**
* Project: anrui-base(外采管理) <br/>
* File: BaseOutsourcingApplicationDto.java <br/>
* Class: com.yxt.anrui.base.api.baseoutsourcingapplication.BaseOutsourcingApplicationDto <br/>
* Description: 外采申请表 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-04-08 17:44:40 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
public class ReceiveSaveDto implements Dto {
@ApiModelProperty("外采申请单sid")
private String sid; // 外采申请单sid
@ApiModelProperty(value = "车辆型号")
private String vehMark;
@ApiModelProperty("创建人sid")
private String createBySid; // 创建人sid
@ApiModelProperty("用户sid")
private String userSid; // 用户sid
@ApiModelProperty("业务员sid")
private String staffSid; // 业务员sid
@ApiModelProperty("申请编号")
private String applicationCode; // 申请编号
@ApiModelProperty("申请人姓名")
private String createByName; // 申请人姓名
@ApiModelProperty("申请日期")
private String applicationDate; // 申请日期
@ApiModelProperty("外采类型key")
private String externalMiningTypeKey; // 外采类型key
@ApiModelProperty("外采类型value")
private String externalMiningTypeValue; // 外采类型value
@ApiModelProperty("外采供应商sid")
private String purchasingUnitSid; // 外采供应商sid
@ApiModelProperty("外采供应商名称")
private String purchasingUnitName; // 外采供应商名称
@ApiModelProperty("车型sid")
private String modelSid; // 车型sid
@ApiModelProperty("车型名称")
private String modelName; // 车型名称
@ApiModelProperty("常用配置sid")
private String configSid; // 常用配置sid
@ApiModelProperty("常用配置名称")
private String configName; // 常用配置名称
@ApiModelProperty("采购价格")
private BigDecimal purchasePrice; // 采购价格
@ApiModelProperty("销售指导价")
private BigDecimal guidedPrice; // 销售指导价
@ApiModelProperty("厂家合同价")
private BigDecimal manufactorSettlementPrice; // 厂家合同价
@ApiModelProperty("订金开户银行")
private String modelBankName; // 订金开户银行
@ApiModelProperty("订金银行账号")
private String modelBankAccount; // 订金银行账号
@ApiModelProperty("订金收款账户名称")
private String modelAccountName; // 订金收款账户名称
@ApiModelProperty("车款开户银行")
private String depositBankName; // 车款开户银行
@ApiModelProperty("车款银行账号")
private String bankAccount; // 车款银行账号
@ApiModelProperty("车款账户名称")
private String accountName; // 车款账户名称
@ApiModelProperty("台数")
private Integer num; // 台数
@ApiModelProperty("订金")
private BigDecimal deposit; // 订金
@ApiModelProperty("费用名称")
private String expenseName; // 费用名称
@ApiModelProperty("费用金额合计")
private BigDecimal totalExpenseAmount; // 费用金额合计
@ApiModelProperty("部门sid")
private String orgSid; // 部门sid
@ApiModelProperty("流程定义的id")
private String procDefId;
@ApiModelProperty("环节定义的sid")
private String taskDefKey;
@ApiModelProperty("流程实例的sid")
private String procInstSid;
@ApiModelProperty(value = "节点状态")
private String nodeState;
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("分公司名称")
private String useOrgName; // 分公司名称
@ApiModelProperty("备注")
private String remarks; // 备注
@ApiModelProperty("内部编码")
private String insideCode; // 内部编码
@ApiModelProperty("是否先付款")
private String isBeforePayment; // 是否先付款
@ApiModelProperty("品牌sid")
private String carBrandSid; // 品牌sid
@ApiModelProperty("品牌名称")
private String carBrandName; // 品牌名称
@ApiModelProperty("品牌code")
private String carBrandCode; // 品牌code
@ApiModelProperty("采购系统sid")
private String purchaseSystemSid; // 采购系统sid
@ApiModelProperty("采购系统名称")
private String purchaseSystemName; // 采购系统名称
@ApiModelProperty("采购系统code")
private String purchaseSystemCode; // 采购系统code
@ApiModelProperty("采购类型key")
private String manPurOrderTypeKey; // 采购类型key
@ApiModelProperty("供应商code")
private String supplierCode; // 供应商code
@ApiModelProperty("采购组织code")
private String orgCode; // 采购组织code
@ApiModelProperty("外采车辆类型key")
private String vehicleTypeKey; // 外采车辆类型key
@ApiModelProperty("订金使用规则key")
private String depositUseRuleKey; // 订金使用规则key
@ApiModelProperty("订金使用规则value")
private String depositUseRuleValue; // 订金使用规则value
@ApiModelProperty("是否销售组审批")
private String isSaleOrgApproval; // 是否销售组审批
@ApiModelProperty("销售经理sid")
private String approvalSid; // 销售经理sid
@ApiModelProperty("销售经理姓名")
private String approvalName; // 销售经理姓名
@ApiModelProperty("外采车辆列表")
private List<BaseOutsourcingApplicationVehicleDto> baseOutsourcingApplicationVehicleDtos; // 外采车辆列表
@ApiModelProperty("合同附件信息")
private CommonAppendix contract;
@ApiModelProperty("申请人组织路径")
private String orgSidPath; // 申请人组织路径
@ApiModelProperty("申请人组织路径")
private String orgPath; // 申请人组织路径
@ApiModelProperty("销售订单sid")
private String saleOrderSid;
}

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelVo.java

@ -31,6 +31,11 @@ public class BaseVehmodelVo implements Vo {
@ApiModelProperty(value = "品牌sid")
private String brandSid;
@ApiModelProperty(value = "品牌名称")
private String brandName;
@ApiModelProperty(value = "内部编码")
private String insideCode;
@ApiModelProperty(value = "配置")
private String configName;

61
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusApplyPushDto.java

@ -0,0 +1,61 @@
package com.yxt.anrui.base.api.busvehicleapply;
import com.yxt.anrui.base.api.busvehicleapplydetail.BusApplyDetailsPushDto;
import com.yxt.anrui.base.api.busvehicleapplydetail.BusVehicleApplyDetailDto;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixDto;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.ArrayList;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2023/8/3
**/
@Data
public class BusApplyPushDto implements Dto {
private static final long serialVersionUID = -2239338527888329767L;
@ApiModelProperty("申请人sid")
private String createBySid;
@ApiModelProperty("申请日期")
private String applicationDate;
@ApiModelProperty("申请人姓名")
private String createByName;
@ApiModelProperty("采购原因:储备/临时/厂家任务")
private String schedulingType;
@ApiModelProperty(value = "采购原因key")
private String schedulingTypeKey;
@ApiModelProperty("车辆排产申请详情")
private List<BusApplyDetailsPushDto> busVehicleApplyDetailList;
@ApiModelProperty("销售订单sid 可为空,只有客户订单时才有")
private String salesSid;
@ApiModelProperty(value = "分公司sid")
private String createOrgSid;
@ApiModelProperty(value = "分公司名称")
private String createOrgName;
@ApiModelProperty("采购类型key")
private String applyTypeKey;
@ApiModelProperty("采购类型value")
private String applyType;
@ApiModelProperty("采购部门名称")
private String orgDeptName;
@ApiModelProperty("采购部门sid")
private String orgDeptSid;
@ApiModelProperty(value = "品牌sid")
private String carBrandSid;
@ApiModelProperty(value = "品牌名称")
private String carBrandName;
@ApiModelProperty("全组织路径sid")
private String orgSidPath;
}

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApplyFeign.java

@ -97,4 +97,8 @@ public interface BusVehicleApplyFeign {
/* @ApiOperation(value = "分享厂家采购")
@PostMapping(value = "/shareBusVehicleApply")
ResultBean shareBusVehicleApply(@RequestBody ShareBusVehicleApplyQuery shareQuery);*/
@ApiOperation(value = "采购渠道推送厂家采购")
@PostMapping(value = "/pushApply")
ResultBean pushApply(@RequestBody BusApplyPushDto dto);
}

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApplyFeignFallback.java

@ -106,4 +106,9 @@ public class BusVehicleApplyFeignFallback implements BusVehicleApplyFeign {
public ResultBean abandonApply(String[] sids) {
return null;
}
@Override
public ResultBean pushApply(BusApplyPushDto dto) {
return null;
}
}

36
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapplydetail/BusApplyDetailsPushDto.java

@ -0,0 +1,36 @@
package com.yxt.anrui.base.api.busvehicleapplydetail;
import com.yxt.anrui.base.api.busvehicleapplysz.BusVehicleApplySzDto;
import com.yxt.anrui.base.api.busvehicleapplysz.BusVehicleApplySzPushDto;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2023/8/3
**/
@Data
public class BusApplyDetailsPushDto implements Dto {
private static final long serialVersionUID = 6075692277267735345L;
@ApiModelProperty("车型sid")
private String vehicleSid;
@ApiModelProperty("车型名称")
private String vehicleName;
@ApiModelProperty("排产数量")
private String quantity;
@ApiModelProperty("常用配置sid")
private String configSid;
@ApiModelProperty("常用配置名称")
private String configName;
@ApiModelProperty("内部编码")
private String insideCode;
private BusVehicleApplySzPushDto busVehicleApplySzPushDto;
}

18
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapplysz/BusVehicleApplySzPushDto.java

@ -0,0 +1,18 @@
package com.yxt.anrui.base.api.busvehicleapplysz;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2023/8/3
**/
@Data
public class BusVehicleApplySzPushDto implements Dto {
private static final long serialVersionUID = 3768658685711571725L;
@ApiModelProperty(value = "上装配置sid")
private String szSid;
}

76
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerretware/BaseManufacturerRetwareRest.java

@ -35,6 +35,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import com.yxt.anrui.base.api.basemanufacturerretware.BaseManufacturerRetware;
import com.yxt.anrui.base.api.basemanufacturerretware.BaseManufacturerRetwareQuery;
import com.yxt.anrui.base.api.basemanufacturerretware.BaseManufacturerRetwareVo;
@ -60,46 +61,53 @@ import com.yxt.anrui.base.api.basemanufacturerretware.BaseManufacturerRetwareFei
@RequestMapping("v1/basemanufacturerretware")
public class BaseManufacturerRetwareRest implements BaseManufacturerRetwareFeign {
@Autowired
private BaseManufacturerRetwareService baseManufacturerRetwareService;
@Autowired
private BaseManufacturerRetwareService baseManufacturerRetwareService;
@Override
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<BaseManufacturerRetwareVo>> listPage(@RequestBody PagerQuery<BaseManufacturerRetwareQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<BaseManufacturerRetwareVo> pv = baseManufacturerRetwareService.listPageVo(pq);
return rb.success().setData(pv);
}
@Override
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<BaseManufacturerRetwareVo>> listPage(@RequestBody PagerQuery<BaseManufacturerRetwareQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<BaseManufacturerRetwareVo> pv = baseManufacturerRetwareService.listPageVo(pq);
return rb.success().setData(pv);
}
@Override
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody BaseManufacturerRetwareDto dto){
return baseManufacturerRetwareService.saveOrUpdateDto(dto);
}
@Override
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody BaseManufacturerRetwareDto dto) {
return baseManufacturerRetwareService.saveOrUpdateDto(dto);
}
@Override
public ResultBean confirm(BaseManufacturerRetwareVehDto dto) {
return baseManufacturerRetwareService.confirm(dto);
}
@Override
public ResultBean confirm(BaseManufacturerRetwareVehDto dto) {
return baseManufacturerRetwareService.confirm(dto);
}
@Override
public ResultBean<String> createPdf(String sid) {
return baseManufacturerRetwareService.createPdf(sid);
}
@Override
public ResultBean<String> createPdf(String sid) {
return baseManufacturerRetwareService.createPdf(sid);
}
@Override
@ApiOperation("根据sid批量删除")
@Override
@ApiOperation("根据sid批量删除")
@PostMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids){
return baseManufacturerRetwareService.delAll(sids);
}
public ResultBean delBySids(@RequestBody String[] sids) {
return baseManufacturerRetwareService.delAll(sids);
}
@Override
@ApiOperation("根据SID获取一条记录")
@Override
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<BaseManufacturerRetwareDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid){
return baseManufacturerRetwareService.fetchAll(sid);
}
public ResultBean<BaseManufacturerRetwareDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid) {
return baseManufacturerRetwareService.fetchAll(sid);
}
@ApiOperation("生成厂家退库库单pdf")
@PostMapping("/withdrawalPdf")
@Override
public ResultBean<String> withdrawalPdf(String cgtkdSid, String printerType) {
return baseManufacturerRetwareService.withdrawalPdf(cgtkdSid,printerType);
}
}

203
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerretware/BaseManufacturerRetwareService.java

@ -29,6 +29,7 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basemanufacturerretware.*;
import com.yxt.anrui.base.api.basemanufacturerretwareveh.BaseManufacturerRetwareVeh;
import com.yxt.anrui.base.api.basemanufacturerretwareveh.BaseManufacturerRetwareVehDetailsVo;
import com.yxt.anrui.base.api.basemanufacturerretwareveh.BaseManufacturerRetwareVehDto;
@ -42,6 +43,7 @@ import com.yxt.anrui.base.common.enums.BillTypeEnum;
import com.yxt.anrui.base.common.enums.VehicleState;
import com.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.base.common.utils.domain.BillNo;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedPdfVo;
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign;
import com.yxt.anrui.fin.api.kingdee.purmrb.PurMrb;
import com.yxt.anrui.fin.api.kingdee.push.STKInStockPushPurmrb;
@ -49,7 +51,17 @@ import com.yxt.anrui.portal.api.sysorganization.SysOrganization;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.scm.api.scmapplyinboundquery.PdfPath;
import com.yxt.anrui.scm.api.scmapplyinboundquery.ScmApplyInboundQuery;
import com.yxt.anrui.scm.api.scmapplyinboundquery.ScmApplyInboundQueryDetailsVo;
import com.yxt.anrui.scm.api.scmapplyinboundquery.ScmApplyInboundQueryFeign;
import com.yxt.anrui.scm.api.scmapplyinboundvehquery.ScmApplyInboundVehQueryDetailsVo;
import com.yxt.anrui.scm.api.scmapplyinboundvehquery.ScmApplyInboundVehQueryFeign;
import com.yxt.anrui.scm.api.scmapplyinboundvehquery.ScmApplyInboundVehQueryMaterial;
import com.yxt.common.base.config.component.DocPdfComponent;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.utils.TransformMoney;
import com.yxt.common.base.utils.WordConvertUtils;
import com.yxt.common.base.utils.WordUtils;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
@ -57,16 +69,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.anrui.base.api.basemanufacturerretware.BaseManufacturerRetware;
import com.yxt.anrui.base.api.basemanufacturerretware.BaseManufacturerRetwareQuery;
import com.yxt.anrui.base.api.basemanufacturerretware.BaseManufacturerRetwareVo;
import com.yxt.anrui.base.api.basemanufacturerretware.BaseManufacturerRetwareDetailsVo;
import com.yxt.anrui.base.api.basemanufacturerretware.BaseManufacturerRetwareDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.io.File;
import java.io.InputStream;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
@ -101,6 +111,15 @@ public class BaseManufacturerRetwareService extends MybatisBaseService<BaseManuf
@Autowired
private BasePurchaseSystemService basePurchaseSystemService;
@Autowired
private ScmApplyInboundQueryFeign scmApplyInboundQueryFeign;
@Autowired
private ScmApplyInboundVehQueryFeign scmApplyInboundVehQueryFeign;
@Autowired
private DocPdfComponent docPdfComponent;
private QueryWrapper<BaseManufacturerRetware> createQueryWrapper(BaseManufacturerRetwareQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
@ -242,53 +261,53 @@ public class BaseManufacturerRetwareService extends MybatisBaseService<BaseManuf
public ResultBean confirm(BaseManufacturerRetwareVehDto dto) {
ResultBean rb = ResultBean.fireFail();
String manApprovalType = dto.getManApprovalType();
if (StringUtils.isBlank(manApprovalType)){
if (StringUtils.isBlank(manApprovalType)) {
return rb.setMsg("请选择审批结果");
}
String refundMoney = dto.getRefundMoney();
if (StringUtils.isBlank(refundMoney)){
if (StringUtils.isBlank(refundMoney)) {
return rb.setMsg("请填写退款金额");
}
String vinNo = dto.getVinNo();
String mainSid = dto.getMainSid();
BaseManufacturerRetware baseManufacturerRetware = fetchBySid(mainSid);
BaseVehicle baseVehicle = baseVehicleService.selectByVinNoAndOrgSid(vinNo,baseManufacturerRetware.getCreateOrgSid());
BaseVehicle baseVehicle = baseVehicleService.selectByVinNoAndOrgSid(vinNo, baseManufacturerRetware.getCreateOrgSid());
String s = baseManufacturerRetwareVehService.fetchByVinNo(vinNo);
if (StringUtils.isNotBlank(s)){
if (StringUtils.isNotBlank(s)) {
return rb.setMsg("该车辆已确认");
}
if (manApprovalType.equals("成功")){
if (manApprovalType.equals("成功")) {
baseVehicle.setVehicleState(VehicleState.StockEnum.RETURN_STOCK.getCode());
baseVehicle.setVehicleStateValue(VehicleState.StockEnum.RETURN_STOCK.getRemarks());
baseVehicle.setReturnDate(DateUtil.parseDate(DateUtil.today()));
baseVehicleService.updateVeh(baseVehicle);
baseManufacturerRetwareVehService.updateByVinNo(manApprovalType,refundMoney,vinNo,dto.getManDeduRemarks());
}else if (manApprovalType.equals("失败")){
baseManufacturerRetwareVehService.updateByVinNo(manApprovalType, refundMoney, vinNo, dto.getManDeduRemarks());
} else if (manApprovalType.equals("失败")) {
baseVehicle.setVehicleState(VehicleState.StockEnum.STOCK.getCode());
baseVehicle.setVehicleStateValue(VehicleState.StockEnum.STOCK.getRemarks());
baseVehicleService.updateVeh(baseVehicle);
baseManufacturerRetwareVehService.updateByVinNo(manApprovalType,refundMoney,vinNo,dto.getManDeduRemarks());
baseManufacturerRetwareVehService.updateByVinNo(manApprovalType, refundMoney, vinNo, dto.getManDeduRemarks());
}
int i = baseManufacturerRetwareVehService.fetchUNConfirmCountByMainSid(mainSid);
if (i == 0){
if (i == 0) {
baseMapper.updateStateBySid(mainSid);
}
try{
STKInStockPushPurmrb pm=createPush(baseVehicle);
try {
STKInStockPushPurmrb pm = createPush(baseVehicle);
finKingDeeFeign.draftStkInStockPushPurMrb(pm);
}catch (Exception e){
} catch (Exception e) {
e.printStackTrace();
}
return rb.success().setMsg("修改成功");
}
private STKInStockPushPurmrb createPush(BaseVehicle baseVehicle) {
STKInStockPushPurmrb push=new STKInStockPushPurmrb();
STKInStockPushPurmrb push = new STKInStockPushPurmrb();
push.setFMaterialId(baseVehicle.getVinNo().substring(baseVehicle.getVinNo().length() - 8));
BasePurchaseSystemDetailsVo data = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData();
if (data != null){
if (data != null) {
push.setUseOrdSid(data.getOrgCode());
}else {
} else {
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(baseVehicle.getUseOrgSid()).getData();
push.setUseOrdSid(sysOrganizationVo.getOrgCode());
}
@ -334,4 +353,148 @@ public class BaseManufacturerRetwareService extends MybatisBaseService<BaseManuf
WordUtils.doc2pdf(wordPath, targetPath, pdfName);
return rb.success().setData("template" + "/" + dateStr + "/" + pdfName);
}
/**
* 打印退料单
*
* @param cgtkdSid
* @param printerType
* @return
*/
public ResultBean<String> withdrawalPdf(String cgtkdSid, String printerType) {
ResultBean rb = ResultBean.fireFail();
WithdrawalPdfVo pdfVo = new WithdrawalPdfVo();
String pdfPath = "";
BaseManufacturerRetware baseManufacturerRetware = fetchBySid(cgtkdSid);
pdfVo.setExitDate(baseManufacturerRetware.getAppluDate());
pdfVo.setBillNo(baseManufacturerRetware.getApplyNo());
pdfVo.setMakeName(baseManufacturerRetware.getApplyName() + baseManufacturerRetware.getAppluDate());
//查询相关车架号
List<BaseManufacturerRetwareVehDetailsVo> vehVos = baseManufacturerRetwareVehService.fetchByMainSid(cgtkdSid);
vehVos.removeAll(Collections.singleton(null));
List<String> vinNoList = new ArrayList<>();
if (!vehVos.isEmpty()) {
for (BaseManufacturerRetwareVehDetailsVo vehVo : vehVos) {
String vinNo = vehVo.getVinNo();
vinNoList.add(vinNo);
}
}
//初始化总数量为1
int num = 0;
int id = 0;
BigDecimal tPrice = new BigDecimal(0);
String cgrkdSid = "";
List<BaseApplyInboundVehQueryMaterial> baseApplyInboundVehQueryMaterials = new ArrayList<>();
for (String vinNo : vinNoList) {
ScmApplyInboundVehQueryDetailsVo data = scmApplyInboundVehQueryFeign.fetchDetailsByVinNo(vinNo).getData();
if (null != data) {
cgrkdSid = data.getMainSid();
BaseApplyInboundVehQueryMaterial baseApplyInboundVehQueryMaterial = new BaseApplyInboundVehQueryMaterial();
num = num + 1;
id = id + 1;
BigDecimal settleMoney = new BigDecimal(data.getSettleMoney());
tPrice = tPrice.add(settleMoney);
//主车物料编码
baseApplyInboundVehQueryMaterial.setVinNo(data.getVinNo().substring(data.getVinNo().length() - 8));
baseApplyInboundVehQueryMaterial.setId(String.valueOf(id));
baseApplyInboundVehQueryMaterial.setMgroupName(data.getMgroupName());
baseApplyInboundVehQueryMaterial.setVehicleType(data.getVehicleTypeValue());
baseApplyInboundVehQueryMaterial.setIunit("辆");
baseApplyInboundVehQueryMaterial.setNum("1");
baseApplyInboundVehQueryMaterial.setSettleMoney(data.getSettleMoney());
baseApplyInboundVehQueryMaterial.setLocalName(data.getLocalName());
baseApplyInboundVehQueryMaterials.add(baseApplyInboundVehQueryMaterial);
}
}
pdfVo.setZs(String.valueOf(num));
pdfVo.setBaseApplyInboundVehQueryMaterials(baseApplyInboundVehQueryMaterials);
pdfVo.setZsettleMoney(tPrice.toString());
String tPriceDX = TransformMoney.transform(tPrice.toString());
pdfVo.setTPriceDX(tPriceDX);
//获取车辆入库单查询
ScmApplyInboundQueryDetailsVo scmApplyInboundQuery = scmApplyInboundQueryFeign.fetchDetailsBySid(cgrkdSid).getData();
if (null != scmApplyInboundQuery) {
pdfVo.setPriceDate(scmApplyInboundQuery.getOrgPriceDate());
pdfVo.setManPurOrderType(scmApplyInboundQuery.getManPurOrderTypeValue());
pdfVo.setOrgDeptName(scmApplyInboundQuery.getOrgDeptName());
pdfVo.setManName(scmApplyInboundQuery.getManName());
}
String filePath = "/template/";
if (printerType.equals("针孔式打印机")) {
String cgtkzsdy = cgtkzsdy(pdfVo);
pdfPath = filePath + cgtkzsdy;
} else if (printerType.equals("激光打印机")) {
String cgtkjgdy = cgtkjgdy(pdfVo);
pdfPath = filePath + cgtkjgdy;
}
return rb.success().setData(pdfPath);
}
public String cgtkjgdy(WithdrawalPdfVo pdfVo) {
Map<String, Object> dataMap = new HashMap<String, Object>();
// dataMap.put("priceDate", pdfVo.getPriceDate());
dataMap.put("exitDate", pdfVo.getExitDate());
dataMap.put("manPurOrderType", pdfVo.getManPurOrderType());
dataMap.put("billNo", pdfVo.getBillNo());
dataMap.put("orgDeptName", pdfVo.getOrgDeptName());
dataMap.put("manName", pdfVo.getManName());
dataMap.put("wlList", pdfVo.getBaseApplyInboundVehQueryMaterials());
dataMap.put("zs", pdfVo.getZs());
dataMap.put("zsettleMoney", pdfVo.getZsettleMoney());
dataMap.put("tPriceDX", pdfVo.getTPriceDX());
dataMap.put("makeName", pdfVo.getMakeName());
dataMap.put("confirmName", "");
//获取模板
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/tkjg.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 + "tkjg" + seconds + ".ftl");
File dir = new File(targetPath);
WordConvertUtils.inputStreamToFile(inputStream, file);
WordConvertUtils.creatWord1(dataMap, file, targetPath, typeName, dir);
//新生成的word路径
String wordPath = targetPath + typeName;
//生成出门证文件名
String pdfName = "退料单" + dateStr + seconds + ".pdf";
WordConvertUtils.doc2pdf(wordPath, targetPath, pdfName);
String path = pdfName;
return path;
}
public String cgtkzsdy(WithdrawalPdfVo pdfVo) {
Map<String, Object> dataMap = new HashMap<String, Object>();
// dataMap.put("priceDate", pdfVo.getPriceDate());
dataMap.put("exitDate", pdfVo.getExitDate());
dataMap.put("manPurOrderType", pdfVo.getManPurOrderType());
dataMap.put("billNo", pdfVo.getBillNo());
dataMap.put("orgDeptName", pdfVo.getOrgDeptName());
dataMap.put("manName", pdfVo.getManName());
dataMap.put("wlList", pdfVo.getBaseApplyInboundVehQueryMaterials());
dataMap.put("zs", pdfVo.getZs());
dataMap.put("zsettleMoney", pdfVo.getZsettleMoney());
dataMap.put("tPriceDX", pdfVo.getTPriceDX());
dataMap.put("makeName", pdfVo.getMakeName());
dataMap.put("confirmName", "");
//获取模板
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/tkzk.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 + "tkzs" + seconds + ".ftl");
File dir = new File(targetPath);
WordConvertUtils.inputStreamToFile(inputStream, file);
WordConvertUtils.creatWord1(dataMap, file, targetPath, typeName, dir);
//新生成的word路径
String wordPath = targetPath + typeName;
//生成出门证文件名
String pdfName = "退料单" + dateStr + seconds + ".pdf";
WordConvertUtils.doc2pdf(wordPath, targetPath, pdfName);
String path = pdfName;
return path;
}
}

5
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationRest.java

@ -82,6 +82,11 @@ public class BaseOutsourcingApplicationRest implements BaseOutsourcingApplicatio
return baseOutsourcingApplicationService.saveOrUpdateDto(dto);
}
@Override
public ResultBean receiveSave(ReceiveSaveDto dto) {
return baseOutsourcingApplicationService.receiveSave(dto);
}
@Override
@ApiOperation("根据sid批量删除")
@PostMapping("/delBySids")

82
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java

@ -158,9 +158,9 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
if (StringUtils.isNotBlank(query.getModelName())) {
qw.like("modelName", query.getModelName());
}
if(StringUtils.isNotBlank(query.getOrgPath())){
if (StringUtils.isNotBlank(query.getOrgPath())) {
String orgPath = sysStaffOrgFeign.getOrgSidByPath(query.getOrgPath()).getData();
qw.eq("useOrgSid",orgPath);
qw.eq("useOrgSid", orgPath);
}
qw.eq("createBySid", query.getUserSid());
return qw;
@ -178,9 +178,9 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
public ResultBean saveOrUpdateDto(BaseOutsourcingApplicationDto dto) {
ResultBean rb = ResultBean.fireFail();
String orgPath = "";
if (StringUtils.isNotBlank(dto.getOrgPath())){
if (StringUtils.isNotBlank(dto.getOrgPath())) {
orgPath = dto.getOrgPath();
}else {
} else {
//取组织架构的全路径sid
SysStaffOrg sysStaffOrg = sysStaffOrgFeign.getOrgByStaffSid(dto.getStaffSid()).getData();
orgPath = sysStaffOrg.getOrgSidPath();
@ -200,7 +200,7 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
BaseOutsourcingApplication entity = new BaseOutsourcingApplication();
String billNo = getApplyCode(orgPath);
dto.setApplicationCode(billNo);
BeanUtil.copyProperties(dto, entity,"sid");
BeanUtil.copyProperties(dto, entity, "sid");
entity.setApplicationCode(billNo);
entity.setApplicationDate(DateUtil.formatDate(new Date()));
String staffSid = dto.getStaffSid();
@ -402,12 +402,17 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
//判断是否有指定审批人
String isSaleOrgApproval = dto.getIsSaleOrgApproval();
Boolean isAdj = false;
if ("1".equals(isSaleOrgApproval)){
if ("1".equals(isSaleOrgApproval)) {
bv.setNextNodeUserSids(dto.getApprovalSid());
isAdj = true;
variables.put("isAdj",isAdj);
variables.put("isAdj", isAdj);
} else {
variables.put("isAdj", isAdj);
}
if (StringUtils.isNotBlank(baseOutsourcingApplication.getSaleOrderSid())){
variables.put("isSend", true);
}else {
variables.put("isAdj",isAdj);
variables.put("isSend", false);
}
//=================添加app参数结束
bv.setFormVariables(variables);
@ -458,12 +463,17 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
//判断是否有指定审批人
String isSaleOrgApproval = dto.getIsSaleOrgApproval();
Boolean isAdj = false;
if ("1".equals(isSaleOrgApproval)){
if ("1".equals(isSaleOrgApproval)) {
bv.setNextNodeUserSids(dto.getApprovalSid());
isAdj = true;
variables.put("isAdj",isAdj);
variables.put("isAdj", isAdj);
} else {
variables.put("isAdj", isAdj);
}
if (StringUtils.isNotBlank(booad.getSaleOrderSid())){
variables.put("isSend", true);
}else {
variables.put("isAdj",isAdj);
variables.put("isSend", false);
}
//=================添加app参数结束
bv.setFormVariables(variables);
@ -549,11 +559,16 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
//=================添加app相关参数
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", bv.getBusinessSid());
if("1".equals(booad.getIsSaleOrgApproval())){
if ("1".equals(booad.getIsSaleOrgApproval())) {
isAdj = true;
appMap.put("isAdj",isAdj);
appMap.put("isAdj", isAdj);
} else {
bv.getFormVariables().put("isAdj", isAdj);
}
if (StringUtils.isNotBlank(booad.getSaleOrderSid())){
appMap.put("isSend", true);
}else {
bv.getFormVariables().put("isAdj",isAdj);
appMap.put("isSend", false);
}
bv.getFormVariables().put("app", appMap);
//================添加app相关参数
@ -893,11 +908,16 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
bv.setModelId(ProcDefEnum.BASEOUTSOURCINGAPPLICATION.getProDefId());
bv.setTaskDefKey(dto.getTaskDefKey());
Map<String, Object> map = BeanUtil.beanToMap(dto);
if("1".equals(booad.getIsSaleOrgApproval())){
if ("1".equals(booad.getIsSaleOrgApproval())) {
isAdj = true;
map.put("isAdj",isAdj);
map.put("isAdj", isAdj);
} else {
map.put("isAdj", isAdj);
}
if (StringUtils.isNotBlank(booad.getSaleOrderSid())){
map.put("isSend", true);
}else {
map.put("isAdj",isAdj);
map.put("isSend", false);
}
bv.setFormVariables(map);
ResultBean<List<Map<String, Object>>> processCirculationNodesByMap = flowTaskFeign.getNextNodesForSubmit(bv);
@ -947,4 +967,32 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
public BaseOutsourcingApplication selectByNo(String warrantyCardNo) {
return baseMapper.selectByNo(warrantyCardNo);
}
public ResultBean receiveSave(ReceiveSaveDto dto) {
ResultBean rb = ResultBean.fireFail();
BaseOutsourcingApplication entity = new BaseOutsourcingApplication();
String billNo = getApplyCode(dto.getOrgPath());
dto.setApplicationCode(billNo);
BeanUtil.copyProperties(dto, entity, "sid");
entity.setApplicationCode(billNo);
entity.setApplicationDate(DateUtil.formatDate(new Date()));
entity.setUseOrgSid(dto.getUseOrgSid());
entity.setUseOrgName(dto.getUseOrgName());
entity.setCreateBySid(dto.getCreateBySid());
entity.setNodeState("待提交");
String carBrandSid = dto.getCarBrandSid();
String brandCode = baseVehicleBrandService.fetchBySid(carBrandSid).getBrandCode();
entity.setCarBrandCode(brandCode);
String purchaseSystemSid = dto.getPurchaseSystemSid();
String purchaseSystemCode = sysOrganizationFeign.fetchBySid(purchaseSystemSid).getData().getOrgCode();
entity.setPurchaseSystemCode(purchaseSystemCode);
entity.setManPurOrderTypeKey("002");
String useOrgSid = dto.getUseOrgSid();
String orgCode = sysOrganizationFeign.fetchBySid(useOrgSid).getData().getOrgCode();
entity.setOrgCode(orgCode);
entity.setOrgSidPath(dto.getOrgPath());
entity.setSaleOrderSid(dto.getSaleOrderSid());
save(entity);
return rb.success().setMsg("添加成功").setData(entity.getSid());
}
}

82
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesService.java

@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.yxt.anrui.base.api.basemanufacturer.BaseManufacturer;
import com.yxt.anrui.base.api.basevehicle.BaseVehicle;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleUpdateQuery;
@ -22,6 +23,7 @@ import com.yxt.anrui.base.api.basevehicleactualsales.flow.ActualGetNodeQuery;
import com.yxt.anrui.base.api.basevehicleactualsales.flow.ActualGetNodeVo;
import com.yxt.anrui.base.api.basevehicleactualsales.flow.BaseActualSalesTaskQuery;
import com.yxt.anrui.base.api.basevehicleactualsales.flow.SubmitActualSalesDto;
import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApply;
import com.yxt.anrui.base.biz.basemanufacturer.BaseManufacturerService;
import com.yxt.anrui.base.biz.basevehicle.BaseVehicleService;
import com.yxt.anrui.base.biz.basevehicleactualdetails.BaseVehicleActualDetailsService;
@ -59,6 +61,7 @@ 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.apache.tomcat.util.threads.ThreadPoolExecutor;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -66,6 +69,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.*;
import java.util.concurrent.*;
import java.util.stream.Collectors;
/**
@ -473,7 +477,7 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
bv.setFormVariables(variables);
bv.setModelId(ProcDefEnum.BASEVEHICLEACTUALSALES.getProDefId());
if (r == 1) {
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv);
ResultBean<UpdateFlowFieldVo> voResultBean = flowFeign.startProcess(bv);
if (!voResultBean.getSuccess()) {
return rb.setMsg(voResultBean.getMsg());
}
@ -489,18 +493,32 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
baseVehicle.setSettlementStatusValue(VehicleState.BuyoutEnum.PRE_BUYOUT.getRemarks());
baseVehicleService.updateVeh(baseVehicle);
}
//极光推送
baseVehicleActualSales = 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(baseVehicleActualSales.getApplicationName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("未售买断");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
//==================================添加线程
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
BaseVehicleActualSales finalBaseVehicleActualSales = baseVehicleActualSales;
Future future1 = pool.submit(() -> {
//极光推送
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(finalBaseVehicleActualSales.getApplicationName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("未售买断");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
});
} catch (Exception e) {
e.printStackTrace();
}
//==================================添加线程
return voResultBean;
}
if (r == 2) {
@ -569,27 +587,39 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
variables.put("app", appMap);
bv.setFormVariables(variables);
bv.setOrgSidPath(baseVehicleActualSales.getOrgSidPath());
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv);
ResultBean<UpdateFlowFieldVo> resultBean = flowFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if (!"Event_end".equals(ufVo.getTaskDefKey())) {
//极光推送
baseVehicleActualSales = fetchBySid(bv.getBusinessSid());
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
messageFlowVo.setProcDefId(baseVehicleActualSales.getProcDefId());
messageFlowVo.setProcInsId(baseVehicleActualSales.getProcInstId());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(bv.getBusinessSid());
messageFlowableQuery.setModuleName("未售买断申请");
messageFlowableQuery.setMsgContent(baseVehicleActualSales.getApplicationName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("未售买断");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
BaseVehicleActualSales finalBaseVehicleActualSales = baseVehicleActualSales;
Future future1 = pool.submit(() -> {
//极光推送
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
messageFlowVo.setProcDefId(finalBaseVehicleActualSales.getProcDefId());
messageFlowVo.setProcInsId(finalBaseVehicleActualSales.getProcInstId());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(bv.getBusinessSid());
messageFlowableQuery.setModuleName("未售买断申请");
messageFlowableQuery.setMsgContent(finalBaseVehicleActualSales.getApplicationName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("未售买断");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
});
} catch (Exception e) {
e.printStackTrace();
}
} else {
if ("1".equals(baseVehicleActualSales.getIsPay())) {
List<BaseVehicleActualPayVo> voPayList = baseVehicleActualPayService.detailsList(baseVehicleActualSales.getSid());

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.xml

@ -224,9 +224,11 @@
bm.modelName,
bmc.otherConfig,
bm.carBrand as brandSid,
bm.brandName,
bmc.configName,
bvc.manufactorSettlementPrice,
bvc.modifyTime
bvc.modifyTime,
bvc.insideCode
from base_vehmodel_config bvc
left join base_vehicle_model bm on bvc.modelSid = bm.sid
left join base_model_config bmc on bvc.configurationItemsSid = bmc.sid

5
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyRest.java

@ -118,6 +118,11 @@ public class BusVehicleApplyRest implements BusVehicleApplyFeign {
return busVehicleApplyService.abandonApply(sids);
}
@Override
public ResultBean pushApply(BusApplyPushDto dto) {
return busVehicleApplyService.pushApply(dto);
}
/* @Override
public ResultBean shareBusVehicleApply(ShareBusVehicleApplyQuery shareQuery) {
return busVehicleApplyService.shareBusVehicleApply(shareQuery);

27
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java

@ -18,6 +18,7 @@ import com.yxt.anrui.base.api.busvehicleapply.flow.BusVehicleApplyTaskQuery;
import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeQuery;
import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeVo;
import com.yxt.anrui.base.api.busvehicleapply.flow.SubmitBusVehicleApplyDto;
import com.yxt.anrui.base.api.busvehicleapplydetail.BusApplyDetailsPushDto;
import com.yxt.anrui.base.api.busvehicleapplydetail.BusVehicleApplyDetail;
import com.yxt.anrui.base.api.busvehicleapplydetail.BusVehicleApplyDetailDto;
import com.yxt.anrui.base.api.busvehicleapplydetail.BusVehicleApplyDetailVo;
@ -1039,6 +1040,32 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
return baseMapper.getActualAndOrgDept(vehicleOrderSid, modelSid, configSid);
}
public ResultBean pushApply(BusApplyPushDto dto) {
ResultBean rb = ResultBean.fireFail();
BusVehicleApply busVehicleApply = new BusVehicleApply();
String billNo = getApplyCode(dto.getOrgSidPath());
busVehicleApply.setApplicationCode(billNo);
String manufacturerSid = baseVehicleBrandService.selectByManufacturerSid(dto.getCarBrandSid());
busVehicleApply.setManufacturerSid(manufacturerSid);
busVehicleApply.setSupplierSid(manufacturerSid);
List<BusApplyDetailsPushDto> busVehicleApplyDetailList = dto.getBusVehicleApplyDetailList();
for (BusApplyDetailsPushDto busVehicleApplyDetailDto : busVehicleApplyDetailList) {
BusVehicleApplyDetail busVehicleApplyDetail = new BusVehicleApplyDetail();
BeanUtil.copyProperties(busVehicleApplyDetailDto, busVehicleApplyDetail, "sid");
busVehicleApplyDetail.setApplySid(busVehicleApply.getSid());
busVehicleApplyDetailService.insert(busVehicleApplyDetail);
if (busVehicleApplyDetailDto.getBusVehicleApplySzPushDto() != null) {
BusVehicleApplySz busVehicleApplySz = new BusVehicleApplySz();
BeanUtil.copyProperties(busVehicleApplyDetailDto.getBusVehicleApplySzPushDto(), busVehicleApplySz);
busVehicleApplySz.setDetailsSid(busVehicleApplyDetail.getSid());
busVehicleApplySz.setApplySid(busVehicleApply.getSid());
busVehicleApplySzService.insert(busVehicleApplySz);
}
}
baseMapper.insert(busVehicleApply);
return rb.success();
}
/* public ResultBean shareBusVehicleApply(ShareBusVehicleApplyQuery shareQuery) {
ResultBean rb = ResultBean.fireSuccess();
log.info("分享功能,厂家采购参数:{}", JSONObject.toJSONString(shareQuery));

3113
anrui-base/anrui-base-biz/src/main/resources/ftl/cgtkjgdy.ftl

File diff suppressed because it is too large

3110
anrui-base/anrui-base-biz/src/main/resources/ftl/cgtkzsdy.ftl

File diff suppressed because it is too large

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

@ -1433,6 +1433,49 @@
<w:t>九、本合同双方签字或盖章之时生效。</w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:spacing w:line="360" w:line-rule="exact"/>
<w:ind w:first-line-chars="200" w:first-line="400"/>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体"/>
<wx:font wx:val="宋体"/>
<w:sz w:val="20"/>
<w:sz-cs w:val="20"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:sz w:val="20"/>
<w:sz-cs w:val="20"/>
</w:rPr>
<w:t>乙方确认开票信息为</w:t>
</w:r>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:sz w:val="20"/>
<w:sz-cs w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:t> </w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:sz w:val="20"/>
<w:sz-cs w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:t> </w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:spacing w:line="440" w:line-rule="exact"/>

43
anrui-base/anrui-base-biz/src/main/resources/ftl/existingvehicles2.ftl

@ -1433,6 +1433,49 @@
<w:t>九、本合同双方签字或盖章之时生效。</w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:spacing w:line="360" w:line-rule="exact"/>
<w:ind w:first-line-chars="200" w:first-line="400"/>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体"/>
<wx:font wx:val="宋体"/>
<w:sz w:val="20"/>
<w:sz-cs w:val="20"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:sz w:val="20"/>
<w:sz-cs w:val="20"/>
</w:rPr>
<w:t>乙方确认开票信息为</w:t>
</w:r>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:sz w:val="20"/>
<w:sz-cs w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:t> </w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:sz w:val="20"/>
<w:sz-cs w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:t> </w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:spacing w:line="440" w:line-rule="exact"/>

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

@ -1433,6 +1433,49 @@
<w:t>九、本合同双方签字或盖章之时生效。</w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:spacing w:line="360" w:line-rule="exact"/>
<w:ind w:first-line-chars="200" w:first-line="400"/>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体"/>
<wx:font wx:val="宋体"/>
<w:sz w:val="20"/>
<w:sz-cs w:val="20"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:sz w:val="20"/>
<w:sz-cs w:val="20"/>
</w:rPr>
<w:t>乙方确认开票信息为</w:t>
</w:r>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:sz w:val="20"/>
<w:sz-cs w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:t> </w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:sz w:val="20"/>
<w:sz-cs w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:t> </w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:spacing w:line="440" w:line-rule="exact"/>

43
anrui-base/anrui-base-biz/src/main/resources/ftl/existingvehicles_black2.ftl

@ -1433,6 +1433,49 @@
<w:t>九、本合同双方签字或盖章之时生效。</w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:spacing w:line="360" w:line-rule="exact"/>
<w:ind w:first-line-chars="200" w:first-line="400"/>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体"/>
<wx:font wx:val="宋体"/>
<w:sz w:val="20"/>
<w:sz-cs w:val="20"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:sz w:val="20"/>
<w:sz-cs w:val="20"/>
</w:rPr>
<w:t>乙方确认开票信息为</w:t>
</w:r>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:sz w:val="20"/>
<w:sz-cs w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:t> </w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:sz w:val="20"/>
<w:sz-cs w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:t> </w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:spacing w:line="440" w:line-rule="exact"/>

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

@ -1578,6 +1578,49 @@
<w:t>九、本合同双方签字或盖章之时生效。</w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:spacing w:line="360" w:line-rule="exact"/>
<w:ind w:first-line-chars="200" w:first-line="400"/>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体"/>
<wx:font wx:val="宋体"/>
<w:sz w:val="20"/>
<w:sz-cs w:val="20"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:sz w:val="20"/>
<w:sz-cs w:val="20"/>
</w:rPr>
<w:t>乙方确认开票信息为</w:t>
</w:r>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:sz w:val="20"/>
<w:sz-cs w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:t> </w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:sz w:val="20"/>
<w:sz-cs w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:t> </w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:spacing w:line="320" w:line-rule="exact"/>

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

@ -1578,6 +1578,49 @@
<w:t>九、本合同双方签字或盖章之时生效。</w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:spacing w:line="360" w:line-rule="exact"/>
<w:ind w:first-line-chars="200" w:first-line="400"/>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体"/>
<wx:font wx:val="宋体"/>
<w:sz w:val="20"/>
<w:sz-cs w:val="20"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:sz w:val="20"/>
<w:sz-cs w:val="20"/>
</w:rPr>
<w:t>乙方确认开票信息为</w:t>
</w:r>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:sz w:val="20"/>
<w:sz-cs w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:t> </w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:sz w:val="20"/>
<w:sz-cs w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:t> </w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:spacing w:line="320" w:line-rule="exact"/>

2902
anrui-base/anrui-base-biz/src/main/resources/ftl/tkjg.ftl

File diff suppressed because it is too large

2900
anrui-base/anrui-base-biz/src/main/resources/ftl/tkzk.ftl

File diff suppressed because it is too large

5
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeign.java

@ -335,4 +335,9 @@ public interface BusSalesOrderFeign {
@PostMapping("/saveContract")
@ResponseBody
ResultBean saveContract(@RequestParam("sid") String sid);
@ApiOperation("根据销售订单查询销售订单相关表")
@GetMapping("/getSalesOrderOne")
@ResponseBody
ResultBean<BusSalesOrdersVo> getSalesOrderOne(@RequestParam("sid")String sid);
}

5
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeignFallback.java

@ -310,4 +310,9 @@ public class BusSalesOrderFeignFallback implements BusSalesOrderFeign {
public ResultBean saveContract(String sid) {
return null;
}
@Override
public ResultBean<BusSalesOrdersVo> getSalesOrderOne(String sid) {
return null;
}
}

25
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrdersVo.java

@ -0,0 +1,25 @@
package com.yxt.anrui.buscenter.api.bussalesorder;
import com.yxt.anrui.buscenter.api.bussalesordermakeup.BusSalesOrderMakeup;
import com.yxt.anrui.buscenter.api.bussalesordermodel.BusSalesOrderModel;
import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2023/8/3
**/
@Data
public class BusSalesOrdersVo implements Vo {
private static final long serialVersionUID = 4731412472734010267L;
private BusSalesOrder busSalesOrder;
private BusSalesOrderModel busSalesOrderModel;
private BusSalesOrderPrice busSalesOrderPrice;
private BusSalesOrderMakeup busSalesOrderMakeup;
}

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

@ -111,4 +111,6 @@ public class BusSalesOrderMakeup extends BaseEntity {
@ApiModelProperty("0主车带,1不是主车带")
private int isMain;
private String topSid;
}

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

@ -74,4 +74,6 @@ public class AppBusSalesOrderMakeUpDto implements Dto {
private String buyTypeKey;
private String buyTypeValue;
private String topSid;
}

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

@ -77,4 +77,6 @@ public class AppBusSalesOrderMakeUpVo implements Vo {
private String buyTypeKey;
private String buyTypeValue;
private String topSid;
}

2
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivered/BusDeliveredMapper.xml

@ -280,7 +280,7 @@
</select>
<select id="selectListsVoNew" resultType="com.yxt.anrui.buscenter.api.busdelivered.BusDeliveredVo">
select a.* from(select
select a.* from(select DISTINCT
bo.contractNo,
bo.customerName as name,
bo.payType paymentMethod,

2
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivered/BusDeliveredService.java

@ -170,7 +170,7 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
}
//客户名称
if (StringUtils.isNotBlank(query.getName())) {
qw.like("bo.name", query.getName());
qw.like("bo.customerName", query.getName());
}
//车架号
if (StringUtils.isNotBlank(query.getVinNo())) {

5
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderRest.java

@ -391,4 +391,9 @@ public class BusSalesOrderRest implements BusSalesOrderFeign {
public ResultBean saveContract(String sid) {
return busSalesOrderService.saveContractOne(sid);
}
@Override
public ResultBean<BusSalesOrdersVo> getSalesOrderOne(String sid) {
return busSalesOrderService.getSalesOrderOne(sid);
}
}

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

@ -468,25 +468,32 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
if (busSalesOrderModelDetailsVo != null) {
//查询现车车辆
if (BusSalesOrderConstantUtils.TypeEnum.EXISTING_CAR.getCode().equals(entity.getType())) {
List<VinListsVo> vinLists = busSalesOrderVehicleService.selectLists(sid);
//包含采购系统的车架号
List<String> vinList = vinLists.stream().map(v -> v.getVinNo()).collect(Collectors.toList());
if (!vinList.isEmpty()) {
for (int i = 0; i < vinLists.size(); i++) {
VinListsVo vinListsVo = vinLists.get(i);
BigDecimal initBigDecimalTwo = BigDecimal.ZERO;
//根据sid去查询销售政策的sid,根据销售政策查询销售政策的金额
ResultBean<List<String>> listResultBean = baseDiscountpackageFeign.getMoney(vinListsVo.getVinSid(), entity.getUseOrgSid());
if (listResultBean.getSuccess() && !listResultBean.getData().isEmpty()) {
List<String> stringList = listResultBean.getData();
initBigDecimalTwo = initBigDecimalTwo.add(stringList.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add));
}
if (initBigDecimalTwo.compareTo(BigDecimal.ZERO) != 0) {
vinList.set(i, vinList.get(i) + ",促销(" + initBigDecimalTwo.toString() + "元)");
if(StringUtils.isNotBlank(entity.getNowCarUnknownVinNum())){
List<String> vinList = new ArrayList<>();
vinList.add("不确定车架号("+entity.getNowCarUnknownVinNum()+")");
busSalesOrderModelDetailsVo.setVinNo(vinList);
}else{
List<VinListsVo> vinLists = busSalesOrderVehicleService.selectLists(sid);
//包含采购系统的车架号
List<String> vinList = vinLists.stream().map(v -> v.getVinNo()).collect(Collectors.toList());
if (!vinList.isEmpty()) {
for (int i = 0; i < vinLists.size(); i++) {
VinListsVo vinListsVo = vinLists.get(i);
BigDecimal initBigDecimalTwo = BigDecimal.ZERO;
//根据sid去查询销售政策的sid,根据销售政策查询销售政策的金额
ResultBean<List<String>> listResultBean = baseDiscountpackageFeign.getMoney(vinListsVo.getVinSid(), entity.getUseOrgSid());
if (listResultBean.getSuccess() && !listResultBean.getData().isEmpty()) {
List<String> stringList = listResultBean.getData();
initBigDecimalTwo = initBigDecimalTwo.add(stringList.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add));
}
if (initBigDecimalTwo.compareTo(BigDecimal.ZERO) != 0) {
vinList.set(i, vinList.get(i) + ",促销(" + initBigDecimalTwo.toString() + "元)");
}
}
}
busSalesOrderModelDetailsVo.setVinNo(vinList);
}
busSalesOrderModelDetailsVo.setVinNo(vinList);
} else if (BusSalesOrderConstantUtils.TypeEnum.PURCHASE_ORDER.getCode().equals(entity.getType())) {
List<BusSalesVehicleOrder> stringLists = busSalesVehicleOrderService.selectLists(sid);
//包含采购系统的采购订单编号
@ -1868,8 +1875,8 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
if (StringUtils.isNotBlank(vo.getVehicleFunctionKey())) {
if (BusSalesOrderConstantUtils.VehicleFunctions.TRUCK.getCode().equals(vo.getVehicleFunctionKey()) ||
BusSalesOrderConstantUtils.VehicleFunctions.DUMP.getCode().equals(vo.getVehicleFunctionKey()) ||
BusSalesOrderConstantUtils.VehicleFunctions.MIXER.getCode().equals(vo.getVehicleFunctionKey()) ||
BusSalesOrderConstantUtils.VehicleFunctions.SPECIAL.getCode().equals(vo.getVehicleFunctionKey())) {
BusSalesOrderConstantUtils.VehicleFunctions.MIXER.getCode().equals(vo.getVehicleFunctionKey())/* ||
BusSalesOrderConstantUtils.VehicleFunctions.SPECIAL.getCode().equals(vo.getVehicleFunctionKey())*/) {
vo.setTopState(true);
} else {
vo.setTopState(false);
@ -3076,8 +3083,8 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
//(是否开启上装需要根据车辆功能载货、自卸、搅拌车、专用车的开启,且为必填)
if (BusSalesOrderConstantUtils.VehicleFunctions.DUMP.getCode().equals(vehicleKey) ||
BusSalesOrderConstantUtils.VehicleFunctions.TRUCK.getCode().equals(vehicleKey) ||
BusSalesOrderConstantUtils.VehicleFunctions.MIXER.getCode().equals(vehicleKey) ||
BusSalesOrderConstantUtils.VehicleFunctions.SPECIAL.getCode().equals(vehicleKey)) {
BusSalesOrderConstantUtils.VehicleFunctions.MIXER.getCode().equals(vehicleKey) /*||
BusSalesOrderConstantUtils.VehicleFunctions.SPECIAL.getCode().equals(vehicleKey)*/) {
if (busSalesOrder.getIsTop() == null) {
isMakeUp = false;
} else {
@ -3409,28 +3416,34 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
//若前端传值的订单类型为0则为现车,为1采购订单,为2排产
//数据库中1为现车,2为采购订单,3为排产
if ("0".equals(modelInfo.getType())) {
//查询车架号
List<VinListsVo> vinLists = busSalesOrderVehicleService.selectLists(sid);
//包含采购系统的车架号
List<String> vinList = vinLists.stream().map(v -> v.getVinNo()).collect(Collectors.toList());
List<String> orderVinList = busSalesOrderVehicleService.selectList(sid);
if (!vinList.isEmpty()) {
for (int i = 0; i < vinLists.size(); i++) {
VinListsVo vinListsVo = vinLists.get(i);
BigDecimal initBigDecimalTwo = BigDecimal.ZERO;
//根据sid去查询销售政策的sid,根据销售政策查询销售政策的金额
ResultBean<List<String>> listResultBean = baseDiscountpackageFeign.getMoney(vinListsVo.getVinSid(), busSalesOrder.getUseOrgSid());
if (listResultBean.getSuccess() && !listResultBean.getData().isEmpty()) {
List<String> stringList = listResultBean.getData();
initBigDecimalTwo = initBigDecimalTwo.add(stringList.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add));
}
if (initBigDecimalTwo.compareTo(BigDecimal.ZERO) != 0) {
vinList.set(i, vinList.get(i) + ",促销(" + initBigDecimalTwo.toString() + "元)");
if(StringUtils.isNotBlank(busSalesOrder.getNowCarUnknownVinNum())){
List<String> vinList = new ArrayList<>();
vinList.add("不确定车架号("+busSalesOrder.getNowCarUnknownVinNum()+")");
modelInfo.setVinList(vinList);
}else{
//查询车架号
List<VinListsVo> vinLists = busSalesOrderVehicleService.selectLists(sid);
//包含采购系统的车架号
List<String> vinList = vinLists.stream().map(v -> v.getVinNo()).collect(Collectors.toList());
List<String> orderVinList = busSalesOrderVehicleService.selectList(sid);
if (!vinList.isEmpty()) {
for (int i = 0; i < vinLists.size(); i++) {
VinListsVo vinListsVo = vinLists.get(i);
BigDecimal initBigDecimalTwo = BigDecimal.ZERO;
//根据sid去查询销售政策的sid,根据销售政策查询销售政策的金额
ResultBean<List<String>> listResultBean = baseDiscountpackageFeign.getMoney(vinListsVo.getVinSid(), busSalesOrder.getUseOrgSid());
if (listResultBean.getSuccess() && !listResultBean.getData().isEmpty()) {
List<String> stringList = listResultBean.getData();
initBigDecimalTwo = initBigDecimalTwo.add(stringList.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add));
}
if (initBigDecimalTwo.compareTo(BigDecimal.ZERO) != 0) {
vinList.set(i, vinList.get(i) + ",促销(" + initBigDecimalTwo.toString() + "元)");
}
}
}
modelInfo.setVinList(vinList);
modelInfo.setOrderVinList(orderVinList);
}
modelInfo.setVinList(vinList);
modelInfo.setOrderVinList(orderVinList);
} else {
if ("1".equals(modelInfo.getType())) {
//查询采购订单编号
@ -5258,6 +5271,8 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
scmPurchaseChannelPush.setSaleOrderApproDate(DateUtil.format(new Date(), "yyyy-MM-dd"));
BusSalesOrderPrice busSalesOrderPrice = busSalesOrderPriceService.selectBySalesOrderSid(busSalesOrder.getSid());
scmPurchaseChannelPush.setNum(busSalesOrderPrice.getQuantity().toString());
scmPurchaseChannelPush.setBusinessType(busSalesOrder.getPayType());
scmPurchaseChannelPush.setBusinessTypeKey(busSalesOrder.getPayTypeKey());
scmPurchaseChannelFeign.push(scmPurchaseChannelPush);
}
//------------设置办结日期----------------------------------
@ -7027,4 +7042,18 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
}
return rb.success();
}
public ResultBean<BusSalesOrdersVo> getSalesOrderOne(String sid) {
ResultBean<BusSalesOrdersVo> rb = ResultBean.fireFail();
BusSalesOrdersVo busSalesOrdersVo = new BusSalesOrdersVo();
BusSalesOrder busSalesOrder = fetchBySid(sid);
BusSalesOrderPrice busSalesOrderPrice = busSalesOrderPriceService.selectBySalesOrderSid(sid);
BusSalesOrderModel busSalesOrderModel = busSalesOrderModelService.selectByOrderSid(sid);
busSalesOrdersVo.setBusSalesOrder(busSalesOrder);
busSalesOrdersVo.setBusSalesOrderModel(busSalesOrderModel);
busSalesOrdersVo.setBusSalesOrderPrice(busSalesOrderPrice);
BusSalesOrderMakeup busSalesOrderMakeup = busSalesOrderMakeupService.selectBySid(sid);
busSalesOrdersVo.setBusSalesOrderMakeup(busSalesOrderMakeup);
return rb.success().setData(busSalesOrdersVo);
}
}

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

@ -88,4 +88,6 @@ public interface BusSalesOrderMakeupMapper extends BaseMapper<BusSalesOrderMakeu
BusSalesOrderMakeup detailsss(String sid);
List<BusSalesOrderMakeup> selectListByOrderSid(@Param("saleOrderSid") String saleOrderSid);
BusSalesOrderMakeup selectBySid(String sid);
}

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

@ -55,7 +55,8 @@
bm.thicknessBottom,
bm.thicknessEdge,
bm.buyTypeKey,
bm.buyTypeValue
bm.buyTypeValue,
bm.topSid
from bus_sales_order_makeup bm
left join bus_sales_order b on bm.salesOrderSid = b.sid
where salesOrderSid = #{sid}
@ -104,4 +105,8 @@
resultType="com.yxt.anrui.buscenter.api.bussalesordermakeup.BusSalesOrderMakeup">
select * from bus_sales_order_makeup where salesOrderSid = #{saleOrderSid}
</select>
<select id="selectBySid" resultType="com.yxt.anrui.buscenter.api.bussalesordermakeup.BusSalesOrderMakeup">
select * from bus_sales_order_makeup where salesOrderSid = #{sid}
</select>
</mapper>

6
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermakeup/BusSalesOrderMakeupService.java

@ -130,6 +130,8 @@ public class BusSalesOrderMakeupService extends MybatisBaseService<BusSalesOrder
if("02".equals(busSalesOrderMakeup.getBuyTypeKey())){
//如果为客户自购,将上装价格设置为0
busSalesOrderMakeup.setTopPrice(BigDecimal.ZERO);
}else{
busSalesOrderMakeup.setTopSid(dto.getTopSid());
}
if (!dto.getContractImages().isEmpty()) {
List<String> imgList = new ArrayList<>();
@ -263,4 +265,8 @@ public class BusSalesOrderMakeupService extends MybatisBaseService<BusSalesOrder
public List<BusSalesOrderMakeup> selectListByOrderSid(String saleOrderSid) {
return baseMapper.selectListByOrderSid(saleOrderSid);
}
public BusSalesOrderMakeup selectBySid(String sid) {
return baseMapper.selectBySid(sid);
}
}

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

@ -249,8 +249,8 @@ public class BusSalesOrderModelService extends MybatisBaseService<BusSalesOrderM
//(是否开启上装需要根据车辆功能载货、自卸、搅拌车、专用车的开启,且为必填)
if (BusSalesOrderConstantUtils.VehicleFunctions.DUMP.getCode().equals(vehicleKey) ||
BusSalesOrderConstantUtils.VehicleFunctions.TRUCK.getCode().equals(vehicleKey) ||
BusSalesOrderConstantUtils.VehicleFunctions.MIXER.getCode().equals(vehicleKey) ||
BusSalesOrderConstantUtils.VehicleFunctions.SPECIAL.getCode().equals(vehicleKey)) {
BusSalesOrderConstantUtils.VehicleFunctions.MIXER.getCode().equals(vehicleKey) /*||
BusSalesOrderConstantUtils.VehicleFunctions.SPECIAL.getCode().equals(vehicleKey)*/) {
if (topSidList.size() > 0) {
String topSid = topSidList.get(0);
String topSidVin = "";

7
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.xml

@ -518,7 +518,12 @@
fsrd.`subscriptionMoney` - COALESCE(SUM(ffc.`thisUseMoney`), 0)
) AS balance
FROM fin_selected_receivables_detailed fsrd
LEFT JOIN `fin_funds_carried_forward_veh` ffc
LEFT JOIN (SELECT ffc.busSid,
ffc.thisUseMoney
FROM fin_funds_carried_forward_veh ffc
JOIN `fin_funds_carried_forward_apply` fa
ON ffc.mainSid = fa.sid
WHERE fa.`nodeState` != '终止') ffc
ON ffc.`busSid` = fsrd.`sid`
WHERE fsrd.`sid` = #{busSid}
GROUP BY fsrd.sid

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/saloutstock/SalOutStockService.java

@ -107,8 +107,8 @@ public class SalOutStockService extends FinKingDeeService {
int id = (int)result.get("Id");
ResultBean<String> submit = submit(KingDeeBillId.SAL_OUTSTOCK.getID(),id+"");
if (!submit.getSuccess()) return rb.setCode(KingDeeCode.SUBMIT.getCode()).setData(submit.getData());
/*ResultBean<String> audit = audit(data,KingDeeBillId.SAL_OUTSTOCK.getID());
if (!audit.getSuccess()) return rb.setCode(KingDeeCode.AUDIT.getCode()).setData(audit.getData());*/
ResultBean<String> audit = audit(data,KingDeeBillId.SAL_OUTSTOCK.getID());
if (!audit.getSuccess()) return rb.setCode(KingDeeCode.AUDIT.getCode()).setData(audit.getData());
return stringResultBean;
} catch (Exception e) {
e.printStackTrace();

5
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow2/FlowFeign.java

@ -31,9 +31,4 @@ public interface FlowFeign {
@PostMapping(value = "/handleProsess")
@ResponseBody
ResultBean<UpdateFlowFieldVo> handleProsess(@RequestBody BusinessVariables bv);
@ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcess")
@ResponseBody
ResultBean<UpdateFlowFieldVo> revokeProcess(@RequestBody com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl);
}

2
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java

@ -32,7 +32,7 @@ public enum ProcDefEnum {
SCMVEHICLERETURN("采购退库", "process_md8aeoap:2:722508"),
SEALAPPLY("盖章申请", "process_7h0z66tp:1:240064"),
SALESORDER("销售订单审批流程", "process_p5ils2rn:10:1250008"),
BASEOUTSOURCINGAPPLICATION("外采申请", "process_5tqysnjc:5:722504"),
BASEOUTSOURCINGAPPLICATION("外采申请", "process_5tqysnjc:7:3100008"),
BASEMODELMODPRICE("车型调价申请", "process_kydcif7k:8:1865012"),
BASEINTERNALPURCHASE("调车申请", "process_i6luw5xq:3:722516"),
BASEACCADJAPPLY("调账申请", "process_r6pyzqoz:4:1362508"),

14
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowRest.java

@ -46,9 +46,6 @@ public class FlowRest implements FlowFeign {
@Autowired
private FlowService flowService;
@Autowired
private SysUserFeign sysUserFeign;
@Override
public ResultBean<UpdateFlowFieldVo> startProcess(BusinessVariables bv) {
ResultBean<UpdateFlowFieldVo> rb = ResultBean.fireFail();
@ -103,16 +100,5 @@ public class FlowRest implements FlowFeign {
return updateFlowFieldVoResultBean;
}
@Override
public ResultBean<UpdateFlowFieldVo> revokeProcess(FlowTaskVo fl) {
ResultBean<UpdateFlowFieldVo> rb = ResultBean.fireFail();
//获取表单中的参数
Map<String, Object> formVariables = fl.getValues();
formVariables = formVariables == null ? new HashMap<>() : formVariables;
formVariables.put("businessSid", fl.getBusinessSid());
ResultBean<UpdateFlowFieldVo> updateFlowFieldVoResultBean = flowService.revokeProcess(fl);
return null;
}
}

199
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowService.java

@ -96,8 +96,6 @@ public class FlowService extends MybatisBaseService<FlowMapper, Flowable> {
private MessageFeign messageFeign;
@Autowired
private SysFlowccFeign sysFlowccFeign;
@Autowired
private FlowTaskMapper flowTaskMapper;
public ResultBean<String> getNextNodeUser(BusinessVariables bv) {
ResultBean<String> rb = ResultBean.fireFail();
@ -747,202 +745,5 @@ public class FlowService extends MybatisBaseService<FlowMapper, Flowable> {
return rb.success().setMsg("抄送" + userName.toString() + "成功!");
}
public ResultBean<UpdateFlowFieldVo> revokeProcess(FlowTaskVo flowTaskVo) {
ResultBean<UpdateFlowFieldVo> rb =ResultBean.fireFail();
String userSid = flowTaskVo.getUserSid();
//获取当前环节信息
HistoricTaskInstance historicTaskInstance = historyService.createHistoricTaskInstanceQuery().taskId(flowTaskVo.getTaskId()).singleResult();
Execution execution = runtimeService.createExecutionQuery().executionId(historicTaskInstance.getExecutionId()).singleResult();
DelegateExecution delegateExecution = (DelegateExecution) execution;
if (delegateExecution == null) {
return rb.setMsg("流程已办结或终止,不能撤回");
}
// 获取当前节点的activityId,即xml中每个标签的ID
String currentActivityId = delegateExecution.getCurrentActivityId();
String taskId = getTaskId(currentActivityId, historicTaskInstance.getProcessInstanceId(), historicTaskInstance.getProcessDefinitionId());
if (StringUtils.isBlank(taskId)) {
return rb.setMsg("流程找不到上一环节,撤回操作失败!");
}
//获取上一环节操作信息
HistoricTaskInstance historicTaskInstance1 = historyService.createHistoricTaskInstanceQuery().taskId(taskId).singleResult();
//上一环节操作人
String assignee = historicTaskInstance1.getAssignee();
return null;
}
private String getTaskId(String currentActivityId, String processInstanceId, String processDefinitionId) {
BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefinitionId);
FlowNode flowNode = (FlowNode) bpmnModel.getFlowElement(currentActivityId);
List<SequenceFlow> list=flowNode.getIncomingFlows();
if(list.size()==0){
return "";
}
List<HistoricActivityInstance> list1=new ArrayList<>();
for( SequenceFlow sequenceFlow:list){
String sourceRef = sequenceFlow.getSourceRef();
list1= historyService.createHistoricActivityInstanceQuery().activityId(sourceRef)
.processInstanceId(processInstanceId).orderByHistoricActivityInstanceStartTime().desc().list();
if(list1.size()>0){
break;
}
}
// 获取上一个节点的activityId
HistoricActivityInstance historicActivityInstance = list1.get(0);
String activityType = historicActivityInstance.getActivityType();
String historicActivityInstanceActivityId = historicActivityInstance.getActivityId();
if (!"userTask".equals(activityType)) {
return getTaskId(historicActivityInstanceActivityId, processInstanceId, processDefinitionId);
}
return historicActivityInstance.getTaskId();
}
private ResultBean<List<LatestTaskVo>> revokeProcess_( String processInstanceId,
String assignee ) {
// 流程回退到上一个节点,审批人继续审批
// 获取流程定义信息
Task task = taskService.createTaskQuery().processInstanceId(processInstanceId).singleResult();
ProcessDefinition processDefinition = repositoryService
.createProcessDefinitionQuery()
.processDefinitionId(task.getProcessDefinitionId()).singleResult();
// 获取所有节点信息
Process process = repositoryService.getBpmnModel(processDefinition.getId()).getProcesses().get(0);
// 获取全部节点列表,包含子节点
Collection<FlowElement> allElements =
FlowableUtils.getAllElements(process.getFlowElements(), null);
// 获取当前任务节点元素
FlowElement source = null;
if (allElements != null) {
for (FlowElement flowElement : allElements) {
//类型为用户节点
if (flowElement.getId().equals(task.getTaskDefinitionKey())) {
//获取节点信息
source = flowElement;
}
}
}
// 目的获取所有跳转到的节点 targetIds
// 获取当前节点的所有父级用户任务节点
// 深度优先算法思想:延边迭代深入
//申请人申请后,销售经理审批同意,随后销售经理再撤回,申请人再撤回。 申请人->网关->销售经理->销售支持部经理
List<UserTask> parentUserTaskList = FlowableUtils.iteratorFindParentUserTasks(source, null, null);
if (parentUserTaskList == null || parentUserTaskList.size() == 0) {
// throw new CustomException("当前节点为");
return new ResultBean<List<LatestTaskVo>>().fail().setMsg("当前节点为").setData(new ArrayList<>());
}
// 如果流程已经结束,则得到结束节点
if (historyService.createHistoricProcessInstanceQuery().finished()
.processInstanceId(processInstanceId).count() > 0) {
return new ResultBean<List<LatestTaskVo>>().fail().setMsg("当前已经结束不能撤回").setData(new ArrayList<>());
}
// 获取活动 ID 即节点 Key
List<String> parentUserTaskKeyList = new ArrayList<>();
parentUserTaskList.forEach(item -> parentUserTaskKeyList.add(item.getId()));
// 获取全部历史节点活动实例,即已经走过的节点历史,数据采用开始时间升序
List<HistoricTaskInstance> historicTaskInstanceList = historyService.createHistoricTaskInstanceQuery()
.processInstanceId(processInstanceId)
.orderByHistoricTaskInstanceStartTime().asc().list();
HistoricTaskInstance historicTaskInstance = historicTaskInstanceList.get(historicTaskInstanceList.size() - 1);
Map<String, Object> actHiVarinstForOrgPath = flowTaskMapper.getActHiVarinstForOrgPath(historicTaskInstance.getId());
String orgPath = MapUtil.getStr(actHiVarinstForOrgPath,"TEXT_");
// 数据清洗,将回滚导致的脏数据清洗掉
List<String> lastHistoricTaskInstanceList = FlowableUtils.historicTaskInstanceClean(allElements, historicTaskInstanceList);
// 此时历史任务实例为倒序,获取最后走的节点
List<String> targetIds = new ArrayList<>();
int number = 0;
StringBuilder parentHistoricTaskKey = new StringBuilder();
for (String historicTaskInstanceKey : lastHistoricTaskInstanceList) {
// 当会签时候会出现特殊的,连续都是同一个节点历史数据的情况,这种时候跳过
if (parentHistoricTaskKey.toString().equals(historicTaskInstanceKey)) {
continue;
}
parentHistoricTaskKey = new StringBuilder(historicTaskInstanceKey);
if (historicTaskInstanceKey.equals(task.getTaskDefinitionKey())) {
number++;
}
// 在数据清洗后,历史节点就是唯一一条从起始到当前节点的历史记录,理论上每个点只会出现一次
// 在流程中如果出现循环,那么每次循环中间的点也只会出现一次,再出现就是下次循环
// number == 1,第一次遇到当前节点
// number == 2,第二次遇到,代表最后一次的循环范围
if (number == 2) {
break;
}
// 如果当前历史节点,属于父级的节点,说明最后一次经过了这个点,需要退回这个点
if (parentUserTaskKeyList.contains(historicTaskInstanceKey)) {
targetIds.add(historicTaskInstanceKey);
}
}
// 目的获取所有需要被跳转的节点 currentIds
// 取其中一个父级任务,因为后续要么存在公共网关,要么就是串行公共线路
UserTask oneUserTask = parentUserTaskList.get(0);
// 获取所有正常进行的任务节点 Key,这些任务不能直接使用,需要找出其中需要撤回的任务
List<Task> runTaskList = taskService.createTaskQuery()
.processInstanceId(processInstanceId).list();
List<String> runTaskKeyList = new ArrayList<>();
runTaskList.forEach(item -> runTaskKeyList.add(item.getTaskDefinitionKey()));
// 需驳回任务列表
List<String> currentIds = new ArrayList<>();
// 通过父级网关的出口连线,结合 runTaskList 比对,获取需要撤回的任务
List<UserTask> currentUserTaskList = FlowableUtils.iteratorFindChildUserTasks(oneUserTask, runTaskKeyList, null, null);
currentUserTaskList.forEach(item -> currentIds.add(item.getId()));
// 规定:并行网关之前节点必须需存在唯一用户任务节点,
// 如果出现多个任务节点,则并行网关节点默认为结束节点,原因为不考虑多对多情况
if (targetIds.size() > 1 && currentIds.size() > 1) {
return new ResultBean<List<LatestTaskVo>>().fail().setMsg("任务出现多对多情况,无法撤回").setData(new ArrayList<>());
}
// 循环获取那些需要被撤回的节点的ID,用来设置驳回原因
List<String> currentTaskIds = new ArrayList<>();
currentIds.forEach(currentId -> runTaskList.forEach(runTask -> {
if (currentId.equals(runTask.getTaskDefinitionKey())) {
currentTaskIds.add(runTask.getId());
}
}));
// 设置撤回意见
currentTaskIds.forEach(item -> {
taskService.addComment(item, processInstanceId,FlowComment.RECALL.getType(), "撤回办理");
// 设置实际办理人
taskService.setAssignee(item, assignee);
});
// 最近环节
List<LatestTaskVo> latestTaskList = new ArrayList<>();
try {
// 如果父级任务多于 1 个,说明当前节点不是并行节点,原因为不考虑多对多情况
if (targetIds.size() > 1) {
// 1 对 多任务跳转,currentIds 当前节点(1),targetIds 跳转到的节点(多)
runtimeService.createChangeActivityStateBuilder()
.processInstanceId(processInstanceId).
moveSingleActivityIdToActivityIds(currentIds.get(0), targetIds).changeState();
}
// 如果父级任务只有一个,因此当前任务可能为网关中的任务
if (targetIds.size() == 1) {
// 1 对 1 或 多 对 1 情况,currentIds 当前要跳转的节点列表(1或多),targetIds.get(0) 跳转到的节点(1)
runtimeService.createChangeActivityStateBuilder()
.processInstanceId(processInstanceId)
.moveActivityIdsToSingleActivityId(currentIds, targetIds.get(0)).changeState();
}
// 最近环节
parentUserTaskList.forEach(item -> {
LatestTaskVo latestTaskVo = new LatestTaskVo();
latestTaskVo.setASSIGNEE_(item.getAssignee());
latestTaskVo.setName_(item.getName());
latestTaskVo.setTask_def_key_(item.getId());
latestTaskVo.setIncomingSourceRef(item.getIncomingFlows().get(0).getSourceRef());
latestTaskVo.setOrgPath(orgPath);
Map<String, Object> task_map = flowTaskMapper.getTaskByDefKey(processInstanceId, item.getId());
if(task_map!=null){
taskService.setAssignee(task_map.get("id_").toString(), assignee);
latestTaskVo.setId_(task_map.get("id_").toString());
latestTaskList.add(latestTaskVo);
}
});
} catch (FlowableObjectNotFoundException e) {
throw new CustomException("未找到流程实例,流程可能已发生变化");
} catch (FlowableException e) {
throw new CustomException("无法取消或开始活动");
}
return new ResultBean<List<LatestTaskVo>>().success().setData(latestTaskList);
}
}

4
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/flowable/LoanCreditApplyCompleteDto.java

@ -17,8 +17,6 @@ public class LoanCreditApplyCompleteDto implements Dto {
@ApiModelProperty(value = "用户sid")
private String userSid;
@ApiModelProperty(value = "下载类型")
private String pdfType;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
@ -34,4 +32,6 @@ public class LoanCreditApplyCompleteDto implements Dto {
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
private String orgPath;
}

31
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancreditappealapply/LoanCreditAppealApplyService.java

@ -165,6 +165,13 @@ public class LoanCreditAppealApplyService extends MybatisBaseService<LoanCreditA
return p;
}
}
if (StringUtils.isNotBlank(query.getType())) {
if ("1".equals(query.getType())) {
qw.eq("lc.nodeState", "待提交");
} else {
qw.ne("lc.nodeState", "待提交");
}
}
if (StringUtils.isNotBlank(query.getUseOrgName())) {
qw.like("lc.useOrgName", query.getUseOrgName());
}
@ -202,6 +209,13 @@ public class LoanCreditAppealApplyService extends MybatisBaseService<LoanCreditA
}
IPage<LoanCreditAppealApply> page = PagerUtil.queryToPage(pq);
IPage<LoanCreditAppealApplyVo> pagging = baseMapper.selectPageVo(page, qw);
for (LoanCreditAppealApplyVo record : pagging.getRecords()) {
record.setPublishInfo(record.getApplyDeptName() + "-" + record.getCreateByName());
if ("待提交".equals(record.getNodeState())) {
record.setShowDeleteBtn(true);
record.setShowUpdateBtn(true);
}
}
PagerVo<LoanCreditAppealApplyVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
@ -352,6 +366,7 @@ public class LoanCreditAppealApplyService extends MybatisBaseService<LoanCreditA
Map<String, Object> appMap = new HashMap<>();
//需和移动端沟通业务sid保存的属性具体值:appMap中sid不是固定的。移动端提供具体字段。
appMap.put("sid", businessSid);
appMap.put("creditType", 2);
variables.put("app", appMap);
//流程定义id
bv.setModelId(ProcDefEnum.LOANCREDITAPPEALAPPLY.getProDefId());
@ -421,11 +436,12 @@ public class LoanCreditAppealApplyService extends MybatisBaseService<LoanCreditA
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
appMap.put("creditType", 2);
variables.put("app", appMap);
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery();
if (StringUtils.isBlank(loanCreditAppealApply.getProcDefId())){
if (StringUtils.isBlank(loanCreditAppealApply.getProcDefId())) {
flowProcessMapQuery.setProDefKey(bv.getModelId());
}else {
} else {
flowProcessMapQuery.setProDefKey(loanCreditAppealApply.getProcDefId());
}
flowProcessMapQuery.setVariables(variables);
@ -441,7 +457,7 @@ public class LoanCreditAppealApplyService extends MybatisBaseService<LoanCreditA
UpdateFlowFieldVo ufVo = resultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
baseMapper.updateSsjgBySid("通过",loanCreditAppealApply.getCreditApplySid());
baseMapper.updateSsjgBySid("通过", loanCreditAppealApply.getCreditApplySid());
} else {
//极光推送
loanCreditAppealApply = fetchBySid(businessSid);
@ -507,6 +523,7 @@ public class LoanCreditAppealApplyService extends MybatisBaseService<LoanCreditA
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
appMap.put("creditType", 2);
variables.put("app", appMap);
flowTaskVo.setValues(variables);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
@ -581,7 +598,7 @@ public class LoanCreditAppealApplyService extends MybatisBaseService<LoanCreditA
LoanCreditAppealApply loanCreditAppealApply = fetchBySid(query.getBusinessSid());
String businessTaskId = loanCreditAppealApply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if(query.getUserSid().equals(loanCreditAppealApply.getCreateBySid())){
if (query.getUserSid().equals(loanCreditAppealApply.getCreateBySid())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo);
@ -590,9 +607,9 @@ public class LoanCreditAppealApplyService extends MybatisBaseService<LoanCreditA
}
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
updateFlowFiled(map);
baseMapper.updateSsjgBySid("不通过",loanCreditAppealApply.getCreditApplySid());
baseMapper.updateSsjgBySid("不通过", loanCreditAppealApply.getCreditApplySid());
return rb.success().setData(resultBean.getData());
}else{
} else {
if (businessTaskId.equals(query.getTaskId())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
@ -602,7 +619,7 @@ public class LoanCreditAppealApplyService extends MybatisBaseService<LoanCreditA
}
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
updateFlowFiled(map);
baseMapper.updateSsjgBySid("不通过",loanCreditAppealApply.getCreditApplySid());
baseMapper.updateSsjgBySid("不通过", loanCreditAppealApply.getCreditApplySid());
return rb.success().setData(resultBean.getData());
}
}

6
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinboundvehquery/ScmApplyInboundVehQueryFeign.java

@ -75,4 +75,10 @@ public interface ScmApplyInboundVehQueryFeign {
@GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody
public ResultBean<ScmApplyInboundVehQueryDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
@ApiOperation("根据车架号获取一条记录")
@GetMapping("/fetchDetailsByVinNo")
@ResponseBody
public ResultBean<ScmApplyInboundVehQueryDetailsVo> fetchDetailsByVinNo(@RequestParam("vinNo") String vinNo);
}

5
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinboundvehquery/ScmApplyInboundVehQueryFeignFallback.java

@ -69,4 +69,9 @@ public class ScmApplyInboundVehQueryFeignFallback implements ScmApplyInboundVehQ
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui-scm/scmapplyinboundvehquery/fetchDetailsBySid无法访问");
}
@Override
public ResultBean<ScmApplyInboundVehQueryDetailsVo> fetchDetailsByVinNo(String vinNo) {
return null;
}
}

2
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmpurchasechannel/ScmPurchaseChannel.java

@ -79,5 +79,7 @@ public class ScmPurchaseChannel extends BaseEntity {
private String operateName;
@ApiModelProperty("操作日期")
private String choiceDate;
@ApiModelProperty("全组织路径sid")
private String orgSidPath;
}

12
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmpurchasechannel/ScmPurchaseChannelDto.java

@ -41,7 +41,12 @@ public class ScmPurchaseChannelDto implements Dto {
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("采购渠道key")
private String purchaseOrderTypeKey;
@ApiModelProperty("采购渠道value")
private String purchaseOrderTypeValue;
@ApiModelProperty("组织全路径")
private String orgSidPath;
/* @ApiModelProperty("创建人接口")
private String createByName;
@ -77,9 +82,4 @@ public class ScmPurchaseChannelDto implements Dto {
private String useOrgSid;
@ApiModelProperty("分公司名称")
private String useOrgName;*/
@ApiModelProperty("采购渠道key")
private String purchaseOrderTypeKey;
@ApiModelProperty("采购渠道value")
private String purchaseOrderTypeValue;
}

6
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmpurchasechannel/ScmPurchaseChannelFeign.java

@ -74,4 +74,10 @@ public interface ScmPurchaseChannelFeign {
@ResponseBody
public ResultBean push(@RequestBody ScmPurchaseChannelPush dto);
@ApiOperation("推送外采申请")
@PostMapping("/sendOutApply")
@ResponseBody
public ResultBean sendOutApply(@RequestBody SendOutApplyDto dto);
}

5
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmpurchasechannel/ScmPurchaseChannelFeignFallback.java

@ -66,4 +66,9 @@ public class ScmPurchaseChannelFeignFallback implements ScmPurchaseChannelFeign
public ResultBean push(ScmPurchaseChannelPush dto) {
return null;
}
@Override
public ResultBean sendOutApply(SendOutApplyDto dto) {
return null;
}
}

4
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmpurchasechannel/ScmPurchaseChannelVo.java

@ -77,4 +77,8 @@ public class ScmPurchaseChannelVo implements Vo {
private String procDefId;
@ApiModelProperty("流程实例id")
private String procInstId;
@ApiModelProperty("操作人")
private String operateName;
@ApiModelProperty("操作日期")
private String choiceDate;
}

43
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmpurchasechannel/SendOutApplyDto.java

@ -0,0 +1,43 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.scm.api.scmpurchasechannel;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class SendOutApplyDto implements Dto {
private String sid;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("组织全路径")
private String orgSidPath;
}

2
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinboundvehquery/ScmApplyInboundVehQueryMapper.java

@ -66,4 +66,6 @@ public interface ScmApplyInboundVehQueryMapper extends BaseMapper<ScmApplyInboun
@Select("select * from scm_apply_inbound_veh_query where mainSid = #{cgrkdSid}")
List<ScmApplyInboundVehQueryDetailsVo> fetchByMainSid(String cgrkdSid);
@Select("select * from scm_apply_inbound_veh_query where vinNo = #{vinNo}")
ScmApplyInboundVehQueryDetailsVo fetchDetailsByVinNo(String vinNo);
}

9
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinboundvehquery/ScmApplyInboundVehQueryRest.java

@ -97,4 +97,13 @@ public class ScmApplyInboundVehQueryRest implements ScmApplyInboundVehQueryFeign
ScmApplyInboundVehQueryDetailsVo vo = scmApplyInboundVehQueryService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
@Override
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsByVinNo")
public ResultBean<ScmApplyInboundVehQueryDetailsVo> fetchDetailsByVinNo(String vinNo) {
ResultBean rb = ResultBean.fireFail();
ScmApplyInboundVehQueryDetailsVo vo = scmApplyInboundVehQueryService.fetchDetailsByVinNo(vinNo);
return rb.success().setData(vo);
}
}

4
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinboundvehquery/ScmApplyInboundVehQueryService.java

@ -111,4 +111,8 @@ public class ScmApplyInboundVehQueryService extends MybatisBaseService<ScmApplyI
public List<ScmApplyInboundVehQueryDetailsVo> fetchByMainSid(String cgrkdSid) {
return baseMapper.fetchByMainSid(cgrkdSid);
}
public ScmApplyInboundVehQueryDetailsVo fetchDetailsByVinNo(String vinNo) {
return baseMapper.fetchDetailsByVinNo(vinNo);
}
}

2
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmpurchasechannel/ScmPurchaseChannelMapper.xml

@ -8,7 +8,7 @@
bso.procDefId,
bso.procInstId
FROM scm_purchase_channel bpc
LEFT JOIN bus_sales_order bso
LEFT JOIN anrui_buscenter.bus_sales_order bso
ON bpc.`saleOrderSid` = bso.`sid`
<where>
${ew.sqlSegment}

5
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmpurchasechannel/ScmPurchaseChannelRest.java

@ -87,4 +87,9 @@ public class ScmPurchaseChannelRest implements ScmPurchaseChannelFeign {
public ResultBean push(ScmPurchaseChannelPush dto) {
return scmPurchaseChannelService.push(dto);
}
@Override
public ResultBean sendOutApply(SendOutApplyDto dto) {
return scmPurchaseChannelService.sendOutApply(dto);
}
}

151
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmpurchasechannel/ScmPurchaseChannelService.java

@ -26,8 +26,36 @@
package com.yxt.anrui.scm.biz.scmpurchasechannel;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basemodelconfig.AppCarConfigSummaryVo;
import com.yxt.anrui.base.api.baseoutsourcingapplication.BaseOutsourcingApplicationDto;
import com.yxt.anrui.base.api.baseoutsourcingapplication.BaseOutsourcingApplicationFeign;
import com.yxt.anrui.base.api.baseoutsourcingapplication.ReceiveSaveDto;
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemDetailsVo;
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemFeign;
import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelConfigFeign;
import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelVo;
import com.yxt.anrui.base.api.busvehicleapply.BusApplyPushDto;
import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApplyFeign;
import com.yxt.anrui.base.api.busvehicleapplydetail.BusApplyDetailsPushDto;
import com.yxt.anrui.base.api.busvehicleapplydetail.BusVehicleApplyDetailDto;
import com.yxt.anrui.base.api.busvehicleapplysz.BusVehicleApplySzPushDto;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrdersVo;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesordermakeup.BusSalesOrderMakeup;
import com.yxt.anrui.buscenter.api.bussalesordermodel.BusSalesOrderModel;
import com.yxt.anrui.buscenter.api.bussalesordermodel.BusSalesOrderModelFeign;
import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
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.scm.api.scmpurchasechannel.*;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@ -35,18 +63,33 @@ import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Service
public class ScmPurchaseChannelService extends MybatisBaseService<ScmPurchaseChannelMapper, ScmPurchaseChannel> {
private QueryWrapper<ScmPurchaseChannel> createQueryWrapper(ScmPurchaseChannelQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<ScmPurchaseChannel> qw = new QueryWrapper<>();
return qw;
}
@Autowired
private BaseOutsourcingApplicationFeign baseOutsourcingApplicationFeign;
@Autowired
private BusSalesOrderFeign busSalesOrderFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private BaseVehmodelConfigFeign baseVehmodelConfigFeign;
@Autowired
private BasePurchaseSystemFeign basePurchaseSystemFeign;
@Autowired
private BusVehicleApplyFeign busVehicleApplyFeign;
public PagerVo<ScmPurchaseChannelVo> listPageVo(PagerQuery<ScmPurchaseChannelQuery> pq) {
ScmPurchaseChannelQuery query = pq.getParams();
@ -90,7 +133,6 @@ public class ScmPurchaseChannelService extends MybatisBaseService<ScmPurchaseCha
}
BeanUtil.copyProperties(dto, scmPurchaseChannel, "sid");
scmPurchaseChannel.setOperateSid(dto.getUserSid());
//ToDo:待完成
baseMapper.updateById(scmPurchaseChannel);
return rb.success();
}
@ -116,8 +158,25 @@ public class ScmPurchaseChannelService extends MybatisBaseService<ScmPurchaseCha
}
BeanUtil.copyProperties(scmPurchaseChannelDto, scmPurchaseChannel, "sid");
scmPurchaseChannel.setOperateSid(scmPurchaseChannelDto.getUserSid());
scmPurchaseChannel.setState(2);
ResultBean<SysUserVo> resultBean = sysUserFeign.fetchBySid(scmPurchaseChannel.getOperateSid());
if (resultBean.getData() != null) {
scmPurchaseChannel.setOperateName(resultBean.getData().getName());
}
scmPurchaseChannel.setOrgSidPath(scmPurchaseChannelDto.getOrgSidPath());
scmPurchaseChannel.setChoiceDate(DateUtil.today());
//ToDo:待完成
baseMapper.updateById(scmPurchaseChannel);
if ("002".equals(scmPurchaseChannelDto.getPurchaseOrderTypeKey())){
SendOutApplyDto sendOutApplyDto = new SendOutApplyDto();
sendOutApplyDto.setSid(scmPurchaseChannelDto.getSid());
sendOutApplyDto.setUserSid(scmPurchaseChannelDto.getUserSid());
sendOutApplyDto.setOrgSidPath(scmPurchaseChannelDto.getOrgSidPath());
sendOutApply(sendOutApplyDto);
} else if ("001".equals(scmPurchaseChannelDto.getPurchaseOrderTypeKey()) || "004".equals(scmPurchaseChannelDto.getPurchaseOrderTypeKey())) {
pushApply(scmPurchaseChannelDto);
}
}
return rb.success().setMsg("选择成功");
}
@ -135,4 +194,82 @@ public class ScmPurchaseChannelService extends MybatisBaseService<ScmPurchaseCha
baseMapper.insert(scmPurchaseChannel);
return rb.success();
}
public void pushApply(ScmPurchaseChannelDto dto) {
BusApplyPushDto busApplyPushDto = new BusApplyPushDto();
ScmPurchaseChannel scmPurchaseChannel = fetchBySid(dto.getSid());
ResultBean<BusSalesOrdersVo> resultBean = busSalesOrderFeign.getSalesOrderOne(scmPurchaseChannel.getSaleOrderSid());
if (resultBean.getData() != null) {
BusSalesOrdersVo busSalesOrdersVo = resultBean.getData();
BusSalesOrder busSalesOrder = busSalesOrdersVo.getBusSalesOrder();
BusSalesOrderModel busSalesOrderModel = busSalesOrdersVo.getBusSalesOrderModel();
BusSalesOrderPrice busSalesOrderPrice = busSalesOrdersVo.getBusSalesOrderPrice();
busApplyPushDto.setCreateBySid(scmPurchaseChannel.getOperateSid());
busApplyPushDto.setApplicationDate(scmPurchaseChannel.getChoiceDate());
busApplyPushDto.setCreateByName(scmPurchaseChannel.getConfigName());
busApplyPushDto.setSchedulingType("客户订单");
busApplyPushDto.setSchedulingTypeKey("04");
busApplyPushDto.setSalesSid(scmPurchaseChannel.getSaleOrderSid());
busApplyPushDto.setCreateOrgSid(scmPurchaseChannel.getUseOrgSid());
busApplyPushDto.setCreateOrgName(scmPurchaseChannel.getUseOrgName());
busApplyPushDto.setApplyType(scmPurchaseChannel.getPurchaseOrderTypeValue());
busApplyPushDto.setApplyTypeKey(scmPurchaseChannel.getPurchaseOrderTypeKey());
busApplyPushDto.setOrgDeptName(busSalesOrder.getPurchaseSystemName());
busApplyPushDto.setOrgDeptSid(busSalesOrder.getPurchaseSystemSid());
busApplyPushDto.setCarBrandSid(busSalesOrderModel.getBrandSid());
busApplyPushDto.setCarBrandName(busSalesOrderModel.getBrandName());
busApplyPushDto.setOrgSidPath(dto.getOrgSidPath());
List<BusApplyDetailsPushDto> busApplyDetailsPushDtos = new ArrayList<>();
BusApplyDetailsPushDto busApplyDetailsPushDto = new BusApplyDetailsPushDto();
busApplyDetailsPushDto.setVehicleSid(busSalesOrderModel.getModelSid());
busApplyDetailsPushDto.setVehicleName(busSalesOrderModel.getModelName());
busApplyDetailsPushDto.setQuantity(busSalesOrderPrice.getQuantity().toString());
busApplyDetailsPushDto.setConfigSid(busSalesOrderModel.getModelConfigSid());
busApplyDetailsPushDto.setConfigName(busSalesOrderModel.getConfig());
BusSalesOrderMakeup busSalesOrderMakeup = busSalesOrdersVo.getBusSalesOrderMakeup();
if(busSalesOrderMakeup != null){
BusVehicleApplySzPushDto busVehicleApplySzPushDto = new BusVehicleApplySzPushDto();
busVehicleApplySzPushDto.setSzSid(busSalesOrderMakeup.getTopSid());
busApplyDetailsPushDto.setBusVehicleApplySzPushDto(busVehicleApplySzPushDto);
}
busApplyDetailsPushDtos.add(busApplyDetailsPushDto);
busVehicleApplyFeign.pushApply(busApplyPushDto);
}
}
public ResultBean sendOutApply(SendOutApplyDto dto) {
ResultBean rb = ResultBean.fireFail();
ScmPurchaseChannel scmPurchaseChannel = fetchBySid(dto.getSid());
AppOrderDetailsVo appOrderDetailsVo = busSalesOrderFeign.getSaleOrderDetails(scmPurchaseChannel.getSaleOrderSid()).getData();
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgSidPath()).getData();
SysOrganizationVo sysOrganizationVoGs = sysOrganizationFeign.fetchBySid(useOrgSid).getData();
SysUserVo sysUserVo = sysUserFeign.fetchBySid(dto.getUserSid()).getData();
BaseVehmodelVo baseVehmodelVo = baseVehmodelConfigFeign.selectOne(scmPurchaseChannel.getModelSid(), scmPurchaseChannel.getConfigSid(), useOrgSid).getData();
ReceiveSaveDto receiveSaveDto = new ReceiveSaveDto();
receiveSaveDto.setCreateBySid(dto.getUserSid());
receiveSaveDto.setCreateByName(sysUserVo.getName());
receiveSaveDto.setUseOrgSid(useOrgSid);
receiveSaveDto.setUseOrgName(sysOrganizationVoGs.getName());
receiveSaveDto.setApplicationDate(DateUtil.formatDate(new Date()));
receiveSaveDto.setModelSid(scmPurchaseChannel.getModelSid());
receiveSaveDto.setModelName(scmPurchaseChannel.getModelName());
receiveSaveDto.setConfigSid(scmPurchaseChannel.getConfigSid());
receiveSaveDto.setConfigName(scmPurchaseChannel.getConfigName());
receiveSaveDto.setCarBrandSid(baseVehmodelVo.getBrandSid());
receiveSaveDto.setCarBrandName(baseVehmodelVo.getBrandName());
receiveSaveDto.setGuidedPrice(new BigDecimal(baseVehmodelVo.getGuidedPrice()));
receiveSaveDto.setPurchasePrice(new BigDecimal(0));
receiveSaveDto.setNum(Integer.parseInt(scmPurchaseChannel.getNum()));
receiveSaveDto.setInsideCode(baseVehmodelVo.getInsideCode());
receiveSaveDto.setPurchaseSystemSid(appOrderDetailsVo.getPurchaseSystemSid());
receiveSaveDto.setPurchaseSystemName(appOrderDetailsVo.getPurchaseSystemName());
receiveSaveDto.setOrgPath(dto.getOrgSidPath());
receiveSaveDto.setSaleOrderSid(scmPurchaseChannel.getSaleOrderSid());
receiveSaveDto.setStaffSid(sysUserVo.getStaffSid());
ResultBean resultBean = baseOutsourcingApplicationFeign.receiveSave(receiveSaveDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success();
}
}

3
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/topinfo/TopDto.java

@ -87,4 +87,7 @@ public class TopDto implements Dto {
@JsonProperty("payType")
private String buyTypeValue;
@ApiModelProperty("上装sid")
private String topSid;
}

2
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/topinfo/TopVo.java

@ -75,4 +75,6 @@ public class TopVo implements Vo {
private String buyTypeKey;
@JsonProperty("payType")
private String buyTypeValue;
private String topSid;
}

4
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/CreditReviewDetailsSsVo.java

@ -9,10 +9,14 @@ import java.util.List;
@Data
public class CreditReviewDetailsSsVo extends CreditReviewDetailsOffVo{
@ApiModelProperty("贷前信用审核sid")
private String sid2;
@ApiModelProperty("申诉原因")
private String reason;
@ApiModelProperty("申诉其他人员")
private List<ShareholderDetailsVo> guarantorList;
@ApiModelProperty("资产附件")
private List<String> uploadFiles;
private String taskId;
private String procInsId;
}

42
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/CreditReviewFeign.java

@ -1,13 +1,11 @@
package com.yxt.anrui.terminal.api.risk.creditreview;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.AdvanceInvoiceInfoQuery;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.AdvanceInvoiceInfoVo;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.AdvanceInvoicePageQuery;
import com.yxt.anrui.terminal.api.risk.policyrecordapply.AppFinPolicyApplyInitVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.anrui.terminal.api.risk.creditreview.flowable.CompleteCreditDto;
import com.yxt.anrui.terminal.api.risk.creditreview.flowable.CreditQuery;
import com.yxt.anrui.terminal.api.risk.creditreview.flowable.CreditTaskQuery;
import com.yxt.anrui.terminal.api.risk.creditreview.flowable.SubmitCreditDto;
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.cloud.openfeign.FeignClient;
@ -88,4 +86,36 @@ public interface CreditReviewFeign {
@PostMapping("/saveCreditReviewInfo3")
@ResponseBody
public ResultBean saveCreditReviewInfo3(@RequestBody CreditReviewSsDto dto);
/****************************************流程审批******************************************/
@ApiOperation("提交流程")
@PostMapping("/submitCreditInfo")
@ResponseBody
ResultBean submitCreditInfo(@RequestBody SubmitCreditDto dto);
@ApiOperation("办理")
@PutMapping("/agreeCreditInfo")
@ResponseBody
ResultBean agreeCreditInfo(@RequestBody CompleteCreditDto dto);
@ApiOperation("驳回")
@PutMapping("/rejectCreditInfo")
@ResponseBody
ResultBean rejectCreditInfo(@RequestBody CreditTaskQuery query);
@ApiOperation("撤回")
@PutMapping("/recallCreditInfo")
@ResponseBody
ResultBean recallCreditInfo(@RequestBody CreditTaskQuery query);
@ApiOperation("终止")
@PutMapping("/stopCreditInfo")
@ResponseBody
ResultBean stopCreditInfo(@RequestBody CreditTaskQuery query);
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@SpringQueryMap CreditQuery query);
}

34
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/CreditReviewFeignFallback.java

@ -1,5 +1,9 @@
package com.yxt.anrui.terminal.api.risk.creditreview;
import com.yxt.anrui.terminal.api.risk.creditreview.flowable.CompleteCreditDto;
import com.yxt.anrui.terminal.api.risk.creditreview.flowable.CreditQuery;
import com.yxt.anrui.terminal.api.risk.creditreview.flowable.CreditTaskQuery;
import com.yxt.anrui.terminal.api.risk.creditreview.flowable.SubmitCreditDto;
import com.yxt.anrui.terminal.api.risk.policyrecordapply.AppFinPolicyApplyInitVo;
import com.yxt.anrui.terminal.api.risk.policyrecordapply.flow.CompletePolicyDto;
import com.yxt.anrui.terminal.api.risk.policyrecordapply.flow.PolicyFlowableQuery;
@ -74,6 +78,36 @@ public class CreditReviewFeignFallback implements CreditReviewFeign {
return null;
}
@Override
public ResultBean submitCreditInfo(SubmitCreditDto dto) {
return null;
}
@Override
public ResultBean agreeCreditInfo(CompleteCreditDto dto) {
return null;
}
@Override
public ResultBean rejectCreditInfo(CreditTaskQuery query) {
return null;
}
@Override
public ResultBean recallCreditInfo(CreditTaskQuery query) {
return null;
}
@Override
public ResultBean stopCreditInfo(CreditTaskQuery query) {
return null;
}
@Override
public ResultBean<String> getFlowOperateTitle(CreditQuery query) {
return null;
}
@Override
public ResultBean submitCreditReviewInfo(CreditReviewDto dto) {
return null;

2
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/CreditReviewSsDto.java

@ -9,6 +9,8 @@ import java.util.List;
@Data
public class CreditReviewSsDto extends CreditReviewOffDto{
@ApiModelProperty("贷前信用审核sid")
private String sid2;
@ApiModelProperty("申诉原因")
private String reason;
@ApiModelProperty("申诉其他人员")

34
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/flowable/CompleteCreditDto.java

@ -0,0 +1,34 @@
package com.yxt.anrui.terminal.api.risk.creditreview.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
public class CompleteCreditDto implements Dto {
private static final long serialVersionUID = 7978653524636034916L;
@ApiModelProperty(value = "任务id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
@ApiModelProperty(value = "流程id")
@NotBlank(message = "参数错误:procInsId")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty(value = "意见")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
@ApiModelProperty(value = "用户sid")
@NotBlank(message = "参数错误:userSid")
private String userSid;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
private String orgPath;
}

17
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/flowable/CreditQuery.java

@ -0,0 +1,17 @@
package com.yxt.anrui.terminal.api.risk.creditreview.flowable;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class CreditQuery implements Query {
private static final long serialVersionUID = -3563282658560745370L;
@ApiModelProperty(value = "节点key")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
@ApiModelProperty(value = "0 上一环节 1下一环节")
private Integer next;
}

42
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/flowable/CreditTaskQuery.java

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

19
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/flowable/SubmitCreditDto.java

@ -0,0 +1,19 @@
package com.yxt.anrui.terminal.api.risk.creditreview.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.AdvanceInvoiceDto;
import com.yxt.anrui.terminal.api.risk.creditreview.CreditReviewSsDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class SubmitCreditDto extends CreditReviewSsDto {
private static final long serialVersionUID = 6134092944641545633L;
@ApiModelProperty("流程实例id")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty("任务id")
private String taskId;
}

34
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/creditreview/CreditReviewRest.java

@ -1,6 +1,10 @@
package com.yxt.anrui.terminal.biz.risk.creditreview;
import com.yxt.anrui.terminal.api.risk.creditreview.*;
import com.yxt.anrui.terminal.api.risk.creditreview.flowable.CompleteCreditDto;
import com.yxt.anrui.terminal.api.risk.creditreview.flowable.CreditQuery;
import com.yxt.anrui.terminal.api.risk.creditreview.flowable.CreditTaskQuery;
import com.yxt.anrui.terminal.api.risk.creditreview.flowable.SubmitCreditDto;
import com.yxt.anrui.terminal.api.risk.otherpolicyrecordapply.AppFinOtherPolicyApplyInitVo;
import com.yxt.anrui.terminal.api.risk.otherpolicyrecordapply.OtherPolicyRecordApplyFeign;
import com.yxt.anrui.terminal.api.risk.otherpolicyrecordapply.flow.CompleteOtherPolicyDto;
@ -84,6 +88,36 @@ public class CreditReviewRest implements CreditReviewFeign {
return creditReviewService.saveCreditReviewInfo3(dto);
}
@Override
public ResultBean submitCreditInfo(SubmitCreditDto dto) {
return creditReviewService.submitCreditInfo(dto);
}
@Override
public ResultBean agreeCreditInfo(CompleteCreditDto dto) {
return creditReviewService.agreeCreditInfo(dto);
}
@Override
public ResultBean rejectCreditInfo(CreditTaskQuery query) {
return creditReviewService.rejectCreditInfo(query);
}
@Override
public ResultBean recallCreditInfo(CreditTaskQuery query) {
return creditReviewService.recallCreditInfo(query);
}
@Override
public ResultBean stopCreditInfo(CreditTaskQuery query) {
return creditReviewService.stopCreditInfo(query);
}
@Override
public ResultBean<String> getFlowOperateTitle(CreditQuery query) {
return creditReviewService.getFlowOperateTitle(query);
}
@Override
public ResultBean submitCreditReviewInfo(CreditReviewDto dto) {
return creditReviewService.submitCreditReviewInfo(dto);

173
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/creditreview/CreditReviewService.java

@ -6,6 +6,9 @@ import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelConfigFeign;
import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelConfigVos;
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationQuery;
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationVo;
import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillNodeQuery;
import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillNodeVo;
import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillTaskQuery;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
@ -15,6 +18,7 @@ import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loancreditappealapply.LoanCreditAppealApplyDetailsVo;
import com.yxt.anrui.riskcenter.api.loancreditappealapply.LoanCreditAppealApplyDto;
import com.yxt.anrui.riskcenter.api.loancreditappealapply.LoanCreditAppealApplyFeign;
import com.yxt.anrui.riskcenter.api.loancreditappealapply.flowable.*;
import com.yxt.anrui.riskcenter.api.loancreditappealpeo.LoanCreditAppealPeoDetailsVo;
import com.yxt.anrui.riskcenter.api.loancreditappealpeo.LoanCreditAppealPeoDto;
import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBankDto;
@ -30,6 +34,10 @@ import com.yxt.anrui.riskcenter.api.loanpreloancreditpeo.LoanPreloanCreditPeoDto
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.AdvanceInvoicePageQuery;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.AdvanceInvoicePageVo;
import com.yxt.anrui.terminal.api.risk.creditreview.*;
import com.yxt.anrui.terminal.api.risk.creditreview.flowable.CompleteCreditDto;
import com.yxt.anrui.terminal.api.risk.creditreview.flowable.CreditQuery;
import com.yxt.anrui.terminal.api.risk.creditreview.flowable.CreditTaskQuery;
import com.yxt.anrui.terminal.api.risk.creditreview.flowable.SubmitCreditDto;
import com.yxt.anrui.terminal.api.risk.otherpolicyrecordapply.AppFinOtherPolicyApplyInitVo;
import com.yxt.anrui.terminal.api.risk.otherpolicyrecordapply.flow.CompleteOtherPolicyDto;
import com.yxt.anrui.terminal.api.risk.otherpolicyrecordapply.flow.OtherPolicyFlowableQuery;
@ -256,11 +264,12 @@ public class CreditReviewService {
public ResultBean<CreditReviewDetailsSsVo> initCreditReviewInfo3(CreditReviewDetailsQuery query) {
ResultBean rb = ResultBean.fireFail();
CreditReviewDetailsSsVo creditReviewDetailsSsVo = new CreditReviewDetailsSsVo();
SysOrganizationVo sysOrganizationVoBM = sysOrganizationFeign.selectByOrgSidPath(query.getOrgPath()).getData();
SysUserVo sysUserVo = sysUserFeign.fetchBySid(query.getUserSid()).getData();
LoanPreloanCreditApplyDetailsVo loanPreloanCreditApplyDetailsVo;
if (query.getAddNew()) {
loanPreloanCreditApplyDetailsVo = loanPreloanCreditApplyFeign.fetchDetailsBySid(query.getSid()).getData();
creditReviewDetailsSsVo.setSid2(query.getSid());
creditReviewDetailsSsVo.setOrgPath(query.getOrgPath());
creditReviewDetailsSsVo.setUserSid(query.getUserSid());
} else {
LoanCreditAppealApplyDetailsVo loanCreditAppealApplyDetailsVo = loanCreditAppealApplyFeign.fetchDetailsBySid(query.getSid()).getData();
loanPreloanCreditApplyDetailsVo = loanPreloanCreditApplyFeign.fetchDetailsBySid(loanCreditAppealApplyDetailsVo.getCreditApplySid()).getData();
@ -277,11 +286,13 @@ public class CreditReviewService {
}
creditReviewDetailsSsVo.setGuarantorList(shareholderDetailsVos);
creditReviewDetailsSsVo.setUploadFiles(loanCreditAppealApplyDetailsVo.getSsImages());
creditReviewDetailsSsVo.setPublishInfo(sysOrganizationVoBM.getName() + sysUserVo.getName());
creditReviewDetailsSsVo.setOrgPath(query.getOrgPath());
creditReviewDetailsSsVo.setUserSid(query.getUserSid());
creditReviewDetailsSsVo.setOrgPath(loanCreditAppealApplyDetailsVo.getOrgSidPath());
creditReviewDetailsSsVo.setUserSid(loanCreditAppealApplyDetailsVo.getCreateBySid());
creditReviewDetailsSsVo.setSid2(loanCreditAppealApplyDetailsVo.getCreditApplySid());
creditReviewDetailsSsVo.setSid(loanCreditAppealApplyDetailsVo.getSid());
creditReviewDetailsSsVo.setTaskId(loanCreditAppealApplyDetailsVo.getTaskId());
creditReviewDetailsSsVo.setProcInsId(loanCreditAppealApplyDetailsVo.getInstanceId());
}
creditReviewDetailsSsVo.setSid(loanPreloanCreditApplyDetailsVo.getSid());
creditReviewDetailsSsVo.setPublishInfo(loanPreloanCreditApplyDetailsVo.getApplyDeptName() + "-" + loanPreloanCreditApplyDetailsVo.getCreateByName());
creditReviewDetailsSsVo.setCreateTime(DateUtil.formatDate(loanPreloanCreditApplyDetailsVo.getCreateTime()));
creditReviewDetailsSsVo.setCustomerTypeKey(loanPreloanCreditApplyDetailsVo.getCustTypeKey());
@ -293,14 +304,11 @@ public class CreditReviewService {
creditReviewDetailsSsVo.setLegalPersonMobile(loanPreloanCreditApplyDetailsVo.getPhone());
creditReviewDetailsSsVo.setLegalPersonIdNumber(loanPreloanCreditApplyDetailsVo.getIdCard());
creditReviewDetailsSsVo.setLegalPersonIdCardImages(loanPreloanCreditApplyDetailsVo.getIdCardImages());
creditReviewDetailsSsVo.setUserSid(loanPreloanCreditApplyDetailsVo.getCreateBySid());
creditReviewDetailsSsVo.setOrgPath(loanPreloanCreditApplyDetailsVo.getOrgSidPath());
creditReviewDetailsSsVo.setCompanyName(loanPreloanCreditApplyDetailsVo.getQyName());
creditReviewDetailsSsVo.setCompanySid(loanPreloanCreditApplyDetailsVo.getQySid());
creditReviewDetailsSsVo.setMaterialImages(loanPreloanCreditApplyDetailsVo.getComFkFiles());
creditReviewDetailsSsVo.setManagementSid(loanPreloanCreditApplyDetailsVo.getCapitalSid());
creditReviewDetailsSsVo.setManagementName(loanPreloanCreditApplyDetailsVo.getCapitalName());
//creditReviewDetailsSsVo.setDownUrl();
//参数优化
query.setCustomerTypeKey(loanPreloanCreditApplyDetailsVo.getCustTypeKey());
//风控要求的其他人员
@ -624,6 +632,20 @@ public class CreditReviewService {
creditReviewDetailsSsVo.setExamineRemarks2(loanPreloanCreditApplyDetailsVo.getZfshRemarks());
//申诉结果
creditReviewDetailsSsVo.setReason(loanCreditAppealApplyDetailsVo.getAppealReason());
List<LoanCreditAppealPeoDetailsVo> loanCreditAppealPeos = loanCreditAppealApplyDetailsVo.getLoanCreditAppealPeos();
List<ShareholderDetailsVo> shareholderDetailsVos2 = new ArrayList<>();
for (LoanCreditAppealPeoDetailsVo loanCreditAppealPeo : loanCreditAppealPeos) {
ShareholderDetailsVo shareholderDetailsVo = new ShareholderDetailsVo();
shareholderDetailsVo.setShareholderName(loanCreditAppealPeo.getName());
shareholderDetailsVo.setShareholderIdNumber(loanCreditAppealPeo.getIdCard());
shareholderDetailsVo.setShareholderMobile(loanCreditAppealPeo.getPhone());
shareholderDetailsVo.setShareholderRemarks(loanCreditAppealPeo.getRemarks());
shareholderDetailsVos2.add(shareholderDetailsVo);
}
creditReviewDetailsSsVo.setGuarantorList(shareholderDetailsVos2);
creditReviewDetailsSsVo.setUploadFiles(loanCreditAppealApplyDetailsVo.getSsImages());
creditReviewDetailsSsVo.setTaskId(loanCreditAppealApplyDetailsVo.getTaskId());
creditReviewDetailsSsVo.setProcInsId(loanCreditAppealApplyDetailsVo.getInstanceId());
return rb.success().setData(creditReviewDetailsSsVo);
}
@ -691,32 +713,141 @@ public class CreditReviewService {
LoanCreditAppealApplyDto loanCreditAppealApplyDto = new LoanCreditAppealApplyDto();
List<ShareholderDetailsVo> guarantorList = dto.getGuarantorList();
List<LoanCreditAppealPeoDto> loanCreditAppealPeoDtos = new ArrayList<>();
for (ShareholderDetailsVo shareholderDetailsVo : guarantorList) {
LoanCreditAppealPeoDto loanCreditAppealPeoDto = new LoanCreditAppealPeoDto();
loanCreditAppealPeoDto.setName(shareholderDetailsVo.getShareholderName());
loanCreditAppealPeoDto.setIdCard(shareholderDetailsVo.getShareholderIdNumber());
loanCreditAppealPeoDto.setPhone(shareholderDetailsVo.getShareholderMobile());
loanCreditAppealPeoDto.setRemarks(shareholderDetailsVo.getShareholderRemarks());
loanCreditAppealPeoDtos.add(loanCreditAppealPeoDto);
}
loanCreditAppealApplyDto.setLoanCreditAppealPeos(loanCreditAppealPeoDtos);
loanCreditAppealApplyDto.setSid(dto.getSid());
loanCreditAppealApplyDto.setAppealReason(dto.getReason());
loanCreditAppealApplyDto.setSsImages(dto.getUploadFiles());
SysUserVo sysUserVo = sysUserFeign.fetchBySid(dto.getUserSid()).getData();
SysOrganizationVo sysOrganizationVoBM = sysOrganizationFeign.selectByOrgSidPath(dto.getOrgPath()).getData();
loanCreditAppealApplyDto.setCreateBySid(sysUserVo.getSid());
loanCreditAppealApplyDto.setApplyDeptSid(sysOrganizationVoBM.getSid());
String[] publishInfos = dto.getPublishInfo().split("-");
loanCreditAppealApplyDto.setApplyDeptName(publishInfos[0]);
loanCreditAppealApplyDto.setCreateByName(publishInfos[1]);
loanCreditAppealApplyDto.setApplyDeptName(sysOrganizationVoBM.getName());
loanCreditAppealApplyDto.setCreateByName(sysUserVo.getName());
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData();
SysOrganizationVo sysOrganizationVoGS = sysOrganizationFeign.fetchBySid(useOrgSid).getData();
loanCreditAppealApplyDto.setOrgSidPath(dto.getOrgPath());
loanCreditAppealApplyDto.setUseOrgSid(useOrgSid);
loanCreditAppealApplyDto.setUseOrgName(sysOrganizationVoGS.getName());
loanCreditAppealApplyDto.setCreditApplySid(dto.getSid2());
for (ShareholderDetailsVo shareholderDetailsVo : guarantorList) {
LoanCreditAppealPeoDto loanCreditAppealPeoDto = new LoanCreditAppealPeoDto();
loanCreditAppealPeoDto.setName(shareholderDetailsVo.getShareholderName());
loanCreditAppealPeoDto.setIdCard(shareholderDetailsVo.getShareholderIdNumber());
loanCreditAppealPeoDto.setPhone(shareholderDetailsVo.getShareholderMobile());
loanCreditAppealPeoDto.setRemarks(shareholderDetailsVo.getShareholderRemarks());
loanCreditAppealPeoDto.setCreateByName(sysUserVo.getName());
loanCreditAppealPeoDtos.add(loanCreditAppealPeoDto);
}
loanCreditAppealApplyDto.setLoanCreditAppealPeos(loanCreditAppealPeoDtos);
loanCreditAppealApplyFeign.save(loanCreditAppealApplyDto);
return new ResultBean().success();
}
public ResultBean submitCreditInfo(SubmitCreditDto dto) {
ResultBean rb = ResultBean.fireFail();
SubmitLoanCreditApplyDto submitLoanCreditApplyDto = new SubmitLoanCreditApplyDto();
List<ShareholderDetailsVo> guarantorList = dto.getGuarantorList();
List<LoanCreditAppealPeoDto> loanCreditAppealPeoDtos = new ArrayList<>();
submitLoanCreditApplyDto.setInstanceId(dto.getInstanceId());
submitLoanCreditApplyDto.setTaskId(dto.getTaskId());
submitLoanCreditApplyDto.setSid(dto.getSid());
submitLoanCreditApplyDto.setAppealReason(dto.getReason());
submitLoanCreditApplyDto.setSsImages(dto.getUploadFiles());
SysUserVo sysUserVo = sysUserFeign.fetchBySid(dto.getUserSid()).getData();
SysOrganizationVo sysOrganizationVoBM = sysOrganizationFeign.selectByOrgSidPath(dto.getOrgPath()).getData();
submitLoanCreditApplyDto.setCreateBySid(sysUserVo.getSid());
submitLoanCreditApplyDto.setApplyDeptSid(sysOrganizationVoBM.getSid());
submitLoanCreditApplyDto.setApplyDeptName(sysOrganizationVoBM.getName());
submitLoanCreditApplyDto.setCreateByName(sysUserVo.getName());
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData();
SysOrganizationVo sysOrganizationVoGS = sysOrganizationFeign.fetchBySid(useOrgSid).getData();
submitLoanCreditApplyDto.setOrgSidPath(dto.getOrgPath());
submitLoanCreditApplyDto.setUseOrgSid(useOrgSid);
submitLoanCreditApplyDto.setUseOrgName(sysOrganizationVoGS.getName());
submitLoanCreditApplyDto.setCreditApplySid(dto.getSid2());
for (ShareholderDetailsVo shareholderDetailsVo : guarantorList) {
LoanCreditAppealPeoDto loanCreditAppealPeoDto = new LoanCreditAppealPeoDto();
loanCreditAppealPeoDto.setName(shareholderDetailsVo.getShareholderName());
loanCreditAppealPeoDto.setIdCard(shareholderDetailsVo.getShareholderIdNumber());
loanCreditAppealPeoDto.setPhone(shareholderDetailsVo.getShareholderMobile());
loanCreditAppealPeoDto.setRemarks(shareholderDetailsVo.getShareholderRemarks());
loanCreditAppealPeoDto.setCreateByName(sysUserVo.getName());
loanCreditAppealPeoDtos.add(loanCreditAppealPeoDto);
}
submitLoanCreditApplyDto.setLoanCreditAppealPeos(loanCreditAppealPeoDtos);
ResultBean resultBean = loanCreditAppealApplyFeign.submitLoanCreditApply(submitLoanCreditApplyDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success();
}
public ResultBean agreeCreditInfo(CompleteCreditDto dto) {
ResultBean rb = ResultBean.fireFail();
LoanCreditApplyCompleteDto loanCreditApplyCompleteDto = new LoanCreditApplyCompleteDto();
BeanUtil.copyProperties(dto, loanCreditApplyCompleteDto);
loanCreditAppealApplyFeign.complete(loanCreditApplyCompleteDto);
return rb.success();
}
public ResultBean rejectCreditInfo(CreditTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
LoanCreditApplyTaskQuery taskQuery = new LoanCreditApplyTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = loanCreditAppealApplyFeign.reject(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean recallCreditInfo(CreditTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
LoanCreditApplyTaskQuery taskQuery = new LoanCreditApplyTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = loanCreditAppealApplyFeign.revokeProcess(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean stopCreditInfo(CreditTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
LoanCreditApplyTaskQuery taskQuery = new LoanCreditApplyTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = loanCreditAppealApplyFeign.breakProcess(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean<String> getFlowOperateTitle(CreditQuery query) {
ResultBean<String> rb = ResultBean.fireFail();
//0 上一环节 1下一环节
int next = query.getNext();
LoanCreditApplyNodeQuery getNodeQuery = new LoanCreditApplyNodeQuery();
BeanUtil.copyProperties(query, getNodeQuery);
String data = "";
if (next == 0) {
ResultBean<List<LoanCreditApplyNodeVo>> previousNodesForReject = loanCreditAppealApplyFeign.getPreviousNodesForReject(getNodeQuery);
if (previousNodesForReject.getSuccess()) {
previousNodesForReject.getData().removeAll(Collections.singleton(null));
data = previousNodesForReject.getData().get(0).getName();
} else {
return rb.setMsg(previousNodesForReject.getMsg());
}
} else if (next == 1) {
ResultBean<List<LoanCreditApplyNodeVo>> nextNodesForSubmit = loanCreditAppealApplyFeign.getNextNodesForSubmit(getNodeQuery);
if (nextNodesForSubmit.getSuccess()) {
nextNodesForSubmit.getData().removeAll(Collections.singleton(null));
data = nextNodesForSubmit.getData().get(0).getName();
} else {
return rb.setMsg(nextNodesForSubmit.getMsg());
}
} else {
return rb.setMsg("参数错误:next");
}
return rb.success().setData(data);
}
}

Loading…
Cancel
Save