From eac48696e8df9a0a6eace257adcea4ee203d6fe0 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期四, 02 一月 2025 16:53:58 +0800 Subject: [PATCH] zjh20250102 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSurveyTemplateController.java | 266 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 253 insertions(+), 13 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSurveyTemplateController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSurveyTemplateController.java index bb4197a..563b4c1 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSurveyTemplateController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSurveyTemplateController.java @@ -6,11 +6,21 @@ 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.common.core.domain.TreeSelect; +import com.ltkj.common.core.domain.entity.SysDept; +import com.ltkj.common.core.domain.entity.SysDictData; +import com.ltkj.hosp.domain.*; import com.ltkj.hosp.service.ITjSurveyQuestionService; +import com.ltkj.system.service.ISysConfigService; +import com.ltkj.system.service.ISysDeptService; +import com.ltkj.system.service.ISysDictDataService; +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; @@ -20,7 +30,6 @@ 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; @@ -40,6 +49,39 @@ @Autowired private ITjSurveyQuestionService tjSurveyQuestionService; + @Autowired + private ISysConfigService configService; + + @Autowired + private UserFormService formService; + + @Autowired + private ISysDeptService deptService; + /** + * 鍒ゆ柇鏄惁寮�鍚~楦〃鍗曡璁� + */ + @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) { + TjSurveyTemplate byId = tjSurveyTemplateService.selectTemplateByMid1(id); +// List<FwdPlanInfoVo> fwdPlanInfoVos = fwdSqlMapper.canDelete(id); + if (byId !=null && byId.getQybz().equals("0")){ + return AjaxResult.success(false); + } + return AjaxResult.success(true); + } + + /** * 鏌ヨ闂嵎妯℃澘鍒楄〃 @@ -73,26 +115,79 @@ return success(tjSurveyTemplateService.selectTjSurveyTemplateByMid(mid)); } - /** - * 鑾峰彇闂嵎妯℃澘 - */ +// /** +// * 鑾峰彇闂嵎妯℃澘 +// */ +// @GetMapping("/getQuesByMid") +// @ApiOperation(value = "鑾峰彇闂嵎妯℃澘淇℃伅") +// public AjaxResult getQuesByMid(@RequestParam Long mid) { +// List<TjSurveyQuestion> l1=new ArrayList<>(); +// TjSurveyTemplate byId = tjSurveyTemplateService.selectTjSurveyTemplateByMid(mid); +// List<TjSurveyTempQues> 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) { - List<TjSurveyQuestion> l1=new ArrayList<>(); - TjSurveyTemplate byId = tjSurveyTemplateService.selectTjSurveyTemplateByMid(mid); - List<TjSurveyTempQues> tjSurveyTempQuesList = byId.getTjSurveyTempQuesList(); - if (tjSurveyTempQuesList!=null){ + 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<TjSurveyQuestion> wq1=new LambdaQueryWrapper<>(); + wq1.eq(TjSurveyQuestion::getMid,byId.getMid()); + final List<TjSurveyQuestion> list1 = tjSurveyQuestionService.list(wq1); + for (TjSurveyQuestion tjSurveyQuestion : list1) { + final List<TjSurveyOptions> tjSurveyOptions = tjSurveyQuestionService.selectOptionsByQid(String.valueOf(tjSurveyQuestion.getQid())); + tjSurveyQuestion.setTjSurveyOptionsList(tjSurveyOptions); + } + return AjaxResult.success(list1); + + } + return AjaxResult.success("鏆傛棤淇℃伅"); + } + + + /** + * 鑾峰彇闂嵎妯℃澘 + */ + @GetMapping("/getQuesByMids") + @ApiOperation(value = "鑾峰彇闂嵎妯℃澘淇℃伅") + public AjaxResult getQuesByMids(@RequestParam Long mid) { + + List<TjSurveyQuestion> l1 = new ArrayList<>(); +// TjSurveyTemplate byId = tjSurveyTemplateService.selectTjSurveyTemplateByMid(mid); + List<TjSurveyTempQues> tjSurveyTempQuesList = tjSurveyQuestionService.selectOptionsByMid(mid.toString()); + if (tjSurveyTempQuesList != null && tjSurveyTempQuesList.size()>0) { for (TjSurveyTempQues tjSurveyTempQues : tjSurveyTempQuesList) { TjSurveyQuestion byId1 = tjSurveyQuestionService.selectTjSurveyQuestionByQid(tjSurveyTempQues.getQid()); - if (byId1!=null){ + if (byId1 != null) { l1.add(byId1); } } return AjaxResult.success(l1); } + List<TjSurveyQuestion> optionsByMid = tjSurveyQuestionService.getOptionsByMid(mid.toString()); + if(null !=optionsByMid && optionsByMid.size()>0){ + return AjaxResult.success(optionsByMid); + } return AjaxResult.success("鏆傛棤淇℃伅"); } + /** * 鏂板闂嵎妯℃澘 @@ -101,8 +196,130 @@ @Log(title = "闂嵎妯℃澘", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody TjSurveyTemplate tjSurveyTemplate) { - return toAjax(tjSurveyTemplateService.insertTjSurveyTemplate(tjSurveyTemplate)); +// return toAjax(tjSurveyTemplateService.insertTjSurveyTemplate(tjSurveyTemplate)); + TjSurveyTemplate byId = tjSurveyTemplateService.selectTemplateByTjCategory(tjSurveyTemplate.getTempType()); + if(null !=byId){ + return AjaxResult.error("璇ョ被鍨嬫ā鏉垮凡瀛樺湪 涓嶅彲閲嶅鍒涘缓!!!"); + } + final String call = configService.selectConfigByKey("need_design"); + //鍒ゆ柇鏄惁寮�鍚~楦〃鍗曡璁� + if ("true".equals(call)){ + UserFormEntity form=new UserFormEntity(); + form.setFormKey(ShortIdUtils.genId()); + form.setName("<h2 style=\"text-align: center;\">"+tjSurveyTemplate.getTempName()+"</h2>"); + 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); } + + @GetMapping("/getQuestionsByMid") + public Map<String, Object> getQuestionsByMid(@RequestParam("mid") Long mid, + @RequestParam(required = false) String question, + @RequestParam("pageNum") int pageNum, + @RequestParam("pageSize") int pageSize) { + Map<String, Object> res = new HashMap<>(); +// List<TjSurveyQuestion> list = tjSurveyTemplateService.getQuestionsByMid(mid); + LambdaQueryWrapper<TjSurveyQuestion> wq1=new LambdaQueryWrapper<>(); + wq1.eq(TjSurveyQuestion::getMid,mid); + if(null !=question && !question.equals("")){ + wq1.like(TjSurveyQuestion::getQuestion,question); + } + final List<TjSurveyQuestion> list = tjSurveyQuestionService.list(wq1); + + int start = 0, end = 0; + start = (pageNum - 1) * pageSize; + end = start + pageSize; + end = Math.min(list.size(), end); + List<TjSurveyQuestion> result = new ArrayList<>(); + for (int i = start; i < end; i++) { + result.add(list.get(i)); + } + final TjSurveyTemplate byId = tjSurveyTemplateService.selectTemplateByMid1(mid); + for (TjSurveyQuestion tjSurveyQuestion : result) { + tjSurveyQuestion.setTemplate(byId); + final List<TjSurveyOptions> tjSurveyOptions = tjSurveyQuestionService.selectOptionsByQid(String.valueOf(tjSurveyQuestion.getQid())); + tjSurveyQuestion.setTjSurveyOptionsList(tjSurveyOptions); + } + res.put("data", result); +// res.put("temp", tjSurveyTemplateService.selectTjSurveyTemplateByMid(mid)); + res.put("total", list.size()); + return res; + } + + + /** + * 鏌ヨ闂嵎妯℃澘鍒楄〃 + */ + @GetMapping("/listByDeptId") + public AjaxResult listByDeptId(SysDept dept) { + List<TreeSelect> treeSelects =deptService.selectDeptList1(dept); + return AjaxResult.success(treeSelects); + } + + + /** + * 鏌ヨ闂嵎妯℃澘鍒楄〃 + */ + @GetMapping("/listByDeptId1") + public AjaxResult listByDeptId1() { + SysDictData data=new SysDictData(); + data.setDictType("question_template_type"); + data.setStatus("0"); + List<TreeTjSurveryTemplate> list = tjSurveyTemplateService.selectDictDataList(data); + if(null !=list && list.size()>0){ + for (TreeTjSurveryTemplate dictData : list) { + List<TreeTjSurveryTemplate> templateList = tjSurveyTemplateService.getTreeTjSurveryTemplate(dictData.getVaule()); + dictData.setChildren(templateList); + } + } + return AjaxResult.success(list); + } + + + + @GetMapping("/getTjrWnJuanMoBan") + public AjaxResult getTjrWnJuanMoBan(String tjCategory) { + TjSurveyTemplate byId = tjSurveyTemplateService.selectTemplateByTjCategory(tjCategory); +// 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<TjSurveyQuestion> wq1=new LambdaQueryWrapper<>(); + wq1.eq(TjSurveyQuestion::getMid,byId.getMid()); + final List<TjSurveyQuestion> list1 = tjSurveyQuestionService.list(wq1); + for (TjSurveyQuestion tjSurveyQuestion : list1) { + final List<TjSurveyOptions> tjSurveyOptions = tjSurveyQuestionService.selectOptionsByQid(String.valueOf(tjSurveyQuestion.getQid())); + tjSurveyQuestion.setTjSurveyOptionsList(tjSurveyOptions); + } + return AjaxResult.success(list1); + + } + return AjaxResult.success("鏆傛棤淇℃伅"); + } + + /** * 淇敼闂嵎妯℃澘 @@ -111,6 +328,10 @@ @Log(title = "闂嵎妯℃澘", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody TjSurveyTemplate tjSurveyTemplate) { + TjSurveyTemplate byId = tjSurveyTemplateService.selectTemplateByMid1(tjSurveyTemplate.getMid()); + if(null ==byId){ + return AjaxResult.error("璇ユā鏉夸笉瀛樺湪!!!"); + } return toAjax(tjSurveyTemplateService.updateTjSurveyTemplate(tjSurveyTemplate)); } @@ -123,4 +344,23 @@ 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("鍑洪敊浜嗭紝璇疯仈绯诲伐浣滀汉鍛橈紒"); + } + + } } -- Gitblit v1.8.0