20 changed files with 575 additions and 3 deletions
@ -0,0 +1,28 @@ |
|||
package com.yxt.anrui.base.api.basevehicleactualdetails; |
|||
|
|||
import com.yxt.common.core.vo.Vo; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @Author dimengzhe |
|||
* @Date 2022/8/19 16:21 |
|||
* @Description |
|||
*/ |
|||
@Data |
|||
public class AppBaseVehicleActualDetailsVo implements Vo { |
|||
private static final long serialVersionUID = -6237072988523435649L; |
|||
@ApiModelProperty("车型名称") |
|||
private String modelName; |
|||
@ApiModelProperty("车架号") |
|||
private String vinNo; |
|||
@ApiModelProperty("入库日期") |
|||
private String inboundDate; |
|||
@ApiModelProperty("入库价") |
|||
private String inboundPrice; |
|||
|
|||
@ApiModelProperty("车型sid") |
|||
private String modelSid; |
|||
@ApiModelProperty("配置sid") |
|||
private String configSid; |
|||
} |
@ -0,0 +1,34 @@ |
|||
package com.yxt.anrui.base.api.basevehicleactualsales; |
|||
|
|||
import com.yxt.anrui.base.api.basevehicleactualdetails.AppBaseVehicleActualDetailsVo; |
|||
import com.yxt.common.core.vo.Vo; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @Author dimengzhe |
|||
* @Date 2022/8/19 16:20 |
|||
* @Description |
|||
*/ |
|||
@Data |
|||
public class AppBaseVehicleActualSalesVo implements Vo { |
|||
private static final long serialVersionUID = -6036087210697416311L; |
|||
@ApiModelProperty("未售买断sid") |
|||
private String sid; |
|||
@ApiModelProperty("用户sid") |
|||
private String userSid; |
|||
@ApiModelProperty("任务id") |
|||
private String taskId; |
|||
@ApiModelProperty("流程实例id") |
|||
private String procInsId; |
|||
@ApiModelProperty("申请人") |
|||
private String applyName; |
|||
@ApiModelProperty("申请日期") |
|||
private String date; |
|||
@ApiModelProperty("买断原因") |
|||
private String reason; |
|||
|
|||
private List<AppBaseVehicleActualDetailsVo> records; |
|||
} |
@ -0,0 +1,33 @@ |
|||
package com.yxt.anrui.terminal.api.supplychain.unsoldBuyout; |
|||
|
|||
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/8/19 17:01 |
|||
* @Description |
|||
*/ |
|||
@Data |
|||
public class UnsoldBuyoutDetailsListVo implements Vo { |
|||
private static final long serialVersionUID = -7849966997033501394L; |
|||
|
|||
@ApiModelProperty("车型名称") |
|||
private String modelName; |
|||
@ApiModelProperty("车架号") |
|||
@JsonProperty("vin") |
|||
private String vinNo; |
|||
@ApiModelProperty("入库日期") |
|||
@JsonProperty("date") |
|||
private String inboundDate; |
|||
@ApiModelProperty("入库价") |
|||
@JsonProperty("costPrice") |
|||
private String inboundPrice; |
|||
|
|||
@ApiModelProperty("车型sid") |
|||
private String modelSid; |
|||
@ApiModelProperty("配置sid") |
|||
private String configSid; |
|||
} |
@ -0,0 +1,57 @@ |
|||
package com.yxt.anrui.terminal.api.supplychain.unsoldBuyout; |
|||
|
|||
import com.yxt.anrui.terminal.api.supplychain.unsoldBuyout.flowable.UnsoldBuyoutDto; |
|||
import com.yxt.anrui.terminal.api.supplychain.unsoldBuyout.flowable.UnsoldBuyoutQuery; |
|||
import com.yxt.anrui.terminal.api.supplychain.unsoldBuyout.flowable.UnsoldBuyoutTaskQuery; |
|||
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/8/19 16:13 |
|||
* @Description |
|||
*/ |
|||
@Api(tags = "未售买断") |
|||
@FeignClient( |
|||
contextId = "terminal-UnsoldBuyout", |
|||
name = "anrui-terminal", |
|||
path = "/supplychain/v1/unsoldBuyout", |
|||
fallback = UnsoldBuyoutFeignFallback.class) |
|||
public interface UnsoldBuyoutFeign { |
|||
|
|||
@ApiOperation("未售买断详情") |
|||
@GetMapping("/getUnsoldBuyout/{sid}") |
|||
@ResponseBody |
|||
ResultBean<UnsoldBuyoutVo> getUnsoldBuyout(@PathVariable("sid") String sid); |
|||
|
|||
@ApiOperation("办理") |
|||
@PutMapping("/agreeUnsoldBuyoutInfo") |
|||
@ResponseBody |
|||
ResultBean agreeUnsoldBuyoutInfo(@RequestBody UnsoldBuyoutDto dto); |
|||
|
|||
@ApiOperation("驳回") |
|||
@PutMapping("/rejectUnsoldBuyoutInfo") |
|||
@ResponseBody |
|||
ResultBean rejectUnsoldBuyoutInfo(@RequestBody UnsoldBuyoutTaskQuery query); |
|||
|
|||
@ApiOperation("撤回") |
|||
@PutMapping("/recallUnsoldBuyoutInfo") |
|||
@ResponseBody |
|||
ResultBean recallUnsoldBuyoutInfo(@RequestBody UnsoldBuyoutTaskQuery query); |
|||
|
|||
@ApiOperation("终止") |
|||
@PutMapping("/stopUnsoldBuyoutInfo") |
|||
@ResponseBody |
|||
ResultBean stopUnsoldBuyoutInfo(@RequestBody UnsoldBuyoutTaskQuery query); |
|||
|
|||
@ApiOperation("获取流程操作标题") |
|||
@GetMapping("/getFlowOperateTitle") |
|||
@ResponseBody |
|||
ResultBean<String> getFlowOperateTitle(@SpringQueryMap UnsoldBuyoutQuery query); |
|||
|
|||
|
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.yxt.anrui.terminal.api.supplychain.unsoldBuyout; |
|||
|
|||
import org.springframework.stereotype.Component; |
|||
|
|||
/** |
|||
* @Author dimengzhe |
|||
* @Date 2022/8/19 16:14 |
|||
* @Description |
|||
*/ |
|||
@Component |
|||
public class UnsoldBuyoutFeignFallback { |
|||
} |
@ -0,0 +1,35 @@ |
|||
package com.yxt.anrui.terminal.api.supplychain.unsoldBuyout; |
|||
|
|||
import com.yxt.anrui.base.api.basevehicleactualdetails.AppBaseVehicleActualDetailsVo; |
|||
import com.yxt.common.core.vo.Vo; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @Author dimengzhe |
|||
* @Date 2022/8/19 16:14 |
|||
* @Description |
|||
*/ |
|||
@Data |
|||
public class UnsoldBuyoutVo implements Vo { |
|||
private static final long serialVersionUID = -6067264614659846824L; |
|||
|
|||
@ApiModelProperty("未售买断sid") |
|||
private String sid; |
|||
@ApiModelProperty("用户sid") |
|||
private String userSid; |
|||
@ApiModelProperty("任务id") |
|||
private String taskId; |
|||
@ApiModelProperty("流程实例id") |
|||
private String procInsId; |
|||
@ApiModelProperty("申请人") |
|||
private String applyName; |
|||
@ApiModelProperty("申请日期") |
|||
private String date; |
|||
@ApiModelProperty("买断原因") |
|||
private String reason; |
|||
|
|||
private List<AppBaseVehicleActualDetailsVo> records; |
|||
} |
@ -0,0 +1,37 @@ |
|||
package com.yxt.anrui.terminal.api.supplychain.unsoldBuyout.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/8/19 17:49 |
|||
* @Description |
|||
*/ |
|||
@Data |
|||
public class UnsoldBuyoutDto implements Dto { |
|||
private static final long serialVersionUID = 942787097361510999L; |
|||
|
|||
@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.supplychain.unsoldBuyout.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/8/19 17:49 |
|||
* @Description |
|||
*/ |
|||
@Data |
|||
public class UnsoldBuyoutQuery implements Query { |
|||
private static final long serialVersionUID = -8255233815307830327L; |
|||
|
|||
@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.supplychain.unsoldBuyout.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/8/19 17:49 |
|||
* @Description |
|||
*/ |
|||
@Data |
|||
public class UnsoldBuyoutTaskQuery implements Query { |
|||
private static final long serialVersionUID = 1167747530537116956L; |
|||
|
|||
/** |
|||
* 终止、驳回、撤回 |
|||
*/ |
|||
@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,56 @@ |
|||
package com.yxt.anrui.terminal.biz.supplychain.unsoldBuyout; |
|||
|
|||
import com.yxt.anrui.terminal.api.supplychain.unsoldBuyout.UnsoldBuyoutFeign; |
|||
import com.yxt.anrui.terminal.api.supplychain.unsoldBuyout.UnsoldBuyoutVo; |
|||
import com.yxt.anrui.terminal.api.supplychain.unsoldBuyout.flowable.UnsoldBuyoutDto; |
|||
import com.yxt.anrui.terminal.api.supplychain.unsoldBuyout.flowable.UnsoldBuyoutQuery; |
|||
import com.yxt.anrui.terminal.api.supplychain.unsoldBuyout.flowable.UnsoldBuyoutTaskQuery; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import io.swagger.annotations.Api; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Controller; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
|
|||
/** |
|||
* @Author dimengzhe |
|||
* @Date 2022/8/19 17:10 |
|||
* @Description |
|||
*/ |
|||
@Api(tags = "未售买断") |
|||
@Controller |
|||
@RequestMapping("/supplychain/v1/unsoldBuyoutRest") |
|||
public class UnsoldBuyoutRest implements UnsoldBuyoutFeign { |
|||
|
|||
@Autowired |
|||
private UnsoldBuyoutService unsoldBuyoutService; |
|||
|
|||
@Override |
|||
public ResultBean<UnsoldBuyoutVo> getUnsoldBuyout(String sid) { |
|||
return unsoldBuyoutService.getUnsoldBuyout(sid); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean agreeUnsoldBuyoutInfo(UnsoldBuyoutDto dto) { |
|||
return unsoldBuyoutService.agreeUnsoldBuyoutInfo(dto); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean rejectUnsoldBuyoutInfo(UnsoldBuyoutTaskQuery query) { |
|||
return unsoldBuyoutService.rejectUnsoldBuyoutInfo(query); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean recallUnsoldBuyoutInfo(UnsoldBuyoutTaskQuery query) { |
|||
return unsoldBuyoutService.recallUnsoldBuyoutInfo(query); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean stopUnsoldBuyoutInfo(UnsoldBuyoutTaskQuery query) { |
|||
return unsoldBuyoutService.stopUnsoldBuyoutInfo(query); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean<String> getFlowOperateTitle(UnsoldBuyoutQuery query) { |
|||
return unsoldBuyoutService.getFlowOperateTitle(query); |
|||
} |
|||
} |
@ -0,0 +1,139 @@ |
|||
package com.yxt.anrui.terminal.biz.supplychain.unsoldBuyout; |
|||
|
|||
import cn.hutool.core.bean.BeanUtil; |
|||
import com.yxt.anrui.base.api.basevehicleactualsales.AppBaseVehicleActualSalesVo; |
|||
import com.yxt.anrui.base.api.basevehicleactualsales.BaseVehicleActualSalesFeign; |
|||
import com.yxt.anrui.base.api.basevehicleactualsales.flow.ActualGetNodeQuery; |
|||
import com.yxt.anrui.base.api.basevehicleactualsales.flow.ActualGetNodeVo; |
|||
import com.yxt.anrui.base.api.basevehicleactualsales.flow.BaseActualSalesCompleteDto; |
|||
import com.yxt.anrui.base.api.basevehicleactualsales.flow.BaseActualSalesTaskQuery; |
|||
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.supplychain.unsoldBuyout.UnsoldBuyoutVo; |
|||
import com.yxt.anrui.terminal.api.supplychain.unsoldBuyout.flowable.UnsoldBuyoutDto; |
|||
import com.yxt.anrui.terminal.api.supplychain.unsoldBuyout.flowable.UnsoldBuyoutQuery; |
|||
import com.yxt.anrui.terminal.api.supplychain.unsoldBuyout.flowable.UnsoldBuyoutTaskQuery; |
|||
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/8/19 17:13 |
|||
* @Description |
|||
*/ |
|||
@Service |
|||
public class UnsoldBuyoutService { |
|||
|
|||
@Autowired |
|||
private BaseVehicleActualSalesFeign baseVehicleActualSalesFeign; |
|||
@Autowired |
|||
private SysUserFeign sysUserFeign; |
|||
@Autowired |
|||
private SysStaffOrgFeign sysStaffOrgFeign; |
|||
|
|||
|
|||
public ResultBean<UnsoldBuyoutVo> getUnsoldBuyout(String sid) { |
|||
ResultBean<UnsoldBuyoutVo> rb = ResultBean.fireFail(); |
|||
ResultBean<AppBaseVehicleActualSalesVo> resultBean = baseVehicleActualSalesFeign.getUnsoldBuyout(sid); |
|||
if (!resultBean.getSuccess()) { |
|||
return rb.setMsg(resultBean.getMsg()); |
|||
} |
|||
AppBaseVehicleActualSalesVo vo = resultBean.getData(); |
|||
UnsoldBuyoutVo unsoldBuyoutVo = new UnsoldBuyoutVo(); |
|||
BeanUtil.copyProperties(vo, unsoldBuyoutVo); |
|||
return rb.success().setData(unsoldBuyoutVo); |
|||
} |
|||
|
|||
public ResultBean agreeUnsoldBuyoutInfo(UnsoldBuyoutDto 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(); |
|||
BaseActualSalesCompleteDto baseActualSalesCompleteDto = new BaseActualSalesCompleteDto(); |
|||
BeanUtil.copyProperties(dto, baseActualSalesCompleteDto); |
|||
baseActualSalesCompleteDto.setOrgSidPath(orgSidPath); |
|||
ResultBean resultBean = baseVehicleActualSalesFeign.complete(baseActualSalesCompleteDto); |
|||
if (!resultBean.getSuccess()) { |
|||
return rb.setMsg(resultBean.getMsg()); |
|||
} |
|||
return rb.success().setData(resultBean.getData()); |
|||
} |
|||
|
|||
public ResultBean rejectUnsoldBuyoutInfo(UnsoldBuyoutTaskQuery query) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
BaseActualSalesTaskQuery baseActualSalesTaskQuery = new BaseActualSalesTaskQuery(); |
|||
BeanUtil.copyProperties(query, baseActualSalesTaskQuery); |
|||
ResultBean resultBean = baseVehicleActualSalesFeign.taskReject(baseActualSalesTaskQuery); |
|||
if (!resultBean.getSuccess()) { |
|||
return rb.setMsg(resultBean.getMsg()); |
|||
} |
|||
return rb.success().setData(resultBean.getData()); |
|||
} |
|||
|
|||
public ResultBean recallUnsoldBuyoutInfo(UnsoldBuyoutTaskQuery query) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
BaseActualSalesTaskQuery baseActualSalesTaskQuery = new BaseActualSalesTaskQuery(); |
|||
BeanUtil.copyProperties(query, baseActualSalesTaskQuery); |
|||
ResultBean resultBean = baseVehicleActualSalesFeign.revokeProcess(baseActualSalesTaskQuery); |
|||
if (!resultBean.getSuccess()) { |
|||
return rb.setMsg(resultBean.getMsg()); |
|||
} |
|||
return rb.success().setData(resultBean.getData()); |
|||
|
|||
} |
|||
|
|||
public ResultBean stopUnsoldBuyoutInfo(UnsoldBuyoutTaskQuery query) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
BaseActualSalesTaskQuery baseActualSalesTaskQuery = new BaseActualSalesTaskQuery(); |
|||
BeanUtil.copyProperties(query, baseActualSalesTaskQuery); |
|||
ResultBean resultBean = baseVehicleActualSalesFeign.breakProcess(baseActualSalesTaskQuery); |
|||
if (!resultBean.getSuccess()) { |
|||
return rb.setMsg(resultBean.getMsg()); |
|||
} |
|||
return rb.success().setData(resultBean.getData()); |
|||
} |
|||
|
|||
public ResultBean<String> getFlowOperateTitle(UnsoldBuyoutQuery query) { |
|||
ResultBean<String> rb = ResultBean.fireFail(); |
|||
//0 上一环节 1下一环节
|
|||
int next = query.getNext(); |
|||
ActualGetNodeQuery getNodeQuery = new ActualGetNodeQuery(); |
|||
BeanUtil.copyProperties(query, getNodeQuery); |
|||
String data = ""; |
|||
if (next == 0) { |
|||
ResultBean<List<ActualGetNodeVo>> getPreviousNodesForReject = baseVehicleActualSalesFeign.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<ActualGetNodeVo>> getNextNodesForSubmit = baseVehicleActualSalesFeign.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); |
|||
} |
|||
} |
Loading…
Reference in new issue