|
@@ -3,6 +3,7 @@ package com.fjhx.mes.service.production.impl;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.fjhx.common.enums.PushBusinessTypeEnum;
|
|
|
import com.fjhx.common.utils.Assert;
|
|
|
import com.fjhx.item.entity.product.po.ProductInfo;
|
|
|
import com.fjhx.item.service.product.ProductInfoService;
|
|
@@ -21,6 +22,8 @@ import com.fjhx.mes.service.production.*;
|
|
|
import com.fjhx.mes.service.technology.TechnologyService;
|
|
|
import com.fjhx.mes.service.work.WorkOrderProductionProcessesService;
|
|
|
import com.fjhx.mes.service.work.WorkOrderService;
|
|
|
+import com.fjhx.socket.core.PushTypeEnum;
|
|
|
+import com.fjhx.socket.core.WebSocketPush;
|
|
|
import com.fjhx.wms.entity.stock.emums.StockWaitType;
|
|
|
import com.fjhx.wms.entity.stock.po.StockWait;
|
|
|
import com.fjhx.wms.entity.stock.po.StockWaitDetails;
|
|
@@ -74,6 +77,8 @@ public class ProductionTaskDetailServiceImpl extends ServiceImpl<ProductionTaskD
|
|
|
private ProductInfoService productInfoService;
|
|
|
@Autowired
|
|
|
private ProductionProcessesService productionProcessesService;
|
|
|
+ @Autowired
|
|
|
+ private ProductionTaskProcessesDetailService productionTaskProcessesDetailService;
|
|
|
|
|
|
@Override
|
|
|
public Page<ProductionTaskDetailVo> getPage(ProductionTaskDetailSelectDto dto) {
|
|
@@ -87,9 +92,9 @@ public class ProductionTaskDetailServiceImpl extends ServiceImpl<ProductionTaskD
|
|
|
//过滤负责人为自己的任务
|
|
|
wrapper.eq(ProductionTaskDetail::getPersonLiableId, SecurityUtils.getUserId());
|
|
|
//过滤未在流转的记录
|
|
|
- wrapper.eq(ProductionTaskDetail::getCirculationStatus,0);
|
|
|
+ wrapper.eq(ProductionTaskDetail::getCirculationStatus, 0);
|
|
|
//过滤未完成的记录
|
|
|
- wrapper.eq(ProductionTaskDetail::getFinishStatus,0);
|
|
|
+ wrapper.eq(ProductionTaskDetail::getFinishStatus, 0);
|
|
|
return pageCom(wrapper, dto);
|
|
|
}
|
|
|
|
|
@@ -98,15 +103,15 @@ public class ProductionTaskDetailServiceImpl extends ServiceImpl<ProductionTaskD
|
|
|
*/
|
|
|
Page<ProductionTaskDetailVo> pageCom(IWrapper<ProductionTaskDetail> wrapper, ProductionTaskDetailSelectDto dto) {
|
|
|
//关键字搜索
|
|
|
- if (ObjectUtil.isNotEmpty(dto.getKeyword())){
|
|
|
+ if (ObjectUtil.isNotEmpty(dto.getKeyword())) {
|
|
|
List<Long> productIds = productInfoService.listObject(ProductInfo::getId, q -> q.like(ProductInfo::getName, dto.getKeyword()));
|
|
|
- wrapper.and(q->q.in(ProductionTaskDetail::getProductId,productIds).or().like(ProductionTaskDetail::getProductSn,dto.getKeyword()));
|
|
|
+ wrapper.and(q -> q.in(ProductionTaskDetail::getProductId, productIds).or().like(ProductionTaskDetail::getProductSn, dto.getKeyword()));
|
|
|
}
|
|
|
|
|
|
wrapper.orderByDesc("ptd", ProductionTaskDetail::getId);
|
|
|
Page<ProductionTaskDetailVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
|
|
|
List<ProductionTaskDetailVo> records = page.getRecords();
|
|
|
- if(ObjectUtil.isEmpty(records)){
|
|
|
+ if (ObjectUtil.isEmpty(records)) {
|
|
|
return new Page<>();
|
|
|
}
|
|
|
//赋值流转人名称
|
|
@@ -177,6 +182,14 @@ public class ProductionTaskDetailServiceImpl extends ServiceImpl<ProductionTaskD
|
|
|
productionTaskDetailRecord.setPersonLiableId(SecurityUtils.getUserId());
|
|
|
productionTaskDetailRecord.setReceivedTime(productionTaskDetail.getReceivedTime());
|
|
|
productionTaskDetailRecordService.save(productionTaskDetailRecord);
|
|
|
+
|
|
|
+ //推送消息给下一工序的用户有单可以抢了
|
|
|
+ Long nextProductionProcessesId = productionTaskDetail.getNextProductionProcessesId();
|
|
|
+ List<Long> userIds = productionTaskProcessesDetailService.listObject(ProductionTaskProcessesDetail::getUserId, q -> q
|
|
|
+ .eq(ProductionTaskProcessesDetail::getProductionProcessesId, nextProductionProcessesId)
|
|
|
+ .eq(ProductionTaskProcessesDetail::getProductionTaskId, productionTaskDetail.getProductionTaskId())
|
|
|
+ );
|
|
|
+ WebSocketPush.byUsers(PushTypeEnum.MESSAGE, userIds, "您有新的任务可接收!", PushBusinessTypeEnum.NEW_TASK.getType());
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -222,11 +235,11 @@ public class ProductionTaskDetailServiceImpl extends ServiceImpl<ProductionTaskD
|
|
|
IWrapper<ProductionTaskDetail> wrapper = getWrapper();
|
|
|
|
|
|
//过滤工序用户列表里有自己的数据
|
|
|
- wrapper.eq("ptpd.user_id",SecurityUtils.getUserId());
|
|
|
+ wrapper.eq("ptpd.user_id", SecurityUtils.getUserId());
|
|
|
//过滤正在流转中的数据
|
|
|
- wrapper.eq("ptd",ProductionTaskDetail::getCirculationStatus,1);
|
|
|
+ wrapper.eq("ptd", ProductionTaskDetail::getCirculationStatus, 1);
|
|
|
//过滤未完工的数据
|
|
|
- wrapper.eq("ptd",ProductionTaskDetail::getFinishStatus,0);
|
|
|
+ wrapper.eq("ptd", ProductionTaskDetail::getFinishStatus, 0);
|
|
|
|
|
|
return pageCom(wrapper, dto);
|
|
|
}
|
|
@@ -238,7 +251,7 @@ public class ProductionTaskDetailServiceImpl extends ServiceImpl<ProductionTaskD
|
|
|
public void receive(ProductionTaskDetailDto productionTaskDetailDto) {
|
|
|
ProductionTaskDetail productionTaskDetail = getById(productionTaskDetailDto.getId());
|
|
|
|
|
|
- if(Objects.equals(0,productionTaskDetail.getCirculationStatus())){
|
|
|
+ if (Objects.equals(0, productionTaskDetail.getCirculationStatus())) {
|
|
|
throw new ServiceException("该任务已被他人接收,接收失败");
|
|
|
}
|
|
|
|
|
@@ -290,7 +303,7 @@ public class ProductionTaskDetailServiceImpl extends ServiceImpl<ProductionTaskD
|
|
|
|
|
|
|
|
|
@Override
|
|
|
- public ProductionTaskDetailVo snInfo(String sn){
|
|
|
+ public ProductionTaskDetailVo snInfo(String sn) {
|
|
|
Assert.notEmpty(sn, "sn不能为空");
|
|
|
ProductionTaskDetailVo productionTaskDetailVo = baseMapper.snInfo(sn);
|
|
|
Assert.notEmpty(productionTaskDetailVo, "查询不到sn信息");
|