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

370 lines
13 KiB
Java
Raw Normal View History

2023-11-07 09:32:12 +08:00
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;
}
}