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<MjWorkOrder> 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<MjWorkOrder> list = mjWorkOrderService.selectMjWorkOrderList(mjWorkOrder);
|
ExcelUtil<MjWorkOrder> util = new ExcelUtil<MjWorkOrder>(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<MjOrderDetail> orderDetialAll = new ArrayList();
|
String areaIdsStr = "";
|
String areaNamesStr = "";
|
List<MjOrderDetail> 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<MjTemplateAreacontent> 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<String, String> 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<MjOrderDetail> mjOrderDetails = mjOrderDetailService.selectMjOrderDetailList(o);
|
addNewDetial(mjOrderDetails);
|
addPushLog(mjWorkOrder);
|
return AjaxResult.success("增加工单成功!");
|
}
|
|
//向新的授权详情表新增数据
|
public void addNewDetial(List<MjOrderDetail> 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<MjAreaManagement> alist = new ArrayList<>();
|
MjAreaManagement mam = new MjAreaManagement();
|
mam.setId(str);
|
alist.add(mam);
|
|
MjAreaManagement areaManagement = new MjAreaManagement();
|
areaManagement.setAreaParentId(str);
|
List<MjAreaManagement> mjAreaManagements = iMjAreaManagementService.selectMjAreaManagementList(areaManagement);
|
if(mjAreaManagements.size()>0){
|
alist.addAll(mjAreaManagements);
|
for(MjAreaManagement areaManagement1:mjAreaManagements){
|
MjAreaManagement areaManagement2 = new MjAreaManagement();
|
areaManagement2.setAreaParentId(areaManagement1.getId());
|
List<MjAreaManagement> mjAreaManagements2 = iMjAreaManagementService.selectMjAreaManagementList(areaManagement2);
|
alist.addAll(mjAreaManagements2);
|
}
|
}
|
|
|
for(MjAreaManagement areaId_str:alist){
|
MjFingerprintReadHead fingerprintReadHead = new MjFingerprintReadHead();
|
fingerprintReadHead.setAreaId(areaId_str.getId());
|
List<MjFingerprintReadHead> 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<MjHeadsUsers> 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<DeptUsersModel> deptUsersModels = mjWorkOrderService.selectDeptUsersList();
|
if(deptUsersModels != null && deptUsersModels.size() > 0) {
|
return AjaxResult.success(deptUsersModels);
|
}
|
return AjaxResult.error("获取部门用户信息失败!");
|
}
|
|
/**
|
* 获取区域门禁
|
* @return
|
*/
|
@PostMapping("/getAreaDoor")
|
@ResponseBody
|
public AjaxResult getAreaDoor()
|
{
|
List<AreaDoorModel> 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<MjWorkOrder> list = mjWorkOrderService.selectMjWorkOrderByDate();
|
if(list != null && list.size() > 0) {
|
for(MjWorkOrder order : list) {
|
MjOrderDetail detail = new MjOrderDetail();
|
detail.setOrderId(order.getId());
|
List<MjOrderDetail> 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<String> userList = new ArrayList<>();
|
List<Long> 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<MjOrderDetail> mjOrderDetailList = mjWorkOrderService.updateOrder(mjWorkOrder);
|
// iMjHeadsUsersService.updateStartTimeAndEndTime(mjWorkOrder);
|
//
|
// //2020-10-28
|
// MjDataPushLog dataPushLog = new MjDataPushLog();
|
// dataPushLog.setOrderId(mjWorkOrder.getId());
|
// List<MjDataPushLog> 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<MjOrderDetail> mjOrderDetails,String workOrderId){
|
Thread t = new Thread(new Runnable(){
|
public void run(){
|
MjOrderDetail od = new MjOrderDetail();
|
od.setOrderId(workOrderId);
|
List<MjOrderDetail> mjOrderDetails2 = mjOrderDetailService.selectMjOrderDetailList(od);
|
|
List<MjAuthorizeDetail> 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<MjAuthorizeDetail> 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<MjFingerprintReadHead> 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<MjAuthorizeDetail> mjAuthorizeDetails = iMjAuthorizeDetailService.selectMjAuthorizeDetailList(mad);
|
for(MjAuthorizeDetail mjod:mjAuthorizeDetails){
|
MjOrderDetail mjOrderDetail = new MjOrderDetail();
|
mjOrderDetail.setOrderId(mjod.getOrderId());
|
mjOrderDetail.setUserId(mjod.getUserId());
|
List<MjOrderDetail> 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<MjFingerprintReadHead> 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<MjHeadsUsers> 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<MjDataPushLog> 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<MjWorkOrder> list2 = new ArrayList<>();
|
List<MjWorkOrder> 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<MjOrderDetail> detailList = mjOrderDetailService.selectMjOrderDetailList(detail);
|
if(detailList != null && detailList.size() > 0) {
|
List<String> userList = new ArrayList<>();
|
List<Long> 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;
|
}
|
|
}
|