Browse Source

采购退库提交及调用flowable流程

master
dimengzhe 3 years ago
parent
commit
c54e50b36e
  1. 5
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnFeign.java
  2. 10
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnVo.java
  3. 5
      anrui-scm/anrui-scm-biz/pom.xml
  4. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/AnruiScmApplication.java
  5. 18
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnMapper.java
  6. 18
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnMapper.xml
  7. 9
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnRest.java
  8. 118
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnService.java

5
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") @PostMapping("/saveOrUpdate")
@ResponseBody @ResponseBody
ResultBean saveOrUpdate(@RequestBody ScmVehicleReturnDto scmVehicleReturnDto); ResultBean saveOrUpdate(@RequestBody ScmVehicleReturnDto scmVehicleReturnDto);
@ApiOperation("提交")
@PostMapping("/submitVehicleReturn")
@ResponseBody
ResultBean submitVehicleReturn(@RequestBody ScmVehicleReturnDto scmVehicleReturnDto);
} }

10
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; private static final long serialVersionUID = 115347131385810982L;
@ApiModelProperty(value = "sid") @ApiModelProperty(value = "sid")
private String sid; private String sid;
@ApiModelProperty(value = "状态") @ApiModelProperty(value = "节点状态")
private String state; private String nodeState;
@ApiModelProperty(value = "申请编号") @ApiModelProperty(value = "申请编号")
private String applicationCode; private String applicationCode;
@ApiModelProperty(value = "申请人") @ApiModelProperty(value = "申请人")
@ -25,4 +25,10 @@ public class ScmVehicleReturnVo implements Vo {
@ApiModelProperty(value = "退库原因") @ApiModelProperty(value = "退库原因")
private String reason; private String reason;
@ApiModelProperty(value = "台数")
private Integer num;
@ApiModelProperty(value = "流程状态")
private Integer flowState;
} }

5
anrui-scm/anrui-scm-biz/pom.xml

@ -60,6 +60,11 @@
<version>0.0.1</version> <version>0.0.1</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency>
<artifactId>anrui-flowable-api</artifactId>
<groupId>com.yxt.anrui</groupId>
<version>0.0.1</version>
</dependency>
</dependencies> </dependencies>
<build> <build>

2
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.common.base.config",
"com.yxt.anrui.scm" "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 class AnruiScmApplication {
public static void main(String[] args) { public static void main(String[] args) {

18
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; 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.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.ScmVehicleReturn;
import com.yxt.anrui.scm.api.scmvehiclereturn.ScmVehicleReturnVo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/** /**
* @Author dimengzhe * @Author dimengzhe
@ -11,4 +16,17 @@ import org.apache.ibatis.annotations.Mapper;
*/ */
@Mapper @Mapper
public interface ScmVehicleReturnMapper extends BaseMapper<ScmVehicleReturn> { public interface ScmVehicleReturnMapper extends BaseMapper<ScmVehicleReturn> {
/**
* 分页列表
*
* @param page 分页
* @param qw 查询条件
* @return
*/
IPage<ScmVehicleReturnVo> pagerList(IPage<ScmVehicleReturnVo> page, @Param(Constants.WRAPPER) QueryWrapper<ScmVehicleReturnVo> qw);
void modifyFlowState(@Param("businessSid") String businessSid, @Param("procDefId") String procDefId, @Param("nodeState") String nodeState,
@Param("procInstSid") String procInstSid, @Param("nodeSid") String nodeSid);
} }

18
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnMapper.xml

@ -1,4 +1,22 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yxt.anrui.scm.biz.scmvehiclereturn.ScmVehicleReturnMapper"> <mapper namespace="com.yxt.anrui.scm.biz.scmvehiclereturn.ScmVehicleReturnMapper">
<select id="pagerList" resultType="com.yxt.anrui.scm.api.scmvehiclereturn.ScmVehicleReturnVo">
select sr.sid,
sr.applicationCode,
sr.applicationName,
sr.modifyTime,
sr.reason,
(select count(*) from scm_vehicle_return_details sd where sd.vehicleOutSid = sr.sid) as num
from scm_vehicle_return sr
</select>
<update id="modifyFlowState">
update scm_vehicle_return
set procDefId=#{procDefId},
nodeState=#{nodeState},
procInstSid=#{procInstSid},
nodeSid=#{nodeSid}
where sid = #{businessSid}
</update>
</mapper> </mapper>

9
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 @Override
public ResultBean<PagerVo<ScmVehicleReturnVo>> listPage(PagerQuery<ScmVehicleReturnQuery> pagerQuery) { public ResultBean<PagerVo<ScmVehicleReturnVo>> listPage(PagerQuery<ScmVehicleReturnQuery> pagerQuery) {
return null; ResultBean<PagerVo<ScmVehicleReturnVo>> rb = ResultBean.fireFail();
PagerVo<ScmVehicleReturnVo> pv = scmVehicleReturnService.listPage(pagerQuery);
return rb.success().setData(pv);
} }
@Override @Override
public ResultBean saveOrUpdate(ScmVehicleReturnDto scmVehicleReturnDto) { public ResultBean saveOrUpdate(ScmVehicleReturnDto scmVehicleReturnDto) {
return scmVehicleReturnService.saveOrUpdateVehicleReturn(scmVehicleReturnDto); return scmVehicleReturnService.saveOrUpdateVehicleReturn(scmVehicleReturnDto);
} }
@Override
public ResultBean submitVehicleReturn(ScmVehicleReturnDto scmVehicleReturnDto) {
return scmVehicleReturnService.submitVehicleReturn(scmVehicleReturnDto);
}
} }

118
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; 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.ScmVehicleReturn;
import com.yxt.anrui.scm.api.scmvehiclereturn.ScmVehicleReturnDto; 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.api.scmvehiclereturndetails.ScmVehicleReturnDetails;
import com.yxt.anrui.scm.biz.scmvehiclereturndetails.ScmVehicleReturnDetailsService; import com.yxt.anrui.scm.biz.scmvehiclereturndetails.ScmVehicleReturnDetailsService;
import com.yxt.common.base.service.MybatisBaseService; 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.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* @Author dimengzhe * @Author dimengzhe
@ -24,6 +39,14 @@ public class ScmVehicleReturnService extends MybatisBaseService<ScmVehicleReturn
@Autowired @Autowired
private ScmVehicleReturnDetailsService scmVehicleReturnDetailsService; private ScmVehicleReturnDetailsService scmVehicleReturnDetailsService;
@Autowired
private SysFormLinkFeign sysFormLinkFeign;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private FlowableFeign flowableFeign;
/** /**
* 采购退库新增编辑 * 采购退库新增编辑
@ -78,4 +101,99 @@ public class ScmVehicleReturnService extends MybatisBaseService<ScmVehicleReturn
} }
return false; return false;
} }
/**
* 分页列表
*
* @param pagerQuery 查询条件
* @return
*/
public PagerVo<ScmVehicleReturnVo> listPage(PagerQuery<ScmVehicleReturnQuery> pagerQuery) {
IPage<ScmVehicleReturnVo> page = pagerList(pagerQuery);
PagerVo<ScmVehicleReturnVo> pv = new PagerVo<>();
PagerVo<ScmVehicleReturnVo> pv1 = PagerUtil.pageToVo(page, pv);
List<ScmVehicleReturnVo> voList = pv1.getRecords();
if (voList.size() > 0) {
for (int i = 0; i < voList.size(); i++) {
ResultBean<SysFormStateVo> 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<ScmVehicleReturnVo> pagerList(PagerQuery<ScmVehicleReturnQuery> pagerQuery) {
IPage<ScmVehicleReturnVo> page = PagerUtil.queryToPage(pagerQuery);
QueryWrapper<ScmVehicleReturnVo> qw = buildQueryWrapper(pagerQuery.getParams());
return baseMapper.pagerList(page, qw);
}
private QueryWrapper<ScmVehicleReturnVo> buildQueryWrapper(ScmVehicleReturnQuery params) {
QueryWrapper<ScmVehicleReturnVo> 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<String, Object> 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<String, String> map = (Map<String, String>) 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<String> 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);
}
} }

Loading…
Cancel
Save