Commit 237fed53 by 赵剑炜

盘点接口上报

parent 01a0e6c2
......@@ -34,7 +34,7 @@ public class BussinessInventory implements Serializable {
* 工作流id
*/
@TableField(value = "process_id")
private Long processId;
private String processId;
/**
* 工作流id
*/
......
......@@ -26,6 +26,7 @@ import com.junmp.jyzb.api.exception.enums.OrderExceptionEnum;
import com.junmp.jyzb.entity.*;
import com.junmp.jyzb.service.*;
import com.junmp.jyzb.utils.DateTimeUtil;
import com.junmp.jyzb.utils.RabbitMQSendMsg;
import com.junmp.v2.common.exception.base.ServiceException;
import com.junmp.v2.common.util.BeanPlusUtil;
import com.junmp.v2.message.api.MessageApi;
......@@ -47,6 +48,7 @@ import org.flowable.task.service.impl.persistence.entity.TaskEntity;
import org.flowable.variable.api.history.HistoricVariableInstance;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
......@@ -90,7 +92,9 @@ import static com.junmp.junmpProcess.common.CommonConstants.*;
@Resource
private MessageApi messageApi;
@Resource
private InventoryService inventoryService;
private BussinessInventoryService bussinessInventoryService;
@Autowired
private RabbitMQSendMsg MQ;
@Resource
private RepositoryService repositoryService;
protected Logger logger = LoggerFactory.getLogger(this.getClass());
......@@ -119,10 +123,7 @@ import static com.junmp.junmpProcess.common.CommonConstants.*;
String Type= orderType.get(0).getValue().toString();
if (Type.equals("workOrder") )//出入库单据
// if (Type.equals("workOrder") || Type.equals("quickOrder"))//出入库单据
{
// OrderMainReq req=new OrderMainReq();
// req.setProcessId(processInstanceId);
OrderMain existOrder= orderMainService.getOne(new LambdaQueryWrapper<OrderMain>()
.eq(OrderMain::getProcessId, processInstanceId));
existOrder.setExamineState("finished");
......@@ -146,7 +147,7 @@ import static com.junmp.junmpProcess.common.CommonConstants.*;
updateOrderReq.setDetailList(collect);
//将单据上传到rabbitmq
orderMainService.AddFinishOrder(updateOrderReq);
}
} else
//业务单据
if (Type.equals("bussinessOrder")){
BusForm busForm = busFormService.getOne(new LambdaQueryWrapper<BusForm>()
......@@ -156,7 +157,7 @@ import static com.junmp.junmpProcess.common.CommonConstants.*;
busFormService.updateBrokenResult(busForm);
}
busFormService.updateById(busForm);
}
} else
if (Type.equals("reassigment")){//调岗申请单
Reassignment one = reassignmentService.getOne(new LambdaQueryWrapper<Reassignment>()
.eq(Reassignment::getProcessId, processInstanceId));
......@@ -165,22 +166,37 @@ import static com.junmp.junmpProcess.common.CommonConstants.*;
BeanPlusUtil.copyProperties(one,updateReassignmentReq);
policemanService.changePoliceOrg(updateReassignmentReq);
reassignmentService.updateById(one);
}
} else
if (Type.equals("stocktakeOrder")){//盘库申请单
}
String exchangeName="orderExchange";
//需要判断是入库单还是出库单,入库单传收物单位id,出库单传发物单位id
BussinessInventory BI = bussinessInventoryService.getOne(new LambdaQueryWrapper<BussinessInventory>()
.eq(BussinessInventory::getProcessId, processInstanceId));
BI.setExamineState("finished");
bussinessInventoryService.updateById(BI);
MQ.SendMsg(exchangeName,BI.getOrgId().toString(),BI);
}
//消息推送
MessageSendReq sendReq = new MessageSendReq();
String startUser= MapUtil.getStr(historicProcessInstance.getProcessVariables(),START_USER_INFO);
UserInfo user= JSONObject.parseObject(startUser, UserInfo.class);
String Types= MapUtil.getStr(historicProcessInstance.getProcessVariables(),ORDER_TYPE);
sendReq.setReceiveUserIds(String.valueOf(user.getUserId()));
sendReq.setMsgTitle("您的审批已通过");
sendReq.setBizType("pass/"+Types);
sendReq.setBizId(Long.valueOf(processInstanceId));
if (Type.equals("stocktakeOrder"))//整理需要下发的消息
{
sendReq.setMsgTitle("盘点提醒");
sendReq.setMsgContent("【盘库单】已下发");
}
else
{
sendReq.setMsgTitle("您的审批已通过");
sendReq.setMsgContent("您提交的审批【"+mainProcess.getName()+"】已经通过");
}
sendReq.setPriority("0");
sendReq.setSendTime(DateTime.now());
messageApi.sendMessage(sendReq);
......
......@@ -39,6 +39,8 @@ import com.junmp.v2.dict.service.SysDictItemService;
import com.junmp.v2.dict.service.SysDictService;
import com.junmp.v2.sys.api.OrganizationServiceApi;
import com.sun.org.apache.xpath.internal.operations.Bool;
import org.flowable.engine.TaskService;
import org.flowable.task.api.Task;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -61,6 +63,8 @@ public class BussinessInventoryServiceImpl extends ServiceImpl<BussinessInventor
@Resource
private IFlowInstanceService FlowInstanceService;
@Resource
private TaskService taskService;
@Resource
private InventorySummaryService inventorySummaryService;
@Resource
private SysDictItemService sysDictItemService;
......@@ -87,7 +91,7 @@ public class BussinessInventoryServiceImpl extends ServiceImpl<BussinessInventor
Warehouse warehouse= warehouseService.getById(req.getWarehouseId());
PubOrg pubOrg=orgService.getById(req.getOrgId());
BeanPlusUtil.copyProperties(req,BI);
BI.setResult("ready");
BI.setWarehouseName(warehouse.getName());
if (StringUtils.isNotBlank(pubOrg.getDName()) )
{
......@@ -106,7 +110,7 @@ public class BussinessInventoryServiceImpl extends ServiceImpl<BussinessInventor
startProcessInstanceDTO.setOrderId(BI.getId());
startProcessInstanceDTO.setOrderType("stocktakeOrder");
String ProcessInstanceId= FlowInstanceService.startProcessInstanceById(startProcessInstanceDTO);
BI.setProcessId(Long.valueOf(ProcessInstanceId));
BI.setProcessId(ProcessInstanceId);
String assigns= FlowInstanceService.GetNextAssign(ProcessInstanceId);//这里需要手动更新审核人信息
BI.setCurrentAssign(assigns);
......@@ -120,11 +124,13 @@ public class BussinessInventoryServiceImpl extends ServiceImpl<BussinessInventor
return BI.getId();
}
else
{ BussinessInventory BI = new BussinessInventory();
{
BussinessInventory BI = new BussinessInventory();
Warehouse warehouse= warehouseService.getById(req.getWarehouseId());
PubOrg pubOrg=orgService.getById(req.getOrgId());
BeanPlusUtil.copyProperties(req,BI);
BI.setWarehouseName(warehouse.getName());
BI.setResult("ready");
//设置单号
if (ObjectUtil.isNull(pubOrg.getDName()) )
{
......@@ -154,12 +160,35 @@ public class BussinessInventoryServiceImpl extends ServiceImpl<BussinessInventor
startProcessInstanceDTO.setOrderId(BI.getId());
startProcessInstanceDTO.setOrderType("stocktakeOrder");
// startProcessInstanceDTO.setUserId(req.getUserId());
String ProcessInstanceId= FlowInstanceService.startProcessInstanceById(startProcessInstanceDTO);
BI.setProcessId(Long.valueOf(ProcessInstanceId));
String processInstanceId= FlowInstanceService.startProcessInstanceById(startProcessInstanceDTO);
String assigns= FlowInstanceService.GetNextAssign(ProcessInstanceId);//这里需要手动更新审核人信息
BI.setCurrentAssign(assigns);
//list返回数据
List<String> list=new ArrayList<>();
//当前审核是否跳过
if (processInstanceId!=null && processInstanceId.substring(0,4).equals("skip") ){
String substring = processInstanceId.substring(4);
BI.setProcessId(substring);
if (ObjectUtil.isNotNull(req.getId()) && !req.getId().trim().isEmpty()) {
updateById(BI);
} else {
//保存
this.save(BI);
}
Task currentTask = taskService.createTaskQuery().processInstanceId(substring).singleResult();
// 直接完成当前任务
taskService.complete(currentTask.getId());
}else {
BI.setProcessId(processInstanceId);
if (StringUtils.isNotBlank(req.getId())) {
updateById(BI);
} else {
//保存
this.save(BI);
}
}
list.add(BI.getId());
}else {
......@@ -257,7 +286,6 @@ public class BussinessInventoryServiceImpl extends ServiceImpl<BussinessInventor
else
{
throw new ServiceException(InventoryExceptionEnum.ORDER_NOT_EXIST);
}
return true;
}
......@@ -509,8 +537,21 @@ public class BussinessInventoryServiceImpl extends ServiceImpl<BussinessInventor
wrapper.eq(BussinessInventory::getOrgId, req.getOrgId());
wrapper.eq(StringUtils.isNotBlank(req.getWarehouseId()), BussinessInventory::getWarehouseId, req.getWarehouseId());
wrapper.eq(StringUtils.isNotBlank(req.getInventoryState()), BussinessInventory::getInventoryState, req.getInventoryState());
wrapper.eq(StringUtils.isNotBlank(req.getExamineState()), BussinessInventory::getExamineState, req.getExamineState());
if (StringUtils.isNotBlank(req.getExamineState())) {
if (req.getExamineState().equals("unaudited")) {
wrapper.and(
i -> i.eq(BussinessInventory::getExamineState, "none")
.or()
.eq(BussinessInventory::getExamineState, "working")
);
}
else
{
wrapper.eq( BussinessInventory::getExamineState, "finished");
}
}
wrapper.eq(StringUtils.isNotBlank(req.getInventoryType()), BussinessInventory::getInventoryType, req.getInventoryType());
wrapper.orderByDesc(BussinessInventory::getApplyTime);
return wrapper;
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论