فهرست منبع

add 新增菜单组 商品管理 健康管理

bzd_lxf 8 ماه پیش
والد
کامیت
26e3d6c662
100فایلهای تغییر یافته به همراه13595 افزوده شده و 5 حذف شده
  1. 158 0
      health-admin/src/main/java/com/bzd/web/controller/jkgl/SJkglCommissionrewardinfoController.java
  2. 158 0
      health-admin/src/main/java/com/bzd/web/controller/jkgl/SJkglGyhyHyflCategoryinfoController.java
  3. 158 0
      health-admin/src/main/java/com/bzd/web/controller/jkgl/SJkglGyhyHyglContractinfoController.java
  4. 158 0
      health-admin/src/main/java/com/bzd/web/controller/jkgl/SJkglGyhyPthyContracttemplateinfoController.java
  5. 158 0
      health-admin/src/main/java/com/bzd/web/controller/jkgl/SJkglGyhyYjtjActivityinfoController.java
  6. 158 0
      health-admin/src/main/java/com/bzd/web/controller/jkgl/SJkglMbglQyglBenefitinfoController.java
  7. 158 0
      health-admin/src/main/java/com/bzd/web/controller/jkgl/SJkglMxbZdyFieldconfigController.java
  8. 158 0
      health-admin/src/main/java/com/bzd/web/controller/jkgl/SJkglRegistrationinfoController.java
  9. 158 0
      health-admin/src/main/java/com/bzd/web/controller/jkgl/SJkglYpwxServiceprojectinfoController.java
  10. 158 0
      health-admin/src/main/java/com/bzd/web/controller/spgl/SSpglJfspProductinfoController.java
  11. 158 0
      health-admin/src/main/java/com/bzd/web/controller/spgl/SSpglMdjymlStoreproductinfoController.java
  12. 158 0
      health-admin/src/main/java/com/bzd/web/controller/spgl/SSpglMdspStoreproductdetailsController.java
  13. 158 0
      health-admin/src/main/java/com/bzd/web/controller/spgl/SSpglProductattributesController.java
  14. 158 0
      health-admin/src/main/java/com/bzd/web/controller/spgl/SSpglProductdetailsController.java
  15. 153 0
      health-admin/src/main/resources/templates/jkgl/SJkglCommissionrewardinfoAdd.html
  16. 138 0
      health-admin/src/main/resources/templates/jkgl/SJkglCommissionrewardinfoEdit.html
  17. 245 0
      health-admin/src/main/resources/templates/jkgl/SJkglCommissionrewardinfoList.html
  18. 129 0
      health-admin/src/main/resources/templates/jkgl/SJkglCommissionrewardinfoPageEdit.html
  19. 81 0
      health-admin/src/main/resources/templates/jkgl/SJkglGyhyHyflCategoryinfoAdd.html
  20. 84 0
      health-admin/src/main/resources/templates/jkgl/SJkglGyhyHyflCategoryinfoEdit.html
  21. 209 0
      health-admin/src/main/resources/templates/jkgl/SJkglGyhyHyflCategoryinfoList.html
  22. 75 0
      health-admin/src/main/resources/templates/jkgl/SJkglGyhyHyflCategoryinfoPageEdit.html
  23. 129 0
      health-admin/src/main/resources/templates/jkgl/SJkglGyhyHyglContractinfoAdd.html
  24. 120 0
      health-admin/src/main/resources/templates/jkgl/SJkglGyhyHyglContractinfoEdit.html
  25. 233 0
      health-admin/src/main/resources/templates/jkgl/SJkglGyhyHyglContractinfoList.html
  26. 111 0
      health-admin/src/main/resources/templates/jkgl/SJkglGyhyHyglContractinfoPageEdit.html
  27. 153 0
      health-admin/src/main/resources/templates/jkgl/SJkglGyhyPthyContracttemplateinfoAdd.html
  28. 138 0
      health-admin/src/main/resources/templates/jkgl/SJkglGyhyPthyContracttemplateinfoEdit.html
  29. 245 0
      health-admin/src/main/resources/templates/jkgl/SJkglGyhyPthyContracttemplateinfoList.html
  30. 129 0
      health-admin/src/main/resources/templates/jkgl/SJkglGyhyPthyContracttemplateinfoPageEdit.html
  31. 113 0
      health-admin/src/main/resources/templates/jkgl/SJkglGyhyYjtjActivityinfoAdd.html
  32. 108 0
      health-admin/src/main/resources/templates/jkgl/SJkglGyhyYjtjActivityinfoEdit.html
  33. 225 0
      health-admin/src/main/resources/templates/jkgl/SJkglGyhyYjtjActivityinfoList.html
  34. 99 0
      health-admin/src/main/resources/templates/jkgl/SJkglGyhyYjtjActivityinfoPageEdit.html
  35. 89 0
      health-admin/src/main/resources/templates/jkgl/SJkglMbglQyglBenefitinfoAdd.html
  36. 90 0
      health-admin/src/main/resources/templates/jkgl/SJkglMbglQyglBenefitinfoEdit.html
  37. 213 0
      health-admin/src/main/resources/templates/jkgl/SJkglMbglQyglBenefitinfoList.html
  38. 81 0
      health-admin/src/main/resources/templates/jkgl/SJkglMbglQyglBenefitinfoPageEdit.html
  39. 121 0
      health-admin/src/main/resources/templates/jkgl/SJkglMxbZdyFieldconfigAdd.html
  40. 114 0
      health-admin/src/main/resources/templates/jkgl/SJkglMxbZdyFieldconfigEdit.html
  41. 229 0
      health-admin/src/main/resources/templates/jkgl/SJkglMxbZdyFieldconfigList.html
  42. 105 0
      health-admin/src/main/resources/templates/jkgl/SJkglMxbZdyFieldconfigPageEdit.html
  43. 97 0
      health-admin/src/main/resources/templates/jkgl/SJkglRegistrationinfoAdd.html
  44. 96 0
      health-admin/src/main/resources/templates/jkgl/SJkglRegistrationinfoEdit.html
  45. 217 0
      health-admin/src/main/resources/templates/jkgl/SJkglRegistrationinfoList.html
  46. 87 0
      health-admin/src/main/resources/templates/jkgl/SJkglRegistrationinfoPageEdit.html
  47. 121 0
      health-admin/src/main/resources/templates/jkgl/SJkglYpwxServiceprojectinfoAdd.html
  48. 114 0
      health-admin/src/main/resources/templates/jkgl/SJkglYpwxServiceprojectinfoEdit.html
  49. 229 0
      health-admin/src/main/resources/templates/jkgl/SJkglYpwxServiceprojectinfoList.html
  50. 105 0
      health-admin/src/main/resources/templates/jkgl/SJkglYpwxServiceprojectinfoPageEdit.html
  51. 113 0
      health-admin/src/main/resources/templates/spgl/SSpglJfspProductinfoAdd.html
  52. 108 0
      health-admin/src/main/resources/templates/spgl/SSpglJfspProductinfoEdit.html
  53. 225 0
      health-admin/src/main/resources/templates/spgl/SSpglJfspProductinfoList.html
  54. 99 0
      health-admin/src/main/resources/templates/spgl/SSpglJfspProductinfoPageEdit.html
  55. 89 0
      health-admin/src/main/resources/templates/spgl/SSpglMdjymlStoreproductinfoAdd.html
  56. 90 0
      health-admin/src/main/resources/templates/spgl/SSpglMdjymlStoreproductinfoEdit.html
  57. 213 0
      health-admin/src/main/resources/templates/spgl/SSpglMdjymlStoreproductinfoList.html
  58. 81 0
      health-admin/src/main/resources/templates/spgl/SSpglMdjymlStoreproductinfoPageEdit.html
  59. 201 0
      health-admin/src/main/resources/templates/spgl/SSpglMdspStoreproductdetailsAdd.html
  60. 174 0
      health-admin/src/main/resources/templates/spgl/SSpglMdspStoreproductdetailsEdit.html
  61. 269 0
      health-admin/src/main/resources/templates/spgl/SSpglMdspStoreproductdetailsList.html
  62. 165 0
      health-admin/src/main/resources/templates/spgl/SSpglMdspStoreproductdetailsPageEdit.html
  63. 89 0
      health-admin/src/main/resources/templates/spgl/SSpglProductattributesAdd.html
  64. 90 0
      health-admin/src/main/resources/templates/spgl/SSpglProductattributesEdit.html
  65. 213 0
      health-admin/src/main/resources/templates/spgl/SSpglProductattributesList.html
  66. 81 0
      health-admin/src/main/resources/templates/spgl/SSpglProductattributesPageEdit.html
  67. 289 0
      health-admin/src/main/resources/templates/spgl/SSpglProductdetailsAdd.html
  68. 240 0
      health-admin/src/main/resources/templates/spgl/SSpglProductdetailsEdit.html
  69. 313 0
      health-admin/src/main/resources/templates/spgl/SSpglProductdetailsList.html
  70. 231 0
      health-admin/src/main/resources/templates/spgl/SSpglProductdetailsPageEdit.html
  71. 47 0
      health-system/src/main/java/com/bzd/system/service/jkgl/SJkglCommissionrewardinfoService.java
  72. 47 0
      health-system/src/main/java/com/bzd/system/service/jkgl/SJkglGyhyHyflCategoryinfoService.java
  73. 47 0
      health-system/src/main/java/com/bzd/system/service/jkgl/SJkglGyhyHyglContractinfoService.java
  74. 47 0
      health-system/src/main/java/com/bzd/system/service/jkgl/SJkglGyhyPthyContracttemplateinfoService.java
  75. 47 0
      health-system/src/main/java/com/bzd/system/service/jkgl/SJkglGyhyYjtjActivityinfoService.java
  76. 47 0
      health-system/src/main/java/com/bzd/system/service/jkgl/SJkglMbglQyglBenefitinfoService.java
  77. 47 0
      health-system/src/main/java/com/bzd/system/service/jkgl/SJkglMxbZdyFieldconfigService.java
  78. 47 0
      health-system/src/main/java/com/bzd/system/service/jkgl/SJkglRegistrationinfoService.java
  79. 47 0
      health-system/src/main/java/com/bzd/system/service/jkgl/SJkglYpwxServiceprojectinfoService.java
  80. 47 0
      health-system/src/main/java/com/bzd/system/service/spgl/SSpglJfspProductinfoService.java
  81. 47 0
      health-system/src/main/java/com/bzd/system/service/spgl/SSpglMdjymlStoreproductinfoService.java
  82. 47 0
      health-system/src/main/java/com/bzd/system/service/spgl/SSpglMdspStoreproductdetailsService.java
  83. 47 0
      health-system/src/main/java/com/bzd/system/service/spgl/SSpglProductattributesService.java
  84. 47 0
      health-system/src/main/java/com/bzd/system/service/spgl/SSpglProductdetailsService.java
  85. 198 0
      health-system/src/main/resources/mapper/jkgl/SJkglCommissionrewardinfoMapper.xml
  86. 90 0
      health-system/src/main/resources/mapper/jkgl/SJkglGyhyHyflCategoryinfoMapper.xml
  87. 165 0
      health-system/src/main/resources/mapper/jkgl/SJkglGyhyHyglContractinfoMapper.xml
  88. 201 0
      health-system/src/main/resources/mapper/jkgl/SJkglGyhyPthyContracttemplateinfoMapper.xml
  89. 138 0
      health-system/src/main/resources/mapper/jkgl/SJkglGyhyYjtjActivityinfoMapper.xml
  90. 102 0
      health-system/src/main/resources/mapper/jkgl/SJkglMbglQyglBenefitinfoMapper.xml
  91. 150 0
      health-system/src/main/resources/mapper/jkgl/SJkglMxbZdyFieldconfigMapper.xml
  92. 114 0
      health-system/src/main/resources/mapper/jkgl/SJkglRegistrationinfoMapper.xml
  93. 150 0
      health-system/src/main/resources/mapper/jkgl/SJkglYpwxServiceprojectinfoMapper.xml
  94. 138 0
      health-system/src/main/resources/mapper/spgl/SSpglJfspProductinfoMapper.xml
  95. 102 0
      health-system/src/main/resources/mapper/spgl/SSpglMdjymlStoreproductinfoMapper.xml
  96. 270 0
      health-system/src/main/resources/mapper/spgl/SSpglMdspStoreproductdetailsMapper.xml
  97. 102 0
      health-system/src/main/resources/mapper/spgl/SSpglProductattributesMapper.xml
  98. 402 0
      health-system/src/main/resources/mapper/spgl/SSpglProductdetailsMapper.xml
  99. 1 1
      health-system/src/main/resources/mapper/system/ServerGMapper.xml
  100. 4 4
      health-system/src/main/resources/mapper/system/ServerMapper.xml

+ 158 - 0
health-admin/src/main/java/com/bzd/web/controller/jkgl/SJkglCommissionrewardinfoController.java

@@ -0,0 +1,158 @@
+package com.bzd.web.controller.jkgl;
+
+import com.bzd.common.annotation.Log;
+import com.bzd.common.config.dao.PageData;
+import com.bzd.common.core.controller.BaseController;
+import com.bzd.common.core.domain.AjaxResult;
+import com.bzd.common.core.page.TableDataInfo;
+import com.bzd.common.enums.BusinessType;
+import com.bzd.system.service.PharmaceuticalService;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.*;
+import com.bzd.system.service.jkgl.SJkglCommissionrewardinfoService;
+
+import java.util.List;
+
+/**
+*
+* 合约提成发放失败明细 前端控制器Controller
+* @author LiXiangFei
+* @since 2024-10-15
+*/
+@Controller
+@RequestMapping(value = "jkgl/sjkglcommissionrewardinfo")
+public class SJkglCommissionrewardinfoController extends BaseController {
+
+    // 页面跳转前缀
+    private String prefix = "jkgl";
+
+    @Autowired
+    private SJkglCommissionrewardinfoService sJkglCommissionrewardinfoService;
+
+    /**
+    * 合约提成发放失败明细 新增页面跳转
+    *
+    * @return
+    */
+    @RequiresPermissions("jkgl:jk:view")
+    @GetMapping("/sJkglCommissionrewardinfoAdd")
+    public String add() {
+        return prefix + "/SJkglCommissionrewardinfoAdd";
+    }
+
+    /**
+    * 合约提成发放失败明细 新增
+    *
+    * @return
+    */
+    @Log(title = "合约提成发放失败明细新增", businessType = BusinessType.INSERT)
+    @PostMapping("/sJkglCommissionrewardinfoAdd")
+    @ResponseBody
+    public AjaxResult addSave() throws Exception {
+        PageData pd = this.getPageData();
+        try {
+            Integer result = sJkglCommissionrewardinfoService.addSJkglCommissionrewardinfo(pd);
+            if (result == 1) {
+                return AjaxResult.success("新增成功");
+            } else {
+                logger.error("Failed to update 表skccrkckreceiptinfo with ID: {}", pd.get("id"));
+                return AjaxResult.error("新增失败");
+            }
+        } catch (Exception e) {
+            logger.error("Error occurred while updating 表skccrkckreceiptinfo with ID: {}, Exception: {}", pd.get("id"), e.getMessage(), e);
+            return AjaxResult.error("系统异常:" + e.getMessage());
+        }
+    }
+
+    /**
+    * 合约提成发放失败明细 查询页面跳转
+    *
+    * @return
+    */
+    @RequiresPermissions("jkgl:jk:view")
+    @GetMapping("/sJkglCommissionrewardinfoView")
+    public String sjkglcommissionrewardinfoListView() {
+        return prefix + "/SJkglCommissionrewardinfoList";
+    }
+
+    /**
+    * 合约提成发放失败明细 数据查询
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("jkgl:jk:sJkglCommissionrewardinfoList")
+    @PostMapping("/sJkglCommissionrewardinfoList")
+    @ResponseBody
+    public TableDataInfo sjkglcommissionrewardinfoList() throws Exception {
+    PageData pd = this.getPageData();
+    startPage();
+    List<PageData> pageData = sJkglCommissionrewardinfoService.findSJkglCommissionrewardinfoList(pd);
+        return getDataTable(pageData);
+    }
+
+    /**
+    * 合约提成发放失败明细 数据删除 根据id
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("jkgl:jk:remove")
+    @Log(title = "合约提成发放失败明细删除", businessType = BusinessType.DELETE)
+    @PostMapping("/sJkglCommissionrewardinfoRemove")
+    @ResponseBody
+    public AjaxResult sjkglcommissionrewardinfoRemove() throws Exception {
+        PageData pd = this.getPageData();
+        Integer integer = sJkglCommissionrewardinfoService.SJkglCommissionrewardinfoRemove(pd);
+        return toAjax(integer);
+    }
+
+    /**
+    * 合约提成发放失败明细 数据修改
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("jkgl:jk:edit")
+    @GetMapping("/sJkglCommissionrewardinfoEdit/{id}")
+    public String sjkglcommissionrewardinfoView(@PathVariable("id") Long id, ModelMap mmap) throws Exception {
+        PageData pd = this.getPageData();
+        pd.put("id", id);
+        PageData pageData = sJkglCommissionrewardinfoService.findSJkglCommissionrewardinfoList(pd).get(0);
+        mmap.putAll(pageData);
+        if(null!=pd.getString("status")){
+            return prefix+ "/sjkglcommissionrewardinfoPageEdit";
+        }
+        return prefix+ "/sjkglcommissionrewardinfoEdit";
+    }
+
+    /**
+    * 合约提成发放失败明细保存修改的数据
+    */
+    @RequiresPermissions("jkgl:jk:edit")
+    @Log(title = "合约提成发放失败明细修改", businessType = BusinessType.UPDATE)
+    @PostMapping("/sJkglCommissionrewardinfoEdit")
+    @ResponseBody
+    public AjaxResult sjkglcommissionrewardinfoEditSave() throws Exception {
+        PageData pd = this.getPageData();
+        pd.put("up", "up");
+        try {
+            Integer updateResult = sJkglCommissionrewardinfoService.updateSJkglCommissionrewardinfo(pd);
+            if (updateResult == 1) {
+                // 成功更新
+                return AjaxResult.success("修改成功");
+            } else {
+                // 更新失败
+                logger.error("Failed to update 表sjkglcommissionrewardinfo with ID: {}", pd.get("id"));
+                return AjaxResult.error("修改失败");
+            }
+        } catch (Exception e) {
+            // 异常处理
+            logger.error("Error occurred while updating 表sjkglcommissionrewardinfo with ID: {}, Exception: {}", pd.get("id"), e.getMessage(), e);
+            return AjaxResult.error("系统异常:" + e.getMessage());
+        }
+    }
+}

+ 158 - 0
health-admin/src/main/java/com/bzd/web/controller/jkgl/SJkglGyhyHyflCategoryinfoController.java

@@ -0,0 +1,158 @@
+package com.bzd.web.controller.jkgl;
+
+import com.bzd.common.annotation.Log;
+import com.bzd.common.config.dao.PageData;
+import com.bzd.common.core.controller.BaseController;
+import com.bzd.common.core.domain.AjaxResult;
+import com.bzd.common.core.page.TableDataInfo;
+import com.bzd.common.enums.BusinessType;
+import com.bzd.system.service.PharmaceuticalService;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.*;
+import com.bzd.system.service.jkgl.SJkglGyhyHyflCategoryinfoService;
+
+import java.util.List;
+
+/**
+*
+* 合约分类管理 前端控制器Controller
+* @author LiXiangFei
+* @since 2024-10-15
+*/
+@Controller
+@RequestMapping(value = "jkgl/sjkglgyhyhyflcategoryinfo")
+public class SJkglGyhyHyflCategoryinfoController extends BaseController {
+
+    // 页面跳转前缀
+    private String prefix = "jkgl";
+
+    @Autowired
+    private SJkglGyhyHyflCategoryinfoService sJkglGyhyHyflCategoryinfoService;
+
+    /**
+    * 合约分类管理 新增页面跳转
+    *
+    * @return
+    */
+    @RequiresPermissions("jkgl:jk:view")
+    @GetMapping("/sJkglGyhyHyflCategoryinfoAdd")
+    public String add() {
+        return prefix + "/SJkglGyhyHyflCategoryinfoAdd";
+    }
+
+    /**
+    * 合约分类管理 新增
+    *
+    * @return
+    */
+    @Log(title = "合约分类管理新增", businessType = BusinessType.INSERT)
+    @PostMapping("/sJkglGyhyHyflCategoryinfoAdd")
+    @ResponseBody
+    public AjaxResult addSave() throws Exception {
+        PageData pd = this.getPageData();
+        try {
+            Integer result = sJkglGyhyHyflCategoryinfoService.addSJkglGyhyHyflCategoryinfo(pd);
+            if (result == 1) {
+                return AjaxResult.success("新增成功");
+            } else {
+                logger.error("Failed to update 表skccrkckreceiptinfo with ID: {}", pd.get("id"));
+                return AjaxResult.error("新增失败");
+            }
+        } catch (Exception e) {
+            logger.error("Error occurred while updating 表skccrkckreceiptinfo with ID: {}, Exception: {}", pd.get("id"), e.getMessage(), e);
+            return AjaxResult.error("系统异常:" + e.getMessage());
+        }
+    }
+
+    /**
+    * 合约分类管理 查询页面跳转
+    *
+    * @return
+    */
+    @RequiresPermissions("jkgl:jk:view")
+    @GetMapping("/sJkglGyhyHyflCategoryinfoView")
+    public String sjkglgyhyhyflcategoryinfoListView() {
+        return prefix + "/SJkglGyhyHyflCategoryinfoList";
+    }
+
+    /**
+    * 合约分类管理 数据查询
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("jkgl:jk:sJkglGyhyHyflCategoryinfoList")
+    @PostMapping("/sJkglGyhyHyflCategoryinfoList")
+    @ResponseBody
+    public TableDataInfo sjkglgyhyhyflcategoryinfoList() throws Exception {
+    PageData pd = this.getPageData();
+    startPage();
+    List<PageData> pageData = sJkglGyhyHyflCategoryinfoService.findSJkglGyhyHyflCategoryinfoList(pd);
+        return getDataTable(pageData);
+    }
+
+    /**
+    * 合约分类管理 数据删除 根据id
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("jkgl:jk:remove")
+    @Log(title = "合约分类管理删除", businessType = BusinessType.DELETE)
+    @PostMapping("/sJkglGyhyHyflCategoryinfoRemove")
+    @ResponseBody
+    public AjaxResult sjkglgyhyhyflcategoryinfoRemove() throws Exception {
+        PageData pd = this.getPageData();
+        Integer integer = sJkglGyhyHyflCategoryinfoService.SJkglGyhyHyflCategoryinfoRemove(pd);
+        return toAjax(integer);
+    }
+
+    /**
+    * 合约分类管理 数据修改
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("jkgl:jk:edit")
+    @GetMapping("/sJkglGyhyHyflCategoryinfoEdit/{id}")
+    public String sjkglgyhyhyflcategoryinfoView(@PathVariable("id") Long id, ModelMap mmap) throws Exception {
+        PageData pd = this.getPageData();
+        pd.put("id", id);
+        PageData pageData = sJkglGyhyHyflCategoryinfoService.findSJkglGyhyHyflCategoryinfoList(pd).get(0);
+        mmap.putAll(pageData);
+        if(null!=pd.getString("status")){
+            return prefix+ "/sjkglgyhyhyflcategoryinfoPageEdit";
+        }
+        return prefix+ "/sjkglgyhyhyflcategoryinfoEdit";
+    }
+
+    /**
+    * 合约分类管理保存修改的数据
+    */
+    @RequiresPermissions("jkgl:jk:edit")
+    @Log(title = "合约分类管理修改", businessType = BusinessType.UPDATE)
+    @PostMapping("/sJkglGyhyHyflCategoryinfoEdit")
+    @ResponseBody
+    public AjaxResult sjkglgyhyhyflcategoryinfoEditSave() throws Exception {
+        PageData pd = this.getPageData();
+        pd.put("up", "up");
+        try {
+            Integer updateResult = sJkglGyhyHyflCategoryinfoService.updateSJkglGyhyHyflCategoryinfo(pd);
+            if (updateResult == 1) {
+                // 成功更新
+                return AjaxResult.success("修改成功");
+            } else {
+                // 更新失败
+                logger.error("Failed to update 表sjkglgyhyhyflcategoryinfo with ID: {}", pd.get("id"));
+                return AjaxResult.error("修改失败");
+            }
+        } catch (Exception e) {
+            // 异常处理
+            logger.error("Error occurred while updating 表sjkglgyhyhyflcategoryinfo with ID: {}, Exception: {}", pd.get("id"), e.getMessage(), e);
+            return AjaxResult.error("系统异常:" + e.getMessage());
+        }
+    }
+}

+ 158 - 0
health-admin/src/main/java/com/bzd/web/controller/jkgl/SJkglGyhyHyglContractinfoController.java

@@ -0,0 +1,158 @@
+package com.bzd.web.controller.jkgl;
+
+import com.bzd.common.annotation.Log;
+import com.bzd.common.config.dao.PageData;
+import com.bzd.common.core.controller.BaseController;
+import com.bzd.common.core.domain.AjaxResult;
+import com.bzd.common.core.page.TableDataInfo;
+import com.bzd.common.enums.BusinessType;
+import com.bzd.system.service.PharmaceuticalService;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.*;
+import com.bzd.system.service.jkgl.SJkglGyhyHyglContractinfoService;
+
+import java.util.List;
+
+/**
+*
+* 合约管理 前端控制器Controller
+* @author LiXiangFei
+* @since 2024-10-15
+*/
+@Controller
+@RequestMapping(value = "jkgl/sjkglgyhyhyglcontractinfo")
+public class SJkglGyhyHyglContractinfoController extends BaseController {
+
+    // 页面跳转前缀
+    private String prefix = "jkgl";
+
+    @Autowired
+    private SJkglGyhyHyglContractinfoService sJkglGyhyHyglContractinfoService;
+
+    /**
+    * 合约管理 新增页面跳转
+    *
+    * @return
+    */
+    @RequiresPermissions("jkgl:jk:view")
+    @GetMapping("/sJkglGyhyHyglContractinfoAdd")
+    public String add() {
+        return prefix + "/SJkglGyhyHyglContractinfoAdd";
+    }
+
+    /**
+    * 合约管理 新增
+    *
+    * @return
+    */
+    @Log(title = "合约管理新增", businessType = BusinessType.INSERT)
+    @PostMapping("/sJkglGyhyHyglContractinfoAdd")
+    @ResponseBody
+    public AjaxResult addSave() throws Exception {
+        PageData pd = this.getPageData();
+        try {
+            Integer result = sJkglGyhyHyglContractinfoService.addSJkglGyhyHyglContractinfo(pd);
+            if (result == 1) {
+                return AjaxResult.success("新增成功");
+            } else {
+                logger.error("Failed to update 表skccrkckreceiptinfo with ID: {}", pd.get("id"));
+                return AjaxResult.error("新增失败");
+            }
+        } catch (Exception e) {
+            logger.error("Error occurred while updating 表skccrkckreceiptinfo with ID: {}, Exception: {}", pd.get("id"), e.getMessage(), e);
+            return AjaxResult.error("系统异常:" + e.getMessage());
+        }
+    }
+
+    /**
+    * 合约管理 查询页面跳转
+    *
+    * @return
+    */
+    @RequiresPermissions("jkgl:jk:view")
+    @GetMapping("/sJkglGyhyHyglContractinfoView")
+    public String sjkglgyhyhyglcontractinfoListView() {
+        return prefix + "/SJkglGyhyHyglContractinfoList";
+    }
+
+    /**
+    * 合约管理 数据查询
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("jkgl:jk:sJkglGyhyHyglContractinfoList")
+    @PostMapping("/sJkglGyhyHyglContractinfoList")
+    @ResponseBody
+    public TableDataInfo sjkglgyhyhyglcontractinfoList() throws Exception {
+    PageData pd = this.getPageData();
+    startPage();
+    List<PageData> pageData = sJkglGyhyHyglContractinfoService.findSJkglGyhyHyglContractinfoList(pd);
+        return getDataTable(pageData);
+    }
+
+    /**
+    * 合约管理 数据删除 根据id
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("jkgl:jk:remove")
+    @Log(title = "合约管理删除", businessType = BusinessType.DELETE)
+    @PostMapping("/sJkglGyhyHyglContractinfoRemove")
+    @ResponseBody
+    public AjaxResult sjkglgyhyhyglcontractinfoRemove() throws Exception {
+        PageData pd = this.getPageData();
+        Integer integer = sJkglGyhyHyglContractinfoService.SJkglGyhyHyglContractinfoRemove(pd);
+        return toAjax(integer);
+    }
+
+    /**
+    * 合约管理 数据修改
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("jkgl:jk:edit")
+    @GetMapping("/sJkglGyhyHyglContractinfoEdit/{id}")
+    public String sjkglgyhyhyglcontractinfoView(@PathVariable("id") Long id, ModelMap mmap) throws Exception {
+        PageData pd = this.getPageData();
+        pd.put("id", id);
+        PageData pageData = sJkglGyhyHyglContractinfoService.findSJkglGyhyHyglContractinfoList(pd).get(0);
+        mmap.putAll(pageData);
+        if(null!=pd.getString("status")){
+            return prefix+ "/sjkglgyhyhyglcontractinfoPageEdit";
+        }
+        return prefix+ "/sjkglgyhyhyglcontractinfoEdit";
+    }
+
+    /**
+    * 合约管理保存修改的数据
+    */
+    @RequiresPermissions("jkgl:jk:edit")
+    @Log(title = "合约管理修改", businessType = BusinessType.UPDATE)
+    @PostMapping("/sJkglGyhyHyglContractinfoEdit")
+    @ResponseBody
+    public AjaxResult sjkglgyhyhyglcontractinfoEditSave() throws Exception {
+        PageData pd = this.getPageData();
+        pd.put("up", "up");
+        try {
+            Integer updateResult = sJkglGyhyHyglContractinfoService.updateSJkglGyhyHyglContractinfo(pd);
+            if (updateResult == 1) {
+                // 成功更新
+                return AjaxResult.success("修改成功");
+            } else {
+                // 更新失败
+                logger.error("Failed to update 表sjkglgyhyhyglcontractinfo with ID: {}", pd.get("id"));
+                return AjaxResult.error("修改失败");
+            }
+        } catch (Exception e) {
+            // 异常处理
+            logger.error("Error occurred while updating 表sjkglgyhyhyglcontractinfo with ID: {}, Exception: {}", pd.get("id"), e.getMessage(), e);
+            return AjaxResult.error("系统异常:" + e.getMessage());
+        }
+    }
+}

+ 158 - 0
health-admin/src/main/java/com/bzd/web/controller/jkgl/SJkglGyhyPthyContracttemplateinfoController.java

@@ -0,0 +1,158 @@
+package com.bzd.web.controller.jkgl;
+
+import com.bzd.common.annotation.Log;
+import com.bzd.common.config.dao.PageData;
+import com.bzd.common.core.controller.BaseController;
+import com.bzd.common.core.domain.AjaxResult;
+import com.bzd.common.core.page.TableDataInfo;
+import com.bzd.common.enums.BusinessType;
+import com.bzd.system.service.PharmaceuticalService;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.*;
+import com.bzd.system.service.jkgl.SJkglGyhyPthyContracttemplateinfoService;
+
+import java.util.List;
+
+/**
+*
+* 平台合约模板信息表 前端控制器Controller
+* @author LiXiangFei
+* @since 2024-10-15
+*/
+@Controller
+@RequestMapping(value = "jkgl/sjkglgyhypthycontracttemplateinfo")
+public class SJkglGyhyPthyContracttemplateinfoController extends BaseController {
+
+    // 页面跳转前缀
+    private String prefix = "jkgl";
+
+    @Autowired
+    private SJkglGyhyPthyContracttemplateinfoService sJkglGyhyPthyContracttemplateinfoService;
+
+    /**
+    * 平台合约模板信息表 新增页面跳转
+    *
+    * @return
+    */
+    @RequiresPermissions("jkgl:jk:view")
+    @GetMapping("/sJkglGyhyPthyContracttemplateinfoAdd")
+    public String add() {
+        return prefix + "/SJkglGyhyPthyContracttemplateinfoAdd";
+    }
+
+    /**
+    * 平台合约模板信息表 新增
+    *
+    * @return
+    */
+    @Log(title = "平台合约模板信息表新增", businessType = BusinessType.INSERT)
+    @PostMapping("/sJkglGyhyPthyContracttemplateinfoAdd")
+    @ResponseBody
+    public AjaxResult addSave() throws Exception {
+        PageData pd = this.getPageData();
+        try {
+            Integer result = sJkglGyhyPthyContracttemplateinfoService.addSJkglGyhyPthyContracttemplateinfo(pd);
+            if (result == 1) {
+                return AjaxResult.success("新增成功");
+            } else {
+                logger.error("Failed to update 表skccrkckreceiptinfo with ID: {}", pd.get("id"));
+                return AjaxResult.error("新增失败");
+            }
+        } catch (Exception e) {
+            logger.error("Error occurred while updating 表skccrkckreceiptinfo with ID: {}, Exception: {}", pd.get("id"), e.getMessage(), e);
+            return AjaxResult.error("系统异常:" + e.getMessage());
+        }
+    }
+
+    /**
+    * 平台合约模板信息表 查询页面跳转
+    *
+    * @return
+    */
+    @RequiresPermissions("jkgl:jk:view")
+    @GetMapping("/sJkglGyhyPthyContracttemplateinfoView")
+    public String sjkglgyhypthycontracttemplateinfoListView() {
+        return prefix + "/SJkglGyhyPthyContracttemplateinfoList";
+    }
+
+    /**
+    * 平台合约模板信息表 数据查询
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("jkgl:jk:sJkglGyhyPthyContracttemplateinfoList")
+    @PostMapping("/sJkglGyhyPthyContracttemplateinfoList")
+    @ResponseBody
+    public TableDataInfo sjkglgyhypthycontracttemplateinfoList() throws Exception {
+    PageData pd = this.getPageData();
+    startPage();
+    List<PageData> pageData = sJkglGyhyPthyContracttemplateinfoService.findSJkglGyhyPthyContracttemplateinfoList(pd);
+        return getDataTable(pageData);
+    }
+
+    /**
+    * 平台合约模板信息表 数据删除 根据id
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("jkgl:jk:remove")
+    @Log(title = "平台合约模板信息表删除", businessType = BusinessType.DELETE)
+    @PostMapping("/sJkglGyhyPthyContracttemplateinfoRemove")
+    @ResponseBody
+    public AjaxResult sjkglgyhypthycontracttemplateinfoRemove() throws Exception {
+        PageData pd = this.getPageData();
+        Integer integer = sJkglGyhyPthyContracttemplateinfoService.SJkglGyhyPthyContracttemplateinfoRemove(pd);
+        return toAjax(integer);
+    }
+
+    /**
+    * 平台合约模板信息表 数据修改
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("jkgl:jk:edit")
+    @GetMapping("/sJkglGyhyPthyContracttemplateinfoEdit/{id}")
+    public String sjkglgyhypthycontracttemplateinfoView(@PathVariable("id") Long id, ModelMap mmap) throws Exception {
+        PageData pd = this.getPageData();
+        pd.put("id", id);
+        PageData pageData = sJkglGyhyPthyContracttemplateinfoService.findSJkglGyhyPthyContracttemplateinfoList(pd).get(0);
+        mmap.putAll(pageData);
+        if(null!=pd.getString("status")){
+            return prefix+ "/sjkglgyhypthycontracttemplateinfoPageEdit";
+        }
+        return prefix+ "/sjkglgyhypthycontracttemplateinfoEdit";
+    }
+
+    /**
+    * 平台合约模板信息表保存修改的数据
+    */
+    @RequiresPermissions("jkgl:jk:edit")
+    @Log(title = "平台合约模板信息表修改", businessType = BusinessType.UPDATE)
+    @PostMapping("/sJkglGyhyPthyContracttemplateinfoEdit")
+    @ResponseBody
+    public AjaxResult sjkglgyhypthycontracttemplateinfoEditSave() throws Exception {
+        PageData pd = this.getPageData();
+        pd.put("up", "up");
+        try {
+            Integer updateResult = sJkglGyhyPthyContracttemplateinfoService.updateSJkglGyhyPthyContracttemplateinfo(pd);
+            if (updateResult == 1) {
+                // 成功更新
+                return AjaxResult.success("修改成功");
+            } else {
+                // 更新失败
+                logger.error("Failed to update 表sjkglgyhypthycontracttemplateinfo with ID: {}", pd.get("id"));
+                return AjaxResult.error("修改失败");
+            }
+        } catch (Exception e) {
+            // 异常处理
+            logger.error("Error occurred while updating 表sjkglgyhypthycontracttemplateinfo with ID: {}, Exception: {}", pd.get("id"), e.getMessage(), e);
+            return AjaxResult.error("系统异常:" + e.getMessage());
+        }
+    }
+}

+ 158 - 0
health-admin/src/main/java/com/bzd/web/controller/jkgl/SJkglGyhyYjtjActivityinfoController.java

@@ -0,0 +1,158 @@
+package com.bzd.web.controller.jkgl;
+
+import com.bzd.common.annotation.Log;
+import com.bzd.common.config.dao.PageData;
+import com.bzd.common.core.controller.BaseController;
+import com.bzd.common.core.domain.AjaxResult;
+import com.bzd.common.core.page.TableDataInfo;
+import com.bzd.common.enums.BusinessType;
+import com.bzd.system.service.PharmaceuticalService;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.*;
+import com.bzd.system.service.jkgl.SJkglGyhyYjtjActivityinfoService;
+
+import java.util.List;
+
+/**
+*
+* 有奖推荐活动信息表 前端控制器Controller
+* @author LiXiangFei
+* @since 2024-10-15
+*/
+@Controller
+@RequestMapping(value = "jkgl/sjkglgyhyyjtjactivityinfo")
+public class SJkglGyhyYjtjActivityinfoController extends BaseController {
+
+    // 页面跳转前缀
+    private String prefix = "jkgl";
+
+    @Autowired
+    private SJkglGyhyYjtjActivityinfoService sJkglGyhyYjtjActivityinfoService;
+
+    /**
+    * 有奖推荐活动信息表 新增页面跳转
+    *
+    * @return
+    */
+    @RequiresPermissions("jkgl:jk:view")
+    @GetMapping("/sJkglGyhyYjtjActivityinfoAdd")
+    public String add() {
+        return prefix + "/SJkglGyhyYjtjActivityinfoAdd";
+    }
+
+    /**
+    * 有奖推荐活动信息表 新增
+    *
+    * @return
+    */
+    @Log(title = "有奖推荐活动信息表新增", businessType = BusinessType.INSERT)
+    @PostMapping("/sJkglGyhyYjtjActivityinfoAdd")
+    @ResponseBody
+    public AjaxResult addSave() throws Exception {
+        PageData pd = this.getPageData();
+        try {
+            Integer result = sJkglGyhyYjtjActivityinfoService.addSJkglGyhyYjtjActivityinfo(pd);
+            if (result == 1) {
+                return AjaxResult.success("新增成功");
+            } else {
+                logger.error("Failed to update 表skccrkckreceiptinfo with ID: {}", pd.get("id"));
+                return AjaxResult.error("新增失败");
+            }
+        } catch (Exception e) {
+            logger.error("Error occurred while updating 表skccrkckreceiptinfo with ID: {}, Exception: {}", pd.get("id"), e.getMessage(), e);
+            return AjaxResult.error("系统异常:" + e.getMessage());
+        }
+    }
+
+    /**
+    * 有奖推荐活动信息表 查询页面跳转
+    *
+    * @return
+    */
+    @RequiresPermissions("jkgl:jk:view")
+    @GetMapping("/sJkglGyhyYjtjActivityinfoView")
+    public String sjkglgyhyyjtjactivityinfoListView() {
+        return prefix + "/SJkglGyhyYjtjActivityinfoList";
+    }
+
+    /**
+    * 有奖推荐活动信息表 数据查询
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("jkgl:jk:sJkglGyhyYjtjActivityinfoList")
+    @PostMapping("/sJkglGyhyYjtjActivityinfoList")
+    @ResponseBody
+    public TableDataInfo sjkglgyhyyjtjactivityinfoList() throws Exception {
+    PageData pd = this.getPageData();
+    startPage();
+    List<PageData> pageData = sJkglGyhyYjtjActivityinfoService.findSJkglGyhyYjtjActivityinfoList(pd);
+        return getDataTable(pageData);
+    }
+
+    /**
+    * 有奖推荐活动信息表 数据删除 根据id
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("jkgl:jk:remove")
+    @Log(title = "有奖推荐活动信息表删除", businessType = BusinessType.DELETE)
+    @PostMapping("/sJkglGyhyYjtjActivityinfoRemove")
+    @ResponseBody
+    public AjaxResult sjkglgyhyyjtjactivityinfoRemove() throws Exception {
+        PageData pd = this.getPageData();
+        Integer integer = sJkglGyhyYjtjActivityinfoService.SJkglGyhyYjtjActivityinfoRemove(pd);
+        return toAjax(integer);
+    }
+
+    /**
+    * 有奖推荐活动信息表 数据修改
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("jkgl:jk:edit")
+    @GetMapping("/sJkglGyhyYjtjActivityinfoEdit/{id}")
+    public String sjkglgyhyyjtjactivityinfoView(@PathVariable("id") Long id, ModelMap mmap) throws Exception {
+        PageData pd = this.getPageData();
+        pd.put("id", id);
+        PageData pageData = sJkglGyhyYjtjActivityinfoService.findSJkglGyhyYjtjActivityinfoList(pd).get(0);
+        mmap.putAll(pageData);
+        if(null!=pd.getString("status")){
+            return prefix+ "/sjkglgyhyyjtjactivityinfoPageEdit";
+        }
+        return prefix+ "/sjkglgyhyyjtjactivityinfoEdit";
+    }
+
+    /**
+    * 有奖推荐活动信息表保存修改的数据
+    */
+    @RequiresPermissions("jkgl:jk:edit")
+    @Log(title = "有奖推荐活动信息表修改", businessType = BusinessType.UPDATE)
+    @PostMapping("/sJkglGyhyYjtjActivityinfoEdit")
+    @ResponseBody
+    public AjaxResult sjkglgyhyyjtjactivityinfoEditSave() throws Exception {
+        PageData pd = this.getPageData();
+        pd.put("up", "up");
+        try {
+            Integer updateResult = sJkglGyhyYjtjActivityinfoService.updateSJkglGyhyYjtjActivityinfo(pd);
+            if (updateResult == 1) {
+                // 成功更新
+                return AjaxResult.success("修改成功");
+            } else {
+                // 更新失败
+                logger.error("Failed to update 表sjkglgyhyyjtjactivityinfo with ID: {}", pd.get("id"));
+                return AjaxResult.error("修改失败");
+            }
+        } catch (Exception e) {
+            // 异常处理
+            logger.error("Error occurred while updating 表sjkglgyhyyjtjactivityinfo with ID: {}, Exception: {}", pd.get("id"), e.getMessage(), e);
+            return AjaxResult.error("系统异常:" + e.getMessage());
+        }
+    }
+}

+ 158 - 0
health-admin/src/main/java/com/bzd/web/controller/jkgl/SJkglMbglQyglBenefitinfoController.java

@@ -0,0 +1,158 @@
+package com.bzd.web.controller.jkgl;
+
+import com.bzd.common.annotation.Log;
+import com.bzd.common.config.dao.PageData;
+import com.bzd.common.core.controller.BaseController;
+import com.bzd.common.core.domain.AjaxResult;
+import com.bzd.common.core.page.TableDataInfo;
+import com.bzd.common.enums.BusinessType;
+import com.bzd.system.service.PharmaceuticalService;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.*;
+import com.bzd.system.service.jkgl.SJkglMbglQyglBenefitinfoService;
+
+import java.util.List;
+
+/**
+*
+* 慢病权益信息表 前端控制器Controller
+* @author LiXiangFei
+* @since 2024-10-15
+*/
+@Controller
+@RequestMapping(value = "jkgl/sjkglmbglqyglbenefitinfo")
+public class SJkglMbglQyglBenefitinfoController extends BaseController {
+
+    // 页面跳转前缀
+    private String prefix = "jkgl";
+
+    @Autowired
+    private SJkglMbglQyglBenefitinfoService sJkglMbglQyglBenefitinfoService;
+
+    /**
+    * 慢病权益信息表 新增页面跳转
+    *
+    * @return
+    */
+    @RequiresPermissions("jkgl:jk:view")
+    @GetMapping("/sJkglMbglQyglBenefitinfoAdd")
+    public String add() {
+        return prefix + "/SJkglMbglQyglBenefitinfoAdd";
+    }
+
+    /**
+    * 慢病权益信息表 新增
+    *
+    * @return
+    */
+    @Log(title = "慢病权益信息表新增", businessType = BusinessType.INSERT)
+    @PostMapping("/sJkglMbglQyglBenefitinfoAdd")
+    @ResponseBody
+    public AjaxResult addSave() throws Exception {
+        PageData pd = this.getPageData();
+        try {
+            Integer result = sJkglMbglQyglBenefitinfoService.addSJkglMbglQyglBenefitinfo(pd);
+            if (result == 1) {
+                return AjaxResult.success("新增成功");
+            } else {
+                logger.error("Failed to update 表skccrkckreceiptinfo with ID: {}", pd.get("id"));
+                return AjaxResult.error("新增失败");
+            }
+        } catch (Exception e) {
+            logger.error("Error occurred while updating 表skccrkckreceiptinfo with ID: {}, Exception: {}", pd.get("id"), e.getMessage(), e);
+            return AjaxResult.error("系统异常:" + e.getMessage());
+        }
+    }
+
+    /**
+    * 慢病权益信息表 查询页面跳转
+    *
+    * @return
+    */
+    @RequiresPermissions("jkgl:jk:view")
+    @GetMapping("/sJkglMbglQyglBenefitinfoView")
+    public String sjkglmbglqyglbenefitinfoListView() {
+        return prefix + "/SJkglMbglQyglBenefitinfoList";
+    }
+
+    /**
+    * 慢病权益信息表 数据查询
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("jkgl:jk:sJkglMbglQyglBenefitinfoList")
+    @PostMapping("/sJkglMbglQyglBenefitinfoList")
+    @ResponseBody
+    public TableDataInfo sjkglmbglqyglbenefitinfoList() throws Exception {
+    PageData pd = this.getPageData();
+    startPage();
+    List<PageData> pageData = sJkglMbglQyglBenefitinfoService.findSJkglMbglQyglBenefitinfoList(pd);
+        return getDataTable(pageData);
+    }
+
+    /**
+    * 慢病权益信息表 数据删除 根据id
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("jkgl:jk:remove")
+    @Log(title = "慢病权益信息表删除", businessType = BusinessType.DELETE)
+    @PostMapping("/sJkglMbglQyglBenefitinfoRemove")
+    @ResponseBody
+    public AjaxResult sjkglmbglqyglbenefitinfoRemove() throws Exception {
+        PageData pd = this.getPageData();
+        Integer integer = sJkglMbglQyglBenefitinfoService.SJkglMbglQyglBenefitinfoRemove(pd);
+        return toAjax(integer);
+    }
+
+    /**
+    * 慢病权益信息表 数据修改
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("jkgl:jk:edit")
+    @GetMapping("/sJkglMbglQyglBenefitinfoEdit/{id}")
+    public String sjkglmbglqyglbenefitinfoView(@PathVariable("id") Long id, ModelMap mmap) throws Exception {
+        PageData pd = this.getPageData();
+        pd.put("id", id);
+        PageData pageData = sJkglMbglQyglBenefitinfoService.findSJkglMbglQyglBenefitinfoList(pd).get(0);
+        mmap.putAll(pageData);
+        if(null!=pd.getString("status")){
+            return prefix+ "/sjkglmbglqyglbenefitinfoPageEdit";
+        }
+        return prefix+ "/sjkglmbglqyglbenefitinfoEdit";
+    }
+
+    /**
+    * 慢病权益信息表保存修改的数据
+    */
+    @RequiresPermissions("jkgl:jk:edit")
+    @Log(title = "慢病权益信息表修改", businessType = BusinessType.UPDATE)
+    @PostMapping("/sJkglMbglQyglBenefitinfoEdit")
+    @ResponseBody
+    public AjaxResult sjkglmbglqyglbenefitinfoEditSave() throws Exception {
+        PageData pd = this.getPageData();
+        pd.put("up", "up");
+        try {
+            Integer updateResult = sJkglMbglQyglBenefitinfoService.updateSJkglMbglQyglBenefitinfo(pd);
+            if (updateResult == 1) {
+                // 成功更新
+                return AjaxResult.success("修改成功");
+            } else {
+                // 更新失败
+                logger.error("Failed to update 表sjkglmbglqyglbenefitinfo with ID: {}", pd.get("id"));
+                return AjaxResult.error("修改失败");
+            }
+        } catch (Exception e) {
+            // 异常处理
+            logger.error("Error occurred while updating 表sjkglmbglqyglbenefitinfo with ID: {}, Exception: {}", pd.get("id"), e.getMessage(), e);
+            return AjaxResult.error("系统异常:" + e.getMessage());
+        }
+    }
+}

+ 158 - 0
health-admin/src/main/java/com/bzd/web/controller/jkgl/SJkglMxbZdyFieldconfigController.java

@@ -0,0 +1,158 @@
+package com.bzd.web.controller.jkgl;
+
+import com.bzd.common.annotation.Log;
+import com.bzd.common.config.dao.PageData;
+import com.bzd.common.core.controller.BaseController;
+import com.bzd.common.core.domain.AjaxResult;
+import com.bzd.common.core.page.TableDataInfo;
+import com.bzd.common.enums.BusinessType;
+import com.bzd.system.service.PharmaceuticalService;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.*;
+import com.bzd.system.service.jkgl.SJkglMxbZdyFieldconfigService;
+
+import java.util.List;
+
+/**
+*
+* 自定义数据采集配置 前端控制器Controller
+* @author LiXiangFei
+* @since 2024-10-15
+*/
+@Controller
+@RequestMapping(value = "jkgl/sjkglmxbzdyfieldconfig")
+public class SJkglMxbZdyFieldconfigController extends BaseController {
+
+    // 页面跳转前缀
+    private String prefix = "jkgl";
+
+    @Autowired
+    private SJkglMxbZdyFieldconfigService sJkglMxbZdyFieldconfigService;
+
+    /**
+    * 自定义数据采集配置 新增页面跳转
+    *
+    * @return
+    */
+    @RequiresPermissions("jkgl:jk:view")
+    @GetMapping("/sJkglMxbZdyFieldconfigAdd")
+    public String add() {
+        return prefix + "/SJkglMxbZdyFieldconfigAdd";
+    }
+
+    /**
+    * 自定义数据采集配置 新增
+    *
+    * @return
+    */
+    @Log(title = "自定义数据采集配置新增", businessType = BusinessType.INSERT)
+    @PostMapping("/sJkglMxbZdyFieldconfigAdd")
+    @ResponseBody
+    public AjaxResult addSave() throws Exception {
+        PageData pd = this.getPageData();
+        try {
+            Integer result = sJkglMxbZdyFieldconfigService.addSJkglMxbZdyFieldconfig(pd);
+            if (result == 1) {
+                return AjaxResult.success("新增成功");
+            } else {
+                logger.error("Failed to update 表skccrkckreceiptinfo with ID: {}", pd.get("id"));
+                return AjaxResult.error("新增失败");
+            }
+        } catch (Exception e) {
+            logger.error("Error occurred while updating 表skccrkckreceiptinfo with ID: {}, Exception: {}", pd.get("id"), e.getMessage(), e);
+            return AjaxResult.error("系统异常:" + e.getMessage());
+        }
+    }
+
+    /**
+    * 自定义数据采集配置 查询页面跳转
+    *
+    * @return
+    */
+    @RequiresPermissions("jkgl:jk:view")
+    @GetMapping("/sJkglMxbZdyFieldconfigView")
+    public String sjkglmxbzdyfieldconfigListView() {
+        return prefix + "/SJkglMxbZdyFieldconfigList";
+    }
+
+    /**
+    * 自定义数据采集配置 数据查询
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("jkgl:jk:sJkglMxbZdyFieldconfigList")
+    @PostMapping("/sJkglMxbZdyFieldconfigList")
+    @ResponseBody
+    public TableDataInfo sjkglmxbzdyfieldconfigList() throws Exception {
+    PageData pd = this.getPageData();
+    startPage();
+    List<PageData> pageData = sJkglMxbZdyFieldconfigService.findSJkglMxbZdyFieldconfigList(pd);
+        return getDataTable(pageData);
+    }
+
+    /**
+    * 自定义数据采集配置 数据删除 根据id
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("jkgl:jk:remove")
+    @Log(title = "自定义数据采集配置删除", businessType = BusinessType.DELETE)
+    @PostMapping("/sJkglMxbZdyFieldconfigRemove")
+    @ResponseBody
+    public AjaxResult sjkglmxbzdyfieldconfigRemove() throws Exception {
+        PageData pd = this.getPageData();
+        Integer integer = sJkglMxbZdyFieldconfigService.SJkglMxbZdyFieldconfigRemove(pd);
+        return toAjax(integer);
+    }
+
+    /**
+    * 自定义数据采集配置 数据修改
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("jkgl:jk:edit")
+    @GetMapping("/sJkglMxbZdyFieldconfigEdit/{id}")
+    public String sjkglmxbzdyfieldconfigView(@PathVariable("id") Long id, ModelMap mmap) throws Exception {
+        PageData pd = this.getPageData();
+        pd.put("id", id);
+        PageData pageData = sJkglMxbZdyFieldconfigService.findSJkglMxbZdyFieldconfigList(pd).get(0);
+        mmap.putAll(pageData);
+        if(null!=pd.getString("status")){
+            return prefix+ "/sjkglmxbzdyfieldconfigPageEdit";
+        }
+        return prefix+ "/sjkglmxbzdyfieldconfigEdit";
+    }
+
+    /**
+    * 自定义数据采集配置保存修改的数据
+    */
+    @RequiresPermissions("jkgl:jk:edit")
+    @Log(title = "自定义数据采集配置修改", businessType = BusinessType.UPDATE)
+    @PostMapping("/sJkglMxbZdyFieldconfigEdit")
+    @ResponseBody
+    public AjaxResult sjkglmxbzdyfieldconfigEditSave() throws Exception {
+        PageData pd = this.getPageData();
+        pd.put("up", "up");
+        try {
+            Integer updateResult = sJkglMxbZdyFieldconfigService.updateSJkglMxbZdyFieldconfig(pd);
+            if (updateResult == 1) {
+                // 成功更新
+                return AjaxResult.success("修改成功");
+            } else {
+                // 更新失败
+                logger.error("Failed to update 表sjkglmxbzdyfieldconfig with ID: {}", pd.get("id"));
+                return AjaxResult.error("修改失败");
+            }
+        } catch (Exception e) {
+            // 异常处理
+            logger.error("Error occurred while updating 表sjkglmxbzdyfieldconfig with ID: {}, Exception: {}", pd.get("id"), e.getMessage(), e);
+            return AjaxResult.error("系统异常:" + e.getMessage());
+        }
+    }
+}

+ 158 - 0
health-admin/src/main/java/com/bzd/web/controller/jkgl/SJkglRegistrationinfoController.java

@@ -0,0 +1,158 @@
+package com.bzd.web.controller.jkgl;
+
+import com.bzd.common.annotation.Log;
+import com.bzd.common.config.dao.PageData;
+import com.bzd.common.core.controller.BaseController;
+import com.bzd.common.core.domain.AjaxResult;
+import com.bzd.common.core.page.TableDataInfo;
+import com.bzd.common.enums.BusinessType;
+import com.bzd.system.service.PharmaceuticalService;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.*;
+import com.bzd.system.service.jkgl.SJkglRegistrationinfoService;
+
+import java.util.List;
+
+/**
+*
+* 购药信息收集 前端控制器Controller
+* @author LiXiangFei
+* @since 2024-10-15
+*/
+@Controller
+@RequestMapping(value = "jkgl/sjkglregistrationinfo")
+public class SJkglRegistrationinfoController extends BaseController {
+
+    // 页面跳转前缀
+    private String prefix = "jkgl";
+
+    @Autowired
+    private SJkglRegistrationinfoService sJkglRegistrationinfoService;
+
+    /**
+    * 购药信息收集 新增页面跳转
+    *
+    * @return
+    */
+    @RequiresPermissions("jkgl:jk:view")
+    @GetMapping("/sJkglRegistrationinfoAdd")
+    public String add() {
+        return prefix + "/SJkglRegistrationinfoAdd";
+    }
+
+    /**
+    * 购药信息收集 新增
+    *
+    * @return
+    */
+    @Log(title = "购药信息收集新增", businessType = BusinessType.INSERT)
+    @PostMapping("/sJkglRegistrationinfoAdd")
+    @ResponseBody
+    public AjaxResult addSave() throws Exception {
+        PageData pd = this.getPageData();
+        try {
+            Integer result = sJkglRegistrationinfoService.addSJkglRegistrationinfo(pd);
+            if (result == 1) {
+                return AjaxResult.success("新增成功");
+            } else {
+                logger.error("Failed to update 表skccrkckreceiptinfo with ID: {}", pd.get("id"));
+                return AjaxResult.error("新增失败");
+            }
+        } catch (Exception e) {
+            logger.error("Error occurred while updating 表skccrkckreceiptinfo with ID: {}, Exception: {}", pd.get("id"), e.getMessage(), e);
+            return AjaxResult.error("系统异常:" + e.getMessage());
+        }
+    }
+
+    /**
+    * 购药信息收集 查询页面跳转
+    *
+    * @return
+    */
+    @RequiresPermissions("jkgl:jk:view")
+    @GetMapping("/sJkglRegistrationinfoView")
+    public String sjkglregistrationinfoListView() {
+        return prefix + "/SJkglRegistrationinfoList";
+    }
+
+    /**
+    * 购药信息收集 数据查询
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("jkgl:jk:sJkglRegistrationinfoList")
+    @PostMapping("/sJkglRegistrationinfoList")
+    @ResponseBody
+    public TableDataInfo sjkglregistrationinfoList() throws Exception {
+    PageData pd = this.getPageData();
+    startPage();
+    List<PageData> pageData = sJkglRegistrationinfoService.findSJkglRegistrationinfoList(pd);
+        return getDataTable(pageData);
+    }
+
+    /**
+    * 购药信息收集 数据删除 根据id
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("jkgl:jk:remove")
+    @Log(title = "购药信息收集删除", businessType = BusinessType.DELETE)
+    @PostMapping("/sJkglRegistrationinfoRemove")
+    @ResponseBody
+    public AjaxResult sjkglregistrationinfoRemove() throws Exception {
+        PageData pd = this.getPageData();
+        Integer integer = sJkglRegistrationinfoService.SJkglRegistrationinfoRemove(pd);
+        return toAjax(integer);
+    }
+
+    /**
+    * 购药信息收集 数据修改
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("jkgl:jk:edit")
+    @GetMapping("/sJkglRegistrationinfoEdit/{id}")
+    public String sjkglregistrationinfoView(@PathVariable("id") Long id, ModelMap mmap) throws Exception {
+        PageData pd = this.getPageData();
+        pd.put("id", id);
+        PageData pageData = sJkglRegistrationinfoService.findSJkglRegistrationinfoList(pd).get(0);
+        mmap.putAll(pageData);
+        if(null!=pd.getString("status")){
+            return prefix+ "/sjkglregistrationinfoPageEdit";
+        }
+        return prefix+ "/sjkglregistrationinfoEdit";
+    }
+
+    /**
+    * 购药信息收集保存修改的数据
+    */
+    @RequiresPermissions("jkgl:jk:edit")
+    @Log(title = "购药信息收集修改", businessType = BusinessType.UPDATE)
+    @PostMapping("/sJkglRegistrationinfoEdit")
+    @ResponseBody
+    public AjaxResult sjkglregistrationinfoEditSave() throws Exception {
+        PageData pd = this.getPageData();
+        pd.put("up", "up");
+        try {
+            Integer updateResult = sJkglRegistrationinfoService.updateSJkglRegistrationinfo(pd);
+            if (updateResult == 1) {
+                // 成功更新
+                return AjaxResult.success("修改成功");
+            } else {
+                // 更新失败
+                logger.error("Failed to update 表sjkglregistrationinfo with ID: {}", pd.get("id"));
+                return AjaxResult.error("修改失败");
+            }
+        } catch (Exception e) {
+            // 异常处理
+            logger.error("Error occurred while updating 表sjkglregistrationinfo with ID: {}, Exception: {}", pd.get("id"), e.getMessage(), e);
+            return AjaxResult.error("系统异常:" + e.getMessage());
+        }
+    }
+}

+ 158 - 0
health-admin/src/main/java/com/bzd/web/controller/jkgl/SJkglYpwxServiceprojectinfoController.java

@@ -0,0 +1,158 @@
+package com.bzd.web.controller.jkgl;
+
+import com.bzd.common.annotation.Log;
+import com.bzd.common.config.dao.PageData;
+import com.bzd.common.core.controller.BaseController;
+import com.bzd.common.core.domain.AjaxResult;
+import com.bzd.common.core.page.TableDataInfo;
+import com.bzd.common.enums.BusinessType;
+import com.bzd.system.service.PharmaceuticalService;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.*;
+import com.bzd.system.service.jkgl.SJkglYpwxServiceprojectinfoService;
+
+import java.util.List;
+
+/**
+*
+* 药品维系服务 前端控制器Controller
+* @author LiXiangFei
+* @since 2024-10-15
+*/
+@Controller
+@RequestMapping(value = "jkgl/sjkglypwxserviceprojectinfo")
+public class SJkglYpwxServiceprojectinfoController extends BaseController {
+
+    // 页面跳转前缀
+    private String prefix = "jkgl";
+
+    @Autowired
+    private SJkglYpwxServiceprojectinfoService sJkglYpwxServiceprojectinfoService;
+
+    /**
+    * 药品维系服务 新增页面跳转
+    *
+    * @return
+    */
+    @RequiresPermissions("jkgl:jk:view")
+    @GetMapping("/sJkglYpwxServiceprojectinfoAdd")
+    public String add() {
+        return prefix + "/SJkglYpwxServiceprojectinfoAdd";
+    }
+
+    /**
+    * 药品维系服务 新增
+    *
+    * @return
+    */
+    @Log(title = "药品维系服务新增", businessType = BusinessType.INSERT)
+    @PostMapping("/sJkglYpwxServiceprojectinfoAdd")
+    @ResponseBody
+    public AjaxResult addSave() throws Exception {
+        PageData pd = this.getPageData();
+        try {
+            Integer result = sJkglYpwxServiceprojectinfoService.addSJkglYpwxServiceprojectinfo(pd);
+            if (result == 1) {
+                return AjaxResult.success("新增成功");
+            } else {
+                logger.error("Failed to update 表skccrkckreceiptinfo with ID: {}", pd.get("id"));
+                return AjaxResult.error("新增失败");
+            }
+        } catch (Exception e) {
+            logger.error("Error occurred while updating 表skccrkckreceiptinfo with ID: {}, Exception: {}", pd.get("id"), e.getMessage(), e);
+            return AjaxResult.error("系统异常:" + e.getMessage());
+        }
+    }
+
+    /**
+    * 药品维系服务 查询页面跳转
+    *
+    * @return
+    */
+    @RequiresPermissions("jkgl:jk:view")
+    @GetMapping("/sJkglYpwxServiceprojectinfoView")
+    public String sjkglypwxserviceprojectinfoListView() {
+        return prefix + "/SJkglYpwxServiceprojectinfoList";
+    }
+
+    /**
+    * 药品维系服务 数据查询
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("jkgl:jk:sJkglYpwxServiceprojectinfoList")
+    @PostMapping("/sJkglYpwxServiceprojectinfoList")
+    @ResponseBody
+    public TableDataInfo sjkglypwxserviceprojectinfoList() throws Exception {
+    PageData pd = this.getPageData();
+    startPage();
+    List<PageData> pageData = sJkglYpwxServiceprojectinfoService.findSJkglYpwxServiceprojectinfoList(pd);
+        return getDataTable(pageData);
+    }
+
+    /**
+    * 药品维系服务 数据删除 根据id
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("jkgl:jk:remove")
+    @Log(title = "药品维系服务删除", businessType = BusinessType.DELETE)
+    @PostMapping("/sJkglYpwxServiceprojectinfoRemove")
+    @ResponseBody
+    public AjaxResult sjkglypwxserviceprojectinfoRemove() throws Exception {
+        PageData pd = this.getPageData();
+        Integer integer = sJkglYpwxServiceprojectinfoService.SJkglYpwxServiceprojectinfoRemove(pd);
+        return toAjax(integer);
+    }
+
+    /**
+    * 药品维系服务 数据修改
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("jkgl:jk:edit")
+    @GetMapping("/sJkglYpwxServiceprojectinfoEdit/{id}")
+    public String sjkglypwxserviceprojectinfoView(@PathVariable("id") Long id, ModelMap mmap) throws Exception {
+        PageData pd = this.getPageData();
+        pd.put("id", id);
+        PageData pageData = sJkglYpwxServiceprojectinfoService.findSJkglYpwxServiceprojectinfoList(pd).get(0);
+        mmap.putAll(pageData);
+        if(null!=pd.getString("status")){
+            return prefix+ "/sjkglypwxserviceprojectinfoPageEdit";
+        }
+        return prefix+ "/sjkglypwxserviceprojectinfoEdit";
+    }
+
+    /**
+    * 药品维系服务保存修改的数据
+    */
+    @RequiresPermissions("jkgl:jk:edit")
+    @Log(title = "药品维系服务修改", businessType = BusinessType.UPDATE)
+    @PostMapping("/sJkglYpwxServiceprojectinfoEdit")
+    @ResponseBody
+    public AjaxResult sjkglypwxserviceprojectinfoEditSave() throws Exception {
+        PageData pd = this.getPageData();
+        pd.put("up", "up");
+        try {
+            Integer updateResult = sJkglYpwxServiceprojectinfoService.updateSJkglYpwxServiceprojectinfo(pd);
+            if (updateResult == 1) {
+                // 成功更新
+                return AjaxResult.success("修改成功");
+            } else {
+                // 更新失败
+                logger.error("Failed to update 表sjkglypwxserviceprojectinfo with ID: {}", pd.get("id"));
+                return AjaxResult.error("修改失败");
+            }
+        } catch (Exception e) {
+            // 异常处理
+            logger.error("Error occurred while updating 表sjkglypwxserviceprojectinfo with ID: {}, Exception: {}", pd.get("id"), e.getMessage(), e);
+            return AjaxResult.error("系统异常:" + e.getMessage());
+        }
+    }
+}

+ 158 - 0
health-admin/src/main/java/com/bzd/web/controller/spgl/SSpglJfspProductinfoController.java

@@ -0,0 +1,158 @@
+package com.bzd.web.controller.spgl;
+
+import com.bzd.common.annotation.Log;
+import com.bzd.common.config.dao.PageData;
+import com.bzd.common.core.controller.BaseController;
+import com.bzd.common.core.domain.AjaxResult;
+import com.bzd.common.core.page.TableDataInfo;
+import com.bzd.common.enums.BusinessType;
+import com.bzd.system.service.PharmaceuticalService;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.*;
+import com.bzd.system.service.spgl.SSpglJfspProductinfoService;
+
+import java.util.List;
+
+/**
+*
+* 门店积分商品列表 前端控制器Controller
+* @author LiXiangFei
+* @since 2024-10-15
+*/
+@Controller
+@RequestMapping(value = "spgl/sspgljfspproductinfo")
+public class SSpglJfspProductinfoController extends BaseController {
+
+    // 页面跳转前缀
+    private String prefix = "spgl";
+
+    @Autowired
+    private SSpglJfspProductinfoService sSpglJfspProductinfoService;
+
+    /**
+    * 门店积分商品列表 新增页面跳转
+    *
+    * @return
+    */
+    @RequiresPermissions("spgl:sp:view")
+    @GetMapping("/sSpglJfspProductinfoAdd")
+    public String add() {
+        return prefix + "/SSpglJfspProductinfoAdd";
+    }
+
+    /**
+    * 门店积分商品列表 新增
+    *
+    * @return
+    */
+    @Log(title = "门店积分商品列表新增", businessType = BusinessType.INSERT)
+    @PostMapping("/sSpglJfspProductinfoAdd")
+    @ResponseBody
+    public AjaxResult addSave() throws Exception {
+        PageData pd = this.getPageData();
+        try {
+            Integer result = sSpglJfspProductinfoService.addSSpglJfspProductinfo(pd);
+            if (result == 1) {
+                return AjaxResult.success("新增成功");
+            } else {
+                logger.error("Failed to update 表skccrkckreceiptinfo with ID: {}", pd.get("id"));
+                return AjaxResult.error("新增失败");
+            }
+        } catch (Exception e) {
+            logger.error("Error occurred while updating 表skccrkckreceiptinfo with ID: {}, Exception: {}", pd.get("id"), e.getMessage(), e);
+            return AjaxResult.error("系统异常:" + e.getMessage());
+        }
+    }
+
+    /**
+    * 门店积分商品列表 查询页面跳转
+    *
+    * @return
+    */
+    @RequiresPermissions("spgl:sp:view")
+    @GetMapping("/sSpglJfspProductinfoView")
+    public String sspgljfspproductinfoListView() {
+        return prefix + "/SSpglJfspProductinfoList";
+    }
+
+    /**
+    * 门店积分商品列表 数据查询
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("spgl:sp:sSpglJfspProductinfoList")
+    @PostMapping("/sSpglJfspProductinfoList")
+    @ResponseBody
+    public TableDataInfo sspgljfspproductinfoList() throws Exception {
+    PageData pd = this.getPageData();
+    startPage();
+    List<PageData> pageData = sSpglJfspProductinfoService.findSSpglJfspProductinfoList(pd);
+        return getDataTable(pageData);
+    }
+
+    /**
+    * 门店积分商品列表 数据删除 根据id
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("spgl:sp:remove")
+    @Log(title = "门店积分商品列表删除", businessType = BusinessType.DELETE)
+    @PostMapping("/sSpglJfspProductinfoRemove")
+    @ResponseBody
+    public AjaxResult sspgljfspproductinfoRemove() throws Exception {
+        PageData pd = this.getPageData();
+        Integer integer = sSpglJfspProductinfoService.SSpglJfspProductinfoRemove(pd);
+        return toAjax(integer);
+    }
+
+    /**
+    * 门店积分商品列表 数据修改
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("spgl:sp:edit")
+    @GetMapping("/sSpglJfspProductinfoEdit/{id}")
+    public String sspgljfspproductinfoView(@PathVariable("id") Long id, ModelMap mmap) throws Exception {
+        PageData pd = this.getPageData();
+        pd.put("id", id);
+        PageData pageData = sSpglJfspProductinfoService.findSSpglJfspProductinfoList(pd).get(0);
+        mmap.putAll(pageData);
+        if(null!=pd.getString("status")){
+            return prefix+ "/sspgljfspproductinfoPageEdit";
+        }
+        return prefix+ "/sspgljfspproductinfoEdit";
+    }
+
+    /**
+    * 门店积分商品列表保存修改的数据
+    */
+    @RequiresPermissions("spgl:sp:edit")
+    @Log(title = "门店积分商品列表修改", businessType = BusinessType.UPDATE)
+    @PostMapping("/sSpglJfspProductinfoEdit")
+    @ResponseBody
+    public AjaxResult sspgljfspproductinfoEditSave() throws Exception {
+        PageData pd = this.getPageData();
+        pd.put("up", "up");
+        try {
+            Integer updateResult = sSpglJfspProductinfoService.updateSSpglJfspProductinfo(pd);
+            if (updateResult == 1) {
+                // 成功更新
+                return AjaxResult.success("修改成功");
+            } else {
+                // 更新失败
+                logger.error("Failed to update 表sspgljfspproductinfo with ID: {}", pd.get("id"));
+                return AjaxResult.error("修改失败");
+            }
+        } catch (Exception e) {
+            // 异常处理
+            logger.error("Error occurred while updating 表sspgljfspproductinfo with ID: {}, Exception: {}", pd.get("id"), e.getMessage(), e);
+            return AjaxResult.error("系统异常:" + e.getMessage());
+        }
+    }
+}

+ 158 - 0
health-admin/src/main/java/com/bzd/web/controller/spgl/SSpglMdjymlStoreproductinfoController.java

@@ -0,0 +1,158 @@
+package com.bzd.web.controller.spgl;
+
+import com.bzd.common.annotation.Log;
+import com.bzd.common.config.dao.PageData;
+import com.bzd.common.core.controller.BaseController;
+import com.bzd.common.core.domain.AjaxResult;
+import com.bzd.common.core.page.TableDataInfo;
+import com.bzd.common.enums.BusinessType;
+import com.bzd.system.service.PharmaceuticalService;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.*;
+import com.bzd.system.service.spgl.SSpglMdjymlStoreproductinfoService;
+
+import java.util.List;
+
+/**
+*
+* 门店经营目录 前端控制器Controller
+* @author LiXiangFei
+* @since 2024-10-15
+*/
+@Controller
+@RequestMapping(value = "spgl/sspglmdjymlstoreproductinfo")
+public class SSpglMdjymlStoreproductinfoController extends BaseController {
+
+    // 页面跳转前缀
+    private String prefix = "spgl";
+
+    @Autowired
+    private SSpglMdjymlStoreproductinfoService sSpglMdjymlStoreproductinfoService;
+
+    /**
+    * 门店经营目录 新增页面跳转
+    *
+    * @return
+    */
+    @RequiresPermissions("spgl:sp:view")
+    @GetMapping("/sSpglMdjymlStoreproductinfoAdd")
+    public String add() {
+        return prefix + "/SSpglMdjymlStoreproductinfoAdd";
+    }
+
+    /**
+    * 门店经营目录 新增
+    *
+    * @return
+    */
+    @Log(title = "门店经营目录新增", businessType = BusinessType.INSERT)
+    @PostMapping("/sSpglMdjymlStoreproductinfoAdd")
+    @ResponseBody
+    public AjaxResult addSave() throws Exception {
+        PageData pd = this.getPageData();
+        try {
+            Integer result = sSpglMdjymlStoreproductinfoService.addSSpglMdjymlStoreproductinfo(pd);
+            if (result == 1) {
+                return AjaxResult.success("新增成功");
+            } else {
+                logger.error("Failed to update 表skccrkckreceiptinfo with ID: {}", pd.get("id"));
+                return AjaxResult.error("新增失败");
+            }
+        } catch (Exception e) {
+            logger.error("Error occurred while updating 表skccrkckreceiptinfo with ID: {}, Exception: {}", pd.get("id"), e.getMessage(), e);
+            return AjaxResult.error("系统异常:" + e.getMessage());
+        }
+    }
+
+    /**
+    * 门店经营目录 查询页面跳转
+    *
+    * @return
+    */
+    @RequiresPermissions("spgl:sp:view")
+    @GetMapping("/sSpglMdjymlStoreproductinfoView")
+    public String sspglmdjymlstoreproductinfoListView() {
+        return prefix + "/SSpglMdjymlStoreproductinfoList";
+    }
+
+    /**
+    * 门店经营目录 数据查询
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("spgl:sp:sSpglMdjymlStoreproductinfoList")
+    @PostMapping("/sSpglMdjymlStoreproductinfoList")
+    @ResponseBody
+    public TableDataInfo sspglmdjymlstoreproductinfoList() throws Exception {
+    PageData pd = this.getPageData();
+    startPage();
+    List<PageData> pageData = sSpglMdjymlStoreproductinfoService.findSSpglMdjymlStoreproductinfoList(pd);
+        return getDataTable(pageData);
+    }
+
+    /**
+    * 门店经营目录 数据删除 根据id
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("spgl:sp:remove")
+    @Log(title = "门店经营目录删除", businessType = BusinessType.DELETE)
+    @PostMapping("/sSpglMdjymlStoreproductinfoRemove")
+    @ResponseBody
+    public AjaxResult sspglmdjymlstoreproductinfoRemove() throws Exception {
+        PageData pd = this.getPageData();
+        Integer integer = sSpglMdjymlStoreproductinfoService.SSpglMdjymlStoreproductinfoRemove(pd);
+        return toAjax(integer);
+    }
+
+    /**
+    * 门店经营目录 数据修改
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("spgl:sp:edit")
+    @GetMapping("/sSpglMdjymlStoreproductinfoEdit/{id}")
+    public String sspglmdjymlstoreproductinfoView(@PathVariable("id") Long id, ModelMap mmap) throws Exception {
+        PageData pd = this.getPageData();
+        pd.put("id", id);
+        PageData pageData = sSpglMdjymlStoreproductinfoService.findSSpglMdjymlStoreproductinfoList(pd).get(0);
+        mmap.putAll(pageData);
+        if(null!=pd.getString("status")){
+            return prefix+ "/sspglmdjymlstoreproductinfoPageEdit";
+        }
+        return prefix+ "/sspglmdjymlstoreproductinfoEdit";
+    }
+
+    /**
+    * 门店经营目录保存修改的数据
+    */
+    @RequiresPermissions("spgl:sp:edit")
+    @Log(title = "门店经营目录修改", businessType = BusinessType.UPDATE)
+    @PostMapping("/sSpglMdjymlStoreproductinfoEdit")
+    @ResponseBody
+    public AjaxResult sspglmdjymlstoreproductinfoEditSave() throws Exception {
+        PageData pd = this.getPageData();
+        pd.put("up", "up");
+        try {
+            Integer updateResult = sSpglMdjymlStoreproductinfoService.updateSSpglMdjymlStoreproductinfo(pd);
+            if (updateResult == 1) {
+                // 成功更新
+                return AjaxResult.success("修改成功");
+            } else {
+                // 更新失败
+                logger.error("Failed to update 表sspglmdjymlstoreproductinfo with ID: {}", pd.get("id"));
+                return AjaxResult.error("修改失败");
+            }
+        } catch (Exception e) {
+            // 异常处理
+            logger.error("Error occurred while updating 表sspglmdjymlstoreproductinfo with ID: {}, Exception: {}", pd.get("id"), e.getMessage(), e);
+            return AjaxResult.error("系统异常:" + e.getMessage());
+        }
+    }
+}

+ 158 - 0
health-admin/src/main/java/com/bzd/web/controller/spgl/SSpglMdspStoreproductdetailsController.java

@@ -0,0 +1,158 @@
+package com.bzd.web.controller.spgl;
+
+import com.bzd.common.annotation.Log;
+import com.bzd.common.config.dao.PageData;
+import com.bzd.common.core.controller.BaseController;
+import com.bzd.common.core.domain.AjaxResult;
+import com.bzd.common.core.page.TableDataInfo;
+import com.bzd.common.enums.BusinessType;
+import com.bzd.system.service.PharmaceuticalService;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.*;
+import com.bzd.system.service.spgl.SSpglMdspStoreproductdetailsService;
+
+import java.util.List;
+
+/**
+*
+* 门店商品查询表 前端控制器Controller
+* @author LiXiangFei
+* @since 2024-10-15
+*/
+@Controller
+@RequestMapping(value = "spgl/sspglmdspstoreproductdetails")
+public class SSpglMdspStoreproductdetailsController extends BaseController {
+
+    // 页面跳转前缀
+    private String prefix = "spgl";
+
+    @Autowired
+    private SSpglMdspStoreproductdetailsService sSpglMdspStoreproductdetailsService;
+
+    /**
+    * 门店商品查询表 新增页面跳转
+    *
+    * @return
+    */
+    @RequiresPermissions("spgl:sp:view")
+    @GetMapping("/sSpglMdspStoreproductdetailsAdd")
+    public String add() {
+        return prefix + "/SSpglMdspStoreproductdetailsAdd";
+    }
+
+    /**
+    * 门店商品查询表 新增
+    *
+    * @return
+    */
+    @Log(title = "门店商品查询表新增", businessType = BusinessType.INSERT)
+    @PostMapping("/sSpglMdspStoreproductdetailsAdd")
+    @ResponseBody
+    public AjaxResult addSave() throws Exception {
+        PageData pd = this.getPageData();
+        try {
+            Integer result = sSpglMdspStoreproductdetailsService.addSSpglMdspStoreproductdetails(pd);
+            if (result == 1) {
+                return AjaxResult.success("新增成功");
+            } else {
+                logger.error("Failed to update 表skccrkckreceiptinfo with ID: {}", pd.get("id"));
+                return AjaxResult.error("新增失败");
+            }
+        } catch (Exception e) {
+            logger.error("Error occurred while updating 表skccrkckreceiptinfo with ID: {}, Exception: {}", pd.get("id"), e.getMessage(), e);
+            return AjaxResult.error("系统异常:" + e.getMessage());
+        }
+    }
+
+    /**
+    * 门店商品查询表 查询页面跳转
+    *
+    * @return
+    */
+    @RequiresPermissions("spgl:sp:view")
+    @GetMapping("/sSpglMdspStoreproductdetailsView")
+    public String sspglmdspstoreproductdetailsListView() {
+        return prefix + "/SSpglMdspStoreproductdetailsList";
+    }
+
+    /**
+    * 门店商品查询表 数据查询
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("spgl:sp:sSpglMdspStoreproductdetailsList")
+    @PostMapping("/sSpglMdspStoreproductdetailsList")
+    @ResponseBody
+    public TableDataInfo sspglmdspstoreproductdetailsList() throws Exception {
+    PageData pd = this.getPageData();
+    startPage();
+    List<PageData> pageData = sSpglMdspStoreproductdetailsService.findSSpglMdspStoreproductdetailsList(pd);
+        return getDataTable(pageData);
+    }
+
+    /**
+    * 门店商品查询表 数据删除 根据id
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("spgl:sp:remove")
+    @Log(title = "门店商品查询表删除", businessType = BusinessType.DELETE)
+    @PostMapping("/sSpglMdspStoreproductdetailsRemove")
+    @ResponseBody
+    public AjaxResult sspglmdspstoreproductdetailsRemove() throws Exception {
+        PageData pd = this.getPageData();
+        Integer integer = sSpglMdspStoreproductdetailsService.SSpglMdspStoreproductdetailsRemove(pd);
+        return toAjax(integer);
+    }
+
+    /**
+    * 门店商品查询表 数据修改
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("spgl:sp:edit")
+    @GetMapping("/sSpglMdspStoreproductdetailsEdit/{id}")
+    public String sspglmdspstoreproductdetailsView(@PathVariable("id") Long id, ModelMap mmap) throws Exception {
+        PageData pd = this.getPageData();
+        pd.put("id", id);
+        PageData pageData = sSpglMdspStoreproductdetailsService.findSSpglMdspStoreproductdetailsList(pd).get(0);
+        mmap.putAll(pageData);
+        if(null!=pd.getString("status")){
+            return prefix+ "/sspglmdspstoreproductdetailsPageEdit";
+        }
+        return prefix+ "/sspglmdspstoreproductdetailsEdit";
+    }
+
+    /**
+    * 门店商品查询表保存修改的数据
+    */
+    @RequiresPermissions("spgl:sp:edit")
+    @Log(title = "门店商品查询表修改", businessType = BusinessType.UPDATE)
+    @PostMapping("/sSpglMdspStoreproductdetailsEdit")
+    @ResponseBody
+    public AjaxResult sspglmdspstoreproductdetailsEditSave() throws Exception {
+        PageData pd = this.getPageData();
+        pd.put("up", "up");
+        try {
+            Integer updateResult = sSpglMdspStoreproductdetailsService.updateSSpglMdspStoreproductdetails(pd);
+            if (updateResult == 1) {
+                // 成功更新
+                return AjaxResult.success("修改成功");
+            } else {
+                // 更新失败
+                logger.error("Failed to update 表sspglmdspstoreproductdetails with ID: {}", pd.get("id"));
+                return AjaxResult.error("修改失败");
+            }
+        } catch (Exception e) {
+            // 异常处理
+            logger.error("Error occurred while updating 表sspglmdspstoreproductdetails with ID: {}, Exception: {}", pd.get("id"), e.getMessage(), e);
+            return AjaxResult.error("系统异常:" + e.getMessage());
+        }
+    }
+}

+ 158 - 0
health-admin/src/main/java/com/bzd/web/controller/spgl/SSpglProductattributesController.java

@@ -0,0 +1,158 @@
+package com.bzd.web.controller.spgl;
+
+import com.bzd.common.annotation.Log;
+import com.bzd.common.config.dao.PageData;
+import com.bzd.common.core.controller.BaseController;
+import com.bzd.common.core.domain.AjaxResult;
+import com.bzd.common.core.page.TableDataInfo;
+import com.bzd.common.enums.BusinessType;
+import com.bzd.system.service.PharmaceuticalService;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.*;
+import com.bzd.system.service.spgl.SSpglProductattributesService;
+
+import java.util.List;
+
+/**
+*
+* 租赁商品管理 前端控制器Controller
+* @author LiXiangFei
+* @since 2024-10-15
+*/
+@Controller
+@RequestMapping(value = "spgl/sspglproductattributes")
+public class SSpglProductattributesController extends BaseController {
+
+    // 页面跳转前缀
+    private String prefix = "spgl";
+
+    @Autowired
+    private SSpglProductattributesService sSpglProductattributesService;
+
+    /**
+    * 租赁商品管理 新增页面跳转
+    *
+    * @return
+    */
+    @RequiresPermissions("spgl:sp:view")
+    @GetMapping("/sSpglProductattributesAdd")
+    public String add() {
+        return prefix + "/SSpglProductattributesAdd";
+    }
+
+    /**
+    * 租赁商品管理 新增
+    *
+    * @return
+    */
+    @Log(title = "租赁商品管理新增", businessType = BusinessType.INSERT)
+    @PostMapping("/sSpglProductattributesAdd")
+    @ResponseBody
+    public AjaxResult addSave() throws Exception {
+        PageData pd = this.getPageData();
+        try {
+            Integer result = sSpglProductattributesService.addSSpglProductattributes(pd);
+            if (result == 1) {
+                return AjaxResult.success("新增成功");
+            } else {
+                logger.error("Failed to update 表skccrkckreceiptinfo with ID: {}", pd.get("id"));
+                return AjaxResult.error("新增失败");
+            }
+        } catch (Exception e) {
+            logger.error("Error occurred while updating 表skccrkckreceiptinfo with ID: {}, Exception: {}", pd.get("id"), e.getMessage(), e);
+            return AjaxResult.error("系统异常:" + e.getMessage());
+        }
+    }
+
+    /**
+    * 租赁商品管理 查询页面跳转
+    *
+    * @return
+    */
+    @RequiresPermissions("spgl:sp:view")
+    @GetMapping("/sSpglProductattributesView")
+    public String sspglproductattributesListView() {
+        return prefix + "/SSpglProductattributesList";
+    }
+
+    /**
+    * 租赁商品管理 数据查询
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("spgl:sp:sSpglProductattributesList")
+    @PostMapping("/sSpglProductattributesList")
+    @ResponseBody
+    public TableDataInfo sspglproductattributesList() throws Exception {
+    PageData pd = this.getPageData();
+    startPage();
+    List<PageData> pageData = sSpglProductattributesService.findSSpglProductattributesList(pd);
+        return getDataTable(pageData);
+    }
+
+    /**
+    * 租赁商品管理 数据删除 根据id
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("spgl:sp:remove")
+    @Log(title = "租赁商品管理删除", businessType = BusinessType.DELETE)
+    @PostMapping("/sSpglProductattributesRemove")
+    @ResponseBody
+    public AjaxResult sspglproductattributesRemove() throws Exception {
+        PageData pd = this.getPageData();
+        Integer integer = sSpglProductattributesService.SSpglProductattributesRemove(pd);
+        return toAjax(integer);
+    }
+
+    /**
+    * 租赁商品管理 数据修改
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("spgl:sp:edit")
+    @GetMapping("/sSpglProductattributesEdit/{id}")
+    public String sspglproductattributesView(@PathVariable("id") Long id, ModelMap mmap) throws Exception {
+        PageData pd = this.getPageData();
+        pd.put("id", id);
+        PageData pageData = sSpglProductattributesService.findSSpglProductattributesList(pd).get(0);
+        mmap.putAll(pageData);
+        if(null!=pd.getString("status")){
+            return prefix+ "/sspglproductattributesPageEdit";
+        }
+        return prefix+ "/sspglproductattributesEdit";
+    }
+
+    /**
+    * 租赁商品管理保存修改的数据
+    */
+    @RequiresPermissions("spgl:sp:edit")
+    @Log(title = "租赁商品管理修改", businessType = BusinessType.UPDATE)
+    @PostMapping("/sSpglProductattributesEdit")
+    @ResponseBody
+    public AjaxResult sspglproductattributesEditSave() throws Exception {
+        PageData pd = this.getPageData();
+        pd.put("up", "up");
+        try {
+            Integer updateResult = sSpglProductattributesService.updateSSpglProductattributes(pd);
+            if (updateResult == 1) {
+                // 成功更新
+                return AjaxResult.success("修改成功");
+            } else {
+                // 更新失败
+                logger.error("Failed to update 表sspglproductattributes with ID: {}", pd.get("id"));
+                return AjaxResult.error("修改失败");
+            }
+        } catch (Exception e) {
+            // 异常处理
+            logger.error("Error occurred while updating 表sspglproductattributes with ID: {}, Exception: {}", pd.get("id"), e.getMessage(), e);
+            return AjaxResult.error("系统异常:" + e.getMessage());
+        }
+    }
+}

+ 158 - 0
health-admin/src/main/java/com/bzd/web/controller/spgl/SSpglProductdetailsController.java

@@ -0,0 +1,158 @@
+package com.bzd.web.controller.spgl;
+
+import com.bzd.common.annotation.Log;
+import com.bzd.common.config.dao.PageData;
+import com.bzd.common.core.controller.BaseController;
+import com.bzd.common.core.domain.AjaxResult;
+import com.bzd.common.core.page.TableDataInfo;
+import com.bzd.common.enums.BusinessType;
+import com.bzd.system.service.PharmaceuticalService;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.*;
+import com.bzd.system.service.spgl.SSpglProductdetailsService;
+
+import java.util.List;
+
+/**
+*
+* 连锁商品查询 前端控制器Controller
+* @author LiXiangFei
+* @since 2024-10-15
+*/
+@Controller
+@RequestMapping(value = "spgl/sspglproductdetails")
+public class SSpglProductdetailsController extends BaseController {
+
+    // 页面跳转前缀
+    private String prefix = "spgl";
+
+    @Autowired
+    private SSpglProductdetailsService sSpglProductdetailsService;
+
+    /**
+    * 连锁商品查询 新增页面跳转
+    *
+    * @return
+    */
+    @RequiresPermissions("spgl:sp:view")
+    @GetMapping("/sSpglProductdetailsAdd")
+    public String add() {
+        return prefix + "/SSpglProductdetailsAdd";
+    }
+
+    /**
+    * 连锁商品查询 新增
+    *
+    * @return
+    */
+    @Log(title = "连锁商品查询新增", businessType = BusinessType.INSERT)
+    @PostMapping("/sSpglProductdetailsAdd")
+    @ResponseBody
+    public AjaxResult addSave() throws Exception {
+        PageData pd = this.getPageData();
+        try {
+            Integer result = sSpglProductdetailsService.addSSpglProductdetails(pd);
+            if (result == 1) {
+                return AjaxResult.success("新增成功");
+            } else {
+                logger.error("Failed to update 表skccrkckreceiptinfo with ID: {}", pd.get("id"));
+                return AjaxResult.error("新增失败");
+            }
+        } catch (Exception e) {
+            logger.error("Error occurred while updating 表skccrkckreceiptinfo with ID: {}, Exception: {}", pd.get("id"), e.getMessage(), e);
+            return AjaxResult.error("系统异常:" + e.getMessage());
+        }
+    }
+
+    /**
+    * 连锁商品查询 查询页面跳转
+    *
+    * @return
+    */
+    @RequiresPermissions("spgl:sp:view")
+    @GetMapping("/sSpglProductdetailsView")
+    public String sspglproductdetailsListView() {
+        return prefix + "/SSpglProductdetailsList";
+    }
+
+    /**
+    * 连锁商品查询 数据查询
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("spgl:sp:sSpglProductdetailsList")
+    @PostMapping("/sSpglProductdetailsList")
+    @ResponseBody
+    public TableDataInfo sspglproductdetailsList() throws Exception {
+    PageData pd = this.getPageData();
+    startPage();
+    List<PageData> pageData = sSpglProductdetailsService.findSSpglProductdetailsList(pd);
+        return getDataTable(pageData);
+    }
+
+    /**
+    * 连锁商品查询 数据删除 根据id
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("spgl:sp:remove")
+    @Log(title = "连锁商品查询删除", businessType = BusinessType.DELETE)
+    @PostMapping("/sSpglProductdetailsRemove")
+    @ResponseBody
+    public AjaxResult sspglproductdetailsRemove() throws Exception {
+        PageData pd = this.getPageData();
+        Integer integer = sSpglProductdetailsService.SSpglProductdetailsRemove(pd);
+        return toAjax(integer);
+    }
+
+    /**
+    * 连锁商品查询 数据修改
+    *
+    * @return
+    * @throws Exception
+    */
+    @RequiresPermissions("spgl:sp:edit")
+    @GetMapping("/sSpglProductdetailsEdit/{id}")
+    public String sspglproductdetailsView(@PathVariable("id") Long id, ModelMap mmap) throws Exception {
+        PageData pd = this.getPageData();
+        pd.put("id", id);
+        PageData pageData = sSpglProductdetailsService.findSSpglProductdetailsList(pd).get(0);
+        mmap.putAll(pageData);
+        if(null!=pd.getString("status")){
+            return prefix+ "/sspglproductdetailsPageEdit";
+        }
+        return prefix+ "/sspglproductdetailsEdit";
+    }
+
+    /**
+    * 连锁商品查询保存修改的数据
+    */
+    @RequiresPermissions("spgl:sp:edit")
+    @Log(title = "连锁商品查询修改", businessType = BusinessType.UPDATE)
+    @PostMapping("/sSpglProductdetailsEdit")
+    @ResponseBody
+    public AjaxResult sspglproductdetailsEditSave() throws Exception {
+        PageData pd = this.getPageData();
+        pd.put("up", "up");
+        try {
+            Integer updateResult = sSpglProductdetailsService.updateSSpglProductdetails(pd);
+            if (updateResult == 1) {
+                // 成功更新
+                return AjaxResult.success("修改成功");
+            } else {
+                // 更新失败
+                logger.error("Failed to update 表sspglproductdetails with ID: {}", pd.get("id"));
+                return AjaxResult.error("修改失败");
+            }
+        } catch (Exception e) {
+            // 异常处理
+            logger.error("Error occurred while updating 表sspglproductdetails with ID: {}, Exception: {}", pd.get("id"), e.getMessage(), e);
+            return AjaxResult.error("系统异常:" + e.getMessage());
+        }
+    }
+}

+ 153 - 0
health-admin/src/main/resources/templates/jkgl/SJkglCommissionrewardinfoAdd.html

@@ -0,0 +1,153 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('合约提成发放失败明细新增')" />
+    <th:block th:include="include :: ztree-css" />
+</head>
+<body class="white-bg">
+<div class="wrapper wrapper-content animated fadeInRight ibox-content">
+    <form class="form-horizontal m" id="form-role-add">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                            <label class="col-sm-3 control-label">提成来源:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="commissionSource" id="commissionSource" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">奖励类型:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="rewardType" id="rewardType" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">发生时间:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="occurrenceTime" id="occurrenceTime" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">订单号:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="orderNumber" id="orderNumber" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">连锁:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="chain" id="chain" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">门店:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="store" id="store" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">券码:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="couponCode" id="couponCode" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">店员工号:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="staffCode" id="staffCode" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">店员ID:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="staffId" id="staffId" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">店员姓名:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="staffName" id="staffName" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">合约ID:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="contractId" id="contractId" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">合约单ID:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="contractOrderNumber" id="contractOrderNumber" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">状态:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="status" id="status" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: ztree-js" />
+<script type="text/javascript">
+
+    function submitHandler() {
+        if ($.validate.form()) {
+            add();
+        }
+    }
+
+    function add() {
+           var commissionSource = $("input[name='commissionSource']").val();
+           var rewardType = $("input[name='rewardType']").val();
+           var occurrenceTime = $("input[name='occurrenceTime']").val();
+           var orderNumber = $("input[name='orderNumber']").val();
+           var chain = $("input[name='chain']").val();
+           var store = $("input[name='store']").val();
+           var couponCode = $("input[name='couponCode']").val();
+           var staffCode = $("input[name='staffCode']").val();
+           var staffId = $("input[name='staffId']").val();
+           var staffName = $("input[name='staffName']").val();
+           var contractId = $("input[name='contractId']").val();
+           var contractOrderNumber = $("input[name='contractOrderNumber']").val();
+           var status = $("input[name='status']").val();
+
+        $.ajax({
+            cache : true,
+            type : "POST",
+            url : ctx + "jkgl/sjkglcommissionrewardinfo/sJkglCommissionrewardinfoAdd",
+            data : {
+                "commissionSource": commissionSource,
+                "rewardType": rewardType,
+                "occurrenceTime": occurrenceTime,
+                "orderNumber": orderNumber,
+                "chain": chain,
+                "store": store,
+                "couponCode": couponCode,
+                "staffCode": staffCode,
+                "staffId": staffId,
+                "staffName": staffName,
+                "contractId": contractId,
+                "contractOrderNumber": contractOrderNumber,
+                "status": status,
+            },
+            async : false,
+            error : function(request) {
+                $.modal.alertError("系统错误");
+            },
+            success : function(data) {
+                $.operate.successCallback(data);
+            }
+        });
+    }
+</script>
+</body>
+</html>

+ 138 - 0
health-admin/src/main/resources/templates/jkgl/SJkglCommissionrewardinfoEdit.html

@@ -0,0 +1,138 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('合约提成发放失败明细修改')" />
+</head>
+<style>
+
+</style>
+<script>
+
+</script>
+<body>
+<div class="ui-layout-center">
+    <form class="form-horizontal" id="form-SJkglCommissionrewardinfo-edit" th:object="${user}">
+        <h4 class="form-header h4">基本信息</h4>
+        <input type="hidden" id="id" name="id" th:value="${id}">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                    <label class="col-sm-1 control-label">提成来源:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="commissionSource" placeholder="提成来源" th:value="${commissionSource}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">奖励类型:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="rewardType" placeholder="奖励类型" th:value="${rewardType}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">发生时间:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="occurrenceTime" placeholder="发生时间" th:value="${occurrenceTime}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">订单号:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="orderNumber" placeholder="订单号" th:value="${orderNumber}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">连锁:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="chain" placeholder="连锁" th:value="${chain}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">门店:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="store" placeholder="门店" th:value="${store}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">券码:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="couponCode" placeholder="券码" th:value="${couponCode}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">店员工号:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="staffCode" placeholder="店员工号" th:value="${staffCode}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">店员ID:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="staffId" placeholder="店员ID" th:value="${staffId}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">店员姓名:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="staffName" placeholder="店员姓名" th:value="${staffName}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">合约ID:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="contractId" placeholder="合约ID" th:value="${contractId}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">合约单ID:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="contractOrderNumber" placeholder="合约单ID" th:value="${contractOrderNumber}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">状态:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="status" placeholder="状态" th:value="${status}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<div class="main-content">
+    <div class="col-sm-offset-5 col-sm-10">
+        <!--<button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>
+        <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>-->
+    </div>
+</div>
+<th:block th:include="include :: footer" />
+</body>
+</html>
+
+<script>
+    function edit() {
+        var data = $("#form-SJkglCommissionrewardinfo-edit").serializeArray();
+        $.ajax({
+            cache : true,
+            type : "POST",
+            url : ctx + "jkgl/sjkglcommissionrewardinfo/sJkglCommissionrewardinfoEdit",
+            data : data,
+            async : false,
+            error : function(request) {
+                $.modal.alertError("系统错误");
+            },
+            success : function(data) {
+                $.operate.successCallback(data);
+            }
+        });
+    }
+
+    function submitHandler() {
+        if ($.validate.form()) {
+            edit();
+        }
+    }
+</script>

+ 245 - 0
health-admin/src/main/resources/templates/jkgl/SJkglCommissionrewardinfoList.html

@@ -0,0 +1,245 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<head>
+    <meta charset="UTF-8">
+    <meta name="format-detection" content="telephone=no">
+    <th:block th:include="include :: header('合约提成发放失败明细')" />
+    <th:block th:include="include :: layout-latest-css" />
+    <th:block th:include="include :: ztree-css" />
+</head>
+<style>
+    /* 设置 ul 的基本样式 */
+    ul {
+        list-style-type: none; /* 去掉项目符号 */
+        padding: 0; /* 去掉默认的内边距 */
+        display: grid; /* 使用网格布局 */
+        grid-template-columns: repeat(5, 1fr); /* 设置三列 */
+    }
+    ul-list ul{
+        list-style-type: none; /* 去掉项目符号 */
+        padding: 0; /* 去掉默认的内边距 */
+        display: grid; /* 使用网格布局 */
+        grid-template-columns: repeat(4, 1fr); /* 设置三列 */
+    }
+    ul-list ul li{
+        /*padding: 10px;*/ /* 内边距 */
+        text-align: left; /* 文本居中 */
+    }
+
+    /* 设置 li 的基本样式 */
+    li {
+        /*background-color: lightblue; *//* 背景颜色 */
+        /*padding: 1px; !* 内边距 *!*/
+        text-align: right; /* 文本居中 */
+    }
+</style>
+
+<body class="gray-bg">
+<div class="ui-layout-center">
+    <div class="container-div">
+        <div class="row">
+            <div class="col-sm-12 search-collapse" >
+                <form id="SJkglCommissionrewardinfo-form">
+                    <input type="hidden" id="deptId" name="deptId">
+                    <input type="hidden" id="parentId" name="parentId">
+                    <div class="select-list" >
+                        <ul>
+                            <li>
+                                提成来源:<input type="text" class="styled-input" name="commissionSource" autocomplete="off"/>
+                            </li>
+                            <li>
+                                奖励类型:<input type="text" class="styled-input" name="rewardType" autocomplete="off"/>
+                            </li>
+                            <li>
+                                发生时间:<input type="text" class="styled-input" name="occurrenceTime" autocomplete="off"/>
+                            </li>
+                            <li>
+                                订单号:<input type="text" class="styled-input" name="orderNumber" autocomplete="off"/>
+                            </li>
+                            <li>
+                                连锁:<input type="text" class="styled-input" name="chain" autocomplete="off"/>
+                            </li>
+                            <li>
+                                门店:<input type="text" class="styled-input" name="store" autocomplete="off"/>
+                            </li>
+                            <li>
+                                券码:<input type="text" class="styled-input" name="couponCode" autocomplete="off"/>
+                            </li>
+                            <li>
+                                店员工号:<input type="text" class="styled-input" name="staffCode" autocomplete="off"/>
+                            </li>
+                            <li>
+                                店员ID:<input type="text" class="styled-input" name="staffId" autocomplete="off"/>
+                            </li>
+                            <li>
+                                店员姓名:<input type="text" class="styled-input" name="staffName" autocomplete="off"/>
+                            </li>
+                            <li>
+                                合约ID:<input type="text" class="styled-input" name="contractId" autocomplete="off"/>
+                            </li>
+                            <li>
+                                合约单ID:<input type="text" class="styled-input" name="contractOrderNumber" autocomplete="off"/>
+                            </li>
+                            <li>
+                                状态:<input type="text" class="styled-input" name="status" autocomplete="off"/>
+                            </li>
+                            <li style="text-align: center">
+                                <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
+                                <a class="btn btn-warning btn-rounded btn-sm" onclick="resetPre()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
+                            </li>
+                        </ul>
+                    </div>
+
+                </form>
+            </div>
+
+            <div class="btn-group-sm" id="toolbar" role="group">
+                <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:user:add">
+                    <i class="fa fa-plus"></i> 新增
+                </a>
+                 <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:user:edit">
+                    <i class="fa fa-edit"></i> 修改
+                </a>
+                <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:user:remove">
+                    <i class="fa fa-remove"></i> 删除
+                </a>
+                <a class="btn btn-info" onclick="$.table.importExcel()" shiro:hasPermission="system:user:import">
+                    <i class="fa fa-upload"></i> 导入
+                </a>
+                <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:user:export">
+                    <i class="fa fa-download"></i> 导出
+                </a>
+            </div>
+
+            <div class="col-sm-12 select-table table-striped">
+                <table id="bootstrap-table"></table>
+            </div>
+        </div>
+    </div>
+</div>
+
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: layout-latest-js" />
+<th:block th:include="include :: ztree-js" />
+<script th:inline="javascript">
+    var editFlag = [[${@permission.hasPermi('dtp:pmService:edit')}]];
+    var removeFlag = [[${@permission.hasPermi('dtp:pmService:remove')}]];
+    var prefix = ctx + "jkgl/sjkglcommissionrewardinfo";
+    $(function() {
+        var panehHidden = false;
+        if ($(this).width() < 1590) {
+            panehHidden = true;
+        }
+        $('body').layout({ initClosed: panehHidden, west__size: 185, resizeWithWindow: false });
+        // 回到顶部绑定
+        if ($.fn.toTop !== undefined) {
+            var opt = {
+                win:$('.ui-layout-center'),
+                doc:$('.ui-layout-center')
+            };
+            $('#scroll-up').toTop(opt);
+        }
+        queryArchivesList();
+    });
+
+    function queryArchivesList() {
+        var options = {
+            url: prefix + "/sJkglCommissionrewardinfoList",
+            viewUrl: prefix + "/sJkglCommissionrewardinfoView/{id}",
+            createUrl: prefix + "/sJkglCommissionrewardinfoAdd",
+            updateUrl: prefix + "/sJkglCommissionrewardinfoEdit/{id}",
+            removeUrl: prefix + "/sJkglCommissionrewardinfoRemove",
+            /*exportUrl: prefix + "/export",
+            importUrl: prefix + "/importData",
+            importTemplateUrl: prefix + "/importTemplate",*/
+            sortName: "id",
+            sortOrder: "asc",
+            modalName: "合约提成发放失败明细",
+            fitColumns: true,
+            striped: true,
+            autoRowHeight: true,
+            rowNumbers: true,
+            showFooter:true,  //是否显示表格底部区域。
+            clickToSelect: true, //是否启用点击行时选中整行的功能。
+            singleSelect: true, //是否仅允许选择一行
+            columns: [{
+                checkbox: true
+            },
+                { field: 'id', title: '主键', align: 'center' ,visible:false},
+                    { field: 'commissionSource', title: '提成来源', align: 'center' },
+                    { field: 'rewardType', title: '奖励类型', align: 'center' },
+                    { field: 'occurrenceTime', title: '发生时间', align: 'center' },
+                    { field: 'orderNumber', title: '订单号', align: 'center' },
+                    { field: 'chain', title: '连锁', align: 'center' },
+                    { field: 'store', title: '门店', align: 'center' },
+                    { field: 'couponCode', title: '券码', align: 'center' },
+                    { field: 'staffCode', title: '店员工号', align: 'center' },
+                    { field: 'staffId', title: '店员ID', align: 'center' },
+                    { field: 'staffName', title: '店员姓名', align: 'center' },
+                    { field: 'contractId', title: '合约ID', align: 'center' },
+                    { field: 'contractOrderNumber', title: '合约单ID', align: 'center' },
+                    { field: 'status', title: '状态', align: 'center' },
+
+                {
+                    title: '操作',
+                    align: 'center',
+                    formatter: function(value, row, index) {
+                        if (row.serviceId != 1) {
+                            var actions = [];
+                            actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="edit_page(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
+                            actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a> ');
+                            var more = [];
+                            /*more.push("<a class='btn btn-default btn-xs " + resetPwdFlag + "' href='javascript:void(0)' onclick='resetPwd(" + row.userId + ")'><i class='fa fa-key'></i>重置密码</a> ");
+                            more.push("<a class='btn btn-default btn-xs " + editFlag + "' href='javascript:void(0)' onclick='authRole(" + row.userId + ")'><i class='fa fa-check-square-o'></i>分配角色</a>");
+                            actions.push('<a tabindex="0" class="btn btn-info btn-xs" role="button" data-container="body" data-placement="left" data-toggle="popover" data-html="true" data-trigger="hover" data-content="' + more.join('') + '"><i class="fa fa-chevron-circle-right"></i>更多操作</a>');*/
+                            return actions.join('');
+                        } else {
+                            return "";
+                        }
+                    }
+                }]
+        };
+        $.table.init(options);
+    }
+
+    /* 自定义重置-表单重置/隐藏框/树节点选择色/搜索 */
+    function resetPre() {
+        resetDate();
+        $("#SJkglCommissionrewardinfo-form")[0].reset();
+        $("#deptId").val("");
+        $("#parentId").val("");
+        $(".curSelectedNode").removeClass("curSelectedNode");
+        $.table.search();
+        var resetButton = document.getElementById('SJkglCommissionrewardinfo-form');
+        resetButton.addEventListener('click', function() {
+            _refresh();
+        });
+    }
+    function edit_page(id){
+        table.set();
+        var url = "/404.html";
+        if ($.common.isNotEmpty(id)) {
+            url = table.options.updateUrl.replace("{id}", id);
+        } else {
+            var id = $.common.isEmpty(table.options.uniqueId) ? $.table.selectFirstColumns() : $.table.selectColumns(table.options.uniqueId);
+            if (id.length == 0) {
+                $.modal.alertWarning("请至少选择一条记录");
+                return;
+            }
+            url = table.options.updateUrl.replace("{id}", id);
+        }
+        $.modal.openTab("修改" + table.options.modalName, url + "?status=1" );
+    }
+
+    /* 用户状态显示 */
+    function statusTools(row) {
+        if (row.status == 1) {
+            return '<i class=\"fa fa-toggle-off text-info fa-2x\" onclick="enable(\'' + row.userId + '\')"></i> ';
+        } else {
+            return '<i class=\"fa fa-toggle-on text-info fa-2x\" onclick="disable(\'' + row.userId + '\')"></i> ';
+        }
+    }
+</script>
+</body>
+
+</html>

+ 129 - 0
health-admin/src/main/resources/templates/jkgl/SJkglCommissionrewardinfoPageEdit.html

@@ -0,0 +1,129 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('合约提成发放失败明细修改')" />
+</head>
+<style>
+
+</style>
+<script>
+
+</script>
+<body>
+<div class="ui-layout-center">
+    <form class="form-horizontal" id="form-SJkglCommissionrewardinfo-edit" th:object="${user}">
+        <h4 class="form-header h4">基本信息</h4>
+        <input type="hidden" id="id" name="id" th:value="${id}">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                    <label class="col-sm-1 control-label">提成来源:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="commissionSource" placeholder="提成来源" th:value="${commissionSource}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">奖励类型:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="rewardType" placeholder="奖励类型" th:value="${rewardType}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">发生时间:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="occurrenceTime" placeholder="发生时间" th:value="${occurrenceTime}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">订单号:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="orderNumber" placeholder="订单号" th:value="${orderNumber}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">连锁:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="chain" placeholder="连锁" th:value="${chain}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">门店:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="store" placeholder="门店" th:value="${store}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">券码:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="couponCode" placeholder="券码" th:value="${couponCode}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">店员工号:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="staffCode" placeholder="店员工号" th:value="${staffCode}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">店员ID:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="staffId" placeholder="店员ID" th:value="${staffId}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">店员姓名:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="staffName" placeholder="店员姓名" th:value="${staffName}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">合约ID:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="contractId" placeholder="合约ID" th:value="${contractId}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">合约单ID:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="contractOrderNumber" placeholder="合约单ID" th:value="${contractOrderNumber}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">状态:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="status" placeholder="状态" th:value="${status}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<div class="main-content">
+    <div class="col-sm-offset-5 col-sm-10">
+        <button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>&nbsp;
+        <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>
+    </div>
+</div>
+<th:block th:include="include :: footer" />
+</body>
+</html>
+
+<script>
+    function submitHandler() {
+        var prefix = ctx + "jkgl/sjkglcommissionrewardinfo";
+        if ($.validate.form()) {
+            var data = $("#form-SJkglCommissionrewardinfo-edit").serializeArray();
+            /*var status = $("input[id='status']").is(':checked') == true ? 0 : 1;
+            var roleIds = $.form.selectCheckeds("role");
+            var postIds = $.form.selectSelects("post");
+            data.push({"name": "status", "value": status});
+            data.push({"name": "roleIds", "value": roleIds});
+            data.push({"name": "postIds", "value": postIds});*/
+            $.operate.saveTab(prefix + "/sJkglCommissionrewardinfoEdit", data);
+        }
+    }
+</script>

+ 81 - 0
health-admin/src/main/resources/templates/jkgl/SJkglGyhyHyflCategoryinfoAdd.html

@@ -0,0 +1,81 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('合约分类管理新增')" />
+    <th:block th:include="include :: ztree-css" />
+</head>
+<body class="white-bg">
+<div class="wrapper wrapper-content animated fadeInRight ibox-content">
+    <form class="form-horizontal m" id="form-role-add">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                            <label class="col-sm-3 control-label">创建日期:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="creationDate" id="creationDate" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">分类名称:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="categoryName" id="categoryName" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">包含合约:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="includedContracts" id="includedContracts" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">配图:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="featuredImage" id="featuredImage" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: ztree-js" />
+<script type="text/javascript">
+
+    function submitHandler() {
+        if ($.validate.form()) {
+            add();
+        }
+    }
+
+    function add() {
+           var creationDate = $("input[name='creationDate']").val();
+           var categoryName = $("input[name='categoryName']").val();
+           var includedContracts = $("input[name='includedContracts']").val();
+           var featuredImage = $("input[name='featuredImage']").val();
+
+        $.ajax({
+            cache : true,
+            type : "POST",
+            url : ctx + "jkgl/sjkglgyhyhyflcategoryinfo/sJkglGyhyHyflCategoryinfoAdd",
+            data : {
+                "creationDate": creationDate,
+                "categoryName": categoryName,
+                "includedContracts": includedContracts,
+                "featuredImage": featuredImage,
+            },
+            async : false,
+            error : function(request) {
+                $.modal.alertError("系统错误");
+            },
+            success : function(data) {
+                $.operate.successCallback(data);
+            }
+        });
+    }
+</script>
+</body>
+</html>

+ 84 - 0
health-admin/src/main/resources/templates/jkgl/SJkglGyhyHyflCategoryinfoEdit.html

@@ -0,0 +1,84 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('合约分类管理修改')" />
+</head>
+<style>
+
+</style>
+<script>
+
+</script>
+<body>
+<div class="ui-layout-center">
+    <form class="form-horizontal" id="form-SJkglGyhyHyflCategoryinfo-edit" th:object="${user}">
+        <h4 class="form-header h4">基本信息</h4>
+        <input type="hidden" id="id" name="id" th:value="${id}">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                    <label class="col-sm-1 control-label">创建日期:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="creationDate" placeholder="创建日期" th:value="${creationDate}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">分类名称:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="categoryName" placeholder="分类名称" th:value="${categoryName}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">包含合约:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="includedContracts" placeholder="包含合约" th:value="${includedContracts}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">配图:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="featuredImage" placeholder="配图" th:value="${featuredImage}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<div class="main-content">
+    <div class="col-sm-offset-5 col-sm-10">
+        <!--<button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>
+        <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>-->
+    </div>
+</div>
+<th:block th:include="include :: footer" />
+</body>
+</html>
+
+<script>
+    function edit() {
+        var data = $("#form-SJkglGyhyHyflCategoryinfo-edit").serializeArray();
+        $.ajax({
+            cache : true,
+            type : "POST",
+            url : ctx + "jkgl/sjkglgyhyhyflcategoryinfo/sJkglGyhyHyflCategoryinfoEdit",
+            data : data,
+            async : false,
+            error : function(request) {
+                $.modal.alertError("系统错误");
+            },
+            success : function(data) {
+                $.operate.successCallback(data);
+            }
+        });
+    }
+
+    function submitHandler() {
+        if ($.validate.form()) {
+            edit();
+        }
+    }
+</script>

+ 209 - 0
health-admin/src/main/resources/templates/jkgl/SJkglGyhyHyflCategoryinfoList.html

@@ -0,0 +1,209 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<head>
+    <meta charset="UTF-8">
+    <meta name="format-detection" content="telephone=no">
+    <th:block th:include="include :: header('合约分类管理')" />
+    <th:block th:include="include :: layout-latest-css" />
+    <th:block th:include="include :: ztree-css" />
+</head>
+<style>
+    /* 设置 ul 的基本样式 */
+    ul {
+        list-style-type: none; /* 去掉项目符号 */
+        padding: 0; /* 去掉默认的内边距 */
+        display: grid; /* 使用网格布局 */
+        grid-template-columns: repeat(5, 1fr); /* 设置三列 */
+    }
+    ul-list ul{
+        list-style-type: none; /* 去掉项目符号 */
+        padding: 0; /* 去掉默认的内边距 */
+        display: grid; /* 使用网格布局 */
+        grid-template-columns: repeat(4, 1fr); /* 设置三列 */
+    }
+    ul-list ul li{
+        /*padding: 10px;*/ /* 内边距 */
+        text-align: left; /* 文本居中 */
+    }
+
+    /* 设置 li 的基本样式 */
+    li {
+        /*background-color: lightblue; *//* 背景颜色 */
+        /*padding: 1px; !* 内边距 *!*/
+        text-align: right; /* 文本居中 */
+    }
+</style>
+
+<body class="gray-bg">
+<div class="ui-layout-center">
+    <div class="container-div">
+        <div class="row">
+            <div class="col-sm-12 search-collapse" >
+                <form id="SJkglGyhyHyflCategoryinfo-form">
+                    <input type="hidden" id="deptId" name="deptId">
+                    <input type="hidden" id="parentId" name="parentId">
+                    <div class="select-list" >
+                        <ul>
+                            <li>
+                                创建日期:<input type="text" class="styled-input" name="creationDate" autocomplete="off"/>
+                            </li>
+                            <li>
+                                分类名称:<input type="text" class="styled-input" name="categoryName" autocomplete="off"/>
+                            </li>
+                            <li>
+                                包含合约:<input type="text" class="styled-input" name="includedContracts" autocomplete="off"/>
+                            </li>
+                            <li>
+                                配图:<input type="text" class="styled-input" name="featuredImage" autocomplete="off"/>
+                            </li>
+                            <li style="text-align: center">
+                                <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
+                                <a class="btn btn-warning btn-rounded btn-sm" onclick="resetPre()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
+                            </li>
+                        </ul>
+                    </div>
+
+                </form>
+            </div>
+
+            <div class="btn-group-sm" id="toolbar" role="group">
+                <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:user:add">
+                    <i class="fa fa-plus"></i> 新增
+                </a>
+                 <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:user:edit">
+                    <i class="fa fa-edit"></i> 修改
+                </a>
+                <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:user:remove">
+                    <i class="fa fa-remove"></i> 删除
+                </a>
+                <a class="btn btn-info" onclick="$.table.importExcel()" shiro:hasPermission="system:user:import">
+                    <i class="fa fa-upload"></i> 导入
+                </a>
+                <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:user:export">
+                    <i class="fa fa-download"></i> 导出
+                </a>
+            </div>
+
+            <div class="col-sm-12 select-table table-striped">
+                <table id="bootstrap-table"></table>
+            </div>
+        </div>
+    </div>
+</div>
+
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: layout-latest-js" />
+<th:block th:include="include :: ztree-js" />
+<script th:inline="javascript">
+    var editFlag = [[${@permission.hasPermi('dtp:pmService:edit')}]];
+    var removeFlag = [[${@permission.hasPermi('dtp:pmService:remove')}]];
+    var prefix = ctx + "jkgl/sjkglgyhyhyflcategoryinfo";
+    $(function() {
+        var panehHidden = false;
+        if ($(this).width() < 1590) {
+            panehHidden = true;
+        }
+        $('body').layout({ initClosed: panehHidden, west__size: 185, resizeWithWindow: false });
+        // 回到顶部绑定
+        if ($.fn.toTop !== undefined) {
+            var opt = {
+                win:$('.ui-layout-center'),
+                doc:$('.ui-layout-center')
+            };
+            $('#scroll-up').toTop(opt);
+        }
+        queryArchivesList();
+    });
+
+    function queryArchivesList() {
+        var options = {
+            url: prefix + "/sJkglGyhyHyflCategoryinfoList",
+            viewUrl: prefix + "/sJkglGyhyHyflCategoryinfoView/{id}",
+            createUrl: prefix + "/sJkglGyhyHyflCategoryinfoAdd",
+            updateUrl: prefix + "/sJkglGyhyHyflCategoryinfoEdit/{id}",
+            removeUrl: prefix + "/sJkglGyhyHyflCategoryinfoRemove",
+            /*exportUrl: prefix + "/export",
+            importUrl: prefix + "/importData",
+            importTemplateUrl: prefix + "/importTemplate",*/
+            sortName: "id",
+            sortOrder: "asc",
+            modalName: "合约分类管理",
+            fitColumns: true,
+            striped: true,
+            autoRowHeight: true,
+            rowNumbers: true,
+            showFooter:true,  //是否显示表格底部区域。
+            clickToSelect: true, //是否启用点击行时选中整行的功能。
+            singleSelect: true, //是否仅允许选择一行
+            columns: [{
+                checkbox: true
+            },
+                { field: 'id', title: '主键', align: 'center' ,visible:false},
+                    { field: 'creationDate', title: '创建日期', align: 'center' },
+                    { field: 'categoryName', title: '分类名称', align: 'center' },
+                    { field: 'includedContracts', title: '包含合约', align: 'center' },
+                    { field: 'featuredImage', title: '配图', align: 'center' },
+
+                {
+                    title: '操作',
+                    align: 'center',
+                    formatter: function(value, row, index) {
+                        if (row.serviceId != 1) {
+                            var actions = [];
+                            actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="edit_page(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
+                            actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a> ');
+                            var more = [];
+                            /*more.push("<a class='btn btn-default btn-xs " + resetPwdFlag + "' href='javascript:void(0)' onclick='resetPwd(" + row.userId + ")'><i class='fa fa-key'></i>重置密码</a> ");
+                            more.push("<a class='btn btn-default btn-xs " + editFlag + "' href='javascript:void(0)' onclick='authRole(" + row.userId + ")'><i class='fa fa-check-square-o'></i>分配角色</a>");
+                            actions.push('<a tabindex="0" class="btn btn-info btn-xs" role="button" data-container="body" data-placement="left" data-toggle="popover" data-html="true" data-trigger="hover" data-content="' + more.join('') + '"><i class="fa fa-chevron-circle-right"></i>更多操作</a>');*/
+                            return actions.join('');
+                        } else {
+                            return "";
+                        }
+                    }
+                }]
+        };
+        $.table.init(options);
+    }
+
+    /* 自定义重置-表单重置/隐藏框/树节点选择色/搜索 */
+    function resetPre() {
+        resetDate();
+        $("#SJkglGyhyHyflCategoryinfo-form")[0].reset();
+        $("#deptId").val("");
+        $("#parentId").val("");
+        $(".curSelectedNode").removeClass("curSelectedNode");
+        $.table.search();
+        var resetButton = document.getElementById('SJkglGyhyHyflCategoryinfo-form');
+        resetButton.addEventListener('click', function() {
+            _refresh();
+        });
+    }
+    function edit_page(id){
+        table.set();
+        var url = "/404.html";
+        if ($.common.isNotEmpty(id)) {
+            url = table.options.updateUrl.replace("{id}", id);
+        } else {
+            var id = $.common.isEmpty(table.options.uniqueId) ? $.table.selectFirstColumns() : $.table.selectColumns(table.options.uniqueId);
+            if (id.length == 0) {
+                $.modal.alertWarning("请至少选择一条记录");
+                return;
+            }
+            url = table.options.updateUrl.replace("{id}", id);
+        }
+        $.modal.openTab("修改" + table.options.modalName, url + "?status=1" );
+    }
+
+    /* 用户状态显示 */
+    function statusTools(row) {
+        if (row.status == 1) {
+            return '<i class=\"fa fa-toggle-off text-info fa-2x\" onclick="enable(\'' + row.userId + '\')"></i> ';
+        } else {
+            return '<i class=\"fa fa-toggle-on text-info fa-2x\" onclick="disable(\'' + row.userId + '\')"></i> ';
+        }
+    }
+</script>
+</body>
+
+</html>

+ 75 - 0
health-admin/src/main/resources/templates/jkgl/SJkglGyhyHyflCategoryinfoPageEdit.html

@@ -0,0 +1,75 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('合约分类管理修改')" />
+</head>
+<style>
+
+</style>
+<script>
+
+</script>
+<body>
+<div class="ui-layout-center">
+    <form class="form-horizontal" id="form-SJkglGyhyHyflCategoryinfo-edit" th:object="${user}">
+        <h4 class="form-header h4">基本信息</h4>
+        <input type="hidden" id="id" name="id" th:value="${id}">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                    <label class="col-sm-1 control-label">创建日期:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="creationDate" placeholder="创建日期" th:value="${creationDate}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">分类名称:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="categoryName" placeholder="分类名称" th:value="${categoryName}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">包含合约:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="includedContracts" placeholder="包含合约" th:value="${includedContracts}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">配图:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="featuredImage" placeholder="配图" th:value="${featuredImage}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<div class="main-content">
+    <div class="col-sm-offset-5 col-sm-10">
+        <button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>&nbsp;
+        <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>
+    </div>
+</div>
+<th:block th:include="include :: footer" />
+</body>
+</html>
+
+<script>
+    function submitHandler() {
+        var prefix = ctx + "jkgl/sjkglgyhyhyflcategoryinfo";
+        if ($.validate.form()) {
+            var data = $("#form-SJkglGyhyHyflCategoryinfo-edit").serializeArray();
+            /*var status = $("input[id='status']").is(':checked') == true ? 0 : 1;
+            var roleIds = $.form.selectCheckeds("role");
+            var postIds = $.form.selectSelects("post");
+            data.push({"name": "status", "value": status});
+            data.push({"name": "roleIds", "value": roleIds});
+            data.push({"name": "postIds", "value": postIds});*/
+            $.operate.saveTab(prefix + "/sJkglGyhyHyflCategoryinfoEdit", data);
+        }
+    }
+</script>

+ 129 - 0
health-admin/src/main/resources/templates/jkgl/SJkglGyhyHyglContractinfoAdd.html

@@ -0,0 +1,129 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('合约管理新增')" />
+    <th:block th:include="include :: ztree-css" />
+</head>
+<body class="white-bg">
+<div class="wrapper wrapper-content animated fadeInRight ibox-content">
+    <form class="form-horizontal m" id="form-role-add">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                            <label class="col-sm-3 control-label">创建日期:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="creationDate" id="creationDate" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">主题:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="theme" id="theme" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">合约分类:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="contractCategory" id="contractCategory" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">合约有效时间:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="contractValidPeriod" id="contractValidPeriod" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">签约有效时间:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="signingValidPeriod" id="signingValidPeriod" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">状态:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="status" id="status" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">合约性质:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="contractNature" id="contractNature" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">是否配置药品维系:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="isDrugMaintenanceConfigured" id="isDrugMaintenanceConfigured" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">参与人次:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="participationCount" id="participationCount" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">核销人次:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="verificationCount" id="verificationCount" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: ztree-js" />
+<script type="text/javascript">
+
+    function submitHandler() {
+        if ($.validate.form()) {
+            add();
+        }
+    }
+
+    function add() {
+           var creationDate = $("input[name='creationDate']").val();
+           var theme = $("input[name='theme']").val();
+           var contractCategory = $("input[name='contractCategory']").val();
+           var contractValidPeriod = $("input[name='contractValidPeriod']").val();
+           var signingValidPeriod = $("input[name='signingValidPeriod']").val();
+           var status = $("input[name='status']").val();
+           var contractNature = $("input[name='contractNature']").val();
+           var isDrugMaintenanceConfigured = $("input[name='isDrugMaintenanceConfigured']").val();
+           var participationCount = $("input[name='participationCount']").val();
+           var verificationCount = $("input[name='verificationCount']").val();
+
+        $.ajax({
+            cache : true,
+            type : "POST",
+            url : ctx + "jkgl/sjkglgyhyhyglcontractinfo/sJkglGyhyHyglContractinfoAdd",
+            data : {
+                "creationDate": creationDate,
+                "theme": theme,
+                "contractCategory": contractCategory,
+                "contractValidPeriod": contractValidPeriod,
+                "signingValidPeriod": signingValidPeriod,
+                "status": status,
+                "contractNature": contractNature,
+                "isDrugMaintenanceConfigured": isDrugMaintenanceConfigured,
+                "participationCount": participationCount,
+                "verificationCount": verificationCount,
+            },
+            async : false,
+            error : function(request) {
+                $.modal.alertError("系统错误");
+            },
+            success : function(data) {
+                $.operate.successCallback(data);
+            }
+        });
+    }
+</script>
+</body>
+</html>

+ 120 - 0
health-admin/src/main/resources/templates/jkgl/SJkglGyhyHyglContractinfoEdit.html

@@ -0,0 +1,120 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('合约管理修改')" />
+</head>
+<style>
+
+</style>
+<script>
+
+</script>
+<body>
+<div class="ui-layout-center">
+    <form class="form-horizontal" id="form-SJkglGyhyHyglContractinfo-edit" th:object="${user}">
+        <h4 class="form-header h4">基本信息</h4>
+        <input type="hidden" id="id" name="id" th:value="${id}">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                    <label class="col-sm-1 control-label">创建日期:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="creationDate" placeholder="创建日期" th:value="${creationDate}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">主题:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="theme" placeholder="主题" th:value="${theme}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">合约分类:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="contractCategory" placeholder="合约分类" th:value="${contractCategory}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">合约有效时间:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="contractValidPeriod" placeholder="合约有效时间" th:value="${contractValidPeriod}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">签约有效时间:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="signingValidPeriod" placeholder="签约有效时间" th:value="${signingValidPeriod}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">状态:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="status" placeholder="状态" th:value="${status}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">合约性质:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="contractNature" placeholder="合约性质" th:value="${contractNature}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">是否配置药品维系:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="isDrugMaintenanceConfigured" placeholder="是否配置药品维系" th:value="${isDrugMaintenanceConfigured}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">参与人次:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="participationCount" placeholder="参与人次" th:value="${participationCount}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">核销人次:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="verificationCount" placeholder="核销人次" th:value="${verificationCount}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<div class="main-content">
+    <div class="col-sm-offset-5 col-sm-10">
+        <!--<button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>
+        <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>-->
+    </div>
+</div>
+<th:block th:include="include :: footer" />
+</body>
+</html>
+
+<script>
+    function edit() {
+        var data = $("#form-SJkglGyhyHyglContractinfo-edit").serializeArray();
+        $.ajax({
+            cache : true,
+            type : "POST",
+            url : ctx + "jkgl/sjkglgyhyhyglcontractinfo/sJkglGyhyHyglContractinfoEdit",
+            data : data,
+            async : false,
+            error : function(request) {
+                $.modal.alertError("系统错误");
+            },
+            success : function(data) {
+                $.operate.successCallback(data);
+            }
+        });
+    }
+
+    function submitHandler() {
+        if ($.validate.form()) {
+            edit();
+        }
+    }
+</script>

+ 233 - 0
health-admin/src/main/resources/templates/jkgl/SJkglGyhyHyglContractinfoList.html

@@ -0,0 +1,233 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<head>
+    <meta charset="UTF-8">
+    <meta name="format-detection" content="telephone=no">
+    <th:block th:include="include :: header('合约管理')" />
+    <th:block th:include="include :: layout-latest-css" />
+    <th:block th:include="include :: ztree-css" />
+</head>
+<style>
+    /* 设置 ul 的基本样式 */
+    ul {
+        list-style-type: none; /* 去掉项目符号 */
+        padding: 0; /* 去掉默认的内边距 */
+        display: grid; /* 使用网格布局 */
+        grid-template-columns: repeat(5, 1fr); /* 设置三列 */
+    }
+    ul-list ul{
+        list-style-type: none; /* 去掉项目符号 */
+        padding: 0; /* 去掉默认的内边距 */
+        display: grid; /* 使用网格布局 */
+        grid-template-columns: repeat(4, 1fr); /* 设置三列 */
+    }
+    ul-list ul li{
+        /*padding: 10px;*/ /* 内边距 */
+        text-align: left; /* 文本居中 */
+    }
+
+    /* 设置 li 的基本样式 */
+    li {
+        /*background-color: lightblue; *//* 背景颜色 */
+        /*padding: 1px; !* 内边距 *!*/
+        text-align: right; /* 文本居中 */
+    }
+</style>
+
+<body class="gray-bg">
+<div class="ui-layout-center">
+    <div class="container-div">
+        <div class="row">
+            <div class="col-sm-12 search-collapse" >
+                <form id="SJkglGyhyHyglContractinfo-form">
+                    <input type="hidden" id="deptId" name="deptId">
+                    <input type="hidden" id="parentId" name="parentId">
+                    <div class="select-list" >
+                        <ul>
+                            <li>
+                                创建日期:<input type="text" class="styled-input" name="creationDate" autocomplete="off"/>
+                            </li>
+                            <li>
+                                主题:<input type="text" class="styled-input" name="theme" autocomplete="off"/>
+                            </li>
+                            <li>
+                                合约分类:<input type="text" class="styled-input" name="contractCategory" autocomplete="off"/>
+                            </li>
+                            <li>
+                                合约有效时间:<input type="text" class="styled-input" name="contractValidPeriod" autocomplete="off"/>
+                            </li>
+                            <li>
+                                签约有效时间:<input type="text" class="styled-input" name="signingValidPeriod" autocomplete="off"/>
+                            </li>
+                            <li>
+                                状态:<input type="text" class="styled-input" name="status" autocomplete="off"/>
+                            </li>
+                            <li>
+                                合约性质:<input type="text" class="styled-input" name="contractNature" autocomplete="off"/>
+                            </li>
+                            <li>
+                                是否配置药品维系:<input type="text" class="styled-input" name="isDrugMaintenanceConfigured" autocomplete="off"/>
+                            </li>
+                            <li>
+                                参与人次:<input type="text" class="styled-input" name="participationCount" autocomplete="off"/>
+                            </li>
+                            <li>
+                                核销人次:<input type="text" class="styled-input" name="verificationCount" autocomplete="off"/>
+                            </li>
+                            <li style="text-align: center">
+                                <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
+                                <a class="btn btn-warning btn-rounded btn-sm" onclick="resetPre()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
+                            </li>
+                        </ul>
+                    </div>
+
+                </form>
+            </div>
+
+            <div class="btn-group-sm" id="toolbar" role="group">
+                <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:user:add">
+                    <i class="fa fa-plus"></i> 新增
+                </a>
+                 <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:user:edit">
+                    <i class="fa fa-edit"></i> 修改
+                </a>
+                <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:user:remove">
+                    <i class="fa fa-remove"></i> 删除
+                </a>
+                <a class="btn btn-info" onclick="$.table.importExcel()" shiro:hasPermission="system:user:import">
+                    <i class="fa fa-upload"></i> 导入
+                </a>
+                <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:user:export">
+                    <i class="fa fa-download"></i> 导出
+                </a>
+            </div>
+
+            <div class="col-sm-12 select-table table-striped">
+                <table id="bootstrap-table"></table>
+            </div>
+        </div>
+    </div>
+</div>
+
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: layout-latest-js" />
+<th:block th:include="include :: ztree-js" />
+<script th:inline="javascript">
+    var editFlag = [[${@permission.hasPermi('dtp:pmService:edit')}]];
+    var removeFlag = [[${@permission.hasPermi('dtp:pmService:remove')}]];
+    var prefix = ctx + "jkgl/sjkglgyhyhyglcontractinfo";
+    $(function() {
+        var panehHidden = false;
+        if ($(this).width() < 1590) {
+            panehHidden = true;
+        }
+        $('body').layout({ initClosed: panehHidden, west__size: 185, resizeWithWindow: false });
+        // 回到顶部绑定
+        if ($.fn.toTop !== undefined) {
+            var opt = {
+                win:$('.ui-layout-center'),
+                doc:$('.ui-layout-center')
+            };
+            $('#scroll-up').toTop(opt);
+        }
+        queryArchivesList();
+    });
+
+    function queryArchivesList() {
+        var options = {
+            url: prefix + "/sJkglGyhyHyglContractinfoList",
+            viewUrl: prefix + "/sJkglGyhyHyglContractinfoView/{id}",
+            createUrl: prefix + "/sJkglGyhyHyglContractinfoAdd",
+            updateUrl: prefix + "/sJkglGyhyHyglContractinfoEdit/{id}",
+            removeUrl: prefix + "/sJkglGyhyHyglContractinfoRemove",
+            /*exportUrl: prefix + "/export",
+            importUrl: prefix + "/importData",
+            importTemplateUrl: prefix + "/importTemplate",*/
+            sortName: "id",
+            sortOrder: "asc",
+            modalName: "合约管理",
+            fitColumns: true,
+            striped: true,
+            autoRowHeight: true,
+            rowNumbers: true,
+            showFooter:true,  //是否显示表格底部区域。
+            clickToSelect: true, //是否启用点击行时选中整行的功能。
+            singleSelect: true, //是否仅允许选择一行
+            columns: [{
+                checkbox: true
+            },
+                { field: 'id', title: '主键', align: 'center' ,visible:false},
+                    { field: 'creationDate', title: '创建日期', align: 'center' },
+                    { field: 'theme', title: '主题', align: 'center' },
+                    { field: 'contractCategory', title: '合约分类', align: 'center' },
+                    { field: 'contractValidPeriod', title: '合约有效时间', align: 'center' },
+                    { field: 'signingValidPeriod', title: '签约有效时间', align: 'center' },
+                    { field: 'status', title: '状态', align: 'center' },
+                    { field: 'contractNature', title: '合约性质', align: 'center' },
+                    { field: 'isDrugMaintenanceConfigured', title: '是否配置药品维系', align: 'center' },
+                    { field: 'participationCount', title: '参与人次', align: 'center' },
+                    { field: 'verificationCount', title: '核销人次', align: 'center' },
+
+                {
+                    title: '操作',
+                    align: 'center',
+                    formatter: function(value, row, index) {
+                        if (row.serviceId != 1) {
+                            var actions = [];
+                            actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="edit_page(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
+                            actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a> ');
+                            var more = [];
+                            /*more.push("<a class='btn btn-default btn-xs " + resetPwdFlag + "' href='javascript:void(0)' onclick='resetPwd(" + row.userId + ")'><i class='fa fa-key'></i>重置密码</a> ");
+                            more.push("<a class='btn btn-default btn-xs " + editFlag + "' href='javascript:void(0)' onclick='authRole(" + row.userId + ")'><i class='fa fa-check-square-o'></i>分配角色</a>");
+                            actions.push('<a tabindex="0" class="btn btn-info btn-xs" role="button" data-container="body" data-placement="left" data-toggle="popover" data-html="true" data-trigger="hover" data-content="' + more.join('') + '"><i class="fa fa-chevron-circle-right"></i>更多操作</a>');*/
+                            return actions.join('');
+                        } else {
+                            return "";
+                        }
+                    }
+                }]
+        };
+        $.table.init(options);
+    }
+
+    /* 自定义重置-表单重置/隐藏框/树节点选择色/搜索 */
+    function resetPre() {
+        resetDate();
+        $("#SJkglGyhyHyglContractinfo-form")[0].reset();
+        $("#deptId").val("");
+        $("#parentId").val("");
+        $(".curSelectedNode").removeClass("curSelectedNode");
+        $.table.search();
+        var resetButton = document.getElementById('SJkglGyhyHyglContractinfo-form');
+        resetButton.addEventListener('click', function() {
+            _refresh();
+        });
+    }
+    function edit_page(id){
+        table.set();
+        var url = "/404.html";
+        if ($.common.isNotEmpty(id)) {
+            url = table.options.updateUrl.replace("{id}", id);
+        } else {
+            var id = $.common.isEmpty(table.options.uniqueId) ? $.table.selectFirstColumns() : $.table.selectColumns(table.options.uniqueId);
+            if (id.length == 0) {
+                $.modal.alertWarning("请至少选择一条记录");
+                return;
+            }
+            url = table.options.updateUrl.replace("{id}", id);
+        }
+        $.modal.openTab("修改" + table.options.modalName, url + "?status=1" );
+    }
+
+    /* 用户状态显示 */
+    function statusTools(row) {
+        if (row.status == 1) {
+            return '<i class=\"fa fa-toggle-off text-info fa-2x\" onclick="enable(\'' + row.userId + '\')"></i> ';
+        } else {
+            return '<i class=\"fa fa-toggle-on text-info fa-2x\" onclick="disable(\'' + row.userId + '\')"></i> ';
+        }
+    }
+</script>
+</body>
+
+</html>

+ 111 - 0
health-admin/src/main/resources/templates/jkgl/SJkglGyhyHyglContractinfoPageEdit.html

@@ -0,0 +1,111 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('合约管理修改')" />
+</head>
+<style>
+
+</style>
+<script>
+
+</script>
+<body>
+<div class="ui-layout-center">
+    <form class="form-horizontal" id="form-SJkglGyhyHyglContractinfo-edit" th:object="${user}">
+        <h4 class="form-header h4">基本信息</h4>
+        <input type="hidden" id="id" name="id" th:value="${id}">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                    <label class="col-sm-1 control-label">创建日期:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="creationDate" placeholder="创建日期" th:value="${creationDate}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">主题:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="theme" placeholder="主题" th:value="${theme}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">合约分类:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="contractCategory" placeholder="合约分类" th:value="${contractCategory}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">合约有效时间:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="contractValidPeriod" placeholder="合约有效时间" th:value="${contractValidPeriod}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">签约有效时间:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="signingValidPeriod" placeholder="签约有效时间" th:value="${signingValidPeriod}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">状态:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="status" placeholder="状态" th:value="${status}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">合约性质:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="contractNature" placeholder="合约性质" th:value="${contractNature}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">是否配置药品维系:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="isDrugMaintenanceConfigured" placeholder="是否配置药品维系" th:value="${isDrugMaintenanceConfigured}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">参与人次:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="participationCount" placeholder="参与人次" th:value="${participationCount}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">核销人次:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="verificationCount" placeholder="核销人次" th:value="${verificationCount}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<div class="main-content">
+    <div class="col-sm-offset-5 col-sm-10">
+        <button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>&nbsp;
+        <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>
+    </div>
+</div>
+<th:block th:include="include :: footer" />
+</body>
+</html>
+
+<script>
+    function submitHandler() {
+        var prefix = ctx + "jkgl/sjkglgyhyhyglcontractinfo";
+        if ($.validate.form()) {
+            var data = $("#form-SJkglGyhyHyglContractinfo-edit").serializeArray();
+            /*var status = $("input[id='status']").is(':checked') == true ? 0 : 1;
+            var roleIds = $.form.selectCheckeds("role");
+            var postIds = $.form.selectSelects("post");
+            data.push({"name": "status", "value": status});
+            data.push({"name": "roleIds", "value": roleIds});
+            data.push({"name": "postIds", "value": postIds});*/
+            $.operate.saveTab(prefix + "/sJkglGyhyHyglContractinfoEdit", data);
+        }
+    }
+</script>

+ 153 - 0
health-admin/src/main/resources/templates/jkgl/SJkglGyhyPthyContracttemplateinfoAdd.html

@@ -0,0 +1,153 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('平台合约模板信息表新增')" />
+    <th:block th:include="include :: ztree-css" />
+</head>
+<body class="white-bg">
+<div class="wrapper wrapper-content animated fadeInRight ibox-content">
+    <form class="form-horizontal m" id="form-role-add">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                            <label class="col-sm-3 control-label">创建日期:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="creationDate" id="creationDate" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">主题:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="theme" id="theme" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">合约分类:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="contractCategory" id="contractCategory" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">合约性质:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="contractNature" id="contractNature" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">开始时间:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="startTime" id="startTime" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">结束时间:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="endTime" id="endTime" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">签约开始时间:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="signingStartTime" id="signingStartTime" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">签约结束时间:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="signingEndTime" id="signingEndTime" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">状态:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="status" id="status" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">投放状态:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="tfStatus" id="tfStatus" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">投放连锁:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="tfChain" id="tfChain" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">投放成功数量:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="successfulDeployments" id="successfulDeployments" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">启用连锁数量:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="enabledChains" id="enabledChains" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: ztree-js" />
+<script type="text/javascript">
+
+    function submitHandler() {
+        if ($.validate.form()) {
+            add();
+        }
+    }
+
+    function add() {
+           var creationDate = $("input[name='creationDate']").val();
+           var theme = $("input[name='theme']").val();
+           var contractCategory = $("input[name='contractCategory']").val();
+           var contractNature = $("input[name='contractNature']").val();
+           var startTime = $("input[name='startTime']").val();
+           var endTime = $("input[name='endTime']").val();
+           var signingStartTime = $("input[name='signingStartTime']").val();
+           var signingEndTime = $("input[name='signingEndTime']").val();
+           var status = $("input[name='status']").val();
+           var tfStatus = $("input[name='tfStatus']").val();
+           var tfChain = $("input[name='tfChain']").val();
+           var successfulDeployments = $("input[name='successfulDeployments']").val();
+           var enabledChains = $("input[name='enabledChains']").val();
+
+        $.ajax({
+            cache : true,
+            type : "POST",
+            url : ctx + "jkgl/sjkglgyhypthycontracttemplateinfo/sJkglGyhyPthyContracttemplateinfoAdd",
+            data : {
+                "creationDate": creationDate,
+                "theme": theme,
+                "contractCategory": contractCategory,
+                "contractNature": contractNature,
+                "startTime": startTime,
+                "endTime": endTime,
+                "signingStartTime": signingStartTime,
+                "signingEndTime": signingEndTime,
+                "status": status,
+                "tfStatus": tfStatus,
+                "tfChain": tfChain,
+                "successfulDeployments": successfulDeployments,
+                "enabledChains": enabledChains,
+            },
+            async : false,
+            error : function(request) {
+                $.modal.alertError("系统错误");
+            },
+            success : function(data) {
+                $.operate.successCallback(data);
+            }
+        });
+    }
+</script>
+</body>
+</html>

+ 138 - 0
health-admin/src/main/resources/templates/jkgl/SJkglGyhyPthyContracttemplateinfoEdit.html

@@ -0,0 +1,138 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('平台合约模板信息表修改')" />
+</head>
+<style>
+
+</style>
+<script>
+
+</script>
+<body>
+<div class="ui-layout-center">
+    <form class="form-horizontal" id="form-SJkglGyhyPthyContracttemplateinfo-edit" th:object="${user}">
+        <h4 class="form-header h4">基本信息</h4>
+        <input type="hidden" id="id" name="id" th:value="${id}">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                    <label class="col-sm-1 control-label">创建日期:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="creationDate" placeholder="创建日期" th:value="${creationDate}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">主题:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="theme" placeholder="主题" th:value="${theme}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">合约分类:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="contractCategory" placeholder="合约分类" th:value="${contractCategory}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">合约性质:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="contractNature" placeholder="合约性质" th:value="${contractNature}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">开始时间:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="startTime" placeholder="开始时间" th:value="${startTime}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">结束时间:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="endTime" placeholder="结束时间" th:value="${endTime}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">签约开始时间:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="signingStartTime" placeholder="签约开始时间" th:value="${signingStartTime}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">签约结束时间:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="signingEndTime" placeholder="签约结束时间" th:value="${signingEndTime}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">状态:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="status" placeholder="状态" th:value="${status}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">投放状态:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="tfStatus" placeholder="投放状态" th:value="${tfStatus}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">投放连锁:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="tfChain" placeholder="投放连锁" th:value="${tfChain}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">投放成功数量:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="successfulDeployments" placeholder="投放成功数量" th:value="${successfulDeployments}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">启用连锁数量:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="enabledChains" placeholder="启用连锁数量" th:value="${enabledChains}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<div class="main-content">
+    <div class="col-sm-offset-5 col-sm-10">
+        <!--<button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>
+        <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>-->
+    </div>
+</div>
+<th:block th:include="include :: footer" />
+</body>
+</html>
+
+<script>
+    function edit() {
+        var data = $("#form-SJkglGyhyPthyContracttemplateinfo-edit").serializeArray();
+        $.ajax({
+            cache : true,
+            type : "POST",
+            url : ctx + "jkgl/sjkglgyhypthycontracttemplateinfo/sJkglGyhyPthyContracttemplateinfoEdit",
+            data : data,
+            async : false,
+            error : function(request) {
+                $.modal.alertError("系统错误");
+            },
+            success : function(data) {
+                $.operate.successCallback(data);
+            }
+        });
+    }
+
+    function submitHandler() {
+        if ($.validate.form()) {
+            edit();
+        }
+    }
+</script>

+ 245 - 0
health-admin/src/main/resources/templates/jkgl/SJkglGyhyPthyContracttemplateinfoList.html

@@ -0,0 +1,245 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<head>
+    <meta charset="UTF-8">
+    <meta name="format-detection" content="telephone=no">
+    <th:block th:include="include :: header('平台合约模板信息表')" />
+    <th:block th:include="include :: layout-latest-css" />
+    <th:block th:include="include :: ztree-css" />
+</head>
+<style>
+    /* 设置 ul 的基本样式 */
+    ul {
+        list-style-type: none; /* 去掉项目符号 */
+        padding: 0; /* 去掉默认的内边距 */
+        display: grid; /* 使用网格布局 */
+        grid-template-columns: repeat(5, 1fr); /* 设置三列 */
+    }
+    ul-list ul{
+        list-style-type: none; /* 去掉项目符号 */
+        padding: 0; /* 去掉默认的内边距 */
+        display: grid; /* 使用网格布局 */
+        grid-template-columns: repeat(4, 1fr); /* 设置三列 */
+    }
+    ul-list ul li{
+        /*padding: 10px;*/ /* 内边距 */
+        text-align: left; /* 文本居中 */
+    }
+
+    /* 设置 li 的基本样式 */
+    li {
+        /*background-color: lightblue; *//* 背景颜色 */
+        /*padding: 1px; !* 内边距 *!*/
+        text-align: right; /* 文本居中 */
+    }
+</style>
+
+<body class="gray-bg">
+<div class="ui-layout-center">
+    <div class="container-div">
+        <div class="row">
+            <div class="col-sm-12 search-collapse" >
+                <form id="SJkglGyhyPthyContracttemplateinfo-form">
+                    <input type="hidden" id="deptId" name="deptId">
+                    <input type="hidden" id="parentId" name="parentId">
+                    <div class="select-list" >
+                        <ul>
+                            <li>
+                                创建日期:<input type="text" class="styled-input" name="creationDate" autocomplete="off"/>
+                            </li>
+                            <li>
+                                主题:<input type="text" class="styled-input" name="theme" autocomplete="off"/>
+                            </li>
+                            <li>
+                                合约分类:<input type="text" class="styled-input" name="contractCategory" autocomplete="off"/>
+                            </li>
+                            <li>
+                                合约性质:<input type="text" class="styled-input" name="contractNature" autocomplete="off"/>
+                            </li>
+                            <li>
+                                开始时间:<input type="text" class="styled-input" name="startTime" autocomplete="off"/>
+                            </li>
+                            <li>
+                                结束时间:<input type="text" class="styled-input" name="endTime" autocomplete="off"/>
+                            </li>
+                            <li>
+                                签约开始时间:<input type="text" class="styled-input" name="signingStartTime" autocomplete="off"/>
+                            </li>
+                            <li>
+                                签约结束时间:<input type="text" class="styled-input" name="signingEndTime" autocomplete="off"/>
+                            </li>
+                            <li>
+                                状态:<input type="text" class="styled-input" name="status" autocomplete="off"/>
+                            </li>
+                            <li>
+                                投放状态:<input type="text" class="styled-input" name="tfStatus" autocomplete="off"/>
+                            </li>
+                            <li>
+                                投放连锁:<input type="text" class="styled-input" name="tfChain" autocomplete="off"/>
+                            </li>
+                            <li>
+                                投放成功数量:<input type="text" class="styled-input" name="successfulDeployments" autocomplete="off"/>
+                            </li>
+                            <li>
+                                启用连锁数量:<input type="text" class="styled-input" name="enabledChains" autocomplete="off"/>
+                            </li>
+                            <li style="text-align: center">
+                                <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
+                                <a class="btn btn-warning btn-rounded btn-sm" onclick="resetPre()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
+                            </li>
+                        </ul>
+                    </div>
+
+                </form>
+            </div>
+
+            <div class="btn-group-sm" id="toolbar" role="group">
+                <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:user:add">
+                    <i class="fa fa-plus"></i> 新增
+                </a>
+                 <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:user:edit">
+                    <i class="fa fa-edit"></i> 修改
+                </a>
+                <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:user:remove">
+                    <i class="fa fa-remove"></i> 删除
+                </a>
+                <a class="btn btn-info" onclick="$.table.importExcel()" shiro:hasPermission="system:user:import">
+                    <i class="fa fa-upload"></i> 导入
+                </a>
+                <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:user:export">
+                    <i class="fa fa-download"></i> 导出
+                </a>
+            </div>
+
+            <div class="col-sm-12 select-table table-striped">
+                <table id="bootstrap-table"></table>
+            </div>
+        </div>
+    </div>
+</div>
+
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: layout-latest-js" />
+<th:block th:include="include :: ztree-js" />
+<script th:inline="javascript">
+    var editFlag = [[${@permission.hasPermi('dtp:pmService:edit')}]];
+    var removeFlag = [[${@permission.hasPermi('dtp:pmService:remove')}]];
+    var prefix = ctx + "jkgl/sjkglgyhypthycontracttemplateinfo";
+    $(function() {
+        var panehHidden = false;
+        if ($(this).width() < 1590) {
+            panehHidden = true;
+        }
+        $('body').layout({ initClosed: panehHidden, west__size: 185, resizeWithWindow: false });
+        // 回到顶部绑定
+        if ($.fn.toTop !== undefined) {
+            var opt = {
+                win:$('.ui-layout-center'),
+                doc:$('.ui-layout-center')
+            };
+            $('#scroll-up').toTop(opt);
+        }
+        queryArchivesList();
+    });
+
+    function queryArchivesList() {
+        var options = {
+            url: prefix + "/sJkglGyhyPthyContracttemplateinfoList",
+            viewUrl: prefix + "/sJkglGyhyPthyContracttemplateinfoView/{id}",
+            createUrl: prefix + "/sJkglGyhyPthyContracttemplateinfoAdd",
+            updateUrl: prefix + "/sJkglGyhyPthyContracttemplateinfoEdit/{id}",
+            removeUrl: prefix + "/sJkglGyhyPthyContracttemplateinfoRemove",
+            /*exportUrl: prefix + "/export",
+            importUrl: prefix + "/importData",
+            importTemplateUrl: prefix + "/importTemplate",*/
+            sortName: "id",
+            sortOrder: "asc",
+            modalName: "平台合约模板信息表",
+            fitColumns: true,
+            striped: true,
+            autoRowHeight: true,
+            rowNumbers: true,
+            showFooter:true,  //是否显示表格底部区域。
+            clickToSelect: true, //是否启用点击行时选中整行的功能。
+            singleSelect: true, //是否仅允许选择一行
+            columns: [{
+                checkbox: true
+            },
+                { field: 'id', title: '主键', align: 'center' ,visible:false},
+                    { field: 'creationDate', title: '创建日期', align: 'center' },
+                    { field: 'theme', title: '主题', align: 'center' },
+                    { field: 'contractCategory', title: '合约分类', align: 'center' },
+                    { field: 'contractNature', title: '合约性质', align: 'center' },
+                    { field: 'startTime', title: '开始时间', align: 'center' },
+                    { field: 'endTime', title: '结束时间', align: 'center' },
+                    { field: 'signingStartTime', title: '签约开始时间', align: 'center' },
+                    { field: 'signingEndTime', title: '签约结束时间', align: 'center' },
+                    { field: 'status', title: '状态', align: 'center' },
+                    { field: 'tfStatus', title: '投放状态', align: 'center' },
+                    { field: 'tfChain', title: '投放连锁', align: 'center' },
+                    { field: 'successfulDeployments', title: '投放成功数量', align: 'center' },
+                    { field: 'enabledChains', title: '启用连锁数量', align: 'center' },
+
+                {
+                    title: '操作',
+                    align: 'center',
+                    formatter: function(value, row, index) {
+                        if (row.serviceId != 1) {
+                            var actions = [];
+                            actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="edit_page(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
+                            actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a> ');
+                            var more = [];
+                            /*more.push("<a class='btn btn-default btn-xs " + resetPwdFlag + "' href='javascript:void(0)' onclick='resetPwd(" + row.userId + ")'><i class='fa fa-key'></i>重置密码</a> ");
+                            more.push("<a class='btn btn-default btn-xs " + editFlag + "' href='javascript:void(0)' onclick='authRole(" + row.userId + ")'><i class='fa fa-check-square-o'></i>分配角色</a>");
+                            actions.push('<a tabindex="0" class="btn btn-info btn-xs" role="button" data-container="body" data-placement="left" data-toggle="popover" data-html="true" data-trigger="hover" data-content="' + more.join('') + '"><i class="fa fa-chevron-circle-right"></i>更多操作</a>');*/
+                            return actions.join('');
+                        } else {
+                            return "";
+                        }
+                    }
+                }]
+        };
+        $.table.init(options);
+    }
+
+    /* 自定义重置-表单重置/隐藏框/树节点选择色/搜索 */
+    function resetPre() {
+        resetDate();
+        $("#SJkglGyhyPthyContracttemplateinfo-form")[0].reset();
+        $("#deptId").val("");
+        $("#parentId").val("");
+        $(".curSelectedNode").removeClass("curSelectedNode");
+        $.table.search();
+        var resetButton = document.getElementById('SJkglGyhyPthyContracttemplateinfo-form');
+        resetButton.addEventListener('click', function() {
+            _refresh();
+        });
+    }
+    function edit_page(id){
+        table.set();
+        var url = "/404.html";
+        if ($.common.isNotEmpty(id)) {
+            url = table.options.updateUrl.replace("{id}", id);
+        } else {
+            var id = $.common.isEmpty(table.options.uniqueId) ? $.table.selectFirstColumns() : $.table.selectColumns(table.options.uniqueId);
+            if (id.length == 0) {
+                $.modal.alertWarning("请至少选择一条记录");
+                return;
+            }
+            url = table.options.updateUrl.replace("{id}", id);
+        }
+        $.modal.openTab("修改" + table.options.modalName, url + "?status=1" );
+    }
+
+    /* 用户状态显示 */
+    function statusTools(row) {
+        if (row.status == 1) {
+            return '<i class=\"fa fa-toggle-off text-info fa-2x\" onclick="enable(\'' + row.userId + '\')"></i> ';
+        } else {
+            return '<i class=\"fa fa-toggle-on text-info fa-2x\" onclick="disable(\'' + row.userId + '\')"></i> ';
+        }
+    }
+</script>
+</body>
+
+</html>

+ 129 - 0
health-admin/src/main/resources/templates/jkgl/SJkglGyhyPthyContracttemplateinfoPageEdit.html

@@ -0,0 +1,129 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('平台合约模板信息表修改')" />
+</head>
+<style>
+
+</style>
+<script>
+
+</script>
+<body>
+<div class="ui-layout-center">
+    <form class="form-horizontal" id="form-SJkglGyhyPthyContracttemplateinfo-edit" th:object="${user}">
+        <h4 class="form-header h4">基本信息</h4>
+        <input type="hidden" id="id" name="id" th:value="${id}">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                    <label class="col-sm-1 control-label">创建日期:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="creationDate" placeholder="创建日期" th:value="${creationDate}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">主题:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="theme" placeholder="主题" th:value="${theme}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">合约分类:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="contractCategory" placeholder="合约分类" th:value="${contractCategory}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">合约性质:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="contractNature" placeholder="合约性质" th:value="${contractNature}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">开始时间:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="startTime" placeholder="开始时间" th:value="${startTime}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">结束时间:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="endTime" placeholder="结束时间" th:value="${endTime}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">签约开始时间:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="signingStartTime" placeholder="签约开始时间" th:value="${signingStartTime}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">签约结束时间:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="signingEndTime" placeholder="签约结束时间" th:value="${signingEndTime}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">状态:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="status" placeholder="状态" th:value="${status}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">投放状态:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="tfStatus" placeholder="投放状态" th:value="${tfStatus}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">投放连锁:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="tfChain" placeholder="投放连锁" th:value="${tfChain}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">投放成功数量:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="successfulDeployments" placeholder="投放成功数量" th:value="${successfulDeployments}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">启用连锁数量:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="enabledChains" placeholder="启用连锁数量" th:value="${enabledChains}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<div class="main-content">
+    <div class="col-sm-offset-5 col-sm-10">
+        <button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>&nbsp;
+        <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>
+    </div>
+</div>
+<th:block th:include="include :: footer" />
+</body>
+</html>
+
+<script>
+    function submitHandler() {
+        var prefix = ctx + "jkgl/sjkglgyhypthycontracttemplateinfo";
+        if ($.validate.form()) {
+            var data = $("#form-SJkglGyhyPthyContracttemplateinfo-edit").serializeArray();
+            /*var status = $("input[id='status']").is(':checked') == true ? 0 : 1;
+            var roleIds = $.form.selectCheckeds("role");
+            var postIds = $.form.selectSelects("post");
+            data.push({"name": "status", "value": status});
+            data.push({"name": "roleIds", "value": roleIds});
+            data.push({"name": "postIds", "value": postIds});*/
+            $.operate.saveTab(prefix + "/sJkglGyhyPthyContracttemplateinfoEdit", data);
+        }
+    }
+</script>

+ 113 - 0
health-admin/src/main/resources/templates/jkgl/SJkglGyhyYjtjActivityinfoAdd.html

@@ -0,0 +1,113 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('有奖推荐活动信息表新增')" />
+    <th:block th:include="include :: ztree-css" />
+</head>
+<body class="white-bg">
+<div class="wrapper wrapper-content animated fadeInRight ibox-content">
+    <form class="form-horizontal m" id="form-role-add">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                            <label class="col-sm-3 control-label">创建日期:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="creationDate" id="creationDate" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">主题:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="theme" id="theme" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">开始时间:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="startTime" id="startTime" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">结束时间:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="endTime" id="endTime" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">使用合约:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="usedContract" id="usedContract" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">状态:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="status" id="status" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">邀请人数:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="invitedCount" id="invitedCount" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">成功人数:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="successCount" id="successCount" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: ztree-js" />
+<script type="text/javascript">
+
+    function submitHandler() {
+        if ($.validate.form()) {
+            add();
+        }
+    }
+
+    function add() {
+           var creationDate = $("input[name='creationDate']").val();
+           var theme = $("input[name='theme']").val();
+           var startTime = $("input[name='startTime']").val();
+           var endTime = $("input[name='endTime']").val();
+           var usedContract = $("input[name='usedContract']").val();
+           var status = $("input[name='status']").val();
+           var invitedCount = $("input[name='invitedCount']").val();
+           var successCount = $("input[name='successCount']").val();
+
+        $.ajax({
+            cache : true,
+            type : "POST",
+            url : ctx + "jkgl/sjkglgyhyyjtjactivityinfo/sJkglGyhyYjtjActivityinfoAdd",
+            data : {
+                "creationDate": creationDate,
+                "theme": theme,
+                "startTime": startTime,
+                "endTime": endTime,
+                "usedContract": usedContract,
+                "status": status,
+                "invitedCount": invitedCount,
+                "successCount": successCount,
+            },
+            async : false,
+            error : function(request) {
+                $.modal.alertError("系统错误");
+            },
+            success : function(data) {
+                $.operate.successCallback(data);
+            }
+        });
+    }
+</script>
+</body>
+</html>

+ 108 - 0
health-admin/src/main/resources/templates/jkgl/SJkglGyhyYjtjActivityinfoEdit.html

@@ -0,0 +1,108 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('有奖推荐活动信息表修改')" />
+</head>
+<style>
+
+</style>
+<script>
+
+</script>
+<body>
+<div class="ui-layout-center">
+    <form class="form-horizontal" id="form-SJkglGyhyYjtjActivityinfo-edit" th:object="${user}">
+        <h4 class="form-header h4">基本信息</h4>
+        <input type="hidden" id="id" name="id" th:value="${id}">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                    <label class="col-sm-1 control-label">创建日期:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="creationDate" placeholder="创建日期" th:value="${creationDate}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">主题:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="theme" placeholder="主题" th:value="${theme}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">开始时间:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="startTime" placeholder="开始时间" th:value="${startTime}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">结束时间:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="endTime" placeholder="结束时间" th:value="${endTime}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">使用合约:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="usedContract" placeholder="使用合约" th:value="${usedContract}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">状态:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="status" placeholder="状态" th:value="${status}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">邀请人数:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="invitedCount" placeholder="邀请人数" th:value="${invitedCount}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">成功人数:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="successCount" placeholder="成功人数" th:value="${successCount}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<div class="main-content">
+    <div class="col-sm-offset-5 col-sm-10">
+        <!--<button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>
+        <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>-->
+    </div>
+</div>
+<th:block th:include="include :: footer" />
+</body>
+</html>
+
+<script>
+    function edit() {
+        var data = $("#form-SJkglGyhyYjtjActivityinfo-edit").serializeArray();
+        $.ajax({
+            cache : true,
+            type : "POST",
+            url : ctx + "jkgl/sjkglgyhyyjtjactivityinfo/sJkglGyhyYjtjActivityinfoEdit",
+            data : data,
+            async : false,
+            error : function(request) {
+                $.modal.alertError("系统错误");
+            },
+            success : function(data) {
+                $.operate.successCallback(data);
+            }
+        });
+    }
+
+    function submitHandler() {
+        if ($.validate.form()) {
+            edit();
+        }
+    }
+</script>

+ 225 - 0
health-admin/src/main/resources/templates/jkgl/SJkglGyhyYjtjActivityinfoList.html

@@ -0,0 +1,225 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<head>
+    <meta charset="UTF-8">
+    <meta name="format-detection" content="telephone=no">
+    <th:block th:include="include :: header('有奖推荐活动信息表')" />
+    <th:block th:include="include :: layout-latest-css" />
+    <th:block th:include="include :: ztree-css" />
+</head>
+<style>
+    /* 设置 ul 的基本样式 */
+    ul {
+        list-style-type: none; /* 去掉项目符号 */
+        padding: 0; /* 去掉默认的内边距 */
+        display: grid; /* 使用网格布局 */
+        grid-template-columns: repeat(5, 1fr); /* 设置三列 */
+    }
+    ul-list ul{
+        list-style-type: none; /* 去掉项目符号 */
+        padding: 0; /* 去掉默认的内边距 */
+        display: grid; /* 使用网格布局 */
+        grid-template-columns: repeat(4, 1fr); /* 设置三列 */
+    }
+    ul-list ul li{
+        /*padding: 10px;*/ /* 内边距 */
+        text-align: left; /* 文本居中 */
+    }
+
+    /* 设置 li 的基本样式 */
+    li {
+        /*background-color: lightblue; *//* 背景颜色 */
+        /*padding: 1px; !* 内边距 *!*/
+        text-align: right; /* 文本居中 */
+    }
+</style>
+
+<body class="gray-bg">
+<div class="ui-layout-center">
+    <div class="container-div">
+        <div class="row">
+            <div class="col-sm-12 search-collapse" >
+                <form id="SJkglGyhyYjtjActivityinfo-form">
+                    <input type="hidden" id="deptId" name="deptId">
+                    <input type="hidden" id="parentId" name="parentId">
+                    <div class="select-list" >
+                        <ul>
+                            <li>
+                                创建日期:<input type="text" class="styled-input" name="creationDate" autocomplete="off"/>
+                            </li>
+                            <li>
+                                主题:<input type="text" class="styled-input" name="theme" autocomplete="off"/>
+                            </li>
+                            <li>
+                                开始时间:<input type="text" class="styled-input" name="startTime" autocomplete="off"/>
+                            </li>
+                            <li>
+                                结束时间:<input type="text" class="styled-input" name="endTime" autocomplete="off"/>
+                            </li>
+                            <li>
+                                使用合约:<input type="text" class="styled-input" name="usedContract" autocomplete="off"/>
+                            </li>
+                            <li>
+                                状态:<input type="text" class="styled-input" name="status" autocomplete="off"/>
+                            </li>
+                            <li>
+                                邀请人数:<input type="text" class="styled-input" name="invitedCount" autocomplete="off"/>
+                            </li>
+                            <li>
+                                成功人数:<input type="text" class="styled-input" name="successCount" autocomplete="off"/>
+                            </li>
+                            <li style="text-align: center">
+                                <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
+                                <a class="btn btn-warning btn-rounded btn-sm" onclick="resetPre()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
+                            </li>
+                        </ul>
+                    </div>
+
+                </form>
+            </div>
+
+            <div class="btn-group-sm" id="toolbar" role="group">
+                <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:user:add">
+                    <i class="fa fa-plus"></i> 新增
+                </a>
+                 <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:user:edit">
+                    <i class="fa fa-edit"></i> 修改
+                </a>
+                <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:user:remove">
+                    <i class="fa fa-remove"></i> 删除
+                </a>
+                <a class="btn btn-info" onclick="$.table.importExcel()" shiro:hasPermission="system:user:import">
+                    <i class="fa fa-upload"></i> 导入
+                </a>
+                <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:user:export">
+                    <i class="fa fa-download"></i> 导出
+                </a>
+            </div>
+
+            <div class="col-sm-12 select-table table-striped">
+                <table id="bootstrap-table"></table>
+            </div>
+        </div>
+    </div>
+</div>
+
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: layout-latest-js" />
+<th:block th:include="include :: ztree-js" />
+<script th:inline="javascript">
+    var editFlag = [[${@permission.hasPermi('dtp:pmService:edit')}]];
+    var removeFlag = [[${@permission.hasPermi('dtp:pmService:remove')}]];
+    var prefix = ctx + "jkgl/sjkglgyhyyjtjactivityinfo";
+    $(function() {
+        var panehHidden = false;
+        if ($(this).width() < 1590) {
+            panehHidden = true;
+        }
+        $('body').layout({ initClosed: panehHidden, west__size: 185, resizeWithWindow: false });
+        // 回到顶部绑定
+        if ($.fn.toTop !== undefined) {
+            var opt = {
+                win:$('.ui-layout-center'),
+                doc:$('.ui-layout-center')
+            };
+            $('#scroll-up').toTop(opt);
+        }
+        queryArchivesList();
+    });
+
+    function queryArchivesList() {
+        var options = {
+            url: prefix + "/sJkglGyhyYjtjActivityinfoList",
+            viewUrl: prefix + "/sJkglGyhyYjtjActivityinfoView/{id}",
+            createUrl: prefix + "/sJkglGyhyYjtjActivityinfoAdd",
+            updateUrl: prefix + "/sJkglGyhyYjtjActivityinfoEdit/{id}",
+            removeUrl: prefix + "/sJkglGyhyYjtjActivityinfoRemove",
+            /*exportUrl: prefix + "/export",
+            importUrl: prefix + "/importData",
+            importTemplateUrl: prefix + "/importTemplate",*/
+            sortName: "id",
+            sortOrder: "asc",
+            modalName: "有奖推荐活动信息表",
+            fitColumns: true,
+            striped: true,
+            autoRowHeight: true,
+            rowNumbers: true,
+            showFooter:true,  //是否显示表格底部区域。
+            clickToSelect: true, //是否启用点击行时选中整行的功能。
+            singleSelect: true, //是否仅允许选择一行
+            columns: [{
+                checkbox: true
+            },
+                { field: 'id', title: '主键', align: 'center' ,visible:false},
+                    { field: 'creationDate', title: '创建日期', align: 'center' },
+                    { field: 'theme', title: '主题', align: 'center' },
+                    { field: 'startTime', title: '开始时间', align: 'center' },
+                    { field: 'endTime', title: '结束时间', align: 'center' },
+                    { field: 'usedContract', title: '使用合约', align: 'center' },
+                    { field: 'status', title: '状态', align: 'center' },
+                    { field: 'invitedCount', title: '邀请人数', align: 'center' },
+                    { field: 'successCount', title: '成功人数', align: 'center' },
+
+                {
+                    title: '操作',
+                    align: 'center',
+                    formatter: function(value, row, index) {
+                        if (row.serviceId != 1) {
+                            var actions = [];
+                            actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="edit_page(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
+                            actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a> ');
+                            var more = [];
+                            /*more.push("<a class='btn btn-default btn-xs " + resetPwdFlag + "' href='javascript:void(0)' onclick='resetPwd(" + row.userId + ")'><i class='fa fa-key'></i>重置密码</a> ");
+                            more.push("<a class='btn btn-default btn-xs " + editFlag + "' href='javascript:void(0)' onclick='authRole(" + row.userId + ")'><i class='fa fa-check-square-o'></i>分配角色</a>");
+                            actions.push('<a tabindex="0" class="btn btn-info btn-xs" role="button" data-container="body" data-placement="left" data-toggle="popover" data-html="true" data-trigger="hover" data-content="' + more.join('') + '"><i class="fa fa-chevron-circle-right"></i>更多操作</a>');*/
+                            return actions.join('');
+                        } else {
+                            return "";
+                        }
+                    }
+                }]
+        };
+        $.table.init(options);
+    }
+
+    /* 自定义重置-表单重置/隐藏框/树节点选择色/搜索 */
+    function resetPre() {
+        resetDate();
+        $("#SJkglGyhyYjtjActivityinfo-form")[0].reset();
+        $("#deptId").val("");
+        $("#parentId").val("");
+        $(".curSelectedNode").removeClass("curSelectedNode");
+        $.table.search();
+        var resetButton = document.getElementById('SJkglGyhyYjtjActivityinfo-form');
+        resetButton.addEventListener('click', function() {
+            _refresh();
+        });
+    }
+    function edit_page(id){
+        table.set();
+        var url = "/404.html";
+        if ($.common.isNotEmpty(id)) {
+            url = table.options.updateUrl.replace("{id}", id);
+        } else {
+            var id = $.common.isEmpty(table.options.uniqueId) ? $.table.selectFirstColumns() : $.table.selectColumns(table.options.uniqueId);
+            if (id.length == 0) {
+                $.modal.alertWarning("请至少选择一条记录");
+                return;
+            }
+            url = table.options.updateUrl.replace("{id}", id);
+        }
+        $.modal.openTab("修改" + table.options.modalName, url + "?status=1" );
+    }
+
+    /* 用户状态显示 */
+    function statusTools(row) {
+        if (row.status == 1) {
+            return '<i class=\"fa fa-toggle-off text-info fa-2x\" onclick="enable(\'' + row.userId + '\')"></i> ';
+        } else {
+            return '<i class=\"fa fa-toggle-on text-info fa-2x\" onclick="disable(\'' + row.userId + '\')"></i> ';
+        }
+    }
+</script>
+</body>
+
+</html>

+ 99 - 0
health-admin/src/main/resources/templates/jkgl/SJkglGyhyYjtjActivityinfoPageEdit.html

@@ -0,0 +1,99 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('有奖推荐活动信息表修改')" />
+</head>
+<style>
+
+</style>
+<script>
+
+</script>
+<body>
+<div class="ui-layout-center">
+    <form class="form-horizontal" id="form-SJkglGyhyYjtjActivityinfo-edit" th:object="${user}">
+        <h4 class="form-header h4">基本信息</h4>
+        <input type="hidden" id="id" name="id" th:value="${id}">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                    <label class="col-sm-1 control-label">创建日期:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="creationDate" placeholder="创建日期" th:value="${creationDate}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">主题:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="theme" placeholder="主题" th:value="${theme}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">开始时间:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="startTime" placeholder="开始时间" th:value="${startTime}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">结束时间:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="endTime" placeholder="结束时间" th:value="${endTime}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">使用合约:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="usedContract" placeholder="使用合约" th:value="${usedContract}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">状态:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="status" placeholder="状态" th:value="${status}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">邀请人数:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="invitedCount" placeholder="邀请人数" th:value="${invitedCount}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">成功人数:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="successCount" placeholder="成功人数" th:value="${successCount}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<div class="main-content">
+    <div class="col-sm-offset-5 col-sm-10">
+        <button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>&nbsp;
+        <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>
+    </div>
+</div>
+<th:block th:include="include :: footer" />
+</body>
+</html>
+
+<script>
+    function submitHandler() {
+        var prefix = ctx + "jkgl/sjkglgyhyyjtjactivityinfo";
+        if ($.validate.form()) {
+            var data = $("#form-SJkglGyhyYjtjActivityinfo-edit").serializeArray();
+            /*var status = $("input[id='status']").is(':checked') == true ? 0 : 1;
+            var roleIds = $.form.selectCheckeds("role");
+            var postIds = $.form.selectSelects("post");
+            data.push({"name": "status", "value": status});
+            data.push({"name": "roleIds", "value": roleIds});
+            data.push({"name": "postIds", "value": postIds});*/
+            $.operate.saveTab(prefix + "/sJkglGyhyYjtjActivityinfoEdit", data);
+        }
+    }
+</script>

+ 89 - 0
health-admin/src/main/resources/templates/jkgl/SJkglMbglQyglBenefitinfoAdd.html

@@ -0,0 +1,89 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('慢病权益信息表新增')" />
+    <th:block th:include="include :: ztree-css" />
+</head>
+<body class="white-bg">
+<div class="wrapper wrapper-content animated fadeInRight ibox-content">
+    <form class="form-horizontal m" id="form-role-add">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                            <label class="col-sm-3 control-label">创建日期:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="creationDate" id="creationDate" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">权益主题:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="benefitSubject" id="benefitSubject" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">疾病标签:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="diseaseTag" id="diseaseTag" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">包含权益分类:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="includedBenefitCategory" id="includedBenefitCategory" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">状态:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="status" id="status" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: ztree-js" />
+<script type="text/javascript">
+
+    function submitHandler() {
+        if ($.validate.form()) {
+            add();
+        }
+    }
+
+    function add() {
+           var creationDate = $("input[name='creationDate']").val();
+           var benefitSubject = $("input[name='benefitSubject']").val();
+           var diseaseTag = $("input[name='diseaseTag']").val();
+           var includedBenefitCategory = $("input[name='includedBenefitCategory']").val();
+           var status = $("input[name='status']").val();
+
+        $.ajax({
+            cache : true,
+            type : "POST",
+            url : ctx + "jkgl/sjkglmbglqyglbenefitinfo/sJkglMbglQyglBenefitinfoAdd",
+            data : {
+                "creationDate": creationDate,
+                "benefitSubject": benefitSubject,
+                "diseaseTag": diseaseTag,
+                "includedBenefitCategory": includedBenefitCategory,
+                "status": status,
+            },
+            async : false,
+            error : function(request) {
+                $.modal.alertError("系统错误");
+            },
+            success : function(data) {
+                $.operate.successCallback(data);
+            }
+        });
+    }
+</script>
+</body>
+</html>

+ 90 - 0
health-admin/src/main/resources/templates/jkgl/SJkglMbglQyglBenefitinfoEdit.html

@@ -0,0 +1,90 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('慢病权益信息表修改')" />
+</head>
+<style>
+
+</style>
+<script>
+
+</script>
+<body>
+<div class="ui-layout-center">
+    <form class="form-horizontal" id="form-SJkglMbglQyglBenefitinfo-edit" th:object="${user}">
+        <h4 class="form-header h4">基本信息</h4>
+        <input type="hidden" id="id" name="id" th:value="${id}">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                    <label class="col-sm-1 control-label">创建日期:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="creationDate" placeholder="创建日期" th:value="${creationDate}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">权益主题:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="benefitSubject" placeholder="权益主题" th:value="${benefitSubject}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">疾病标签:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="diseaseTag" placeholder="疾病标签" th:value="${diseaseTag}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">包含权益分类:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="includedBenefitCategory" placeholder="包含权益分类" th:value="${includedBenefitCategory}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">状态:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="status" placeholder="状态" th:value="${status}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<div class="main-content">
+    <div class="col-sm-offset-5 col-sm-10">
+        <!--<button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>
+        <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>-->
+    </div>
+</div>
+<th:block th:include="include :: footer" />
+</body>
+</html>
+
+<script>
+    function edit() {
+        var data = $("#form-SJkglMbglQyglBenefitinfo-edit").serializeArray();
+        $.ajax({
+            cache : true,
+            type : "POST",
+            url : ctx + "jkgl/sjkglmbglqyglbenefitinfo/sJkglMbglQyglBenefitinfoEdit",
+            data : data,
+            async : false,
+            error : function(request) {
+                $.modal.alertError("系统错误");
+            },
+            success : function(data) {
+                $.operate.successCallback(data);
+            }
+        });
+    }
+
+    function submitHandler() {
+        if ($.validate.form()) {
+            edit();
+        }
+    }
+</script>

+ 213 - 0
health-admin/src/main/resources/templates/jkgl/SJkglMbglQyglBenefitinfoList.html

@@ -0,0 +1,213 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<head>
+    <meta charset="UTF-8">
+    <meta name="format-detection" content="telephone=no">
+    <th:block th:include="include :: header('慢病权益信息表')" />
+    <th:block th:include="include :: layout-latest-css" />
+    <th:block th:include="include :: ztree-css" />
+</head>
+<style>
+    /* 设置 ul 的基本样式 */
+    ul {
+        list-style-type: none; /* 去掉项目符号 */
+        padding: 0; /* 去掉默认的内边距 */
+        display: grid; /* 使用网格布局 */
+        grid-template-columns: repeat(5, 1fr); /* 设置三列 */
+    }
+    ul-list ul{
+        list-style-type: none; /* 去掉项目符号 */
+        padding: 0; /* 去掉默认的内边距 */
+        display: grid; /* 使用网格布局 */
+        grid-template-columns: repeat(4, 1fr); /* 设置三列 */
+    }
+    ul-list ul li{
+        /*padding: 10px;*/ /* 内边距 */
+        text-align: left; /* 文本居中 */
+    }
+
+    /* 设置 li 的基本样式 */
+    li {
+        /*background-color: lightblue; *//* 背景颜色 */
+        /*padding: 1px; !* 内边距 *!*/
+        text-align: right; /* 文本居中 */
+    }
+</style>
+
+<body class="gray-bg">
+<div class="ui-layout-center">
+    <div class="container-div">
+        <div class="row">
+            <div class="col-sm-12 search-collapse" >
+                <form id="SJkglMbglQyglBenefitinfo-form">
+                    <input type="hidden" id="deptId" name="deptId">
+                    <input type="hidden" id="parentId" name="parentId">
+                    <div class="select-list" >
+                        <ul>
+                            <li>
+                                创建日期:<input type="text" class="styled-input" name="creationDate" autocomplete="off"/>
+                            </li>
+                            <li>
+                                权益主题:<input type="text" class="styled-input" name="benefitSubject" autocomplete="off"/>
+                            </li>
+                            <li>
+                                疾病标签:<input type="text" class="styled-input" name="diseaseTag" autocomplete="off"/>
+                            </li>
+                            <li>
+                                包含权益分类:<input type="text" class="styled-input" name="includedBenefitCategory" autocomplete="off"/>
+                            </li>
+                            <li>
+                                状态:<input type="text" class="styled-input" name="status" autocomplete="off"/>
+                            </li>
+                            <li style="text-align: center">
+                                <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
+                                <a class="btn btn-warning btn-rounded btn-sm" onclick="resetPre()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
+                            </li>
+                        </ul>
+                    </div>
+
+                </form>
+            </div>
+
+            <div class="btn-group-sm" id="toolbar" role="group">
+                <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:user:add">
+                    <i class="fa fa-plus"></i> 新增
+                </a>
+                 <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:user:edit">
+                    <i class="fa fa-edit"></i> 修改
+                </a>
+                <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:user:remove">
+                    <i class="fa fa-remove"></i> 删除
+                </a>
+                <a class="btn btn-info" onclick="$.table.importExcel()" shiro:hasPermission="system:user:import">
+                    <i class="fa fa-upload"></i> 导入
+                </a>
+                <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:user:export">
+                    <i class="fa fa-download"></i> 导出
+                </a>
+            </div>
+
+            <div class="col-sm-12 select-table table-striped">
+                <table id="bootstrap-table"></table>
+            </div>
+        </div>
+    </div>
+</div>
+
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: layout-latest-js" />
+<th:block th:include="include :: ztree-js" />
+<script th:inline="javascript">
+    var editFlag = [[${@permission.hasPermi('dtp:pmService:edit')}]];
+    var removeFlag = [[${@permission.hasPermi('dtp:pmService:remove')}]];
+    var prefix = ctx + "jkgl/sjkglmbglqyglbenefitinfo";
+    $(function() {
+        var panehHidden = false;
+        if ($(this).width() < 1590) {
+            panehHidden = true;
+        }
+        $('body').layout({ initClosed: panehHidden, west__size: 185, resizeWithWindow: false });
+        // 回到顶部绑定
+        if ($.fn.toTop !== undefined) {
+            var opt = {
+                win:$('.ui-layout-center'),
+                doc:$('.ui-layout-center')
+            };
+            $('#scroll-up').toTop(opt);
+        }
+        queryArchivesList();
+    });
+
+    function queryArchivesList() {
+        var options = {
+            url: prefix + "/sJkglMbglQyglBenefitinfoList",
+            viewUrl: prefix + "/sJkglMbglQyglBenefitinfoView/{id}",
+            createUrl: prefix + "/sJkglMbglQyglBenefitinfoAdd",
+            updateUrl: prefix + "/sJkglMbglQyglBenefitinfoEdit/{id}",
+            removeUrl: prefix + "/sJkglMbglQyglBenefitinfoRemove",
+            /*exportUrl: prefix + "/export",
+            importUrl: prefix + "/importData",
+            importTemplateUrl: prefix + "/importTemplate",*/
+            sortName: "id",
+            sortOrder: "asc",
+            modalName: "慢病权益信息表",
+            fitColumns: true,
+            striped: true,
+            autoRowHeight: true,
+            rowNumbers: true,
+            showFooter:true,  //是否显示表格底部区域。
+            clickToSelect: true, //是否启用点击行时选中整行的功能。
+            singleSelect: true, //是否仅允许选择一行
+            columns: [{
+                checkbox: true
+            },
+                { field: 'id', title: '主键', align: 'center' ,visible:false},
+                    { field: 'creationDate', title: '创建日期', align: 'center' },
+                    { field: 'benefitSubject', title: '权益主题', align: 'center' },
+                    { field: 'diseaseTag', title: '疾病标签', align: 'center' },
+                    { field: 'includedBenefitCategory', title: '包含权益分类', align: 'center' },
+                    { field: 'status', title: '状态', align: 'center' },
+
+                {
+                    title: '操作',
+                    align: 'center',
+                    formatter: function(value, row, index) {
+                        if (row.serviceId != 1) {
+                            var actions = [];
+                            actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="edit_page(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
+                            actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a> ');
+                            var more = [];
+                            /*more.push("<a class='btn btn-default btn-xs " + resetPwdFlag + "' href='javascript:void(0)' onclick='resetPwd(" + row.userId + ")'><i class='fa fa-key'></i>重置密码</a> ");
+                            more.push("<a class='btn btn-default btn-xs " + editFlag + "' href='javascript:void(0)' onclick='authRole(" + row.userId + ")'><i class='fa fa-check-square-o'></i>分配角色</a>");
+                            actions.push('<a tabindex="0" class="btn btn-info btn-xs" role="button" data-container="body" data-placement="left" data-toggle="popover" data-html="true" data-trigger="hover" data-content="' + more.join('') + '"><i class="fa fa-chevron-circle-right"></i>更多操作</a>');*/
+                            return actions.join('');
+                        } else {
+                            return "";
+                        }
+                    }
+                }]
+        };
+        $.table.init(options);
+    }
+
+    /* 自定义重置-表单重置/隐藏框/树节点选择色/搜索 */
+    function resetPre() {
+        resetDate();
+        $("#SJkglMbglQyglBenefitinfo-form")[0].reset();
+        $("#deptId").val("");
+        $("#parentId").val("");
+        $(".curSelectedNode").removeClass("curSelectedNode");
+        $.table.search();
+        var resetButton = document.getElementById('SJkglMbglQyglBenefitinfo-form');
+        resetButton.addEventListener('click', function() {
+            _refresh();
+        });
+    }
+    function edit_page(id){
+        table.set();
+        var url = "/404.html";
+        if ($.common.isNotEmpty(id)) {
+            url = table.options.updateUrl.replace("{id}", id);
+        } else {
+            var id = $.common.isEmpty(table.options.uniqueId) ? $.table.selectFirstColumns() : $.table.selectColumns(table.options.uniqueId);
+            if (id.length == 0) {
+                $.modal.alertWarning("请至少选择一条记录");
+                return;
+            }
+            url = table.options.updateUrl.replace("{id}", id);
+        }
+        $.modal.openTab("修改" + table.options.modalName, url + "?status=1" );
+    }
+
+    /* 用户状态显示 */
+    function statusTools(row) {
+        if (row.status == 1) {
+            return '<i class=\"fa fa-toggle-off text-info fa-2x\" onclick="enable(\'' + row.userId + '\')"></i> ';
+        } else {
+            return '<i class=\"fa fa-toggle-on text-info fa-2x\" onclick="disable(\'' + row.userId + '\')"></i> ';
+        }
+    }
+</script>
+</body>
+
+</html>

+ 81 - 0
health-admin/src/main/resources/templates/jkgl/SJkglMbglQyglBenefitinfoPageEdit.html

@@ -0,0 +1,81 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('慢病权益信息表修改')" />
+</head>
+<style>
+
+</style>
+<script>
+
+</script>
+<body>
+<div class="ui-layout-center">
+    <form class="form-horizontal" id="form-SJkglMbglQyglBenefitinfo-edit" th:object="${user}">
+        <h4 class="form-header h4">基本信息</h4>
+        <input type="hidden" id="id" name="id" th:value="${id}">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                    <label class="col-sm-1 control-label">创建日期:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="creationDate" placeholder="创建日期" th:value="${creationDate}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">权益主题:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="benefitSubject" placeholder="权益主题" th:value="${benefitSubject}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">疾病标签:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="diseaseTag" placeholder="疾病标签" th:value="${diseaseTag}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">包含权益分类:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="includedBenefitCategory" placeholder="包含权益分类" th:value="${includedBenefitCategory}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">状态:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="status" placeholder="状态" th:value="${status}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<div class="main-content">
+    <div class="col-sm-offset-5 col-sm-10">
+        <button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>&nbsp;
+        <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>
+    </div>
+</div>
+<th:block th:include="include :: footer" />
+</body>
+</html>
+
+<script>
+    function submitHandler() {
+        var prefix = ctx + "jkgl/sjkglmbglqyglbenefitinfo";
+        if ($.validate.form()) {
+            var data = $("#form-SJkglMbglQyglBenefitinfo-edit").serializeArray();
+            /*var status = $("input[id='status']").is(':checked') == true ? 0 : 1;
+            var roleIds = $.form.selectCheckeds("role");
+            var postIds = $.form.selectSelects("post");
+            data.push({"name": "status", "value": status});
+            data.push({"name": "roleIds", "value": roleIds});
+            data.push({"name": "postIds", "value": postIds});*/
+            $.operate.saveTab(prefix + "/sJkglMbglQyglBenefitinfoEdit", data);
+        }
+    }
+</script>

+ 121 - 0
health-admin/src/main/resources/templates/jkgl/SJkglMxbZdyFieldconfigAdd.html

@@ -0,0 +1,121 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('自定义数据采集配置新增')" />
+    <th:block th:include="include :: ztree-css" />
+</head>
+<body class="white-bg">
+<div class="wrapper wrapper-content animated fadeInRight ibox-content">
+    <form class="form-horizontal m" id="form-role-add">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                            <label class="col-sm-3 control-label">字段名称:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="fieldName" id="fieldName" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">是否启用:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="isEnabled" id="isEnabled" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">是否必填:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="isMandatory" id="isMandatory" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">单位:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="unit" id="unit" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">字段长度:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="fieldLength" id="fieldLength" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">录入形式:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="entryForm" id="entryForm" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">启用位置:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="enableLocation" id="enableLocation" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">分组名称:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="groupName" id="groupName" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">修改选项值:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="modificationOptions" id="modificationOptions" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: ztree-js" />
+<script type="text/javascript">
+
+    function submitHandler() {
+        if ($.validate.form()) {
+            add();
+        }
+    }
+
+    function add() {
+           var fieldName = $("input[name='fieldName']").val();
+           var isEnabled = $("input[name='isEnabled']").val();
+           var isMandatory = $("input[name='isMandatory']").val();
+           var unit = $("input[name='unit']").val();
+           var fieldLength = $("input[name='fieldLength']").val();
+           var entryForm = $("input[name='entryForm']").val();
+           var enableLocation = $("input[name='enableLocation']").val();
+           var groupName = $("input[name='groupName']").val();
+           var modificationOptions = $("input[name='modificationOptions']").val();
+
+        $.ajax({
+            cache : true,
+            type : "POST",
+            url : ctx + "jkgl/sjkglmxbzdyfieldconfig/sJkglMxbZdyFieldconfigAdd",
+            data : {
+                "fieldName": fieldName,
+                "isEnabled": isEnabled,
+                "isMandatory": isMandatory,
+                "unit": unit,
+                "fieldLength": fieldLength,
+                "entryForm": entryForm,
+                "enableLocation": enableLocation,
+                "groupName": groupName,
+                "modificationOptions": modificationOptions,
+            },
+            async : false,
+            error : function(request) {
+                $.modal.alertError("系统错误");
+            },
+            success : function(data) {
+                $.operate.successCallback(data);
+            }
+        });
+    }
+</script>
+</body>
+</html>

+ 114 - 0
health-admin/src/main/resources/templates/jkgl/SJkglMxbZdyFieldconfigEdit.html

@@ -0,0 +1,114 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('自定义数据采集配置修改')" />
+</head>
+<style>
+
+</style>
+<script>
+
+</script>
+<body>
+<div class="ui-layout-center">
+    <form class="form-horizontal" id="form-SJkglMxbZdyFieldconfig-edit" th:object="${user}">
+        <h4 class="form-header h4">基本信息</h4>
+        <input type="hidden" id="id" name="id" th:value="${id}">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                    <label class="col-sm-1 control-label">字段名称:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="fieldName" placeholder="字段名称" th:value="${fieldName}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">是否启用:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="isEnabled" placeholder="是否启用" th:value="${isEnabled}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">是否必填:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="isMandatory" placeholder="是否必填" th:value="${isMandatory}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">单位:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="unit" placeholder="单位" th:value="${unit}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">字段长度:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="fieldLength" placeholder="字段长度" th:value="${fieldLength}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">录入形式:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="entryForm" placeholder="录入形式" th:value="${entryForm}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">启用位置:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="enableLocation" placeholder="启用位置" th:value="${enableLocation}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">分组名称:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="groupName" placeholder="分组名称" th:value="${groupName}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">修改选项值:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="modificationOptions" placeholder="修改选项值" th:value="${modificationOptions}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<div class="main-content">
+    <div class="col-sm-offset-5 col-sm-10">
+        <!--<button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>
+        <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>-->
+    </div>
+</div>
+<th:block th:include="include :: footer" />
+</body>
+</html>
+
+<script>
+    function edit() {
+        var data = $("#form-SJkglMxbZdyFieldconfig-edit").serializeArray();
+        $.ajax({
+            cache : true,
+            type : "POST",
+            url : ctx + "jkgl/sjkglmxbzdyfieldconfig/sJkglMxbZdyFieldconfigEdit",
+            data : data,
+            async : false,
+            error : function(request) {
+                $.modal.alertError("系统错误");
+            },
+            success : function(data) {
+                $.operate.successCallback(data);
+            }
+        });
+    }
+
+    function submitHandler() {
+        if ($.validate.form()) {
+            edit();
+        }
+    }
+</script>

+ 229 - 0
health-admin/src/main/resources/templates/jkgl/SJkglMxbZdyFieldconfigList.html

@@ -0,0 +1,229 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<head>
+    <meta charset="UTF-8">
+    <meta name="format-detection" content="telephone=no">
+    <th:block th:include="include :: header('自定义数据采集配置')" />
+    <th:block th:include="include :: layout-latest-css" />
+    <th:block th:include="include :: ztree-css" />
+</head>
+<style>
+    /* 设置 ul 的基本样式 */
+    ul {
+        list-style-type: none; /* 去掉项目符号 */
+        padding: 0; /* 去掉默认的内边距 */
+        display: grid; /* 使用网格布局 */
+        grid-template-columns: repeat(5, 1fr); /* 设置三列 */
+    }
+    ul-list ul{
+        list-style-type: none; /* 去掉项目符号 */
+        padding: 0; /* 去掉默认的内边距 */
+        display: grid; /* 使用网格布局 */
+        grid-template-columns: repeat(4, 1fr); /* 设置三列 */
+    }
+    ul-list ul li{
+        /*padding: 10px;*/ /* 内边距 */
+        text-align: left; /* 文本居中 */
+    }
+
+    /* 设置 li 的基本样式 */
+    li {
+        /*background-color: lightblue; *//* 背景颜色 */
+        /*padding: 1px; !* 内边距 *!*/
+        text-align: right; /* 文本居中 */
+    }
+</style>
+
+<body class="gray-bg">
+<div class="ui-layout-center">
+    <div class="container-div">
+        <div class="row">
+            <div class="col-sm-12 search-collapse" >
+                <form id="SJkglMxbZdyFieldconfig-form">
+                    <input type="hidden" id="deptId" name="deptId">
+                    <input type="hidden" id="parentId" name="parentId">
+                    <div class="select-list" >
+                        <ul>
+                            <li>
+                                字段名称:<input type="text" class="styled-input" name="fieldName" autocomplete="off"/>
+                            </li>
+                            <li>
+                                是否启用:<input type="text" class="styled-input" name="isEnabled" autocomplete="off"/>
+                            </li>
+                            <li>
+                                是否必填:<input type="text" class="styled-input" name="isMandatory" autocomplete="off"/>
+                            </li>
+                            <li>
+                                单位:<input type="text" class="styled-input" name="unit" autocomplete="off"/>
+                            </li>
+                            <li>
+                                字段长度:<input type="text" class="styled-input" name="fieldLength" autocomplete="off"/>
+                            </li>
+                            <li>
+                                录入形式:<input type="text" class="styled-input" name="entryForm" autocomplete="off"/>
+                            </li>
+                            <li>
+                                启用位置:<input type="text" class="styled-input" name="enableLocation" autocomplete="off"/>
+                            </li>
+                            <li>
+                                分组名称:<input type="text" class="styled-input" name="groupName" autocomplete="off"/>
+                            </li>
+                            <li>
+                                修改选项值:<input type="text" class="styled-input" name="modificationOptions" autocomplete="off"/>
+                            </li>
+                            <li style="text-align: center">
+                                <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
+                                <a class="btn btn-warning btn-rounded btn-sm" onclick="resetPre()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
+                            </li>
+                        </ul>
+                    </div>
+
+                </form>
+            </div>
+
+            <div class="btn-group-sm" id="toolbar" role="group">
+                <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:user:add">
+                    <i class="fa fa-plus"></i> 新增
+                </a>
+                 <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:user:edit">
+                    <i class="fa fa-edit"></i> 修改
+                </a>
+                <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:user:remove">
+                    <i class="fa fa-remove"></i> 删除
+                </a>
+                <a class="btn btn-info" onclick="$.table.importExcel()" shiro:hasPermission="system:user:import">
+                    <i class="fa fa-upload"></i> 导入
+                </a>
+                <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:user:export">
+                    <i class="fa fa-download"></i> 导出
+                </a>
+            </div>
+
+            <div class="col-sm-12 select-table table-striped">
+                <table id="bootstrap-table"></table>
+            </div>
+        </div>
+    </div>
+</div>
+
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: layout-latest-js" />
+<th:block th:include="include :: ztree-js" />
+<script th:inline="javascript">
+    var editFlag = [[${@permission.hasPermi('dtp:pmService:edit')}]];
+    var removeFlag = [[${@permission.hasPermi('dtp:pmService:remove')}]];
+    var prefix = ctx + "jkgl/sjkglmxbzdyfieldconfig";
+    $(function() {
+        var panehHidden = false;
+        if ($(this).width() < 1590) {
+            panehHidden = true;
+        }
+        $('body').layout({ initClosed: panehHidden, west__size: 185, resizeWithWindow: false });
+        // 回到顶部绑定
+        if ($.fn.toTop !== undefined) {
+            var opt = {
+                win:$('.ui-layout-center'),
+                doc:$('.ui-layout-center')
+            };
+            $('#scroll-up').toTop(opt);
+        }
+        queryArchivesList();
+    });
+
+    function queryArchivesList() {
+        var options = {
+            url: prefix + "/sJkglMxbZdyFieldconfigList",
+            viewUrl: prefix + "/sJkglMxbZdyFieldconfigView/{id}",
+            createUrl: prefix + "/sJkglMxbZdyFieldconfigAdd",
+            updateUrl: prefix + "/sJkglMxbZdyFieldconfigEdit/{id}",
+            removeUrl: prefix + "/sJkglMxbZdyFieldconfigRemove",
+            /*exportUrl: prefix + "/export",
+            importUrl: prefix + "/importData",
+            importTemplateUrl: prefix + "/importTemplate",*/
+            sortName: "id",
+            sortOrder: "asc",
+            modalName: "自定义数据采集配置",
+            fitColumns: true,
+            striped: true,
+            autoRowHeight: true,
+            rowNumbers: true,
+            showFooter:true,  //是否显示表格底部区域。
+            clickToSelect: true, //是否启用点击行时选中整行的功能。
+            singleSelect: true, //是否仅允许选择一行
+            columns: [{
+                checkbox: true
+            },
+                { field: 'id', title: '主键', align: 'center' ,visible:false},
+                    { field: 'fieldName', title: '字段名称', align: 'center' },
+                    { field: 'isEnabled', title: '是否启用', align: 'center' },
+                    { field: 'isMandatory', title: '是否必填', align: 'center' },
+                    { field: 'unit', title: '单位', align: 'center' },
+                    { field: 'fieldLength', title: '字段长度', align: 'center' },
+                    { field: 'entryForm', title: '录入形式', align: 'center' },
+                    { field: 'enableLocation', title: '启用位置', align: 'center' },
+                    { field: 'groupName', title: '分组名称', align: 'center' },
+                    { field: 'modificationOptions', title: '修改选项值', align: 'center' },
+
+                {
+                    title: '操作',
+                    align: 'center',
+                    formatter: function(value, row, index) {
+                        if (row.serviceId != 1) {
+                            var actions = [];
+                            actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="edit_page(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
+                            actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a> ');
+                            var more = [];
+                            /*more.push("<a class='btn btn-default btn-xs " + resetPwdFlag + "' href='javascript:void(0)' onclick='resetPwd(" + row.userId + ")'><i class='fa fa-key'></i>重置密码</a> ");
+                            more.push("<a class='btn btn-default btn-xs " + editFlag + "' href='javascript:void(0)' onclick='authRole(" + row.userId + ")'><i class='fa fa-check-square-o'></i>分配角色</a>");
+                            actions.push('<a tabindex="0" class="btn btn-info btn-xs" role="button" data-container="body" data-placement="left" data-toggle="popover" data-html="true" data-trigger="hover" data-content="' + more.join('') + '"><i class="fa fa-chevron-circle-right"></i>更多操作</a>');*/
+                            return actions.join('');
+                        } else {
+                            return "";
+                        }
+                    }
+                }]
+        };
+        $.table.init(options);
+    }
+
+    /* 自定义重置-表单重置/隐藏框/树节点选择色/搜索 */
+    function resetPre() {
+        resetDate();
+        $("#SJkglMxbZdyFieldconfig-form")[0].reset();
+        $("#deptId").val("");
+        $("#parentId").val("");
+        $(".curSelectedNode").removeClass("curSelectedNode");
+        $.table.search();
+        var resetButton = document.getElementById('SJkglMxbZdyFieldconfig-form');
+        resetButton.addEventListener('click', function() {
+            _refresh();
+        });
+    }
+    function edit_page(id){
+        table.set();
+        var url = "/404.html";
+        if ($.common.isNotEmpty(id)) {
+            url = table.options.updateUrl.replace("{id}", id);
+        } else {
+            var id = $.common.isEmpty(table.options.uniqueId) ? $.table.selectFirstColumns() : $.table.selectColumns(table.options.uniqueId);
+            if (id.length == 0) {
+                $.modal.alertWarning("请至少选择一条记录");
+                return;
+            }
+            url = table.options.updateUrl.replace("{id}", id);
+        }
+        $.modal.openTab("修改" + table.options.modalName, url + "?status=1" );
+    }
+
+    /* 用户状态显示 */
+    function statusTools(row) {
+        if (row.status == 1) {
+            return '<i class=\"fa fa-toggle-off text-info fa-2x\" onclick="enable(\'' + row.userId + '\')"></i> ';
+        } else {
+            return '<i class=\"fa fa-toggle-on text-info fa-2x\" onclick="disable(\'' + row.userId + '\')"></i> ';
+        }
+    }
+</script>
+</body>
+
+</html>

+ 105 - 0
health-admin/src/main/resources/templates/jkgl/SJkglMxbZdyFieldconfigPageEdit.html

@@ -0,0 +1,105 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('自定义数据采集配置修改')" />
+</head>
+<style>
+
+</style>
+<script>
+
+</script>
+<body>
+<div class="ui-layout-center">
+    <form class="form-horizontal" id="form-SJkglMxbZdyFieldconfig-edit" th:object="${user}">
+        <h4 class="form-header h4">基本信息</h4>
+        <input type="hidden" id="id" name="id" th:value="${id}">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                    <label class="col-sm-1 control-label">字段名称:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="fieldName" placeholder="字段名称" th:value="${fieldName}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">是否启用:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="isEnabled" placeholder="是否启用" th:value="${isEnabled}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">是否必填:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="isMandatory" placeholder="是否必填" th:value="${isMandatory}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">单位:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="unit" placeholder="单位" th:value="${unit}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">字段长度:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="fieldLength" placeholder="字段长度" th:value="${fieldLength}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">录入形式:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="entryForm" placeholder="录入形式" th:value="${entryForm}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">启用位置:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="enableLocation" placeholder="启用位置" th:value="${enableLocation}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">分组名称:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="groupName" placeholder="分组名称" th:value="${groupName}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">修改选项值:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="modificationOptions" placeholder="修改选项值" th:value="${modificationOptions}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<div class="main-content">
+    <div class="col-sm-offset-5 col-sm-10">
+        <button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>&nbsp;
+        <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>
+    </div>
+</div>
+<th:block th:include="include :: footer" />
+</body>
+</html>
+
+<script>
+    function submitHandler() {
+        var prefix = ctx + "jkgl/sjkglmxbzdyfieldconfig";
+        if ($.validate.form()) {
+            var data = $("#form-SJkglMxbZdyFieldconfig-edit").serializeArray();
+            /*var status = $("input[id='status']").is(':checked') == true ? 0 : 1;
+            var roleIds = $.form.selectCheckeds("role");
+            var postIds = $.form.selectSelects("post");
+            data.push({"name": "status", "value": status});
+            data.push({"name": "roleIds", "value": roleIds});
+            data.push({"name": "postIds", "value": postIds});*/
+            $.operate.saveTab(prefix + "/sJkglMxbZdyFieldconfigEdit", data);
+        }
+    }
+</script>

+ 97 - 0
health-admin/src/main/resources/templates/jkgl/SJkglRegistrationinfoAdd.html

@@ -0,0 +1,97 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('购药信息收集新增')" />
+    <th:block th:include="include :: ztree-css" />
+</head>
+<body class="white-bg">
+<div class="wrapper wrapper-content animated fadeInRight ibox-content">
+    <form class="form-horizontal m" id="form-role-add">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                            <label class="col-sm-3 control-label">创建日期:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="creationDate" id="creationDate" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">主题:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="theme" id="theme" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">登记类型:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="registrationType" id="registrationType" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">是否强管控:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="isStrictControl" id="isStrictControl" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">状态:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="status" id="status" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">登记次数:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="registrationCount" id="registrationCount" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: ztree-js" />
+<script type="text/javascript">
+
+    function submitHandler() {
+        if ($.validate.form()) {
+            add();
+        }
+    }
+
+    function add() {
+           var creationDate = $("input[name='creationDate']").val();
+           var theme = $("input[name='theme']").val();
+           var registrationType = $("input[name='registrationType']").val();
+           var isStrictControl = $("input[name='isStrictControl']").val();
+           var status = $("input[name='status']").val();
+           var registrationCount = $("input[name='registrationCount']").val();
+
+        $.ajax({
+            cache : true,
+            type : "POST",
+            url : ctx + "jkgl/sjkglregistrationinfo/sJkglRegistrationinfoAdd",
+            data : {
+                "creationDate": creationDate,
+                "theme": theme,
+                "registrationType": registrationType,
+                "isStrictControl": isStrictControl,
+                "status": status,
+                "registrationCount": registrationCount,
+            },
+            async : false,
+            error : function(request) {
+                $.modal.alertError("系统错误");
+            },
+            success : function(data) {
+                $.operate.successCallback(data);
+            }
+        });
+    }
+</script>
+</body>
+</html>

+ 96 - 0
health-admin/src/main/resources/templates/jkgl/SJkglRegistrationinfoEdit.html

@@ -0,0 +1,96 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('购药信息收集修改')" />
+</head>
+<style>
+
+</style>
+<script>
+
+</script>
+<body>
+<div class="ui-layout-center">
+    <form class="form-horizontal" id="form-SJkglRegistrationinfo-edit" th:object="${user}">
+        <h4 class="form-header h4">基本信息</h4>
+        <input type="hidden" id="id" name="id" th:value="${id}">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                    <label class="col-sm-1 control-label">创建日期:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="creationDate" placeholder="创建日期" th:value="${creationDate}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">主题:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="theme" placeholder="主题" th:value="${theme}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">登记类型:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="registrationType" placeholder="登记类型" th:value="${registrationType}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">是否强管控:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="isStrictControl" placeholder="是否强管控" th:value="${isStrictControl}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">状态:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="status" placeholder="状态" th:value="${status}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">登记次数:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="registrationCount" placeholder="登记次数" th:value="${registrationCount}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<div class="main-content">
+    <div class="col-sm-offset-5 col-sm-10">
+        <!--<button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>
+        <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>-->
+    </div>
+</div>
+<th:block th:include="include :: footer" />
+</body>
+</html>
+
+<script>
+    function edit() {
+        var data = $("#form-SJkglRegistrationinfo-edit").serializeArray();
+        $.ajax({
+            cache : true,
+            type : "POST",
+            url : ctx + "jkgl/sjkglregistrationinfo/sJkglRegistrationinfoEdit",
+            data : data,
+            async : false,
+            error : function(request) {
+                $.modal.alertError("系统错误");
+            },
+            success : function(data) {
+                $.operate.successCallback(data);
+            }
+        });
+    }
+
+    function submitHandler() {
+        if ($.validate.form()) {
+            edit();
+        }
+    }
+</script>

+ 217 - 0
health-admin/src/main/resources/templates/jkgl/SJkglRegistrationinfoList.html

@@ -0,0 +1,217 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<head>
+    <meta charset="UTF-8">
+    <meta name="format-detection" content="telephone=no">
+    <th:block th:include="include :: header('购药信息收集')" />
+    <th:block th:include="include :: layout-latest-css" />
+    <th:block th:include="include :: ztree-css" />
+</head>
+<style>
+    /* 设置 ul 的基本样式 */
+    ul {
+        list-style-type: none; /* 去掉项目符号 */
+        padding: 0; /* 去掉默认的内边距 */
+        display: grid; /* 使用网格布局 */
+        grid-template-columns: repeat(5, 1fr); /* 设置三列 */
+    }
+    ul-list ul{
+        list-style-type: none; /* 去掉项目符号 */
+        padding: 0; /* 去掉默认的内边距 */
+        display: grid; /* 使用网格布局 */
+        grid-template-columns: repeat(4, 1fr); /* 设置三列 */
+    }
+    ul-list ul li{
+        /*padding: 10px;*/ /* 内边距 */
+        text-align: left; /* 文本居中 */
+    }
+
+    /* 设置 li 的基本样式 */
+    li {
+        /*background-color: lightblue; *//* 背景颜色 */
+        /*padding: 1px; !* 内边距 *!*/
+        text-align: right; /* 文本居中 */
+    }
+</style>
+
+<body class="gray-bg">
+<div class="ui-layout-center">
+    <div class="container-div">
+        <div class="row">
+            <div class="col-sm-12 search-collapse" >
+                <form id="SJkglRegistrationinfo-form">
+                    <input type="hidden" id="deptId" name="deptId">
+                    <input type="hidden" id="parentId" name="parentId">
+                    <div class="select-list" >
+                        <ul>
+                            <li>
+                                创建日期:<input type="text" class="styled-input" name="creationDate" autocomplete="off"/>
+                            </li>
+                            <li>
+                                主题:<input type="text" class="styled-input" name="theme" autocomplete="off"/>
+                            </li>
+                            <li>
+                                登记类型:<input type="text" class="styled-input" name="registrationType" autocomplete="off"/>
+                            </li>
+                            <li>
+                                是否强管控:<input type="text" class="styled-input" name="isStrictControl" autocomplete="off"/>
+                            </li>
+                            <li>
+                                状态:<input type="text" class="styled-input" name="status" autocomplete="off"/>
+                            </li>
+                            <li>
+                                登记次数:<input type="text" class="styled-input" name="registrationCount" autocomplete="off"/>
+                            </li>
+                            <li style="text-align: center">
+                                <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
+                                <a class="btn btn-warning btn-rounded btn-sm" onclick="resetPre()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
+                            </li>
+                        </ul>
+                    </div>
+
+                </form>
+            </div>
+
+            <div class="btn-group-sm" id="toolbar" role="group">
+                <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:user:add">
+                    <i class="fa fa-plus"></i> 新增
+                </a>
+                 <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:user:edit">
+                    <i class="fa fa-edit"></i> 修改
+                </a>
+                <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:user:remove">
+                    <i class="fa fa-remove"></i> 删除
+                </a>
+                <a class="btn btn-info" onclick="$.table.importExcel()" shiro:hasPermission="system:user:import">
+                    <i class="fa fa-upload"></i> 导入
+                </a>
+                <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:user:export">
+                    <i class="fa fa-download"></i> 导出
+                </a>
+            </div>
+
+            <div class="col-sm-12 select-table table-striped">
+                <table id="bootstrap-table"></table>
+            </div>
+        </div>
+    </div>
+</div>
+
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: layout-latest-js" />
+<th:block th:include="include :: ztree-js" />
+<script th:inline="javascript">
+    var editFlag = [[${@permission.hasPermi('dtp:pmService:edit')}]];
+    var removeFlag = [[${@permission.hasPermi('dtp:pmService:remove')}]];
+    var prefix = ctx + "jkgl/sjkglregistrationinfo";
+    $(function() {
+        var panehHidden = false;
+        if ($(this).width() < 1590) {
+            panehHidden = true;
+        }
+        $('body').layout({ initClosed: panehHidden, west__size: 185, resizeWithWindow: false });
+        // 回到顶部绑定
+        if ($.fn.toTop !== undefined) {
+            var opt = {
+                win:$('.ui-layout-center'),
+                doc:$('.ui-layout-center')
+            };
+            $('#scroll-up').toTop(opt);
+        }
+        queryArchivesList();
+    });
+
+    function queryArchivesList() {
+        var options = {
+            url: prefix + "/sJkglRegistrationinfoList",
+            viewUrl: prefix + "/sJkglRegistrationinfoView/{id}",
+            createUrl: prefix + "/sJkglRegistrationinfoAdd",
+            updateUrl: prefix + "/sJkglRegistrationinfoEdit/{id}",
+            removeUrl: prefix + "/sJkglRegistrationinfoRemove",
+            /*exportUrl: prefix + "/export",
+            importUrl: prefix + "/importData",
+            importTemplateUrl: prefix + "/importTemplate",*/
+            sortName: "id",
+            sortOrder: "asc",
+            modalName: "购药信息收集",
+            fitColumns: true,
+            striped: true,
+            autoRowHeight: true,
+            rowNumbers: true,
+            showFooter:true,  //是否显示表格底部区域。
+            clickToSelect: true, //是否启用点击行时选中整行的功能。
+            singleSelect: true, //是否仅允许选择一行
+            columns: [{
+                checkbox: true
+            },
+                { field: 'id', title: '主键', align: 'center' ,visible:false},
+                    { field: 'creationDate', title: '创建日期', align: 'center' },
+                    { field: 'theme', title: '主题', align: 'center' },
+                    { field: 'registrationType', title: '登记类型', align: 'center' },
+                    { field: 'isStrictControl', title: '是否强管控', align: 'center' },
+                    { field: 'status', title: '状态', align: 'center' },
+                    { field: 'registrationCount', title: '登记次数', align: 'center' },
+
+                {
+                    title: '操作',
+                    align: 'center',
+                    formatter: function(value, row, index) {
+                        if (row.serviceId != 1) {
+                            var actions = [];
+                            actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="edit_page(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
+                            actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a> ');
+                            var more = [];
+                            /*more.push("<a class='btn btn-default btn-xs " + resetPwdFlag + "' href='javascript:void(0)' onclick='resetPwd(" + row.userId + ")'><i class='fa fa-key'></i>重置密码</a> ");
+                            more.push("<a class='btn btn-default btn-xs " + editFlag + "' href='javascript:void(0)' onclick='authRole(" + row.userId + ")'><i class='fa fa-check-square-o'></i>分配角色</a>");
+                            actions.push('<a tabindex="0" class="btn btn-info btn-xs" role="button" data-container="body" data-placement="left" data-toggle="popover" data-html="true" data-trigger="hover" data-content="' + more.join('') + '"><i class="fa fa-chevron-circle-right"></i>更多操作</a>');*/
+                            return actions.join('');
+                        } else {
+                            return "";
+                        }
+                    }
+                }]
+        };
+        $.table.init(options);
+    }
+
+    /* 自定义重置-表单重置/隐藏框/树节点选择色/搜索 */
+    function resetPre() {
+        resetDate();
+        $("#SJkglRegistrationinfo-form")[0].reset();
+        $("#deptId").val("");
+        $("#parentId").val("");
+        $(".curSelectedNode").removeClass("curSelectedNode");
+        $.table.search();
+        var resetButton = document.getElementById('SJkglRegistrationinfo-form');
+        resetButton.addEventListener('click', function() {
+            _refresh();
+        });
+    }
+    function edit_page(id){
+        table.set();
+        var url = "/404.html";
+        if ($.common.isNotEmpty(id)) {
+            url = table.options.updateUrl.replace("{id}", id);
+        } else {
+            var id = $.common.isEmpty(table.options.uniqueId) ? $.table.selectFirstColumns() : $.table.selectColumns(table.options.uniqueId);
+            if (id.length == 0) {
+                $.modal.alertWarning("请至少选择一条记录");
+                return;
+            }
+            url = table.options.updateUrl.replace("{id}", id);
+        }
+        $.modal.openTab("修改" + table.options.modalName, url + "?status=1" );
+    }
+
+    /* 用户状态显示 */
+    function statusTools(row) {
+        if (row.status == 1) {
+            return '<i class=\"fa fa-toggle-off text-info fa-2x\" onclick="enable(\'' + row.userId + '\')"></i> ';
+        } else {
+            return '<i class=\"fa fa-toggle-on text-info fa-2x\" onclick="disable(\'' + row.userId + '\')"></i> ';
+        }
+    }
+</script>
+</body>
+
+</html>

+ 87 - 0
health-admin/src/main/resources/templates/jkgl/SJkglRegistrationinfoPageEdit.html

@@ -0,0 +1,87 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('购药信息收集修改')" />
+</head>
+<style>
+
+</style>
+<script>
+
+</script>
+<body>
+<div class="ui-layout-center">
+    <form class="form-horizontal" id="form-SJkglRegistrationinfo-edit" th:object="${user}">
+        <h4 class="form-header h4">基本信息</h4>
+        <input type="hidden" id="id" name="id" th:value="${id}">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                    <label class="col-sm-1 control-label">创建日期:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="creationDate" placeholder="创建日期" th:value="${creationDate}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">主题:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="theme" placeholder="主题" th:value="${theme}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">登记类型:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="registrationType" placeholder="登记类型" th:value="${registrationType}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">是否强管控:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="isStrictControl" placeholder="是否强管控" th:value="${isStrictControl}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">状态:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="status" placeholder="状态" th:value="${status}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">登记次数:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="registrationCount" placeholder="登记次数" th:value="${registrationCount}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<div class="main-content">
+    <div class="col-sm-offset-5 col-sm-10">
+        <button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>&nbsp;
+        <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>
+    </div>
+</div>
+<th:block th:include="include :: footer" />
+</body>
+</html>
+
+<script>
+    function submitHandler() {
+        var prefix = ctx + "jkgl/sjkglregistrationinfo";
+        if ($.validate.form()) {
+            var data = $("#form-SJkglRegistrationinfo-edit").serializeArray();
+            /*var status = $("input[id='status']").is(':checked') == true ? 0 : 1;
+            var roleIds = $.form.selectCheckeds("role");
+            var postIds = $.form.selectSelects("post");
+            data.push({"name": "status", "value": status});
+            data.push({"name": "roleIds", "value": roleIds});
+            data.push({"name": "postIds", "value": postIds});*/
+            $.operate.saveTab(prefix + "/sJkglRegistrationinfoEdit", data);
+        }
+    }
+</script>

+ 121 - 0
health-admin/src/main/resources/templates/jkgl/SJkglYpwxServiceprojectinfoAdd.html

@@ -0,0 +1,121 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('药品维系服务新增')" />
+    <th:block th:include="include :: ztree-css" />
+</head>
+<body class="white-bg">
+<div class="wrapper wrapper-content animated fadeInRight ibox-content">
+    <form class="form-horizontal m" id="form-role-add">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                            <label class="col-sm-3 control-label">创建日期:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="creationDate" id="creationDate" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">主题:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="theme" id="theme" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">包含药品:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="includedMedicines" id="includedMedicines" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">维系模式:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="maintenanceMode" id="maintenanceMode" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">服务期数:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="servicePeriods" id="servicePeriods" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">状态:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="status" id="status" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">服务人数:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="servedPeople" id="servedPeople" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">是否配置短信模板:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="isSmsTemplateConfigured" id="isSmsTemplateConfigured" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">数据来源:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="dataSource" id="dataSource" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: ztree-js" />
+<script type="text/javascript">
+
+    function submitHandler() {
+        if ($.validate.form()) {
+            add();
+        }
+    }
+
+    function add() {
+           var creationDate = $("input[name='creationDate']").val();
+           var theme = $("input[name='theme']").val();
+           var includedMedicines = $("input[name='includedMedicines']").val();
+           var maintenanceMode = $("input[name='maintenanceMode']").val();
+           var servicePeriods = $("input[name='servicePeriods']").val();
+           var status = $("input[name='status']").val();
+           var servedPeople = $("input[name='servedPeople']").val();
+           var isSmsTemplateConfigured = $("input[name='isSmsTemplateConfigured']").val();
+           var dataSource = $("input[name='dataSource']").val();
+
+        $.ajax({
+            cache : true,
+            type : "POST",
+            url : ctx + "jkgl/sjkglypwxserviceprojectinfo/sJkglYpwxServiceprojectinfoAdd",
+            data : {
+                "creationDate": creationDate,
+                "theme": theme,
+                "includedMedicines": includedMedicines,
+                "maintenanceMode": maintenanceMode,
+                "servicePeriods": servicePeriods,
+                "status": status,
+                "servedPeople": servedPeople,
+                "isSmsTemplateConfigured": isSmsTemplateConfigured,
+                "dataSource": dataSource,
+            },
+            async : false,
+            error : function(request) {
+                $.modal.alertError("系统错误");
+            },
+            success : function(data) {
+                $.operate.successCallback(data);
+            }
+        });
+    }
+</script>
+</body>
+</html>

+ 114 - 0
health-admin/src/main/resources/templates/jkgl/SJkglYpwxServiceprojectinfoEdit.html

@@ -0,0 +1,114 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('药品维系服务修改')" />
+</head>
+<style>
+
+</style>
+<script>
+
+</script>
+<body>
+<div class="ui-layout-center">
+    <form class="form-horizontal" id="form-SJkglYpwxServiceprojectinfo-edit" th:object="${user}">
+        <h4 class="form-header h4">基本信息</h4>
+        <input type="hidden" id="id" name="id" th:value="${id}">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                    <label class="col-sm-1 control-label">创建日期:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="creationDate" placeholder="创建日期" th:value="${creationDate}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">主题:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="theme" placeholder="主题" th:value="${theme}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">包含药品:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="includedMedicines" placeholder="包含药品" th:value="${includedMedicines}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">维系模式:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="maintenanceMode" placeholder="维系模式" th:value="${maintenanceMode}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">服务期数:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="servicePeriods" placeholder="服务期数" th:value="${servicePeriods}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">状态:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="status" placeholder="状态" th:value="${status}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">服务人数:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="servedPeople" placeholder="服务人数" th:value="${servedPeople}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">是否配置短信模板:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="isSmsTemplateConfigured" placeholder="是否配置短信模板" th:value="${isSmsTemplateConfigured}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">数据来源:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="dataSource" placeholder="数据来源" th:value="${dataSource}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<div class="main-content">
+    <div class="col-sm-offset-5 col-sm-10">
+        <!--<button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>
+        <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>-->
+    </div>
+</div>
+<th:block th:include="include :: footer" />
+</body>
+</html>
+
+<script>
+    function edit() {
+        var data = $("#form-SJkglYpwxServiceprojectinfo-edit").serializeArray();
+        $.ajax({
+            cache : true,
+            type : "POST",
+            url : ctx + "jkgl/sjkglypwxserviceprojectinfo/sJkglYpwxServiceprojectinfoEdit",
+            data : data,
+            async : false,
+            error : function(request) {
+                $.modal.alertError("系统错误");
+            },
+            success : function(data) {
+                $.operate.successCallback(data);
+            }
+        });
+    }
+
+    function submitHandler() {
+        if ($.validate.form()) {
+            edit();
+        }
+    }
+</script>

+ 229 - 0
health-admin/src/main/resources/templates/jkgl/SJkglYpwxServiceprojectinfoList.html

@@ -0,0 +1,229 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<head>
+    <meta charset="UTF-8">
+    <meta name="format-detection" content="telephone=no">
+    <th:block th:include="include :: header('药品维系服务')" />
+    <th:block th:include="include :: layout-latest-css" />
+    <th:block th:include="include :: ztree-css" />
+</head>
+<style>
+    /* 设置 ul 的基本样式 */
+    ul {
+        list-style-type: none; /* 去掉项目符号 */
+        padding: 0; /* 去掉默认的内边距 */
+        display: grid; /* 使用网格布局 */
+        grid-template-columns: repeat(5, 1fr); /* 设置三列 */
+    }
+    ul-list ul{
+        list-style-type: none; /* 去掉项目符号 */
+        padding: 0; /* 去掉默认的内边距 */
+        display: grid; /* 使用网格布局 */
+        grid-template-columns: repeat(4, 1fr); /* 设置三列 */
+    }
+    ul-list ul li{
+        /*padding: 10px;*/ /* 内边距 */
+        text-align: left; /* 文本居中 */
+    }
+
+    /* 设置 li 的基本样式 */
+    li {
+        /*background-color: lightblue; *//* 背景颜色 */
+        /*padding: 1px; !* 内边距 *!*/
+        text-align: right; /* 文本居中 */
+    }
+</style>
+
+<body class="gray-bg">
+<div class="ui-layout-center">
+    <div class="container-div">
+        <div class="row">
+            <div class="col-sm-12 search-collapse" >
+                <form id="SJkglYpwxServiceprojectinfo-form">
+                    <input type="hidden" id="deptId" name="deptId">
+                    <input type="hidden" id="parentId" name="parentId">
+                    <div class="select-list" >
+                        <ul>
+                            <li>
+                                创建日期:<input type="text" class="styled-input" name="creationDate" autocomplete="off"/>
+                            </li>
+                            <li>
+                                主题:<input type="text" class="styled-input" name="theme" autocomplete="off"/>
+                            </li>
+                            <li>
+                                包含药品:<input type="text" class="styled-input" name="includedMedicines" autocomplete="off"/>
+                            </li>
+                            <li>
+                                维系模式:<input type="text" class="styled-input" name="maintenanceMode" autocomplete="off"/>
+                            </li>
+                            <li>
+                                服务期数:<input type="text" class="styled-input" name="servicePeriods" autocomplete="off"/>
+                            </li>
+                            <li>
+                                状态:<input type="text" class="styled-input" name="status" autocomplete="off"/>
+                            </li>
+                            <li>
+                                服务人数:<input type="text" class="styled-input" name="servedPeople" autocomplete="off"/>
+                            </li>
+                            <li>
+                                是否配置短信模板:<input type="text" class="styled-input" name="isSmsTemplateConfigured" autocomplete="off"/>
+                            </li>
+                            <li>
+                                数据来源:<input type="text" class="styled-input" name="dataSource" autocomplete="off"/>
+                            </li>
+                            <li style="text-align: center">
+                                <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
+                                <a class="btn btn-warning btn-rounded btn-sm" onclick="resetPre()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
+                            </li>
+                        </ul>
+                    </div>
+
+                </form>
+            </div>
+
+            <div class="btn-group-sm" id="toolbar" role="group">
+                <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:user:add">
+                    <i class="fa fa-plus"></i> 新增
+                </a>
+                 <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:user:edit">
+                    <i class="fa fa-edit"></i> 修改
+                </a>
+                <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:user:remove">
+                    <i class="fa fa-remove"></i> 删除
+                </a>
+                <a class="btn btn-info" onclick="$.table.importExcel()" shiro:hasPermission="system:user:import">
+                    <i class="fa fa-upload"></i> 导入
+                </a>
+                <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:user:export">
+                    <i class="fa fa-download"></i> 导出
+                </a>
+            </div>
+
+            <div class="col-sm-12 select-table table-striped">
+                <table id="bootstrap-table"></table>
+            </div>
+        </div>
+    </div>
+</div>
+
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: layout-latest-js" />
+<th:block th:include="include :: ztree-js" />
+<script th:inline="javascript">
+    var editFlag = [[${@permission.hasPermi('dtp:pmService:edit')}]];
+    var removeFlag = [[${@permission.hasPermi('dtp:pmService:remove')}]];
+    var prefix = ctx + "jkgl/sjkglypwxserviceprojectinfo";
+    $(function() {
+        var panehHidden = false;
+        if ($(this).width() < 1590) {
+            panehHidden = true;
+        }
+        $('body').layout({ initClosed: panehHidden, west__size: 185, resizeWithWindow: false });
+        // 回到顶部绑定
+        if ($.fn.toTop !== undefined) {
+            var opt = {
+                win:$('.ui-layout-center'),
+                doc:$('.ui-layout-center')
+            };
+            $('#scroll-up').toTop(opt);
+        }
+        queryArchivesList();
+    });
+
+    function queryArchivesList() {
+        var options = {
+            url: prefix + "/sJkglYpwxServiceprojectinfoList",
+            viewUrl: prefix + "/sJkglYpwxServiceprojectinfoView/{id}",
+            createUrl: prefix + "/sJkglYpwxServiceprojectinfoAdd",
+            updateUrl: prefix + "/sJkglYpwxServiceprojectinfoEdit/{id}",
+            removeUrl: prefix + "/sJkglYpwxServiceprojectinfoRemove",
+            /*exportUrl: prefix + "/export",
+            importUrl: prefix + "/importData",
+            importTemplateUrl: prefix + "/importTemplate",*/
+            sortName: "id",
+            sortOrder: "asc",
+            modalName: "药品维系服务",
+            fitColumns: true,
+            striped: true,
+            autoRowHeight: true,
+            rowNumbers: true,
+            showFooter:true,  //是否显示表格底部区域。
+            clickToSelect: true, //是否启用点击行时选中整行的功能。
+            singleSelect: true, //是否仅允许选择一行
+            columns: [{
+                checkbox: true
+            },
+                { field: 'id', title: '主键', align: 'center' ,visible:false},
+                    { field: 'creationDate', title: '创建日期', align: 'center' },
+                    { field: 'theme', title: '主题', align: 'center' },
+                    { field: 'includedMedicines', title: '包含药品', align: 'center' },
+                    { field: 'maintenanceMode', title: '维系模式', align: 'center' },
+                    { field: 'servicePeriods', title: '服务期数', align: 'center' },
+                    { field: 'status', title: '状态', align: 'center' },
+                    { field: 'servedPeople', title: '服务人数', align: 'center' },
+                    { field: 'isSmsTemplateConfigured', title: '是否配置短信模板', align: 'center' },
+                    { field: 'dataSource', title: '数据来源', align: 'center' },
+
+                {
+                    title: '操作',
+                    align: 'center',
+                    formatter: function(value, row, index) {
+                        if (row.serviceId != 1) {
+                            var actions = [];
+                            actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="edit_page(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
+                            actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a> ');
+                            var more = [];
+                            /*more.push("<a class='btn btn-default btn-xs " + resetPwdFlag + "' href='javascript:void(0)' onclick='resetPwd(" + row.userId + ")'><i class='fa fa-key'></i>重置密码</a> ");
+                            more.push("<a class='btn btn-default btn-xs " + editFlag + "' href='javascript:void(0)' onclick='authRole(" + row.userId + ")'><i class='fa fa-check-square-o'></i>分配角色</a>");
+                            actions.push('<a tabindex="0" class="btn btn-info btn-xs" role="button" data-container="body" data-placement="left" data-toggle="popover" data-html="true" data-trigger="hover" data-content="' + more.join('') + '"><i class="fa fa-chevron-circle-right"></i>更多操作</a>');*/
+                            return actions.join('');
+                        } else {
+                            return "";
+                        }
+                    }
+                }]
+        };
+        $.table.init(options);
+    }
+
+    /* 自定义重置-表单重置/隐藏框/树节点选择色/搜索 */
+    function resetPre() {
+        resetDate();
+        $("#SJkglYpwxServiceprojectinfo-form")[0].reset();
+        $("#deptId").val("");
+        $("#parentId").val("");
+        $(".curSelectedNode").removeClass("curSelectedNode");
+        $.table.search();
+        var resetButton = document.getElementById('SJkglYpwxServiceprojectinfo-form');
+        resetButton.addEventListener('click', function() {
+            _refresh();
+        });
+    }
+    function edit_page(id){
+        table.set();
+        var url = "/404.html";
+        if ($.common.isNotEmpty(id)) {
+            url = table.options.updateUrl.replace("{id}", id);
+        } else {
+            var id = $.common.isEmpty(table.options.uniqueId) ? $.table.selectFirstColumns() : $.table.selectColumns(table.options.uniqueId);
+            if (id.length == 0) {
+                $.modal.alertWarning("请至少选择一条记录");
+                return;
+            }
+            url = table.options.updateUrl.replace("{id}", id);
+        }
+        $.modal.openTab("修改" + table.options.modalName, url + "?status=1" );
+    }
+
+    /* 用户状态显示 */
+    function statusTools(row) {
+        if (row.status == 1) {
+            return '<i class=\"fa fa-toggle-off text-info fa-2x\" onclick="enable(\'' + row.userId + '\')"></i> ';
+        } else {
+            return '<i class=\"fa fa-toggle-on text-info fa-2x\" onclick="disable(\'' + row.userId + '\')"></i> ';
+        }
+    }
+</script>
+</body>
+
+</html>

+ 105 - 0
health-admin/src/main/resources/templates/jkgl/SJkglYpwxServiceprojectinfoPageEdit.html

@@ -0,0 +1,105 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('药品维系服务修改')" />
+</head>
+<style>
+
+</style>
+<script>
+
+</script>
+<body>
+<div class="ui-layout-center">
+    <form class="form-horizontal" id="form-SJkglYpwxServiceprojectinfo-edit" th:object="${user}">
+        <h4 class="form-header h4">基本信息</h4>
+        <input type="hidden" id="id" name="id" th:value="${id}">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                    <label class="col-sm-1 control-label">创建日期:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="creationDate" placeholder="创建日期" th:value="${creationDate}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">主题:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="theme" placeholder="主题" th:value="${theme}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">包含药品:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="includedMedicines" placeholder="包含药品" th:value="${includedMedicines}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">维系模式:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="maintenanceMode" placeholder="维系模式" th:value="${maintenanceMode}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">服务期数:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="servicePeriods" placeholder="服务期数" th:value="${servicePeriods}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">状态:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="status" placeholder="状态" th:value="${status}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">服务人数:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="servedPeople" placeholder="服务人数" th:value="${servedPeople}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">是否配置短信模板:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="isSmsTemplateConfigured" placeholder="是否配置短信模板" th:value="${isSmsTemplateConfigured}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">数据来源:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="dataSource" placeholder="数据来源" th:value="${dataSource}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<div class="main-content">
+    <div class="col-sm-offset-5 col-sm-10">
+        <button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>&nbsp;
+        <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>
+    </div>
+</div>
+<th:block th:include="include :: footer" />
+</body>
+</html>
+
+<script>
+    function submitHandler() {
+        var prefix = ctx + "jkgl/sjkglypwxserviceprojectinfo";
+        if ($.validate.form()) {
+            var data = $("#form-SJkglYpwxServiceprojectinfo-edit").serializeArray();
+            /*var status = $("input[id='status']").is(':checked') == true ? 0 : 1;
+            var roleIds = $.form.selectCheckeds("role");
+            var postIds = $.form.selectSelects("post");
+            data.push({"name": "status", "value": status});
+            data.push({"name": "roleIds", "value": roleIds});
+            data.push({"name": "postIds", "value": postIds});*/
+            $.operate.saveTab(prefix + "/sJkglYpwxServiceprojectinfoEdit", data);
+        }
+    }
+</script>

+ 113 - 0
health-admin/src/main/resources/templates/spgl/SSpglJfspProductinfoAdd.html

@@ -0,0 +1,113 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('门店积分商品列表新增')" />
+    <th:block th:include="include :: ztree-css" />
+</head>
+<body class="white-bg">
+<div class="wrapper wrapper-content animated fadeInRight ibox-content">
+    <form class="form-horizontal m" id="form-role-add">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                            <label class="col-sm-3 control-label">商品名称:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="productName" id="productName" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">商品图片:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="productImage" id="productImage" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">销售价:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="salesPrice" id="salesPrice" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">兑换价格:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="exchangePrice" id="exchangePrice" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">库存:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="stock" id="stock" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">创建时间:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="createTime" id="createTime" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">商品类型:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="productType" id="productType" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">销售状态:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="salesStatus" id="salesStatus" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: ztree-js" />
+<script type="text/javascript">
+
+    function submitHandler() {
+        if ($.validate.form()) {
+            add();
+        }
+    }
+
+    function add() {
+           var productName = $("input[name='productName']").val();
+           var productImage = $("input[name='productImage']").val();
+           var salesPrice = $("input[name='salesPrice']").val();
+           var exchangePrice = $("input[name='exchangePrice']").val();
+           var stock = $("input[name='stock']").val();
+           var createTime = $("input[name='createTime']").val();
+           var productType = $("input[name='productType']").val();
+           var salesStatus = $("input[name='salesStatus']").val();
+
+        $.ajax({
+            cache : true,
+            type : "POST",
+            url : ctx + "spgl/sspgljfspproductinfo/sSpglJfspProductinfoAdd",
+            data : {
+                "productName": productName,
+                "productImage": productImage,
+                "salesPrice": salesPrice,
+                "exchangePrice": exchangePrice,
+                "stock": stock,
+                "createTime": createTime,
+                "productType": productType,
+                "salesStatus": salesStatus,
+            },
+            async : false,
+            error : function(request) {
+                $.modal.alertError("系统错误");
+            },
+            success : function(data) {
+                $.operate.successCallback(data);
+            }
+        });
+    }
+</script>
+</body>
+</html>

+ 108 - 0
health-admin/src/main/resources/templates/spgl/SSpglJfspProductinfoEdit.html

@@ -0,0 +1,108 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('门店积分商品列表修改')" />
+</head>
+<style>
+
+</style>
+<script>
+
+</script>
+<body>
+<div class="ui-layout-center">
+    <form class="form-horizontal" id="form-SSpglJfspProductinfo-edit" th:object="${user}">
+        <h4 class="form-header h4">基本信息</h4>
+        <input type="hidden" id="id" name="id" th:value="${id}">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                    <label class="col-sm-1 control-label">商品名称:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="productName" placeholder="商品名称" th:value="${productName}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">商品图片:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="productImage" placeholder="商品图片" th:value="${productImage}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">销售价:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="salesPrice" placeholder="销售价" th:value="${salesPrice}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">兑换价格:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="exchangePrice" placeholder="兑换价格" th:value="${exchangePrice}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">库存:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="stock" placeholder="库存" th:value="${stock}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">创建时间:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="createTime" placeholder="创建时间" th:value="${createTime}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">商品类型:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="productType" placeholder="商品类型" th:value="${productType}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">销售状态:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="salesStatus" placeholder="销售状态" th:value="${salesStatus}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<div class="main-content">
+    <div class="col-sm-offset-5 col-sm-10">
+        <!--<button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>
+        <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>-->
+    </div>
+</div>
+<th:block th:include="include :: footer" />
+</body>
+</html>
+
+<script>
+    function edit() {
+        var data = $("#form-SSpglJfspProductinfo-edit").serializeArray();
+        $.ajax({
+            cache : true,
+            type : "POST",
+            url : ctx + "spgl/sspgljfspproductinfo/sSpglJfspProductinfoEdit",
+            data : data,
+            async : false,
+            error : function(request) {
+                $.modal.alertError("系统错误");
+            },
+            success : function(data) {
+                $.operate.successCallback(data);
+            }
+        });
+    }
+
+    function submitHandler() {
+        if ($.validate.form()) {
+            edit();
+        }
+    }
+</script>

+ 225 - 0
health-admin/src/main/resources/templates/spgl/SSpglJfspProductinfoList.html

@@ -0,0 +1,225 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<head>
+    <meta charset="UTF-8">
+    <meta name="format-detection" content="telephone=no">
+    <th:block th:include="include :: header('门店积分商品列表')" />
+    <th:block th:include="include :: layout-latest-css" />
+    <th:block th:include="include :: ztree-css" />
+</head>
+<style>
+    /* 设置 ul 的基本样式 */
+    ul {
+        list-style-type: none; /* 去掉项目符号 */
+        padding: 0; /* 去掉默认的内边距 */
+        display: grid; /* 使用网格布局 */
+        grid-template-columns: repeat(5, 1fr); /* 设置三列 */
+    }
+    ul-list ul{
+        list-style-type: none; /* 去掉项目符号 */
+        padding: 0; /* 去掉默认的内边距 */
+        display: grid; /* 使用网格布局 */
+        grid-template-columns: repeat(4, 1fr); /* 设置三列 */
+    }
+    ul-list ul li{
+        /*padding: 10px;*/ /* 内边距 */
+        text-align: left; /* 文本居中 */
+    }
+
+    /* 设置 li 的基本样式 */
+    li {
+        /*background-color: lightblue; *//* 背景颜色 */
+        /*padding: 1px; !* 内边距 *!*/
+        text-align: right; /* 文本居中 */
+    }
+</style>
+
+<body class="gray-bg">
+<div class="ui-layout-center">
+    <div class="container-div">
+        <div class="row">
+            <div class="col-sm-12 search-collapse" >
+                <form id="SSpglJfspProductinfo-form">
+                    <input type="hidden" id="deptId" name="deptId">
+                    <input type="hidden" id="parentId" name="parentId">
+                    <div class="select-list" >
+                        <ul>
+                            <li>
+                                商品名称:<input type="text" class="styled-input" name="productName" autocomplete="off"/>
+                            </li>
+                            <li>
+                                商品图片:<input type="text" class="styled-input" name="productImage" autocomplete="off"/>
+                            </li>
+                            <li>
+                                销售价:<input type="text" class="styled-input" name="salesPrice" autocomplete="off"/>
+                            </li>
+                            <li>
+                                兑换价格:<input type="text" class="styled-input" name="exchangePrice" autocomplete="off"/>
+                            </li>
+                            <li>
+                                库存:<input type="text" class="styled-input" name="stock" autocomplete="off"/>
+                            </li>
+                            <li>
+                                创建时间:<input type="text" class="styled-input" name="createTime" autocomplete="off"/>
+                            </li>
+                            <li>
+                                商品类型:<input type="text" class="styled-input" name="productType" autocomplete="off"/>
+                            </li>
+                            <li>
+                                销售状态:<input type="text" class="styled-input" name="salesStatus" autocomplete="off"/>
+                            </li>
+                            <li style="text-align: center">
+                                <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
+                                <a class="btn btn-warning btn-rounded btn-sm" onclick="resetPre()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
+                            </li>
+                        </ul>
+                    </div>
+
+                </form>
+            </div>
+
+            <div class="btn-group-sm" id="toolbar" role="group">
+                <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:user:add">
+                    <i class="fa fa-plus"></i> 新增
+                </a>
+                 <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:user:edit">
+                    <i class="fa fa-edit"></i> 修改
+                </a>
+                <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:user:remove">
+                    <i class="fa fa-remove"></i> 删除
+                </a>
+                <a class="btn btn-info" onclick="$.table.importExcel()" shiro:hasPermission="system:user:import">
+                    <i class="fa fa-upload"></i> 导入
+                </a>
+                <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:user:export">
+                    <i class="fa fa-download"></i> 导出
+                </a>
+            </div>
+
+            <div class="col-sm-12 select-table table-striped">
+                <table id="bootstrap-table"></table>
+            </div>
+        </div>
+    </div>
+</div>
+
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: layout-latest-js" />
+<th:block th:include="include :: ztree-js" />
+<script th:inline="javascript">
+    var editFlag = [[${@permission.hasPermi('dtp:pmService:edit')}]];
+    var removeFlag = [[${@permission.hasPermi('dtp:pmService:remove')}]];
+    var prefix = ctx + "spgl/sspgljfspproductinfo";
+    $(function() {
+        var panehHidden = false;
+        if ($(this).width() < 1590) {
+            panehHidden = true;
+        }
+        $('body').layout({ initClosed: panehHidden, west__size: 185, resizeWithWindow: false });
+        // 回到顶部绑定
+        if ($.fn.toTop !== undefined) {
+            var opt = {
+                win:$('.ui-layout-center'),
+                doc:$('.ui-layout-center')
+            };
+            $('#scroll-up').toTop(opt);
+        }
+        queryArchivesList();
+    });
+
+    function queryArchivesList() {
+        var options = {
+            url: prefix + "/sSpglJfspProductinfoList",
+            viewUrl: prefix + "/sSpglJfspProductinfoView/{id}",
+            createUrl: prefix + "/sSpglJfspProductinfoAdd",
+            updateUrl: prefix + "/sSpglJfspProductinfoEdit/{id}",
+            removeUrl: prefix + "/sSpglJfspProductinfoRemove",
+            /*exportUrl: prefix + "/export",
+            importUrl: prefix + "/importData",
+            importTemplateUrl: prefix + "/importTemplate",*/
+            sortName: "id",
+            sortOrder: "asc",
+            modalName: "门店积分商品列表",
+            fitColumns: true,
+            striped: true,
+            autoRowHeight: true,
+            rowNumbers: true,
+            showFooter:true,  //是否显示表格底部区域。
+            clickToSelect: true, //是否启用点击行时选中整行的功能。
+            singleSelect: true, //是否仅允许选择一行
+            columns: [{
+                checkbox: true
+            },
+                { field: 'id', title: '主键', align: 'center' ,visible:false},
+                    { field: 'productName', title: '商品名称', align: 'center' },
+                    { field: 'productImage', title: '商品图片', align: 'center' },
+                    { field: 'salesPrice', title: '销售价', align: 'center' },
+                    { field: 'exchangePrice', title: '兑换价格', align: 'center' },
+                    { field: 'stock', title: '库存', align: 'center' },
+                    { field: 'createTime', title: '创建时间', align: 'center' },
+                    { field: 'productType', title: '商品类型', align: 'center' },
+                    { field: 'salesStatus', title: '销售状态', align: 'center' },
+
+                {
+                    title: '操作',
+                    align: 'center',
+                    formatter: function(value, row, index) {
+                        if (row.serviceId != 1) {
+                            var actions = [];
+                            actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="edit_page(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
+                            actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a> ');
+                            var more = [];
+                            /*more.push("<a class='btn btn-default btn-xs " + resetPwdFlag + "' href='javascript:void(0)' onclick='resetPwd(" + row.userId + ")'><i class='fa fa-key'></i>重置密码</a> ");
+                            more.push("<a class='btn btn-default btn-xs " + editFlag + "' href='javascript:void(0)' onclick='authRole(" + row.userId + ")'><i class='fa fa-check-square-o'></i>分配角色</a>");
+                            actions.push('<a tabindex="0" class="btn btn-info btn-xs" role="button" data-container="body" data-placement="left" data-toggle="popover" data-html="true" data-trigger="hover" data-content="' + more.join('') + '"><i class="fa fa-chevron-circle-right"></i>更多操作</a>');*/
+                            return actions.join('');
+                        } else {
+                            return "";
+                        }
+                    }
+                }]
+        };
+        $.table.init(options);
+    }
+
+    /* 自定义重置-表单重置/隐藏框/树节点选择色/搜索 */
+    function resetPre() {
+        resetDate();
+        $("#SSpglJfspProductinfo-form")[0].reset();
+        $("#deptId").val("");
+        $("#parentId").val("");
+        $(".curSelectedNode").removeClass("curSelectedNode");
+        $.table.search();
+        var resetButton = document.getElementById('SSpglJfspProductinfo-form');
+        resetButton.addEventListener('click', function() {
+            _refresh();
+        });
+    }
+    function edit_page(id){
+        table.set();
+        var url = "/404.html";
+        if ($.common.isNotEmpty(id)) {
+            url = table.options.updateUrl.replace("{id}", id);
+        } else {
+            var id = $.common.isEmpty(table.options.uniqueId) ? $.table.selectFirstColumns() : $.table.selectColumns(table.options.uniqueId);
+            if (id.length == 0) {
+                $.modal.alertWarning("请至少选择一条记录");
+                return;
+            }
+            url = table.options.updateUrl.replace("{id}", id);
+        }
+        $.modal.openTab("修改" + table.options.modalName, url + "?status=1" );
+    }
+
+    /* 用户状态显示 */
+    function statusTools(row) {
+        if (row.status == 1) {
+            return '<i class=\"fa fa-toggle-off text-info fa-2x\" onclick="enable(\'' + row.userId + '\')"></i> ';
+        } else {
+            return '<i class=\"fa fa-toggle-on text-info fa-2x\" onclick="disable(\'' + row.userId + '\')"></i> ';
+        }
+    }
+</script>
+</body>
+
+</html>

+ 99 - 0
health-admin/src/main/resources/templates/spgl/SSpglJfspProductinfoPageEdit.html

@@ -0,0 +1,99 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('门店积分商品列表修改')" />
+</head>
+<style>
+
+</style>
+<script>
+
+</script>
+<body>
+<div class="ui-layout-center">
+    <form class="form-horizontal" id="form-SSpglJfspProductinfo-edit" th:object="${user}">
+        <h4 class="form-header h4">基本信息</h4>
+        <input type="hidden" id="id" name="id" th:value="${id}">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                    <label class="col-sm-1 control-label">商品名称:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="productName" placeholder="商品名称" th:value="${productName}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">商品图片:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="productImage" placeholder="商品图片" th:value="${productImage}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">销售价:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="salesPrice" placeholder="销售价" th:value="${salesPrice}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">兑换价格:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="exchangePrice" placeholder="兑换价格" th:value="${exchangePrice}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">库存:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="stock" placeholder="库存" th:value="${stock}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">创建时间:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="createTime" placeholder="创建时间" th:value="${createTime}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">商品类型:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="productType" placeholder="商品类型" th:value="${productType}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">销售状态:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="salesStatus" placeholder="销售状态" th:value="${salesStatus}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<div class="main-content">
+    <div class="col-sm-offset-5 col-sm-10">
+        <button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>&nbsp;
+        <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>
+    </div>
+</div>
+<th:block th:include="include :: footer" />
+</body>
+</html>
+
+<script>
+    function submitHandler() {
+        var prefix = ctx + "spgl/sspgljfspproductinfo";
+        if ($.validate.form()) {
+            var data = $("#form-SSpglJfspProductinfo-edit").serializeArray();
+            /*var status = $("input[id='status']").is(':checked') == true ? 0 : 1;
+            var roleIds = $.form.selectCheckeds("role");
+            var postIds = $.form.selectSelects("post");
+            data.push({"name": "status", "value": status});
+            data.push({"name": "roleIds", "value": roleIds});
+            data.push({"name": "postIds", "value": postIds});*/
+            $.operate.saveTab(prefix + "/sSpglJfspProductinfoEdit", data);
+        }
+    }
+</script>

+ 89 - 0
health-admin/src/main/resources/templates/spgl/SSpglMdjymlStoreproductinfoAdd.html

@@ -0,0 +1,89 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('门店经营目录新增')" />
+    <th:block th:include="include :: ztree-css" />
+</head>
+<body class="white-bg">
+<div class="wrapper wrapper-content animated fadeInRight ibox-content">
+    <form class="form-horizontal m" id="form-role-add">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                            <label class="col-sm-3 control-label">门店名称:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="storeName" id="storeName" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">商品编码:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="productCode" id="productCode" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">商品名称:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="productName" id="productName" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">商品类目:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="productCategory" id="productCategory" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">可售状态:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="saleStatus" id="saleStatus" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: ztree-js" />
+<script type="text/javascript">
+
+    function submitHandler() {
+        if ($.validate.form()) {
+            add();
+        }
+    }
+
+    function add() {
+           var storeName = $("input[name='storeName']").val();
+           var productCode = $("input[name='productCode']").val();
+           var productName = $("input[name='productName']").val();
+           var productCategory = $("input[name='productCategory']").val();
+           var saleStatus = $("input[name='saleStatus']").val();
+
+        $.ajax({
+            cache : true,
+            type : "POST",
+            url : ctx + "spgl/sspglmdjymlstoreproductinfo/sSpglMdjymlStoreproductinfoAdd",
+            data : {
+                "storeName": storeName,
+                "productCode": productCode,
+                "productName": productName,
+                "productCategory": productCategory,
+                "saleStatus": saleStatus,
+            },
+            async : false,
+            error : function(request) {
+                $.modal.alertError("系统错误");
+            },
+            success : function(data) {
+                $.operate.successCallback(data);
+            }
+        });
+    }
+</script>
+</body>
+</html>

+ 90 - 0
health-admin/src/main/resources/templates/spgl/SSpglMdjymlStoreproductinfoEdit.html

@@ -0,0 +1,90 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('门店经营目录修改')" />
+</head>
+<style>
+
+</style>
+<script>
+
+</script>
+<body>
+<div class="ui-layout-center">
+    <form class="form-horizontal" id="form-SSpglMdjymlStoreproductinfo-edit" th:object="${user}">
+        <h4 class="form-header h4">基本信息</h4>
+        <input type="hidden" id="id" name="id" th:value="${id}">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                    <label class="col-sm-1 control-label">门店名称:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="storeName" placeholder="门店名称" th:value="${storeName}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">商品编码:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="productCode" placeholder="商品编码" th:value="${productCode}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">商品名称:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="productName" placeholder="商品名称" th:value="${productName}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">商品类目:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="productCategory" placeholder="商品类目" th:value="${productCategory}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">可售状态:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="saleStatus" placeholder="可售状态" th:value="${saleStatus}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<div class="main-content">
+    <div class="col-sm-offset-5 col-sm-10">
+        <!--<button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>
+        <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>-->
+    </div>
+</div>
+<th:block th:include="include :: footer" />
+</body>
+</html>
+
+<script>
+    function edit() {
+        var data = $("#form-SSpglMdjymlStoreproductinfo-edit").serializeArray();
+        $.ajax({
+            cache : true,
+            type : "POST",
+            url : ctx + "spgl/sspglmdjymlstoreproductinfo/sSpglMdjymlStoreproductinfoEdit",
+            data : data,
+            async : false,
+            error : function(request) {
+                $.modal.alertError("系统错误");
+            },
+            success : function(data) {
+                $.operate.successCallback(data);
+            }
+        });
+    }
+
+    function submitHandler() {
+        if ($.validate.form()) {
+            edit();
+        }
+    }
+</script>

+ 213 - 0
health-admin/src/main/resources/templates/spgl/SSpglMdjymlStoreproductinfoList.html

@@ -0,0 +1,213 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<head>
+    <meta charset="UTF-8">
+    <meta name="format-detection" content="telephone=no">
+    <th:block th:include="include :: header('门店经营目录')" />
+    <th:block th:include="include :: layout-latest-css" />
+    <th:block th:include="include :: ztree-css" />
+</head>
+<style>
+    /* 设置 ul 的基本样式 */
+    ul {
+        list-style-type: none; /* 去掉项目符号 */
+        padding: 0; /* 去掉默认的内边距 */
+        display: grid; /* 使用网格布局 */
+        grid-template-columns: repeat(5, 1fr); /* 设置三列 */
+    }
+    ul-list ul{
+        list-style-type: none; /* 去掉项目符号 */
+        padding: 0; /* 去掉默认的内边距 */
+        display: grid; /* 使用网格布局 */
+        grid-template-columns: repeat(4, 1fr); /* 设置三列 */
+    }
+    ul-list ul li{
+        /*padding: 10px;*/ /* 内边距 */
+        text-align: left; /* 文本居中 */
+    }
+
+    /* 设置 li 的基本样式 */
+    li {
+        /*background-color: lightblue; *//* 背景颜色 */
+        /*padding: 1px; !* 内边距 *!*/
+        text-align: right; /* 文本居中 */
+    }
+</style>
+
+<body class="gray-bg">
+<div class="ui-layout-center">
+    <div class="container-div">
+        <div class="row">
+            <div class="col-sm-12 search-collapse" >
+                <form id="SSpglMdjymlStoreproductinfo-form">
+                    <input type="hidden" id="deptId" name="deptId">
+                    <input type="hidden" id="parentId" name="parentId">
+                    <div class="select-list" >
+                        <ul>
+                            <li>
+                                门店名称:<input type="text" class="styled-input" name="storeName" autocomplete="off"/>
+                            </li>
+                            <li>
+                                商品编码:<input type="text" class="styled-input" name="productCode" autocomplete="off"/>
+                            </li>
+                            <li>
+                                商品名称:<input type="text" class="styled-input" name="productName" autocomplete="off"/>
+                            </li>
+                            <li>
+                                商品类目:<input type="text" class="styled-input" name="productCategory" autocomplete="off"/>
+                            </li>
+                            <li>
+                                可售状态:<input type="text" class="styled-input" name="saleStatus" autocomplete="off"/>
+                            </li>
+                            <li style="text-align: center">
+                                <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
+                                <a class="btn btn-warning btn-rounded btn-sm" onclick="resetPre()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
+                            </li>
+                        </ul>
+                    </div>
+
+                </form>
+            </div>
+
+            <div class="btn-group-sm" id="toolbar" role="group">
+                <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:user:add">
+                    <i class="fa fa-plus"></i> 新增
+                </a>
+                 <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:user:edit">
+                    <i class="fa fa-edit"></i> 修改
+                </a>
+                <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:user:remove">
+                    <i class="fa fa-remove"></i> 删除
+                </a>
+                <a class="btn btn-info" onclick="$.table.importExcel()" shiro:hasPermission="system:user:import">
+                    <i class="fa fa-upload"></i> 导入
+                </a>
+                <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:user:export">
+                    <i class="fa fa-download"></i> 导出
+                </a>
+            </div>
+
+            <div class="col-sm-12 select-table table-striped">
+                <table id="bootstrap-table"></table>
+            </div>
+        </div>
+    </div>
+</div>
+
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: layout-latest-js" />
+<th:block th:include="include :: ztree-js" />
+<script th:inline="javascript">
+    var editFlag = [[${@permission.hasPermi('dtp:pmService:edit')}]];
+    var removeFlag = [[${@permission.hasPermi('dtp:pmService:remove')}]];
+    var prefix = ctx + "spgl/sspglmdjymlstoreproductinfo";
+    $(function() {
+        var panehHidden = false;
+        if ($(this).width() < 1590) {
+            panehHidden = true;
+        }
+        $('body').layout({ initClosed: panehHidden, west__size: 185, resizeWithWindow: false });
+        // 回到顶部绑定
+        if ($.fn.toTop !== undefined) {
+            var opt = {
+                win:$('.ui-layout-center'),
+                doc:$('.ui-layout-center')
+            };
+            $('#scroll-up').toTop(opt);
+        }
+        queryArchivesList();
+    });
+
+    function queryArchivesList() {
+        var options = {
+            url: prefix + "/sSpglMdjymlStoreproductinfoList",
+            viewUrl: prefix + "/sSpglMdjymlStoreproductinfoView/{id}",
+            createUrl: prefix + "/sSpglMdjymlStoreproductinfoAdd",
+            updateUrl: prefix + "/sSpglMdjymlStoreproductinfoEdit/{id}",
+            removeUrl: prefix + "/sSpglMdjymlStoreproductinfoRemove",
+            /*exportUrl: prefix + "/export",
+            importUrl: prefix + "/importData",
+            importTemplateUrl: prefix + "/importTemplate",*/
+            sortName: "id",
+            sortOrder: "asc",
+            modalName: "门店经营目录",
+            fitColumns: true,
+            striped: true,
+            autoRowHeight: true,
+            rowNumbers: true,
+            showFooter:true,  //是否显示表格底部区域。
+            clickToSelect: true, //是否启用点击行时选中整行的功能。
+            singleSelect: true, //是否仅允许选择一行
+            columns: [{
+                checkbox: true
+            },
+                { field: 'id', title: '主键', align: 'center' ,visible:false},
+                    { field: 'storeName', title: '门店名称', align: 'center' },
+                    { field: 'productCode', title: '商品编码', align: 'center' },
+                    { field: 'productName', title: '商品名称', align: 'center' },
+                    { field: 'productCategory', title: '商品类目', align: 'center' },
+                    { field: 'saleStatus', title: '可售状态', align: 'center' },
+
+                {
+                    title: '操作',
+                    align: 'center',
+                    formatter: function(value, row, index) {
+                        if (row.serviceId != 1) {
+                            var actions = [];
+                            actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="edit_page(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
+                            actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a> ');
+                            var more = [];
+                            /*more.push("<a class='btn btn-default btn-xs " + resetPwdFlag + "' href='javascript:void(0)' onclick='resetPwd(" + row.userId + ")'><i class='fa fa-key'></i>重置密码</a> ");
+                            more.push("<a class='btn btn-default btn-xs " + editFlag + "' href='javascript:void(0)' onclick='authRole(" + row.userId + ")'><i class='fa fa-check-square-o'></i>分配角色</a>");
+                            actions.push('<a tabindex="0" class="btn btn-info btn-xs" role="button" data-container="body" data-placement="left" data-toggle="popover" data-html="true" data-trigger="hover" data-content="' + more.join('') + '"><i class="fa fa-chevron-circle-right"></i>更多操作</a>');*/
+                            return actions.join('');
+                        } else {
+                            return "";
+                        }
+                    }
+                }]
+        };
+        $.table.init(options);
+    }
+
+    /* 自定义重置-表单重置/隐藏框/树节点选择色/搜索 */
+    function resetPre() {
+        resetDate();
+        $("#SSpglMdjymlStoreproductinfo-form")[0].reset();
+        $("#deptId").val("");
+        $("#parentId").val("");
+        $(".curSelectedNode").removeClass("curSelectedNode");
+        $.table.search();
+        var resetButton = document.getElementById('SSpglMdjymlStoreproductinfo-form');
+        resetButton.addEventListener('click', function() {
+            _refresh();
+        });
+    }
+    function edit_page(id){
+        table.set();
+        var url = "/404.html";
+        if ($.common.isNotEmpty(id)) {
+            url = table.options.updateUrl.replace("{id}", id);
+        } else {
+            var id = $.common.isEmpty(table.options.uniqueId) ? $.table.selectFirstColumns() : $.table.selectColumns(table.options.uniqueId);
+            if (id.length == 0) {
+                $.modal.alertWarning("请至少选择一条记录");
+                return;
+            }
+            url = table.options.updateUrl.replace("{id}", id);
+        }
+        $.modal.openTab("修改" + table.options.modalName, url + "?status=1" );
+    }
+
+    /* 用户状态显示 */
+    function statusTools(row) {
+        if (row.status == 1) {
+            return '<i class=\"fa fa-toggle-off text-info fa-2x\" onclick="enable(\'' + row.userId + '\')"></i> ';
+        } else {
+            return '<i class=\"fa fa-toggle-on text-info fa-2x\" onclick="disable(\'' + row.userId + '\')"></i> ';
+        }
+    }
+</script>
+</body>
+
+</html>

+ 81 - 0
health-admin/src/main/resources/templates/spgl/SSpglMdjymlStoreproductinfoPageEdit.html

@@ -0,0 +1,81 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('门店经营目录修改')" />
+</head>
+<style>
+
+</style>
+<script>
+
+</script>
+<body>
+<div class="ui-layout-center">
+    <form class="form-horizontal" id="form-SSpglMdjymlStoreproductinfo-edit" th:object="${user}">
+        <h4 class="form-header h4">基本信息</h4>
+        <input type="hidden" id="id" name="id" th:value="${id}">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                    <label class="col-sm-1 control-label">门店名称:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="storeName" placeholder="门店名称" th:value="${storeName}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">商品编码:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="productCode" placeholder="商品编码" th:value="${productCode}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">商品名称:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="productName" placeholder="商品名称" th:value="${productName}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">商品类目:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="productCategory" placeholder="商品类目" th:value="${productCategory}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">可售状态:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="saleStatus" placeholder="可售状态" th:value="${saleStatus}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<div class="main-content">
+    <div class="col-sm-offset-5 col-sm-10">
+        <button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>&nbsp;
+        <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>
+    </div>
+</div>
+<th:block th:include="include :: footer" />
+</body>
+</html>
+
+<script>
+    function submitHandler() {
+        var prefix = ctx + "spgl/sspglmdjymlstoreproductinfo";
+        if ($.validate.form()) {
+            var data = $("#form-SSpglMdjymlStoreproductinfo-edit").serializeArray();
+            /*var status = $("input[id='status']").is(':checked') == true ? 0 : 1;
+            var roleIds = $.form.selectCheckeds("role");
+            var postIds = $.form.selectSelects("post");
+            data.push({"name": "status", "value": status});
+            data.push({"name": "roleIds", "value": roleIds});
+            data.push({"name": "postIds", "value": postIds});*/
+            $.operate.saveTab(prefix + "/sSpglMdjymlStoreproductinfoEdit", data);
+        }
+    }
+</script>

+ 201 - 0
health-admin/src/main/resources/templates/spgl/SSpglMdspStoreproductdetailsAdd.html

@@ -0,0 +1,201 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('门店商品查询表新增')" />
+    <th:block th:include="include :: ztree-css" />
+</head>
+<body class="white-bg">
+<div class="wrapper wrapper-content animated fadeInRight ibox-content">
+    <form class="form-horizontal m" id="form-role-add">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                            <label class="col-sm-3 control-label">门店名称:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="storeName" id="storeName" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">商品编码:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="productCode" id="productCode" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">商品名称:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="productName" id="productName" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">规格:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="specification" id="specification" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">生产厂家:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="manufacturer" id="manufacturer" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">通用名称:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="genericName" id="genericName" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">商品品牌:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="brandName" id="brandName" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">零售价(元):</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="retailPrice" id="retailPrice" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">禁止调拨:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="prohibitTransfer" id="prohibitTransfer" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">禁止请货:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="prohibitOrder" id="prohibitOrder" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">禁止销售:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="prohibitSale" id="prohibitSale" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">禁止返厂:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="prohibitReturnFactory" id="prohibitReturnFactory" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">禁止返仓:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="prohibitReturnWarehouse" id="prohibitReturnWarehouse" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">禁止配送:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="prohibitDelivery" id="prohibitDelivery" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">禁止采购:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="prohibitPurchase" id="prohibitPurchase" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">配置类型:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="configurationType" id="configurationType" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">经营属性:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="operationAttribute" id="operationAttribute" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">销售属性:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="salesAttribute" id="salesAttribute" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">最小陈列量:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="minimumDisplayQuantity" id="minimumDisplayQuantity" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: ztree-js" />
+<script type="text/javascript">
+
+    function submitHandler() {
+        if ($.validate.form()) {
+            add();
+        }
+    }
+
+    function add() {
+           var storeName = $("input[name='storeName']").val();
+           var productCode = $("input[name='productCode']").val();
+           var productName = $("input[name='productName']").val();
+           var specification = $("input[name='specification']").val();
+           var manufacturer = $("input[name='manufacturer']").val();
+           var genericName = $("input[name='genericName']").val();
+           var brandName = $("input[name='brandName']").val();
+           var retailPrice = $("input[name='retailPrice']").val();
+           var prohibitTransfer = $("input[name='prohibitTransfer']").val();
+           var prohibitOrder = $("input[name='prohibitOrder']").val();
+           var prohibitSale = $("input[name='prohibitSale']").val();
+           var prohibitReturnFactory = $("input[name='prohibitReturnFactory']").val();
+           var prohibitReturnWarehouse = $("input[name='prohibitReturnWarehouse']").val();
+           var prohibitDelivery = $("input[name='prohibitDelivery']").val();
+           var prohibitPurchase = $("input[name='prohibitPurchase']").val();
+           var configurationType = $("input[name='configurationType']").val();
+           var operationAttribute = $("input[name='operationAttribute']").val();
+           var salesAttribute = $("input[name='salesAttribute']").val();
+           var minimumDisplayQuantity = $("input[name='minimumDisplayQuantity']").val();
+
+        $.ajax({
+            cache : true,
+            type : "POST",
+            url : ctx + "spgl/sspglmdspstoreproductdetails/sSpglMdspStoreproductdetailsAdd",
+            data : {
+                "storeName": storeName,
+                "productCode": productCode,
+                "productName": productName,
+                "specification": specification,
+                "manufacturer": manufacturer,
+                "genericName": genericName,
+                "brandName": brandName,
+                "retailPrice": retailPrice,
+                "prohibitTransfer": prohibitTransfer,
+                "prohibitOrder": prohibitOrder,
+                "prohibitSale": prohibitSale,
+                "prohibitReturnFactory": prohibitReturnFactory,
+                "prohibitReturnWarehouse": prohibitReturnWarehouse,
+                "prohibitDelivery": prohibitDelivery,
+                "prohibitPurchase": prohibitPurchase,
+                "configurationType": configurationType,
+                "operationAttribute": operationAttribute,
+                "salesAttribute": salesAttribute,
+                "minimumDisplayQuantity": minimumDisplayQuantity,
+            },
+            async : false,
+            error : function(request) {
+                $.modal.alertError("系统错误");
+            },
+            success : function(data) {
+                $.operate.successCallback(data);
+            }
+        });
+    }
+</script>
+</body>
+</html>

+ 174 - 0
health-admin/src/main/resources/templates/spgl/SSpglMdspStoreproductdetailsEdit.html

@@ -0,0 +1,174 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('门店商品查询表修改')" />
+</head>
+<style>
+
+</style>
+<script>
+
+</script>
+<body>
+<div class="ui-layout-center">
+    <form class="form-horizontal" id="form-SSpglMdspStoreproductdetails-edit" th:object="${user}">
+        <h4 class="form-header h4">基本信息</h4>
+        <input type="hidden" id="id" name="id" th:value="${id}">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                    <label class="col-sm-1 control-label">门店名称:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="storeName" placeholder="门店名称" th:value="${storeName}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">商品编码:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="productCode" placeholder="商品编码" th:value="${productCode}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">商品名称:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="productName" placeholder="商品名称" th:value="${productName}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">规格:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="specification" placeholder="规格" th:value="${specification}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">生产厂家:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="manufacturer" placeholder="生产厂家" th:value="${manufacturer}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">通用名称:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="genericName" placeholder="通用名称" th:value="${genericName}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">商品品牌:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="brandName" placeholder="商品品牌" th:value="${brandName}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">零售价(元):</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="retailPrice" placeholder="零售价(元)" th:value="${retailPrice}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">禁止调拨:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="prohibitTransfer" placeholder="禁止调拨" th:value="${prohibitTransfer}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">禁止请货:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="prohibitOrder" placeholder="禁止请货" th:value="${prohibitOrder}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">禁止销售:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="prohibitSale" placeholder="禁止销售" th:value="${prohibitSale}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">禁止返厂:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="prohibitReturnFactory" placeholder="禁止返厂" th:value="${prohibitReturnFactory}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">禁止返仓:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="prohibitReturnWarehouse" placeholder="禁止返仓" th:value="${prohibitReturnWarehouse}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">禁止配送:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="prohibitDelivery" placeholder="禁止配送" th:value="${prohibitDelivery}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">禁止采购:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="prohibitPurchase" placeholder="禁止采购" th:value="${prohibitPurchase}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">配置类型:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="configurationType" placeholder="配置类型" th:value="${configurationType}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">经营属性:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="operationAttribute" placeholder="经营属性" th:value="${operationAttribute}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">销售属性:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="salesAttribute" placeholder="销售属性" th:value="${salesAttribute}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">最小陈列量:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="minimumDisplayQuantity" placeholder="最小陈列量" th:value="${minimumDisplayQuantity}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<div class="main-content">
+    <div class="col-sm-offset-5 col-sm-10">
+        <!--<button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>
+        <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>-->
+    </div>
+</div>
+<th:block th:include="include :: footer" />
+</body>
+</html>
+
+<script>
+    function edit() {
+        var data = $("#form-SSpglMdspStoreproductdetails-edit").serializeArray();
+        $.ajax({
+            cache : true,
+            type : "POST",
+            url : ctx + "spgl/sspglmdspstoreproductdetails/sSpglMdspStoreproductdetailsEdit",
+            data : data,
+            async : false,
+            error : function(request) {
+                $.modal.alertError("系统错误");
+            },
+            success : function(data) {
+                $.operate.successCallback(data);
+            }
+        });
+    }
+
+    function submitHandler() {
+        if ($.validate.form()) {
+            edit();
+        }
+    }
+</script>

+ 269 - 0
health-admin/src/main/resources/templates/spgl/SSpglMdspStoreproductdetailsList.html

@@ -0,0 +1,269 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<head>
+    <meta charset="UTF-8">
+    <meta name="format-detection" content="telephone=no">
+    <th:block th:include="include :: header('门店商品查询表')" />
+    <th:block th:include="include :: layout-latest-css" />
+    <th:block th:include="include :: ztree-css" />
+</head>
+<style>
+    /* 设置 ul 的基本样式 */
+    ul {
+        list-style-type: none; /* 去掉项目符号 */
+        padding: 0; /* 去掉默认的内边距 */
+        display: grid; /* 使用网格布局 */
+        grid-template-columns: repeat(5, 1fr); /* 设置三列 */
+    }
+    ul-list ul{
+        list-style-type: none; /* 去掉项目符号 */
+        padding: 0; /* 去掉默认的内边距 */
+        display: grid; /* 使用网格布局 */
+        grid-template-columns: repeat(4, 1fr); /* 设置三列 */
+    }
+    ul-list ul li{
+        /*padding: 10px;*/ /* 内边距 */
+        text-align: left; /* 文本居中 */
+    }
+
+    /* 设置 li 的基本样式 */
+    li {
+        /*background-color: lightblue; *//* 背景颜色 */
+        /*padding: 1px; !* 内边距 *!*/
+        text-align: right; /* 文本居中 */
+    }
+</style>
+
+<body class="gray-bg">
+<div class="ui-layout-center">
+    <div class="container-div">
+        <div class="row">
+            <div class="col-sm-12 search-collapse" >
+                <form id="SSpglMdspStoreproductdetails-form">
+                    <input type="hidden" id="deptId" name="deptId">
+                    <input type="hidden" id="parentId" name="parentId">
+                    <div class="select-list" >
+                        <ul>
+                            <li>
+                                门店名称:<input type="text" class="styled-input" name="storeName" autocomplete="off"/>
+                            </li>
+                            <li>
+                                商品编码:<input type="text" class="styled-input" name="productCode" autocomplete="off"/>
+                            </li>
+                            <li>
+                                商品名称:<input type="text" class="styled-input" name="productName" autocomplete="off"/>
+                            </li>
+                            <li>
+                                规格:<input type="text" class="styled-input" name="specification" autocomplete="off"/>
+                            </li>
+                            <li>
+                                生产厂家:<input type="text" class="styled-input" name="manufacturer" autocomplete="off"/>
+                            </li>
+                            <li>
+                                通用名称:<input type="text" class="styled-input" name="genericName" autocomplete="off"/>
+                            </li>
+                            <li>
+                                商品品牌:<input type="text" class="styled-input" name="brandName" autocomplete="off"/>
+                            </li>
+                            <li>
+                                零售价(元):<input type="text" class="styled-input" name="retailPrice" autocomplete="off"/>
+                            </li>
+                            <li>
+                                禁止调拨:<input type="text" class="styled-input" name="prohibitTransfer" autocomplete="off"/>
+                            </li>
+                            <li>
+                                禁止请货:<input type="text" class="styled-input" name="prohibitOrder" autocomplete="off"/>
+                            </li>
+                            <li>
+                                禁止销售:<input type="text" class="styled-input" name="prohibitSale" autocomplete="off"/>
+                            </li>
+                            <li>
+                                禁止返厂:<input type="text" class="styled-input" name="prohibitReturnFactory" autocomplete="off"/>
+                            </li>
+                            <li>
+                                禁止返仓:<input type="text" class="styled-input" name="prohibitReturnWarehouse" autocomplete="off"/>
+                            </li>
+                            <li>
+                                禁止配送:<input type="text" class="styled-input" name="prohibitDelivery" autocomplete="off"/>
+                            </li>
+                            <li>
+                                禁止采购:<input type="text" class="styled-input" name="prohibitPurchase" autocomplete="off"/>
+                            </li>
+                            <li>
+                                配置类型:<input type="text" class="styled-input" name="configurationType" autocomplete="off"/>
+                            </li>
+                            <li>
+                                经营属性:<input type="text" class="styled-input" name="operationAttribute" autocomplete="off"/>
+                            </li>
+                            <li>
+                                销售属性:<input type="text" class="styled-input" name="salesAttribute" autocomplete="off"/>
+                            </li>
+                            <li>
+                                最小陈列量:<input type="text" class="styled-input" name="minimumDisplayQuantity" autocomplete="off"/>
+                            </li>
+                            <li style="text-align: center">
+                                <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
+                                <a class="btn btn-warning btn-rounded btn-sm" onclick="resetPre()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
+                            </li>
+                        </ul>
+                    </div>
+
+                </form>
+            </div>
+
+            <div class="btn-group-sm" id="toolbar" role="group">
+                <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:user:add">
+                    <i class="fa fa-plus"></i> 新增
+                </a>
+                 <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:user:edit">
+                    <i class="fa fa-edit"></i> 修改
+                </a>
+                <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:user:remove">
+                    <i class="fa fa-remove"></i> 删除
+                </a>
+                <a class="btn btn-info" onclick="$.table.importExcel()" shiro:hasPermission="system:user:import">
+                    <i class="fa fa-upload"></i> 导入
+                </a>
+                <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:user:export">
+                    <i class="fa fa-download"></i> 导出
+                </a>
+            </div>
+
+            <div class="col-sm-12 select-table table-striped">
+                <table id="bootstrap-table"></table>
+            </div>
+        </div>
+    </div>
+</div>
+
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: layout-latest-js" />
+<th:block th:include="include :: ztree-js" />
+<script th:inline="javascript">
+    var editFlag = [[${@permission.hasPermi('dtp:pmService:edit')}]];
+    var removeFlag = [[${@permission.hasPermi('dtp:pmService:remove')}]];
+    var prefix = ctx + "spgl/sspglmdspstoreproductdetails";
+    $(function() {
+        var panehHidden = false;
+        if ($(this).width() < 1590) {
+            panehHidden = true;
+        }
+        $('body').layout({ initClosed: panehHidden, west__size: 185, resizeWithWindow: false });
+        // 回到顶部绑定
+        if ($.fn.toTop !== undefined) {
+            var opt = {
+                win:$('.ui-layout-center'),
+                doc:$('.ui-layout-center')
+            };
+            $('#scroll-up').toTop(opt);
+        }
+        queryArchivesList();
+    });
+
+    function queryArchivesList() {
+        var options = {
+            url: prefix + "/sSpglMdspStoreproductdetailsList",
+            viewUrl: prefix + "/sSpglMdspStoreproductdetailsView/{id}",
+            createUrl: prefix + "/sSpglMdspStoreproductdetailsAdd",
+            updateUrl: prefix + "/sSpglMdspStoreproductdetailsEdit/{id}",
+            removeUrl: prefix + "/sSpglMdspStoreproductdetailsRemove",
+            /*exportUrl: prefix + "/export",
+            importUrl: prefix + "/importData",
+            importTemplateUrl: prefix + "/importTemplate",*/
+            sortName: "id",
+            sortOrder: "asc",
+            modalName: "门店商品查询表",
+            fitColumns: true,
+            striped: true,
+            autoRowHeight: true,
+            rowNumbers: true,
+            showFooter:true,  //是否显示表格底部区域。
+            clickToSelect: true, //是否启用点击行时选中整行的功能。
+            singleSelect: true, //是否仅允许选择一行
+            columns: [{
+                checkbox: true
+            },
+                { field: 'id', title: '主键', align: 'center' ,visible:false},
+                    { field: 'storeName', title: '门店名称', align: 'center' },
+                    { field: 'productCode', title: '商品编码', align: 'center' },
+                    { field: 'productName', title: '商品名称', align: 'center' },
+                    { field: 'specification', title: '规格', align: 'center' },
+                    { field: 'manufacturer', title: '生产厂家', align: 'center' },
+                    { field: 'genericName', title: '通用名称', align: 'center' },
+                    { field: 'brandName', title: '商品品牌', align: 'center' },
+                    { field: 'retailPrice', title: '零售价(元)', align: 'center' },
+                    { field: 'prohibitTransfer', title: '禁止调拨', align: 'center' },
+                    { field: 'prohibitOrder', title: '禁止请货', align: 'center' },
+                    { field: 'prohibitSale', title: '禁止销售', align: 'center' },
+                    { field: 'prohibitReturnFactory', title: '禁止返厂', align: 'center' },
+                    { field: 'prohibitReturnWarehouse', title: '禁止返仓', align: 'center' },
+                    { field: 'prohibitDelivery', title: '禁止配送', align: 'center' },
+                    { field: 'prohibitPurchase', title: '禁止采购', align: 'center' },
+                    { field: 'configurationType', title: '配置类型', align: 'center' },
+                    { field: 'operationAttribute', title: '经营属性', align: 'center' },
+                    { field: 'salesAttribute', title: '销售属性', align: 'center' },
+                    { field: 'minimumDisplayQuantity', title: '最小陈列量', align: 'center' },
+
+                {
+                    title: '操作',
+                    align: 'center',
+                    formatter: function(value, row, index) {
+                        if (row.serviceId != 1) {
+                            var actions = [];
+                            actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="edit_page(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
+                            actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a> ');
+                            var more = [];
+                            /*more.push("<a class='btn btn-default btn-xs " + resetPwdFlag + "' href='javascript:void(0)' onclick='resetPwd(" + row.userId + ")'><i class='fa fa-key'></i>重置密码</a> ");
+                            more.push("<a class='btn btn-default btn-xs " + editFlag + "' href='javascript:void(0)' onclick='authRole(" + row.userId + ")'><i class='fa fa-check-square-o'></i>分配角色</a>");
+                            actions.push('<a tabindex="0" class="btn btn-info btn-xs" role="button" data-container="body" data-placement="left" data-toggle="popover" data-html="true" data-trigger="hover" data-content="' + more.join('') + '"><i class="fa fa-chevron-circle-right"></i>更多操作</a>');*/
+                            return actions.join('');
+                        } else {
+                            return "";
+                        }
+                    }
+                }]
+        };
+        $.table.init(options);
+    }
+
+    /* 自定义重置-表单重置/隐藏框/树节点选择色/搜索 */
+    function resetPre() {
+        resetDate();
+        $("#SSpglMdspStoreproductdetails-form")[0].reset();
+        $("#deptId").val("");
+        $("#parentId").val("");
+        $(".curSelectedNode").removeClass("curSelectedNode");
+        $.table.search();
+        var resetButton = document.getElementById('SSpglMdspStoreproductdetails-form');
+        resetButton.addEventListener('click', function() {
+            _refresh();
+        });
+    }
+    function edit_page(id){
+        table.set();
+        var url = "/404.html";
+        if ($.common.isNotEmpty(id)) {
+            url = table.options.updateUrl.replace("{id}", id);
+        } else {
+            var id = $.common.isEmpty(table.options.uniqueId) ? $.table.selectFirstColumns() : $.table.selectColumns(table.options.uniqueId);
+            if (id.length == 0) {
+                $.modal.alertWarning("请至少选择一条记录");
+                return;
+            }
+            url = table.options.updateUrl.replace("{id}", id);
+        }
+        $.modal.openTab("修改" + table.options.modalName, url + "?status=1" );
+    }
+
+    /* 用户状态显示 */
+    function statusTools(row) {
+        if (row.status == 1) {
+            return '<i class=\"fa fa-toggle-off text-info fa-2x\" onclick="enable(\'' + row.userId + '\')"></i> ';
+        } else {
+            return '<i class=\"fa fa-toggle-on text-info fa-2x\" onclick="disable(\'' + row.userId + '\')"></i> ';
+        }
+    }
+</script>
+</body>
+
+</html>

+ 165 - 0
health-admin/src/main/resources/templates/spgl/SSpglMdspStoreproductdetailsPageEdit.html

@@ -0,0 +1,165 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('门店商品查询表修改')" />
+</head>
+<style>
+
+</style>
+<script>
+
+</script>
+<body>
+<div class="ui-layout-center">
+    <form class="form-horizontal" id="form-SSpglMdspStoreproductdetails-edit" th:object="${user}">
+        <h4 class="form-header h4">基本信息</h4>
+        <input type="hidden" id="id" name="id" th:value="${id}">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                    <label class="col-sm-1 control-label">门店名称:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="storeName" placeholder="门店名称" th:value="${storeName}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">商品编码:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="productCode" placeholder="商品编码" th:value="${productCode}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">商品名称:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="productName" placeholder="商品名称" th:value="${productName}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">规格:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="specification" placeholder="规格" th:value="${specification}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">生产厂家:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="manufacturer" placeholder="生产厂家" th:value="${manufacturer}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">通用名称:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="genericName" placeholder="通用名称" th:value="${genericName}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">商品品牌:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="brandName" placeholder="商品品牌" th:value="${brandName}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">零售价(元):</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="retailPrice" placeholder="零售价(元)" th:value="${retailPrice}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">禁止调拨:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="prohibitTransfer" placeholder="禁止调拨" th:value="${prohibitTransfer}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">禁止请货:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="prohibitOrder" placeholder="禁止请货" th:value="${prohibitOrder}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">禁止销售:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="prohibitSale" placeholder="禁止销售" th:value="${prohibitSale}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">禁止返厂:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="prohibitReturnFactory" placeholder="禁止返厂" th:value="${prohibitReturnFactory}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">禁止返仓:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="prohibitReturnWarehouse" placeholder="禁止返仓" th:value="${prohibitReturnWarehouse}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">禁止配送:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="prohibitDelivery" placeholder="禁止配送" th:value="${prohibitDelivery}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">禁止采购:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="prohibitPurchase" placeholder="禁止采购" th:value="${prohibitPurchase}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">配置类型:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="configurationType" placeholder="配置类型" th:value="${configurationType}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">经营属性:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="operationAttribute" placeholder="经营属性" th:value="${operationAttribute}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">销售属性:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="salesAttribute" placeholder="销售属性" th:value="${salesAttribute}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">最小陈列量:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="minimumDisplayQuantity" placeholder="最小陈列量" th:value="${minimumDisplayQuantity}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<div class="main-content">
+    <div class="col-sm-offset-5 col-sm-10">
+        <button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>&nbsp;
+        <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>
+    </div>
+</div>
+<th:block th:include="include :: footer" />
+</body>
+</html>
+
+<script>
+    function submitHandler() {
+        var prefix = ctx + "spgl/sspglmdspstoreproductdetails";
+        if ($.validate.form()) {
+            var data = $("#form-SSpglMdspStoreproductdetails-edit").serializeArray();
+            /*var status = $("input[id='status']").is(':checked') == true ? 0 : 1;
+            var roleIds = $.form.selectCheckeds("role");
+            var postIds = $.form.selectSelects("post");
+            data.push({"name": "status", "value": status});
+            data.push({"name": "roleIds", "value": roleIds});
+            data.push({"name": "postIds", "value": postIds});*/
+            $.operate.saveTab(prefix + "/sSpglMdspStoreproductdetailsEdit", data);
+        }
+    }
+</script>

+ 89 - 0
health-admin/src/main/resources/templates/spgl/SSpglProductattributesAdd.html

@@ -0,0 +1,89 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('租赁商品管理新增')" />
+    <th:block th:include="include :: ztree-css" />
+</head>
+<body class="white-bg">
+<div class="wrapper wrapper-content animated fadeInRight ibox-content">
+    <form class="form-horizontal m" id="form-role-add">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                            <label class="col-sm-3 control-label">商品编码:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="productCode" id="productCode" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">商品名称:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="productName" id="productName" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">商品价格:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="productPrice" id="productPrice" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">支付分门槛:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="paymentScoreThreshold" id="paymentScoreThreshold" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">租赁上限:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="rentalLimit" id="rentalLimit" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: ztree-js" />
+<script type="text/javascript">
+
+    function submitHandler() {
+        if ($.validate.form()) {
+            add();
+        }
+    }
+
+    function add() {
+           var productCode = $("input[name='productCode']").val();
+           var productName = $("input[name='productName']").val();
+           var productPrice = $("input[name='productPrice']").val();
+           var paymentScoreThreshold = $("input[name='paymentScoreThreshold']").val();
+           var rentalLimit = $("input[name='rentalLimit']").val();
+
+        $.ajax({
+            cache : true,
+            type : "POST",
+            url : ctx + "spgl/sspglproductattributes/sSpglProductattributesAdd",
+            data : {
+                "productCode": productCode,
+                "productName": productName,
+                "productPrice": productPrice,
+                "paymentScoreThreshold": paymentScoreThreshold,
+                "rentalLimit": rentalLimit,
+            },
+            async : false,
+            error : function(request) {
+                $.modal.alertError("系统错误");
+            },
+            success : function(data) {
+                $.operate.successCallback(data);
+            }
+        });
+    }
+</script>
+</body>
+</html>

+ 90 - 0
health-admin/src/main/resources/templates/spgl/SSpglProductattributesEdit.html

@@ -0,0 +1,90 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('租赁商品管理修改')" />
+</head>
+<style>
+
+</style>
+<script>
+
+</script>
+<body>
+<div class="ui-layout-center">
+    <form class="form-horizontal" id="form-SSpglProductattributes-edit" th:object="${user}">
+        <h4 class="form-header h4">基本信息</h4>
+        <input type="hidden" id="id" name="id" th:value="${id}">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                    <label class="col-sm-1 control-label">商品编码:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="productCode" placeholder="商品编码" th:value="${productCode}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">商品名称:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="productName" placeholder="商品名称" th:value="${productName}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">商品价格:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="productPrice" placeholder="商品价格" th:value="${productPrice}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">支付分门槛:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="paymentScoreThreshold" placeholder="支付分门槛" th:value="${paymentScoreThreshold}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">租赁上限:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="rentalLimit" placeholder="租赁上限" th:value="${rentalLimit}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<div class="main-content">
+    <div class="col-sm-offset-5 col-sm-10">
+        <!--<button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>
+        <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>-->
+    </div>
+</div>
+<th:block th:include="include :: footer" />
+</body>
+</html>
+
+<script>
+    function edit() {
+        var data = $("#form-SSpglProductattributes-edit").serializeArray();
+        $.ajax({
+            cache : true,
+            type : "POST",
+            url : ctx + "spgl/sspglproductattributes/sSpglProductattributesEdit",
+            data : data,
+            async : false,
+            error : function(request) {
+                $.modal.alertError("系统错误");
+            },
+            success : function(data) {
+                $.operate.successCallback(data);
+            }
+        });
+    }
+
+    function submitHandler() {
+        if ($.validate.form()) {
+            edit();
+        }
+    }
+</script>

+ 213 - 0
health-admin/src/main/resources/templates/spgl/SSpglProductattributesList.html

@@ -0,0 +1,213 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<head>
+    <meta charset="UTF-8">
+    <meta name="format-detection" content="telephone=no">
+    <th:block th:include="include :: header('租赁商品管理')" />
+    <th:block th:include="include :: layout-latest-css" />
+    <th:block th:include="include :: ztree-css" />
+</head>
+<style>
+    /* 设置 ul 的基本样式 */
+    ul {
+        list-style-type: none; /* 去掉项目符号 */
+        padding: 0; /* 去掉默认的内边距 */
+        display: grid; /* 使用网格布局 */
+        grid-template-columns: repeat(5, 1fr); /* 设置三列 */
+    }
+    ul-list ul{
+        list-style-type: none; /* 去掉项目符号 */
+        padding: 0; /* 去掉默认的内边距 */
+        display: grid; /* 使用网格布局 */
+        grid-template-columns: repeat(4, 1fr); /* 设置三列 */
+    }
+    ul-list ul li{
+        /*padding: 10px;*/ /* 内边距 */
+        text-align: left; /* 文本居中 */
+    }
+
+    /* 设置 li 的基本样式 */
+    li {
+        /*background-color: lightblue; *//* 背景颜色 */
+        /*padding: 1px; !* 内边距 *!*/
+        text-align: right; /* 文本居中 */
+    }
+</style>
+
+<body class="gray-bg">
+<div class="ui-layout-center">
+    <div class="container-div">
+        <div class="row">
+            <div class="col-sm-12 search-collapse" >
+                <form id="SSpglProductattributes-form">
+                    <input type="hidden" id="deptId" name="deptId">
+                    <input type="hidden" id="parentId" name="parentId">
+                    <div class="select-list" >
+                        <ul>
+                            <li>
+                                商品编码:<input type="text" class="styled-input" name="productCode" autocomplete="off"/>
+                            </li>
+                            <li>
+                                商品名称:<input type="text" class="styled-input" name="productName" autocomplete="off"/>
+                            </li>
+                            <li>
+                                商品价格:<input type="text" class="styled-input" name="productPrice" autocomplete="off"/>
+                            </li>
+                            <li>
+                                支付分门槛:<input type="text" class="styled-input" name="paymentScoreThreshold" autocomplete="off"/>
+                            </li>
+                            <li>
+                                租赁上限:<input type="text" class="styled-input" name="rentalLimit" autocomplete="off"/>
+                            </li>
+                            <li style="text-align: center">
+                                <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
+                                <a class="btn btn-warning btn-rounded btn-sm" onclick="resetPre()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
+                            </li>
+                        </ul>
+                    </div>
+
+                </form>
+            </div>
+
+            <div class="btn-group-sm" id="toolbar" role="group">
+                <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:user:add">
+                    <i class="fa fa-plus"></i> 新增
+                </a>
+                 <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:user:edit">
+                    <i class="fa fa-edit"></i> 修改
+                </a>
+                <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:user:remove">
+                    <i class="fa fa-remove"></i> 删除
+                </a>
+                <a class="btn btn-info" onclick="$.table.importExcel()" shiro:hasPermission="system:user:import">
+                    <i class="fa fa-upload"></i> 导入
+                </a>
+                <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:user:export">
+                    <i class="fa fa-download"></i> 导出
+                </a>
+            </div>
+
+            <div class="col-sm-12 select-table table-striped">
+                <table id="bootstrap-table"></table>
+            </div>
+        </div>
+    </div>
+</div>
+
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: layout-latest-js" />
+<th:block th:include="include :: ztree-js" />
+<script th:inline="javascript">
+    var editFlag = [[${@permission.hasPermi('dtp:pmService:edit')}]];
+    var removeFlag = [[${@permission.hasPermi('dtp:pmService:remove')}]];
+    var prefix = ctx + "spgl/sspglproductattributes";
+    $(function() {
+        var panehHidden = false;
+        if ($(this).width() < 1590) {
+            panehHidden = true;
+        }
+        $('body').layout({ initClosed: panehHidden, west__size: 185, resizeWithWindow: false });
+        // 回到顶部绑定
+        if ($.fn.toTop !== undefined) {
+            var opt = {
+                win:$('.ui-layout-center'),
+                doc:$('.ui-layout-center')
+            };
+            $('#scroll-up').toTop(opt);
+        }
+        queryArchivesList();
+    });
+
+    function queryArchivesList() {
+        var options = {
+            url: prefix + "/sSpglProductattributesList",
+            viewUrl: prefix + "/sSpglProductattributesView/{id}",
+            createUrl: prefix + "/sSpglProductattributesAdd",
+            updateUrl: prefix + "/sSpglProductattributesEdit/{id}",
+            removeUrl: prefix + "/sSpglProductattributesRemove",
+            /*exportUrl: prefix + "/export",
+            importUrl: prefix + "/importData",
+            importTemplateUrl: prefix + "/importTemplate",*/
+            sortName: "id",
+            sortOrder: "asc",
+            modalName: "租赁商品管理",
+            fitColumns: true,
+            striped: true,
+            autoRowHeight: true,
+            rowNumbers: true,
+            showFooter:true,  //是否显示表格底部区域。
+            clickToSelect: true, //是否启用点击行时选中整行的功能。
+            singleSelect: true, //是否仅允许选择一行
+            columns: [{
+                checkbox: true
+            },
+                { field: 'id', title: '主键', align: 'center' ,visible:false},
+                    { field: 'productCode', title: '商品编码', align: 'center' },
+                    { field: 'productName', title: '商品名称', align: 'center' },
+                    { field: 'productPrice', title: '商品价格', align: 'center' },
+                    { field: 'paymentScoreThreshold', title: '支付分门槛', align: 'center' },
+                    { field: 'rentalLimit', title: '租赁上限', align: 'center' },
+
+                {
+                    title: '操作',
+                    align: 'center',
+                    formatter: function(value, row, index) {
+                        if (row.serviceId != 1) {
+                            var actions = [];
+                            actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="edit_page(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
+                            actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a> ');
+                            var more = [];
+                            /*more.push("<a class='btn btn-default btn-xs " + resetPwdFlag + "' href='javascript:void(0)' onclick='resetPwd(" + row.userId + ")'><i class='fa fa-key'></i>重置密码</a> ");
+                            more.push("<a class='btn btn-default btn-xs " + editFlag + "' href='javascript:void(0)' onclick='authRole(" + row.userId + ")'><i class='fa fa-check-square-o'></i>分配角色</a>");
+                            actions.push('<a tabindex="0" class="btn btn-info btn-xs" role="button" data-container="body" data-placement="left" data-toggle="popover" data-html="true" data-trigger="hover" data-content="' + more.join('') + '"><i class="fa fa-chevron-circle-right"></i>更多操作</a>');*/
+                            return actions.join('');
+                        } else {
+                            return "";
+                        }
+                    }
+                }]
+        };
+        $.table.init(options);
+    }
+
+    /* 自定义重置-表单重置/隐藏框/树节点选择色/搜索 */
+    function resetPre() {
+        resetDate();
+        $("#SSpglProductattributes-form")[0].reset();
+        $("#deptId").val("");
+        $("#parentId").val("");
+        $(".curSelectedNode").removeClass("curSelectedNode");
+        $.table.search();
+        var resetButton = document.getElementById('SSpglProductattributes-form');
+        resetButton.addEventListener('click', function() {
+            _refresh();
+        });
+    }
+    function edit_page(id){
+        table.set();
+        var url = "/404.html";
+        if ($.common.isNotEmpty(id)) {
+            url = table.options.updateUrl.replace("{id}", id);
+        } else {
+            var id = $.common.isEmpty(table.options.uniqueId) ? $.table.selectFirstColumns() : $.table.selectColumns(table.options.uniqueId);
+            if (id.length == 0) {
+                $.modal.alertWarning("请至少选择一条记录");
+                return;
+            }
+            url = table.options.updateUrl.replace("{id}", id);
+        }
+        $.modal.openTab("修改" + table.options.modalName, url + "?status=1" );
+    }
+
+    /* 用户状态显示 */
+    function statusTools(row) {
+        if (row.status == 1) {
+            return '<i class=\"fa fa-toggle-off text-info fa-2x\" onclick="enable(\'' + row.userId + '\')"></i> ';
+        } else {
+            return '<i class=\"fa fa-toggle-on text-info fa-2x\" onclick="disable(\'' + row.userId + '\')"></i> ';
+        }
+    }
+</script>
+</body>
+
+</html>

+ 81 - 0
health-admin/src/main/resources/templates/spgl/SSpglProductattributesPageEdit.html

@@ -0,0 +1,81 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('租赁商品管理修改')" />
+</head>
+<style>
+
+</style>
+<script>
+
+</script>
+<body>
+<div class="ui-layout-center">
+    <form class="form-horizontal" id="form-SSpglProductattributes-edit" th:object="${user}">
+        <h4 class="form-header h4">基本信息</h4>
+        <input type="hidden" id="id" name="id" th:value="${id}">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                    <label class="col-sm-1 control-label">商品编码:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="productCode" placeholder="商品编码" th:value="${productCode}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">商品名称:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="productName" placeholder="商品名称" th:value="${productName}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">商品价格:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="productPrice" placeholder="商品价格" th:value="${productPrice}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">支付分门槛:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="paymentScoreThreshold" placeholder="支付分门槛" th:value="${paymentScoreThreshold}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">租赁上限:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="rentalLimit" placeholder="租赁上限" th:value="${rentalLimit}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<div class="main-content">
+    <div class="col-sm-offset-5 col-sm-10">
+        <button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>&nbsp;
+        <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>
+    </div>
+</div>
+<th:block th:include="include :: footer" />
+</body>
+</html>
+
+<script>
+    function submitHandler() {
+        var prefix = ctx + "spgl/sspglproductattributes";
+        if ($.validate.form()) {
+            var data = $("#form-SSpglProductattributes-edit").serializeArray();
+            /*var status = $("input[id='status']").is(':checked') == true ? 0 : 1;
+            var roleIds = $.form.selectCheckeds("role");
+            var postIds = $.form.selectSelects("post");
+            data.push({"name": "status", "value": status});
+            data.push({"name": "roleIds", "value": roleIds});
+            data.push({"name": "postIds", "value": postIds});*/
+            $.operate.saveTab(prefix + "/sSpglProductattributesEdit", data);
+        }
+    }
+</script>

+ 289 - 0
health-admin/src/main/resources/templates/spgl/SSpglProductdetailsAdd.html

@@ -0,0 +1,289 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('连锁商品查询新增')" />
+    <th:block th:include="include :: ztree-css" />
+</head>
+<body class="white-bg">
+<div class="wrapper wrapper-content animated fadeInRight ibox-content">
+    <form class="form-horizontal m" id="form-role-add">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                            <label class="col-sm-3 control-label">商品编码:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="productCode" id="productCode" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">商品名称:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="productName" id="productName" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">规格:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="specification" id="specification" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">生产厂家:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="manufacturer" id="manufacturer" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">通用名称:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="genericName" id="genericName" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">商品分类:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="productCategory" id="productCategory" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">商品品牌:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="brandName" id="brandName" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">零售价/元:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="retailPrice" id="retailPrice" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">销售属性:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="salesAttributes" id="salesAttributes" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">最低限价:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="minimumPrice" id="minimumPrice" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">生产许可证号/备案凭证编号:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="productionLicenseNumber" id="productionLicenseNumber" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">生产许可证号有效期:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="productionLicenseValidUntil" id="productionLicenseValidUntil" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">拆零单位:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="unitOfDispensing" id="unitOfDispensing" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">是否可拆零:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="isDispensable" id="isDispensable" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">拆零比例:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="dispensingRatio" id="dispensingRatio" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">本位码:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="uniqueCode" id="uniqueCode" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">上市许可持有人:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="marketingAuthorizationHolder" id="marketingAuthorizationHolder" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">处方类别:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="prescriptionCategory" id="prescriptionCategory" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">处方类别二级:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="prescriptionCategorySecondLevel" id="prescriptionCategorySecondLevel" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">处方类别三级:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="prescriptionCategoryThirdLevel" id="prescriptionCategoryThirdLevel" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">批准文号:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="approvalNumber" id="approvalNumber" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">批准文号有效期:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="approvalNumberValidUntil" id="approvalNumberValidUntil" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">批准文号2:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="approvalNumberTwo" id="approvalNumberTwo" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">批准文号2有效期:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="approvalNumberTwoValidUntil" id="approvalNumberTwoValidUntil" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">批准文号3:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="approvalNumberThree" id="approvalNumberThree" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">批准文号3有效期:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="approvalNumberThreeValidUntil" id="approvalNumberThreeValidUntil" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">注册证号:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="registrationNumber" id="registrationNumber" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">注册证号有效期:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="registrationNumberValidUntil" id="registrationNumberValidUntil" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">注册证号2:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="registrationNumberTwo" id="registrationNumberTwo" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                            <label class="col-sm-3 control-label">注册证号2有效期:</label>
+                            <div class="col-sm-3">
+                                <div class="input-group">
+                                    <input name="registrationNumberTwoValidUntil" id="registrationNumberTwoValidUntil" class="styled-input" type="text" maxlength="255" >
+                                </div>
+                            </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: ztree-js" />
+<script type="text/javascript">
+
+    function submitHandler() {
+        if ($.validate.form()) {
+            add();
+        }
+    }
+
+    function add() {
+           var productCode = $("input[name='productCode']").val();
+           var productName = $("input[name='productName']").val();
+           var specification = $("input[name='specification']").val();
+           var manufacturer = $("input[name='manufacturer']").val();
+           var genericName = $("input[name='genericName']").val();
+           var productCategory = $("input[name='productCategory']").val();
+           var brandName = $("input[name='brandName']").val();
+           var retailPrice = $("input[name='retailPrice']").val();
+           var salesAttributes = $("input[name='salesAttributes']").val();
+           var minimumPrice = $("input[name='minimumPrice']").val();
+           var productionLicenseNumber = $("input[name='productionLicenseNumber']").val();
+           var productionLicenseValidUntil = $("input[name='productionLicenseValidUntil']").val();
+           var unitOfDispensing = $("input[name='unitOfDispensing']").val();
+           var isDispensable = $("input[name='isDispensable']").val();
+           var dispensingRatio = $("input[name='dispensingRatio']").val();
+           var uniqueCode = $("input[name='uniqueCode']").val();
+           var marketingAuthorizationHolder = $("input[name='marketingAuthorizationHolder']").val();
+           var prescriptionCategory = $("input[name='prescriptionCategory']").val();
+           var prescriptionCategorySecondLevel = $("input[name='prescriptionCategorySecondLevel']").val();
+           var prescriptionCategoryThirdLevel = $("input[name='prescriptionCategoryThirdLevel']").val();
+           var approvalNumber = $("input[name='approvalNumber']").val();
+           var approvalNumberValidUntil = $("input[name='approvalNumberValidUntil']").val();
+           var approvalNumberTwo = $("input[name='approvalNumberTwo']").val();
+           var approvalNumberTwoValidUntil = $("input[name='approvalNumberTwoValidUntil']").val();
+           var approvalNumberThree = $("input[name='approvalNumberThree']").val();
+           var approvalNumberThreeValidUntil = $("input[name='approvalNumberThreeValidUntil']").val();
+           var registrationNumber = $("input[name='registrationNumber']").val();
+           var registrationNumberValidUntil = $("input[name='registrationNumberValidUntil']").val();
+           var registrationNumberTwo = $("input[name='registrationNumberTwo']").val();
+           var registrationNumberTwoValidUntil = $("input[name='registrationNumberTwoValidUntil']").val();
+
+        $.ajax({
+            cache : true,
+            type : "POST",
+            url : ctx + "spgl/sspglproductdetails/sSpglProductdetailsAdd",
+            data : {
+                "productCode": productCode,
+                "productName": productName,
+                "specification": specification,
+                "manufacturer": manufacturer,
+                "genericName": genericName,
+                "productCategory": productCategory,
+                "brandName": brandName,
+                "retailPrice": retailPrice,
+                "salesAttributes": salesAttributes,
+                "minimumPrice": minimumPrice,
+                "productionLicenseNumber": productionLicenseNumber,
+                "productionLicenseValidUntil": productionLicenseValidUntil,
+                "unitOfDispensing": unitOfDispensing,
+                "isDispensable": isDispensable,
+                "dispensingRatio": dispensingRatio,
+                "uniqueCode": uniqueCode,
+                "marketingAuthorizationHolder": marketingAuthorizationHolder,
+                "prescriptionCategory": prescriptionCategory,
+                "prescriptionCategorySecondLevel": prescriptionCategorySecondLevel,
+                "prescriptionCategoryThirdLevel": prescriptionCategoryThirdLevel,
+                "approvalNumber": approvalNumber,
+                "approvalNumberValidUntil": approvalNumberValidUntil,
+                "approvalNumberTwo": approvalNumberTwo,
+                "approvalNumberTwoValidUntil": approvalNumberTwoValidUntil,
+                "approvalNumberThree": approvalNumberThree,
+                "approvalNumberThreeValidUntil": approvalNumberThreeValidUntil,
+                "registrationNumber": registrationNumber,
+                "registrationNumberValidUntil": registrationNumberValidUntil,
+                "registrationNumberTwo": registrationNumberTwo,
+                "registrationNumberTwoValidUntil": registrationNumberTwoValidUntil,
+            },
+            async : false,
+            error : function(request) {
+                $.modal.alertError("系统错误");
+            },
+            success : function(data) {
+                $.operate.successCallback(data);
+            }
+        });
+    }
+</script>
+</body>
+</html>

+ 240 - 0
health-admin/src/main/resources/templates/spgl/SSpglProductdetailsEdit.html

@@ -0,0 +1,240 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('连锁商品查询修改')" />
+</head>
+<style>
+
+</style>
+<script>
+
+</script>
+<body>
+<div class="ui-layout-center">
+    <form class="form-horizontal" id="form-SSpglProductdetails-edit" th:object="${user}">
+        <h4 class="form-header h4">基本信息</h4>
+        <input type="hidden" id="id" name="id" th:value="${id}">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                    <label class="col-sm-1 control-label">商品编码:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="productCode" placeholder="商品编码" th:value="${productCode}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">商品名称:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="productName" placeholder="商品名称" th:value="${productName}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">规格:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="specification" placeholder="规格" th:value="${specification}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">生产厂家:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="manufacturer" placeholder="生产厂家" th:value="${manufacturer}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">通用名称:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="genericName" placeholder="通用名称" th:value="${genericName}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">商品分类:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="productCategory" placeholder="商品分类" th:value="${productCategory}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">商品品牌:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="brandName" placeholder="商品品牌" th:value="${brandName}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">零售价/元:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="retailPrice" placeholder="零售价/元" th:value="${retailPrice}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">销售属性:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="salesAttributes" placeholder="销售属性" th:value="${salesAttributes}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">最低限价:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="minimumPrice" placeholder="最低限价" th:value="${minimumPrice}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">生产许可证号/备案凭证编号:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="productionLicenseNumber" placeholder="生产许可证号/备案凭证编号" th:value="${productionLicenseNumber}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">生产许可证号有效期:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="productionLicenseValidUntil" placeholder="生产许可证号有效期" th:value="${productionLicenseValidUntil}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">拆零单位:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="unitOfDispensing" placeholder="拆零单位" th:value="${unitOfDispensing}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">是否可拆零:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="isDispensable" placeholder="是否可拆零" th:value="${isDispensable}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">拆零比例:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="dispensingRatio" placeholder="拆零比例" th:value="${dispensingRatio}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">本位码:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="uniqueCode" placeholder="本位码" th:value="${uniqueCode}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">上市许可持有人:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="marketingAuthorizationHolder" placeholder="上市许可持有人" th:value="${marketingAuthorizationHolder}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">处方类别:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="prescriptionCategory" placeholder="处方类别" th:value="${prescriptionCategory}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">处方类别二级:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="prescriptionCategorySecondLevel" placeholder="处方类别二级" th:value="${prescriptionCategorySecondLevel}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">处方类别三级:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="prescriptionCategoryThirdLevel" placeholder="处方类别三级" th:value="${prescriptionCategoryThirdLevel}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">批准文号:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="approvalNumber" placeholder="批准文号" th:value="${approvalNumber}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">批准文号有效期:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="approvalNumberValidUntil" placeholder="批准文号有效期" th:value="${approvalNumberValidUntil}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">批准文号2:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="approvalNumberTwo" placeholder="批准文号2" th:value="${approvalNumberTwo}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">批准文号2有效期:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="approvalNumberTwoValidUntil" placeholder="批准文号2有效期" th:value="${approvalNumberTwoValidUntil}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">批准文号3:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="approvalNumberThree" placeholder="批准文号3" th:value="${approvalNumberThree}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">批准文号3有效期:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="approvalNumberThreeValidUntil" placeholder="批准文号3有效期" th:value="${approvalNumberThreeValidUntil}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">注册证号:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="registrationNumber" placeholder="注册证号" th:value="${registrationNumber}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">注册证号有效期:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="registrationNumberValidUntil" placeholder="注册证号有效期" th:value="${registrationNumberValidUntil}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">注册证号2:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="registrationNumberTwo" placeholder="注册证号2" th:value="${registrationNumberTwo}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">注册证号2有效期:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="registrationNumberTwoValidUntil" placeholder="注册证号2有效期" th:value="${registrationNumberTwoValidUntil}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<div class="main-content">
+    <div class="col-sm-offset-5 col-sm-10">
+        <!--<button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>
+        <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>-->
+    </div>
+</div>
+<th:block th:include="include :: footer" />
+</body>
+</html>
+
+<script>
+    function edit() {
+        var data = $("#form-SSpglProductdetails-edit").serializeArray();
+        $.ajax({
+            cache : true,
+            type : "POST",
+            url : ctx + "spgl/sspglproductdetails/sSpglProductdetailsEdit",
+            data : data,
+            async : false,
+            error : function(request) {
+                $.modal.alertError("系统错误");
+            },
+            success : function(data) {
+                $.operate.successCallback(data);
+            }
+        });
+    }
+
+    function submitHandler() {
+        if ($.validate.form()) {
+            edit();
+        }
+    }
+</script>

+ 313 - 0
health-admin/src/main/resources/templates/spgl/SSpglProductdetailsList.html

@@ -0,0 +1,313 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<head>
+    <meta charset="UTF-8">
+    <meta name="format-detection" content="telephone=no">
+    <th:block th:include="include :: header('连锁商品查询')" />
+    <th:block th:include="include :: layout-latest-css" />
+    <th:block th:include="include :: ztree-css" />
+</head>
+<style>
+    /* 设置 ul 的基本样式 */
+    ul {
+        list-style-type: none; /* 去掉项目符号 */
+        padding: 0; /* 去掉默认的内边距 */
+        display: grid; /* 使用网格布局 */
+        grid-template-columns: repeat(5, 1fr); /* 设置三列 */
+    }
+    ul-list ul{
+        list-style-type: none; /* 去掉项目符号 */
+        padding: 0; /* 去掉默认的内边距 */
+        display: grid; /* 使用网格布局 */
+        grid-template-columns: repeat(4, 1fr); /* 设置三列 */
+    }
+    ul-list ul li{
+        /*padding: 10px;*/ /* 内边距 */
+        text-align: left; /* 文本居中 */
+    }
+
+    /* 设置 li 的基本样式 */
+    li {
+        /*background-color: lightblue; *//* 背景颜色 */
+        /*padding: 1px; !* 内边距 *!*/
+        text-align: right; /* 文本居中 */
+    }
+</style>
+
+<body class="gray-bg">
+<div class="ui-layout-center">
+    <div class="container-div">
+        <div class="row">
+            <div class="col-sm-12 search-collapse" >
+                <form id="SSpglProductdetails-form">
+                    <input type="hidden" id="deptId" name="deptId">
+                    <input type="hidden" id="parentId" name="parentId">
+                    <div class="select-list" >
+                        <ul>
+                            <li>
+                                商品编码:<input type="text" class="styled-input" name="productCode" autocomplete="off"/>
+                            </li>
+                            <li>
+                                商品名称:<input type="text" class="styled-input" name="productName" autocomplete="off"/>
+                            </li>
+                            <li>
+                                规格:<input type="text" class="styled-input" name="specification" autocomplete="off"/>
+                            </li>
+                            <li>
+                                生产厂家:<input type="text" class="styled-input" name="manufacturer" autocomplete="off"/>
+                            </li>
+                            <li>
+                                通用名称:<input type="text" class="styled-input" name="genericName" autocomplete="off"/>
+                            </li>
+                            <li>
+                                商品分类:<input type="text" class="styled-input" name="productCategory" autocomplete="off"/>
+                            </li>
+                            <li>
+                                商品品牌:<input type="text" class="styled-input" name="brandName" autocomplete="off"/>
+                            </li>
+                            <li>
+                                零售价/元:<input type="text" class="styled-input" name="retailPrice" autocomplete="off"/>
+                            </li>
+                            <li>
+                                销售属性:<input type="text" class="styled-input" name="salesAttributes" autocomplete="off"/>
+                            </li>
+                            <li>
+                                最低限价:<input type="text" class="styled-input" name="minimumPrice" autocomplete="off"/>
+                            </li>
+                            <li>
+                                生产许可证号/备案凭证编号:<input type="text" class="styled-input" name="productionLicenseNumber" autocomplete="off"/>
+                            </li>
+                            <li>
+                                生产许可证号有效期:<input type="text" class="styled-input" name="productionLicenseValidUntil" autocomplete="off"/>
+                            </li>
+                            <li>
+                                拆零单位:<input type="text" class="styled-input" name="unitOfDispensing" autocomplete="off"/>
+                            </li>
+                            <li>
+                                是否可拆零:<input type="text" class="styled-input" name="isDispensable" autocomplete="off"/>
+                            </li>
+                            <li>
+                                拆零比例:<input type="text" class="styled-input" name="dispensingRatio" autocomplete="off"/>
+                            </li>
+                            <li>
+                                本位码:<input type="text" class="styled-input" name="uniqueCode" autocomplete="off"/>
+                            </li>
+                            <li>
+                                上市许可持有人:<input type="text" class="styled-input" name="marketingAuthorizationHolder" autocomplete="off"/>
+                            </li>
+                            <li>
+                                处方类别:<input type="text" class="styled-input" name="prescriptionCategory" autocomplete="off"/>
+                            </li>
+                            <li>
+                                处方类别二级:<input type="text" class="styled-input" name="prescriptionCategorySecondLevel" autocomplete="off"/>
+                            </li>
+                            <li>
+                                处方类别三级:<input type="text" class="styled-input" name="prescriptionCategoryThirdLevel" autocomplete="off"/>
+                            </li>
+                            <li>
+                                批准文号:<input type="text" class="styled-input" name="approvalNumber" autocomplete="off"/>
+                            </li>
+                            <li>
+                                批准文号有效期:<input type="text" class="styled-input" name="approvalNumberValidUntil" autocomplete="off"/>
+                            </li>
+                            <li>
+                                批准文号2:<input type="text" class="styled-input" name="approvalNumberTwo" autocomplete="off"/>
+                            </li>
+                            <li>
+                                批准文号2有效期:<input type="text" class="styled-input" name="approvalNumberTwoValidUntil" autocomplete="off"/>
+                            </li>
+                            <li>
+                                批准文号3:<input type="text" class="styled-input" name="approvalNumberThree" autocomplete="off"/>
+                            </li>
+                            <li>
+                                批准文号3有效期:<input type="text" class="styled-input" name="approvalNumberThreeValidUntil" autocomplete="off"/>
+                            </li>
+                            <li>
+                                注册证号:<input type="text" class="styled-input" name="registrationNumber" autocomplete="off"/>
+                            </li>
+                            <li>
+                                注册证号有效期:<input type="text" class="styled-input" name="registrationNumberValidUntil" autocomplete="off"/>
+                            </li>
+                            <li>
+                                注册证号2:<input type="text" class="styled-input" name="registrationNumberTwo" autocomplete="off"/>
+                            </li>
+                            <li>
+                                注册证号2有效期:<input type="text" class="styled-input" name="registrationNumberTwoValidUntil" autocomplete="off"/>
+                            </li>
+                            <li style="text-align: center">
+                                <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
+                                <a class="btn btn-warning btn-rounded btn-sm" onclick="resetPre()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
+                            </li>
+                        </ul>
+                    </div>
+
+                </form>
+            </div>
+
+            <div class="btn-group-sm" id="toolbar" role="group">
+                <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:user:add">
+                    <i class="fa fa-plus"></i> 新增
+                </a>
+                 <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:user:edit">
+                    <i class="fa fa-edit"></i> 修改
+                </a>
+                <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:user:remove">
+                    <i class="fa fa-remove"></i> 删除
+                </a>
+                <a class="btn btn-info" onclick="$.table.importExcel()" shiro:hasPermission="system:user:import">
+                    <i class="fa fa-upload"></i> 导入
+                </a>
+                <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:user:export">
+                    <i class="fa fa-download"></i> 导出
+                </a>
+            </div>
+
+            <div class="col-sm-12 select-table table-striped">
+                <table id="bootstrap-table"></table>
+            </div>
+        </div>
+    </div>
+</div>
+
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: layout-latest-js" />
+<th:block th:include="include :: ztree-js" />
+<script th:inline="javascript">
+    var editFlag = [[${@permission.hasPermi('dtp:pmService:edit')}]];
+    var removeFlag = [[${@permission.hasPermi('dtp:pmService:remove')}]];
+    var prefix = ctx + "spgl/sspglproductdetails";
+    $(function() {
+        var panehHidden = false;
+        if ($(this).width() < 1590) {
+            panehHidden = true;
+        }
+        $('body').layout({ initClosed: panehHidden, west__size: 185, resizeWithWindow: false });
+        // 回到顶部绑定
+        if ($.fn.toTop !== undefined) {
+            var opt = {
+                win:$('.ui-layout-center'),
+                doc:$('.ui-layout-center')
+            };
+            $('#scroll-up').toTop(opt);
+        }
+        queryArchivesList();
+    });
+
+    function queryArchivesList() {
+        var options = {
+            url: prefix + "/sSpglProductdetailsList",
+            viewUrl: prefix + "/sSpglProductdetailsView/{id}",
+            createUrl: prefix + "/sSpglProductdetailsAdd",
+            updateUrl: prefix + "/sSpglProductdetailsEdit/{id}",
+            removeUrl: prefix + "/sSpglProductdetailsRemove",
+            /*exportUrl: prefix + "/export",
+            importUrl: prefix + "/importData",
+            importTemplateUrl: prefix + "/importTemplate",*/
+            sortName: "id",
+            sortOrder: "asc",
+            modalName: "连锁商品查询",
+            fitColumns: true,
+            striped: true,
+            autoRowHeight: true,
+            rowNumbers: true,
+            showFooter:true,  //是否显示表格底部区域。
+            clickToSelect: true, //是否启用点击行时选中整行的功能。
+            singleSelect: true, //是否仅允许选择一行
+            columns: [{
+                checkbox: true
+            },
+                { field: 'id', title: '主键', align: 'center' ,visible:false},
+                    { field: 'productCode', title: '商品编码', align: 'center' },
+                    { field: 'productName', title: '商品名称', align: 'center' },
+                    { field: 'specification', title: '规格', align: 'center' },
+                    { field: 'manufacturer', title: '生产厂家', align: 'center' },
+                    { field: 'genericName', title: '通用名称', align: 'center' },
+                    { field: 'productCategory', title: '商品分类', align: 'center' },
+                    { field: 'brandName', title: '商品品牌', align: 'center' },
+                    { field: 'retailPrice', title: '零售价/元', align: 'center' },
+                    { field: 'salesAttributes', title: '销售属性', align: 'center' },
+                    { field: 'minimumPrice', title: '最低限价', align: 'center' },
+                    { field: 'productionLicenseNumber', title: '生产许可证号/备案凭证编号', align: 'center' },
+                    { field: 'productionLicenseValidUntil', title: '生产许可证号有效期', align: 'center' },
+                    { field: 'unitOfDispensing', title: '拆零单位', align: 'center' },
+                    { field: 'isDispensable', title: '是否可拆零', align: 'center' },
+                    { field: 'dispensingRatio', title: '拆零比例', align: 'center' },
+                    { field: 'uniqueCode', title: '本位码', align: 'center' },
+                    { field: 'marketingAuthorizationHolder', title: '上市许可持有人', align: 'center' },
+                    { field: 'prescriptionCategory', title: '处方类别', align: 'center' },
+                    { field: 'prescriptionCategorySecondLevel', title: '处方类别二级', align: 'center' },
+                    { field: 'prescriptionCategoryThirdLevel', title: '处方类别三级', align: 'center' },
+                    { field: 'approvalNumber', title: '批准文号', align: 'center' },
+                    { field: 'approvalNumberValidUntil', title: '批准文号有效期', align: 'center' },
+                    { field: 'approvalNumberTwo', title: '批准文号2', align: 'center' },
+                    { field: 'approvalNumberTwoValidUntil', title: '批准文号2有效期', align: 'center' },
+                    { field: 'approvalNumberThree', title: '批准文号3', align: 'center' },
+                    { field: 'approvalNumberThreeValidUntil', title: '批准文号3有效期', align: 'center' },
+                    { field: 'registrationNumber', title: '注册证号', align: 'center' },
+                    { field: 'registrationNumberValidUntil', title: '注册证号有效期', align: 'center' },
+                    { field: 'registrationNumberTwo', title: '注册证号2', align: 'center' },
+                    { field: 'registrationNumberTwoValidUntil', title: '注册证号2有效期', align: 'center' },
+
+                {
+                    title: '操作',
+                    align: 'center',
+                    formatter: function(value, row, index) {
+                        if (row.serviceId != 1) {
+                            var actions = [];
+                            actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="edit_page(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
+                            actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a> ');
+                            var more = [];
+                            /*more.push("<a class='btn btn-default btn-xs " + resetPwdFlag + "' href='javascript:void(0)' onclick='resetPwd(" + row.userId + ")'><i class='fa fa-key'></i>重置密码</a> ");
+                            more.push("<a class='btn btn-default btn-xs " + editFlag + "' href='javascript:void(0)' onclick='authRole(" + row.userId + ")'><i class='fa fa-check-square-o'></i>分配角色</a>");
+                            actions.push('<a tabindex="0" class="btn btn-info btn-xs" role="button" data-container="body" data-placement="left" data-toggle="popover" data-html="true" data-trigger="hover" data-content="' + more.join('') + '"><i class="fa fa-chevron-circle-right"></i>更多操作</a>');*/
+                            return actions.join('');
+                        } else {
+                            return "";
+                        }
+                    }
+                }]
+        };
+        $.table.init(options);
+    }
+
+    /* 自定义重置-表单重置/隐藏框/树节点选择色/搜索 */
+    function resetPre() {
+        resetDate();
+        $("#SSpglProductdetails-form")[0].reset();
+        $("#deptId").val("");
+        $("#parentId").val("");
+        $(".curSelectedNode").removeClass("curSelectedNode");
+        $.table.search();
+        var resetButton = document.getElementById('SSpglProductdetails-form');
+        resetButton.addEventListener('click', function() {
+            _refresh();
+        });
+    }
+    function edit_page(id){
+        table.set();
+        var url = "/404.html";
+        if ($.common.isNotEmpty(id)) {
+            url = table.options.updateUrl.replace("{id}", id);
+        } else {
+            var id = $.common.isEmpty(table.options.uniqueId) ? $.table.selectFirstColumns() : $.table.selectColumns(table.options.uniqueId);
+            if (id.length == 0) {
+                $.modal.alertWarning("请至少选择一条记录");
+                return;
+            }
+            url = table.options.updateUrl.replace("{id}", id);
+        }
+        $.modal.openTab("修改" + table.options.modalName, url + "?status=1" );
+    }
+
+    /* 用户状态显示 */
+    function statusTools(row) {
+        if (row.status == 1) {
+            return '<i class=\"fa fa-toggle-off text-info fa-2x\" onclick="enable(\'' + row.userId + '\')"></i> ';
+        } else {
+            return '<i class=\"fa fa-toggle-on text-info fa-2x\" onclick="disable(\'' + row.userId + '\')"></i> ';
+        }
+    }
+</script>
+</body>
+
+</html>

+ 231 - 0
health-admin/src/main/resources/templates/spgl/SSpglProductdetailsPageEdit.html

@@ -0,0 +1,231 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('连锁商品查询修改')" />
+</head>
+<style>
+
+</style>
+<script>
+
+</script>
+<body>
+<div class="ui-layout-center">
+    <form class="form-horizontal" id="form-SSpglProductdetails-edit" th:object="${user}">
+        <h4 class="form-header h4">基本信息</h4>
+        <input type="hidden" id="id" name="id" th:value="${id}">
+        <div class="row">
+            <div class="col-sm-12">
+                <div class="form-group">
+                    <!--is-required 增加星号 显示为必填-->
+                    <label class="col-sm-1 control-label">商品编码:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="productCode" placeholder="商品编码" th:value="${productCode}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">商品名称:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="productName" placeholder="商品名称" th:value="${productName}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">规格:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="specification" placeholder="规格" th:value="${specification}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">生产厂家:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="manufacturer" placeholder="生产厂家" th:value="${manufacturer}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">通用名称:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="genericName" placeholder="通用名称" th:value="${genericName}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">商品分类:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="productCategory" placeholder="商品分类" th:value="${productCategory}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">商品品牌:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="brandName" placeholder="商品品牌" th:value="${brandName}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">零售价/元:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="retailPrice" placeholder="零售价/元" th:value="${retailPrice}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">销售属性:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="salesAttributes" placeholder="销售属性" th:value="${salesAttributes}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">最低限价:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="minimumPrice" placeholder="最低限价" th:value="${minimumPrice}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">生产许可证号/备案凭证编号:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="productionLicenseNumber" placeholder="生产许可证号/备案凭证编号" th:value="${productionLicenseNumber}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">生产许可证号有效期:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="productionLicenseValidUntil" placeholder="生产许可证号有效期" th:value="${productionLicenseValidUntil}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">拆零单位:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="unitOfDispensing" placeholder="拆零单位" th:value="${unitOfDispensing}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">是否可拆零:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="isDispensable" placeholder="是否可拆零" th:value="${isDispensable}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">拆零比例:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="dispensingRatio" placeholder="拆零比例" th:value="${dispensingRatio}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">本位码:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="uniqueCode" placeholder="本位码" th:value="${uniqueCode}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">上市许可持有人:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="marketingAuthorizationHolder" placeholder="上市许可持有人" th:value="${marketingAuthorizationHolder}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">处方类别:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="prescriptionCategory" placeholder="处方类别" th:value="${prescriptionCategory}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">处方类别二级:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="prescriptionCategorySecondLevel" placeholder="处方类别二级" th:value="${prescriptionCategorySecondLevel}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">处方类别三级:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="prescriptionCategoryThirdLevel" placeholder="处方类别三级" th:value="${prescriptionCategoryThirdLevel}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">批准文号:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="approvalNumber" placeholder="批准文号" th:value="${approvalNumber}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">批准文号有效期:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="approvalNumberValidUntil" placeholder="批准文号有效期" th:value="${approvalNumberValidUntil}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">批准文号2:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="approvalNumberTwo" placeholder="批准文号2" th:value="${approvalNumberTwo}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">批准文号2有效期:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="approvalNumberTwoValidUntil" placeholder="批准文号2有效期" th:value="${approvalNumberTwoValidUntil}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">批准文号3:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="approvalNumberThree" placeholder="批准文号3" th:value="${approvalNumberThree}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">批准文号3有效期:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="approvalNumberThreeValidUntil" placeholder="批准文号3有效期" th:value="${approvalNumberThreeValidUntil}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">注册证号:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="registrationNumber" placeholder="注册证号" th:value="${registrationNumber}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">注册证号有效期:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="registrationNumberValidUntil" placeholder="注册证号有效期" th:value="${registrationNumberValidUntil}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">注册证号2:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="registrationNumberTwo" placeholder="注册证号2" th:value="${registrationNumberTwo}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                    <label class="col-sm-1 control-label">注册证号2有效期:</label>
+                    <div class="col-sm-2">
+                        <div class="input-group">
+                            <input name="registrationNumberTwoValidUntil" placeholder="注册证号2有效期" th:value="${registrationNumberTwoValidUntil}" class="styled-input" type="text" maxlength="255" required>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+    </form>
+</div>
+<div class="main-content">
+    <div class="col-sm-offset-5 col-sm-10">
+        <button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>&nbsp;
+        <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>
+    </div>
+</div>
+<th:block th:include="include :: footer" />
+</body>
+</html>
+
+<script>
+    function submitHandler() {
+        var prefix = ctx + "spgl/sspglproductdetails";
+        if ($.validate.form()) {
+            var data = $("#form-SSpglProductdetails-edit").serializeArray();
+            /*var status = $("input[id='status']").is(':checked') == true ? 0 : 1;
+            var roleIds = $.form.selectCheckeds("role");
+            var postIds = $.form.selectSelects("post");
+            data.push({"name": "status", "value": status});
+            data.push({"name": "roleIds", "value": roleIds});
+            data.push({"name": "postIds", "value": postIds});*/
+            $.operate.saveTab(prefix + "/sSpglProductdetailsEdit", data);
+        }
+    }
+</script>

+ 47 - 0
health-system/src/main/java/com/bzd/system/service/jkgl/SJkglCommissionrewardinfoService.java

@@ -0,0 +1,47 @@
+package com.bzd.system.service.jkgl;
+
+import com.bzd.common.config.dao.DaoBase;
+import com.bzd.common.config.dao.DaoSupport;
+import com.bzd.common.config.dao.PageData;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+
+/**
+*
+* 合约提成发放失败明细 service
+* @author LiXiangFei
+* @since 2024-10-15
+*/
+
+@Service
+public class SJkglCommissionrewardinfoService {
+
+    @Autowired
+    private DaoBase dao;
+
+    @Resource(name = "daoSupport")
+    private DaoSupport daoSupport;
+
+    public Integer addSJkglCommissionrewardinfo(PageData pd)throws Exception {
+        return daoSupport.update("SJkglCommissionrewardinfoMapper.addSJkglCommissionrewardinfo", pd);
+    }
+
+    public List<PageData> findSJkglCommissionrewardinfoList(PageData pd) throws Exception{
+        return (List<PageData>) daoSupport.findForList("SJkglCommissionrewardinfoMapper.selectSJkglCommissionrewardinfoList", pd);
+    }
+
+    public Integer SJkglCommissionrewardinfoRemove(PageData pd)throws Exception {
+        return daoSupport.delete("SJkglCommissionrewardinfoMapper.SJkglCommissionrewardinfoRemove", pd);
+    }
+
+
+    public Integer updateSJkglCommissionrewardinfo(PageData pd)throws Exception {
+        return daoSupport.update("SJkglCommissionrewardinfoMapper.updateSJkglCommissionrewardinfo", pd);
+    }
+
+}

+ 47 - 0
health-system/src/main/java/com/bzd/system/service/jkgl/SJkglGyhyHyflCategoryinfoService.java

@@ -0,0 +1,47 @@
+package com.bzd.system.service.jkgl;
+
+import com.bzd.common.config.dao.DaoBase;
+import com.bzd.common.config.dao.DaoSupport;
+import com.bzd.common.config.dao.PageData;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+
+/**
+*
+* 合约分类管理 service
+* @author LiXiangFei
+* @since 2024-10-15
+*/
+
+@Service
+public class SJkglGyhyHyflCategoryinfoService {
+
+    @Autowired
+    private DaoBase dao;
+
+    @Resource(name = "daoSupport")
+    private DaoSupport daoSupport;
+
+    public Integer addSJkglGyhyHyflCategoryinfo(PageData pd)throws Exception {
+        return daoSupport.update("SJkglGyhyHyflCategoryinfoMapper.addSJkglGyhyHyflCategoryinfo", pd);
+    }
+
+    public List<PageData> findSJkglGyhyHyflCategoryinfoList(PageData pd) throws Exception{
+        return (List<PageData>) daoSupport.findForList("SJkglGyhyHyflCategoryinfoMapper.selectSJkglGyhyHyflCategoryinfoList", pd);
+    }
+
+    public Integer SJkglGyhyHyflCategoryinfoRemove(PageData pd)throws Exception {
+        return daoSupport.delete("SJkglGyhyHyflCategoryinfoMapper.SJkglGyhyHyflCategoryinfoRemove", pd);
+    }
+
+
+    public Integer updateSJkglGyhyHyflCategoryinfo(PageData pd)throws Exception {
+        return daoSupport.update("SJkglGyhyHyflCategoryinfoMapper.updateSJkglGyhyHyflCategoryinfo", pd);
+    }
+
+}

+ 47 - 0
health-system/src/main/java/com/bzd/system/service/jkgl/SJkglGyhyHyglContractinfoService.java

@@ -0,0 +1,47 @@
+package com.bzd.system.service.jkgl;
+
+import com.bzd.common.config.dao.DaoBase;
+import com.bzd.common.config.dao.DaoSupport;
+import com.bzd.common.config.dao.PageData;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+
+/**
+*
+* 合约管理 service
+* @author LiXiangFei
+* @since 2024-10-15
+*/
+
+@Service
+public class SJkglGyhyHyglContractinfoService {
+
+    @Autowired
+    private DaoBase dao;
+
+    @Resource(name = "daoSupport")
+    private DaoSupport daoSupport;
+
+    public Integer addSJkglGyhyHyglContractinfo(PageData pd)throws Exception {
+        return daoSupport.update("SJkglGyhyHyglContractinfoMapper.addSJkglGyhyHyglContractinfo", pd);
+    }
+
+    public List<PageData> findSJkglGyhyHyglContractinfoList(PageData pd) throws Exception{
+        return (List<PageData>) daoSupport.findForList("SJkglGyhyHyglContractinfoMapper.selectSJkglGyhyHyglContractinfoList", pd);
+    }
+
+    public Integer SJkglGyhyHyglContractinfoRemove(PageData pd)throws Exception {
+        return daoSupport.delete("SJkglGyhyHyglContractinfoMapper.SJkglGyhyHyglContractinfoRemove", pd);
+    }
+
+
+    public Integer updateSJkglGyhyHyglContractinfo(PageData pd)throws Exception {
+        return daoSupport.update("SJkglGyhyHyglContractinfoMapper.updateSJkglGyhyHyglContractinfo", pd);
+    }
+
+}

+ 47 - 0
health-system/src/main/java/com/bzd/system/service/jkgl/SJkglGyhyPthyContracttemplateinfoService.java

@@ -0,0 +1,47 @@
+package com.bzd.system.service.jkgl;
+
+import com.bzd.common.config.dao.DaoBase;
+import com.bzd.common.config.dao.DaoSupport;
+import com.bzd.common.config.dao.PageData;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+
+/**
+*
+* 平台合约模板信息表 service
+* @author LiXiangFei
+* @since 2024-10-15
+*/
+
+@Service
+public class SJkglGyhyPthyContracttemplateinfoService {
+
+    @Autowired
+    private DaoBase dao;
+
+    @Resource(name = "daoSupport")
+    private DaoSupport daoSupport;
+
+    public Integer addSJkglGyhyPthyContracttemplateinfo(PageData pd)throws Exception {
+        return daoSupport.update("SJkglGyhyPthyContracttemplateinfoMapper.addSJkglGyhyPthyContracttemplateinfo", pd);
+    }
+
+    public List<PageData> findSJkglGyhyPthyContracttemplateinfoList(PageData pd) throws Exception{
+        return (List<PageData>) daoSupport.findForList("SJkglGyhyPthyContracttemplateinfoMapper.selectSJkglGyhyPthyContracttemplateinfoList", pd);
+    }
+
+    public Integer SJkglGyhyPthyContracttemplateinfoRemove(PageData pd)throws Exception {
+        return daoSupport.delete("SJkglGyhyPthyContracttemplateinfoMapper.SJkglGyhyPthyContracttemplateinfoRemove", pd);
+    }
+
+
+    public Integer updateSJkglGyhyPthyContracttemplateinfo(PageData pd)throws Exception {
+        return daoSupport.update("SJkglGyhyPthyContracttemplateinfoMapper.updateSJkglGyhyPthyContracttemplateinfo", pd);
+    }
+
+}

+ 47 - 0
health-system/src/main/java/com/bzd/system/service/jkgl/SJkglGyhyYjtjActivityinfoService.java

@@ -0,0 +1,47 @@
+package com.bzd.system.service.jkgl;
+
+import com.bzd.common.config.dao.DaoBase;
+import com.bzd.common.config.dao.DaoSupport;
+import com.bzd.common.config.dao.PageData;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+
+/**
+*
+* 有奖推荐活动信息表 service
+* @author LiXiangFei
+* @since 2024-10-15
+*/
+
+@Service
+public class SJkglGyhyYjtjActivityinfoService {
+
+    @Autowired
+    private DaoBase dao;
+
+    @Resource(name = "daoSupport")
+    private DaoSupport daoSupport;
+
+    public Integer addSJkglGyhyYjtjActivityinfo(PageData pd)throws Exception {
+        return daoSupport.update("SJkglGyhyYjtjActivityinfoMapper.addSJkglGyhyYjtjActivityinfo", pd);
+    }
+
+    public List<PageData> findSJkglGyhyYjtjActivityinfoList(PageData pd) throws Exception{
+        return (List<PageData>) daoSupport.findForList("SJkglGyhyYjtjActivityinfoMapper.selectSJkglGyhyYjtjActivityinfoList", pd);
+    }
+
+    public Integer SJkglGyhyYjtjActivityinfoRemove(PageData pd)throws Exception {
+        return daoSupport.delete("SJkglGyhyYjtjActivityinfoMapper.SJkglGyhyYjtjActivityinfoRemove", pd);
+    }
+
+
+    public Integer updateSJkglGyhyYjtjActivityinfo(PageData pd)throws Exception {
+        return daoSupport.update("SJkglGyhyYjtjActivityinfoMapper.updateSJkglGyhyYjtjActivityinfo", pd);
+    }
+
+}

+ 47 - 0
health-system/src/main/java/com/bzd/system/service/jkgl/SJkglMbglQyglBenefitinfoService.java

@@ -0,0 +1,47 @@
+package com.bzd.system.service.jkgl;
+
+import com.bzd.common.config.dao.DaoBase;
+import com.bzd.common.config.dao.DaoSupport;
+import com.bzd.common.config.dao.PageData;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+
+/**
+*
+* 慢病权益信息表 service
+* @author LiXiangFei
+* @since 2024-10-15
+*/
+
+@Service
+public class SJkglMbglQyglBenefitinfoService {
+
+    @Autowired
+    private DaoBase dao;
+
+    @Resource(name = "daoSupport")
+    private DaoSupport daoSupport;
+
+    public Integer addSJkglMbglQyglBenefitinfo(PageData pd)throws Exception {
+        return daoSupport.update("SJkglMbglQyglBenefitinfoMapper.addSJkglMbglQyglBenefitinfo", pd);
+    }
+
+    public List<PageData> findSJkglMbglQyglBenefitinfoList(PageData pd) throws Exception{
+        return (List<PageData>) daoSupport.findForList("SJkglMbglQyglBenefitinfoMapper.selectSJkglMbglQyglBenefitinfoList", pd);
+    }
+
+    public Integer SJkglMbglQyglBenefitinfoRemove(PageData pd)throws Exception {
+        return daoSupport.delete("SJkglMbglQyglBenefitinfoMapper.SJkglMbglQyglBenefitinfoRemove", pd);
+    }
+
+
+    public Integer updateSJkglMbglQyglBenefitinfo(PageData pd)throws Exception {
+        return daoSupport.update("SJkglMbglQyglBenefitinfoMapper.updateSJkglMbglQyglBenefitinfo", pd);
+    }
+
+}

+ 47 - 0
health-system/src/main/java/com/bzd/system/service/jkgl/SJkglMxbZdyFieldconfigService.java

@@ -0,0 +1,47 @@
+package com.bzd.system.service.jkgl;
+
+import com.bzd.common.config.dao.DaoBase;
+import com.bzd.common.config.dao.DaoSupport;
+import com.bzd.common.config.dao.PageData;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+
+/**
+*
+* 自定义数据采集配置 service
+* @author LiXiangFei
+* @since 2024-10-15
+*/
+
+@Service
+public class SJkglMxbZdyFieldconfigService {
+
+    @Autowired
+    private DaoBase dao;
+
+    @Resource(name = "daoSupport")
+    private DaoSupport daoSupport;
+
+    public Integer addSJkglMxbZdyFieldconfig(PageData pd)throws Exception {
+        return daoSupport.update("SJkglMxbZdyFieldconfigMapper.addSJkglMxbZdyFieldconfig", pd);
+    }
+
+    public List<PageData> findSJkglMxbZdyFieldconfigList(PageData pd) throws Exception{
+        return (List<PageData>) daoSupport.findForList("SJkglMxbZdyFieldconfigMapper.selectSJkglMxbZdyFieldconfigList", pd);
+    }
+
+    public Integer SJkglMxbZdyFieldconfigRemove(PageData pd)throws Exception {
+        return daoSupport.delete("SJkglMxbZdyFieldconfigMapper.SJkglMxbZdyFieldconfigRemove", pd);
+    }
+
+
+    public Integer updateSJkglMxbZdyFieldconfig(PageData pd)throws Exception {
+        return daoSupport.update("SJkglMxbZdyFieldconfigMapper.updateSJkglMxbZdyFieldconfig", pd);
+    }
+
+}

+ 47 - 0
health-system/src/main/java/com/bzd/system/service/jkgl/SJkglRegistrationinfoService.java

@@ -0,0 +1,47 @@
+package com.bzd.system.service.jkgl;
+
+import com.bzd.common.config.dao.DaoBase;
+import com.bzd.common.config.dao.DaoSupport;
+import com.bzd.common.config.dao.PageData;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+
+/**
+*
+* 购药信息收集 service
+* @author LiXiangFei
+* @since 2024-10-15
+*/
+
+@Service
+public class SJkglRegistrationinfoService {
+
+    @Autowired
+    private DaoBase dao;
+
+    @Resource(name = "daoSupport")
+    private DaoSupport daoSupport;
+
+    public Integer addSJkglRegistrationinfo(PageData pd)throws Exception {
+        return daoSupport.update("SJkglRegistrationinfoMapper.addSJkglRegistrationinfo", pd);
+    }
+
+    public List<PageData> findSJkglRegistrationinfoList(PageData pd) throws Exception{
+        return (List<PageData>) daoSupport.findForList("SJkglRegistrationinfoMapper.selectSJkglRegistrationinfoList", pd);
+    }
+
+    public Integer SJkglRegistrationinfoRemove(PageData pd)throws Exception {
+        return daoSupport.delete("SJkglRegistrationinfoMapper.SJkglRegistrationinfoRemove", pd);
+    }
+
+
+    public Integer updateSJkglRegistrationinfo(PageData pd)throws Exception {
+        return daoSupport.update("SJkglRegistrationinfoMapper.updateSJkglRegistrationinfo", pd);
+    }
+
+}

+ 47 - 0
health-system/src/main/java/com/bzd/system/service/jkgl/SJkglYpwxServiceprojectinfoService.java

@@ -0,0 +1,47 @@
+package com.bzd.system.service.jkgl;
+
+import com.bzd.common.config.dao.DaoBase;
+import com.bzd.common.config.dao.DaoSupport;
+import com.bzd.common.config.dao.PageData;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+
+/**
+*
+* 药品维系服务 service
+* @author LiXiangFei
+* @since 2024-10-15
+*/
+
+@Service
+public class SJkglYpwxServiceprojectinfoService {
+
+    @Autowired
+    private DaoBase dao;
+
+    @Resource(name = "daoSupport")
+    private DaoSupport daoSupport;
+
+    public Integer addSJkglYpwxServiceprojectinfo(PageData pd)throws Exception {
+        return daoSupport.update("SJkglYpwxServiceprojectinfoMapper.addSJkglYpwxServiceprojectinfo", pd);
+    }
+
+    public List<PageData> findSJkglYpwxServiceprojectinfoList(PageData pd) throws Exception{
+        return (List<PageData>) daoSupport.findForList("SJkglYpwxServiceprojectinfoMapper.selectSJkglYpwxServiceprojectinfoList", pd);
+    }
+
+    public Integer SJkglYpwxServiceprojectinfoRemove(PageData pd)throws Exception {
+        return daoSupport.delete("SJkglYpwxServiceprojectinfoMapper.SJkglYpwxServiceprojectinfoRemove", pd);
+    }
+
+
+    public Integer updateSJkglYpwxServiceprojectinfo(PageData pd)throws Exception {
+        return daoSupport.update("SJkglYpwxServiceprojectinfoMapper.updateSJkglYpwxServiceprojectinfo", pd);
+    }
+
+}

+ 47 - 0
health-system/src/main/java/com/bzd/system/service/spgl/SSpglJfspProductinfoService.java

@@ -0,0 +1,47 @@
+package com.bzd.system.service.spgl;
+
+import com.bzd.common.config.dao.DaoBase;
+import com.bzd.common.config.dao.DaoSupport;
+import com.bzd.common.config.dao.PageData;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+
+/**
+*
+* 门店积分商品列表 service
+* @author LiXiangFei
+* @since 2024-10-15
+*/
+
+@Service
+public class SSpglJfspProductinfoService {
+
+    @Autowired
+    private DaoBase dao;
+
+    @Resource(name = "daoSupport")
+    private DaoSupport daoSupport;
+
+    public Integer addSSpglJfspProductinfo(PageData pd)throws Exception {
+        return daoSupport.update("SSpglJfspProductinfoMapper.addSSpglJfspProductinfo", pd);
+    }
+
+    public List<PageData> findSSpglJfspProductinfoList(PageData pd) throws Exception{
+        return (List<PageData>) daoSupport.findForList("SSpglJfspProductinfoMapper.selectSSpglJfspProductinfoList", pd);
+    }
+
+    public Integer SSpglJfspProductinfoRemove(PageData pd)throws Exception {
+        return daoSupport.delete("SSpglJfspProductinfoMapper.SSpglJfspProductinfoRemove", pd);
+    }
+
+
+    public Integer updateSSpglJfspProductinfo(PageData pd)throws Exception {
+        return daoSupport.update("SSpglJfspProductinfoMapper.updateSSpglJfspProductinfo", pd);
+    }
+
+}

+ 47 - 0
health-system/src/main/java/com/bzd/system/service/spgl/SSpglMdjymlStoreproductinfoService.java

@@ -0,0 +1,47 @@
+package com.bzd.system.service.spgl;
+
+import com.bzd.common.config.dao.DaoBase;
+import com.bzd.common.config.dao.DaoSupport;
+import com.bzd.common.config.dao.PageData;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+
+/**
+*
+* 门店经营目录 service
+* @author LiXiangFei
+* @since 2024-10-15
+*/
+
+@Service
+public class SSpglMdjymlStoreproductinfoService {
+
+    @Autowired
+    private DaoBase dao;
+
+    @Resource(name = "daoSupport")
+    private DaoSupport daoSupport;
+
+    public Integer addSSpglMdjymlStoreproductinfo(PageData pd)throws Exception {
+        return daoSupport.update("SSpglMdjymlStoreproductinfoMapper.addSSpglMdjymlStoreproductinfo", pd);
+    }
+
+    public List<PageData> findSSpglMdjymlStoreproductinfoList(PageData pd) throws Exception{
+        return (List<PageData>) daoSupport.findForList("SSpglMdjymlStoreproductinfoMapper.selectSSpglMdjymlStoreproductinfoList", pd);
+    }
+
+    public Integer SSpglMdjymlStoreproductinfoRemove(PageData pd)throws Exception {
+        return daoSupport.delete("SSpglMdjymlStoreproductinfoMapper.SSpglMdjymlStoreproductinfoRemove", pd);
+    }
+
+
+    public Integer updateSSpglMdjymlStoreproductinfo(PageData pd)throws Exception {
+        return daoSupport.update("SSpglMdjymlStoreproductinfoMapper.updateSSpglMdjymlStoreproductinfo", pd);
+    }
+
+}

+ 47 - 0
health-system/src/main/java/com/bzd/system/service/spgl/SSpglMdspStoreproductdetailsService.java

@@ -0,0 +1,47 @@
+package com.bzd.system.service.spgl;
+
+import com.bzd.common.config.dao.DaoBase;
+import com.bzd.common.config.dao.DaoSupport;
+import com.bzd.common.config.dao.PageData;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+
+/**
+*
+* 门店商品查询表 service
+* @author LiXiangFei
+* @since 2024-10-15
+*/
+
+@Service
+public class SSpglMdspStoreproductdetailsService {
+
+    @Autowired
+    private DaoBase dao;
+
+    @Resource(name = "daoSupport")
+    private DaoSupport daoSupport;
+
+    public Integer addSSpglMdspStoreproductdetails(PageData pd)throws Exception {
+        return daoSupport.update("SSpglMdspStoreproductdetailsMapper.addSSpglMdspStoreproductdetails", pd);
+    }
+
+    public List<PageData> findSSpglMdspStoreproductdetailsList(PageData pd) throws Exception{
+        return (List<PageData>) daoSupport.findForList("SSpglMdspStoreproductdetailsMapper.selectSSpglMdspStoreproductdetailsList", pd);
+    }
+
+    public Integer SSpglMdspStoreproductdetailsRemove(PageData pd)throws Exception {
+        return daoSupport.delete("SSpglMdspStoreproductdetailsMapper.SSpglMdspStoreproductdetailsRemove", pd);
+    }
+
+
+    public Integer updateSSpglMdspStoreproductdetails(PageData pd)throws Exception {
+        return daoSupport.update("SSpglMdspStoreproductdetailsMapper.updateSSpglMdspStoreproductdetails", pd);
+    }
+
+}

+ 47 - 0
health-system/src/main/java/com/bzd/system/service/spgl/SSpglProductattributesService.java

@@ -0,0 +1,47 @@
+package com.bzd.system.service.spgl;
+
+import com.bzd.common.config.dao.DaoBase;
+import com.bzd.common.config.dao.DaoSupport;
+import com.bzd.common.config.dao.PageData;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+
+/**
+*
+* 租赁商品管理 service
+* @author LiXiangFei
+* @since 2024-10-15
+*/
+
+@Service
+public class SSpglProductattributesService {
+
+    @Autowired
+    private DaoBase dao;
+
+    @Resource(name = "daoSupport")
+    private DaoSupport daoSupport;
+
+    public Integer addSSpglProductattributes(PageData pd)throws Exception {
+        return daoSupport.update("SSpglProductattributesMapper.addSSpglProductattributes", pd);
+    }
+
+    public List<PageData> findSSpglProductattributesList(PageData pd) throws Exception{
+        return (List<PageData>) daoSupport.findForList("SSpglProductattributesMapper.selectSSpglProductattributesList", pd);
+    }
+
+    public Integer SSpglProductattributesRemove(PageData pd)throws Exception {
+        return daoSupport.delete("SSpglProductattributesMapper.SSpglProductattributesRemove", pd);
+    }
+
+
+    public Integer updateSSpglProductattributes(PageData pd)throws Exception {
+        return daoSupport.update("SSpglProductattributesMapper.updateSSpglProductattributes", pd);
+    }
+
+}

+ 47 - 0
health-system/src/main/java/com/bzd/system/service/spgl/SSpglProductdetailsService.java

@@ -0,0 +1,47 @@
+package com.bzd.system.service.spgl;
+
+import com.bzd.common.config.dao.DaoBase;
+import com.bzd.common.config.dao.DaoSupport;
+import com.bzd.common.config.dao.PageData;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+
+/**
+*
+* 连锁商品查询 service
+* @author LiXiangFei
+* @since 2024-10-15
+*/
+
+@Service
+public class SSpglProductdetailsService {
+
+    @Autowired
+    private DaoBase dao;
+
+    @Resource(name = "daoSupport")
+    private DaoSupport daoSupport;
+
+    public Integer addSSpglProductdetails(PageData pd)throws Exception {
+        return daoSupport.update("SSpglProductdetailsMapper.addSSpglProductdetails", pd);
+    }
+
+    public List<PageData> findSSpglProductdetailsList(PageData pd) throws Exception{
+        return (List<PageData>) daoSupport.findForList("SSpglProductdetailsMapper.selectSSpglProductdetailsList", pd);
+    }
+
+    public Integer SSpglProductdetailsRemove(PageData pd)throws Exception {
+        return daoSupport.delete("SSpglProductdetailsMapper.SSpglProductdetailsRemove", pd);
+    }
+
+
+    public Integer updateSSpglProductdetails(PageData pd)throws Exception {
+        return daoSupport.update("SSpglProductdetailsMapper.updateSSpglProductdetails", pd);
+    }
+
+}

+ 198 - 0
health-system/src/main/resources/mapper/jkgl/SJkglCommissionrewardinfoMapper.xml

@@ -0,0 +1,198 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="SJkglCommissionrewardinfoMapper" >
+    <!-- 通用查询映射结果 -->
+
+    <select id="selectSJkglCommissionrewardinfoList" parameterType="pd" resultType="pd">
+        select * from s_jkgl_commissionrewardinfo where 1=1
+        <if test="commissionSource !=null and commissionSource !='' ">
+            and commissionSource = #{commissionSource}
+        </if>
+        <if test="rewardType !=null and rewardType !='' ">
+            and rewardType = #{rewardType}
+        </if>
+        <if test="occurrenceTime !=null and occurrenceTime !='' ">
+            and occurrenceTime = #{occurrenceTime}
+        </if>
+        <if test="orderNumber !=null and orderNumber !='' ">
+            and orderNumber = #{orderNumber}
+        </if>
+        <if test="chain !=null and chain !='' ">
+            and chain = #{chain}
+        </if>
+        <if test="store !=null and store !='' ">
+            and store = #{store}
+        </if>
+        <if test="couponCode !=null and couponCode !='' ">
+            and couponCode = #{couponCode}
+        </if>
+        <if test="staffCode !=null and staffCode !='' ">
+            and staffCode = #{staffCode}
+        </if>
+        <if test="staffId !=null and staffId !='' ">
+            and staffId = #{staffId}
+        </if>
+        <if test="staffName !=null and staffName !='' ">
+            and staffName = #{staffName}
+        </if>
+        <if test="contractId !=null and contractId !='' ">
+            and contractId = #{contractId}
+        </if>
+        <if test="contractOrderNumber !=null and contractOrderNumber !='' ">
+            and contractOrderNumber = #{contractOrderNumber}
+        </if>
+        <if test="status !=null and status !='' ">
+            and status = #{status}
+        </if>
+    </select>
+
+
+    <update id="updateSJkglCommissionrewardinfo" parameterType="pd" >
+        update s_jkgl_commissionrewardinfo
+        <trim prefix=" SET " suffix="" prefixOverrides="," suffixOverrides=",">
+        <if test="commissionSource !=null and commissionSource !='' ">
+            commissionSource = #{commissionSource},
+        </if>
+        <if test="rewardType !=null and rewardType !='' ">
+            rewardType = #{rewardType},
+        </if>
+        <if test="occurrenceTime !=null and occurrenceTime !='' ">
+            occurrenceTime = #{occurrenceTime},
+        </if>
+        <if test="orderNumber !=null and orderNumber !='' ">
+            orderNumber = #{orderNumber},
+        </if>
+        <if test="chain !=null and chain !='' ">
+            chain = #{chain},
+        </if>
+        <if test="store !=null and store !='' ">
+            store = #{store},
+        </if>
+        <if test="couponCode !=null and couponCode !='' ">
+            couponCode = #{couponCode},
+        </if>
+        <if test="staffCode !=null and staffCode !='' ">
+            staffCode = #{staffCode},
+        </if>
+        <if test="staffId !=null and staffId !='' ">
+            staffId = #{staffId},
+        </if>
+        <if test="staffName !=null and staffName !='' ">
+            staffName = #{staffName},
+        </if>
+        <if test="contractId !=null and contractId !='' ">
+            contractId = #{contractId},
+        </if>
+        <if test="contractOrderNumber !=null and contractOrderNumber !='' ">
+            contractOrderNumber = #{contractOrderNumber},
+        </if>
+        <if test="status !=null and status !='' ">
+            status = #{status},
+        </if>
+        </trim>
+        <if test="up != null and up!=''">
+            <if test="id != null and id!=''">
+                where id=#{id}
+            </if>
+        </if>
+    </update>
+
+    <delete id="SJkglCommissionrewardinfoRemove" parameterType="pd">
+        <if test="ids != null">
+            delete from s_jkgl_commissionrewardinfo where
+            <if test="ids != null">
+                id in(${ids})
+            </if>
+        </if>
+    </delete>
+
+    <insert id="addSJkglCommissionrewardinfo" parameterType="pd" >
+
+        insert into s_jkgl_commissionrewardinfo
+        <trim prefix="(" suffix=")" prefixOverrides="," suffixOverrides=",">
+
+        <if test="commissionSource !=null and commissionSource !='' ">
+            commissionSource,
+        </if>
+        <if test="rewardType !=null and rewardType !='' ">
+            rewardType,
+        </if>
+        <if test="occurrenceTime !=null and occurrenceTime !='' ">
+            occurrenceTime,
+        </if>
+        <if test="orderNumber !=null and orderNumber !='' ">
+            orderNumber,
+        </if>
+        <if test="chain !=null and chain !='' ">
+            chain,
+        </if>
+        <if test="store !=null and store !='' ">
+            store,
+        </if>
+        <if test="couponCode !=null and couponCode !='' ">
+            couponCode,
+        </if>
+        <if test="staffCode !=null and staffCode !='' ">
+            staffCode,
+        </if>
+        <if test="staffId !=null and staffId !='' ">
+            staffId,
+        </if>
+        <if test="staffName !=null and staffName !='' ">
+            staffName,
+        </if>
+        <if test="contractId !=null and contractId !='' ">
+            contractId,
+        </if>
+        <if test="contractOrderNumber !=null and contractOrderNumber !='' ">
+            contractOrderNumber,
+        </if>
+        <if test="status !=null and status !='' ">
+            status,
+        </if>
+        </trim>
+        <trim prefix=" VALUES (" suffix=")" prefixOverrides="," suffixOverrides=",">
+        <if test="commissionSource !=null and commissionSource !='' ">
+             #{commissionSource},
+        </if>
+        <if test="rewardType !=null and rewardType !='' ">
+             #{rewardType},
+        </if>
+        <if test="occurrenceTime !=null and occurrenceTime !='' ">
+             #{occurrenceTime},
+        </if>
+        <if test="orderNumber !=null and orderNumber !='' ">
+             #{orderNumber},
+        </if>
+        <if test="chain !=null and chain !='' ">
+             #{chain},
+        </if>
+        <if test="store !=null and store !='' ">
+             #{store},
+        </if>
+        <if test="couponCode !=null and couponCode !='' ">
+             #{couponCode},
+        </if>
+        <if test="staffCode !=null and staffCode !='' ">
+             #{staffCode},
+        </if>
+        <if test="staffId !=null and staffId !='' ">
+             #{staffId},
+        </if>
+        <if test="staffName !=null and staffName !='' ">
+             #{staffName},
+        </if>
+        <if test="contractId !=null and contractId !='' ">
+             #{contractId},
+        </if>
+        <if test="contractOrderNumber !=null and contractOrderNumber !='' ">
+             #{contractOrderNumber},
+        </if>
+        <if test="status !=null and status !='' ">
+             #{status},
+        </if>
+        </trim>
+
+    </insert>
+
+</mapper>

+ 90 - 0
health-system/src/main/resources/mapper/jkgl/SJkglGyhyHyflCategoryinfoMapper.xml

@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="SJkglGyhyHyflCategoryinfoMapper" >
+    <!-- 通用查询映射结果 -->
+
+    <select id="selectSJkglGyhyHyflCategoryinfoList" parameterType="pd" resultType="pd">
+        select * from s_jkgl_gyhy_hyfl_categoryinfo where 1=1
+        <if test="creationDate !=null and creationDate !='' ">
+            and creationDate = #{creationDate}
+        </if>
+        <if test="categoryName !=null and categoryName !='' ">
+            and categoryName = #{categoryName}
+        </if>
+        <if test="includedContracts !=null and includedContracts !='' ">
+            and includedContracts = #{includedContracts}
+        </if>
+        <if test="featuredImage !=null and featuredImage !='' ">
+            and featuredImage = #{featuredImage}
+        </if>
+    </select>
+
+
+    <update id="updateSJkglGyhyHyflCategoryinfo" parameterType="pd" >
+        update s_jkgl_gyhy_hyfl_categoryinfo
+        <trim prefix=" SET " suffix="" prefixOverrides="," suffixOverrides=",">
+        <if test="creationDate !=null and creationDate !='' ">
+            creationDate = #{creationDate},
+        </if>
+        <if test="categoryName !=null and categoryName !='' ">
+            categoryName = #{categoryName},
+        </if>
+        <if test="includedContracts !=null and includedContracts !='' ">
+            includedContracts = #{includedContracts},
+        </if>
+        <if test="featuredImage !=null and featuredImage !='' ">
+            featuredImage = #{featuredImage},
+        </if>
+        </trim>
+        <if test="up != null and up!=''">
+            <if test="id != null and id!=''">
+                where id=#{id}
+            </if>
+        </if>
+    </update>
+
+    <delete id="SJkglGyhyHyflCategoryinfoRemove" parameterType="pd">
+        <if test="ids != null">
+            delete from s_jkgl_gyhy_hyfl_categoryinfo where
+            <if test="ids != null">
+                id in(${ids})
+            </if>
+        </if>
+    </delete>
+
+    <insert id="addSJkglGyhyHyflCategoryinfo" parameterType="pd" >
+
+        insert into s_jkgl_gyhy_hyfl_categoryinfo
+        <trim prefix="(" suffix=")" prefixOverrides="," suffixOverrides=",">
+
+        <if test="creationDate !=null and creationDate !='' ">
+            creationDate,
+        </if>
+        <if test="categoryName !=null and categoryName !='' ">
+            categoryName,
+        </if>
+        <if test="includedContracts !=null and includedContracts !='' ">
+            includedContracts,
+        </if>
+        <if test="featuredImage !=null and featuredImage !='' ">
+            featuredImage,
+        </if>
+        </trim>
+        <trim prefix=" VALUES (" suffix=")" prefixOverrides="," suffixOverrides=",">
+        <if test="creationDate !=null and creationDate !='' ">
+             #{creationDate},
+        </if>
+        <if test="categoryName !=null and categoryName !='' ">
+             #{categoryName},
+        </if>
+        <if test="includedContracts !=null and includedContracts !='' ">
+             #{includedContracts},
+        </if>
+        <if test="featuredImage !=null and featuredImage !='' ">
+             #{featuredImage},
+        </if>
+        </trim>
+
+    </insert>
+
+</mapper>

+ 165 - 0
health-system/src/main/resources/mapper/jkgl/SJkglGyhyHyglContractinfoMapper.xml

@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="SJkglGyhyHyglContractinfoMapper" >
+    <!-- 通用查询映射结果 -->
+
+    <select id="selectSJkglGyhyHyglContractinfoList" parameterType="pd" resultType="pd">
+        select * from s_jkgl_gyhy_hygl_contractinfo where 1=1
+        <if test="id !=null and id !='' ">
+            and id = #{id}
+        </if>
+        <if test="creationDate !=null and creationDate !='' ">
+            and creationDate = #{creationDate}
+        </if>
+        <if test="theme !=null and theme !='' ">
+            and theme = #{theme}
+        </if>
+        <if test="contractCategory !=null and contractCategory !='' ">
+            and contractCategory = #{contractCategory}
+        </if>
+        <if test="contractValidPeriod !=null and contractValidPeriod !='' ">
+            and contractValidPeriod = #{contractValidPeriod}
+        </if>
+        <if test="signingValidPeriod !=null and signingValidPeriod !='' ">
+            and signingValidPeriod = #{signingValidPeriod}
+        </if>
+        <if test="status !=null and status !='' ">
+            and status = #{status}
+        </if>
+        <if test="contractNature !=null and contractNature !='' ">
+            and contractNature = #{contractNature}
+        </if>
+        <if test="isDrugMaintenanceConfigured !=null and isDrugMaintenanceConfigured !='' ">
+            and isDrugMaintenanceConfigured = #{isDrugMaintenanceConfigured}
+        </if>
+        <if test="participationCount !=null and participationCount !='' ">
+            and participationCount = #{participationCount}
+        </if>
+        <if test="verificationCount !=null and verificationCount !='' ">
+            and verificationCount = #{verificationCount}
+        </if>
+    </select>
+
+
+    <update id="updateSJkglGyhyHyglContractinfo" parameterType="pd" >
+        update s_jkgl_gyhy_hygl_contractinfo
+        <trim prefix=" SET " suffix="" prefixOverrides="," suffixOverrides=",">
+        <if test="creationDate !=null and creationDate !='' ">
+            creationDate = #{creationDate},
+        </if>
+        <if test="theme !=null and theme !='' ">
+            theme = #{theme},
+        </if>
+        <if test="contractCategory !=null and contractCategory !='' ">
+            contractCategory = #{contractCategory},
+        </if>
+        <if test="contractValidPeriod !=null and contractValidPeriod !='' ">
+            contractValidPeriod = #{contractValidPeriod},
+        </if>
+        <if test="signingValidPeriod !=null and signingValidPeriod !='' ">
+            signingValidPeriod = #{signingValidPeriod},
+        </if>
+        <if test="status !=null and status !='' ">
+            status = #{status},
+        </if>
+        <if test="contractNature !=null and contractNature !='' ">
+            contractNature = #{contractNature},
+        </if>
+        <if test="isDrugMaintenanceConfigured !=null and isDrugMaintenanceConfigured !='' ">
+            isDrugMaintenanceConfigured = #{isDrugMaintenanceConfigured},
+        </if>
+        <if test="participationCount !=null and participationCount !='' ">
+            participationCount = #{participationCount},
+        </if>
+        <if test="verificationCount !=null and verificationCount !='' ">
+            verificationCount = #{verificationCount},
+        </if>
+        </trim>
+        <if test="up != null and up!=''">
+            <if test="id != null and id!=''">
+                where id=#{id}
+            </if>
+        </if>
+    </update>
+
+    <delete id="SJkglGyhyHyglContractinfoRemove" parameterType="pd">
+        <if test="ids != null">
+            delete from s_jkgl_gyhy_hygl_contractinfo where
+            <if test="ids != null">
+                id in(${ids})
+            </if>
+        </if>
+    </delete>
+
+    <insert id="addSJkglGyhyHyglContractinfo" parameterType="pd" >
+
+        insert into s_jkgl_gyhy_hygl_contractinfo
+        <trim prefix="(" suffix=")" prefixOverrides="," suffixOverrides=",">
+
+        <if test="creationDate !=null and creationDate !='' ">
+            creationDate,
+        </if>
+        <if test="theme !=null and theme !='' ">
+            theme,
+        </if>
+        <if test="contractCategory !=null and contractCategory !='' ">
+            contractCategory,
+        </if>
+        <if test="contractValidPeriod !=null and contractValidPeriod !='' ">
+            contractValidPeriod,
+        </if>
+        <if test="signingValidPeriod !=null and signingValidPeriod !='' ">
+            signingValidPeriod,
+        </if>
+        <if test="status !=null and status !='' ">
+            status,
+        </if>
+        <if test="contractNature !=null and contractNature !='' ">
+            contractNature,
+        </if>
+        <if test="isDrugMaintenanceConfigured !=null and isDrugMaintenanceConfigured !='' ">
+            isDrugMaintenanceConfigured,
+        </if>
+        <if test="participationCount !=null and participationCount !='' ">
+            participationCount,
+        </if>
+        <if test="verificationCount !=null and verificationCount !='' ">
+            verificationCount,
+        </if>
+        </trim>
+        <trim prefix=" VALUES (" suffix=")" prefixOverrides="," suffixOverrides=",">
+        <if test="creationDate !=null and creationDate !='' ">
+             #{creationDate},
+        </if>
+        <if test="theme !=null and theme !='' ">
+             #{theme},
+        </if>
+        <if test="contractCategory !=null and contractCategory !='' ">
+             #{contractCategory},
+        </if>
+        <if test="contractValidPeriod !=null and contractValidPeriod !='' ">
+             #{contractValidPeriod},
+        </if>
+        <if test="signingValidPeriod !=null and signingValidPeriod !='' ">
+             #{signingValidPeriod},
+        </if>
+        <if test="status !=null and status !='' ">
+             #{status},
+        </if>
+        <if test="contractNature !=null and contractNature !='' ">
+             #{contractNature},
+        </if>
+        <if test="isDrugMaintenanceConfigured !=null and isDrugMaintenanceConfigured !='' ">
+             #{isDrugMaintenanceConfigured},
+        </if>
+        <if test="participationCount !=null and participationCount !='' ">
+             #{participationCount},
+        </if>
+        <if test="verificationCount !=null and verificationCount !='' ">
+             #{verificationCount},
+        </if>
+        </trim>
+
+    </insert>
+
+</mapper>

+ 201 - 0
health-system/src/main/resources/mapper/jkgl/SJkglGyhyPthyContracttemplateinfoMapper.xml

@@ -0,0 +1,201 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="SJkglGyhyPthyContracttemplateinfoMapper" >
+    <!-- 通用查询映射结果 -->
+
+    <select id="selectSJkglGyhyPthyContracttemplateinfoList" parameterType="pd" resultType="pd">
+        select * from s_jkgl_gyhy_pthy_contracttemplateinfo where 1=1
+        <if test="templateId !=null and templateId !='' ">
+            and templateId = #{templateId}
+        </if>
+        <if test="creationDate !=null and creationDate !='' ">
+            and creationDate = #{creationDate}
+        </if>
+        <if test="theme !=null and theme !='' ">
+            and theme = #{theme}
+        </if>
+        <if test="contractCategory !=null and contractCategory !='' ">
+            and contractCategory = #{contractCategory}
+        </if>
+        <if test="contractNature !=null and contractNature !='' ">
+            and contractNature = #{contractNature}
+        </if>
+        <if test="startTime !=null and startTime !='' ">
+            and startTime = #{startTime}
+        </if>
+        <if test="endTime !=null and endTime !='' ">
+            and endTime = #{endTime}
+        </if>
+        <if test="signingStartTime !=null and signingStartTime !='' ">
+            and signingStartTime = #{signingStartTime}
+        </if>
+        <if test="signingEndTime !=null and signingEndTime !='' ">
+            and signingEndTime = #{signingEndTime}
+        </if>
+        <if test="status !=null and status !='' ">
+            and status = #{status}
+        </if>
+        <if test="tfStatus !=null and tfStatus !='' ">
+            and tfStatus = #{tfStatus}
+        </if>
+        <if test="tfChain !=null and tfChain !='' ">
+            and tfChain = #{tfChain}
+        </if>
+        <if test="successfulDeployments !=null and successfulDeployments !='' ">
+            and successfulDeployments = #{successfulDeployments}
+        </if>
+        <if test="enabledChains !=null and enabledChains !='' ">
+            and enabledChains = #{enabledChains}
+        </if>
+    </select>
+
+
+    <update id="updateSJkglGyhyPthyContracttemplateinfo" parameterType="pd" >
+        update s_jkgl_gyhy_pthy_contracttemplateinfo
+        <trim prefix=" SET " suffix="" prefixOverrides="," suffixOverrides=",">
+        <if test="creationDate !=null and creationDate !='' ">
+            creationDate = #{creationDate},
+        </if>
+        <if test="theme !=null and theme !='' ">
+            theme = #{theme},
+        </if>
+        <if test="contractCategory !=null and contractCategory !='' ">
+            contractCategory = #{contractCategory},
+        </if>
+        <if test="contractNature !=null and contractNature !='' ">
+            contractNature = #{contractNature},
+        </if>
+        <if test="startTime !=null and startTime !='' ">
+            startTime = #{startTime},
+        </if>
+        <if test="endTime !=null and endTime !='' ">
+            endTime = #{endTime},
+        </if>
+        <if test="signingStartTime !=null and signingStartTime !='' ">
+            signingStartTime = #{signingStartTime},
+        </if>
+        <if test="signingEndTime !=null and signingEndTime !='' ">
+            signingEndTime = #{signingEndTime},
+        </if>
+        <if test="status !=null and status !='' ">
+            status = #{status},
+        </if>
+        <if test="tfStatus !=null and tfStatus !='' ">
+            tfStatus = #{tfStatus},
+        </if>
+        <if test="tfChain !=null and tfChain !='' ">
+            tfChain = #{tfChain},
+        </if>
+        <if test="successfulDeployments !=null and successfulDeployments !='' ">
+            successfulDeployments = #{successfulDeployments},
+        </if>
+        <if test="enabledChains !=null and enabledChains !='' ">
+            enabledChains = #{enabledChains},
+        </if>
+        </trim>
+        <if test="up != null and up!=''">
+            <if test="id != null and id!=''">
+                where id=#{id}
+            </if>
+        </if>
+    </update>
+
+    <delete id="SJkglGyhyPthyContracttemplateinfoRemove" parameterType="pd">
+        <if test="ids != null">
+            delete from s_jkgl_gyhy_pthy_contracttemplateinfo where
+            <if test="ids != null">
+                id in(${ids})
+            </if>
+        </if>
+    </delete>
+
+    <insert id="addSJkglGyhyPthyContracttemplateinfo" parameterType="pd" >
+
+        insert into s_jkgl_gyhy_pthy_contracttemplateinfo
+        <trim prefix="(" suffix=")" prefixOverrides="," suffixOverrides=",">
+
+        <if test="creationDate !=null and creationDate !='' ">
+            creationDate,
+        </if>
+        <if test="theme !=null and theme !='' ">
+            theme,
+        </if>
+        <if test="contractCategory !=null and contractCategory !='' ">
+            contractCategory,
+        </if>
+        <if test="contractNature !=null and contractNature !='' ">
+            contractNature,
+        </if>
+        <if test="startTime !=null and startTime !='' ">
+            startTime,
+        </if>
+        <if test="endTime !=null and endTime !='' ">
+            endTime,
+        </if>
+        <if test="signingStartTime !=null and signingStartTime !='' ">
+            signingStartTime,
+        </if>
+        <if test="signingEndTime !=null and signingEndTime !='' ">
+            signingEndTime,
+        </if>
+        <if test="status !=null and status !='' ">
+            status,
+        </if>
+        <if test="tfStatus !=null and tfStatus !='' ">
+            tfStatus,
+        </if>
+        <if test="tfChain !=null and tfChain !='' ">
+            tfChain,
+        </if>
+        <if test="successfulDeployments !=null and successfulDeployments !='' ">
+            successfulDeployments,
+        </if>
+        <if test="enabledChains !=null and enabledChains !='' ">
+            enabledChains,
+        </if>
+        </trim>
+        <trim prefix=" VALUES (" suffix=")" prefixOverrides="," suffixOverrides=",">
+        <if test="creationDate !=null and creationDate !='' ">
+             #{creationDate},
+        </if>
+        <if test="theme !=null and theme !='' ">
+             #{theme},
+        </if>
+        <if test="contractCategory !=null and contractCategory !='' ">
+             #{contractCategory},
+        </if>
+        <if test="contractNature !=null and contractNature !='' ">
+             #{contractNature},
+        </if>
+        <if test="startTime !=null and startTime !='' ">
+             #{startTime},
+        </if>
+        <if test="endTime !=null and endTime !='' ">
+             #{endTime},
+        </if>
+        <if test="signingStartTime !=null and signingStartTime !='' ">
+             #{signingStartTime},
+        </if>
+        <if test="signingEndTime !=null and signingEndTime !='' ">
+             #{signingEndTime},
+        </if>
+        <if test="status !=null and status !='' ">
+             #{status},
+        </if>
+        <if test="tfStatus !=null and tfStatus !='' ">
+             #{tfStatus},
+        </if>
+        <if test="tfChain !=null and tfChain !='' ">
+             #{tfChain},
+        </if>
+        <if test="successfulDeployments !=null and successfulDeployments !='' ">
+             #{successfulDeployments},
+        </if>
+        <if test="enabledChains !=null and enabledChains !='' ">
+             #{enabledChains},
+        </if>
+        </trim>
+
+    </insert>
+
+</mapper>

+ 138 - 0
health-system/src/main/resources/mapper/jkgl/SJkglGyhyYjtjActivityinfoMapper.xml

@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="SJkglGyhyYjtjActivityinfoMapper" >
+    <!-- 通用查询映射结果 -->
+
+    <select id="selectSJkglGyhyYjtjActivityinfoList" parameterType="pd" resultType="pd">
+        select * from s_jkgl_gyhy_yjtj_activityinfo where 1=1
+        <if test="creationDate !=null and creationDate !='' ">
+            and creationDate = #{creationDate}
+        </if>
+        <if test="theme !=null and theme !='' ">
+            and theme = #{theme}
+        </if>
+        <if test="startTime !=null and startTime !='' ">
+            and startTime = #{startTime}
+        </if>
+        <if test="endTime !=null and endTime !='' ">
+            and endTime = #{endTime}
+        </if>
+        <if test="usedContract !=null and usedContract !='' ">
+            and usedContract = #{usedContract}
+        </if>
+        <if test="status !=null and status !='' ">
+            and status = #{status}
+        </if>
+        <if test="invitedCount !=null and invitedCount !='' ">
+            and invitedCount = #{invitedCount}
+        </if>
+        <if test="successCount !=null and successCount !='' ">
+            and successCount = #{successCount}
+        </if>
+    </select>
+
+
+    <update id="updateSJkglGyhyYjtjActivityinfo" parameterType="pd" >
+        update s_jkgl_gyhy_yjtj_activityinfo
+        <trim prefix=" SET " suffix="" prefixOverrides="," suffixOverrides=",">
+        <if test="creationDate !=null and creationDate !='' ">
+            creationDate = #{creationDate},
+        </if>
+        <if test="theme !=null and theme !='' ">
+            theme = #{theme},
+        </if>
+        <if test="startTime !=null and startTime !='' ">
+            startTime = #{startTime},
+        </if>
+        <if test="endTime !=null and endTime !='' ">
+            endTime = #{endTime},
+        </if>
+        <if test="usedContract !=null and usedContract !='' ">
+            usedContract = #{usedContract},
+        </if>
+        <if test="status !=null and status !='' ">
+            status = #{status},
+        </if>
+        <if test="invitedCount !=null and invitedCount !='' ">
+            invitedCount = #{invitedCount},
+        </if>
+        <if test="successCount !=null and successCount !='' ">
+            successCount = #{successCount},
+        </if>
+        </trim>
+        <if test="up != null and up!=''">
+            <if test="id != null and id!=''">
+                where id=#{id}
+            </if>
+        </if>
+    </update>
+
+    <delete id="SJkglGyhyYjtjActivityinfoRemove" parameterType="pd">
+        <if test="ids != null">
+            delete from s_jkgl_gyhy_yjtj_activityinfo where
+            <if test="ids != null">
+                id in(${ids})
+            </if>
+        </if>
+    </delete>
+
+    <insert id="addSJkglGyhyYjtjActivityinfo" parameterType="pd" >
+
+        insert into s_jkgl_gyhy_yjtj_activityinfo
+        <trim prefix="(" suffix=")" prefixOverrides="," suffixOverrides=",">
+
+        <if test="creationDate !=null and creationDate !='' ">
+            creationDate,
+        </if>
+        <if test="theme !=null and theme !='' ">
+            theme,
+        </if>
+        <if test="startTime !=null and startTime !='' ">
+            startTime,
+        </if>
+        <if test="endTime !=null and endTime !='' ">
+            endTime,
+        </if>
+        <if test="usedContract !=null and usedContract !='' ">
+            usedContract,
+        </if>
+        <if test="status !=null and status !='' ">
+            status,
+        </if>
+        <if test="invitedCount !=null and invitedCount !='' ">
+            invitedCount,
+        </if>
+        <if test="successCount !=null and successCount !='' ">
+            successCount,
+        </if>
+        </trim>
+        <trim prefix=" VALUES (" suffix=")" prefixOverrides="," suffixOverrides=",">
+        <if test="creationDate !=null and creationDate !='' ">
+             #{creationDate},
+        </if>
+        <if test="theme !=null and theme !='' ">
+             #{theme},
+        </if>
+        <if test="startTime !=null and startTime !='' ">
+             #{startTime},
+        </if>
+        <if test="endTime !=null and endTime !='' ">
+             #{endTime},
+        </if>
+        <if test="usedContract !=null and usedContract !='' ">
+             #{usedContract},
+        </if>
+        <if test="status !=null and status !='' ">
+             #{status},
+        </if>
+        <if test="invitedCount !=null and invitedCount !='' ">
+             #{invitedCount},
+        </if>
+        <if test="successCount !=null and successCount !='' ">
+             #{successCount},
+        </if>
+        </trim>
+
+    </insert>
+
+</mapper>

+ 102 - 0
health-system/src/main/resources/mapper/jkgl/SJkglMbglQyglBenefitinfoMapper.xml

@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="SJkglMbglQyglBenefitinfoMapper" >
+    <!-- 通用查询映射结果 -->
+
+    <select id="selectSJkglMbglQyglBenefitinfoList" parameterType="pd" resultType="pd">
+        select * from s_jkgl_mbgl_qygl_benefitinfo where 1=1
+        <if test="creationDate !=null and creationDate !='' ">
+            and creationDate = #{creationDate}
+        </if>
+        <if test="benefitSubject !=null and benefitSubject !='' ">
+            and benefitSubject = #{benefitSubject}
+        </if>
+        <if test="diseaseTag !=null and diseaseTag !='' ">
+            and diseaseTag = #{diseaseTag}
+        </if>
+        <if test="includedBenefitCategory !=null and includedBenefitCategory !='' ">
+            and includedBenefitCategory = #{includedBenefitCategory}
+        </if>
+        <if test="status !=null and status !='' ">
+            and status = #{status}
+        </if>
+    </select>
+
+
+    <update id="updateSJkglMbglQyglBenefitinfo" parameterType="pd" >
+        update s_jkgl_mbgl_qygl_benefitinfo
+        <trim prefix=" SET " suffix="" prefixOverrides="," suffixOverrides=",">
+        <if test="creationDate !=null and creationDate !='' ">
+            creationDate = #{creationDate},
+        </if>
+        <if test="benefitSubject !=null and benefitSubject !='' ">
+            benefitSubject = #{benefitSubject},
+        </if>
+        <if test="diseaseTag !=null and diseaseTag !='' ">
+            diseaseTag = #{diseaseTag},
+        </if>
+        <if test="includedBenefitCategory !=null and includedBenefitCategory !='' ">
+            includedBenefitCategory = #{includedBenefitCategory},
+        </if>
+        <if test="status !=null and status !='' ">
+            status = #{status},
+        </if>
+        </trim>
+        <if test="up != null and up!=''">
+            <if test="id != null and id!=''">
+                where id=#{id}
+            </if>
+        </if>
+    </update>
+
+    <delete id="SJkglMbglQyglBenefitinfoRemove" parameterType="pd">
+        <if test="ids != null">
+            delete from s_jkgl_mbgl_qygl_benefitinfo where
+            <if test="ids != null">
+                id in(${ids})
+            </if>
+        </if>
+    </delete>
+
+    <insert id="addSJkglMbglQyglBenefitinfo" parameterType="pd" >
+
+        insert into s_jkgl_mbgl_qygl_benefitinfo
+        <trim prefix="(" suffix=")" prefixOverrides="," suffixOverrides=",">
+
+        <if test="creationDate !=null and creationDate !='' ">
+            creationDate,
+        </if>
+        <if test="benefitSubject !=null and benefitSubject !='' ">
+            benefitSubject,
+        </if>
+        <if test="diseaseTag !=null and diseaseTag !='' ">
+            diseaseTag,
+        </if>
+        <if test="includedBenefitCategory !=null and includedBenefitCategory !='' ">
+            includedBenefitCategory,
+        </if>
+        <if test="status !=null and status !='' ">
+            status,
+        </if>
+        </trim>
+        <trim prefix=" VALUES (" suffix=")" prefixOverrides="," suffixOverrides=",">
+        <if test="creationDate !=null and creationDate !='' ">
+             #{creationDate},
+        </if>
+        <if test="benefitSubject !=null and benefitSubject !='' ">
+             #{benefitSubject},
+        </if>
+        <if test="diseaseTag !=null and diseaseTag !='' ">
+             #{diseaseTag},
+        </if>
+        <if test="includedBenefitCategory !=null and includedBenefitCategory !='' ">
+             #{includedBenefitCategory},
+        </if>
+        <if test="status !=null and status !='' ">
+             #{status},
+        </if>
+        </trim>
+
+    </insert>
+
+</mapper>

+ 150 - 0
health-system/src/main/resources/mapper/jkgl/SJkglMxbZdyFieldconfigMapper.xml

@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="SJkglMxbZdyFieldconfigMapper" >
+    <!-- 通用查询映射结果 -->
+
+    <select id="selectSJkglMxbZdyFieldconfigList" parameterType="pd" resultType="pd">
+        select * from s_jkgl_mxb_zdy_fieldconfig where 1=1
+        <if test="fieldName !=null and fieldName !='' ">
+            and fieldName = #{fieldName}
+        </if>
+        <if test="isEnabled !=null and isEnabled !='' ">
+            and isEnabled = #{isEnabled}
+        </if>
+        <if test="isMandatory !=null and isMandatory !='' ">
+            and isMandatory = #{isMandatory}
+        </if>
+        <if test="unit !=null and unit !='' ">
+            and unit = #{unit}
+        </if>
+        <if test="fieldLength !=null and fieldLength !='' ">
+            and fieldLength = #{fieldLength}
+        </if>
+        <if test="entryForm !=null and entryForm !='' ">
+            and entryForm = #{entryForm}
+        </if>
+        <if test="enableLocation !=null and enableLocation !='' ">
+            and enableLocation = #{enableLocation}
+        </if>
+        <if test="groupName !=null and groupName !='' ">
+            and groupName = #{groupName}
+        </if>
+        <if test="modificationOptions !=null and modificationOptions !='' ">
+            and modificationOptions = #{modificationOptions}
+        </if>
+    </select>
+
+
+    <update id="updateSJkglMxbZdyFieldconfig" parameterType="pd" >
+        update s_jkgl_mxb_zdy_fieldconfig
+        <trim prefix=" SET " suffix="" prefixOverrides="," suffixOverrides=",">
+        <if test="fieldName !=null and fieldName !='' ">
+            fieldName = #{fieldName},
+        </if>
+        <if test="isEnabled !=null and isEnabled !='' ">
+            isEnabled = #{isEnabled},
+        </if>
+        <if test="isMandatory !=null and isMandatory !='' ">
+            isMandatory = #{isMandatory},
+        </if>
+        <if test="unit !=null and unit !='' ">
+            unit = #{unit},
+        </if>
+        <if test="fieldLength !=null and fieldLength !='' ">
+            fieldLength = #{fieldLength},
+        </if>
+        <if test="entryForm !=null and entryForm !='' ">
+            entryForm = #{entryForm},
+        </if>
+        <if test="enableLocation !=null and enableLocation !='' ">
+            enableLocation = #{enableLocation},
+        </if>
+        <if test="groupName !=null and groupName !='' ">
+            groupName = #{groupName},
+        </if>
+        <if test="modificationOptions !=null and modificationOptions !='' ">
+            modificationOptions = #{modificationOptions},
+        </if>
+        </trim>
+        <if test="up != null and up!=''">
+            <if test="id != null and id!=''">
+                where id=#{id}
+            </if>
+        </if>
+    </update>
+
+    <delete id="SJkglMxbZdyFieldconfigRemove" parameterType="pd">
+        <if test="ids != null">
+            delete from s_jkgl_mxb_zdy_fieldconfig where
+            <if test="ids != null">
+                id in(${ids})
+            </if>
+        </if>
+    </delete>
+
+    <insert id="addSJkglMxbZdyFieldconfig" parameterType="pd" >
+
+        insert into s_jkgl_mxb_zdy_fieldconfig
+        <trim prefix="(" suffix=")" prefixOverrides="," suffixOverrides=",">
+
+        <if test="fieldName !=null and fieldName !='' ">
+            fieldName,
+        </if>
+        <if test="isEnabled !=null and isEnabled !='' ">
+            isEnabled,
+        </if>
+        <if test="isMandatory !=null and isMandatory !='' ">
+            isMandatory,
+        </if>
+        <if test="unit !=null and unit !='' ">
+            unit,
+        </if>
+        <if test="fieldLength !=null and fieldLength !='' ">
+            fieldLength,
+        </if>
+        <if test="entryForm !=null and entryForm !='' ">
+            entryForm,
+        </if>
+        <if test="enableLocation !=null and enableLocation !='' ">
+            enableLocation,
+        </if>
+        <if test="groupName !=null and groupName !='' ">
+            groupName,
+        </if>
+        <if test="modificationOptions !=null and modificationOptions !='' ">
+            modificationOptions,
+        </if>
+        </trim>
+        <trim prefix=" VALUES (" suffix=")" prefixOverrides="," suffixOverrides=",">
+        <if test="fieldName !=null and fieldName !='' ">
+             #{fieldName},
+        </if>
+        <if test="isEnabled !=null and isEnabled !='' ">
+             #{isEnabled},
+        </if>
+        <if test="isMandatory !=null and isMandatory !='' ">
+             #{isMandatory},
+        </if>
+        <if test="unit !=null and unit !='' ">
+             #{unit},
+        </if>
+        <if test="fieldLength !=null and fieldLength !='' ">
+             #{fieldLength},
+        </if>
+        <if test="entryForm !=null and entryForm !='' ">
+             #{entryForm},
+        </if>
+        <if test="enableLocation !=null and enableLocation !='' ">
+             #{enableLocation},
+        </if>
+        <if test="groupName !=null and groupName !='' ">
+             #{groupName},
+        </if>
+        <if test="modificationOptions !=null and modificationOptions !='' ">
+             #{modificationOptions},
+        </if>
+        </trim>
+
+    </insert>
+
+</mapper>

+ 114 - 0
health-system/src/main/resources/mapper/jkgl/SJkglRegistrationinfoMapper.xml

@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="SJkglRegistrationinfoMapper" >
+    <!-- 通用查询映射结果 -->
+
+    <select id="selectSJkglRegistrationinfoList" parameterType="pd" resultType="pd">
+        select * from s_jkgl_registrationinfo where 1=1
+        <if test="creationDate !=null and creationDate !='' ">
+            and creationDate = #{creationDate}
+        </if>
+        <if test="theme !=null and theme !='' ">
+            and theme = #{theme}
+        </if>
+        <if test="registrationType !=null and registrationType !='' ">
+            and registrationType = #{registrationType}
+        </if>
+        <if test="isStrictControl !=null and isStrictControl !='' ">
+            and isStrictControl = #{isStrictControl}
+        </if>
+        <if test="status !=null and status !='' ">
+            and status = #{status}
+        </if>
+        <if test="registrationCount !=null and registrationCount !='' ">
+            and registrationCount = #{registrationCount}
+        </if>
+    </select>
+
+
+    <update id="updateSJkglRegistrationinfo" parameterType="pd" >
+        update s_jkgl_registrationinfo
+        <trim prefix=" SET " suffix="" prefixOverrides="," suffixOverrides=",">
+        <if test="creationDate !=null and creationDate !='' ">
+            creationDate = #{creationDate},
+        </if>
+        <if test="theme !=null and theme !='' ">
+            theme = #{theme},
+        </if>
+        <if test="registrationType !=null and registrationType !='' ">
+            registrationType = #{registrationType},
+        </if>
+        <if test="isStrictControl !=null and isStrictControl !='' ">
+            isStrictControl = #{isStrictControl},
+        </if>
+        <if test="status !=null and status !='' ">
+            status = #{status},
+        </if>
+        <if test="registrationCount !=null and registrationCount !='' ">
+            registrationCount = #{registrationCount},
+        </if>
+        </trim>
+        <if test="up != null and up!=''">
+            <if test="id != null and id!=''">
+                where id=#{id}
+            </if>
+        </if>
+    </update>
+
+    <delete id="SJkglRegistrationinfoRemove" parameterType="pd">
+        <if test="ids != null">
+            delete from s_jkgl_registrationinfo where
+            <if test="ids != null">
+                id in(${ids})
+            </if>
+        </if>
+    </delete>
+
+    <insert id="addSJkglRegistrationinfo" parameterType="pd" >
+
+        insert into s_jkgl_registrationinfo
+        <trim prefix="(" suffix=")" prefixOverrides="," suffixOverrides=",">
+
+        <if test="creationDate !=null and creationDate !='' ">
+            creationDate,
+        </if>
+        <if test="theme !=null and theme !='' ">
+            theme,
+        </if>
+        <if test="registrationType !=null and registrationType !='' ">
+            registrationType,
+        </if>
+        <if test="isStrictControl !=null and isStrictControl !='' ">
+            isStrictControl,
+        </if>
+        <if test="status !=null and status !='' ">
+            status,
+        </if>
+        <if test="registrationCount !=null and registrationCount !='' ">
+            registrationCount,
+        </if>
+        </trim>
+        <trim prefix=" VALUES (" suffix=")" prefixOverrides="," suffixOverrides=",">
+        <if test="creationDate !=null and creationDate !='' ">
+             #{creationDate},
+        </if>
+        <if test="theme !=null and theme !='' ">
+             #{theme},
+        </if>
+        <if test="registrationType !=null and registrationType !='' ">
+             #{registrationType},
+        </if>
+        <if test="isStrictControl !=null and isStrictControl !='' ">
+             #{isStrictControl},
+        </if>
+        <if test="status !=null and status !='' ">
+             #{status},
+        </if>
+        <if test="registrationCount !=null and registrationCount !='' ">
+             #{registrationCount},
+        </if>
+        </trim>
+
+    </insert>
+
+</mapper>

+ 150 - 0
health-system/src/main/resources/mapper/jkgl/SJkglYpwxServiceprojectinfoMapper.xml

@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="SJkglYpwxServiceprojectinfoMapper" >
+    <!-- 通用查询映射结果 -->
+
+    <select id="selectSJkglYpwxServiceprojectinfoList" parameterType="pd" resultType="pd">
+        select * from s_jkgl_ypwx_serviceprojectinfo where 1=1
+        <if test="creationDate !=null and creationDate !='' ">
+            and creationDate = #{creationDate}
+        </if>
+        <if test="theme !=null and theme !='' ">
+            and theme = #{theme}
+        </if>
+        <if test="includedMedicines !=null and includedMedicines !='' ">
+            and includedMedicines = #{includedMedicines}
+        </if>
+        <if test="maintenanceMode !=null and maintenanceMode !='' ">
+            and maintenanceMode = #{maintenanceMode}
+        </if>
+        <if test="servicePeriods !=null and servicePeriods !='' ">
+            and servicePeriods = #{servicePeriods}
+        </if>
+        <if test="status !=null and status !='' ">
+            and status = #{status}
+        </if>
+        <if test="servedPeople !=null and servedPeople !='' ">
+            and servedPeople = #{servedPeople}
+        </if>
+        <if test="isSmsTemplateConfigured !=null and isSmsTemplateConfigured !='' ">
+            and isSmsTemplateConfigured = #{isSmsTemplateConfigured}
+        </if>
+        <if test="dataSource !=null and dataSource !='' ">
+            and dataSource = #{dataSource}
+        </if>
+    </select>
+
+
+    <update id="updateSJkglYpwxServiceprojectinfo" parameterType="pd" >
+        update s_jkgl_ypwx_serviceprojectinfo
+        <trim prefix=" SET " suffix="" prefixOverrides="," suffixOverrides=",">
+        <if test="creationDate !=null and creationDate !='' ">
+            creationDate = #{creationDate},
+        </if>
+        <if test="theme !=null and theme !='' ">
+            theme = #{theme},
+        </if>
+        <if test="includedMedicines !=null and includedMedicines !='' ">
+            includedMedicines = #{includedMedicines},
+        </if>
+        <if test="maintenanceMode !=null and maintenanceMode !='' ">
+            maintenanceMode = #{maintenanceMode},
+        </if>
+        <if test="servicePeriods !=null and servicePeriods !='' ">
+            servicePeriods = #{servicePeriods},
+        </if>
+        <if test="status !=null and status !='' ">
+            status = #{status},
+        </if>
+        <if test="servedPeople !=null and servedPeople !='' ">
+            servedPeople = #{servedPeople},
+        </if>
+        <if test="isSmsTemplateConfigured !=null and isSmsTemplateConfigured !='' ">
+            isSmsTemplateConfigured = #{isSmsTemplateConfigured},
+        </if>
+        <if test="dataSource !=null and dataSource !='' ">
+            dataSource = #{dataSource},
+        </if>
+        </trim>
+        <if test="up != null and up!=''">
+            <if test="id != null and id!=''">
+                where id=#{id}
+            </if>
+        </if>
+    </update>
+
+    <delete id="SJkglYpwxServiceprojectinfoRemove" parameterType="pd">
+        <if test="ids != null">
+            delete from s_jkgl_ypwx_serviceprojectinfo where
+            <if test="ids != null">
+                id in(${ids})
+            </if>
+        </if>
+    </delete>
+
+    <insert id="addSJkglYpwxServiceprojectinfo" parameterType="pd" >
+
+        insert into s_jkgl_ypwx_serviceprojectinfo
+        <trim prefix="(" suffix=")" prefixOverrides="," suffixOverrides=",">
+
+        <if test="creationDate !=null and creationDate !='' ">
+            creationDate,
+        </if>
+        <if test="theme !=null and theme !='' ">
+            theme,
+        </if>
+        <if test="includedMedicines !=null and includedMedicines !='' ">
+            includedMedicines,
+        </if>
+        <if test="maintenanceMode !=null and maintenanceMode !='' ">
+            maintenanceMode,
+        </if>
+        <if test="servicePeriods !=null and servicePeriods !='' ">
+            servicePeriods,
+        </if>
+        <if test="status !=null and status !='' ">
+            status,
+        </if>
+        <if test="servedPeople !=null and servedPeople !='' ">
+            servedPeople,
+        </if>
+        <if test="isSmsTemplateConfigured !=null and isSmsTemplateConfigured !='' ">
+            isSmsTemplateConfigured,
+        </if>
+        <if test="dataSource !=null and dataSource !='' ">
+            dataSource,
+        </if>
+        </trim>
+        <trim prefix=" VALUES (" suffix=")" prefixOverrides="," suffixOverrides=",">
+        <if test="creationDate !=null and creationDate !='' ">
+             #{creationDate},
+        </if>
+        <if test="theme !=null and theme !='' ">
+             #{theme},
+        </if>
+        <if test="includedMedicines !=null and includedMedicines !='' ">
+             #{includedMedicines},
+        </if>
+        <if test="maintenanceMode !=null and maintenanceMode !='' ">
+             #{maintenanceMode},
+        </if>
+        <if test="servicePeriods !=null and servicePeriods !='' ">
+             #{servicePeriods},
+        </if>
+        <if test="status !=null and status !='' ">
+             #{status},
+        </if>
+        <if test="servedPeople !=null and servedPeople !='' ">
+             #{servedPeople},
+        </if>
+        <if test="isSmsTemplateConfigured !=null and isSmsTemplateConfigured !='' ">
+             #{isSmsTemplateConfigured},
+        </if>
+        <if test="dataSource !=null and dataSource !='' ">
+             #{dataSource},
+        </if>
+        </trim>
+
+    </insert>
+
+</mapper>

+ 138 - 0
health-system/src/main/resources/mapper/spgl/SSpglJfspProductinfoMapper.xml

@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="SSpglJfspProductinfoMapper" >
+    <!-- 通用查询映射结果 -->
+
+    <select id="selectSSpglJfspProductinfoList" parameterType="pd" resultType="pd">
+        select * from s_spgl_jfsp_productinfo where 1=1
+        <if test="productName !=null and productName !='' ">
+            and productName = #{productName}
+        </if>
+        <if test="productImage !=null and productImage !='' ">
+            and productImage = #{productImage}
+        </if>
+        <if test="salesPrice !=null and salesPrice !='' ">
+            and salesPrice = #{salesPrice}
+        </if>
+        <if test="exchangePrice !=null and exchangePrice !='' ">
+            and exchangePrice = #{exchangePrice}
+        </if>
+        <if test="stock !=null and stock !='' ">
+            and stock = #{stock}
+        </if>
+        <if test="createTime !=null and createTime !='' ">
+            and createTime = #{createTime}
+        </if>
+        <if test="productType !=null and productType !='' ">
+            and productType = #{productType}
+        </if>
+        <if test="salesStatus !=null and salesStatus !='' ">
+            and salesStatus = #{salesStatus}
+        </if>
+    </select>
+
+
+    <update id="updateSSpglJfspProductinfo" parameterType="pd" >
+        update s_spgl_jfsp_productinfo
+        <trim prefix=" SET " suffix="" prefixOverrides="," suffixOverrides=",">
+        <if test="productName !=null and productName !='' ">
+            productName = #{productName},
+        </if>
+        <if test="productImage !=null and productImage !='' ">
+            productImage = #{productImage},
+        </if>
+        <if test="salesPrice !=null and salesPrice !='' ">
+            salesPrice = #{salesPrice},
+        </if>
+        <if test="exchangePrice !=null and exchangePrice !='' ">
+            exchangePrice = #{exchangePrice},
+        </if>
+        <if test="stock !=null and stock !='' ">
+            stock = #{stock},
+        </if>
+        <if test="createTime !=null and createTime !='' ">
+            createTime = #{createTime},
+        </if>
+        <if test="productType !=null and productType !='' ">
+            productType = #{productType},
+        </if>
+        <if test="salesStatus !=null and salesStatus !='' ">
+            salesStatus = #{salesStatus},
+        </if>
+        </trim>
+        <if test="up != null and up!=''">
+            <if test="id != null and id!=''">
+                where id=#{id}
+            </if>
+        </if>
+    </update>
+
+    <delete id="SSpglJfspProductinfoRemove" parameterType="pd">
+        <if test="ids != null">
+            delete from s_spgl_jfsp_productinfo where
+            <if test="ids != null">
+                id in(${ids})
+            </if>
+        </if>
+    </delete>
+
+    <insert id="addSSpglJfspProductinfo" parameterType="pd" >
+
+        insert into s_spgl_jfsp_productinfo
+        <trim prefix="(" suffix=")" prefixOverrides="," suffixOverrides=",">
+
+        <if test="productName !=null and productName !='' ">
+            productName,
+        </if>
+        <if test="productImage !=null and productImage !='' ">
+            productImage,
+        </if>
+        <if test="salesPrice !=null and salesPrice !='' ">
+            salesPrice,
+        </if>
+        <if test="exchangePrice !=null and exchangePrice !='' ">
+            exchangePrice,
+        </if>
+        <if test="stock !=null and stock !='' ">
+            stock,
+        </if>
+        <if test="createTime !=null and createTime !='' ">
+            createTime,
+        </if>
+        <if test="productType !=null and productType !='' ">
+            productType,
+        </if>
+        <if test="salesStatus !=null and salesStatus !='' ">
+            salesStatus,
+        </if>
+        </trim>
+        <trim prefix=" VALUES (" suffix=")" prefixOverrides="," suffixOverrides=",">
+        <if test="productName !=null and productName !='' ">
+             #{productName},
+        </if>
+        <if test="productImage !=null and productImage !='' ">
+             #{productImage},
+        </if>
+        <if test="salesPrice !=null and salesPrice !='' ">
+             #{salesPrice},
+        </if>
+        <if test="exchangePrice !=null and exchangePrice !='' ">
+             #{exchangePrice},
+        </if>
+        <if test="stock !=null and stock !='' ">
+             #{stock},
+        </if>
+        <if test="createTime !=null and createTime !='' ">
+             #{createTime},
+        </if>
+        <if test="productType !=null and productType !='' ">
+             #{productType},
+        </if>
+        <if test="salesStatus !=null and salesStatus !='' ">
+             #{salesStatus},
+        </if>
+        </trim>
+
+    </insert>
+
+</mapper>

+ 102 - 0
health-system/src/main/resources/mapper/spgl/SSpglMdjymlStoreproductinfoMapper.xml

@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="SSpglMdjymlStoreproductinfoMapper" >
+    <!-- 通用查询映射结果 -->
+
+    <select id="selectSSpglMdjymlStoreproductinfoList" parameterType="pd" resultType="pd">
+        select * from s_spgl_mdjyml_storeproductinfo where 1=1
+        <if test="storeName !=null and storeName !='' ">
+            and storeName = #{storeName}
+        </if>
+        <if test="productCode !=null and productCode !='' ">
+            and productCode = #{productCode}
+        </if>
+        <if test="productName !=null and productName !='' ">
+            and productName = #{productName}
+        </if>
+        <if test="productCategory !=null and productCategory !='' ">
+            and productCategory = #{productCategory}
+        </if>
+        <if test="saleStatus !=null and saleStatus !='' ">
+            and saleStatus = #{saleStatus}
+        </if>
+    </select>
+
+
+    <update id="updateSSpglMdjymlStoreproductinfo" parameterType="pd" >
+        update s_spgl_mdjyml_storeproductinfo
+        <trim prefix=" SET " suffix="" prefixOverrides="," suffixOverrides=",">
+        <if test="storeName !=null and storeName !='' ">
+            storeName = #{storeName},
+        </if>
+        <if test="productCode !=null and productCode !='' ">
+            productCode = #{productCode},
+        </if>
+        <if test="productName !=null and productName !='' ">
+            productName = #{productName},
+        </if>
+        <if test="productCategory !=null and productCategory !='' ">
+            productCategory = #{productCategory},
+        </if>
+        <if test="saleStatus !=null and saleStatus !='' ">
+            saleStatus = #{saleStatus},
+        </if>
+        </trim>
+        <if test="up != null and up!=''">
+            <if test="id != null and id!=''">
+                where id=#{id}
+            </if>
+        </if>
+    </update>
+
+    <delete id="SSpglMdjymlStoreproductinfoRemove" parameterType="pd">
+        <if test="ids != null">
+            delete from s_spgl_mdjyml_storeproductinfo where
+            <if test="ids != null">
+                id in(${ids})
+            </if>
+        </if>
+    </delete>
+
+    <insert id="addSSpglMdjymlStoreproductinfo" parameterType="pd" >
+
+        insert into s_spgl_mdjyml_storeproductinfo
+        <trim prefix="(" suffix=")" prefixOverrides="," suffixOverrides=",">
+
+        <if test="storeName !=null and storeName !='' ">
+            storeName,
+        </if>
+        <if test="productCode !=null and productCode !='' ">
+            productCode,
+        </if>
+        <if test="productName !=null and productName !='' ">
+            productName,
+        </if>
+        <if test="productCategory !=null and productCategory !='' ">
+            productCategory,
+        </if>
+        <if test="saleStatus !=null and saleStatus !='' ">
+            saleStatus,
+        </if>
+        </trim>
+        <trim prefix=" VALUES (" suffix=")" prefixOverrides="," suffixOverrides=",">
+        <if test="storeName !=null and storeName !='' ">
+             #{storeName},
+        </if>
+        <if test="productCode !=null and productCode !='' ">
+             #{productCode},
+        </if>
+        <if test="productName !=null and productName !='' ">
+             #{productName},
+        </if>
+        <if test="productCategory !=null and productCategory !='' ">
+             #{productCategory},
+        </if>
+        <if test="saleStatus !=null and saleStatus !='' ">
+             #{saleStatus},
+        </if>
+        </trim>
+
+    </insert>
+
+</mapper>

+ 270 - 0
health-system/src/main/resources/mapper/spgl/SSpglMdspStoreproductdetailsMapper.xml

@@ -0,0 +1,270 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="SSpglMdspStoreproductdetailsMapper" >
+    <!-- 通用查询映射结果 -->
+
+    <select id="selectSSpglMdspStoreproductdetailsList" parameterType="pd" resultType="pd">
+        select * from s_spgl_mdsp_storeproductdetails where 1=1
+        <if test="storeName !=null and storeName !='' ">
+            and storeName = #{storeName}
+        </if>
+        <if test="productCode !=null and productCode !='' ">
+            and productCode = #{productCode}
+        </if>
+        <if test="productName !=null and productName !='' ">
+            and productName = #{productName}
+        </if>
+        <if test="specification !=null and specification !='' ">
+            and specification = #{specification}
+        </if>
+        <if test="manufacturer !=null and manufacturer !='' ">
+            and manufacturer = #{manufacturer}
+        </if>
+        <if test="genericName !=null and genericName !='' ">
+            and genericName = #{genericName}
+        </if>
+        <if test="brandName !=null and brandName !='' ">
+            and brandName = #{brandName}
+        </if>
+        <if test="retailPrice !=null and retailPrice !='' ">
+            and retailPrice = #{retailPrice}
+        </if>
+        <if test="prohibitTransfer !=null and prohibitTransfer !='' ">
+            and prohibitTransfer = #{prohibitTransfer}
+        </if>
+        <if test="prohibitOrder !=null and prohibitOrder !='' ">
+            and prohibitOrder = #{prohibitOrder}
+        </if>
+        <if test="prohibitSale !=null and prohibitSale !='' ">
+            and prohibitSale = #{prohibitSale}
+        </if>
+        <if test="prohibitReturnFactory !=null and prohibitReturnFactory !='' ">
+            and prohibitReturnFactory = #{prohibitReturnFactory}
+        </if>
+        <if test="prohibitReturnWarehouse !=null and prohibitReturnWarehouse !='' ">
+            and prohibitReturnWarehouse = #{prohibitReturnWarehouse}
+        </if>
+        <if test="prohibitDelivery !=null and prohibitDelivery !='' ">
+            and prohibitDelivery = #{prohibitDelivery}
+        </if>
+        <if test="prohibitPurchase !=null and prohibitPurchase !='' ">
+            and prohibitPurchase = #{prohibitPurchase}
+        </if>
+        <if test="configurationType !=null and configurationType !='' ">
+            and configurationType = #{configurationType}
+        </if>
+        <if test="operationAttribute !=null and operationAttribute !='' ">
+            and operationAttribute = #{operationAttribute}
+        </if>
+        <if test="salesAttribute !=null and salesAttribute !='' ">
+            and salesAttribute = #{salesAttribute}
+        </if>
+        <if test="minimumDisplayQuantity !=null and minimumDisplayQuantity !='' ">
+            and minimumDisplayQuantity = #{minimumDisplayQuantity}
+        </if>
+    </select>
+
+
+    <update id="updateSSpglMdspStoreproductdetails" parameterType="pd" >
+        update s_spgl_mdsp_storeproductdetails
+        <trim prefix=" SET " suffix="" prefixOverrides="," suffixOverrides=",">
+        <if test="storeName !=null and storeName !='' ">
+            storeName = #{storeName},
+        </if>
+        <if test="productCode !=null and productCode !='' ">
+            productCode = #{productCode},
+        </if>
+        <if test="productName !=null and productName !='' ">
+            productName = #{productName},
+        </if>
+        <if test="specification !=null and specification !='' ">
+            specification = #{specification},
+        </if>
+        <if test="manufacturer !=null and manufacturer !='' ">
+            manufacturer = #{manufacturer},
+        </if>
+        <if test="genericName !=null and genericName !='' ">
+            genericName = #{genericName},
+        </if>
+        <if test="brandName !=null and brandName !='' ">
+            brandName = #{brandName},
+        </if>
+        <if test="retailPrice !=null and retailPrice !='' ">
+            retailPrice = #{retailPrice},
+        </if>
+        <if test="prohibitTransfer !=null and prohibitTransfer !='' ">
+            prohibitTransfer = #{prohibitTransfer},
+        </if>
+        <if test="prohibitOrder !=null and prohibitOrder !='' ">
+            prohibitOrder = #{prohibitOrder},
+        </if>
+        <if test="prohibitSale !=null and prohibitSale !='' ">
+            prohibitSale = #{prohibitSale},
+        </if>
+        <if test="prohibitReturnFactory !=null and prohibitReturnFactory !='' ">
+            prohibitReturnFactory = #{prohibitReturnFactory},
+        </if>
+        <if test="prohibitReturnWarehouse !=null and prohibitReturnWarehouse !='' ">
+            prohibitReturnWarehouse = #{prohibitReturnWarehouse},
+        </if>
+        <if test="prohibitDelivery !=null and prohibitDelivery !='' ">
+            prohibitDelivery = #{prohibitDelivery},
+        </if>
+        <if test="prohibitPurchase !=null and prohibitPurchase !='' ">
+            prohibitPurchase = #{prohibitPurchase},
+        </if>
+        <if test="configurationType !=null and configurationType !='' ">
+            configurationType = #{configurationType},
+        </if>
+        <if test="operationAttribute !=null and operationAttribute !='' ">
+            operationAttribute = #{operationAttribute},
+        </if>
+        <if test="salesAttribute !=null and salesAttribute !='' ">
+            salesAttribute = #{salesAttribute},
+        </if>
+        <if test="minimumDisplayQuantity !=null and minimumDisplayQuantity !='' ">
+            minimumDisplayQuantity = #{minimumDisplayQuantity},
+        </if>
+        </trim>
+        <if test="up != null and up!=''">
+            <if test="id != null and id!=''">
+                where id=#{id}
+            </if>
+        </if>
+    </update>
+
+    <delete id="SSpglMdspStoreproductdetailsRemove" parameterType="pd">
+        <if test="ids != null">
+            delete from s_spgl_mdsp_storeproductdetails where
+            <if test="ids != null">
+                id in(${ids})
+            </if>
+        </if>
+    </delete>
+
+    <insert id="addSSpglMdspStoreproductdetails" parameterType="pd" >
+
+        insert into s_spgl_mdsp_storeproductdetails
+        <trim prefix="(" suffix=")" prefixOverrides="," suffixOverrides=",">
+
+        <if test="storeName !=null and storeName !='' ">
+            storeName,
+        </if>
+        <if test="productCode !=null and productCode !='' ">
+            productCode,
+        </if>
+        <if test="productName !=null and productName !='' ">
+            productName,
+        </if>
+        <if test="specification !=null and specification !='' ">
+            specification,
+        </if>
+        <if test="manufacturer !=null and manufacturer !='' ">
+            manufacturer,
+        </if>
+        <if test="genericName !=null and genericName !='' ">
+            genericName,
+        </if>
+        <if test="brandName !=null and brandName !='' ">
+            brandName,
+        </if>
+        <if test="retailPrice !=null and retailPrice !='' ">
+            retailPrice,
+        </if>
+        <if test="prohibitTransfer !=null and prohibitTransfer !='' ">
+            prohibitTransfer,
+        </if>
+        <if test="prohibitOrder !=null and prohibitOrder !='' ">
+            prohibitOrder,
+        </if>
+        <if test="prohibitSale !=null and prohibitSale !='' ">
+            prohibitSale,
+        </if>
+        <if test="prohibitReturnFactory !=null and prohibitReturnFactory !='' ">
+            prohibitReturnFactory,
+        </if>
+        <if test="prohibitReturnWarehouse !=null and prohibitReturnWarehouse !='' ">
+            prohibitReturnWarehouse,
+        </if>
+        <if test="prohibitDelivery !=null and prohibitDelivery !='' ">
+            prohibitDelivery,
+        </if>
+        <if test="prohibitPurchase !=null and prohibitPurchase !='' ">
+            prohibitPurchase,
+        </if>
+        <if test="configurationType !=null and configurationType !='' ">
+            configurationType,
+        </if>
+        <if test="operationAttribute !=null and operationAttribute !='' ">
+            operationAttribute,
+        </if>
+        <if test="salesAttribute !=null and salesAttribute !='' ">
+            salesAttribute,
+        </if>
+        <if test="minimumDisplayQuantity !=null and minimumDisplayQuantity !='' ">
+            minimumDisplayQuantity,
+        </if>
+        </trim>
+        <trim prefix=" VALUES (" suffix=")" prefixOverrides="," suffixOverrides=",">
+        <if test="storeName !=null and storeName !='' ">
+             #{storeName},
+        </if>
+        <if test="productCode !=null and productCode !='' ">
+             #{productCode},
+        </if>
+        <if test="productName !=null and productName !='' ">
+             #{productName},
+        </if>
+        <if test="specification !=null and specification !='' ">
+             #{specification},
+        </if>
+        <if test="manufacturer !=null and manufacturer !='' ">
+             #{manufacturer},
+        </if>
+        <if test="genericName !=null and genericName !='' ">
+             #{genericName},
+        </if>
+        <if test="brandName !=null and brandName !='' ">
+             #{brandName},
+        </if>
+        <if test="retailPrice !=null and retailPrice !='' ">
+             #{retailPrice},
+        </if>
+        <if test="prohibitTransfer !=null and prohibitTransfer !='' ">
+             #{prohibitTransfer},
+        </if>
+        <if test="prohibitOrder !=null and prohibitOrder !='' ">
+             #{prohibitOrder},
+        </if>
+        <if test="prohibitSale !=null and prohibitSale !='' ">
+             #{prohibitSale},
+        </if>
+        <if test="prohibitReturnFactory !=null and prohibitReturnFactory !='' ">
+             #{prohibitReturnFactory},
+        </if>
+        <if test="prohibitReturnWarehouse !=null and prohibitReturnWarehouse !='' ">
+             #{prohibitReturnWarehouse},
+        </if>
+        <if test="prohibitDelivery !=null and prohibitDelivery !='' ">
+             #{prohibitDelivery},
+        </if>
+        <if test="prohibitPurchase !=null and prohibitPurchase !='' ">
+             #{prohibitPurchase},
+        </if>
+        <if test="configurationType !=null and configurationType !='' ">
+             #{configurationType},
+        </if>
+        <if test="operationAttribute !=null and operationAttribute !='' ">
+             #{operationAttribute},
+        </if>
+        <if test="salesAttribute !=null and salesAttribute !='' ">
+             #{salesAttribute},
+        </if>
+        <if test="minimumDisplayQuantity !=null and minimumDisplayQuantity !='' ">
+             #{minimumDisplayQuantity},
+        </if>
+        </trim>
+
+    </insert>
+
+</mapper>

+ 102 - 0
health-system/src/main/resources/mapper/spgl/SSpglProductattributesMapper.xml

@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="SSpglProductattributesMapper" >
+    <!-- 通用查询映射结果 -->
+
+    <select id="selectSSpglProductattributesList" parameterType="pd" resultType="pd">
+        select * from s_spgl_productattributes where 1=1
+        <if test="productCode !=null and productCode !='' ">
+            and productCode = #{productCode}
+        </if>
+        <if test="productName !=null and productName !='' ">
+            and productName = #{productName}
+        </if>
+        <if test="productPrice !=null and productPrice !='' ">
+            and productPrice = #{productPrice}
+        </if>
+        <if test="paymentScoreThreshold !=null and paymentScoreThreshold !='' ">
+            and paymentScoreThreshold = #{paymentScoreThreshold}
+        </if>
+        <if test="rentalLimit !=null and rentalLimit !='' ">
+            and rentalLimit = #{rentalLimit}
+        </if>
+    </select>
+
+
+    <update id="updateSSpglProductattributes" parameterType="pd" >
+        update s_spgl_productattributes
+        <trim prefix=" SET " suffix="" prefixOverrides="," suffixOverrides=",">
+        <if test="productCode !=null and productCode !='' ">
+            productCode = #{productCode},
+        </if>
+        <if test="productName !=null and productName !='' ">
+            productName = #{productName},
+        </if>
+        <if test="productPrice !=null and productPrice !='' ">
+            productPrice = #{productPrice},
+        </if>
+        <if test="paymentScoreThreshold !=null and paymentScoreThreshold !='' ">
+            paymentScoreThreshold = #{paymentScoreThreshold},
+        </if>
+        <if test="rentalLimit !=null and rentalLimit !='' ">
+            rentalLimit = #{rentalLimit},
+        </if>
+        </trim>
+        <if test="up != null and up!=''">
+            <if test="id != null and id!=''">
+                where id=#{id}
+            </if>
+        </if>
+    </update>
+
+    <delete id="SSpglProductattributesRemove" parameterType="pd">
+        <if test="ids != null">
+            delete from s_spgl_productattributes where
+            <if test="ids != null">
+                id in(${ids})
+            </if>
+        </if>
+    </delete>
+
+    <insert id="addSSpglProductattributes" parameterType="pd" >
+
+        insert into s_spgl_productattributes
+        <trim prefix="(" suffix=")" prefixOverrides="," suffixOverrides=",">
+
+        <if test="productCode !=null and productCode !='' ">
+            productCode,
+        </if>
+        <if test="productName !=null and productName !='' ">
+            productName,
+        </if>
+        <if test="productPrice !=null and productPrice !='' ">
+            productPrice,
+        </if>
+        <if test="paymentScoreThreshold !=null and paymentScoreThreshold !='' ">
+            paymentScoreThreshold,
+        </if>
+        <if test="rentalLimit !=null and rentalLimit !='' ">
+            rentalLimit,
+        </if>
+        </trim>
+        <trim prefix=" VALUES (" suffix=")" prefixOverrides="," suffixOverrides=",">
+        <if test="productCode !=null and productCode !='' ">
+             #{productCode},
+        </if>
+        <if test="productName !=null and productName !='' ">
+             #{productName},
+        </if>
+        <if test="productPrice !=null and productPrice !='' ">
+             #{productPrice},
+        </if>
+        <if test="paymentScoreThreshold !=null and paymentScoreThreshold !='' ">
+             #{paymentScoreThreshold},
+        </if>
+        <if test="rentalLimit !=null and rentalLimit !='' ">
+             #{rentalLimit},
+        </if>
+        </trim>
+
+    </insert>
+
+</mapper>

+ 402 - 0
health-system/src/main/resources/mapper/spgl/SSpglProductdetailsMapper.xml

@@ -0,0 +1,402 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="SSpglProductdetailsMapper" >
+    <!-- 通用查询映射结果 -->
+
+    <select id="selectSSpglProductdetailsList" parameterType="pd" resultType="pd">
+        select * from s_spgl_productdetails where 1=1
+        <if test="productCode !=null and productCode !='' ">
+            and productCode = #{productCode}
+        </if>
+        <if test="productName !=null and productName !='' ">
+            and productName = #{productName}
+        </if>
+        <if test="specification !=null and specification !='' ">
+            and specification = #{specification}
+        </if>
+        <if test="manufacturer !=null and manufacturer !='' ">
+            and manufacturer = #{manufacturer}
+        </if>
+        <if test="genericName !=null and genericName !='' ">
+            and genericName = #{genericName}
+        </if>
+        <if test="productCategory !=null and productCategory !='' ">
+            and productCategory = #{productCategory}
+        </if>
+        <if test="brandName !=null and brandName !='' ">
+            and brandName = #{brandName}
+        </if>
+        <if test="retailPrice !=null and retailPrice !='' ">
+            and retailPrice = #{retailPrice}
+        </if>
+        <if test="salesAttributes !=null and salesAttributes !='' ">
+            and salesAttributes = #{salesAttributes}
+        </if>
+        <if test="minimumPrice !=null and minimumPrice !='' ">
+            and minimumPrice = #{minimumPrice}
+        </if>
+        <if test="productionLicenseNumber !=null and productionLicenseNumber !='' ">
+            and productionLicenseNumber = #{productionLicenseNumber}
+        </if>
+        <if test="productionLicenseValidUntil !=null and productionLicenseValidUntil !='' ">
+            and productionLicenseValidUntil = #{productionLicenseValidUntil}
+        </if>
+        <if test="unitOfDispensing !=null and unitOfDispensing !='' ">
+            and unitOfDispensing = #{unitOfDispensing}
+        </if>
+        <if test="isDispensable !=null and isDispensable !='' ">
+            and isDispensable = #{isDispensable}
+        </if>
+        <if test="dispensingRatio !=null and dispensingRatio !='' ">
+            and dispensingRatio = #{dispensingRatio}
+        </if>
+        <if test="uniqueCode !=null and uniqueCode !='' ">
+            and uniqueCode = #{uniqueCode}
+        </if>
+        <if test="marketingAuthorizationHolder !=null and marketingAuthorizationHolder !='' ">
+            and marketingAuthorizationHolder = #{marketingAuthorizationHolder}
+        </if>
+        <if test="prescriptionCategory !=null and prescriptionCategory !='' ">
+            and prescriptionCategory = #{prescriptionCategory}
+        </if>
+        <if test="prescriptionCategorySecondLevel !=null and prescriptionCategorySecondLevel !='' ">
+            and prescriptionCategorySecondLevel = #{prescriptionCategorySecondLevel}
+        </if>
+        <if test="prescriptionCategoryThirdLevel !=null and prescriptionCategoryThirdLevel !='' ">
+            and prescriptionCategoryThirdLevel = #{prescriptionCategoryThirdLevel}
+        </if>
+        <if test="approvalNumber !=null and approvalNumber !='' ">
+            and approvalNumber = #{approvalNumber}
+        </if>
+        <if test="approvalNumberValidUntil !=null and approvalNumberValidUntil !='' ">
+            and approvalNumberValidUntil = #{approvalNumberValidUntil}
+        </if>
+        <if test="approvalNumberTwo !=null and approvalNumberTwo !='' ">
+            and approvalNumberTwo = #{approvalNumberTwo}
+        </if>
+        <if test="approvalNumberTwoValidUntil !=null and approvalNumberTwoValidUntil !='' ">
+            and approvalNumberTwoValidUntil = #{approvalNumberTwoValidUntil}
+        </if>
+        <if test="approvalNumberThree !=null and approvalNumberThree !='' ">
+            and approvalNumberThree = #{approvalNumberThree}
+        </if>
+        <if test="approvalNumberThreeValidUntil !=null and approvalNumberThreeValidUntil !='' ">
+            and approvalNumberThreeValidUntil = #{approvalNumberThreeValidUntil}
+        </if>
+        <if test="registrationNumber !=null and registrationNumber !='' ">
+            and registrationNumber = #{registrationNumber}
+        </if>
+        <if test="registrationNumberValidUntil !=null and registrationNumberValidUntil !='' ">
+            and registrationNumberValidUntil = #{registrationNumberValidUntil}
+        </if>
+        <if test="registrationNumberTwo !=null and registrationNumberTwo !='' ">
+            and registrationNumberTwo = #{registrationNumberTwo}
+        </if>
+        <if test="registrationNumberTwoValidUntil !=null and registrationNumberTwoValidUntil !='' ">
+            and registrationNumberTwoValidUntil = #{registrationNumberTwoValidUntil}
+        </if>
+    </select>
+
+
+    <update id="updateSSpglProductdetails" parameterType="pd" >
+        update s_spgl_productdetails
+        <trim prefix=" SET " suffix="" prefixOverrides="," suffixOverrides=",">
+        <if test="productCode !=null and productCode !='' ">
+            productCode = #{productCode},
+        </if>
+        <if test="productName !=null and productName !='' ">
+            productName = #{productName},
+        </if>
+        <if test="specification !=null and specification !='' ">
+            specification = #{specification},
+        </if>
+        <if test="manufacturer !=null and manufacturer !='' ">
+            manufacturer = #{manufacturer},
+        </if>
+        <if test="genericName !=null and genericName !='' ">
+            genericName = #{genericName},
+        </if>
+        <if test="productCategory !=null and productCategory !='' ">
+            productCategory = #{productCategory},
+        </if>
+        <if test="brandName !=null and brandName !='' ">
+            brandName = #{brandName},
+        </if>
+        <if test="retailPrice !=null and retailPrice !='' ">
+            retailPrice = #{retailPrice},
+        </if>
+        <if test="salesAttributes !=null and salesAttributes !='' ">
+            salesAttributes = #{salesAttributes},
+        </if>
+        <if test="minimumPrice !=null and minimumPrice !='' ">
+            minimumPrice = #{minimumPrice},
+        </if>
+        <if test="productionLicenseNumber !=null and productionLicenseNumber !='' ">
+            productionLicenseNumber = #{productionLicenseNumber},
+        </if>
+        <if test="productionLicenseValidUntil !=null and productionLicenseValidUntil !='' ">
+            productionLicenseValidUntil = #{productionLicenseValidUntil},
+        </if>
+        <if test="unitOfDispensing !=null and unitOfDispensing !='' ">
+            unitOfDispensing = #{unitOfDispensing},
+        </if>
+        <if test="isDispensable !=null and isDispensable !='' ">
+            isDispensable = #{isDispensable},
+        </if>
+        <if test="dispensingRatio !=null and dispensingRatio !='' ">
+            dispensingRatio = #{dispensingRatio},
+        </if>
+        <if test="uniqueCode !=null and uniqueCode !='' ">
+            uniqueCode = #{uniqueCode},
+        </if>
+        <if test="marketingAuthorizationHolder !=null and marketingAuthorizationHolder !='' ">
+            marketingAuthorizationHolder = #{marketingAuthorizationHolder},
+        </if>
+        <if test="prescriptionCategory !=null and prescriptionCategory !='' ">
+            prescriptionCategory = #{prescriptionCategory},
+        </if>
+        <if test="prescriptionCategorySecondLevel !=null and prescriptionCategorySecondLevel !='' ">
+            prescriptionCategorySecondLevel = #{prescriptionCategorySecondLevel},
+        </if>
+        <if test="prescriptionCategoryThirdLevel !=null and prescriptionCategoryThirdLevel !='' ">
+            prescriptionCategoryThirdLevel = #{prescriptionCategoryThirdLevel},
+        </if>
+        <if test="approvalNumber !=null and approvalNumber !='' ">
+            approvalNumber = #{approvalNumber},
+        </if>
+        <if test="approvalNumberValidUntil !=null and approvalNumberValidUntil !='' ">
+            approvalNumberValidUntil = #{approvalNumberValidUntil},
+        </if>
+        <if test="approvalNumberTwo !=null and approvalNumberTwo !='' ">
+            approvalNumberTwo = #{approvalNumberTwo},
+        </if>
+        <if test="approvalNumberTwoValidUntil !=null and approvalNumberTwoValidUntil !='' ">
+            approvalNumberTwoValidUntil = #{approvalNumberTwoValidUntil},
+        </if>
+        <if test="approvalNumberThree !=null and approvalNumberThree !='' ">
+            approvalNumberThree = #{approvalNumberThree},
+        </if>
+        <if test="approvalNumberThreeValidUntil !=null and approvalNumberThreeValidUntil !='' ">
+            approvalNumberThreeValidUntil = #{approvalNumberThreeValidUntil},
+        </if>
+        <if test="registrationNumber !=null and registrationNumber !='' ">
+            registrationNumber = #{registrationNumber},
+        </if>
+        <if test="registrationNumberValidUntil !=null and registrationNumberValidUntil !='' ">
+            registrationNumberValidUntil = #{registrationNumberValidUntil},
+        </if>
+        <if test="registrationNumberTwo !=null and registrationNumberTwo !='' ">
+            registrationNumberTwo = #{registrationNumberTwo},
+        </if>
+        <if test="registrationNumberTwoValidUntil !=null and registrationNumberTwoValidUntil !='' ">
+            registrationNumberTwoValidUntil = #{registrationNumberTwoValidUntil},
+        </if>
+        </trim>
+        <if test="up != null and up!=''">
+            <if test="id != null and id!=''">
+                where id=#{id}
+            </if>
+        </if>
+    </update>
+
+    <delete id="SSpglProductdetailsRemove" parameterType="pd">
+        <if test="ids != null">
+            delete from s_spgl_productdetails where
+            <if test="ids != null">
+                id in(${ids})
+            </if>
+        </if>
+    </delete>
+
+    <insert id="addSSpglProductdetails" parameterType="pd" >
+
+        insert into s_spgl_productdetails
+        <trim prefix="(" suffix=")" prefixOverrides="," suffixOverrides=",">
+
+        <if test="productCode !=null and productCode !='' ">
+            productCode,
+        </if>
+        <if test="productName !=null and productName !='' ">
+            productName,
+        </if>
+        <if test="specification !=null and specification !='' ">
+            specification,
+        </if>
+        <if test="manufacturer !=null and manufacturer !='' ">
+            manufacturer,
+        </if>
+        <if test="genericName !=null and genericName !='' ">
+            genericName,
+        </if>
+        <if test="productCategory !=null and productCategory !='' ">
+            productCategory,
+        </if>
+        <if test="brandName !=null and brandName !='' ">
+            brandName,
+        </if>
+        <if test="retailPrice !=null and retailPrice !='' ">
+            retailPrice,
+        </if>
+        <if test="salesAttributes !=null and salesAttributes !='' ">
+            salesAttributes,
+        </if>
+        <if test="minimumPrice !=null and minimumPrice !='' ">
+            minimumPrice,
+        </if>
+        <if test="productionLicenseNumber !=null and productionLicenseNumber !='' ">
+            productionLicenseNumber,
+        </if>
+        <if test="productionLicenseValidUntil !=null and productionLicenseValidUntil !='' ">
+            productionLicenseValidUntil,
+        </if>
+        <if test="unitOfDispensing !=null and unitOfDispensing !='' ">
+            unitOfDispensing,
+        </if>
+        <if test="isDispensable !=null and isDispensable !='' ">
+            isDispensable,
+        </if>
+        <if test="dispensingRatio !=null and dispensingRatio !='' ">
+            dispensingRatio,
+        </if>
+        <if test="uniqueCode !=null and uniqueCode !='' ">
+            uniqueCode,
+        </if>
+        <if test="marketingAuthorizationHolder !=null and marketingAuthorizationHolder !='' ">
+            marketingAuthorizationHolder,
+        </if>
+        <if test="prescriptionCategory !=null and prescriptionCategory !='' ">
+            prescriptionCategory,
+        </if>
+        <if test="prescriptionCategorySecondLevel !=null and prescriptionCategorySecondLevel !='' ">
+            prescriptionCategorySecondLevel,
+        </if>
+        <if test="prescriptionCategoryThirdLevel !=null and prescriptionCategoryThirdLevel !='' ">
+            prescriptionCategoryThirdLevel,
+        </if>
+        <if test="approvalNumber !=null and approvalNumber !='' ">
+            approvalNumber,
+        </if>
+        <if test="approvalNumberValidUntil !=null and approvalNumberValidUntil !='' ">
+            approvalNumberValidUntil,
+        </if>
+        <if test="approvalNumberTwo !=null and approvalNumberTwo !='' ">
+            approvalNumberTwo,
+        </if>
+        <if test="approvalNumberTwoValidUntil !=null and approvalNumberTwoValidUntil !='' ">
+            approvalNumberTwoValidUntil,
+        </if>
+        <if test="approvalNumberThree !=null and approvalNumberThree !='' ">
+            approvalNumberThree,
+        </if>
+        <if test="approvalNumberThreeValidUntil !=null and approvalNumberThreeValidUntil !='' ">
+            approvalNumberThreeValidUntil,
+        </if>
+        <if test="registrationNumber !=null and registrationNumber !='' ">
+            registrationNumber,
+        </if>
+        <if test="registrationNumberValidUntil !=null and registrationNumberValidUntil !='' ">
+            registrationNumberValidUntil,
+        </if>
+        <if test="registrationNumberTwo !=null and registrationNumberTwo !='' ">
+            registrationNumberTwo,
+        </if>
+        <if test="registrationNumberTwoValidUntil !=null and registrationNumberTwoValidUntil !='' ">
+            registrationNumberTwoValidUntil,
+        </if>
+        </trim>
+        <trim prefix=" VALUES (" suffix=")" prefixOverrides="," suffixOverrides=",">
+        <if test="productCode !=null and productCode !='' ">
+             #{productCode},
+        </if>
+        <if test="productName !=null and productName !='' ">
+             #{productName},
+        </if>
+        <if test="specification !=null and specification !='' ">
+             #{specification},
+        </if>
+        <if test="manufacturer !=null and manufacturer !='' ">
+             #{manufacturer},
+        </if>
+        <if test="genericName !=null and genericName !='' ">
+             #{genericName},
+        </if>
+        <if test="productCategory !=null and productCategory !='' ">
+             #{productCategory},
+        </if>
+        <if test="brandName !=null and brandName !='' ">
+             #{brandName},
+        </if>
+        <if test="retailPrice !=null and retailPrice !='' ">
+             #{retailPrice},
+        </if>
+        <if test="salesAttributes !=null and salesAttributes !='' ">
+             #{salesAttributes},
+        </if>
+        <if test="minimumPrice !=null and minimumPrice !='' ">
+             #{minimumPrice},
+        </if>
+        <if test="productionLicenseNumber !=null and productionLicenseNumber !='' ">
+             #{productionLicenseNumber},
+        </if>
+        <if test="productionLicenseValidUntil !=null and productionLicenseValidUntil !='' ">
+             #{productionLicenseValidUntil},
+        </if>
+        <if test="unitOfDispensing !=null and unitOfDispensing !='' ">
+             #{unitOfDispensing},
+        </if>
+        <if test="isDispensable !=null and isDispensable !='' ">
+             #{isDispensable},
+        </if>
+        <if test="dispensingRatio !=null and dispensingRatio !='' ">
+             #{dispensingRatio},
+        </if>
+        <if test="uniqueCode !=null and uniqueCode !='' ">
+             #{uniqueCode},
+        </if>
+        <if test="marketingAuthorizationHolder !=null and marketingAuthorizationHolder !='' ">
+             #{marketingAuthorizationHolder},
+        </if>
+        <if test="prescriptionCategory !=null and prescriptionCategory !='' ">
+             #{prescriptionCategory},
+        </if>
+        <if test="prescriptionCategorySecondLevel !=null and prescriptionCategorySecondLevel !='' ">
+             #{prescriptionCategorySecondLevel},
+        </if>
+        <if test="prescriptionCategoryThirdLevel !=null and prescriptionCategoryThirdLevel !='' ">
+             #{prescriptionCategoryThirdLevel},
+        </if>
+        <if test="approvalNumber !=null and approvalNumber !='' ">
+             #{approvalNumber},
+        </if>
+        <if test="approvalNumberValidUntil !=null and approvalNumberValidUntil !='' ">
+             #{approvalNumberValidUntil},
+        </if>
+        <if test="approvalNumberTwo !=null and approvalNumberTwo !='' ">
+             #{approvalNumberTwo},
+        </if>
+        <if test="approvalNumberTwoValidUntil !=null and approvalNumberTwoValidUntil !='' ">
+             #{approvalNumberTwoValidUntil},
+        </if>
+        <if test="approvalNumberThree !=null and approvalNumberThree !='' ">
+             #{approvalNumberThree},
+        </if>
+        <if test="approvalNumberThreeValidUntil !=null and approvalNumberThreeValidUntil !='' ">
+             #{approvalNumberThreeValidUntil},
+        </if>
+        <if test="registrationNumber !=null and registrationNumber !='' ">
+             #{registrationNumber},
+        </if>
+        <if test="registrationNumberValidUntil !=null and registrationNumberValidUntil !='' ">
+             #{registrationNumberValidUntil},
+        </if>
+        <if test="registrationNumberTwo !=null and registrationNumberTwo !='' ">
+             #{registrationNumberTwo},
+        </if>
+        <if test="registrationNumberTwoValidUntil !=null and registrationNumberTwoValidUntil !='' ">
+             #{registrationNumberTwoValidUntil},
+        </if>
+        </trim>
+
+    </insert>
+
+</mapper>

+ 1 - 1
health-system/src/main/resources/mapper/system/ServerGMapper.xml

@@ -14,7 +14,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
 
 	<select id="selectServerGList" parameterType="ServerG" resultType="com.bzd.common.core.domain.entity.ServerG">
-		select * from s_ffgl_servicetypeinfo
+		select * from s_fwgl_servicetypeinfo
 	</select>
 
 </mapper>

+ 4 - 4
health-system/src/main/resources/mapper/system/ServerMapper.xml

@@ -5,7 +5,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 <mapper namespace="ServerMapper">
 
 	<select id="selectServerList" parameterType="pd" resultType="pd">
-		select * from s_ffgl_servicetypeinfo where 1=1
+		select * from s_fwgl_servicetypeinfo where 1=1
 		<if test="serviceId != null and serviceId!=''">
 		    and serviceId=#{serviceId}
 		</if>
@@ -18,7 +18,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	</select>
 
 	<insert id="insertServer" parameterType="pd">
-		insert into s_ffgl_servicetypeinfo
+		insert into s_fwgl_servicetypeinfo
 		<trim prefix="(" suffix=")" prefixOverrides="," suffixOverrides=",">
 			<if test="serviceTypeNumber != null ">serviceTypeNumber,</if>
 			<if test="serviceTypeName != null ">serviceTypeName,</if>
@@ -35,7 +35,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
 	<delete id="deleteServer" parameterType="pd">
 		<if test="ids != null">
-			delete from s_ffgl_servicetypeinfo where
+			delete from s_fwgl_servicetypeinfo where
 			<if test="ids != null">
 				serviceId=#{ids}
 			</if>
@@ -44,7 +44,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	</delete>
 
 	<insert id="updateServer" parameterType="pd">
-		update s_ffgl_servicetypeinfo
+		update s_fwgl_servicetypeinfo
 		<trim prefix=" SET " suffix="" prefixOverrides="," suffixOverrides=",">
 			<if test="serviceTypeNumber != null ">serviceTypeNumber=#{serviceTypeNumber},</if>
 			<if test="serviceTypeName != null ">serviceTypeName=#{serviceTypeName},</if>