Commit b7a3f5b0 by 李小惠

修改报废接口

parent ae7f07f4
package com.junmp.jyzb.api.bean.query;
import lombok.Data;
import java.math.BigDecimal;
/**
* 根据装备数查询库存是否足够的实体类
*/
@Data
public class SearchItemReq {
private Long orgId;
private String locationId;
private String typeId;
private String sizeId;
private BigDecimal price;
private String jsonData;
}
package com.junmp.jyzb.controller;
import cn.hutool.core.util.ObjectUtil;
import com.junmp.jyzb.api.bean.dto.BusFormDto;
import com.junmp.jyzb.api.bean.dto.GeneratePurchaseQuicklyDto;
import com.junmp.jyzb.api.bean.query.QueryBusFormReq;
import com.junmp.jyzb.api.bean.req.GeneratePurchaseQuicklyReq;
import com.junmp.jyzb.api.bean.req.UpdateBusFormReq;
import com.junmp.jyzb.service.BusFormService;
import com.junmp.v2.common.bean.request.ValidationApi;
......@@ -20,7 +17,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
/**
* 业务单据管理模块(只针对业务单据,不包含任何出入库单据)
......@@ -57,4 +53,5 @@ public class BussinessController {
// return ApiRes.success(busFormService.GeneratePurchaseQuickly(req));
// }
}
package com.junmp.jyzb.controller;
import com.junmp.junmpProcess.dto.HandleDataDTO;
import com.junmp.jyzb.api.bean.query.SearchItemReq;
import com.junmp.jyzb.service.OrderCommonService;
import com.junmp.v2.common.bean.response.ApiRes;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
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.annotation.Resource;
@RestController
@Slf4j
@RequestMapping("/OrderCommon")
@Api(tags = "审核流单子拒绝模块")
public class OrderCommonController {
//单子拒绝之后,需要修改当前单子的审批状态,修改为已驳回
@Resource
private OrderCommonService orderCommonService;
@ApiOperation("审核不通过,修改单子状态")
@PostMapping("/changeOrderExamineState")
public ApiRes<Boolean> changeOrderExamineState(HandleDataDTO handleDataDTO){
return ApiRes.success(orderCommonService.changeOrderExamineState(handleDataDTO));
}
@ApiOperation("判断库存数量是否足够,如果不足则返回装备信息")
@PostMapping("/CheckSummaryStockNum")
public ApiRes<String> CheckSummaryStockNum(@RequestBody SearchItemReq req){
return ApiRes.success(orderCommonService.CheckSummaryStockNum(req));
}
}
......@@ -38,4 +38,6 @@ public interface BusFormService extends IService<BusForm> {
//更新报废数量
boolean updateBrokenResult(BusForm busForm);
boolean addOrRevokeAgentBrokenNum(UpdateBusFormReq req,boolean flag);
}
package com.junmp.jyzb.service;
import com.junmp.junmpProcess.dto.HandleDataDTO;
import com.junmp.jyzb.api.bean.query.SearchItemReq;
public interface OrderCommonService {
boolean changeOrderExamineState(HandleDataDTO handleDataDTO);
String CheckSummaryStockNum(SearchItemReq req);
}
......@@ -39,12 +39,14 @@ import com.junmp.v2.db.api.factory.PageResultFactory;
import com.junmp.v2.db.api.page.PageResult;
import com.junmp.v2.sys.user.entity.SysUserOrg;
import com.junmp.v2.sys.user.service.SysUserOrgService;
import liquibase.pro.packaged.B;
import org.flowable.engine.TaskService;
import org.flowable.task.api.Task;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.management.remote.rmi._RMIConnection_Stub;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
......@@ -100,7 +102,13 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl
if (req.getBussinessType().equals("remove")){
Boolean aBoolean = addOrRevokeAgentBrokenNum(req,true);
}
BusForm busForm1 = new BusForm();
if (ObjectUtil.isNotNull(req.getId()) && !req.getId().trim().isEmpty()){
busForm1= this.getById(req.getId());
}
if (ObjectUtil.isNull(busForm1))
{
//判断是否有工作流id,如果有则将状态进行修改
if (ObjectUtil.isEmpty(req.getProcessDefinitionId()))
{
......@@ -110,10 +118,15 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl
{
req.setExamineState("working");
}
//判断该单据是否可以进行修改(如果审核中则不允许修改)
if (ObjectUtil.isNotNull(req.getProcessId()) && !req.getProcessId().trim().isEmpty()){
}
else
{
//判断该单据是否可以进行修改(如果审核中则不允许修改)\
if (ObjectUtil.isNotNull(busForm1.getExamineState()) && busForm1.getExamineState().equals("working")){
throw new ServiceException(OrderExceptionEnum.ORDER_CAN_NOT_UPDATE);
}
}
BusForm busForm = new BusForm();
BeanUtil.copyProperties(req,busForm);
//设置业务单的使用次数(默认是出库一次,入库一次)
......@@ -188,7 +201,7 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl
if (processInstanceId!=null && processInstanceId.substring(0,4).equals("skip") ){
String substring = processInstanceId.substring(4);
busForm.setProcessId(substring);
if (ObjectUtil.isNotNull(req.getId()) && !req.getId().trim().isEmpty()) {
if (busForm1!=null) {
updateById(busForm);
} else {
//保存
......@@ -202,7 +215,7 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl
String assigns= FlowInstanceService.GetNextAssign(processInstanceId);//这里需要手动更新审核人信息
busForm.setCurrentAssign(assigns);
if (ObjectUtil.isNotNull(req.getId()) && !req.getId().trim().isEmpty()) {
if (busForm1!=null) {
//已经是一个草稿,在点击提交的时候只需要更新即可,因为数据库中已经存在该单据
updateById(busForm);
} else {
......@@ -210,7 +223,7 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl
this.save(busForm);
}
}else {
if (ObjectUtil.isNotNull(req.getId()) && !req.getId().trim().isEmpty()) {
if (busForm1!=null) {
//已经是一个草稿,在点击提交的时候只需要更新即可,因为数据库中已经存在该单据
updateById(busForm);
} else {
......@@ -224,7 +237,7 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl
//在提交审核或者保存草稿的时候判断申请报废数+审核中数量+报废区数量是否等于在库数,如果大于则报错
//flag表示一个标识,如果是提交业务单那么flag=true,如果是审核拒绝,那么flag就为false
private Boolean addOrRevokeAgentBrokenNum(UpdateBusFormReq req,boolean flag){
public boolean addOrRevokeAgentBrokenNum(UpdateBusFormReq req,boolean flag){
List<BussinessOrderDetialReq> list = JSON.parseArray(req.getDetailList(), BussinessOrderDetialReq.class);
List<Object[]> searchItem=new ArrayList<>();
for (BussinessOrderDetialReq detialReq:list) {
......
......@@ -233,6 +233,7 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa
if (ObjectUtil.isNotNull(totalNumberAndPrice)){
list.add(totalNumberAndPrice);
}
return list;
}
......
package com.junmp.jyzb.service.impl;
import cn.hutool.core.map.MapUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.junmp.junmpProcess.dto.HandleDataDTO;
import com.junmp.jyzb.api.bean.query.SearchItemReq;
import com.junmp.jyzb.api.bean.req.UpdateBusFormReq;
import com.junmp.jyzb.entity.BusForm;
import com.junmp.jyzb.entity.InventorySummary;
import com.junmp.jyzb.entity.OrderMain;
import com.junmp.jyzb.mapper.InventorySummaryMapper;
import com.junmp.jyzb.service.BusFormService;
import com.junmp.jyzb.service.OrderMainService;
import com.junmp.jyzb.service.OrderCommonService;
import com.junmp.jyzb.service.ReassignmentService;
import com.junmp.v2.common.util.BeanPlusUtil;
import com.junmp.v2.sys.user.service.SysUserService;
import org.flowable.engine.TaskService;
import org.flowable.task.api.Task;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestBody;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import static com.junmp.junmpProcess.common.CommonConstants.BUSSINESS_TYPE;
import static com.junmp.junmpProcess.common.CommonConstants.ORDER_TYPE;
@Service
public class OrderCommonServiceImpl implements OrderCommonService {
@Resource
private SysUserService sysUserService;
@Resource
protected TaskService taskService;
@Resource
private OrderMainService orderMainService;
@Resource
private BusFormService busFormService;
@Resource
private ReassignmentService reassignmentService;
@Resource
private InventorySummaryMapper inventorySummaryMapper;
@Override
public boolean changeOrderExamineState(HandleDataDTO handleDataDTO) {
String taskId = handleDataDTO.getTaskId();
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
//更新单子的状态(改为已驳回,如果单子是报废,那么该单子的审核中的报废数量应该进行减少)
Map<String, Object> processVariables = task.getProcessVariables();
//单据类型(出入库单、调岗单、业务单、盘库单)
String orderType = MapUtil.getStr(processVariables, ORDER_TYPE);
//单据业务类型(采购啥的......)
String bussinessType = MapUtil.getStr(processVariables, BUSSINESS_TYPE);
String processInstanceId = task.getProcessInstanceId();
boolean result=true;
switch (orderType){
case "workOrder":
case "quickOrder":
result = orderMainService.update(new LambdaUpdateWrapper<OrderMain>()
.eq(OrderMain::getProcessId, processInstanceId)
.set(OrderMain::getExamineState, "refuse"));
break;
case "bussinessOrder":
if (bussinessType.equals("remove")){
BusForm one = busFormService.getOne(new LambdaQueryWrapper<BusForm>()
.eq(BusForm::getProcessId, processInstanceId));
UpdateBusFormReq updateBusFormReq = new UpdateBusFormReq();
BeanPlusUtil.copyProperties(one,updateBusFormReq);
busFormService.addOrRevokeAgentBrokenNum(updateBusFormReq,false);
}else {
result = busFormService.update(new LambdaUpdateWrapper<BusForm>()
.eq(BusForm::getProcessId, processInstanceId)
.set(BusForm::getExamineState, "refuse"));
}
break;
case "reassignment":
break;
case "stocktakeOrder":
//还没写
System.out.println("orderType = " + orderType);
break;
}
return result;
}
@Override
public String CheckSummaryStockNum(SearchItemReq req) {
List<SearchItemReq> searchItemReqsList = JSON.parseArray(req.getJsonData(), SearchItemReq.class);
List<Object[]> searchItem=new ArrayList<>();
for (SearchItemReq itemReq:searchItemReqsList) {
Object[] item=new Object[]{req.getOrgId(),itemReq.getLocationId(),itemReq.getTypeId(),itemReq.getSizeId(), itemReq.getPrice()};
searchItem.add(item);
}
List<InventorySummary> inventorySummaryList = inventorySummaryMapper.selectSumByItems(searchItem);
for (InventorySummary is:inventorySummaryList) {
boolean flag=false;
// for (:) {
//
// }
}
return null;
}
}
......@@ -83,6 +83,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
private ProcessTemplateService processTemplateService;
@Autowired
private IFlowInstanceService flowInstanceService;
@Override
public ResponseResult agree(HandleDataDTO handleDataDTO) {
SysUser StartUser=new SysUser();
......@@ -183,7 +184,6 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
JSONObject formData = handleDataDTO.getFormData();
String taskId = handleDataDTO.getTaskId();
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
Map<String, Object> map = new HashMap<>();
if (formData != null && formData.size() > 0) {
Map formValue = JSONObject.parseObject(formData.toJSONString(), new TypeReference<Map>() {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论