|
@@ -94,10 +94,6 @@ public class BizSpecialDayworkController extends BaseController {
|
|
private IBizProductionPlanDetailService bizProductionPlanDetailService;
|
|
private IBizProductionPlanDetailService bizProductionPlanDetailService;
|
|
@Resource
|
|
@Resource
|
|
private IBizFurnaceNoInfoService bizFurnaceNoInfoService;
|
|
private IBizFurnaceNoInfoService bizFurnaceNoInfoService;
|
|
-
|
|
|
|
- @Resource
|
|
|
|
- private ISysDeptUserService deptUserService;
|
|
|
|
-
|
|
|
|
@Resource
|
|
@Resource
|
|
private IBizLotService bizLotService;
|
|
private IBizLotService bizLotService;
|
|
|
|
|
|
@@ -819,14 +815,24 @@ public class BizSpecialDayworkController extends BaseController {
|
|
/**
|
|
/**
|
|
* 取消周转时需要将最新一条的报工周转数据删除,删除后将原工段修改到daywork中
|
|
* 取消周转时需要将最新一条的报工周转数据删除,删除后将原工段修改到daywork中
|
|
*/
|
|
*/
|
|
|
|
+
|
|
|
|
+ //查询出所有周转批次的箱子
|
|
|
|
+ List<BizDayworkCarrier> dayworkCarriers = bizDayworkCarrierService.query().eq("is_changed", 0).eq("process_inspection_id", 0L).in("daywork_id",bizDayworks.stream().map(BizDaywork::getId).collect(Collectors.toList()) ).list();
|
|
|
|
+ // 再根据上面获得到的数据,通过箱子的id(carrier_id),再进行查找,有多少个批次与该箱子绑定,这是因为存在一箱多批的情况。这样就获得到了所有的批次
|
|
|
|
+ List<BizDayworkCarrier> allCarries = bizDayworkCarrierService.query().eq("process_inspection_id", 0L).eq("is_changed", 0).in("carrier_id", dayworkCarriers.isEmpty() ? Collections.singletonList(0L) : dayworkCarriers.stream().map(BizDayworkCarrier::getCarrierId).collect(Collectors.toList())).list();
|
|
|
|
+
|
|
|
|
+ //比较查询出的数据查看是否存在一箱多批次并且不在此次周转申请列表中
|
|
|
|
+ List<Long> dayworkIds = allCarries.stream().map(BizDayworkCarrier::getDayworkId).collect(Collectors.toList());
|
|
|
|
+ List<BizDaywork> bizDayworkList=bizDayworkService.query().in("id",dayworkIds).list();
|
|
|
|
+
|
|
//先根据dayworkId查询出所有的报工数据按照创建时间倒序排列
|
|
//先根据dayworkId查询出所有的报工数据按照创建时间倒序排列
|
|
- List<BizDayworkItem> dayworkItems = bizDayworkItemService.query().in("daywork_id", bizDayworks.stream().map(BizDaywork::getId).collect(Collectors.toList()))
|
|
|
|
- .eq("is_special", 1).orderByDesc("create_time").list();
|
|
|
|
|
|
+ List<BizDayworkItem> dayworkItems = bizDayworkItemService.query().in("daywork_id", dayworkIds).orderByDesc("create_time").list();
|
|
|
|
+
|
|
Map<Long, List<BizDayworkItem>> groupedByDayworkId = dayworkItems.stream()
|
|
Map<Long, List<BizDayworkItem>> groupedByDayworkId = dayworkItems.stream()
|
|
.collect(Collectors.groupingBy(BizDayworkItem::getDayworkId));
|
|
.collect(Collectors.groupingBy(BizDayworkItem::getDayworkId));
|
|
List<BizDayworkItem> cancelItems = new ArrayList<>();
|
|
List<BizDayworkItem> cancelItems = new ArrayList<>();
|
|
//因为周转信息只有一条且一定是最新的一条,所以直接将按照daywork分组的数据取第一条就是周转信息,将第二条数据的工段信息赋值给daywork
|
|
//因为周转信息只有一条且一定是最新的一条,所以直接将按照daywork分组的数据取第一条就是周转信息,将第二条数据的工段信息赋值给daywork
|
|
- for (BizDaywork daywork : bizDayworks) {
|
|
|
|
|
|
+ for (BizDaywork daywork : bizDayworkList) {
|
|
List<BizDayworkItem> items = groupedByDayworkId.get(daywork.getId());
|
|
List<BizDayworkItem> items = groupedByDayworkId.get(daywork.getId());
|
|
if (!items.isEmpty()) {
|
|
if (!items.isEmpty()) {
|
|
daywork.setDeptId(items.get(1).getDeptId());
|
|
daywork.setDeptId(items.get(1).getDeptId());
|
|
@@ -878,6 +884,8 @@ public class BizSpecialDayworkController extends BaseController {
|
|
return error(booleanStringMap.get(false));
|
|
return error(booleanStringMap.get(false));
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ long oneMillisecond = 1000;
|
|
|
|
+
|
|
//保存报工信息
|
|
//保存报工信息
|
|
for (int i = 0; i < itemList.size(); i++) {
|
|
for (int i = 0; i < itemList.size(); i++) {
|
|
itemList.get(i).setDayworkId(bizDaywork.getId());
|
|
itemList.get(i).setDayworkId(bizDaywork.getId());
|
|
@@ -890,9 +898,14 @@ public class BizSpecialDayworkController extends BaseController {
|
|
Date endTime = itemList.get(i).getEndTime();
|
|
Date endTime = itemList.get(i).getEndTime();
|
|
// 计算时间差(毫秒)
|
|
// 计算时间差(毫秒)
|
|
long diffInMilliSeconds = endTime.getTime() - startTime.getTime();
|
|
long diffInMilliSeconds = endTime.getTime() - startTime.getTime();
|
|
-
|
|
|
|
itemList.get(i).setWorkingHours(diffInMilliSeconds);
|
|
itemList.get(i).setWorkingHours(diffInMilliSeconds);
|
|
|
|
|
|
|
|
+ Date createTime=new Date();
|
|
|
|
+ long createTimeSeconds=createTime.getTime();
|
|
|
|
+ createTimeSeconds+=(oneMillisecond*i);
|
|
|
|
+ Date newTime=new Date(createTimeSeconds);
|
|
|
|
+ itemList.get(i).setCreateTime(newTime);
|
|
|
|
+
|
|
//判断工序是否完成,如果工序完成,将最后一条报工状态修改为3
|
|
//判断工序是否完成,如果工序完成,将最后一条报工状态修改为3
|
|
if (bizDaywork.getItemStatus().equals(3) && i == itemList.size() - 1) {
|
|
if (bizDaywork.getItemStatus().equals(3) && i == itemList.size() - 1) {
|
|
itemList.get(i).setStatus("3");
|
|
itemList.get(i).setStatus("3");
|
|
@@ -958,6 +971,8 @@ public class BizSpecialDayworkController extends BaseController {
|
|
return error(booleanStringMap.get(false));
|
|
return error(booleanStringMap.get(false));
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ long oneMillisecond = 1000;
|
|
|
|
+
|
|
//保存报工信息
|
|
//保存报工信息
|
|
for (int i = 0; i < itemList.size(); i++) {
|
|
for (int i = 0; i < itemList.size(); i++) {
|
|
itemList.get(i).setDayworkId(daywork.getId());
|
|
itemList.get(i).setDayworkId(daywork.getId());
|
|
@@ -968,6 +983,12 @@ public class BizSpecialDayworkController extends BaseController {
|
|
itemList.get(i).setProcessId(bizDaywork.getProcessId());
|
|
itemList.get(i).setProcessId(bizDaywork.getProcessId());
|
|
Date startTime = itemList.get(i).getStartTime();
|
|
Date startTime = itemList.get(i).getStartTime();
|
|
|
|
|
|
|
|
+ Date createTime=new Date();
|
|
|
|
+ long createTimeSeconds=createTime.getTime();
|
|
|
|
+ createTimeSeconds+=(oneMillisecond*i);
|
|
|
|
+ Date newTime=new Date(createTimeSeconds);
|
|
|
|
+ itemList.get(i).setCreateTime(newTime);
|
|
|
|
+
|
|
Date endTime = itemList.get(i).getEndTime();
|
|
Date endTime = itemList.get(i).getEndTime();
|
|
// 计算时间差(毫秒)
|
|
// 计算时间差(毫秒)
|
|
long diffInMilliSeconds = endTime.getTime() - startTime.getTime();
|
|
long diffInMilliSeconds = endTime.getTime() - startTime.getTime();
|
|
@@ -980,6 +1001,7 @@ public class BizSpecialDayworkController extends BaseController {
|
|
itemList.get(i).setStatus("2");
|
|
itemList.get(i).setStatus("2");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
bizDayworkItemService.saveBatch(itemList);
|
|
bizDayworkItemService.saveBatch(itemList);
|
|
|
|
|
|
//保存废品信息
|
|
//保存废品信息
|
|
@@ -1054,6 +1076,8 @@ public class BizSpecialDayworkController extends BaseController {
|
|
bizDayworkItemService.removeBatchByIds(filteredOldItems);
|
|
bizDayworkItemService.removeBatchByIds(filteredOldItems);
|
|
bizDayworkItemRejectService.removeSpecial(dayworkIds);
|
|
bizDayworkItemRejectService.removeSpecial(dayworkIds);
|
|
|
|
|
|
|
|
+
|
|
|
|
+ long oneMillisecond = 1000;
|
|
//保存报工信息
|
|
//保存报工信息
|
|
for (int i = 0; i < itemList.size(); i++) {
|
|
for (int i = 0; i < itemList.size(); i++) {
|
|
if (bizDaywork.getSpecialIsFirst().equals(1)) {
|
|
if (bizDaywork.getSpecialIsFirst().equals(1)) {
|
|
@@ -1063,6 +1087,14 @@ public class BizSpecialDayworkController extends BaseController {
|
|
itemList.get(i).setIsSpecial(1);
|
|
itemList.get(i).setIsSpecial(1);
|
|
Date startTime = itemList.get(i).getStartTime();
|
|
Date startTime = itemList.get(i).getStartTime();
|
|
Date endTime = itemList.get(i).getEndTime();
|
|
Date endTime = itemList.get(i).getEndTime();
|
|
|
|
+ if(itemList.get(i).getId()==null){
|
|
|
|
+ // 1毫秒
|
|
|
|
+ Date createTime=new Date();
|
|
|
|
+ long createTimeSeconds=createTime.getTime();
|
|
|
|
+ createTimeSeconds+=(oneMillisecond*i);
|
|
|
|
+ Date newTime=new Date(createTimeSeconds);
|
|
|
|
+ itemList.get(i).setCreateTime(newTime);
|
|
|
|
+ }
|
|
// 计算时间差(毫秒)
|
|
// 计算时间差(毫秒)
|
|
long diffInMilliSeconds = endTime.getTime() - startTime.getTime();
|
|
long diffInMilliSeconds = endTime.getTime() - startTime.getTime();
|
|
itemList.get(i).setWorkingHours(diffInMilliSeconds);
|
|
itemList.get(i).setWorkingHours(diffInMilliSeconds);
|