qa-prevention-gwj/src/main/java/com/zcloud/controller/onlinexxks/CurriculumController.java

370 lines
13 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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<String,Object> map = new HashMap<String,Object>();
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<String,String> map = new HashMap<String,String>();
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<String,Object> map = new HashMap<String,Object>();
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<String,Object> map = new HashMap<String,Object>();
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<PageData> 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<String,Object> map = new HashMap<String,Object>();
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<PageData> videoList = videocoursewareService.listAllByCurriculumId(pd); // 选择的视频课件
List<PageData> 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<String,Object> map = new HashMap<String,Object>();
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<String,Object> dataMap = new HashMap<String,Object>();
List<String> titles = new ArrayList<String>();
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<PageData> varOList = curriculumService.listAll(pd);
List<PageData> varList = new ArrayList<PageData>();
for(int i=0;i<varOList.size();i++){
PageData vpd = new PageData();
vpd.put("var1", varOList.get(i).getString("CURRICULUMNAME")); //1
vpd.put("var2", varOList.get(i).getString("CURRICULUMINTRODUCE")); //2
vpd.put("var3", varOList.get(i).getString("CURRICULUMAIM")); //3
vpd.put("var4", varOList.get(i).getString("STARTTIME")); //4
vpd.put("var5", varOList.get(i).getString("ENDTIME")); //5
vpd.put("var6", varOList.get(i).getString("CURRICULUMUSERS")); //6
vpd.put("var7", varOList.get(i).getString("CREATOR")); //7
vpd.put("var8", varOList.get(i).getString("CREATTIME")); //8
vpd.put("var9", varOList.get(i).getString("OPERATOR")); //9
vpd.put("var10", varOList.get(i).getString("OPERATTIME")); //10
vpd.put("var11", varOList.get(i).get("ISDELETE").toString()); //11
vpd.put("var12", varOList.get(i).getString("CORPINFO_ID")); //12
varList.add(vpd);
}
dataMap.put("varList", varList);
ObjectExcelView erv = new ObjectExcelView();
mv = new ModelAndView(erv,dataMap);
return mv;
}
/**去习题练习页面
* @param
* @throws Exception
*/
@RequestMapping(value="/findForStudyByCurriculumId")
// @RequiresPermissions("curriculum:edit")
@ResponseBody
public Object findForStudyByCurriculumId() throws Exception{
Map<String,Object> map = new HashMap<String,Object>();
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<String,Object> map = new HashMap<String,Object>();
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<PageData> 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<String,Object> map = new HashMap<String,Object>();
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<PageData> 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<String,Object> map = new HashMap<String,Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); //企业ID
List<PageData> 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;
}
}