Browse Source

完善采购退库的同意审批及通过后更新车辆状态为采购退库中的状态

zhanglei
dimengzhe 3 years ago
parent
commit
32d0a3ee9b
  1. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeign.java
  2. 21
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleUpdateQuery.java
  3. 3
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.java
  4. 9
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml
  5. 5
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java
  6. 7
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java
  7. 2
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
  8. 10
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnDto.java
  9. 8
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnFeign.java
  10. 6
      anrui-scm/anrui-scm-biz/pom.xml
  11. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/AnruiScmApplication.java
  12. 5
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnRest.java
  13. 47
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnService.java
  14. 9
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturndetails/ScmVehicleReturnDetailsService.java

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeign.java

@ -181,6 +181,10 @@ public interface BaseVehicleFeign {
@PostMapping("/vehicleReturnList")
ResultBean<PagerVo<BaseVehicleReturnVo>> vehicleReturnList(@RequestBody PagerQuery<BaseVehicleReturnQuery> pagerQuery);
@ApiOperation("采购退库更新状态")
@PostMapping("/updateByVinNo")
ResultBean updateByVinNo(@RequestBody BaseVehicleUpdateQuery baseVehicleUpdateQuery);
/***************************************************** App接口 **********************************************************/
@ApiOperation("手机端现车分页列表")

21
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleUpdateQuery.java

@ -0,0 +1,21 @@
package com.yxt.anrui.base.api.basevehicle;
import com.yxt.common.core.query.Query;
import lombok.Data;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/4/15 16:15
* @Description
*/
@Data
public class BaseVehicleUpdateQuery implements Query {
private static final long serialVersionUID = -8728015525907955689L;
private List<String> vinNoLis;
private String vehicleState;
private String vihicleStateValue;
}

3
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.java

@ -6,6 +6,7 @@ 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.base.api.basevehicle.*;
import com.yxt.common.core.result.ResultBean;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
@ -258,4 +259,6 @@ public interface BaseVehicleMapper extends BaseMapper<BaseVehicle> {
* @return
*/
IPage<BaseVehicleReturnVo> vehicleReturnPageList(IPage<BaseVehicleReturnVo> page, @Param(Constants.WRAPPER) QueryWrapper<BaseVehicle> qw);
ResultBean updateByVinNo(@Param("vinNoList") List<String> stringList, @Param("vehicleState") String vehicleState, @Param("vehicleStateValue") String vehicleStateValue);
}

9
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml

@ -579,4 +579,13 @@
LEFT JOIN base_model_config bmc ON bv.modelConfigSid = bmc.`sid`
${ew.customSqlSegment}
</select>
<update id="updateByVinNo">
update base_vehicle
set vehicleState = #{vehicleState} and vehicleStateValue = #{vehicleStateValue}
where vinNo in
<foreach item="vinNo" collection="vinNoList" open="(" separator="," close=")">
#{vinNo}
</foreach>
</update>
</mapper>

5
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java

@ -303,6 +303,11 @@ public class BaseVehicleRest implements BaseVehicleFeign {
return rb.success().setData(pv);
}
@Override
public ResultBean updateByVinNo(BaseVehicleUpdateQuery baseVehicleUpdateQuery) {
return baseVehicleService.updateByVinNo(baseVehicleUpdateQuery);
}
/**
* 手机端现车列表
*

7
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java

@ -968,4 +968,11 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
}
return qw;
}
public ResultBean updateByVinNo(BaseVehicleUpdateQuery baseVehicleUpdateQuery) {
List<String> stringList = baseVehicleUpdateQuery.getVinNoLis();
String vehicleState = baseVehicleUpdateQuery.getVehicleState();
String vehicleStateValue = baseVehicleUpdateQuery.getVihicleStateValue();
return baseMapper.updateByVinNo(stringList, vehicleState, vehicleStateValue);
}
}

2
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java

@ -15,7 +15,7 @@ public enum ProcDefEnum {
ARREARSCARRYVEHICLE("欠款提车审批流程","arrears_carryvehicle:1:232589"),
VEHICLEAPPLY("排产申请流程","process_9egcg169:1:242660"),
RECORDAPPLICATION("入账申请","record_application_7y80d4r8:1:265008"),
SCMVEHICLERETURN("采购退库", "process_lcgh2q0g:4:235004"),
SCMVEHICLERETURN("采购退库", "process_md8aeoap:4:245028"),
;
ProcDefEnum(String proDefName, String proDefId) {

10
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnDto.java

@ -6,6 +6,8 @@ import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -20,18 +22,22 @@ public class ScmVehicleReturnDto implements Dto {
@ApiModelProperty(value = "sid")
private String sid;
@ApiModelProperty(value = "申请编号")
@NotBlank(message = "申请编号不能为空")
private String applicationCode;
@ApiModelProperty(value = "申请人sid", required = true)
@NotBlank(message = "申请人不能为空")
private String userSid;
@ApiModelProperty(value = "申请人", required = true)
@NotBlank(message = "申请人不能为空")
private String name;
@ApiModelProperty(value = "申请日期", required = true)
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date createTime;
@ApiModelProperty(value = "退库原因", required = true)
@NotBlank(message = "退库原因不能为空")
private String reason;
@ApiModelProperty(value = "费用")
@ApiModelProperty(value = "费用", example = "0")
private String money;
@ApiModelProperty(value = "车辆列表")
private List<ScmVehicleReturnDetailsDto> detailsList;
private List<ScmVehicleReturnDetailsDto> detailsList = new ArrayList<>();
}

8
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnFeign.java

@ -34,6 +34,10 @@ public interface ScmVehicleReturnFeign {
@ResponseBody
ResultBean<ScmVehicleReturnDetailsVo> details(@RequestParam(value = "sid", required = false) String sid);
@ApiOperation("删除")
@DeleteMapping("/delete")
@ResponseBody
ResultBean delete(@RequestBody String[] sidsList);
@ApiOperation("提交")
@PostMapping("/submitVehicleReturn")
@ -42,18 +46,22 @@ public interface ScmVehicleReturnFeign {
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
@ResponseBody
public ResultBean complete(@RequestBody ScmVehicleReturnFlowQuery scmVehicleReturnFlowQuery);
@ApiOperation(value = "驳回任务")
@PostMapping("/reject")
@ResponseBody
ResultBean reject(@RequestBody ScmVehicleReturnFlowDto dto);
@ApiOperation(value = "终止任务")
@PostMapping("/breakProcess")
@ResponseBody
ResultBean breakProcess(@RequestBody ScmVehicleReturnFlowDto dto);
@ApiOperation(value = "撤回任务")
@PostMapping("/revokeProcess")
@ResponseBody
ResultBean revokeProcess(@RequestBody ScmVehicleReturnFlowDto dto);
}

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

@ -65,6 +65,12 @@
<groupId>com.yxt.anrui</groupId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>com.yxt.anrui</groupId>
<artifactId>anrui-base-api</artifactId>
<version>0.0.1</version>
<scope>compile</scope>
</dependency>
</dependencies>
<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.anrui.scm"
})
@EnableFeignClients(basePackages = {"com.yxt.anrui.buscenter", "com.yxt.anrui.portal","com.yxt.anrui.flowable"})
@EnableFeignClients(basePackages = {"com.yxt.anrui.buscenter", "com.yxt.anrui.portal","com.yxt.anrui.flowable","com.yxt.anrui.base"})
public class AnruiScmApplication {
public static void main(String[] args) {

5
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnRest.java

@ -39,6 +39,11 @@ public class ScmVehicleReturnRest implements ScmVehicleReturnFeign {
return scmVehicleReturnService.details(sid);
}
@Override
public ResultBean delete(String[] sidsList) {
return scmVehicleReturnService.delete(sidsList);
}
@Override
public ResultBean submitVehicleReturn(ScmVehicleReturnDto scmVehicleReturnDto) {
return scmVehicleReturnService.submitVehicleReturn(scmVehicleReturnDto);

47
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnService.java

@ -5,6 +5,8 @@ import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleUpdateQuery;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flowtask.FlowTask;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
@ -58,6 +60,8 @@ public class ScmVehicleReturnService extends MybatisBaseService<ScmVehicleReturn
private FlowableFeign flowableFeign;
@Autowired
private FlowTaskFeign flowTaskFeign;
@Autowired
private BaseVehicleFeign baseVehicleFeign;
/**
* 采购退库新增编辑
@ -69,8 +73,12 @@ public class ScmVehicleReturnService extends MybatisBaseService<ScmVehicleReturn
public ResultBean saveOrUpdateVehicleReturn(ScmVehicleReturnDto scmVehicleReturnDto) {
ResultBean rb = ResultBean.fireFail();
String sid = scmVehicleReturnDto.getSid();
if (StringUtils.isBlank(sid)) {
//新增
if (scmVehicleReturnDto.getDetailsList().size() == 0) {
return rb.setMsg("请选择需要退库的车辆");
}
ScmVehicleReturn scmVehicleReturn = new ScmVehicleReturn();
BeanUtils.copyProperties(scmVehicleReturnDto, scmVehicleReturn, "sid");
String money = scmVehicleReturnDto.getMoney();
@ -96,6 +104,9 @@ public class ScmVehicleReturnService extends MybatisBaseService<ScmVehicleReturn
if (scmVehicleReturn == null) {
return rb.setMsg("该申请不存在");
}
if (scmVehicleReturnDto.getDetailsList().size() == 0) {
return rb.setMsg("请选择需要退库的车辆");
}
BeanUtil.copyProperties(scmVehicleReturnDto, scmVehicleReturn, "id", "sid");
String money = scmVehicleReturnDto.getMoney();
BigDecimal mo = new BigDecimal(money);
@ -163,7 +174,7 @@ public class ScmVehicleReturnService extends MybatisBaseService<ScmVehicleReturn
apply(StringUtils.isNotBlank(params.getApplyDateEnd()), "date_format (sr.createTime,'%Y-%m-%d') <= date_format('" + params.getApplyDateEnd() + "','%Y-%m-%d')"
);
//状态:模糊查询
if(StringUtils.isNotBlank(params.getNodeState())){
if (StringUtils.isNotBlank(params.getNodeState())) {
qw.like("sr.nodeState", params.getNodeState());
}
@ -174,12 +185,19 @@ public class ScmVehicleReturnService extends MybatisBaseService<ScmVehicleReturn
public ResultBean submitVehicleReturn(ScmVehicleReturnDto scmVehicleReturnDto) {
ResultBean rb = ResultBean.fireFail();
String orgSid = checkUserOrg(scmVehicleReturnDto.getUserSid());
if (scmVehicleReturnDto.getDetailsList().size() == 0) {
return rb.setMsg("请选择需要退库的车辆");
}
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);
if (Integer.parseInt(scmVehicleReturnDto.getMoney()) > 0) {
variables.put("isLoan", true);
} else {
variables.put("isLoan", false);
}
variables.put("orgSid", orgSid);//部门sid
ResultBean businessResultBean = flowableFeign.businessStart(ProcDefEnum.SCMVEHICLERETURN.getProDefId(), scmVehicleReturnDto.getUserSid(), variables);
if (businessResultBean.getSuccess() && businessResultBean.getData() != null) {
@ -191,9 +209,11 @@ public class ScmVehicleReturnService extends MybatisBaseService<ScmVehicleReturn
map.get("procInsId"),//procInstSid
map.get("taskDefKey")//nodeSid
);
} else {
return rb.setMsg(businessResultBean.getMsg());
}
} else {
return rb.setMsg("失败");
return rb.setMsg(resultBean.getMsg());
}
return resultBean;
@ -201,6 +221,7 @@ public class ScmVehicleReturnService extends MybatisBaseService<ScmVehicleReturn
/**
* 查询用户是否设置了部门
* *
*
* @param userSid 用户sid
* @return
@ -254,6 +275,19 @@ public class ScmVehicleReturnService extends MybatisBaseService<ScmVehicleReturn
nodeState = ProcessStateEnum.FINISHED.getStateName();
taskDefKey = "Event_end";
map.put("flowState", SysFormLinkFlowStateEnum.FINISH.getCode());
//更新车辆状态为采购退库中
ResultBean<List<String>> vinNoList = scmVehicleReturnDetailsService.selectVinNoList(scmVehicleReturnFlowQuery.getBusinessSid());
if (vinNoList.getSuccess() && vinNoList.getData() != null && vinNoList.getData().size() != 0) {
String vehicleState = "0006";
String vehicleStateValue = "采购退库中";
BaseVehicleUpdateQuery baseVehicleUpdateQuery = new BaseVehicleUpdateQuery();
baseVehicleUpdateQuery.setVehicleState(vehicleState);
baseVehicleUpdateQuery.setVihicleStateValue(vehicleStateValue);
baseVehicleUpdateQuery.setVinNoLis(vinNoList.getData());
baseVehicleFeign.updateByVinNo(baseVehicleUpdateQuery);
}
}
}
map.put("nodeState", nodeState);
@ -347,4 +381,11 @@ public class ScmVehicleReturnService extends MybatisBaseService<ScmVehicleReturn
}
return rb.success().setData(vo);
}
public ResultBean delete(String[] sidsList) {
ResultBean rb = ResultBean.fireFail();
scmVehicleReturnDetailsService.deleteByReturnSid(sidsList);
delBySids(sidsList);
return rb.success().setMsg("删除成功");
}
}

9
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturndetails/ScmVehicleReturnDetailsService.java

@ -9,6 +9,7 @@ import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
/**
@ -66,4 +67,12 @@ public class ScmVehicleReturnDetailsService extends MybatisBaseService<ScmVehicl
public List<ScmVehicleReturnDetailssVo> detailsList(String sid) {
return baseMapper.detailsList(sid);
}
public void deleteByReturnSid(String[] sidsList) {
List<String> stringList = Arrays.asList(sidsList);
for (int i = 0; i < stringList.size(); i++) {
baseMapper.deleteByReturnSid(stringList.get(i));
}
}
}

Loading…
Cancel
Save