|
@@ -85,6 +85,9 @@ public class WorkOrderCurrentController extends BaseController {
|
|
|
private IBizEntrustExamineService entrustExamineService;
|
|
|
@Resource
|
|
|
private IBizArchiveInputService bizArchiveInputService;
|
|
|
+ @Resource
|
|
|
+ private IBizWorkOrderService workOrderService;
|
|
|
+
|
|
|
/**
|
|
|
* 查询工单信息列表
|
|
|
*/
|
|
@@ -206,23 +209,40 @@ public class WorkOrderCurrentController extends BaseController {
|
|
|
// 添加本月
|
|
|
boolean status = addEntrust(entrust.getWorkOrderIds(), entrust.getWorkMonth(), entrust.getToTenantId());
|
|
|
//如果下月工单没有被修改则可以委托
|
|
|
- // 添加下一月
|
|
|
+ // 判断合同下月是否结束了
|
|
|
DateTime currentMonth = DateTime.of(entrust.getWorkMonth());
|
|
|
+ DateTime nextMonth = currentMonth.offset(DateField.MONTH, 1);
|
|
|
+
|
|
|
+ BizWorkOrder bizWorkOrder = new BizWorkOrder();
|
|
|
+ bizWorkOrder.setIds(entrust.getWorkOrderIds());
|
|
|
+ List<BizWorkOrder> workOrderList = workOrderService.getList(bizWorkOrder);
|
|
|
+
|
|
|
+ List<Long> filterWorkOrderIds = workOrderList.stream().filter(w -> {
|
|
|
+ if (Objects.isNull(w.getEndMonth())) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ return nextMonth.isBeforeOrEquals(w.getEndMonth());
|
|
|
+ }).map(BizWorkOrder::getId).collect(Collectors.toList());
|
|
|
+
|
|
|
+ if(CollectionUtils.isEmpty(filterWorkOrderIds)) {
|
|
|
+ return toAjax(status);
|
|
|
+ }
|
|
|
+ // 添加下一月
|
|
|
List<Long> notNeedWorkIds = null;
|
|
|
List<BizEntrust> list = bizEntrustService.list(new LambdaQueryWrapper<BizEntrust>()
|
|
|
.eq(BizEntrust::getDeleted, 0)
|
|
|
- .eq(BizEntrust::getWorkMonth, currentMonth.offset(DateField.MONTH, 1).toSqlDate())
|
|
|
- .in(BizEntrust::getWorkOrderId, entrust.getWorkOrderIds()));
|
|
|
+ .eq(BizEntrust::getWorkMonth, nextMonth.toSqlDate())
|
|
|
+ .in(BizEntrust::getWorkOrderId, filterWorkOrderIds));
|
|
|
|
|
|
notNeedWorkIds = list.stream().filter(l ->
|
|
|
- {
|
|
|
- Long updaterId = l.getCreatorId();
|
|
|
- SysUser sysUser = userService.selectUserById(Long.valueOf(updaterId));
|
|
|
- return sysUser != null ? true : false;
|
|
|
- }
|
|
|
- ).map(l -> l.getWorkOrderId()).collect(Collectors.toList());
|
|
|
+ {
|
|
|
+ Long updaterId = l.getCreatorId();
|
|
|
+ SysUser sysUser = userService.selectUserById(Long.valueOf(updaterId));
|
|
|
+ return sysUser != null ? true : false;
|
|
|
+ }
|
|
|
+ ).map(l -> l.getWorkOrderId()).collect(Collectors.toList());
|
|
|
List<Long> finalNotNeedWorkIds = notNeedWorkIds;
|
|
|
- List<Long> needWorkIds = entrust.getWorkOrderIds().stream().filter(l -> !finalNotNeedWorkIds.contains(l)).collect(Collectors.toList());
|
|
|
+ List<Long> needWorkIds = filterWorkOrderIds.stream().filter(l -> !finalNotNeedWorkIds.contains(l)).collect(Collectors.toList());
|
|
|
|
|
|
status = status && addEntrust(needWorkIds, currentMonth.toSqlDate(), entrust.getToTenantId());
|
|
|
// 添加委托
|
|
@@ -472,6 +492,9 @@ public class WorkOrderCurrentController extends BaseController {
|
|
|
}
|
|
|
|
|
|
private boolean addEntrust(List<Long> workOrderId, Date paramWorkMonth, Long toTenantId) {
|
|
|
+ if(CollectionUtils.isEmpty(workOrderId)) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
BizEntrust entrust = new BizEntrust();
|
|
|
entrust.setWorkOrderIds(workOrderId);
|
|
|
entrust.setWorkMonth(paramWorkMonth);
|
|
@@ -510,6 +533,7 @@ public class WorkOrderCurrentController extends BaseController {
|
|
|
// 保存
|
|
|
return (entrustList.isEmpty() || bizEntrustService.updateBatchById(entrustList)) && (addEntrusts.isEmpty() || bizEntrustService.saveBatch(addEntrusts));
|
|
|
}
|
|
|
+
|
|
|
@PostMapping("/saveExamine")
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public AjaxResult saveExamine(@RequestBody BizEntrustExamine entrustExamine) {
|
|
@@ -527,14 +551,15 @@ public class WorkOrderCurrentController extends BaseController {
|
|
|
bizEntrustExamine.setEntrustCome(entrustList.get(0).getFromTenantId());
|
|
|
bizEntrustExamine.setCancelReason(entrustExamine.getCancelReason());
|
|
|
bizEntrustExamine.setStatus(0);
|
|
|
- if (entrustExamine.getNextFlag() != null && entrustExamine.getNextFlag() == 1){
|
|
|
- bizEntrustExamine.setNextFlag(1);
|
|
|
- }
|
|
|
+ if (entrustExamine.getNextFlag() != null && entrustExamine.getNextFlag() == 1) {
|
|
|
+ bizEntrustExamine.setNextFlag(1);
|
|
|
+ }
|
|
|
return bizEntrustExamine;
|
|
|
}).collect(Collectors.toList());
|
|
|
entrustExamineService.saveBatch(entrustExamineList);
|
|
|
return AjaxResult.success();
|
|
|
}
|
|
|
+
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@PostMapping("/delEntrust")
|
|
|
public AjaxResult delEntrust(@RequestBody BizEntrust bizEntrust) {
|
|
@@ -543,29 +568,29 @@ public class WorkOrderCurrentController extends BaseController {
|
|
|
BizEntrustExamine one = entrustExamineService.getOne(new LambdaQueryWrapper<BizEntrustExamine>()
|
|
|
.eq(BizEntrustExamine::getWorkOrderId, id)
|
|
|
.orderByDesc(BizEntrustExamine::getCreateTime).last("limit 1"));
|
|
|
- if(one!= null && one.getStatus().equals(0)){
|
|
|
+ if (one != null && one.getStatus().equals(0)) {
|
|
|
String name = bizCompanyService.getById(one.getCompanyId()).getName();
|
|
|
- throw new RuntimeException(name+"工单正在取消委托审核中");
|
|
|
+ throw new RuntimeException(name + "工单正在取消委托审核中");
|
|
|
}
|
|
|
}
|
|
|
FilterRequest filterRequest = new FilterRequest();
|
|
|
filterRequest.setDate(bizEntrust.getWorkMonth());
|
|
|
filterRequest.setWorkOrderIds(workOrderIds1);
|
|
|
- String s = entrustFeignClient.filterCompletedOrders(filterRequest);
|
|
|
- Map<String,List<Long>> map = JSON.parseObject(s, Map.class);
|
|
|
+ String s = entrustFeignClient.filterCompletedOrders(filterRequest);
|
|
|
+ Map<String, List<Long>> map = JSON.parseObject(s, Map.class);
|
|
|
List<Long> workOrderIds = map.get("workOrderIds");
|
|
|
List<Long> oneList = map.get("oneList");
|
|
|
List<Long> twoList = map.get("twoList");
|
|
|
List<Long> threeList = map.get("threeList");
|
|
|
- boolean status= false;
|
|
|
+ boolean status = false;
|
|
|
List<Long> finishWorkIds = mergeLists(oneList, twoList, threeList);
|
|
|
|
|
|
- if (!CollectionUtils.isEmpty(workOrderIds)){
|
|
|
+ if (!CollectionUtils.isEmpty(workOrderIds)) {
|
|
|
bizEntrust.setWorkOrderIds(workOrderIds);
|
|
|
- status = isStatus(bizEntrust);
|
|
|
+ status = isStatus(bizEntrust);
|
|
|
}
|
|
|
//说明当前状态工单任务都处于未完成
|
|
|
- if( CollectionUtils.isEmpty(finishWorkIds) ){
|
|
|
+ if (CollectionUtils.isEmpty(finishWorkIds)) {
|
|
|
// 取消委托
|
|
|
return toAjax(status);
|
|
|
}
|
|
@@ -577,7 +602,7 @@ public class WorkOrderCurrentController extends BaseController {
|
|
|
HashMap<String, Object> hashMap = new HashMap<>();
|
|
|
hashMap.put("companyName", companyName);
|
|
|
hashMap.put("workOrderIds", finishWorkIds);
|
|
|
- return AjaxResult.success("操作成功",hashMap);
|
|
|
+ return AjaxResult.success("操作成功", hashMap);
|
|
|
}
|
|
|
|
|
|
@PostMapping("/okDelEntrust")
|
|
@@ -627,6 +652,7 @@ public class WorkOrderCurrentController extends BaseController {
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
+
|
|
|
private boolean isStatus(BizEntrust bizEntrust) {
|
|
|
List<BizEntrust> entrustList = bizEntrustService.getList(bizEntrust);
|
|
|
DateTime currentMonth = DateTime.of(bizEntrust.getWorkMonth());
|
|
@@ -772,22 +798,22 @@ public class WorkOrderCurrentController extends BaseController {
|
|
|
bizWorkOrder.setCurrentMonth(generateDateTime);
|
|
|
List<BizWorkOrder> workOrderList = bizWorkOrderService.getList(bizWorkOrder);
|
|
|
BizEntrust bizEntrust = null;
|
|
|
- for(BizWorkOrder workOrder :workOrderList){
|
|
|
+ for (BizWorkOrder workOrder : workOrderList) {
|
|
|
//判断待生成月份(newNextMonth)是否在委托表有数据
|
|
|
bizEntrustList = bizEntrustService.lambdaQuery()
|
|
|
.eq(BizEntrust::getWorkMonth, generateDateTime)
|
|
|
- .eq(BizEntrust::getTenantId,tenantId)
|
|
|
- .eq(BizEntrust::getWorkOrderId,workOrder.getId())
|
|
|
+ .eq(BizEntrust::getTenantId, tenantId)
|
|
|
+ .eq(BizEntrust::getWorkOrderId, workOrder.getId())
|
|
|
.list();
|
|
|
if (bizEntrustList.isEmpty()) {
|
|
|
//判断生成的当前时间(本月生成次月)段是否存在委托
|
|
|
bizEntrustList = bizEntrustService.lambdaQuery()
|
|
|
- .eq(BizEntrust::getWorkOrderId,workOrder.getId())
|
|
|
+ .eq(BizEntrust::getWorkOrderId, workOrder.getId())
|
|
|
.eq(BizEntrust::getWorkMonth, nextMonthDateTime)
|
|
|
- .eq(BizEntrust::getTenantId,tenantId)
|
|
|
+ .eq(BizEntrust::getTenantId, tenantId)
|
|
|
.list();
|
|
|
//如果存在委托那么取本月委托数据复制到下一个月
|
|
|
- if(!bizEntrustList.isEmpty()){
|
|
|
+ if (!bizEntrustList.isEmpty()) {
|
|
|
bizEntrust = bizEntrustList.get(0);
|
|
|
bizEntrust.setId(snowflakeIdWorker.nextId());
|
|
|
System.out.println(bizEntrust.getId());
|
|
@@ -966,6 +992,7 @@ public class WorkOrderCurrentController extends BaseController {
|
|
|
List<Tenant> tenants = tenantService.getFactoriesId(getTenantId());
|
|
|
return success(tenants);
|
|
|
}
|
|
|
+
|
|
|
@PreAuthorize("@ss.hasAnyPermi('business:entrust:workOrder:base:edit')")
|
|
|
@RequestMapping("stopWorkOrder")
|
|
|
public void stopWorkOrder(@RequestBody List<BizWorkOrder> workOrderList) {
|