Commit b07ed564 by 赵剑炜

Merge branch 'develop' of http://gitlab.sothing.top/843502640/jyzb_platformV2 into develop-zhaojw

parents 4f0564f0 77a35a3c
package com.junmp.jyzb.api.bean.dto;
import lombok.Data;
import java.util.Date;
@Data
public class OrderLogDto {
/**
* 主键
*/
private String id;
/**
* 单据类型(in入库单,out出库单)
*/
private String orderType;
/**
* 单据业务类型
*/
private String bussinessType;
/**
* 单据id(对应order_main)
*/
private String orderId;
/**
* 操作记录(upload上传消息)
*/
private String historyMsg;
/**
* 组织机构id
*/
private Long orgId;
/**
* 组织机构名称
*/
private String orgName;
/**
* 单据单号
*/
private String orderCode;
/**
* 应入/出库数量
*/
private Integer inventoryQuantity;
/**
* 实际数量
*/
private Integer actualQuantity;
/**
* 修改后数量
*/
private Integer updateQuantity;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 创建人员
*/
private String createUser;
/**
* 修改人员
*/
private String updateUser;
/**
* 过程事件(创建单据createOrder,出入库OutAndIn,记账accounting)
*/
private String processType;
}
package com.junmp.jyzb.controller; package com.junmp.jyzb.controller;
import com.junmp.jyzb.api.bean.dto.LogDetailDto; import com.junmp.jyzb.api.bean.dto.LogDetailDto;
import com.junmp.jyzb.api.bean.dto.OrderLogDto;
import com.junmp.jyzb.api.bean.query.InAndOutRecordReq.OutInLogsReq; import com.junmp.jyzb.api.bean.query.InAndOutRecordReq.OutInLogsReq;
import com.junmp.jyzb.api.bean.query.InventoryReq; import com.junmp.jyzb.api.bean.query.InventoryReq;
import com.junmp.jyzb.api.bean.query.LogDetailReq; import com.junmp.jyzb.api.bean.query.LogDetailReq;
...@@ -11,6 +12,7 @@ import com.junmp.jyzb.entity.LogSummary; ...@@ -11,6 +12,7 @@ import com.junmp.jyzb.entity.LogSummary;
import com.junmp.jyzb.service.InventorySummaryService; import com.junmp.jyzb.service.InventorySummaryService;
import com.junmp.jyzb.service.LogDetailService; import com.junmp.jyzb.service.LogDetailService;
import com.junmp.jyzb.service.LogSummaryService; import com.junmp.jyzb.service.LogSummaryService;
import com.junmp.jyzb.service.OrderLogService;
import com.junmp.v2.common.bean.request.ValidationApi; import com.junmp.v2.common.bean.request.ValidationApi;
import com.junmp.v2.common.bean.response.ApiRes; import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.db.api.page.PageResult; import com.junmp.v2.db.api.page.PageResult;
...@@ -38,6 +40,9 @@ public class OutAndInboundController { ...@@ -38,6 +40,9 @@ public class OutAndInboundController {
@Resource @Resource
private LogDetailService logDetailService; private LogDetailService logDetailService;
@Resource
private OrderLogService orderLogService;
@ApiOperation("/查看出入库详情") @ApiOperation("/查看出入库详情")
@PostMapping("/GetDetailByLogSumId") @PostMapping("/GetDetailByLogSumId")
public ApiRes<List<LogDetailDto>> GetDetailByLogSumId(@RequestBody @Validated(ValidationApi.detail.class) LogDetailReq req){ public ApiRes<List<LogDetailDto>> GetDetailByLogSumId(@RequestBody @Validated(ValidationApi.detail.class) LogDetailReq req){
...@@ -70,5 +75,11 @@ public class OutAndInboundController { ...@@ -70,5 +75,11 @@ public class OutAndInboundController {
// public ApiRes<Boolean> OutInRecords(@RequestBody OutInLogsReq req){ // public ApiRes<Boolean> OutInRecords(@RequestBody OutInLogsReq req){
// return ApiRes.success(logSummaryService.processInventoryRecords(req)); // return ApiRes.success(logSummaryService.processInventoryRecords(req));
// } // }
@PostMapping("/ShowRecordsByOrderId")
@ApiOperation("出入库以及记账过程")
public ApiRes<List<OrderLogDto>> ShowRecordsByOrderId(@RequestBody @Validated(ValidationApi.page.class) LogSummaryReq req){
return ApiRes.success(orderLogService.ShowRecordsByOrderId(req));
}
} }
...@@ -103,6 +103,12 @@ public class OrderLog implements Serializable { ...@@ -103,6 +103,12 @@ public class OrderLog implements Serializable {
@TableField(value = "update_user") @TableField(value = "update_user")
private String updateUser; private String updateUser;
/**
* 过程事件(创建单据createOrder,出入库OutAndIn,记账accounting)
*/
@TableField(value = "process_type")
private String processType;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }
\ No newline at end of file
package com.junmp.jyzb.service; package com.junmp.jyzb.service;
import com.junmp.jyzb.api.bean.dto.OrderLogDto;
import com.junmp.jyzb.api.bean.query.LogSummaryReq;
import com.junmp.jyzb.entity.OrderLog; import com.junmp.jyzb.entity.OrderLog;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/** /**
* @author lxh专属坐骑 * @author lxh专属坐骑
* @description 针对表【bussiness_order_log】的数据库操作Service * @description 针对表【bussiness_order_log】的数据库操作Service
...@@ -10,4 +14,5 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -10,4 +14,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/ */
public interface OrderLogService extends IService<OrderLog> { public interface OrderLogService extends IService<OrderLog> {
List<OrderLogDto> ShowRecordsByOrderId(LogSummaryReq req);
} }
...@@ -420,19 +420,19 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa ...@@ -420,19 +420,19 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa
//位置信息 //位置信息
wrapper.like(ObjectUtil.isNotEmpty(req.getLocationName()), InventorySummary::getLocationName, req.getLocationName()); wrapper.like(ObjectUtil.isNotEmpty(req.getLocationName()), InventorySummary::getLocationName, req.getLocationName());
//装备类别名称 //装备类别名称
wrapper.like(ObjectUtil.isNotEmpty(req.getTypeName()), InventorySummary::getTypeName, req.getTypeName()); // wrapper.like(ObjectUtil.isNotEmpty(req.getTypeName()), InventorySummary::getTypeName, req.getTypeName());
//根据类别 //根据类别
if (req.typeIds.size()>0) { if (ObjectUtil.isNotEmpty(req.typeIds) && req.typeIds.size()>0) {
wrapper.and(qw -> req.typeIds.forEach(typeId -> qw.or().eq(InventorySummary::getTypeId, typeId))); wrapper.and(qw -> req.typeIds.forEach(typeId -> qw.or().eq(InventorySummary::getTypeId, typeId)));
} }
//根据类别 //根据类别
if (req.getSizeNames().size()>0) { if (ObjectUtil.isNotEmpty(req.getSizeNames()) && req.getSizeNames().size()>0) {
wrapper.and(qw -> req.getSizeNames().forEach(sizeName -> qw.or().eq(InventorySummary::getSizeName, sizeName))); wrapper.and(qw -> req.getSizeNames().forEach(sizeName -> qw.or().eq(InventorySummary::getSizeName, sizeName)));
} }
//型号名称 //型号名称
wrapper.like(ObjectUtil.isNotEmpty(req.getSizeName()), InventorySummary::getSizeName, req.getSizeName()); // wrapper.like(ObjectUtil.isNotEmpty(req.getSizeName()), InventorySummary::getSizeName, req.getSizeName());
//号型 //号型
wrapper.eq(ObjectUtil.isNotEmpty(req.getSizeId()), InventorySummary::getSizeId, req.getSizeId()); // wrapper.eq(ObjectUtil.isNotEmpty(req.getSizeId()), InventorySummary::getSizeId, req.getSizeId());
if (ObjectUtil.isNotEmpty(req.getColumn())) if (ObjectUtil.isNotEmpty(req.getColumn()))
{ {
wrapper.last("order by " + req.getColumn() + " " + req.getOrder()); wrapper.last("order by " + req.getColumn() + " " + req.getOrder());
......
package com.junmp.jyzb.service.impl; package com.junmp.jyzb.service.impl;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
...@@ -59,6 +60,9 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm ...@@ -59,6 +60,9 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
@Resource @Resource
private InventorySummaryMapper inventorySummaryMapper; private InventorySummaryMapper inventorySummaryMapper;
@Resource
private OrderLogService orderLogService;
//根据条件查询出入库记录 //根据条件查询出入库记录
@Override @Override
public PageResult<LogSummary> ShowInOutRecordsByItems(LogSummaryReq req) { public PageResult<LogSummary> ShowInOutRecordsByItems(LogSummaryReq req) {
...@@ -178,16 +182,13 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm ...@@ -178,16 +182,13 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
List<NormalInOutDto> returnList=new ArrayList<>(); List<NormalInOutDto> returnList=new ArrayList<>();
//存一个list用于修改库存inventory表的数据(采购时那么这个inventoryList就为空) //存一个list用于修改库存inventory表的数据(采购时那么这个inventoryList就为空)
List<Inventory> inventoryList=new ArrayList<>(); List<Inventory> inventoryList=new ArrayList<>();
List<OrderLog> orderLogList=new ArrayList<>();
for (SummaryLogReq logreq:logSummaryList) { for (SummaryLogReq logreq:logSummaryList) {
//如果类型为normal,那么则表示作为日常出入库的记录,否则则作为单据的出入库记录 //如果类型为normal,那么则表示作为日常出入库的记录,否则则作为单据的出入库记录
List<DetailLogReq> logList = logreq.getLogDetailList(); List<DetailLogReq> logList = logreq.getLogDetailList();
//出入库list //出入库list
List<LogDetail> collect = new ArrayList<>(); List<LogDetail> collect = new ArrayList<>();
LogSummary logSummary = saveLogSummary(logreq); LogSummary logSummary = saveLogSummary(logreq);
//设置logsummary的id
// UUID uuid = UUID.randomUUID();
// long uuidAsLong = uuid.getMostSignificantBits() ^ uuid.getLeastSignificantBits();
// logSummary.setId(uuidAsLong);
logSummaryService.save(logSummary); logSummaryService.save(logSummary);
Map<String, String> map = setState(logreq.getOutInState(), logreq.getBussinessType()); Map<String, String> map = setState(logreq.getOutInState(), logreq.getBussinessType());
//无单据的时候 //无单据的时候
...@@ -210,10 +211,11 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm ...@@ -210,10 +211,11 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
if (logreq.getOutInState().equals("in")){ if (logreq.getOutInState().equals("in")){
Inventory inventory = saveInventory(detailLogReq, map, logSummary.getOutInState()); Inventory inventory = saveInventory(detailLogReq, map, logSummary.getOutInState());
inventoryList.add(inventory); inventoryList.add(inventory);
}else {
Inventory inventory = saveInventory(detailLogReq, map, logSummary.getOutInState());
inventoryList.add(inventory);
} }
// else {
// Inventory inventory = saveInventory(detailLogReq, map, logSummary.getOutInState());
// inventoryList.add(inventory);
// }
} }
//存放logdetail信息 //存放logdetail信息
...@@ -227,7 +229,14 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm ...@@ -227,7 +229,14 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
} }
boolean b = logDetailService.saveBatch(collect); boolean b = logDetailService.saveBatch(collect);
if (ObjectUtil.isNotNull(logSummary.getOrderMainId())){
OrderLog orderLog = addLog(logSummary);
orderLogList.add(orderLog);
}
}
//判断是否有orderId的单子出入库,如果有则直接添加
if (orderLogList.size()>0){
boolean b = orderLogService.saveBatch(orderLogList);
} }
//修改inventory表中的数据(如果不为空则表示不是采购单或者已经将采购单的信息过滤掉) //修改inventory表中的数据(如果不为空则表示不是采购单或者已经将采购单的信息过滤掉)
if (inventoryList.size()>0){ if (inventoryList.size()>0){
...@@ -243,6 +252,21 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm ...@@ -243,6 +252,21 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
return returnList; return returnList;
} }
private OrderLog addLog(LogSummary logSummary){
OrderLog orderLog = new OrderLog();
orderLog.setId(UUID.randomUUID().toString());
orderLog.setHistoryMsg(JSON.toJSONString(logSummary));
orderLog.setOrderCode(logSummary.getOrderCode());
orderLog.setBussinessType(logSummary.getBussinessType());
orderLog.setOrderType(logSummary.getOutInState());
orderLog.setProcessType("OutAndIn");
orderLog.setOrgId(logSummary.getOrgId());
orderLog.setOrgName(logSummary.getOrgName());
orderLog.setOrderId(logSummary.getOrderMainId());
orderLog.setCreateTime(DateTimeUtil.getCurrentDateTime());
return orderLog;
}
// 创建logsummary // 创建logsummary
private LogSummary saveLogSummary(SummaryLogReq req){ private LogSummary saveLogSummary(SummaryLogReq req){
LogSummary logSummary = new LogSummary(); LogSummary logSummary = new LogSummary();
......
package com.junmp.jyzb.service.impl; package com.junmp.jyzb.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.jyzb.api.bean.dto.OrderLogDto;
import com.junmp.jyzb.api.bean.query.LogSummaryReq;
import com.junmp.jyzb.entity.OrderLog; import com.junmp.jyzb.entity.OrderLog;
import com.junmp.jyzb.service.OrderLogService; import com.junmp.jyzb.service.OrderLogService;
import com.junmp.jyzb.mapper.OrderLogMapper; import com.junmp.jyzb.mapper.OrderLogMapper;
import com.junmp.v2.common.util.BeanPlusUtil;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.xml.ws.RequestWrapper;
import java.util.List;
import java.util.stream.Collectors;
/** /**
* @author lxh专属坐骑 * @author lxh专属坐骑
* @description 针对表【bussiness_order_log】的数据库操作Service实现 * @description 针对表【bussiness_order_log】的数据库操作Service实现
...@@ -15,6 +24,25 @@ import org.springframework.stereotype.Service; ...@@ -15,6 +24,25 @@ import org.springframework.stereotype.Service;
public class OrderLogServiceImpl extends ServiceImpl<OrderLogMapper, OrderLog> public class OrderLogServiceImpl extends ServiceImpl<OrderLogMapper, OrderLog>
implements OrderLogService{ implements OrderLogService{
/**
* 展示单子从创建到记账全过程
* @param req
* @return
*/
@Override
public List<OrderLogDto> ShowRecordsByOrderId(LogSummaryReq req) {
List<OrderLog> list = list(new LambdaQueryWrapper<OrderLog>()
.eq(OrderLog::getOrderId, req.getOrderMainId())
.orderByAsc(OrderLog::getCreateTime));
List<OrderLogDto> collect = list.stream().map(orderLog -> {
OrderLogDto orderLogDto = new OrderLogDto();
BeanPlusUtil.copyProperties(orderLog, orderLogDto);
return orderLogDto;
}).collect(Collectors.toList());
return collect;
}
} }
......
...@@ -121,6 +121,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -121,6 +121,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
@Resource @Resource
protected TaskService taskService; protected TaskService taskService;
@Resource @Resource
...@@ -137,7 +138,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -137,7 +138,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
OrderMain one =null ; OrderMain one =null ;
//修改业务单可用次数 //修改业务单可用次数
if (ObjectUtil.isNotNull(req.getBussinessCode())){ if (ObjectUtil.isNotNull(req.getBussinessCode())){
boolean b = setBusFormState(req, one, orgId); one = setBusFormState(req, one, orgId);
} }
if (one!=null){ if (one!=null){
...@@ -154,7 +155,6 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -154,7 +155,6 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
req.setExamineState("working"); req.setExamineState("working");
} }
OrderMain order = new OrderMain(); OrderMain order = new OrderMain();
BeanPlusUtil.copyProperties(req, order); BeanPlusUtil.copyProperties(req, order);
//先判断该单据id是否存在,如果存在,进行更新操作即可 //先判断该单据id是否存在,如果存在,进行更新操作即可
...@@ -261,6 +261,8 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -261,6 +261,8 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
{ {
startProcessInstanceDTO.setOrderType("workOrder"); startProcessInstanceDTO.setOrderType("workOrder");
processInstanceId= FlowInstanceService.startProcessInstanceById(startProcessInstanceDTO); processInstanceId= FlowInstanceService.startProcessInstanceById(startProcessInstanceDTO);
}else if (req.getBussinessType().equals("quick") && req.getExamineState().equals("working")){//快速移库单 }else if (req.getBussinessType().equals("quick") && req.getExamineState().equals("working")){//快速移库单
startProcessInstanceDTO.setOrderType("quickOrder"); startProcessInstanceDTO.setOrderType("quickOrder");
...@@ -297,12 +299,45 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -297,12 +299,45 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
for (OrderDetail orderDetail:detailList) { for (OrderDetail orderDetail:detailList) {
list.add(Long.toString(orderDetail.getId())); list.add(Long.toString(orderDetail.getId()));
} }
//判断orderId在orderLog表中是否存在,如果存在,则直接替换
boolean b = addOrderLog(req);
return list; return list;
} }
//纪录日志
private boolean addOrderLog(UpdateOrderReq req){
//判断日志中是否存在,如果存在直接替换
OrderLog createOrder = orderLogService.getOne(new LambdaQueryWrapper<OrderLog>()
.eq(OrderLog::getOrderId, req.getId())
.eq(OrderLog::getProcessType, "createOrder"));
//我要的是detail的明细存入到history—msg中
boolean a=true;
if (createOrder==null){
createOrder.setId(UUID.randomUUID().toString());
createOrder.setHistoryMsg(JSON.toJSONString(req.getDetailList()));
createOrder.setOrderCode(req.getOrderCode());
createOrder.setBussinessType(req.getBussinessType());
createOrder.setOrderType(req.getOrderType());
createOrder.setProcessType("careteOrder");
if (req.getOrderType().equals("in")){
createOrder.setOrgId(req.getEndOrgId());
createOrder.setOrgName(req.getEndOrgName());
}else {
createOrder.setOrgId(Long.parseLong(req.getStartOrgId()));
createOrder.setOrgName(req.getStartOrgName());
}
createOrder.setOrderId(req.getId());
createOrder.setCreateTime(DateTimeUtil.getCurrentDateTime());
a=orderLogService.save(createOrder);
}else{//直接替换
createOrder.setHistoryMsg(JSON.toJSONString(req.getDetailList()));
createOrder.setUpdateTime(DateTimeUtil.getCurrentDateTime());
a=orderLogService.updateById(createOrder);
}
return a;
}
//修改业务单据可用次数 //修改业务单据可用次数
private boolean setBusFormState(UpdateOrderReq req,OrderMain one,Long orgId){ private OrderMain setBusFormState(UpdateOrderReq req,OrderMain one,Long orgId){
boolean a=true; boolean a=true;
boolean b=true; boolean b=true;
if (ObjectUtil.isNotNull(req.getId())){ if (ObjectUtil.isNotNull(req.getId())){
...@@ -352,7 +387,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -352,7 +387,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
BusForm one2 = setState2(orgId, one.getBussinessCode()); BusForm one2 = setState2(orgId, one.getBussinessCode());
b=busFormService.updateById(one2); b=busFormService.updateById(one2);
} }
return a && b; return one;
}else { }else {
if (ObjectUtil.isNotNull(req.getBussinessCode())){ if (ObjectUtil.isNotNull(req.getBussinessCode())){
//只需要更改一条单据 //只需要更改一条单据
...@@ -367,7 +402,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -367,7 +402,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
BusForm one1 = setState1(orgId, req.getBussinessCode()); BusForm one1 = setState1(orgId, req.getBussinessCode());
a=busFormService.updateById(one1); a=busFormService.updateById(one1);
} }
return a; return one;
} }
} }
...@@ -751,7 +786,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -751,7 +786,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
//记账结束之后往消息队列中推送一条消息 //记账结束之后往消息队列中推送一条消息
String exchangeName="orderExchange"; String exchangeName="orderExchange";
MQReturnMsgDto mqReturnMsgDto = new MQReturnMsgDto(); MQReturnMsgDto mqReturnMsgDto = new MQReturnMsgDto();
mqReturnMsgDto.setApi("settlementOrder"); mqReturnMsgDto.setApi("SettlementOrder");
mqReturnMsgDto.setId(req.getId()); mqReturnMsgDto.setId(req.getId());
mqReturnMsgDto.setOrderType(req.getOrderType()); mqReturnMsgDto.setOrderType(req.getOrderType());
//需要判断是入库单还是出库单,入库单传收物单位id,出库单传发物单位id //需要判断是入库单还是出库单,入库单传收物单位id,出库单传发物单位id
...@@ -804,6 +839,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -804,6 +839,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
} }
orderLog.setOrderId(req.getId()); orderLog.setOrderId(req.getId());
orderLog.setCreateTime(DateTimeUtil.getCurrentDateTime()); orderLog.setCreateTime(DateTimeUtil.getCurrentDateTime());
orderLog.setProcessType("accounting");
//将记账记录保存 //将记账记录保存
return orderLogService.save(orderLog); return orderLogService.save(orderLog);
} }
......
package com.junmp.jyzb.task; package com.junmp.jyzb.task;
import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateTime;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.junmp.jyzb.api.bean.req.InvExpireReq; import com.junmp.jyzb.api.bean.req.InvExpireReq;
import com.junmp.jyzb.entity.OrderMain; import com.junmp.jyzb.entity.OrderMain;
...@@ -14,6 +15,7 @@ import com.junmp.v2.job.api.JobAction; ...@@ -14,6 +15,7 @@ import com.junmp.v2.job.api.JobAction;
import com.junmp.v2.message.api.MessageApi; import com.junmp.v2.message.api.MessageApi;
import com.junmp.v2.message.api.bean.req.MessageReq; import com.junmp.v2.message.api.bean.req.MessageReq;
import com.junmp.v2.message.api.bean.req.MessageSendReq; import com.junmp.v2.message.api.bean.req.MessageSendReq;
import com.junmp.v2.sys.user.entity.SysUser;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -69,35 +71,40 @@ public class InvOverDueMsg implements JobAction { ...@@ -69,35 +71,40 @@ public class InvOverDueMsg implements JobAction {
} }
List<Long> uniqueOrgIDsList = new ArrayList<>(uniqueOrgIDs); List<Long> uniqueOrgIDsList = new ArrayList<>(uniqueOrgIDs);
//查询组织机构下面的所有仓管员的useId //查询组织机构下面的所有仓管员的useId
List<InvExpireReq> userIdsList=inventoryMapper.selectUserListByOrgs(uniqueOrgIDsList); // List<InvExpireReq> userIdsList=inventoryMapper.selectUserListByOrgs(uniqueOrgIDsList);
//并且查询出该领用单的领用人,再将消息推送给领用人 //并且查询出该领用单的领用人,再将消息推送给领用人
List<String> userIdsList=new ArrayList<>();
for (OrderMain orderMain:list) { for (OrderMain orderMain:list) {
for (InvExpireReq userIds:userIdsList) {
if (orderMain.getStartOrgId()==userIds.getOrgId()){ // if (!ObjectUtil.isNull(orderMain.getReturnDate())){
MessageSendReq sendReq = new MessageSendReq(); // int i = orderMain.getReturnDate().compareTo(DateTimeUtil.getCurrentDateTime());
sendReq.setReceiveUserIds(userIds.getUserId()); // }
sendReq.setMsgTitle("物资超期提醒"); if (!ObjectUtil.isNull(orderMain.getReturnDate())
sendReq.setBizType("超期提醒"); && orderMain.getReturnDate().getTime()<DateTimeUtil.getCurrentDateTime().getTime() ){
//设置业务类型 MessageSendReq sendReq = new MessageSendReq();
sendReq.setReceiveUserIds(orderMain.getReturnUserId());
sendReq.setMsgTitle("物资超期提醒");
sendReq.setBizType("超期提醒");
//设置业务类型
// SysDictItem one = sysDictItemService.getOne(new LambdaQueryWrapper<SysDictItem>() // SysDictItem one = sysDictItemService.getOne(new LambdaQueryWrapper<SysDictItem>()
// .eq(SysDictItem::getDictItemId, "over_due")); // .eq(SysDictItem::getDictItemId, "over_due"));
// sendReq.setBizType(one.getItemValue()); // sendReq.setBizType(one.getItemValue());
sendReq.setMsgContent("单据id为:"+orderMain.getId()+"的领用单已超期,请及时查看处理"); sendReq.setMsgContent("单据id为:"+orderMain.getId()+"的领用单已超期,请及时查看处理");
sendReq.setPriority("0"); sendReq.setPriority("0");
sendReq.setSendTime(DateTime.now()); sendReq.setSendTime(DateTime.now());
messageApi.sendMessage(sendReq); messageApi.sendMessage(sendReq);
} userIdsList.add(orderMain.getReturnUserId());
} }
} }
/*推送发送未读数量*/ /*推送发送未读数量*/
for(InvExpireReq userIds:userIdsList){ for(String userIds:userIdsList){
MessageReq req1 = new MessageReq(); MessageReq req1 = new MessageReq();
req1.setReadFlag(0); req1.setReadFlag(0);
req1.setReceiveUserId(Long.parseLong(userIds.getUserId())); req1.setReceiveUserId(Long.parseLong(userIds));
Integer count1 = messageApi.queryCount(req1); Integer count1 = messageApi.queryCount(req1);
messageApi.pushMsgToUser(userIds.getUserId(),count1); messageApi.pushMsgToUser(userIds,count1);
} }
} }
......
...@@ -173,7 +173,6 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow ...@@ -173,7 +173,6 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow
// ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionKey(processInstanceDto.getProcessDefinitionId()) // ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionKey(processInstanceDto.getProcessDefinitionId())
// .latestVersion().singleResult(); // .latestVersion().singleResult();
ProcessInstance processInstance = processInstanceBuilder ProcessInstance processInstance = processInstanceBuilder
.processDefinitionId(processInstanceDto.getProcessDefinitionId()) .processDefinitionId(processInstanceDto.getProcessDefinitionId())
.variable("initiator", StartUser != null ? StartUser.getUserId() : null) .variable("initiator", StartUser != null ? StartUser.getUserId() : null)
...@@ -181,7 +180,6 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow ...@@ -181,7 +180,6 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow
.businessStatus(BUSINESS_STATUS_1) .businessStatus(BUSINESS_STATUS_1)
.start(); .start();
processVariables.put(PROCESS_ID,processInstance.getProcessInstanceId());
// 从流程执行上下文中获取流程变量 // 从流程执行上下文中获取流程变量
Object skip = runtimeService.getVariable(processInstance.getId(), "skip"); Object skip = runtimeService.getVariable(processInstance.getId(), "skip");
......
...@@ -306,13 +306,16 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -306,13 +306,16 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
{ {
StartUser= sysUserService.getById(LoginContext.getContext().getLoginUser()); StartUser= sysUserService.getById(LoginContext.getContext().getLoginUser());
} }
String a=taskDTO.getProcessId();
TaskQuery taskQuery = taskService.createTaskQuery().taskAssignee(StartUser.getUserId().toString()) TaskQuery taskQuery = taskService.createTaskQuery().taskAssignee(StartUser.getUserId().toString())
.includeProcessVariables().taskCreatedAfter(taskDTO.getStartTime()).taskCreatedBefore(taskDTO.getEndTime()) .includeProcessVariables().taskCreatedAfter(taskDTO.getStartTime()).taskCreatedBefore(taskDTO.getEndTime())
.orderByTaskCreateTime().desc(); .orderByTaskCreateTime().desc();
//条件查询(流程名称,开始时间,结束时间,发物单位,装备名称) //条件查询(流程名称,开始时间,结束时间,发物单位,装备名称)
if (ObjectUtil.isNotNull(taskDTO.getProcessDefinitionName()) && ! taskDTO.getProcessDefinitionName().trim().isEmpty()){ if (ObjectUtil.isNotNull(taskDTO.getProcessDefinitionName()) && ! taskDTO.getProcessDefinitionName().trim().isEmpty()){
taskQuery = taskQuery.processDefinitionNameLike("%"+taskDTO.getProcessDefinitionName()+"%"); taskQuery = taskQuery.processDefinitionNameLike("%"+taskDTO.getProcessDefinitionName()+"%");
} }
//装备名称 //装备名称
if (ObjectUtil.isNotNull(taskDTO.getTypeName()) && ! taskDTO.getTypeName().trim().isEmpty()){ if (ObjectUtil.isNotNull(taskDTO.getTypeName()) && ! taskDTO.getTypeName().trim().isEmpty()){
taskQuery=taskQuery.processVariableValueLike(INVLIST,"%"+taskDTO.getTypeName()+"%"); taskQuery=taskQuery.processVariableValueLike(INVLIST,"%"+taskDTO.getTypeName()+"%");
...@@ -326,19 +329,20 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -326,19 +329,20 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
} }
//流程id //流程id
if (ObjectUtil.isNotNull(taskDTO.getProcessId()) && ! taskDTO.getProcessId().trim().isEmpty()){ if (ObjectUtil.isNotNull(taskDTO.getProcessId()) && ! taskDTO.getProcessId().trim().isEmpty()){
taskQuery=taskQuery.processVariableValueEquals(PROCESS_ID,taskDTO.getProcessId()); taskQuery= taskQuery.processInstanceId(taskDTO.getProcessId());
} }
//流程状态 //流程状态
if (ObjectUtil.isNotNull(taskDTO.getBusinessStatus()) && taskDTO.getBusinessStatus().equals("正在处理")){ if (!ObjectUtil.isNull(taskDTO.getBusinessStatus()) && taskDTO.getBusinessStatus().equals("正在处理")){
taskQuery=taskQuery.processVariableValueEquals(PROCESS_STATUS,taskDTO.getBusinessStatus()); taskQuery=taskQuery.processVariableValueEquals(PROCESS_STATUS,taskDTO.getBusinessStatus());
}else if (ObjectUtil.isNotNull(taskDTO.getBusinessStatus()) && taskDTO.getBusinessStatus().equals("撤销")){ }else if (!ObjectUtil.isNull(taskDTO.getBusinessStatus()) && taskDTO.getBusinessStatus().equals("撤销")){
taskQuery=taskQuery.processVariableValueEquals(PROCESS_STATUS,taskDTO.getBusinessStatus()); taskQuery=taskQuery.processVariableValueEquals(PROCESS_STATUS,taskDTO.getBusinessStatus());
}else if (ObjectUtil.isNotNull(taskDTO.getBusinessStatus()) && taskDTO.getBusinessStatus().equals("驳回")){ }else if (!ObjectUtil.isNull(taskDTO.getBusinessStatus()) && taskDTO.getBusinessStatus().equals("驳回")){
taskQuery=taskQuery.processVariableValueEquals(PROCESS_STATUS,taskDTO.getBusinessStatus()); taskQuery=taskQuery.processVariableValueEquals(PROCESS_STATUS,taskDTO.getBusinessStatus());
}else if (ObjectUtil.isNotNull(taskDTO.getBusinessStatus()) && taskDTO.getBusinessStatus().equals("已结束")){ }else if (!ObjectUtil.isNull(taskDTO.getBusinessStatus()) && taskDTO.getBusinessStatus().equals("已结束")){
taskQuery=taskQuery.processVariableValueEquals(PROCESS_STATUS,taskDTO.getBusinessStatus()); taskQuery=taskQuery.processVariableValueEquals(PROCESS_STATUS,taskDTO.getBusinessStatus());
} }
Object aa= taskQuery.list();
// taskQuery. // taskQuery.
List<Task> tasks = taskQuery.listPage((taskDTO.getPageNo() - 1) * taskDTO.getPageSize(), taskDTO.getPageSize()); List<Task> tasks = taskQuery.listPage((taskDTO.getPageNo() - 1) * taskDTO.getPageSize(), taskDTO.getPageSize());
//根据条件查询符合条件的数据并统计数量条数 //根据条件查询符合条件的数据并统计数量条数
...@@ -364,7 +368,6 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -364,7 +368,6 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
taskVO.setOrderType(MapUtil.getStr(processVariables, ORDER_TYPE)); taskVO.setOrderType(MapUtil.getStr(processVariables, ORDER_TYPE));
taskVO.setStartTime(processInstance.getStartTime()); taskVO.setStartTime(processInstance.getStartTime());
taskVO.setCurrentActivityName(getCurrentName(processInstance.getId(),false,processInstance.getProcessDefinitionId())); taskVO.setCurrentActivityName(getCurrentName(processInstance.getId(),false,processInstance.getProcessDefinitionId()));
taskVO.setProcessId(MapUtil.getStr(processVariables,PROCESS_ID));
taskVO.setBusinessStatus(MapUtil.getStr(processVariables,PROCESS_STATUS)); taskVO.setBusinessStatus(MapUtil.getStr(processVariables,PROCESS_STATUS));
taskVO.setStartOrgName(MapUtil.getStr(processVariables,START_ORG_NAME)); taskVO.setStartOrgName(MapUtil.getStr(processVariables,START_ORG_NAME));
...@@ -373,7 +376,6 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -373,7 +376,6 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
taskVO.setBusinessType(MapUtil.getStr(processVariables,BUSSINESS_TYPE)); taskVO.setBusinessType(MapUtil.getStr(processVariables,BUSSINESS_TYPE));
taskVO.setOutInState(MapUtil.getStr(processVariables,OUT_IN_STATE)); taskVO.setOutInState(MapUtil.getStr(processVariables,OUT_IN_STATE));
taskVO.setTaskCreatedTime(task.getCreateTime()); taskVO.setTaskCreatedTime(task.getCreateTime());
DelegationState delegationState = task.getDelegationState(); DelegationState delegationState = task.getDelegationState();
if(delegationState!=null){ if(delegationState!=null){
...@@ -448,16 +450,16 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -448,16 +450,16 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
} }
//流程id //流程id
if (ObjectUtil.isNotNull(taskDTO.getProcessId()) && ! taskDTO.getProcessId().trim().isEmpty()){ if (ObjectUtil.isNotNull(taskDTO.getProcessId()) && ! taskDTO.getProcessId().trim().isEmpty()){
historicTaskQuery=historicTaskQuery.processVariableValueEquals(PROCESS_ID,taskDTO.getProcessId()); historicTaskQuery=historicTaskQuery.processInstanceId(taskDTO.getProcessId());
} }
//流程状态 //流程状态
if (ObjectUtil.isNotNull(taskDTO.getBusinessStatus()) && taskDTO.getBusinessStatus().equals("正在处理")){ if (!ObjectUtil.isNull(taskDTO.getBusinessStatus()) && taskDTO.getBusinessStatus().equals("正在处理")){
historicTaskQuery=historicTaskQuery.processVariableValueEquals(PROCESS_STATUS,taskDTO.getBusinessStatus()); historicTaskQuery=historicTaskQuery.processVariableValueEquals(PROCESS_STATUS,taskDTO.getBusinessStatus());
}else if (ObjectUtil.isNotNull(taskDTO.getBusinessStatus()) && taskDTO.getBusinessStatus().equals("撤销")){ }else if (!ObjectUtil.isNull(taskDTO.getBusinessStatus()) && taskDTO.getBusinessStatus().equals("撤销")){
historicTaskQuery=historicTaskQuery.processVariableValueEquals(PROCESS_STATUS,taskDTO.getBusinessStatus()); historicTaskQuery=historicTaskQuery.processVariableValueEquals(PROCESS_STATUS,taskDTO.getBusinessStatus());
}else if (ObjectUtil.isNotNull(taskDTO.getBusinessStatus()) && taskDTO.getBusinessStatus().equals("驳回")){ }else if (!ObjectUtil.isNull(taskDTO.getBusinessStatus()) && taskDTO.getBusinessStatus().equals("驳回")){
historicTaskQuery=historicTaskQuery.processVariableValueEquals(PROCESS_STATUS,taskDTO.getBusinessStatus()); historicTaskQuery=historicTaskQuery.processVariableValueEquals(PROCESS_STATUS,taskDTO.getBusinessStatus());
}else if (ObjectUtil.isNotNull(taskDTO.getBusinessStatus()) && taskDTO.getBusinessStatus().equals("已结束")){ }else if (!ObjectUtil.isNull(taskDTO.getBusinessStatus()) && taskDTO.getBusinessStatus().equals("已结束")){
historicTaskQuery=historicTaskQuery.processVariableValueEquals(PROCESS_STATUS,taskDTO.getBusinessStatus()); historicTaskQuery=historicTaskQuery.processVariableValueEquals(PROCESS_STATUS,taskDTO.getBusinessStatus());
} }
// List<HistoricTaskInstance> tasks = historicTaskQuery.list(); // List<HistoricTaskInstance> tasks = historicTaskQuery.list();
...@@ -504,7 +506,6 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -504,7 +506,6 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
taskVO.setInvList(MapUtil.getStr(processVariables,INVLIST)); taskVO.setInvList(MapUtil.getStr(processVariables,INVLIST));
taskVO.setBusinessType(MapUtil.getStr(processVariables,BUSSINESS_TYPE)); taskVO.setBusinessType(MapUtil.getStr(processVariables,BUSSINESS_TYPE));
taskVO.setOutInState(MapUtil.getStr(processVariables,OUT_IN_STATE)); taskVO.setOutInState(MapUtil.getStr(processVariables,OUT_IN_STATE));
taskVO.setProcessId(MapUtil.getStr(processVariables,PROCESS_ID));
long totalTimes = task.getEndTime() == null ? long totalTimes = task.getEndTime() == null ?
(Calendar.getInstance().getTimeInMillis() - task.getStartTime().getTime()) : (Calendar.getInstance().getTimeInMillis() - task.getStartTime().getTime()) :
(task.getEndTime().getTime() - task.getStartTime().getTime()); (task.getEndTime().getTime() - task.getStartTime().getTime());
...@@ -595,16 +596,16 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -595,16 +596,16 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
} }
//流程id //流程id
if (ObjectUtil.isNotNull(applyDTO.getProcessId()) && ! applyDTO.getProcessId().trim().isEmpty()){ if (ObjectUtil.isNotNull(applyDTO.getProcessId()) && ! applyDTO.getProcessId().trim().isEmpty()){
desc=desc.variableValueEquals(PROCESS_ID,applyDTO.getProcessId()); desc=desc.processInstanceId(applyDTO.getProcessId());
} }
//流程状态 //流程状态
if (ObjectUtil.isNotNull(applyDTO.getBusinessStatus()) && applyDTO.getBusinessStatus().equals("正在处理")){ if (!ObjectUtil.isNull(applyDTO.getBusinessStatus()) && applyDTO.getBusinessStatus().equals("正在处理")){
desc=desc.variableValueEquals(PROCESS_STATUS,applyDTO.getBusinessStatus()); desc=desc.variableValueEquals(PROCESS_STATUS,applyDTO.getBusinessStatus());
}else if (ObjectUtil.isNotNull(applyDTO.getBusinessStatus()) && applyDTO.getBusinessStatus().equals("撤销")){ }else if (!ObjectUtil.isNull(applyDTO.getBusinessStatus()) && applyDTO.getBusinessStatus().equals("撤销")){
desc=desc.variableValueEquals(PROCESS_STATUS,applyDTO.getBusinessStatus()); desc=desc.variableValueEquals(PROCESS_STATUS,applyDTO.getBusinessStatus());
}else if (ObjectUtil.isNotNull(applyDTO.getBusinessStatus()) && applyDTO.getBusinessStatus().equals("驳回")){ }else if (!ObjectUtil.isNull(applyDTO.getBusinessStatus()) && applyDTO.getBusinessStatus().equals("驳回")){
desc=desc.variableValueEquals(PROCESS_STATUS,applyDTO.getBusinessStatus()); desc=desc.variableValueEquals(PROCESS_STATUS,applyDTO.getBusinessStatus());
}else if (ObjectUtil.isNotNull(applyDTO.getBusinessStatus()) && applyDTO.getBusinessStatus().equals("已结束")){ }else if (!ObjectUtil.isNull(applyDTO.getBusinessStatus()) && applyDTO.getBusinessStatus().equals("已结束")){
desc=desc.variableValueEquals(PROCESS_STATUS,applyDTO.getBusinessStatus()); desc=desc.variableValueEquals(PROCESS_STATUS,applyDTO.getBusinessStatus());
} }
...@@ -639,7 +640,6 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask ...@@ -639,7 +640,6 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
historyProcessInstanceVO.setStartOrgName(MapUtil.getStr(processVariables,START_ORG_NAME)); historyProcessInstanceVO.setStartOrgName(MapUtil.getStr(processVariables,START_ORG_NAME));
historyProcessInstanceVO.setEndOrgName(MapUtil.getStr(processVariables,END_ORG_NAME)); historyProcessInstanceVO.setEndOrgName(MapUtil.getStr(processVariables,END_ORG_NAME));
historyProcessInstanceVO.setInvList(MapUtil.getStr(processVariables,INVLIST)); historyProcessInstanceVO.setInvList(MapUtil.getStr(processVariables,INVLIST));
historyProcessInstanceVO.setProcessId(MapUtil.getStr(processVariables,PROCESS_ID));
historyProcessInstanceVO.setBussinessType(MapUtil.getStr(processVariables,BUSSINESS_TYPE)); historyProcessInstanceVO.setBussinessType(MapUtil.getStr(processVariables,BUSSINESS_TYPE));
historyProcessInstanceVO.setOutInState(MapUtil.getStr(processVariables,OUT_IN_STATE)); historyProcessInstanceVO.setOutInState(MapUtil.getStr(processVariables,OUT_IN_STATE));
//表单内容 //表单内容
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论