Browse Source

欠款出厂申请移动端审批接口

master
dimengzhe 1 week ago
parent
commit
f278bad097
  1. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/push/PushReturnService2.java
  2. 66
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/arrearsoutapply/AppArrearsoutApplyFeign.java
  3. 52
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/arrearsoutapply/ApplyDetailsVo.java
  4. 26
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/arrearsoutapply/flowable/ArrearsOutDelegateQuery.java
  5. 35
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/arrearsoutapply/flowable/ArrearsOutFlowDto.java
  6. 26
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/arrearsoutapply/flowable/ArrearsOutQuery.java
  7. 45
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/arrearsoutapply/flowable/ArrearsOutTaskQuery.java
  8. 2
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/TerminalApplication.java
  9. 65
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/arrearsoutapply/AppArrearsoutApplyRest.java
  10. 143
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/arrearsoutapply/AppArrearsoutApplyService.java
  11. 131
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asarrearsoutapply/AsArrearsoutApplyDetailsVo.java
  12. 65
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asarrearsoutapply/AsArrearsoutApplyFeign.java
  13. 35
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asarrearsoutapply/AsArrearsoutApplyFile.java
  14. 37
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asarrearsoutapply/flowable/AsArrearsoutApplyCompleteDto.java
  15. 26
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asarrearsoutapply/flowable/AsArrearsoutApplyDelegateQuery.java
  16. 25
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asarrearsoutapply/flowable/AsArrearsoutApplyNodeQuery.java
  17. 26
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asarrearsoutapply/flowable/AsArrearsoutApplyNodeVo.java
  18. 48
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asarrearsoutapply/flowable/AsArrearsoutApplyTaskQuery.java
  19. 6
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asarrearsoutapply/AsArrearsoutApplyRest.java
  20. 52
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asarrearsoutapply/AsArrearsoutApplyService.java

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/push/PushReturnService2.java

@ -84,7 +84,7 @@ public class PushReturnService2 extends FinKingDeeService {
log.debug("完整响应数据: {}", StringUtils.abbreviate(data, 200)); log.debug("完整响应数据: {}", StringUtils.abbreviate(data, 200));
} }
// 4. 提交操作 /* // 4. 提交操作
ResultBean<String> submitResult = submit(KingDeeBillId.SAL_RETURNSTOCK.getID(), String.valueOf(id)); ResultBean<String> submitResult = submit(KingDeeBillId.SAL_RETURNSTOCK.getID(), String.valueOf(id));
if (!submitResult.getSuccess()) { if (!submitResult.getSuccess()) {
log.warn("单据提交失败 | 单据ID: {}, 错误: {}", id, submitResult.getMsg()); log.warn("单据提交失败 | 单据ID: {}, 错误: {}", id, submitResult.getMsg());
@ -98,7 +98,7 @@ public class PushReturnService2 extends FinKingDeeService {
log.warn("单据审核失败 | 单据ID: {}, 错误: {}", id, auditResult.getMsg()); log.warn("单据审核失败 | 单据ID: {}, 错误: {}", id, auditResult.getMsg());
return rb.setCode(KingDeeCode.AUDIT.getCode()) return rb.setCode(KingDeeCode.AUDIT.getCode())
.setData(auditResult.getData()); .setData(auditResult.getData());
} }*/
log.info("单据处理成功 | 单据ID: {}", id); log.info("单据处理成功 | 单据ID: {}", id);
return resultBeans; return resultBeans;

66
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/arrearsoutapply/AppArrearsoutApplyFeign.java

@ -0,0 +1,66 @@
package com.yxt.anrui.terminal.api.as.arrearsoutapply;
import com.yxt.anrui.terminal.api.as.arrearsoutapply.flowable.ArrearsOutDelegateQuery;
import com.yxt.anrui.terminal.api.as.arrearsoutapply.flowable.ArrearsOutFlowDto;
import com.yxt.anrui.terminal.api.as.arrearsoutapply.flowable.ArrearsOutQuery;
import com.yxt.anrui.terminal.api.as.arrearsoutapply.flowable.ArrearsOutTaskQuery;
import com.yxt.anrui.terminal.api.as.busclaimcheckapply.flowable.AppDelegateQuery;
import com.yxt.anrui.terminal.api.as.busclaimcheckapply.flowable.AppFlowDto;
import com.yxt.anrui.terminal.api.as.busclaimcheckapply.flowable.AppFlowQuery;
import com.yxt.anrui.terminal.api.as.busclaimcheckapply.flowable.AppFlowTaskQuery;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
/**
* @description:
* @author: dimengzhe
* @date: 2025/4/16
**/
@FeignClient(
contextId = "terminal-AppArrearsoutApply",
name = "anrui-terminal",
path = "v1/asarrearsoutapply")
public interface AppArrearsoutApplyFeign {
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid2/{sid}")
public ResultBean<ApplyDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
@ApiOperation("办理")
@PutMapping("/agreeArrearInfo")
@ResponseBody
ResultBean agreeArrearInfo(@RequestBody ArrearsOutFlowDto dto);
@ApiOperation("驳回")
@PutMapping("/rejectArrearInfo")
@ResponseBody
ResultBean rejectArrearInfo(@RequestBody ArrearsOutTaskQuery query);
@ApiOperation("撤回")
@PutMapping("/recallArrearInfo")
@ResponseBody
ResultBean recallArrearInfo(@RequestBody ArrearsOutTaskQuery query);
@ApiOperation("终止")
@PutMapping("/stopArrearInfo")
@ResponseBody
ResultBean stopArrearInfo(@RequestBody ArrearsOutTaskQuery query);
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@SpringQueryMap ArrearsOutQuery query);
@ApiOperation(value = "加签")
@PutMapping(value = "/delegate")
@ResponseBody
public ResultBean delegate(@RequestBody ArrearsOutDelegateQuery delegateQuery);
@ApiOperation(value = "转办")
@PutMapping(value = "/assignTask")
@ResponseBody
public ResultBean assignTask(@RequestBody ArrearsOutDelegateQuery delegateQuery);
}

52
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/arrearsoutapply/ApplyDetailsVo.java

@ -0,0 +1,52 @@
package com.yxt.anrui.terminal.api.as.arrearsoutapply;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2025/4/16
**/
@Data
public class ApplyDetailsVo {
private String sid;
@ApiModelProperty("部门名称")
private String deptName;
@ApiModelProperty("制单人姓名")
private String createByName;
@ApiModelProperty("创建时间")
private String createTime;
@ApiModelProperty("工单编号")
private String pairBillNo;
@ApiModelProperty("工单类型value")
private String billTypeValue;
@ApiModelProperty("结算日期")
private String balanceDate;
@ApiModelProperty("客户姓名")
private String customerName;
@ApiModelProperty("客户联系电话")
private String customerPhone;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("车牌号")
private String vehMark;
@ApiModelProperty("工单应收金额")
private String pairReceivableMoney;
@ApiModelProperty("工单已交金额")
private String pairReceivedMoney;
@ApiModelProperty("工单欠款金额")
private String pairArrearsMoney;
private String remarks;
private String procInsId;
private String taskId;
@ApiModelProperty("附件文件")
private List<String> files;
}

26
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/arrearsoutapply/flowable/ArrearsOutDelegateQuery.java

@ -0,0 +1,26 @@
package com.yxt.anrui.terminal.api.as.arrearsoutapply.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2025/4/16
**/
@Data
public class ArrearsOutDelegateQuery {
@ApiModelProperty
private String userSid;
@ApiModelProperty("流程实例id")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty("任务Id")
private String taskId;
@ApiModelProperty("审批人sid")
private String assignee;
@ApiModelProperty("填写意见")
private String views;
}

35
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/arrearsoutapply/flowable/ArrearsOutFlowDto.java

@ -0,0 +1,35 @@
package com.yxt.anrui.terminal.api.as.arrearsoutapply.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @description:
* @author: dimengzhe
* @date: 2025/4/16
**/
@Data
public class ArrearsOutFlowDto {
@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;
}

26
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/arrearsoutapply/flowable/ArrearsOutQuery.java

@ -0,0 +1,26 @@
package com.yxt.anrui.terminal.api.as.arrearsoutapply.flowable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @description:
* @author: dimengzhe
* @date: 2025/4/16
**/
@Data
public class ArrearsOutQuery {
@ApiModelProperty(value = "节点key")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
@ApiModelProperty(value = "0 上一环节 1下一环节")
@NotNull(message = "参数错误:next")
private Integer next;
@ApiModelProperty("组织机构全路径")
private String orgPath;
}

45
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/arrearsoutapply/flowable/ArrearsOutTaskQuery.java

@ -0,0 +1,45 @@
package com.yxt.anrui.terminal.api.as.arrearsoutapply.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @description:
* @author: dimengzhe
* @date: 2025/4/16
**/
@Data
public class ArrearsOutTaskQuery {
/**
* 终止驳回撤回
*/
@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;
}

2
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/TerminalApplication.java

@ -15,7 +15,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
"com.yxt.anrui.terminal", "com.yxt.anrui.terminal",
"com.yxt.common.base.config" "com.yxt.common.base.config"
},exclude = {DataSourceAutoConfiguration.class}) },exclude = {DataSourceAutoConfiguration.class})
@EnableFeignClients(basePackages = {"com.yxt.anrui.portal", "com.yxt.anrui.crm", "com.yxt.anrui.base", "com.yxt.anrui.riskcenter","com.yxt.anrui.flowable","com.yxt.anrui.buscenter","com.yxt.anrui.scm","com.yxt.anrui.fin", "com.yxt.anrui.terminal.fegin.wmsinventorycheckbill","com.yxt.anrui.terminal.fegin.wmsinventoryprofitin","com.yxt.anrui.terminal.fegin.wmsinventoryprofitout","com.yxt.anrui.terminal.fegin.basegoodssku","com.yxt.anrui.terminal.fegin.basesupplierinfo","com.yxt.anrui.terminal.fegin.wmsInventory","com.yxt.anrui.terminal.fegin.asbusrepairbill","com.yxt.anrui.terminal.fegin.pmspurchasebill","com.yxt.anrui.terminal.fegin.pmspurchasebackbill","com.yxt.anrui.terminal.fegin.smspricestrategybill","com.yxt.anrui.terminal.fegin.astechtitleapply","com.yxt.anrui.terminal.fegin.asserviceaccommapply","com.yxt.anrui.terminal.fegin.asbusclaiminvoicebill","com.yxt.anrui.terminal.fegin.wmsinventoryallocatebill","com.yxt.anrui.terminal.fegin.asoldpartreturnapply","com.yxt.anrui.terminal.fegin.asoldparthandleapply","com.yxt.anrui.terminal.fegin.asbwdiffapply","com.yxt.anrui.terminal.fegin.asbwinvoiceapply","com.yxt.anrui.terminal.fegin.ashosesuppapply","com.yxt.anrui.terminal.fegin.asbusclaimcheckapply","com.yxt.anrui.terminal.fegin.asoldparts","com.yxt.anrui.terminal.fegin.wmsoldregister","com.yxt.anrui.terminal.fegin.asbusrepairinventorybill","com.yxt.anrui.terminal.fegin.wmsoldinventory","com.yxt.anrui.terminal.fegin.wmswarehouserack","com.yxt.anrui.terminal.fegin.asbusrepairinventorybilldetail","com.yxt.anrui.terminal.fegin.wmsinventoryrecord","com.yxt.anrui.terminal.fegin.asstandrecordapply","com.yxt.anrui.terminal.fegin.wmsotheroutapply","com.yxt.anrui.terminal.fegin.oaleaveapply","com.yxt.anrui.terminal.fegin.oamendapply","com.yxt.anrui.terminal.fegin.wmsgoodstag","com.yxt.anrui.terminal.fegin.wmsinitialdetail","com.yxt.anrui.terminal.fegin.smsgoods","com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord"}) @EnableFeignClients(basePackages = {"com.yxt.anrui.portal", "com.yxt.anrui.crm", "com.yxt.anrui.base", "com.yxt.anrui.riskcenter","com.yxt.anrui.flowable","com.yxt.anrui.buscenter","com.yxt.anrui.scm","com.yxt.anrui.fin", "com.yxt.anrui.terminal.fegin"})
public class TerminalApplication { public class TerminalApplication {
public static void main(String[] args) { public static void main(String[] args) {

65
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/arrearsoutapply/AppArrearsoutApplyRest.java

@ -0,0 +1,65 @@
package com.yxt.anrui.terminal.biz.as.arrearsoutapply;
import com.yxt.anrui.terminal.api.as.arrearsoutapply.AppArrearsoutApplyFeign;
import com.yxt.anrui.terminal.api.as.arrearsoutapply.ApplyDetailsVo;
import com.yxt.anrui.terminal.api.as.arrearsoutapply.flowable.ArrearsOutDelegateQuery;
import com.yxt.anrui.terminal.api.as.arrearsoutapply.flowable.ArrearsOutFlowDto;
import com.yxt.anrui.terminal.api.as.arrearsoutapply.flowable.ArrearsOutQuery;
import com.yxt.anrui.terminal.api.as.arrearsoutapply.flowable.ArrearsOutTaskQuery;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @description:
* @author: dimengzhe
* @date: 2025/4/16
**/
@RestController
@RequestMapping("v1/asarrearsoutapply")
public class AppArrearsoutApplyRest implements AppArrearsoutApplyFeign {
@Autowired
private AppArrearsoutApplyService appArrearsoutApplyService;
@Override
public ResultBean<ApplyDetailsVo> fetchDetailsBySid(String sid) {
return appArrearsoutApplyService.fetchDetailsBySid(sid);
}
@Override
public ResultBean agreeArrearInfo(ArrearsOutFlowDto dto) {
return appArrearsoutApplyService.agreeArrearInfo(dto);
}
@Override
public ResultBean rejectArrearInfo(ArrearsOutTaskQuery query) {
return appArrearsoutApplyService.rejectArrearInfo(query);
}
@Override
public ResultBean recallArrearInfo(ArrearsOutTaskQuery query) {
return appArrearsoutApplyService.recallArrearInfo(query);
}
@Override
public ResultBean stopArrearInfo(ArrearsOutTaskQuery query) {
return appArrearsoutApplyService.stopArrearInfo(query);
}
@Override
public ResultBean<String> getFlowOperateTitle(ArrearsOutQuery query) {
return appArrearsoutApplyService.getFlowOperateTitle(query);
}
@Override
public ResultBean delegate(ArrearsOutDelegateQuery delegateQuery) {
return appArrearsoutApplyService.delegate(delegateQuery);
}
@Override
public ResultBean assignTask(ArrearsOutDelegateQuery delegateQuery) {
return appArrearsoutApplyService.assignTask(delegateQuery);
}
}

143
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/arrearsoutapply/AppArrearsoutApplyService.java

@ -0,0 +1,143 @@
package com.yxt.anrui.terminal.biz.as.arrearsoutapply;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.base.api.busvehicleapply.flow.*;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.terminal.api.as.arrearsoutapply.ApplyDetailsVo;
import com.yxt.anrui.terminal.api.as.arrearsoutapply.flowable.ArrearsOutDelegateQuery;
import com.yxt.anrui.terminal.api.as.arrearsoutapply.flowable.ArrearsOutFlowDto;
import com.yxt.anrui.terminal.api.as.arrearsoutapply.flowable.ArrearsOutQuery;
import com.yxt.anrui.terminal.api.as.arrearsoutapply.flowable.ArrearsOutTaskQuery;
import com.yxt.anrui.terminal.fegin.asarrearsoutapply.AsArrearsoutApplyDetailsVo;
import com.yxt.anrui.terminal.fegin.asarrearsoutapply.AsArrearsoutApplyFeign;
import com.yxt.anrui.terminal.fegin.asarrearsoutapply.AsArrearsoutApplyFile;
import com.yxt.anrui.terminal.fegin.asarrearsoutapply.flowable.*;
import com.yxt.common.core.result.ResultBean;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
/**
* @description:
* @author: dimengzhe
* @date: 2025/4/16
**/
@Service
public class AppArrearsoutApplyService {
@Autowired
private AsArrearsoutApplyFeign asArrearsoutApplyFeign;
public ResultBean<ApplyDetailsVo> fetchDetailsBySid(String sid) {
ResultBean<ApplyDetailsVo> rb = ResultBean.fireFail();
ResultBean<AsArrearsoutApplyDetailsVo> resultBean = asArrearsoutApplyFeign.fetchDetailsBySid(sid);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
ApplyDetailsVo applyDetailsVo = new ApplyDetailsVo();
AsArrearsoutApplyDetailsVo asArrearsoutApplyDetailsVo = resultBean.getData();
BeanUtil.copyProperties(asArrearsoutApplyDetailsVo, applyDetailsVo);
List<AsArrearsoutApplyFile> filePaths = asArrearsoutApplyDetailsVo.getFilePaths();
if (!filePaths.isEmpty()) {
List<String> stringList = filePaths.stream().map(v -> v.getUrl()).collect(Collectors.toList());
applyDetailsVo.setFiles(stringList);
}
return rb.success().setData(applyDetailsVo);
}
public ResultBean agreeArrearInfo(ArrearsOutFlowDto dto) {
ResultBean rb = ResultBean.fireFail();
AsArrearsoutApplyCompleteDto asArrearsoutApplyCompleteDto = new AsArrearsoutApplyCompleteDto();
BeanUtil.copyProperties(dto, asArrearsoutApplyCompleteDto);
ResultBean resultBean = asArrearsoutApplyFeign.complete(asArrearsoutApplyCompleteDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean rejectArrearInfo(ArrearsOutTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
AsArrearsoutApplyTaskQuery asArrearsoutApplyTaskQuery = new AsArrearsoutApplyTaskQuery();
BeanUtil.copyProperties(query, asArrearsoutApplyTaskQuery);
ResultBean resultBean = asArrearsoutApplyFeign.reject(asArrearsoutApplyTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean recallArrearInfo(ArrearsOutTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
AsArrearsoutApplyTaskQuery asArrearsoutApplyTaskQuery = new AsArrearsoutApplyTaskQuery();
BeanUtil.copyProperties(query, asArrearsoutApplyTaskQuery);
ResultBean resultBean = asArrearsoutApplyFeign.revokeProcess(asArrearsoutApplyTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean stopArrearInfo(ArrearsOutTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
AsArrearsoutApplyTaskQuery asArrearsoutApplyTaskQuery = new AsArrearsoutApplyTaskQuery();
BeanUtil.copyProperties(query, asArrearsoutApplyTaskQuery);
ResultBean resultBean = asArrearsoutApplyFeign.breakProcess(asArrearsoutApplyTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean<String> getFlowOperateTitle(ArrearsOutQuery query) {
ResultBean<String> rb = ResultBean.fireFail();
//0 上一环节 1下一环节
int next = query.getNext();
AsArrearsoutApplyNodeQuery getNodeQuery = new AsArrearsoutApplyNodeQuery();
BeanUtil.copyProperties(query, getNodeQuery);
String data = "";
if (next == 0) {
ResultBean<List<AsArrearsoutApplyNodeVo>> getPreviousNodesForReject = asArrearsoutApplyFeign.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<AsArrearsoutApplyNodeVo>> getNextNodesForSubmit = asArrearsoutApplyFeign.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);
}
public ResultBean delegate(ArrearsOutDelegateQuery delegateQuery) {
ResultBean rb = ResultBean.fireFail();
AsArrearsoutApplyDelegateQuery delegateQuery1 = new
AsArrearsoutApplyDelegateQuery();
BeanUtil.copyProperties(delegateQuery, delegateQuery1);
ResultBean delegate = asArrearsoutApplyFeign.delegate(delegateQuery1);
return rb.success();
}
public ResultBean assignTask(ArrearsOutDelegateQuery delegateQuery) {
ResultBean rb = ResultBean.fireFail();
AsArrearsoutApplyDelegateQuery delegateQuery1 = new
AsArrearsoutApplyDelegateQuery();
BeanUtil.copyProperties(delegateQuery, delegateQuery1);
ResultBean delegate = asArrearsoutApplyFeign.assignTask(delegateQuery1);
return rb.success();
}
}

131
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asarrearsoutapply/AsArrearsoutApplyDetailsVo.java

@ -0,0 +1,131 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.fegin.asarrearsoutapply;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* Project: yxt-as(欠款出厂申请) <br/>
* File: AsArrearsoutApplyVo.java <br/>
* Class: com.yxt.anrui.as.api.asarrearsoutapply.AsArrearsoutApplyVo <br/>
* Description: 欠款出厂申请 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-04-08 17:43:39 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "欠款出厂申请 视图数据详情", description = "欠款出厂申请 视图数据详情")
public class AsArrearsoutApplyDetailsVo implements Vo {
private String sid; // sid
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("制单人sid")
private String createBySid;
@ApiModelProperty("申请日期")
@JsonFormat(
pattern = "yyyy-MM-dd",
timezone = "GMT+8"
)
private Date createTime;
@ApiModelProperty("制单人姓名")
private String createByName; // 制单人姓名
@ApiModelProperty("单据编号")
private String billNo; // 单据编号
@ApiModelProperty("工单sid")
private String pairBillSid; // 工单sid
@ApiModelProperty("工单编号")
private String pairBillNo; // 工单编号
@ApiModelProperty("科目sid")
private String subjectSid; // 科目sid
@ApiModelProperty("科目名称")
private String subject; // 科目名称
@ApiModelProperty("客户sid")
private String customerSid; // 客户sid
@ApiModelProperty("客户姓名")
private String customerName; // 客户姓名
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@ApiModelProperty("车牌号")
private String vehMark; // 车牌号
@ApiModelProperty("工单应收金额")
private BigDecimal pairReceivableMoney; // 工单应收金额
@ApiModelProperty("工单已交金额")
private BigDecimal pairReceivedMoney; // 工单已交金额
@ApiModelProperty("工单欠款金额")
private BigDecimal pairArrearsMoney; // 工单欠款金额
@ApiModelProperty("附件路径")
private List<AsArrearsoutApplyFile> filePaths = new ArrayList<>(); // 附件路径(多个附件之间英文逗号隔开)
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("分公司名称")
private String useOrgName; // 分公司名称
@ApiModelProperty("流程定义的id")
private String procDefId; // 流程定义的id
@ApiModelProperty("环节定义的sid")
private String nodeId; // 环节定义的sid
@ApiModelProperty("流程实例的sid")
private String procInstId; // 流程实例的sid
@ApiModelProperty("流程状态")
private String nodeState; // 流程状态
@ApiModelProperty("任务id")
private String taskId; // 任务id
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("办结时间")
private Date finishTime; // 办结时间
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("承诺回款日期")
private Date promisePaymentDate;
@ApiModelProperty("发起部门sid")
private String deptSid;
@ApiModelProperty("发起部门名称")
private String deptName;
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("结算日期")
private Date balanceDate;
@ApiModelProperty("工单类型key")
private Integer billTypeKey;
@ApiModelProperty("工单类型value")
private String billTypeValue;
@ApiModelProperty("客户联系电话")
private String customerPhone;
}

65
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asarrearsoutapply/AsArrearsoutApplyFeign.java

@ -0,0 +1,65 @@
package com.yxt.anrui.terminal.fegin.asarrearsoutapply;
import com.yxt.anrui.terminal.fegin.asarrearsoutapply.flowable.*;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import javax.validation.Valid;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2025/4/17
**/
@FeignClient(
contextId = "yxt-as-AsArrearsoutApply",
name = "yxt-as",
path = "v1/asarrearsoutapply"
)
public interface AsArrearsoutApplyFeign {
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<AsArrearsoutApplyDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
public ResultBean complete(@Valid @RequestBody AsArrearsoutApplyCompleteDto query);
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject")
public ResultBean<List<AsArrearsoutApplyNodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap AsArrearsoutApplyNodeQuery query);
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit")
public ResultBean<List<AsArrearsoutApplyNodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap AsArrearsoutApplyNodeQuery query);
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
public ResultBean reject(@Valid @RequestBody AsArrearsoutApplyTaskQuery query);
@ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcess")
public ResultBean revokeProcess(@Valid @RequestBody AsArrearsoutApplyTaskQuery query);
@ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@Valid @RequestBody AsArrearsoutApplyTaskQuery query);
@ApiOperation(value = "加签")
@PostMapping(value = "/delegate")
public ResultBean delegate(@RequestBody AsArrearsoutApplyDelegateQuery query);
@ApiOperation(value = "转办")
@PostMapping(value = "/assignTask")
public ResultBean assignTask(@RequestBody AsArrearsoutApplyDelegateQuery query);
}

35
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asarrearsoutapply/AsArrearsoutApplyFile.java

@ -0,0 +1,35 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.fegin.asarrearsoutapply;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
@Data
public class AsArrearsoutApplyFile implements Vo {
private String url;
}

37
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asarrearsoutapply/flowable/AsArrearsoutApplyCompleteDto.java

@ -0,0 +1,37 @@
package com.yxt.anrui.terminal.fegin.asarrearsoutapply.flowable;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/9/6 14:57
* @Description
*/
@Data
public class AsArrearsoutApplyCompleteDto implements Dto {
private static final long serialVersionUID = 6378752532534735663L;
@ApiModelProperty(value = "用户sid")
private String userSid;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
@ApiModelProperty(value = "任务id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
@ApiModelProperty(value = "流程id(PC)")
private String instanceId;
@ApiModelProperty(value = "流程id(移动)")
private String procInsId;
@ApiModelProperty(value = "意见")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
private String orgPath;
}

26
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asarrearsoutapply/flowable/AsArrearsoutApplyDelegateQuery.java

@ -0,0 +1,26 @@
package com.yxt.anrui.terminal.fegin.asarrearsoutapply.flowable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/9/28 9:28
*/
@Data
public class AsArrearsoutApplyDelegateQuery {
@ApiModelProperty
private String userSid;
@ApiModelProperty("流程实例id")
// @JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty("任务Id")
private String taskId;
@ApiModelProperty("审批人sid")
private String assignee;
@ApiModelProperty("填写意见")
private String views;
}

25
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asarrearsoutapply/flowable/AsArrearsoutApplyNodeQuery.java

@ -0,0 +1,25 @@
package com.yxt.anrui.terminal.fegin.asarrearsoutapply.flowable;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/9/6 15:04
* @Description
*/
@Data
public class AsArrearsoutApplyNodeQuery implements Query {
private static final long serialVersionUID = 9117613683840483366L;
@ApiModelProperty(value = "环节定义id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
@ApiModelProperty(value = "0 上一环节 1下一环节")
private Integer next;
}

26
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asarrearsoutapply/flowable/AsArrearsoutApplyNodeVo.java

@ -0,0 +1,26 @@
package com.yxt.anrui.terminal.fegin.asarrearsoutapply.flowable;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/9/6 15:03
* @Description
*/
@Data
public class AsArrearsoutApplyNodeVo implements Vo {
private static final long serialVersionUID = -833419512294877848L;
@ApiModelProperty(value = "节点名称")
private String name;
@ApiModelProperty(value = "节点id")
private String id;
@ApiModelProperty(value = "审批组")
private List<String> candidateGroups;
@ApiModelProperty(value = "是否是最后环节")
private String endTask;
}

48
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asarrearsoutapply/flowable/AsArrearsoutApplyTaskQuery.java

@ -0,0 +1,48 @@
package com.yxt.anrui.terminal.fegin.asarrearsoutapply.flowable;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/9/6 15:06
* @Description
*/
@Data
public class AsArrearsoutApplyTaskQuery implements Query {
private static final long serialVersionUID = 1288615499873178778L;
/**
* 终止驳回撤回
*/
@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(PC)")
private String instanceId;
@ApiModelProperty("流程实例Id(移动)")
private String procInsId;
}

6
yxt-as/src/main/java/com/yxt/anrui/as/biz/asarrearsoutapply/AsArrearsoutApplyRest.java

@ -153,4 +153,10 @@ public class AsArrearsoutApplyRest {
public ResultBean delegate(@RequestBody AsArrearsoutApplyDelegateQuery query) { public ResultBean delegate(@RequestBody AsArrearsoutApplyDelegateQuery query) {
return asArrearsoutApplyService.delegate(query); return asArrearsoutApplyService.delegate(query);
} }
@ApiOperation(value = "转办")
@PostMapping(value = "/assignTask")
public ResultBean assignTask(@RequestBody AsArrearsoutApplyDelegateQuery query) {
return asArrearsoutApplyService.assignTask(query);
}
} }

52
yxt-as/src/main/java/com/yxt/anrui/as/biz/asarrearsoutapply/AsArrearsoutApplyService.java

@ -30,6 +30,7 @@ import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.yxt.anrui.as.api.asarrearsoutapply.*; import com.yxt.anrui.as.api.asarrearsoutapply.*;
import com.yxt.anrui.as.api.asarrearsoutapply.flowable.*; import com.yxt.anrui.as.api.asarrearsoutapply.flowable.*;
import com.yxt.anrui.as.api.asbusrepairbill.AsBusrepairBill; import com.yxt.anrui.as.api.asbusrepairbill.AsBusrepairBill;
@ -60,11 +61,13 @@ import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
import org.apache.tomcat.util.threads.ThreadPoolExecutor;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.*; import java.util.*;
import java.util.concurrent.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -384,20 +387,32 @@ public class AsArrearsoutApplyService extends MybatisBaseService<AsArrearsoutApp
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
asBusrepairBillService.updateOutFactory(asArrearsoutApply.getPairBillSid()); asBusrepairBillService.updateOutFactory(asArrearsoutApply.getPairBillSid());
} else { } else {
//极光推送 try {
asArrearsoutApply = fetchBySid(businessSid); ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); .setNameFormat("demo-pool-%d").build();
MessageFlowVo messageFlowVo = new MessageFlowVo(); ExecutorService pool = new ThreadPoolExecutor(2, 100,
BeanUtil.copyProperties(ufVo, messageFlowVo); 0L, TimeUnit.MILLISECONDS,
ufVo.setProcDefId(asArrearsoutApply.getProcDefId()); new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
ufVo.setProcInsId(asArrearsoutApply.getProcInstId()); asArrearsoutApply = fetchBySid(businessSid);
messageFlowableQuery.setUfVo(messageFlowVo); AsArrearsoutApply finalAsArrearsoutApply = asArrearsoutApply;
messageFlowableQuery.setAppMap(appMap); Future future1 = pool.submit(() -> {
messageFlowableQuery.setBusinessSid(businessSid); //极光推送
messageFlowableQuery.setModuleName("欠款出厂申请"); MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
messageFlowableQuery.setMsgContent(asArrearsoutApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); MessageFlowVo messageFlowVo = new MessageFlowVo();
messageFlowableQuery.setMsgTitle("欠款出厂申请"); BeanUtil.copyProperties(ufVo, messageFlowVo);
messageFeign.pushMessage(messageFlowableQuery); ufVo.setProcDefId(finalAsArrearsoutApply.getProcDefId());
ufVo.setProcInsId(finalAsArrearsoutApply.getProcInstId());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("欠款出厂申请");
messageFlowableQuery.setMsgContent(finalAsArrearsoutApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("欠款出厂申请");
messageFeign.pushMessage(messageFlowableQuery);
});
} catch (Exception e) {
e.printStackTrace();
}
} }
return rb.success().setData(resultBean.getData()); return rb.success().setData(resultBean.getData());
} else { } else {
@ -602,4 +617,13 @@ public class AsArrearsoutApplyService extends MybatisBaseService<AsArrearsoutApp
public String selByPairBillSid(String pairBillSid) { public String selByPairBillSid(String pairBillSid) {
return baseMapper.selByPairBillSid(pairBillSid); return baseMapper.selByPairBillSid(pairBillSid);
} }
public ResultBean assignTask(AsArrearsoutApplyDelegateQuery query) {
ResultBean rb = ResultBean.fireFail();
FlowDelegateQuery delegateQuery = new
FlowDelegateQuery();
BeanUtil.copyProperties(query, delegateQuery);
flowFeign.assignTask(delegateQuery);
return rb.success();
}
} }
Loading…
Cancel
Save