package com.zcloud.controller.onlinexxks; import com.zcloud.controller.base.BaseController; import com.zcloud.entity.Page; import com.zcloud.entity.PageData; import com.zcloud.service.onlinexxks.*; import com.zcloud.util.*; import net.sf.json.JSONArray; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; 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 org.springframework.web.servlet.ModelAndView; import java.util.*; /** * 说明:课程管理 * 作者:luoxiaobao * 时间:2021-07-03 * 官网:www.zcloudchina.com */ @Controller @RequestMapping("/curriculum") public class CurriculumController extends BaseController { @Autowired private CurriculumService curriculumService; @Autowired private KcmiddlekjService kcmiddlekjService; @Autowired private VideoCoursewareService videocoursewareService; @Autowired private DataCoursewareService datacoursewareService; @Autowired private StudytaskCurriculumService studytaskCurriculumService; /**新增 * @param * @throws Exception */ @RequestMapping(value="/add") @RequiresPermissions("curriculum:add") @ResponseBody public Object add(@RequestParam(value="FFILE",required=false) MultipartFile FFILE) throws Exception{ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); pd.put("CURRICULUM_ID", this.get32UUID()); //主键 pd.put("CREATOR", Jurisdiction.getUsername()); //添加人 pd.put("CREATTIME", DateUtil.date2Str(new Date())); //添加时间 pd.put("OPERATOR", Jurisdiction.getUsername()); //修改人 pd.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间 pd.put("ISDELETE", "0"); //是否删除(0:有效 1:删除) pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); //企业ID if (null != FFILE && !FFILE.isEmpty()) { String suffixName = FFILE.getOriginalFilename().substring(FFILE.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; } String ffile = DateUtil.getDays(); //本地 // String filePath = PathUtil.getProjectpath() + Const.FILEPATHFILE + Jurisdiction.getCORPINFO_ID() + "/" + ffile; //文件上传路径 // String fileName = FileUpload.fileUp(file, filePath, this.get32UUID()); //执行上传 //服务器 String fileName = this.get32UUID()+FFILE.getOriginalFilename().substring(FFILE.getOriginalFilename().lastIndexOf(".")); Smb.sshSftp(FFILE, fileName, Const.FILEPATHFILE + Jurisdiction.getCORPINFO_ID() + "/" + ffile); pd.put("CAPTURE", Const.FILEPATHFILE + Jurisdiction.getCORPINFO_ID() + "/" + ffile + "/" + fileName); } curriculumService.save(pd); map.put("pd", pd); map.put("result", errInfo); return map; } /**删除 * @param * @throws Exception */ @RequestMapping(value="/delete") @RequiresPermissions("curriculum:del") @ResponseBody public Object delete() throws Exception{ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); pd.put("OPERATOR", Jurisdiction.getUsername()); //修改人 pd.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间 Integer count = studytaskCurriculumService.countByCurriculumId(pd); if(count != 0){ map.put("result", "erroe"); //返回结果 map.put("msg", "该课件已经发布任务!"); return map; } curriculumService.delete(pd); map.put("result", errInfo); //返回结果 return map; } /**修改 * @param * @throws Exception */ @RequestMapping(value="/edit") @RequiresPermissions("curriculum:edit") @ResponseBody public Object edit(@RequestParam(value="FFILE",required=false) MultipartFile FFILE) throws Exception{ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); pd.put("OPERATOR", Jurisdiction.getUsername()); //修改人 pd.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间 if (null != FFILE && !FFILE.isEmpty()) { String suffixName = FFILE.getOriginalFilename().substring(FFILE.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; } String ffile = DateUtil.getDays(); //本地 // String filePath = PathUtil.getProjectpath() + Const.FILEPATHFILE + Jurisdiction.getCORPINFO_ID() + "/" + ffile; //文件上传路径 // String fileName = FileUpload.fileUp(file, filePath, this.get32UUID()); //执行上传 //服务器 String fileName = this.get32UUID()+FFILE.getOriginalFilename().substring(FFILE.getOriginalFilename().lastIndexOf(".")); Smb.sshSftp(FFILE, fileName, Const.FILEPATHFILE + Jurisdiction.getCORPINFO_ID() + "/" + ffile); pd.put("CAPTURE", Const.FILEPATHFILE + Jurisdiction.getCORPINFO_ID() + "/" + ffile + "/" + fileName); } curriculumService.edit(pd); map.put("pd", pd); map.put("result", errInfo); return map; } /**列表 * @param page * @throws Exception */ @RequestMapping(value="/list") @RequiresPermissions("curriculum: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()); pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); //企业ID page.setPd(pd); List varList = curriculumService.list(page); //列出Curriculum列表 for(PageData list : varList){ pd.put("CURRICULUM_ID",list.getString("CURRICULUM_ID")); Integer count = studytaskCurriculumService.countByCurriculumId(pd); if(count>0){ list.put("COUNT",1); } } map.put("varList", varList); map.put("page", page); map.put("result", errInfo); return map; } /**去修改页面获取数据 * @param * @throws Exception */ @RequestMapping(value="/goEdit") @RequiresPermissions("curriculum:edit") @ResponseBody public Object goEdit() throws Exception{ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); pd = curriculumService.findById(pd); //根据ID读取 pd.put("CURRICULUMID",pd.get("CURRICULUM_ID")); List videoList = videocoursewareService.listAllByCurriculumId(pd); // 选择的视频课件 List dataList = datacoursewareService.listAllByCurriculumId(pd); map.put("pd", pd); map.put("videoList", videoList); map.put("dataList", dataList); map.put("result", errInfo); return map; } /**批量删除 * @param * @throws Exception */ @RequestMapping(value="/deleteAll") @RequiresPermissions("curriculum:del") @ResponseBody public Object deleteAll() throws Exception{ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); pd.put("OPERATOR", Jurisdiction.getUsername()); //修改人 pd.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间 String DATA_IDS = pd.getString("DATA_IDS"); if(Tools.notEmpty(DATA_IDS)){ String[] ArrayDATA_IDS = DATA_IDS.split(","); pd.put("ArrayDATA_IDS", ArrayDATA_IDS); //待删除ids curriculumService.deleteAll(pd); errInfo = "success"; }else{ errInfo = "fail"; } map.put("result", errInfo); //返回结果 return map; } /**导出到excel * @param * @throws Exception */ @RequestMapping(value="/excel") @RequiresPermissions("toExcel") public ModelAndView exportExcel() throws Exception{ ModelAndView mv = new ModelAndView(); PageData pd = new PageData(); pd = this.getPageData(); Map dataMap = new HashMap(); List titles = new ArrayList(); titles.add("课程名称"); //1 titles.add("课程介绍"); //2 titles.add("课程目的"); //3 titles.add("开始时间"); //4 titles.add("结束时间"); //5 titles.add("适用人员"); //6 titles.add("添加人"); //7 titles.add("添加时间"); //8 titles.add("修改人"); //9 titles.add("修改时间"); //10 titles.add("是否删除(0:有效 1:删除)"); //11 titles.add("企业ID"); //12 dataMap.put("titles", titles); pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); //企业ID List varOList = curriculumService.listAll(pd); List varList = new ArrayList(); for(int i=0;i map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); pd = curriculumService.findForStudyByCurriculumId(pd); //根据课程ID获取课程及习题数据 pd.put("STUDYTIME", DateUtil.date2Str(new Date())); //学习时间 map.put("pd", pd); map.put("result", errInfo); return map; } /**我的课程(获取当前用户的所属课程) * @param page * @throws Exception */ @RequestMapping(value="/pageDataByUser") // @RequiresPermissions("curriculum:list") @ResponseBody public Object pageDataByUser(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()); pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); //企业ID pd.put("USER_ID", Jurisdiction.getUSER_ID()); page.setPd(pd); List varList = curriculumService.pageDataByUser(page); //列出Curriculum列表 map.put("varList", varList); map.put("page", page); map.put("result", errInfo); return map; } /**学员课程列表(查询课程信息及可想关联的学员统计) * @param page * @throws Exception */ @RequestMapping(value="/listSummary") // @RequiresPermissions("curriculum:list") @ResponseBody public Object listSummary(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()); pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); //企业ID page.setPd(pd); List varList = curriculumService.listSummary(page); //列出Curriculum列表 map.put("varList", varList); map.put("page", page); map.put("result", errInfo); return map; } /**学员课程列表 树形图 * @param page * @throws Exception */ @RequestMapping(value="/listTreeByUserId") @RequiresPermissions("curriculum:list") @ResponseBody public Object listTree(Page page) throws Exception{ Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); //企业ID List varList = curriculumService.listAll(pd); //列出Curriculum列表 JSONArray arr = JSONArray.fromObject(varList); String json = arr.toString(); json = json.replaceAll("CURRICULUM_ID", "id") .replaceAll("CURRICULUMNAME", "name") ; map.put("zTreeNodes", json); map.put("result", errInfo); return map; } }