From d7c271781c5feede94109b9c5b928facba9f7059 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Tue, 21 Nov 2023 16:34:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A5=E5=BA=93=E8=B4=A8=E6=8A=BC=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/db_backup/supervise_enterprisecenter.sql | 91 +++++ .../system/sysuser/SysUserMapper.java | 2 + .../system/sysuser/SysUserMapper.xml | 6 + .../supervise/system/sysuser/SysUserRest.java | 4 + .../system/sysuser/SysUserService.java | 6 + .../api/flowable/ProcDefEnum.java | 5 +- .../api/paymentapply/PaymentApply.java | 44 +++ .../api/qualityrelease/QualityRelease.java | 39 ++ .../warehousingpledge/WarehousingPledge.java | 37 ++ .../WarehousingPledgeDetailsVo.java | 33 ++ .../WarehousingPledgeDto.java | 31 ++ .../WarehousingPledgeQuery.java | 26 ++ .../WarehousingPledgeVo.java | 35 ++ .../flowable/CompletePledgeDto.java | 33 ++ .../flowable/PledgeTaskQuery.java | 43 +++ .../flowable/SubmitPledgeDto.java | 20 + .../biz/feign/SysUserFeign.java | 5 + .../WarehousingPledgeMapper.java | 37 ++ .../WarehousingPledgeMapper.xml | 56 +++ .../WarehousingPledgeRest.java | 106 ++++++ .../WarehousingPledgeService.java | 359 ++++++++++++++++++ 21 files changed, 1017 insertions(+), 1 deletion(-) create mode 100644 docs/db_backup/supervise_enterprisecenter.sql create mode 100644 yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/paymentapply/PaymentApply.java create mode 100644 yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/qualityrelease/QualityRelease.java create mode 100644 yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/warehousingpledge/WarehousingPledge.java create mode 100644 yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/warehousingpledge/WarehousingPledgeDetailsVo.java create mode 100644 yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/warehousingpledge/WarehousingPledgeDto.java create mode 100644 yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/warehousingpledge/WarehousingPledgeQuery.java create mode 100644 yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/warehousingpledge/WarehousingPledgeVo.java create mode 100644 yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/warehousingpledge/flowable/CompletePledgeDto.java create mode 100644 yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/warehousingpledge/flowable/PledgeTaskQuery.java create mode 100644 yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/warehousingpledge/flowable/SubmitPledgeDto.java create mode 100644 yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/biz/warehousingpledge/WarehousingPledgeMapper.java create mode 100644 yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/biz/warehousingpledge/WarehousingPledgeMapper.xml create mode 100644 yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/biz/warehousingpledge/WarehousingPledgeRest.java create mode 100644 yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/biz/warehousingpledge/WarehousingPledgeService.java diff --git a/docs/db_backup/supervise_enterprisecenter.sql b/docs/db_backup/supervise_enterprisecenter.sql new file mode 100644 index 00000000..b6991f92 --- /dev/null +++ b/docs/db_backup/supervise_enterprisecenter.sql @@ -0,0 +1,91 @@ +DROP TABLE IF EXISTS `warehousing_pledge`; +CREATE TABLE `warehousing_pledge` +( + `id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id', + `sid` varchar(64) NOT NULL COMMENT 'sid', + `lockVersion` int(32) DEFAULT '0' COMMENT '版本锁', + `createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `modifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', + `isEnable` int(32) DEFAULT '1' COMMENT '是否可用:1可用,0不可用', + `state` int(32) DEFAULT '1' COMMENT '状态', + `isDelete` int(32) DEFAULT '0' COMMENT '是否删除:0未删除,1已删除', + `remarks` varchar(255) DEFAULT NULL COMMENT '备注', + `createBySid` varchar(64) DEFAULT NULL COMMENT '创建人sid', + `updateBySid` varchar(64) DEFAULT NULL COMMENT '修改人sid', + `createByName` varchar(64) DEFAULT NULL COMMENT '创建人名称', + `projectName` varchar(255) DEFAULT NULL COMMENT '项目名称', + `projectSid` varchar(255) DEFAULT NULL COMMENT '项目sid', + `warehouseName` varchar(255) DEFAULT NULL COMMENT '仓库名称', + `warehouseSid` varchar(255) DEFAULT NULL COMMENT '仓库sid', + `goodsValue` varchar(255) DEFAULT NULL COMMENT '货物价值', + `procDefId` varchar(255) DEFAULT NULL COMMENT '流程id', + `procInstId` varchar(255) DEFAULT NULL COMMENT '实例id', + `taskId` varchar(255) DEFAULT NULL COMMENT '任务id', + `nodeState` varchar(255) DEFAULT NULL COMMENT '流程状态', + `taskDefKey` varchar(255) DEFAULT NULL COMMENT '环节id', + PRIMARY KEY (`id`), + KEY `id` (`id`) +) ENGINE = INNODB + DEFAULT CHARSET = utf8 COMMENT ='入库质押申请'; + +DROP TABLE IF EXISTS `quality_release`; +CREATE TABLE `quality_release` +( + `id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id', + `sid` varchar(64) NOT NULL COMMENT 'sid', + `lockVersion` int(32) DEFAULT '0' COMMENT '版本锁', + `createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `modifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', + `isEnable` int(32) DEFAULT '1' COMMENT '是否可用:1可用,0不可用', + `state` int(32) DEFAULT '1' COMMENT '状态', + `isDelete` int(32) DEFAULT '0' COMMENT '是否删除:0未删除,1已删除', + `remarks` varchar(255) DEFAULT NULL COMMENT '备注', + `createBySid` varchar(64) DEFAULT NULL COMMENT '创建人sid', + `updateBySid` varchar(64) DEFAULT NULL COMMENT '修改人sid', + `createByName` varchar(64) DEFAULT NULL COMMENT '创建人名称', + `projectName` varchar(255) DEFAULT NULL COMMENT '项目名称', + `projectSid` varchar(255) DEFAULT NULL COMMENT '项目sid', + `warehouseName` varchar(255) DEFAULT NULL COMMENT '仓库名称', + `warehouseSid` varchar(255) DEFAULT NULL COMMENT '仓库sid', + `goodsValue` varchar(255) DEFAULT NULL COMMENT '货物价值', + `procDefId` varchar(255) DEFAULT NULL COMMENT '流程id', + `procInstId` varchar(255) DEFAULT NULL COMMENT '实例id', + `taskId` varchar(255) DEFAULT NULL COMMENT '任务id', + `nodeState` varchar(255) DEFAULT NULL COMMENT '流程状态', + `taskDefKey` varchar(255) DEFAULT NULL COMMENT '环节id', + PRIMARY KEY (`id`), + KEY `id` (`id`) +) ENGINE = INNODB + DEFAULT CHARSET = utf8 COMMENT ='解质出库申请'; + +DROP TABLE IF EXISTS `payment_apply`; +CREATE TABLE `payment_apply` +( + `id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id', + `sid` varchar(64) NOT NULL COMMENT 'sid', + `lockVersion` int(32) DEFAULT '0' COMMENT '版本锁', + `createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `modifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', + `isEnable` int(32) DEFAULT '1' COMMENT '是否可用:1可用,0不可用', + `state` int(32) DEFAULT '1' COMMENT '状态', + `isDelete` int(32) DEFAULT '0' COMMENT '是否删除:0未删除,1已删除', + `remarks` varchar(255) DEFAULT NULL COMMENT '备注', + `createBySid` varchar(64) DEFAULT NULL COMMENT '创建人sid', + `updateBySid` varchar(64) DEFAULT NULL COMMENT '修改人sid', + `createByName` varchar(64) DEFAULT NULL COMMENT '创建人名称', + `projectName` varchar(255) DEFAULT NULL COMMENT '项目名称', + `projectSid` varchar(255) DEFAULT NULL COMMENT '项目sid', + `enterpriseName` varchar(255) DEFAULT NULL COMMENT '用款企业', + `enterpriseSid` varchar(255) DEFAULT NULL COMMENT '用款企业sid', + `applyUse` varchar(255) DEFAULT NULL COMMENT '用款申请用途', + `money` decimal(10, 2) DEFAULT NULL COMMENT '用款金额', + `voucherUrl` text DEFAULT NULL COMMENT '回款凭证', + `procDefId` varchar(255) DEFAULT NULL COMMENT '流程id', + `procInstId` varchar(255) DEFAULT NULL COMMENT '实例id', + `taskId` varchar(255) DEFAULT NULL COMMENT '任务id', + `nodeState` varchar(255) DEFAULT NULL COMMENT '流程状态', + `taskDefKey` varchar(255) DEFAULT NULL COMMENT '环节id', + PRIMARY KEY (`id`), + KEY `id` (`id`) +) ENGINE = INNODB + DEFAULT CHARSET = utf8 COMMENT ='用款申请'; \ No newline at end of file diff --git a/yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserMapper.java b/yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserMapper.java index 774c9005..e5401315 100644 --- a/yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserMapper.java +++ b/yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserMapper.java @@ -183,4 +183,6 @@ public interface SysUserMapper extends BaseMapper { String fetchByUserNameAndUserPhone(@Param("userName") String userName, @Param("userPhone") String userPhone); List getUserByType(@Param("userType")String userType); List getUserOrgBySid(@Param("sid")String sid); + + SysUserVo getUserByUserSid(String sid); } \ No newline at end of file diff --git a/yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserMapper.xml b/yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserMapper.xml index ce514516..6b381d22 100644 --- a/yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserMapper.xml +++ b/yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserMapper.xml @@ -396,4 +396,10 @@ WHERE ss.name = #{userName} AND su.mobile = #{userPhone} + + \ No newline at end of file diff --git a/yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserRest.java b/yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserRest.java index 3df30fc4..92545fa7 100644 --- a/yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserRest.java +++ b/yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserRest.java @@ -762,4 +762,8 @@ public class SysUserRest implements SysUserFeign { public ResultBean> getUsersBySid(@RequestBody List list) { return sysUserService.getUsersBySid(list); } + @GetMapping("/getUserByUserSid") + ResultBean getUserByUserSid(@RequestParam("sid")String sid){ + return sysUserService.getUserByUserSid(sid); + } } diff --git a/yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserService.java b/yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserService.java index 278c8bbf..2253bc03 100644 --- a/yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserService.java +++ b/yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserService.java @@ -1601,4 +1601,10 @@ public class SysUserService extends MybatisBaseService { } return rb.success().setData(sysUserVoList); } + + public ResultBean getUserByUserSid(String sid) { + ResultBean rb = ResultBean.fireFail(); + SysUserVo sysUserVo = baseMapper.getUserByUserSid(sid); + return rb.success().setData(sysUserVo); + } } \ No newline at end of file diff --git a/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/flowable/ProcDefEnum.java b/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/flowable/ProcDefEnum.java index 022e3581..5a104339 100644 --- a/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/flowable/ProcDefEnum.java +++ b/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/flowable/ProcDefEnum.java @@ -7,7 +7,10 @@ public enum ProcDefEnum { /***************************正式流程id***********************************/ - SEALSONAPPLICATION("用章申请", "process_itrg7ohf:5:1340012"); + SEALSONAPPLICATION("用章申请", "process_itrg7ohf:5:1340012"), + + WAREHOUSINGPLEDGE("入库质押申请","process_2bquol0n:1:1367504"), + ; ProcDefEnum(String proDefName, String proDefId) { this.proDefName = proDefName; diff --git a/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/paymentapply/PaymentApply.java b/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/paymentapply/PaymentApply.java new file mode 100644 index 00000000..9471e6bc --- /dev/null +++ b/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/paymentapply/PaymentApply.java @@ -0,0 +1,44 @@ +package com.yxt.supervise.enterprisecentre.api.paymentapply; + +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/11/21 + **/ +@Data +public class PaymentApply extends BaseEntity { + private static final long serialVersionUID = 5724305377756638094L; + @ApiModelProperty("创建人名称") + private String createByName; + @ApiModelProperty("项目名称") + private String projectName; + @ApiModelProperty("项目sid") + private String projectSid; + @ApiModelProperty("用款企业") + private String enterpriseName; + @ApiModelProperty("用款企业sid") + private String enterpriseSid; + @ApiModelProperty("用款申请用途") + private String applyUse; + @ApiModelProperty("用款金额") + private BigDecimal money; + @ApiModelProperty("回款凭证") + private String voucherUrl; + + @ApiModelProperty("流程id") + private String procDefId; + @ApiModelProperty("实例id") + private String procInstId; + @ApiModelProperty("任务id") + private String taskId; + @ApiModelProperty("流程环节") + private String nodeState; + @ApiModelProperty("环节id") + private String taskDefKey; +} diff --git a/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/qualityrelease/QualityRelease.java b/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/qualityrelease/QualityRelease.java new file mode 100644 index 00000000..21873a55 --- /dev/null +++ b/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/qualityrelease/QualityRelease.java @@ -0,0 +1,39 @@ +package com.yxt.supervise.enterprisecentre.api.qualityrelease; + +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/11/21 + **/ +@Data +public class QualityRelease extends BaseEntity { + private static final long serialVersionUID = 1491905607832350029L; + + @ApiModelProperty("创建人名称") + private String createByName; + @ApiModelProperty("项目名称") + private String projectName; + @ApiModelProperty("项目sid") + private String projectSid; + @ApiModelProperty("仓库名称") + private String warehouseName; + @ApiModelProperty("仓库sid") + private String warehouseSid; + @ApiModelProperty("货物价值") + private String goodsValue; + + @ApiModelProperty("流程id") + private String procDefId; + @ApiModelProperty("实例id") + private String procInstId; + @ApiModelProperty("任务id") + private String taskId; + @ApiModelProperty("流程环节") + private String nodeState; + @ApiModelProperty("环节id") + private String taskDefKey; +} diff --git a/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/warehousingpledge/WarehousingPledge.java b/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/warehousingpledge/WarehousingPledge.java new file mode 100644 index 00000000..e8c2e423 --- /dev/null +++ b/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/warehousingpledge/WarehousingPledge.java @@ -0,0 +1,37 @@ +package com.yxt.supervise.enterprisecentre.api.warehousingpledge; + +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/11/21 + **/ +@Data +public class WarehousingPledge extends BaseEntity { + private static final long serialVersionUID = -4271197867978438659L; + @ApiModelProperty("创建人名称") + private String createByName; + @ApiModelProperty("项目名称") + private String projectName; + @ApiModelProperty("项目sid") + private String projectSid; + @ApiModelProperty("仓库名称") + private String warehouseName; + @ApiModelProperty("仓库sid") + private String warehouseSid; + @ApiModelProperty("货物价值") + private String goodsValue; + @ApiModelProperty("流程id") + private String procDefId; + @ApiModelProperty("实例id") + private String procInstId; + @ApiModelProperty("任务id") + private String taskId; + @ApiModelProperty("流程环节") + private String nodeState; + @ApiModelProperty("环节id") + private String taskDefKey; +} diff --git a/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/warehousingpledge/WarehousingPledgeDetailsVo.java b/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/warehousingpledge/WarehousingPledgeDetailsVo.java new file mode 100644 index 00000000..bd0290cb --- /dev/null +++ b/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/warehousingpledge/WarehousingPledgeDetailsVo.java @@ -0,0 +1,33 @@ +package com.yxt.supervise.enterprisecentre.api.warehousingpledge; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/11/21 + **/ +@Data +public class WarehousingPledgeDetailsVo implements Vo { + private static final long serialVersionUID = -1952900512756836125L; + private String sid; + private String userSid; + @ApiModelProperty("创建人名称") + private String createByName; + @ApiModelProperty("项目名称") + private String projectName; + @ApiModelProperty("项目sid") + private String projectSid; + @ApiModelProperty("仓库名称") + private String warehouseName; + @ApiModelProperty("仓库sid") + private String warehouseSid; + @ApiModelProperty("货物价值") + private String goodsValue; + @ApiModelProperty("实例id") + private String procInstId; + @ApiModelProperty("任务id") + private String taskId; +} diff --git a/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/warehousingpledge/WarehousingPledgeDto.java b/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/warehousingpledge/WarehousingPledgeDto.java new file mode 100644 index 00000000..8bddb85a --- /dev/null +++ b/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/warehousingpledge/WarehousingPledgeDto.java @@ -0,0 +1,31 @@ +package com.yxt.supervise.enterprisecentre.api.warehousingpledge; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/11/21 + **/ +@Data +public class WarehousingPledgeDto implements Dto { + private static final long serialVersionUID = -7783276640547964225L; + + private String sid; + @ApiModelProperty("用户sid") + private String userSid; + @ApiModelProperty("创建人名称") + private String createByName; + @ApiModelProperty("项目名称") + private String projectName; + @ApiModelProperty("项目sid") + private String projectSid; + @ApiModelProperty("仓库名称") + private String warehouseName; + @ApiModelProperty("仓库sid") + private String warehouseSid; + @ApiModelProperty("货物价值") + private String goodsValue; +} diff --git a/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/warehousingpledge/WarehousingPledgeQuery.java b/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/warehousingpledge/WarehousingPledgeQuery.java new file mode 100644 index 00000000..5d999f09 --- /dev/null +++ b/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/warehousingpledge/WarehousingPledgeQuery.java @@ -0,0 +1,26 @@ +package com.yxt.supervise.enterprisecentre.api.warehousingpledge; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/11/21 + **/ +@Data +public class WarehousingPledgeQuery implements Query { + private static final long serialVersionUID = -8106702755592169951L; + + @ApiModelProperty("项目名称") + private String projectName; + @ApiModelProperty("仓库名称") + private String warehouseName; + @ApiModelProperty("创建时间开始") + private String createTimeStart; + @ApiModelProperty("创建时间结束") + private String createTimeEnd; + @ApiModelProperty("用户sid") + private String userSid; +} diff --git a/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/warehousingpledge/WarehousingPledgeVo.java b/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/warehousingpledge/WarehousingPledgeVo.java new file mode 100644 index 00000000..ebccaee1 --- /dev/null +++ b/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/warehousingpledge/WarehousingPledgeVo.java @@ -0,0 +1,35 @@ +package com.yxt.supervise.enterprisecentre.api.warehousingpledge; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/11/21 + **/ +@Data +public class WarehousingPledgeVo implements Vo { + private static final long serialVersionUID = -5939570054956972879L; + + private String sid; + @ApiModelProperty("流程状态") + private String nodeState; + @ApiModelProperty("申请人") + private String createByName; + + @ApiModelProperty("项目名称") + private String projectName; + + @ApiModelProperty("仓库名称") + private String warehouseName; + + @ApiModelProperty("货物价值") + private String goodsValue; + + @ApiModelProperty("创建时间") + private String createTime; + + +} diff --git a/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/warehousingpledge/flowable/CompletePledgeDto.java b/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/warehousingpledge/flowable/CompletePledgeDto.java new file mode 100644 index 00000000..d3e1163d --- /dev/null +++ b/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/warehousingpledge/flowable/CompletePledgeDto.java @@ -0,0 +1,33 @@ +package com.yxt.supervise.enterprisecentre.api.warehousingpledge.flowable; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/11/21 + **/ +@Data +public class CompletePledgeDto { + + @ApiModelProperty(value = "用户sid") + @NotBlank(message = "参数错误:userSid") + private String userSid; + @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_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/warehousingpledge/flowable/PledgeTaskQuery.java b/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/warehousingpledge/flowable/PledgeTaskQuery.java new file mode 100644 index 00000000..232cb4ed --- /dev/null +++ b/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/warehousingpledge/flowable/PledgeTaskQuery.java @@ -0,0 +1,43 @@ +package com.yxt.supervise.enterprisecentre.api.warehousingpledge.flowable; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/11/21 + **/ +@Data +public class PledgeTaskQuery { + + /** + * 终止、驳回、撤回 + */ + @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_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/warehousingpledge/flowable/SubmitPledgeDto.java b/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/warehousingpledge/flowable/SubmitPledgeDto.java new file mode 100644 index 00000000..996dec20 --- /dev/null +++ b/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/warehousingpledge/flowable/SubmitPledgeDto.java @@ -0,0 +1,20 @@ +package com.yxt.supervise.enterprisecentre.api.warehousingpledge.flowable; + +import com.yxt.supervise.enterprisecentre.api.warehousingpledge.WarehousingPledgeDto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/11/21 + **/ +@Data +public class SubmitPledgeDto extends WarehousingPledgeDto { + + private static final long serialVersionUID = -2202726987908396889L; + @ApiModelProperty("流程实例id") + private String instanceId; + @ApiModelProperty("任务id") + private String taskId; +} diff --git a/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/biz/feign/SysUserFeign.java b/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/biz/feign/SysUserFeign.java index 1fcde006..141b99f5 100644 --- a/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/biz/feign/SysUserFeign.java +++ b/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/biz/feign/SysUserFeign.java @@ -2,6 +2,7 @@ package com.yxt.supervise.enterprisecentre.biz.feign; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.yxt.common.core.result.ResultBean; +import com.yxt.supervise.enterprisecentre.api.sealrecord.SysUserVo; import com.yxt.supervise.enterprisecentre.biz.feign.fallback.SysUserFeignFallback; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -40,4 +41,8 @@ public interface SysUserFeign { @GetMapping("/getUsersByRoleSid/{roleSid}") ResultBean< List>> getUsersByRoleSid(@PathVariable("roleSid") String roleSid); + @ApiOperation("根据用户sid查询用户部分信息") + @GetMapping("/getUserByUserSid") + ResultBean getUserByUserSid(@RequestParam("sid")String sid); + } \ No newline at end of file diff --git a/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/biz/warehousingpledge/WarehousingPledgeMapper.java b/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/biz/warehousingpledge/WarehousingPledgeMapper.java new file mode 100644 index 00000000..edea191e --- /dev/null +++ b/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/biz/warehousingpledge/WarehousingPledgeMapper.java @@ -0,0 +1,37 @@ +package com.yxt.supervise.enterprisecentre.biz.warehousingpledge; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.supervise.enterprisecentre.api.warehousingpledge.WarehousingPledge; +import com.yxt.supervise.enterprisecentre.api.warehousingpledge.WarehousingPledgeDetailsVo; +import com.yxt.supervise.enterprisecentre.api.warehousingpledge.WarehousingPledgeVo; +import io.swagger.annotations.ApiOperation; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Map; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/11/21 + **/ +@Mapper +public interface WarehousingPledgeMapper extends BaseMapper { + /** + * 分页列表 + * + * @param page + * @param qw + * @return + */ + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + WarehousingPledgeDetailsVo details(String sid); + + int selectBySid(String join); + + int updateFlowFiled(Map map); +} diff --git a/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/biz/warehousingpledge/WarehousingPledgeMapper.xml b/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/biz/warehousingpledge/WarehousingPledgeMapper.xml new file mode 100644 index 00000000..1622d7e4 --- /dev/null +++ b/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/biz/warehousingpledge/WarehousingPledgeMapper.xml @@ -0,0 +1,56 @@ + + + + + + + + + + + UPDATE warehousing_pledge + SET nodeState=#{nodeState} + , taskDefKey=#{taskDefKey} + + , procDefId=#{procDefId} + + + , procInstId=#{procInsId} + + + , taskId=#{taskId} + + WHERE sid = #{sid} + + \ No newline at end of file diff --git a/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/biz/warehousingpledge/WarehousingPledgeRest.java b/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/biz/warehousingpledge/WarehousingPledgeRest.java new file mode 100644 index 00000000..0b7e3b4b --- /dev/null +++ b/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/biz/warehousingpledge/WarehousingPledgeRest.java @@ -0,0 +1,106 @@ +package com.yxt.supervise.enterprisecentre.biz.warehousingpledge; + +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.supervise.enterprisecentre.api.flowable.BusinessVariables; +import com.yxt.supervise.enterprisecentre.api.flowable.GetNodeQuery; +import com.yxt.supervise.enterprisecentre.api.flowable.GetNodeVo; +import com.yxt.supervise.enterprisecentre.api.warehousingpledge.WarehousingPledgeDetailsVo; +import com.yxt.supervise.enterprisecentre.api.warehousingpledge.WarehousingPledgeDto; +import com.yxt.supervise.enterprisecentre.api.warehousingpledge.WarehousingPledgeQuery; +import com.yxt.supervise.enterprisecentre.api.warehousingpledge.WarehousingPledgeVo; +import com.yxt.supervise.enterprisecentre.api.warehousingpledge.flowable.CompletePledgeDto; +import com.yxt.supervise.enterprisecentre.api.warehousingpledge.flowable.PledgeTaskQuery; +import com.yxt.supervise.enterprisecentre.api.warehousingpledge.flowable.SubmitPledgeDto; +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 java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/11/21 + **/ +@RestController +@RequestMapping("v1/WarehousingPledge") +public class WarehousingPledgeRest { + + @Autowired + private WarehousingPledgeService warehousingPledgeService; + + @ApiOperation("新增或修改") + @PostMapping("/saveorUpdate") + ResultBean saveorUpdate(@RequestBody WarehousingPledgeDto dto) { + return warehousingPledgeService.saveorUpdatePledge(dto); + } + + @ApiOperation("分页列表") + @PostMapping("/listPage") + ResultBean> listPage(PagerQuery pagerQuery) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = warehousingPledgeService.listPageVo(pagerQuery); + return rb.success().setData(pv); + } + + @ApiOperation("详情") + @GetMapping("/details") + ResultBean details(@RequestParam("sid") String sid) { + return warehousingPledgeService.details(sid); + } + + @ApiOperation("删除") + @DeleteMapping("/delete") + ResultBean delete(@RequestBody String[] sids) { + return warehousingPledgeService.delete(sids); + } + + @ApiOperation("提交") + @PostMapping("/submit") + ResultBean submit(@RequestBody SubmitPledgeDto dto) { + return warehousingPledgeService.submit(dto); + } + + @ApiOperation("办理") + @PostMapping("/complete") + ResultBean complete(@RequestBody CompletePledgeDto dto) { + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(dto, bv); + return warehousingPledgeService.complete(bv); + } + + @ApiOperation("获取上一环节") + @GetMapping(value = "/getPreviousNodesForReject") + ResultBean> getPreviousNodesForReject(@SpringQueryMap GetNodeQuery query) { + return warehousingPledgeService.getPreviousNodesForReject(query); + } + + @ApiOperation("获取下一环节") + @GetMapping(value = "/getNextNodesForSubmit") + ResultBean> getNextNodesForSubmit(@SpringQueryMap GetNodeQuery query) { + return warehousingPledgeService.getNextNodesForSubmit(query); + } + @ApiOperation("驳回") + @PostMapping(value = "/taskReject") + public ResultBean taskReject(PledgeTaskQuery query) { + return warehousingPledgeService.taskReject(query); + } + @ApiOperation("撤回") + @PostMapping(value = "/revokeProcess") + public ResultBean revokeProcess(PledgeTaskQuery query) { + return warehousingPledgeService.revokeProcess(query); + } + @ApiOperation("终止") + @PostMapping(value = "/breakProcess") + public ResultBean breakProcess(PledgeTaskQuery query) { + return warehousingPledgeService.breakProcess(query); + } + + + + +} diff --git a/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/biz/warehousingpledge/WarehousingPledgeService.java b/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/biz/warehousingpledge/WarehousingPledgeService.java new file mode 100644 index 00000000..9fad2b1e --- /dev/null +++ b/yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/biz/warehousingpledge/WarehousingPledgeService.java @@ -0,0 +1,359 @@ +package com.yxt.supervise.enterprisecentre.biz.warehousingpledge; + +import cn.hutool.core.bean.BeanUtil; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.supervise.enterprisecentre.api.flowable.*; +import com.yxt.supervise.enterprisecentre.api.sealrecord.SysUserVo; +import com.yxt.supervise.enterprisecentre.api.warehousingpledge.*; +import com.yxt.supervise.enterprisecentre.api.warehousingpledge.flowable.PledgeTaskQuery; +import com.yxt.supervise.enterprisecentre.api.warehousingpledge.flowable.SubmitPledgeDto; +import com.yxt.supervise.enterprisecentre.biz.feign.FlowTaskFeign; +import com.yxt.supervise.enterprisecentre.biz.feign.FlowableFeign; +import com.yxt.supervise.enterprisecentre.biz.feign.SysUserFeign; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/11/21 + **/ +@Service +public class WarehousingPledgeService extends MybatisBaseService { + + @Autowired + private SysUserFeign sysUserFeign; + @Autowired + private FlowableFeign flowableFeign; + @Autowired + private FlowTaskFeign flowTaskFeign; + + /** + * 新增修改 + * + * @param dto + * @return + */ + public ResultBean saveorUpdatePledge(WarehousingPledgeDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = dto.getSid(); + if (StringUtils.isBlank(sid)) {//新增 + WarehousingPledge warehousingPledge = new WarehousingPledge(); + BeanUtil.copyProperties(dto, warehousingPledge, "sid"); + String userSid = dto.getUserSid(); + warehousingPledge.setCreateBySid(userSid); + //根据userSid查询申请人的名称 + ResultBean resultBean = sysUserFeign.getUserByUserSid(userSid); + if (resultBean.getData() != null) { + SysUserVo sysUserVo = resultBean.getData(); + String name = sysUserVo.getName(); + warehousingPledge.setCreateByName(name); + } + + baseMapper.insert(warehousingPledge); + sid = warehousingPledge.getSid(); + + } else {//修改 + WarehousingPledge warehousingPledge = fetchBySid(sid); + if (warehousingPledge == null) { + return rb.setMsg("该入库质押申请不存在"); + } + BeanUtil.copyProperties(dto, warehousingPledge, "sid"); + baseMapper.updateById(warehousingPledge); + } + return rb.success().setData(sid); + } + + /** + * 分页列表 + * + * @param pagerQuery + * @return + */ + public PagerVo listPageVo(PagerQuery pagerQuery) { + WarehousingPledgeQuery query = pagerQuery.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (query != null) { + if (StringUtils.isNotBlank(query.getUserSid())) { + qw.eq("createBySid", query.getUserSid()); + } + //仓库名称 + if (StringUtils.isNotBlank(query.getWarehouseName())) { + qw.like("warehouseName", query.getWarehouseName()); + } + //项目名称 + if (StringUtils.isNotBlank(query.getProjectName())) { + qw.like("projectName", query.getProjectName()); + } + //创建时间开始、创建时间结束 + qw.apply(StringUtils.isNotBlank(query.getCreateTimeStart()), "date_format (createTime,'%Y-%m-%d') >= date_format('" + query.getCreateTimeStart() + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(query.getCreateTimeEnd()), "date_format (createTime,'%Y-%m-%d') <= date_format('" + query.getCreateTimeEnd() + "','%Y-%m-%d')" + ); + } + IPage page = PagerUtil.queryToPage(pagerQuery); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public ResultBean details(String sid) { + ResultBean rb = ResultBean.fireFail(); + WarehousingPledge warehousingPledge = fetchBySid(sid); + if (warehousingPledge == null) { + return rb.setMsg("该入库质押申请不存在"); + } + WarehousingPledgeDetailsVo warehousingPledgeDetailsVo = baseMapper.details(sid); + return rb.success().setData(warehousingPledgeDetailsVo); + } + + public ResultBean delete(String[] sids) { + ResultBean rb = ResultBean.fireFail(); + //查询该sid中是否有流程不是待提交的 + int count = baseMapper.selectBySid(StringUtils.join(sids, ",")); + if (count > 0) { + return rb.setMsg("删除的数据中包含已经提交审批的数据,删除失败"); + } + delBySids(sids); + return rb.success(); + } + + public ResultBean submit(SubmitPledgeDto dto) { + ResultBean rb = ResultBean.fireFail(); + WarehousingPledge warehousingPledge = fetchBySid(dto.getSid()); + int r = submitBusinessData(dto, warehousingPledge); + if (r == 3) { + return rb.setMsg("该申请不存在"); + } + if (r == 0) { + return rb.setMsg("操作失败!提交的数据不一致"); + } + ResultBean resultBean = saveorUpdatePledge(dto); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + String businessSid = resultBean.getData(); + //创建BusinessVariables实体对象 + BusinessVariables bv = new BusinessVariables(); + //业务sid + bv.setBusinessSid(businessSid); + //用户sid + bv.setUserSid(dto.getUserSid()); + bv.setProjectSid(dto.getProjectSid()); + if (r == 1) { + bv.setModelId(ProcDefEnum.WAREHOUSINGPLEDGE.getProDefId()); + ResultBean voResultBean = flowableFeign.startProcess(bv); + if (!voResultBean.getSuccess()) { + return rb.setMsg(voResultBean.getMsg()); + } + UpdateFlowFieldVo ufVo = voResultBean.getData(); + updateFlowFiled(BeanUtil.beanToMap(ufVo)); + return voResultBean; + } + if (r == 2) { + warehousingPledge = fetchBySid(businessSid); + // ToDo:驳回到发起人后再次提交 + if (StringUtils.isBlank(dto.getInstanceId())) { + return rb.setMsg("参数错误:procInstId"); + } + bv.setTaskId(warehousingPledge.getTaskId()); + bv.setTaskDefKey(warehousingPledge.getTaskDefKey()); + bv.setComment("重新提交"); + bv.setInstanceId(dto.getInstanceId()); + return complete(bv); + } + return rb; + } + + public ResultBean complete(BusinessVariables bv) { + ResultBean rb = ResultBean.fireFail(); + String businessSid = bv.getBusinessSid(); + WarehousingPledge warehousingPledge = fetchBySid(businessSid); + if (warehousingPledge == null) { + return rb.setMsg("该入库质押申请不存在"); + } + Map variables = new HashMap<>(); + bv.setModelId(warehousingPledge.getProcDefId()); + bv.setProjectSid(warehousingPledge.getProjectSid()); + if (bv.getTaskId().equals(warehousingPledge.getTaskId())) { + ResultBean resultBean = flowableFeign.handleProsess(bv); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + UpdateFlowFieldVo ufVo = resultBean.getData(); + updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); + return rb.success().setData(resultBean.getData()); + } else { + return rb.setMsg("操作失败!提交的数据不一致"); + } + } + + /** + * 更新流程相关的状态 + * + * @param map + * @return + */ + private int updateFlowFiled(Map map) { + return baseMapper.updateFlowFiled(map); + } + + /** + * 判断提交的流程是否被允许 + * + * @param dto + * @return + */ + private synchronized int submitBusinessData(SubmitPledgeDto dto, WarehousingPledge warehousingPledge) { + int r = 0; + if (StringUtils.isBlank(dto.getSid())) { + r = 1; + } else { + if (warehousingPledge != null) { + String businessTaskId = warehousingPledge.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> getPreviousNodesForReject(GetNodeQuery query) { + ResultBean> rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + WarehousingPledge warehousingPledge = fetchBySid(query.getBusinessSid()); + bv.setModelId(warehousingPledge.getProcDefId()); + ResultBean>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo + List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); + return rb.success().setData(voList); + } + + public ResultBean> getNextNodesForSubmit(GetNodeQuery query) { + ResultBean> rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + WarehousingPledge warehousingPledge = fetchBySid(query.getBusinessSid()); + bv.setModelId(warehousingPledge.getProcDefId()); + ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo + List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); + return rb.success().setData(voList); + } + + public ResultBean taskReject(PledgeTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + String businessSid = query.getBusinessSid(); + WarehousingPledge warehousingPledge = fetchBySid(businessSid); + if (warehousingPledge == null) { + return rb.setMsg("该入库质押申请不存在"); + } + String businessTaskId = warehousingPledge.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<>(); + ResultBean resultBean = flowableFeign.taskReject(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + UpdateFlowFieldVo ufVo = resultBean.getData(); + Map map = BeanUtil.beanToMap(ufVo); + //更新业务中的流程相关的参数 + updateFlowFiled(map); + return rb.success(); + } + } + return rb.setMsg("操作失败!提交的数据不一致!"); + } + + public ResultBean revokeProcess(PledgeTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isNotBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + WarehousingPledge warehousingPledge = fetchBySid(query.getBusinessSid()); + String businessTaskId = warehousingPledge.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(PledgeTaskQuery 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("请填写意见"); + } + WarehousingPledge warehousingPledge = fetchBySid(query.getBusinessSid()); + String businessTaskId = warehousingPledge.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (query.getUserSid().equals(warehousingPledge.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("操作失败!提交的数据不一致!"); + } +}