Browse Source

Merge remote-tracking branch 'origin/master'

master
yunuo970428 3 months ago
parent
commit
a3b3768ece
  1. 8
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapply/FinPaymentapplyDetailsVo.java
  2. 12
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapply/FinPaymentapplyDto.java
  3. 4
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetailsbeloweve/FinPaymentapplyDetailsBelowEve.java
  4. 26
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetailsbeloweve/FinPaymentapplyDetailsBelowEveDetailsVo.java
  5. 4
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetailsbeloweve/FinPaymentapplyDetailsBelowEveDto.java
  6. 5
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetailsbeloweve/FinPaymentapplyDetailsBelowEveFeign.java
  7. 5
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetailsbeloweve/FinPaymentapplyDetailsBelowEveFeignFallback.java
  8. 1
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetailsbeloweve/FinPaymentapplyDetailsBelowEveQuery.java
  9. 76
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplyeve/FinPaymentapplyEve.java
  10. 79
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplyeve/FinPaymentapplyEveDetailsVo.java
  11. 79
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplyeve/FinPaymentapplyEveDto.java
  12. 41
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplyeve/FinPaymentapplyEveFeign.java
  13. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyRest.java
  14. 37
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyService.java
  15. 8
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplydetails/FinPaymentapplyDetailsService.java
  16. 6
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplydetailsbeloweve/FinPaymentapplyDetailsBelowEveMapper.java
  17. 5
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplydetailsbeloweve/FinPaymentapplyDetailsBelowEveMapper.xml
  18. 7
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplydetailsbeloweve/FinPaymentapplyDetailsBelowEveRest.java
  19. 142
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplydetailsbeloweve/FinPaymentapplyDetailsBelowEveService.java
  20. 45
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplyeve/FinPaymentapplyEveMapper.java
  21. 5
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplyeve/FinPaymentapplyEveMapper.xml
  22. 38
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplyeve/FinPaymentapplyEveRest.java
  23. 54
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplyeve/FinPaymentapplyEveService.java
  24. 6
      anrui-gateway/src/main/resources/application.yml
  25. 25
      yxt-as-ui/src/api/statement/monthlyReport/claimFormRate.js
  26. 17
      yxt-as-ui/src/api/statement/monthlyReport/essentialDetails.js
  27. 25
      yxt-as-ui/src/api/statement/monthlyReport/oneTimeRate.js
  28. 205
      yxt-as-ui/src/views/statement/monthlyReport/claimFormRate/claimFormRate.vue
  29. 91
      yxt-as-ui/src/views/statement/monthlyReport/claimFormRate/claimFormRateDetail.vue
  30. 223
      yxt-as-ui/src/views/statement/monthlyReport/essentialDetails/essentialDetails.vue
  31. 6
      yxt-as-ui/src/views/statement/monthlyReport/inventoryManagement/inventoryManagement.vue
  32. 88
      yxt-as-ui/src/views/statement/monthlyReport/inventoryManagement/inventoryManagementDetail.vue
  33. 205
      yxt-as-ui/src/views/statement/monthlyReport/oneTimeRate/oneTimeRate.vue
  34. 218
      yxt-as-ui/src/views/statement/monthlyReport/oneTimeRate/oneTimeRateDetail.vue
  35. 2
      yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdExpatriatesApplyRest.java
  36. 36
      yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdExpatriatesDetailRest.java
  37. 18
      yxt-oa/src/main/java/com/yxt/anrui/oa/api/HrHireApplyRest.java
  38. 10
      yxt-oa/src/main/java/com/yxt/anrui/oa/api/OaFormRest.java
  39. 7
      yxt-oa/src/main/java/com/yxt/anrui/oa/api/OaMendApplyRest.java
  40. 3
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyDto.java
  41. 2
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyMapper.java
  42. 12
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyMapper.xml
  43. 32
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyService.java
  44. 4
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyVo.java
  45. 74
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetail.java
  46. 75
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetailDto.java
  47. 43
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetailMapper.java
  48. 5
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetailMapper.xml
  49. 73
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetailQuery.java
  50. 51
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetailService.java
  51. 75
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetailVo.java
  52. 57
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhireapply/HrHireApplyService.java
  53. 4
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhireapply/HrHireApplyVo.java
  54. 2
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormService.java
  55. 5
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/NodeQuery.java
  56. 41
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyService.java

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

@ -27,6 +27,8 @@ package com.yxt.anrui.fin.api.finpaymentapply;
import com.yxt.anrui.fin.api.finpaymentapplydetails.FinPaymentapplyDetailVo;
import com.yxt.anrui.fin.api.finpaymentapplyeve.FinPaymentapplyEveDetailsVo;
import com.yxt.anrui.fin.api.finpaymentapplyeve.FinPaymentapplyEveDto;
import com.yxt.anrui.fin.api.finpaymentapplytop.FinPaymentapplyTopDetailsVo;
import com.yxt.anrui.fin.api.finpaymentapplytop.FinPaymentapplyTopDto;
import com.yxt.anrui.fin.api.finpaymentapplytrailer.FinPaymentapplyTrailerDetailsVo;
@ -84,12 +86,14 @@ public class FinPaymentapplyDetailsVo implements Vo {
@ApiModelProperty(value = "备注")
private String remarks;
private List<FinPaymentapplyEveDetailsVo> eveList = new ArrayList<>();
private List<FinPaymentapplyDetailVo> detailsList = new ArrayList<>();
private List<FinPaymentapplyVehicleVo> vehicleList = new ArrayList<>();
private List<FinPaymentapplyTrailerDetailsVo> trailerList;
private List<FinPaymentapplyTopDetailsVo> topList;
private List<FinPaymentapplyTrailerDetailsVo> trailerList = new ArrayList<>();
private List<FinPaymentapplyTopDetailsVo> topList = new ArrayList<>();
private String isVeh;

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

@ -27,6 +27,7 @@ package com.yxt.anrui.fin.api.finpaymentapply;
import com.yxt.anrui.fin.api.finpaymentapplydetails.FinPaymentapplyDetailDto;
import com.yxt.anrui.fin.api.finpaymentapplyeve.FinPaymentapplyEveDto;
import com.yxt.anrui.fin.api.finpaymentapplytop.FinPaymentapplyTopDto;
import com.yxt.anrui.fin.api.finpaymentapplytrailer.FinPaymentapplyTrailerDto;
import com.yxt.anrui.fin.api.finpaymentapplyvehicle.FinPaymentapplyVehicleDto;
@ -36,6 +37,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.ArrayList;
import java.util.List;
/**
@ -77,12 +79,14 @@ public class FinPaymentapplyDto implements Dto {
@ApiModelProperty(value = "业务关联:编号")
private String busSid;
private List<FinPaymentapplyDetailDto> detailsList;
private List<FinPaymentapplyEveDto> eveList = new ArrayList<>();
private List<FinPaymentapplyVehicleDto> vehicleList;
private List<FinPaymentapplyDetailDto> detailsList = new ArrayList<>();
private List<FinPaymentapplyTrailerDto> trailerList;
private List<FinPaymentapplyTopDto> topList;
private List<FinPaymentapplyVehicleDto> vehicleList = new ArrayList<>();
private List<FinPaymentapplyTrailerDto> trailerList = new ArrayList<>();
private List<FinPaymentapplyTopDto> topList = new ArrayList<>();
@ApiModelProperty("是否涉及车辆,1是,0否")
@NotBlank(message = "请选择是否涉及车辆")

4
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetailsbeloweve/FinPaymentapplyDetailsBelowEve.java

@ -67,6 +67,10 @@ public class FinPaymentapplyDetailsBelowEve extends BaseEntity {
private String exePayDate;
@ApiModelProperty("平仓付款金额")
private BigDecimal exePayPrice;
@ApiModelProperty("申请部门sid")
private String deptSid;
@ApiModelProperty("申请部门")
private String deptName;
@ApiModelProperty("分公司sid")
private String useOrgSid;
@ApiModelProperty("分公司名称")

26
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetailsbeloweve/FinPaymentapplyDetailsBelowEveDetailsVo.java

@ -61,26 +61,34 @@ public class FinPaymentapplyDetailsBelowEveDetailsVo implements Vo {
private String costTypeKey;
@ApiModelProperty("款项类别")
private String costTypeValue;
@ApiModelProperty("付款申请明细的明细sid")
@ApiModelProperty("付款申请明细的明细sid")
private String detailSid; // 付款申请明细的明细sid
@ApiModelProperty("融资付款开通日期")
@ApiModelProperty("融资付款开通日期")
private String openDate; // 融资付款开通日期
@ApiModelProperty("期数")
@ApiModelProperty("期数")
private String period; // 期数
@ApiModelProperty("付款单位sid")
@ApiModelProperty("付款单位sid")
private String payCompanySid; // 付款单位sid
@ApiModelProperty("付款单位名称")
@ApiModelProperty("付款单位名称")
private String payCompany; // 付款单位名称
@ApiModelProperty("收款单位名称")
@ApiModelProperty("收款单位名称")
private String receiveCompany; // 收款单位名称
@ApiModelProperty("收款单位sid")
@ApiModelProperty("收款单位sid")
private String receiveCompanySid; // 收款单位sid
@ApiModelProperty("收款银行账号")
@ApiModelProperty("收款银行账号")
private String receivingAccount; // 收款银行账号
@ApiModelProperty("开户行")
@ApiModelProperty("开户行")
private String bank; // 开户行
@ApiModelProperty("平仓付款日期")
private String exePayDate;
@ApiModelProperty("平仓付款金额")
private BigDecimal exePayPrice;
@ApiModelProperty("申请部门sid")
private String deptSid;
@ApiModelProperty("申请部门")
private String deptName;
@ApiModelProperty("分公司sid")
private String useOrgSid;
@ApiModelProperty("分公司名称")
private String useOrgName;
}

4
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetailsbeloweve/FinPaymentapplyDetailsBelowEveDto.java

@ -85,6 +85,10 @@ public class FinPaymentapplyDetailsBelowEveDto implements Dto {
private String exePayDate;
@ApiModelProperty("平仓付款金额")
private BigDecimal exePayPrice;
@ApiModelProperty("申请部门sid")
private String deptSid;
@ApiModelProperty("申请部门")
private String deptName;
@ApiModelProperty("分公司sid")
private String useOrgSid;
@ApiModelProperty("分公司名称")

5
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetailsbeloweve/FinPaymentapplyDetailsBelowEveFeign.java

@ -61,6 +61,11 @@ public interface FinPaymentapplyDetailsBelowEveFeign {
@ResponseBody
public ResultBean<PagerVo<FinPaymentapplyDetailsBelowEveVo>> listPage(@RequestBody PagerQuery<FinPaymentapplyDetailsBelowEveQuery> pq);
@ApiOperation("选择平仓信息")
@PostMapping("/chooseEve")
@ResponseBody
public ResultBean<PagerVo<FinPaymentapplyDetailsBelowEveVo>> chooseEve(@RequestBody PagerQuery<FinPaymentapplyDetailsBelowEveQuery> pq);
@ApiOperation("新增或修改")
@PostMapping("/save")
@ResponseBody

5
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetailsbeloweve/FinPaymentapplyDetailsBelowEveFeignFallback.java

@ -54,6 +54,11 @@ public class FinPaymentapplyDetailsBelowEveFeignFallback implements FinPaymentap
return rb.setMsg("接口anrui-fin/finpaymentapplydetailsbeloweve/listPage无法访问");
}
@Override
public ResultBean<PagerVo<FinPaymentapplyDetailsBelowEveVo>> chooseEve(PagerQuery<FinPaymentapplyDetailsBelowEveQuery> pq) {
return null;
}
@Override
public ResultBean save(FinPaymentapplyDetailsBelowEveDto dto){
return ResultBean.fireFail().setMsg("接口anrui-fin/finpaymentapplydetailsbeloweve/save无法访问");

1
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetailsbeloweve/FinPaymentapplyDetailsBelowEveQuery.java

@ -69,6 +69,7 @@ public class FinPaymentapplyDetailsBelowEveQuery implements Query {
private String remarks;
@ApiModelProperty("支付状态")
private String state;
private String useOrgSid;
private String orgPath;
private String userSid;

76
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplyeve/FinPaymentapplyEve.java

@ -0,0 +1,76 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.fin.api.finpaymentapplyeve;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* Project: anrui-fin(付款申请平仓) <br/>
* File: FinPaymentapplyEve.java <br/>
* Class: com.yxt.anrui.fin.api.finpaymentapplyeve.FinPaymentapplyEve <br/>
* Description: 付款申请-平仓. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-01-20 11:20:11 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "付款申请-平仓", description = "付款申请-平仓")
@TableName("fin_paymentapply_eve")
public class FinPaymentapplyEve extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("付款申请sid")
private String applySid; // 付款申请sid
@ApiModelProperty("平仓款名称")
private String costTitleValue; // 平仓款名称
@ApiModelProperty("融资付款开通日期")
private String openDate; // 融资付款开通日期
@ApiModelProperty("期数")
private String period; // 期数
@ApiModelProperty("付款方式Key")
private String payWayKey; // 付款方式Key
@ApiModelProperty("付款方式Value")
private String payWayValue; // 付款方式Value
@ApiModelProperty("收款单位名称")
private String receiveCompany; // 收款单位名称
@ApiModelProperty("收款银行账号")
private String receivingAccount; // 收款银行账号
@ApiModelProperty("开户行")
private String bank; // 开户行
@ApiModelProperty("平仓付款金额")
private BigDecimal exePayPrice; // 平仓付款金额
}

79
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplyeve/FinPaymentapplyEveDetailsVo.java

@ -0,0 +1,79 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.fin.api.finpaymentapplyeve;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* Project: anrui-fin(付款申请平仓) <br/>
* File: FinPaymentapplyEveVo.java <br/>
* Class: com.yxt.anrui.fin.api.finpaymentapplyeve.FinPaymentapplyEveVo <br/>
* Description: 付款申请-平仓 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-01-20 11:20:12 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "付款申请-平仓 视图数据详情", description = "付款申请-平仓 视图数据详情")
public class FinPaymentapplyEveDetailsVo implements Vo {
private String sid; // sid
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("付款申请sid")
private String applySid; // 付款申请sid
@ApiModelProperty("平仓款名称")
private String costTitleValue; // 平仓款名称
@ApiModelProperty("融资付款开通日期")
private String openDate; // 融资付款开通日期
@ApiModelProperty("期数")
private String period; // 期数
@ApiModelProperty("付款方式Key")
private String payWayKey; // 付款方式Key
@ApiModelProperty("付款方式Value")
private String payWayValue; // 付款方式Value
@ApiModelProperty("收款单位名称")
private String receiveCompany; // 收款单位名称
@ApiModelProperty("收款银行账号")
private String receivingAccount; // 收款银行账号
@ApiModelProperty("开户行")
private String bank; // 开户行
@ApiModelProperty("平仓付款金额")
private BigDecimal exePayPrice; // 平仓付款金额
}

79
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplyeve/FinPaymentapplyEveDto.java

@ -0,0 +1,79 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.fin.api.finpaymentapplyeve;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* Project: anrui-fin(付款申请平仓) <br/>
* File: FinPaymentapplyEveDto.java <br/>
* Class: com.yxt.anrui.fin.api.finpaymentapplyeve.FinPaymentapplyEveDto <br/>
* Description: 付款申请-平仓 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-01-20 11:20:11 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "付款申请-平仓 数据传输对象", description = "付款申请-平仓 数据传输对象")
public class FinPaymentapplyEveDto implements Dto {
private String sid; // sid
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("付款申请sid")
private String applySid; // 付款申请sid
@ApiModelProperty("平仓款名称")
private String costTitleValue; // 平仓款名称
@ApiModelProperty("融资付款开通日期")
private String openDate; // 融资付款开通日期
@ApiModelProperty("期数")
private String period; // 期数
@ApiModelProperty("付款方式Key")
private String payWayKey; // 付款方式Key
@ApiModelProperty("付款方式Value")
private String payWayValue; // 付款方式Value
@ApiModelProperty("收款单位名称")
private String receiveCompany; // 收款单位名称
@ApiModelProperty("收款银行账号")
private String receivingAccount; // 收款银行账号
@ApiModelProperty("开户行")
private String bank; // 开户行
@ApiModelProperty("平仓付款金额")
private BigDecimal exePayPrice; // 平仓付款金额
}

41
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplyeve/FinPaymentapplyEveFeign.java

@ -0,0 +1,41 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.fin.api.finpaymentapplyeve;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.yxt.common.core.result.ResultBean;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
@Api(tags = "付款申请-平仓")
@FeignClient(
contextId = "anrui-fin-FinPaymentapplyEve",
name = "anrui-fin",
path = "v1/finpaymentapplyeve")
public interface FinPaymentapplyEveFeign {
}

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

@ -75,7 +75,7 @@ public class FinPaymentapplyRest implements FinPaymentapplyFeign {
@Override
public ResultBean delBySids(String[] sids) {
return finPaymentapplyService.deleteAllBySid(sids);
return finPaymentapplyService.deleteAllBySid(sids);
}
@Override

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

@ -48,6 +48,8 @@ import com.yxt.anrui.fin.api.finpaymentapplydetails.FinPaymentapplyDetailDto;
import com.yxt.anrui.fin.api.finpaymentapplydetails.FinPaymentapplyDetailVo;
import com.yxt.anrui.fin.api.finpaymentapplydetailsbelow.FinPaymentapplyDetailsBelowDetailsVo;
import com.yxt.anrui.fin.api.finpaymentapplydetailsbeloweve.FinPaymentapplyDetailsBelowEveDetailsVo;
import com.yxt.anrui.fin.api.finpaymentapplyeve.FinPaymentapplyEveDetailsVo;
import com.yxt.anrui.fin.api.finpaymentapplyeve.FinPaymentapplyEveDto;
import com.yxt.anrui.fin.api.finpaymentapplytop.FinPaymentapplyTopDetailsVo;
import com.yxt.anrui.fin.api.finpaymentapplytop.FinPaymentapplyTopDto;
import com.yxt.anrui.fin.api.finpaymentapplytrailer.FinPaymentapplyTrailerDetailsVo;
@ -61,6 +63,7 @@ import com.yxt.anrui.fin.biz.fincompanyinvoicing.FinCompanyInvoicingService;
import com.yxt.anrui.fin.biz.finpaymentapplydetails.FinPaymentapplyDetailsService;
import com.yxt.anrui.fin.biz.finpaymentapplydetailsbelow.FinPaymentapplyDetailsBelowService;
import com.yxt.anrui.fin.biz.finpaymentapplydetailsbeloweve.FinPaymentapplyDetailsBelowEveService;
import com.yxt.anrui.fin.biz.finpaymentapplyeve.FinPaymentapplyEveService;
import com.yxt.anrui.fin.biz.finpaymentapplytop.FinPaymentapplyTopService;
import com.yxt.anrui.fin.biz.finpaymentapplytrailer.FinPaymentapplyTrailerService;
import com.yxt.anrui.fin.biz.finpaymentapplyvehicle.FinPaymentapplyVehicleService;
@ -140,6 +143,8 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
@Autowired
private FinPaymentapplyDetailsService finPaymentapplyDetailsService;
@Autowired
private FinPaymentapplyEveService finPaymentapplyEveService;
@Autowired
private FinPaymentapplyVehicleService finPaymentapplyVehicleService;
@Autowired
private FinPaymentapplyDetailsBelowService finPaymentapplyDetailsBelowService;
@ -272,10 +277,18 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
finPaymentapply.setUseOrgName(organizationVo.getName());
List<FinPaymentapplyDetailDto> detailsList = dto.getDetailsList();
if (detailsList != null && detailsList.size() > 0) {
String i = finPaymentapplyDetailsService.saveDetailsList(detailsList, finPaymentapply.getSid());
String i = finPaymentapplyDetailsService.saveDetailsList(detailsList, finPaymentapply.getSid(),finPaymentapply);
finPaymentapply.setPaymentTotal(new BigDecimal(i));
}
if ("004".equals(dto.getCostTypeKey())){//融资付款
List<FinPaymentapplyEveDto> eveList = dto.getEveList();
for (FinPaymentapplyEveDto finPaymentapplyEveDto : eveList) {
finPaymentapplyEveDto.setApplySid(finPaymentapply.getSid());
finPaymentapplyEveService.insertByDto(finPaymentapplyEveDto);
}
}
if ("1".equals(dto.getIsVeh())) {
List<FinPaymentapplyVehicleDto> vehicleDtoList = dto.getVehicleList();
if (vehicleDtoList != null && vehicleDtoList.size() > 0) {
@ -313,7 +326,7 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
List<FinPaymentapplyDetailDto> detailsList = dto.getDetailsList();
if (detailsList != null && detailsList.size() > 0) {
String i = finPaymentapplyDetailsService.saveDetailsList(detailsList, finPaymentapply.getSid());
String i = finPaymentapplyDetailsService.saveDetailsList(detailsList, finPaymentapply.getSid(),finPaymentapply);
finPaymentapply.setPaymentTotal(new BigDecimal(i));
}
@ -329,6 +342,15 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
finPaymentapplyTrailerService.delByMainSid(dtoSid);
finPaymentapplyTopService.delByMainSid(dtoSid);
finPaymentapplyEveService.delByMainSid(dtoSid);
if ("004".equals(dto.getCostTypeKey())){//融资付款
List<FinPaymentapplyEveDto> eveList = dto.getEveList();
for (FinPaymentapplyEveDto finPaymentapplyEveDto : eveList) {
finPaymentapplyEveDto.setApplySid(dtoSid);
finPaymentapplyEveService.insertByDto(finPaymentapplyEveDto);
}
}
if ("002".equals(dto.getCostTypeKey())){//挂车采购
List<FinPaymentapplyTrailerDto> trailerList = dto.getTrailerList();
@ -384,8 +406,10 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
List<FinPaymentapplyVehicleVo> vehicleList = finPaymentapplyVehicleService.getVehicleList(sid);
vo.setDetailsList(detailsList);
vo.setVehicleList(vehicleList);
List<FinPaymentapplyEveDetailsVo> finPaymentapplyEveDetailsVos = finPaymentapplyEveService.fetchByMainSid(sid);
List<FinPaymentapplyTrailerDetailsVo> finPaymentapplyTrailerDetailsVos = finPaymentapplyTrailerService.fetchByMainSid(sid);
List<FinPaymentapplyTopDetailsVo> finPaymentapplyTopDetailsVos = finPaymentapplyTopService.fetchByMainSid(sid);
vo.setEveList(finPaymentapplyEveDetailsVos);
vo.setTrailerList(finPaymentapplyTrailerDetailsVos);
vo.setTopList(finPaymentapplyTopDetailsVos);
return vo;
@ -636,8 +660,6 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
FinCompanyInvoicing finCompanyInvoicing = finCompanyInvoicingService.fetchBySid(finPaymentapply.getPayCompanySid());
finPaymentrecordDto.setPurchaseSystemSid(finCompanyInvoicing.getPurchaseSystemSid());
finPaymentrecordDto.setPurchaseSystemName(finCompanyInvoicing.getPurchaseSystemName());
//备注
finPaymentrecordDto.setRemarks(finPaymentrecordDto.getCostTypeValue() + finPaymentrecordDto.getCostTitleValue());
List<FinPaymentapplyDetailVo> detailVoList = vo.getDetailsList();
detailVoList.removeAll(Collections.singleton(null));
if (!detailVoList.isEmpty()) {
@ -670,6 +692,8 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
finPaymentrecordDto.setCost(finPaymentapplyDetailVo.getPayAccount());
finPaymentrecordDto.setAccountsReceive(finPaymentapplyDetailVo.getPayAccount());
}
//备注
finPaymentrecordDto.setRemarks(finPaymentrecordDto.getCostTypeValue() + finPaymentrecordDto.getCostTitleValue());
finPaymentrecordService.saveDto(finPaymentrecordDto);
List<FinPaymentapplyDetailsBelowDetailsVo> finPaymentapplyDetailsBelowDetailsVos = finPaymentapplyDetailsBelowService.selByMainSid(finPaymentapplyDetailVo.getSid());
for (FinPaymentapplyDetailsBelowDetailsVo finPaymentapplyDetailsBelowDetailsVo : finPaymentapplyDetailsBelowDetailsVos) {
@ -695,6 +719,8 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
finPaymentrecordDto.setCost(finPaymentapplyDetailsBelowDetailsVo.getPayAccount().toString());
finPaymentrecordDto.setAccountsReceive(finPaymentapplyDetailsBelowDetailsVo.getPayAccount().toString());
}
//备注
finPaymentrecordDto.setRemarks(finPaymentrecordDto.getCostTypeValue() + finPaymentrecordDto.getCostTitleValue());
finPaymentrecordService.saveDto(finPaymentrecordDto);
}
}
@ -986,6 +1012,9 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
for (String s : sidsList) {
finPaymentapplyDetailsService.deleteByApplySid(s);
finPaymentapplyVehicleService.deleteVehicle(s);
finPaymentapplyEveService.delByMainSid(s);
finPaymentapplyTopService.delByMainSid(s);
finPaymentapplyTrailerService.delByMainSid(s);
}
return rb.success().setMsg("删除成功");
}

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

@ -1,6 +1,7 @@
package com.yxt.anrui.fin.biz.finpaymentapplydetails;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.fin.api.finpaymentapply.FinPaymentapply;
import com.yxt.anrui.fin.api.finpaymentapplydetails.AppFinPaymentapplyDetailVo;
import com.yxt.anrui.fin.api.finpaymentapplydetails.FinPaymentapplyDetailDto;
import com.yxt.anrui.fin.api.finpaymentapplydetails.FinPaymentapplyDetailVo;
@ -33,7 +34,7 @@ public class FinPaymentapplyDetailsService extends MybatisBaseService<FinPayment
return baseMapper.getDetailsList(sid);
}
public String saveDetailsList(List<FinPaymentapplyDetailDto> detailsList, String sid) {
public String saveDetailsList(List<FinPaymentapplyDetailDto> detailsList, String sid, FinPaymentapply finPaymentapply) {
//删除
baseMapper.deleteDetail(sid);
BigDecimal bigDecimal = new BigDecimal("0");
@ -55,6 +56,11 @@ public class FinPaymentapplyDetailsService extends MybatisBaseService<FinPayment
String belowSid = finPaymentapplyDetailsBelowService.insertByDto(finPaymentapplyDetailsBelowDto);
List<FinPaymentapplyDetailsBelowEveDto> finPaymentapplyDetailsBelowEveList = finPaymentapplyDetailsBelowDto.getFinPaymentapplyDetailsBelowEveList();
for (FinPaymentapplyDetailsBelowEveDto finPaymentapplyDetailsBelowEveDto : finPaymentapplyDetailsBelowEveList) {
finPaymentapplyDetailsBelowEveDto.setCreateBySid(finPaymentapply.getCreateBySid());
finPaymentapplyDetailsBelowEveDto.setDeptSid(finPaymentapply.getDeptSid());
finPaymentapplyDetailsBelowEveDto.setDeptName(finPaymentapply.getDeptName());
finPaymentapplyDetailsBelowEveDto.setUseOrgSid(finPaymentapply.getUseOrgSid());
finPaymentapplyDetailsBelowEveDto.setUseOrgName(finPaymentapply.getUseOrgName());
finPaymentapplyDetailsBelowEveDto.setDetailSid(belowSid);
finPaymentapplyDetailsBelowEveDto.setCostTypeKey("004");
finPaymentapplyDetailsBelowEveDto.setCostTypeValue("融资付款");

6
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplydetailsbeloweve/FinPaymentapplyDetailsBelowEveMapper.java

@ -54,8 +54,8 @@ import java.util.List;
@Mapper
public interface FinPaymentapplyDetailsBelowEveMapper extends BaseMapper<FinPaymentapplyDetailsBelowEve> {
IPage<FinPaymentapplyDetailsBelowEveVo> selectPageVo(IPage<FinPaymentapplyDetailsBelowEve> page, @Param(Constants.WRAPPER) Wrapper<FinPaymentapplyDetailsBelowEve> qw);
@Select("select * from fin_paymentapply_details_below_eve where detailSid = #{mainSid}")
IPage<FinPaymentapplyDetailsBelowEveVo> selectPageVo(IPage<FinPaymentapplyDetailsBelowEve> page, @Param(Constants.WRAPPER) Wrapper<FinPaymentapplyDetailsBelowEve> qw);
@Select("select * from fin_paymentapply_details_below_eve where detailSid = #{mainSid}")
List<FinPaymentapplyDetailsBelowEveDetailsVo> selByMainSid(String mainSid);
}

5
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplydetailsbeloweve/FinPaymentapplyDetailsBelowEveMapper.xml

@ -4,9 +4,8 @@
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.fin.api.finpaymentapplydetailsbeloweve.FinPaymentapplyDetailsBelowEveVo">
SELECT * FROM fin_paymentapply_details_below_eve
<!--LEFT JOIN anrui_portal.sys_organization as s ON ab.deptSid = s.sid-->
SELECT * FROM fin_paymentapply_details_below_eve fe
LEFT JOIN anrui_portal.sys_organization as s ON fe.useOrgSid = s.sid
<where> ${ew.sqlSegment} </where>
ORDER BY createTime DESC
</select>
</mapper>

7
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplydetailsbeloweve/FinPaymentapplyDetailsBelowEveRest.java

@ -72,6 +72,13 @@ public class FinPaymentapplyDetailsBelowEveRest implements FinPaymentapplyDetail
return rb.success().setData(pv);
}
@Override
public ResultBean<PagerVo<FinPaymentapplyDetailsBelowEveVo>> chooseEve(PagerQuery<FinPaymentapplyDetailsBelowEveQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<FinPaymentapplyDetailsBelowEveVo> pv = finPaymentapplyDetailsBelowEveService.chooseEve(pq);
return rb.success().setData(pv);
}
@Override
@ApiOperation("新增或修改")
@PostMapping("/save")

142
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplydetailsbeloweve/FinPaymentapplyDetailsBelowEveService.java

@ -29,6 +29,7 @@ import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.fin.api.finpaymentapply.FinPaymentapplyVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import org.apache.commons.lang3.StringUtils;
@ -67,78 +68,121 @@ public class FinPaymentapplyDetailsBelowEveService extends MybatisBaseService<Fi
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
public PagerVo<FinPaymentapplyDetailsBelowEveVo> listPageVo(PagerQuery<FinPaymentapplyDetailsBelowEveQuery> pq) {
FinPaymentapplyDetailsBelowEveQuery query = pq.getParams();
QueryWrapper<FinPaymentapplyDetailsBelowEve> qw = new QueryWrapper<>();
//========================================数据授权开始
/*if (StringUtils.isNotBlank(query.getMenuUrl())) {
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(query.getOrgPath());
privilegeQuery.setMenuUrl(query.getMenuUrl());
privilegeQuery.setUserSid(query.getUserSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = query.getOrgPath();
orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/");
int i2 = orgSidPath.indexOf("/", i1 + 1);
int i3 = orgSidPath.indexOf("/", i2 + 1);
int i4 = orgSidPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1);
qw.like("fp.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("fp.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("fp.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("fp.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("fp.createBySid", query.getUserSid());
} else {
PagerVo<FinPaymentapplyDetailsBelowEveVo> p = new PagerVo<>();
return p;
}
} else {
PagerVo<FinPaymentapplyDetailsBelowEveVo> p = new PagerVo<>();
return p;
}
}*/
if (StringUtils.isNotBlank(query.getMenuUrl())) {
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(query.getOrgPath());
privilegeQuery.setMenuUrl(query.getMenuUrl());
privilegeQuery.setUserSid(query.getUserSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = query.getOrgPath();
orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/");
int i2 = orgSidPath.indexOf("/", i1 + 1);
int i3 = orgSidPath.indexOf("/", i2 + 1);
int i4 = orgSidPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1);
qw.like("s.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("s.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("s.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("s.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("fe.createBySid", query.getUserSid());
} else {
PagerVo<FinPaymentapplyDetailsBelowEveVo> p = new PagerVo<>();
return p;
}
} else {
PagerVo<FinPaymentapplyDetailsBelowEveVo> p = new PagerVo<>();
return p;
}
}
if (StringUtils.isNotBlank(query.getPayCompany())) {
qw.like("fe.payCompany", query.getPayCompany());
}
if (StringUtils.isNotBlank(query.getCostTitleValue())) {
qw.like("fe.costTitleValue", query.getCostTitleValue());
}
if (StringUtils.isNotBlank(query.getReceiveCompany())) {
qw.like("fe.receiveCompany", query.getReceiveCompany());
}
if (StringUtils.isNotBlank(query.getPeriod())) {
qw.like("fe.period", query.getPeriod());
}
if (StringUtils.isNotBlank(query.getRemarks())) {
qw.like("fe.remarks", query.getRemarks());
}
if (StringUtils.isNotBlank(query.getPayCompany())) {
qw.like("fe.payCompany", query.getPayCompany());
}
if (StringUtils.isNotBlank(query.getState())) {
qw.eq("fe.state", query.getState());
}
//融资付款开通日期
qw.apply(StringUtils.isNotBlank(query.getOpenStartDate()), "date_format (fe.openDate,'%Y-%m-%d') >= date_format('" + query.getOpenStartDate() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(query.getOpenEndDate()), "date_format (fe.openDate,'%Y-%m-%d') <= date_format('" + query.getOpenEndDate() + "','%Y-%m-%d')"
);
//平仓付款日期
qw.apply(StringUtils.isNotBlank(query.getExePayStartDate()), "date_format (fe.exePayDate,'%Y-%m-%d') >= date_format('" + query.getExePayStartDate() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(query.getExePayStartDate()), "date_format (fe.exePayDate,'%Y-%m-%d') <= date_format('" + query.getExePayStartDate() + "','%Y-%m-%d')"
);
qw.orderByDesc("fe.createTime");
IPage<FinPaymentapplyDetailsBelowEve> page = PagerUtil.queryToPage(pq);
IPage<FinPaymentapplyDetailsBelowEveVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<FinPaymentapplyDetailsBelowEveVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public PagerVo<FinPaymentapplyDetailsBelowEveVo> chooseEve(PagerQuery<FinPaymentapplyDetailsBelowEveQuery> pq) {
FinPaymentapplyDetailsBelowEveQuery query = pq.getParams();
QueryWrapper<FinPaymentapplyDetailsBelowEve> qw = new QueryWrapper<>();
qw.eq("fe.useOrgSid", query.getUseOrgSid());
if (StringUtils.isNotBlank(query.getPayCompany())) {
qw.like("payCompany", query.getPayCompany());
qw.like("fe.payCompany", query.getPayCompany());
}
if (StringUtils.isNotBlank(query.getCostTitleValue())) {
qw.like("costTitleValue", query.getCostTitleValue());
qw.like("fe.costTitleValue", query.getCostTitleValue());
}
if (StringUtils.isNotBlank(query.getReceiveCompany())) {
qw.like("receiveCompany", query.getReceiveCompany());
qw.like("fe.receiveCompany", query.getReceiveCompany());
}
if (StringUtils.isNotBlank(query.getPeriod())) {
qw.like("period", query.getPeriod());
qw.like("fe.period", query.getPeriod());
}
if (StringUtils.isNotBlank(query.getRemarks())) {
qw.eq("remarks", query.getRemarks());
qw.like("fe.remarks", query.getRemarks());
}
if (StringUtils.isNotBlank(query.getPayCompany())) {
qw.like("fp.payCompany", query.getPayCompany());
qw.like("fe.payCompany", query.getPayCompany());
}
if (StringUtils.isNotBlank(query.getState())) {
qw.eq("fp.state", query.getState());
qw.eq("fe.state", query.getState());
}
//融资付款开通日期
qw.apply(StringUtils.isNotBlank(query.getOpenStartDate()), "date_format (openDate,'%Y-%m-%d') >= date_format('" + query.getOpenStartDate() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(query.getOpenEndDate()), "date_format (openDate,'%Y-%m-%d') <= date_format('" + query.getOpenEndDate() + "','%Y-%m-%d')"
qw.apply(StringUtils.isNotBlank(query.getOpenStartDate()), "date_format (fe.openDate,'%Y-%m-%d') >= date_format('" + query.getOpenStartDate() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(query.getOpenEndDate()), "date_format (fe.openDate,'%Y-%m-%d') <= date_format('" + query.getOpenEndDate() + "','%Y-%m-%d')"
);
//平仓付款日期
qw.apply(StringUtils.isNotBlank(query.getExePayStartDate()), "date_format (exePayDate,'%Y-%m-%d') >= date_format('" + query.getExePayStartDate() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(query.getExePayStartDate()), "date_format (exePayDate,'%Y-%m-%d') <= date_format('" + query.getExePayStartDate() + "','%Y-%m-%d')"
qw.apply(StringUtils.isNotBlank(query.getExePayStartDate()), "date_format (fe.exePayDate,'%Y-%m-%d') >= date_format('" + query.getExePayStartDate() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(query.getExePayStartDate()), "date_format (fe.exePayDate,'%Y-%m-%d') <= date_format('" + query.getExePayStartDate() + "','%Y-%m-%d')"
);
qw.orderByDesc("fe.createTime");
IPage<FinPaymentapplyDetailsBelowEve> page = PagerUtil.queryToPage(pq);
IPage<FinPaymentapplyDetailsBelowEveVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<FinPaymentapplyDetailsBelowEveVo> p = PagerUtil.pageToVo(pagging, null);

45
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplyeve/FinPaymentapplyEveMapper.java

@ -0,0 +1,45 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.fin.biz.finpaymentapplyeve;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.fin.api.finpaymentapplyeve.FinPaymentapplyEveDetailsVo;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import com.yxt.anrui.fin.api.finpaymentapplyeve.FinPaymentapplyEve;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@Mapper
public interface FinPaymentapplyEveMapper extends BaseMapper<FinPaymentapplyEve> {
@Delete("delete from fin_paymentapply_eve where applySid = #{dtoSid}")
void delByMainSid(String dtoSid);
@Select("select * from fin_paymentapply_eve where applySid = #{mainSid}")
List<FinPaymentapplyEveDetailsVo> fetchByMainSid(String sid);
}

5
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplyeve/FinPaymentapplyEveMapper.xml

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.fin.biz.finpaymentapplyeve.FinPaymentapplyEveMapper">
</mapper>

38
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplyeve/FinPaymentapplyEveRest.java

@ -0,0 +1,38 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.fin.biz.finpaymentapplyeve;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.*;
import com.yxt.anrui.fin.api.finpaymentapplyeve.FinPaymentapplyEveFeign;
@Api(tags = "付款申请-平仓")
@RestController
@RequestMapping("v1/finpaymentapplyeve")
public class FinPaymentapplyEveRest implements FinPaymentapplyEveFeign {
}

54
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapplyeve/FinPaymentapplyEveService.java

@ -0,0 +1,54 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.fin.biz.finpaymentapplyeve;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.fin.api.finpaymentapplyeve.FinPaymentapplyEveDetailsVo;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.anrui.fin.api.finpaymentapplyeve.FinPaymentapplyEve;
import com.yxt.anrui.fin.api.finpaymentapplyeve.FinPaymentapplyEveDto;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class FinPaymentapplyEveService extends MybatisBaseService<FinPaymentapplyEveMapper, FinPaymentapplyEve> {
public void insertByDto(FinPaymentapplyEveDto dto) {
FinPaymentapplyEve entity = new FinPaymentapplyEve();
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.insert(entity);
}
public void delByMainSid(String dtoSid) {
baseMapper.delByMainSid(dtoSid);
}
public List<FinPaymentapplyEveDetailsVo> fetchByMainSid(String sid) {
return baseMapper.fetchByMainSid(sid);
}
}

6
anrui-gateway/src/main/resources/application.yml

@ -133,6 +133,12 @@ spring:
uri: lb://yxt-vehfleet
filters:
- StripPrefix=1
- id: yxt-vehfleet
predicates:
- Path= /oa/**
uri: lb://yxt-oa
filters:
- StripPrefix=1
ignore:
whites:

25
yxt-as-ui/src/api/statement/monthlyReport/claimFormRate.js

@ -0,0 +1,25 @@
import request from '@/utils/request'
// 月度报表 三包索赔单生效率统计表
export default {
// 查询分页列表
listPage: function(params) {
return request({
baseURL: "http://127.0.0.1:4523/m1/613533-0-default",
url: '/as/v1/claimFormRate/listPage',
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
},
// 查询详情
getDetail: function(params) {
return request({
baseURL: "http://127.0.0.1:4523/m1/613533-0-default",
url: '/as/v1/claimFormRate/getDetail/' + params,
method: 'get',
})
}
}

17
yxt-as-ui/src/api/statement/monthlyReport/essentialDetails.js

@ -0,0 +1,17 @@
import request from '@/utils/request'
// 月度报表 必备件明细
export default {
// 查询分页列表
listPage: function(params) {
return request({
baseURL: "http://127.0.0.1:4523/m1/613533-0-default",
url: '/as/v1/essentialDetails/listPage',
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
},
}

25
yxt-as-ui/src/api/statement/monthlyReport/oneTimeRate.js

@ -0,0 +1,25 @@
import request from '@/utils/request'
// 月度报表 配件库房一次性满足率统计表
export default {
// 查询分页列表
listPage: function(params) {
return request({
baseURL: "http://127.0.0.1:4523/m1/613533-0-default",
url: '/as/v1/oneTimeRate/listPage',
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
},
// 查询详情
getDetail: function(params) {
return request({
baseURL: "http://127.0.0.1:4523/m1/613533-0-default",
url: '/as/v1/oneTimeRate/getDetail/' + params,
method: 'get',
})
}
}

205
yxt-as-ui/src/views/statement/monthlyReport/claimFormRate/claimFormRate.vue

@ -1,8 +1,207 @@
<template>
<div class="app-container">
<!--列表页面-->
<div v-show="viewState == 1">
<button-bar view-title="月度三包索赔单生效率统计表" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<!--Start查询列表部分-->
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" class="tab-header">
<el-form-item label="选择月份">
<el-date-picker v-model="listQuery.params.createStartTime" value-format="yyyy-MM" format="yyyy-MM"
type="month" placeholder="开始月份"></el-date-picker>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.createEndTime" value-format="yyyy-MM" format="yyyy-MM"
type="month" placeholder="结束月份"></el-date-picker>
</el-form-item>
<el-form-item label="服务站">
<el-input v-model="listQuery.params.deptName" placeholder="" clearable />
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" icon="el-icon-search" size="small" @click="handleFilter">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" size="small" @click="handleReset">重置</el-button>
</div>
</div>
</div>
<!--End查询列表部分-->
<div class="listtop">
<div class="tit">服务站列表</div>
</div>
<!--Start 主页面主要部分 -->
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;"
@row-click="handle">
<!-- <el-table-column fixed type="selection" align="center" width="50" /> -->
<el-table-column fixed label="序号" type="index" width="80" :index="indexMethod" align="center" />
<el-table-column prop="createTime" label="年月" align="center" width="150" />
<el-table-column prop="deptName" label="服务站" align="center" />
</el-table>
</div>
<!--End 主页面主要部分-->
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current"
:limit.sync="listQuery.size" class="pagination" @pagination="getList" />
</div>
</div>
</div>
<!--End查询列表部分-->
<!-- 新增修改部分组件 -->
<divinfo v-show="viewState == 4" ref="divinfo" @doback="resetState" @reloadlist="getList" />
</div>
</template>
<script>
</script>
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import req from '@/api/statement/monthlyReport/claimFormRate'
import divinfo from './claimFormRateDetail.vue'
export default {
name: 'claimFormRate',
components: {
Pagination,
pageye,
ButtonBar,
divinfo
},
data() {
return {
btndisabled: false,
btnList: [{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}],
isSearchShow: false,
searchxianshitit: '显示查询条件',
viewState: 1, // 1 2 3 4
tableKey: 0,
list: [],
sids: [], // SIDs
listLoading: false,
//
listQuery: {
current: 1,
size: 10,
total: 0,
params: {
createStartTime: '',
createEndTime: '',
deptName: '',
userSid: '',
orgPath: '',
menuUrl: ''
}
}
}
},
created() {
//
this.getList()
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
handle(row) {
console.log('handle ' + row.sid)
<style>
</style>
this.viewState = 4
this.$refs['divinfo'].showAdd(row)
},
resetState() {
this.viewState = 1
this.getList()
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'doClose':
this.doClose()
break
default:
break
}
},
// sid
handleSelectionChange(row) {
const aa = []
row.forEach(element => {
aa.push(element.sid)
})
this.sids = aa
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
this.listQuery.params.userSid = window.sessionStorage.getItem('userSid')
this.listQuery.params.orgPath = window.sessionStorage.getItem('defaultOrgPath')
this.listQuery.params.menuUrl = this.$route.path
req.listPage(this.listQuery).then((response) => {
this.listLoading = false
if (response.success) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.list = []
this.listQuery.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
//
handleReset() {
this.listQuery = {
current: 1,
size: 10,
total: 0,
params: {
createStartTime: '',
createEndTime: '',
deptName: '',
userSid: '',
orgPath: '',
menuUrl: ''
}
}
this.getList()
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
</style>

91
yxt-as-ui/src/views/statement/monthlyReport/claimFormRate/claimFormRateDetail.vue

@ -0,0 +1,91 @@
<template>
<div>
<div class="tab-header webtop">
<!-- 标题 -->
<div style="margin: 0 auto;">{{title}}</div>
<!-- start 添加修改按钮 -->
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
<!-- end 详情按钮 -->
</div>
<div style="margin-top: 10px; height: 100%;">
<el-table :key="tableKey" v-loading="listLoading" height="650px" :data="list" border
style="width: 100%;margin-bottom: 50px;">
<el-table-column fixed label="序号" type="index" width="80" :index="index+1" align="center" />
<el-table-column prop="stationEntryDate" label="进站日期" width="100" align="center" />
<el-table-column prop="completionMonth" label="竣工月份" width="100" align="center" />
<el-table-column prop="completionDate" label="竣工日期" width="100" align="center" />
<el-table-column prop="settlementDate" label="结算日期" width="100" align="center" />
<el-table-column prop="repairOrderNo" label="维修单号" width="100" align="center" />
<el-table-column prop="vehMark" label="车牌号" width="100" align="center" />
<el-table-column prop="serviceItem" label="维修项目" width="100" align="center" />
<el-table-column prop="goodsAmount1" label="材料费" width="100" align="center" />
<el-table-column prop="claimHourAmount1" label="工时费" width="100" align="center" />
<el-table-column prop="declarationDate" label="报单日期" width="100" align="center" />
<el-table-column prop="claimBillNo" label="索赔单号" width="100" align="center" />
<el-table-column prop="claimHourAmount2" label="工时费" width="100" align="center" />
<el-table-column prop="goodsAmount2" label="材料费" width="100" align="center" />
<el-table-column prop="outwardAmount" label="外出费用" width="100" align="center" />
<el-table-column prop="otherAmount" label="其他费用" width="100" align="center" />
<el-table-column prop="totalAmount" label="费用合计" width="100" align="center" />
<el-table-column prop="businessClass" label="保内业务分类" width="200" align="center" />
<el-table-column prop="claimManufacturer" label="索赔厂家" width="100" align="center" />
<el-table-column prop="reportSubmitDate" label="让渡报告提报时间" width="200" align="center" />
<el-table-column prop="reportApproveDate" label="让渡报告审批通过时间" width="200" align="center" />
<el-table-column prop="auditStatus" label="审核状态" width="100" align="center" />
<el-table-column prop="effectiveStatus" label="生效状态" width="100" align="center" />
<el-table-column prop="effectiveDate" label="生效时间" width="100" align="center" />
</el-table>
</div>
</div>
</template>
<script>
import req from '@/api/statement/monthlyReport/claimFormRate'
export default {
data() {
return {
index: 0,
tableKey: 0,
listLoading: false,
list: [],
title: "",
}
},
methods: {
showAdd(row) {
this.title = "安瑞集团" + row.deptName + row.createTime + "三包索赔单生效率统计表"
req.getDetail(row.sid)
.then(resp => {
if (resp.success) {
this.list = resp.data
}
})
.catch(e => {
this.$emit('doback')
})
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {
}
this.$emit('doback')
}
}
}
</script>
<style scoped>
</style>

223
yxt-as-ui/src/views/statement/monthlyReport/essentialDetails/essentialDetails.vue

@ -1,8 +1,225 @@
<template>
<div class="app-container">
<!--列表页面-->
<div v-show="viewState == 1">
<button-bar view-title="必备件明细统计表" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<!--Start查询列表部分-->
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" class="tab-header">
<el-form-item label="分公司">
<el-input v-model="listQuery.params.createOrgName" placeholder="" clearable />
</el-form-item>
<el-form-item label="服务站">
<el-input v-model="listQuery.params.deptName" placeholder="" clearable />
</el-form-item>
<el-form-item label="配件名称">
<el-input v-model="listQuery.params.accessoryName" placeholder="" clearable />
</el-form-item>
<el-form-item label="图号">
<el-input v-model="listQuery.params.goodsCode" placeholder="" clearable />
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" icon="el-icon-search" size="small" @click="handleFilter">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" size="small" @click="handleReset">重置</el-button>
</div>
</div>
</div>
<!--End查询列表部分-->
<div class="listtop">
<div class="tit">必备件明细</div>
</div>
<!--Start 主页面主要部分 -->
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;"
@row-click="handle">
<!-- <el-table-column fixed type="selection" align="center" width="50" /> -->
<el-table-column fixed label="序号" type="index" width="80" :index="indexMethod" align="center" />
<el-table-column prop="createOrgName" label="分公司" align="center" width="150" />
<el-table-column prop="deptName" label="服务站" align="center" />
<el-table-column prop="goodsID" label="商品ID" align="center" />
<el-table-column prop="accessoryName" label="配件名称" align="center" />
<el-table-column prop="goodsCode" label="图号" align="center" />
<el-table-column prop="price" label="单价" align="center" />
<el-table-column prop="num" label="数量" align="center" />
<el-table-column prop="amount" label="金额" align="center" />
<el-table-column prop="stockAge" label="库龄(天)" align="center" />
<el-table-column prop="purchaseGoodsDate" label="进货时间" align="center" />
<el-table-column prop="repairOrderNo" label="维修单号" align="center" />
<el-table-column prop="claimBillNo" label="索赔单号" align="center" />
<el-table-column prop="isWarranty" label="截止目前12个月内是否曾保修使用" align="center" />
</el-table>
</div>
<!--End 主页面主要部分-->
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current"
:limit.sync="listQuery.size" class="pagination" @pagination="getList" />
</div>
</div>
</div>
<!--End查询列表部分-->
<!-- 新增修改部分组件 -->
</div>
</template>
<script>
</script>
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import req from '@/api/statement/monthlyReport/essentialDetails'
export default {
name: 'essentialDetails',
components: {
Pagination,
pageye,
ButtonBar,
},
data() {
return {
btndisabled: false,
btnList: [{
type: 'success',
size: 'small',
icon: '',
btnKey: 'doExport',
btnLabel: '导出'
}, {
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}],
isSearchShow: false,
searchxianshitit: '显示查询条件',
viewState: 1, // 1 2 3 4
tableKey: 0,
list: [],
sids: [], // SIDs
listLoading: false,
//
listQuery: {
current: 1,
size: 10,
total: 0,
params: {
"createOrgName": "",
"deptName": "",
"accessoryName": "",
"goodsCode": "",
"userSid": "",
"orgPath": "",
"menuUrl": ""
}
}
}
},
created() {
//
this.getList()
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
handle(row) {
console.log('handle ' + row.sid)
<style>
</style>
this.viewState = 4
this.$refs['divinfo'].showAdd(row)
},
resetState() {
this.viewState = 1
this.getList()
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'doClose':
this.doClose()
break
default:
break
}
},
// sid
handleSelectionChange(row) {
const aa = []
row.forEach(element => {
aa.push(element.sid)
})
this.sids = aa
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
this.listQuery.params.userSid = window.sessionStorage.getItem('userSid')
this.listQuery.params.orgPath = window.sessionStorage.getItem('defaultOrgPath')
this.listQuery.params.menuUrl = this.$route.path
req.listPage(this.listQuery).then((response) => {
this.listLoading = false
if (response.success) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.list = []
this.listQuery.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
//
handleReset() {
this.listQuery = {
current: 1,
size: 10,
total: 0,
params: {
"createOrgName": "",
"deptName": "",
"accessoryName": "",
"goodsCode": "",
"userSid": "",
"orgPath": "",
"menuUrl": ""
}
}
this.getList()
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
</style>

6
yxt-as-ui/src/views/statement/monthlyReport/inventoryManagement/inventoryManagement.vue

@ -11,10 +11,10 @@
<el-form ref="listQueryform" :inline="true" :model="listQuery" class="tab-header">
<el-form-item label="选择月份">
<el-date-picker v-model="listQuery.params.createStartTime" value-format="yyyy-MM" format="yyyy-MM"
type="date" placeholder="开始月份"></el-date-picker>
type="month" placeholder="开始月份"></el-date-picker>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.createEndTime" value-format="yyyy-MM" format="yyyy-MM"
type="date" placeholder="结束月份"></el-date-picker>
type="month" placeholder="结束月份"></el-date-picker>
</el-form-item>
<el-form-item label="服务站">
<el-input v-model="listQuery.params.deptName" placeholder="" clearable />
@ -28,7 +28,7 @@
</div>
<!--End查询列表部分-->
<div class="listtop">
<div class="tit">指标完成情况</div>
<div class="tit">服务站列表</div>
</div>
<!--Start 主页面主要部分 -->
<div class="">

88
yxt-as-ui/src/views/statement/monthlyReport/inventoryManagement/inventoryManagementDetail.vue

@ -153,8 +153,8 @@
list: [],
title: "",
mergeObj: {}, //
// mergeArr: ['', '', '', '', '', '', '', ''], //
mergeArr: ['品牌', '服务站名称', '软件系统', '品名'], //
mergeArr: ['品牌', '服务站名称', '软件系统', '品名', '库存当量出库金额', '库存当量出库占比', '库存当量入库金额', '库存当量入库占比'], //
// mergeArr: ['', '', '', ''], //
}
},
@ -178,7 +178,6 @@
}
}
//
if (this.mergeArr.indexOf(column.property) !== -1) {
// 0
@ -190,6 +189,43 @@
}
}
// var columnIndex1 = 1
// var columnIndex2 = 1
// var columnIndex3 = 1
// for (var i = 0; i < this.list.length; i++) {
// for (var j = 0; j < this.list.length; j++) {
// if (this.list[i]. == this.list[j].) {
// columnIndex1 += 1
// }
// if (this.list[i]. == this.list[j].) {
// columnIndex2 += 1
// }
// if (this.list[i]. == this.list[j].) {
// columnIndex3 += 1
// }
// }
// }
// console.log('>>>>>>>>>1', columnIndex1)
// console.log('>>>>>>>>>2', columnIndex2)
// console.log('>>>>>>>>>3', columnIndex3)
// if (columnIndex === 1) {
// //64ID12
// return [columnIndex1, 1]
// }
// if (columnIndex === 2) {
// //64ID12
// return [columnIndex2, 1]
// }
// if (columnIndex === 3) {
// //64ID12
// return [columnIndex3, 1]
// }
},
@ -218,19 +254,51 @@
if (index === 0) {
this.mergeObj[key].push(1);
} else {
console.log('>>>>>>>>>commodityCurrentChange', item)
console.log('>>>>>>>>>commodityCurrentChange', key)
console.log('>>>>>>>>>commodityCurrentChange', item[key])
console.log('>>>>>>>>>commodityCurrentChange', data[index - 1][key])
// console.log('>>>>>>>>>commodityCurrentChange', item)
// console.log('>>>>>>>>>commodityCurrentChange', key)
// console.log('>>>>>>>>>commodityCurrentChange', item[key])
// console.log('>>>>>>>>>commodityCurrentChange', data[index - 1][key])
// count +1 push 0
if (item[key] === data[index - 1][key]) {
this.mergeObj[key][count] += 1;
this.mergeObj[key].push(0);
if (item.品牌 == data[index - 1].品牌) {
if (item.服务站名称 == data[index - 1].服务站名称) {
if (item.软件系统 == data[index - 1].软件系统) {
if (item.品名 == data[index - 1].品名) {
if (item[key] === data[index - 1][key]) {
this.mergeObj[key][count] += 1;
this.mergeObj[key].push(0);
} else {
//
count = index; //
this.mergeObj[key].push(1); // push 1
}
} else {
//
count = index; //
this.mergeObj[key].push(1); // push 1
}
} else {
//
count = index; //
this.mergeObj[key].push(1); // push 1
}
} else {
//
count = index; //
this.mergeObj[key].push(1); // push 1
}
} else {
//
count = index; //
this.mergeObj[key].push(1); // push 1
}
}
})
})

205
yxt-as-ui/src/views/statement/monthlyReport/oneTimeRate/oneTimeRate.vue

@ -1,8 +1,207 @@
<template>
<div class="app-container">
<!--列表页面-->
<div v-show="viewState == 1">
<button-bar view-title="配件库房一次性满足率统计表" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<!--Start查询列表部分-->
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" class="tab-header">
<el-form-item label="选择月份">
<el-date-picker v-model="listQuery.params.createStartTime" value-format="yyyy-MM" format="yyyy-MM"
type="month" placeholder="开始月份"></el-date-picker>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.createEndTime" value-format="yyyy-MM" format="yyyy-MM"
type="month" placeholder="结束月份"></el-date-picker>
</el-form-item>
<el-form-item label="服务站">
<el-input v-model="listQuery.params.deptName" placeholder="" clearable />
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" icon="el-icon-search" size="small" @click="handleFilter">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" size="small" @click="handleReset">重置</el-button>
</div>
</div>
</div>
<!--End查询列表部分-->
<div class="listtop">
<div class="tit">服务站列表</div>
</div>
<!--Start 主页面主要部分 -->
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;"
@row-click="handle">
<!-- <el-table-column fixed type="selection" align="center" width="50" /> -->
<el-table-column fixed label="序号" type="index" width="80" :index="indexMethod" align="center" />
<el-table-column prop="createTime" label="年月" align="center" width="150" />
<el-table-column prop="deptName" label="服务站" align="center" />
</el-table>
</div>
<!--End 主页面主要部分-->
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current"
:limit.sync="listQuery.size" class="pagination" @pagination="getList" />
</div>
</div>
</div>
<!--End查询列表部分-->
<!-- 新增修改部分组件 -->
<divinfo v-show="viewState == 4" ref="divinfo" @doback="resetState" @reloadlist="getList" />
</div>
</template>
<script>
</script>
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import req from '@/api/statement/monthlyReport/oneTimeRate'
import divinfo from './oneTimeRateDetail.vue'
export default {
name: 'oneTimeRate',
components: {
Pagination,
pageye,
ButtonBar,
divinfo
},
data() {
return {
btndisabled: false,
btnList: [{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}],
isSearchShow: false,
searchxianshitit: '显示查询条件',
viewState: 1, // 1 2 3 4
tableKey: 0,
list: [],
sids: [], // SIDs
listLoading: false,
//
listQuery: {
current: 1,
size: 10,
total: 0,
params: {
createStartTime: '',
createEndTime: '',
deptName: '',
userSid: '',
orgPath: '',
menuUrl: ''
}
}
}
},
created() {
//
this.getList()
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
handle(row) {
console.log('handle ' + row.sid)
<style>
</style>
this.viewState = 4
this.$refs['divinfo'].showAdd(row)
},
resetState() {
this.viewState = 1
this.getList()
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'doClose':
this.doClose()
break
default:
break
}
},
// sid
handleSelectionChange(row) {
const aa = []
row.forEach(element => {
aa.push(element.sid)
})
this.sids = aa
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
this.listQuery.params.userSid = window.sessionStorage.getItem('userSid')
this.listQuery.params.orgPath = window.sessionStorage.getItem('defaultOrgPath')
this.listQuery.params.menuUrl = this.$route.path
req.listPage(this.listQuery).then((response) => {
this.listLoading = false
if (response.success) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.list = []
this.listQuery.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
//
handleReset() {
this.listQuery = {
current: 1,
size: 10,
total: 0,
params: {
createStartTime: '',
createEndTime: '',
deptName: '',
userSid: '',
orgPath: '',
menuUrl: ''
}
}
this.getList()
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
</style>

218
yxt-as-ui/src/views/statement/monthlyReport/oneTimeRate/oneTimeRateDetail.vue

@ -0,0 +1,218 @@
<template>
<div>
<div class="tab-header webtop">
<!-- 标题 -->
<div style="margin: 0 auto;">{{title}}</div>
<!-- start 添加修改按钮 -->
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
<!-- end 详情按钮 -->
</div>
<div style="margin-top: 10px; height: 100%;">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;"
:span-method="objectSpanMethods" show-summary :summary-method="getSummaries">
<el-table-column fixed label="序号" type="index" width="80" :index="index+1" align="center" />
<el-table-column prop="completionMonth" label="竣工月份" align="center" width="150" />
<el-table-column prop="completionDate" label="竣工日期" align="center" width="150" />
<el-table-column prop="settlementDate" label="结算日期" align="center" width="150" />
<el-table-column prop="repairOrderNo" label="维修单号" align="center" width="150" />
<el-table-column prop="vehMark" label="车牌号" align="center" width="150" />
<el-table-column prop="serviceItem" label="维修项目" align="center" width="150" />
<el-table-column prop="accessoryName" label="所需配件名称" align="center" width="150" />
<el-table-column prop="goodsCode" label="图号" align="center" width="150" />
<el-table-column prop="num" label="所需数量" align="center" width="150" />
<el-table-column prop="disposableNum" label="库房一次性提供数量" align="center" width="150" />
<el-table-column label="库房未能一次性提供的解决方案" align="center">
<el-table-column prop="outsourceNum" label="外购数量" align="center" width="120" />
<el-table-column prop="emergencyNum" label="订应急数量" align="center" width="120" />
<el-table-column prop="otherNum" label="其它数量" align="center" width="120" />
</el-table-column>
<el-table-column prop="goodsArrivedDate" label="配件到货日期(最后入库日期)" align="center" width="150" />
<el-table-column prop="goodsDistributionDate" label="配件装配日期(最后出库日期)" align="center" width="150" />
<el-table-column prop="OneRate" label="配件一次性满足率" align="center" width="150" />
<el-table-column prop="outsourceRate" label="外购率" align="center" width="150" />
<el-table-column prop="emergencyRate" label="订应急率" align="center" width="150" />
</el-table>
</div>
</div>
</template>
<script>
import req from '@/api/statement/monthlyReport/oneTimeRate'
export default {
data() {
return {
index: 0,
tableKey: 0,
listLoading: false,
list: [],
title: "",
mergeObj: {}, //
mergeArr: ['completionMonth', 'completionDate', 'settlementDate', 'repairOrderNo', 'vehMark'], //
// mergeArr: ['', '', '', ''], //
}
},
methods: {
//
getSummaries(param) {
const {
columns,
data
} = param
const sums = []
columns.forEach((column, index) => {
if (index === 0) {
sums[index] = '合计:'
return
}
const values = data.map(item => Number(item[column.property]))
if (column.property === 'num') { //
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr)
console.log('>>>>>>>>>commodityCurrentChange', prev)
console.log('>>>>>>>>>commodityCurrentChange', value)
if (!isNaN(value)) {
return (Number(prev) + Number(curr))
} else {
return Number(prev)
}
}, 0)
sums[index] += ''
} else if (column.property === 'disposableNum') { //
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr)
if (!isNaN(value)) {
return (Number(prev) + Number(curr))
} else {
return Number(prev)
}
}, 0)
sums[index] += ''
} else if (column.property === 'outsourceNum') { //
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr)
if (!isNaN(value)) {
return (Number(prev) + Number(curr))
} else {
return Number(prev)
}
}, 0)
sums[index] += ''
} else if (column.property === 'emergencyNum') { //
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr)
if (!isNaN(value)) {
return (Number(prev) + Number(curr))
} else {
return Number(prev)
}
}, 0)
sums[index] += ''
} else if (column.property === 'otherNum') { //
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr)
if (!isNaN(value)) {
return (Number(prev) + Number(curr))
} else {
return Number(prev)
}
}, 0)
sums[index] += ''
}
})
return sums
},
objectSpanMethods({
row, //
column, //
rowIndex, //
columnIndex //
}) {
// if (row. == '') {
// if (columnIndex === 4) {
// //64ID12
// return [1, 2]
// }
// if (columnIndex === 5) {
// //64ID12
// return [0, 0]
// }
// }
//
if (this.mergeArr.indexOf(column.property) !== -1) {
// 0
if (this.mergeObj[column.property][rowIndex]) {
return [this.mergeObj[column.property][rowIndex], 1]
} else {
// 0
return [0, 0];
}
}
},
showAdd(row) {
this.title = "安瑞集团" + row.deptName + row.createTime + "配件库房一次性满足率统计表"
req.getDetail(row.sid)
.then(resp => {
if (resp.success) {
this.list = resp.data
this.getSpanArr(this.list)
}
})
.catch(e => {
this.$emit('doback')
})
},
// getSpanArr
getSpanArr(data) {
this.mergeArr.forEach((key, index1) => {
let count = 0; //
this.mergeObj[key] = []; //
data.forEach((item, index) => {
// index == 0 push 1
if (index === 0) {
this.mergeObj[key].push(1);
} else {
// console.log('>>>>>>>>>commodityCurrentChange', data[index - 1][key])
// count +1 push 0
if (item[key] === data[index - 1][key]) {
this.mergeObj[key][count] += 1;
this.mergeObj[key].push(0);
} else {
//
count = index; //
this.mergeObj[key].push(1); // push 1
}
}
})
})
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {
}
this.$emit('doback')
}
}
}
</script>
<style scoped>
</style>

2
yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdExpatriatesApplyRest.java

@ -69,7 +69,7 @@ public class AdExpatriatesApplyRest {
@DeleteMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids) {
ResultBean rb = ResultBean.fireFail();
adExpatriatesApplyService.delBySids(sids);
adExpatriatesApplyService.delAll(sids);
return rb.success();
}

36
yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdExpatriatesDetailRest.java

@ -0,0 +1,36 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.api;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.*;
@Api(tags = "驻外人员认定列表")
@RestController
@RequestMapping("v1/adexpatriatesdetail")
public class AdExpatriatesDetailRest {
}

18
yxt-oa/src/main/java/com/yxt/anrui/oa/api/HrHireApplyRest.java

@ -3,10 +3,13 @@ package com.yxt.anrui.oa.api;
import com.yxt.anrui.oa.biz.hrhireapply.HrHireApplyDto;
import com.yxt.anrui.oa.biz.hrhireapply.HrHireApplyService;
import com.yxt.anrui.oa.biz.hrhireapply.HrHireApplyVo;
import com.yxt.anrui.oa.biz.oaform.flowable.CompleteDto;
import com.yxt.anrui.oa.biz.oaform.flowable.NodeQuery;
import com.yxt.anrui.oa.biz.oaform.flowable.TaskDto;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
@ -48,9 +51,22 @@ public class HrHireApplyRest {
}
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
@PutMapping(value = "/reject")
public ResultBean reject(@Valid @RequestBody TaskDto dto) {
return hrHireApplyService.reject(dto);
}
@ApiOperation(value = "办理(同意)")
@PutMapping("/complete")
public ResultBean complete(@Valid @RequestBody CompleteDto dto) {
return hrHireApplyService.complete(dto);
}
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@SpringQueryMap NodeQuery query) {
return hrHireApplyService.getFlowOperateTitle(query);
}
}

10
yxt-oa/src/main/java/com/yxt/anrui/oa/api/OaFormRest.java

@ -56,7 +56,7 @@ public class OaFormRest {
}
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
@PutMapping("/complete")
public ResultBean complete(@Valid @RequestBody CompleteDto dto) {
BusinessVariablesDto businessVariables = new BusinessVariablesDto();
BeanUtil.copyProperties(dto, businessVariables);
@ -76,25 +76,25 @@ public class OaFormRest {
}
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
@PutMapping(value = "/reject")
public ResultBean reject(@Valid @RequestBody TaskDto dto) {
return oaFormService.reject(dto);
}
@ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcess")
@PutMapping(value = "/revokeProcess")
public ResultBean revokeProcess(@Valid @RequestBody TaskDto dto) {
return oaFormService.revokeProcess(dto);
}
@ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcess")
@PutMapping(value = "/breakProcess")
public ResultBean breakProcess(@Valid @RequestBody TaskDto dto) {
return oaFormService.breakProcess(dto);
}
@ApiOperation(value = "加签")
@PostMapping(value = "/delegate")
@PutMapping(value = "/delegate")
public ResultBean delegate(@RequestBody DelegateDto dto) {
return oaFormService.delegate(dto);
}

7
yxt-oa/src/main/java/com/yxt/anrui/oa/api/OaMendApplyRest.java

@ -122,4 +122,11 @@ public class OaMendApplyRest {
public ResultBean<List<NodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap NodeQuery query) {
return oaMendApplyService.getNextNodesForSubmit(query);
}
@ApiOperation("移动端获取上一环节获取下一环节")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@SpringQueryMap NodeQuery query) {
return oaMendApplyService.getFlowOperateTitle(query);
}
}

3
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyDto.java

@ -26,6 +26,7 @@
package com.yxt.anrui.oa.biz.adexpatriatesapply;
import com.yxt.anrui.oa.biz.adexpatriatesdetail.AdExpatriatesDetailDto;
import com.yxt.anrui.oa.biz.oaform.OaFormDto;
import com.yxt.common.core.dto.Dto;
@ -65,4 +66,6 @@ public class AdExpatriatesApplyDto extends OaFormDto {
private List<String> files = new ArrayList<>();
@ApiModelProperty("文件")
private List<String> appes = new ArrayList<>();
private List<AdExpatriatesDetailDto> adExpatriatesDetailList = new ArrayList<>();
}

2
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyMapper.java

@ -49,4 +49,6 @@ import org.apache.ibatis.annotations.Param;
public interface AdExpatriatesApplyMapper extends BaseMapper<AdExpatriatesApply> {
IPage<AdExpatriatesApplyVo> selectPageVo(IPage<AdExpatriatesApply> page, @Param(Constants.WRAPPER) Wrapper<AdExpatriatesApply> qw);
int selectBySid(String join);
}

12
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyMapper.xml

@ -6,10 +6,6 @@
<select id="selectPageVo" resultType="com.yxt.anrui.oa.biz.adexpatriatesapply.AdExpatriatesApplyVo">
SELECT ae.sid,
ae.remarks,
ae.expatriatesPost,
ae.expatriatesHomeAddress,
ae.expatriatesWorkAddress,
ae.expatriatesDate,
ae.formSid,
ofm.billNo,
ofm.createByName,
@ -33,4 +29,12 @@
${ew.sqlSegment}
</where>
</select>
<select id="selectBySid" resultType="int">
SELECT COUNT(*)
FROM ad_expatriates_apply ae
left join oa_form ofm on ae.formSid = ofm.sid
WHERE ofm.nodeState != '待提交'
and find_in_set(oa.sid, #{list})
</select>
</mapper>

32
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyService.java

@ -28,6 +28,9 @@ package com.yxt.anrui.oa.biz.adexpatriatesapply;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.oa.biz.adexpatriatesdetail.AdExpatriatesDetailDto;
import com.yxt.anrui.oa.biz.adexpatriatesdetail.AdExpatriatesDetailService;
import com.yxt.anrui.oa.biz.adexpatriatesdetail.AdExpatriatesDetailVo;
import com.yxt.anrui.oa.biz.oaappendix.OaAppendixService;
import com.yxt.anrui.oa.biz.oaform.OaFormRuleEnum;
import com.yxt.anrui.oa.biz.oaform.OaFormService;
@ -57,6 +60,8 @@ public class AdExpatriatesApplyService extends MybatisBaseService<AdExpatriatesA
private OaAppendixService oaAppendixService;
@Autowired
private OaFormService oaFormService;
@Autowired
private AdExpatriatesDetailService adExpatriatesDetailService;
public PagerVo<AdExpatriatesApplyVo> listPageVo(PagerQuery<AdExpatriatesApplyQuery> pq) {
AdExpatriatesApplyQuery query = pq.getParams();
@ -77,7 +82,7 @@ public class AdExpatriatesApplyService extends MybatisBaseService<AdExpatriatesA
String sid = dto.getSid();
List<String> files = dto.getFiles();
List<String> appes = dto.getAppes();
List<AdExpatriatesDetailDto> adExpatriatesDetailList = dto.getAdExpatriatesDetailList();
if (StringUtils.isBlank(sid)) {
// 新建操作
AdExpatriatesApply entity = new AdExpatriatesApply();
@ -94,11 +99,23 @@ public class AdExpatriatesApplyService extends MybatisBaseService<AdExpatriatesA
entity.setFormSid(resultBean.getData());
baseMapper.insert(entity);
sid = entity.getSid();
//保存认定人员列表信息
for (AdExpatriatesDetailDto adExpatriatesDetailDto : adExpatriatesDetailList) {
adExpatriatesDetailDto.setMainSid(sid);
adExpatriatesDetailService.insertByDto(adExpatriatesDetailDto);
}
} else {
// 更新操作
AdExpatriatesApply entity = fetchBySid(sid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity);
//删除相关认定人员列表信息
adExpatriatesDetailService.delByMainSid(sid);
//保存认定人员列表信息
for (AdExpatriatesDetailDto adExpatriatesDetailDto : adExpatriatesDetailList) {
adExpatriatesDetailDto.setMainSid(sid);
adExpatriatesDetailService.insertByDto(adExpatriatesDetailDto);
}
}
// 处理附件
saveFiles(sid, files, OaFileEnum.ADEXPATRIATESAPPLY.getAttachType(), "图片");
@ -116,6 +133,8 @@ public class AdExpatriatesApplyService extends MybatisBaseService<AdExpatriatesA
AdExpatriatesApply entity = fetchBySid(sid);
AdExpatriatesApplyVo vo = new AdExpatriatesApplyVo();
BeanUtil.copyProperties(entity, vo);
List<AdExpatriatesDetailVo> adExpatriatesDetailList = adExpatriatesDetailService.fetchByMainSid(sid);
vo.setAdExpatriatesDetailList(adExpatriatesDetailList);
return vo;
}
@ -224,4 +243,15 @@ public class AdExpatriatesApplyService extends MybatisBaseService<AdExpatriatesA
query.setFormVariables(formVariables);
return oaFormService.getPreviousNodesForReject(query);
}
public ResultBean delAll(String[] sids) {
ResultBean rb = ResultBean.fireFail();
//查询该sid中是否有流程不是待提交的
int count = baseMapper.selectBySid(StringUtils.join(sids, ","));
if (count > 0) {
return rb.setMsg("删除的数据中包含已提交或已办结审批的数据,删除失败");
}
delBySids(sids);
return rb.success();
}
}

4
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyVo.java

@ -26,6 +26,8 @@
package com.yxt.anrui.oa.biz.adexpatriatesapply;
import com.yxt.anrui.oa.biz.adexpatriatesdetail.AdExpatriatesDetailDto;
import com.yxt.anrui.oa.biz.adexpatriatesdetail.AdExpatriatesDetailVo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
@ -96,4 +98,6 @@ public class AdExpatriatesApplyVo implements Vo {
private List<String> files = new ArrayList<>();
@ApiModelProperty("附件")
private List<String> appes = new ArrayList<>();
private List<AdExpatriatesDetailVo> adExpatriatesDetailList = new ArrayList<>();
}

74
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetail.java

@ -0,0 +1,74 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.biz.adexpatriatesdetail;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: yxt-oa(认定人员) <br/>
* File: AdExpatriatesDetail.java <br/>
* Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetail <br/>
* Description: 驻外人员认定列表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-01-20 15:35:08 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "驻外人员认定列表", description = "驻外人员认定列表")
@TableName("ad_expatriates_detail")
public class AdExpatriatesDetail extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("申请sid")
private String mainSid; // 申请sid
@ApiModelProperty("驻外人员sid")
private String expatriatesSid; // 驻外人员sid
@ApiModelProperty("驻外人员姓名")
private String expatriatesName; // 驻外人员姓名
@ApiModelProperty("驻外人员部门sid")
private String expatriatesDeptSid; // 驻外人员部门sid
@ApiModelProperty("驻外人员部门名称")
private String expatriatesDeptName; // 驻外人员部门名称
@ApiModelProperty("驻外人员职位sid")
private String expatriatesPostSid; // 驻外人员职位sid
@ApiModelProperty("驻外人员职位名称")
private String expatriatesPostName; // 驻外人员职位名称
@ApiModelProperty("驻外人员家庭常住地址")
private String expatriatesHomeAddress; // 驻外人员家庭常住地址
@ApiModelProperty("驻外人员工作地址")
private String expatriatesWorkAddress; // 驻外人员工作地址
@ApiModelProperty("驻外人员开始驻外时间")
private String expatriatesDate; // 驻外人员开始驻外时间
}

75
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetailDto.java

@ -0,0 +1,75 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.biz.adexpatriatesdetail;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: yxt-oa(认定人员) <br/>
* File: AdExpatriatesDetailDto.java <br/>
* Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailDto <br/>
* Description: 驻外人员认定列表 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-01-20 15:35:08 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "驻外人员认定列表 数据传输对象", description = "驻外人员认定列表 数据传输对象")
public class AdExpatriatesDetailDto implements Dto {
private String sid; // sid
@ApiModelProperty("申请sid")
private String mainSid; // 申请sid
@ApiModelProperty("驻外人员sid")
private String expatriatesSid; // 驻外人员sid
@ApiModelProperty("驻外人员姓名")
private String expatriatesName; // 驻外人员姓名
@ApiModelProperty("驻外人员部门sid")
private String expatriatesDeptSid; // 驻外人员部门sid
@ApiModelProperty("驻外人员部门名称")
private String expatriatesDeptName; // 驻外人员部门名称
@ApiModelProperty("驻外人员职位sid")
private String expatriatesPostSid; // 驻外人员职位sid
@ApiModelProperty("驻外人员职位名称")
private String expatriatesPostName; // 驻外人员职位名称
@ApiModelProperty("驻外人员家庭常住地址")
private String expatriatesHomeAddress; // 驻外人员家庭常住地址
@ApiModelProperty("驻外人员工作地址")
private String expatriatesWorkAddress; // 驻外人员工作地址
@ApiModelProperty("驻外人员开始驻外时间")
private String expatriatesDate; // 驻外人员开始驻外时间
}

43
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetailMapper.java

@ -0,0 +1,43 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.biz.adexpatriatesdetail;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@Mapper
public interface AdExpatriatesDetailMapper extends BaseMapper<AdExpatriatesDetail> {
@Delete("delete from ad_expatriates_detail where mainSid = #{mainSid}")
void delByMainSid(String mainSid);
@Select("select * from ad_expatriates_detail where mainSid = #{mainSid}")
List<AdExpatriatesDetailVo> fetchByMainSid(String mainSid);
}

5
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetailMapper.xml

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.oa.biz.adexpatriatesdetail.AdExpatriatesDetailMapper">
</mapper>

73
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetailQuery.java

@ -0,0 +1,73 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.biz.adexpatriatesdetail;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: yxt-oa(认定人员) <br/>
* File: AdExpatriatesDetailQuery.java <br/>
* Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailQuery <br/>
* Description: 驻外人员认定列表 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-01-20 15:35:08 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "驻外人员认定列表 查询条件", description = "驻外人员认定列表 查询条件")
public class AdExpatriatesDetailQuery implements Query {
@ApiModelProperty("申请sid")
private String mainSid; // 申请sid
@ApiModelProperty("驻外人员sid")
private String expatriatesSid; // 驻外人员sid
@ApiModelProperty("驻外人员姓名")
private String expatriatesName; // 驻外人员姓名
@ApiModelProperty("驻外人员部门sid")
private String expatriatesDeptSid; // 驻外人员部门sid
@ApiModelProperty("驻外人员部门名称")
private String expatriatesDeptName; // 驻外人员部门名称
@ApiModelProperty("驻外人员职位sid")
private String expatriatesPostSid; // 驻外人员职位sid
@ApiModelProperty("驻外人员职位名称")
private String expatriatesPostName; // 驻外人员职位名称
@ApiModelProperty("驻外人员家庭常住地址")
private String expatriatesHomeAddress; // 驻外人员家庭常住地址
@ApiModelProperty("驻外人员工作地址")
private String expatriatesWorkAddress; // 驻外人员工作地址
@ApiModelProperty("驻外人员开始驻外时间")
private String expatriatesDate; // 驻外人员开始驻外时间
}

51
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetailService.java

@ -0,0 +1,51 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.biz.adexpatriatesdetail;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.common.base.service.MybatisBaseService;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class AdExpatriatesDetailService extends MybatisBaseService<AdExpatriatesDetailMapper, AdExpatriatesDetail> {
public void insertByDto(AdExpatriatesDetailDto dto) {
AdExpatriatesDetail entity = new AdExpatriatesDetail();
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.insert(entity);
}
public void delByMainSid(String mainSid) {
baseMapper.delByMainSid(mainSid);
}
public List<AdExpatriatesDetailVo> fetchByMainSid(String mainSid) {
return baseMapper.fetchByMainSid(mainSid);
}
}

75
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetailVo.java

@ -0,0 +1,75 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.biz.adexpatriatesdetail;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: yxt-oa(认定人员) <br/>
* File: AdExpatriatesDetailVo.java <br/>
* Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailVo <br/>
* Description: 驻外人员认定列表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-01-20 15:35:08 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "驻外人员认定列表 视图数据对象", description = "驻外人员认定列表 视图数据对象")
public class AdExpatriatesDetailVo implements Vo {
private String sid; // sid
@ApiModelProperty("申请sid")
private String mainSid; // 申请sid
@ApiModelProperty("驻外人员sid")
private String expatriatesSid; // 驻外人员sid
@ApiModelProperty("驻外人员姓名")
private String expatriatesName; // 驻外人员姓名
@ApiModelProperty("驻外人员部门sid")
private String expatriatesDeptSid; // 驻外人员部门sid
@ApiModelProperty("驻外人员部门名称")
private String expatriatesDeptName; // 驻外人员部门名称
@ApiModelProperty("驻外人员职位sid")
private String expatriatesPostSid; // 驻外人员职位sid
@ApiModelProperty("驻外人员职位名称")
private String expatriatesPostName; // 驻外人员职位名称
@ApiModelProperty("驻外人员家庭常住地址")
private String expatriatesHomeAddress; // 驻外人员家庭常住地址
@ApiModelProperty("驻外人员工作地址")
private String expatriatesWorkAddress; // 驻外人员工作地址
@ApiModelProperty("驻外人员开始驻外时间")
private String expatriatesDate; // 驻外人员开始驻外时间
}

57
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhireapply/HrHireApplyService.java

@ -9,8 +9,7 @@ import com.yxt.anrui.oa.biz.oaform.FormCommon;
import com.yxt.anrui.oa.biz.oaform.OaForm;
import com.yxt.anrui.oa.biz.oaform.OaFormRuleEnum;
import com.yxt.anrui.oa.biz.oaform.OaFormService;
import com.yxt.anrui.oa.biz.oaform.flowable.SubmitDto;
import com.yxt.anrui.oa.biz.oaform.flowable.TaskDto;
import com.yxt.anrui.oa.biz.oaform.flowable.*;
import com.yxt.anrui.oa.feign.flowable.flow.ProcDefEnum;
import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationVo;
@ -58,6 +57,8 @@ public class HrHireApplyService extends MybatisBaseService<HrHireApplyMapper, Hr
return rb.setMsg("该申请不存在");
}
OaForm oaForm = oaFormService.fetchBySid(sid);
hrHireApplyVo.setTaskId(oaForm.getTaskId());
hrHireApplyVo.setProcInsId(oaForm.getProcInstId());
//根据部门sid获取orgPath并赋值
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(oaForm.getDeptSid()).getData();
String orgSidPath = organizationVo.getOrgSidPath();
@ -155,12 +156,64 @@ public class HrHireApplyService extends MybatisBaseService<HrHireApplyMapper, Hr
return oaFormService.reject(dto);
}
/**
* 办理同意
*
* @param dto
* @return
*/
public ResultBean complete(CompleteDto dto) {
Map<String, Object> formVariables = dto.getFormVariables();
formVariables = getMap(formVariables, dto.getBusinessSid());
dto.setFormVariables(formVariables);
BusinessVariablesDto businessVariablesDto = new BusinessVariablesDto();
BeanUtil.copyProperties(dto, businessVariablesDto);
return oaFormService.complete(businessVariablesDto);
}
public ResultBean<String> getFlowOperateTitle(NodeQuery query) {
ResultBean<String> rb = ResultBean.fireFail();
//0 上一环节 1下一环节
int next = query.getNext();
Map<String, Object> formVariables = query.getFormVariables();
formVariables = getMap(formVariables, query.getBusinessSid());
query.setFormVariables(formVariables);
String data = "";
if (next == 0) {
ResultBean<List<NodeVo>> resultBean = oaFormService.getPreviousNodesForReject(query);
if (resultBean.getSuccess()) {
resultBean.getData().removeAll(Collections.singleton(null));
data = resultBean.getData().get(0).getName();
} else {
return rb.setMsg(resultBean.getMsg());
}
} else if (next == 1) {
ResultBean<List<NodeVo>> resultBean = oaFormService.getNextNodesForSubmit(query);
if (resultBean.getSuccess()) {
resultBean.getData().removeAll(Collections.singleton(null));
data = resultBean.getData().get(0).getName();
} else {
return rb.setMsg(resultBean.getMsg());
}
} else {
return rb.setMsg("参数错误:next");
}
return rb.success().setData(data);
}
public Map<String, Object> getMap(Map<String, Object> formVariables, String sid) {
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", sid);
appMap.put("editUrl", "approval/#/pages/EditOnboradingApplyActivity?sid=" + sid);
appMap.put("detailUrl", "approval/#/pages/DetailOnboradingApplyActivity?sid=" + sid);
appMap.put("flowOperateUrl", "oa/v1/HrHireApply/getFlowOperateTitle");
appMap.put("agreeUrl", "oa/v1/HrHireApply/complete");
appMap.put("stopUrl", "oa/v1/oaform/breakProcess");
appMap.put("rejectUrl", "oa/v1/HrHireApply/reject");
appMap.put("recallUrl", "oa/v1/oaform/revokeProcess");
appMap.put("signUrl", "oa/v1/oaform/delegate");
appMap.put("transferUrl", "oa/v1/oaform/assignTask");
formVariables.put("app", appMap);
//根据组织查询是否是分公司
OaForm oaForm = oaFormService.fetchBySid(sid);

4
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhireapply/HrHireApplyVo.java

@ -25,4 +25,8 @@ public class HrHireApplyVo {
private String isFinanceValue;
private List<HrHireDetailsVo> list = new ArrayList<>();
private String taskId;
@ApiModelProperty("流程实例id")
private String procInsId;
}

2
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormService.java

@ -381,6 +381,7 @@ public class OaFormService extends MybatisBaseService<OaFormMapper, OaForm> {
if (businessTaskId.equals(dto.getTaskId())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(dto, flowTaskVo);
flowTaskVo.setInstanceId(dto.getProcInsId());
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.revokeProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
@ -417,6 +418,7 @@ public class OaFormService extends MybatisBaseService<OaFormMapper, OaForm> {
if (dto.getUserSid().equals(oaForm.getCreateBySid())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(dto, flowTaskVo);
flowTaskVo.setInstanceId(dto.getProcInsId());
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());

5
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/NodeQuery.java

@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.HashMap;
import java.util.Map;
@ -22,4 +23,8 @@ public class NodeQuery {
private String businessSid;
private Map<String, Object> formVariables = new HashMap<>();
@ApiModelProperty(value = "0 上一环节 1下一环节")
@NotNull(message = "参数错误:next")
private Integer next;
}

41
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyService.java

@ -158,15 +158,15 @@ public class OaMendApplyService extends MybatisBaseService<OaMendApplyMapper, Oa
baseMapper.updateById(entity);
}
// 处理附件
saveFiles(sid, files, OaFileEnum.OAMENDAPPLY.getAttachType(),"图片");
saveFiles(sid, files, OaFileEnum.OAMENDAPPLY.getAttachType(), "图片");
return rb.success().setData(sid);
}
// 保存文件
private void saveFiles(String sid, List<String> files, String attachType,String fileType) {
private void saveFiles(String sid, List<String> files, String attachType, String fileType) {
files.removeAll(Collections.singleton(null));
oaAppendixService.saveFile(sid, files, attachType,fileType);
oaAppendixService.saveFile(sid, files, attachType, fileType);
}
public OaMendApplyVo fetchDetailsVoBySid(String sid) {
@ -294,6 +294,41 @@ public class OaMendApplyService extends MybatisBaseService<OaMendApplyMapper, Oa
return oaFormService.getPreviousNodesForReject(query);
}
public ResultBean<String> getFlowOperateTitle(NodeQuery query) {
ResultBean<String> rb = ResultBean.fireFail();
//0 上一环节 1下一环节
int next = query.getNext();
Map<String, Object> formVariables = query.getFormVariables();
//添加网关
// formVariables.put("", "");
//若有移动端,则需和移动端沟通具体参数,若没有删去即可。
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", query.getBusinessSid());
formVariables.put("app", appMap);
query.setFormVariables(formVariables);
String data = "";
if (next == 0) {
ResultBean<List<NodeVo>> resultBean = oaFormService.getPreviousNodesForReject(query);
if (resultBean.getSuccess()) {
resultBean.getData().removeAll(Collections.singleton(null));
data = resultBean.getData().get(0).getName();
} else {
return rb.setMsg(resultBean.getMsg());
}
} else if (next == 1) {
ResultBean<List<NodeVo>> resultBean = oaFormService.getNextNodesForSubmit(query);
if (resultBean.getSuccess()) {
resultBean.getData().removeAll(Collections.singleton(null));
data = resultBean.getData().get(0).getName();
} else {
return rb.setMsg(resultBean.getMsg());
}
} else {
return rb.setMsg("参数错误:next");
}
return rb.success().setData(data);
}
/**
* 具体申请设置网关参数的统一方法
*/

Loading…
Cancel
Save