Browse Source

厂家退库

master
hp 3 years ago
parent
commit
cedac7611e
  1. 42
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnService.java
  2. 50
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/purchaseReturn/AppFlowTaskVo.java
  3. 20
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/purchaseReturn/AppGetNodeQuery.java
  4. 60
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/purchaseReturn/AppScmVehicleReturnFeign.java
  5. 12
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/purchaseReturn/AppScmVehicleReturnFeignFallback.java
  6. 36
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/purchaseReturn/VehicleReturnDetailsDto.java
  7. 50
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/purchaseReturn/VehicleReturnDetailsVo.java
  8. 37
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/purchaseReturn/VehicleReturnDetailssVo.java
  9. 74
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/purchaseReturn/VehicleReturnDto.java
  10. 41
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/purchaseReturn/VehicleReturnFlowQuery.java
  11. 21
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/purchaseReturn/VehicleReturnQuery.java
  12. 67
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/purchaseReturn/AppScmVehicleReturnRest.java
  13. 194
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/purchaseReturn/AppScmVehicleReturnService.java

42
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnService.java

@ -219,6 +219,11 @@ public class ScmVehicleReturnService extends MybatisBaseService<ScmVehicleReturn
bv.setBusinessSid(businessSid);
bv.setUserSid(scmVehicleReturnDto.getCreateBySid());
variables.put("businessSid", businessSid);
//若app移动端有此功能,则传递appMap参数
Map<String, Object> appMap = new HashMap<>();
//需和移动端沟通业务sid保存的属性具体值:appMap中sid不是固定的。移动端提供具体字段。
appMap.put("sid", businessSid);
variables.put("app", appMap);
bv.setFormVariables(variables);
bv.setModelId(ProcDefEnum.SCMVEHICLERETURN.getProDefId());
//如果taskid从业务的数据库中查询出来,那这个taskid 和当前的关系是什么 如果数据库中查询出来的taskid是第四个环节的id,但是目前是做的第一次的提交操作。
@ -259,6 +264,11 @@ public class ScmVehicleReturnService extends MybatisBaseService<ScmVehicleReturn
bv.setBusinessSid(businessSid);
bv.setUserSid(dto.getCreateBySid());
variables.put("businessSid", businessSid);
//若app移动端有此功能,则传递appMap参数
Map<String, Object> appMap = new HashMap<>();
//需和移动端沟通业务sid保存的属性具体值:appMap中sid不是固定的。移动端提供具体字段。
appMap.put("sid", businessSid);
variables.put("app", appMap);
bv.setFormVariables(variables);
bv.setModelId(ProcDefEnum.SCMVEHICLERETURN.getProDefId());
if (org.apache.commons.lang3.StringUtils.isBlank(businessTaskid) && org.apache.commons.lang3.StringUtils.isBlank(dto.getTaskId())) {
@ -311,14 +321,14 @@ public class ScmVehicleReturnService extends MybatisBaseService<ScmVehicleReturn
String businessTaskid = booad.getTaskId();
if (businessTaskid.equals(bv.getTaskId())) { //只有数据一致的时候才能进行下一步
ResultBean<UpdateFlowFieldVo> rb1 = flowableFeign.handleProsess(bv);
if (!rb1.getSuccess()){
if (!rb1.getSuccess()) {
return rb.setMsg(rb1.getMsg());
}
String taskDefKey = rb1.getData().getTaskDefKey();
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(rb1.getData());
updateFlowFiled(stringObjectMap);
if("Event_end".equals(taskDefKey)){
// List<ScmVehicleReturnDetailsDto> detailsList = booad.getDetailsList();
if ("Event_end".equals(taskDefKey)) {
// List<ScmVehicleReturnDetailsDto> detailsList = booad.getDetailsList();
List<ScmVehicleReturnDetailssVo> detailsList = scmVehicleReturnDetailsService.detailsList(bv.getBusinessSid());
/*List<String> vino=new ArrayList<>();
detailsList.forEach(item->vino.add(item.getVinNo()));
@ -329,20 +339,20 @@ public class ScmVehicleReturnService extends MybatisBaseService<ScmVehicleReturn
baseVehicleFeign.updateByVinNo(updateQuery);*/
//生成采购退库办理
ResultBean<SysUserVo> sysUserResultBean = sysUserFeign.fetchBySid(booad.getCreateBySid());
BaseManufacturerRetwareDto brd=new BaseManufacturerRetwareDto();
BaseManufacturerRetwareDto brd = new BaseManufacturerRetwareDto();
brd.setSource("采购退库"); // 来源
brd.setOperatorName(sysUserResultBean.getData().getName()); // 操作人姓名
brd.setCreateBySid(booad.getCreateBySid());
brd.setApplyName(sysUserResultBean.getData().getName()); // 申请人姓名
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
brd.setAppluDate(sdf.format(booad.getCreateTime())); // 申请日期
brd.setNum(detailsList.size()+""); // 车辆台数
brd.setNum(detailsList.size() + ""); // 车辆台数
ResultBean<String> stringResultBean = sysStaffOrgFeign.selectSidPathByStaffSid(sysUserResultBean.getData().getStaffSid());
brd.setCreateOrgSid(stringResultBean.getData()); // 创建组织sid
List<BaseManufacturerRetwareVehDto> baseManufacturerRetwareVehs=new ArrayList<>();
List<BaseManufacturerRetwareVehDto> baseManufacturerRetwareVehs = new ArrayList<>();
//detailsList.forEach(item->baseManufacturerRetwareVehs.add(new BaseManufacturerRetwareVehDto()));
for(int i=0;i<detailsList.size();i++){
for (int i = 0; i < detailsList.size(); i++) {
BaseManufacturerRetwareVehDto baseManufacturerRetwareVehDto = new BaseManufacturerRetwareVehDto();
String vinNo = detailsList.get(i).getVinNo();
baseManufacturerRetwareVehDto.setVinNo(vinNo);
@ -366,7 +376,7 @@ public class ScmVehicleReturnService extends MybatisBaseService<ScmVehicleReturn
ScmVehicleReturn scmVehicleReturn = fetchBySid(bv.getBusinessSid());
BigDecimal money = scmVehicleReturn.getMoney();
bv.getFormVariables().put("isLoan", money.compareTo(new BigDecimal("0")) > 0);
// ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
// ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
/* List<GetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
String id = voList.get(0).getId();
@ -465,9 +475,9 @@ public class ScmVehicleReturnService extends MybatisBaseService<ScmVehicleReturn
map.put("businessSid", dto.getBusinessSid());
map.put("nodeState", nodeState);
map.put("taskDefKey", taskDefKey);
/* if (incomingSourceRef.contains("start")) {*/
map.put("flowState", nodeState);
/* }*/
/* if (incomingSourceRef.contains("start")) {*/
map.put("flowState", nodeState);
/* }*/
sysFormLinkFeign.updateFiled(map);
return new ResultBean().success();
}
@ -491,7 +501,7 @@ public class ScmVehicleReturnService extends MybatisBaseService<ScmVehicleReturn
baseVehicleDto.setVehicleStateValue(VehicleState.StockEnum.STOCK.getRemarks());
baseVehicleDtos.add(baseVehicleDto);
}
baseVehicleFeign.saveOrUpdate(baseVehicleDtos,OperVehicleState.EventType.UPDATE_VEHICLE.getCode());
baseVehicleFeign.saveOrUpdate(baseVehicleDtos, OperVehicleState.EventType.UPDATE_VEHICLE.getCode());
return resultBean;
} else {
return ResultBean.fireFail().setMsg("操作失败,提交的数据不一致!");
@ -557,7 +567,7 @@ public class ScmVehicleReturnService extends MybatisBaseService<ScmVehicleReturn
public ResultBean<ScmVehicleReturnDetailsVo> details(String sid) {
ResultBean<ScmVehicleReturnDetailsVo> rb = ResultBean.fireFail();
ScmVehicleReturnDetailsVo vo = new ScmVehicleReturnDetailsVo();
if (StringUtils.isBlank(sid)) {
if (StringUtils.isBlank(sid)) {
//申请日期即为当天
vo.setCreateTime(DateUtil.today());
//申请单编号
@ -586,9 +596,9 @@ public class ScmVehicleReturnService extends MybatisBaseService<ScmVehicleReturn
String bill = Rule.getBill(b);
String i = baseMapper.selectNum(bill);
String billNo = "";
if(StringUtils.isNotBlank(i)){
if (StringUtils.isNotBlank(i)) {
billNo = Rule.getBillNo(bill, Integer.valueOf(i).intValue());
}else{
} else {
billNo = Rule.getBillNo(bill, 0);
}
return billNo;

50
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/purchaseReturn/AppFlowTaskVo.java

@ -0,0 +1,50 @@
package com.yxt.anrui.terminal.api.supplychain.purchaseReturn;
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.HashMap;
import java.util.List;
import java.util.Map;
@Data
public class AppFlowTaskVo implements Vo {
private static final long serialVersionUID = 6521877111475189318L;
@ApiModelProperty("businessSid ")
private String businessSid;
@ApiModelProperty("任务Id")
private String taskId;
@ApiModelProperty("用户Id")
private String userId;
@ApiModelProperty("用户Sid")
private String userSid;
@ApiModelProperty("任务意见")
private String comment;
@ApiModelProperty("流程实例Id")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty("节点")
private String targetKey;
@ApiModelProperty("流程变量信息")
private Map<String, Object> values = new HashMap<>();
@ApiModelProperty("审批人")
private String assignee;
@ApiModelProperty("候选人")
private List<String> candidateUsers = new ArrayList<>();
@ApiModelProperty("审批组")
private List<String> candidateGroups = new ArrayList<>();
}

20
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/purchaseReturn/AppGetNodeQuery.java

@ -0,0 +1,20 @@
package com.yxt.anrui.terminal.api.supplychain.purchaseReturn;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.Map;
@Data
public class AppGetNodeQuery implements Query {
private static final long serialVersionUID = 7176309161307636330L;
@ApiModelProperty(value = "环节定义id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
@ApiModelProperty(value = "分支字段及业务字段")
private Map<String, Object> formVariables;
}

60
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/purchaseReturn/AppScmVehicleReturnFeign.java

@ -0,0 +1,60 @@
package com.yxt.anrui.terminal.api.supplychain.purchaseReturn;
import com.yxt.anrui.terminal.api.supplychain.modelAdjust.ModelModpriceQuery;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
/**
* @Author dimengzhe
* @Date 2022/4/6 16:39
* @Description
*/
@FeignClient(
contextId = "anrui-scm-ScmVehicleReturn",
name = "anrui-terminal",
path = "supplychain/v1/purchaseReturn",
fallback = AppScmVehicleReturnFeignFallback.class)
public interface AppScmVehicleReturnFeign {
@ApiOperation("获取采购退库详情")
@GetMapping("/getPurchaseReturn/{sid}")
@ResponseBody
ResultBean<VehicleReturnDetailsVo> getPurchaseReturn(@PathVariable("sid") String sid);
@ApiOperation("提交")
@PostMapping("/submitPurchaseReturnInfo")
@ResponseBody
ResultBean submitPurchaseReturnInfo(@RequestBody VehicleReturnDto dto);
@ApiOperation(value = "办理(同意)")
@PutMapping("/agreePurchaseReturnInfo")
@ResponseBody
public ResultBean agreePurchaseReturnInfo(@RequestBody VehicleReturnFlowQuery vehicleReturnFlowQuery);
@ApiOperation(value = "驳回任务")
@PutMapping("/rejectPurchaseReturnInfo")
@ResponseBody
ResultBean rejectPurchaseReturnInfo(@RequestBody AppFlowTaskVo flowTaskVo);
@ApiOperation(value = "撤回任务")
@PutMapping("/recallPurchaseReturnInfo")
@ResponseBody
ResultBean recallPurchaseReturnInfo(@RequestBody AppFlowTaskVo flowTaskVo);
@ApiOperation(value = "终止任务")
@PutMapping("/stopPurchaseReturnInfo")
@ResponseBody
ResultBean stopPurchaseReturnInfo(@RequestBody AppFlowTaskVo flowTaskVo);
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@SpringQueryMap VehicleReturnQuery query);
}

12
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/purchaseReturn/AppScmVehicleReturnFeignFallback.java

@ -0,0 +1,12 @@
package com.yxt.anrui.terminal.api.supplychain.purchaseReturn;
import org.springframework.stereotype.Component;
/**
* @Author dimengzhe
* @Date 2022/4/6 16:40
* @Description
*/
@Component
public class AppScmVehicleReturnFeignFallback {
}

36
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/purchaseReturn/VehicleReturnDetailsDto.java

@ -0,0 +1,36 @@
package com.yxt.anrui.terminal.api.supplychain.purchaseReturn;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class VehicleReturnDetailsDto implements Dto {
private static final long serialVersionUID = -3958214722435321143L;
@ApiModelProperty(value = "车架号")
@JsonProperty("vin")
private String vinNo;
@ApiModelProperty(value = "车型")
private String modelName;
@ApiModelProperty(value = "常用配置")
private String configName;
@ApiModelProperty(value = "入库日期")
@JsonProperty("date")
private Date inboundDate;
@ApiModelProperty(value = "退库费用")
@JsonProperty("price")
private BigDecimal returnStockCost;
@ApiModelProperty(value = "费用说明")
@JsonProperty("reason")
private String costRemarks;
@ApiModelProperty(value = "车型sid")
private String modelSid;
@ApiModelProperty(value = "配置sid")
private String configSid;
}

50
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/purchaseReturn/VehicleReturnDetailsVo.java

@ -0,0 +1,50 @@
package com.yxt.anrui.terminal.api.supplychain.purchaseReturn;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
public class VehicleReturnDetailsVo implements Vo {
private static final long serialVersionUID = 7195403569674380054L;
@ApiModelProperty(value = "申请编号")
private String applicationCode;
@ApiModelProperty(value = "申请人")
@JsonProperty("applyName")
private String name;
@ApiModelProperty(value = "申请日期")
@JsonProperty("date")
private String createTime;
@ApiModelProperty(value = "退库原因")
private String reason;
@ApiModelProperty(value = "费用")
@JsonSerialize(using = ToStringSerializer.class)
@JsonProperty("totalPrice")
private String money;
@ApiModelProperty(value = "车辆列表")
@JsonProperty("records")
private List<VehicleReturnDetailssVo> voList = new ArrayList<>();
@ApiModelProperty(value = "费用说明")
private String remarks;
@ApiModelProperty(value = "分公司名称")
@JsonProperty("company")
private String orgName;
@ApiModelProperty(value = "createBySid")
private String createBySid;
@ApiModelProperty(value = "分公司sid")
private String createOrgSid;
@ApiModelProperty(value = "taskId")
private String taskId;
@ApiModelProperty("procInsId")
private String instanceId;
}

37
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/purchaseReturn/VehicleReturnDetailssVo.java

@ -0,0 +1,37 @@
package com.yxt.anrui.terminal.api.supplychain.purchaseReturn;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class VehicleReturnDetailssVo implements Vo {
private static final long serialVersionUID = 1011953352683783209L;
@ApiModelProperty(value = "车架号")
@JsonProperty("vin")
private String vinNo;
@ApiModelProperty(value = "车型名称")
private String modelName;
@ApiModelProperty(value = "常用配置")
private String configName;
@ApiModelProperty("车型sid")
private String modelSid;
@ApiModelProperty("配置sid")
private String configSid;
@ApiModelProperty(value = "入库日期")
@JsonProperty("date")
private String inboundDate;
@ApiModelProperty(value = "退库费用")
@JsonProperty("price")
private BigDecimal returnStockCost;
@ApiModelProperty(value = "费用说明")
@JsonProperty("reason")
private String costRemarks;
}

74
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/purchaseReturn/VehicleReturnDto.java

@ -0,0 +1,74 @@
package com.yxt.anrui.terminal.api.supplychain.purchaseReturn;
import com.fasterxml.jackson.annotation.JsonFormat;
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;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Data
public class VehicleReturnDto implements Dto {
private static final long serialVersionUID = -6340699943402564179L;
@ApiModelProperty(value = "sid")
private String sid;
/* @ApiModelProperty(value = "申请编号")
@NotBlank(message = "申请编号不能为空")
private String applicationCode;*/
@ApiModelProperty(value = "申请人sid", required = true)
@NotBlank(message = "申请人不能为空")
@JsonProperty("userSid")
private String createBySid;
@ApiModelProperty(value = "申请人", required = true)
@NotBlank(message = "申请人不能为空")
@JsonProperty("applyName")
private String name;
@ApiModelProperty(value = "申请日期", required = true)
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@JsonProperty("date")
private Date createTime;
@ApiModelProperty(value = "退库原因", required = true)
@NotBlank(message = "退库原因不能为空")
private String reason;
@ApiModelProperty(value = "费用")
@JsonProperty("totalPrice")
private String money;
@ApiModelProperty(value = "车辆列表")
private List<VehicleReturnDetailsDto> detailsList = new ArrayList<>();
@ApiModelProperty("流程定义的id")
private String procDefId;
@ApiModelProperty("环节定义的sid")
private String taskDefKey;
@ApiModelProperty("流程实例的sid")
private String instanceId;
@ApiModelProperty(value = "节点状态")
private String nodeState;
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("业务sid")
private String businessSid;
@ApiModelProperty("comment")
private String comment;
@ApiModelProperty(value = "procInsId")
private String procInsId;
@ApiModelProperty(value = "费用说明")
private String remarks;
@ApiModelProperty(value = "分公司名称")
@JsonProperty("company")
private String orgName;
@ApiModelProperty(value = "分公司sid")
private String createOrgSid;
}

41
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/purchaseReturn/VehicleReturnFlowQuery.java

@ -0,0 +1,41 @@
package com.yxt.anrui.terminal.api.supplychain.purchaseReturn;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@Data
public class VehicleReturnFlowQuery implements Query {
private static final long serialVersionUID = 7509263507958557992L;
@ApiModelProperty(value = "处理意见")
private String comment;
@ApiModelProperty(value = "流程id")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty(value = "环节id")
private String taskId;
@ApiModelProperty(value = "用户sid")
private String userSid;
@ApiModelProperty(value = "业务sid")
private String businessSid;
@ApiModelProperty(value = "taskDefKey")
private String taskDefKey;
/**
* 当前用户部门的全路径
*/
private String orgSidPath;
/**
* 业务参数按需传递
*/
private Map<String, Object> formVariables;
}

21
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/purchaseReturn/VehicleReturnQuery.java

@ -0,0 +1,21 @@
package com.yxt.anrui.terminal.api.supplychain.purchaseReturn;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
public class VehicleReturnQuery implements Query {
private static final long serialVersionUID = 738481886565371528L;
@ApiModelProperty(value = "节点key")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
@ApiModelProperty(value = "0 上一环节 1下一环节")
@NotNull(message = "参数错误:next")
private Integer next;
}

67
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/purchaseReturn/AppScmVehicleReturnRest.java

@ -0,0 +1,67 @@
package com.yxt.anrui.terminal.biz.supplychain.purchaseReturn;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.scm.api.flow.FlowTaskVo;
import com.yxt.anrui.scm.api.scmvehiclereturn.*;
import com.yxt.anrui.scm.api.scmvehiclereturn.flow.GetNodeQuery;
import com.yxt.anrui.terminal.api.supplychain.modelAdjust.ModelModpriceQuery;
import com.yxt.anrui.terminal.api.supplychain.purchaseReturn.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
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/4/6 17:45
* @Description
*/
@Api(tags = "车辆采购退库管理")
@RequestMapping("supplychain/v1/purchaseReturn")
@Controller
public class AppScmVehicleReturnRest implements AppScmVehicleReturnFeign {
@Autowired
private AppScmVehicleReturnService appScmVehicleReturnService;
@Override
public ResultBean<VehicleReturnDetailsVo> getPurchaseReturn(String sid) {
return appScmVehicleReturnService.getPurchaseReturn(sid);
}
@Override
public ResultBean submitPurchaseReturnInfo(VehicleReturnDto dto) {
return appScmVehicleReturnService.submitPurchaseReturnInfo(dto);
}
@Override
public ResultBean agreePurchaseReturnInfo(VehicleReturnFlowQuery vehicleReturnFlowQuery) {
return appScmVehicleReturnService.agreePurchaseReturnInfo(vehicleReturnFlowQuery);
}
@Override
public ResultBean rejectPurchaseReturnInfo(AppFlowTaskVo flowTaskVo) {
return appScmVehicleReturnService.rejectPurchaseReturnInfo(flowTaskVo);
}
@Override
public ResultBean recallPurchaseReturnInfo(AppFlowTaskVo flowTaskVo) {
return appScmVehicleReturnService.recallPurchaseReturnInfo(flowTaskVo);
}
@Override
public ResultBean stopPurchaseReturnInfo(AppFlowTaskVo flowTaskVo) {
return appScmVehicleReturnService.stopPurchaseReturnInfo(flowTaskVo);
}
@Override
public ResultBean<String> getFlowOperateTitle(VehicleReturnQuery query) {
return appScmVehicleReturnService.getFlowOperateTitle(query);
}
}

194
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/purchaseReturn/AppScmVehicleReturnService.java

@ -0,0 +1,194 @@
package com.yxt.anrui.terminal.biz.supplychain.purchaseReturn;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.base.api.basemodelmodprice.flow.BaseModelModPriceCompleteDto;
import com.yxt.anrui.base.api.basevehicle.BaseVehicle;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.scm.api.flow.FlowTaskVo;
import com.yxt.anrui.scm.api.scmvehicleenterlibrary.AppScmVehicleEnterlibraryDetailsVo;
import com.yxt.anrui.scm.api.scmvehiclegression.flowable.GetNodeVo;
import com.yxt.anrui.scm.api.scmvehiclereturn.ScmVehicleReturnDetailsVo;
import com.yxt.anrui.scm.api.scmvehiclereturn.ScmVehicleReturnDto;
import com.yxt.anrui.scm.api.scmvehiclereturn.ScmVehicleReturnFeign;
import com.yxt.anrui.scm.api.scmvehiclereturn.ScmVehicleReturnFlowQuery;
import com.yxt.anrui.scm.api.scmvehiclereturn.flow.GetNodeQuery;
import com.yxt.anrui.terminal.api.supplychain.purchaseReturn.*;
import com.yxt.anrui.terminal.api.supplychain.scmvehicleenterlibrary.AppEnterlibraryDetailsVo;
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/4/7 10:35
* @Description
*/
@Service
public class AppScmVehicleReturnService {
@Autowired
ScmVehicleReturnFeign scmVehicleReturnFeign;
@Autowired
BaseVehicleFeign baseVehicleFeign;
@Autowired
SysStaffOrgFeign sysStaffOrgFeign;
/**
* 获取采购退库详情
*
* @param sid
* @return
*/
public ResultBean<VehicleReturnDetailsVo> getPurchaseReturn(String sid) {
ResultBean<VehicleReturnDetailsVo> rb = ResultBean.fireFail();
VehicleReturnDetailsVo vo = new VehicleReturnDetailsVo();
ResultBean<ScmVehicleReturnDetailsVo> resultBean = scmVehicleReturnFeign.details(sid);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
ScmVehicleReturnDetailsVo scmVehicleReturnDetailsVo = resultBean.getData();
BeanUtil.copyProperties(scmVehicleReturnDetailsVo, vo);
List<VehicleReturnDetailssVo> records = vo.getVoList();
for (VehicleReturnDetailssVo record : records) {
String vinNo = record.getVinNo();
BaseVehicle data = baseVehicleFeign.selectByVinNoAndOrgSid(vinNo, vo.getCreateOrgSid()).getData();
record.setModelSid(data.getModelSid());
record.setConfigSid(data.getModelConfigSid());
}
return rb.success().setData(vo);
}
/**
* 获取流程操作标题
*
* @param query
* @return
*/
public ResultBean<String> getFlowOperateTitle(VehicleReturnQuery query) {
ResultBean<String> rb = ResultBean.fireFail();
//0 上一环节 1下一环节
int next = query.getNext();
GetNodeQuery getNodeQuery = new GetNodeQuery();
BeanUtil.copyProperties(query, getNodeQuery);
String data = "";
if (next == 0) {
ResultBean<List<GetNodeVo>> getPreviousNodesForReject = scmVehicleReturnFeign.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<GetNodeVo>> getNextNodesForSubmit = scmVehicleReturnFeign.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);
}
/**
* 驳回任务
*
* @param appflowTaskVo
* @return
*/
public ResultBean rejectPurchaseReturnInfo(AppFlowTaskVo appflowTaskVo) {
ResultBean rb = ResultBean.fireFail();
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(appflowTaskVo, flowTaskVo);
ResultBean resultBean = scmVehicleReturnFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success();
}
/**
* 撤回任务
*
* @param appflowTaskVo
* @return
*/
public ResultBean recallPurchaseReturnInfo(AppFlowTaskVo appflowTaskVo) {
ResultBean rb = ResultBean.fireFail();
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(appflowTaskVo, flowTaskVo);
ResultBean resultBean = scmVehicleReturnFeign.revokeProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success();
}
/**
* 终止任务
*
* @param appflowTaskVo
* @return
*/
public ResultBean stopPurchaseReturnInfo(AppFlowTaskVo appflowTaskVo) {
ResultBean rb = ResultBean.fireFail();
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(appflowTaskVo, flowTaskVo);
ResultBean resultBean = scmVehicleReturnFeign.breakProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success();
}
/**
* 同意办理接口
*
* @param vehicleReturnFlowQuery
* @return
*/
public ResultBean agreePurchaseReturnInfo(VehicleReturnFlowQuery vehicleReturnFlowQuery) {
ResultBean rb = ResultBean.fireFail();
ScmVehicleReturnFlowQuery scmVehicleReturnFlowQuery = new ScmVehicleReturnFlowQuery();
BeanUtil.copyProperties(vehicleReturnFlowQuery, scmVehicleReturnFlowQuery);
ResultBean resultBean = scmVehicleReturnFeign.complete(scmVehicleReturnFlowQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success();
}
/**
* 提交接口
*
* @param dto
* @return
*/
public ResultBean submitPurchaseReturnInfo(VehicleReturnDto dto) {
ResultBean rb = ResultBean.fireFail();
List<VehicleReturnDetailsDto> detailsList = dto.getDetailsList();
for (VehicleReturnDetailsDto vehicleReturnDetailsDto : detailsList) {
String useOrgSid = sysStaffOrgFeign.getPathSidByUserSid(dto.getCreateBySid()).getData();
String vinNo = vehicleReturnDetailsDto.getVinNo();
BaseVehicle data = baseVehicleFeign.selectByVinNoAndOrgSid(vinNo, useOrgSid).getData();
vehicleReturnDetailsDto.setConfigName(data.getConfigName());
}
ScmVehicleReturnDto scmVehicleReturnDto = new ScmVehicleReturnDto();
BeanUtil.copyProperties(dto, scmVehicleReturnDto);
ResultBean resultBean = scmVehicleReturnFeign.submitVehicleReturn(scmVehicleReturnDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success();
}
}
Loading…
Cancel
Save