diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/flow/FlowableService.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/flow/FlowableService.java index 4fdcd568f7..d7ac6c25f0 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/flow/FlowableService.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/flow/FlowableService.java @@ -574,6 +574,8 @@ public class FlowableService extends MybatisBaseService appMap = ConstantUtils.getMap(flowMap, "app"); if("process_161otrwo:2:5642504".equals(f.getProcDefId())){ appMap.put("type",2); + }else if ("process_161otrwo:3:7192504".equals(f.getProcDefId())){ + appMap.put("type",2); } String json = JSONObject.toJSONString(appMap); System.out.println(json); @@ -721,6 +723,8 @@ public class FlowableService extends MybatisBaseService appMap = ConstantUtils.getMap(flowMap, "app"); if("process_161otrwo:2:5642504".equals(proDefId)){ appMap.put("type",2); + }else if ("process_161otrwo:3:7192504".equals(proDefId)){ + appMap.put("type",2); } String json = JSONObject.toJSONString(appMap); AppVo appVo = new AppVo(); diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereveh/LoanBePadsincereVehDetailsVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereveh/LoanBePadsincereVehDetailsVo.java index 3138838140..1658dacc23 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereveh/LoanBePadsincereVehDetailsVo.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereveh/LoanBePadsincereVehDetailsVo.java @@ -49,6 +49,7 @@ import lombok.Data; @ApiModel(value = "逾期垫款车辆 视图数据详情", description = "逾期垫款车辆 视图数据详情") public class LoanBePadsincereVehDetailsVo implements Vo { + private String sid; @ApiModelProperty("车架号") private String vinNo; // 车架号 @ApiModelProperty("贷款合同编号") diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java index 28af9b3a11..83087abe52 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java @@ -988,7 +988,7 @@ public class LoanBePadsincereApplyService extends MybatisBaseService selByMainSid(String sid); - @Update("update loan_be_padsincere_veh set paySid = #{paySid} where mainSid = #{mainSid}") - void updatePaySid(@Param("paySid") String paySid, @Param("mainSid") String mainSid); + @Update("update loan_be_padsincere_veh set paySid = #{paySid} where sid = #{sid}") + void updatePaySid(@Param("paySid") String paySid, @Param("sid") String sid); List selByMainSidAndPaySid(@Param("sid") String sid, @Param("paySid") String paySid); diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehService.java index 4dde669b35..82ebf4e2ef 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehService.java @@ -103,8 +103,8 @@ public class LoanBePadsincereVehService extends MybatisBaseService selByMainSidAndPaySid(String sid, String paySid) { diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsOtheroutApplyRest.java b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsOtheroutApplyRest.java new file mode 100644 index 0000000000..11f103ac6a --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsOtheroutApplyRest.java @@ -0,0 +1,134 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.apiadmin.inventroy; + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.wms.biz.inventory.wmsinventoryprofitout.flowable.*; +import com.yxt.wms.biz.inventory.wmsotheroutapply.*; +import com.yxt.wms.biz.inventory.wmsotheroutapply.flowable.*; +import com.yxt.wms.feign.flowable.flow.BusinessVariables; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cloud.openfeign.SpringQueryMap; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +@Api(tags = "其他出库") +@RestController +@RequestMapping("v1/wmsotheroutapply") +public class WmsOtheroutApplyRest { + + @Autowired + private WmsOtheroutApplyService wmsOtheroutApplyService; + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq){ + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = wmsOtheroutApplyService.listPageVo(pq); + return rb.success().setData(pv); + } + + @ApiOperation("新增或修改") + @PostMapping("/save") + public ResultBean save(@RequestBody WmsOtheroutApplyDto dto){ + ResultBean rb = ResultBean.fireFail(); + wmsOtheroutApplyService.saveOrUpdateDto(dto); + return rb.success(); + } + + @ApiOperation("根据sid批量删除") + @DeleteMapping("/delBySids") + public ResultBean delBySids(@RequestBody String[] sids){ + return wmsOtheroutApplyService.delAll(sids); + } + + @ApiOperation("根据SID获取一条记录") + @GetMapping("/fetchDetailsBySid/{sid}") + public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){ + ResultBean rb = ResultBean.fireFail(); + WmsOtheroutApplyDetailsVo vo = wmsOtheroutApplyService.fetchDetailsVoBySid(sid); + return rb.success().setData(vo); + } + + @ApiOperation("提交") + @PostMapping("/submitApply") + public ResultBean submitApply(@Valid @RequestBody SubmitOtheroutDto dto) { + return wmsOtheroutApplyService.submitApply(dto); + } + + @ApiOperation(value = "办理(同意)") + @PostMapping("/complete") + public ResultBean complete(@Valid @RequestBody CompleteOtheroutDto query) { + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + bv.setModelId(""); + return wmsOtheroutApplyService.complete(bv); + } + + @ApiOperation(value = "获取上一个环节") + @GetMapping(value = "/getPreviousNodesForReject") + ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap OtheroutNodeQuery query) { + return wmsOtheroutApplyService.getPreviousNodesForReject(query); + } + + @ApiOperation(value = "获取下一个环节") + @GetMapping(value = "/getNextNodesForSubmit") + ResultBean> getNextNodesForSubmit(@Valid @SpringQueryMap OtheroutNodeQuery query) { + return wmsOtheroutApplyService.getNextNodesForSubmit(query); + } + + @ApiOperation(value = "驳回任务") + @PostMapping(value = "/reject") + public ResultBean taskReject(@Valid @RequestBody OtheroutTaskQuery query) { + return wmsOtheroutApplyService.taskReject(query); + } + + @ApiOperation(value = "撤回流程") + @PostMapping(value = "/revokeProcess") + public ResultBean revokeProcess(@Valid @RequestBody OtheroutTaskQuery query) { + return wmsOtheroutApplyService.revokeProcess(query); + } + + @ApiOperation(value = "终止任务") + @PostMapping(value = "/breakProcess") + public ResultBean breakProcess(@Valid @RequestBody OtheroutTaskQuery query) { + return wmsOtheroutApplyService.breakProcess(query); + } + + @ApiOperation(value = "加签") + @PostMapping(value = "/delegate") + @ResponseBody + public ResultBean delegate(@RequestBody OtheroutDelegateQuery query) { + return wmsOtheroutApplyService.delegate(query); + } +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/WmsOtheroutApply.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/WmsOtheroutApply.java new file mode 100644 index 0000000000..6290fb1cae --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/WmsOtheroutApply.java @@ -0,0 +1,85 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsotheroutapply; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import java.util.Date; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-wms(其他出库)
+ * File: WmsOtheroutApply.java
+ * Class: com.yxt.wms.api.wmsotheroutapply.WmsOtheroutApply
+ * 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 = "其他出库") +@TableName("wms_otherout_apply") +public class WmsOtheroutApply extends BaseEntity { + private static final long serialVersionUID = 1L; + + @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 HH:mm:ss",timezone = "GMT+8") + @ApiModelProperty("办结时间") + private Date finishTime; // 办结时间 + @ApiModelProperty("创建组织sid") + private String createOrgSid; // 创建组织sid + @ApiModelProperty("创建组织名称") + private String createOrgName; // 创建组织名称 + +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/WmsOtheroutApplyDetailsVo.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/WmsOtheroutApplyDetailsVo.java new file mode 100644 index 0000000000..33caf79941 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/WmsOtheroutApplyDetailsVo.java @@ -0,0 +1,98 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsotheroutapply; + + +import com.yxt.common.core.vo.Vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import java.util.Date; +import java.util.List; + +import com.yxt.wms.biz.inventory.wmsotheroutdetail.WmsOtheroutDetailDetailsVo; +import com.yxt.wms.biz.inventory.wmsotheroutdetail.WmsOtheroutDetailDto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 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/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/WmsOtheroutApplyDto.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/WmsOtheroutApplyDto.java new file mode 100644 index 0000000000..86486e991d --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/WmsOtheroutApplyDto.java @@ -0,0 +1,94 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsotheroutapply; + + +import com.yxt.common.core.dto.Dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import java.util.Date; +import java.util.List; + +import com.yxt.wms.biz.inventory.wmsotheroutdetail.WmsOtheroutDetailDto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-wms(其他出库)
+ * File: WmsOtheroutApplyDto.java
+ * Class: com.yxt.wms.api.wmsotheroutapply.WmsOtheroutApplyDto
+ * 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 WmsOtheroutApplyDto implements Dto { + + private String sid; // sid + + @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 HH:mm:ss",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/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/WmsOtheroutApplyMapper.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/WmsOtheroutApplyMapper.java new file mode 100644 index 0000000000..b086ca69df --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/WmsOtheroutApplyMapper.java @@ -0,0 +1,47 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsotheroutapply; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Map; + +@Mapper +public interface WmsOtheroutApplyMapper extends BaseMapper { + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + String selectNum(String billNo); + + int selectBySid(String join); + + int updateFlowFiled(Map beanToMap); +} \ No newline at end of file diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/WmsOtheroutApplyMapper.xml b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/WmsOtheroutApplyMapper.xml new file mode 100644 index 0000000000..76bff78914 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/WmsOtheroutApplyMapper.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + UPDATE wms_otherout_apply + SET nodeState=#{nodeState}, nodeId=#{taskDefKey} + + , finishTime = NOW() + + + , procDefId=#{procDefId} + + + , procInstId=#{procInsId} + + + , taskId=#{taskId} + + WHERE sid=#{sid} + + \ No newline at end of file diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/WmsOtheroutApplyQuery.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/WmsOtheroutApplyQuery.java new file mode 100644 index 0000000000..0b5022a007 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/WmsOtheroutApplyQuery.java @@ -0,0 +1,76 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsotheroutapply; + + +import com.yxt.common.core.query.Query; + +import com.fasterxml.jackson.annotation.JsonFormat; +import java.util.Date; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-wms(其他出库)
+ * File: WmsOtheroutApplyQuery.java
+ * Class: com.yxt.wms.api.wmsotheroutapply.WmsOtheroutApplyQuery
+ * Description: 其他出库 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-10-31 11:24:37
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "其他出库 查询条件", description = "其他出库 查询条件") +public class WmsOtheroutApplyQuery implements Query { + + + @ApiModelProperty("申请部门名称") + private String deptName; + @ApiModelProperty("申请人") + private String createByName; + @ApiModelProperty("单据编号") + private String billNo; + @ApiModelProperty("业务类型key") + private String busTypeKey; + @ApiModelProperty("生成开始日期") + private String createStartTime; + @ApiModelProperty("生成结束日期") + private String createEndTime; + @ApiModelProperty("办结开始日期") + private String finishStartTime; + @ApiModelProperty("办结结束日期") + private String finishEndTime; + + private String userSid; + private String orgPath; + private String menuUrl; + private String menuSid; +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/WmsOtheroutApplyService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/WmsOtheroutApplyService.java new file mode 100644 index 0000000000..3f6c7884eb --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/WmsOtheroutApplyService.java @@ -0,0 +1,577 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsotheroutapply; + +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; +import com.google.common.util.concurrent.ThreadFactoryBuilder; +import com.yxt.wms.biz.inventory.wmsinventoryprofitout.WmsInventoryProfitout; +import com.yxt.wms.biz.inventory.wmsinventoryprofitout.flowable.*; +import com.yxt.wms.biz.inventory.wmsotheroutapply.flowable.*; +import com.yxt.wms.biz.inventory.wmsotheroutdetail.WmsOtheroutDetailDetailsVo; +import com.yxt.wms.biz.inventory.wmsotheroutdetail.WmsOtheroutDetailDto; +import com.yxt.wms.biz.inventory.wmsotheroutdetail.WmsOtheroutDetailService; +import com.yxt.wms.feign.flowable.flow.BusinessVariables; +import com.yxt.wms.feign.flowable.flow.FlowableFeign; +import com.yxt.wms.feign.flowable.flow.ProcDefEnum; +import com.yxt.wms.feign.flowable.flow.UpdateFlowFieldVo; +import com.yxt.wms.feign.flowable.flow2.FlowDelegateQuery; +import com.yxt.wms.feign.flowable.flow2.FlowFeign; +import com.yxt.wms.feign.flowable.flowtask.FlowTaskFeign; +import com.yxt.wms.feign.flowable.flowtask.FlowTaskVo; +import com.yxt.wms.feign.flowable.flowtask.LatestTaskVo; +import com.yxt.wms.feign.message.MessageFeign; +import com.yxt.wms.feign.message.MessageFlowVo; +import com.yxt.wms.feign.message.MessageFlowableQuery; +import com.yxt.wms.feign.portal.privilege.PrivilegeQuery; +import com.yxt.wms.feign.portal.sysorganization.SysOrganizationFeign; +import com.yxt.wms.feign.portal.sysorganization.SysOrganizationVo; +import com.yxt.wms.feign.portal.sysstafforg.SysStaffOrgFeign; +import com.yxt.wms.feign.portal.sysuser.SysUserFeign; +import com.yxt.wms.feign.portal.sysuserrole.SysUserRoleFeign; +import com.yxt.wms.utils.Rule; +import org.apache.commons.lang3.StringUtils; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; + +import org.apache.tomcat.util.threads.ThreadPoolExecutor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.concurrent.*; +import java.util.stream.Collectors; + +@Service +public class WmsOtheroutApplyService extends MybatisBaseService { + + @Autowired + private SysOrganizationFeign sysOrganizationFeign; + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; + @Autowired + private SysUserFeign sysUserFeign; + @Autowired + private FlowableFeign flowableFeign; + @Autowired + private FlowTaskFeign flowTaskFeign; + @Autowired + private FlowFeign flowFeign; + @Autowired + private MessageFeign messageFeign; + @Autowired + private WmsOtheroutDetailService wmsOtheroutDetailService; + @Autowired + private SysUserRoleFeign sysUserRoleFeign; + + public PagerVo listPageVo(PagerQuery pq) { + WmsOtheroutApplyQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + //========================================数据授权开始 + if (StringUtils.isNotBlank(query.getMenuUrl()) || StringUtils.isNotBlank(query.getMenuSid())) { + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(query.getOrgPath()); + privilegeQuery.setMenuUrl(query.getMenuUrl()); + privilegeQuery.setMenuSid(query.getMenuSid()); + privilegeQuery.setUserSid(query.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = query.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("s.orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("s.orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("s.orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("s.orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("wo.createBySid", query.getUserSid()); + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } + if (StringUtils.isNotBlank(query.getDeptName())) { + qw.like("wo.deptName", query.getDeptName()); + } + if (StringUtils.isNotBlank(query.getBillNo())) { + qw.like("wo.billNo", query.getBillNo()); + } + if (StringUtils.isNotBlank(query.getCreateByName())) { + qw.like("wo.createByName", query.getCreateByName()); + } + if (StringUtils.isNotBlank(query.getBusTypeKey())) { + qw.like("wo.busTypeKey", query.getBusTypeKey()); + } + String createStartTime = query.getCreateStartTime(); + String createEndTime = query.getCreateEndTime(); + qw.apply(StringUtils.isNotEmpty(createStartTime), "date_format (wo.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). + apply(StringUtils.isNotEmpty(createEndTime), "date_format (wo.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" + ); + String finishTimeStart = query.getFinishStartTime(); + String finishTimeEnd = query.getFinishEndTime(); + qw.apply(StringUtils.isNotEmpty(finishTimeStart), "date_format (wo.finishTime,'%Y-%m-%d') >= date_format('" + finishTimeStart + "','%Y-%m-%d')"). + apply(StringUtils.isNotEmpty(finishTimeEnd), "date_format (wo.finishTime,'%Y-%m-%d') <= date_format('" + finishTimeEnd + "','%Y-%m-%d')" + ); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public String saveOrUpdateDto(WmsOtheroutApplyDto dto){ + String dtoSid = dto.getSid(); + List otheroutDetailList = dto.getOtheroutDetailList(); + SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(dto.getDeptSid()).getData(); + String createOrgSid = sysStaffOrgFeign.getOrgSidByPath(deptVo.getOrgSidPath()).getData(); + SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(createOrgSid).getData(); + dto.setCreateOrgSid(createOrgSid); + dto.setCreateOrgName(organizationVo.getName()); + if (StringUtils.isBlank(dtoSid)) { + //生成单据编号 + String billNo = ""; + String date = DateUtil.format(DateUtil.date(), "yyyyMM"); + billNo = "QTCK" + organizationVo.getOrgCode() + date; + String i = baseMapper.selectNum(billNo); + if (StringUtils.isNotBlank(i)) { + billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue()); + } else { + billNo = Rule.getBillNo(billNo, 0); + } + dto.setBillNo(billNo); + String sid = this.insertByDto(dto); + for (WmsOtheroutDetailDto wmsOtheroutDetailDto : otheroutDetailList) { + wmsOtheroutDetailDto.setMainSid(sid); + wmsOtheroutDetailService.insertByDto(wmsOtheroutDetailDto); + } + return sid; + } + this.updateByDto(dto); + wmsOtheroutDetailService.delByMainSid(dtoSid); + for (WmsOtheroutDetailDto wmsOtheroutDetailDto : otheroutDetailList) { + wmsOtheroutDetailDto.setMainSid(dtoSid); + wmsOtheroutDetailService.insertByDto(wmsOtheroutDetailDto); + } + return dtoSid; + } + + public String insertByDto(WmsOtheroutApplyDto dto){ + WmsOtheroutApply entity = new WmsOtheroutApply(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + entity.setNodeState("待提交"); + baseMapper.insert(entity); + return entity.getSid(); + } + + public void updateByDto(WmsOtheroutApplyDto dto){ + String dtoSid = dto.getSid(); + if (StringUtils.isBlank(dtoSid)) { + return; + } + WmsOtheroutApply entity = fetchBySid(dtoSid); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.updateById(entity); + } + + public WmsOtheroutApplyDetailsVo fetchDetailsVoBySid(String sid){ + WmsOtheroutApply entity = fetchBySid(sid); + WmsOtheroutApplyDetailsVo vo = new WmsOtheroutApplyDetailsVo(); + BeanUtil.copyProperties(entity, vo); + List wmsOtheroutDetailDetailsVos = wmsOtheroutDetailService.selByMainSid(sid); + vo.setOtheroutDetailList(wmsOtheroutDetailDetailsVos); + return vo; + } + + public ResultBean delAll(String[] sids) { + ResultBean rb = ResultBean.fireFail(); + //查询该sid中是否有流程不是待提交的 + int count = baseMapper.selectBySid(StringUtils.join(sids, ",")); + if (count > 0) { + return rb.setMsg("删除的数据中包含已提交或已办结审批的数据,删除失败"); + } + delBySids(sids); + for (String sid : sids) { + wmsOtheroutDetailService.delByMainSid(sid); + } + return rb.success(); + } + + public ResultBean submitApply(SubmitOtheroutDto dto) { + ResultBean rb = ResultBean.fireFail(); + WmsOtheroutApply wmsOtheroutApply = fetchBySid(dto.getSid()); + int r = submitBusinessData(dto, wmsOtheroutApply); + if (r == 3) { + return rb.setMsg("该申请不存在"); + } + if (r == 0) { + return rb.setMsg("操作失败!提交的数据不一致"); + } + String businessSid = saveOrUpdateDto(dto); + wmsOtheroutApply = fetchBySid(businessSid); + //创建BusinessVariables实体对象 + BusinessVariables bv = new BusinessVariables(); + //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 + Map variables = new HashMap<>(); + Map appMap = new HashMap<>(); + appMap.put("sid", businessSid); + variables.put("app", appMap); + //判断发起人是否为配件主管 + String createBySid = wmsOtheroutApply.getCreateBySid(); + List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData(); + variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777")); + //用户的部门全路径sid + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(wmsOtheroutApply.getDeptSid()).getData(); + if (sysOrganization != null) { + bv.setOrgSidPath(sysOrganization.getOrgSidPath()); + } + bv.setBusinessSid(businessSid); + bv.setUserSid(dto.getCreateBySid()); + bv.setFormVariables(variables); + if (r == 1) { + //ToDo:流程定义id + bv.setModelId(ProcDefEnum.WMSINVENTORYPROFITOUT.getProDefId()); + ResultBean voResultBean = flowFeign.startProcess(bv); + if (!voResultBean.getSuccess()) { + return rb.setMsg(voResultBean.getMsg()); + } + UpdateFlowFieldVo ufVo = voResultBean.getData(); + updateFlowFiled(BeanUtil.beanToMap(ufVo)); + wmsOtheroutApply = fetchBySid(businessSid); + //==================================添加线程 + try { + ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() + .setNameFormat("demo-pool-%d").build(); + ExecutorService pool = new ThreadPoolExecutor(2, 100, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + WmsOtheroutApply finalWmsOtheroutApply = wmsOtheroutApply; + Future future1 = pool.submit(() -> { + //极光推送 + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("其他出库"); + messageFlowableQuery.setMsgContent(finalWmsOtheroutApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + messageFlowableQuery.setMsgTitle("其他出库"); + ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); + }); + } catch (Exception e) { + e.printStackTrace(); + } + //==================================添加线程 + return voResultBean; + } + if (r == 2) { + // ToDo:驳回到发起人后再次提交 + if (StringUtils.isBlank(dto.getInstanceId())) { + return rb.setMsg("参数错误:instanceId"); + } + bv.setTaskId(wmsOtheroutApply.getTaskId()); + bv.setTaskDefKey(wmsOtheroutApply.getNodeId()); + bv.setComment("重新提交"); + bv.setInstanceId(dto.getInstanceId()); + return complete(bv); + } + return rb; + } + + private int updateFlowFiled(Map beanToMap) { + return baseMapper.updateFlowFiled(beanToMap); + } + + + private int submitBusinessData(SubmitOtheroutDto dto, WmsOtheroutApply wmsOtheroutApply) { + int r = 0; + if (StringUtils.isBlank(dto.getSid())) { + r = 1; + } else { + if (wmsOtheroutApply != null) { + String businessTaskId = wmsOtheroutApply.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; + } + + public ResultBean complete(BusinessVariables bv) { + ResultBean rb = ResultBean.fireFail(); + String businessSid = bv.getBusinessSid(); + WmsOtheroutApply wmsOtheroutApply = fetchBySid(businessSid); + Map variables = new HashMap<>(); + //判断发起人是否为配件主管 + String createBySid = wmsOtheroutApply.getCreateBySid(); + List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData(); + variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777")); + Map appMap = new HashMap<>(); + appMap.put("sid", businessSid); + variables.put("app", appMap); + bv.setFormVariables(variables); + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(wmsOtheroutApply.getDeptSid()).getData(); + if (sysOrganization != null) { + bv.setOrgSidPath(sysOrganization.getOrgSidPath()); + } + bv.setModelId(wmsOtheroutApply.getProcDefId()); + if (bv.getTaskId().equals(wmsOtheroutApply.getTaskId())) { + ResultBean resultBean = flowFeign.handleProsess(bv); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + UpdateFlowFieldVo ufVo = resultBean.getData(); + updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); + if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { + + } else { + //极光推送 + wmsOtheroutApply = fetchBySid(businessSid); + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + messageFlowVo.setProcDefId(wmsOtheroutApply.getProcDefId()); + messageFlowVo.setProcInsId(wmsOtheroutApply.getProcInstId()); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("其他出库"); + messageFlowableQuery.setMsgContent(wmsOtheroutApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + messageFlowableQuery.setMsgTitle("其他出库"); + ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); + } + return rb.success().setData(resultBean.getData()); + } else { + return rb.setMsg("操作失败!提交的数据不一致"); + } + } + + public ResultBean> getPreviousNodesForReject(OtheroutNodeQuery query) { + ResultBean> rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 + Map variables = new HashMap<>(); + //查询业务信息 + WmsOtheroutApply wmsOtheroutApply = fetchBySid(query.getBusinessSid()); + //判断发起人是否为配件主管 + String createBySid = wmsOtheroutApply.getCreateBySid(); + List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData(); + variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777")); + bv.setModelId(wmsOtheroutApply.getProcDefId()); + bv.setFormVariables(variables); + //======================================= + ResultBean>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给TemplateApplyNodeVo + List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), OtheroutNodeVo.class)).collect(Collectors.toList()); + return rb.success().setData(voList); + } + + public ResultBean> getNextNodesForSubmit(OtheroutNodeQuery query) { + ResultBean> rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 + Map variables = new HashMap<>(); + //查询业务信息 + WmsOtheroutApply wmsOtheroutApply = fetchBySid(query.getBusinessSid()); + //判断发起人是否为配件主管 + String createBySid = wmsOtheroutApply.getCreateBySid(); + List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData(); + variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777")); + bv.setModelId(wmsOtheroutApply.getProcDefId()); + bv.setFormVariables(variables); + //======================================= + ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给TemplateApplyNodeVo + List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), OtheroutNodeVo.class)).collect(Collectors.toList()); + return rb.success().setData(voList); + } + + public ResultBean taskReject(OtheroutTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + String businessSid = query.getBusinessSid(); + WmsOtheroutApply wmsOtheroutApply = fetchBySid(businessSid); + if (wmsOtheroutApply == null) { + return rb.setMsg("该申请不存在"); + } + String businessTaskId = wmsOtheroutApply.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (businessTaskId.equals(query.getTaskId())) { + if (StringUtils.isBlank(query.getComment())) { + return rb.setMsg("请填写意见"); + } + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + Map variables = new HashMap<>(); + Map appMap = new HashMap<>(); + appMap.put("sid", businessSid); + variables.put("app", appMap); + //判断发起人是否为配件主管 + String createBySid = wmsOtheroutApply.getCreateBySid(); + List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData(); + variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777")); + flowTaskVo.setValues(variables); + ResultBean resultBean = flowableFeign.taskReject(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + UpdateFlowFieldVo ufVo = resultBean.getData(); + Map map = BeanUtil.beanToMap(ufVo); + //更新业务中的流程相关的参数 + updateFlowFiled(map); + //极光推送 + wmsOtheroutApply = fetchBySid(businessSid); + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + String procId = wmsOtheroutApply.getProcInstId(); + messageFlowVo.setProcInsId(procId); + messageFlowVo.setProcDefId(wmsOtheroutApply.getProcDefId()); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("其他出库"); + ResultBean> listResultBean = flowTaskFeign.getLatestTasks(procId); + String nextName = listResultBean.getData().get(0).getName_(); + String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_(); + if ("发起申请".equals(nextName)) { + messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交"); + } else { + messageFlowableQuery.setMsgContent(wmsOtheroutApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + } + + messageFlowableQuery.setMsgTitle("其他出库"); + ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); + return rb.success(); + } + } + return rb.setMsg("操作失败!提交的数据不一致!"); + } + + public ResultBean revokeProcess(OtheroutTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + WmsOtheroutApply wmsOtheroutApply = fetchBySid(query.getBusinessSid()); + String businessTaskId = wmsOtheroutApply.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(OtheroutTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(query.getInstanceId())) { + return rb.setMsg("参数错误:instanceId"); + } + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + if (StringUtils.isBlank(query.getComment())) { + return rb.setMsg("请填写意见"); + } + WmsOtheroutApply wmsOtheroutApply = fetchBySid(query.getBusinessSid()); + String businessTaskId = wmsOtheroutApply.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (query.getUserSid().equals(wmsOtheroutApply.getCreateBySid())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + Map map = BeanUtil.beanToMap(resultBean.getData()); + updateFlowFiled(map); + return rb.success().setData(resultBean.getData()); + } else { + 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()); + } + Map map = BeanUtil.beanToMap(resultBean.getData()); + updateFlowFiled(map); + return rb.success().setData(resultBean.getData()); + } + } + } + return rb.setMsg("操作失败!提交的数据不一致!"); + } + + public ResultBean delegate(OtheroutDelegateQuery query) { + ResultBean rb = ResultBean.fireFail(); + FlowDelegateQuery delegateQuery = new FlowDelegateQuery(); + BeanUtil.copyProperties(query, delegateQuery); + flowFeign.delegate(delegateQuery); + return rb.success(); + } +} \ No newline at end of file diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/WmsOtheroutApplyVo.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/WmsOtheroutApplyVo.java new file mode 100644 index 0000000000..f1dcefd39b --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/WmsOtheroutApplyVo.java @@ -0,0 +1,74 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsotheroutapply; + + +import com.yxt.common.core.vo.Vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import java.util.Date; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 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 11:24:37
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "其他出库 视图数据对象", description = "其他出库 视图数据对象") +public class WmsOtheroutApplyVo implements Vo { + + @ApiModelProperty("流程状态") + private String nodeState; + @ApiModelProperty("单据编号") + private String billNo; + @ApiModelProperty("申请部门名称") + private String deptName; + @ApiModelProperty("制单人姓名") + private String createByName; + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @ApiModelProperty("申请日期") + private Date createTime; + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @ApiModelProperty("办结日期") + private Date finishTime; + @ApiModelProperty("业务类型value") + private String busTypeValue; + @ApiModelProperty("流程定义的id") + private String procDefId; + @ApiModelProperty("流程实例的sid") + private String procInstId; +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/flowable/CompleteOtheroutDto.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/flowable/CompleteOtheroutDto.java new file mode 100644 index 0000000000..d58f830a97 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/flowable/CompleteOtheroutDto.java @@ -0,0 +1,35 @@ +package com.yxt.wms.biz.inventory.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/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/flowable/OtheroutDelegateQuery.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/flowable/OtheroutDelegateQuery.java new file mode 100644 index 0000000000..ed8c0bc58c --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/flowable/OtheroutDelegateQuery.java @@ -0,0 +1,23 @@ +package com.yxt.wms.biz.inventory.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/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/flowable/OtheroutNodeQuery.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/flowable/OtheroutNodeQuery.java new file mode 100644 index 0000000000..bf13dbf5ef --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/flowable/OtheroutNodeQuery.java @@ -0,0 +1,18 @@ +package com.yxt.wms.biz.inventory.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/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/flowable/OtheroutNodeVo.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/flowable/OtheroutNodeVo.java new file mode 100644 index 0000000000..d3fbd87159 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/flowable/OtheroutNodeVo.java @@ -0,0 +1,24 @@ +package com.yxt.wms.biz.inventory.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/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/flowable/OtheroutTaskQuery.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/flowable/OtheroutTaskQuery.java new file mode 100644 index 0000000000..8e476e97c1 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/flowable/OtheroutTaskQuery.java @@ -0,0 +1,43 @@ +package com.yxt.wms.biz.inventory.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-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/flowable/SubmitOtheroutDto.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/flowable/SubmitOtheroutDto.java new file mode 100644 index 0000000000..f0074fc7f6 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutapply/flowable/SubmitOtheroutDto.java @@ -0,0 +1,19 @@ +package com.yxt.wms.biz.inventory.wmsotheroutapply.flowable; + +import com.yxt.wms.biz.inventory.wmsotheroutapply.WmsOtheroutApplyDto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/5/11 + **/ +@Data +public class SubmitOtheroutDto extends WmsOtheroutApplyDto { + + @ApiModelProperty("流程实例id") + private String instanceId; + @ApiModelProperty("任务id") + private String taskId; +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutdetail/WmsOtheroutDetail.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutdetail/WmsOtheroutDetail.java new file mode 100644 index 0000000000..a02328555d --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutdetail/WmsOtheroutDetail.java @@ -0,0 +1,90 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsotheroutdetail; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * Project: yxt-wms(其他出库)
+ * File: WmsOtheroutDetail.java
+ * Class: com.yxt.wms.api.wmsotheroutdetail.WmsOtheroutDetail
+ * 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 = "其他出库-明细") +@TableName("wms_otherout_detail") +public class WmsOtheroutDetail extends BaseEntity { + private static final long serialVersionUID = 1L; + + @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 warehouseRackName; // 库位名称 + @ApiModelProperty("入库单价") + private BigDecimal inCost; // 入库单价 + @ApiModelProperty("出库数量") + private BigDecimal outCount; // 出库数量 + +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutdetail/WmsOtheroutDetailDetailsVo.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutdetail/WmsOtheroutDetailDetailsVo.java new file mode 100644 index 0000000000..cb5bd9bac5 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutdetail/WmsOtheroutDetailDetailsVo.java @@ -0,0 +1,91 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsotheroutdetail; + + +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 warehouseRackName; // 库位名称 + @ApiModelProperty("入库单价") + private BigDecimal inCost; // 入库单价 + @ApiModelProperty("出库数量") + private BigDecimal outCount; // 出库数量 + +} \ No newline at end of file diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutdetail/WmsOtheroutDetailDto.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutdetail/WmsOtheroutDetailDto.java new file mode 100644 index 0000000000..7606932747 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutdetail/WmsOtheroutDetailDto.java @@ -0,0 +1,91 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsotheroutdetail; + + +import com.yxt.common.core.dto.Dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * Project: yxt-wms(其他出库)
+ * File: WmsOtheroutDetailDto.java
+ * Class: com.yxt.wms.api.wmsotheroutdetail.WmsOtheroutDetailDto
+ * 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 WmsOtheroutDetailDto implements Dto { + + 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 warehouseRackName; // 库位名称 + @ApiModelProperty("入库单价") + private BigDecimal inCost; // 入库单价 + @ApiModelProperty("出库数量") + private BigDecimal outCount; // 出库数量 + +} \ No newline at end of file diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutdetail/WmsOtheroutDetailMapper.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutdetail/WmsOtheroutDetailMapper.java new file mode 100644 index 0000000000..436b1c22a3 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutdetail/WmsOtheroutDetailMapper.java @@ -0,0 +1,43 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsotheroutdetail; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +@Mapper +public interface WmsOtheroutDetailMapper extends BaseMapper { + + @Delete("delete from wms_otherout_detail where mainSid = #{dtoSid}") + void delByMainSid(String dtoSid); + + @Select("select * from wms_otherout_detail where mainSid = #{mainSid}") + List selByMainSid(String mainSid); +} \ No newline at end of file diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutdetail/WmsOtheroutDetailMapper.xml b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutdetail/WmsOtheroutDetailMapper.xml new file mode 100644 index 0000000000..5729925c12 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutdetail/WmsOtheroutDetailMapper.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutdetail/WmsOtheroutDetailService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutdetail/WmsOtheroutDetailService.java new file mode 100644 index 0000000000..d18ae97cae --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsotheroutdetail/WmsOtheroutDetailService.java @@ -0,0 +1,55 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsotheroutdetail; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.commons.lang3.StringUtils; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; + +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class WmsOtheroutDetailService extends MybatisBaseService { + + public void insertByDto(WmsOtheroutDetailDto dto){ + WmsOtheroutDetail entity = new WmsOtheroutDetail(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.insert(entity); + } + + public void delByMainSid(String dtoSid) { + baseMapper.delByMainSid(dtoSid); + } + + public List selByMainSid(String mainSid) { + return baseMapper.selByMainSid(mainSid); + } +} \ No newline at end of file