package com.ruoyi.web.controller.station; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.IdUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.framework.util.ShiroUtils; import com.ruoyi.framework.web.domain.server.Sys; import com.ruoyi.station.domain.*; import com.ruoyi.station.model.AreaDoorModel; import com.ruoyi.station.model.CheckUserModel; import com.ruoyi.station.model.DeptUsersModel; import com.ruoyi.station.service.*; import com.ruoyi.system.domain.SysUser; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo; /** * 工单Controller * * @author ruoyi * @date 2020-08-10 */ @Controller @RequestMapping("/station/order") public class MjWorkOrderController extends BaseController { private String prefix = "station/order"; @Autowired private IMjWorkOrderService mjWorkOrderService; @Autowired private IMjOrderDetailService mjOrderDetailService; @Autowired private IMjAuthorizeDetailService iMjAuthorizeDetailService; @Autowired private IMjFingerprintReadHeadService iMjFingerprintReadHeadService; @Autowired private IMjHeadsUsersService iMjHeadsUsersService; @Autowired private IMjTemplateAreacontentService iMjTemplateAreacontentService; @Autowired private IMjAreaManagementService iMjAreaManagementService; @Autowired private IMjDataPushLogService dataPushLogService; @RequiresPermissions("station:order:view") @GetMapping() public String order() { return prefix + "/order"; } /** * 查询工单列表 */ @RequiresPermissions("station:order:list") @PostMapping("/list") @ResponseBody public TableDataInfo list(MjWorkOrder mjWorkOrder) { startPage(); List list = mjWorkOrderService.selectMjWorkOrderList(mjWorkOrder); return getDataTable(list); } /** * 导出工单列表 */ @RequiresPermissions("station:order:export") @Log(title = "工单", businessType = BusinessType.EXPORT) @PostMapping("/export") @ResponseBody public AjaxResult export(MjWorkOrder mjWorkOrder) { List list = mjWorkOrderService.selectMjWorkOrderList(mjWorkOrder); ExcelUtil util = new ExcelUtil(MjWorkOrder.class); return util.exportExcel(list, "order"); } /** * 新增工单 */ @GetMapping("/add") public String add() { return prefix + "/add"; } /** * 新增保存工单 */ @RequiresPermissions("station:order:add") @Log(title = "工单", businessType = BusinessType.INSERT) @PostMapping("/add") @ResponseBody public AjaxResult addSave(MjWorkOrder mjWorkOrder) { return toAjax(mjWorkOrderService.insertMjWorkOrder(mjWorkOrder)); } /** * 修改工单 */ @GetMapping("/edit/{id}") public String edit(@PathVariable("id") String id, ModelMap mmap) { MjWorkOrder mjWorkOrder = mjWorkOrderService.selectMjWorkOrderById(id); mmap.put("mjWorkOrder", mjWorkOrder); return prefix + "/edit"; } /** * 修改保存工单 */ @RequiresPermissions("station:order:edit") @Log(title = "工单", businessType = BusinessType.UPDATE) @PostMapping("/edit") @ResponseBody public AjaxResult editSave(MjWorkOrder mjWorkOrder) { return toAjax(mjWorkOrderService.updateMjWorkOrder(mjWorkOrder)); } /** * 删除工单 */ @RequiresPermissions("station:order:remove") @Log(title = "工单", businessType = BusinessType.DELETE) @PostMapping( "/remove") @ResponseBody public AjaxResult remove(String ids) { return toAjax(mjWorkOrderService.deleteMjWorkOrderByIds(ids)); } /** * 新增工单 */ @GetMapping("/goCreateMjxk") public String goCreateMjxk() { return "creatMjxk"; } /** * 新增保存工单 */ @Log(title = "工单", businessType = BusinessType.INSERT) @PostMapping("/addOrder") @ResponseBody public AjaxResult addOrder(MjWorkOrder mjWorkOrder) { if(mjWorkOrder == null) { return AjaxResult.error("未获取到工作票信息,请联系管理员"); } int counts = mjOrderDetailService.countManUser(mjWorkOrder.getUserId()); if(counts>0){ return AjaxResult.error("负责人不能重复"); } if(StringUtils.isEmpty(mjWorkOrder.getAreaIds())){ return AjaxResult.error("区域不能为空,请刷新页面"); } if(mjWorkOrder.getOpenMode() != null && mjWorkOrder.getOpenMode() == 0) { String yearTime = DateUtils.getDate().substring(0,4); Integer count = mjWorkOrderService.selectOrderCountByYear(yearTime); if(count != null) { mjWorkOrder.setOrderNo(yearTime+"-"+(count+1)); //工作票号 } } SysUser user = ShiroUtils.getSysUser(); mjWorkOrder.setCreateBy(user.getUserName()); //List orderDetialAll = new ArrayList(); String areaIdsStr = ""; String areaNamesStr = ""; List orderDetialList = new ArrayList(); String orderId = IdUtils.getUUIDInOrderId()+""; mjWorkOrder.setId(orderId); mjWorkOrder.setCreateBy(user.getUserName()); mjWorkOrderService.insertMjWorkOrder(mjWorkOrder); //插入工单主表 MjOrderDetail mdetail = new MjOrderDetail(); mdetail.setId(IdUtils.getUUIDInOrderId()+""); mdetail.setOrderId(orderId); mdetail.setUserId(Long.parseLong(mjWorkOrder.getUserId())); mdetail.setUserName(mjWorkOrder.getUserName()); mdetail.setCreateBy(user.getUserName()); //王浩杰 2020-09-14 // if(StringUtils.isNotEmpty(mjWorkOrder.getTempAreaId())){ // String as = mjWorkOrder.getAreaIds(); // String an = mjWorkOrder.getAreaNames(); // MjTemplateAreacontent mjTemplateAreacontent = new MjTemplateAreacontent(); // mjTemplateAreacontent.setTemplatId(mjWorkOrder.getTempAreaId()); // List mjTemplateAreacontents = iMjTemplateAreacontentService.selectMjTemplateAreacontentList(mjTemplateAreacontent); // for(MjTemplateAreacontent mjTemplateAreacontent1:mjTemplateAreacontents){ // if(as.indexOf(mjTemplateAreacontent1.getAreaId())==-1){ // if(StringUtils.isNotEmpty(as)){ // as+=","+mjTemplateAreacontent1.getAreaId(); // MjAreaManagement areaManagement = iMjAreaManagementService.selectMjAreaManagementById(mjTemplateAreacontent1.getAreaId()); // an+=","+areaManagement.getAreaName(); // }else{ // as+=mjTemplateAreacontent1.getAreaId(); // MjAreaManagement areaManagement = iMjAreaManagementService.selectMjAreaManagementById(mjTemplateAreacontent1.getAreaId()); // an+=areaManagement.getAreaName(); // } // } // } // mjWorkOrder.setAreaIds(as); // mjWorkOrder.setAreaNames(an); // } //王浩杰 2020-09-14 // if(StringUtils.isNotEmpty(mjWorkOrder.getAreaIds())) { // Map map = mjWorkOrderService.getAreaIds(mjWorkOrder.getAreaIds(), mjWorkOrder.getAreaNames()); // areaIdsStr = map.get("areaIdsStr"); // areaNamesStr = map.get("areaNamesStr"); // mdetail.setAreaId(areaIdsStr); // } // mdetail.setAreaName(areaNamesStr); mdetail.setAreaId(mjWorkOrder.getAreaIds()); mdetail.setAreaName(mjWorkOrder.getAreaNames()); mdetail.setMainUser(1); mjOrderDetailService.insertMjOrderDetail(mdetail); //插入主要负责人 //orderDetialAll.add(mdetail); if(mjWorkOrder != null && StringUtils.isNotEmpty(mjWorkOrder.getUserNames()) && StringUtils.isNotEmpty(mjWorkOrder.getUserIds())) { for(String id : mjWorkOrder.getUserIds().split(",")) { MjOrderDetail mjOrderDetail = new MjOrderDetail(); mjOrderDetail.setId(IdUtils.getUUIDInOrderId()+""); mjOrderDetail.setOrderId(orderId); mjOrderDetail.setUserId(Long.parseLong(id)); mjOrderDetail.setAreaName(mjWorkOrder.getAreaNames()); mjOrderDetail.setAreaId(mjWorkOrder.getAreaIds()); mjOrderDetail.setCreateBy(user.getUserName()); orderDetialList.add(mjOrderDetail); } for(int i=0; i< mjWorkOrder.getUserNames().split(",").length; i++) { orderDetialList.get(i).setUserName(mjWorkOrder.getUserNames().split(",")[i]); } } for(MjOrderDetail oDetail : orderDetialList) { mjOrderDetailService.insertMjOrderDetail(oDetail); //插入主要同行人 //orderDetialAll.add(oDetail); } try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } MjOrderDetail o = new MjOrderDetail(); o.setOrderId(orderId); List mjOrderDetails = mjOrderDetailService.selectMjOrderDetailList(o); addNewDetial(mjOrderDetails); addPushLog(mjWorkOrder); return AjaxResult.success("增加工单成功!"); } //向新的授权详情表新增数据 public void addNewDetial(List orderDetialList){ Thread t = new Thread(new Runnable(){ public void run(){ for(MjOrderDetail oDetail : orderDetialList) { MjWorkOrder mjWorkOrder = mjWorkOrderService.selectMjWorkOrderById(oDetail.getOrderId()); String areaId = oDetail.getAreaId(); if(StringUtils.isNotEmpty(areaId)){ String[] split = areaId.split(","); String[] split2 = oDetail.getAreaName().split(","); int i=0; for(String str : split){ MjAuthorizeDetail md = new MjAuthorizeDetail(); BeanUtils.copyProperties(oDetail, md); md.setId(IdUtils.getUUIDInOrderId()+""); md.setAreaId(str); md.setAreaName(split2[i]); i++; iMjAuthorizeDetailService.insertMjAuthorizeDetail(md); List alist = new ArrayList<>(); MjAreaManagement mam = new MjAreaManagement(); mam.setId(str); alist.add(mam); MjAreaManagement areaManagement = new MjAreaManagement(); areaManagement.setAreaParentId(str); List mjAreaManagements = iMjAreaManagementService.selectMjAreaManagementList(areaManagement); if(mjAreaManagements.size()>0){ alist.addAll(mjAreaManagements); for(MjAreaManagement areaManagement1:mjAreaManagements){ MjAreaManagement areaManagement2 = new MjAreaManagement(); areaManagement2.setAreaParentId(areaManagement1.getId()); List mjAreaManagements2 = iMjAreaManagementService.selectMjAreaManagementList(areaManagement2); alist.addAll(mjAreaManagements2); } } for(MjAreaManagement areaId_str:alist){ MjFingerprintReadHead fingerprintReadHead = new MjFingerprintReadHead(); fingerprintReadHead.setAreaId(areaId_str.getId()); List hs = iMjFingerprintReadHeadService.selectMjFingerprintReadHeadList(fingerprintReadHead); for(MjFingerprintReadHead rh:hs) { if(mjWorkOrder.getOpenMode()==0||mjWorkOrder.getOpenMode()==2){ if(oDetail.getMainUser()==0){ continue; } } MjHeadsUsers mjHeadsUsers = new MjHeadsUsers(); mjHeadsUsers.setUserId(oDetail.getUserId());//用户id mjHeadsUsers.setAuthorizeName(mjWorkOrder.getTaskName());//授权 mjHeadsUsers.setAuthorizeResult(0);//未授权 mjHeadsUsers.setAuthorizeType(1);//临时 mjHeadsUsers.setAuthorizeStatus(mjWorkOrder.getOpenMode());//新增 mjHeadsUsers.setHeadId(rh.getId());//读头id mjHeadsUsers.setHeadType(rh.getNewOldStatus());//读头类型 mjHeadsUsers.setMainUser(oDetail.getMainUser());//是否是负责人 mjHeadsUsers.setOrderId(mjWorkOrder.getId());//工单id mjHeadsUsers.setStartTime(mjWorkOrder.getStartTime());//开始时间 mjHeadsUsers.setEndTime(mjWorkOrder.getEndTime());//结束时间 //把组授权里人和读头id相同的数据改为临时禁用 // MjHeadsUsers hu = new MjHeadsUsers(); // hu.setAuthorizeType(0); // hu.setUserId(oDetail.getUserId()); // hu.setHeadId(rh.getId()); // List mjHeadsUsers1 = iMjHeadsUsersService.selectMjHeadsUsersList(hu); // for(MjHeadsUsers mhu : mjHeadsUsers1){ // mhu.setDelFlag(1); // iMjHeadsUsersService.updateMjHeadsUsers(mhu); // } iMjHeadsUsersService.insertMjHeadsUsers(mjHeadsUsers); } } } } } System.out.println("授权详情表新增数据线程完成"+orderDetialList.size()); }}); t.start(); } public void addPushLog(MjWorkOrder mjWorkOrder){ Thread t = new Thread(new Runnable(){ public void run(){ MjDataPushLog mjDataPushLog = new MjDataPushLog(); mjDataPushLog.setId(IdUtils.getUUIDInOrderId()+""); mjDataPushLog.setType(mjWorkOrder.getType()); mjDataPushLog.setTypeName(mjWorkOrder.getTypeName()); mjDataPushLog.setWorkType(mjWorkOrder.getWorkType()); mjDataPushLog.setOrderId(mjWorkOrder.getId()); mjDataPushLog.setOrderName(mjWorkOrder.getOrderName()); mjDataPushLog.setTaskName(mjWorkOrder.getTaskName()); mjDataPushLog.setOrganizationId(mjWorkOrder.getOrganizationId()); mjDataPushLog.setOrganizationName(mjWorkOrder.getOrganizationName()); mjDataPushLog.setOpenMode(mjWorkOrder.getOpenMode()); mjDataPushLog.setStartTime(mjWorkOrder.getStartTime()); mjDataPushLog.setEndTime(mjWorkOrder.getEndTime()); mjDataPushLog.setCreateTime(new Date()); mjDataPushLog.setCreateBy(mjWorkOrder.getCreateBy()); mjDataPushLog.setAreaId(mjWorkOrder.getAreaIds()); mjDataPushLog.setAreaName(mjWorkOrder.getAreaNames()); //mjDataPushLog.setDoorId(); mjDataPushLog.setOperationType(0); //新增 mjDataPushLog.setAuthorizeType("0"); //增加授权 mjDataPushLog.setUserId(mjWorkOrder.getUserId()); mjDataPushLog.setTogetherUserIds(mjWorkOrder.getUserIds()); dataPushLogService.insertMjDataPushLog(mjDataPushLog); }}); t.start(); } /** * 获取部门用户列表 * @return */ @PostMapping("/getDeptUsers") @ResponseBody public AjaxResult getDeptUsers() { List deptUsersModels = mjWorkOrderService.selectDeptUsersList(); if(deptUsersModels != null && deptUsersModels.size() > 0) { return AjaxResult.success(deptUsersModels); } return AjaxResult.error("获取部门用户信息失败!"); } /** * 获取区域门禁 * @return */ @PostMapping("/getAreaDoor") @ResponseBody public AjaxResult getAreaDoor() { List areaDoorModelList = mjWorkOrderService.selectAreaDoorList(); if(areaDoorModelList != null && areaDoorModelList.size() > 0) { return AjaxResult.success(areaDoorModelList); } return AjaxResult.error("获取区域门禁信息失败!"); } /** * 获取订单列表 * @param validFlag * @return */ @PostMapping("/getOrderList") @ResponseBody public AjaxResult getOrderList(Integer validFlag) { //MjWorkOrder mjWorkOrder = new MjWorkOrder(); //mjWorkOrder.setValidFlag(validFlag); List list = mjWorkOrderService.selectMjWorkOrderByDate(); if(list != null && list.size() > 0) { for(MjWorkOrder order : list) { MjOrderDetail detail = new MjOrderDetail(); detail.setOrderId(order.getId()); List detailList = mjOrderDetailService.selectMjOrderDetailList(detail); if(detailList != null && detailList.size() > 0) { /*if(detailList.get(0).getAreaName() != null && StringUtils.isNotEmpty(detailList.get(0).getAreaName())) { order.setAreaNames(detailList.get(0).getAreaName()); }*/ List userList = new ArrayList<>(); List idList = new ArrayList<>(); for(MjOrderDetail orderDetail : detailList) { if(orderDetail.getMainUser() == 1) { if(StringUtils.isNotEmpty(orderDetail.getAreaName())) { order.setAreaNames(orderDetail.getAreaName()); } if(StringUtils.isNotEmpty(orderDetail.getAreaId())) { order.setAreaIds(orderDetail.getAreaId()); } if(StringUtils.isNotEmpty(orderDetail.getUserName())) { order.setUserName(orderDetail.getUserName()); } if(orderDetail.getUserId() != null) { order.setUserId(orderDetail.getUserId().toString()); } }else { if(StringUtils.isNotEmpty(orderDetail.getAreaName())) { order.setAreaNames(orderDetail.getAreaName()); } if(StringUtils.isNotEmpty(orderDetail.getAreaId())) { order.setAreaIds(orderDetail.getAreaId()); } if(StringUtils.isNotEmpty(orderDetail.getUserName())) { userList.add(orderDetail.getUserName()); } if(orderDetail.getUserId() != null) { idList.add(orderDetail.getUserId()); } if(userList != null && userList.size() > 0) { String userNames = StringUtils.join(userList, ","); order.setUserNames(userNames); } if(idList != null && idList.size() > 0) { String ids = StringUtils.join(idList, ","); order.setUserIds(ids); } } } } } } return AjaxResult.success(list); } @PostMapping("/checkUserInOrder") @ResponseBody public AjaxResult checkUserInOrder(CheckUserModel checkUserModel) { if(checkUserModel == null) { return AjaxResult.error("未获取到用户信息,请联系管理员!"); } if(StringUtils.isEmpty(checkUserModel.getUserId()) || checkUserModel.getStartTime() == null || checkUserModel.getEndTime() == null) { return AjaxResult.error("未获取到用户信息,请联系管理员!"); } int count = mjOrderDetailService.selectOrderDetailCountByUserId(checkUserModel); return AjaxResult.success(count); } @PostMapping("/updateOrder") @ResponseBody public AjaxResult updateOrder(MjWorkOrder mjWorkOrder) { if(mjWorkOrder == null || mjWorkOrder.getId() == null) { return AjaxResult.error("未获取的门禁许可,请联系管理员!"); } quxiao(mjWorkOrder);//取消 dataPushLogService.deleteByWorkOrderId(mjWorkOrder.getId()); mjWorkOrderService.deleteMjWorkOrderById(mjWorkOrder.getId()); addOrder(mjWorkOrder); return AjaxResult.success("修改工单成功!"); } /** * 修改工单 */ // @Log(title = "修改工单", businessType = BusinessType.UPDATE) // @PostMapping("/updateOrder") // @ResponseBody // public AjaxResult updateOrder(MjWorkOrder mjWorkOrder) { // if(mjWorkOrder == null || mjWorkOrder.getId() == null) { // return AjaxResult.error("未获取的门禁许可,请联系管理员!"); // } // MjWorkOrder mjWorkOrder1 = mjWorkOrderService.selectMjWorkOrderById(mjWorkOrder.getId()); // if(mjWorkOrder1.getOpenMode()!=mjWorkOrder.getOpenMode()){ // return AjaxResult.error("模式不可修改!"); // } // List mjOrderDetailList = mjWorkOrderService.updateOrder(mjWorkOrder); // iMjHeadsUsersService.updateStartTimeAndEndTime(mjWorkOrder); // // //2020-10-28 // MjDataPushLog dataPushLog = new MjDataPushLog(); // dataPushLog.setOrderId(mjWorkOrder.getId()); // List mjDataPushLogs = dataPushLogService.selectDataPushLogList(dataPushLog); // for(MjDataPushLog log : mjDataPushLogs){ // log.setEndTime(new Date()); // dataPushLogService.updateMjDataPushLog(log); // } // // updateNewDetial(mjOrderDetailList, mjWorkOrder.getId()); // //mjWorkOrderService.updateUserInReadHead(mjWorkOrder.getId()); // return AjaxResult.success("修改工单成功!"); // } //授权详情表修改数据 public void updateNewDetial(List mjOrderDetails,String workOrderId){ Thread t = new Thread(new Runnable(){ public void run(){ MjOrderDetail od = new MjOrderDetail(); od.setOrderId(workOrderId); List mjOrderDetails2 = mjOrderDetailService.selectMjOrderDetailList(od); List list = new ArrayList<>(); for(MjOrderDetail oDetail : mjOrderDetails2) { String areaId = oDetail.getAreaId(); if(StringUtils.isNotEmpty(areaId)){ String[] split = areaId.split(","); String[] split2 = oDetail.getAreaName().split(","); int i=0; for(String str : split){ MjAuthorizeDetail md = new MjAuthorizeDetail(); BeanUtils.copyProperties(oDetail, md); md.setAreaId(str); md.setAreaName(split2[i]); i++; //iMjAuthorizeDetailService.insertMjAuthorizeDetail(md); list.add(md); } } } MjWorkOrder mjWorkOrder = mjWorkOrderService.selectMjWorkOrderById(workOrderId); //修改后的人员信息 for(MjAuthorizeDetail mad : list){ MjAuthorizeDetail md = new MjAuthorizeDetail(); md.setOrderId(mad.getOrderId()); md.setUserId(mad.getUserId()); md.setAreaId(mad.getAreaId()); List mjAuthorizeDetails = iMjAuthorizeDetailService.selectMjAuthorizeDetailList(md); if(mjAuthorizeDetails.size()==0){//如果找不到这个人,则添加授权 mad.setAuthorizeResult("0"); mad.setAuthorizeType("0"); iMjAuthorizeDetailService.insertMjAuthorizeDetail(mad); //向新的读头用户表增加数据 MjFingerprintReadHead fingerprintReadHead = new MjFingerprintReadHead(); fingerprintReadHead.setAreaId(mad.getAreaId()); List hs = iMjFingerprintReadHeadService.selectMjFingerprintReadHeadList(fingerprintReadHead); for(MjFingerprintReadHead rh:hs) { if(mjWorkOrder.getOpenMode()==0||mjWorkOrder.getOpenMode()==2){ if(mad.getMainUser()==0){ continue; } } MjHeadsUsers mjHeadsUsers = new MjHeadsUsers(); mjHeadsUsers.setUserId(mad.getUserId());//用户id mjHeadsUsers.setAuthorizeName(mjWorkOrder.getTaskName());//授权 mjHeadsUsers.setAuthorizeResult(0);//未授权 mjHeadsUsers.setAuthorizeType(1);//临时 mjHeadsUsers.setAuthorizeStatus(mjWorkOrder.getOpenMode());//新增 mjHeadsUsers.setHeadId(rh.getId());//读头id mjHeadsUsers.setHeadType(rh.getNewOldStatus());//读头类型 mjHeadsUsers.setMainUser(mad.getMainUser());//是否是负责人 mjHeadsUsers.setOrderId(mjWorkOrder.getId());//工单id mjHeadsUsers.setStartTime(mjWorkOrder.getStartTime());//开始时间 mjHeadsUsers.setEndTime(mjWorkOrder.getEndTime());//结束时间 iMjHeadsUsersService.insertMjHeadsUsers(mjHeadsUsers); } } } MjAuthorizeDetail mad = new MjAuthorizeDetail(); mad.setOrderId(workOrderId); List mjAuthorizeDetails = iMjAuthorizeDetailService.selectMjAuthorizeDetailList(mad); for(MjAuthorizeDetail mjod:mjAuthorizeDetails){ MjOrderDetail mjOrderDetail = new MjOrderDetail(); mjOrderDetail.setOrderId(mjod.getOrderId()); mjOrderDetail.setUserId(mjod.getUserId()); List mjOrderDetails1 = mjOrderDetailService.selectMjOrderDetailList(mjOrderDetail); int j = 0; for(MjOrderDetail mod:mjOrderDetails1){ String areaIds = mod.getAreaId(); if(areaIds.indexOf(mjod.getAreaId())!=-1){ j++; } } if(j==0){//没找到此区域的数据,则删除 mjod.setAuthorizeType("1"); mjod.setAuthorizeResult("0"); iMjAuthorizeDetailService.updateMjAuthorizeDetail(mjod); MjFingerprintReadHead fingerprintReadHead = new MjFingerprintReadHead(); fingerprintReadHead.setAreaId(mjod.getAreaId()); List hs = iMjFingerprintReadHeadService.selectMjFingerprintReadHeadList(fingerprintReadHead); for(MjFingerprintReadHead rh:hs) { MjHeadsUsers hu = new MjHeadsUsers(); hu.setAuthorizeType(1);//临时授权 hu.setUserId(mjod.getUserId());//用户id hu.setHeadId(rh.getId());//读头id List mjHeadsUsers1 = iMjHeadsUsersService.selectMjHeadsUsersList(hu); for(MjHeadsUsers mhu : mjHeadsUsers1){ iMjHeadsUsersService.deleteMjHeadsUsersById(mhu.getId()); } } } } System.out.println("授权详情表修改数据线程完成"); }}); t.start(); } /** * 工作票号查重 * @return */ @PostMapping("checkOrderNoRepeat") @ResponseBody public AjaxResult checkOrderNoRepeat(String orderNo) { Integer count = mjWorkOrderService.checkOrderNoRepeat(orderNo); return AjaxResult.success(count); } @PostMapping("/quxiao") @ResponseBody public AjaxResult quxiao(MjWorkOrder mjWorkOrder) { MjWorkOrder mjWorkOrder1 = mjWorkOrderService.selectMjWorkOrderById(mjWorkOrder.getId()); mjWorkOrder1.setEndTime(new Date()); mjWorkOrderService.updateOrder(mjWorkOrder1); iMjHeadsUsersService.updateStartTimeAndEndTime(mjWorkOrder1); MjDataPushLog dataPushLog = new MjDataPushLog(); dataPushLog.setOrderId(mjWorkOrder.getId()); List mjDataPushLogs = dataPushLogService.selectMjDataPushLogList(dataPushLog); for(MjDataPushLog log : mjDataPushLogs){ log.setEndTime(new Date()); dataPushLogService.updateMjDataPushLog(log); } return AjaxResult.success("操作成功!"); } /** * 获取订单列表 * @return */ @PostMapping("/getOrderList2") @ResponseBody public Object getOrderList2(String name) { List list2 = new ArrayList<>(); List list = mjWorkOrderService.selectMjWorkOrderByDate(); if(list != null && list.size() > 0) { for(MjWorkOrder order : list) { int i=0; MjOrderDetail detail = new MjOrderDetail(); detail.setOrderId(order.getId()); List detailList = mjOrderDetailService.selectMjOrderDetailList(detail); if(detailList != null && detailList.size() > 0) { List userList = new ArrayList<>(); List idList = new ArrayList<>(); for(MjOrderDetail orderDetail : detailList) { if(orderDetail.getUserName().equals(name)){ i++; } if(StringUtils.isNotEmpty(orderDetail.getAreaName())) { order.setAreaNames(orderDetail.getAreaName()); } if(StringUtils.isNotEmpty(orderDetail.getAreaId())) { order.setAreaIds(orderDetail.getAreaId()); } if(orderDetail.getMainUser() == 1) { if(StringUtils.isNotEmpty(orderDetail.getUserName())) { order.setUserName(orderDetail.getUserName()); } if(orderDetail.getUserId() != null) { order.setUserId(orderDetail.getUserId().toString()); } }else { if(StringUtils.isNotEmpty(orderDetail.getUserName())) { userList.add(orderDetail.getUserName()); } if(orderDetail.getUserId() != null) { idList.add(orderDetail.getUserId()); } if(userList != null && userList.size() > 0) { String userNames = StringUtils.join(userList, ","); order.setUserNames(userNames); } if(idList != null && idList.size() > 0) { String ids = StringUtils.join(idList, ","); order.setUserIds(ids); } } } } if(i>0){ list2.add(order); } } } TableDataInfo dataTable = getDataTable(list2); return dataTable; } }