|
@@ -2,6 +2,7 @@ package cn.ezhizao.project.business.workOrder.controller;
|
|
|
|
|
|
import cn.ezhizao.common.exception.ServiceException;
|
|
|
import cn.ezhizao.common.utils.poi.ExcelUtil;
|
|
|
+import cn.ezhizao.fegin.IFeignClient;
|
|
|
import cn.ezhizao.framework.aspectj.lang.annotation.Anonymous;
|
|
|
import cn.ezhizao.framework.aspectj.lang.annotation.Log;
|
|
|
import cn.ezhizao.framework.aspectj.lang.enums.BusinessType;
|
|
@@ -12,6 +13,7 @@ import cn.ezhizao.project.business.company.domain.BizCompany;
|
|
|
import cn.ezhizao.project.business.company.service.IBizCompanyService;
|
|
|
import cn.ezhizao.project.business.entrust.domain.BizEntrust;
|
|
|
import cn.ezhizao.project.business.entrust.service.IBizEntrustService;
|
|
|
+import cn.ezhizao.project.business.entrustExamine.domain.BizEntrustExamine;
|
|
|
import cn.ezhizao.project.business.workOrder.domain.BizWorkOrder;
|
|
|
import cn.ezhizao.project.business.workOrder.domain.BizWorkOrderExport;
|
|
|
import cn.ezhizao.project.business.workOrder.domain.vo.Condition;
|
|
@@ -26,6 +28,7 @@ import cn.ezhizao.project.tenant.domain.Tenant;
|
|
|
import cn.ezhizao.project.tenant.service.ITenantService;
|
|
|
import cn.hutool.core.date.DateField;
|
|
|
import cn.hutool.core.date.DateTime;
|
|
|
+import com.alibaba.fastjson2.JSON;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
@@ -66,36 +69,30 @@ public class WorkOrderCurrentController extends BaseController {
|
|
|
@Resource
|
|
|
private ISysUserService userService;
|
|
|
|
|
|
+ @Resource
|
|
|
+ private IFeignClient entrustFeignClient;
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 查询工单信息列表
|
|
|
*/
|
|
|
@PreAuthorize("@ss.hasPermi('business:entrust:workOrder:current:list')")
|
|
|
@GetMapping("/list")
|
|
|
public TableDataInfo list(BizWorkOrder bizWorkOrder) throws NoSuchFieldException, IllegalAccessException {
|
|
|
-
|
|
|
-// List<SysCurrentMonth> months = sysCurrentMonthService.list(new LambdaQueryWrapper<SysCurrentMonth>()
|
|
|
-// .eq(SysCurrentMonth::getTenantId, getTenantId())
|
|
|
-// .eq(SysCurrentMonth::getType, 0));
|
|
|
-// Date date = DateTime.of(months.get(0).getYear() + "-" + months.get(0).getMonth() + "-01", "yyyy-MM-dd").toSqlDate();
|
|
|
bizWorkOrder.setWorkDate(bizWorkOrder.getCurrentMonth());
|
|
|
setTenantId(bizWorkOrder);
|
|
|
startPage();
|
|
|
startOrderBy();
|
|
|
-// bizWorkOrder.setIsStop(0);
|
|
|
List<BizWorkOrder> list = bizWorkOrderService.getList(bizWorkOrder);
|
|
|
-// if (months.isEmpty()) {
|
|
|
-// return getDataTable(new ArrayList<>());
|
|
|
-// } else {
|
|
|
+
|
|
|
BizEntrust bizEntrust = new BizEntrust();
|
|
|
bizEntrust.setWorkOrderIds(list.stream().map(BizWorkOrder::getId).collect(Collectors.toList()));
|
|
|
bizEntrust.setWorkMonth(DateTime.of(bizWorkOrder.getCurrentMonth()).toSqlDate());
|
|
|
List<BizEntrust> entrusts = bizEntrustService.getList(bizEntrust);
|
|
|
-// bizEntrustService.query().in("work_order_id", list.stream().map(BizWorkOrder::getId).collect(Collectors.toList())).eq("work_month", months.get(0).getYear() + "-" + months.get(0).getMonth() + "-01").list();
|
|
|
list.forEach(l -> {
|
|
|
l.setEntrust(entrusts.stream().filter(v -> v.getWorkOrderId().equals(l.getId())).findFirst().orElse(null));
|
|
|
});
|
|
|
return getDataTable(list);
|
|
|
-// }
|
|
|
}
|
|
|
|
|
|
@GetMapping("/history/list")
|
|
@@ -500,7 +497,64 @@ public class WorkOrderCurrentController extends BaseController {
|
|
|
|
|
|
@PreAuthorize("@ss.hasPermi('business:entrust:workOrder:current:edit')")
|
|
|
@PostMapping("/delEntrust")
|
|
|
+
|
|
|
public AjaxResult delEntrust(@RequestBody BizEntrust bizEntrust) {
|
|
|
+ String s = entrustFeignClient.filterCompletedOrders(bizEntrust.getWorkOrderIds());
|
|
|
+ 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;
|
|
|
+ List<Long> finishWorkIds = mergeLists(oneList, twoList, threeList);
|
|
|
+
|
|
|
+ if (!CollectionUtils.isEmpty(workOrderIds)){
|
|
|
+ bizEntrust.setWorkOrderIds(workOrderIds);
|
|
|
+ status = isStatus(bizEntrust);
|
|
|
+ }
|
|
|
+ //说明当前状态工单任务都处于未完成
|
|
|
+ if( CollectionUtils.isEmpty(finishWorkIds) ){
|
|
|
+ // 取消委托
|
|
|
+ return toAjax(status);
|
|
|
+ }
|
|
|
+ String companyName = finishWorkIds.stream().map(id -> {
|
|
|
+ Long companyId = bizWorkOrderService.getById(id).getCompanyId();
|
|
|
+ return bizCompanyService.getById(companyId).getName();
|
|
|
+
|
|
|
+ }).collect(Collectors.joining(","));
|
|
|
+ HashMap<String, Object> hashMap = new HashMap<>();
|
|
|
+ hashMap.put("companyName", companyName);
|
|
|
+ hashMap.put("workOrderIds", finishWorkIds);
|
|
|
+ return AjaxResult.success("操作成功",hashMap);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ // oneList.stream().map( one->{
|
|
|
+// BizEntrustExamine bizEntrustExamine = new BizEntrustExamine();
|
|
|
+// bizEntrustExamine.setWorkOrderId(one);
|
|
|
+// BizEntrust bizEntrust1 = new BizEntrust();
|
|
|
+// bizEntrust1.setWorkOrderId(one);
|
|
|
+// bizEntrust1.setWorkMonth(bizEntrust.getWorkMonth());
|
|
|
+// List<BizEntrust> entrustList = bizEntrustService.getList(bizEntrust1);
|
|
|
+// bizEntrustExamine.setEntrustId(entrustList.get(0).getToTenantId());
|
|
|
+// bizEntrustExamine.setCompanyId(entrustList.get(0).getCompanyId());
|
|
|
+// bizEntrustExamine.setTaskTypeId(entrustList.get(0).getTaskTypeId());
|
|
|
+// bizEntrustExamine.setCurrentPeriod(bizEntrust.getWorkMonth().toString());
|
|
|
+// bizEntrustExamine.setEntrustCome(entrustList.get(0).getFromTenantId());
|
|
|
+// bizEntrustExamine.setCancelReason(null);
|
|
|
+// bizEntrustExamine.setStatus(0);
|
|
|
+// return bizEntrustExamine;
|
|
|
+// }).collect(Collectors.toList());
|
|
|
+ public static List<Long> mergeLists(List<Long>... lists) {
|
|
|
+ List<Long> result = new ArrayList<>();
|
|
|
+ for (List<Long> list : lists) {
|
|
|
+ if (list != null) {
|
|
|
+ result.addAll(list);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+ private boolean isStatus(BizEntrust bizEntrust) {
|
|
|
List<BizEntrust> entrustList = bizEntrustService.getList(bizEntrust);
|
|
|
DateTime currentMonth = DateTime.of(bizEntrust.getWorkMonth());
|
|
|
List<BizEntrust> nextEntrustList = new ArrayList<>();
|
|
@@ -526,10 +580,10 @@ public class WorkOrderCurrentController extends BaseController {
|
|
|
boolean status = (entrustList.isEmpty() ||
|
|
|
bizEntrustService.removeByIds(entrustList.stream().map(BizEntrust::getId).collect(Collectors.toList()))) && (CollectionUtils.isEmpty(nextEntrustList) ||
|
|
|
bizEntrustService.removeByIds(nextEntrustList.stream().map(BizEntrust::getId).collect(Collectors.toList())));
|
|
|
- // 取消委托
|
|
|
- return toAjax(status);
|
|
|
+ return status;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
@PreAuthorize("@ss.hasPermi('business:entrust:workOrder:current:trans')")
|
|
|
@GetMapping("/transNext")
|
|
|
@Transactional(rollbackFor = Exception.class)
|