“linengliang”
2023-11-27 bdcf57bd9679e916b378f1384d875dff6579033e
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyMaintenanceOrderController.java
@@ -9,6 +9,7 @@
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -17,6 +18,7 @@
import org.apache.ibatis.annotations.Param;
import org.apache.poi.hssf.record.DVALRecord;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.dto.message.MessageDTO;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.api.ISysBaseAPI;
import org.jeecg.common.system.base.entity.SysUpload;
@@ -38,8 +40,8 @@
import org.jeecg.modules.eam.vo.SysFileNameVo;
import org.jeecg.modules.system.entity.SysUser;
import org.jeecg.modules.system.service.ISysUserService;
import org.jeecg.modules.system.entity.*;
import org.jeecg.modules.system.service.*;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -110,6 +112,15 @@
    @Autowired
    private ISysFileNameService sysFileNameService;
    @Resource
    private ISysRoleService sysRoleService;
    @Resource
    private ISysDictService sysDictService;
    @Resource
    private ISysDictItemService sysDictItemService;
    @Resource
    private ISysUserRoleService sysUserRoleService;
    /**
@@ -748,6 +759,8 @@
               maintenanceOrder.setConfirmStatus(confirmStatus);
               dailyMaintenanceOrderService.updateById(maintenanceOrder);
               this.twoMaintenanceAlert(confirmStatus,"二保移交单维修人员",maintenanceOrder.getNum());
           }else if("2".equals(confirmStatus)){
               finishTransferOrder.setEquipmentInspectorUser("");
               finishTransferOrder.setRepairDirectorUser("");
@@ -757,12 +770,16 @@
               maintenanceOrder.setConfirmStatus(confirmStatus);
               dailyMaintenanceOrderService.updateById(maintenanceOrder);
               this.twoMaintenanceAlert(confirmStatus,"二保移交单操作人员",maintenanceOrder.getNum());
           }else if("3".equals(confirmStatus)){
               finishTransferOrder.setRepairUser(sysUser.getRealname());
               finishTransferOrderService.updateById(finishTransferOrder);
               maintenanceOrder.setConfirmStatus(confirmStatus);
               dailyMaintenanceOrderService.updateById(maintenanceOrder);
               this.twoMaintenanceAlert(confirmStatus,"二保移交单维修室主任",maintenanceOrder.getNum());
           }else if("4".equals(confirmStatus)){
               finishTransferOrder.setEquipmentInspectorUser("");
               finishTransferOrder.setRepairDirectorUser("");
@@ -771,18 +788,24 @@
               maintenanceOrder.setConfirmStatus(confirmStatus);
               dailyMaintenanceOrderService.updateById(maintenanceOrder);
               this.twoMaintenanceAlert(confirmStatus,"二保移交单维修人员",maintenanceOrder.getNum());
           }else if("5".equals(confirmStatus)){
               finishTransferOrder.setRepairDirectorUser(sysUser.getRealname());
               finishTransferOrderService.updateById(finishTransferOrder);
               maintenanceOrder.setConfirmStatus(confirmStatus);
               dailyMaintenanceOrderService.updateById(maintenanceOrder);
               this.twoMaintenanceAlert(confirmStatus,"二保移交单检验员",maintenanceOrder.getNum());
           }else if("6".equals(confirmStatus)){
               finishTransferOrder.setRepairDirectorUser("");
               finishTransferOrderService.updateById(finishTransferOrder);
               maintenanceOrder.setConfirmStatus(confirmStatus);
               dailyMaintenanceOrderService.updateById(maintenanceOrder);
               this.twoMaintenanceAlert(confirmStatus,"二保移交单维修室主任",maintenanceOrder.getNum());
           }else if("7".equals(confirmStatus)){
               finishTransferOrder.setEquipmentInspectorUser(sysUser.getRealname());
               finishTransferOrderService.updateById(finishTransferOrder);
@@ -795,6 +818,41 @@
        return Result.OK("审批成功!");
    }
    void twoMaintenanceAlert(String confirmStatus,String roleDictItem,String orderNum){
        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        SysDict sysDict = sysDictService.getOne(new QueryWrapper<SysDict>().eq("dict_code","info_type"),false);
        SysDictItem sysDictItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>().eq("item_text",roleDictItem)
                .eq("dict_id",sysDict.getId()),false);
        String roleCode = sysDictItem.getItemValue();
        SysRole sysRole = sysRoleService.getOne(new QueryWrapper<SysRole>().eq("role_code",roleCode),false);
        List<SysUserRole> sysUserRoles = sysUserRoleService.list(new QueryWrapper<SysUserRole>().eq("role_id",sysRole.getId()));
        for(SysUserRole sysUserRole:sysUserRoles){
            SysUser user = sysUserService.getById(sysUserRole.getUserId());
            String msg = "";
            if("1".equals(confirmStatus)){
                msg = "【"+sysUser.getRealname()+"】"+"将二级保养工单号【"+orderNum+"】的完工移交单确认通过,请到二级保养页面查看!";
            }else if("2".equals(confirmStatus)){
                msg = "【"+sysUser.getRealname()+"】"+"将二级保养工单号【"+orderNum+"】的完工移交单确驳回,请到二级保养页面查看!";
            }else if("3".equals(confirmStatus)){
                msg = "【"+sysUser.getRealname()+"】"+"将二级保养工单号【"+orderNum+"】的完工移交单确认通过,请到二级保养页面查看!";
            }else if("4".equals(confirmStatus)){
                msg = "【"+sysUser.getRealname()+"】"+"将二级保养工单号【"+orderNum+"】的完工移交单确驳回,请到二级保养页面查看!";
            }else if("5".equals(confirmStatus)){
                msg = "【"+sysUser.getRealname()+"】"+"将二级保养工单号【"+orderNum+"】的完工移交单确认通过,请到二级保养页面查看!";
            }else if("6".equals(confirmStatus)){
                msg = "【"+sysUser.getRealname()+"】"+"将二级保养工单号【"+orderNum+"】的完工移交单确驳回,请到二级保养页面查看!";
            }
            MessageDTO messageDTO = new MessageDTO();
            messageDTO.setTitle("完工移交单消息提醒!");
            messageDTO.setContent(msg);
            messageDTO.setCategory(roleDictItem);
            messageDTO.setFromUser("完工移交单消息提醒提醒小助手");
            messageDTO.setToUser(user.getUsername());
            sysBaseApi.sendSysAnnouncement(messageDTO);
        }
    }
    @RequestMapping(value = "/editTechnologyStatus", method = {RequestMethod.PUT,RequestMethod.POST})
    @Transactional(rollbackFor = { Exception.class })
    public Result<String> editTechnologyStatus(@RequestBody Equipment equipment) {