diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufactorsubscription/BaseManufactorSubscriptionQuery.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufactorsubscription/BaseManufactorSubscriptionQuery.java index e64d8b197e..5717427e4d 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufactorsubscription/BaseManufactorSubscriptionQuery.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufactorsubscription/BaseManufactorSubscriptionQuery.java @@ -64,6 +64,9 @@ public class BaseManufactorSubscriptionQuery implements Query { @ApiModelProperty("认款结束日期") private String subscriptionEndDate; // 认款结束日期 + @ApiModelProperty("厂家采购类型key") + private String applyTypeKey; // 厂家采购类型key + @ApiModelProperty("创建组织sid") private String createOrgSid; // 创建组织sid } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeign.java index a987edde96..8bbc1449d7 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeign.java @@ -61,6 +61,11 @@ public interface BaseVehinstallFeign { @ResponseBody public ResultBean> listPage(@RequestBody PagerQuery pq); + @ApiOperation("上装调价选择上装台账") + @PostMapping("/vehInsMod") + @ResponseBody + public ResultBean> vehInsMod(@RequestBody PagerQuery pq); + @ApiOperation("新增或修改") @PostMapping("/save") @ResponseBody diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeignFallback.java index a098ea3d94..0547488ee6 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeignFallback.java @@ -54,6 +54,11 @@ public class BaseVehinstallFeignFallback implements BaseVehinstallFeign { return rb.setMsg("接口anrui-base/basevehinstall/listPage无法访问"); } + @Override + public ResultBean> vehInsMod(PagerQuery pq) { + return null; + } + @Override public ResultBean save(BaseVehinstallDto dto){ return ResultBean.fireFail().setMsg("接口anrui-base/basevehinstall/save无法访问"); diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallQuery.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallQuery.java index 9c0308819c..be3f33b2b7 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallQuery.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallQuery.java @@ -32,6 +32,8 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.List; + /** * Project: anrui-base(上装配置管理)
* File: BaseVehinstallQuery.java
@@ -67,4 +69,6 @@ public class BaseVehinstallQuery implements Query { private String noticeModel; // 公告型号 @ApiModelProperty("创建组织") private String createOrgSid; // 创建组织 + @ApiModelProperty("上装台账sid") + private List jacketSidList; // 上装台账sid } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallVo.java index f1809e081c..da4bc0eef5 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallVo.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallVo.java @@ -83,4 +83,6 @@ public class BaseVehinstallVo implements Vo { private String priceDate; // 入库日期 @ApiModelProperty("出库日期") private String salesDate; // 出库日期 + @ApiModelProperty("主车销售指导价") + private String vehGuidePrice; // 主车销售指导价 } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodel/BaseVehinstallmodelFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodel/BaseVehinstallmodelFeign.java index 9609d1e1b4..ef38afa8b7 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodel/BaseVehinstallmodelFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodel/BaseVehinstallmodelFeign.java @@ -76,9 +76,4 @@ public interface BaseVehinstallmodelFeign { @GetMapping("/fetchDetailsBySid/{sid}") @ResponseBody public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid); - - /**********************************流程接口*******************************************/ - - - } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/BaseVehinstallModpriceFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/BaseVehinstallModpriceFeign.java index ee5e0a426b..ac27803ab1 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/BaseVehinstallModpriceFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/BaseVehinstallModpriceFeign.java @@ -25,14 +25,23 @@ *********************************************************/ package com.yxt.anrui.base.api.basevehinstallmodprice; +import com.yxt.anrui.base.api.basemodelmodprice.flow.BaseModelModPriceCompleteDto; +import com.yxt.anrui.base.api.basemodelmodprice.flow.BaseModelModPriceTaskQuery; +import com.yxt.anrui.base.api.basemodelmodprice.flow.GetNodeQuery; +import com.yxt.anrui.base.api.basemodelmodprice.flow.SubmitBaseModelModPriceDto; +import com.yxt.anrui.base.api.basevehinstallmodprice.flow.BaseVehInstallModPriceCompleteDto; +import com.yxt.anrui.base.api.basevehinstallmodprice.flow.BaseVehInstallModPriceTaskQuery; +import com.yxt.anrui.base.api.basevehinstallmodprice.flow.SubmitBaseVehInstallModPriceDto; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.cloud.openfeign.SpringQueryMap; import org.springframework.web.bind.annotation.*; +import javax.validation.Valid; import java.util.List; /** @@ -75,4 +84,34 @@ public interface BaseVehinstallModpriceFeign { @GetMapping("/fetchDetailsBySid/{sid}") @ResponseBody public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid); + + /*************************************上装调价流程**************************************/ + + @ApiOperation("提交上装调价流程") + @PostMapping("/submitBaseVehInstallModPrice") + public ResultBean submitBaseVehInstallModPrice(@Valid @RequestBody SubmitBaseVehInstallModPriceDto dto); + + @ApiOperation(value = "办理(同意)") + @PostMapping("/complete") + public ResultBean complete(@Valid @RequestBody BaseVehInstallModPriceCompleteDto query); + + @ApiOperation(value = "获取下一个环节") + @GetMapping(value = "/getNextNodesForSubmit") + ResultBean getNextNodesForSubmit(@Valid @SpringQueryMap GetNodeQuery query); + + @ApiOperation(value = "获取上一个环节") + @GetMapping(value = "/getPreviousNodesForReject") + ResultBean getPreviousNodesForReject(@Valid @SpringQueryMap GetNodeQuery query); + + @ApiOperation(value = "驳回任务") + @PostMapping(value = "/reject") + public ResultBean taskReject(@Valid @RequestBody BaseVehInstallModPriceTaskQuery query); + + @ApiOperation(value = "撤回流程") + @PostMapping(value = "/revokeProcess") + public ResultBean revokeProcess(@Valid @RequestBody BaseVehInstallModPriceTaskQuery query); + + @ApiOperation(value = "终止任务") + @PostMapping(value = "/breakProcess") + public ResultBean breakProcess(@Valid @RequestBody BaseVehInstallModPriceTaskQuery query); } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/BaseVehinstallModpriceFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/BaseVehinstallModpriceFeignFallback.java index 013b8b2e21..e3e5368222 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/BaseVehinstallModpriceFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/BaseVehinstallModpriceFeignFallback.java @@ -25,6 +25,10 @@ *********************************************************/ package com.yxt.anrui.base.api.basevehinstallmodprice; +import com.yxt.anrui.base.api.basemodelmodprice.flow.GetNodeQuery; +import com.yxt.anrui.base.api.basevehinstallmodprice.flow.BaseVehInstallModPriceCompleteDto; +import com.yxt.anrui.base.api.basevehinstallmodprice.flow.BaseVehInstallModPriceTaskQuery; +import com.yxt.anrui.base.api.basevehinstallmodprice.flow.SubmitBaseVehInstallModPriceDto; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -69,4 +73,39 @@ public class BaseVehinstallModpriceFeignFallback implements BaseVehinstallModpri ResultBean rb = ResultBean.fireFail(); return rb.setMsg("接口anrui-base/basevehinstallmodprice/fetchDetailsBySid无法访问"); } + + @Override + public ResultBean submitBaseVehInstallModPrice(SubmitBaseVehInstallModPriceDto dto) { + return null; + } + + @Override + public ResultBean complete(BaseVehInstallModPriceCompleteDto query) { + return null; + } + + @Override + public ResultBean getNextNodesForSubmit(GetNodeQuery query) { + return null; + } + + @Override + public ResultBean getPreviousNodesForReject(GetNodeQuery query) { + return null; + } + + @Override + public ResultBean taskReject(BaseVehInstallModPriceTaskQuery query) { + return null; + } + + @Override + public ResultBean revokeProcess(BaseVehInstallModPriceTaskQuery query) { + return null; + } + + @Override + public ResultBean breakProcess(BaseVehInstallModPriceTaskQuery query) { + return null; + } } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/BaseVehInstallModPriceCompleteDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/BaseVehInstallModPriceCompleteDto.java new file mode 100644 index 0000000000..c68b29bc9e --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/BaseVehInstallModPriceCompleteDto.java @@ -0,0 +1,41 @@ +package com.yxt.anrui.base.api.basevehinstallmodprice.flow; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.util.Map; + +/** + * @Author dimengzhe + * @Date 2022/6/28 9:01 + * @Description + */ +@Data +public class BaseVehInstallModPriceCompleteDto implements Dto { + private static final long serialVersionUID = 3240453987322803352L; + @ApiModelProperty(value = "用户sid") + @NotBlank(message = "参数错误:userSid") + private String userSid; + @ApiModelProperty(value = "用户全路径sid") + @NotBlank(message = "参数错误:orgSidPath") + private String orgSidPath; + @ApiModelProperty(value = "节点id") + @NotBlank(message = "参数错误:taskDefKey") + private String taskDefKey; + @ApiModelProperty(value = "任务id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + @ApiModelProperty(value = "流程id") + @NotBlank(message = "参数错误:instanceId") + private String instanceId; + @ApiModelProperty(value = "意见") + @NotBlank(message = "参数错误:comment") + private String comment; + @ApiModelProperty(value = "业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + @ApiModelProperty(value = "暂不确定是不是需要前端传的:还是有分支的时候传??") + private Map formVariables; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/BaseVehInstallModPriceTaskQuery.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/BaseVehInstallModPriceTaskQuery.java new file mode 100644 index 0000000000..233c4285bd --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/BaseVehInstallModPriceTaskQuery.java @@ -0,0 +1,44 @@ +package com.yxt.anrui.base.api.basevehinstallmodprice.flow; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/6/28 17:29 + * @Description 终止、撤回、驳回查询参数 + */ +@Data +public class BaseVehInstallModPriceTaskQuery implements Query { + private static final long serialVersionUID = -4006020771892400451L; + /** + * 终止、驳回、撤回 + */ + @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") + private String instanceId; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/GetNodeQuery.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/GetNodeQuery.java new file mode 100644 index 0000000000..700b5f8db9 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/GetNodeQuery.java @@ -0,0 +1,24 @@ +package com.yxt.anrui.base.api.basevehinstallmodprice.flow; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/6/28 10:42 + * @Description + */ +@Data +public class GetNodeQuery implements Query { + private static final long serialVersionUID = -5674867230708197611L; + + @ApiModelProperty(value = "环节定义id") + @NotBlank(message = "参数错误:taskDefKey") + private String taskDefKey; +/* + @ApiModelProperty(value = "不确定是否需要前端传:还是有分支网关的时候传??") + private Map formVariables;*/ +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/GetNodeVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/GetNodeVo.java new file mode 100644 index 0000000000..c41d7851ba --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/GetNodeVo.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.base.api.basevehinstallmodprice.flow; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2022/6/28 11:09 + * @Description + */ +@Data +public class GetNodeVo implements Vo { + private static final long serialVersionUID = 8802774014747063504L; + @ApiModelProperty(value = "节点名称") + private String name; + @ApiModelProperty(value = "节点id") + private String id; + @ApiModelProperty(value = "审批组") + private List candidateGroups; + @ApiModelProperty(value = "是否是最后环节") + private String endTask; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/SubmitBaseVehInstallModPriceDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/SubmitBaseVehInstallModPriceDto.java new file mode 100644 index 0000000000..bbef240301 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/SubmitBaseVehInstallModPriceDto.java @@ -0,0 +1,22 @@ +package com.yxt.anrui.base.api.basevehinstallmodprice.flow; + +import com.yxt.anrui.base.api.basemodelmodprice.BaseModelModpriceDto; +import com.yxt.anrui.base.api.basevehinstallmodprice.BaseVehinstallModpriceDto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/6/27 13:38 + * @Description + */ +@Data +public class SubmitBaseVehInstallModPriceDto extends BaseVehinstallModpriceDto { + private static final long serialVersionUID = 378585162071125756L; + @ApiModelProperty("意见") + private String comment; + @ApiModelProperty("流程实例id") + private String instanceId; + @ApiModelProperty("任务id") + private String taskId; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodpricedetail/BaseVehinstallModpricedetailDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodpricedetail/BaseVehinstallModpricedetailDto.java index cd75dddab3..36fff23c67 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodpricedetail/BaseVehinstallModpricedetailDto.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodpricedetail/BaseVehinstallModpricedetailDto.java @@ -75,5 +75,6 @@ public class BaseVehinstallModpricedetailDto implements Dto { private BigDecimal incOrDecInPrice; // 价格增减数额 @ApiModelProperty("调整后整车销售指导价") private BigDecimal adjustVehGuidedPrice; // 调整后整车销售指导价 - + @ApiModelProperty("备注") + private String remarks; // 备注 } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseService.java index a30af4c9d6..0a552964b5 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseService.java @@ -26,6 +26,7 @@ package com.yxt.anrui.base.biz.baseinternalpurchase; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -40,6 +41,7 @@ import com.yxt.anrui.base.api.basemodelmodprice.flow.SubmitBaseModelModPriceDto; import com.yxt.anrui.base.api.baseoutsourcingapplication.GetNextNodeDto; import com.yxt.anrui.base.api.basevehicle.BaseVehicle; import com.yxt.anrui.base.api.basevehicle.BaseVehicleDto; +import com.yxt.anrui.base.api.basevehicle.BaseVehicleVo; import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelConfig; import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelVo; import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApply; @@ -460,6 +462,10 @@ public class BaseInternalPurchaseService extends MybatisBaseService resultBean1 = scmVehicleExamineFeign.saveEntryCarInspectedInfo(scmEntryVehicleExamineDto); if (!resultBean1.getSuccess()) { return rb.setMsg("验车业务模块的数据推送失败!"); diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.java index 2e436aad5b..dfc8d48bd0 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.java @@ -428,4 +428,6 @@ public interface BaseVehicleMapper extends BaseMapper { int getStockNum(@Param(Constants.WRAPPER) QueryWrapper qwq); List> purSellVinNoAndLoc(@Param(Constants.WRAPPER) QueryWrapper qw); + + BaseVehicle selVehicleByVinNoAndOrgSid(@Param("vinNo") String vinNo,@Param("createOrgSid") String createOrgSid); } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml index 1a93737213..b09612c92b 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml @@ -1009,4 +1009,11 @@ ${ew.sqlSegment} + + \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java index 556e75b436..aa288c4f33 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java @@ -1634,9 +1634,11 @@ public class BaseVehicleService extends MybatisBaseService stringList = baseVehinstallService.selectListVo(createOrgSid); QueryWrapper qw = new QueryWrapper<>(); - qw.notIn("bv.vinNo", stringList); qw.eq("bv.createOrgSid", createOrgSid); qw.eq("bvm.createOrg", createOrgSid); + if (stringList.size() > 0) { + qw.notIn("bv.vinNo", stringList); + } List baseExistingCarListVo = baseMapper.selExistingCar(qw); return rb.success().setData(baseExistingCarListVo); } @@ -2144,4 +2146,8 @@ public class BaseVehicleService extends MybatisBaseService> maps = baseMapper.purSellVinNoAndLoc(qw); return rb.success().setData(maps); } + + public BaseVehicle selVehicleByVinNoAndOrgSid(String vinNo, String createOrgSid) { + return baseMapper.selVehicleByVinNoAndOrgSid(vinNo,createOrgSid); + } } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallRest.java index 5da7e54d34..25cbe97c85 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallRest.java @@ -72,6 +72,13 @@ public class BaseVehinstallRest implements BaseVehinstallFeign { return rb.success().setData(pv); } + @Override + public ResultBean> vehInsMod(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = baseVehinstallService.vehInsMod(pq); + return rb.success().setData(pv); + } + @Override @ApiOperation("新增或修改") @PostMapping("/save") diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallService.java index 9e09235a91..686e48a7f7 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallService.java @@ -28,9 +28,13 @@ package com.yxt.anrui.base.biz.basevehinstall; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.anrui.base.api.basevehicle.BaseVehicle; import com.yxt.anrui.base.api.basevehinstallmodel.BaseVehinstallmodel; import com.yxt.anrui.base.api.basevehinstallmodel.BaseVehinstallmodelDetailsVo; +import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelVo; +import com.yxt.anrui.base.biz.basevehicle.BaseVehicleService; import com.yxt.anrui.base.biz.basevehinstallmodel.BaseVehinstallmodelService; +import com.yxt.anrui.base.biz.basevehmodelconfig.BaseVehmodelConfigService; import org.apache.commons.lang3.StringUtils; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; @@ -67,6 +71,10 @@ public class BaseVehinstallService extends MybatisBaseService createQueryWrapper(BaseVehinstallQuery query) { // todo: 这里根据具体业务调整查询条件 @@ -122,6 +130,10 @@ public class BaseVehinstallService extends MybatisBaseService selectListVo(String createOrgSid) { return baseMapper.selectListVo(createOrgSid); } + + public PagerVo vehInsMod(PagerQuery pq) { + BaseVehinstallQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("bv.createOrg",query.getCreateOrgSid()); + qw.eq("bvm.createOrgSid",query.getCreateOrgSid()); + if (StringUtils.isNotBlank(query.getVehicleTypeKey())){ + qw.eq("bvm.vehicleTypeKey",query.getVehicleTypeKey()); + } + if (StringUtils.isNotBlank(query.getRefitMethodKey())){ + qw.eq("bvm.refitMethodKey",query.getRefitMethodKey()); + } + if (StringUtils.isNotBlank(query.getRefitFactory())){ + qw.like("bvm.refitFactory",query.getRefitFactory()); + } + if (StringUtils.isNotBlank(query.getInstallNameKey())){ + qw.eq("bvm.installNameKey",query.getInstallNameKey()); + } + if (StringUtils.isNotBlank(query.getColorKey())){ + qw.eq("bvm.colorKey",query.getColorKey()); + } + if (StringUtils.isNotBlank(query.getPlateMaterialKey())){ + qw.eq("bvm.plateMaterialKey",query.getPlateMaterialKey()); + } + if (StringUtils.isNotBlank(query.getNoticeModel())){ + qw.like("bv.noticeModel",query.getNoticeModel()); + } + if (StringUtils.isNotBlank(query.getVinNo())){ + qw.like("bv.vinNo",query.getVinNo()); + } + if (query.getJacketSidList().size() > 0) { + qw.notIn("bv.sid", query.getJacketSidList()); + } + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + List records = pagging.getRecords(); + for (BaseVehinstallVo record : records) { + String vinNo = record.getVinNo(); + BaseVehicle baseVehicle = baseVehicleService.selVehicleByVinNoAndOrgSid(vinNo, query.getCreateOrgSid()); + String modelSid = baseVehicle.getModelSid(); + String modelConfigSid = baseVehicle.getModelConfigSid(); + BaseVehmodelVo baseVehmodelVo = baseVehmodelConfigService.selectVehPur(modelSid, modelConfigSid, query.getCreateOrgSid()); + String guidedPrice = baseVehmodelVo.getGuidedPrice(); + record.setVehGuidePrice(guidedPrice); + } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstallmodprice/BaseVehinstallModpriceMapper.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstallmodprice/BaseVehinstallModpriceMapper.java index 53d2070372..887acdfa1b 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstallmodprice/BaseVehinstallModpriceMapper.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstallmodprice/BaseVehinstallModpriceMapper.java @@ -36,6 +36,7 @@ import com.yxt.anrui.base.api.basevehinstallmodprice.BaseVehinstallModprice; import com.yxt.anrui.base.api.basevehinstallmodprice.BaseVehinstallModpriceVo; import java.util.List; +import java.util.Map; /** * Project: anrui-base(上装调价)
@@ -62,4 +63,6 @@ public interface BaseVehinstallModpriceMapper extends BaseMapper selectListVo(); + + int updateFlowFiled(Map beanToMap); } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstallmodprice/BaseVehinstallModpriceMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstallmodprice/BaseVehinstallModpriceMapper.xml index 861891c607..8b2357c792 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstallmodprice/BaseVehinstallModpriceMapper.xml +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstallmodprice/BaseVehinstallModpriceMapper.xml @@ -10,4 +10,19 @@ + + + UPDATE base_vehinstall_modprice + SET nodeState=#{nodeState}, nodeSid=#{taskDefKey} + + , procDefId=#{procDefId} + + + , procInstId=#{procInsId} + + + , taskId=#{taskId} + + WHERE sid=#{sid} + \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstallmodprice/BaseVehinstallModpriceRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstallmodprice/BaseVehinstallModpriceRest.java index a742bf23bf..ff56b72e4d 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstallmodprice/BaseVehinstallModpriceRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstallmodprice/BaseVehinstallModpriceRest.java @@ -25,6 +25,16 @@ *********************************************************/ package com.yxt.anrui.base.biz.basevehinstallmodprice; +import cn.hutool.core.bean.BeanUtil; +import com.yxt.anrui.base.api.basemodelmodprice.flow.BaseModelModPriceCompleteDto; +import com.yxt.anrui.base.api.basemodelmodprice.flow.BaseModelModPriceTaskQuery; +import com.yxt.anrui.base.api.basemodelmodprice.flow.GetNodeQuery; +import com.yxt.anrui.base.api.basemodelmodprice.flow.SubmitBaseModelModPriceDto; +import com.yxt.anrui.base.api.basevehinstallmodprice.flow.BaseVehInstallModPriceCompleteDto; +import com.yxt.anrui.base.api.basevehinstallmodprice.flow.BaseVehInstallModPriceTaskQuery; +import com.yxt.anrui.base.api.basevehinstallmodprice.flow.SubmitBaseVehInstallModPriceDto; +import com.yxt.anrui.flowable.api.utils.ProcDefEnum; +import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -92,4 +102,45 @@ public class BaseVehinstallModpriceRest implements BaseVehinstallModpriceFeign { public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){ return baseVehinstallModpriceService.fetchDetailsVoBySid(sid); } + + /************************************上装调价申请流程******************************/ + + @Override + public ResultBean submitBaseVehInstallModPrice(SubmitBaseVehInstallModPriceDto dto) { + return baseVehinstallModpriceService.submitBaseVehInstallModPrice(dto); + } + + @Override + public ResultBean complete(BaseVehInstallModPriceCompleteDto query) { + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + bv.setModelId(ProcDefEnum.BASEVEHINSTALLMODPRICE.getProDefId()); + bv.setFormVariables(BeanUtil.beanToMap(query)); + return baseVehinstallModpriceService.complete(bv); + } + + @Override + public ResultBean getNextNodesForSubmit(GetNodeQuery query) { + return baseVehinstallModpriceService.getNextNodesForSubmit(query); + } + + @Override + public ResultBean getPreviousNodesForReject(GetNodeQuery query) { + return baseVehinstallModpriceService.getPreviousNodesForReject(query); + } + + @Override + public ResultBean taskReject(BaseVehInstallModPriceTaskQuery query) { + return baseVehinstallModpriceService.taskReject(query); + } + + @Override + public ResultBean revokeProcess(BaseVehInstallModPriceTaskQuery query) { + return baseVehinstallModpriceService.revokeProcess(query); + } + + @Override + public ResultBean breakProcess(BaseVehInstallModPriceTaskQuery query) { + return baseVehinstallModpriceService.breakProcess(query); + } } diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstallmodprice/BaseVehinstallModpriceService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstallmodprice/BaseVehinstallModpriceService.java index a0cd3d59dd..9dcaa01d5b 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstallmodprice/BaseVehinstallModpriceService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstallmodprice/BaseVehinstallModpriceService.java @@ -26,11 +26,31 @@ package com.yxt.anrui.base.biz.basevehinstallmodprice; import cn.hutool.core.bean.BeanUtil; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.anrui.base.api.basemodelmodprice.BaseModelModprice; +import com.yxt.anrui.base.api.basemodelmodprice.flow.GetNodeQuery; +import com.yxt.anrui.base.api.basemodelmodprice.flow.SubmitBaseModelModPriceDto; +import com.yxt.anrui.base.api.basemodelmodpricemodel.BaseModelModpriceModelVo; +import com.yxt.anrui.base.api.basevehinstallmodprice.flow.BaseVehInstallModPriceTaskQuery; +import com.yxt.anrui.base.api.basevehinstallmodprice.flow.SubmitBaseVehInstallModPriceDto; import com.yxt.anrui.base.api.basevehinstallmodpricedetail.BaseVehinstallModpricedetailDetailsVo; import com.yxt.anrui.base.api.basevehinstallmodpricedetail.BaseVehinstallModpricedetailDto; +import com.yxt.anrui.base.api.basevehinstallmodpricedetail.BaseVehinstallModpricedetailVo; +import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelConfig; +import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeVo; import com.yxt.anrui.base.biz.basevehinstallmodpricedetail.BaseVehinstallModpricedetailService; +import com.yxt.anrui.flowable.api.flow.FlowableFeign; +import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; +import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; +import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo; +import com.yxt.anrui.flowable.api.utils.ProcDefEnum; +import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; +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 org.apache.commons.lang3.StringUtils; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; @@ -47,7 +67,12 @@ import com.yxt.anrui.base.api.basevehinstallmodprice.BaseVehinstallModpriceFeign import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.math.BigDecimal; +import java.util.ArrayList; import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.stream.Collectors; /** * Project: anrui-base(上装调价)
@@ -67,6 +92,14 @@ public class BaseVehinstallModpriceService extends MybatisBaseService createQueryWrapper(BaseVehinstallModpriceQuery query) { // todo: 这里根据具体业务调整查询条件 @@ -90,7 +123,7 @@ public class BaseVehinstallModpriceService extends MybatisBaseService saveOrUpdateDto(BaseVehinstallModpriceDto dto) { ResultBean rb = ResultBean.fireFail(); String dtoSid = dto.getSid(); List baseVehinstallModpricedetails = dto.getBaseVehinstallModpricedetails(); @@ -101,7 +134,7 @@ public class BaseVehinstallModpriceService extends MybatisBaseService insertByDto(BaseVehinstallModpriceDto dto) { ResultBean rb = ResultBean.fireFail(); BaseVehinstallModprice entity = new BaseVehinstallModprice(); BeanUtil.copyProperties(dto, entity, "id", "sid"); + entity.setNodeState("待提交"); baseMapper.insert(entity); return rb.success().setMsg("添加成功").setData(entity.getSid()); } @@ -152,4 +186,227 @@ public class BaseVehinstallModpriceService extends MybatisBaseService userVoResultBean = sysUserFeign.fetchBySid(dto.getCreateBySid()); + if (!userVoResultBean.getSuccess()) { + return rb.setMsg(userVoResultBean.getMsg()); + } + //根据staffSid获取用户的组织全路径 + ResultBean orgByStaffSid = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid()); + if (!orgByStaffSid.getSuccess()) { + return rb.setMsg(orgByStaffSid.getMsg()); + } + //用户的组织全路径 + String orgSidPath = orgByStaffSid.getData().getOrgSidPath(); + BaseVehinstallModprice baseVehinstallModprice = fetchBySid(dto.getSid()); + int r = submitBusinessData(dto, baseVehinstallModprice); + if (r == 3) { + return rb.setMsg("该申请不存在"); + } + if (r == 0) { + return rb.setMsg("操作失败!提交的数据不一致"); + } + //新增修改保存 + ResultBean resultBean = saveOrUpdateDto(dto); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + String businessSid = resultBean.getData(); + //创建BusinessVariables实体对象 + BusinessVariables bv = new BusinessVariables(); + //流程中的参数赋值 + Map variables = BeanUtil.beanToMap(dto); + //若有网关,则赋值网关中判断的字段。 + variables.put("businessSid", businessSid); + //用户的部门全路径sid + bv.setOrgSidPath(orgSidPath); + //业务sid + bv.setBusinessSid(businessSid); + //用户sid + bv.setUserSid(dto.getCreateBySid()); + bv.setFormVariables(variables); + //流程定义id + bv.setModelId(ProcDefEnum.BASEVEHINSTALLMODPRICE.getProDefId()); + if (r == 1) { + ResultBean voResultBean = flowableFeign.startProcess(bv); + UpdateFlowFieldVo ufVo = voResultBean.getData(); + updateFlowFiled(BeanUtil.beanToMap(ufVo)); + return voResultBean; + } + if (r == 2) { + // ToDo:驳回到发起人后再次提交 + if (StringUtils.isBlank(dto.getInstanceId())) { + return rb.setMsg("参数错误:instanceId"); + } + bv.setTaskId(baseVehinstallModprice.getTaskId()); + bv.setTaskDefKey(baseVehinstallModprice.getNodeSid()); + bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交"); + bv.setInstanceId(dto.getInstanceId()); + return complete(bv); + } + return rb; + } + + /** + * 判断提交的流程是否被允许 + * + * @param dto + * @return + */ + private synchronized int submitBusinessData(SubmitBaseVehInstallModPriceDto dto, BaseVehinstallModprice baseVehinstallModprice) { + int r = 0; + if (StringUtils.isBlank(dto.getSid())) { + r = 1; + } else { + if (baseVehinstallModprice != null) { + String businessTaskId = baseVehinstallModprice.getTaskId(); + if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) { + //新提交 + r = 1; + } else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) { + //二次提交//只有数据一致的时候才能进行下一步 + r = 2; + } + } else { + r = 3; + } + + } + return r; + } + + private int updateFlowFiled(Map beanToMap) { + return baseMapper.updateFlowFiled(beanToMap); + } + + public ResultBean complete(BusinessVariables bv) { + ResultBean rb = ResultBean.fireFail(); + BaseVehinstallModprice baseVehinstallModprice = fetchBySid(bv.getBusinessSid()); + List baseVehinstallModpricedetailDetailsVos = baseVehinstallModpricedetailService.fetchByMainSid(bv.getBusinessSid()); + if (bv.getTaskId().equals(baseVehinstallModprice.getTaskId())) { + ResultBean resultBean = flowableFeign.handleProsess(bv); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + //String taskDefKey = resultBean.getData().getTaskDefKey(); + updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); + /*if ("Event_end".equals(taskDefKey)) { + for (BaseVehinstallModpricedetailDetailsVo baseVehinstallModpricedetailDetailsVo : baseVehinstallModpricedetailDetailsVos) { + BigDecimal incOrDecInPrice = baseVehinstallModpricedetailDetailsVo.getIncOrDecInPrice(); + BigDecimal guidedPrice = baseVehinstallModpricedetailDetailsVo.getGuidedPrice(); + guidedPrice = guidedPrice.add(incOrDecInPrice); + String modelSid = baseVehinstallModpricedetailDetailsVo.getModelSid(); + String configSid = baseVehinstallModpricedetailDetailsVo.getConfigSid(); + String createOrgSid = baseVehinstallModpricedetailDetailsVo.getCreateOrgSid(); + BaseVehmodelConfig baseVehmodelConfig = baseVehmodelConfigMapper.selectSid(modelSid, configSid, createOrgSid); + if (baseVehmodelConfig == null) { + return rb.setMsg("车型配置不存在"); + } + baseVehmodelConfigMapper.updateGuidedPrice(guidedPrice, baseVehmodelConfig.getSid()); + } + }*/ + return rb.success().setData(resultBean.getData()); + } else { + return rb.setMsg("操作失败!提交的数据不一致"); + } + } + + public ResultBean getNextNodesForSubmit(GetNodeQuery query) { + ResultBean> rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + bv.setModelId(ProcDefEnum.BASEVEHINSTALLMODPRICE.getProDefId()); + ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo + List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); +// List voList = resultBean.getData().stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); + return rb.success().setData(voList); + } + + public ResultBean getPreviousNodesForReject(GetNodeQuery query) { + ResultBean> rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + bv.setModelId(ProcDefEnum.BASEVEHINSTALLMODPRICE.getProDefId()); + ResultBean>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo + List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); +// List voList = resultBean.getData().stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); + return rb.success().setData(voList); + } + + public ResultBean taskReject(BaseVehInstallModPriceTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + BaseVehinstallModprice baseVehinstallModprice = fetchBySid(query.getBusinessSid()); + if (baseVehinstallModprice == null) { + return rb.setMsg("该申请不存在"); + } + String businessTaskId = baseVehinstallModprice.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (businessTaskId.equals(query.getTaskId())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.taskReject(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + Map map = BeanUtil.beanToMap(resultBean.getData()); + //更新业务中的流程相关的参数 + updateFlowFiled(map); + return rb.success(); + } + } + return rb.setMsg("操作失败!提交的数据不一致!"); + } + + public ResultBean revokeProcess(BaseVehInstallModPriceTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + //根据业务sid查询调价申请 + BaseVehinstallModprice baseVehinstallModprice = fetchBySid(query.getBusinessSid()); + String businessTaskId = baseVehinstallModprice.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (businessTaskId.equals(query.getTaskId())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.revokeProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); + return rb.success().setData(resultBean.getData()); + } + } + return rb.setMsg("操作失败,提交的数据不一致!"); + } + + public ResultBean breakProcess(BaseVehInstallModPriceTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(query.getInstanceId())) { + return rb.setMsg("参数错误:instanceId"); + } + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + BaseVehinstallModprice baseVehinstallModprice = fetchBySid(query.getBusinessSid()); + String businessTaskId = baseVehinstallModprice.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (businessTaskId.equals(query.getTaskId())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); + return rb.success().setData(resultBean.getData()); + } + } + return rb.setMsg("操作失败!提交的数据不一致!"); + } } \ No newline at end of file diff --git a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java index ca79eaea5f..9d38d19749 100644 --- a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java +++ b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java @@ -28,7 +28,8 @@ public enum ProcDefEnum { FINPAYAPPLY("付款申请","process_gin2tntb:3:457508"), BUSDELIVEREDAPPLY("出库申请","process_wgt1n66l:2:357504"), BASEACCADJAPPLY("调账申请","process_r6pyzqoz:1:400012"), - BASESHUNINVOICAPPLY("调车开票申请","process_u4xrvaso:1:400008") + BASESHUNINVOICAPPLY("调车开票申请","process_u4xrvaso:1:400008"), + BASEVEHINSTALLMODPRICE("上装调价申请","process_s0a0svth:1:492508"), ; ProcDefEnum(String proDefName, String proDefId) { diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationRest.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationRest.java index 46144ea43b..00398b8882 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationRest.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationRest.java @@ -101,6 +101,7 @@ public class SysOrganizationRest implements SysOrganizationFeign { entity.setSid(sid); String zgStaffSid = dto.getZgStaffSid(); String fgStaffSid = dto.getFgStaffSid(); + sysStaffOrgService.delZGAndFGByOrgSid(sid); // sysStaffOrgService.delByOrgSid(sid);//?为啥要删掉???暂时注释 if (org.apache.commons.lang3.StringUtils.isNotBlank(zgStaffSid)) { sysOrganizationService.addSysStaffOrg(zgStaffSid, "1", entity); diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.java index 6991e1f36d..320256ba89 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.java @@ -81,4 +81,7 @@ public interface SysStaffOrgMapper extends BaseMapper { @Select("select * from sys_staff_org where staffSid=#{sid}") SysStaffOrg getOrgByStaffSid(String sid); + + @Delete("delete from sys_staff_org where orgSid=#{sid} and (manageType = 1 or manageType = 2)") + void delZGAndFGByOrgSid(String sid); } \ No newline at end of file diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java index 0b2beb84e4..b615c4612d 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java @@ -238,4 +238,8 @@ public class SysStaffOrgService extends MybatisBaseService