102 changed files with 2806 additions and 72 deletions
@ -0,0 +1,27 @@ |
|||||
|
package com.yxt.anrui.base.api.basevehicle; |
||||
|
|
||||
|
import com.yxt.common.core.query.Query; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.util.ArrayList; |
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/8 11:21 |
||||
|
* @Description |
||||
|
*/ |
||||
|
@Data |
||||
|
public class PayBaseVehicleQuery implements Query { |
||||
|
private static final long serialVersionUID = 8939482367294270164L; |
||||
|
|
||||
|
@ApiModelProperty(value = "已选择的车辆的sid") |
||||
|
private List<String> sidList = new ArrayList<>(); |
||||
|
|
||||
|
@ApiModelProperty(value = "车架号") |
||||
|
private String vinNo; |
||||
|
|
||||
|
@ApiModelProperty(value = "用户sid") |
||||
|
private String userSid; |
||||
|
} |
@ -0,0 +1,28 @@ |
|||||
|
package com.yxt.anrui.base.api.basevehicle; |
||||
|
|
||||
|
import com.yxt.common.core.vo.Vo; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/8 11:16 |
||||
|
* @Description |
||||
|
*/ |
||||
|
@Data |
||||
|
public class PayBaseVehicleVo implements Vo { |
||||
|
private static final long serialVersionUID = 8935506131970564858L; |
||||
|
|
||||
|
@ApiModelProperty("车型名称") |
||||
|
private String modelName; |
||||
|
@ApiModelProperty("车型sid") |
||||
|
private String modelSid; |
||||
|
@ApiModelProperty("配置sid") |
||||
|
private String configSid; |
||||
|
@ApiModelProperty("车辆sid") |
||||
|
private String vehSid; |
||||
|
@ApiModelProperty("车架号") |
||||
|
private String vinNo; |
||||
|
@ApiModelProperty("厂家结算价") |
||||
|
private String costPrice; |
||||
|
} |
@ -0,0 +1,62 @@ |
|||||
|
package com.yxt.anrui.fin.api.fincostapply; |
||||
|
|
||||
|
import com.yxt.common.core.vo.Vo; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/4 18:07 |
||||
|
* @Description |
||||
|
*/ |
||||
|
@Data |
||||
|
public class AppFinCostApplyVo implements Vo { |
||||
|
private static final long serialVersionUID = 7253342244052642678L; |
||||
|
|
||||
|
@ApiModelProperty("费用名称") |
||||
|
private String costTitleValue; |
||||
|
|
||||
|
@ApiModelProperty("创建时间") |
||||
|
private String createTime; |
||||
|
|
||||
|
//申请人
|
||||
|
private String name; |
||||
|
|
||||
|
//费用类型
|
||||
|
private String costTypeValue; |
||||
|
|
||||
|
//申请费用
|
||||
|
private String cost; |
||||
|
|
||||
|
//使用方式
|
||||
|
private String useTypeValue; |
||||
|
|
||||
|
//备注
|
||||
|
private String remarks; |
||||
|
|
||||
|
//是否涉及车辆
|
||||
|
@ApiModelProperty("是否涉及车辆:1是,0否") |
||||
|
private String isVeh; |
||||
|
|
||||
|
private String isVehKey; |
||||
|
|
||||
|
//涉及车辆
|
||||
|
private String vins; |
||||
|
|
||||
|
//任务id
|
||||
|
private String taskId; |
||||
|
|
||||
|
//实例id
|
||||
|
private String procInstId; |
||||
|
|
||||
|
private String sid; |
||||
|
|
||||
|
@ApiModelProperty("是否需要出门:1是,0否.如果涉及车辆,则选择是否需要出门") |
||||
|
private String isOutDoor; |
||||
|
|
||||
|
@ApiModelProperty("创建人sid") |
||||
|
private String createBySid; |
||||
|
|
||||
|
|
||||
|
} |
||||
|
|
@ -0,0 +1,58 @@ |
|||||
|
package com.yxt.anrui.fin.api.finpaymentapply; |
||||
|
|
||||
|
import com.yxt.anrui.fin.api.finpaymentapplydetails.AppFinPaymentapplyDetailVo; |
||||
|
import com.yxt.anrui.fin.api.finpaymentapplyvehicle.AppFinPaymentapplyVehicleVo; |
||||
|
import com.yxt.common.core.vo.Vo; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.util.ArrayList; |
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/6 10:35 |
||||
|
* @Description |
||||
|
*/ |
||||
|
@Data |
||||
|
public class AppFinPaymentApplyVo implements Vo { |
||||
|
private static final long serialVersionUID = -7421450588161214608L; |
||||
|
|
||||
|
@ApiModelProperty("款项名称") |
||||
|
private String costTitleValue; |
||||
|
//创建时间
|
||||
|
private String createTime; |
||||
|
//申请人
|
||||
|
private String name; |
||||
|
//款项类别
|
||||
|
private String costTypeValue; |
||||
|
//业务编号
|
||||
|
private String busSid; |
||||
|
//金额
|
||||
|
private String cost; |
||||
|
//付款单位名称
|
||||
|
private String payCompany; |
||||
|
//收款单位名称
|
||||
|
private String receiveCompany; |
||||
|
//付款备注
|
||||
|
private String remarks; |
||||
|
//是否涉及车辆
|
||||
|
private String isVeh; |
||||
|
private String isVehValue; |
||||
|
//付款明细List
|
||||
|
private List<AppFinPaymentapplyDetailVo> paymentList = new ArrayList<>(); |
||||
|
@ApiModelProperty("付款明细合计") |
||||
|
private String paymentTotal; |
||||
|
|
||||
|
//车辆列表
|
||||
|
private List<AppFinPaymentapplyVehicleVo> carList = new ArrayList<>(); |
||||
|
@ApiModelProperty("车辆金额合计") |
||||
|
private String carTotal; |
||||
|
|
||||
|
private String createBySid; |
||||
|
private String taskId; |
||||
|
private String procInstId; |
||||
|
|
||||
|
private String sid; |
||||
|
|
||||
|
} |
@ -0,0 +1,27 @@ |
|||||
|
package com.yxt.anrui.fin.api.finpaymentapplydetails; |
||||
|
|
||||
|
import com.yxt.common.core.vo.Vo; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/6 14:41 |
||||
|
* @Description |
||||
|
*/ |
||||
|
@Data |
||||
|
public class AppFinPaymentapplyDetailVo implements Vo { |
||||
|
private static final long serialVersionUID = -5474423439043642156L; |
||||
|
@ApiModelProperty("厂家销售通路") |
||||
|
private String actualPay; |
||||
|
@ApiModelProperty("付款方式") |
||||
|
private String paymentType; |
||||
|
@ApiModelProperty("开户行") |
||||
|
private String bank; |
||||
|
@ApiModelProperty("收款银行账号") |
||||
|
private String receivingAccount; |
||||
|
@ApiModelProperty("付款金额") |
||||
|
private String payAccount; |
||||
|
@ApiModelProperty("备注") |
||||
|
private String remarks; |
||||
|
} |
@ -0,0 +1,34 @@ |
|||||
|
package com.yxt.anrui.fin.api.finpaymentapplydetails; |
||||
|
|
||||
|
import com.yxt.common.core.dto.Dto; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.math.BigDecimal; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/6 21:26 |
||||
|
* @Description |
||||
|
*/ |
||||
|
@Data |
||||
|
public class FinPaymentapplyDetailDto implements Dto { |
||||
|
private static final long serialVersionUID = -5488673242509961312L; |
||||
|
|
||||
|
@ApiModelProperty("付款方式key") |
||||
|
private String paymentTypeKey; |
||||
|
@ApiModelProperty("付款方式") |
||||
|
private String paymentType; |
||||
|
@ApiModelProperty("厂家销售通路") |
||||
|
private String actualPay; |
||||
|
@ApiModelProperty("开户行") |
||||
|
private String bank; |
||||
|
|
||||
|
@ApiModelProperty("收款银行账号") |
||||
|
private String receivingAccount; |
||||
|
@ApiModelProperty("付款金额") |
||||
|
private String payAccount; |
||||
|
|
||||
|
@ApiModelProperty("备注") |
||||
|
private String remarks; |
||||
|
} |
@ -0,0 +1,31 @@ |
|||||
|
package com.yxt.anrui.fin.api.finpaymentapplydetails; |
||||
|
|
||||
|
import com.yxt.common.core.vo.Vo; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.math.BigDecimal; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/6 22:13 |
||||
|
* @Description |
||||
|
*/ |
||||
|
@Data |
||||
|
public class FinPaymentapplyDetailVo implements Vo { |
||||
|
private static final long serialVersionUID = 2763515857490645883L; |
||||
|
|
||||
|
@ApiModelProperty("付款方式key") |
||||
|
private String paymentTypeKey; |
||||
|
@ApiModelProperty("付款方式") |
||||
|
private String paymentType; |
||||
|
@ApiModelProperty("厂家销售通路") |
||||
|
private String actualPay; |
||||
|
@ApiModelProperty("开户行") |
||||
|
private String bank; |
||||
|
|
||||
|
@ApiModelProperty("收款银行账号") |
||||
|
private String receivingAccount; |
||||
|
@ApiModelProperty("付款金额") |
||||
|
private String payAccount; |
||||
|
} |
@ -0,0 +1,33 @@ |
|||||
|
package com.yxt.anrui.fin.api.finpaymentapplydetails; |
||||
|
|
||||
|
import com.yxt.common.core.domain.BaseEntity; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.math.BigDecimal; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/6 14:11 |
||||
|
* @Description |
||||
|
*/ |
||||
|
@Data |
||||
|
public class FinPaymentapplyDetails extends BaseEntity { |
||||
|
private static final long serialVersionUID = -4576193401443241659L; |
||||
|
|
||||
|
private String applySid; |
||||
|
@ApiModelProperty("付款方式key") |
||||
|
private String paymentTypeKey; |
||||
|
@ApiModelProperty("付款方式") |
||||
|
private String paymentType; |
||||
|
@ApiModelProperty("厂家销售通路") |
||||
|
private String actualPay; |
||||
|
@ApiModelProperty("开户行") |
||||
|
private String bank; |
||||
|
|
||||
|
@ApiModelProperty("收款银行账号") |
||||
|
private String receivingAccount; |
||||
|
@ApiModelProperty("付款金额") |
||||
|
private BigDecimal payAccount; |
||||
|
|
||||
|
} |
@ -0,0 +1,21 @@ |
|||||
|
package com.yxt.anrui.fin.api.finpaymentapplyvehicle; |
||||
|
|
||||
|
import com.yxt.common.core.vo.Vo; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/6 14:56 |
||||
|
* @Description |
||||
|
*/ |
||||
|
@Data |
||||
|
public class AppFinPaymentapplyVehicleVo implements Vo { |
||||
|
private static final long serialVersionUID = -3232965325256220009L; |
||||
|
@ApiModelProperty("车型") |
||||
|
private String modelName; |
||||
|
@ApiModelProperty("车架号") |
||||
|
private String vinNo; |
||||
|
@ApiModelProperty("厂家结算价") |
||||
|
private String money; |
||||
|
} |
@ -0,0 +1,32 @@ |
|||||
|
package com.yxt.anrui.fin.api.finpaymentapplyvehicle; |
||||
|
|
||||
|
import com.yxt.common.core.domain.BaseEntity; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.math.BigDecimal; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/6 14:23 |
||||
|
* @Description |
||||
|
*/ |
||||
|
@Data |
||||
|
public class FinPaymentapplyVehicle extends BaseEntity { |
||||
|
private static final long serialVersionUID = 6931224151880251447L; |
||||
|
|
||||
|
@ApiModelProperty("付款申请") |
||||
|
private String applySid; |
||||
|
@ApiModelProperty("车型名称") |
||||
|
private String modelName; |
||||
|
@ApiModelProperty("车架号") |
||||
|
private String vinNo; |
||||
|
@ApiModelProperty("车辆sid") |
||||
|
private String vehiSid; |
||||
|
@ApiModelProperty("车型sid") |
||||
|
private String modelSid; |
||||
|
@ApiModelProperty("配置sid") |
||||
|
private String configSid; |
||||
|
@ApiModelProperty("厂家结算价") |
||||
|
private BigDecimal money; |
||||
|
} |
@ -0,0 +1,30 @@ |
|||||
|
package com.yxt.anrui.fin.api.finpaymentapplyvehicle; |
||||
|
|
||||
|
import com.yxt.common.core.dto.Dto; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.math.BigDecimal; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/6 21:28 |
||||
|
* @Description |
||||
|
*/ |
||||
|
@Data |
||||
|
public class FinPaymentapplyVehicleDto implements Dto { |
||||
|
private static final long serialVersionUID = 5067723170213631020L; |
||||
|
|
||||
|
@ApiModelProperty("车型名称") |
||||
|
private String modelName; |
||||
|
@ApiModelProperty("车架号") |
||||
|
private String vinNo; |
||||
|
@ApiModelProperty("车辆sid") |
||||
|
private String vehiSid; |
||||
|
@ApiModelProperty("车型sid") |
||||
|
private String modelSid; |
||||
|
@ApiModelProperty("配置sid") |
||||
|
private String configSid; |
||||
|
@ApiModelProperty("厂家结算价") |
||||
|
private String money; |
||||
|
} |
@ -0,0 +1,30 @@ |
|||||
|
package com.yxt.anrui.fin.api.finpaymentapplyvehicle; |
||||
|
|
||||
|
import com.yxt.common.core.vo.Vo; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.math.BigDecimal; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/6 22:14 |
||||
|
* @Description |
||||
|
*/ |
||||
|
@Data |
||||
|
public class FinPaymentapplyVehicleVo implements Vo { |
||||
|
private static final long serialVersionUID = 3601884852528436759L; |
||||
|
|
||||
|
@ApiModelProperty("车型名称") |
||||
|
private String modelName; |
||||
|
@ApiModelProperty("车架号") |
||||
|
private String vinNo; |
||||
|
@ApiModelProperty("车辆sid") |
||||
|
private String vehiSid; |
||||
|
@ApiModelProperty("车型sid") |
||||
|
private String modelSid; |
||||
|
@ApiModelProperty("配置sid") |
||||
|
private String configSid; |
||||
|
@ApiModelProperty("厂家结算价") |
||||
|
private String money; |
||||
|
} |
@ -0,0 +1,29 @@ |
|||||
|
package com.yxt.anrui.fin.api.kingdee.bank; |
||||
|
|
||||
|
import com.fasterxml.jackson.annotation.JsonProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import javax.validation.constraints.NotBlank; |
||||
|
|
||||
|
/** |
||||
|
* 银行 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class BDBank { |
||||
|
/* 创建组织:FCreateOrgId (必填项)*/ |
||||
|
@NotBlank |
||||
|
@JsonProperty("FCreateOrgId") |
||||
|
public String FCreateOrgId; |
||||
|
/*名称:FName (必填项)*/ |
||||
|
@NotBlank |
||||
|
@JsonProperty("FName") |
||||
|
public String FName; |
||||
|
/* 使用组织:FUseOrgId (必填项)*/ |
||||
|
@NotBlank |
||||
|
@JsonProperty("FUseOrgId") |
||||
|
public String FUseOrgId; |
||||
|
/* :FNumber (必填项)*/ |
||||
|
@NotBlank |
||||
|
@JsonProperty("FNumber") |
||||
|
public String FNumber; |
||||
|
} |
@ -0,0 +1,33 @@ |
|||||
|
package com.yxt.anrui.fin.api.kingdee.cnbankcnt; |
||||
|
|
||||
|
import com.fasterxml.jackson.annotation.JsonProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import javax.validation.constraints.NotBlank; |
||||
|
|
||||
|
/** |
||||
|
* 银行账号 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class CNBankacnt { |
||||
|
/*银行账号:FNumber (必填项)*/ |
||||
|
@NotBlank |
||||
|
@JsonProperty("FNumber") |
||||
|
public String FNumber; |
||||
|
/*开户银行:FBANKID (必填项)*/ |
||||
|
@NotBlank |
||||
|
@JsonProperty("FBANKID") |
||||
|
public String FBANKID; |
||||
|
/*账户名称:FName (必填项)*/ |
||||
|
@NotBlank |
||||
|
@JsonProperty("FName") |
||||
|
public String FName; |
||||
|
/*使用组织:FUseOrgId (必填项)*/ |
||||
|
@NotBlank |
||||
|
@JsonProperty("FUseOrgId") |
||||
|
public String FUseOrgId; |
||||
|
/*创建组织:FCreateOrgId (必填项)*/ |
||||
|
@NotBlank |
||||
|
@JsonProperty("FCreateOrgId") |
||||
|
public String FCreateOrgId; |
||||
|
} |
@ -0,0 +1,23 @@ |
|||||
|
package com.yxt.anrui.fin.biz.finpaymentapplydetails; |
||||
|
|
||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
|
import com.yxt.anrui.fin.api.finpaymentapplydetails.AppFinPaymentapplyDetailVo; |
||||
|
import com.yxt.anrui.fin.api.finpaymentapplydetails.FinPaymentapplyDetailVo; |
||||
|
import com.yxt.anrui.fin.api.finpaymentapplydetails.FinPaymentapplyDetails; |
||||
|
import org.apache.ibatis.annotations.Mapper; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/6 15:16 |
||||
|
* @Description |
||||
|
*/ |
||||
|
@Mapper |
||||
|
public interface FinPaymentapplyDetailsMapper extends BaseMapper<FinPaymentapplyDetails> { |
||||
|
List<AppFinPaymentapplyDetailVo> getDetailsList(String sid); |
||||
|
|
||||
|
int deleteDetail(String sid); |
||||
|
|
||||
|
List<FinPaymentapplyDetailVo> getDetails(String sid); |
||||
|
} |
@ -0,0 +1,32 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8" ?> |
||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > |
||||
|
<mapper namespace="com.yxt.anrui.fin.biz.finpaymentapplydetails.FinPaymentapplyDetailsMapper"> |
||||
|
<select id="getDetailsList" resultType="com.yxt.anrui.fin.api.finpaymentapplydetails.AppFinPaymentapplyDetailVo"> |
||||
|
select fd.actualPay, |
||||
|
fd.paymentType, |
||||
|
fd.bank, |
||||
|
fd.receivingAccount, |
||||
|
fd.payAccount, |
||||
|
fd.remarks |
||||
|
from fin_paymentapply_details fd |
||||
|
where fd.applySid = #{sid} |
||||
|
</select> |
||||
|
|
||||
|
<delete id="deleteDetail"> |
||||
|
delete |
||||
|
from fin_paymentapply_details |
||||
|
where applySid = #{sid} |
||||
|
</delete> |
||||
|
|
||||
|
<select id="getDetails" resultType="com.yxt.anrui.fin.api.finpaymentapplydetails.FinPaymentapplyDetailVo"> |
||||
|
select fd.actualPay, |
||||
|
fd.paymentType, |
||||
|
fd.bank, |
||||
|
fd.receivingAccount, |
||||
|
fd.payAccount, |
||||
|
fd.remarks, |
||||
|
fd.paymentTypeKey |
||||
|
from fin_paymentapply_details fd |
||||
|
where fd.applySid = #{sid} |
||||
|
</select> |
||||
|
</mapper> |
@ -0,0 +1,48 @@ |
|||||
|
package com.yxt.anrui.fin.biz.finpaymentapplydetails; |
||||
|
|
||||
|
import cn.hutool.core.bean.BeanUtil; |
||||
|
import com.yxt.anrui.fin.api.finpaymentapplydetails.AppFinPaymentapplyDetailVo; |
||||
|
import com.yxt.anrui.fin.api.finpaymentapplydetails.FinPaymentapplyDetailDto; |
||||
|
import com.yxt.anrui.fin.api.finpaymentapplydetails.FinPaymentapplyDetailVo; |
||||
|
import com.yxt.anrui.fin.api.finpaymentapplydetails.FinPaymentapplyDetails; |
||||
|
import com.yxt.common.base.service.MybatisBaseService; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
|
||||
|
import java.math.BigDecimal; |
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/6 15:16 |
||||
|
* @Description |
||||
|
*/ |
||||
|
@Service |
||||
|
public class FinPaymentapplyDetailsService extends MybatisBaseService<FinPaymentapplyDetailsMapper, FinPaymentapplyDetails> { |
||||
|
public List<AppFinPaymentapplyDetailVo> getDetailsList(String sid) { |
||||
|
return baseMapper.getDetailsList(sid); |
||||
|
} |
||||
|
|
||||
|
public String saveDetailsList(List<FinPaymentapplyDetailDto> detailsList, String sid) { |
||||
|
//删除
|
||||
|
baseMapper.deleteDetail(sid); |
||||
|
BigDecimal bigDecimal = new BigDecimal("0"); |
||||
|
for (FinPaymentapplyDetailDto dto : detailsList) { |
||||
|
FinPaymentapplyDetails finPaymentapplyDetails = new FinPaymentapplyDetails(); |
||||
|
BeanUtil.copyProperties(dto, finPaymentapplyDetails, "sid"); |
||||
|
finPaymentapplyDetails.setApplySid(sid); |
||||
|
bigDecimal = bigDecimal.add(new BigDecimal(dto.getPayAccount())); |
||||
|
finPaymentapplyDetails.setPayAccount(new BigDecimal(dto.getPayAccount())); |
||||
|
baseMapper.insert(finPaymentapplyDetails); |
||||
|
} |
||||
|
return bigDecimal.toString(); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public void deleteByApplySid(String s) { |
||||
|
baseMapper.deleteDetail(s); |
||||
|
} |
||||
|
|
||||
|
public List<FinPaymentapplyDetailVo> getDetails(String sid) { |
||||
|
return baseMapper.getDetails(sid); |
||||
|
} |
||||
|
} |
@ -0,0 +1,23 @@ |
|||||
|
package com.yxt.anrui.fin.biz.finpaymentapplyvehicle; |
||||
|
|
||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
|
import com.yxt.anrui.fin.api.finpaymentapplyvehicle.AppFinPaymentapplyVehicleVo; |
||||
|
import com.yxt.anrui.fin.api.finpaymentapplyvehicle.FinPaymentapplyVehicle; |
||||
|
import com.yxt.anrui.fin.api.finpaymentapplyvehicle.FinPaymentapplyVehicleVo; |
||||
|
import org.apache.ibatis.annotations.Mapper; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/6 15:18 |
||||
|
* @Description |
||||
|
*/ |
||||
|
@Mapper |
||||
|
public interface FinPaymentapplyVehicleMapper extends BaseMapper<FinPaymentapplyVehicle> { |
||||
|
List<AppFinPaymentapplyVehicleVo> getCarList(String sid); |
||||
|
|
||||
|
int deleteVehicle(String sid); |
||||
|
|
||||
|
List<FinPaymentapplyVehicleVo> getVehicleList(String sid); |
||||
|
} |
@ -0,0 +1,28 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8" ?> |
||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > |
||||
|
<mapper namespace="com.yxt.anrui.fin.biz.finpaymentapplyvehicle.FinPaymentapplyVehicleMapper"> |
||||
|
<select id="getCarList" resultType="com.yxt.anrui.fin.api.finpaymentapplyvehicle.AppFinPaymentapplyVehicleVo"> |
||||
|
select fv.modelName, |
||||
|
fv.vinNo, |
||||
|
fv.money |
||||
|
from fin_paymentapply_vehicle fv |
||||
|
where applySid = #{sid} |
||||
|
</select> |
||||
|
|
||||
|
<delete id="deleteVehicle"> |
||||
|
delete |
||||
|
from fin_paymentapply_vehicle |
||||
|
where applySid = #{sid} |
||||
|
</delete> |
||||
|
|
||||
|
<select id="getVehicleList" resultType="com.yxt.anrui.fin.api.finpaymentapplyvehicle.FinPaymentapplyVehicleVo"> |
||||
|
select fv.modelName, |
||||
|
fv.vinNo, |
||||
|
fv.money, |
||||
|
fv.modelSid, |
||||
|
fv.vehiSid, |
||||
|
fv.configSid |
||||
|
from fin_paymentapply_vehicle fv |
||||
|
where applySid = #{sid} |
||||
|
</select> |
||||
|
</mapper> |
@ -0,0 +1,46 @@ |
|||||
|
package com.yxt.anrui.fin.biz.finpaymentapplyvehicle; |
||||
|
|
||||
|
import cn.hutool.core.bean.BeanUtil; |
||||
|
import com.yxt.anrui.fin.api.finpaymentapplyvehicle.AppFinPaymentapplyVehicleVo; |
||||
|
import com.yxt.anrui.fin.api.finpaymentapplyvehicle.FinPaymentapplyVehicle; |
||||
|
import com.yxt.anrui.fin.api.finpaymentapplyvehicle.FinPaymentapplyVehicleDto; |
||||
|
import com.yxt.anrui.fin.api.finpaymentapplyvehicle.FinPaymentapplyVehicleVo; |
||||
|
import com.yxt.common.base.service.MybatisBaseService; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
|
||||
|
import java.math.BigDecimal; |
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/6 15:18 |
||||
|
* @Description |
||||
|
*/ |
||||
|
@Service |
||||
|
public class FinPaymentapplyVehicleService extends MybatisBaseService<FinPaymentapplyVehicleMapper, FinPaymentapplyVehicle> { |
||||
|
public List<AppFinPaymentapplyVehicleVo> getCarList(String sid) { |
||||
|
return baseMapper.getCarList(sid); |
||||
|
} |
||||
|
|
||||
|
public String saveVehicleList(List<FinPaymentapplyVehicleDto> vehicleDtoList, String sid) { |
||||
|
baseMapper.deleteVehicle(sid); |
||||
|
BigDecimal bigDecimal = new BigDecimal("0"); |
||||
|
for (FinPaymentapplyVehicleDto dto : vehicleDtoList) { |
||||
|
FinPaymentapplyVehicle finPaymentapplyVehicle = new FinPaymentapplyVehicle(); |
||||
|
BeanUtil.copyProperties(dto, finPaymentapplyVehicle, "sid"); |
||||
|
finPaymentapplyVehicle.setMoney(new BigDecimal(dto.getMoney())); |
||||
|
bigDecimal = bigDecimal.add(new BigDecimal(dto.getMoney())); |
||||
|
baseMapper.insert(finPaymentapplyVehicle); |
||||
|
} |
||||
|
return bigDecimal.toString(); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public void deleteVehicle(String dtoSid) { |
||||
|
baseMapper.deleteVehicle(dtoSid); |
||||
|
} |
||||
|
|
||||
|
public List<FinPaymentapplyVehicleVo> getVehicleList(String sid) { |
||||
|
return baseMapper.getVehicleList(sid); |
||||
|
} |
||||
|
} |
@ -0,0 +1,44 @@ |
|||||
|
package com.yxt.anrui.fin.biz.kingdee.bank; |
||||
|
|
||||
|
import com.alibaba.fastjson.JSON; |
||||
|
import com.alibaba.fastjson.JSONObject; |
||||
|
import com.alibaba.fastjson.parser.Feature; |
||||
|
import com.yxt.anrui.fin.biz.kingdee.KingDeeUtils; |
||||
|
import org.slf4j.Logger; |
||||
|
import org.slf4j.LoggerFactory; |
||||
|
|
||||
|
import java.util.Map; |
||||
|
|
||||
|
/** |
||||
|
* 封装转换的类 |
||||
|
*/ |
||||
|
public class BDBankCastToKingDeeBillFields { |
||||
|
private static Logger log=LoggerFactory.getLogger(BDBankCastToKingDeeBillFields.class); |
||||
|
/** |
||||
|
* 构造金蝶需要的数据结构 并对字段赋值 |
||||
|
* |
||||
|
* @param map_fEntityModel_ |
||||
|
* @return |
||||
|
*/ |
||||
|
public static String getKingDeeData(Map<String,String> map_fEntityModel_ ){ |
||||
|
/** |
||||
|
* 取模板 |
||||
|
*/ |
||||
|
String readJsonFile = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/bank/data.json"); |
||||
|
String fEntityData_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/bank/data_data.json"); |
||||
|
String fEntityModel_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/bank/data_model.json"); |
||||
|
log.info("readJsonFile:{}",readJsonFile); |
||||
|
log.info("fEntityData_:{}",fEntityData_); |
||||
|
log.info("fEntityModel_:{}",fEntityModel_); |
||||
|
|
||||
|
//模板字符创转json
|
||||
|
JSONObject jsonObj= JSONObject.parseObject(readJsonFile, Feature.OrderedField); |
||||
|
JSONObject jsonFEntityData_= JSONObject.parseObject(fEntityData_,Feature.OrderedField); |
||||
|
fEntityModel_ =KingDeeUtils.replaceTemplateParams(fEntityModel_, map_fEntityModel_); |
||||
|
JSONObject jsonFEntityModel_= JSONObject.parseObject(fEntityModel_,Feature.OrderedField); |
||||
|
|
||||
|
jsonFEntityData_.put("Model",JSONObject.parseObject(JSON.toJSONString(jsonFEntityModel_),Feature.OrderedField)); |
||||
|
jsonObj.put("data",jsonFEntityData_.toJSONString()); |
||||
|
return jsonObj.toJSONString(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,72 @@ |
|||||
|
package com.yxt.anrui.fin.biz.kingdee.bank; |
||||
|
|
||||
|
import com.yxt.anrui.fin.api.kingdee.KingDeeBillId; |
||||
|
import com.yxt.anrui.fin.api.kingdee.KingDeeBillUrl; |
||||
|
import com.yxt.anrui.fin.api.kingdee.KingDeeResult; |
||||
|
import com.yxt.anrui.fin.api.kingdee.bank.BDBank; |
||||
|
import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService; |
||||
|
import com.yxt.common.core.result.ResultBean; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
|
||||
|
import java.util.ArrayList; |
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
|
||||
|
@Service |
||||
|
public class BDBankService extends FinKingDeeService { |
||||
|
/** |
||||
|
* 保存银行信息 list |
||||
|
* @param bDBanks |
||||
|
* @return |
||||
|
*/ |
||||
|
public ResultBean<List<KingDeeResult>> draftBDBankList(List<BDBank> bDBanks) { |
||||
|
List<KingDeeResult> list=new ArrayList<>(); |
||||
|
ResultBean rb=ResultBean.fireFail(); |
||||
|
for(BDBank b:bDBanks) { |
||||
|
ResultBean<List<KingDeeResult>> resultBean = draftBDBank(b); |
||||
|
if (resultBean.getSuccess()) { |
||||
|
list.add(resultBean.getData().get(0)); |
||||
|
} |
||||
|
} |
||||
|
return rb.success().setData(list); |
||||
|
} |
||||
|
/** |
||||
|
* 保存银行信息 |
||||
|
* @param bDBank |
||||
|
* @return |
||||
|
*/ |
||||
|
public ResultBean draftBDBank(BDBank bDBank) { |
||||
|
//bdCustomer=BdCustomer.createBdCustomer();
|
||||
|
ResultBean rb=ResultBean.fireFail(); |
||||
|
try { |
||||
|
//业务表的主表数据集合
|
||||
|
Map<String,String> map_fEntityModel_= object2Map(bDBank); |
||||
|
//准备 物料列表的数据 ForEntryBill
|
||||
|
String kingDeeData = BDBankCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_); |
||||
|
ResultBean<String> resultBean = accessKingDeeInterface( |
||||
|
KingDeeBillId.BD_BANK.getID(), kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL()); |
||||
|
|
||||
|
String submitKD = getSubmitKD(resultBean.getData(),KingDeeBillId.BD_BANK.getID()); |
||||
|
ResultBean<String> resultBean1 = accessKingDeeInterface(KingDeeBillId.BD_BANK.getID(), submitKD,KingDeeBillUrl.SUBMIT_URL.getURL()); |
||||
|
if(!resultBean1.getSuccess()){ |
||||
|
log.info("银行提交失败!"); |
||||
|
return rb.setMsg("银行提交失败!"); |
||||
|
} |
||||
|
log.info("银行提交成功!"); |
||||
|
|
||||
|
String auditKD = getAuditKD(resultBean.getData(),KingDeeBillId.BD_BANK.getID()); |
||||
|
ResultBean<String> resultBean2 = accessKingDeeInterface(KingDeeBillId.BD_BANK.getID(), auditKD,KingDeeBillUrl.AUDIT_URL.getURL()); |
||||
|
if(!resultBean2.getSuccess()){ |
||||
|
log.info("银行审核失败!"); |
||||
|
return rb.setMsg("银行审核失败!"); |
||||
|
} |
||||
|
log.info("银行审核成功!"); |
||||
|
|
||||
|
return resultBean; |
||||
|
} catch (Exception e) { |
||||
|
e.printStackTrace(); |
||||
|
} |
||||
|
return rb; |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,4 @@ |
|||||
|
{ |
||||
|
"formId": "BD_BANK", |
||||
|
"data": "@KD_data" |
||||
|
} |
@ -0,0 +1,13 @@ |
|||||
|
{ |
||||
|
"Creator": "", |
||||
|
"NeedUpDateFields": [], |
||||
|
"NeedReturnFields": [], |
||||
|
"IsDeleteEntry": "True", |
||||
|
"SubSystemId": "", |
||||
|
"IsVerifyBaseDataField": "false", |
||||
|
"IsEntryBatchFill": "True", |
||||
|
"ValidateFlag": "True", |
||||
|
"NumberSearch": "True", |
||||
|
"InterationFlags": "", |
||||
|
"Model": {} |
||||
|
} |
@ -0,0 +1,11 @@ |
|||||
|
{ |
||||
|
"FBANKID": 0, |
||||
|
"FName": "@KD_FName", |
||||
|
"FNumber": "@KD_FNumber", |
||||
|
"FCreateOrgId": { |
||||
|
"FNumber": "@KD_FCreateOrgId" |
||||
|
}, |
||||
|
"FUseOrgId": { |
||||
|
"FNumber": "@KD_FUseOrgId" |
||||
|
} |
||||
|
} |
@ -0,0 +1,59 @@ |
|||||
|
一、请求参数说明: |
||||
|
1.formid:业务对象表单Id,字符串类型(必录) |
||||
|
2.data:Json格式数据(详情参考Json格式数据)(必录) |
||||
|
2.1.Creator:创建者内码(非必录) |
||||
|
2.2.NeedUpDateFields:需要更新的字段,数组类型,格式:[key1,key2,...](非必录),注(更新单据体字段得加上单据体key) |
||||
|
2.3.NeedReturnFields:需返回结果的字段集合,数组类型,格式:[key,entitykey.key,...](非必录),注(返回单据体字段格式:entitykey.key) |
||||
|
2.4.IsDeleteEntry:是否删除已存在的分录,布尔类型,默认true(非必录) |
||||
|
2.5.SubSystemId:表单所在的子系统内码,字符串类型(非必录) |
||||
|
2.6.IsVerifyBaseDataField:是否验证所有的基础资料有效性,布尔类,默认false(非必录) |
||||
|
2.7.IsEntryBatchFill:是否批量填充分录,默认true(非必录) |
||||
|
2.8.ValidateFlag:是否验证标志,布尔类型,默认true(非必录) |
||||
|
2.9.NumberSearch:是否用编码搜索基础资料,布尔类型,默认true(非必录) |
||||
|
2.10.InterationFlags:交互标志集合,字符串类型,分号分隔,格式:"flag1;flag2;..."(非必录),例如(允许负库存标识:STK_InvCheckResult) |
||||
|
2.11.Model:表单数据包,Json类型(必录) |
||||
|
|
||||
|
二、Json格式数据: |
||||
|
{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FBANKID\":\"0\",\"FNumber\":\"\",\"FName\":\"\",\"FACNTBRANCHNUMBER\":\"\",\"FCreateOrgId\":{\"FNumber\":\"\"},\"FUseOrgId\":{\"FNumber\":\"\"},\"FACNTAREACODE\":\"\",\"FACNTAREANAME\":\"\",\"FADDRESS\":\"\",\"FDescription\":\"\"}} |
||||
|
|
||||
|
三、返回参数: |
||||
|
{\"Result\":{\"ResponseStatus\":{\"ErrorCode\":\"\",\"IsSuccess\":\"false\",\"Errors\":[{\"FieldName\":\"\",\"Message\":\"\",\"DIndex\":0}],\"SuccessEntitys\":[{\"Id\":\"\",\"Number\":\"\",\"DIndex\":0}],\"SuccessMessages\":[{\"FieldName\":\"\",\"Message\":\"\",\"DIndex\":0}]},\"Id\":\"\",\"NeedReturnData\":[{}]}} |
||||
|
|
||||
|
四、代码示例: |
||||
|
// 使用webapi引用组件Kingdee.BOS.WebApi.Client.dll |
||||
|
K3CloudApiClient client = new K3CloudApiClient("http://121.36.43.55/k3cloud/"); |
||||
|
var ret = client.ValidateLogin("61dce6601125a0","Administrator","888888",2052); |
||||
|
var result = JObject.Parse(ret)["LoginResultType"].Value<int>(); |
||||
|
// 登陆成功 |
||||
|
if (result == 1) |
||||
|
{ |
||||
|
client.Draft("BD_BANK","{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FBANKID\":\"0\",\"FNumber\":\"\",\"FName\":\"\",\"FACNTBRANCHNUMBER\":\"\",\"FCreateOrgId\":{\"FNumber\":\"\"},\"FUseOrgId\":{\"FNumber\":\"\"},\"FACNTAREACODE\":\"\",\"FACNTAREANAME\":\"\",\"FADDRESS\":\"\",\"FDescription\":\"\"}}"); |
||||
|
} |
||||
|
|
||||
|
五、字段说明: |
||||
|
审核人:FAuditorID |
||||
|
系统预设:FIsSysPreset |
||||
|
银行地址:FADDRESS |
||||
|
禁用人:FForbidderID |
||||
|
禁用日期:FForbidDate |
||||
|
审核日期:FAuditDate |
||||
|
银行:FBankType |
||||
|
联行号:FACNTBRANCHNUMBER |
||||
|
地区名:FACNTAREANAME |
||||
|
地区码:FACNTAREACODE |
||||
|
省:FProvince |
||||
|
城市:FCity |
||||
|
地区:FDistrict |
||||
|
编码:FNumber |
||||
|
描述:FDescription |
||||
|
创建组织:FCreateOrgId (必填项) |
||||
|
数据状态:FDocumentStatus |
||||
|
禁用状态:FForbidStatus |
||||
|
名称:FName (必填项) |
||||
|
使用组织:FUseOrgId (必填项) |
||||
|
修改日期:FModifyDate |
||||
|
生效日期:FStartDate |
||||
|
失效日期:FEndDate |
||||
|
创建人:FCreatorId |
||||
|
修改人:FModifierId |
||||
|
创建日期:FCreateDate |
@ -0,0 +1 @@ |
|||||
|
{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FBANKID\":0,\"FName\":\"mcmcmcmcm\",\"FCreateOrgId\":{\"FNumber\":\"101\"},\"FUseOrgId\":{\"FNumber\":\"101\"}}} |
Binary file not shown.
@ -0,0 +1,44 @@ |
|||||
|
package com.yxt.anrui.fin.biz.kingdee.cnbankcnt; |
||||
|
|
||||
|
import com.alibaba.fastjson.JSON; |
||||
|
import com.alibaba.fastjson.JSONObject; |
||||
|
import com.alibaba.fastjson.parser.Feature; |
||||
|
import com.yxt.anrui.fin.biz.kingdee.KingDeeUtils; |
||||
|
import org.slf4j.Logger; |
||||
|
import org.slf4j.LoggerFactory; |
||||
|
|
||||
|
import java.util.Map; |
||||
|
|
||||
|
/** |
||||
|
* 封装转换的类 |
||||
|
*/ |
||||
|
public class CNBankcntCastToKingDeeBillFields { |
||||
|
private static Logger log=LoggerFactory.getLogger(CNBankcntCastToKingDeeBillFields.class); |
||||
|
/** |
||||
|
* 构造金蝶需要的数据结构 并对字段赋值 |
||||
|
* |
||||
|
* @param map_fEntityModel_ |
||||
|
* @return |
||||
|
*/ |
||||
|
public static String getKingDeeData(Map<String,String> map_fEntityModel_ ){ |
||||
|
/** |
||||
|
* 取模板 |
||||
|
*/ |
||||
|
String readJsonFile = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/cnbankcnt/data.json"); |
||||
|
String fEntityData_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/cnbankcnt/data_data.json"); |
||||
|
String fEntityModel_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/cnbankcnt/data_model.json"); |
||||
|
log.info("readJsonFile:{}",readJsonFile); |
||||
|
log.info("fEntityData_:{}",fEntityData_); |
||||
|
log.info("fEntityModel_:{}",fEntityModel_); |
||||
|
|
||||
|
//模板字符创转json
|
||||
|
JSONObject jsonObj= JSONObject.parseObject(readJsonFile, Feature.OrderedField); |
||||
|
JSONObject jsonFEntityData_= JSONObject.parseObject(fEntityData_,Feature.OrderedField); |
||||
|
fEntityModel_ =KingDeeUtils.replaceTemplateParams(fEntityModel_, map_fEntityModel_); |
||||
|
JSONObject jsonFEntityModel_= JSONObject.parseObject(fEntityModel_,Feature.OrderedField); |
||||
|
|
||||
|
jsonFEntityData_.put("Model",JSONObject.parseObject(JSON.toJSONString(jsonFEntityModel_),Feature.OrderedField)); |
||||
|
jsonObj.put("data",jsonFEntityData_.toJSONString()); |
||||
|
return jsonObj.toJSONString(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,81 @@ |
|||||
|
package com.yxt.anrui.fin.biz.kingdee.cnbankcnt; |
||||
|
|
||||
|
import com.yxt.anrui.fin.api.kingdee.KingDeeBillId; |
||||
|
import com.yxt.anrui.fin.api.kingdee.KingDeeBillUrl; |
||||
|
import com.yxt.anrui.fin.api.kingdee.KingDeeResult; |
||||
|
import com.yxt.anrui.fin.api.kingdee.bank.BDBank; |
||||
|
import com.yxt.anrui.fin.api.kingdee.cnbankcnt.CNBankacnt; |
||||
|
import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService; |
||||
|
import com.yxt.common.core.result.ResultBean; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
|
||||
|
import java.util.ArrayList; |
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
|
||||
|
@Service |
||||
|
public class CNBankcntService extends FinKingDeeService { |
||||
|
/** |
||||
|
* 保存银行账号信息 list |
||||
|
* @param cNBankacnts |
||||
|
* @return |
||||
|
*/ |
||||
|
public ResultBean<List<KingDeeResult>> draftCNBankcntList(List<CNBankacnt> cNBankacnts) { |
||||
|
List<KingDeeResult> list=new ArrayList<>(); |
||||
|
ResultBean rb=ResultBean.fireFail(); |
||||
|
for(CNBankacnt b:cNBankacnts) { |
||||
|
ResultBean<List<KingDeeResult>> resultBean = draftCNBankcnt(b); |
||||
|
if (resultBean.getSuccess()) { |
||||
|
list.add(resultBean.getData().get(0)); |
||||
|
} |
||||
|
} |
||||
|
return rb.success().setData(list); |
||||
|
} |
||||
|
/** |
||||
|
* 保存银行账号信息 |
||||
|
* @param cNBankcnt |
||||
|
* @return |
||||
|
*/ |
||||
|
public ResultBean draftCNBankcnt(CNBankacnt cNBankcnt) { |
||||
|
//bdCustomer=BdCustomer.createBdCustomer();
|
||||
|
ResultBean rb=ResultBean.fireFail(); |
||||
|
try { |
||||
|
//业务表的主表数据集合
|
||||
|
Map<String,String> map_fEntityModel_= object2Map(cNBankcnt); |
||||
|
//准备 物料列表的数据 ForEntryBill
|
||||
|
String kingDeeData = CNBankcntCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_); |
||||
|
ResultBean<String> resultBean = accessKingDeeInterface( |
||||
|
KingDeeBillId.CN_BANKACNT.getID(), kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL()); |
||||
|
|
||||
|
String submitKD = getSubmitKD(resultBean.getData(),KingDeeBillId.CN_BANKACNT.getID()); |
||||
|
ResultBean<String> resultBean1 = accessKingDeeInterface(KingDeeBillId.CN_BANKACNT.getID(), submitKD,KingDeeBillUrl.SUBMIT_URL.getURL()); |
||||
|
if(!resultBean1.getSuccess()){ |
||||
|
log.info("银行账号提交失败!"); |
||||
|
return rb.setMsg("银行账号提交失败!"); |
||||
|
} |
||||
|
log.info("银行账号提交成功!"); |
||||
|
|
||||
|
String auditKD = getAuditKD(resultBean.getData(),KingDeeBillId.CN_BANKACNT.getID()); |
||||
|
ResultBean<String> resultBean2 = accessKingDeeInterface(KingDeeBillId.CN_BANKACNT.getID(), auditKD,KingDeeBillUrl.AUDIT_URL.getURL()); |
||||
|
if(!resultBean2.getSuccess()){ |
||||
|
log.info("银行账号审核失败!"); |
||||
|
return rb.setMsg("银行账号审核失败!"); |
||||
|
} |
||||
|
log.info("银行账号审核成功!"); |
||||
|
/*String allocate = getAllocate(resultBean.getData(),cNBankcnt.getTOrgIds(),KingDeeBillId.BD_MATERIAL.getID()); |
||||
|
ResultBean<String> resultBean3 =accessKingDeeInterface( |
||||
|
KingDeeBillId.CN_BANKACNT.getID(), allocate, |
||||
|
KingDeeBillUrl.ALLOCATE_URL.getURL());// allocateKingDeeBillData(KingDeeBillId.BD_MATERIAL.getID(), allocate);
|
||||
|
if(!resultBean3.getSuccess()){ |
||||
|
log.info("银行账号分配失败!"); |
||||
|
return rb.setMsg("银行账号分配失败!"); |
||||
|
} |
||||
|
log.info("银行账号分配成功!");*/ |
||||
|
return resultBean; |
||||
|
} catch (Exception e) { |
||||
|
e.printStackTrace(); |
||||
|
} |
||||
|
return rb; |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,4 @@ |
|||||
|
{ |
||||
|
"formId": "CN_BANKACNT", |
||||
|
"data": "@KD_data" |
||||
|
} |
@ -0,0 +1,13 @@ |
|||||
|
{ |
||||
|
"Creator": "", |
||||
|
"NeedUpDateFields": [], |
||||
|
"NeedReturnFields": [], |
||||
|
"IsDeleteEntry": "True", |
||||
|
"SubSystemId": "", |
||||
|
"IsVerifyBaseDataField": "false", |
||||
|
"IsEntryBatchFill": "True", |
||||
|
"ValidateFlag": "True", |
||||
|
"NumberSearch": "True", |
||||
|
"InterationFlags": "", |
||||
|
"Model": {} |
||||
|
} |
@ -0,0 +1,20 @@ |
|||||
|
{ |
||||
|
"FBANKACNTID": 0, |
||||
|
"FCreateOrgId": { |
||||
|
"FNumber": "@KD_FCreateOrgId" |
||||
|
}, |
||||
|
"FNumber": "@KD_FNumber", |
||||
|
"FBANKID": { |
||||
|
"FNumber": "@KD_FBANKID" |
||||
|
}, |
||||
|
"FName": "@KD_FName", |
||||
|
"FUseOrgId": { |
||||
|
"FNumber": "@KD_FUseOrgId" |
||||
|
}, |
||||
|
"FIsCancel": false, |
||||
|
"FIsFundUp": false, |
||||
|
"FISDEFAULTBANK": false, |
||||
|
"FIsSupBank": false, |
||||
|
"FUpType": "1", |
||||
|
"FIsSupBBC": false |
||||
|
} |
@ -0,0 +1,75 @@ |
|||||
|
一、请求参数说明: |
||||
|
1.formid:业务对象表单Id,字符串类型(必录) |
||||
|
2.data:Json格式数据(详情参考Json格式数据)(必录) |
||||
|
2.1.Creator:创建者内码(非必录) |
||||
|
2.2.NeedUpDateFields:需要更新的字段,数组类型,格式:[key1,key2,...](非必录),注(更新单据体字段得加上单据体key) |
||||
|
2.3.NeedReturnFields:需返回结果的字段集合,数组类型,格式:[key,entitykey.key,...](非必录),注(返回单据体字段格式:entitykey.key) |
||||
|
2.4.IsDeleteEntry:是否删除已存在的分录,布尔类型,默认true(非必录) |
||||
|
2.5.SubSystemId:表单所在的子系统内码,字符串类型(非必录) |
||||
|
2.6.IsVerifyBaseDataField:是否验证所有的基础资料有效性,布尔类,默认false(非必录) |
||||
|
2.7.IsEntryBatchFill:是否批量填充分录,默认true(非必录) |
||||
|
2.8.ValidateFlag:是否验证标志,布尔类型,默认true(非必录) |
||||
|
2.9.NumberSearch:是否用编码搜索基础资料,布尔类型,默认true(非必录) |
||||
|
2.10.InterationFlags:交互标志集合,字符串类型,分号分隔,格式:"flag1;flag2;..."(非必录),例如(允许负库存标识:STK_InvCheckResult) |
||||
|
2.11.Model:表单数据包,Json类型(必录) |
||||
|
|
||||
|
二、Json格式数据: |
||||
|
{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FBANKACNTID\":\"0\",\"FCreateOrgId\":{\"FNumber\":\"\"},\"FNumber\":\"\",\"FBANKID\":{\"FNumber\":\"\"},\"FName\":\"\",\"FInOrOut\":\"\",\"FACNTBRANCHNUMBER\":\"\",\"FBankType\":{\"FNAME\":\"\"},\"FProvince\":{\"FNAME\":\"\"},\"FCity\":{\"FNAME\":\"\"},\"FDistrict\":{\"FNAME\":\"\"},\"FUseOrgId\":{\"FNumber\":\"\"},\"FACNTAREACODE\":\"\",\"FACNTAREANAME\":\"\",\"FIsCancel\":\"false\",\"FIsFundUp\":\"false\",\"FISDEFAULTBANK\":\"false\",\"FIsSupBank\":\"false\",\"FINNERACCOUNTID\":{\"FNUMBER\":\"\"},\"FDescription\":\"\",\"FSRCBILLID\":\"0\",\"FUpType\":\"\",\"FUpAmount\":\"0\",\"FBaseAmount\":\"0\",\"FMinUpAmount\":\"0\",\"FACCOUNTTYPE\":\"\",\"FLICENSEKEY\":\"\",\"FPUBLICACNT\":{\"FNUMBER\":\"\"},\"FBankServiceLoginId\":\"\",\"FBankServiceLoginDesc\":\"\",\"FIsSupBBC\":\"false\"}} |
||||
|
|
||||
|
三、返回参数: |
||||
|
{\"Result\":{\"ResponseStatus\":{\"ErrorCode\":\"\",\"IsSuccess\":\"false\",\"Errors\":[{\"FieldName\":\"\",\"Message\":\"\",\"DIndex\":0}],\"SuccessEntitys\":[{\"Id\":\"\",\"Number\":\"\",\"DIndex\":0}],\"SuccessMessages\":[{\"FieldName\":\"\",\"Message\":\"\",\"DIndex\":0}]},\"Id\":\"\",\"NeedReturnData\":[{}]}} |
||||
|
|
||||
|
四、代码示例: |
||||
|
// 使用webapi引用组件Kingdee.BOS.WebApi.Client.dll |
||||
|
K3CloudApiClient client = new K3CloudApiClient("http://121.36.43.55/k3cloud/"); |
||||
|
var ret = client.ValidateLogin("61dce6601125a0","Administrator","888888",2052); |
||||
|
var result = JObject.Parse(ret)["LoginResultType"].Value<int>(); |
||||
|
// 登陆成功 |
||||
|
if (result == 1) |
||||
|
{ |
||||
|
client.Draft("CN_BANKACNT","{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FBANKACNTID\":\"0\",\"FCreateOrgId\":{\"FNumber\":\"\"},\"FNumber\":\"\",\"FBANKID\":{\"FNumber\":\"\"},\"FName\":\"\",\"FInOrOut\":\"\",\"FACNTBRANCHNUMBER\":\"\",\"FBankType\":{\"FNAME\":\"\"},\"FProvince\":{\"FNAME\":\"\"},\"FCity\":{\"FNAME\":\"\"},\"FDistrict\":{\"FNAME\":\"\"},\"FUseOrgId\":{\"FNumber\":\"\"},\"FACNTAREACODE\":\"\",\"FACNTAREANAME\":\"\",\"FIsCancel\":\"false\",\"FIsFundUp\":\"false\",\"FISDEFAULTBANK\":\"false\",\"FIsSupBank\":\"false\",\"FINNERACCOUNTID\":{\"FNUMBER\":\"\"},\"FDescription\":\"\",\"FSRCBILLID\":\"0\",\"FUpType\":\"\",\"FUpAmount\":\"0\",\"FBaseAmount\":\"0\",\"FMinUpAmount\":\"0\",\"FACCOUNTTYPE\":\"\",\"FLICENSEKEY\":\"\",\"FPUBLICACNT\":{\"FNUMBER\":\"\"},\"FBankServiceLoginId\":\"\",\"FBankServiceLoginDesc\":\"\",\"FIsSupBBC\":\"false\"}}"); |
||||
|
} |
||||
|
|
||||
|
五、字段说明: |
||||
|
资金上划:FIsFundUp |
||||
|
内部账户:FINNERACCOUNTID |
||||
|
上划方式:FUpType (必填项) |
||||
|
留底余额:FBaseAmount |
||||
|
上划定额:FUpAmount |
||||
|
省:FProvince |
||||
|
城市:FCity |
||||
|
地区:FDistrict |
||||
|
源单内码:FSRCBILLID |
||||
|
账户收支属性:FInOrOut (必填项) |
||||
|
最小上划金额:FMinUpAmount |
||||
|
登录配置编号:FBankServiceLoginId |
||||
|
对公账号:FPUBLICACNT |
||||
|
银行版本:FBankServiceLoginDesc |
||||
|
支持BBC分销门户显示:FIsSupBBC |
||||
|
币别:FCURRENCYID |
||||
|
支持网银:FIsSupBank |
||||
|
是否销户:FIsCancel |
||||
|
默认账号:FISDEFAULTBANK |
||||
|
授权密码:FLICENSEKEY |
||||
|
账号类型:FACCOUNTTYPE (必填项) |
||||
|
使用组织:FUseOrgId (必填项) |
||||
|
创建组织:FCreateOrgId (必填项) |
||||
|
创建人:FCreatorId |
||||
|
创建日期:FCreateDate |
||||
|
修改人:FModifierId |
||||
|
禁用状态:FForbidStatus |
||||
|
数据状态:FDocumentStatus |
||||
|
账户名称:FName (必填项) |
||||
|
备注:FDescription |
||||
|
银行账号:FNumber (必填项) |
||||
|
修改日期:FModifyDate |
||||
|
禁用日期:FForbidDate |
||||
|
审核人:FApproverId |
||||
|
禁用人:FForbidderID |
||||
|
银行:FBankType |
||||
|
银行地址:FBANKADDRESS |
||||
|
账户地区码:FACNTAREACODE |
||||
|
开户银行联行号:FACNTBRANCHNUMBER |
||||
|
账户地区名:FACNTAREANAME |
||||
|
审核日期:FApproveDate |
||||
|
开户银行:FBANKID (必填项) |
@ -0,0 +1 @@ |
|||||
|
{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FBANKACNTID\":0,\"FCreateOrgId\":{\"FNumber\":\"101\"},\"FNumber\":\"11122222\",\"FBANKID\":{\"FNumber\":\"0001\"},\"FName\":\"222211111\",\"FUseOrgId\":{\"FNumber\":\"101\"},\"FIsCancel\":false,\"FIsFundUp\":false,\"FISDEFAULTBANK\":false,\"FIsSupBank\":false,\"FUpType\":\"1\",\"FIsSupBBC\":false}} |
Binary file not shown.
@ -0,0 +1,57 @@ |
|||||
|
package com.yxt.anrui.terminal.api.finance.costapply; |
||||
|
|
||||
|
import com.yxt.anrui.terminal.api.finance.costapply.flowable.CostApplyDto; |
||||
|
import com.yxt.anrui.terminal.api.finance.costapply.flowable.CostApplyQuery; |
||||
|
import com.yxt.anrui.terminal.api.finance.costapply.flowable.CostApplyTaskQuery; |
||||
|
import com.yxt.common.core.result.ResultBean; |
||||
|
import io.swagger.annotations.Api; |
||||
|
import io.swagger.annotations.ApiOperation; |
||||
|
import org.springframework.cloud.openfeign.FeignClient; |
||||
|
import org.springframework.cloud.openfeign.SpringQueryMap; |
||||
|
import org.springframework.web.bind.annotation.*; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/4 19:11 |
||||
|
* @Description |
||||
|
*/ |
||||
|
@Api(tags = "费用申请") |
||||
|
@FeignClient( |
||||
|
contextId = "terminal-CostApply", |
||||
|
name = "anrui-terminal", |
||||
|
path = "/finance/v1/costApply", |
||||
|
fallback = CostApplyFeignFallback.class) |
||||
|
public interface CostApplyFeign { |
||||
|
|
||||
|
@ApiOperation("费用申请详情") |
||||
|
@GetMapping("/getCostApply/{sid}") |
||||
|
@ResponseBody |
||||
|
ResultBean<CostDetailsVo> getCostApply(@PathVariable("sid") String sid); |
||||
|
|
||||
|
@ApiOperation("办理") |
||||
|
@PutMapping("/agreeCostApplyInfo") |
||||
|
@ResponseBody |
||||
|
ResultBean agreeCostApplyInfo(@RequestBody CostApplyDto dto); |
||||
|
|
||||
|
@ApiOperation("驳回") |
||||
|
@PutMapping("/rejectCostApplyInfo") |
||||
|
@ResponseBody |
||||
|
ResultBean rejectCostApplyInfo(@RequestBody CostApplyTaskQuery query); |
||||
|
|
||||
|
@ApiOperation("撤回") |
||||
|
@PutMapping("/recallCostApplyInfo") |
||||
|
@ResponseBody |
||||
|
ResultBean recallCostApplyInfo(@RequestBody CostApplyTaskQuery query); |
||||
|
|
||||
|
@ApiOperation("终止") |
||||
|
@PutMapping("/stopCostApplyInfo") |
||||
|
@ResponseBody |
||||
|
ResultBean stopCostApplyInfo(@RequestBody CostApplyTaskQuery query); |
||||
|
|
||||
|
@ApiOperation("获取流程操作标题") |
||||
|
@GetMapping("/getFlowOperateTitle") |
||||
|
@ResponseBody |
||||
|
ResultBean<String> getFlowOperateTitle(@SpringQueryMap CostApplyQuery query); |
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,9 @@ |
|||||
|
package com.yxt.anrui.terminal.api.finance.costapply; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/4 19:20 |
||||
|
* @Description |
||||
|
*/ |
||||
|
public class CostApplyFeignFallback { |
||||
|
} |
@ -0,0 +1,68 @@ |
|||||
|
package com.yxt.anrui.terminal.api.finance.costapply; |
||||
|
|
||||
|
import com.fasterxml.jackson.annotation.JsonProperty; |
||||
|
import com.yxt.common.core.vo.Vo; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/4 18:58 |
||||
|
* @Description |
||||
|
*/ |
||||
|
@Data |
||||
|
public class CostDetailsVo implements Vo { |
||||
|
private static final long serialVersionUID = 4230232069904074647L; |
||||
|
|
||||
|
@ApiModelProperty("费用名称") |
||||
|
@JsonProperty("applyName") |
||||
|
private String costTitleValue; |
||||
|
|
||||
|
@ApiModelProperty("创建时间") |
||||
|
@JsonProperty("applyDate") |
||||
|
private String createTime; |
||||
|
|
||||
|
//申请人
|
||||
|
@JsonProperty("applicant") |
||||
|
private String name; |
||||
|
|
||||
|
//费用类型
|
||||
|
@JsonProperty("costType") |
||||
|
private String costTypeValue; |
||||
|
|
||||
|
//申请费用
|
||||
|
@JsonProperty("applyPrice") |
||||
|
private String cost; |
||||
|
|
||||
|
//使用方式
|
||||
|
@JsonProperty("useType") |
||||
|
private String useTypeValue; |
||||
|
|
||||
|
//备注
|
||||
|
private String remarks; |
||||
|
|
||||
|
//是否涉及车辆
|
||||
|
@JsonProperty("isVeh") |
||||
|
private String isVeh; |
||||
|
@JsonProperty("isVehKey") |
||||
|
private String isVehKey; |
||||
|
|
||||
|
|
||||
|
@ApiModelProperty(value = "车架号") |
||||
|
private String vins; |
||||
|
|
||||
|
//任务id
|
||||
|
private String taskId; |
||||
|
|
||||
|
//实例id
|
||||
|
@JsonProperty("procInsId") |
||||
|
private String procInstId; |
||||
|
|
||||
|
private String sid; |
||||
|
@ApiModelProperty("是否需要出门") |
||||
|
@JsonProperty("vinState") |
||||
|
private String isOutDoor; |
||||
|
@JsonProperty("userSid") |
||||
|
private String createBySid; |
||||
|
|
||||
|
} |
@ -0,0 +1,37 @@ |
|||||
|
package com.yxt.anrui.terminal.api.finance.costapply.flowable; |
||||
|
|
||||
|
import com.fasterxml.jackson.annotation.JsonProperty; |
||||
|
import com.yxt.common.core.dto.Dto; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import javax.validation.constraints.NotBlank; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/4 18:06 |
||||
|
* @Description |
||||
|
*/ |
||||
|
@Data |
||||
|
public class CostApplyDto implements Dto { |
||||
|
private static final long serialVersionUID = -5698304783095155182L; |
||||
|
|
||||
|
@ApiModelProperty(value = "任务id") |
||||
|
@NotBlank(message = "参数错误:taskId") |
||||
|
private String taskId; |
||||
|
@ApiModelProperty(value = "流程id") |
||||
|
@NotBlank(message = "参数错误:procInsId") |
||||
|
@JsonProperty("procInsId") |
||||
|
private String instanceId; |
||||
|
@ApiModelProperty(value = "意见") |
||||
|
private String comment; |
||||
|
@ApiModelProperty(value = "业务sid") |
||||
|
@NotBlank(message = "参数错误:businessSid") |
||||
|
private String businessSid; |
||||
|
@ApiModelProperty(value = "用户sid") |
||||
|
@NotBlank(message = "参数错误:userSid") |
||||
|
private String userSid; |
||||
|
@ApiModelProperty(value = "节点id") |
||||
|
@NotBlank(message = "参数错误:taskDefKey") |
||||
|
private String taskDefKey; |
||||
|
} |
@ -0,0 +1,25 @@ |
|||||
|
package com.yxt.anrui.terminal.api.finance.costapply.flowable; |
||||
|
|
||||
|
import com.yxt.common.core.query.Query; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import javax.validation.constraints.NotNull; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/5 15:26 |
||||
|
* @Description |
||||
|
*/ |
||||
|
@Data |
||||
|
public class CostApplyQuery implements Query { |
||||
|
private static final long serialVersionUID = 5041782090284095194L; |
||||
|
|
||||
|
@ApiModelProperty(value = "节点key") |
||||
|
private String taskDefKey; |
||||
|
@ApiModelProperty(value = "业务sid") |
||||
|
private String businessSid; |
||||
|
@ApiModelProperty(value = "0 上一环节 1下一环节") |
||||
|
@NotNull(message = "参数错误:next") |
||||
|
private Integer next; |
||||
|
} |
@ -0,0 +1,47 @@ |
|||||
|
package com.yxt.anrui.terminal.api.finance.costapply.flowable; |
||||
|
|
||||
|
import com.fasterxml.jackson.annotation.JsonProperty; |
||||
|
import com.yxt.common.core.query.Query; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import javax.validation.constraints.NotBlank; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/5 15:31 |
||||
|
* @Description |
||||
|
*/ |
||||
|
@Data |
||||
|
public class CostApplyTaskQuery implements Query { |
||||
|
private static final long serialVersionUID = -3303215603844118072L; |
||||
|
|
||||
|
/** |
||||
|
* 终止、驳回、撤回 |
||||
|
*/ |
||||
|
@ApiModelProperty("任务Id") |
||||
|
@NotBlank(message = "参数错误:taskId") |
||||
|
private String taskId; |
||||
|
/** |
||||
|
* 终止、驳回、撤回 |
||||
|
*/ |
||||
|
@ApiModelProperty("业务sid") |
||||
|
@NotBlank(message = "参数错误:businessSid") |
||||
|
private String businessSid; |
||||
|
/** |
||||
|
* 终止、驳回 |
||||
|
*/ |
||||
|
@ApiModelProperty("任务意见") |
||||
|
private String comment; |
||||
|
/** |
||||
|
* 终止、撤回、驳回 |
||||
|
*/ |
||||
|
@ApiModelProperty("用户Sid") |
||||
|
private String userSid; |
||||
|
/** |
||||
|
* 终止 |
||||
|
*/ |
||||
|
@ApiModelProperty("流程实例Id") |
||||
|
@JsonProperty("procInsId") |
||||
|
private String instanceId; |
||||
|
} |
@ -0,0 +1,34 @@ |
|||||
|
package com.yxt.anrui.terminal.api.finance.paymentapply; |
||||
|
|
||||
|
import com.fasterxml.jackson.annotation.JsonProperty; |
||||
|
import com.yxt.common.core.vo.Vo; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/6 15:52 |
||||
|
* @Description |
||||
|
*/ |
||||
|
@Data |
||||
|
public class PaymentApplyDetailsVo implements Vo { |
||||
|
private static final long serialVersionUID = -3182165897761808808L; |
||||
|
|
||||
|
@ApiModelProperty("厂家销售通路") |
||||
|
@JsonProperty("paymentName") |
||||
|
private String actualPay; |
||||
|
@ApiModelProperty("付款方式") |
||||
|
@JsonProperty("state") |
||||
|
private String paymentType; |
||||
|
@ApiModelProperty("开户行") |
||||
|
@JsonProperty("depositBank") |
||||
|
private String bank; |
||||
|
@ApiModelProperty("收款银行账号") |
||||
|
@JsonProperty("bankAccount") |
||||
|
private String receivingAccount; |
||||
|
@ApiModelProperty("付款金额") |
||||
|
@JsonProperty("paymentPrice") |
||||
|
private String payAccount; |
||||
|
@ApiModelProperty("备注") |
||||
|
private String remarks; |
||||
|
} |
@ -0,0 +1,56 @@ |
|||||
|
package com.yxt.anrui.terminal.api.finance.paymentapply; |
||||
|
|
||||
|
import com.yxt.anrui.terminal.api.finance.paymentapply.flowable.PaymentApplyDto; |
||||
|
import com.yxt.anrui.terminal.api.finance.paymentapply.flowable.PaymentApplyQuery; |
||||
|
import com.yxt.anrui.terminal.api.finance.paymentapply.flowable.PaymentApplyTaskQuery; |
||||
|
import com.yxt.common.core.result.ResultBean; |
||||
|
import io.swagger.annotations.Api; |
||||
|
import io.swagger.annotations.ApiOperation; |
||||
|
import org.springframework.cloud.openfeign.FeignClient; |
||||
|
import org.springframework.cloud.openfeign.SpringQueryMap; |
||||
|
import org.springframework.web.bind.annotation.*; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/6 9:57 |
||||
|
* @Description |
||||
|
*/ |
||||
|
@Api(tags = "付款申请") |
||||
|
@FeignClient( |
||||
|
contextId = "terminal-PaymentApply", |
||||
|
name = "anrui-terminal", |
||||
|
path = "/finance/v1/paymentApply", |
||||
|
fallback = PaymentApplyFeignFallback.class) |
||||
|
public interface PaymentApplyFeign { |
||||
|
|
||||
|
@ApiOperation("详情") |
||||
|
@GetMapping("/getPaymentApply/{sid}") |
||||
|
@ResponseBody |
||||
|
ResultBean<PaymentApplyVo> getPaymentApply(@PathVariable("sid") String sid); |
||||
|
|
||||
|
|
||||
|
@ApiOperation("办理") |
||||
|
@PutMapping("/agreePaymentApplyInfo") |
||||
|
@ResponseBody |
||||
|
ResultBean agreePayApplyInfo(@RequestBody PaymentApplyDto dto); |
||||
|
|
||||
|
@ApiOperation("驳回") |
||||
|
@PutMapping("/rejectPaymentApplyInfo") |
||||
|
@ResponseBody |
||||
|
ResultBean rejectPayApplyInfo(@RequestBody PaymentApplyTaskQuery query); |
||||
|
|
||||
|
@ApiOperation("撤回") |
||||
|
@PutMapping("/recallPaymentApplyInfo") |
||||
|
@ResponseBody |
||||
|
ResultBean recallPayApplyInfo(@RequestBody PaymentApplyTaskQuery query); |
||||
|
|
||||
|
@ApiOperation("终止") |
||||
|
@PutMapping("/stopPaymentApplyInfo") |
||||
|
@ResponseBody |
||||
|
ResultBean stopPayApplyInfo(@RequestBody PaymentApplyTaskQuery query); |
||||
|
|
||||
|
@ApiOperation("获取流程操作标题") |
||||
|
@GetMapping("/getFlowOperateTitle") |
||||
|
@ResponseBody |
||||
|
ResultBean<String> getFlowOperateTitle(@SpringQueryMap PaymentApplyQuery query); |
||||
|
} |
@ -0,0 +1,9 @@ |
|||||
|
package com.yxt.anrui.terminal.api.finance.paymentapply; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/6 9:58 |
||||
|
* @Description |
||||
|
*/ |
||||
|
public class PaymentApplyFeignFallback { |
||||
|
} |
@ -0,0 +1,26 @@ |
|||||
|
package com.yxt.anrui.terminal.api.finance.paymentapply; |
||||
|
|
||||
|
import com.fasterxml.jackson.annotation.JsonProperty; |
||||
|
import com.yxt.common.core.vo.Vo; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/6 15:53 |
||||
|
* @Description |
||||
|
*/ |
||||
|
@Data |
||||
|
public class PaymentApplyVehicleVo implements Vo { |
||||
|
private static final long serialVersionUID = -8919822312166380804L; |
||||
|
|
||||
|
@ApiModelProperty("车型") |
||||
|
@JsonProperty("model") |
||||
|
private String modelName; |
||||
|
@ApiModelProperty("车架号") |
||||
|
@JsonProperty("vin") |
||||
|
private String vinNo; |
||||
|
@ApiModelProperty("厂家结算价") |
||||
|
@JsonProperty("price") |
||||
|
private String money; |
||||
|
} |
@ -0,0 +1,67 @@ |
|||||
|
package com.yxt.anrui.terminal.api.finance.paymentapply; |
||||
|
|
||||
|
import com.fasterxml.jackson.annotation.JsonProperty; |
||||
|
import com.yxt.common.core.vo.Vo; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.util.ArrayList; |
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/6 9:59 |
||||
|
* @Description |
||||
|
*/ |
||||
|
@Data |
||||
|
public class PaymentApplyVo implements Vo { |
||||
|
private static final long serialVersionUID = 1191604961683000023L; |
||||
|
|
||||
|
@ApiModelProperty("款项名称") |
||||
|
@JsonProperty("paymentName") |
||||
|
private String costTitleValue; |
||||
|
//创建时间
|
||||
|
@JsonProperty("applyDate") |
||||
|
private String createTime; |
||||
|
//申请人
|
||||
|
@JsonProperty("applyName") |
||||
|
private String name; |
||||
|
//款项类别
|
||||
|
@JsonProperty("paymentType") |
||||
|
private String costTypeValue; |
||||
|
//业务编号
|
||||
|
@JsonProperty("businessId") |
||||
|
private String busSid; |
||||
|
//金额
|
||||
|
@JsonProperty("price") |
||||
|
private String cost; |
||||
|
//付款单位名称
|
||||
|
@JsonProperty("payerName") |
||||
|
private String payCompany; |
||||
|
//收款单位名称
|
||||
|
@JsonProperty("payeeName") |
||||
|
private String receiveCompany; |
||||
|
//付款备注
|
||||
|
@JsonProperty("paymentRemarks") |
||||
|
private String remarks; |
||||
|
//是否涉及车辆
|
||||
|
@JsonProperty("involveCarKey") |
||||
|
private String isVeh; |
||||
|
@JsonProperty("involveCar") |
||||
|
private String isVehValue; |
||||
|
//付款明细List
|
||||
|
private List<PaymentApplyDetailsVo> paymentList = new ArrayList<>(); |
||||
|
@ApiModelProperty("付款明细合计") |
||||
|
private String paymentTotal; |
||||
|
|
||||
|
//车辆列表
|
||||
|
private List<PaymentApplyVehicleVo> carList = new ArrayList<>(); |
||||
|
@ApiModelProperty("车辆金额合计") |
||||
|
private String carTotal; |
||||
|
@JsonProperty("userSid") |
||||
|
private String createBySid; |
||||
|
private String taskId; |
||||
|
@JsonProperty("procInsId") |
||||
|
private String procInstId; |
||||
|
|
||||
|
} |
@ -0,0 +1,37 @@ |
|||||
|
package com.yxt.anrui.terminal.api.finance.paymentapply.flowable; |
||||
|
|
||||
|
import com.fasterxml.jackson.annotation.JsonProperty; |
||||
|
import com.yxt.common.core.dto.Dto; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import javax.validation.constraints.NotBlank; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/6 9:59 |
||||
|
* @Description |
||||
|
*/ |
||||
|
@Data |
||||
|
public class PaymentApplyDto implements Dto { |
||||
|
private static final long serialVersionUID = 7798653263828204569L; |
||||
|
|
||||
|
@ApiModelProperty(value = "任务id") |
||||
|
@NotBlank(message = "参数错误:taskId") |
||||
|
private String taskId; |
||||
|
@ApiModelProperty(value = "流程id") |
||||
|
@NotBlank(message = "参数错误:procInsId") |
||||
|
@JsonProperty("procInsId") |
||||
|
private String instanceId; |
||||
|
@ApiModelProperty(value = "意见") |
||||
|
private String comment; |
||||
|
@ApiModelProperty(value = "业务sid") |
||||
|
@NotBlank(message = "参数错误:businessSid") |
||||
|
private String businessSid; |
||||
|
@ApiModelProperty(value = "用户sid") |
||||
|
@NotBlank(message = "参数错误:userSid") |
||||
|
private String userSid; |
||||
|
@ApiModelProperty(value = "节点id") |
||||
|
@NotBlank(message = "参数错误:taskDefKey") |
||||
|
private String taskDefKey; |
||||
|
} |
@ -0,0 +1,25 @@ |
|||||
|
package com.yxt.anrui.terminal.api.finance.paymentapply.flowable; |
||||
|
|
||||
|
import com.yxt.common.core.query.Query; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import javax.validation.constraints.NotNull; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/6 10:00 |
||||
|
* @Description |
||||
|
*/ |
||||
|
@Data |
||||
|
public class PaymentApplyQuery implements Query { |
||||
|
private static final long serialVersionUID = 6112966480482869923L; |
||||
|
|
||||
|
@ApiModelProperty(value = "节点key") |
||||
|
private String taskDefKey; |
||||
|
@ApiModelProperty(value = "业务sid") |
||||
|
private String businessSid; |
||||
|
@ApiModelProperty(value = "0 上一环节 1下一环节") |
||||
|
@NotNull(message = "参数错误:next") |
||||
|
private Integer next; |
||||
|
} |
@ -0,0 +1,47 @@ |
|||||
|
package com.yxt.anrui.terminal.api.finance.paymentapply.flowable; |
||||
|
|
||||
|
import com.fasterxml.jackson.annotation.JsonProperty; |
||||
|
import com.yxt.common.core.query.Query; |
||||
|
import io.swagger.annotations.ApiModelProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import javax.validation.constraints.NotBlank; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/6 10:00 |
||||
|
* @Description |
||||
|
*/ |
||||
|
@Data |
||||
|
public class PaymentApplyTaskQuery implements Query { |
||||
|
|
||||
|
private static final long serialVersionUID = 4492173829846824226L; |
||||
|
/** |
||||
|
* 终止、驳回、撤回 |
||||
|
*/ |
||||
|
@ApiModelProperty("任务Id") |
||||
|
@NotBlank(message = "参数错误:taskId") |
||||
|
private String taskId; |
||||
|
/** |
||||
|
* 终止、驳回、撤回 |
||||
|
*/ |
||||
|
@ApiModelProperty("业务sid") |
||||
|
@NotBlank(message = "参数错误:businessSid") |
||||
|
private String businessSid; |
||||
|
/** |
||||
|
* 终止、驳回 |
||||
|
*/ |
||||
|
@ApiModelProperty("任务意见") |
||||
|
private String comment; |
||||
|
/** |
||||
|
* 终止、撤回、驳回 |
||||
|
*/ |
||||
|
@ApiModelProperty("用户Sid") |
||||
|
private String userSid; |
||||
|
/** |
||||
|
* 终止 |
||||
|
*/ |
||||
|
@ApiModelProperty("流程实例Id") |
||||
|
@JsonProperty("procInsId") |
||||
|
private String instanceId; |
||||
|
} |
@ -0,0 +1,54 @@ |
|||||
|
package com.yxt.anrui.terminal.biz.finance.costapply; |
||||
|
|
||||
|
import com.yxt.anrui.terminal.api.finance.costapply.CostApplyFeign; |
||||
|
import com.yxt.anrui.terminal.api.finance.costapply.CostDetailsVo; |
||||
|
import com.yxt.anrui.terminal.api.finance.costapply.flowable.CostApplyDto; |
||||
|
import com.yxt.anrui.terminal.api.finance.costapply.flowable.CostApplyQuery; |
||||
|
import com.yxt.anrui.terminal.api.finance.costapply.flowable.CostApplyTaskQuery; |
||||
|
import com.yxt.common.core.result.ResultBean; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.stereotype.Controller; |
||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/5 15:12 |
||||
|
* @Description |
||||
|
*/ |
||||
|
@Controller |
||||
|
@RequestMapping("/finance/v1/costApply") |
||||
|
public class CostApplyRest implements CostApplyFeign { |
||||
|
|
||||
|
@Autowired |
||||
|
private CostApplyService costApplyService; |
||||
|
|
||||
|
@Override |
||||
|
public ResultBean<CostDetailsVo> getCostApply(String sid) { |
||||
|
return costApplyService.getCostApply(sid); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public ResultBean agreeCostApplyInfo(CostApplyDto dto) { |
||||
|
return costApplyService.agreeCostApplyInfo(dto); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public ResultBean rejectCostApplyInfo(CostApplyTaskQuery query) { |
||||
|
return costApplyService.rejectCostApplyInfo(query); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public ResultBean recallCostApplyInfo(CostApplyTaskQuery query) { |
||||
|
return costApplyService.recallCostApplyInfo(query); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public ResultBean stopCostApplyInfo(CostApplyTaskQuery query) { |
||||
|
return costApplyService.stopCostApplyInfo(query); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public ResultBean<String> getFlowOperateTitle(CostApplyQuery query) { |
||||
|
return costApplyService.getFlowOperateTitle(query); |
||||
|
} |
||||
|
} |
@ -0,0 +1,136 @@ |
|||||
|
package com.yxt.anrui.terminal.biz.finance.costapply; |
||||
|
|
||||
|
import cn.hutool.core.bean.BeanUtil; |
||||
|
import com.yxt.anrui.fin.api.fincostapply.AppFinCostApplyVo; |
||||
|
import com.yxt.anrui.fin.api.fincostapply.FinCostapplyFeign; |
||||
|
import com.yxt.anrui.fin.api.fincostapply.flow.FinCostCompleteDto; |
||||
|
import com.yxt.anrui.fin.api.fincostapply.flow.FinCostGetNodeQuery; |
||||
|
import com.yxt.anrui.fin.api.fincostapply.flow.FinCostGetNodeVo; |
||||
|
import com.yxt.anrui.fin.api.fincostapply.flow.FinCostTaskQuery; |
||||
|
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; |
||||
|
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; |
||||
|
import com.yxt.anrui.portal.api.sysuser.SysUserFeign; |
||||
|
import com.yxt.anrui.portal.api.sysuser.SysUserVo; |
||||
|
import com.yxt.anrui.terminal.api.finance.costapply.CostDetailsVo; |
||||
|
import com.yxt.anrui.terminal.api.finance.costapply.flowable.CostApplyDto; |
||||
|
import com.yxt.anrui.terminal.api.finance.costapply.flowable.CostApplyQuery; |
||||
|
import com.yxt.anrui.terminal.api.finance.costapply.flowable.CostApplyTaskQuery; |
||||
|
import com.yxt.common.core.result.ResultBean; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
|
||||
|
import java.util.Collections; |
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/5 15:13 |
||||
|
* @Description |
||||
|
*/ |
||||
|
@Service |
||||
|
public class CostApplyService { |
||||
|
|
||||
|
@Autowired |
||||
|
private FinCostapplyFeign finCostapplyFeign; |
||||
|
@Autowired |
||||
|
private SysUserFeign sysUserFeign; |
||||
|
@Autowired |
||||
|
private SysStaffOrgFeign sysStaffOrgFeign; |
||||
|
|
||||
|
public ResultBean<CostDetailsVo> getCostApply(String sid) { |
||||
|
ResultBean<CostDetailsVo> rb = ResultBean.fireFail(); |
||||
|
ResultBean<AppFinCostApplyVo> resultBean = finCostapplyFeign.appDetails(sid); |
||||
|
if (!resultBean.getSuccess()) { |
||||
|
return rb.setMsg(resultBean.getMsg()); |
||||
|
} |
||||
|
CostDetailsVo costDetailsVo = new CostDetailsVo(); |
||||
|
BeanUtil.copyProperties(resultBean.getData(), costDetailsVo); |
||||
|
return rb.success().setData(costDetailsVo); |
||||
|
} |
||||
|
|
||||
|
public ResultBean agreeCostApplyInfo(CostApplyDto dto) { |
||||
|
ResultBean rb = ResultBean.fireFail(); |
||||
|
//根据用户sid获取staffSid
|
||||
|
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid()); |
||||
|
if (!userVoResultBean.getSuccess()) { |
||||
|
return rb.setMsg(userVoResultBean.getMsg()); |
||||
|
} |
||||
|
//根据staffSid获取用户的组织全路径
|
||||
|
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid()); |
||||
|
if (!staffOrgResultBean.getSuccess()) { |
||||
|
return rb.setMsg(staffOrgResultBean.getMsg()); |
||||
|
} |
||||
|
//用户的组织全路径
|
||||
|
String orgSidPath = staffOrgResultBean.getData().getOrgSidPath(); |
||||
|
FinCostCompleteDto finCostCompleteDto = new FinCostCompleteDto(); |
||||
|
BeanUtil.copyProperties(dto, finCostCompleteDto); |
||||
|
finCostCompleteDto.setOrgSidPath(orgSidPath); |
||||
|
ResultBean resultBean = finCostapplyFeign.complete(finCostCompleteDto); |
||||
|
if (!resultBean.getSuccess()) { |
||||
|
return rb.setMsg(resultBean.getMsg()); |
||||
|
} |
||||
|
return rb.success().setData(resultBean.getData()); |
||||
|
} |
||||
|
|
||||
|
public ResultBean rejectCostApplyInfo(CostApplyTaskQuery query) { |
||||
|
ResultBean rb = ResultBean.fireFail(); |
||||
|
FinCostTaskQuery finCostTaskQuery = new FinCostTaskQuery(); |
||||
|
BeanUtil.copyProperties(query, finCostTaskQuery); |
||||
|
ResultBean resultBean = finCostapplyFeign.taskReject(finCostTaskQuery); |
||||
|
if (!resultBean.getSuccess()) { |
||||
|
return rb.setMsg(resultBean.getMsg()); |
||||
|
} |
||||
|
return rb.success().setData(resultBean.getData()); |
||||
|
} |
||||
|
|
||||
|
public ResultBean recallCostApplyInfo(CostApplyTaskQuery query) { |
||||
|
ResultBean rb = ResultBean.fireFail(); |
||||
|
FinCostTaskQuery finCostTaskQuery = new FinCostTaskQuery(); |
||||
|
BeanUtil.copyProperties(query, finCostTaskQuery); |
||||
|
ResultBean resultBean = finCostapplyFeign.revokeProcess(finCostTaskQuery); |
||||
|
if (!resultBean.getSuccess()) { |
||||
|
return rb.setMsg(resultBean.getMsg()); |
||||
|
} |
||||
|
return rb.success().setData(resultBean.getData()); |
||||
|
} |
||||
|
|
||||
|
public ResultBean stopCostApplyInfo(CostApplyTaskQuery query) { |
||||
|
ResultBean rb = ResultBean.fireFail(); |
||||
|
FinCostTaskQuery finCostTaskQuery = new FinCostTaskQuery(); |
||||
|
BeanUtil.copyProperties(query, finCostTaskQuery); |
||||
|
ResultBean resultBean = finCostapplyFeign.breakProcess(finCostTaskQuery); |
||||
|
if (!resultBean.getSuccess()) { |
||||
|
return rb.setMsg(resultBean.getMsg()); |
||||
|
} |
||||
|
return rb.success().setData(resultBean.getData()); |
||||
|
} |
||||
|
|
||||
|
public ResultBean<String> getFlowOperateTitle(CostApplyQuery query) { |
||||
|
ResultBean<String> rb = ResultBean.fireFail(); |
||||
|
//0 上一环节 1下一环节
|
||||
|
int next = query.getNext(); |
||||
|
FinCostGetNodeQuery getNodeQuery = new FinCostGetNodeQuery(); |
||||
|
BeanUtil.copyProperties(query, getNodeQuery); |
||||
|
String data = ""; |
||||
|
if (next == 0) { |
||||
|
ResultBean<List<FinCostGetNodeVo>> getPreviousNodesForReject = finCostapplyFeign.getPreviousNodesForReject(getNodeQuery); |
||||
|
if (getPreviousNodesForReject.getSuccess()) { |
||||
|
getPreviousNodesForReject.getData().removeAll(Collections.singleton(null)); |
||||
|
data = getPreviousNodesForReject.getData().get(0).getName(); |
||||
|
} else { |
||||
|
return rb.setMsg(getPreviousNodesForReject.getMsg()); |
||||
|
} |
||||
|
} else if (next == 1) { |
||||
|
ResultBean<List<FinCostGetNodeVo>> getNextNodesForSubmit = finCostapplyFeign.getNextNodesForSubmit(getNodeQuery); |
||||
|
if (getNextNodesForSubmit.getSuccess()) { |
||||
|
getNextNodesForSubmit.getData().removeAll(Collections.singleton(null)); |
||||
|
data = getNextNodesForSubmit.getData().get(0).getName(); |
||||
|
} else { |
||||
|
return rb.setMsg(getNextNodesForSubmit.getMsg()); |
||||
|
} |
||||
|
} else { |
||||
|
return rb.setMsg("参数错误:next"); |
||||
|
} |
||||
|
return rb.success().setData(data); |
||||
|
} |
||||
|
} |
@ -0,0 +1,54 @@ |
|||||
|
package com.yxt.anrui.terminal.biz.finance.paymentapply; |
||||
|
|
||||
|
import com.yxt.anrui.terminal.api.finance.paymentapply.PaymentApplyFeign; |
||||
|
import com.yxt.anrui.terminal.api.finance.paymentapply.PaymentApplyVo; |
||||
|
import com.yxt.anrui.terminal.api.finance.paymentapply.flowable.PaymentApplyDto; |
||||
|
import com.yxt.anrui.terminal.api.finance.paymentapply.flowable.PaymentApplyQuery; |
||||
|
import com.yxt.anrui.terminal.api.finance.paymentapply.flowable.PaymentApplyTaskQuery; |
||||
|
import com.yxt.common.core.result.ResultBean; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.stereotype.Controller; |
||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/6 10:15 |
||||
|
* @Description |
||||
|
*/ |
||||
|
@Controller |
||||
|
@RequestMapping("/finance/v1/paymentApply") |
||||
|
public class PaymentApplyRest implements PaymentApplyFeign { |
||||
|
|
||||
|
@Autowired |
||||
|
private PaymentApplyService paymentApplyService; |
||||
|
|
||||
|
@Override |
||||
|
public ResultBean<PaymentApplyVo> getPaymentApply(String sid) { |
||||
|
return paymentApplyService.getPaymentApply(sid); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public ResultBean agreePayApplyInfo(PaymentApplyDto dto) { |
||||
|
return paymentApplyService.agreePayApplyInfo(dto); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public ResultBean rejectPayApplyInfo(PaymentApplyTaskQuery query) { |
||||
|
return paymentApplyService.rejectPayApplyInfo(query); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public ResultBean recallPayApplyInfo(PaymentApplyTaskQuery query) { |
||||
|
return paymentApplyService.recallPayApplyInfo(query); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public ResultBean stopPayApplyInfo(PaymentApplyTaskQuery query) { |
||||
|
return paymentApplyService.stopPayApplyInfo(query); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public ResultBean<String> getFlowOperateTitle(PaymentApplyQuery query) { |
||||
|
return paymentApplyService.getFlowOperateTitle(query); |
||||
|
} |
||||
|
} |
@ -0,0 +1,137 @@ |
|||||
|
package com.yxt.anrui.terminal.biz.finance.paymentapply; |
||||
|
|
||||
|
import cn.hutool.core.bean.BeanUtil; |
||||
|
import com.yxt.anrui.fin.api.fincostapply.flow.FinCostGetNodeVo; |
||||
|
import com.yxt.anrui.fin.api.finpaymentapply.AppFinPaymentApplyVo; |
||||
|
import com.yxt.anrui.fin.api.finpaymentapply.FinPaymentapplyFeign; |
||||
|
import com.yxt.anrui.fin.api.finpaymentapply.flow.FinPayCompleteDto; |
||||
|
import com.yxt.anrui.fin.api.finpaymentapply.flow.FinPayGetNodeQuery; |
||||
|
import com.yxt.anrui.fin.api.finpaymentapply.flow.FinPayGetNodeVo; |
||||
|
import com.yxt.anrui.fin.api.finpaymentapply.flow.FinPayTaskQuery; |
||||
|
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; |
||||
|
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; |
||||
|
import com.yxt.anrui.portal.api.sysuser.SysUserFeign; |
||||
|
import com.yxt.anrui.portal.api.sysuser.SysUserVo; |
||||
|
import com.yxt.anrui.terminal.api.finance.paymentapply.PaymentApplyVo; |
||||
|
import com.yxt.anrui.terminal.api.finance.paymentapply.flowable.PaymentApplyDto; |
||||
|
import com.yxt.anrui.terminal.api.finance.paymentapply.flowable.PaymentApplyQuery; |
||||
|
import com.yxt.anrui.terminal.api.finance.paymentapply.flowable.PaymentApplyTaskQuery; |
||||
|
import com.yxt.common.core.result.ResultBean; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
|
||||
|
import java.util.Collections; |
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @Author dimengzhe |
||||
|
* @Date 2022/10/6 10:16 |
||||
|
* @Description |
||||
|
*/ |
||||
|
@Service |
||||
|
public class PaymentApplyService { |
||||
|
|
||||
|
@Autowired |
||||
|
private FinPaymentapplyFeign finPaymentapplyFeign; |
||||
|
@Autowired |
||||
|
private SysUserFeign sysUserFeign; |
||||
|
@Autowired |
||||
|
private SysStaffOrgFeign sysStaffOrgFeign; |
||||
|
|
||||
|
public ResultBean<PaymentApplyVo> getPaymentApply(String sid) { |
||||
|
ResultBean<PaymentApplyVo> rb = ResultBean.fireFail(); |
||||
|
PaymentApplyVo vo = new PaymentApplyVo(); |
||||
|
ResultBean<AppFinPaymentApplyVo> resultBean = finPaymentapplyFeign.getPaymentApply(sid); |
||||
|
if (!resultBean.getSuccess()) { |
||||
|
return rb.setMsg(resultBean.getMsg()); |
||||
|
} |
||||
|
BeanUtil.copyProperties(resultBean.getData(), vo); |
||||
|
return rb.success().setData(vo); |
||||
|
} |
||||
|
|
||||
|
public ResultBean agreePayApplyInfo(PaymentApplyDto dto) { |
||||
|
ResultBean rb = ResultBean.fireFail(); |
||||
|
//根据用户sid获取staffSid
|
||||
|
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid()); |
||||
|
if (!userVoResultBean.getSuccess()) { |
||||
|
return rb.setMsg(userVoResultBean.getMsg()); |
||||
|
} |
||||
|
//根据staffSid获取用户的组织全路径
|
||||
|
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid()); |
||||
|
if (!staffOrgResultBean.getSuccess()) { |
||||
|
return rb.setMsg(staffOrgResultBean.getMsg()); |
||||
|
} |
||||
|
//用户的组织全路径
|
||||
|
String orgSidPath = staffOrgResultBean.getData().getOrgSidPath(); |
||||
|
FinPayCompleteDto finPayCompleteDto = new FinPayCompleteDto(); |
||||
|
BeanUtil.copyProperties(dto, finPayCompleteDto); |
||||
|
finPayCompleteDto.setOrgSidPath(orgSidPath); |
||||
|
ResultBean resultBean = finPaymentapplyFeign.complete(finPayCompleteDto); |
||||
|
if (!resultBean.getSuccess()) { |
||||
|
return rb.setMsg(resultBean.getMsg()); |
||||
|
} |
||||
|
return rb.success().setData(resultBean.getData()); |
||||
|
} |
||||
|
|
||||
|
public ResultBean rejectPayApplyInfo(PaymentApplyTaskQuery query) { |
||||
|
ResultBean rb = ResultBean.fireFail(); |
||||
|
FinPayTaskQuery finPayTaskQuery = new FinPayTaskQuery(); |
||||
|
BeanUtil.copyProperties(query, finPayTaskQuery); |
||||
|
ResultBean resultBean = finPaymentapplyFeign.taskReject(finPayTaskQuery); |
||||
|
if (!resultBean.getSuccess()) { |
||||
|
return rb.setMsg(resultBean.getMsg()); |
||||
|
} |
||||
|
return rb.success().setData(resultBean.getData()); |
||||
|
} |
||||
|
|
||||
|
public ResultBean recallPayApplyInfo(PaymentApplyTaskQuery query) { |
||||
|
ResultBean rb = ResultBean.fireFail(); |
||||
|
FinPayTaskQuery finPayTaskQuery = new FinPayTaskQuery(); |
||||
|
BeanUtil.copyProperties(query, finPayTaskQuery); |
||||
|
ResultBean resultBean = finPaymentapplyFeign.revokeProcess(finPayTaskQuery); |
||||
|
if (!resultBean.getSuccess()) { |
||||
|
return rb.setMsg(resultBean.getMsg()); |
||||
|
} |
||||
|
return rb.success().setData(resultBean.getData()); |
||||
|
} |
||||
|
|
||||
|
public ResultBean stopPayApplyInfo(PaymentApplyTaskQuery query) { |
||||
|
ResultBean rb = ResultBean.fireFail(); |
||||
|
FinPayTaskQuery finPayTaskQuery = new FinPayTaskQuery(); |
||||
|
BeanUtil.copyProperties(query, finPayTaskQuery); |
||||
|
ResultBean resultBean = finPaymentapplyFeign.breakProcess(finPayTaskQuery); |
||||
|
if (!resultBean.getSuccess()) { |
||||
|
return rb.setMsg(resultBean.getMsg()); |
||||
|
} |
||||
|
return rb.success().setData(resultBean.getData()); |
||||
|
} |
||||
|
|
||||
|
public ResultBean<String> getFlowOperateTitle(PaymentApplyQuery query) { |
||||
|
ResultBean<String> rb = ResultBean.fireFail(); |
||||
|
//0 上一环节 1下一环节
|
||||
|
int next = query.getNext(); |
||||
|
FinPayGetNodeQuery getNodeQuery = new FinPayGetNodeQuery(); |
||||
|
BeanUtil.copyProperties(query, getNodeQuery); |
||||
|
String data = ""; |
||||
|
if (next == 0) { |
||||
|
ResultBean<List<FinPayGetNodeVo>> getPreviousNodesForReject = finPaymentapplyFeign.getPreviousNodesForReject(getNodeQuery); |
||||
|
if (getPreviousNodesForReject.getSuccess()) { |
||||
|
getPreviousNodesForReject.getData().removeAll(Collections.singleton(null)); |
||||
|
data = getPreviousNodesForReject.getData().get(0).getName(); |
||||
|
} else { |
||||
|
return rb.setMsg(getPreviousNodesForReject.getMsg()); |
||||
|
} |
||||
|
} else if (next == 1) { |
||||
|
ResultBean<List<FinPayGetNodeVo>> getNextNodesForSubmit = finPaymentapplyFeign.getNextNodesForSubmit(getNodeQuery); |
||||
|
if (getNextNodesForSubmit.getSuccess()) { |
||||
|
getNextNodesForSubmit.getData().removeAll(Collections.singleton(null)); |
||||
|
data = getNextNodesForSubmit.getData().get(0).getName(); |
||||
|
} else { |
||||
|
return rb.setMsg(getNextNodesForSubmit.getMsg()); |
||||
|
} |
||||
|
} else { |
||||
|
return rb.setMsg("参数错误:next"); |
||||
|
} |
||||
|
return rb.success().setData(data); |
||||
|
} |
||||
|
} |
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue