|
@@ -354,7 +354,145 @@ public class BizDayworkItemController extends BaseController {
|
|
|
ExcelUtil<BizDayworkItem> util = new ExcelUtil<BizDayworkItem>(BizDayworkItem.class);
|
|
|
util.exportExcel(response, list, "报工记录数据");
|
|
|
}
|
|
|
+ @PostMapping("/getInnerTurnoverByDeptId")
|
|
|
+ public AjaxResult getInnerTurnoverByDeptId(@RequestBody BizDayworkItem bizDayworkItem) {
|
|
|
+ List<BizDaywork> dayworkList = bizDayworkItemService.getInnerListByDeptId(bizDayworkItem);
|
|
|
+ if(!dayworkList.isEmpty()){
|
|
|
+ List<Long> dayworkIds = dayworkList.stream().map(BizDaywork::getId).collect(Collectors.toList());
|
|
|
+ //正常批次的工序集合
|
|
|
+ List<Long> normalTechnologicalProcessIds = dayworkList.stream().filter(item -> item.getIsWasteRecycling() == 0 && item.getIsAmend() == 0).map(BizDaywork::getTechnologicalProcessId).collect(Collectors.toList());
|
|
|
+ List<BizTechnologicalProcessDetail> normalDetailList = bizTechnologicalProcessDetailService.query().in("technological_process_id", normalTechnologicalProcessIds.isEmpty() ? Collections.singletonList(0L) : normalTechnologicalProcessIds).orderByAsc("process_step_number").list();
|
|
|
+ //不正常批次的工序集合
|
|
|
+ List<Long> abNormalTechnologicalProcessIds = dayworkList.stream().filter(item -> item.getIsWasteRecycling() == 1 || item.getIsAmend() == 1).map(BizDaywork::getTechnologicalProcessId).collect(Collectors.toList());
|
|
|
+ List<BizLotTechnologicalProcessDetail> abNormalDetailList = bizLotTechnologicalProcessDetailService.query().in("lot_technological_process_id", abNormalTechnologicalProcessIds.isEmpty() ? Collections.singletonList(0L) : abNormalTechnologicalProcessIds).orderByAsc("process_step_number").list();
|
|
|
+ List<BizDayworkItem> dayworkItemList = bizDayworkItemService.query().in("daywork_id", dayworkIds).list();
|
|
|
+ dayworkList.forEach(daywork -> {
|
|
|
+ List<BizDayworkItem> dayworkItem = dayworkItemList.stream().filter(item -> item.getDayworkId().equals(daywork.getId())).sorted(Comparator.comparing(BizDayworkItem::getCreateTime).reversed()).collect(Collectors.toList());
|
|
|
+ String lastProcessStepNumber = dayworkItem.get(0).getProcessStepNumber();
|
|
|
+ //当前工序报工信息
|
|
|
+ List<BizDayworkItem> lastDayworkItem = dayworkItem.stream().filter(item -> item.getProcessStepNumber().equals(lastProcessStepNumber) && (item.getStatus().equals("2") || item.getStatus().equals("3"))).collect(Collectors.toList());
|
|
|
+ //合格数量求和
|
|
|
+ daywork.setTemporaryProcessQualifiedNum(lastDayworkItem.stream().mapToInt(BizDayworkItem::getQualifiedNum).sum());
|
|
|
+ //周转的报工信息
|
|
|
+ BizDayworkItem turnoverItem = dayworkItem.stream().filter(item -> item.getProcessStepNumber().equals(lastProcessStepNumber) && item.getStatus().equals("4")).collect(Collectors.toList()).get(0);
|
|
|
+ daywork.setDayworkItemList(new ArrayList<BizDayworkItem>() {{
|
|
|
+ add(turnoverItem);
|
|
|
+ }});
|
|
|
+ //周转位置
|
|
|
+ daywork.setPlace(turnoverItem.getPlace());
|
|
|
+ //设置操作者
|
|
|
+ daywork.setCreatorName(turnoverItem.getNickName());
|
|
|
+ List<BizProcess> processSequence = new ArrayList<>();
|
|
|
+ //工序集合
|
|
|
+ if (daywork.getIsAmend() == 1 || daywork.getIsWasteRecycling() == 1) {
|
|
|
+ BizProcess process = new BizProcess();
|
|
|
+ BizLotTechnologicalProcessDetail processDetail = abNormalDetailList.stream().filter(item -> item.getProcessStepNumber().equals(turnoverItem.getProcessStepNumber())).collect(Collectors.toList()).get(0);
|
|
|
+ process.setProcessAlias(processDetail.getProcessAlias());
|
|
|
+ process.setProcessStepNumber(processDetail.getProcessStepNumber());
|
|
|
+ daywork.setCurrentProcess(process);
|
|
|
+ for (BizLotTechnologicalProcessDetail detail : abNormalDetailList) {
|
|
|
+ BizProcess newProcess = new BizProcess();
|
|
|
+ newProcess.setId(detail.getProcessId());
|
|
|
+ newProcess.setProcessCode(detail.getProcessCode());
|
|
|
+ newProcess.setProcessAlias(detail.getProcessAlias());
|
|
|
+ newProcess.setTechnologicalProcessDetailId(detail.getId());
|
|
|
+ newProcess.setProcessStepNumber(detail.getProcessStepNumber());
|
|
|
+ processSequence.add(newProcess);
|
|
|
+ }
|
|
|
+ daywork.setProcessSequence(processSequence);
|
|
|
+ } else {
|
|
|
+ BizProcess process = new BizProcess();
|
|
|
+ BizTechnologicalProcessDetail processDetail = normalDetailList.stream().filter(item -> item.getProcessStepNumber().equals(turnoverItem.getProcessStepNumber())).collect(Collectors.toList()).get(0);
|
|
|
+ process.setProcessAlias(processDetail.getProcessAlias());
|
|
|
+ process.setProcessStepNumber(processDetail.getProcessStepNumber());
|
|
|
+ daywork.setCurrentProcess(process);
|
|
|
+ for (BizTechnologicalProcessDetail detail : normalDetailList) {
|
|
|
+ BizProcess newProcess = new BizProcess();
|
|
|
+ newProcess.setId(detail.getProcessId());
|
|
|
+ newProcess.setProcessCode(detail.getProcessCode());
|
|
|
+ newProcess.setProcessAlias(detail.getProcessAlias());
|
|
|
+ newProcess.setProcessStepNumber(detail.getProcessStepNumber());
|
|
|
+ newProcess.setTechnologicalProcessDetailId(detail.getId());
|
|
|
+ processSequence.add(newProcess);
|
|
|
+ }
|
|
|
+ daywork.setProcessSequence(processSequence);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return success(dayworkList);
|
|
|
+ }
|
|
|
+ @PostMapping("/updateDayworkItemInnerTurnover")
|
|
|
+ public AjaxResult updateDayworkItemInnerTurnover(@RequestBody List<BizDayworkItem> bizDayworkItem) {
|
|
|
+ bizDayworkItem.forEach(item -> {
|
|
|
+ item.setIsInnerTurnover(1);
|
|
|
+ });
|
|
|
|
|
|
+ return success(bizDayworkItemService.updateBatchById(bizDayworkItem));
|
|
|
+ }
|
|
|
+ @PostMapping("/getOutTurnoverByDeptId")
|
|
|
+ public AjaxResult getOutTurnoverByDeptId(@RequestBody BizDayworkItem bizDayworkItem) {
|
|
|
+ List<BizDaywork> dayworkList = bizDayworkItemService.getOutListByDeptId(bizDayworkItem);
|
|
|
+ if(!dayworkList.isEmpty()){
|
|
|
+ List<Long> dayworkIds = dayworkList.stream().map(BizDaywork::getId).collect(Collectors.toList());
|
|
|
+ //正常批次的工序集合
|
|
|
+ List<Long> normalTechnologicalProcessIds = dayworkList.stream().filter(item -> item.getIsWasteRecycling() == 0 && item.getIsAmend() == 0).map(BizDaywork::getTechnologicalProcessId).collect(Collectors.toList());
|
|
|
+ List<BizTechnologicalProcessDetail> normalDetailList = bizTechnologicalProcessDetailService.query().in("technological_process_id", normalTechnologicalProcessIds.isEmpty() ? Collections.singletonList(0L) : normalTechnologicalProcessIds).orderByAsc("process_step_number").list();
|
|
|
+ //不正常批次的工序集合
|
|
|
+ List<Long> abNormalTechnologicalProcessIds = dayworkList.stream().filter(item -> item.getIsWasteRecycling() == 1 || item.getIsAmend() == 1).map(BizDaywork::getTechnologicalProcessId).collect(Collectors.toList());
|
|
|
+ List<BizLotTechnologicalProcessDetail> abNormalDetailList = bizLotTechnologicalProcessDetailService.query().in("lot_technological_process_id", abNormalTechnologicalProcessIds.isEmpty() ? Collections.singletonList(0L) : abNormalTechnologicalProcessIds).orderByAsc("process_step_number").list();
|
|
|
+ List<BizDayworkItem> dayworkItemList = bizDayworkItemService.query().in("daywork_id", dayworkIds).list();
|
|
|
+ dayworkList.forEach(daywork -> {
|
|
|
+ List<BizDayworkItem> dayworkItem = dayworkItemList.stream().filter(item -> item.getDayworkId().equals(daywork.getId())).sorted(Comparator.comparing(BizDayworkItem::getCreateTime).reversed()).collect(Collectors.toList());
|
|
|
+ String lastProcessStepNumber = dayworkItem.get(0).getProcessStepNumber();
|
|
|
+ //当前工序报工信息
|
|
|
+ List<BizDayworkItem> lastDayworkItem = dayworkItem.stream().filter(item -> item.getProcessStepNumber().equals(lastProcessStepNumber) && (item.getStatus().equals("2") || item.getStatus().equals("3"))).collect(Collectors.toList());
|
|
|
+ //合格数量求和
|
|
|
+ daywork.setTemporaryProcessQualifiedNum(lastDayworkItem.stream().mapToInt(BizDayworkItem::getQualifiedNum).sum());
|
|
|
+ //周转的报工信息
|
|
|
+ BizDayworkItem turnoverItem = dayworkItem.stream().filter(item -> item.getProcessStepNumber().equals(lastProcessStepNumber) && item.getStatus().equals("4")).collect(Collectors.toList()).get(0);
|
|
|
+ //周转位置
|
|
|
+ daywork.setPlace(turnoverItem.getTurnoverArea());
|
|
|
+ //设置操作者
|
|
|
+ daywork.setCreatorName(turnoverItem.getNickName());
|
|
|
+ List<BizProcess> processSequence = new ArrayList<>();
|
|
|
+ //工序集合
|
|
|
+ if (daywork.getIsAmend() == 1 || daywork.getIsWasteRecycling() == 1) {
|
|
|
+ BizProcess process = new BizProcess();
|
|
|
+ BizLotTechnologicalProcessDetail processDetail = abNormalDetailList.stream().filter(item -> item.getProcessStepNumber().equals(turnoverItem.getProcessStepNumber())).collect(Collectors.toList()).get(0);
|
|
|
+ process.setProcessAlias(processDetail.getProcessAlias());
|
|
|
+ process.setProcessStepNumber(processDetail.getProcessStepNumber());
|
|
|
+ daywork.setCurrentProcess(process);
|
|
|
+ for (BizLotTechnologicalProcessDetail detail : abNormalDetailList) {
|
|
|
+ BizProcess newProcess = new BizProcess();
|
|
|
+ newProcess.setId(detail.getProcessId());
|
|
|
+ newProcess.setProcessCode(detail.getProcessCode());
|
|
|
+ newProcess.setProcessAlias(detail.getProcessAlias());
|
|
|
+ newProcess.setTechnologicalProcessDetailId(detail.getId());
|
|
|
+ newProcess.setProcessStepNumber(detail.getProcessStepNumber());
|
|
|
+ processSequence.add(newProcess);
|
|
|
+ }
|
|
|
+ daywork.setProcessSequence(processSequence);
|
|
|
+ } else {
|
|
|
+ BizProcess process = new BizProcess();
|
|
|
+ BizTechnologicalProcessDetail processDetail = normalDetailList.stream().filter(item -> item.getProcessStepNumber().equals(turnoverItem.getProcessStepNumber())).collect(Collectors.toList()).get(0);
|
|
|
+ process.setProcessAlias(processDetail.getProcessAlias());
|
|
|
+ process.setProcessStepNumber(processDetail.getProcessStepNumber());
|
|
|
+ daywork.setCurrentProcess(process);
|
|
|
+ for (BizTechnologicalProcessDetail detail : normalDetailList) {
|
|
|
+ BizProcess newProcess = new BizProcess();
|
|
|
+ newProcess.setId(detail.getProcessId());
|
|
|
+ newProcess.setProcessCode(detail.getProcessCode());
|
|
|
+ newProcess.setProcessAlias(detail.getProcessAlias());
|
|
|
+ newProcess.setProcessStepNumber(detail.getProcessStepNumber());
|
|
|
+ newProcess.setTechnologicalProcessDetailId(detail.getId());
|
|
|
+ processSequence.add(newProcess);
|
|
|
+ }
|
|
|
+ daywork.setProcessSequence(processSequence);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return success(dayworkList);
|
|
|
+ }
|
|
|
/**
|
|
|
* 获取报工记录详细信息
|
|
|
*/
|
|
@@ -703,7 +841,16 @@ public class BizDayworkItemController extends BaseController {
|
|
|
}
|
|
|
return toAjax(b);
|
|
|
}
|
|
|
-
|
|
|
+ @PostMapping("/getDayworkItemByDayworkId")
|
|
|
+ public AjaxResult getDayworkItemByDayworkId(@RequestBody BizDayworkItem bizDayworkItem) {
|
|
|
+ List<BizDayworkItem> list = bizDayworkItemService.getListByDayworkId(bizDayworkItem);
|
|
|
+ return success(list);
|
|
|
+ }
|
|
|
+ @PostMapping("/getSortItemByDayworkId")
|
|
|
+ public AjaxResult getSortItemByDayworkId(@RequestBody BizDayworkItem bizDayworkItem) {
|
|
|
+ List<BizDayworkItem> list = bizDayworkItemService.getSortListByDayworkId(bizDayworkItem);
|
|
|
+ return success(list);
|
|
|
+ }
|
|
|
/**
|
|
|
* 临时报工
|
|
|
*/
|
|
@@ -819,6 +966,7 @@ public class BizDayworkItemController extends BaseController {
|
|
|
newDetail.setCommonType(item.getCommonType());
|
|
|
newDetail.setProtemDayworkId(item.getProtemDayworkId());
|
|
|
newDetail.setProtemProcessId(item.getProtemProcessId());
|
|
|
+ newDetail.setProtemProcessStepNumber(item.getProtemProcessStepNumber());
|
|
|
newDetail.setDeptId(item.getDeptId());
|
|
|
// 设置 productionResourceGroupId 属性为当前的 id
|
|
|
newDetail.setProductionResourceGroupId(id);
|