diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/constant/CoscoType.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/constant/CoscoType.java index b7d23cc..9ffb180 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/constant/CoscoType.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/constant/CoscoType.java @@ -62,12 +62,15 @@ public class CoscoType { public static final Long IS_LEADER_FO = 0L; - //审批状态(0.审批中、1.通过、2.驳回) + //审批状态(0.审批中、2表示已通过 3表示已拒绝 4表示已终止 6表示退回 7.表示驳回 8审批失败) public static final Long APPROVE_STATUS_SPZ = 0l; + public static final Long APPROVE_STATUS_TG = 2l; + public static final Long APPROVE_STATUS_JJ = 3l; + public static final Long APPROVE_STATUS_ZZ = 4l; + public static final Long APPROVE_STATUS_TH = 6l; + public static final Long APPROVE_STATUS_BH = 7l; + public static final Long APPROVE_STATUS_ERROR = 8l; - public static final Long APPROVE_STATUS_TG = 1l; - - public static final Long APPROVE_STATUS_BH = 2l; //供应商身份类型(dvs.境内企业/机构、ovs.境外企业、pe.个人) public static final String SUPPLIER_TYPE_DVS = "dvs"; diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/controller/OrgController.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/controller/OrgController.java index 9ddd7df..9f6556c 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/controller/OrgController.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/controller/OrgController.java @@ -1,5 +1,7 @@ package com.chinaunicom.zyhy.ebtp.supplier.base.controller; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chinaunicom.mall.ebtp.common.base.entity.*; import com.chinaunicom.mall.ebtp.common.base.util.TokenUtil; import com.chinaunicom.mall.ebtp.login.common.Constants; @@ -45,6 +47,15 @@ public class OrgController { return orgService.getOrglist(param); } + + @ApiOperation("查询分页数据") + @PostMapping("/getPage") + BaseResponse> getOrgPage(@ApiParam(value = "对象数据", required = true) @RequestBody SysOrgVO sysOrgVO){ + return orgService.getOrgPage(sysOrgVO); + } + + + @ApiOperation("查询所有数据(树形结构)") @GetMapping("/queryAll") public BaseResponse> queryAll(@SpringQueryMap SysOrg sysOrg){ diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/controller/SynchronousController.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/controller/SynchronousController.java index 46e37c1..8f3c44c 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/controller/SynchronousController.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/controller/SynchronousController.java @@ -1,8 +1,10 @@ package com.chinaunicom.zyhy.ebtp.supplier.base.controller; import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; +import com.chinaunicom.mall.ebtp.common.workflow.constant.BusinessTypeEnum; import com.chinaunicom.zyhy.ebtp.supplier.base.constant.ErrorMessageConstant; import com.chinaunicom.zyhy.ebtp.supplier.base.constant.CoscoType; +import com.chinaunicom.zyhy.ebtp.supplier.base.vo.ProcessCallbackVo; import com.chinaunicom.zyhy.ebtp.supplier.coscoBlack.entity.CoscoBlacklist; import com.chinaunicom.zyhy.ebtp.supplier.coscoBlack.service.ICoscoBlacklistService; import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.entity.CoscoCategoryLibrary; @@ -15,13 +17,19 @@ import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessWork; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoSupplierChangeApply; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoSupplierexit; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.service.*; +import com.chinaunicom.zyhy.ebtp.supplier.process.entity.CoscoProcessBusiness; +import com.chinaunicom.zyhy.ebtp.supplier.process.service.ICoscoProcessBusinessService; +import org.apache.commons.lang3.EnumUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.ObjectUtils; +import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; + /** * /synchronous/receiveApprove 供应商准入审批回调接口 * /synchronous/receiveCategoryApprove 供应商品类准入审批回调接口 @@ -57,6 +65,8 @@ public class SynchronousController { @Autowired private ICoscoSupplierChangeApplyService coscoSupplierChangeApplyService; + @Autowired + private ICoscoProcessBusinessService coscoProcessBusinessService; /** @@ -95,8 +105,7 @@ public class SynchronousController { } //验证当前工作任务是否已经处理完成 - if (CoscoType.APPROVE_STATUS_TG.equals(coscoAccessWorkData.getApproveStatus()) || - CoscoType.APPROVE_STATUS_BH.equals(coscoAccessWorkData.getApproveStatus())) { + if (!CoscoType.APPROVE_STATUS_SPZ.equals(coscoAccessWorkData.getApproveStatus())) { return BaseResponse.fail("该任务已处理完成"); } //审批状态 @@ -118,8 +127,7 @@ public class SynchronousController { } //验证当前工作任务是否已经处理完成 - if (CoscoType.APPROVE_STATUS_TG.equals(coscoAccessWorkData.getApproveStatus()) || - CoscoType.APPROVE_STATUS_BH.equals(coscoAccessWorkData.getApproveStatus())) { + if (!CoscoType.APPROVE_STATUS_SPZ.equals(coscoAccessWorkData.getApproveStatus())) { return BaseResponse.fail("该任务已处理完成"); } //审批状态 @@ -138,8 +146,7 @@ public class SynchronousController { if (ObjectUtils.isEmpty(coscoSupplierexit)) { return BaseResponse.fail("任务信息不能为空"); } - if (CoscoType.APPROVE_STATUS_TG.equals(coscoSupplierexit.getApproveStatus()) || - CoscoType.APPROVE_STATUS_BH.equals(coscoSupplierexit.getApproveStatus())) { + if (!CoscoType.APPROVE_STATUS_SPZ.equals(coscoSupplierexit.getApproveStatus())) { return BaseResponse.fail("任务已处理完成"); } @@ -175,11 +182,11 @@ public class SynchronousController { return BaseResponse.fail("任务信息不能为空"); } //先验证一下主任务表数据状态 - if (CoscoType.APPROVE_STATUS_TG.equals(coscoSupplierChangeApply.getApproveStatus()) || - CoscoType.APPROVE_STATUS_BH.equals(coscoSupplierChangeApply.getApproveStatus())) { + if (CoscoType.APPROVE_STATUS_TG.equals(coscoSupplierChangeApply.getApproveStatus())) { return BaseResponse.fail("任务已处理完成"); } coscoSupplierChangeApply.setApproveStatus(vo.getApproveStatus()); + coscoSupplierChangeApply.setWorkFlowId(vo.getWorkFlowId()); return BaseResponse.success(coscoSupplierBaseService.updateCoscoSupplierBase(coscoSupplierChangeApply)); } @@ -192,5 +199,45 @@ public class SynchronousController { return BaseResponse.success(); } + /** + * 流程审批回调 + */ + @PostMapping("/callback") + public BaseResponse callback(@RequestBody @Valid ProcessCallbackVo vo) { + CoscoProcessBusiness coscoProcessBusiness = coscoProcessBusinessService.selectCoscoProcessBusinessByProcessInstanceId(vo.getProcessInstanceId()); + if(ObjectUtils.isEmpty(coscoProcessBusiness)){ + return BaseResponse.fail("流程业务数据不能为空"); + } + //供应商准入审批 + if(BusinessTypeEnum.SUPPLIER_ACCESS_APPROVAL.getKey().equals(vo.getBusinessType())){ + CoscoAccessWork coscoAccessWork = new CoscoAccessWork(); + coscoAccessWork.setApproveStatus(vo.getApproveStatus()); + coscoAccessWork.setId(coscoProcessBusiness.getBusinessId()); + return receiveApprove(coscoAccessWork); + } + //供应商品类准入审批 + if(BusinessTypeEnum.SUPPLIER_CATEGORY_ACCESS_APPROVAL.getKey().equals(vo.getBusinessType())){ + CoscoAccessWork coscoAccessWork = new CoscoAccessWork(); + coscoAccessWork.setApproveStatus(vo.getApproveStatus()); + coscoAccessWork.setId(coscoProcessBusiness.getBusinessId()); + return receiveCategoryApprove(coscoAccessWork); + } + //退出审批 + if(BusinessTypeEnum.EXIT_APPROVAL.getKey().equals(vo.getBusinessType())){ + CoscoSupplierexit coscoSupplierexit = new CoscoSupplierexit(); + coscoSupplierexit.setApproveStatus(vo.getApproveStatus()); + coscoSupplierexit.setId(coscoProcessBusiness.getBusinessId()); + return supplierCategoryTcApprove(coscoSupplierexit); + } + //供应商信息变更审批 + if(BusinessTypeEnum.SUPPLIER_INFO_CHANGE_APPROVAL.getKey().equals(vo.getBusinessType())){ + CoscoSupplierChangeApply coscoSupplierChangeApply = new CoscoSupplierChangeApply(); + coscoSupplierChangeApply.setApproveStatus(vo.getApproveStatus()); + coscoSupplierChangeApply.setId(coscoProcessBusiness.getBusinessId()); + coscoSupplierChangeApply.setWorkFlowId(vo.getProcessInstanceId()); + return supplierChangeApprove(coscoSupplierChangeApply); + } + return BaseResponse.success(); + } } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/controller/UserController.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/controller/UserController.java index b0670f7..78ae497 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/controller/UserController.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/controller/UserController.java @@ -1,15 +1,17 @@ package com.chinaunicom.zyhy.ebtp.supplier.base.controller; -import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; -import com.chinaunicom.mall.ebtp.common.base.entity.SysSupplierUser; -import com.chinaunicom.mall.ebtp.common.base.entity.SysUser; -import com.chinaunicom.mall.ebtp.common.base.entity.SysUserVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.chinaunicom.mall.ebtp.common.base.entity.*; +import com.chinaunicom.mall.ebtp.common.base.util.TokenUtil; import com.chinaunicom.zyhy.ebtp.supplier.base.service.IUserService; import com.chinaunicom.zyhy.ebtp.supplier.base.service.impl.UserServiceImpl; import com.chinaunicom.zyhy.ebtp.supplier.base.vo.SelectUserVo; +import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cloud.openfeign.SpringQueryMap; +import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; @RestController @@ -55,8 +57,14 @@ public class UserController { return BaseResponse.success(userService.supplierUserPwd(sysSupplierUser)); } - - - - + @ApiOperation("根据用户ID查询本单位下所有用户分页数据") + @PostMapping("/getPageByUserCompany") + public BaseResponse> getPageByUserCompany(@ApiParam(value = "分页及查询条件", required = true) @RequestBody SysUserVO sysUserVO){ + //如果单位orgId 是空就通过当前登录人id查询 + if(StringUtils.isEmpty(sysUserVO.getOrgId())){ + BaseCacheUser currentUser = TokenUtil.getCurrentUser(); + sysUserVO.setUserId(currentUser.getUserId()); + } + return userService.getPageByUserCompany(sysUserVO); + } } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/IOrgService.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/IOrgService.java index 301a4c9..6505342 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/IOrgService.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/IOrgService.java @@ -1,8 +1,14 @@ package com.chinaunicom.zyhy.ebtp.supplier.base.service; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chinaunicom.mall.ebtp.common.base.entity.*; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.vo.OrgDeptVo; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import java.util.List; import java.util.Map; @@ -44,6 +50,14 @@ public interface IOrgService { */ BaseResponse> getOrglist(SysOrgVO param); + /** + * 查询机构列表(分页) + * @param sysOrgVO + * @return + */ + BaseResponse> getOrgPage(SysOrgVO sysOrgVO); + + /** * 查询所有数据(树形结构) * @param sysOrg diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/IUserService.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/IUserService.java index 601c81c..c9e71b2 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/IUserService.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/IUserService.java @@ -1,11 +1,14 @@ package com.chinaunicom.zyhy.ebtp.supplier.base.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chinaunicom.mall.ebtp.common.base.entity.*; import com.chinaunicom.zyhy.ebtp.supplier.base.vo.SelectUserVo; import com.chinaunicom.zyhy.ebtp.supplier.base.vo.UserVo; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoSupplierBase; +import io.swagger.annotations.ApiParam; +import org.springframework.web.bind.annotation.RequestBody; import java.util.List; @@ -30,6 +33,6 @@ public interface IUserService{ boolean supplierUserPwd(SysSupplierUser sysSupplierUser); - + BaseResponse> getPageByUserCompany(SysUserVO sysUserVO); } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/WorkFlowService.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/WorkFlowService.java new file mode 100644 index 0000000..d097c6a --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/WorkFlowService.java @@ -0,0 +1,19 @@ +package com.chinaunicom.zyhy.ebtp.supplier.base.service; + +import com.chinaunicom.mall.ebtp.common.base.entity.BaseCacheUser; +import com.chinaunicom.zyhy.ebtp.supplier.base.vo.WorkflowCreateVo; + +public interface WorkFlowService { + + /** + * 流程启动方法 + * @param key 业务类型 + * @param businessId 业务id + * @param userId 人员id + * @param orgId 人员单位 + * @param object 业务对象 + * @return + */ + WorkflowCreateVo create(String key,String businessId,String userId,String orgId,Object object); + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/impl/OrgServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/impl/OrgServiceImpl.java index ea562a0..8ef8ed7 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/impl/OrgServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/impl/OrgServiceImpl.java @@ -1,6 +1,8 @@ package com.chinaunicom.zyhy.ebtp.supplier.base.service.impl; import com.alibaba.nacos.common.utils.StringUtils; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chinaunicom.mall.ebtp.common.base.client.SystemClient; import com.chinaunicom.mall.ebtp.common.base.entity.*; import com.chinaunicom.mall.ebtp.common.base.util.TokenUtil; @@ -76,6 +78,11 @@ public class OrgServiceImpl implements IOrgService { return systemClient.getOrglist(param); } + @Override + public BaseResponse> getOrgPage(SysOrgVO sysOrgVO) { + return systemClient.getOrgPage(sysOrgVO); + } + /** * 查询所有数据(树形结构) * @param sysOrg diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/impl/UserServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/impl/UserServiceImpl.java index 129d9ec..d44ccd7 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/impl/UserServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/impl/UserServiceImpl.java @@ -1,5 +1,6 @@ package com.chinaunicom.zyhy.ebtp.supplier.base.service.impl; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chinaunicom.mall.ebtp.common.base.client.SystemClient; import com.chinaunicom.mall.ebtp.common.base.entity.*; @@ -86,6 +87,11 @@ public class UserServiceImpl implements IUserService { return systemClient.update(sysSupplierUser).isSuccess(); } + @Override + public BaseResponse> getPageByUserCompany(SysUserVO sysUserVO) { + return systemClient.getPageByUserCompany(sysUserVO); + } + public List getUser(SelectUserVo vo) { BaseResponse> userlist = systemClient.getUserlist(new SysUser()); List list = new ArrayList<>(); diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/impl/WorkFlowServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/impl/WorkFlowServiceImpl.java new file mode 100644 index 0000000..002bb08 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/service/impl/WorkFlowServiceImpl.java @@ -0,0 +1,62 @@ +package com.chinaunicom.zyhy.ebtp.supplier.base.service.impl; + +import com.chinaunicom.mall.ebtp.common.base.entity.BaseCacheUser; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; +import com.chinaunicom.mall.ebtp.common.base.util.TokenUtil; +import com.chinaunicom.mall.ebtp.common.workflow.client.WorkflowFeignClient; +import com.chinaunicom.mall.ebtp.common.workflow.entity.WorkflowCreateResponse; +import com.chinaunicom.zyhy.ebtp.supplier.base.constant.CoscoType; +import com.chinaunicom.zyhy.ebtp.supplier.base.service.WorkFlowService; +import com.chinaunicom.zyhy.ebtp.supplier.base.vo.WorkflowCreateVo; +import com.chinaunicom.zyhy.ebtp.supplier.process.entity.CoscoProcessEnv; +import com.chinaunicom.zyhy.ebtp.supplier.process.service.CoscoProcessEnvService; +import com.chinaunicom.zyhy.ebtp.supplier.process.service.ICoscoProcessBusinessService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; + + +@Service +public class WorkFlowServiceImpl implements WorkFlowService { + + @Autowired + private WorkflowFeignClient workflowFeignClient; + + @Autowired + private CoscoProcessEnvService coscoProcessEnvService; + + @Autowired + private ICoscoProcessBusinessService coscoProcessBusinessService; + + + /** + * 流程启动方法 + * @param key 业务类型 + * @param businessId 业务id + * @param userId 人员id + * @param orgId 人员单位 + * @param object 业务对象 + * @return + */ + @Override + public WorkflowCreateVo create(String key,String businessId, String userId,String orgId, Object object) { + WorkflowCreateVo workflowCreateVo = new WorkflowCreateVo(); + //查询流程配置表 + CoscoProcessEnv coscoProcessEnv = coscoProcessEnvService.selectByBusinessType(key); + //封装url + String url = coscoProcessEnvService.buildBusinessUrl(key,userId, object); + + //调用流程 + BaseResponse baseResponse = workflowFeignClient.create(userId,userId,orgId,coscoProcessEnv.getModelId(),coscoProcessEnv.getBusinessKey(),url); + if(baseResponse.isSuccess() && !ObjectUtils.isEmpty(baseResponse.getData())){ + workflowCreateVo.setProcessInstanceId(baseResponse.getData().getProcessInstanceId());//流程id + workflowCreateVo.setApproveStatus(CoscoType.APPROVE_STATUS_SPZ); + }else{ + workflowCreateVo.setApproveStatus(CoscoType.APPROVE_STATUS_ERROR); + } + workflowCreateVo.setUrl(url); + //保存流程记录 + coscoProcessBusinessService.insertCoscoProcessBusiness(key,businessId,workflowCreateVo.getUrl(),workflowCreateVo.getProcessInstanceId()); + return workflowCreateVo; + } +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/vo/ProcessCallbackVo.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/vo/ProcessCallbackVo.java new file mode 100644 index 0000000..aa7d4b5 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/vo/ProcessCallbackVo.java @@ -0,0 +1,34 @@ +package com.chinaunicom.zyhy.ebtp.supplier.base.vo; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +/** + * 流程处理回调实体 + */ +@Data +public class ProcessCallbackVo { + /** + * 业务类型(枚举) + */ + @NotBlank(message = "业务类型不能为空") + private String businessType; + /** + * 流程实例ID + */ + @NotBlank(message = "流程实例ID不能为空") + private String processInstanceId; + /** + * 业务ID + */ + private String businessId; + + /** + * 审批状态(0.审批中、2表示已通过 3表示已拒绝 4表示已终止 6表示退回 7.表示驳回 8审批失败) + */ + @NotNull(message = "审批状态不能为空") + private Long approveStatus; + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/vo/WorkflowCreateVo.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/vo/WorkflowCreateVo.java new file mode 100644 index 0000000..d727289 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/vo/WorkflowCreateVo.java @@ -0,0 +1,28 @@ +package com.chinaunicom.zyhy.ebtp.supplier.base.vo; + +import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; +import com.chinaunicom.mall.ebtp.common.workflow.entity.WorkflowCreateResponse; +import lombok.Data; + +/** + * 流程发起实体 + */ +@Data +public class WorkflowCreateVo { + + /** + * 封装好的url + */ + private String url; + + /** + * 流程实例id + */ + private String processInstanceId; + + /** + * 审批状态 + */ + private Long approveStatus; + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoAccessSupplierCategoryMapper.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoAccessSupplierCategoryMapper.java index 67f18e4..8223b6f 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoAccessSupplierCategoryMapper.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoAccessSupplierCategoryMapper.java @@ -42,7 +42,7 @@ public interface CoscoAccessSupplierCategoryMapper { */ public int selectCount(CoscoAccessSupplierCategory category); - public List selectCategoryByDeptIdList(List deptIds); + public List selectOrgIdBySupplierId(String supplierId); /** diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoSupplierChangeWorkFlowMapper.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoSupplierChangeWorkFlowMapper.java new file mode 100644 index 0000000..81cb427 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoSupplierChangeWorkFlowMapper.java @@ -0,0 +1,74 @@ +package com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper; + +import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoSupplierChangeWorkFlow; + +import java.util.List; + +/** + * 中远海运_供应商_供应商信息变更与审批单位关联Mapper接口 + * + * @author ruoyi + * @date 2025-08-11 + */ +public interface CoscoSupplierChangeWorkFlowMapper { + /** + * 查询中远海运_供应商_供应商信息变更与审批单位关联 + * + * @param id 中远海运_供应商_供应商信息变更与审批单位关联主键 + * @return 中远海运_供应商_供应商信息变更与审批单位关联 + */ + public CoscoSupplierChangeWorkFlow selectCoscoSupplierChangeWorkFlowById(String id); + + + /** + * 通过流程id查询 + * @param workFlowId + * @return + */ + public CoscoSupplierChangeWorkFlow selectCoscoSupplierChangeWorkFlowId(String workFlowId); + + + /** + * 查询中远海运_供应商_供应商信息变更与审批单位关联列表 + * + * @param coscoSupplierChangeWorkFlow 中远海运_供应商_供应商信息变更与审批单位关联 + * @return 中远海运_供应商_供应商信息变更与审批单位关联集合 + */ + public List selectCoscoSupplierChangeWorkFlowList(CoscoSupplierChangeWorkFlow coscoSupplierChangeWorkFlow); + + /** + * 新增中远海运_供应商_供应商信息变更与审批单位关联 + * + * @param coscoSupplierChangeWorkFlow 中远海运_供应商_供应商信息变更与审批单位关联 + * @return 结果 + */ + public int insertCoscoSupplierChangeWorkFlow(CoscoSupplierChangeWorkFlow coscoSupplierChangeWorkFlow); + + public int batchCoscoSupplierChangeWorkFlow(List coscoSupplierChangeWorkFlows); + + + + /** + * 修改中远海运_供应商_供应商信息变更与审批单位关联 + * + * @param coscoSupplierChangeWorkFlow 中远海运_供应商_供应商信息变更与审批单位关联 + * @return 结果 + */ + public int updateCoscoSupplierChangeWorkFlow(CoscoSupplierChangeWorkFlow coscoSupplierChangeWorkFlow); + + /** + * 删除中远海运_供应商_供应商信息变更与审批单位关联 + * + * @param id 中远海运_供应商_供应商信息变更与审批单位关联主键 + * @return 结果 + */ + public int deleteCoscoSupplierChangeWorkFlowById(String id); + + /** + * 批量删除中远海运_供应商_供应商信息变更与审批单位关联 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteCoscoSupplierChangeWorkFlowByIds(String[] ids); +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/entity/CoscoSupplierChangeWorkFlow.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/entity/CoscoSupplierChangeWorkFlow.java new file mode 100644 index 0000000..c090363 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/entity/CoscoSupplierChangeWorkFlow.java @@ -0,0 +1,35 @@ +package com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity; + +import com.chinaunicom.zyhy.ebtp.supplier.common.CoscoBaseEntity; +import lombok.Data; + +/** + * 中远海运_供应商_供应商信息变更与审批单位关联对象 cosco_supplier_change_work_flow + * + * @author ruoyi + * @date 2025-08-11 + */ +@Data +public class CoscoSupplierChangeWorkFlow extends CoscoBaseEntity { + private static final long serialVersionUID = 1L; + + /** 主键ID */ + private String id; + + /** 供应商信息变更申请id(cosco_supplier_change_apply表主键) */ + private String supplierChangeApplyId; + + /** 供应商id(cosco_supplier_base表主键) */ + private String supplierId; + + /** 审批工作流id */ + private String workFlowId; + + /** 单位id */ + private String orgId; + + /** 审批状态(0.待审批、1.通过、2.驳回) */ + private Long approveStatus; + + +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/ICoscoAccessWorkService.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/ICoscoAccessWorkService.java index 82a3415..675559a 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/ICoscoAccessWorkService.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/ICoscoAccessWorkService.java @@ -1,6 +1,7 @@ package com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.service; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessSupplier; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.vo.CoscoAccessUserItemVo; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessWork; @@ -90,7 +91,7 @@ public interface ICoscoAccessWorkService { * 发起审批 * @return */ - public int startApprove(String id); + public Integer startApprove(String id); /** diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/ICoscoSupplierChangeWorkFlowService.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/ICoscoSupplierChangeWorkFlowService.java new file mode 100644 index 0000000..87526d6 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/ICoscoSupplierChangeWorkFlowService.java @@ -0,0 +1,68 @@ +package com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.service; + + +import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoSupplierChangeWorkFlow; + +import java.util.List; + +/** + * 中远海运_供应商_供应商信息变更与审批单位关联Service接口 + * + * @author ruoyi + * @date 2025-08-11 + */ +public interface ICoscoSupplierChangeWorkFlowService { + /** + * 查询中远海运_供应商_供应商信息变更与审批单位关联 + * + * @param id 中远海运_供应商_供应商信息变更与审批单位关联主键 + * @return 中远海运_供应商_供应商信息变更与审批单位关联 + */ + public CoscoSupplierChangeWorkFlow selectCoscoSupplierChangeWorkFlowById(String id); + + /** + * 查询中远海运_供应商_供应商信息变更与审批单位关联列表 + * + * @param coscoSupplierChangeWorkFlow 中远海运_供应商_供应商信息变更与审批单位关联 + * @return 中远海运_供应商_供应商信息变更与审批单位关联集合 + */ + public List selectCoscoSupplierChangeWorkFlowList(CoscoSupplierChangeWorkFlow coscoSupplierChangeWorkFlow); + + /** + * 新增中远海运_供应商_供应商信息变更与审批单位关联 + * + * @param coscoSupplierChangeWorkFlow 中远海运_供应商_供应商信息变更与审批单位关联 + * @return 结果 + */ + public int insertCoscoSupplierChangeWorkFlow(CoscoSupplierChangeWorkFlow coscoSupplierChangeWorkFlow); + + public int batchCoscoSupplierChangeWorkFlow(List coscoSupplierChangeWorkFlows); + + + /** + * 修改中远海运_供应商_供应商信息变更与审批单位关联 + * + * @param coscoSupplierChangeWorkFlow 中远海运_供应商_供应商信息变更与审批单位关联 + * @return 结果 + */ + public int updateCoscoSupplierChangeWorkFlow(CoscoSupplierChangeWorkFlow coscoSupplierChangeWorkFlow); + + + public int updateCoscoSupplierChangeWorkFlowByWorkFlowId(CoscoSupplierChangeWorkFlow coscoSupplierChangeWorkFlow); + + /** + * 批量删除中远海运_供应商_供应商信息变更与审批单位关联 + * + * @param ids 需要删除的中远海运_供应商_供应商信息变更与审批单位关联主键集合 + * @return 结果 + */ + public int deleteCoscoSupplierChangeWorkFlowByIds(String[] ids); + + /** + * 删除中远海运_供应商_供应商信息变更与审批单位关联信息 + * + * @param id 中远海运_供应商_供应商信息变更与审批单位关联主键 + * @return 结果 + */ + public int deleteCoscoSupplierChangeWorkFlowById(String id); +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoAccessWorkCategoryServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoAccessWorkCategoryServiceImpl.java index 147444a..f7f4e68 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoAccessWorkCategoryServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoAccessWorkCategoryServiceImpl.java @@ -7,7 +7,10 @@ import com.chinaunicom.mall.ebtp.common.base.entity.SysOrg; import com.chinaunicom.mall.ebtp.common.base.entity.SysOrgVO; import com.chinaunicom.mall.ebtp.common.base.util.TokenUtil; import com.chinaunicom.mall.ebtp.common.util.PropertyUtils; +import com.chinaunicom.mall.ebtp.common.workflow.constant.BusinessTypeEnum; import com.chinaunicom.zyhy.ebtp.supplier.base.service.IOrgService; +import com.chinaunicom.zyhy.ebtp.supplier.base.service.WorkFlowService; +import com.chinaunicom.zyhy.ebtp.supplier.base.vo.WorkflowCreateVo; import com.chinaunicom.zyhy.ebtp.supplier.common.CoscoDateUtils; import com.chinaunicom.zyhy.ebtp.supplier.base.constant.CoscoType; import com.chinaunicom.zyhy.ebtp.supplier.base.constant.MessageType; @@ -60,6 +63,12 @@ public class CoscoAccessWorkCategoryServiceImpl implements ICoscoAccessWorkCateg private IOrgService orgService; + @Autowired + private WorkFlowService workFlowService; + + + + @Override public IPage getPage(CoscoAccessWork data) { // 创建分页对象(当前页,每页大小) @@ -178,13 +187,22 @@ public class CoscoAccessWorkCategoryServiceImpl implements ICoscoAccessWorkCateg } @Override + @Transactional public Integer startApprove(String id) { + BaseCacheUser currentUser = TokenUtil.getCurrentUser(); + String userId = currentUser.getUserId(); + //修改任务主表审批状态--通过或者驳回 CoscoAccessWork coscoAccessWork = new CoscoAccessWork(); coscoAccessWork.setId(id); - coscoAccessWork.setApproveStatus(CoscoType.APPROVE_STATUS_SPZ); - //*************调用三方审批接口*********** + //业务类型(枚举) + String key = BusinessTypeEnum.SUPPLIER_CATEGORY_ACCESS_APPROVAL.getKey(); + //调用流程并保存流程发起记录 + WorkflowCreateVo workflowCreateVo = workFlowService.create(key,id,userId,currentUser.getOrganizationId(),coscoAccessWork); + + coscoAccessWork.setWorkFlowId(workflowCreateVo.getProcessInstanceId());//流程id + coscoAccessWork.setApproveStatus(workflowCreateVo.getApproveStatus()); return updateWork(coscoAccessWork); diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoAccessWorkServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoAccessWorkServiceImpl.java index e442434..cbff870 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoAccessWorkServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoAccessWorkServiceImpl.java @@ -5,9 +5,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chinaunicom.mall.ebtp.common.base.entity.*; import com.chinaunicom.mall.ebtp.common.base.util.TokenUtil; import com.chinaunicom.mall.ebtp.common.util.PropertyUtils; +import com.chinaunicom.mall.ebtp.common.workflow.client.WorkflowFeignClient; +import com.chinaunicom.mall.ebtp.common.workflow.constant.BusinessTypeEnum; +import com.chinaunicom.mall.ebtp.common.workflow.entity.WorkflowCreateResponse; import com.chinaunicom.zyhy.ebtp.supplier.base.service.IDtService; import com.chinaunicom.zyhy.ebtp.supplier.base.service.IOrgService; import com.chinaunicom.zyhy.ebtp.supplier.base.service.IUserService; +import com.chinaunicom.zyhy.ebtp.supplier.base.service.WorkFlowService; +import com.chinaunicom.zyhy.ebtp.supplier.base.vo.WorkflowCreateVo; import com.chinaunicom.zyhy.ebtp.supplier.common.CoscoDateUtils; import com.chinaunicom.zyhy.ebtp.supplier.base.constant.CoscoType; import com.chinaunicom.zyhy.ebtp.supplier.base.constant.MessageType; @@ -17,6 +22,10 @@ import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper.*; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.*; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.service.*; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.vo.*; +import com.chinaunicom.zyhy.ebtp.supplier.process.entity.CoscoProcessBusiness; +import com.chinaunicom.zyhy.ebtp.supplier.process.entity.CoscoProcessEnv; +import com.chinaunicom.zyhy.ebtp.supplier.process.service.CoscoProcessEnvService; +import com.chinaunicom.zyhy.ebtp.supplier.process.service.ICoscoProcessBusinessService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -24,6 +33,8 @@ import org.springframework.util.CollectionUtils; import org.springframework.util.ObjectUtils; import org.springframework.util.StringUtils; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.*; import java.util.stream.Collectors; @@ -65,6 +76,8 @@ public class CoscoAccessWorkServiceImpl implements ICoscoAccessWorkService { @Autowired private IDtService dtService; + @Autowired + private WorkFlowService workFlowService; /** * 供应商准入管理列表 @@ -695,21 +708,27 @@ public class CoscoAccessWorkServiceImpl implements ICoscoAccessWorkService { } /** - * 发起审批 + * 发起审批---供应商发起准入 * @return */ @Override - public int startApprove(String id) { + @Transactional + public Integer startApprove(String id) { BaseCacheUser currentUser = TokenUtil.getCurrentUser(); String userId = currentUser.getUserId(); //修改任务主表审批状态--审批中 CoscoAccessWork coscoAccessWork = new CoscoAccessWork(); coscoAccessWork.setId(id); - coscoAccessWork.setApproveStatus(CoscoType.APPROVE_STATUS_SPZ); coscoAccessWork.setUpdateBy(userId); + //业务类型(枚举) + String key = BusinessTypeEnum.SUPPLIER_ACCESS_APPROVAL.getKey(); + //调用流程并保存流程发起记录 + WorkflowCreateVo workflowCreateVo = workFlowService.create(key,id,userId,currentUser.getOrganizationId(),coscoAccessWork); - //*********************************调用三方接口****************************** + coscoAccessWork.setWorkFlowId(workflowCreateVo.getProcessInstanceId());//流程id + coscoAccessWork.setApproveStatus(workflowCreateVo.getApproveStatus()); + //主体任务修改 return updateWork(coscoAccessWork); } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoSupplierBaseServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoSupplierBaseServiceImpl.java index 337fa2d..e25e784 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoSupplierBaseServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoSupplierBaseServiceImpl.java @@ -8,10 +8,13 @@ import com.chinaunicom.mall.ebtp.common.base.entity.*; import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl; import com.chinaunicom.mall.ebtp.common.base.util.TokenUtil; import com.chinaunicom.mall.ebtp.common.util.PropertyUtils; +import com.chinaunicom.mall.ebtp.common.workflow.constant.BusinessTypeEnum; import com.chinaunicom.zyhy.ebtp.supplier.base.service.IDictService; import com.chinaunicom.zyhy.ebtp.supplier.base.service.IOrgService; import com.chinaunicom.zyhy.ebtp.supplier.base.service.IUserService; +import com.chinaunicom.zyhy.ebtp.supplier.base.service.WorkFlowService; import com.chinaunicom.zyhy.ebtp.supplier.base.vo.OrgNameVo; +import com.chinaunicom.zyhy.ebtp.supplier.base.vo.WorkflowCreateVo; import com.chinaunicom.zyhy.ebtp.supplier.common.ChineseName; import com.chinaunicom.zyhy.ebtp.supplier.common.CoscoDateUtils; import com.chinaunicom.zyhy.ebtp.supplier.base.constant.CoscoType; @@ -85,6 +88,9 @@ public class CoscoSupplierBaseServiceImpl extends BaseServiceImpl redisTemplate; + @Autowired + private WorkFlowService workFlowService; /** @@ -537,33 +545,38 @@ public class CoscoSupplierBaseServiceImpl extends BaseServiceImpl orgIds = coscoAccessSupplierCategoryMapper.selectOrgIdBySupplierId(oldCoscoSupplierBase.getId()); + List coscoSupplierChangeWorkFlows = new ArrayList<>(); + for(String orgId : orgIds){ + //调用流程并保存流程发起记录 + WorkflowCreateVo workflowCreateVo = workFlowService.create(key,applyId,userId,orgId,coscoSupplierChangeApply); + CoscoSupplierChangeWorkFlow coscoSupplierChangeWorkFlow = new CoscoSupplierChangeWorkFlow(); + coscoSupplierChangeWorkFlow.setId(PropertyUtils.getSnowflakeId()); + coscoSupplierChangeWorkFlow.setSupplierChangeApplyId(applyId); + coscoSupplierChangeWorkFlow.setSupplierId(oldCoscoSupplierBase.getId()); + coscoSupplierChangeWorkFlow.setOrgId(orgId); + coscoSupplierChangeWorkFlow.setApproveStatus(workflowCreateVo.getApproveStatus()); + coscoSupplierChangeWorkFlow.setWorkFlowId(workflowCreateVo.getProcessInstanceId()); + coscoSupplierChangeWorkFlows.add(coscoSupplierChangeWorkFlow); + + } + //变更表与审批单位关联表保存 + coscoSupplierChangeWorkFlowService.batchCoscoSupplierChangeWorkFlow(coscoSupplierChangeWorkFlows); + + //主表信息保存 + coscoSupplierChangeApply.setApproveStatus(CoscoType.APPROVE_STATUS_SPZ); return coscoSupplierChangeApplyMapper.insertCoscoSupplierChangeApply(coscoSupplierChangeApply); } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoSupplierChangeWorkFlowServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoSupplierChangeWorkFlowServiceImpl.java new file mode 100644 index 0000000..028f513 --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoSupplierChangeWorkFlowServiceImpl.java @@ -0,0 +1,99 @@ +package com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.service.impl; + +import java.util.List; + +import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper.CoscoSupplierChangeWorkFlowMapper; +import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoSupplierChangeWorkFlow; +import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.service.ICoscoSupplierChangeWorkFlowService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 中远海运_供应商_供应商信息变更与审批单位关联Service业务层处理 + * + * @author ruoyi + * @date 2025-08-11 + */ +@Service +public class CoscoSupplierChangeWorkFlowServiceImpl implements ICoscoSupplierChangeWorkFlowService { + @Autowired + private CoscoSupplierChangeWorkFlowMapper coscoSupplierChangeWorkFlowMapper; + + /** + * 查询中远海运_供应商_供应商信息变更与审批单位关联 + * + * @param id 中远海运_供应商_供应商信息变更与审批单位关联主键 + * @return 中远海运_供应商_供应商信息变更与审批单位关联 + */ + @Override + public CoscoSupplierChangeWorkFlow selectCoscoSupplierChangeWorkFlowById(String id) { + return coscoSupplierChangeWorkFlowMapper.selectCoscoSupplierChangeWorkFlowById(id); + } + + /** + * 查询中远海运_供应商_供应商信息变更与审批单位关联列表 + * + * @param coscoSupplierChangeWorkFlow 中远海运_供应商_供应商信息变更与审批单位关联 + * @return 中远海运_供应商_供应商信息变更与审批单位关联 + */ + @Override + public List selectCoscoSupplierChangeWorkFlowList(CoscoSupplierChangeWorkFlow coscoSupplierChangeWorkFlow) { + return coscoSupplierChangeWorkFlowMapper.selectCoscoSupplierChangeWorkFlowList(coscoSupplierChangeWorkFlow); + } + + /** + * 新增中远海运_供应商_供应商信息变更与审批单位关联 + * + * @param coscoSupplierChangeWorkFlow 中远海运_供应商_供应商信息变更与审批单位关联 + * @return 结果 + */ + @Override + public int insertCoscoSupplierChangeWorkFlow(CoscoSupplierChangeWorkFlow coscoSupplierChangeWorkFlow) { + return coscoSupplierChangeWorkFlowMapper.insertCoscoSupplierChangeWorkFlow(coscoSupplierChangeWorkFlow); + } + + @Override + public int batchCoscoSupplierChangeWorkFlow(List coscoSupplierChangeWorkFlows) { + return coscoSupplierChangeWorkFlowMapper.batchCoscoSupplierChangeWorkFlow(coscoSupplierChangeWorkFlows); + } + + /** + * 修改中远海运_供应商_供应商信息变更与审批单位关联 + * + * @param coscoSupplierChangeWorkFlow 中远海运_供应商_供应商信息变更与审批单位关联 + * @return 结果 + */ + @Override + public int updateCoscoSupplierChangeWorkFlow(CoscoSupplierChangeWorkFlow coscoSupplierChangeWorkFlow) { + return coscoSupplierChangeWorkFlowMapper.updateCoscoSupplierChangeWorkFlow(coscoSupplierChangeWorkFlow); + } + + @Override + public int updateCoscoSupplierChangeWorkFlowByWorkFlowId(CoscoSupplierChangeWorkFlow coscoSupplierChangeWorkFlow) { + CoscoSupplierChangeWorkFlow changeWorkFlow = coscoSupplierChangeWorkFlowMapper.selectCoscoSupplierChangeWorkFlowId(coscoSupplierChangeWorkFlow.getWorkFlowId()); + coscoSupplierChangeWorkFlow.setId(changeWorkFlow.getId()); + return coscoSupplierChangeWorkFlowMapper.updateCoscoSupplierChangeWorkFlow(coscoSupplierChangeWorkFlow); + } + + /** + * 批量删除中远海运_供应商_供应商信息变更与审批单位关联 + * + * @param ids 需要删除的中远海运_供应商_供应商信息变更与审批单位关联主键 + * @return 结果 + */ + @Override + public int deleteCoscoSupplierChangeWorkFlowByIds(String[] ids) { + return coscoSupplierChangeWorkFlowMapper.deleteCoscoSupplierChangeWorkFlowByIds(ids); + } + + /** + * 删除中远海运_供应商_供应商信息变更与审批单位关联信息 + * + * @param id 中远海运_供应商_供应商信息变更与审批单位关联主键 + * @return 结果 + */ + @Override + public int deleteCoscoSupplierChangeWorkFlowById(String id) { + return coscoSupplierChangeWorkFlowMapper.deleteCoscoSupplierChangeWorkFlowById(id); + } +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoSupplierexitServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoSupplierexitServiceImpl.java index 2ef7337..3691d25 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoSupplierexitServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoSupplierexitServiceImpl.java @@ -6,9 +6,12 @@ import com.chinaunicom.mall.ebtp.common.base.entity.BaseCacheUser; import com.chinaunicom.mall.ebtp.common.base.entity.SysOrg; import com.chinaunicom.mall.ebtp.common.base.util.TokenUtil; import com.chinaunicom.mall.ebtp.common.util.PropertyUtils; +import com.chinaunicom.mall.ebtp.common.workflow.constant.BusinessTypeEnum; import com.chinaunicom.zyhy.ebtp.supplier.base.constant.CoscoType; import com.chinaunicom.zyhy.ebtp.supplier.base.constant.MessageType; import com.chinaunicom.zyhy.ebtp.supplier.base.service.IOrgService; +import com.chinaunicom.zyhy.ebtp.supplier.base.service.WorkFlowService; +import com.chinaunicom.zyhy.ebtp.supplier.base.vo.WorkflowCreateVo; import com.chinaunicom.zyhy.ebtp.supplier.common.aop.MessageLog; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper.CoscoSupplierBaseMapper; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper.*; @@ -54,6 +57,8 @@ public class CoscoSupplierexitServiceImpl implements ICoscoSupplierexitService { @Autowired private IOrgService orgService; + @Autowired + private WorkFlowService workFlowService; @Override public IPage getPage(CoscoSupplierexit data) { @@ -216,7 +221,12 @@ public class CoscoSupplierexitServiceImpl implements ICoscoSupplierexitService { } coscoSupplierexitSupplierCategoryMapper.batchCoscoSupplierexitSupplierCategory(categoryList); - //****************调用三方接口********************* + //业务类型(枚举) + String key = BusinessTypeEnum.EXIT_APPROVAL.getKey(); + //调用流程并保存流程发起记录 + WorkflowCreateVo workflowCreateVo = workFlowService.create(key,exitId,userId,currentUser.getOrganizationId(),new CoscoSupplierexit()); + + //基础信息保存--审批中 CoscoSupplierexit coscoSupplierexit = vo.getCoscoSupplierexit(); @@ -227,7 +237,8 @@ public class CoscoSupplierexitServiceImpl implements ICoscoSupplierexitService { coscoSupplierexit.setUpdateBy(userId); coscoSupplierexit.setUpdateTime(date); coscoSupplierexit.setLastUpdateTime(date); - coscoSupplierexit.setApproveStatus(CoscoType.APPROVE_STATUS_SPZ); + coscoSupplierexit.setApproveStatus(workflowCreateVo.getApproveStatus()); + coscoSupplierexit.setWorkFlowId(workflowCreateVo.getProcessInstanceId()); return coscoSupplierexitMapper.insertCoscoSupplierexit(coscoSupplierexit); } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/process/dao/CoscoProcessBusinessMapper.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/process/dao/CoscoProcessBusinessMapper.java index d674e02..35c6c77 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/process/dao/CoscoProcessBusinessMapper.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/process/dao/CoscoProcessBusinessMapper.java @@ -19,6 +19,14 @@ public interface CoscoProcessBusinessMapper { */ public CoscoProcessBusiness selectCoscoProcessBusinessById(String id); + /** + * 流程实例id + * @param processInstanceId + * @return + */ + public CoscoProcessBusiness selectCoscoProcessBusinessByProcessInstanceId(String processInstanceId); + + /** * 查询流程业务关联列表 * diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/process/entity/CoscoProcessBusiness.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/process/entity/CoscoProcessBusiness.java index 3c6d321..a1df2c6 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/process/entity/CoscoProcessBusiness.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/process/entity/CoscoProcessBusiness.java @@ -28,6 +28,10 @@ public class CoscoProcessBusiness extends BaseEntity { /** 业务ID */ private String businessId; + /** 页面地址 */ + private String businessUrl; + + /** 扩展字段(json) */ private String businessExtend; diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/process/service/ICoscoProcessBusinessService.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/process/service/ICoscoProcessBusinessService.java index 29bfacb..7f80c7b 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/process/service/ICoscoProcessBusinessService.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/process/service/ICoscoProcessBusinessService.java @@ -19,6 +19,13 @@ public interface ICoscoProcessBusinessService { */ public CoscoProcessBusiness selectCoscoProcessBusinessById(String id); + /** + * 流程实例id + * @param processInstanceId + * @return + */ + public CoscoProcessBusiness selectCoscoProcessBusinessByProcessInstanceId(String processInstanceId); + /** * 查询流程业务关联列表 * @@ -30,10 +37,8 @@ public interface ICoscoProcessBusinessService { /** * 新增流程业务关联 * - * @param coscoProcessBusiness 流程业务关联 - * @return 结果 */ - public int insertCoscoProcessBusiness(CoscoProcessBusiness coscoProcessBusiness); + public int insertCoscoProcessBusiness(String key,String businessId,String url,String processInstanceId); /** * 修改流程业务关联 diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/process/service/impl/CoscoProcessBusinessServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/process/service/impl/CoscoProcessBusinessServiceImpl.java index 21e491c..a695e15 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/process/service/impl/CoscoProcessBusinessServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/process/service/impl/CoscoProcessBusinessServiceImpl.java @@ -1,5 +1,8 @@ package com.chinaunicom.zyhy.ebtp.supplier.process.service.impl; +import com.chinaunicom.mall.ebtp.common.base.entity.BaseCacheUser; +import com.chinaunicom.mall.ebtp.common.base.util.TokenUtil; +import com.chinaunicom.mall.ebtp.common.util.PropertyUtils; import com.chinaunicom.zyhy.ebtp.supplier.process.dao.CoscoProcessBusinessMapper; import com.chinaunicom.zyhy.ebtp.supplier.process.entity.CoscoProcessBusiness; import com.chinaunicom.zyhy.ebtp.supplier.process.service.ICoscoProcessBusinessService; @@ -7,6 +10,7 @@ import com.chinaunicom.zyhy.ebtp.supplier.process.service.ICoscoProcessBusinessS import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.time.LocalDateTime; import java.util.Date; import java.util.List; @@ -32,6 +36,11 @@ public class CoscoProcessBusinessServiceImpl implements ICoscoProcessBusinessSer return coscoProcessBusinessMapper.selectCoscoProcessBusinessById(id); } + @Override + public CoscoProcessBusiness selectCoscoProcessBusinessByProcessInstanceId(String processInstanceId) { + return coscoProcessBusinessMapper.selectCoscoProcessBusinessByProcessInstanceId(processInstanceId); + } + /** * 查询流程业务关联列表 * @@ -45,13 +54,24 @@ public class CoscoProcessBusinessServiceImpl implements ICoscoProcessBusinessSer /** * 新增流程业务关联 - * - * @param coscoProcessBusiness 流程业务关联 - * @return 结果 + * @param key 业务类型 + * @param businessId 业务id + * @param url 组装的url + * @param processInstanceId 流程id + * @return */ @Override - public int insertCoscoProcessBusiness(CoscoProcessBusiness coscoProcessBusiness) { + public int insertCoscoProcessBusiness(String key,String businessId,String url,String processInstanceId) { + BaseCacheUser currentUser = TokenUtil.getCurrentUser(); + CoscoProcessBusiness coscoProcessBusiness = new CoscoProcessBusiness(); + coscoProcessBusiness.setBusinessType(key); + coscoProcessBusiness.setBusinessId(businessId); + coscoProcessBusiness.setBusinessUrl(url); + coscoProcessBusiness.setProcessInstanceId(processInstanceId); + coscoProcessBusiness.setId(PropertyUtils.getSnowflakeId()); + coscoProcessBusiness.setCreateBy(currentUser.getUserId()); coscoProcessBusiness.setCreateTime(new Date()); + coscoProcessBusiness.setUpdateBy(currentUser.getUserId()); return coscoProcessBusinessMapper.insertCoscoProcessBusiness(coscoProcessBusiness); } diff --git a/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoAccessSupplierCategoryMapper.xml b/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoAccessSupplierCategoryMapper.xml index 5c263bc..bb92719 100644 --- a/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoAccessSupplierCategoryMapper.xml +++ b/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoAccessSupplierCategoryMapper.xml @@ -119,15 +119,9 @@ - + select org_id from cosco_access_supplier_category where del_flag = 'normal' and supplier_id = #{supplierId} + GROUP BY org_id diff --git a/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoprocess/dao/CoscoProcessBusinessMapper.xml b/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoProcessBusinessMapper.xml similarity index 92% rename from src/main/resources/com/chinaunicom/zyhy/ebtp/coscoprocess/dao/CoscoProcessBusinessMapper.xml rename to src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoProcessBusinessMapper.xml index 142c895..2c1d938 100644 --- a/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoprocess/dao/CoscoProcessBusinessMapper.xml +++ b/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoProcessBusinessMapper.xml @@ -9,6 +9,7 @@ + @@ -19,7 +20,7 @@ - select id, business_type, process_instance_id, business_id, business_extend, del_flag, create_by, create_time, update_by, update_time, last_update_time + select id, business_type, process_instance_id, business_id,business_url, business_extend, del_flag, create_by, create_time, update_by, update_time, last_update_time from cosco_process_business @@ -50,6 +51,12 @@ where id = #{id} + + insert into cosco_process_business @@ -57,6 +64,7 @@ business_type, process_instance_id, business_id, + business_url, business_extend, del_flag, create_by, @@ -70,6 +78,7 @@ #{businessType}, #{processInstanceId}, #{businessId}, + #{businessUrl}, #{businessExtend}, #{delFlag}, #{createBy}, diff --git a/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoSupplierChangeWorkFlowMapper.xml b/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoSupplierChangeWorkFlowMapper.xml new file mode 100644 index 0000000..4196f46 --- /dev/null +++ b/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoSupplierChangeWorkFlowMapper.xml @@ -0,0 +1,115 @@ + + + + + + + + + + + + + + + select id, supplier_change_apply_id, supplier_id, work_flow_id, org_id, approve_status + from cosco_supplier_change_work_flow + + + + + + + + + + + insert into cosco_supplier_change_work_flow + + id, + supplier_change_apply_id, + supplier_id, + work_flow_id, + org_id, + approve_status, + + + #{id}, + #{supplierChangeApplyId}, + #{supplierId}, + #{workFlowId}, + #{orgId}, + #{approveStatus}, + + + + insert into cosco_supplier_change_work_flow + ( id, supplier_change_apply_id, supplier_id, work_flow_id, org_id, approve_status) + values + + ( #{item.id}, #{item.supplierChangeApplyId}, #{item.supplierId}, #{item.workFlowId}, #{item.orgId}, #{item.approveStatus}) + + + + update cosco_supplier_change_work_flow + + supplier_change_apply_id = + #{supplierChangeApplyId}, + + supplier_id = + #{supplierId}, + + work_flow_id = + #{workFlowId}, + + org_id = + #{orgId}, + + approve_status = + #{approveStatus}, + + + where id = #{id} + + + + update cosco_supplier_change_work_flow set del_flag = 2 + where id = #{id} + + + + update cosco_supplier_change_work_flow set del_flag = 2 where id in + + #{id} + + +