diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/otheroutapply/AppOtherOutApplyFeign.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/otheroutapply/AppOtherOutApplyFeign.java new file mode 100644 index 0000000000..3e086970ff --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/otheroutapply/AppOtherOutApplyFeign.java @@ -0,0 +1,67 @@ +package com.yxt.anrui.terminal.api.wms.otheroutapply; + + +import com.yxt.anrui.terminal.api.wms.otheroutapply.flowable.AppDelegateQuery; +import com.yxt.anrui.terminal.api.wms.otheroutapply.flowable.AppFlowDto; +import com.yxt.anrui.terminal.api.wms.otheroutapply.flowable.AppFlowQuery; +import com.yxt.anrui.terminal.api.wms.otheroutapply.flowable.AppFlowTaskQuery; +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 + * @Date + * @Description + */ +@Api(tags = "售后盘盈入库") +@FeignClient( + contextId = "terminal-AppOtherOutApply", + name = "anrui-terminal", + path = "v1/otheroutapply") +public interface AppOtherOutApplyFeign { + + @ApiOperation("详情") + @GetMapping("/fetchDetailsBySid/{sid}") + public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid); + + /**********************************************流程********************************************/ + + @ApiOperation("办理") + @PutMapping("/agreeCreditInfo") + @ResponseBody + ResultBean agreeCreditInfo(@RequestBody AppFlowDto dto); + + @ApiOperation("驳回") + @PutMapping("/rejectCreditInfo") + @ResponseBody + ResultBean rejectCreditInfo(@RequestBody AppFlowTaskQuery query); + + @ApiOperation("撤回") + @PutMapping("/recallCreditInfo") + @ResponseBody + ResultBean recallCreditInfo(@RequestBody AppFlowTaskQuery query); + + @ApiOperation("终止") + @PutMapping("/stopCreditInfo") + @ResponseBody + ResultBean stopCreditInfo(@RequestBody AppFlowTaskQuery query); + + @ApiOperation("获取流程操作标题") + @GetMapping("/getFlowOperateTitle") + @ResponseBody + ResultBean getFlowOperateTitle(@SpringQueryMap AppFlowQuery query); + + @ApiOperation(value = "加签") + @PutMapping(value = "/delegate") + @ResponseBody + public ResultBean delegate(@RequestBody AppDelegateQuery delegateQuery); + + @ApiOperation(value = "转办") + @PutMapping(value = "/assignTask") + @ResponseBody + public ResultBean assignTask(@RequestBody AppDelegateQuery delegateQuery); +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/otheroutapply/AppOtheroutApplyDetailsVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/otheroutapply/AppOtheroutApplyDetailsVo.java new file mode 100644 index 0000000000..65f1d360eb --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/otheroutapply/AppOtheroutApplyDetailsVo.java @@ -0,0 +1,74 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.api.wms.otheroutapply; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * Project: yxt-wms(其他出库)
+ * File: WmsOtheroutApplyVo.java
+ * Class: com.yxt.wms.api.wmsotheroutapply.WmsOtheroutApplyVo
+ * Description: 其他出库 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-10-31 12:01:51
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "其他出库 视图数据详情", description = "其他出库 视图数据详情") +public class AppOtheroutApplyDetailsVo implements Vo { + + private String sid; // sid + + @ApiModelProperty("申请部门名称") + private String deptName; + @ApiModelProperty("制单人姓名") + private String createByName; + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @ApiModelProperty("申请日期") + private Date createTime; + @ApiModelProperty("业务类型value") + private String busTypeValue; + @ApiModelProperty("备注") + private String remarks; + @ApiModelProperty("流程实例的sid") + private String procInsId; + @ApiModelProperty("任务id") + private String taskId; + @ApiModelProperty("明细") + private List otheroutDetailList; +} \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/otheroutapply/AppOtheroutDetailDetailsVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/otheroutapply/AppOtheroutDetailDetailsVo.java new file mode 100644 index 0000000000..215931421c --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/otheroutapply/AppOtheroutDetailDetailsVo.java @@ -0,0 +1,75 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.api.wms.otheroutapply; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * Project: yxt-wms(其他出库)
+ * File: WmsOtheroutDetailVo.java
+ * Class: com.yxt.wms.api.wmsotheroutdetail.WmsOtheroutDetailVo
+ * Description: 其他出库-明细 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-10-31 12:01:51
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "其他出库-明细 视图数据详情", description = "其他出库-明细 视图数据详情") +public class AppOtheroutDetailDetailsVo implements Vo { + + @ApiModelProperty("商品ID") + private String goodsID; + @ApiModelProperty("商品sku名称") + private String goodsSkuTitle; + @ApiModelProperty("图号") + private String goodsSkuCode; + @ApiModelProperty("规格") + private String goodsSkuOwnSpec; + @ApiModelProperty("单位") + private String unit; + @ApiModelProperty("仓库名称") + private String warehouseName; + @ApiModelProperty("库位编码") + private String warehouseRackCode; + @ApiModelProperty("库位编码") + private String warehouseRackName; + @ApiModelProperty("入库单价") + private BigDecimal inCost; + @ApiModelProperty("出库数量") + private BigDecimal outCount; + @ApiModelProperty("出库金额") + private BigDecimal amount; +} \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/otheroutapply/flowable/AppDelegateQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/otheroutapply/flowable/AppDelegateQuery.java new file mode 100644 index 0000000000..3fccf6a7fa --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/otheroutapply/flowable/AppDelegateQuery.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.terminal.api.wms.otheroutapply.flowable; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/9/28 10:16 + */ +@Data +public class AppDelegateQuery { + @ApiModelProperty + private String userSid; + @ApiModelProperty("流程实例id") + @JsonProperty("procInsId") + private String instanceId; + @ApiModelProperty("任务Id") + private String taskId; + @ApiModelProperty("审批人sid") + private String assignee; + @ApiModelProperty("填写意见") + private String views; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/otheroutapply/flowable/AppFlowDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/otheroutapply/flowable/AppFlowDto.java new file mode 100644 index 0000000000..79b4c9cf31 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/otheroutapply/flowable/AppFlowDto.java @@ -0,0 +1,37 @@ +package com.yxt.anrui.terminal.api.wms.otheroutapply.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/9 14:09 + * @Description + */ +@Data +public class AppFlowDto implements Dto { + private static final long serialVersionUID = 3626473483180150495L; + + @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; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/otheroutapply/flowable/AppFlowQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/otheroutapply/flowable/AppFlowQuery.java new file mode 100644 index 0000000000..0f4ab8f0da --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/otheroutapply/flowable/AppFlowQuery.java @@ -0,0 +1,28 @@ +package com.yxt.anrui.terminal.api.wms.otheroutapply.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/9 14:15 + * @Description + */ +@Data +public class AppFlowQuery implements Query { + private static final long serialVersionUID = 5514095179438249641L; + + @ApiModelProperty(value = "节点key") + private String taskDefKey; + @ApiModelProperty(value = "业务sid") + private String businessSid; + @ApiModelProperty(value = "0 上一环节 1下一环节") + @NotNull(message = "参数错误:next") + private Integer next; + + @ApiModelProperty("组织机构全路径") + private String orgPath; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/otheroutapply/flowable/AppFlowTaskQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/otheroutapply/flowable/AppFlowTaskQuery.java new file mode 100644 index 0000000000..a86bb62b74 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/otheroutapply/flowable/AppFlowTaskQuery.java @@ -0,0 +1,47 @@ +package com.yxt.anrui.terminal.api.wms.otheroutapply.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/9 14:11 + * @Description + */ +@Data +public class AppFlowTaskQuery implements Query { + private static final long serialVersionUID = -7082170710942810289L; + + /** + * 终止、驳回、撤回 + */ + @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; +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/wms/otheroutapply/AppOtherOutApplyRest.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/wms/otheroutapply/AppOtherOutApplyRest.java new file mode 100644 index 0000000000..a46a7bd1e2 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/wms/otheroutapply/AppOtherOutApplyRest.java @@ -0,0 +1,82 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.biz.wms.otheroutapply; + +import com.yxt.anrui.terminal.api.wms.otheroutapply.AppOtherOutApplyFeign; +import com.yxt.anrui.terminal.api.wms.otheroutapply.AppOtheroutApplyDetailsVo; +import com.yxt.anrui.terminal.api.wms.otheroutapply.flowable.*; +import com.yxt.common.core.result.ResultBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("v1/otheroutapply") +public class AppOtherOutApplyRest implements AppOtherOutApplyFeign { + + @Autowired + private AppOtherOutApplyService appOtherOutApplyService; + + @Override + public ResultBean fetchDetailsBySid(String sid) { + return appOtherOutApplyService.fetchDetailsBySid(sid); + } + + @Override + public ResultBean agreeCreditInfo(AppFlowDto dto) { + return appOtherOutApplyService.agreeCreditInfo(dto); + } + + @Override + public ResultBean rejectCreditInfo(AppFlowTaskQuery query) { + return appOtherOutApplyService.rejectCreditInfo(query); + } + + @Override + public ResultBean recallCreditInfo(AppFlowTaskQuery query) { + return appOtherOutApplyService.recallCreditInfo(query); + } + + @Override + public ResultBean stopCreditInfo(AppFlowTaskQuery query) { + return appOtherOutApplyService.stopCreditInfo(query); + } + + @Override + public ResultBean getFlowOperateTitle(AppFlowQuery query) { + return appOtherOutApplyService.getFlowOperateTitle(query); + } + + @Override + public ResultBean delegate(AppDelegateQuery delegateQuery) { + return appOtherOutApplyService.delegate(delegateQuery); + } + + @Override + public ResultBean assignTask(AppDelegateQuery delegateQuery) { + return appOtherOutApplyService.assignTask(delegateQuery); + } +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/wms/otheroutapply/AppOtherOutApplyService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/wms/otheroutapply/AppOtherOutApplyService.java new file mode 100644 index 0000000000..7bac7fa9da --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/wms/otheroutapply/AppOtherOutApplyService.java @@ -0,0 +1,174 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.biz.wms.otheroutapply; + +import cn.hutool.core.bean.BeanUtil; +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.wms.otheroutapply.AppOtheroutApplyDetailsVo; +import com.yxt.anrui.terminal.api.wms.otheroutapply.AppOtheroutDetailDetailsVo; +import com.yxt.anrui.terminal.api.wms.otheroutapply.flowable.*; +import com.yxt.anrui.terminal.fegin.wmsotheroutapply.WmsOtherOutApplyFeign; +import com.yxt.anrui.terminal.fegin.wmsotheroutapply.WmsOtheroutApplyDetailsVo; +import com.yxt.anrui.terminal.fegin.wmsotheroutapply.WmsOtheroutDetailDetailsVo; +import com.yxt.anrui.terminal.fegin.wmsotheroutapply.flowable.*; +import com.yxt.common.core.result.ResultBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Service +public class AppOtherOutApplyService { + + @Resource + private WmsOtherOutApplyFeign wmsOtherOutApplyFeign; + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; + @Autowired + private SysUserFeign sysUserFeign; + + public ResultBean fetchDetailsBySid(String sid) { + ResultBean rb = ResultBean.fireFail(); + WmsOtheroutApplyDetailsVo data = wmsOtherOutApplyFeign.fetchDetailsBySid(sid).getData(); + AppOtheroutApplyDetailsVo appOtheroutApplyDetailsVo = new AppOtheroutApplyDetailsVo(); + BeanUtil.copyProperties(data,appOtheroutApplyDetailsVo); + List otheroutDetailList = appOtheroutApplyDetailsVo.getOtheroutDetailList(); + for (AppOtheroutDetailDetailsVo appOtheroutDetailDetailsVo : otheroutDetailList) { + appOtheroutDetailDetailsVo.setWarehouseRackName(appOtheroutDetailDetailsVo.getWarehouseRackCode()); + appOtheroutDetailDetailsVo.setAmount(appOtheroutDetailDetailsVo.getOutCount().multiply(appOtheroutDetailDetailsVo.getInCost())); + } + return rb.success().setData(appOtheroutApplyDetailsVo); + } + + public ResultBean agreeCreditInfo(AppFlowDto dto) { + ResultBean rb = ResultBean.fireFail(); + //根据用户sid获取staffSid + ResultBean userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid()); + if (!userVoResultBean.getSuccess()) { + return rb.setMsg(userVoResultBean.getMsg()); + } + //根据staffSid获取用户的组织全路径 + ResultBean staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid()); + if (!staffOrgResultBean.getSuccess()) { + return rb.setMsg(staffOrgResultBean.getMsg()); + } + //用户的组织全路径 + String orgSidPath = staffOrgResultBean.getData().getOrgSidPath(); + CompleteOtheroutDto completeOtheroutDto = new CompleteOtheroutDto(); + BeanUtil.copyProperties(dto, completeOtheroutDto); + completeOtheroutDto.setOrgSidPath(orgSidPath); + ResultBean resultBean = wmsOtherOutApplyFeign.complete(completeOtheroutDto); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean rejectCreditInfo(AppFlowTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + OtheroutTaskQuery otheroutTaskQuery = new OtheroutTaskQuery(); + BeanUtil.copyProperties(query, otheroutTaskQuery); + ResultBean resultBean = wmsOtherOutApplyFeign.taskReject(otheroutTaskQuery); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean recallCreditInfo(AppFlowTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + OtheroutTaskQuery otheroutTaskQuery = new OtheroutTaskQuery(); + BeanUtil.copyProperties(query, otheroutTaskQuery); + ResultBean resultBean = wmsOtherOutApplyFeign.revokeProcess(otheroutTaskQuery); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean stopCreditInfo(AppFlowTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + OtheroutTaskQuery otheroutTaskQuery = new OtheroutTaskQuery(); + BeanUtil.copyProperties(query, otheroutTaskQuery); + ResultBean resultBean = wmsOtherOutApplyFeign.breakProcess(otheroutTaskQuery); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean getFlowOperateTitle(AppFlowQuery query) { + ResultBean rb = ResultBean.fireFail(); + //0 上一环节 1下一环节 + int next = query.getNext(); + OtheroutNodeQuery getNodeQuery = new OtheroutNodeQuery(); + BeanUtil.copyProperties(query, getNodeQuery); + String data = ""; + if (next == 0) { + ResultBean> getPreviousNodesForReject = wmsOtherOutApplyFeign.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> getNextNodesForSubmit = wmsOtherOutApplyFeign.getNextNodesForSubmit(getNodeQuery); + if (getNextNodesForSubmit.getSuccess()) { + getNextNodesForSubmit.getData().removeAll(Collections.singleton(null)); + data = getNextNodesForSubmit.getData().get(0).getName(); + } else { + return rb.setMsg(getNextNodesForSubmit.getMsg()); + } + } else { + return rb.setMsg("参数错误:next"); + } + return rb.success().setData(data); + } + + public ResultBean delegate(AppDelegateQuery delegateQuery) { + ResultBean rb = ResultBean.fireFail(); + OtheroutDelegateQuery delegateQuery1 = new + OtheroutDelegateQuery(); + BeanUtil.copyProperties(delegateQuery, delegateQuery1); + wmsOtherOutApplyFeign.delegate(delegateQuery1); + return rb.success(); + } + + public ResultBean assignTask(AppDelegateQuery delegateQuery) { + ResultBean rb = ResultBean.fireFail(); + OtheroutDelegateQuery delegateQuery1 = new + OtheroutDelegateQuery(); + BeanUtil.copyProperties(delegateQuery, delegateQuery1); + wmsOtherOutApplyFeign.assignTask(delegateQuery1); + return rb.success(); + } +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsotheroutapply/WmsOtherOutApplyFeign.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsotheroutapply/WmsOtherOutApplyFeign.java new file mode 100644 index 0000000000..283dfd10f4 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsotheroutapply/WmsOtherOutApplyFeign.java @@ -0,0 +1,64 @@ +package com.yxt.anrui.terminal.fegin.wmsotheroutapply; + +import com.yxt.anrui.terminal.fegin.wmsinventoryprofitin.WmsInventoryProfitinDetailsVo; +import com.yxt.anrui.terminal.fegin.wmsinventoryprofitin.flowable.*; +import com.yxt.anrui.terminal.fegin.wmsotheroutapply.flowable.*; +import com.yxt.anrui.terminal.fegin.wmswarehouserack.WmsHouseInfoVo; +import com.yxt.common.core.result.ResultBean; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.cloud.openfeign.SpringQueryMap; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +/** + * @Author + * @Date + * @Description + */ +@FeignClient( + contextId = "terminal-WmsOtherOutApply", + name = "yxt-wms", + path = "v1/wmsotheroutapply") +public interface WmsOtherOutApplyFeign { + + @ApiOperation("详情") + @GetMapping("/fetchDetailsBySid/{sid}") + public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid); + + @ApiOperation(value = "办理(同意)") + @PostMapping("/complete") + public ResultBean complete(@Valid @RequestBody CompleteOtheroutDto query); + + @ApiOperation(value = "获取上一个环节") + @GetMapping(value = "/getPreviousNodesForReject") + ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap OtheroutNodeQuery query); + + @ApiOperation(value = "获取下一个环节") + @GetMapping(value = "/getNextNodesForSubmit") + ResultBean> getNextNodesForSubmit(@Valid @SpringQueryMap OtheroutNodeQuery query); + + @ApiOperation(value = "驳回任务") + @PostMapping(value = "/reject") + public ResultBean taskReject(@Valid @RequestBody OtheroutTaskQuery query); + + @ApiOperation(value = "撤回流程") + @PostMapping(value = "/revokeProcess") + public ResultBean revokeProcess(@Valid @RequestBody OtheroutTaskQuery query); + + @ApiOperation(value = "终止任务") + @PostMapping(value = "/breakProcess") + public ResultBean breakProcess(@Valid @RequestBody OtheroutTaskQuery query); + + @ApiOperation(value = "加签") + @PostMapping(value = "/delegate") + @ResponseBody + public ResultBean delegate(@RequestBody OtheroutDelegateQuery query); + + @ApiOperation(value = "转办") + @PutMapping(value = "/assignTask") + @ResponseBody + public ResultBean assignTask(@RequestBody OtheroutDelegateQuery query); +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsotheroutapply/WmsOtheroutApplyDetailsVo.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsotheroutapply/WmsOtheroutApplyDetailsVo.java new file mode 100644 index 0000000000..68270ef759 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsotheroutapply/WmsOtheroutApplyDetailsVo.java @@ -0,0 +1,95 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.fegin.wmsotheroutapply; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * Project: yxt-wms(其他出库)
+ * File: WmsOtheroutApplyVo.java
+ * Class: com.yxt.wms.api.wmsotheroutapply.WmsOtheroutApplyVo
+ * Description: 其他出库 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-10-31 12:01:51
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "其他出库 视图数据详情", description = "其他出库 视图数据详情") +public class WmsOtheroutApplyDetailsVo implements Vo { + + private String sid; // sid + + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @ApiModelProperty("申请日期") + private Date createTime; + @ApiModelProperty("备注") + private String remarks; + @ApiModelProperty("制单人sid") + private String createBySid; + @ApiModelProperty("制单人姓名") + private String createByName; // 制单人姓名 + @ApiModelProperty("申请部门sid") + private String deptSid; // 申请部门sid + @ApiModelProperty("申请部门名称") + private String deptName; // 申请部门名称 + @ApiModelProperty("业务类型key") + private String busTypeKey; // 业务类型key + @ApiModelProperty("业务类型value") + private String busTypeValue; // 业务类型value + @ApiModelProperty("单据编号") + private String billNo; // 单据编号 + @ApiModelProperty("流程定义的id") + private String procDefId; // 流程定义的id + @ApiModelProperty("环节定义的sid") + private String nodeId; // 环节定义的sid + @ApiModelProperty("流程实例的sid") + private String procInstId; // 流程实例的sid + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 + @ApiModelProperty("任务id") + private String taskId; // 任务id + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @ApiModelProperty("办结时间") + private Date finishTime; // 办结时间 + @ApiModelProperty("创建组织sid") + private String createOrgSid; // 创建组织sid + @ApiModelProperty("创建组织名称") + private String createOrgName; // 创建组织名称 + @ApiModelProperty("明细") + private List otheroutDetailList; +} \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsotheroutapply/WmsOtheroutDetailDetailsVo.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsotheroutapply/WmsOtheroutDetailDetailsVo.java new file mode 100644 index 0000000000..60680c1e86 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsotheroutapply/WmsOtheroutDetailDetailsVo.java @@ -0,0 +1,89 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.fegin.wmsotheroutapply; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * Project: yxt-wms(其他出库)
+ * File: WmsOtheroutDetailVo.java
+ * Class: com.yxt.wms.api.wmsotheroutdetail.WmsOtheroutDetailVo
+ * Description: 其他出库-明细 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-10-31 12:01:51
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "其他出库-明细 视图数据详情", description = "其他出库-明细 视图数据详情") +public class WmsOtheroutDetailDetailsVo implements Vo { + + private String sid; // sid + + @ApiModelProperty("主表sid") + private String mainSid; // 主表sid + @ApiModelProperty("商品ID") + private String goodsID; // 商品ID + @ApiModelProperty("商品spuSid") + private String goodsSpuSid; // 商品spuSid + @ApiModelProperty("商品spu名称") + private String goodsSpuName; // 商品spu名称 + @ApiModelProperty("商品skuSid") + private String goodsSkuSid; // 商品skuSid + @ApiModelProperty("商品sku名称") + private String goodsSkuTitle; // 商品sku名称 + @ApiModelProperty("图号") + private String goodsSkuCode; // 图号 + @ApiModelProperty("规格") + private String goodsSkuOwnSpec; // 规格 + @ApiModelProperty("厂家sid") + private String manufacturerSid; // 厂家sid + @ApiModelProperty("厂家名称") + private String manufacturerName; // 厂家名称 + @ApiModelProperty("单位") + private String unit; // 单位 + @ApiModelProperty("仓库sid") + private String warehouseSid; // 仓库sid + @ApiModelProperty("仓库名称") + private String warehouseName; // 仓库名称 + @ApiModelProperty("库位sid") + private String warehouseRackSid; // 库位sid + @ApiModelProperty("库位编码") + private String warehouseRackCode; + @ApiModelProperty("入库单价") + private BigDecimal inCost; // 入库单价 + @ApiModelProperty("出库数量") + private BigDecimal outCount; // 出库数量 +} \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsotheroutapply/flowable/CompleteOtheroutDto.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsotheroutapply/flowable/CompleteOtheroutDto.java new file mode 100644 index 0000000000..911ed6544d --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsotheroutapply/flowable/CompleteOtheroutDto.java @@ -0,0 +1,35 @@ +package com.yxt.anrui.terminal.fegin.wmsotheroutapply.flowable; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/5/11 + **/ +@Data +public class CompleteOtheroutDto { + + @ApiModelProperty(value = "用户sid") + @NotBlank(message = "参数错误:userSid") + private String userSid; + @ApiModelProperty(value = "用户全路径sid") + 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 = "意见") + private String comment; + @ApiModelProperty(value = "业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsotheroutapply/flowable/OtheroutDelegateQuery.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsotheroutapply/flowable/OtheroutDelegateQuery.java new file mode 100644 index 0000000000..8e84daf753 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsotheroutapply/flowable/OtheroutDelegateQuery.java @@ -0,0 +1,23 @@ +package com.yxt.anrui.terminal.fegin.wmsotheroutapply.flowable; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/5/11 + **/ +@Data +public class OtheroutDelegateQuery { + + private String userSid; + @ApiModelProperty("流程实例id") + private String instanceId; + @ApiModelProperty("任务Id") + private String taskId; + @ApiModelProperty("审批人sid") + private String assignee; + @ApiModelProperty("填写意见") + private String views; +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsotheroutapply/flowable/OtheroutNodeQuery.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsotheroutapply/flowable/OtheroutNodeQuery.java new file mode 100644 index 0000000000..e3999a039e --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsotheroutapply/flowable/OtheroutNodeQuery.java @@ -0,0 +1,18 @@ +package com.yxt.anrui.terminal.fegin.wmsotheroutapply.flowable; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/5/11 + **/ +@Data +public class OtheroutNodeQuery { + + @ApiModelProperty(value = "环节定义id") + private String taskDefKey; + @ApiModelProperty(value = "业务sid") + private String businessSid; +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsotheroutapply/flowable/OtheroutNodeVo.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsotheroutapply/flowable/OtheroutNodeVo.java new file mode 100644 index 0000000000..ba34f03f47 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsotheroutapply/flowable/OtheroutNodeVo.java @@ -0,0 +1,24 @@ +package com.yxt.anrui.terminal.fegin.wmsotheroutapply.flowable; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/5/11 + **/ +@Data +public class OtheroutNodeVo { + + @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-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsotheroutapply/flowable/OtheroutTaskQuery.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsotheroutapply/flowable/OtheroutTaskQuery.java new file mode 100644 index 0000000000..a3e3b2fef0 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsotheroutapply/flowable/OtheroutTaskQuery.java @@ -0,0 +1,43 @@ +package com.yxt.anrui.terminal.fegin.wmsotheroutapply.flowable; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/5/11 + **/ +@Data +public class OtheroutTaskQuery { + + /** + * 终止、驳回、撤回 + */ + @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/yxt-as/src/main/java/com/yxt/anrui/as/biz/asstandrecordapply/AsStandRecordApplyService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asstandrecordapply/AsStandRecordApplyService.java index cc6d0fab65..5ecfbe0176 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asstandrecordapply/AsStandRecordApplyService.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asstandrecordapply/AsStandRecordApplyService.java @@ -392,7 +392,7 @@ public class AsStandRecordApplyService extends MybatisBaseService