From c54e50b36effaf9b872e47eb90a327ed8c32310a Mon Sep 17 00:00:00 2001
From: dimengzhe <251008545@qq.com>
Date: Fri, 8 Apr 2022 09:32:36 +0800
Subject: [PATCH] =?UTF-8?q?=E9=87=87=E8=B4=AD=E9=80=80=E5=BA=93=E6=8F=90?=
=?UTF-8?q?=E4=BA=A4=E5=8F=8A=E8=B0=83=E7=94=A8flowable=E6=B5=81=E7=A8=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../ScmVehicleReturnFeign.java | 5 +
.../scmvehiclereturn/ScmVehicleReturnVo.java | 10 +-
anrui-scm/anrui-scm-biz/pom.xml | 5 +
.../yxt/anrui/scm/AnruiScmApplication.java | 2 +-
.../ScmVehicleReturnMapper.java | 18 +++
.../ScmVehicleReturnMapper.xml | 18 +++
.../ScmVehicleReturnRest.java | 9 +-
.../ScmVehicleReturnService.java | 118 ++++++++++++++++++
8 files changed, 181 insertions(+), 4 deletions(-)
diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnFeign.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnFeign.java
index c0be9edb94..d4826ece84 100644
--- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnFeign.java
+++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnFeign.java
@@ -30,4 +30,9 @@ public interface ScmVehicleReturnFeign {
@PostMapping("/saveOrUpdate")
@ResponseBody
ResultBean saveOrUpdate(@RequestBody ScmVehicleReturnDto scmVehicleReturnDto);
+
+ @ApiOperation("提交")
+ @PostMapping("/submitVehicleReturn")
+ @ResponseBody
+ ResultBean submitVehicleReturn(@RequestBody ScmVehicleReturnDto scmVehicleReturnDto);
}
diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnVo.java
index feed0ad8c8..6ccd375e3d 100644
--- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnVo.java
+++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnVo.java
@@ -14,8 +14,8 @@ public class ScmVehicleReturnVo implements Vo {
private static final long serialVersionUID = 115347131385810982L;
@ApiModelProperty(value = "sid")
private String sid;
- @ApiModelProperty(value = "状态")
- private String state;
+ @ApiModelProperty(value = "节点状态")
+ private String nodeState;
@ApiModelProperty(value = "申请编号")
private String applicationCode;
@ApiModelProperty(value = "申请人")
@@ -25,4 +25,10 @@ public class ScmVehicleReturnVo implements Vo {
@ApiModelProperty(value = "退库原因")
private String reason;
+ @ApiModelProperty(value = "台数")
+ private Integer num;
+
+ @ApiModelProperty(value = "流程状态")
+ private Integer flowState;
+
}
diff --git a/anrui-scm/anrui-scm-biz/pom.xml b/anrui-scm/anrui-scm-biz/pom.xml
index ad26ff5d47..fcef21a4c8 100644
--- a/anrui-scm/anrui-scm-biz/pom.xml
+++ b/anrui-scm/anrui-scm-biz/pom.xml
@@ -60,6 +60,11 @@
0.0.1
compile
+
+ anrui-flowable-api
+ com.yxt.anrui
+ 0.0.1
+
diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/AnruiScmApplication.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/AnruiScmApplication.java
index 839ff488a0..cd3787d0bc 100644
--- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/AnruiScmApplication.java
+++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/AnruiScmApplication.java
@@ -48,7 +48,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
"com.yxt.common.base.config",
"com.yxt.anrui.scm"
})
-@EnableFeignClients(basePackages = {"com.yxt.anrui.buscenter", "com.yxt.anrui.portal"})
+@EnableFeignClients(basePackages = {"com.yxt.anrui.buscenter", "com.yxt.anrui.portal","com.yxt.anrui.flowable"})
public class AnruiScmApplication {
public static void main(String[] args) {
diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnMapper.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnMapper.java
index 6ec1b96a17..9532932994 100644
--- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnMapper.java
+++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnMapper.java
@@ -1,8 +1,13 @@
package com.yxt.anrui.scm.biz.scmvehiclereturn;
+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.anrui.scm.api.scmvehiclereturn.ScmVehicleReturn;
+import com.yxt.anrui.scm.api.scmvehiclereturn.ScmVehicleReturnVo;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
/**
* @Author dimengzhe
@@ -11,4 +16,17 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface ScmVehicleReturnMapper extends BaseMapper {
+ /**
+ * 分页列表
+ *
+ * @param page 分页
+ * @param qw 查询条件
+ * @return
+ */
+ IPage pagerList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw);
+
+ void modifyFlowState(@Param("businessSid") String businessSid, @Param("procDefId") String procDefId, @Param("nodeState") String nodeState,
+ @Param("procInstSid") String procInstSid, @Param("nodeSid") String nodeSid);
+
+
}
diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnMapper.xml b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnMapper.xml
index 19e4d5baff..747dfa0b5a 100644
--- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnMapper.xml
+++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnMapper.xml
@@ -1,4 +1,22 @@
+
+
+
+ update scm_vehicle_return
+ set procDefId=#{procDefId},
+ nodeState=#{nodeState},
+ procInstSid=#{procInstSid},
+ nodeSid=#{nodeSid}
+ where sid = #{businessSid}
+
\ No newline at end of file
diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnRest.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnRest.java
index b7805ec963..909c5db026 100644
--- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnRest.java
+++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnRest.java
@@ -21,11 +21,18 @@ public class ScmVehicleReturnRest implements ScmVehicleReturnFeign {
@Override
public ResultBean> listPage(PagerQuery pagerQuery) {
- return null;
+ ResultBean> rb = ResultBean.fireFail();
+ PagerVo pv = scmVehicleReturnService.listPage(pagerQuery);
+ return rb.success().setData(pv);
}
@Override
public ResultBean saveOrUpdate(ScmVehicleReturnDto scmVehicleReturnDto) {
return scmVehicleReturnService.saveOrUpdateVehicleReturn(scmVehicleReturnDto);
}
+
+ @Override
+ public ResultBean submitVehicleReturn(ScmVehicleReturnDto scmVehicleReturnDto) {
+ return scmVehicleReturnService.submitVehicleReturn(scmVehicleReturnDto);
+ }
}
diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnService.java
index b0de13ee61..ce12a262c7 100644
--- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnService.java
+++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnService.java
@@ -1,18 +1,33 @@
package com.yxt.anrui.scm.biz.scmvehiclereturn;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yxt.anrui.flowable.api.flow.FlowableFeign;
+import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFeign;
+import com.yxt.anrui.flowable.api.sysformlink.SysFormStateVo;
+import com.yxt.anrui.flowable.api.utils.procDefEnum;
+import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
+import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.scm.api.scmvehiclereturn.ScmVehicleReturn;
import com.yxt.anrui.scm.api.scmvehiclereturn.ScmVehicleReturnDto;
+import com.yxt.anrui.scm.api.scmvehiclereturn.ScmVehicleReturnQuery;
+import com.yxt.anrui.scm.api.scmvehiclereturn.ScmVehicleReturnVo;
import com.yxt.anrui.scm.api.scmvehiclereturndetails.ScmVehicleReturnDetails;
import com.yxt.anrui.scm.biz.scmvehiclereturndetails.ScmVehicleReturnDetailsService;
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 org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* @Author dimengzhe
@@ -24,6 +39,14 @@ public class ScmVehicleReturnService extends MybatisBaseService listPage(PagerQuery pagerQuery) {
+ IPage page = pagerList(pagerQuery);
+ PagerVo pv = new PagerVo<>();
+ PagerVo pv1 = PagerUtil.pageToVo(page, pv);
+ List voList = pv1.getRecords();
+ if (voList.size() > 0) {
+ for (int i = 0; i < voList.size(); i++) {
+ ResultBean resultBean = sysFormLinkFeign.selectStateByBusinessSid(voList.get(i).getSid());
+ if (resultBean.getSuccess() && resultBean.getData() != null) {
+ SysFormStateVo formState = resultBean.getData();
+ voList.get(i).setNodeState(formState.getNodeState());
+ voList.get(i).setFlowState(formState.getFlowState());
+ } else {
+ voList.get(i).setFlowState(0);
+ }
+ }
+ }
+ return pv1;
+ }
+
+ private IPage pagerList(PagerQuery pagerQuery) {
+ IPage page = PagerUtil.queryToPage(pagerQuery);
+ QueryWrapper qw = buildQueryWrapper(pagerQuery.getParams());
+ return baseMapper.pagerList(page, qw);
+ }
+
+ private QueryWrapper buildQueryWrapper(ScmVehicleReturnQuery params) {
+ QueryWrapper qw = new QueryWrapper<>();
+ if (params != null) {
+ //申请日期
+ //状态
+ }
+ return qw;
+ }
+
+ public ResultBean submitVehicleReturn(ScmVehicleReturnDto scmVehicleReturnDto) {
+ ResultBean rb = ResultBean.fireFail();
+ String orgSid = checkUserOrg(scmVehicleReturnDto.getUserSid());
+ ResultBean resultBean = saveOrUpdateVehicleReturn(scmVehicleReturnDto);
+ if (resultBean.getSuccess()) {
+ String businessSid = resultBean.getData().toString();
+ Map variables = new HashMap<>();
+ variables.put("businessSid", businessSid);
+ variables.put("isLoan", true);
+ variables.put("orgSid", orgSid);//部门sid
+ ResultBean businessResultBean = flowableFeign.businessStart(procDefEnum.ORDERDEPOSITAPPROVE.getProDefId(), scmVehicleReturnDto.getUserSid(), variables);
+ if (resultBean.getSuccess() && resultBean.getData() != null) {
+ Map map = (Map) resultBean.getData();
+ //更新退库业务表中的流程状态
+ modifyFlowState(businessSid,
+ procDefEnum.ORDERDEPOSITAPPROVE.getProDefId(),//procDefId
+ map.get("nodeState"),//state
+ map.get("procInsId"),//procInstSid
+ map.get("taskDefKey")//nodeSid
+ );
+ }
+ } else {
+ return rb.setMsg("失败");
+ }
+
+ return resultBean;
+ }
+
+ /**
+ * 查询用户是否设置了部门
+ *
+ * @param userSid 用户sid
+ * @return
+ */
+ private String checkUserOrg(String userSid) {
+ String orgSid = "";
+ String staffSid = sysUserFeign.selectBySid(userSid).getData().getStaffSid();
+ ResultBean resultBean = sysStaffOrgFeign.getSysStaffOrgSidListByStaffSid(staffSid);
+ if (resultBean.getSuccess()) {
+ orgSid = resultBean.getData();
+ }
+ return orgSid;
+ }
+
+ private void modifyFlowState(String businessSid, String proDefId, String nodeState,
+ String procInsId,
+ String taskDefKey) {
+ baseMapper.modifyFlowState(businessSid,
+ proDefId,//procDefId
+ nodeState,//state
+ procInsId,//procInstSid
+ taskDefKey);
+ }
}