package com.zcloud.controller.keyProjects.app; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.zcloud.aspect.DockAnnotation; import com.zcloud.controller.base.BaseController; import com.zcloud.entity.Page; import com.zcloud.entity.PageData; import com.zcloud.service.bus.ImgFilesService; import com.zcloud.service.keyProjects.*; import com.zcloud.util.*; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 说明:重点工程处罚 * 作者:luoxiaobao * 时间:2022-09-21 * 官网:www.zcloudchina.com */ @Controller @RequestMapping("/app/keyprojectpunish") public class AppKeyprojectPunishController extends BaseController { @Autowired private KeyprojectPunishService keyprojectpunishService; @Autowired private KeyprojectHiddenService keyprojectHiddenService; @Autowired private ImgFilesService imgFilesService; @Autowired private OutSourcedService outsourcedService; @Autowired private KeyprojectCheckService keyprojectcheckService; @Autowired private PersonnelManagementService personnelmanagementService; /**新增 * @param * @throws Exception */ @RequestMapping(value="/add") @ResponseBody @DockAnnotation(isAdd = true) public Object add() throws Exception{ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); PageData hidden = keyprojectHiddenService.findById(pd); pd.put("KEYPROJECTPUNISH_ID", this.get32UUID()); //主键 pd.put("CREATTIME", DateUtil.date2Str(new Date())); //添加时间 pd.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间 pd.put("ISDELETE", 0); //是否删除 pd.put("HANDLED", 0); pd.put("HIDDEN_ID", hidden.get("HIDDEN_ID")); pd.put("KEYPROJECTCHECK_ID", hidden.get("FOREIGN_ID")); pd.put("UNITS_ID", hidden.get("RECTIFICATIONDEPT")); pd.put("PERSONNELMANAGEMENT_ID", hidden.get("RECTIFICATIONOR")); keyprojectpunishService.save(pd); //发送处罚短信通知 try { //这里发送短信 判断公司是否需要发送短信 然后判断是否有隐患 有则发送 没有不发送 PageData keyprote = new PageData(); keyprote.put("KEYPROJECTCHECK_ID",pd.getString("KEYPROJECTCHECK_ID")); keyprote = keyprojectcheckService.findById(keyprote); PageData outSource = new PageData(); outSource.put("OUTSOURCED_ID",keyprote.getString("OUTSOURCED_ID")); outSource = outsourcedService.findById(outSource); if(StringUtils.isNotBlank(outSource.getString("IS_SMS"))&&StringUtils.equals("0",outSource.getString("IS_SMS"))){ //发送短信 pd中 PERSONNELMANAGEMENT_ID 对应 `qa-gwj-regulatory`.`BUS_PERSONNELMANAGEMENT` 表中 PERSONNELMANAGEMENT_ID 获取到 PHONENUM 手机号字段 发送短信 PageData person = new PageData(); person.put("PERSONNELMANAGEMENT_ID",pd.getString("PERSONNELMANAGEMENT_ID")); person = personnelmanagementService.findById(person); // outSource.get("OUTSOURCED_NAME") JSONArray jsonArray = new JSONArray(); //接受返回结果 JSONObject records = new JSONObject(); //定义替换参数 JSONObject tpContent = new JSONObject(); tpContent.put("REASON",pd.getString("REASON")); records = SendSmsUtil.getRecords(person.getString("PHONENUM"),tpContent); jsonArray.add(records); SendSmsUtil.sendSms("121490",jsonArray,null); } }catch (Exception e){ e.printStackTrace(); }finally { map.put("result", errInfo); } map.put("dockData", JSON.toJSONString(pd)); return map; } /**处理 * @param * @throws Exception */ @RequestMapping(value="/handle") @ResponseBody @Transactional public Object handle(@RequestParam(value="FFILE",required=false) MultipartFile[] files) throws Exception{ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); pd.put("HANDLED", 1); if (files != null && files.length > 0) { for (int i = 0; i < files.length; i++) { String suffixName = files[i].getOriginalFilename().substring(files[i].getOriginalFilename().lastIndexOf(".")+1).toLowerCase(); if (!"pdf".equals(suffixName) && !"jpg".equals(suffixName) && !"jpeg".equals(suffixName) && !"png".equals(suffixName) && !"mp4".equals(suffixName)) { errInfo = "fail"; map.put("result", errInfo); map.put("msg", "文件格式不正确!"); return map; } } for (int i = 0; i < files.length; i++) { MultipartFile file = files[i]; String ffile = DateUtil.getDays(); // String filePath = PathUtil.getProjectpath() + Const.FILEPATHFILE + ffile; //文件上传路径 // String fileName = FileUpload.fileUp(file, filePath, this.get32UUID()); //执行上传 String fileName = this.get32UUID()+file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); Smb.sshSftp(file, fileName, Const.FILEPATHFILE + ffile); pd.put("HANDLE_IMG", Const.FILEPATHFILE + pd.get("HANDLEDID") + "/" + ffile + "/" + fileName); } } keyprojectpunishService.editstate(pd); map.put("result", errInfo); return map; } /**删除 * @param out * @throws Exception */ @RequestMapping(value="/delete") @ResponseBody public Object delete() throws Exception{ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); keyprojectpunishService.delete(pd); map.put("result", errInfo); //返回结果 return map; } /**修改 * @param * @throws Exception */ @RequestMapping(value="/edit") @ResponseBody public Object edit() throws Exception{ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); keyprojectpunishService.edit(pd); map.put("result", errInfo); return map; } /**列表 * @param page * @throws Exception */ @RequestMapping(value="/list") @ResponseBody public Object list(Page page) throws Exception{ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); String KEYWORDS = pd.getString("KEYWORDS"); //关键词检索条件 if(Tools.notEmpty(KEYWORDS))pd.put("KEYWORDS", KEYWORDS.trim()); page.setPd(pd); List varList = keyprojectpunishService.list(page); //列出KeyprojectPunish列表 map.put("varList", varList); map.put("page", page); map.put("result", errInfo); return map; } /**去修改页面获取数据 * @param * @throws Exception */ @RequestMapping(value="/goEdit") @ResponseBody public Object goEdit() throws Exception{ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); pd = keyprojectpunishService.findById(pd); //根据ID读取 map.put("pd", pd); map.put("result", errInfo); return map; } /**批量删除 * @param * @throws Exception */ @RequestMapping(value="/deleteAll") @ResponseBody public Object deleteAll() throws Exception{ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); String DATA_IDS = pd.getString("DATA_IDS"); if(Tools.notEmpty(DATA_IDS)){ String ArrayDATA_IDS[] = DATA_IDS.split(","); keyprojectpunishService.deleteAll(ArrayDATA_IDS); errInfo = "success"; }else{ errInfo = "fail"; } map.put("result", errInfo); //返回结果 return map; } }