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