package com.ltkj.web.controller.system; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletResponse; import cn.hutool.core.date.DateTime; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ltkj.hosp.domain.TjSurveyOptions; import com.ltkj.hosp.domain.TjSurveyQuestion; import com.ltkj.hosp.domain.TjSurveyTempQues; import com.ltkj.hosp.service.ITjSurveyQuestionService; import com.ltkj.system.service.ISysConfigService; import com.ltkj.tduck.domain.UserFormEntity; import com.ltkj.tduck.enums.FormSourceTypeEnum; import com.ltkj.tduck.enums.FormStatusEnum; import com.ltkj.tduck.service.UserFormService; import com.ltkj.tduck.utils.ShortIdUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import com.ltkj.common.annotation.Log; import com.ltkj.common.core.controller.BaseController; import com.ltkj.common.core.domain.AjaxResult; import com.ltkj.common.enums.BusinessType; import com.ltkj.hosp.domain.TjSurveyTemplate; import com.ltkj.hosp.service.ITjSurveyTemplateService; import com.ltkj.common.utils.poi.ExcelUtil; import com.ltkj.common.core.page.TableDataInfo; /** * 问卷模板Controller * * @author ltkj_赵佳豪&李格 * @date 2023-04-07 */ @RestController @RequestMapping("/hosp/surveyTemplate") @Api(tags = "问卷模板") public class TjSurveyTemplateController extends BaseController { @Autowired private ITjSurveyTemplateService tjSurveyTemplateService; @Autowired private ITjSurveyQuestionService tjSurveyQuestionService; @Autowired private ISysConfigService configService; @Autowired private UserFormService formService; /** * 判断是否开启填鸭表单设计 */ @ApiOperation(value = "判断是否开启填鸭表单设计") @GetMapping(value = "/needDesign") public AjaxResult needDesign() { final String call = configService.selectConfigByKey("need_design"); return AjaxResult.success(call); } /** * 判断该模板是否可删除 */ @ApiOperation(value = "判断该模板是否可删除") @GetMapping(value = "/canDelete") public AjaxResult canDelete(Long id) { // List fwdPlanInfoVos = fwdSqlMapper.canDelete(id); // if (fwdPlanInfoVos!=null && fwdPlanInfoVos.size()>0){ // return AjaxResult.success(false); // } return AjaxResult.success(false); } /** * 查询问卷模板列表 */ //@PreAuthorize("@ss.hasPermi('hosp:surveyTemplate:list')") @GetMapping("/list") public TableDataInfo list(TjSurveyTemplate tjSurveyTemplate) { startPage(); List list = tjSurveyTemplateService.selectTjSurveyTemplateList(tjSurveyTemplate); return getDataTable(list); } /** * 导出问卷模板列表 */ //@PreAuthorize("@ss.hasPermi('hosp:surveyTemplate:export')") @Log(title = "问卷模板", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, TjSurveyTemplate tjSurveyTemplate) { List list = tjSurveyTemplateService.selectTjSurveyTemplateList(tjSurveyTemplate); ExcelUtil util = new ExcelUtil(TjSurveyTemplate.class); util.exportExcel(response, list, "问卷模板数据"); } /** * 获取问卷模板详细信息 */ //@PreAuthorize("@ss.hasPermi('hosp:surveyTemplate:query')") @GetMapping(value = "/{mid}") public AjaxResult getInfo(@PathVariable("mid") Long mid) { return success(tjSurveyTemplateService.selectTjSurveyTemplateByMid(mid)); } // /** // * 获取问卷模板 // */ // @GetMapping("/getQuesByMid") // @ApiOperation(value = "获取问卷模板信息") // public AjaxResult getQuesByMid(@RequestParam Long mid) { // List l1=new ArrayList<>(); // TjSurveyTemplate byId = tjSurveyTemplateService.selectTjSurveyTemplateByMid(mid); // List tjSurveyTempQuesList = byId.getTjSurveyTempQuesList(); // if (tjSurveyTempQuesList!=null){ // for (TjSurveyTempQues tjSurveyTempQues : tjSurveyTempQuesList) { // TjSurveyQuestion byId1 = tjSurveyQuestionService.selectTjSurveyQuestionByQid(tjSurveyTempQues.getQid()); // if (byId1!=null){ // l1.add(byId1); // } // } // return AjaxResult.success(l1); // } // return AjaxResult.success("暂无信息"); // } @GetMapping("/getQuesByMid") @ApiOperation(value = "获取问卷模板信息") public AjaxResult getQuesByMid(@RequestParam Long mid) { TjSurveyTemplate byId = tjSurveyTemplateService.selectTemplateByMid1(Long.valueOf(mid)); if(null !=byId){ if ("1".equals(byId.getQybz())){ return AjaxResult.success("该问卷模板不存在或已停用"); } //判断是否有问题 if(byId.getDesignId()!=null){ return AjaxResult.success(byId.getDesignId()); } LambdaQueryWrapper wq1=new LambdaQueryWrapper<>(); wq1.eq(TjSurveyQuestion::getMid,byId.getMid()); final List list1 = tjSurveyQuestionService.list(wq1); for (TjSurveyQuestion tjSurveyQuestion : list1) { final List tjSurveyOptions = tjSurveyQuestionService.selectOptionsByQid(tjSurveyQuestion.getQid()); tjSurveyQuestion.setTjSurveyOptionsList(tjSurveyOptions); } return AjaxResult.success(list1); } return AjaxResult.success("暂无信息"); } /** * 新增问卷模板 */ //@PreAuthorize("@ss.hasPermi('hosp:surveyTemplate:add')") @Log(title = "问卷模板", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody TjSurveyTemplate tjSurveyTemplate) { // return toAjax(tjSurveyTemplateService.insertTjSurveyTemplate(tjSurveyTemplate)); final String call = configService.selectConfigByKey("need_design"); //判断是否开启填鸭表单设计 if ("true".equals(call)){ UserFormEntity form=new UserFormEntity(); form.setFormKey(ShortIdUtils.genId()); form.setName("

"+tjSurveyTemplate.getTempName()+"

"); form.setStatus(1); form.setSourceType(1); form.setCreateTime(new DateTime()); form.setType("1"); form.setDeleted(false); final boolean save = formService.save(form); if (save){ tjSurveyTemplate.setDesignId(form.getFormKey()); final int i = tjSurveyTemplateService.insertTjSurveyTemplate(tjSurveyTemplate); if (i==1) { return AjaxResult.success(form); } } }else{ final int i = tjSurveyTemplateService.insertTjSurveyTemplate(tjSurveyTemplate); if (i==1) { return AjaxResult.success(false); } } return AjaxResult.success(false); } /** * 修改问卷模板 */ //@PreAuthorize("@ss.hasPermi('hosp:surveyTemplate:edit')") @Log(title = "问卷模板", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody TjSurveyTemplate tjSurveyTemplate) { return toAjax(tjSurveyTemplateService.updateTjSurveyTemplate(tjSurveyTemplate)); } /** * 删除问卷模板 */ //@PreAuthorize("@ss.hasPermi('hosp:surveyTemplate:remove')") @Log(title = "问卷模板", businessType = BusinessType.DELETE) @DeleteMapping("/{mids}") public AjaxResult remove(@PathVariable Long[] mids) { return toAjax(tjSurveyTemplateService.deleteTjSurveyTemplateByMids(mids)); } /** * 问卷启用禁用 */ @GetMapping("/updateQybz") @ApiOperation(value = "问卷启用禁用") public AjaxResult updateQybz(@RequestParam Long mid,@RequestParam String qybz) { final TjSurveyTemplate byId = tjSurveyTemplateService.selectTemplateByMid1(mid); byId.setQybz(qybz); if ("0".equals(qybz) && tjSurveyTemplateService.qybzTjSurveyTemplateByQy(byId.getMid())==1){ return AjaxResult.success("启用成功!"); }else if ("1".equals(qybz) && tjSurveyTemplateService.qybzTjSurveyTemplateByJy(byId.getMid())==1){ return AjaxResult.success("禁用成功!"); }else { return AjaxResult.error("出错了,请联系工作人员!"); } } }