|
@@ -6,30 +6,21 @@ import cn.ezhizao.framework.aspectj.lang.annotation.Log;
|
|
import cn.ezhizao.framework.aspectj.lang.enums.BusinessType;
|
|
import cn.ezhizao.framework.aspectj.lang.enums.BusinessType;
|
|
import cn.ezhizao.framework.web.controller.BaseController;
|
|
import cn.ezhizao.framework.web.controller.BaseController;
|
|
import cn.ezhizao.framework.web.domain.AjaxResult;
|
|
import cn.ezhizao.framework.web.domain.AjaxResult;
|
|
-import cn.ezhizao.framework.web.page.TableDataInfo;
|
|
|
|
import cn.ezhizao.project.business.deptProcess.domain.BizDeptProcess;
|
|
import cn.ezhizao.project.business.deptProcess.domain.BizDeptProcess;
|
|
-import cn.ezhizao.project.business.deptProcess.service.IBizDeptProcessService;
|
|
|
|
-import cn.ezhizao.project.business.equipment.service.IBizUserEquipmentService;
|
|
|
|
import cn.ezhizao.project.business.process.domain.BizProcess;
|
|
import cn.ezhizao.project.business.process.domain.BizProcess;
|
|
-import cn.ezhizao.project.business.process.service.IBizProcessService;
|
|
|
|
import cn.ezhizao.project.business.product.domain.*;
|
|
import cn.ezhizao.project.business.product.domain.*;
|
|
import cn.ezhizao.project.business.product.service.*;
|
|
import cn.ezhizao.project.business.product.service.*;
|
|
import cn.ezhizao.project.business.technologicalProcessDetail.domain.BizTechnologicalProcessDetail;
|
|
import cn.ezhizao.project.business.technologicalProcessDetail.domain.BizTechnologicalProcessDetail;
|
|
import cn.ezhizao.project.business.technologicalProcessDetail.service.IBizTechnologicalProcessDetailService;
|
|
import cn.ezhizao.project.business.technologicalProcessDetail.service.IBizTechnologicalProcessDetailService;
|
|
import cn.ezhizao.project.system.domain.SysUser;
|
|
import cn.ezhizao.project.system.domain.SysUser;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
-import com.baomidou.mybatisplus.extension.conditions.query.QueryChainWrapper;
|
|
|
|
-import io.swagger.models.auth.In;
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
-import javax.servlet.http.HttpServletRequest;
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
-import java.util.stream.Stream;
|
|
|
|
-
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
* 报工Controller
|
|
* 报工Controller
|
|
@@ -48,8 +39,6 @@ public class BizDayworkController extends BaseController {
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
private IBizFurnaceNoInfoService bizFurnaceNoInfoService;
|
|
private IBizFurnaceNoInfoService bizFurnaceNoInfoService;
|
|
- @Resource
|
|
|
|
- private IBizProcessService bizProcessService;
|
|
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
private IBizDayworkItemService bizDayworkItemService;
|
|
private IBizDayworkItemService bizDayworkItemService;
|
|
@@ -59,77 +48,63 @@ public class BizDayworkController extends BaseController {
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
private IBizLotService bizLotService;
|
|
private IBizLotService bizLotService;
|
|
- @Resource
|
|
|
|
- private IBizDeptProcessService bizDeptProcessService;
|
|
|
|
- @Resource
|
|
|
|
- HttpServletRequest request;
|
|
|
|
-
|
|
|
|
- @Resource
|
|
|
|
- private IBizUserEquipmentService bizUserEquipmentService;
|
|
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
private IBizCarrierService bizCarrierService;
|
|
private IBizCarrierService bizCarrierService;
|
|
- @Resource
|
|
|
|
- private IBizCarrierCategoryService carrierCategoryService;
|
|
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
- private IBizLotTechnologicalProcessService bizLotTechnologicalProcessService;
|
|
|
|
|
|
+ private IBizCarrierCategoryService carrierCategoryService;
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
private IBizLotTechnologicalProcessDetailService bizLotTechnologicalProcessDetailService;
|
|
private IBizLotTechnologicalProcessDetailService bizLotTechnologicalProcessDetailService;
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
private IBizProductionPlanDetailService bizProductionPlanDetailService;
|
|
private IBizProductionPlanDetailService bizProductionPlanDetailService;
|
|
- /**
|
|
|
|
- * 查询报工列表
|
|
|
|
|
|
+
|
|
|
|
+ /*
|
|
|
|
+ @Transactional
|
|
|
|
+ @GetMapping("/list")
|
|
|
|
+ public AjaxResult list(BizDaywork bizDaywork) {
|
|
|
|
+ List<BizDaywork>list = new ArrayList<>();
|
|
|
|
+ List<BizDaywork> dayworkList = bizDayworkService.getList(bizDaywork);
|
|
|
|
+ //查询当前工段工序
|
|
|
|
+ BizDeptProcess bizDeptProcess = new BizDeptProcess();
|
|
|
|
+ bizDeptProcess.setDeptId(bizDaywork.getDeptId());
|
|
|
|
+ List<BizDeptProcess> processList = bizDeptProcessService.getList(bizDeptProcess);
|
|
|
|
+ List<Long> ids = new ArrayList<>();
|
|
|
|
+ for (BizDeptProcess item: processList
|
|
|
|
+ ) {
|
|
|
|
+ ids.add(item.getProcessId());
|
|
|
|
+ }
|
|
|
|
+ for (BizDaywork daywork:dayworkList
|
|
|
|
+ ) {
|
|
|
|
+ //查询工段下工序有没有未周转的批次
|
|
|
|
+ List<BizDayworkItem> itemList = bizDayworkItemService.query().eq("deleted", 0).eq("daywork_id", daywork.getId()).in("process_id", ids).lt("status", 4).orderByDesc("create_time").list();
|
|
|
|
+ if (itemList.size()>0){
|
|
|
|
+ BizProcess processItem = bizProcessService.query().eq("id", itemList.get(itemList.size() - 1).getProcessId()).one();
|
|
|
|
+ daywork.setCurrentProcess(processItem);
|
|
|
|
+ //如果最新的item 只有一条 且状态是未开始,那么整个批次报工为未开始状态
|
|
|
|
+ if (daywork.getDayworkItemList().size() == 1 && daywork.getDayworkItemList().get(0).getStatus().equals("0")) {
|
|
|
|
+ daywork.setStatus(0);
|
|
|
|
+ //如果item有多条 且最新的一条状态为工序完成那么批次报工状态为待周转
|
|
|
|
+ } else if (daywork.getDayworkItemList().size() > 0 && daywork.getDayworkItemList().get(0).getStatus().equals("3")) {
|
|
|
|
+ daywork.setStatus(2);
|
|
|
|
+ //如果item有多条 且最新的一条状态为待周转那么批次报工状态为周转中
|
|
|
|
+ } else if (daywork.getDayworkItemList().size() > 0 && daywork.getDayworkItemList().get(0).getStatus().equals("4")) {
|
|
|
|
+ daywork.setStatus(3);
|
|
|
|
+ //判断item最新的一条是否为最后一道工序且工序已完成
|
|
|
|
+ } else if( daywork.getDayworkItemList().get(0).getStatus().equals("4") && daywork.getDayworkItemList().get(0).getProcessId().equals(daywork.getProcessSequence().get(daywork.getProcessSequence().size() - 1).getId())){
|
|
|
|
+ daywork.setStatus(4);
|
|
|
|
+ }else {
|
|
|
|
+ daywork.setStatus(1);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ list.add(daywork);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return success(list);
|
|
|
|
+ }
|
|
*/
|
|
*/
|
|
-// @Transactional
|
|
|
|
-// @GetMapping("/list")
|
|
|
|
-// public AjaxResult list(BizDaywork bizDaywork) {
|
|
|
|
-// List<BizDaywork>list = new ArrayList<>();
|
|
|
|
-// List<BizDaywork> dayworkList = bizDayworkService.getList(bizDaywork);
|
|
|
|
-// //查询当前工段工序
|
|
|
|
-// BizDeptProcess bizDeptProcess = new BizDeptProcess();
|
|
|
|
-// bizDeptProcess.setDeptId(bizDaywork.getDeptId());
|
|
|
|
-// List<BizDeptProcess> processList = bizDeptProcessService.getList(bizDeptProcess);
|
|
|
|
-// List<Long> ids = new ArrayList<>();
|
|
|
|
-// for (BizDeptProcess item: processList
|
|
|
|
-// ) {
|
|
|
|
-// ids.add(item.getProcessId());
|
|
|
|
-// }
|
|
|
|
-// for (BizDaywork daywork:dayworkList
|
|
|
|
-// ) {
|
|
|
|
-// //查询工段下工序有没有未周转的批次
|
|
|
|
-// List<BizDayworkItem> itemList = bizDayworkItemService.query().eq("deleted", 0).eq("daywork_id", daywork.getId()).in("process_id", ids).lt("status", 4).orderByDesc("create_time").list();
|
|
|
|
-// if (itemList.size()>0){
|
|
|
|
-// BizProcess processItem = bizProcessService.query().eq("id", itemList.get(itemList.size() - 1).getProcessId()).one();
|
|
|
|
-// daywork.setCurrentProcess(processItem);
|
|
|
|
-// //如果最新的item 只有一条 且状态是未开始,那么整个批次报工为未开始状态
|
|
|
|
-// if (daywork.getDayworkItemList().size() == 1 && daywork.getDayworkItemList().get(0).getStatus().equals("0")) {
|
|
|
|
-// daywork.setStatus(0);
|
|
|
|
-// //如果item有多条 且最新的一条状态为工序完成那么批次报工状态为待周转
|
|
|
|
-// } else if (daywork.getDayworkItemList().size() > 0 && daywork.getDayworkItemList().get(0).getStatus().equals("3")) {
|
|
|
|
-// daywork.setStatus(2);
|
|
|
|
-// //如果item有多条 且最新的一条状态为待周转那么批次报工状态为周转中
|
|
|
|
-// } else if (daywork.getDayworkItemList().size() > 0 && daywork.getDayworkItemList().get(0).getStatus().equals("4")) {
|
|
|
|
-// daywork.setStatus(3);
|
|
|
|
-// //判断item最新的一条是否为最后一道工序且工序已完成
|
|
|
|
-// } else if( daywork.getDayworkItemList().get(0).getStatus().equals("4") && daywork.getDayworkItemList().get(0).getProcessId().equals(daywork.getProcessSequence().get(daywork.getProcessSequence().size() - 1).getId())){
|
|
|
|
-// daywork.setStatus(4);
|
|
|
|
-// }else {
|
|
|
|
-// daywork.setStatus(1);
|
|
|
|
-// }
|
|
|
|
-// // 只要是这个资源组都能看到(废弃原因)
|
|
|
|
-//// list.add(daywork);
|
|
|
|
-// }
|
|
|
|
-// list.add(daywork);
|
|
|
|
-// }
|
|
|
|
-//
|
|
|
|
-//
|
|
|
|
-// return success(list);
|
|
|
|
-//
|
|
|
|
-//
|
|
|
|
-// }
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
* 查询报工列表
|
|
* 查询报工列表
|
|
@@ -170,6 +145,7 @@ public class BizDayworkController extends BaseController {
|
|
.list();
|
|
.list();
|
|
List<BizProductionPlanDetail> planDetailslanDetails = new ArrayList<>();
|
|
List<BizProductionPlanDetail> planDetailslanDetails = new ArrayList<>();
|
|
List<BizDaywork> dayworks = new ArrayList<>();
|
|
List<BizDaywork> dayworks = new ArrayList<>();
|
|
|
|
+ // 定义一个所有的报工集合,用于后续接收所有的某个批次的报工记录
|
|
List<BizDayworkItem> allDayworkItems = new ArrayList<>();
|
|
List<BizDayworkItem> allDayworkItems = new ArrayList<>();
|
|
List<BizLot> lotList = new ArrayList<>();
|
|
List<BizLot> lotList = new ArrayList<>();
|
|
if (!myDayworkItems.isEmpty()) {
|
|
if (!myDayworkItems.isEmpty()) {
|
|
@@ -195,18 +171,15 @@ public class BizDayworkController extends BaseController {
|
|
List<Long> allDayworkIdList = dayworks.stream().map(BizDaywork::getId).collect(Collectors.toList());
|
|
List<Long> allDayworkIdList = dayworks.stream().map(BizDaywork::getId).collect(Collectors.toList());
|
|
// 再根据得到的daywork_id集合,获取所有的报工明细
|
|
// 再根据得到的daywork_id集合,获取所有的报工明细
|
|
allDayworkItems = bizDayworkItemService.query().in("daywork_id", allDayworkIdList.isEmpty() ? Collections.singletonList(0L) : dayworks.stream().map(BizDaywork::getId).collect(Collectors.toList())).list();
|
|
allDayworkItems = bizDayworkItemService.query().in("daywork_id", allDayworkIdList.isEmpty() ? Collections.singletonList(0L) : dayworks.stream().map(BizDaywork::getId).collect(Collectors.toList())).list();
|
|
- //获取所有lotId
|
|
|
|
|
|
+ // 获取所有lotId
|
|
List<Long> allLotsIdList = dayworks.stream().map(BizDaywork::getLotId).collect(Collectors.toList());
|
|
List<Long> allLotsIdList = dayworks.stream().map(BizDaywork::getLotId).collect(Collectors.toList());
|
|
lotList = bizLotService.query().in("id", allLotsIdList.isEmpty() ? Collections.singletonList(0L) : dayworks.stream().map(BizDaywork::getLotId).collect(Collectors.toList())).list();
|
|
lotList = bizLotService.query().in("id", allLotsIdList.isEmpty() ? Collections.singletonList(0L) : dayworks.stream().map(BizDaywork::getLotId).collect(Collectors.toList())).list();
|
|
-// setAllDayworkItemsAndLots(myDayworkItems, keywords, dayworks, allDayworkItems, lotList, lots);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
// 定义一个daywork空的list集合,用于存储符合条件(根据daywork的id,获得到对应的最新一条daywork_item,当该条daywork_item的状态值 < 5时,则添加)的daywork
|
|
// 定义一个daywork空的list集合,用于存储符合条件(根据daywork的id,获得到对应的最新一条daywork_item,当该条daywork_item的状态值 < 5时,则添加)的daywork
|
|
List<BizDaywork> dayworkList = new ArrayList<>();
|
|
List<BizDaywork> dayworkList = new ArrayList<>();
|
|
// 对之前获取到的 daywork 集合进行过滤,将符合条件的daywork,添加到dayworkList集合中
|
|
// 对之前获取到的 daywork 集合进行过滤,将符合条件的daywork,添加到dayworkList集合中
|
|
for (BizDaywork item : dayworks) {
|
|
for (BizDaywork item : dayworks) {
|
|
-
|
|
|
|
if (!planDetailslanDetails.isEmpty()) {
|
|
if (!planDetailslanDetails.isEmpty()) {
|
|
//设置尾批量
|
|
//设置尾批量
|
|
item.setLastLotQuantity(planDetailslanDetails.stream().filter(v -> v.getId().equals(item.getProductionPlanDetailId())).collect(Collectors.toList()).get(0).getLastLotQuantity());
|
|
item.setLastLotQuantity(planDetailslanDetails.stream().filter(v -> v.getId().equals(item.getProductionPlanDetailId())).collect(Collectors.toList()).get(0).getLastLotQuantity());
|
|
@@ -216,18 +189,31 @@ public class BizDayworkController extends BaseController {
|
|
//拿到批次是否批废信息
|
|
//拿到批次是否批废信息
|
|
item.setIsWaste(lotList.stream().filter(v -> v.getId().equals(item.getLotId())).collect(Collectors.toList()).get(0).getIsWaste());
|
|
item.setIsWaste(lotList.stream().filter(v -> v.getId().equals(item.getLotId())).collect(Collectors.toList()).get(0).getIsWaste());
|
|
// 根据当前的dayworkId,获取相应的daywork_item集合,并根据创建日期进行倒叙排序
|
|
// 根据当前的dayworkId,获取相应的daywork_item集合,并根据创建日期进行倒叙排序
|
|
|
|
+ // 原代码中对报工进行了按当前登录者user_id的判断,这样,就无法真实获取到当前批次的状态,而是当前登录者的报工状态。
|
|
|
|
+ // 如果该批次是一个人操作的,则没有问题,如果是多人(邀请报工),通过user_id过滤后,就会出现状态不准的情况。
|
|
|
|
+ // 所以需要将filter中,user_id过滤去掉
|
|
|
|
+ /*
|
|
List<BizDayworkItem> currentDayworkItems = allDayworkItems.stream()
|
|
List<BizDayworkItem> currentDayworkItems = allDayworkItems.stream()
|
|
.filter(di -> di.getDayworkId().equals(item.getId()) && di.getUserId().equals(userId))
|
|
.filter(di -> di.getDayworkId().equals(item.getId()) && di.getUserId().equals(userId))
|
|
.sorted(Comparator.comparing(BizDayworkItem::getCreateTime).reversed())
|
|
.sorted(Comparator.comparing(BizDayworkItem::getCreateTime).reversed())
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
|
|
+ */
|
|
|
|
+ List<BizDayworkItem> currentDayworkItems = allDayworkItems.stream()
|
|
|
|
+ .filter(di -> di.getDayworkId().equals(item.getId()))
|
|
|
|
+ .sorted(Comparator.comparing(BizDayworkItem::getCreateTime).reversed())
|
|
|
|
+ .collect(Collectors.toList());
|
|
// 获取最后一条报工明细
|
|
// 获取最后一条报工明细
|
|
BizDayworkItem latest = currentDayworkItems.get(0);
|
|
BizDayworkItem latest = currentDayworkItems.get(0);
|
|
String status = currentDayworkItems.stream().filter(v -> v.getTechnologicalProcessDetailId().equals(latest.getTechnologicalProcessDetailId()))
|
|
String status = currentDayworkItems.stream().filter(v -> v.getTechnologicalProcessDetailId().equals(latest.getTechnologicalProcessDetailId()))
|
|
.collect(Collectors.toList())
|
|
.collect(Collectors.toList())
|
|
.get(0)
|
|
.get(0)
|
|
.getStatus();
|
|
.getStatus();
|
|
|
|
+ // 原程序中这里的判断条件是:user_id == 当前登录者user_id && status < 5,但这里不应该判断登录者user_id,而是直接判断状态值,
|
|
|
|
+ // 因为,如果该批次是多人操作的,那么,该批次的报工状态,应该是所有人的,所以,这里不应该判断user_id
|
|
|
|
+ // if (latest.getUserId().equals(userId) && Integer.parseInt(status) < 5) {
|
|
|
|
+
|
|
// 状态 == 5 时,说明已经进入周转中,那么该条daywork,将不再页面中显示,所以,通过对status的值的判断,添加到daywork集合中
|
|
// 状态 == 5 时,说明已经进入周转中,那么该条daywork,将不再页面中显示,所以,通过对status的值的判断,添加到daywork集合中
|
|
- if (latest.getUserId().equals(userId) && Integer.parseInt(status) < 5) {
|
|
|
|
|
|
+ if (Integer.parseInt(status) < 5) {
|
|
// 获取当前操作者自己的报工记录
|
|
// 获取当前操作者自己的报工记录
|
|
List<BizDayworkItem> currentMyDayworkItems = myDayworkItems.stream()
|
|
List<BizDayworkItem> currentMyDayworkItems = myDayworkItems.stream()
|
|
.filter(di -> di.getDayworkId().equals(item.getId()))
|
|
.filter(di -> di.getDayworkId().equals(item.getId()))
|
|
@@ -237,7 +223,6 @@ public class BizDayworkController extends BaseController {
|
|
item.setDayworkItemList(currentMyDayworkItems);
|
|
item.setDayworkItemList(currentMyDayworkItems);
|
|
dayworkList.add(item);
|
|
dayworkList.add(item);
|
|
}
|
|
}
|
|
- //dayworkListAddItem(dayworkList, item, lotList, allDayworkItems, myDayworkItems);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
// 如果有报工数据
|
|
// 如果有报工数据
|
|
@@ -285,10 +270,10 @@ public class BizDayworkController extends BaseController {
|
|
// 直接通过daywork中的 technological_process_id 组成的集合,获取到对应的批次工艺工序清单,解决【正常】与【异常】冲突的问题
|
|
// 直接通过daywork中的 technological_process_id 组成的集合,获取到对应的批次工艺工序清单,解决【正常】与【异常】冲突的问题
|
|
List<Long> allTechnologicalProcessIds = dayworkList.stream().map(BizDaywork::getTechnologicalProcessId).collect(Collectors.toList());
|
|
List<Long> allTechnologicalProcessIds = dayworkList.stream().map(BizDaywork::getTechnologicalProcessId).collect(Collectors.toList());
|
|
|
|
|
|
- List<BizLotTechnologicalProcessDetail> allLotTechnologicalDetails = new ArrayList<>();
|
|
|
|
- allLotTechnologicalDetails = bizLotTechnologicalProcessDetailService.query()
|
|
|
|
|
|
+ List<BizLotTechnologicalProcessDetail> allLotTechnologicalDetails = bizLotTechnologicalProcessDetailService.query()
|
|
.in("lot_technological_process_id", allTechnologicalProcessIds)
|
|
.in("lot_technological_process_id", allTechnologicalProcessIds)
|
|
.list();
|
|
.list();
|
|
|
|
+
|
|
List<BizLotTechnologicalProcessDetail> technologicalDetailList = new ArrayList<>();
|
|
List<BizLotTechnologicalProcessDetail> technologicalDetailList = new ArrayList<>();
|
|
|
|
|
|
/* ****************************** 获取 daywork 与 【材质】相关 ****************************** */
|
|
/* ****************************** 获取 daywork 与 【材质】相关 ****************************** */
|
|
@@ -305,7 +290,7 @@ public class BizDayworkController extends BaseController {
|
|
//把批次的lot投产数量加到daywork里
|
|
//把批次的lot投产数量加到daywork里
|
|
allLots.stream().filter(l -> l.getId().equals(daywork.getLotId()))
|
|
allLots.stream().filter(l -> l.getId().equals(daywork.getLotId()))
|
|
.findFirst()
|
|
.findFirst()
|
|
- .ifPresent(lot -> daywork.setProductionQuantity(lot.getProductionQuantity().intValue()));
|
|
|
|
|
|
+ .ifPresent(lot -> daywork.setProductionQuantity(lot.getProductionQuantity()));
|
|
|
|
|
|
// 根据当前的 daywork 的 id,获取到 daywork_item 的集合,并根据 daywork_item 的 create_time 进行倒叙
|
|
// 根据当前的 daywork 的 id,获取到 daywork_item 的集合,并根据 daywork_item 的 create_time 进行倒叙
|
|
// 之所以通过时间倒叙,目的是在后续过程中,通过get(0)的方式,获得最新的一条报工记录
|
|
// 之所以通过时间倒叙,目的是在后续过程中,通过get(0)的方式,获得最新的一条报工记录
|
|
@@ -378,19 +363,23 @@ public class BizDayworkController extends BaseController {
|
|
// 通过get(0)的方式,获得最新的一条报工记录
|
|
// 通过get(0)的方式,获得最新的一条报工记录
|
|
.filter(tp -> tp.getProcessStepNumber().equals(finishedTempDayworkItems.get(0).getProcessStepNumber()))
|
|
.filter(tp -> tp.getProcessStepNumber().equals(finishedTempDayworkItems.get(0).getProcessStepNumber()))
|
|
.findFirst().orElse(null);
|
|
.findFirst().orElse(null);
|
|
- prevProcess.setId(technologicalDetail.getProcessId());
|
|
|
|
- prevProcess.setProcessAlias(technologicalDetail.getProcessAlias());
|
|
|
|
- prevProcess.setProcessCode(technologicalDetail.getProcessCode());
|
|
|
|
- prevProcess.setProcessStepNumber(technologicalDetail.getProcessStepNumber());
|
|
|
|
|
|
+ if (technologicalDetail != null) {
|
|
|
|
+ prevProcess.setId(technologicalDetail.getProcessId());
|
|
|
|
+ prevProcess.setProcessAlias(technologicalDetail.getProcessAlias());
|
|
|
|
+ prevProcess.setProcessCode(technologicalDetail.getProcessCode());
|
|
|
|
+ prevProcess.setProcessStepNumber(technologicalDetail.getProcessStepNumber());
|
|
|
|
+ }
|
|
} else {
|
|
} else {
|
|
BizTechnologicalProcessDetail technologicalProcessDetail = processList.stream()
|
|
BizTechnologicalProcessDetail technologicalProcessDetail = processList.stream()
|
|
// 通过get(0)的方式,获得最新的一条报工记录
|
|
// 通过get(0)的方式,获得最新的一条报工记录
|
|
.filter(tp -> tp.getProcessStepNumber().equals(finishedTempDayworkItems.get(0).getProcessStepNumber()))
|
|
.filter(tp -> tp.getProcessStepNumber().equals(finishedTempDayworkItems.get(0).getProcessStepNumber()))
|
|
.findFirst().orElse(null);
|
|
.findFirst().orElse(null);
|
|
- prevProcess.setId(technologicalProcessDetail.getProcessId());
|
|
|
|
- prevProcess.setProcessAlias(technologicalProcessDetail.getProcessAlias());
|
|
|
|
- prevProcess.setProcessCode(technologicalProcessDetail.getProcessCode());
|
|
|
|
- prevProcess.setProcessStepNumber(technologicalProcessDetail.getProcessStepNumber());
|
|
|
|
|
|
+ if (technologicalProcessDetail != null) {
|
|
|
|
+ prevProcess.setId(technologicalProcessDetail.getProcessId());
|
|
|
|
+ prevProcess.setProcessAlias(technologicalProcessDetail.getProcessAlias());
|
|
|
|
+ prevProcess.setProcessCode(technologicalProcessDetail.getProcessCode());
|
|
|
|
+ prevProcess.setProcessStepNumber(technologicalProcessDetail.getProcessStepNumber());
|
|
|
|
+ }
|
|
}
|
|
}
|
|
daywork.setPrevProcess(prevProcess);
|
|
daywork.setPrevProcess(prevProcess);
|
|
}
|
|
}
|
|
@@ -404,19 +393,23 @@ public class BizDayworkController extends BaseController {
|
|
// 通过get(0)的方式,获得最新的一条报工记录
|
|
// 通过get(0)的方式,获得最新的一条报工记录
|
|
.filter(tp -> tp.getProcessStepNumber().equals(tempDayworkItems.get(0).getProcessStepNumber()))
|
|
.filter(tp -> tp.getProcessStepNumber().equals(tempDayworkItems.get(0).getProcessStepNumber()))
|
|
.findFirst().orElse(null);
|
|
.findFirst().orElse(null);
|
|
- tempProcess.setId(technologicalDetail.getProcessId());
|
|
|
|
- tempProcess.setProcessAlias(technologicalDetail.getProcessAlias());
|
|
|
|
- tempProcess.setProcessCode(technologicalDetail.getProcessCode());
|
|
|
|
- tempProcess.setProcessStepNumber(technologicalDetail.getProcessStepNumber());
|
|
|
|
|
|
+ if (technologicalDetail != null) {
|
|
|
|
+ tempProcess.setId(technologicalDetail.getProcessId());
|
|
|
|
+ tempProcess.setProcessAlias(technologicalDetail.getProcessAlias());
|
|
|
|
+ tempProcess.setProcessCode(technologicalDetail.getProcessCode());
|
|
|
|
+ tempProcess.setProcessStepNumber(technologicalDetail.getProcessStepNumber());
|
|
|
|
+ }
|
|
} else {
|
|
} else {
|
|
BizTechnologicalProcessDetail technologicalProcessDetail = processList.stream()
|
|
BizTechnologicalProcessDetail technologicalProcessDetail = processList.stream()
|
|
// 通过get(0)的方式,获得最新的一条报工记录
|
|
// 通过get(0)的方式,获得最新的一条报工记录
|
|
.filter(tp -> tp.getProcessStepNumber().equals(tempDayworkItems.get(0).getProcessStepNumber()))
|
|
.filter(tp -> tp.getProcessStepNumber().equals(tempDayworkItems.get(0).getProcessStepNumber()))
|
|
.findFirst().orElse(null);
|
|
.findFirst().orElse(null);
|
|
- tempProcess.setId(technologicalProcessDetail.getProcessId());
|
|
|
|
- tempProcess.setProcessAlias(technologicalProcessDetail.getProcessAlias());
|
|
|
|
- tempProcess.setProcessCode(technologicalProcessDetail.getProcessCode());
|
|
|
|
- tempProcess.setProcessStepNumber(technologicalProcessDetail.getProcessStepNumber());
|
|
|
|
|
|
+ if (technologicalProcessDetail != null) {
|
|
|
|
+ tempProcess.setId(technologicalProcessDetail.getProcessId());
|
|
|
|
+ tempProcess.setProcessAlias(technologicalProcessDetail.getProcessAlias());
|
|
|
|
+ tempProcess.setProcessCode(technologicalProcessDetail.getProcessCode());
|
|
|
|
+ tempProcess.setProcessStepNumber(technologicalProcessDetail.getProcessStepNumber());
|
|
|
|
+ }
|
|
}
|
|
}
|
|
// 最新的一条报工记录对应的工序,就是当前批次的当前工序
|
|
// 最新的一条报工记录对应的工序,就是当前批次的当前工序
|
|
daywork.setCurrentProcess(tempProcess);
|
|
daywork.setCurrentProcess(tempProcess);
|
|
@@ -762,7 +755,7 @@ public class BizDayworkController extends BaseController {
|
|
/**
|
|
/**
|
|
* 导出报工列表
|
|
* 导出报工列表
|
|
*/
|
|
*/
|
|
-// @PreAuthorize("@ss.hasPermi('business:daywork:export')")
|
|
|
|
|
|
+ // @PreAuthorize("@ss.hasPermi('business:daywork:export')")
|
|
@Log(title = "报工", businessType = BusinessType.EXPORT)
|
|
@Log(title = "报工", businessType = BusinessType.EXPORT)
|
|
@PostMapping("/export")
|
|
@PostMapping("/export")
|
|
public void export(HttpServletResponse response, BizDaywork bizDaywork) throws NoSuchFieldException, IllegalAccessException {
|
|
public void export(HttpServletResponse response, BizDaywork bizDaywork) throws NoSuchFieldException, IllegalAccessException {
|
|
@@ -774,7 +767,7 @@ public class BizDayworkController extends BaseController {
|
|
/**
|
|
/**
|
|
* 获取报工详细信息
|
|
* 获取报工详细信息
|
|
*/
|
|
*/
|
|
-// @PreAuthorize("@ss.hasPermi('business:daywork:query')")
|
|
|
|
|
|
+ // @PreAuthorize("@ss.hasPermi('business:daywork:query')")
|
|
@GetMapping(value = "/{id}")
|
|
@GetMapping(value = "/{id}")
|
|
public AjaxResult getInfo(@PathVariable("id") Long id) {
|
|
public AjaxResult getInfo(@PathVariable("id") Long id) {
|
|
return success(bizDayworkService.getById(id));
|
|
return success(bizDayworkService.getById(id));
|
|
@@ -783,7 +776,7 @@ public class BizDayworkController extends BaseController {
|
|
/**
|
|
/**
|
|
* 新增报工
|
|
* 新增报工
|
|
*/
|
|
*/
|
|
-// @PreAuthorize("@ss.hasPermi('business:daywork:add')")
|
|
|
|
|
|
+ // @PreAuthorize("@ss.hasPermi('business:daywork:add')")
|
|
@Log(title = "报工", businessType = BusinessType.INSERT)
|
|
@Log(title = "报工", businessType = BusinessType.INSERT)
|
|
@Transactional
|
|
@Transactional
|
|
@PostMapping
|
|
@PostMapping
|
|
@@ -914,10 +907,10 @@ public class BizDayworkController extends BaseController {
|
|
* 非手续扫码获取批次报工详细信息
|
|
* 非手续扫码获取批次报工详细信息
|
|
* 扫码开始新批次时,调用
|
|
* 扫码开始新批次时,调用
|
|
*/
|
|
*/
|
|
-// @PreAuthorize("@ss.hasPermi('business:daywork:query')")
|
|
|
|
|
|
+ // @PreAuthorize("@ss.hasPermi('business:daywork:query')")
|
|
@Transactional
|
|
@Transactional
|
|
@Log(title = "报工", businessType = BusinessType.SELECT)
|
|
@Log(title = "报工", businessType = BusinessType.SELECT)
|
|
-// @GetMapping(value = "/showDaywork")
|
|
|
|
|
|
+ // @GetMapping(value = "/showDaywork")
|
|
public AjaxResult getDayworkByCarrier(BizDayworkItem bizDayworkItem) {
|
|
public AjaxResult getDayworkByCarrier(BizDayworkItem bizDayworkItem) {
|
|
// 判断是否被领取
|
|
// 判断是否被领取
|
|
List<BizCarrier> availableCarrierList = bizDayworkService.getAvailableCarrierList(new BizCarrier());
|
|
List<BizCarrier> availableCarrierList = bizDayworkService.getAvailableCarrierList(new BizCarrier());
|
|
@@ -947,10 +940,12 @@ public class BizDayworkController extends BaseController {
|
|
lastItem = item;
|
|
lastItem = item;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-// dayworkItemByCarrier.get(0).setDaywork(daywork.get(0));
|
|
|
|
|
|
+ // dayworkItemByCarrier.get(0).setDaywork(daywork.get(0));
|
|
|
|
|
|
-// 将最后一个对象添加到新数组中
|
|
|
|
- newItemList.add(lastItem);
|
|
|
|
|
|
+ // 将最后一个对象添加到新数组中
|
|
|
|
+ if (lastItem != null) {
|
|
|
|
+ newItemList.add(lastItem);
|
|
|
|
+ }
|
|
if (!newItemList.isEmpty()) {
|
|
if (!newItemList.isEmpty()) {
|
|
newItemList.remove(0);
|
|
newItemList.remove(0);
|
|
}
|
|
}
|
|
@@ -1043,20 +1038,19 @@ public class BizDayworkController extends BaseController {
|
|
/**
|
|
/**
|
|
* 非首序扫码添加批次
|
|
* 非首序扫码添加批次
|
|
*/
|
|
*/
|
|
-// @PreAuthorize("@ss.hasPermi('business:daywork:add')")
|
|
|
|
|
|
+ // @PreAuthorize("@ss.hasPermi('business:daywork:add')")
|
|
@Log(title = "报工", businessType = BusinessType.INSERT)
|
|
@Log(title = "报工", businessType = BusinessType.INSERT)
|
|
@Transactional
|
|
@Transactional
|
|
-// @PostMapping("/showDayworkSave")
|
|
|
|
|
|
+ // @PostMapping("/showDayworkSave")
|
|
public AjaxResult showDaywork(@RequestBody List<BizDaywork> bizDaywork) {
|
|
public AjaxResult showDaywork(@RequestBody List<BizDaywork> bizDaywork) {
|
|
|
|
|
|
List<BizDayworkItem> list = new ArrayList<>();
|
|
List<BizDayworkItem> list = new ArrayList<>();
|
|
- for (BizDaywork item : bizDaywork
|
|
|
|
- ) {
|
|
|
|
|
|
+ for (BizDaywork item : bizDaywork) {
|
|
BizDaywork newDaywork = new BizDaywork();
|
|
BizDaywork newDaywork = new BizDaywork();
|
|
newDaywork.setId(item.getId());
|
|
newDaywork.setId(item.getId());
|
|
BizDaywork daywork = bizDayworkService.getList(newDaywork).get(0);
|
|
BizDaywork daywork = bizDayworkService.getList(newDaywork).get(0);
|
|
|
|
|
|
- /** 添加一条报工批次时生成一条未开始的Item */
|
|
|
|
|
|
+ /* 添加一条报工批次时生成一条未开始的Item */
|
|
BizDayworkItem bizDayworkItem = new BizDayworkItem();
|
|
BizDayworkItem bizDayworkItem = new BizDayworkItem();
|
|
bizDayworkItem.setDayworkId(daywork.getId());
|
|
bizDayworkItem.setDayworkId(daywork.getId());
|
|
bizDayworkItem.setProductionPlanDetailId(daywork.getProductionPlanDetailId());
|
|
bizDayworkItem.setProductionPlanDetailId(daywork.getProductionPlanDetailId());
|
|
@@ -1067,7 +1061,7 @@ public class BizDayworkController extends BaseController {
|
|
bizDayworkItem.setNickName(user.getNickName());
|
|
bizDayworkItem.setNickName(user.getNickName());
|
|
bizDayworkItem.setQualifiedNum(item.getProcessQualifiedNum());
|
|
bizDayworkItem.setQualifiedNum(item.getProcessQualifiedNum());
|
|
bizDayworkItem.setProdNum(item.getProcessQualifiedNum());
|
|
bizDayworkItem.setProdNum(item.getProcessQualifiedNum());
|
|
- //0114 这里要把前段显示的item的processId传进来
|
|
|
|
|
|
+ // 0114 这里要把前段显示的item的processId传进来
|
|
bizDayworkItem.setProcessId(item.getProcessId());
|
|
bizDayworkItem.setProcessId(item.getProcessId());
|
|
bizDayworkItem.setTechnologicalProcessDetailId(item.getTechnologicalProcessDetailId());
|
|
bizDayworkItem.setTechnologicalProcessDetailId(item.getTechnologicalProcessDetailId());
|
|
bizDayworkItem.setDeptId(item.getDeptId());
|
|
bizDayworkItem.setDeptId(item.getDeptId());
|
|
@@ -1115,7 +1109,7 @@ public class BizDayworkController extends BaseController {
|
|
bizDayworkItem.setUserName(user.getUserName());
|
|
bizDayworkItem.setUserName(user.getUserName());
|
|
bizDayworkItem.setProdNum(l.getQualifiedNum());
|
|
bizDayworkItem.setProdNum(l.getQualifiedNum());
|
|
bizDayworkItem.setNickName(user.getNickName());
|
|
bizDayworkItem.setNickName(user.getNickName());
|
|
- //0114 这里要把前段显示的item的processId传进来
|
|
|
|
|
|
+ // 0114 这里要把前段显示的item的processId传进来
|
|
bizDayworkItem.setProcessId(l.getDaywork().getProcessId());
|
|
bizDayworkItem.setProcessId(l.getDaywork().getProcessId());
|
|
bizDayworkItem.setTechnologicalProcessDetailId(l.getDaywork().getTechnologicalProcessDetailId());
|
|
bizDayworkItem.setTechnologicalProcessDetailId(l.getDaywork().getTechnologicalProcessDetailId());
|
|
bizDayworkItem.setDeptId(l.getDeptId());
|
|
bizDayworkItem.setDeptId(l.getDeptId());
|
|
@@ -1131,7 +1125,7 @@ public class BizDayworkController extends BaseController {
|
|
/**
|
|
/**
|
|
* 修改报工
|
|
* 修改报工
|
|
*/
|
|
*/
|
|
-// @PreAuthorize("@ss.hasPermi('business:daywork:edit')")
|
|
|
|
|
|
+ // @PreAuthorize("@ss.hasPermi('business:daywork:edit')")
|
|
@Log(title = "报工", businessType = BusinessType.UPDATE)
|
|
@Log(title = "报工", businessType = BusinessType.UPDATE)
|
|
@PutMapping
|
|
@PutMapping
|
|
public AjaxResult edit(@RequestBody BizDaywork bizDaywork) throws NoSuchFieldException, IllegalAccessException {
|
|
public AjaxResult edit(@RequestBody BizDaywork bizDaywork) throws NoSuchFieldException, IllegalAccessException {
|
|
@@ -1142,7 +1136,7 @@ public class BizDayworkController extends BaseController {
|
|
/**
|
|
/**
|
|
* 删除报工
|
|
* 删除报工
|
|
*/
|
|
*/
|
|
-// @PreAuthorize("@ss.hasPermi('business:daywork:remove')")
|
|
|
|
|
|
+ // @PreAuthorize("@ss.hasPermi('business:daywork:remove')")
|
|
@Log(title = "报工", businessType = BusinessType.DELETE)
|
|
@Log(title = "报工", businessType = BusinessType.DELETE)
|
|
@DeleteMapping("/{ids}")
|
|
@DeleteMapping("/{ids}")
|
|
public AjaxResult remove(@PathVariable List<Long> ids) {
|
|
public AjaxResult remove(@PathVariable List<Long> ids) {
|
|
@@ -1153,7 +1147,7 @@ public class BizDayworkController extends BaseController {
|
|
/**
|
|
/**
|
|
* 取消周转
|
|
* 取消周转
|
|
*/
|
|
*/
|
|
-// @PreAuthorize("@ss.hasPermi('business:daywork:remove')")
|
|
|
|
|
|
+ // @PreAuthorize("@ss.hasPermi('business:daywork:remove')")
|
|
@Log(title = "报工", businessType = BusinessType.DELETE)
|
|
@Log(title = "报工", businessType = BusinessType.DELETE)
|
|
@DeleteMapping("/turnoverDelete")
|
|
@DeleteMapping("/turnoverDelete")
|
|
@Transactional
|
|
@Transactional
|
|
@@ -1180,11 +1174,11 @@ public class BizDayworkController extends BaseController {
|
|
.eq("dept_id", carrier.getDeptId())
|
|
.eq("dept_id", carrier.getDeptId())
|
|
.list();
|
|
.list();
|
|
|
|
|
|
-// 按daywork_id分组
|
|
|
|
|
|
+ // 按daywork_id分组
|
|
Map<Long, List<BizDayworkItem>> groupedByDayworkId = bizDayworkItemList.stream()
|
|
Map<Long, List<BizDayworkItem>> groupedByDayworkId = bizDayworkItemList.stream()
|
|
.collect(Collectors.groupingBy(BizDayworkItem::getDayworkId));
|
|
.collect(Collectors.groupingBy(BizDayworkItem::getDayworkId));
|
|
|
|
|
|
-// 根据biz_daywork_item里的start_time字段倒序排序,取第一个,仅当状态为7时才保留
|
|
|
|
|
|
+ // 根据biz_daywork_item里的start_time字段倒序排序,取第一个,仅当状态为7时才保留
|
|
List<BizDayworkItem> dayworkItemList = groupedByDayworkId.values().stream()
|
|
List<BizDayworkItem> dayworkItemList = groupedByDayworkId.values().stream()
|
|
.map(items -> {
|
|
.map(items -> {
|
|
items.sort(Comparator.comparing(BizDayworkItem::getCreateTime).reversed()); // 在每个分组内按时间倒序排序
|
|
items.sort(Comparator.comparing(BizDayworkItem::getCreateTime).reversed()); // 在每个分组内按时间倒序排序
|