From 2b2763c83e352f8ffd2ac0b5c46b60c49ee78439 Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期二, 13 五月 2025 14:26:33 +0800
Subject: [PATCH] 2025-05-13

---
 ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjAskHistorys.java                            |    9 
 ltkj-hosp/src/main/resources/mapper/hosp/TjAskMedicalHistoryMapper.xml                     |  689 ++++++++++-------
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjAskMedicalHistoryController.java |  148 +++
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java             |   26 
 ltkj-admin/src/main/resources/1.js                                                         |  228 ++++++
 ltkj-admin/src/main/java/com/ltkj/web/controller/dto/PutAskMedicalHistoryDto.java          |  291 +++++++
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/ZhiYeController.java               |  671 +++++++++++++++++
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderDetailService.java                   |    6 
 ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjAskMedicalHistory.java                      |   22 
 ltkj-hosp/src/main/java/com/ltkj/hosp/vo/ProFcListVo.java                                  |   19 
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderDetailServiceImpl.java           |   59 +
 ltkj-hosp/src/main/resources/mapper/hosp/TjOrderMapper.xml                                 |   22 
 ltkj-admin/src/main/resources/sql/职业病.sql                                                  |   20 
 ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjOrder.java                                  |   25 
 ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderDetailMapper.java                      |    8 
 15 files changed, 1,947 insertions(+), 296 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/dto/PutAskMedicalHistoryDto.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/dto/PutAskMedicalHistoryDto.java
new file mode 100644
index 0000000..207d85a
--- /dev/null
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/dto/PutAskMedicalHistoryDto.java
@@ -0,0 +1,291 @@
+package com.ltkj.web.controller.dto;
+
+import cn.hutool.json.JSONArray;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.ltkj.common.annotation.Excel;
+import com.ltkj.common.mybatis.JsonStringArrayTypeHandler;
+import com.ltkj.hosp.domain.TjAskHistorys;
+import com.ltkj.hosp.domain.TjAskWorkLog;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Company: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃
+ * @Author: zhaowenxuan
+ * @Date: 2025/5/9 09:41
+ */
+@Data
+public class PutAskMedicalHistoryDto {
+
+    /**
+     * 鎺ヨЕ鍗卞鍥犵礌
+     */
+    private String tcwhyx;
+
+    /**
+     * 鐢ㄥ伐鍗曚綅
+     */
+    private String ygdw;
+
+    /**
+     * askId
+     */
+    @TableId(type= IdType.AUTO)
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long askId;
+
+    /**
+     * 瀹㈡埛id
+     */
+    @ApiModelProperty(value = "瀹㈡埛id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long cusId;
+
+    /**
+     * 韬唤璇佸彿
+     */
+    @ApiModelProperty(value = "瀹㈡埛韬唤璇佸彿")
+    @TableField(exist = false)
+    private String cusIdCard;
+
+    @ApiModelProperty(value = "瀹㈡埛鎬у埆")
+    @TableField(exist = false)
+    private String cusSex;
+
+    /**
+     * order琛� tj_category瀛楁鍊�
+     * 瀛楀吀琛ㄩ敭 dict_tjtype
+     */
+    @ApiModelProperty(value = "瀹㈡埛浣撴绫诲瀷")
+    @TableField(exist = false)
+    private String tjLx;
+
+    /**
+     * 瀹㈡埛鍚�
+     */
+    @ApiModelProperty(value = "瀹㈡埛鍚�")
+    @Excel(name = "瀹㈡埛鍚�")
+    private String cusName;
+
+    @ApiModelProperty(value = "浣撴鍙�")
+    @Excel(name = "浣撴鍙�")
+    private String tjNum;
+
+    /**
+     * 鑱屼笟
+     */
+    @ApiModelProperty(value = "鑱屼笟")
+    @Excel(name = "鑱屼笟")
+    private String work;
+
+    /**
+     * 宸ヤ綔鐘舵��
+     */
+    @ApiModelProperty(value = "宸ヤ綔鐘舵��")
+    @Excel(name = "宸ヤ綔鐘舵��",dictType="tj_work_status")
+    private String workStatus;
+
+    /**
+     * 鏃㈠線鐥呭彶
+     */
+    @ApiModelProperty(value = "鏃㈠線鐥呭彶")
+    @Excel(name = "鏃㈠線鐥呭彶")
+    private JSONArray medicalHistory;
+
+    /**
+     * 鍒濇疆
+     */
+    @ApiModelProperty(value = "鍒濇疆")
+    @Excel(name = "鍒濇疆")
+    private String chuchao;
+
+    /**
+     * 缁忔湡
+     */
+    @ApiModelProperty(value = "缁忔湡")
+    @Excel(name = "缁忔湡")
+    private String jingqi;
+
+    /**
+     * 鍛ㄦ湡
+     */
+    @ApiModelProperty(value = "鍛ㄦ湡")
+    @Excel(name = "鍛ㄦ湡")
+    private String zhouqi;
+
+    /**
+     * 鏈鏈堢粡鎴栧仠缁忓勾榫�
+     */
+    @ApiModelProperty(value = "鏈鏈堢粡鎴栧仠缁忓勾榫�")
+    @Excel(name = "鏈鏈堢粡鎴栧仠缁忓勾榫�")
+    private String mociage;
+
+
+    @ApiModelProperty(value = "鏈堢粡鏄惁寮傚父")
+    private String yjsfyc;
+
+    /**
+     * 鐜版湁瀛愬コ
+     */
+    @ApiModelProperty(value = "鐜版湁瀛愬コ")
+    @Excel(name = "鐜版湁瀛愬コ")
+    private String zinv;
+
+    /**
+     * 娴佷骇
+     */
+    @ApiModelProperty(value = "娴佷骇")
+    @Excel(name = "娴佷骇")
+    private String liuchan;
+
+    /**
+     * 鏃╀骇
+     */
+    @ApiModelProperty(value = "鏃╀骇")
+    @Excel(name = "鏃╀骇")
+    private String zaochan;
+
+    /**
+     * 姝讳骇
+     */
+    @ApiModelProperty(value = "姝讳骇")
+    @Excel(name = "姝讳骇")
+    private String sichan;
+
+    /**
+     * 寮傚父鑳�
+     */
+    @ApiModelProperty(value = "寮傚父鑳�")
+    @Excel(name = "寮傚父鑳�")
+    private String yichangtai;
+
+    /**
+     * 鍚哥儫
+     * 鏄惁鍚哥儫
+     */
+    @ApiModelProperty(value = "鍚哥儫")
+    @Excel(name = "鍚哥儫")
+    private String xiyan;
+
+    /**
+     * 鍚哥儫棰戠巼
+     */
+    @ApiModelProperty(value = "鍚哥儫棰戠巼")
+    @Excel(name = "鍚哥儫棰戠巼")
+    private String xiyanpinlv;
+
+    /**
+     * 鍚哥儫鏃堕棿
+     */
+    @ApiModelProperty(value = "鍚哥儫鏃堕棿")
+    @Excel(name = "鍚哥儫鏃堕棿")
+    private String xiyanyear;
+
+    /**
+     * 楗厭
+     */
+    @ApiModelProperty(value = "楗厭")
+    @Excel(name = "楗厭")
+    private String yinjiu;
+
+    /**
+     * 楗厭棰戠巼
+     */
+    @ApiModelProperty(value = "楗厭棰戠巼")
+    @Excel(name = "楗厭棰戠巼")
+    private String yinjiupinlv;
+
+    /**
+     * 楗厭鏃堕棿
+     */
+    @ApiModelProperty(value = "楗厭鏃堕棿")
+    @Excel(name = "楗厭鏃堕棿")
+    private String yinjiuyear;
+
+    /**
+     * 鍏朵粬
+     */
+    @ApiModelProperty(value = "鍏朵粬")
+    @Excel(name = "鍏朵粬")
+    private String qita;
+
+    /**
+     * 鏉ユ簮鏍囧織
+     */
+    @ApiModelProperty(value = "鏉ユ簮鏍囧織")
+    @Excel(name = "鏉ユ簮鏍囧織")
+    private String fromBy;
+
+    /**
+     * 鑱屼笟鍘嗗彶
+     */
+    @ApiModelProperty(value = "鑱屼笟鍘嗗彶")
+    @TableField(exist = false)
+    private List<TjAskWorkLog> workLogs;
+
+
+    /**
+     * 鎺ヨЕ姣掔墿
+     */
+    @ApiModelProperty(value = "鎺ヨЕ姣掔墿")
+    @Excel(name = "鎺ヨЕ姣掔墿")
+    private String contactPoison;
+
+
+    /**
+     * 浣撴绫诲埆
+     */
+    @TableField(exist = false)
+    private String tjCategory;
+
+    @ApiModelProperty(value = "鐥囩姸鏁版嵁闆�")
+    @TableField(typeHandler = JsonStringArrayTypeHandler.class)
+    private String[] zzsjj;
+
+    @ApiModelProperty(value = "宸ョ")
+    private String gongZhong;
+
+    @ApiModelProperty(value = "宸ラ緞")
+    private String gongLing;
+
+    @ApiModelProperty(value = "鎺ュ宸ラ緞")
+    private String jhgl;
+
+    /**
+     * 鍗曚綅鍚嶇О
+     */
+    private String dwmc;
+
+    /**
+     * 鏃㈠線鐥呭彶鍏朵粬璇存槑
+     */
+    private String medicalHistoryOther;
+
+    private List<TjAskHistorys> zhiyezzList;
+
+    /**
+     * 鐥呭彶淇℃伅
+     */
+    @ApiModelProperty(value = "鐥呭彶淇℃伅")
+    @TableField(exist = false)
+    private List<TjAskHistorys> tjAskHistorysList;
+
+
+}
+
+/**
+ * 鑱屼笟鐥呭彶
+ */
+@Data
+class MedicalHistoryDto{
+    private String id;
+    private String icdname;
+}
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjAskMedicalHistoryController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjAskMedicalHistoryController.java
index 5d27952..b3472f6 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjAskMedicalHistoryController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjAskMedicalHistoryController.java
@@ -5,10 +5,15 @@
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ltkj.framework.config.MatchUtils;
 import com.ltkj.hosp.domain.*;
 import com.ltkj.hosp.service.*;
+import com.ltkj.web.controller.dto.PutAskMedicalHistoryDto;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.val;
@@ -121,13 +126,23 @@
 
                     askWorkLog.setHarmTypeLogs(skuNos);
                 }
+                TjOrder order = tjOrderService.getOrderByTjNum(tjNumber);
+                one.setTjLx(order.getTjCategory());
+
 
                 LambdaQueryWrapper<TjAskHistorys> wqq111 = new LambdaQueryWrapper<>();
                 wqq111.eq(TjAskHistorys::getAskId, one.getAskId());
-                final List<TjAskHistorys> list11 = historysService.list(wqq111);
+                wqq111.eq(TjAskHistorys::getDataType,1);
+                List<TjAskHistorys> list11 = historysService.list(wqq111);
                 one.setTjAskHistorysList(list11);
-                TjOrder order = tjOrderService.getOrderByTjNum(tjNumber);
-                one.setTjLx(order.getTjCategory());
+
+                wqq111 = new LambdaQueryWrapper<>();
+                wqq111.eq(TjAskHistorys::getAskId, one.getAskId());
+                wqq111.eq(TjAskHistorys::getDataType,2);
+                list11 = historysService.list(wqq111);
+                one.setZhiyezzList(list11);
+
+
                 return AjaxResult.success(one);
             }else {
                 TjAskMedicalHistory a = new TjAskMedicalHistory();
@@ -191,11 +206,82 @@
     /**
      * pc绔慨鏀归棶璇�
      */
+//    @ApiOperation(value = "pc绔慨鏀归棶璇�")
+//    @Log(title = "闂瘖", businessType = BusinessType.UPDATE)
+//    @PutMapping
+//    @Transactional
+//    public AjaxResult edit(@RequestBody TjAskMedicalHistory tjAskMedicalHistory) {
+//        LambdaQueryWrapper<TjAskWorkLog> wq = new LambdaQueryWrapper<>();
+//        wq.eq(TjAskWorkLog::getTjNumber, tjAskMedicalHistory.getTjNum());
+//        tjAskWorkLogService.remove(wq);
+//        LambdaQueryWrapper<TjHarmTypeLog> wq1 = new LambdaQueryWrapper<>();
+//        wq1.eq(TjHarmTypeLog::getTjNumber, tjAskMedicalHistory.getTjNum());
+//        tjHarmTypeLogService.remove(wq1);
+//
+//
+//        boolean b = false;
+//        tjAskMedicalHistory.setFromBy("PC绔�");
+//        if (tjAskMedicalHistory.getAskId() != null) {
+//            b = tjAskMedicalHistoryService.updateById(tjAskMedicalHistory);
+//        } else {
+//            b = tjAskMedicalHistoryService.save(tjAskMedicalHistory);
+//        }
+//        if (b) {
+//            List<TjAskHistorys> tjAskHistorysList = tjAskMedicalHistory.getTjAskHistorysList();
+//            if (tjAskHistorysList != null && tjAskHistorysList.size() > 0) {
+//                for (TjAskHistorys tjAskHistorys : tjAskMedicalHistory.getTjAskHistorysList()) {
+//                    tjAskHistorys.setAskId(tjAskMedicalHistory.getAskId());
+//                    boolean b1 = historysService.saveOrUpdate(tjAskHistorys);
+//                    if (!b1) {
+//                        return AjaxResult.error();
+//                    }
+//                }
+//            }
+//
+//            List<TjAskWorkLog> askWorkLogs = tjAskMedicalHistory.getWorkLogs();
+//            if (askWorkLogs != null && askWorkLogs.size() > 0) {
+//                for (TjAskWorkLog askWorkLog : askWorkLogs) {
+//                    askWorkLog.setCusId(tjAskMedicalHistory.getCusId());
+//                    askWorkLog.setCusName(tjAskMedicalHistory.getCusName());
+//                    askWorkLog.setTjNumber(tjAskMedicalHistory.getTjNum());
+//                    askWorkLog.setAskId(tjAskMedicalHistory.getAskId());
+//                    boolean b1 = tjAskWorkLogService.saveOrUpdate(askWorkLog);
+//                    List<String> harmTypeLogs = askWorkLog.getHarmTypeLogs();
+//                    if (harmTypeLogs != null) {
+//                        for (String harmTypeLog : harmTypeLogs) {
+//                            final TjHarmType byId = tjHarmTypeService.getById(harmTypeLog);
+//                            if (byId != null) {
+//                                TjHarmTypeLog log = new TjHarmTypeLog();
+//                                log.setAid(byId.getAid());
+//                                log.setCusId(tjAskMedicalHistory.getCusId());
+//                                log.setCusName(tjAskMedicalHistory.getCusName());
+//                                log.setTjNumber(tjAskMedicalHistory.getTjNum());
+//                                log.setWorkId(askWorkLog.getId());
+//                                tjHarmTypeLogService.save(log);
+//                            }
+//                        }
+//                    }
+//                    if (!b1) {
+//                        return AjaxResult.error();
+//                    }
+//                }
+//            }
+//            return AjaxResult.success(tjAskMedicalHistory);
+//        }
+//        return AjaxResult.error();
+//        //return toAjax(tjAskMedicalHistoryService.updateTjAskMedicalHistory(tjAskMedicalHistory));
+//    }
+
+    /**
+     * pc绔慨鏀归棶璇�
+     */
     @ApiOperation(value = "pc绔慨鏀归棶璇�")
     @Log(title = "闂瘖", businessType = BusinessType.UPDATE)
     @PutMapping
     @Transactional
-    public AjaxResult edit(@RequestBody TjAskMedicalHistory tjAskMedicalHistory) {
+    public AjaxResult edit(@RequestBody PutAskMedicalHistoryDto askMedicalHistoryDto) {
+        TjAskMedicalHistory tjAskMedicalHistory = new TjAskMedicalHistory();
+        BeanUtil.copyProperties(askMedicalHistoryDto,tjAskMedicalHistory,true);
         LambdaQueryWrapper<TjAskWorkLog> wq = new LambdaQueryWrapper<>();
         wq.eq(TjAskWorkLog::getTjNumber, tjAskMedicalHistory.getTjNum());
         tjAskWorkLogService.remove(wq);
@@ -206,6 +292,19 @@
 
         boolean b = false;
         tjAskMedicalHistory.setFromBy("PC绔�");
+
+        JSONArray medicalHistory = askMedicalHistoryDto.getMedicalHistory();
+        String medicalHistoryTxt = medicalHistory.stream().map(item -> {
+            JSONObject entries = (JSONObject) item;
+            return entries.getStr("icdname");
+        }).collect(Collectors.joining(","));
+        String medicalHistoryIds = medicalHistory.stream().map(item -> {
+            JSONObject entries = (JSONObject) item;
+            return entries.getStr("id");
+        }).collect(Collectors.joining(","));
+        tjAskMedicalHistory.setMedicalHistoryIds(medicalHistoryIds);
+        tjAskMedicalHistory.setMedicalHistory(medicalHistoryTxt);
+
         if (tjAskMedicalHistory.getAskId() != null) {
             b = tjAskMedicalHistoryService.updateById(tjAskMedicalHistory);
         } else {
@@ -213,9 +312,22 @@
         }
         if (b) {
             List<TjAskHistorys> tjAskHistorysList = tjAskMedicalHistory.getTjAskHistorysList();
-            if (tjAskHistorysList != null && tjAskHistorysList.size() > 0) {
+            if (tjAskHistorysList != null && !tjAskHistorysList.isEmpty()) {
                 for (TjAskHistorys tjAskHistorys : tjAskMedicalHistory.getTjAskHistorysList()) {
                     tjAskHistorys.setAskId(tjAskMedicalHistory.getAskId());
+                    tjAskHistorys.setDataType(1);
+                    boolean b1 = historysService.saveOrUpdate(tjAskHistorys);
+                    if (!b1) {
+                        return AjaxResult.error();
+                    }
+                }
+            }
+
+            List<TjAskHistorys> zhiyezzList = askMedicalHistoryDto.getZhiyezzList();
+            if (zhiyezzList != null && !zhiyezzList.isEmpty()) {
+                for (TjAskHistorys tjAskHistorys : zhiyezzList) {
+                    tjAskHistorys.setAskId(tjAskMedicalHistory.getAskId());
+                    tjAskHistorys.setDataType(2);
                     boolean b1 = historysService.saveOrUpdate(tjAskHistorys);
                     if (!b1) {
                         return AjaxResult.error();
@@ -224,7 +336,7 @@
             }
 
             List<TjAskWorkLog> askWorkLogs = tjAskMedicalHistory.getWorkLogs();
-            if (askWorkLogs != null && askWorkLogs.size() > 0) {
+            if (askWorkLogs != null && !askWorkLogs.isEmpty()) {
                 for (TjAskWorkLog askWorkLog : askWorkLogs) {
                     askWorkLog.setCusId(tjAskMedicalHistory.getCusId());
                     askWorkLog.setCusName(tjAskMedicalHistory.getCusName());
@@ -254,7 +366,16 @@
             return AjaxResult.success(tjAskMedicalHistory);
         }
         return AjaxResult.error();
-        //return toAjax(tjAskMedicalHistoryService.updateTjAskMedicalHistory(tjAskMedicalHistory));
+    }
+
+    /**
+     * 鍒犻櫎鐥呭彶鎴栫棁鐘�
+     * @param historyId
+     * @return
+     */
+    @PostMapping("/removeAskHistorys")
+    public AjaxResult removeAskHistorys(@RequestBody List<String > historyId){
+        return toAjax(historysService.removeByIds(historyId));
     }
 
 
@@ -288,9 +409,20 @@
 
                 LambdaQueryWrapper<TjAskHistorys> wqq111 = new LambdaQueryWrapper<>();
                 wqq111.eq(TjAskHistorys::getAskId, one.getAskId());
-                final List<TjAskHistorys> list11 = historysService.list(wqq111);
+                wqq111.eq(TjAskHistorys::getDataType,1);
+                List<TjAskHistorys> list11 = historysService.list(wqq111);
                 one.setTjAskHistorysList(list11);
 
+                wqq111 = new LambdaQueryWrapper<>();
+                wqq111.eq(TjAskHistorys::getAskId, one.getAskId());
+                wqq111.eq(TjAskHistorys::getDataType,2);
+                list11 = historysService.list(wqq111);
+                one.setZhiyezzList(list11);
+
+                TjOrder order = tjOrderService.getOrderByTjNum(tjNumber);
+                one.setTjLx(order.getTjCategory());
+
+
                 return AjaxResult.success(one);
             }else {
                 TjAskMedicalHistory a = new TjAskMedicalHistory();
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
index 097a840..4526fe5 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
@@ -25,6 +25,7 @@
 import com.ltkj.hosp.mapper.TestMapper;
 import com.ltkj.hosp.service.*;
 import com.ltkj.hosp.sqlDomain.*;
+import com.ltkj.hosp.vo.ProFcListVo;
 import com.ltkj.hosp.vodomain.CsProVo;
 import com.ltkj.hosp.vodomain.UpdateOrderRemarkVo;
 import com.ltkj.mall.mallOrderUtils.TjConstants;
@@ -2032,4 +2033,29 @@
     }
 
 
+    /**
+     * 鏌ヨ澶嶆煡椤圭洰鍒楄〃
+     * @param tjNum 浣撴鍙�
+     * @param type 澶嶆煡鐘舵�� 0鏈鏌ョ姸鎬� 1澶嶆煡鐘舵��
+     * @return
+     */
+    @GetMapping("/getFcList")
+    public AjaxResult getFcList(@RequestParam("tjNum") String tjNum,@RequestParam("type") Integer type){
+        TjOrder order = orderService.getOrderByTjNum(tjNum);
+        if (order == null)
+            return AjaxResult.error();
+        List<ProFcListVo> list = detailService.getFcList(order.getOrderId(),type);
+        return AjaxResult.success(list);
+    }
+
+    /**
+     * 澶嶆煡椤圭洰鎻愪氦
+     * @param json
+     * @return
+     */
+    @PostMapping("/UpdFcPro")
+    public AjaxResult updFcPro(@RequestBody String json) {
+        return detailService.updFcPro(json);
+    }
+
 }
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/ZhiYeController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/ZhiYeController.java
new file mode 100644
index 0000000..816ef09
--- /dev/null
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/ZhiYeController.java
@@ -0,0 +1,671 @@
+package com.ltkj.web.controller.system;
+
+import cn.hutool.core.codec.Base64;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.IdUtil;
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.extra.pinyin.PinyinUtil;
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ltkj.common.core.domain.AjaxResult;
+import com.ltkj.common.core.domain.entity.SysDept;
+import com.ltkj.common.core.domain.entity.SysUser;
+import com.ltkj.common.utils.SecurityUtils;
+import com.ltkj.hosp.domain.*;
+import com.ltkj.hosp.idutil.IdUtils;
+import com.ltkj.hosp.mapper.TjSamplingMapper;
+import com.ltkj.hosp.service.*;
+import com.ltkj.hosp.sqlDomain.LtkjMiddleHead;
+import com.ltkj.mall.domain.MallCheckLog;
+import com.ltkj.mall.domain.MallOrder;
+import com.ltkj.mall.mallOrderUtils.TjConstants;
+import com.ltkj.mall.service.IMallCheckLogService;
+import com.ltkj.mall.service.IMallOrderService;
+import com.ltkj.system.service.ISysConfigService;
+import com.ltkj.system.service.ISysDeptService;
+import com.ltkj.system.service.ISysDictDataService;
+import com.ltkj.system.service.ISysUserService;
+import com.ltkj.web.controller.his.HisApiMethod;
+import com.ltkj.web.controller.his.HisApiMethodService;
+import com.ltkj.web.controller.lis.LisApiMethod;
+import com.ltkj.web.wxUtils.HttpClientUtils;
+import io.swagger.annotations.ApiOperation;
+import jodd.util.StringUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Isolation;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.io.File;
+import java.io.FileInputStream;
+import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.locks.ReentrantLock;
+
+/**
+ * @Company: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃
+ * @Author: zhaowenxuan
+ * @Date: 2025/5/12 14:37
+ */
+@Slf4j
+@RestController
+@RequestMapping("/zhiye/order")
+public class ZhiYeController {
+    @Autowired
+    private ISysUserService userService;
+    @Autowired
+    private ITjCustomerService tjCustomerService;
+    @Autowired
+    private ITjReservationService tjReservationService;
+    @Autowired
+    private IMallOrderService mallOrderService;
+    @Autowired
+    private ITjDwGroupingService dwGroupingService;
+    @Autowired
+    private ITbTransitionService transitionService;
+    @Autowired
+    private ITjOrderService tjOrderService;
+    @Autowired
+    private ISysConfigService configService;
+    @Autowired
+    private IdUtils idUtils;
+    @Autowired
+    private ITjReportGetAddressService tjReportGetAddressService;
+    @Autowired
+    private LtkjMiddleHeadService headService;
+    @Autowired
+    private IMallCheckLogService mallCheckLogService;
+    @Autowired
+    private ITjFlowingWaterService tjFlowingWaterService;
+    @Autowired
+    private HisApiMethodService controller;
+    @Autowired
+    private HisApiMethod hisApiMethod;
+    @Autowired
+    private LisApiMethod lisApiMethod;
+    @Autowired
+    private ITjAskMedicalHistoryService tjAskMedicalHistoryService;
+    @Autowired
+    private ITjOrderDetailService tjOrderDetailService;
+    @Autowired
+    private ITjOrderRemarkService remarkService;
+    @Autowired
+    private ITjXdPictureService xdPictureService;
+    @Autowired
+    private ITjSamplingService samplingService;
+    @Autowired
+    private ITjProjectService projectService;
+    @Autowired
+    private ISysDictDataService sysDictDataService;
+    @Autowired
+    private LisJyflhbService lisJyflhbService;
+    @Autowired
+    private TjSamplingMapper tjSamplingMapper;
+    @Autowired
+    private ITbTransitionService tbTransitionService;
+    @Autowired
+    private ISysDeptService sysDeptService;
+    @Autowired
+    private TjFlowingWaterHisService tjFlowingWaterHisService;
+
+    ReentrantLock lock = new ReentrantLock();
+
+    @PostMapping
+    @ApiOperation(value = "浣撴绛惧埌鐧昏鎺ュ彛")
+    @Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED)
+    public AjaxResult addOrderAndDetail(@RequestBody TjOrder tjOrder) throws Exception {
+        Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId());
+        SysUser sysUser = userService.getById(userId);
+
+        LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>();
+        wq.eq(TjCustomer::getCusId, tjOrder.getUserId());
+        TjCustomer tjCustomer = tjCustomerService.getOne(wq);
+        if (tjCustomer == null) return AjaxResult.error("璇ュ鎴锋湭鐧昏");
+        TjFlowingWater tjFlowingWater = new TjFlowingWater();
+        LambdaQueryWrapper<TjReservation> wq1 = new LambdaQueryWrapper<>();
+        wq1.eq(TjReservation::getIdCard, tjCustomer.getCusIdcard());
+        wq1.eq(TjReservation::getIsExpire, 2);
+        TjReservation tjReservation = tjReservationService.getOne(wq1);
+        MallOrder mallOrder = null;
+        if (null != tjReservation) {
+            tjOrder.setReservationId(tjReservation.getId());
+            mallOrder = mallOrderService.getOne(new LambdaQueryWrapper<MallOrder>().eq(MallOrder::getReservationId, tjReservation.getId()));
+            if (DateUtil.endOfDay(DateUtil.offsetDay(tjReservation.getReservationTime(), tjReservation.getYxts())).before(new Date())) {
+                tjReservation.setIsExpire(1);
+                tjReservationService.updateById(tjReservation);
+                return AjaxResult.error("瀵逛笉璧锋偍鐨勯绾﹀凡瓒呮椂璇烽噸鏂伴绾�");
+            }
+            if (null != tjReservation.getTeamNo()) tjOrder.setTeamNo(tjReservation.getTeamNo());
+            if (null != tjReservation.getCompanyId()) tjOrder.setFirmId(tjReservation.getCompanyId());
+            if (null != tjReservation.getCompany()) tjOrder.setFirmName(tjReservation.getCompany());
+            if (null != tjReservation.getDepartment()) tjOrder.setFirmDeptName(tjReservation.getDepartment());
+            if (null != tjReservation.getJobNo()) tjOrder.setFirmWorkId(tjReservation.getJobNo());
+            if (null != tjReservation.getPacId()) tjOrder.setPacId(tjReservation.getPacId());
+            if (null != tjReservation.getTjCategory()) tjOrder.setTjCategory(tjReservation.getTjCategory());
+            if (null != tjReservation.getGroupingId()) {
+                TjDwGrouping dwGrouping = dwGroupingService.getById(tjReservation.getGroupingId());
+                tjOrder.setGroupId(tjReservation.getGroupingId());
+                tjOrder.setFirmDeptId(dwGrouping.getDwDeptId());
+            }
+            tjReservation.setIsExpire(1);
+            tjReservationService.updateById(tjReservation);
+            if (null != tjReservation.getTeamNo()) {
+                tjOrder.setTjType("1");
+            } else if (tjOrder.getTjType().equals("2")) {
+                tjOrder.setTjType("2");
+            }
+        }
+        if (StringUtil.isBlank(tjOrder.getFirmId())) {
+            tjOrder.setFirmId("0");
+        }
+
+        if (null != tjOrder.getPhoto()) {
+            File file = new File(tjOrder.getPhoto());
+            if (file.isFile()) {
+                FileInputStream fileInputStream = new FileInputStream(file);
+                byte[] bytes = new byte[fileInputStream.available()];
+                fileInputStream.read(bytes); // 璇诲彇鍒� byte 閲岄潰
+                fileInputStream.close();
+                // 寰楀埌鏂囦欢 涔嬪悗杞垚beye 鐒跺悗浣跨敤base64杞爜
+                String encode = Base64.encode(bytes);
+                tjOrder.setPhoto(encode);
+            }
+        }
+
+
+        if (null == tjOrder.getPacId() && null != transitionService.getTbTransitionPacIdByCusIdAndPac(String.valueOf(tjOrder.getUserId()))) {
+            tjOrder.setPacId(transitionService.getTbTransitionPacIdByCusIdAndPac(String.valueOf(tjOrder.getUserId())));
+        }
+        //鍒ゆ柇灏忕▼搴忎笂棰勭害鏄惁浠橀挶
+        if (null != mallOrder) tjOrder.setMallOrderId(String.valueOf(mallOrder.getId()));
+        tjOrder.setStatus(TjConstants.TJ_BEGIN);
+        tjOrder.setCardId(tjCustomer.getCardId());
+        if (null != tjOrder.getTjCategory() && tjOrder.getTjCategory().equals("13")) {
+            tjOrder.setFinishTime(new Date());
+            tjOrder.setCheckStatus(1);
+            tjOrder.setStatus(TjConstants.TJ_WAIT);
+            //            tjFlowingWater.setPayStasus(1L);
+        }
+        tjFlowingWater.setPayStasus(0L);
+
+        try {
+            boolean b = lock.tryLock(3, TimeUnit.MINUTES);
+            if (b) {
+                AjaxResult result = processOrderWithTransaction(tjOrder, tjCustomer, tjReservation, tjFlowingWater, mallOrder, sysUser);
+                if (!result.get("code").toString().equals("200"))
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                tjOrderService.tjQiandaodengji(tjOrder.getTjNumber());
+                return result;
+            }
+        }catch (Exception e){
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            log.error(String.valueOf(e));
+        }
+        finally {
+            lock.unlock();
+        }
+        return AjaxResult.error();
+    }
+
+    @Transactional(propagation = Propagation.REQUIRED) // 鍏变韩浜嬪姟
+    public AjaxResult processOrderWithTransaction(TjOrder tjOrder, TjCustomer tjCustomer, TjReservation tjReservation, TjFlowingWater tjFlowingWater, MallOrder mallOrder, SysUser sysUser) {
+        //鑾峰彇鎷兼帴鍓嶇紑
+        String sfkqtjhqz = configService.selectConfigByKey("sfkqtjhqz");
+        String makeLisTmhPrefix = "";
+        if(sfkqtjhqz.equalsIgnoreCase("Y")){
+            makeLisTmhPrefix = configService.selectConfigByKey("make_lis_tmh_prefix");
+        }
+        //鐢熸垚浣撴鍙�
+        String tjNumber = null;
+        int a =0;
+        while (tjNumber ==null){
+            if(a>3){
+                throw new RuntimeException("鍓嶆柟鎷ユ尋,璇风◢绛�!!!");
+            }
+            try {
+                String newTjNumberRedisLockAndMysql = idUtils.getNewTjNumberRedisLockAndMysql();
+                if (StringUtil.isNotBlank(makeLisTmhPrefix)){
+                    String tjh=  makeLisTmhPrefix + newTjNumberRedisLockAndMysql;
+                    int countByTjNum = tjOrderService.getOrderCountByTjNum(tjh);
+                    if(countByTjNum==0){
+                        tjNumber=tjh;
+                    }
+                }else {
+                    int countByTjNum = tjOrderService.getOrderCountByTjNum(newTjNumberRedisLockAndMysql);
+                    if(countByTjNum==0){
+                        tjNumber=newTjNumberRedisLockAndMysql;
+                    }
+                }
+            } catch (Exception e) {
+                log.error(e.getMessage());
+            }finally {
+                a++;
+            }
+        }
+        if(StringUtil.isBlank(tjNumber)) return AjaxResult.error("鐧昏澶辫触 閲嶆柊鎿嶄綔");
+        tjOrder.setTjNumber(tjNumber);
+        BigDecimal discount = BigDecimal.valueOf(Double.parseDouble(tjOrder.getTjFlowingWater().getDiscount()));
+        tjOrder.setDiscount(discount.toString());
+        if (tjOrderService.save(tjOrder)) {
+            //淇濆瓨鏀惰揣鍦板潃
+            if ("2".equals(tjOrder.getGetType())) {
+                final TjReportGetAddress address = tjOrder.getAddAddress();
+                if (address != null) {
+                    address.setTjNumber(tjNumber);
+                    tjReportGetAddressService.save(address);
+                }
+            }
+            Long cusNumber = tjCustomer.getCusNumber();
+            cusNumber += 1;
+            tjCustomer.setCusNumber(cusNumber);
+
+            if ("1".equals(tjOrder.getTjType())) {
+                if (null != tjReservation && tjReservation.getPayType() == 1) {
+                    tjFlowingWater.setPayStasus(3L);
+                }
+            }
+
+            //璋冪敤SQL server鎷垮彇鏀惰垂鎯呭喌
+            //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12
+            final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData");
+            final String isPay = configService.selectConfigByKey("isPay");
+            if ("Y".equals(getInfoFromSqlData)) {
+                LtkjMiddleHead middleHead = headService.getMiddleHeadByPartId(tjCustomer.getCardId());
+                if (null != middleHead) {
+                    tjFlowingWater.setPayStasus(1L);
+                }
+            }
+            tjFlowingWater.setOrderId(tjOrder.getOrderId());
+            Date date1 = new Date(System.currentTimeMillis());
+            String s1 = SecurityUtils.getUsername() + new SimpleDateFormat("yyMMddHHmmssSSS").format(date1);
+            tjFlowingWater.setWaterId(PinyinUtil.getFirstLetter(tjCustomer.getCusName(), "").toUpperCase() + s1);
+            BigDecimal copeWith = tjOrder.getTjFlowingWater().getCopeWith();
+            BigDecimal paidIn = tjOrder.getTjFlowingWater().getPaidIn();
+
+            tjFlowingWater.setCopeWith(copeWith);
+            tjFlowingWater.setPaidIn(paidIn);
+            tjFlowingWater.setDiscount(discount.toString());
+
+            BigDecimal subtract = paidIn.subtract(copeWith.multiply(discount.divide(BigDecimal.valueOf(10))));
+            log.info("绛惧埌鐧昏浣撴浜�: " + tjOrder.getTjNumber() + " 搴斾粯: " + copeWith);
+            log.info("绛惧埌鐧昏浣撴浜�: " + tjOrder.getTjNumber() + " 鎶樻墸: " + discount);
+            log.info("绛惧埌鐧昏浣撴浜�: " + tjOrder.getTjNumber() + " 瀹炰粯: " + paidIn);
+            log.info("绛惧埌鐧昏浣撴浜�: " + tjOrder.getTjNumber() + " 鐩稿樊: " + subtract);
+
+            if (isPay.equals("true")) {
+                if (null != mallOrder) {
+                    if (mallOrder.getOrderStatus().equals(201L)) {
+                        tjFlowingWater.setCopeWith(mallOrder.getActualPrice());
+                        tjFlowingWater.setPaidIn(mallOrder.getActualPrice());
+                        tjFlowingWater.setDiscount(String.valueOf(1));
+                        tjFlowingWater.setPayStasus(1L);
+                        tjFlowingWater.setPayType(3L);
+                        MallCheckLog checkLog = new MallCheckLog();
+                        checkLog.setCheckBy(sysUser.getNickName());
+                        checkLog.setUserId(mallOrder.getUserId());
+                        checkLog.setConsignee(mallOrder.getConsignee());
+                        checkLog.setIdCard(mallOrder.getIdCard());
+                        checkLog.setOrderId(String.valueOf(mallOrder.getId()));
+                        checkLog.setOrderSn(mallOrder.getOrderSn());
+                        checkLog.setCheckTime(new Date());
+                        checkLog.setShipSn("HX" + s1);
+                        mallCheckLogService.save(checkLog);
+                        mallOrder.setOrderStatus(301L);
+                        mallOrderService.updateById(mallOrder);
+                    }
+                } else {
+                    tjFlowingWater.setCopeWith(tjOrder.getTjFlowingWater().getCopeWith());
+                    tjFlowingWater.setPaidIn(tjOrder.getTjFlowingWater().getPaidIn());
+                    tjFlowingWater.setDiscount(tjOrder.getTjFlowingWater().getDiscount());
+                    //                    tjFlowingWater.setPayStasus(0L);
+                }
+            }
+
+            //淇敼涓存椂琛ㄤ綋妫�鍙�
+            transitionService.updateTbTransitionTjNumByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber());
+
+            if (tjFlowingWaterService.save(tjFlowingWater)) {
+                tjOrder.setTjSerialNumber(String.valueOf(tjFlowingWater.getTjSerialNumber()));
+                tjOrderService.updateById(tjOrder);
+            }
+
+            /*璋冪敤his鎺ュ彛*/
+            String config = configService.selectConfigByKey("sfkqdyhis");
+            if (null != config && config.equals("Y")) {
+                if(tjCustomer.getPationId().equals("0")){
+                    AjaxResult result = controller.Outpincreateapply(tjCustomer);
+                    String result1 = getAjaxResult(result);
+                    JSONObject object = getJSONObject(result1);
+                    String code = object.getStr("ResultCode");
+                    if (code.equals("0")) {
+                        JSONArray resultDatass = object.getJSONArray("ResultData");
+                        Map<String, Object> resultData = (Map<String, Object>) resultDatass.get(0);
+                        if (null != resultData && !resultData.isEmpty()) {
+                            String pationid = resultData.get("PationId").toString();
+                            if (null != pationid) {
+                                tjCustomer.setPationId(pationid);
+                                tjCustomerService.updateById(tjCustomer);
+                            }
+                        }
+                    }
+                }
+                AjaxResult result = hisApiMethod.HisApiMethods(tjCustomer, tjOrder);
+                if (!result.get("code").toString().equals("200")) {
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    Object jzh = result.get("jzh");
+                    if (null != jzh && null != jzh.toString()) {
+                        hisApiMethod.ZfHisApiMethod(jzh.toString());
+                    }
+                    log.info("璇ョ櫥璁颁汉鎸傚彿澶辫触, 灏辫瘖鍙蜂负: " + tjOrder.getCardId());
+                    throw new IllegalStateException("鎸傚彿澶辫触!" + result.get("msg").toString());
+                }
+                log.info("璇ョ櫥璁颁汉鐨刪is灏辫瘖鍙锋槸: " + tjOrder.getCardId());
+                // 鏌ヨ 瀵规帴Lis銆丳acs鐢宠濡傛灉绫诲瀷鍖呭惈鍦ㄩ厤缃唴鍒欎娇鐢ㄥ鎺is銆乸acs
+                try {
+                    if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) {
+                        log.info("璋冪敤his寮�鍚� 杩涘叆涓嶆敹璐规柟娉� 璇ヤ綋妫�浜哄憳涓嶆敹璐�:"+tjOrder.getTjNumber());
+                        // 杩欐槸涓婇潰涓汉鏂规硶寮曞叆鏁版嵁
+                        tjFlowingWater.setPayStasus(1L);
+                        newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
+                        AjaxResult ajaxResult = hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder, sysUser, result);
+                        if (!ajaxResult.get("code").toString().equals("200")) return ajaxResult;
+                        tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()),
+                                sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber()));
+                        remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString());
+                        List<TjXdPicture> xdPictureList = xdPictureService.saveTjXdPicture(tjOrder.getTjNumber());
+                        xdPictureService.saveBatch(xdPictureList);
+                        List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
+                        addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null);
+                        log.info("璋冪敤his寮�鍚� 杩涘叆涓嶆敹璐规柟娉� 璇ユ柟娉曟墽琛屽畬姣�");
+                    } else {
+                        log.info("璋冪敤his寮�鍚� 杩涘叆鏀惰垂鏂规硶 璇ヤ綋妫�浜哄憳鏀惰垂:"+tjOrder.getTjNumber());
+                        newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
+                        List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
+                        addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null);
+                        String isUseMx = configService.selectConfigByKey("jcxhis_is_use_mx");
+                        if (isUseMx.equalsIgnoreCase("Y"))
+                            hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder.getCardId());
+                        else hisApiMethod.tijianshenqingJinchuanNew(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder.getCardId());
+                    }
+                } catch (Exception e) {
+                    log.error(e.getMessage());
+                    throw new IllegalStateException();
+                }
+                return AjaxResult.success(tjNumber);
+            } else {
+                tjCustomer.setCardId(tjOrder.getTjNumber());
+                tjCustomerService.updateById(tjCustomer);
+                transitionService.updateCardIdByTjNumAndIdCard(tjCustomer.getCusIdcard(), tjOrder.getTjNumber(), tjOrder.getTjNumber());
+                tjOrder.setCardId(tjOrder.getTjNumber());
+                tjOrderService.updateById(tjOrder);
+            }
+
+            // 鏌ヨ 瀵规帴Lis銆丳acs鐢宠濡傛灉绫诲瀷鍖呭惈鍦ㄩ厤缃唴鍒欎娇鐢ㄥ鎺is銆乸acs
+            log.info("绛惧埌鐧昏鎺ュ彛璇ヤ汉鍛�: "+tjOrder.getTjNumber()+" 鐨勪綋妫�绫诲瀷鏄�:"+tjOrder.getTjType());
+            if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) {
+                try {
+                    log.info(tjOrder.getTjNumber()+"绛惧埌鐧昏杩涘叆鏈敹璐规柟娉�");
+                    // 杩欐槸涓婇潰涓汉鏂规硶寮曞叆鏁版嵁
+                    tjFlowingWater.setPayStasus(1L);
+                    newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
+                    tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()),
+                            sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber()));
+                    remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString());
+                    List<TjXdPicture> xdPictureList = xdPictureService.saveTjXdPicture(tjOrder.getTjNumber());
+                    xdPictureService.saveBatch(xdPictureList);
+                    List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
+                    log.info(tjOrder.getTjNumber()+"绛惧埌鐧昏:閲囨牱鏁版嵁鏌ヨ涓暟"+detailList.size());
+                    addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null);
+                    return AjaxResult.success(tjNumber);
+                } catch (Exception e) {
+                    log.error(e.getMessage());
+                    throw new IllegalStateException(e);
+                }
+            } else {
+                try {
+                    log.info(tjOrder.getTjNumber()+"else绛惧埌鐧昏杩涘叆鏀惰垂鏂规硶");
+                    newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
+                    isRequestCommonHisApi(tjOrder, tjCustomer, tjFlowingWater);
+                } catch (Exception e) {
+                    log.error("processOrderWithTransaction 鏂规硶寮傚父"+e.getMessage());
+                    throw new RuntimeException("璋冪敤鍏叡鏂规硶澶辫触 寮哄埗瑙﹀彂鍥炴粴");
+                }
+            }
+
+            return AjaxResult.success(tjNumber);
+        }
+        throw new RuntimeException("浣撴璁板綍淇濆瓨澶辫触 寮哄埗瑙﹀彂鍥炴粴");
+    }
+
+    @Transactional(propagation = Propagation.REQUIRED) // 鍏变韩浜嬪姟
+    public void newSaveextracted(TjOrder tjOrder, TjCustomer tjCustomer, BigDecimal discount, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) {
+        try {
+            tjAskMedicalHistoryService.updateTjAskMedicalHistoryByCusId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjCustomer.getCusId()));
+            if (null != tjOrder.getTjCategory() && tjOrder.getTjCategory().equals("13")) {
+                tjOrderDetailService.saveJSYTjOrderDetailsByCusId(tjCustomer.getCusIdcard(),
+                        String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), tjOrder.getCardId(), String.valueOf(tjFlowingWater.getTjSerialNumber()));
+            } else {
+                tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), tjOrder.getCardId());
+            }
+
+            tjOrderDetailService.saveTjPureToneTesByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), tjOrder.getCardId());
+
+            //娣诲姞remark琛ㄦ暟鎹�
+            if (null != tjOrder.getTjCategory() && tjOrder.getTjCategory().equals("13")) {
+                remarkService.saveJSYTjOrderRemarkByOrderId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjOrder.getOrderId()));
+
+            } else {
+                remarkService.saveTjOrderRemarkByOrderId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjOrder.getOrderId()));
+
+            }
+            //鍒ゆ柇鏄惁浜ら挶
+            if ("1".equals(tjOrder.getTjType())) {
+                if (null != tjReservation && tjReservation.getPayType() == 1) {
+                    tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()),
+                            sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber()));
+                    remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString());
+                    List<TjXdPicture> xdPictureList = xdPictureService.saveTjXdPicture(tjOrder.getTjNumber());
+                    xdPictureService.saveBatch(xdPictureList);
+                }
+            }
+            if (tjFlowingWater.getPayStasus() == 1L) {
+                tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()),
+                        sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber()));
+                tjFlowingWater.setPaidIn(tjOrder.getTjFlowingWater().getPaidIn());
+                tjFlowingWater.setCopeWith(tjOrder.getTjFlowingWater().getCopeWith());
+                tjFlowingWater.setPayType(4L);
+                tjFlowingWaterService.updateById(tjFlowingWater);
+                remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString());
+                //            asyncService.addTjChargingStandard(tjOrder, transitionService.getTbTransitionListByCusId(tjCustomer.getCusIdcard(), tjOrder.getCardId()), sysUser);
+                List<TjXdPicture> xdPictureList = xdPictureService.saveTjXdPicture(tjOrder.getTjNumber());
+                xdPictureService.saveBatch(xdPictureList);
+            }
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    @Transactional(propagation = Propagation.REQUIRED) // 鍏变韩浜嬪姟
+    public void addCaiYangDengJi(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser, String jxbz) {
+        try {
+            String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix");
+            String config = configService.selectConfigByKey("sfkqdyhis");
+            Boolean lisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order);
+            if (null != detailList && detailList1) {
+                Date date = new Date();
+                String format = DateUtil.format(date, "yyMMddHHmmssSSS");
+                for (TjOrderDetail detail : detailList) {
+                    int i = samplingService.isExistProId(order.getTjNumber(), String.valueOf(detail.getProId()));
+                    if(i>0) continue;
+                    TjSampling sampling = new TjSampling();
+                    if (null == projectService.getById(detail.getProId())) continue;
+                    TjProject project = projectService.getById(detail.getProId());
+                    Long proParentId = project.getProParentId();
+                    String dictLabel = sysDictDataService.selectDictLabel("sys_dict_specimen", project.getSpecimenType());
+                    if (null != proParentId && proParentId == 0) {
+                        sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix));
+                        sampling.setSpecimenTypeCode(project.getSpecimenType());
+                        sampling.setSpecimenType(dictLabel);
+                        if (config.equals("Y") && lisAndPacsRegister)
+                            sampling.setJyxmdm(project.getLisXmbm());
+                        else sampling.setJyxmdm(project.getProId().toString());
+                    } else {
+                        TjProject project1 = projectService.getById(proParentId);
+                        sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix));
+
+                        sampling.setSpecimenTypeCode(project1.getSpecimenType());
+                        sampling.setSpecimenType(dictLabel);
+                        if (config.equals("Y") && lisAndPacsRegister)
+                            sampling.setJyxmdm(project1.getLisXmbm());
+                        else sampling.setJyxmdm(project1.getProId().toString());
+
+                    }
+                    sampling.setSamplingNumber(format);
+                    sampling.setTjNum(order.getTjNumber());
+                    sampling.setCusId(String.valueOf(order.getUserId()));
+                    if (tjCustomerService.getById(String.valueOf(order.getUserId())) != null) {
+                        sampling.setCusName(tjCustomerService.getById(String.valueOf(order.getUserId())).getCusName());
+                    }
+                    sampling.setApplicationTime(date);
+                    sampling.setTjTime(order.getCreateTime());
+                    sampling.setProId(String.valueOf(detail.getProId()));
+                    sampling.setProName(projectService.getById(detail.getProId()).getProName());
+                    sampling.setCreateBy(sysUser.getNickName());
+                    sampling.setCreateTime(date);
+                    sampling.setUpdateBy(sysUser.getNickName());
+                    sampling.setUpdateTime(date);
+                    sampling.setCreateId(String.valueOf(sysUser.getUserId()));
+                    sampling.setUpdateId(String.valueOf(sysUser.getUserId()));
+                    sampling.setJxbz(jxbz);
+                    samplingService.save(sampling);
+                }
+            }
+            if (lisApiMethod.isUseLisAndPacsRegister(order) && (null != config && config.equals("Y"))) {
+                AjaxResult ajaxResult = lisApiMethod.getJyFlHb();
+                if (ajaxResult.get("code").toString().equals("200")) {
+                    String str = ajaxResult.get("data").toString();
+                    str = str.replace("=", ":");
+                    JSONArray array = JSONUtil.parseArray(str);
+                    for (Object o : array) {
+                        JSONObject object = (JSONObject) o;
+                        LisJyflhb lisJyflhb = new LisJyflhb();
+                        lisJyflhb.setHbhxm(object.getStr("hbhxm"));
+                        lisJyflhb.setFlmc(object.getStr("flmc"));
+                        lisJyflhb.setMc(object.getStr("mc"));
+                        lisJyflhb.setFlbm(object.getStr("flbm"));
+                        LambdaQueryWrapper<LisJyflhb> wrapper = new LambdaQueryWrapper<>();
+                        wrapper.eq(LisJyflhb::getFlbm, lisJyflhb.getFlbm());
+                        LisJyflhb jyflhb = lisJyflhbService.getOne(wrapper);
+                        if (jyflhb == null) {
+                            lisJyflhb.setId(IdUtil.getSnowflake().nextId());
+                            lisJyflhbService.save(lisJyflhb);
+                        } else {
+                            lisJyflhb.setId(jyflhb.getId());
+                            lisJyflhbService.updateById(lisJyflhb);
+                        }
+                    }
+                }
+
+            }
+            if (StrUtil.isNotBlank(jxbz)) {
+                tjSamplingMapper.updateUserIdByTjNumAndJxbz(order.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), jxbz);
+            } else {
+                tjSamplingMapper.updateUserIdByTjNum(order.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()));
+            }
+        } catch (Exception e) {
+            log.error(e.getMessage());
+        }
+    }
+
+    @Transactional(propagation = Propagation.REQUIRED) // 鍏变韩浜嬪姟
+    public void isRequestCommonHisApi(TjOrder tjOrder, TjCustomer tjCustomer, TjFlowingWater tjFlowingWater) {
+        String s = configService.selectConfigByKey("is_request_common_his_api");
+        if (null != s && s.equals("Y")) {
+            String apiUrl = configService.selectConfigByKey("common_api_url");
+            String hospbm = configService.selectConfigByKey("common_api_service_hospbm");
+            HashMap<String, Object> map = new HashMap<>();
+            map.put("pationId", tjCustomer.getPationId());
+            map.put("cardId", tjCustomer.getHisJzkh());
+            map.put("tjNum", tjFlowingWater.getTjSerialNumber());
+            map.put("kaiDanKs", "7805");
+            // 鏀惰垂鏍囧織 1寰呭敭璐� 2寰呴��璐�
+            map.put("shouTuiStatus", "1");
+
+            JSONArray array = JSONUtil.createArray();
+            LambdaQueryWrapper<TbTransition> wrapper = new LambdaQueryWrapper<>();
+            wrapper.eq(TbTransition::getTjNum, tjOrder.getTjNumber());
+            wrapper.eq(TbTransition::getCusId, tjCustomer.getCusIdcard());
+            wrapper.eq(TbTransition::getCardId, tjCustomer.getCardId());
+            wrapper.isNotNull(TbTransition::getNowPrice);
+            wrapper.gt(TbTransition::getNowPrice, 0);
+
+            List<TbTransition> list = tbTransitionService.list(wrapper);
+            BigDecimal zongjia = new BigDecimal("0.0");
+            for (TbTransition transition : list) {
+                LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>();
+                wrapper1.eq(TjProject::getProId, transition.getProId());
+                TjProject project = projectService.getOne(wrapper1);
+
+                LambdaQueryWrapper<SysDept> wrapper2 = new LambdaQueryWrapper<>();
+                wrapper2.eq(SysDept::getDeptId, project.getDeptId());
+                SysDept dept = sysDeptService.getOne(wrapper2);
+
+                JSONObject obj = JSONUtil.createObj();
+                int sl = 1;
+                BigDecimal danjia = transition.getNowPrice();
+                BigDecimal allPrice = danjia.multiply(new BigDecimal(sl));
+                obj.putOpt("danJia", danjia);
+                obj.putOpt("jieSuanJe", allPrice);
+                obj.putOpt("shuliang", sl);
+                obj.putOpt("zhiXingKs", dept.getDeptId());
+                obj.putOpt("zhiXingKsMc", dept.getDeptName());
+                obj.putOpt("shouFeiXmId", project.getHisXmbm());
+                obj.putOpt("shouFeiXmMc", project.getHisXmmc());
+                array.add(obj);
+                zongjia = zongjia.add(allPrice);
+            }
+            map.put("feiYongInfoList", array);
+            log.info("璋冪敤His鎺ュ彛鍓� 鏀惰垂鎬讳环:{}", zongjia.toString());
+
+            String post = HttpClientUtils.sendPost(apiUrl + "/api/his/" + hospbm + "/creatCostInfo", map);
+            JSONObject object = JSONUtil.parseObj(post);
+            if (object.getInt("code") == 200) {
+                JSONObject data = object.getJSONObject("data");
+                tjFlowingWater.setHisWaterId(data.getStr("feiYongId"));
+                JSONArray mxList = data.getJSONArray("mxList");
+                if (mxList != null && !mxList.isEmpty()) {
+                    List<TjFlowingWaterHis> his = mxList.toList(TjFlowingWaterHis.class);
+                    tjFlowingWaterHisService.saveBatch(his);
+                }
+                tjFlowingWaterService.updateById(tjFlowingWater);
+            } else {
+                log.error("isRequestCommonHisApi 鏂规硶寮傚父");
+                throw new RuntimeException("is_request_common_his_api 寮哄埗瑙﹀彂鍥炴粴");
+            }
+        }
+    }
+
+    public String getAjaxResult(AjaxResult result) {
+        return result.get("data").toString();
+    }
+
+    public JSONObject getJSONObject(String builder) {
+        String Response = JSONUtil.parseObj(builder).getStr("Response");
+        return JSONUtil.parseObj(Response);
+    }
+
+}
diff --git a/ltkj-admin/src/main/resources/1.js b/ltkj-admin/src/main/resources/1.js
new file mode 100644
index 0000000..7215d8c
--- /dev/null
+++ b/ltkj-admin/src/main/resources/1.js
@@ -0,0 +1,228 @@
+function init(){
+    let headers = { 'hospId': 'pbkwyy'};
+    let params = {params: {pid: '',type:'1'},headers: headers}
+    let url = 'http://192.168.1.2:5011/reservation/reservation/linkage'
+    $http.metaGet(url,params).then(res=>{
+        let options =  res.data;
+        this.updateSelectOptions('result', 'firm_id', options)
+    })
+
+    this.onSearchFormChange('result', 'firm_id', (value)=>{
+        let params = {params: {pid: value,type:'2'},headers: headers}
+        $http.metaGet('http://192.168.1.2:5011/reservation/reservation/linkage', params ).then(res=>{
+            let options =  res.data;
+            this.updateSelectOptions('result', 'dw_dept_id', options)
+        })
+    })
+
+    this.onSearchFormChange('result', 'dw_dept_id', (value)=>{
+        let params = {params: {pid: value,type:'3'},headers: headers}
+        $http.metaGet('http://192.168.1.2:5011/reservation/reservation/linkage', params ).then(res=>{
+            let options =  res.data;
+            this.updateSelectOptions('result', 'group_id', options)
+        })
+    })
+}
+
+
+
+-- 鍥綋棰勭害缁熻鎶ヨ〃
+INSERT INTO `jimu_report` (`id`, `code`, `name`, `note`, `status`, `type`, `json_str`, `api_url`, `thumb`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `api_method`, `api_code`, `template`, `view_count`, `css_str`, `js_str`, `tenant_id`, `print_type`, `is_start`, `create_id`, `update_id`) VALUES ('1073102401980628992', '20250418152907', '鍥綋棰勭害缁熻', NULL, NULL, 'datainfo', '{\"loopBlockList\":[],\"area\":{\"sri\":16,\"sci\":3,\"eri\":16,\"eci\":3,\"width\":100,\"height\":25},\"excel_config_id\":\"1073102401980628992\",\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10,\"layout\":\"portrait\",\"printCallBackUrl\":\"\"},\"zonedEditionList\":[],\"rows\":{\"0\":{\"cells\":{\"0\":{\"merge\":[2,6],\"height\":75,\"text\":\"鍥綋棰勭害缁熻\",\"style\":2}}},\"1\":{\"cells\":{}},\"2\":{\"cells\":{}},\"3\":{\"cells\":{\"0\":{\"merge\":[0,1],\"height\":25,\"style\":6,\"text\":\"鍗曚綅鍚嶇О\"},\"2\":{\"merge\":[0,4],\"height\":25,\"style\":5,\"text\":\"#{infoRes.dw_name}\"}}},\"4\":{\"cells\":{\"0\":{\"merge\":[0,1],\"height\":25,\"style\":6,\"text\":\"濂楅鍚嶇О\"},\"2\":{\"merge\":[0,4],\"height\":25,\"style\":5,\"text\":\"#{infoRes.dw_dept_name}\"}}},\"5\":{\"cells\":{\"0\":{\"merge\":[0,1],\"height\":25,\"style\":6,\"text\":\"鎬婚绾︿汉鏁癨"},\"1\":{\"style\":3,\"text\":\" \"},\"2\":{\"merge\":[0,4],\"height\":25,\"style\":5,\"text\":\" ${numRes.zrs}\"}}},\"6\":{\"cells\":{\"0\":{\"merge\":[1,6],\"height\":50,\"text\":\"鏈鍒颁汉鏁帮細${numRes.wqd}浜猴紝鎶ュ憡鏈敓鎴愶細${numRes.wdy}浜猴紝鎶ュ憡宸茬敓鎴愶細${numRes.ydy}浜恒�俓"}}},\"7\":{\"cells\":{\"9\":{\"text\":\"\"}}},\"8\":{\"cells\":{\"1\":{\"merge\":[0,1],\"height\":25,\"style\":6,\"text\":\"棰勭害鏈櫥璁癨"},\"2\":{\"style\":3,\"text\":\" \"},\"3\":{\"style\":6,\"text\":\"鎵嬫満鍙穃"},\"4\":{\"style\":6,\"text\":\"鎬у埆\"},\"5\":{\"style\":6,\"text\":\"骞撮緞\"}}},\"9\":{\"cells\":{\"1\":{\"style\":7,\"text\":\"=row(1)\"},\"2\":{\"style\":5,\"text\":\"#{yywdj.name}\"},\"3\":{\"style\":5,\"text\":\"#{yywdj.phoe}\"},\"4\":{\"text\":\"#{yywdj.sex}\",\"style\":7},\"5\":{\"text\":\"#{yywdj.age}\",\"style\":7},\"11\":{\"text\":\"\"}}},\"10\":{\"cells\":{}},\"11\":{\"cells\":{\"1\":{\"merge\":[0,1],\"height\":25,\"style\":6,\"text\":\"鎶ュ憡鏈敓鎴怽"},\"2\":{\"style\":3,\"text\":\" \"},\"3\":{\"style\":6,\"text\":\"鎵嬫満鍙穃"},\"4\":{\"style\":6,\"text\":\"鎬у埆\"},\"5\":{\"style\":6,\"text\":\"骞撮緞\"}}},\"12\":{\"cells\":{\"1\":{\"style\":7,\"text\":\"=row(2)\"},\"2\":{\"style\":5,\"text\":\"#{bgwdy.name}\"},\"3\":{\"style\":5,\"text\":\"#{bgwdy.phoe}\"},\"4\":{\"text\":\"#{bgwdy.sex}\",\"style\":7},\"5\":{\"text\":\"#{bgwdy.age}\",\"style\":7}}},\"13\":{\"cells\":{}},\"14\":{\"cells\":{\"1\":{\"merge\":[0,1],\"height\":25,\"style\":6,\"text\":\" 鎶ュ憡宸茬敓鎴怽"},\"2\":{\"style\":3,\"text\":\" \"},\"3\":{\"style\":6,\"text\":\"鎵嬫満鍙穃"},\"4\":{\"style\":6,\"text\":\"鎬у埆\"},\"5\":{\"style\":6,\"text\":\"骞撮緞\"}}},\"15\":{\"cells\":{\"1\":{\"style\":7,\"text\":\"=row(3)\"},\"2\":{\"style\":5,\"text\":\"#{bgydy.name}\"},\"3\":{\"style\":5,\"text\":\"#{bgydy.phoe}\"},\"4\":{\"text\":\"#{bgydy.sex}\",\"style\":7},\"5\":{\"text\":\"#{bgydy.age}\",\"style\":7}}},\"16\":{\"cells\":{}},\"17\":{\"cells\":{}},\"18\":{\"cells\":{}},\"19\":{\"cells\":{}},\"20\":{\"cells\":{}},\"21\":{\"cells\":{}},\"22\":{\"cells\":{}},\"23\":{\"cells\":{}},\"24\":{\"cells\":{}},\"26\":{\"cells\":{}},\"27\":{\"cells\":{}},\"len\":84},\"dbexps\":[],\"dicts\":[],\"rpbar\":{\"show\":true,\"pageSize\":\"\",\"btnList\":[]},\"fixedPrintHeadRows\":[],\"fixedPrintTailRows\":[],\"freeze\":\"A1\",\"dataRectWidth\":600,\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"font\":{\"bold\":true}},{\"font\":{\"bold\":true,\"size\":16}},{\"font\":{\"bold\":true,\"size\":16},\"align\":\"center\"},{\"bgcolor\":\"#deeaf6\"},{\"bgcolor\":\"#deeaf6\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"bgcolor\":\"#deeaf6\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\"}],\"validations\":[],\"cols\":{\"len\":50},\"merges\":[\"A1:G3\",\"A4:B4\",\"C4:G4\",\"A5:B5\",\"C5:G5\",\"A6:B6\",\"C6:G6\",\"A7:G8\",\"B9:C9\",\"B12:C12\",\"B15:C15\"]}', NULL, NULL, '10001', '2025-04-18 15:29:08', '10001', '2025-04-18 17:06:58', 0, NULL, NULL, 0, 15, NULL, 'function init(){\n    let headers = { \'hospId\': \'pbkwyy\'};\n    let params = {params: {pid: \'\',type:\'1\'},headers: headers}\n    let url = \'http://192.168.1.2:5011/reservation/reservation/linkage\'\n    // let url = \'http://10.100.100.117:5101/ltkj-admin/reservation/reservation/linkage\'\n    $http.metaGet(url,params).then(res=>{\n        let options =  res.data;\n        this.updateSelectOptions(\'numRes\', \'firm_id\', options)\n    })\n\n    this.onSearchFormChange(\'numRes\', \'firm_id\', (value)=>{\n        let params = {params: {pid: value,type:\'2\'},headers: headers}\n        $http.metaGet(\'http://192.168.1.2:5011/reservation/reservation/linkage\', params ).then(res=>{\n            let options =  res.data;\n            this.updateSelectOptions(\'numRes\', \'dw_dept_id\', options)\n        })\n    })\n}\n', NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `jimu_report_db` (`id`, `jimu_report_id`, `create_by`, `update_by`, `create_time`, `update_time`, `db_code`, `db_ch_name`, `db_type`, `db_table_name`, `db_dyn_sql`, `db_key`, `tb_db_key`, `tb_db_table_name`, `java_type`, `java_value`, `api_url`, `api_method`, `is_list`, `is_page`, `db_source`, `db_source_type`, `json_data`, `api_convert`, `create_id`, `update_id`) VALUES ('1073127049426403328', '1073102401980628992', '10001', '10001', '2025-04-18 16:44:30', '2025-04-18 16:44:30', 'bgydy', '鎶ュ憡宸叉墦鍗�', '0', NULL, 'SELECT r.name,r.phoe,CASE WHEN r.sex = 0 THEN \'鐢穃' WHEN r.sex = 1 THEN \'濂砛' ELSE \'鏈煡\' END AS sex,r.age FROM tj_reservation r WHERE r.id IN (\n  SELECT r.id FROM tj_reservation r \nJOIN tj_customer c ON c.cus_idcard = r.id_card\nJOIN tj_order o ON o.user_id = c.cus_id\nWHERE r.company_id = \'${firm_id}\'\n    AND o.firm_id = \'${firm_id}\'\n    AND o.firm_dept_id = \'${dw_dept_id}\'\n    AND o.report_time IS NOT NULL\n) AND r.company_id = \'${firm_id}\'', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '0', '', 'mysql', '', '', NULL, NULL);
+INSERT INTO `jimu_report_db` (`id`, `jimu_report_id`, `create_by`, `update_by`, `create_time`, `update_time`, `db_code`, `db_ch_name`, `db_type`, `db_table_name`, `db_dyn_sql`, `db_key`, `tb_db_key`, `tb_db_table_name`, `java_type`, `java_value`, `api_url`, `api_method`, `is_list`, `is_page`, `db_source`, `db_source_type`, `json_data`, `api_convert`, `create_id`, `update_id`) VALUES ('1073126558944493568', '1073102401980628992', '10001', '10001', '2025-04-18 16:44:23', '2025-04-18 16:44:23', 'yywdj', '棰勭害鏈櫥璁�', '0', NULL, 'SELECT r.name,r.phoe,CASE WHEN r.sex = 0 THEN \'鐢穃' WHEN r.sex = 1 THEN \'濂砛' ELSE \'鏈煡\' END AS sex,r.age FROM tj_reservation r WHERE r.id NOT IN (\n  SELECT r.id FROM tj_reservation r \nJOIN tj_customer c ON c.cus_idcard = r.id_card\nJOIN tj_order o ON o.user_id = c.cus_id\nWHERE r.company_id = \'${firm_id}\' \n    AND o.firm_id = \'${firm_id}\' \n    AND o.firm_dept_id = \'${dw_dept_id}\'\n) AND r.company_id = \'${firm_id}\'', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '0', '', 'mysql', '', '', NULL, NULL);
+INSERT INTO `jimu_report_db` (`id`, `jimu_report_id`, `create_by`, `update_by`, `create_time`, `update_time`, `db_code`, `db_ch_name`, `db_type`, `db_table_name`, `db_dyn_sql`, `db_key`, `tb_db_key`, `tb_db_table_name`, `java_type`, `java_value`, `api_url`, `api_method`, `is_list`, `is_page`, `db_source`, `db_source_type`, `json_data`, `api_convert`, `create_id`, `update_id`) VALUES ('1073126806588784640', '1073102401980628992', '10001', '10001', '2025-04-18 16:44:15', '2025-04-18 16:44:15', 'bgwdy', '鎶ュ憡鏈墦鍗�', '0', NULL, 'SELECT r.name,r.phoe,CASE WHEN r.sex = 0 THEN \'鐢穃' WHEN r.sex = 1 THEN \'濂砛' ELSE \'鏈煡\' END AS sex,r.age FROM tj_reservation r WHERE r.id IN (\n  SELECT r.id FROM tj_reservation r \nJOIN tj_customer c ON c.cus_idcard = r.id_card\nJOIN tj_order o ON o.user_id = c.cus_id\nWHERE r.company_id = \'${firm_id}\' \n    AND o.firm_id = \'${firm_id}\' \n    AND o.firm_dept_id = \'${dw_dept_id}\'\n    AND o.report_time IS NULL\n) AND r.company_id = \'${firm_id}\' ', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '0', '', 'mysql', '', '', NULL, NULL);
+INSERT INTO `jimu_report_db` (`id`, `jimu_report_id`, `create_by`, `update_by`, `create_time`, `update_time`, `db_code`, `db_ch_name`, `db_type`, `db_table_name`, `db_dyn_sql`, `db_key`, `tb_db_key`, `tb_db_table_name`, `java_type`, `java_value`, `api_url`, `api_method`, `is_list`, `is_page`, `db_source`, `db_source_type`, `json_data`, `api_convert`, `create_id`, `update_id`) VALUES ('1073123064535613440', '1073102401980628992', '10001', '10001', '2025-04-18 16:26:15', '2025-04-18 16:26:15', 'infoRes', '鍗曚綅淇℃伅', '0', NULL, 'SELECT dw_name,dw_dept_name FROM tj_dw_dept WHERE id = \'${dw_dept_id}\' ', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '0', '', 'mysql', '', '', NULL, NULL);
+INSERT INTO `jimu_report_db` (`id`, `jimu_report_id`, `create_by`, `update_by`, `create_time`, `update_time`, `db_code`, `db_ch_name`, `db_type`, `db_table_name`, `db_dyn_sql`, `db_key`, `tb_db_key`, `tb_db_table_name`, `java_type`, `java_value`, `api_url`, `api_method`, `is_list`, `is_page`, `db_source`, `db_source_type`, `json_data`, `api_convert`, `create_id`, `update_id`) VALUES ('1073109754712981504', '1073102401980628992', '10001', '10001', '2025-04-18 16:24:15', '2025-04-18 16:24:15', 'numRes', '浜烘暟淇℃伅', '0', NULL, 'SELECT\n  total.num AS zrs,\n  IFNULL( a.yqd, 0 ) AS yqd,\n  c.num - IFNULL( a.yqd, 0 ) AS wqd,\n  IFNULL( b.ydy, 0 ) AS ydy,\n  IFNULL( a.yqd, 0 ) - IFNULL( b.ydy, 0 ) AS wdy \nFROM\n  ( SELECT COUNT(*) AS num FROM tj_reservation WHERE company_id = 18 ) total\n  LEFT JOIN (\n  SELECT\n    COUNT(*) AS yqd \n  FROM\n    tj_reservation t\n    JOIN tj_customer c ON t.id_card = c.cus_idcard\n    JOIN tj_order o ON c.cus_id = o.user_id \n  WHERE\n    t.company_id = \'${firm_id}\' \n    AND o.firm_id = \'${firm_id}\'  \n    AND o.firm_dept_id = \'${dw_dept_id}\'\n  ) a ON 1 = 1\n  LEFT JOIN (\n  SELECT\n    COUNT(*) AS ydy \n  FROM\n    tj_order o \n  WHERE\n    o.firm_id = \'${firm_id}\'  \n    AND o.report_time IS NOT NULL \n    AND o.firm_id = \'${firm_id}\'  \n    AND o.firm_dept_id = \'${dw_dept_id}\'\n  ) b ON 1 =1\n  LEFT JOIN (\n    SELECT count(1) AS num FROM tj_reservation WHERE company_id = \'${firm_id}\'\n  ) c ON 1 = 1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '1', '', 'mysql', '', '', NULL, NULL);
+INSERT INTO jimu_report_db_field (id, create_by, create_time, update_by, update_time, jimu_report_db_id, field_name, field_text, widget_type, widget_width, order_num, search_flag, search_mode, dict_code, search_value, search_format, ext_json, create_id, update_id) VALUES ('1073127049556426752', '10001', '2025-04-18 16:44:30', NULL, NULL, '1073127049426403328', 'name', 'name', 'String', NULL, 0, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO jimu_report_db_field (id, create_by, create_time, update_by, update_time, jimu_report_db_id, field_name, field_text, widget_type, widget_width, order_num, search_flag, search_mode, dict_code, search_value, search_format, ext_json, create_id, update_id) VALUES ('1073127049652895744', '10001', '2025-04-18 16:44:30', NULL, NULL, '1073127049426403328', 'phoe', 'phoe', 'String', NULL, 1, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO jimu_report_db_field (id, create_by, create_time, update_by, update_time, jimu_report_db_id, field_name, field_text, widget_type, widget_width, order_num, search_flag, search_mode, dict_code, search_value, search_format, ext_json, create_id, update_id) VALUES ('1073128955842428928', '10001', '2025-04-18 16:44:30', NULL, NULL, '1073127049426403328', 'sex', 'sex', 'String', NULL, 2, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO jimu_report_db_field (id, create_by, create_time, update_by, update_time, jimu_report_db_id, field_name, field_text, widget_type, widget_width, order_num, search_flag, search_mode, dict_code, search_value, search_format, ext_json, create_id, update_id) VALUES ('1073130544279879680', '10001', '2025-04-18 16:44:30', NULL, NULL, '1073127049426403328', 'age', 'age', 'String', NULL, 3, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO jimu_report_db_field (id, create_by, create_time, update_by, update_time, jimu_report_db_id, field_name, field_text, widget_type, widget_width, order_num, search_flag, search_mode, dict_code, search_value, search_format, ext_json, create_id, update_id) VALUES ('1073126559070322688', '10001', '2025-04-18 16:44:23', NULL, NULL, '1073126558944493568', 'name', 'name', 'String', NULL, 0, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO jimu_report_db_field (id, create_by, create_time, update_by, update_time, jimu_report_db_id, field_name, field_text, widget_type, widget_width, order_num, search_flag, search_mode, dict_code, search_value, search_format, ext_json, create_id, update_id) VALUES ('1073126559158403072', '10001', '2025-04-18 16:44:23', NULL, NULL, '1073126558944493568', 'phoe', 'phoe', 'String', NULL, 1, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO jimu_report_db_field (id, create_by, create_time, update_by, update_time, jimu_report_db_id, field_name, field_text, widget_type, widget_width, order_num, search_flag, search_mode, dict_code, search_value, search_format, ext_json, create_id, update_id) VALUES ('1073129020082388992', '10001', '2025-04-18 16:44:23', NULL, NULL, '1073126558944493568', 'sex', 'sex', 'String', NULL, 2, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO jimu_report_db_field (id, create_by, create_time, update_by, update_time, jimu_report_db_id, field_name, field_text, widget_type, widget_width, order_num, search_flag, search_mode, dict_code, search_value, search_format, ext_json, create_id, update_id) VALUES ('1073130516677165056', '10001', '2025-04-18 16:44:23', NULL, NULL, '1073126558944493568', 'age', 'age', 'String', NULL, 3, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO jimu_report_db_field (id, create_by, create_time, update_by, update_time, jimu_report_db_id, field_name, field_text, widget_type, widget_width, order_num, search_flag, search_mode, dict_code, search_value, search_format, ext_json, create_id, update_id) VALUES ('1073126806706225152', '10001', '2025-04-18 16:44:15', NULL, NULL, '1073126806588784640', 'name', 'name', 'String', NULL, 0, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO jimu_report_db_field (id, create_by, create_time, update_by, update_time, jimu_report_db_id, field_name, field_text, widget_type, widget_width, order_num, search_flag, search_mode, dict_code, search_value, search_format, ext_json, create_id, update_id) VALUES ('1073126806790111232', '10001', '2025-04-18 16:44:15', NULL, NULL, '1073126806588784640', 'phoe', 'phoe', 'String', NULL, 1, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO jimu_report_db_field (id, create_by, create_time, update_by, update_time, jimu_report_db_id, field_name, field_text, widget_type, widget_width, order_num, search_flag, search_mode, dict_code, search_value, search_format, ext_json, create_id, update_id) VALUES ('1073128986326630400', '10001', '2025-04-18 16:44:15', NULL, NULL, '1073126806588784640', 'sex', 'sex', 'String', NULL, 2, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO jimu_report_db_field (id, create_by, create_time, update_by, update_time, jimu_report_db_id, field_name, field_text, widget_type, widget_width, order_num, search_flag, search_mode, dict_code, search_value, search_format, ext_json, create_id, update_id) VALUES ('1073130482220957696', '10001', '2025-04-18 16:44:15', NULL, NULL, '1073126806588784640', 'age', 'age', 'String', NULL, 3, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO jimu_report_db_field (id, create_by, create_time, update_by, update_time, jimu_report_db_id, field_name, field_text, widget_type, widget_width, order_num, search_flag, search_mode, dict_code, search_value, search_format, ext_json, create_id, update_id) VALUES ('1073123064669831168', '10001', '2025-04-18 16:26:15', NULL, NULL, '1073123064535613440', 'dw_name', 'dw_name', 'String', NULL, 0, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO jimu_report_db_field (id, create_by, create_time, update_by, update_time, jimu_report_db_id, field_name, field_text, widget_type, widget_width, order_num, search_flag, search_mode, dict_code, search_value, search_format, ext_json, create_id, update_id) VALUES ('1073123064774688768', '10001', '2025-04-18 16:26:15', NULL, NULL, '1073123064535613440', 'dw_dept_name', 'dw_dept_name', 'String', NULL, 1, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO jimu_report_db_field (id, create_by, create_time, update_by, update_time, jimu_report_db_id, field_name, field_text, widget_type, widget_width, order_num, search_flag, search_mode, dict_code, search_value, search_format, ext_json, create_id, update_id) VALUES ('1073109754931085312', '10001', '2025-04-18 16:24:15', NULL, NULL, '1073109754712981504', 'zrs', 'zrs', 'String', NULL, 0, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO jimu_report_db_field (id, create_by, create_time, update_by, update_time, jimu_report_db_id, field_name, field_text, widget_type, widget_width, order_num, search_flag, search_mode, dict_code, search_value, search_format, ext_json, create_id, update_id) VALUES ('1073109755035942912', '10001', '2025-04-18 16:24:15', NULL, NULL, '1073109754712981504', 'yqd', 'yqd', 'String', NULL, 1, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO jimu_report_db_field (id, create_by, create_time, update_by, update_time, jimu_report_db_id, field_name, field_text, widget_type, widget_width, order_num, search_flag, search_mode, dict_code, search_value, search_format, ext_json, create_id, update_id) VALUES ('1073109755136606208', '10001', '2025-04-18 16:24:15', NULL, NULL, '1073109754712981504', 'wqd', 'wqd', 'String', NULL, 2, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO jimu_report_db_field (id, create_by, create_time, update_by, update_time, jimu_report_db_id, field_name, field_text, widget_type, widget_width, order_num, search_flag, search_mode, dict_code, search_value, search_format, ext_json, create_id, update_id) VALUES ('1073109755807694848', '10001', '2025-04-18 16:24:15', NULL, NULL, '1073109754712981504', 'ydy', 'ydy', 'String', NULL, 3, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO jimu_report_db_field (id, create_by, create_time, update_by, update_time, jimu_report_db_id, field_name, field_text, widget_type, widget_width, order_num, search_flag, search_mode, dict_code, search_value, search_format, ext_json, create_id, update_id) VALUES ('1073109755895775232', '10001', '2025-04-18 16:24:15', NULL, NULL, '1073109754712981504', 'wdy', 'wdy', 'String', NULL, 4, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO jimu_report_db_param (id, jimu_report_head_id, param_name, param_txt, param_value, order_num, create_by, create_time, update_by, update_time, search_flag, widget_type, search_mode, dict_code, search_format, ext_json, create_id, update_id) VALUES ('1073127049749364736', '1073127049426403328', 'firm_id', 'firm_id', '', 1, '10001', '2025-04-18 16:44:30', NULL, NULL, 0, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO jimu_report_db_param (id, jimu_report_head_id, param_name, param_txt, param_value, order_num, create_by, create_time, update_by, update_time, search_flag, widget_type, search_mode, dict_code, search_format, ext_json, create_id, update_id) VALUES ('1073127049841639424', '1073127049426403328', 'dw_dept_id', 'dw_dept_id', '', 3, '10001', '2025-04-18 16:44:30', NULL, NULL, 0, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO jimu_report_db_param (id, jimu_report_head_id, param_name, param_txt, param_value, order_num, create_by, create_time, update_by, update_time, search_flag, widget_type, search_mode, dict_code, search_format, ext_json, create_id, update_id) VALUES ('1073126559250677760', '1073126558944493568', 'firm_id', 'firm_id', '', 1, '10001', '2025-04-18 16:44:23', NULL, NULL, 0, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO jimu_report_db_param (id, jimu_report_head_id, param_name, param_txt, param_value, order_num, create_by, create_time, update_by, update_time, search_flag, widget_type, search_mode, dict_code, search_format, ext_json, create_id, update_id) VALUES ('1073126559330369536', '1073126558944493568', 'dw_dept_id', 'dw_dept_id', '', 3, '10001', '2025-04-18 16:44:23', NULL, NULL, 0, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO jimu_report_db_param (id, jimu_report_head_id, param_name, param_txt, param_value, order_num, create_by, create_time, update_by, update_time, search_flag, widget_type, search_mode, dict_code, search_format, ext_json, create_id, update_id) VALUES ('1073126806873997312', '1073126806588784640', 'firm_id', 'firm_id', '', 1, '10001', '2025-04-18 16:44:15', NULL, NULL, 0, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO jimu_report_db_param (id, jimu_report_head_id, param_name, param_txt, param_value, order_num, create_by, create_time, update_by, update_time, search_flag, widget_type, search_mode, dict_code, search_format, ext_json, create_id, update_id) VALUES ('1073126806957883392', '1073126806588784640', 'dw_dept_id', 'dw_dept_id', '', 3, '10001', '2025-04-18 16:44:15', NULL, NULL, 0, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO jimu_report_db_param (id, jimu_report_head_id, param_name, param_txt, param_value, order_num, create_by, create_time, update_by, update_time, search_flag, widget_type, search_mode, dict_code, search_format, ext_json, create_id, update_id) VALUES ('1073123064950849536', '1073123064535613440', 'group_id', 'group_id', '', 1, '10001', '2025-04-18 16:26:15', NULL, NULL, 0, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO jimu_report_db_param (id, jimu_report_head_id, param_name, param_txt, param_value, order_num, create_by, create_time, update_by, update_time, search_flag, widget_type, search_mode, dict_code, search_format, ext_json, create_id, update_id) VALUES ('1073125951038849024', '1073123064535613440', 'dw_dept_id', 'dw_dept_id', '', 2, '10001', '2025-04-18 16:26:15', NULL, NULL, 0, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO jimu_report_db_param (id, jimu_report_head_id, param_name, param_txt, param_value, order_num, create_by, create_time, update_by, update_time, search_flag, widget_type, search_mode, dict_code, search_format, ext_json, create_id, update_id) VALUES ('1073110240803454976', '1073109754712981504', 'firm_id', '鍗曚綅', '', 1, '10001', '2025-04-18 16:24:15', NULL, NULL, 1, NULL, 7, NULL, NULL, '', NULL, NULL);
+INSERT INTO jimu_report_db_param (id, jimu_report_head_id, param_name, param_txt, param_value, order_num, create_by, create_time, update_by, update_time, search_flag, widget_type, search_mode, dict_code, search_format, ext_json, create_id, update_id) VALUES ('1073110240908312576', '1073109754712981504', 'dw_dept_id', '濂楅鍚嶇О', '', 2, '10001', '2025-04-18 16:24:15', NULL, NULL, 1, NULL, 7, NULL, NULL, '', NULL, NULL);
+INSERT INTO jimu_report_db_param (id, jimu_report_head_id, param_name, param_txt, param_value, order_num, create_by, create_time, update_by, update_time, search_flag, widget_type, search_mode, dict_code, search_format, ext_json, create_id, update_id) VALUES ('1073110240988004352', '1073109754712981504', 'group_id', '鍒嗙粍', '', 3, '10001', '2025-04-18 16:24:15', NULL, NULL, 0, NULL, 7, NULL, NULL, '', NULL, NULL);
+
+INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`, `deleted`, `create_id`, `update_id`) VALUES ('鍥綋棰勭害缁熻', 2341, 6, 'reservation', 'jmreport/reservation/index', NULL, 1, 0, 'C', '0', '0', '', 'tree', '瓒呯骇绠$悊鍛�', '2025-04-18 17:09:14', '瓒呯骇绠$悊鍛�', '2025-04-18 17:09:39', '', 0, NULL, NULL);
+
+
+update tj_order set firm_dept_id = (select a.dw_dept_id from tj_dw_grouping a where a.id=tj_order.group_id) where group_id is not null
+
+
+
+-- 鍥綋鎶ヨ〃
+INSERT INTO `jimu_report` (`id`, `code`, `name`, `note`, `status`, `type`, `json_str`, `api_url`, `thumb`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `api_method`, `api_code`, `template`, `view_count`, `css_str`, `js_str`, `tenant_id`, `print_type`, `is_start`, `create_id`, `update_id`) VALUES ('858579252534800384', '20230904153609', '鍥㈤槦浣撴鎶ュ憡', NULL, NULL, 'datainfo', '{\"loopBlockList\":[],\"chartList\":[{\"row\":10,\"col\":0,\"colspan\":4,\"rowspan\":14,\"width\":\"424\",\"height\":\"350\",\"config\":\"{\\\"legend\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12},\\\"top\\\":\\\"top\\\",\\\"left\\\":\\\"left\\\",\\\"orient\\\":\\\"vertical\\\",\\\"padding\\\":[43,20,25,10],\\\"data\\\":[\\\"瀹炴浜烘暟\\\",\\\"鏈浜烘暟\\\"],\\\"show\\\":true},\\\"series\\\":[{\\\"isRose\\\":false,\\\"data\\\":[{\\\"name\\\":\\\"瀹炴浜烘暟\\\",\\\"value\\\":0,\\\"itemStyle\\\":{\\\"color\\\":\\\"#000000\\\"}},{\\\"name\\\":\\\"鏈浜烘暟\\\",\\\"value\\\":null,\\\"itemStyle\\\":{\\\"color\\\":\\\"#DADADA\\\"}}],\\\"isRadius\\\":false,\\\"roseType\\\":\\\"\\\",\\\"notCount\\\":false,\\\"center\\\":[\\\"196\\\",\\\"169\\\"],\\\"name\\\":\\\"value\\\",\\\"minAngle\\\":0,\\\"label\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"\\\",\\\"fontSize\\\":16,\\\"fontWeight\\\":\\\"bolder\\\"},\\\"position\\\":\\\"inside\\\",\\\"formatter\\\":\\\"{b}\\\\n{c}\\\",\\\"rotate\\\":0,\\\"type\\\":\\\"pie\\\",\\\"show\\\":true},\\\"type\\\":\\\"pie\\\",\\\"radius\\\":\\\"55%\\\",\\\"autoSort\\\":false}],\\\"tooltip\\\":{\\\"formatter\\\":\\\"{a} <br/>{b} : {c}\\\",\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":18}},\\\"title\\\":{\\\"show\\\":true,\\\"top\\\":5,\\\"text\\\":\\\"                      瀹炴銆佹湭妫�姣斾緥鍥綷\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#c23531\\\",\\\"fontWeight\\\":\\\"bolder\\\",\\\"fontSize\\\":18},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,10]}}\",\"url\":\"\",\"extData\":{\"dataType\":\"sql\",\"apiStatus\":\"\",\"dataId\":\"1042300196856037376\",\"axisX\":\"title\",\"axisY\":\"value\",\"series\":\"\",\"yText\":\"value\",\"xText\":\"title\",\"dbCode\":\"btCheckBl\",\"dataId1\":\"\",\"source\":\"\",\"target\":\"\",\"isTiming\":\"\",\"intervalTime\":\"\",\"linkIds\":\"\",\"chartType\":\"pie.simple\",\"chartId\":\"MfQeh9JkrpGVlt98\",\"id\":\"\"},\"layer_id\":\"MfQeh9JkrpGVlt98\",\"offsetX\":0,\"offsetY\":0,\"backgroud\":{\"enabled\":false,\"color\":\"#fff\",\"image\":\"\"},\"virtualCellRange\":[[10,0],[10,1],[10,2],[10,3]]},{\"row\":10,\"col\":3,\"colspan\":5,\"rowspan\":14,\"width\":\"563\",\"height\":\"350\",\"config\":\"{\\\"legend\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12},\\\"top\\\":\\\"top\\\",\\\"left\\\":\\\"left\\\",\\\"orient\\\":\\\"vertical\\\",\\\"padding\\\":[43,20,25,10],\\\"data\\\":[\\\"鐢穃\\",\\\"濂砛\\"],\\\"show\\\":true},\\\"series\\\":[{\\\"isRose\\\":false,\\\"data\\\":[{\\\"name\\\":\\\"鐢穃\\",\\\"value\\\":null,\\\"itemStyle\\\":{\\\"color\\\":\\\"#000000\\\"}},{\\\"name\\\":\\\"濂砛\\",\\\"value\\\":null,\\\"itemStyle\\\":{\\\"color\\\":\\\"#DADADA\\\"}}],\\\"isRadius\\\":false,\\\"roseType\\\":\\\"\\\",\\\"notCount\\\":false,\\\"center\\\":[\\\"193\\\",180],\\\"name\\\":\\\"value\\\",\\\"minAngle\\\":0,\\\"label\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"\\\",\\\"fontSize\\\":16,\\\"fontWeight\\\":\\\"bolder\\\"},\\\"position\\\":\\\"inside\\\",\\\"formatter\\\":\\\"{b}\\\\n{c}\\\",\\\"rotate\\\":0,\\\"type\\\":\\\"pie\\\",\\\"show\\\":true},\\\"type\\\":\\\"pie\\\",\\\"radius\\\":\\\"55%\\\",\\\"autoSort\\\":false}],\\\"tooltip\\\":{\\\"formatter\\\":\\\"{a} <br/>{b} : {c}\\\",\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":18}},\\\"title\\\":{\\\"show\\\":true,\\\"top\\\":5,\\\"text\\\":\\\"                   鍙傛浜哄憳鎬у埆姣斾緥鍥綷\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#c23531\\\",\\\"fontWeight\\\":\\\"bolder\\\",\\\"fontSize\\\":18},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,10]}}\",\"url\":\"\",\"extData\":{\"dataType\":\"sql\",\"apiStatus\":\"\",\"dataId\":\"1042298604463357952\",\"axisX\":\"title\",\"axisY\":\"value\",\"series\":\"\",\"yText\":\"value\",\"xText\":\"title\",\"dbCode\":\"btNvBl\",\"dataId1\":\"\",\"source\":\"\",\"target\":\"\",\"isTiming\":\"\",\"intervalTime\":\"\",\"linkIds\":\"\",\"chartType\":\"pie.simple\",\"chartId\":\"kCVpgdlx4R62DHro\",\"id\":\"\"},\"layer_id\":\"kCVpgdlx4R62DHro\",\"offsetX\":0,\"offsetY\":0,\"backgroud\":{\"enabled\":false,\"color\":\"#fff\",\"image\":\"\"},\"virtualCellRange\":[[10,3],[10,4],[10,5],[10,6],[10,7],[10,8],[10,9]]},{\"row\":26,\"col\":0,\"colspan\":7,\"rowspan\":12,\"width\":\"698\",\"height\":\"276\",\"config\":\"{\\\"yAxis\\\":{\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":\\\"7\\\"}},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#333\\\"}},\\\"show\\\":true,\\\"name\\\":\\\"浜烘暟\\\",\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"min\\\":\\\"0\\\"},\\\"xAxis\\\":{\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12},\\\"rotate\\\":7,\\\"interval\\\":\\\"auto\\\"},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#333\\\"}},\\\"data\\\":[\\\"0-19宀乗\\",\\\"20-29宀乗\\",\\\"30-39宀乗\\",\\\"40-49宀乗\\",\\\"50-59宀乗\\",\\\"60-69宀乗\\",\\\"70-79宀乗\\",\\\"80+\\\"],\\\"show\\\":true,\\\"name\\\":\\\"骞撮緞\\\",\\\"min\\\":\\\"0\\\"},\\\"grid\\\":{\\\"top\\\":60,\\\"left\\\":60,\\\"bottom\\\":60,\\\"right\\\":60},\\\"series\\\":[{\\\"barWidth\\\":22,\\\"data\\\":[0,0,0,0,0,0,0,0],\\\"name\\\":\\\"allnum\\\",\\\"itemStyle\\\":{\\\"barBorderRadius\\\":0,\\\"color\\\":\\\"\\\"},\\\"label\\\":{\\\"show\\\":true,\\\"position\\\":\\\"top\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"black\\\",\\\"fontSize\\\":16,\\\"fontWeight\\\":\\\"bolder\\\"}},\\\"type\\\":\\\"bar\\\",\\\"barMinHeight\\\":2,\\\"textStyle\\\":{\\\"color\\\":\\\"black\\\",\\\"fontWeight\\\":\\\"bolder\\\"}}],\\\"tooltip\\\":{\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":18}},\\\"title\\\":{\\\"show\\\":true,\\\"top\\\":13,\\\"text\\\":\\\"\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#c23531\\\",\\\"fontWeight\\\":\\\"bolder\\\",\\\"fontSize\\\":18},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,20]}}\",\"url\":\"\",\"extData\":{\"dataType\":\"sql\",\"apiStatus\":\"\",\"dataId\":\"859573447174152192\",\"axisX\":\"s\",\"axisY\":\"allnum\",\"series\":\"\",\"yText\":\"allnum\",\"xText\":\"s\",\"dbCode\":\"ageSexPerson\",\"dataId1\":\"\",\"source\":\"\",\"target\":\"\",\"isTiming\":false,\"intervalTime\":\"\",\"linkIds\":\"\",\"chartType\":\"bar.simple\",\"chartId\":\"SoVAhMMo7OVOxGxK\",\"id\":\"\"},\"layer_id\":\"SoVAhMMo7OVOxGxK\",\"offsetX\":0,\"offsetY\":0,\"backgroud\":{\"enabled\":\"\",\"color\":\"#fff\",\"image\":\"\",\"repeat\":\"repeat\"},\"virtualCellRange\":[[26,0],[26,1],[26,2],[26,3],[26,4],[26,5],[26,6]]},{\"row\":44,\"col\":0,\"colspan\":8,\"rowspan\":12,\"width\":\"714\",\"height\":\"284\",\"config\":\"{\\\"yAxis\\\":{\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#333\\\"}},\\\"show\\\":true,\\\"name\\\":\\\"浜烘暟\\\",\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false}},\\\"xAxis\\\":{\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":\\\"11\\\"},\\\"rotate\\\":90,\\\"interval\\\":\\\"auto\\\"},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#333\\\"}},\\\"data\\\":[\\\"鍏朵粬鏃燶\\",\\\"娴呰〃娣嬪反缁撴棤鑲垮ぇ\\\",\\\"鍥涜偄銆佸叧鑺傚姛鑳借壇濂絓\\",\\\"鑴婃煴鏃犵暩褰\\",\\\"鑵版楠ㄨ川澧炵敓\\\",\\\"琛�娓呯敇娌逛笁閰祴瀹氬亸楂榎\\",\\\"绾㈢粏鑳炲帇绉亸楂榎\\",\\\"鐭瑙嗗姏锛堝彸锛�5.0\\\",\\\"灞堝厜鍙岀溂灞堝厜涓嶆\\\",\\\"鐭瑙嗗姏锛堝乏锛�5.0\\\"],\\\"show\\\":true,\\\"name\\\":\\\"缁撹\\\"},\\\"grid\\\":{\\\"top\\\":60,\\\"left\\\":60,\\\"bottom\\\":100,\\\"right\\\":60},\\\"series\\\":[{\\\"barWidth\\\":19,\\\"data\\\":[109,107,105,101,55,49,37,35,34,28],\\\"name\\\":\\\"鍚堣浜烘暟\\\",\\\"itemStyle\\\":{\\\"barBorderRadius\\\":0,\\\"color\\\":\\\"\\\"},\\\"label\\\":{\\\"show\\\":true,\\\"position\\\":\\\"top\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"black\\\",\\\"fontSize\\\":16,\\\"fontWeight\\\":\\\"bolder\\\"}},\\\"type\\\":\\\"bar\\\",\\\"barMinHeight\\\":2,\\\"textStyle\\\":{\\\"color\\\":\\\"black\\\",\\\"fontWeight\\\":\\\"bolder\\\"}}],\\\"tooltip\\\":{\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":18}},\\\"title\\\":{\\\"show\\\":true,\\\"top\\\":\\\"5\\\",\\\"text\\\":\\\"\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#c23531\\\",\\\"fontWeight\\\":\\\"bolder\\\",\\\"fontSize\\\":18},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,20]}}\",\"url\":\"\",\"extData\":{\"dataType\":\"sql\",\"apiStatus\":\"\",\"dataId\":\"1041516490843258880\",\"axisX\":\"寮傚父椤圭洰\",\"axisY\":\"鍚堣浜烘暟\",\"series\":\"\",\"yText\":\"鍚堣浜烘暟\",\"xText\":\"寮傚父椤圭洰\",\"dbCode\":\"yichangResultList\",\"dataId1\":\"\",\"source\":\"\",\"target\":\"\",\"isTiming\":false,\"intervalTime\":\"\",\"linkIds\":\"\",\"chartType\":\"bar.simple\",\"chartId\":\"eh48adfikvKWACFK\",\"id\":\"\"},\"layer_id\":\"eh48adfikvKWACFK\",\"offsetX\":0,\"offsetY\":0,\"backgroud\":{\"enabled\":false,\"color\":\"#fff\",\"image\":\"\"},\"virtualCellRange\":[[44,0],[44,1],[44,2],[44,3],[44,4],[44,5],[44,6],[44,7]]}],\"area\":false,\"excel_config_id\":\"858579252534800384\",\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":2,\"isBackend\":false,\"marginX\":10,\"marginY\":10,\"layout\":\"portrait\",\"printCallBackUrl\":\"\"},\"zonedEditionList\":[],\"rows\":{\"0\":{\"cells\":{\"0\":{\"merge\":[1,6],\"height\":50,\"text\":\"鍥㈤槦浣撴缁熻\",\"style\":2}}},\"2\":{\"cells\":{\"0\":{\"merge\":[0,2],\"height\":25,\"text\":\"涓�銆佸熀鏈祫鏂橽",\"style\":23}},\"height\":26},\"3\":{\"cells\":{\"0\":{\"merge\":[0,2],\"height\":25,\"text\":\"1銆佷綋妫�淇℃伅\"},\"3\":{\"text\":\"\",\"merge\":[0,2],\"height\":25}}},\"4\":{\"cells\":{\"0\":{\"text\":\"鍏徃/鍥綋鍚峔",\"style\":26,\"merge\":[0,1]},\"2\":{\"text\":\"${num.dw_name}\",\"style\":22,\"merge\":[0,4]}}},\"5\":{\"cells\":{\"0\":{\"style\":26,\"merge\":[0,1],\"text\":\"浣撴鍗曚綅\"},\"2\":{\"style\":22,\"merge\":[0,4],\"text\":\"${num.dw_dept_name}\"}}},\"6\":{\"cells\":{\"0\":{\"style\":26,\"text\":\"寮�濮嬫椂闂碶",\"merge\":[0,1],\"height\":25},\"2\":{\"style\":22,\"text\":\"${num.寮�濮嬫椂闂磢\",\"merge\":[0,4],\"height\":25}}},\"7\":{\"cells\":{\"0\":{\"style\":26,\"text\":\"缁撴潫鏃堕棿\",\"merge\":[0,1],\"height\":25},\"2\":{\"style\":22,\"text\":\"${num.缁撴潫鏃堕棿}\",\"merge\":[0,4],\"height\":25}}},\"8\":{\"cells\":{\"0\":{\"merge\":[0,6],\"height\":25,\"text\":\"锛堜竴锛変付鏈浣撴鎬诲弬妫�浜烘暟锛�${num.zongshu}浜猴紝瀹炴 ${num.瀹炴浜烘暟}浜猴紝鏈 ${num.鏈浜烘暟}浜猴紝鍏朵腑瀹炴鐢锋�� ${num.鐢穧浜猴紝瀹炴濂虫�� ${num.濂硙浜恒�俓"}},\"height\":34},\"9\":{\"cells\":{\"0\":{\"merge\":[0,6],\"height\":25,\"text\":\"锛堜簩锛夈�佹�诲弬浜哄憳瀹炴鍙婃�у埆姣斾緥鍥綷"},\"6\":{\"text\":\"锛堜簩锛夈�佹�诲弬浜哄憳瀹炴鍙婃�у埆姣斾緥鍥綷"}},\"height\":32},\"10\":{\"cells\":{\"0\":{\"text\":\" \",\"virtual\":\"MfQeh9JkrpGVlt98\"},\"1\":{\"text\":\" \",\"virtual\":\"MfQeh9JkrpGVlt98\"},\"2\":{\"text\":\" \",\"virtual\":\"MfQeh9JkrpGVlt98\"},\"3\":{\"text\":\" \",\"virtual\":\"kCVpgdlx4R62DHro\"},\"4\":{\"text\":\" \",\"virtual\":\"kCVpgdlx4R62DHro\"},\"5\":{\"text\":\" \",\"virtual\":\"kCVpgdlx4R62DHro\"},\"6\":{\"text\":\" \",\"virtual\":\"kCVpgdlx4R62DHro\"},\"7\":{\"text\":\" \",\"virtual\":\"kCVpgdlx4R62DHro\"},\"8\":{\"text\":\" \",\"virtual\":\"kCVpgdlx4R62DHro\"},\"9\":{\"text\":\" \",\"virtual\":\"kCVpgdlx4R62DHro\"}}},\"22\":{\"cells\":{\"0\":{\"text\":\"2銆佸弬妫�浜哄勾榫勫垎甯僜",\"merge\":[0,1],\"height\":31}},\"height\":31},\"23\":{\"cells\":{\"0\":{\"style\":26,\"text\":\" \"},\"1\":{\"style\":26,\"text\":\"浜烘暟\",\"merge\":[0,2],\"height\":25},\"4\":{\"style\":26,\"text\":\"鐧惧垎姣擻",\"merge\":[0,2],\"height\":25},\"8\":{\"text\":\"\",\"rendered\":\"\",\"config\":\"\"}}},\"24\":{\"cells\":{\"0\":{\"style\":26,\"text\":\"骞撮緞缁�(宀�)\"},\"1\":{\"style\":26,\"text\":\"鐢锋�"},\"2\":{\"style\":26,\"text\":\"濂虫�"},\"3\":{\"style\":26,\"text\":\"鍚堣\"},\"4\":{\"style\":26,\"text\":\"鐢锋�"},\"5\":{\"style\":26,\"text\":\"濂虫�",\"merge\":[0,1],\"height\":25}}},\"25\":{\"cells\":{\"0\":{\"style\":5,\"text\":\"#{ageSexPerson.s}\"},\"1\":{\"style\":5,\"text\":\"#{ageSexPerson.鐢穧\"},\"2\":{\"style\":5,\"text\":\"#{ageSexPerson.濂硙\"},\"3\":{\"style\":5,\"text\":\"=SUM(B13,C13)\"},\"4\":{\"style\":29,\"text\":\"#{ageSexPerson.compute(鐢�/(鐢�+濂�))}\",\"decimalPlaces\":\"2\"},\"5\":{\"style\":29,\"text\":\"#{ageSexPerson.compute(濂�/(鐢�+濂�))}\",\"merge\":[0,1],\"height\":25,\"completeBlankStatus\":true,\"rendered\":\"\",\"config\":\"\",\"display\":\"number\",\"decimalPlaces\":\"2\"}}},\"26\":{\"cells\":{\"0\":{\"text\":\" \",\"virtual\":\"SoVAhMMo7OVOxGxK\"},\"1\":{\"text\":\" \",\"virtual\":\"SoVAhMMo7OVOxGxK\"},\"2\":{\"text\":\" \",\"virtual\":\"SoVAhMMo7OVOxGxK\"},\"3\":{\"text\":\" \",\"virtual\":\"SoVAhMMo7OVOxGxK\"},\"4\":{\"text\":\" \",\"virtual\":\"SoVAhMMo7OVOxGxK\"},\"5\":{\"text\":\" \",\"virtual\":\"SoVAhMMo7OVOxGxK\"},\"6\":{\"text\":\" \",\"virtual\":\"SoVAhMMo7OVOxGxK\"}}},\"39\":{\"cells\":{\"0\":{\"text\":\"浜屻�佹湰娆′綋妫�寮傚父缁撴灉妫�鍑虹粺璁",\"merge\":[0,3],\"height\":25,\"style\":23}}},\"40\":{\"cells\":{\"0\":{\"merge\":[0,7],\"height\":25,\"text\":\"璐靛崟浣嶆娆″湪鎴戜腑蹇冭繘琛屽洟浣撲綋妫�锛岀幇鍦ㄥ緱妫�鍑虹殑寮傚父鎸夋瘮渚嬭繘琛岀粺璁″垎鏋愶紝浠ュ弽鏄犲憳宸ョ殑鍋ュ悍鐘跺喌锛歕"}}},\"41\":{\"cells\":{\"0\":{\"style\":15,\"text\":\" \"},\"1\":{\"style\":26,\"text\":\"浜烘暟\",\"merge\":[0,2],\"height\":25},\"4\":{\"style\":26,\"text\":\"鐧惧垎姣擻",\"merge\":[0,2],\"height\":25}}},\"42\":{\"cells\":{\"0\":{\"style\":26,\"text\":\"浣撴缁撹\"},\"1\":{\"style\":26,\"text\":\"鐢锋�"},\"2\":{\"style\":26,\"text\":\"濂虫�"},\"3\":{\"style\":26,\"text\":\"鍚堣\"},\"4\":{\"style\":26,\"text\":\"鐢锋�"},\"5\":{\"style\":26,\"text\":\"濂虫�",\"merge\":[0,1],\"height\":25}}},\"43\":{\"cells\":{\"0\":{\"style\":24,\"text\":\"#{yichangResultList.寮傚父椤圭洰}\"},\"1\":{\"style\":5,\"text\":\"#{yichangResultList.鐢锋暟閲弣\"},\"2\":{\"style\":5,\"text\":\"#{yichangResultList.濂虫暟閲弣\"},\"3\":{\"style\":5,\"text\":\"#{yichangResultList.鍚堣浜烘暟}\"},\"4\":{\"style\":5,\"text\":\"#{yichangResultList.鐢风櫨鍒嗘瘮}\"},\"5\":{\"style\":5,\"text\":\"#{yichangResultList.濂崇櫨鍒嗘瘮}\",\"merge\":[0,1],\"height\":25}}},\"44\":{\"cells\":{\"0\":{\"merge\":[12,6],\"height\":325,\"virtual\":\"eh48adfikvKWACFK\",\"text\":\" \"},\"1\":{\"text\":\" \",\"virtual\":\"eh48adfikvKWACFK\"},\"2\":{\"text\":\" \",\"virtual\":\"eh48adfikvKWACFK\"},\"3\":{\"text\":\" \",\"virtual\":\"eh48adfikvKWACFK\"},\"4\":{\"text\":\" \",\"virtual\":\"eh48adfikvKWACFK\"},\"5\":{\"text\":\" \",\"virtual\":\"eh48adfikvKWACFK\"},\"6\":{\"text\":\" \",\"virtual\":\"eh48adfikvKWACFK\"},\"7\":{\"text\":\" \",\"virtual\":\"eh48adfikvKWACFK\"}}},\"57\":{\"cells\":{\"0\":{\"text\":\"涓夈�佸仴搴烽棶棰樺垎鏋怽",\"merge\":[0,2],\"height\":25,\"style\":23}}},\"58\":{\"cells\":{\"0\":{\"merge\":[0,7],\"height\":25,\"text\":\"浠ヤ笅涓哄悇寮傚父璇︾粏浜哄憳淇℃伅锛歕"}}},\"59\":{\"cells\":{\"0\":{\"style\":26,\"text\":\"鐥呯\",\"loopBlock\":0},\"1\":{\"text\":\"浣撴鍙穃",\"style\":26,\"loopBlock\":0},\"2\":{\"style\":26,\"text\":\"濮撳悕\",\"loopBlock\":0},\"3\":{\"style\":26,\"text\":\"鎬у埆\",\"loopBlock\":0},\"4\":{\"style\":26,\"text\":\"骞撮緞\",\"loopBlock\":0},\"5\":{\"style\":26,\"text\":\"鍒嗙粍\",\"merge\":[0,1],\"height\":25,\"loopBlock\":0}},\"height\":26},\"60\":{\"cells\":{\"0\":{\"style\":24,\"text\":\"#{yichangInfoHzList.temp_result}\",\"loopBlock\":0,\"aggregate\":\"group\",\"rendered\":\"\",\"config\":\"\"},\"1\":{\"text\":\"#{yichangInfoHzList.tj_number}\",\"loopBlock\":0,\"style\":24},\"2\":{\"style\":5,\"text\":\"#{yichangInfoHzList.cus_name}\",\"loopBlock\":0},\"3\":{\"style\":5,\"text\":\"#{yichangInfoHzList.cus_sex}\",\"loopBlock\":0},\"4\":{\"style\":5,\"text\":\"#{yichangInfoHzList.age}\",\"loopBlock\":0},\"5\":{\"style\":5,\"text\":\"#{yichangInfoHzList.grouping_name}\",\"merge\":[0,1],\"height\":25,\"loopBlock\":0},\"6\":{\"text\":\"\",\"loopBlock\":0}},\"height\":28},\"len\":84},\"dbexps\":[],\"dicts\":[],\"rpbar\":{\"show\":true,\"pageSize\":\"\",\"btnList\":[1,2,3,4,5,6,7,8,9]},\"fixedPrintHeadRows\":[],\"fixedPrintTailRows\":[],\"freeze\":\"A1\",\"dataRectWidth\":1013,\"displayConfig\":{},\"background\":false,\"completeBlankRowList\":[{\"db\":\"ageSexPerson\",\"field\":\"compute(濂�/(鐢�+濂�))\"}],\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"font\":{\"size\":22}},{\"font\":{\"size\":22,\"bold\":true}},{\"font\":{\"size\":22,\"bold\":true},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"right\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"bgcolor\":\"#01b0f1\"},{\"bgcolor\":\"#01b0f1\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"bgcolor\":\"#9cc2e6\"},{\"bgcolor\":\"#9cc2e6\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"bgcolor\":\"#bdd7ee\"},{\"bgcolor\":\"#bdd7ee\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"bgcolor\":\"#deeaf6\"},{\"bgcolor\":\"#deeaf6\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#bdd7ee\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#deeaf6\"},{\"border\":{\"top\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"size\":12}},{\"font\":{\"size\":12}},{\"font\":{\"size\":14}},{},{\"font\":{\"size\":14},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"size\":11}},{\"font\":{\"size\":11}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"textwrap\":true},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"bgcolor\":\"#deeaf6\",\"font\":{\"bold\":true}},{\"font\":{\"bold\":true}},{\"align\":\"right\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"format\":\"percent\"},{\"format\":\"percent\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"textwrap\":false},{\"format\":\"number\"}],\"validations\":[],\"cols\":{\"0\":{\"width\":151},\"1\":{\"width\":128},\"2\":{\"width\":107},\"3\":{\"width\":102},\"4\":{\"width\":107},\"5\":{\"width\":81},\"6\":{\"width\":37},\"len\":50},\"merges\":[\"A1:G2\",\"A3:C3\",\"A4:C4\",\"D4:F4\",\"A5:B5\",\"C5:G5\",\"A6:B6\",\"C6:G6\",\"A7:B7\",\"C7:G7\",\"A8:B8\",\"C8:G8\",\"A9:G9\",\"A10:G10\",\"A23:B23\",\"B24:D24\",\"E24:G24\",\"F25:G25\",\"F26:G26\",\"A40:D40\",\"A41:H41\",\"B42:D42\",\"E42:G42\",\"F43:G43\",\"F44:G44\",\"A45:G57\",\"A58:C58\",\"A59:H59\",\"F60:G60\",\"F61:G61\"]}', NULL, NULL, '10001', '2023-09-04 15:36:10', '10001', '2025-04-18 14:56:55', 0, NULL, NULL, 0, 360, NULL, 'function init(){\n    let headers = { \'hospId\': \'pbkwyy\'};\n    let params = {params: {pid: \'\',type:\'1\'},headers: headers}\n    let url = \'http://192.168.1.2:5011/reservation/reservation/linkage\'\n    // let url = \'http://10.100.100.117:5101/ltkj-admin/reservation/reservation/linkage\'\n    $http.metaGet(url ,params).then(res=>{\n        let options =  res.data;\n        this.updateSelectOptions(\'yichangResultList\', \'firmId\', options)\n    })\n}\n', NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `jimu_report_db` (`id`, `jimu_report_id`, `create_by`, `update_by`, `create_time`, `update_time`, `db_code`, `db_ch_name`, `db_type`, `db_table_name`, `db_dyn_sql`, `db_key`, `tb_db_key`, `tb_db_table_name`, `java_type`, `java_value`, `api_url`, `api_method`, `is_list`, `is_page`, `db_source`, `db_source_type`, `json_data`, `api_convert`, `create_id`, `update_id`) VALUES ('1041516490843258880', '858579252534800384', '10001', '10001', '2025-04-16 10:38:03', '2025-04-16 10:38:03', 'yichangResultList', '寮傚父缁撴灉缁熻', '0', NULL, '\nSELECT \n    a.temp_result AS 寮傚父椤圭洰,\n    SUM(CASE WHEN c.cus_sex = 0 THEN 1 ELSE 0 END) AS 鐢锋暟閲�,\n    SUM(CASE WHEN c.cus_sex = 1 THEN 1 ELSE 0 END) AS 濂虫暟閲�,\n    COUNT(c.cus_id) AS 鍚堣浜烘暟,\n    CONCAT(ROUND(SUM(CASE WHEN c.cus_sex = 0 THEN 1 ELSE 0 END) / total_count * 100, 2),\'%\') AS 鐢风櫨鍒嗘瘮,\n    CONCAT(ROUND(SUM(CASE WHEN c.cus_sex = 1 THEN 1 ELSE 0 END) / total_count * 100, 2),\'%\') AS 濂崇櫨鍒嗘瘮\nFROM (\n    SELECT p.pro_id, p.pro_name, od.pro_result AS result, CONCAT(p.pro_name,od.pro_result) AS temp_result, o.user_id\n    FROM tj_order o\n    LEFT JOIN tj_order_detail od ON o.order_id = od.order_id\n    LEFT JOIN tj_project p ON p.pro_id = od.pro_id\n    JOIN sys_dept d ON d.dept_id = p.dept_id\n    WHERE o.firm_id = \'${firmId}\'\n    AND o.create_time BETWEEN \'${startTime}\' AND \'${endTime}\'\n      AND IFNULL(od.pro_result, \'\') <> \'\'\n      AND d.org_type = 3\n      AND d.dept_id <> \'550\'\n      AND INSTR(od.pro_result, \'鏈寮傚父\') <= 0\n      AND INSTR(od.pro_result, \'鏈鏄庢樉寮傚父\') <= 0\n      AND INSTR(od.pro_result, \'鏈鍗犱綅\') <= 0\n      AND INSTR(od.pro_result, \'鏈鏄庢樉\') <= 0\n      AND INSTR(od.pro_result, \'姝e父\') <= 0\n      AND INSTR(od.pro_result, \'鍙屼晶妞庨棿瀛旀棤鐙獎\') <= 0\n      AND INSTR(od.pro_result, \'鏃犳畩\') <= 0\n\n    UNION\n\n    SELECT bgd.jcxmid, bgd.jcxm, bgd.ycbz, \n           CASE WHEN LOCATE(bgd.ycbz, \'鈫慭') THEN CONCAT(bgd.jcxm, \'鍋忛珮\')\n                ELSE CONCAT(bgd.jcxm, \'鍋忎綆\') END AS result, \n           o.user_id\n    FROM tj_order o\n    LEFT JOIN ltkj_hysqd sqd ON o.tj_number = sqd.tjh\n    JOIN ltkj_hybgd bgd ON sqd.tmh = bgd.tmh\n    WHERE o.firm_id = \'${firmId}\'\n    AND o.create_time BETWEEN \'${startTime}\' AND \'${endTime}\'\n      AND IFNULL(bgd.ycbz, \'\') <> \'\'\n\n    UNION\n\n    SELECT yc.pro_id, yc.pro_name, TRIM(yc.jcjg) AS result, \n           REPLACE(TRIM(yc.jcjg), \'\\n\', \'\') AS temp_result, \n           o.user_id\n    FROM tj_order o\n    LEFT JOIN tj_jcycxm yc ON o.tj_number = yc.tjh\n    WHERE o.firm_id = \'${firmId}\'\n    AND o.create_time BETWEEN \'${startTime}\' AND \'${endTime}\'\n      AND yc.pro_id IS NOT NULL\n) a\nLEFT JOIN tj_customer c ON a.user_id = c.cus_id\n\n\nLEFT JOIN (\n    SELECT COUNT(1) AS total_count\n    FROM tj_order \n    WHERE firm_id = \'${firmId}\'\n    AND create_time BETWEEN \'${startTime}\' AND \'${endTime}\'\n) total_count ON 1=1\n\n\nWHERE IFNULL(a.temp_result, \'\') <> \'\'\nGROUP BY a.temp_result\nORDER BY 鍚堣浜烘暟 DESC\nLIMIT 10\n', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '0', '', 'mysql', '', '', NULL, NULL);
+INSERT INTO `jimu_report_db` (`id`, `jimu_report_id`, `create_by`, `update_by`, `create_time`, `update_time`, `db_code`, `db_ch_name`, `db_type`, `db_table_name`, `db_dyn_sql`, `db_key`, `tb_db_key`, `tb_db_table_name`, `java_type`, `java_value`, `api_url`, `api_method`, `is_list`, `is_page`, `db_source`, `db_source_type`, `json_data`, `api_convert`, `create_id`, `update_id`) VALUES ('859573447174152192', '858579252534800384', '10001', '10001', '2025-04-16 10:36:14', '2025-04-16 10:36:14', 'ageSexPerson', '骞撮緞鎬у埆浜烘暟琛�(sql)', '0', NULL, 'SELECT a.s, IFNULL(aa.`鐢穈,0)`鐢穈,IFNULL(aa.`濂砢,0) `濂砢 ,(IFNULL(aa.`鐢穈,0)+IFNULL(aa.`濂砢,0)) \'allNum\'FROM \n (SELECT \'0-19宀乗' s UNION SELECT \'20-29宀乗' s UNION SELECT \'30-39宀乗' s UNION SELECT \'40-49宀乗' s UNION SELECT\'50-59宀乗's UNION SELECT \'60-69宀乗' s UNION SELECT \'70-79宀乗' s UNION SELECT \'80+\' s )a\n \n LEFT JOIN\n \n( SELECT\n	CASE\n			\n		WHEN\n			FLOOR(DATEDIFF(CURDATE(), b.cus_brithday) / 365.25) >= 0 \n			AND FLOOR(DATEDIFF(CURDATE(), b.cus_brithday) / 365.25) <= 20 THEN \'0-19宀乗' WHEN FLOOR(DATEDIFF(CURDATE(), b.cus_brithday) / 365.25) >= 20 \n				AND FLOOR(DATEDIFF(CURDATE(), b.cus_brithday) / 365.25) <= 29 THEN \'20-29宀乗' WHEN FLOOR(DATEDIFF(CURDATE(), b.cus_brithday) / 365.25) >= 30 \n					AND FLOOR(DATEDIFF(CURDATE(), b.cus_brithday) / 365.25) <= 39 THEN \'30-39宀乗' WHEN FLOOR(DATEDIFF(CURDATE(), b.cus_brithday) / 365.25) >= 40 \n						AND FLOOR(DATEDIFF(CURDATE(), b.cus_brithday) / 365.25) <= 49 THEN \'40-49宀乗' WHEN FLOOR(DATEDIFF(CURDATE(), b.cus_brithday) / 365.25) >= 50 \n							AND FLOOR(DATEDIFF(CURDATE(), b.cus_brithday) / 365.25) <= 59 THEN \'50-59宀乗' WHEN FLOOR(DATEDIFF(CURDATE(), b.cus_brithday) / 365.25) >= 60 \n								AND FLOOR(DATEDIFF(CURDATE(), b.cus_brithday) / 365.25) <= 69 THEN \'60-69宀乗' WHEN FLOOR(DATEDIFF(CURDATE(), b.cus_brithday) / 365.25) >= 70 \n									AND FLOOR(DATEDIFF(CURDATE(), b.cus_brithday) / 365.25) <= 79 THEN \'70-79宀乗' WHEN FLOOR(DATEDIFF(CURDATE(), b.cus_brithday) / 365.25) >= 80 THEN\n										\'80+\' \n									END nnd,\n						sum( CASE WHEN b.cus_sex = \'0\' THEN 1 ELSE 0 END ) 鐢�,\n						sum( CASE WHEN b.cus_sex = \'1\' THEN 1 ELSE 0 END ) 濂� \n					FROM\n						tj_order a\n						LEFT JOIN tj_customer b ON b.cus_id = a.user_id \n					WHERE\n						a.deleted = 0 \n						AND a.tj_type = 1 \n						AND a.firm_id = \'${firmId}\' \n            AND a.create_time BETWEEN \'${startTime}\' AND \'${endTime}\'\n					GROUP BY nnd \n) aa ON a.s = aa.nnd', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '0', '', 'mysql', '', '', NULL, NULL);
+INSERT INTO `jimu_report_db` (`id`, `jimu_report_id`, `create_by`, `update_by`, `create_time`, `update_time`, `db_code`, `db_ch_name`, `db_type`, `db_table_name`, `db_dyn_sql`, `db_key`, `tb_db_key`, `tb_db_table_name`, `java_type`, `java_value`, `api_url`, `api_method`, `is_list`, `is_page`, `db_source`, `db_source_type`, `json_data`, `api_convert`, `create_id`, `update_id`) VALUES ('858611931275816960', '858579252534800384', '10001', '10001', '2025-04-16 10:36:03', '2025-04-16 10:36:03', 'num', '浜烘暟', '0', NULL, 'SELECT\n	  aa.dw_name,\n		aa.dw_dept_name,\n		z.total as zongshu,\n		sum(case when c.cus_sex = \'0\' then 1 else 0 end) 鐢�,\n		sum(case when c.cus_sex = \'1\' then 1 else 0 end) 濂�,\n    COUNT(c.cus_sex) AS 瀹炴浜烘暟,\nz.total - COUNT(c.cus_sex) AS 鏈浜烘暟,\n    MIN(b.create_time) 寮�濮嬫椂闂�,\n		MAX(b.update_time) 缁撴潫鏃堕棿\nFROM\n	(\n	SELECT\n		a.id,\n		a.dw_id,\n		a.dw_name,\n		a.dw_dept_name \n	FROM\n		tj_dw_dept a \n	WHERE\n		a.deleted = 0 \n		AND a.dw_id = \'${firmId}\' \n	) aa\n	\n	JOIN (SELECT * FROM tj_order d WHERE d.deleted=0 AND d.tj_type <> \'2\' AND d.create_time BETWEEN \'${startTime}\' AND \'${endTime}\' GROUP BY d.user_id )  b ON b.firm_id=aa.dw_id AND b.firm_dept_id = aa.id\n	\n JOIN tj_customer c ON  c.cus_id=b.user_id\n \n LEFT JOIN (\n  SELECT COUNT(1) as total FROM tj_reservation a WHERE a.company_id = \'${firmId}\'\n ) z ON 1 = 1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '', 'mysql', '', '', NULL, NULL);
+INSERT INTO `jimu_report_db` (`id`, `jimu_report_id`, `create_by`, `update_by`, `create_time`, `update_time`, `db_code`, `db_ch_name`, `db_type`, `db_table_name`, `db_dyn_sql`, `db_key`, `tb_db_key`, `tb_db_table_name`, `java_type`, `java_value`, `api_url`, `api_method`, `is_list`, `is_page`, `db_source`, `db_source_type`, `json_data`, `api_convert`, `create_id`, `update_id`) VALUES ('1042300196856037376', '858579252534800384', '10001', '10001', '2025-04-16 10:35:52', '2025-04-16 10:35:52', 'btCheckBl', '楗煎浘瀹炴鏈姣斾緥', '0', NULL, 'SELECT\n  \'瀹炴浜烘暟\' AS title,\n  COUNT( c.cus_sex ) AS \n`VALUE`\n  \nFROM\n  (\n  SELECT\n    a.id,\n    a.dw_id,\n    a.dw_name,\n    a.dw_dept_name \n  FROM\n    tj_dw_dept a \n  WHERE\n    a.deleted = 0 \n    AND a.dw_id = \'${firmId}\'\n  ) aa\n  JOIN ( SELECT * FROM tj_order d WHERE d.deleted = 0 AND d.tj_type <> \'2\' AND d.create_time BETWEEN \'${startTime}\' AND \'${endTime}\' GROUP BY d.user_id ) b ON b.firm_id = aa.dw_id \n  AND b.firm_dept_id = aa.id\n  JOIN tj_customer c ON c.cus_id = b.user_id\n  LEFT JOIN ( SELECT COUNT( 1 ) AS total FROM tj_reservation a WHERE a.company_id = \'${firmId}\' ) z ON 1 = 1 UNION ALL\nSELECT\n  \'鏈浜烘暟\' AS title,\n  z.total - COUNT( c.cus_sex ) AS `VALUE`\nFROM\n  (\n  SELECT\n    a.id,\n    a.dw_id,\n    a.dw_name,\n    a.dw_dept_name \n  FROM\n    tj_dw_dept a \n  WHERE\n    a.deleted = 0 \n    AND a.dw_id = \'${firmId}\'\n  ) aa\n  JOIN ( SELECT * FROM tj_order d WHERE d.deleted = 0 AND d.tj_type <> \'2\' AND d.create_time BETWEEN \'${startTime}\' AND \'${endTime}\' GROUP BY d.user_id ) b ON b.firm_id = aa.dw_id \n  AND b.firm_dept_id = aa.id\n  JOIN tj_customer c ON c.cus_id = b.user_id\n  LEFT JOIN ( SELECT COUNT( 1 ) AS total FROM tj_reservation a WHERE a.company_id = \'${firmId}\' ) z ON 1 = 1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '0', '', 'mysql', '', '', NULL, NULL);
+INSERT INTO `jimu_report_db` (`id`, `jimu_report_id`, `create_by`, `update_by`, `create_time`, `update_time`, `db_code`, `db_ch_name`, `db_type`, `db_table_name`, `db_dyn_sql`, `db_key`, `tb_db_key`, `tb_db_table_name`, `java_type`, `java_value`, `api_url`, `api_method`, `is_list`, `is_page`, `db_source`, `db_source_type`, `json_data`, `api_convert`, `create_id`, `update_id`) VALUES ('1042298604463357952', '858579252534800384', '10001', '10001', '2025-04-16 10:35:39', '2025-04-16 10:35:39', 'btNvBl', '楗煎浘鐢峰コ姣斾緥', '0', NULL, 'SELECT\n    \'鐢穃' AS title,\n		sum(case when c.cus_sex = \'0\' then 1 else 0 end) AS `value`\nFROM\n	(\n	SELECT\n		a.id,\n		a.dw_id,\n		a.dw_name,\n		a.dw_dept_name \n	FROM\n		tj_dw_dept a \n	WHERE\n		a.deleted = 0 \n		AND a.dw_id = \'${firmId}\'\n	) aa\n	\n	JOIN (SELECT * FROM tj_order d WHERE d.deleted=0 AND d.tj_type <> \'2\' AND d.create_time BETWEEN \'${startTime}\' AND \'${endTime}\' GROUP BY d.user_id )  b ON b.firm_id=aa.dw_id AND b.firm_dept_id = aa.id\n	\n JOIN tj_customer c ON  c.cus_id=b.user_id\n \n LEFT JOIN (\n  SELECT COUNT(1) as total FROM tj_reservation a WHERE a.company_id = \'${firmId}\'\n ) z ON 1 = 1\n \n UNION ALL\n \n SELECT\n		\'濂砛' AS title,\n		sum(case when c.cus_sex = \'1\' then 1 else 0 end) AS `value`\nFROM\n	(\n	SELECT\n		a.id,\n		a.dw_id,\n		a.dw_name,\n		a.dw_dept_name \n	FROM\n		tj_dw_dept a \n	WHERE\n		a.deleted = 0 \n		AND a.dw_id = \'${firmId}\'\n	) aa\n	\n	JOIN (SELECT * FROM tj_order d WHERE d.deleted=0 AND d.tj_type <> \'2\' AND d.create_time BETWEEN \'${startTime}\' AND \'${endTime}\' GROUP BY d.user_id )  b ON b.firm_id=aa.dw_id AND b.firm_dept_id = aa.id\n	\n JOIN tj_customer c ON  c.cus_id=b.user_id\n \n LEFT JOIN (\n  SELECT COUNT(1) as total FROM tj_reservation a WHERE a.company_id = \'${firmId}\'\n ) z ON 1 = 1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '1', '', 'mysql', '', '', NULL, NULL);
+INSERT INTO `jimu_report_db` (`id`, `jimu_report_id`, `create_by`, `update_by`, `create_time`, `update_time`, `db_code`, `db_ch_name`, `db_type`, `db_table_name`, `db_dyn_sql`, `db_key`, `tb_db_key`, `tb_db_table_name`, `java_type`, `java_value`, `api_url`, `api_method`, `is_list`, `is_page`, `db_source`, `db_source_type`, `json_data`, `api_convert`, `create_id`, `update_id`) VALUES ('1041531739260616704', '858579252534800384', '10001', '10001', '2025-04-16 10:35:26', '2025-04-16 10:35:39', 'yichangInfoHzList', '寮傚父璇︾粏鏁版嵁姹囨��', '0', NULL, 'SELECT \n    a.pro_name, \n    c.cus_name,\n    o.tj_number,\n    CASE \n         WHEN c.cus_brithday IS NOT NULL AND NULLIF(c.cus_brithday, NULL) IS NOT NULL THEN \n            FLOOR(DATEDIFF(CURDATE(), c.cus_brithday) / 365.25)\n        ELSE NULL\n    END AS age,\n    CASE WHEN c.cus_sex = 0 THEN \'鐢穃' \n    ELSE \'濂砛' END AS cus_sex,\n    a.temp_result,\n    g.grouping_name\nFROM tj_customer c \nLEFT JOIN tj_order o ON c.cus_id = o.user_id\nLEFT JOIN tj_dw_grouping g ON g.dw_id = o.firm_id \n                           AND g.dw_dept_id = o.firm_dept_id \n                           AND o.group_id = g.id\nLEFT JOIN (\n    SELECT p.pro_id, p.pro_name, od.pro_result AS result, CONCAT(p.pro_name,od.pro_result) AS temp_result, o.user_id\n    FROM tj_order o\n    LEFT JOIN tj_order_detail od ON o.order_id = od.order_id\n    LEFT JOIN tj_project p ON p.pro_id = od.pro_id\n    JOIN sys_dept d ON d.dept_id = p.dept_id\n    WHERE o.firm_id = \'${firmId}\'\n    AND o.create_time BETWEEN \'${startTime}\' AND \'${endTime}\'\n      AND IFNULL(od.pro_result, \'\') <> \'\'\n      AND d.org_type = 3\n      AND d.dept_id <> \'550\'\n      AND INSTR(od.pro_result, \'鏈寮傚父\') <= 0\n      AND INSTR(od.pro_result, \'鏈鏄庢樉寮傚父\') <= 0\n      AND INSTR(od.pro_result, \'鏈鍗犱綅\') <= 0\n      AND INSTR(od.pro_result, \'鏈鏄庢樉\') <= 0\n      AND INSTR(od.pro_result, \'姝e父\') <= 0\n      AND INSTR(od.pro_result, \'鍙屼晶妞庨棿瀛旀棤鐙獎\') <= 0\n      AND INSTR(od.pro_result, \'鏃犳畩\') <= 0\n    UNION\n    SELECT bgd.jcxmid, bgd.jcxm, bgd.ycbz, \n           CASE WHEN LOCATE(bgd.ycbz, \'鈫慭') THEN CONCAT(bgd.jcxm, \'鍋忛珮\')\n                ELSE CONCAT(bgd.jcxm, \'鍋忎綆\') END AS result, \n           o.user_id\n    FROM tj_order o\n    LEFT JOIN ltkj_hysqd sqd ON o.tj_number = sqd.tjh\n    JOIN ltkj_hybgd bgd ON sqd.tmh = bgd.tmh\n    WHERE o.firm_id = \'${firmId}\'\n    AND o.create_time BETWEEN \'${startTime}\' AND \'${endTime}\'\n      AND IFNULL(bgd.ycbz, \'\') <> \'\'\n    UNION\n    SELECT yc.pro_id, yc.pro_name, TRIM(yc.jcjg) AS result, \n           REPLACE(TRIM(yc.jcjg), \'\\n\', \'\') AS temp_result, \n           o.user_id\n    FROM tj_order o\n    LEFT JOIN tj_jcycxm yc ON o.tj_number = yc.tjh\n    WHERE o.firm_id = \'${firmId}\'\n    AND o.create_time BETWEEN \'${startTime}\' AND \'${endTime}\'\n      AND yc.pro_id IS NOT NULL\n) a ON a.user_id = c.cus_id\nWHERE IFNULL(a.temp_result, \'\') <> \'\'\nORDER BY a.temp_result DESC\n', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '0', '', 'mysql', '', '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1041516491044585472', '10001', '2025-04-16 10:38:03', NULL, NULL, '1041516490843258880', '寮傚父椤圭洰', '寮傚父椤圭洰', 'String', NULL, 0, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1041516491162025984', '10001', '2025-04-16 10:38:03', NULL, NULL, '1041516490843258880', '鐢锋暟閲�', '鐢锋暟閲�', 'String', NULL, 1, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1041516491250106368', '10001', '2025-04-16 10:38:03', NULL, NULL, '1041516490843258880', '濂虫暟閲�', '濂虫暟閲�', 'String', NULL, 2, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1041516491329798144', '10001', '2025-04-16 10:38:03', NULL, NULL, '1041516490843258880', '鍚堣浜烘暟', '鍚堣浜烘暟', 'String', NULL, 3, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1041521081148276736', '10001', '2025-04-16 10:38:03', NULL, NULL, '1041516490843258880', '鐢风櫨鍒嗘瘮', '鐢风櫨鍒嗘瘮', 'String', NULL, 4, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1041521081240551424', '10001', '2025-04-16 10:38:03', NULL, NULL, '1041516490843258880', '濂崇櫨鍒嗘瘮', '濂崇櫨鍒嗘瘮', 'String', NULL, 5, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('859573450949025792', '10001', '2025-04-16 10:36:14', NULL, NULL, '859573447174152192', 's', 's', 'String', NULL, 0, 0, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('859573453394305024', '10001', '2025-04-16 10:36:14', NULL, NULL, '859573447174152192', '鐢�', '鐢�', 'String', NULL, 1, 0, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('859573455810224128', '10001', '2025-04-16 10:36:14', NULL, NULL, '859573447174152192', '濂�', '濂�', 'String', NULL, 2, 0, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('879264552793616384', '10001', '2025-04-16 10:36:14', NULL, NULL, '859573447174152192', 'allnum', '鎬讳汉鏁�', 'String', NULL, 3, 0, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1042286110428659712', '10001', '2025-04-16 10:36:04', NULL, NULL, '858611931275816960', '瀹炴浜烘暟', '瀹炴浜烘暟', 'String', NULL, 7, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1042288346990936064', '10001', '2025-04-16 10:36:04', NULL, NULL, '858611931275816960', '鏈浜烘暟', '鏈浜烘暟', 'String', NULL, 8, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('858938880519008256', '10001', '2025-04-16 10:36:04', NULL, NULL, '858611931275816960', '寮�濮嬫椂闂�', '寮�濮嬫椂闂�', 'String', NULL, 2, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('858938880862941184', '10001', '2025-04-16 10:36:04', NULL, NULL, '858611931275816960', '缁撴潫鏃堕棿', '缁撴潫鏃堕棿', 'String', NULL, 3, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('859315015649091584', '10001', '2025-04-16 10:36:04', NULL, NULL, '858611931275816960', 'dw_name', 'dw_name', 'String', NULL, 4, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('859315018123730944', '10001', '2025-04-16 10:36:04', NULL, NULL, '858611931275816960', 'dw_dept_name', 'dw_dept_name', 'String', NULL, 5, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('859315020598370304', '10001', '2025-04-16 10:36:04', NULL, NULL, '858611931275816960', 'zongshu', 'zongshu', 'String', NULL, 6, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('858937737814437888', '10001', '2025-04-16 10:36:03', NULL, NULL, '858611931275816960', '鐢�', '鐢�', 'String', NULL, 0, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('858937738166759424', '10001', '2025-04-16 10:36:03', NULL, NULL, '858611931275816960', '濂�', '濂�', 'String', NULL, 1, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1042300196990255104', '10001', '2025-04-16 10:35:53', NULL, NULL, '1042300196856037376', 'title', 'title', 'String', NULL, 0, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1042300197082529792', '10001', '2025-04-16 10:35:53', NULL, NULL, '1042300196856037376', 'value', 'value', 'String', NULL, 1, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1042298604601769984', '10001', '2025-04-16 10:35:39', NULL, NULL, '1042298604463357952', 'title', 'title', 'String', NULL, 0, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1042298604677267456', '10001', '2025-04-16 10:35:39', NULL, NULL, '1042298604463357952', 'value', 'value', 'String', NULL, 1, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1041531739369668608', '10001', '2025-04-16 10:35:26', NULL, NULL, '1041531739260616704', 'pro_name', 'pro_name', 'String', NULL, 0, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1041531739445166080', '10001', '2025-04-16 10:35:26', NULL, NULL, '1041531739260616704', 'cus_name', 'cus_name', 'String', NULL, 1, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1041531739508080640', '10001', '2025-04-16 10:35:26', NULL, NULL, '1041531739260616704', 'tj_number', 'tj_number', 'String', NULL, 2, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1041531739562606592', '10001', '2025-04-16 10:35:26', NULL, NULL, '1041531739260616704', 'temp_result', 'temp_result', 'String', NULL, 3, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1041531739621326848', '10001', '2025-04-16 10:35:26', NULL, NULL, '1041531739260616704', 'grouping_name', 'grouping_name', 'String', NULL, 4, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1041557683337723904', '10001', '2025-04-16 10:35:26', NULL, NULL, '1041531739260616704', 'age', 'age', 'String', NULL, 5, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_param` (`id`, `jimu_report_head_id`, `param_name`, `param_txt`, `param_value`, `order_num`, `create_by`, `create_time`, `update_by`, `update_time`, `search_flag`, `widget_type`, `search_mode`, `dict_code`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1041516491422072832', '1041516490843258880', 'firmId', '鍗曚綅', '', 1, '10001', '2025-04-16 10:38:03', NULL, NULL, 1, NULL, 7, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_param` (`id`, `jimu_report_head_id`, `param_name`, `param_txt`, `param_value`, `order_num`, `create_by`, `create_time`, `update_by`, `update_time`, `search_flag`, `widget_type`, `search_mode`, `dict_code`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1072294145787985920', '1041516490843258880', 'startTime', '寮�濮嬫椂闂�', '=dateStr(\'yyyy-MM-dd\', -30)', 2, '10001', '2025-04-16 10:38:03', NULL, NULL, 1, 'date', NULL, NULL, 'yyyy-MM-dd', '', NULL, NULL);
+INSERT INTO `jimu_report_db_param` (`id`, `jimu_report_head_id`, `param_name`, `param_txt`, `param_value`, `order_num`, `create_by`, `create_time`, `update_by`, `update_time`, `search_flag`, `widget_type`, `search_mode`, `dict_code`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1072294145867677696', '1041516490843258880', 'endTime', '缁撴潫鏃堕棿', '=dateStr(\'yyyy-MM-dd\')', 3, '10001', '2025-04-16 10:38:03', NULL, NULL, 1, 'date', NULL, NULL, 'yyyy-MM-dd', '', NULL, NULL);
+INSERT INTO `jimu_report_db_param` (`id`, `jimu_report_head_id`, `param_name`, `param_txt`, `param_value`, `order_num`, `create_by`, `create_time`, `update_by`, `update_time`, `search_flag`, `widget_type`, `search_mode`, `dict_code`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1072305754916814848', '859573447174152192', 'startTime', '寮�濮嬫椂闂�', '=dateStr(\'yyyy-MM-dd\', -30)', 2, '10001', '2025-04-16 10:36:14', NULL, NULL, 1, 'date', NULL, NULL, 'yyyy-MM-dd', '', NULL, NULL);
+INSERT INTO `jimu_report_db_param` (`id`, `jimu_report_head_id`, `param_name`, `param_txt`, `param_value`, `order_num`, `create_by`, `create_time`, `update_by`, `update_time`, `search_flag`, `widget_type`, `search_mode`, `dict_code`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1072305754992312320', '859573447174152192', 'endTime', '缁撴潫鏃堕棿', '=dateStr(\'yyyy-MM-dd\')', 3, '10001', '2025-04-16 10:36:14', NULL, NULL, 1, 'date', NULL, NULL, 'yyyy-MM-dd', '', NULL, NULL);
+INSERT INTO `jimu_report_db_param` (`id`, `jimu_report_head_id`, `param_name`, `param_txt`, `param_value`, `order_num`, `create_by`, `create_time`, `update_by`, `update_time`, `search_flag`, `widget_type`, `search_mode`, `dict_code`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('859573458565881856', '859573447174152192', 'firmId', 'firmId', '', 1, '10001', '2025-04-16 10:36:14', NULL, NULL, 1, NULL, 7, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_param` (`id`, `jimu_report_head_id`, `param_name`, `param_txt`, `param_value`, `order_num`, `create_by`, `create_time`, `update_by`, `update_time`, `search_flag`, `widget_type`, `search_mode`, `dict_code`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1072305550838759424', '858611931275816960', 'startTime', '寮�濮嬫椂闂�', '=dateStr(\'yyyy-MM-dd\', -30)', 2, '10001', '2025-04-16 10:36:04', NULL, NULL, 1, 'date', NULL, NULL, 'yyyy-MM-dd', '', NULL, NULL);
+INSERT INTO `jimu_report_db_param` (`id`, `jimu_report_head_id`, `param_name`, `param_txt`, `param_value`, `order_num`, `create_by`, `create_time`, `update_by`, `update_time`, `search_flag`, `widget_type`, `search_mode`, `dict_code`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1072305550905868288', '858611931275816960', 'endTime', '缁撴潫鏃堕棿', '=dateStr(\'yyyy-MM-dd\')', 3, '10001', '2025-04-16 10:36:04', NULL, NULL, 1, 'date', NULL, NULL, 'yyyy-MM-dd', '', NULL, NULL);
+INSERT INTO `jimu_report_db_param` (`id`, `jimu_report_head_id`, `param_name`, `param_txt`, `param_value`, `order_num`, `create_by`, `create_time`, `update_by`, `update_time`, `search_flag`, `widget_type`, `search_mode`, `dict_code`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('859229976093548544', '858611931275816960', 'firmId', 'firmId', '', 1, '10001', '2025-04-16 10:36:04', NULL, NULL, 1, NULL, 7, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_param` (`id`, `jimu_report_head_id`, `param_name`, `param_txt`, `param_value`, `order_num`, `create_by`, `create_time`, `update_by`, `update_time`, `search_flag`, `widget_type`, `search_mode`, `dict_code`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1042300197174804480', '1042300196856037376', 'firmId', 'firmId', '', 1, '10001', '2025-04-16 10:35:53', NULL, NULL, 1, NULL, 7, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_param` (`id`, `jimu_report_head_id`, `param_name`, `param_txt`, `param_value`, `order_num`, `create_by`, `create_time`, `update_by`, `update_time`, `search_flag`, `widget_type`, `search_mode`, `dict_code`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1072305368659165184', '1042300196856037376', 'startTime', '寮�濮嬫椂闂�', '=dateStr(\'yyyy-MM-dd\', -30)', 2, '10001', '2025-04-16 10:35:53', NULL, NULL, 1, 'date', NULL, NULL, 'yyyy-MM-dd', '', NULL, NULL);
+INSERT INTO `jimu_report_db_param` (`id`, `jimu_report_head_id`, `param_name`, `param_txt`, `param_value`, `order_num`, `create_by`, `create_time`, `update_by`, `update_time`, `search_flag`, `widget_type`, `search_mode`, `dict_code`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1072305368734662656', '1042300196856037376', 'endTime', '缁撴潫鏃堕棿', '=dateStr(\'yyyy-MM-dd\')', 3, '10001', '2025-04-16 10:35:53', NULL, NULL, 1, 'date', NULL, NULL, 'yyyy-MM-dd', '', NULL, NULL);
+INSERT INTO `jimu_report_db_param` (`id`, `jimu_report_head_id`, `param_name`, `param_txt`, `param_value`, `order_num`, `create_by`, `create_time`, `update_by`, `update_time`, `search_flag`, `widget_type`, `search_mode`, `dict_code`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1042298604756959232', '1042298604463357952', 'firmId', 'firmId', '', 1, '10001', '2025-04-16 10:35:39', NULL, NULL, 1, NULL, 7, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_param` (`id`, `jimu_report_head_id`, `param_name`, `param_txt`, `param_value`, `order_num`, `create_by`, `create_time`, `update_by`, `update_time`, `search_flag`, `widget_type`, `search_mode`, `dict_code`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1072296077134954496', '1042298604463357952', 'startTime', '寮�濮嬫椂闂�', '=dateStr(\'yyyy-MM-dd\', -30)', 2, '10001', '2025-04-16 10:35:39', NULL, NULL, 1, 'date', NULL, NULL, 'yyyy-MM-dd', '', NULL, NULL);
+INSERT INTO `jimu_report_db_param` (`id`, `jimu_report_head_id`, `param_name`, `param_txt`, `param_value`, `order_num`, `create_by`, `create_time`, `update_by`, `update_time`, `search_flag`, `widget_type`, `search_mode`, `dict_code`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1072296077210451968', '1042298604463357952', 'endTime', '缁撴潫鏃堕棿', '=dateStr(\'yyyy-MM-dd\')', 3, '10001', '2025-04-16 10:35:39', NULL, NULL, 1, 'date', NULL, NULL, 'yyyy-MM-dd', '', NULL, NULL);
+INSERT INTO `jimu_report_db_param` (`id`, `jimu_report_head_id`, `param_name`, `param_txt`, `param_value`, `order_num`, `create_by`, `create_time`, `update_by`, `update_time`, `search_flag`, `widget_type`, `search_mode`, `dict_code`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1041531739755544576', '1041531739260616704', 'firmId', 'firmId', '', 2, '10001', '2025-04-16 10:35:26', NULL, NULL, 1, NULL, 7, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_param` (`id`, `jimu_report_head_id`, `param_name`, `param_txt`, `param_value`, `order_num`, `create_by`, `create_time`, `update_by`, `update_time`, `search_flag`, `widget_type`, `search_mode`, `dict_code`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1072294642875924480', '1041531739260616704', 'startTime', '寮�濮嬫椂闂�', '=dateStr(\'yyyy-MM-dd\', -30)', 3, '10001', '2025-04-16 10:35:26', NULL, NULL, 1, 'date', NULL, NULL, 'yyyy-MM-dd', '', NULL, NULL);
+INSERT INTO `jimu_report_db_param` (`id`, `jimu_report_head_id`, `param_name`, `param_txt`, `param_value`, `order_num`, `create_by`, `create_time`, `update_by`, `update_time`, `search_flag`, `widget_type`, `search_mode`, `dict_code`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1072294642943033344', '1041531739260616704', 'endTime', '缁撴潫鏃堕棿', '=dateStr(\'yyyy-MM-dd\')', 4, '10001', '2025-04-16 10:35:26', NULL, NULL, 1, 'date', NULL, NULL, 'yyyy-MM-dd', '', NULL, NULL);
+
+
+
+
+UPDATE `jimu_report` SET `code` = '20230904153609', `name` = '鍥㈤槦浣撴鎶ュ憡', `note` = NULL, `status` = NULL, `type` = 'datainfo', `json_str` = '{\"loopBlockList\":[],\"chartList\":[{\"row\":10,\"col\":0,\"colspan\":4,\"rowspan\":14,\"width\":\"424\",\"height\":\"350\",\"config\":\"{\\\"legend\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12},\\\"top\\\":\\\"top\\\",\\\"left\\\":\\\"left\\\",\\\"orient\\\":\\\"vertical\\\",\\\"padding\\\":[43,20,25,10],\\\"data\\\":[\\\"瀹炴浜烘暟\\\",\\\"鏈浜烘暟\\\"],\\\"show\\\":true},\\\"series\\\":[{\\\"isRose\\\":false,\\\"data\\\":[{\\\"name\\\":\\\"瀹炴浜烘暟\\\",\\\"value\\\":0,\\\"itemStyle\\\":{\\\"color\\\":\\\"#000000\\\"}},{\\\"name\\\":\\\"鏈浜烘暟\\\",\\\"value\\\":null,\\\"itemStyle\\\":{\\\"color\\\":\\\"#DADADA\\\"}}],\\\"isRadius\\\":false,\\\"roseType\\\":\\\"\\\",\\\"notCount\\\":false,\\\"center\\\":[\\\"196\\\",\\\"169\\\"],\\\"name\\\":\\\"value\\\",\\\"minAngle\\\":0,\\\"label\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"\\\",\\\"fontSize\\\":16,\\\"fontWeight\\\":\\\"bolder\\\"},\\\"position\\\":\\\"inside\\\",\\\"formatter\\\":\\\"{b}\\\\n{c}\\\",\\\"rotate\\\":0,\\\"type\\\":\\\"pie\\\",\\\"show\\\":true},\\\"type\\\":\\\"pie\\\",\\\"radius\\\":\\\"55%\\\",\\\"autoSort\\\":false}],\\\"tooltip\\\":{\\\"formatter\\\":\\\"{a} <br/>{b} : {c}\\\",\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":18}},\\\"title\\\":{\\\"show\\\":true,\\\"top\\\":5,\\\"text\\\":\\\"                      瀹炴銆佹湭妫�姣斾緥鍥綷\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#c23531\\\",\\\"fontWeight\\\":\\\"bolder\\\",\\\"fontSize\\\":18},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,10]}}\",\"url\":\"\",\"extData\":{\"dataType\":\"sql\",\"apiStatus\":\"\",\"dataId\":\"1042300196856037376\",\"axisX\":\"title\",\"axisY\":\"value\",\"series\":\"\",\"yText\":\"value\",\"xText\":\"title\",\"dbCode\":\"btCheckBl\",\"dataId1\":\"\",\"source\":\"\",\"target\":\"\",\"isTiming\":\"\",\"intervalTime\":\"\",\"linkIds\":\"\",\"chartType\":\"pie.simple\",\"chartId\":\"MfQeh9JkrpGVlt98\",\"id\":\"\"},\"layer_id\":\"MfQeh9JkrpGVlt98\",\"offsetX\":0,\"offsetY\":0,\"backgroud\":{\"enabled\":false,\"color\":\"#fff\",\"image\":\"\"},\"virtualCellRange\":[[10,0],[10,1],[10,2],[10,3]]},{\"row\":10,\"col\":3,\"colspan\":5,\"rowspan\":14,\"width\":\"563\",\"height\":\"350\",\"config\":\"{\\\"legend\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12},\\\"top\\\":\\\"top\\\",\\\"left\\\":\\\"left\\\",\\\"orient\\\":\\\"vertical\\\",\\\"padding\\\":[43,20,25,10],\\\"data\\\":[\\\"鐢穃\\",\\\"濂砛\\"],\\\"show\\\":true},\\\"series\\\":[{\\\"isRose\\\":false,\\\"data\\\":[{\\\"name\\\":\\\"鐢穃\\",\\\"value\\\":null,\\\"itemStyle\\\":{\\\"color\\\":\\\"#000000\\\"}},{\\\"name\\\":\\\"濂砛\\",\\\"value\\\":null,\\\"itemStyle\\\":{\\\"color\\\":\\\"#DADADA\\\"}}],\\\"isRadius\\\":false,\\\"roseType\\\":\\\"\\\",\\\"notCount\\\":false,\\\"center\\\":[\\\"193\\\",180],\\\"name\\\":\\\"value\\\",\\\"minAngle\\\":0,\\\"label\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"\\\",\\\"fontSize\\\":16,\\\"fontWeight\\\":\\\"bolder\\\"},\\\"position\\\":\\\"inside\\\",\\\"formatter\\\":\\\"{b}\\\\n{c}\\\",\\\"rotate\\\":0,\\\"type\\\":\\\"pie\\\",\\\"show\\\":true},\\\"type\\\":\\\"pie\\\",\\\"radius\\\":\\\"55%\\\",\\\"autoSort\\\":false}],\\\"tooltip\\\":{\\\"formatter\\\":\\\"{a} <br/>{b} : {c}\\\",\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":18}},\\\"title\\\":{\\\"show\\\":true,\\\"top\\\":5,\\\"text\\\":\\\"                   鍙傛浜哄憳鎬у埆姣斾緥鍥綷\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#c23531\\\",\\\"fontWeight\\\":\\\"bolder\\\",\\\"fontSize\\\":18},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,10]}}\",\"url\":\"\",\"extData\":{\"dataType\":\"sql\",\"apiStatus\":\"\",\"dataId\":\"1042298604463357952\",\"axisX\":\"title\",\"axisY\":\"value\",\"series\":\"\",\"yText\":\"value\",\"xText\":\"title\",\"dbCode\":\"btNvBl\",\"dataId1\":\"\",\"source\":\"\",\"target\":\"\",\"isTiming\":\"\",\"intervalTime\":\"\",\"linkIds\":\"\",\"chartType\":\"pie.simple\",\"chartId\":\"kCVpgdlx4R62DHro\",\"id\":\"\"},\"layer_id\":\"kCVpgdlx4R62DHro\",\"offsetX\":0,\"offsetY\":0,\"backgroud\":{\"enabled\":false,\"color\":\"#fff\",\"image\":\"\"},\"virtualCellRange\":[[10,3],[10,4],[10,5],[10,6],[10,7],[10,8],[10,9]]},{\"row\":26,\"col\":0,\"colspan\":7,\"rowspan\":12,\"width\":\"698\",\"height\":\"276\",\"config\":\"{\\\"yAxis\\\":{\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":\\\"7\\\"}},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#333\\\"}},\\\"show\\\":true,\\\"name\\\":\\\"浜烘暟\\\",\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"min\\\":\\\"0\\\"},\\\"xAxis\\\":{\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12},\\\"rotate\\\":7,\\\"interval\\\":\\\"auto\\\"},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#333\\\"}},\\\"data\\\":[\\\"0-19宀乗\\",\\\"20-29宀乗\\",\\\"30-39宀乗\\",\\\"40-49宀乗\\",\\\"50-59宀乗\\",\\\"60-69宀乗\\",\\\"70-79宀乗\\",\\\"80+\\\"],\\\"show\\\":true,\\\"name\\\":\\\"骞撮緞\\\",\\\"min\\\":\\\"0\\\"},\\\"grid\\\":{\\\"top\\\":60,\\\"left\\\":60,\\\"bottom\\\":60,\\\"right\\\":60},\\\"series\\\":[{\\\"barWidth\\\":22,\\\"data\\\":[0,0,0,0,0,0,0,0],\\\"name\\\":\\\"allnum\\\",\\\"itemStyle\\\":{\\\"barBorderRadius\\\":0,\\\"color\\\":\\\"\\\"},\\\"label\\\":{\\\"show\\\":true,\\\"position\\\":\\\"top\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"black\\\",\\\"fontSize\\\":16,\\\"fontWeight\\\":\\\"bolder\\\"}},\\\"type\\\":\\\"bar\\\",\\\"barMinHeight\\\":2,\\\"textStyle\\\":{\\\"color\\\":\\\"black\\\",\\\"fontWeight\\\":\\\"bolder\\\"}}],\\\"tooltip\\\":{\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":18}},\\\"title\\\":{\\\"show\\\":true,\\\"top\\\":13,\\\"text\\\":\\\"\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#c23531\\\",\\\"fontWeight\\\":\\\"bolder\\\",\\\"fontSize\\\":18},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,20]}}\",\"url\":\"\",\"extData\":{\"dataType\":\"sql\",\"apiStatus\":\"\",\"dataId\":\"859573447174152192\",\"axisX\":\"s\",\"axisY\":\"allnum\",\"series\":\"\",\"yText\":\"allnum\",\"xText\":\"s\",\"dbCode\":\"ageSexPerson\",\"dataId1\":\"\",\"source\":\"\",\"target\":\"\",\"isTiming\":false,\"intervalTime\":\"\",\"linkIds\":\"\",\"chartType\":\"bar.simple\",\"chartId\":\"SoVAhMMo7OVOxGxK\",\"id\":\"\"},\"layer_id\":\"SoVAhMMo7OVOxGxK\",\"offsetX\":0,\"offsetY\":0,\"backgroud\":{\"enabled\":\"\",\"color\":\"#fff\",\"image\":\"\",\"repeat\":\"repeat\"},\"virtualCellRange\":[[26,0],[26,1],[26,2],[26,3],[26,4],[26,5],[26,6]]},{\"row\":44,\"col\":0,\"colspan\":8,\"rowspan\":12,\"width\":\"714\",\"height\":\"284\",\"config\":\"{\\\"yAxis\\\":{\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#333\\\"}},\\\"show\\\":true,\\\"name\\\":\\\"浜烘暟\\\",\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false}},\\\"xAxis\\\":{\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":\\\"11\\\"},\\\"rotate\\\":90,\\\"interval\\\":\\\"auto\\\"},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#333\\\"}},\\\"data\\\":[\\\"鍏朵粬鏃燶\\",\\\"娴呰〃娣嬪反缁撴棤鑲垮ぇ\\\",\\\"鍥涜偄銆佸叧鑺傚姛鑳借壇濂絓\\",\\\"鑴婃煴鏃犵暩褰\\",\\\"鑵版楠ㄨ川澧炵敓\\\",\\\"琛�娓呯敇娌逛笁閰祴瀹氬亸楂榎\\",\\\"绾㈢粏鑳炲帇绉亸楂榎\\",\\\"鐭瑙嗗姏锛堝彸锛�5.0\\\",\\\"灞堝厜鍙岀溂灞堝厜涓嶆\\\",\\\"鐭瑙嗗姏锛堝乏锛�5.0\\\"],\\\"show\\\":true,\\\"name\\\":\\\"缁撹\\\"},\\\"grid\\\":{\\\"top\\\":60,\\\"left\\\":60,\\\"bottom\\\":100,\\\"right\\\":60},\\\"series\\\":[{\\\"barWidth\\\":19,\\\"data\\\":[109,107,105,101,55,49,37,35,34,28],\\\"name\\\":\\\"鍚堣浜烘暟\\\",\\\"itemStyle\\\":{\\\"barBorderRadius\\\":0,\\\"color\\\":\\\"\\\"},\\\"label\\\":{\\\"show\\\":true,\\\"position\\\":\\\"top\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"black\\\",\\\"fontSize\\\":16,\\\"fontWeight\\\":\\\"bolder\\\"}},\\\"type\\\":\\\"bar\\\",\\\"barMinHeight\\\":2,\\\"textStyle\\\":{\\\"color\\\":\\\"black\\\",\\\"fontWeight\\\":\\\"bolder\\\"}}],\\\"tooltip\\\":{\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":18}},\\\"title\\\":{\\\"show\\\":true,\\\"top\\\":\\\"5\\\",\\\"text\\\":\\\"\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#c23531\\\",\\\"fontWeight\\\":\\\"bolder\\\",\\\"fontSize\\\":18},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,20]}}\",\"url\":\"\",\"extData\":{\"dataType\":\"sql\",\"apiStatus\":\"\",\"dataId\":\"1041516490843258880\",\"axisX\":\"寮傚父椤圭洰\",\"axisY\":\"鍚堣浜烘暟\",\"series\":\"\",\"yText\":\"鍚堣浜烘暟\",\"xText\":\"寮傚父椤圭洰\",\"dbCode\":\"yichangResultList\",\"dataId1\":\"\",\"source\":\"\",\"target\":\"\",\"isTiming\":false,\"intervalTime\":\"\",\"linkIds\":\"\",\"chartType\":\"bar.simple\",\"chartId\":\"eh48adfikvKWACFK\",\"id\":\"\"},\"layer_id\":\"eh48adfikvKWACFK\",\"offsetX\":0,\"offsetY\":0,\"backgroud\":{\"enabled\":false,\"color\":\"#fff\",\"image\":\"\"},\"virtualCellRange\":[[44,0],[44,1],[44,2],[44,3],[44,4],[44,5],[44,6],[44,7]]}],\"area\":false,\"excel_config_id\":\"858579252534800384\",\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":2,\"isBackend\":false,\"marginX\":10,\"marginY\":10,\"layout\":\"portrait\",\"printCallBackUrl\":\"\"},\"zonedEditionList\":[],\"rows\":{\"0\":{\"cells\":{\"0\":{\"merge\":[1,6],\"height\":50,\"text\":\"鍥㈤槦浣撴缁熻\",\"style\":2}}},\"2\":{\"cells\":{\"0\":{\"merge\":[0,2],\"height\":25,\"text\":\"涓�銆佸熀鏈祫鏂橽",\"style\":23}},\"height\":26},\"3\":{\"cells\":{\"0\":{\"merge\":[0,2],\"height\":25,\"text\":\"1銆佷綋妫�淇℃伅\"},\"3\":{\"text\":\"\",\"merge\":[0,2],\"height\":25}}},\"4\":{\"cells\":{\"0\":{\"text\":\"鍏徃/鍥綋鍚峔",\"style\":26,\"merge\":[0,1]},\"2\":{\"text\":\"${num.dw_name}\",\"style\":22,\"merge\":[0,4]}}},\"5\":{\"cells\":{\"0\":{\"style\":26,\"merge\":[0,1],\"text\":\"浣撴鍗曚綅\"},\"2\":{\"style\":22,\"merge\":[0,4],\"text\":\"${num.dw_dept_name}\"}}},\"6\":{\"cells\":{\"0\":{\"style\":26,\"text\":\"寮�濮嬫椂闂碶",\"merge\":[0,1],\"height\":25},\"2\":{\"style\":22,\"text\":\"${num.寮�濮嬫椂闂磢\",\"merge\":[0,4],\"height\":25}}},\"7\":{\"cells\":{\"0\":{\"style\":26,\"text\":\"缁撴潫鏃堕棿\",\"merge\":[0,1],\"height\":25},\"2\":{\"style\":22,\"text\":\"${num.缁撴潫鏃堕棿}\",\"merge\":[0,4],\"height\":25}}},\"8\":{\"cells\":{\"0\":{\"merge\":[0,6],\"height\":25,\"text\":\"锛堜竴锛変付鏈浣撴鎬诲弬妫�浜烘暟锛�${num.zongshu}浜猴紝瀹炴 ${num.瀹炴浜烘暟}浜猴紝鏈 ${num.鏈浜烘暟}浜猴紝鍏朵腑瀹炴鐢锋�� ${num.鐢穧浜猴紝瀹炴濂虫�� ${num.濂硙浜恒�俓"}},\"height\":34},\"9\":{\"cells\":{\"0\":{\"merge\":[0,6],\"height\":25,\"text\":\"锛堜簩锛夈�佹�诲弬浜哄憳瀹炴鍙婃�у埆姣斾緥鍥綷"},\"6\":{\"text\":\"锛堜簩锛夈�佹�诲弬浜哄憳瀹炴鍙婃�у埆姣斾緥鍥綷"}},\"height\":32},\"10\":{\"cells\":{\"0\":{\"text\":\" \",\"virtual\":\"MfQeh9JkrpGVlt98\"},\"1\":{\"text\":\" \",\"virtual\":\"MfQeh9JkrpGVlt98\"},\"2\":{\"text\":\" \",\"virtual\":\"MfQeh9JkrpGVlt98\"},\"3\":{\"text\":\" \",\"virtual\":\"kCVpgdlx4R62DHro\"},\"4\":{\"text\":\" \",\"virtual\":\"kCVpgdlx4R62DHro\"},\"5\":{\"text\":\" \",\"virtual\":\"kCVpgdlx4R62DHro\"},\"6\":{\"text\":\" \",\"virtual\":\"kCVpgdlx4R62DHro\"},\"7\":{\"text\":\" \",\"virtual\":\"kCVpgdlx4R62DHro\"},\"8\":{\"text\":\" \",\"virtual\":\"kCVpgdlx4R62DHro\"},\"9\":{\"text\":\" \",\"virtual\":\"kCVpgdlx4R62DHro\"}}},\"22\":{\"cells\":{\"0\":{\"text\":\"2銆佸弬妫�浜哄勾榫勫垎甯僜",\"merge\":[0,1],\"height\":31}},\"height\":31},\"23\":{\"cells\":{\"0\":{\"style\":26,\"text\":\" \"},\"1\":{\"style\":26,\"text\":\"浜烘暟\",\"merge\":[0,2],\"height\":25},\"4\":{\"style\":26,\"text\":\"鐧惧垎姣擻",\"merge\":[0,2],\"height\":25},\"8\":{\"text\":\"\",\"rendered\":\"\",\"config\":\"\"}}},\"24\":{\"cells\":{\"0\":{\"style\":26,\"text\":\"骞撮緞缁�(宀�)\"},\"1\":{\"style\":26,\"text\":\"鐢锋�"},\"2\":{\"style\":26,\"text\":\"濂虫�"},\"3\":{\"style\":26,\"text\":\"鍚堣\"},\"4\":{\"style\":26,\"text\":\"鐢锋�"},\"5\":{\"style\":26,\"text\":\"濂虫�",\"merge\":[0,1],\"height\":25}}},\"25\":{\"cells\":{\"0\":{\"style\":5,\"text\":\"#{ageSexPerson.s}\"},\"1\":{\"style\":5,\"text\":\"#{ageSexPerson.鐢穧\"},\"2\":{\"style\":5,\"text\":\"#{ageSexPerson.濂硙\"},\"3\":{\"style\":5,\"text\":\"=SUM(B13,C13)\"},\"4\":{\"style\":29,\"text\":\"#{ageSexPerson.compute(鐢�/(鐢�+濂�))}\",\"decimalPlaces\":\"2\"},\"5\":{\"style\":29,\"text\":\"#{ageSexPerson.compute(濂�/(鐢�+濂�))}\",\"merge\":[0,1],\"height\":25,\"completeBlankStatus\":true,\"rendered\":\"\",\"config\":\"\",\"display\":\"number\",\"decimalPlaces\":\"2\"}}},\"26\":{\"cells\":{\"0\":{\"text\":\" \",\"virtual\":\"SoVAhMMo7OVOxGxK\"},\"1\":{\"text\":\" \",\"virtual\":\"SoVAhMMo7OVOxGxK\"},\"2\":{\"text\":\" \",\"virtual\":\"SoVAhMMo7OVOxGxK\"},\"3\":{\"text\":\" \",\"virtual\":\"SoVAhMMo7OVOxGxK\"},\"4\":{\"text\":\" \",\"virtual\":\"SoVAhMMo7OVOxGxK\"},\"5\":{\"text\":\" \",\"virtual\":\"SoVAhMMo7OVOxGxK\"},\"6\":{\"text\":\" \",\"virtual\":\"SoVAhMMo7OVOxGxK\"}}},\"39\":{\"cells\":{\"0\":{\"text\":\"浜屻�佹湰娆′綋妫�寮傚父缁撴灉妫�鍑虹粺璁",\"merge\":[0,3],\"height\":25,\"style\":23}}},\"40\":{\"cells\":{\"0\":{\"merge\":[0,7],\"height\":25,\"text\":\"璐靛崟浣嶆娆″湪鎴戜腑蹇冭繘琛屽洟浣撲綋妫�锛岀幇鍦ㄥ緱妫�鍑虹殑寮傚父鎸夋瘮渚嬭繘琛岀粺璁″垎鏋愶紝浠ュ弽鏄犲憳宸ョ殑鍋ュ悍鐘跺喌锛歕"}}},\"41\":{\"cells\":{\"0\":{\"style\":15,\"text\":\" \"},\"1\":{\"style\":26,\"text\":\"浜烘暟\",\"merge\":[0,2],\"height\":25},\"4\":{\"style\":26,\"text\":\"鐧惧垎姣擻",\"merge\":[0,2],\"height\":25}}},\"42\":{\"cells\":{\"0\":{\"style\":26,\"text\":\"浣撴缁撹\"},\"1\":{\"style\":26,\"text\":\"鐢锋�"},\"2\":{\"style\":26,\"text\":\"濂虫�"},\"3\":{\"style\":26,\"text\":\"鍚堣\"},\"4\":{\"style\":26,\"text\":\"鐢锋�"},\"5\":{\"style\":26,\"text\":\"濂虫�",\"merge\":[0,1],\"height\":25}}},\"43\":{\"cells\":{\"0\":{\"style\":24,\"text\":\"#{yichangResultList.寮傚父椤圭洰}\"},\"1\":{\"style\":5,\"text\":\"#{yichangResultList.鐢锋暟閲弣\"},\"2\":{\"style\":5,\"text\":\"#{yichangResultList.濂虫暟閲弣\"},\"3\":{\"style\":5,\"text\":\"#{yichangResultList.鍚堣浜烘暟}\"},\"4\":{\"style\":5,\"text\":\"#{yichangResultList.鐢风櫨鍒嗘瘮}\"},\"5\":{\"style\":5,\"text\":\"#{yichangResultList.濂崇櫨鍒嗘瘮}\",\"merge\":[0,1],\"height\":25}}},\"44\":{\"cells\":{\"0\":{\"merge\":[12,6],\"height\":325,\"virtual\":\"eh48adfikvKWACFK\",\"text\":\" \"},\"1\":{\"text\":\" \",\"virtual\":\"eh48adfikvKWACFK\"},\"2\":{\"text\":\" \",\"virtual\":\"eh48adfikvKWACFK\"},\"3\":{\"text\":\" \",\"virtual\":\"eh48adfikvKWACFK\"},\"4\":{\"text\":\" \",\"virtual\":\"eh48adfikvKWACFK\"},\"5\":{\"text\":\" \",\"virtual\":\"eh48adfikvKWACFK\"},\"6\":{\"text\":\" \",\"virtual\":\"eh48adfikvKWACFK\"},\"7\":{\"text\":\" \",\"virtual\":\"eh48adfikvKWACFK\"}}},\"57\":{\"cells\":{\"0\":{\"text\":\"涓夈�佸仴搴烽棶棰樺垎鏋怽",\"merge\":[0,2],\"height\":25,\"style\":23}}},\"58\":{\"cells\":{\"0\":{\"merge\":[0,7],\"height\":25,\"text\":\"浠ヤ笅涓哄悇寮傚父璇︾粏浜哄憳淇℃伅锛歕"}}},\"59\":{\"cells\":{\"0\":{\"style\":26,\"text\":\"鐥呯\",\"loopBlock\":0},\"1\":{\"text\":\"浣撴鍙穃",\"style\":26,\"loopBlock\":0},\"2\":{\"style\":26,\"text\":\"濮撳悕\",\"loopBlock\":0},\"3\":{\"style\":26,\"text\":\"鎬у埆\",\"loopBlock\":0},\"4\":{\"style\":26,\"text\":\"骞撮緞\",\"loopBlock\":0},\"5\":{\"style\":26,\"text\":\"鍒嗙粍\",\"merge\":[0,1],\"height\":25,\"loopBlock\":0}},\"height\":26},\"60\":{\"cells\":{\"0\":{\"style\":24,\"text\":\"#{yichangInfoHzList.temp_result}\",\"loopBlock\":0,\"aggregate\":\"group\",\"rendered\":\"\",\"config\":\"\"},\"1\":{\"text\":\"#{yichangInfoHzList.tj_number}\",\"loopBlock\":0,\"style\":24},\"2\":{\"style\":5,\"text\":\"#{yichangInfoHzList.cus_name}\",\"loopBlock\":0},\"3\":{\"style\":5,\"text\":\"#{yichangInfoHzList.cus_sex}\",\"loopBlock\":0},\"4\":{\"style\":5,\"text\":\"#{yichangInfoHzList.age}\",\"loopBlock\":0},\"5\":{\"style\":5,\"text\":\"#{yichangInfoHzList.grouping_name}\",\"merge\":[0,1],\"height\":25,\"loopBlock\":0},\"6\":{\"text\":\"\",\"loopBlock\":0}},\"height\":28},\"len\":84},\"dbexps\":[],\"dicts\":[],\"rpbar\":{\"show\":true,\"pageSize\":\"\",\"btnList\":[1,2,3,4,5,6,7,8,9]},\"fixedPrintHeadRows\":[],\"fixedPrintTailRows\":[],\"freeze\":\"A1\",\"dataRectWidth\":1013,\"displayConfig\":{},\"background\":false,\"completeBlankRowList\":[{\"db\":\"ageSexPerson\",\"field\":\"compute(濂�/(鐢�+濂�))\"}],\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"font\":{\"size\":22}},{\"font\":{\"size\":22,\"bold\":true}},{\"font\":{\"size\":22,\"bold\":true},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"right\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"bgcolor\":\"#01b0f1\"},{\"bgcolor\":\"#01b0f1\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"bgcolor\":\"#9cc2e6\"},{\"bgcolor\":\"#9cc2e6\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"bgcolor\":\"#bdd7ee\"},{\"bgcolor\":\"#bdd7ee\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"bgcolor\":\"#deeaf6\"},{\"bgcolor\":\"#deeaf6\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#bdd7ee\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#deeaf6\"},{\"border\":{\"top\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"size\":12}},{\"font\":{\"size\":12}},{\"font\":{\"size\":14}},{},{\"font\":{\"size\":14},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"size\":11}},{\"font\":{\"size\":11}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"textwrap\":true},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"bgcolor\":\"#deeaf6\",\"font\":{\"bold\":true}},{\"font\":{\"bold\":true}},{\"align\":\"right\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"format\":\"percent\"},{\"format\":\"percent\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"textwrap\":false},{\"format\":\"number\"}],\"validations\":[],\"cols\":{\"0\":{\"width\":151},\"1\":{\"width\":128},\"2\":{\"width\":107},\"3\":{\"width\":102},\"4\":{\"width\":107},\"5\":{\"width\":81},\"6\":{\"width\":37},\"len\":50},\"merges\":[\"A1:G2\",\"A3:C3\",\"A4:C4\",\"D4:F4\",\"A5:B5\",\"C5:G5\",\"A6:B6\",\"C6:G6\",\"A7:B7\",\"C7:G7\",\"A8:B8\",\"C8:G8\",\"A9:G9\",\"A10:G10\",\"A23:B23\",\"B24:D24\",\"E24:G24\",\"F25:G25\",\"F26:G26\",\"A40:D40\",\"A41:H41\",\"B42:D42\",\"E42:G42\",\"F43:G43\",\"F44:G44\",\"A45:G57\",\"A58:C58\",\"A59:H59\",\"F60:G60\",\"F61:G61\"]}', `api_url` = NULL, `thumb` = NULL, `create_by` = '10001', `create_time` = '2023-09-04 15:36:10', `update_by` = '10001', `update_time` = '2025-04-18 14:56:55', `del_flag` = 0, `api_method` = NULL, `api_code` = NULL, `template` = 0, `view_count` = 360, `css_str` = NULL, `js_str` = 'function init(){\n    let headers = { \'hospId\': \'pbkwyy\'};\n    let params = {params: {pid: \'\',type:\'1\'},headers: headers}\n    let url = \'http://192.168.1.2:5011/reservation/reservation/linkage\'\n    // let url = \'http://10.100.100.117:5101/ltkj-admin/reservation/reservation/linkage\'\n    $http.metaGet(url ,params).then(res=>{\n        let options =  res.data;\n        this.updateSelectOptions(\'yichangResultList\', \'firmId\', options)\n    })\n}\n', `tenant_id` = NULL, `print_type` = NULL, `is_start` = NULL, `create_id` = NULL, `update_id` = NULL WHERE `id` = '858579252534800384';
+UPDATE `jimu_report_db` SET `jimu_report_id` = '858579252534800384', `create_by` = '10001', `update_by` = '10001', `create_time` = '2025-04-16 10:38:03', `update_time` = '2025-04-16 10:38:03', `db_code` = 'yichangResultList', `db_ch_name` = '寮傚父缁撴灉缁熻', `db_type` = '0', `db_table_name` = NULL, `db_dyn_sql` = '\nSELECT \n    a.temp_result AS 寮傚父椤圭洰,\n    SUM(CASE WHEN c.cus_sex = 0 THEN 1 ELSE 0 END) AS 鐢锋暟閲�,\n    SUM(CASE WHEN c.cus_sex = 1 THEN 1 ELSE 0 END) AS 濂虫暟閲�,\n    COUNT(c.cus_id) AS 鍚堣浜烘暟,\n    CONCAT(ROUND(SUM(CASE WHEN c.cus_sex = 0 THEN 1 ELSE 0 END) / total_count * 100, 2),\'%\') AS 鐢风櫨鍒嗘瘮,\n    CONCAT(ROUND(SUM(CASE WHEN c.cus_sex = 1 THEN 1 ELSE 0 END) / total_count * 100, 2),\'%\') AS 濂崇櫨鍒嗘瘮\nFROM (\n    SELECT p.pro_id, p.pro_name, od.pro_result AS result, CONCAT(p.pro_name,od.pro_result) AS temp_result, o.user_id\n    FROM tj_order o\n    LEFT JOIN tj_order_detail od ON o.order_id = od.order_id\n    LEFT JOIN tj_project p ON p.pro_id = od.pro_id\n    JOIN sys_dept d ON d.dept_id = p.dept_id\n    WHERE o.firm_id = \'${firmId}\'\n    AND o.create_time BETWEEN \'${startTime}\' AND \'${endTime}\'\n      AND IFNULL(od.pro_result, \'\') <> \'\'\n      AND d.org_type = 3\n      AND d.dept_id <> \'550\'\n      AND INSTR(od.pro_result, \'鏈寮傚父\') <= 0\n      AND INSTR(od.pro_result, \'鏈鏄庢樉寮傚父\') <= 0\n      AND INSTR(od.pro_result, \'鏈鍗犱綅\') <= 0\n      AND INSTR(od.pro_result, \'鏈鏄庢樉\') <= 0\n      AND INSTR(od.pro_result, \'姝e父\') <= 0\n      AND INSTR(od.pro_result, \'鍙屼晶妞庨棿瀛旀棤鐙獎\') <= 0\n      AND INSTR(od.pro_result, \'鏃犳畩\') <= 0\n\n    UNION\n\n    SELECT bgd.jcxmid, bgd.jcxm, bgd.ycbz, \n           CASE WHEN LOCATE(bgd.ycbz, \'鈫慭') THEN CONCAT(bgd.jcxm, \'鍋忛珮\')\n                ELSE CONCAT(bgd.jcxm, \'鍋忎綆\') END AS result, \n           o.user_id\n    FROM tj_order o\n    LEFT JOIN ltkj_hysqd sqd ON o.tj_number = sqd.tjh\n    JOIN ltkj_hybgd bgd ON sqd.tmh = bgd.tmh\n    WHERE o.firm_id = \'${firmId}\'\n    AND o.create_time BETWEEN \'${startTime}\' AND \'${endTime}\'\n      AND IFNULL(bgd.ycbz, \'\') <> \'\'\n\n    UNION\n\n    SELECT yc.pro_id, yc.pro_name, TRIM(yc.jcjg) AS result, \n           REPLACE(TRIM(yc.jcjg), \'\\n\', \'\') AS temp_result, \n           o.user_id\n    FROM tj_order o\n    LEFT JOIN tj_jcycxm yc ON o.tj_number = yc.tjh\n    WHERE o.firm_id = \'${firmId}\'\n    AND o.create_time BETWEEN \'${startTime}\' AND \'${endTime}\'\n      AND yc.pro_id IS NOT NULL\n) a\nLEFT JOIN tj_customer c ON a.user_id = c.cus_id\n\n\nLEFT JOIN (\n    SELECT COUNT(1) AS total_count\n    FROM tj_order \n    WHERE firm_id = \'${firmId}\'\n    AND create_time BETWEEN \'${startTime}\' AND \'${endTime}\'\n) total_count ON 1=1\n\n\nWHERE IFNULL(a.temp_result, \'\') <> \'\'\nGROUP BY a.temp_result\nORDER BY 鍚堣浜烘暟 DESC\nLIMIT 10\n', `db_key` = NULL, `tb_db_key` = NULL, `tb_db_table_name` = NULL, `java_type` = NULL, `java_value` = NULL, `api_url` = NULL, `api_method` = NULL, `is_list` = '1', `is_page` = '0', `db_source` = '', `db_source_type` = 'mysql', `json_data` = '', `api_convert` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1041516490843258880';
+UPDATE `jimu_report_db` SET `jimu_report_id` = '858579252534800384', `create_by` = '10001', `update_by` = '10001', `create_time` = '2025-04-16 10:36:14', `update_time` = '2025-04-16 10:36:14', `db_code` = 'ageSexPerson', `db_ch_name` = '骞撮緞鎬у埆浜烘暟琛�(sql)', `db_type` = '0', `db_table_name` = NULL, `db_dyn_sql` = 'SELECT a.s, IFNULL(aa.`鐢穈,0)`鐢穈,IFNULL(aa.`濂砢,0) `濂砢 ,(IFNULL(aa.`鐢穈,0)+IFNULL(aa.`濂砢,0)) \'allNum\'FROM \n (SELECT \'0-19宀乗' s UNION SELECT \'20-29宀乗' s UNION SELECT \'30-39宀乗' s UNION SELECT \'40-49宀乗' s UNION SELECT\'50-59宀乗's UNION SELECT \'60-69宀乗' s UNION SELECT \'70-79宀乗' s UNION SELECT \'80+\' s )a\n \n LEFT JOIN\n \n( SELECT\n	CASE\n			\n		WHEN\n			FLOOR(DATEDIFF(CURDATE(), b.cus_brithday) / 365.25) >= 0 \n			AND FLOOR(DATEDIFF(CURDATE(), b.cus_brithday) / 365.25) <= 20 THEN \'0-19宀乗' WHEN FLOOR(DATEDIFF(CURDATE(), b.cus_brithday) / 365.25) >= 20 \n				AND FLOOR(DATEDIFF(CURDATE(), b.cus_brithday) / 365.25) <= 29 THEN \'20-29宀乗' WHEN FLOOR(DATEDIFF(CURDATE(), b.cus_brithday) / 365.25) >= 30 \n					AND FLOOR(DATEDIFF(CURDATE(), b.cus_brithday) / 365.25) <= 39 THEN \'30-39宀乗' WHEN FLOOR(DATEDIFF(CURDATE(), b.cus_brithday) / 365.25) >= 40 \n						AND FLOOR(DATEDIFF(CURDATE(), b.cus_brithday) / 365.25) <= 49 THEN \'40-49宀乗' WHEN FLOOR(DATEDIFF(CURDATE(), b.cus_brithday) / 365.25) >= 50 \n							AND FLOOR(DATEDIFF(CURDATE(), b.cus_brithday) / 365.25) <= 59 THEN \'50-59宀乗' WHEN FLOOR(DATEDIFF(CURDATE(), b.cus_brithday) / 365.25) >= 60 \n								AND FLOOR(DATEDIFF(CURDATE(), b.cus_brithday) / 365.25) <= 69 THEN \'60-69宀乗' WHEN FLOOR(DATEDIFF(CURDATE(), b.cus_brithday) / 365.25) >= 70 \n									AND FLOOR(DATEDIFF(CURDATE(), b.cus_brithday) / 365.25) <= 79 THEN \'70-79宀乗' WHEN FLOOR(DATEDIFF(CURDATE(), b.cus_brithday) / 365.25) >= 80 THEN\n										\'80+\' \n									END nnd,\n						sum( CASE WHEN b.cus_sex = \'0\' THEN 1 ELSE 0 END ) 鐢�,\n						sum( CASE WHEN b.cus_sex = \'1\' THEN 1 ELSE 0 END ) 濂� \n					FROM\n						tj_order a\n						LEFT JOIN tj_customer b ON b.cus_id = a.user_id \n					WHERE\n						a.deleted = 0 \n						AND a.tj_type = 1 \n						AND a.firm_id = \'${firmId}\' \n            AND a.create_time BETWEEN \'${startTime}\' AND \'${endTime}\'\n					GROUP BY nnd \n) aa ON a.s = aa.nnd', `db_key` = NULL, `tb_db_key` = NULL, `tb_db_table_name` = NULL, `java_type` = NULL, `java_value` = NULL, `api_url` = NULL, `api_method` = NULL, `is_list` = '1', `is_page` = '0', `db_source` = '', `db_source_type` = 'mysql', `json_data` = '', `api_convert` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '859573447174152192';
+UPDATE `jimu_report_db` SET `jimu_report_id` = '858579252534800384', `create_by` = '10001', `update_by` = '10001', `create_time` = '2025-04-16 10:36:03', `update_time` = '2025-04-16 10:36:03', `db_code` = 'num', `db_ch_name` = '浜烘暟', `db_type` = '0', `db_table_name` = NULL, `db_dyn_sql` = 'SELECT\n	  aa.dw_name,\n		aa.dw_dept_name,\n		z.total as zongshu,\n		sum(case when c.cus_sex = \'0\' then 1 else 0 end) 鐢�,\n		sum(case when c.cus_sex = \'1\' then 1 else 0 end) 濂�,\n    COUNT(c.cus_sex) AS 瀹炴浜烘暟,\nz.total - COUNT(c.cus_sex) AS 鏈浜烘暟,\n    MIN(b.create_time) 寮�濮嬫椂闂�,\n		MAX(b.update_time) 缁撴潫鏃堕棿\nFROM\n	(\n	SELECT\n		a.id,\n		a.dw_id,\n		a.dw_name,\n		a.dw_dept_name \n	FROM\n		tj_dw_dept a \n	WHERE\n		a.deleted = 0 \n		AND a.dw_id = \'${firmId}\' \n	) aa\n	\n	JOIN (SELECT * FROM tj_order d WHERE d.deleted=0 AND d.tj_type <> \'2\' AND d.create_time BETWEEN \'${startTime}\' AND \'${endTime}\' GROUP BY d.user_id )  b ON b.firm_id=aa.dw_id AND b.firm_dept_id = aa.id\n	\n JOIN tj_customer c ON  c.cus_id=b.user_id\n \n LEFT JOIN (\n  SELECT COUNT(1) as total FROM tj_reservation a WHERE a.company_id = \'${firmId}\'\n ) z ON 1 = 1', `db_key` = NULL, `tb_db_key` = NULL, `tb_db_table_name` = NULL, `java_type` = NULL, `java_value` = NULL, `api_url` = NULL, `api_method` = NULL, `is_list` = '0', `is_page` = '0', `db_source` = '', `db_source_type` = 'mysql', `json_data` = '', `api_convert` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '858611931275816960';
+UPDATE `jimu_report_db` SET `jimu_report_id` = '858579252534800384', `create_by` = '10001', `update_by` = '10001', `create_time` = '2025-04-16 10:35:52', `update_time` = '2025-04-16 10:35:52', `db_code` = 'btCheckBl', `db_ch_name` = '楗煎浘瀹炴鏈姣斾緥', `db_type` = '0', `db_table_name` = NULL, `db_dyn_sql` = 'SELECT\n  \'瀹炴浜烘暟\' AS title,\n  COUNT( c.cus_sex ) AS \n`VALUE`\n  \nFROM\n  (\n  SELECT\n    a.id,\n    a.dw_id,\n    a.dw_name,\n    a.dw_dept_name \n  FROM\n    tj_dw_dept a \n  WHERE\n    a.deleted = 0 \n    AND a.dw_id = \'${firmId}\'\n  ) aa\n  JOIN ( SELECT * FROM tj_order d WHERE d.deleted = 0 AND d.tj_type <> \'2\' AND d.create_time BETWEEN \'${startTime}\' AND \'${endTime}\' GROUP BY d.user_id ) b ON b.firm_id = aa.dw_id \n  AND b.firm_dept_id = aa.id\n  JOIN tj_customer c ON c.cus_id = b.user_id\n  LEFT JOIN ( SELECT COUNT( 1 ) AS total FROM tj_reservation a WHERE a.company_id = \'${firmId}\' ) z ON 1 = 1 UNION ALL\nSELECT\n  \'鏈浜烘暟\' AS title,\n  z.total - COUNT( c.cus_sex ) AS `VALUE`\nFROM\n  (\n  SELECT\n    a.id,\n    a.dw_id,\n    a.dw_name,\n    a.dw_dept_name \n  FROM\n    tj_dw_dept a \n  WHERE\n    a.deleted = 0 \n    AND a.dw_id = \'${firmId}\'\n  ) aa\n  JOIN ( SELECT * FROM tj_order d WHERE d.deleted = 0 AND d.tj_type <> \'2\' AND d.create_time BETWEEN \'${startTime}\' AND \'${endTime}\' GROUP BY d.user_id ) b ON b.firm_id = aa.dw_id \n  AND b.firm_dept_id = aa.id\n  JOIN tj_customer c ON c.cus_id = b.user_id\n  LEFT JOIN ( SELECT COUNT( 1 ) AS total FROM tj_reservation a WHERE a.company_id = \'${firmId}\' ) z ON 1 = 1', `db_key` = NULL, `tb_db_key` = NULL, `tb_db_table_name` = NULL, `java_type` = NULL, `java_value` = NULL, `api_url` = NULL, `api_method` = NULL, `is_list` = '1', `is_page` = '0', `db_source` = '', `db_source_type` = 'mysql', `json_data` = '', `api_convert` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1042300196856037376';
+UPDATE `jimu_report_db` SET `jimu_report_id` = '858579252534800384', `create_by` = '10001', `update_by` = '10001', `create_time` = '2025-04-16 10:35:39', `update_time` = '2025-04-16 10:35:39', `db_code` = 'btNvBl', `db_ch_name` = '楗煎浘鐢峰コ姣斾緥', `db_type` = '0', `db_table_name` = NULL, `db_dyn_sql` = 'SELECT\n    \'鐢穃' AS title,\n		sum(case when c.cus_sex = \'0\' then 1 else 0 end) AS `value`\nFROM\n	(\n	SELECT\n		a.id,\n		a.dw_id,\n		a.dw_name,\n		a.dw_dept_name \n	FROM\n		tj_dw_dept a \n	WHERE\n		a.deleted = 0 \n		AND a.dw_id = \'${firmId}\'\n	) aa\n	\n	JOIN (SELECT * FROM tj_order d WHERE d.deleted=0 AND d.tj_type <> \'2\' AND d.create_time BETWEEN \'${startTime}\' AND \'${endTime}\' GROUP BY d.user_id )  b ON b.firm_id=aa.dw_id AND b.firm_dept_id = aa.id\n	\n JOIN tj_customer c ON  c.cus_id=b.user_id\n \n LEFT JOIN (\n  SELECT COUNT(1) as total FROM tj_reservation a WHERE a.company_id = \'${firmId}\'\n ) z ON 1 = 1\n \n UNION ALL\n \n SELECT\n		\'濂砛' AS title,\n		sum(case when c.cus_sex = \'1\' then 1 else 0 end) AS `value`\nFROM\n	(\n	SELECT\n		a.id,\n		a.dw_id,\n		a.dw_name,\n		a.dw_dept_name \n	FROM\n		tj_dw_dept a \n	WHERE\n		a.deleted = 0 \n		AND a.dw_id = \'${firmId}\'\n	) aa\n	\n	JOIN (SELECT * FROM tj_order d WHERE d.deleted=0 AND d.tj_type <> \'2\' AND d.create_time BETWEEN \'${startTime}\' AND \'${endTime}\' GROUP BY d.user_id )  b ON b.firm_id=aa.dw_id AND b.firm_dept_id = aa.id\n	\n JOIN tj_customer c ON  c.cus_id=b.user_id\n \n LEFT JOIN (\n  SELECT COUNT(1) as total FROM tj_reservation a WHERE a.company_id = \'${firmId}\'\n ) z ON 1 = 1', `db_key` = NULL, `tb_db_key` = NULL, `tb_db_table_name` = NULL, `java_type` = NULL, `java_value` = NULL, `api_url` = NULL, `api_method` = NULL, `is_list` = '1', `is_page` = '1', `db_source` = '', `db_source_type` = 'mysql', `json_data` = '', `api_convert` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1042298604463357952';
+UPDATE `jimu_report_db` SET `jimu_report_id` = '858579252534800384', `create_by` = '10001', `update_by` = '10001', `create_time` = '2025-04-16 10:35:26', `update_time` = '2025-04-16 10:35:39', `db_code` = 'yichangInfoHzList', `db_ch_name` = '寮傚父璇︾粏鏁版嵁姹囨��', `db_type` = '0', `db_table_name` = NULL, `db_dyn_sql` = 'SELECT \n    a.pro_name, \n    c.cus_name,\n    o.tj_number,\n    CASE \n         WHEN c.cus_brithday IS NOT NULL AND NULLIF(c.cus_brithday, NULL) IS NOT NULL THEN \n            FLOOR(DATEDIFF(CURDATE(), c.cus_brithday) / 365.25)\n        ELSE NULL\n    END AS age,\n    CASE WHEN c.cus_sex = 0 THEN \'鐢穃' \n    ELSE \'濂砛' END AS cus_sex,\n    a.temp_result,\n    g.grouping_name\nFROM tj_customer c \nLEFT JOIN tj_order o ON c.cus_id = o.user_id\nLEFT JOIN tj_dw_grouping g ON g.dw_id = o.firm_id \n                           AND g.dw_dept_id = o.firm_dept_id \n                           AND o.group_id = g.id\nLEFT JOIN (\n    SELECT p.pro_id, p.pro_name, od.pro_result AS result, CONCAT(p.pro_name,od.pro_result) AS temp_result, o.user_id\n    FROM tj_order o\n    LEFT JOIN tj_order_detail od ON o.order_id = od.order_id\n    LEFT JOIN tj_project p ON p.pro_id = od.pro_id\n    JOIN sys_dept d ON d.dept_id = p.dept_id\n    WHERE o.firm_id = \'${firmId}\'\n    AND o.create_time BETWEEN \'${startTime}\' AND \'${endTime}\'\n      AND IFNULL(od.pro_result, \'\') <> \'\'\n      AND d.org_type = 3\n      AND d.dept_id <> \'550\'\n      AND INSTR(od.pro_result, \'鏈寮傚父\') <= 0\n      AND INSTR(od.pro_result, \'鏈鏄庢樉寮傚父\') <= 0\n      AND INSTR(od.pro_result, \'鏈鍗犱綅\') <= 0\n      AND INSTR(od.pro_result, \'鏈鏄庢樉\') <= 0\n      AND INSTR(od.pro_result, \'姝e父\') <= 0\n      AND INSTR(od.pro_result, \'鍙屼晶妞庨棿瀛旀棤鐙獎\') <= 0\n      AND INSTR(od.pro_result, \'鏃犳畩\') <= 0\n    UNION\n    SELECT bgd.jcxmid, bgd.jcxm, bgd.ycbz, \n           CASE WHEN LOCATE(bgd.ycbz, \'鈫慭') THEN CONCAT(bgd.jcxm, \'鍋忛珮\')\n                ELSE CONCAT(bgd.jcxm, \'鍋忎綆\') END AS result, \n           o.user_id\n    FROM tj_order o\n    LEFT JOIN ltkj_hysqd sqd ON o.tj_number = sqd.tjh\n    JOIN ltkj_hybgd bgd ON sqd.tmh = bgd.tmh\n    WHERE o.firm_id = \'${firmId}\'\n    AND o.create_time BETWEEN \'${startTime}\' AND \'${endTime}\'\n      AND IFNULL(bgd.ycbz, \'\') <> \'\'\n    UNION\n    SELECT yc.pro_id, yc.pro_name, TRIM(yc.jcjg) AS result, \n           REPLACE(TRIM(yc.jcjg), \'\\n\', \'\') AS temp_result, \n           o.user_id\n    FROM tj_order o\n    LEFT JOIN tj_jcycxm yc ON o.tj_number = yc.tjh\n    WHERE o.firm_id = \'${firmId}\'\n    AND o.create_time BETWEEN \'${startTime}\' AND \'${endTime}\'\n      AND yc.pro_id IS NOT NULL\n) a ON a.user_id = c.cus_id\nWHERE IFNULL(a.temp_result, \'\') <> \'\'\nORDER BY a.temp_result DESC\n', `db_key` = NULL, `tb_db_key` = NULL, `tb_db_table_name` = NULL, `java_type` = NULL, `java_value` = NULL, `api_url` = NULL, `api_method` = NULL, `is_list` = '1', `is_page` = '0', `db_source` = '', `db_source_type` = 'mysql', `json_data` = '', `api_convert` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1041531739260616704';
+UPDATE `jimu_report_db_field` SET `create_by` = '10001', `create_time` = '2025-04-16 10:38:03', `update_by` = NULL, `update_time` = NULL, `jimu_report_db_id` = '1041516490843258880', `field_name` = '寮傚父椤圭洰', `field_text` = '寮傚父椤圭洰', `widget_type` = 'String', `widget_width` = NULL, `order_num` = 0, `search_flag` = NULL, `search_mode` = NULL, `dict_code` = NULL, `search_value` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1041516491044585472';
+UPDATE `jimu_report_db_field` SET `create_by` = '10001', `create_time` = '2025-04-16 10:38:03', `update_by` = NULL, `update_time` = NULL, `jimu_report_db_id` = '1041516490843258880', `field_name` = '鐢锋暟閲�', `field_text` = '鐢锋暟閲�', `widget_type` = 'String', `widget_width` = NULL, `order_num` = 1, `search_flag` = NULL, `search_mode` = NULL, `dict_code` = NULL, `search_value` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1041516491162025984';
+UPDATE `jimu_report_db_field` SET `create_by` = '10001', `create_time` = '2025-04-16 10:38:03', `update_by` = NULL, `update_time` = NULL, `jimu_report_db_id` = '1041516490843258880', `field_name` = '濂虫暟閲�', `field_text` = '濂虫暟閲�', `widget_type` = 'String', `widget_width` = NULL, `order_num` = 2, `search_flag` = NULL, `search_mode` = NULL, `dict_code` = NULL, `search_value` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1041516491250106368';
+UPDATE `jimu_report_db_field` SET `create_by` = '10001', `create_time` = '2025-04-16 10:38:03', `update_by` = NULL, `update_time` = NULL, `jimu_report_db_id` = '1041516490843258880', `field_name` = '鍚堣浜烘暟', `field_text` = '鍚堣浜烘暟', `widget_type` = 'String', `widget_width` = NULL, `order_num` = 3, `search_flag` = NULL, `search_mode` = NULL, `dict_code` = NULL, `search_value` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1041516491329798144';
+UPDATE `jimu_report_db_field` SET `create_by` = '10001', `create_time` = '2025-04-16 10:38:03', `update_by` = NULL, `update_time` = NULL, `jimu_report_db_id` = '1041516490843258880', `field_name` = '鐢风櫨鍒嗘瘮', `field_text` = '鐢风櫨鍒嗘瘮', `widget_type` = 'String', `widget_width` = NULL, `order_num` = 4, `search_flag` = NULL, `search_mode` = NULL, `dict_code` = NULL, `search_value` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1041521081148276736';
+UPDATE `jimu_report_db_field` SET `create_by` = '10001', `create_time` = '2025-04-16 10:38:03', `update_by` = NULL, `update_time` = NULL, `jimu_report_db_id` = '1041516490843258880', `field_name` = '濂崇櫨鍒嗘瘮', `field_text` = '濂崇櫨鍒嗘瘮', `widget_type` = 'String', `widget_width` = NULL, `order_num` = 5, `search_flag` = NULL, `search_mode` = NULL, `dict_code` = NULL, `search_value` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1041521081240551424';
+UPDATE `jimu_report_db_field` SET `create_by` = '10001', `create_time` = '2025-04-16 10:36:14', `update_by` = NULL, `update_time` = NULL, `jimu_report_db_id` = '859573447174152192', `field_name` = 's', `field_text` = 's', `widget_type` = 'String', `widget_width` = NULL, `order_num` = 0, `search_flag` = 0, `search_mode` = NULL, `dict_code` = NULL, `search_value` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '859573450949025792';
+UPDATE `jimu_report_db_field` SET `create_by` = '10001', `create_time` = '2025-04-16 10:36:14', `update_by` = NULL, `update_time` = NULL, `jimu_report_db_id` = '859573447174152192', `field_name` = '鐢�', `field_text` = '鐢�', `widget_type` = 'String', `widget_width` = NULL, `order_num` = 1, `search_flag` = 0, `search_mode` = NULL, `dict_code` = NULL, `search_value` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '859573453394305024';
+UPDATE `jimu_report_db_field` SET `create_by` = '10001', `create_time` = '2025-04-16 10:36:14', `update_by` = NULL, `update_time` = NULL, `jimu_report_db_id` = '859573447174152192', `field_name` = '濂�', `field_text` = '濂�', `widget_type` = 'String', `widget_width` = NULL, `order_num` = 2, `search_flag` = 0, `search_mode` = NULL, `dict_code` = NULL, `search_value` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '859573455810224128';
+UPDATE `jimu_report_db_field` SET `create_by` = '10001', `create_time` = '2025-04-16 10:36:14', `update_by` = NULL, `update_time` = NULL, `jimu_report_db_id` = '859573447174152192', `field_name` = 'allnum', `field_text` = '鎬讳汉鏁�', `widget_type` = 'String', `widget_width` = NULL, `order_num` = 3, `search_flag` = 0, `search_mode` = NULL, `dict_code` = NULL, `search_value` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '879264552793616384';
+UPDATE `jimu_report_db_field` SET `create_by` = '10001', `create_time` = '2025-04-16 10:36:04', `update_by` = NULL, `update_time` = NULL, `jimu_report_db_id` = '858611931275816960', `field_name` = '瀹炴浜烘暟', `field_text` = '瀹炴浜烘暟', `widget_type` = 'String', `widget_width` = NULL, `order_num` = 7, `search_flag` = NULL, `search_mode` = NULL, `dict_code` = NULL, `search_value` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1042286110428659712';
+UPDATE `jimu_report_db_field` SET `create_by` = '10001', `create_time` = '2025-04-16 10:36:04', `update_by` = NULL, `update_time` = NULL, `jimu_report_db_id` = '858611931275816960', `field_name` = '鏈浜烘暟', `field_text` = '鏈浜烘暟', `widget_type` = 'String', `widget_width` = NULL, `order_num` = 8, `search_flag` = NULL, `search_mode` = NULL, `dict_code` = NULL, `search_value` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1042288346990936064';
+UPDATE `jimu_report_db_field` SET `create_by` = '10001', `create_time` = '2025-04-16 10:36:04', `update_by` = NULL, `update_time` = NULL, `jimu_report_db_id` = '858611931275816960', `field_name` = '寮�濮嬫椂闂�', `field_text` = '寮�濮嬫椂闂�', `widget_type` = 'String', `widget_width` = NULL, `order_num` = 2, `search_flag` = NULL, `search_mode` = NULL, `dict_code` = NULL, `search_value` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '858938880519008256';
+UPDATE `jimu_report_db_field` SET `create_by` = '10001', `create_time` = '2025-04-16 10:36:04', `update_by` = NULL, `update_time` = NULL, `jimu_report_db_id` = '858611931275816960', `field_name` = '缁撴潫鏃堕棿', `field_text` = '缁撴潫鏃堕棿', `widget_type` = 'String', `widget_width` = NULL, `order_num` = 3, `search_flag` = NULL, `search_mode` = NULL, `dict_code` = NULL, `search_value` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '858938880862941184';
+UPDATE `jimu_report_db_field` SET `create_by` = '10001', `create_time` = '2025-04-16 10:36:04', `update_by` = NULL, `update_time` = NULL, `jimu_report_db_id` = '858611931275816960', `field_name` = 'dw_name', `field_text` = 'dw_name', `widget_type` = 'String', `widget_width` = NULL, `order_num` = 4, `search_flag` = NULL, `search_mode` = NULL, `dict_code` = NULL, `search_value` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '859315015649091584';
+UPDATE `jimu_report_db_field` SET `create_by` = '10001', `create_time` = '2025-04-16 10:36:04', `update_by` = NULL, `update_time` = NULL, `jimu_report_db_id` = '858611931275816960', `field_name` = 'dw_dept_name', `field_text` = 'dw_dept_name', `widget_type` = 'String', `widget_width` = NULL, `order_num` = 5, `search_flag` = NULL, `search_mode` = NULL, `dict_code` = NULL, `search_value` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '859315018123730944';
+UPDATE `jimu_report_db_field` SET `create_by` = '10001', `create_time` = '2025-04-16 10:36:04', `update_by` = NULL, `update_time` = NULL, `jimu_report_db_id` = '858611931275816960', `field_name` = 'zongshu', `field_text` = 'zongshu', `widget_type` = 'String', `widget_width` = NULL, `order_num` = 6, `search_flag` = NULL, `search_mode` = NULL, `dict_code` = NULL, `search_value` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '859315020598370304';
+UPDATE `jimu_report_db_field` SET `create_by` = '10001', `create_time` = '2025-04-16 10:36:03', `update_by` = NULL, `update_time` = NULL, `jimu_report_db_id` = '858611931275816960', `field_name` = '鐢�', `field_text` = '鐢�', `widget_type` = 'String', `widget_width` = NULL, `order_num` = 0, `search_flag` = NULL, `search_mode` = NULL, `dict_code` = NULL, `search_value` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '858937737814437888';
+UPDATE `jimu_report_db_field` SET `create_by` = '10001', `create_time` = '2025-04-16 10:36:03', `update_by` = NULL, `update_time` = NULL, `jimu_report_db_id` = '858611931275816960', `field_name` = '濂�', `field_text` = '濂�', `widget_type` = 'String', `widget_width` = NULL, `order_num` = 1, `search_flag` = NULL, `search_mode` = NULL, `dict_code` = NULL, `search_value` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '858937738166759424';
+UPDATE `jimu_report_db_field` SET `create_by` = '10001', `create_time` = '2025-04-16 10:35:53', `update_by` = NULL, `update_time` = NULL, `jimu_report_db_id` = '1042300196856037376', `field_name` = 'title', `field_text` = 'title', `widget_type` = 'String', `widget_width` = NULL, `order_num` = 0, `search_flag` = NULL, `search_mode` = NULL, `dict_code` = NULL, `search_value` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1042300196990255104';
+UPDATE `jimu_report_db_field` SET `create_by` = '10001', `create_time` = '2025-04-16 10:35:53', `update_by` = NULL, `update_time` = NULL, `jimu_report_db_id` = '1042300196856037376', `field_name` = 'value', `field_text` = 'value', `widget_type` = 'String', `widget_width` = NULL, `order_num` = 1, `search_flag` = NULL, `search_mode` = NULL, `dict_code` = NULL, `search_value` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1042300197082529792';
+UPDATE `jimu_report_db_field` SET `create_by` = '10001', `create_time` = '2025-04-16 10:35:39', `update_by` = NULL, `update_time` = NULL, `jimu_report_db_id` = '1042298604463357952', `field_name` = 'title', `field_text` = 'title', `widget_type` = 'String', `widget_width` = NULL, `order_num` = 0, `search_flag` = NULL, `search_mode` = NULL, `dict_code` = NULL, `search_value` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1042298604601769984';
+UPDATE `jimu_report_db_field` SET `create_by` = '10001', `create_time` = '2025-04-16 10:35:39', `update_by` = NULL, `update_time` = NULL, `jimu_report_db_id` = '1042298604463357952', `field_name` = 'value', `field_text` = 'value', `widget_type` = 'String', `widget_width` = NULL, `order_num` = 1, `search_flag` = NULL, `search_mode` = NULL, `dict_code` = NULL, `search_value` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1042298604677267456';
+UPDATE `jimu_report_db_field` SET `create_by` = '10001', `create_time` = '2025-04-16 10:35:26', `update_by` = NULL, `update_time` = NULL, `jimu_report_db_id` = '1041531739260616704', `field_name` = 'pro_name', `field_text` = 'pro_name', `widget_type` = 'String', `widget_width` = NULL, `order_num` = 0, `search_flag` = NULL, `search_mode` = NULL, `dict_code` = NULL, `search_value` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1041531739369668608';
+UPDATE `jimu_report_db_field` SET `create_by` = '10001', `create_time` = '2025-04-16 10:35:26', `update_by` = NULL, `update_time` = NULL, `jimu_report_db_id` = '1041531739260616704', `field_name` = 'cus_name', `field_text` = 'cus_name', `widget_type` = 'String', `widget_width` = NULL, `order_num` = 1, `search_flag` = NULL, `search_mode` = NULL, `dict_code` = NULL, `search_value` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1041531739445166080';
+UPDATE `jimu_report_db_field` SET `create_by` = '10001', `create_time` = '2025-04-16 10:35:26', `update_by` = NULL, `update_time` = NULL, `jimu_report_db_id` = '1041531739260616704', `field_name` = 'tj_number', `field_text` = 'tj_number', `widget_type` = 'String', `widget_width` = NULL, `order_num` = 2, `search_flag` = NULL, `search_mode` = NULL, `dict_code` = NULL, `search_value` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1041531739508080640';
+UPDATE `jimu_report_db_field` SET `create_by` = '10001', `create_time` = '2025-04-16 10:35:26', `update_by` = NULL, `update_time` = NULL, `jimu_report_db_id` = '1041531739260616704', `field_name` = 'temp_result', `field_text` = 'temp_result', `widget_type` = 'String', `widget_width` = NULL, `order_num` = 3, `search_flag` = NULL, `search_mode` = NULL, `dict_code` = NULL, `search_value` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1041531739562606592';
+UPDATE `jimu_report_db_field` SET `create_by` = '10001', `create_time` = '2025-04-16 10:35:26', `update_by` = NULL, `update_time` = NULL, `jimu_report_db_id` = '1041531739260616704', `field_name` = 'grouping_name', `field_text` = 'grouping_name', `widget_type` = 'String', `widget_width` = NULL, `order_num` = 4, `search_flag` = NULL, `search_mode` = NULL, `dict_code` = NULL, `search_value` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1041531739621326848';
+UPDATE `jimu_report_db_field` SET `create_by` = '10001', `create_time` = '2025-04-16 10:35:26', `update_by` = NULL, `update_time` = NULL, `jimu_report_db_id` = '1041531739260616704', `field_name` = 'age', `field_text` = 'age', `widget_type` = 'String', `widget_width` = NULL, `order_num` = 5, `search_flag` = NULL, `search_mode` = NULL, `dict_code` = NULL, `search_value` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1041557683337723904';
+UPDATE `jimu_report_db_param` SET `jimu_report_head_id` = '1041516490843258880', `param_name` = 'firmId', `param_txt` = '鍗曚綅', `param_value` = '', `order_num` = 1, `create_by` = '10001', `create_time` = '2025-04-16 10:38:03', `update_by` = NULL, `update_time` = NULL, `search_flag` = 1, `widget_type` = NULL, `search_mode` = 7, `dict_code` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1041516491422072832';
+UPDATE `jimu_report_db_param` SET `jimu_report_head_id` = '1041516490843258880', `param_name` = 'startTime', `param_txt` = '寮�濮嬫椂闂�', `param_value` = '=dateStr(\'yyyy-MM-dd\', -30)', `order_num` = 2, `create_by` = '10001', `create_time` = '2025-04-16 10:38:03', `update_by` = NULL, `update_time` = NULL, `search_flag` = 1, `widget_type` = 'date', `search_mode` = NULL, `dict_code` = NULL, `search_format` = 'yyyy-MM-dd', `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1072294145787985920';
+UPDATE `jimu_report_db_param` SET `jimu_report_head_id` = '1041516490843258880', `param_name` = 'endTime', `param_txt` = '缁撴潫鏃堕棿', `param_value` = '=dateStr(\'yyyy-MM-dd\')', `order_num` = 3, `create_by` = '10001', `create_time` = '2025-04-16 10:38:03', `update_by` = NULL, `update_time` = NULL, `search_flag` = 1, `widget_type` = 'date', `search_mode` = NULL, `dict_code` = NULL, `search_format` = 'yyyy-MM-dd', `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1072294145867677696';
+UPDATE `jimu_report_db_param` SET `jimu_report_head_id` = '859573447174152192', `param_name` = 'startTime', `param_txt` = '寮�濮嬫椂闂�', `param_value` = '=dateStr(\'yyyy-MM-dd\', -30)', `order_num` = 2, `create_by` = '10001', `create_time` = '2025-04-16 10:36:14', `update_by` = NULL, `update_time` = NULL, `search_flag` = 1, `widget_type` = 'date', `search_mode` = NULL, `dict_code` = NULL, `search_format` = 'yyyy-MM-dd', `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1072305754916814848';
+UPDATE `jimu_report_db_param` SET `jimu_report_head_id` = '859573447174152192', `param_name` = 'endTime', `param_txt` = '缁撴潫鏃堕棿', `param_value` = '=dateStr(\'yyyy-MM-dd\')', `order_num` = 3, `create_by` = '10001', `create_time` = '2025-04-16 10:36:14', `update_by` = NULL, `update_time` = NULL, `search_flag` = 1, `widget_type` = 'date', `search_mode` = NULL, `dict_code` = NULL, `search_format` = 'yyyy-MM-dd', `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1072305754992312320';
+UPDATE `jimu_report_db_param` SET `jimu_report_head_id` = '859573447174152192', `param_name` = 'firmId', `param_txt` = 'firmId', `param_value` = '', `order_num` = 1, `create_by` = '10001', `create_time` = '2025-04-16 10:36:14', `update_by` = NULL, `update_time` = NULL, `search_flag` = 1, `widget_type` = NULL, `search_mode` = 7, `dict_code` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '859573458565881856';
+UPDATE `jimu_report_db_param` SET `jimu_report_head_id` = '858611931275816960', `param_name` = 'startTime', `param_txt` = '寮�濮嬫椂闂�', `param_value` = '=dateStr(\'yyyy-MM-dd\', -30)', `order_num` = 2, `create_by` = '10001', `create_time` = '2025-04-16 10:36:04', `update_by` = NULL, `update_time` = NULL, `search_flag` = 1, `widget_type` = 'date', `search_mode` = NULL, `dict_code` = NULL, `search_format` = 'yyyy-MM-dd', `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1072305550838759424';
+UPDATE `jimu_report_db_param` SET `jimu_report_head_id` = '858611931275816960', `param_name` = 'endTime', `param_txt` = '缁撴潫鏃堕棿', `param_value` = '=dateStr(\'yyyy-MM-dd\')', `order_num` = 3, `create_by` = '10001', `create_time` = '2025-04-16 10:36:04', `update_by` = NULL, `update_time` = NULL, `search_flag` = 1, `widget_type` = 'date', `search_mode` = NULL, `dict_code` = NULL, `search_format` = 'yyyy-MM-dd', `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1072305550905868288';
+UPDATE `jimu_report_db_param` SET `jimu_report_head_id` = '858611931275816960', `param_name` = 'firmId', `param_txt` = 'firmId', `param_value` = '', `order_num` = 1, `create_by` = '10001', `create_time` = '2025-04-16 10:36:04', `update_by` = NULL, `update_time` = NULL, `search_flag` = 1, `widget_type` = NULL, `search_mode` = 7, `dict_code` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '859229976093548544';
+UPDATE `jimu_report_db_param` SET `jimu_report_head_id` = '1042300196856037376', `param_name` = 'firmId', `param_txt` = 'firmId', `param_value` = '', `order_num` = 1, `create_by` = '10001', `create_time` = '2025-04-16 10:35:53', `update_by` = NULL, `update_time` = NULL, `search_flag` = 1, `widget_type` = NULL, `search_mode` = 7, `dict_code` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1042300197174804480';
+UPDATE `jimu_report_db_param` SET `jimu_report_head_id` = '1042300196856037376', `param_name` = 'startTime', `param_txt` = '寮�濮嬫椂闂�', `param_value` = '=dateStr(\'yyyy-MM-dd\', -30)', `order_num` = 2, `create_by` = '10001', `create_time` = '2025-04-16 10:35:53', `update_by` = NULL, `update_time` = NULL, `search_flag` = 1, `widget_type` = 'date', `search_mode` = NULL, `dict_code` = NULL, `search_format` = 'yyyy-MM-dd', `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1072305368659165184';
+UPDATE `jimu_report_db_param` SET `jimu_report_head_id` = '1042300196856037376', `param_name` = 'endTime', `param_txt` = '缁撴潫鏃堕棿', `param_value` = '=dateStr(\'yyyy-MM-dd\')', `order_num` = 3, `create_by` = '10001', `create_time` = '2025-04-16 10:35:53', `update_by` = NULL, `update_time` = NULL, `search_flag` = 1, `widget_type` = 'date', `search_mode` = NULL, `dict_code` = NULL, `search_format` = 'yyyy-MM-dd', `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1072305368734662656';
+UPDATE `jimu_report_db_param` SET `jimu_report_head_id` = '1042298604463357952', `param_name` = 'firmId', `param_txt` = 'firmId', `param_value` = '', `order_num` = 1, `create_by` = '10001', `create_time` = '2025-04-16 10:35:39', `update_by` = NULL, `update_time` = NULL, `search_flag` = 1, `widget_type` = NULL, `search_mode` = 7, `dict_code` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1042298604756959232';
+UPDATE `jimu_report_db_param` SET `jimu_report_head_id` = '1042298604463357952', `param_name` = 'startTime', `param_txt` = '寮�濮嬫椂闂�', `param_value` = '=dateStr(\'yyyy-MM-dd\', -30)', `order_num` = 2, `create_by` = '10001', `create_time` = '2025-04-16 10:35:39', `update_by` = NULL, `update_time` = NULL, `search_flag` = 1, `widget_type` = 'date', `search_mode` = NULL, `dict_code` = NULL, `search_format` = 'yyyy-MM-dd', `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1072296077134954496';
+UPDATE `jimu_report_db_param` SET `jimu_report_head_id` = '1042298604463357952', `param_name` = 'endTime', `param_txt` = '缁撴潫鏃堕棿', `param_value` = '=dateStr(\'yyyy-MM-dd\')', `order_num` = 3, `create_by` = '10001', `create_time` = '2025-04-16 10:35:39', `update_by` = NULL, `update_time` = NULL, `search_flag` = 1, `widget_type` = 'date', `search_mode` = NULL, `dict_code` = NULL, `search_format` = 'yyyy-MM-dd', `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1072296077210451968';
+UPDATE `jimu_report_db_param` SET `jimu_report_head_id` = '1041531739260616704', `param_name` = 'firmId', `param_txt` = 'firmId', `param_value` = '', `order_num` = 2, `create_by` = '10001', `create_time` = '2025-04-16 10:35:26', `update_by` = NULL, `update_time` = NULL, `search_flag` = 1, `widget_type` = NULL, `search_mode` = 7, `dict_code` = NULL, `search_format` = NULL, `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1041531739755544576';
+UPDATE `jimu_report_db_param` SET `jimu_report_head_id` = '1041531739260616704', `param_name` = 'startTime', `param_txt` = '寮�濮嬫椂闂�', `param_value` = '=dateStr(\'yyyy-MM-dd\', -30)', `order_num` = 3, `create_by` = '10001', `create_time` = '2025-04-16 10:35:26', `update_by` = NULL, `update_time` = NULL, `search_flag` = 1, `widget_type` = 'date', `search_mode` = NULL, `dict_code` = NULL, `search_format` = 'yyyy-MM-dd', `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1072294642875924480';
+UPDATE `jimu_report_db_param` SET `jimu_report_head_id` = '1041531739260616704', `param_name` = 'endTime', `param_txt` = '缁撴潫鏃堕棿', `param_value` = '=dateStr(\'yyyy-MM-dd\')', `order_num` = 4, `create_by` = '10001', `create_time` = '2025-04-16 10:35:26', `update_by` = NULL, `update_time` = NULL, `search_flag` = 1, `widget_type` = 'date', `search_mode` = NULL, `dict_code` = NULL, `search_format` = 'yyyy-MM-dd', `ext_json` = '', `create_id` = NULL, `update_id` = NULL WHERE `id` = '1072294642943033344';
+
+
+
+-- 閲戝爢鎴愬啓姝诲尰甯堝伐浣滈噺缁熻
+INSERT INTO `jimu_report` (`id`, `code`, `name`, `note`, `status`, `type`, `json_str`, `api_url`, `thumb`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `api_method`, `api_code`, `template`, `view_count`, `css_str`, `js_str`, `tenant_id`, `print_type`, `is_start`, `create_id`, `update_id`) VALUES ('1075551507869106176', '20250425100700', '鍖诲笀宸ヤ綔閲忕粺璁�', NULL, NULL, 'datainfo', '{\"loopBlockList\":[],\"area\":{\"sri\":5,\"sci\":2,\"eri\":5,\"eci\":2,\"width\":100,\"height\":25},\"excel_config_id\":\"1075551507869106176\",\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10,\"layout\":\"portrait\",\"printCallBackUrl\":\"\"},\"zonedEditionList\":[],\"rows\":{\"0\":{\"cells\":{\"0\":{\"merge\":[3,6],\"height\":100,\"text\":\"鍖诲笀宸ヤ綔閲忕粺璁",\"style\":4},\"1\":{\"style\":5,\"text\":\" \"},\"2\":{\"style\":5,\"text\":\" \"},\"3\":{\"style\":5,\"text\":\" \"},\"4\":{\"style\":5,\"text\":\" \"},\"5\":{\"style\":5,\"text\":\" \"},\"6\":{\"style\":5,\"text\":\" \"}}},\"1\":{\"cells\":{\"0\":{\"style\":5,\"text\":\" \"},\"1\":{\"style\":5,\"text\":\" \"},\"2\":{\"style\":5,\"text\":\" \"},\"3\":{\"style\":5,\"text\":\" \"},\"4\":{\"style\":5,\"text\":\" \"},\"5\":{\"style\":5,\"text\":\" \"},\"6\":{\"style\":5,\"text\":\" \"}}},\"2\":{\"cells\":{\"0\":{\"style\":5,\"text\":\" \"},\"1\":{\"style\":5,\"text\":\" \"},\"2\":{\"style\":5,\"text\":\" \"},\"3\":{\"style\":5,\"text\":\" \"},\"4\":{\"style\":5,\"text\":\" \"},\"5\":{\"style\":5,\"text\":\" \"},\"6\":{\"style\":5,\"text\":\" \"}}},\"3\":{\"cells\":{\"0\":{\"style\":5,\"text\":\" \"},\"1\":{\"style\":5,\"text\":\" \"},\"2\":{\"style\":5,\"text\":\" \"},\"3\":{\"style\":5,\"text\":\" \"},\"4\":{\"style\":5,\"text\":\" \"},\"5\":{\"style\":5,\"text\":\" \"},\"6\":{\"style\":5,\"text\":\" \"}}},\"4\":{\"cells\":{\"1\":{\"style\":11,\"text\":\" 搴忓彿\"},\"2\":{\"style\":11,\"text\":\"宸ュ彿\"},\"3\":{\"style\":11,\"text\":\" 鍖荤敓 \"},\"4\":{\"style\":11,\"text\":\" 浜烘暟\",\"merge\":[0,1],\"height\":25},\"5\":{\"style\":12,\"text\":\" \"}}},\"5\":{\"cells\":{\"1\":{\"style\":8,\"text\":\"=row(1)\"},\"2\":{\"text\":\"#{ctResult.gh}\",\"style\":8},\"3\":{\"text\":\"#{ctResult.name}\",\"style\":8},\"4\":{\"style\":8,\"text\":\"#{ctResult.num}\",\"merge\":[0,1],\"height\":25}}},\"7\":{\"cells\":{\"11\":{\"text\":\"\"}}},\"8\":{\"cells\":{\"1\":{\"style\":11,\"text\":\"搴忓彿 \"},\"2\":{\"style\":11,\"text\":\"宸ュ彿\"},\"3\":{\"style\":11,\"text\":\"  鍖荤敓\"},\"4\":{\"style\":11,\"text\":\" 浜烘暟\",\"merge\":[0,1],\"height\":25},\"5\":{\"style\":16,\"text\":\" \"},\"6\":{\"text\":\"\"}}},\"9\":{\"cells\":{\"1\":{\"style\":8,\"text\":\"=row(2)\"},\"2\":{\"style\":8,\"text\":\"#{bcResult.gh}\"},\"3\":{\"style\":8,\"text\":\"#{bcResult.name}\"},\"4\":{\"style\":8,\"text\":\"#{bcResult.num}\",\"merge\":[0,1],\"height\":25},\"6\":{\"text\":\"\"}}},\"len\":100},\"dbexps\":[],\"dicts\":[],\"rpbar\":{\"show\":true,\"pageSize\":\"\",\"btnList\":[]},\"fixedPrintHeadRows\":[],\"fixedPrintTailRows\":[],\"freeze\":\"A1\",\"dataRectWidth\":700,\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"font\":{\"bold\":true}},{\"font\":{\"bold\":true},\"align\":\"center\"},{\"font\":{\"bold\":true,\"size\":15},\"align\":\"center\"},{\"font\":{\"bold\":true,\"size\":15}},{\"font\":{\"bold\":true,\"size\":22},\"align\":\"center\"},{\"font\":{\"bold\":true,\"size\":22}},{\"bgcolor\":\"#deeaf6\"},{\"bgcolor\":\"#deeaf6\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"bgcolor\":\"#deeaf6\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\"},{\"bgcolor\":\"#deeaf6\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"font\":{\"bold\":true}},{\"bgcolor\":\"#deeaf6\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"font\":{\"bold\":true,\"size\":12}},{\"font\":{\"bold\":true,\"size\":12}},{\"bgcolor\":\"#deeaf6\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"font\":{\"size\":12}},{\"font\":{\"size\":12}},{\"bgcolor\":\"#deeaf6\",\"font\":{\"size\":12}},{\"bgcolor\":\"#deeaf6\",\"font\":{\"size\":12,\"bold\":true}},{\"bgcolor\":\"#deeaf6\",\"font\":{\"size\":12,\"bold\":true},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}}],\"validations\":[],\"cols\":{\"len\":50},\"merges\":[\"A1:G4\",\"E5:F5\",\"E6:F6\",\"E9:F9\",\"E10:F10\"]}', NULL, NULL, '10001', '2025-04-25 10:07:00', '10001', '2025-04-25 10:47:43', 0, NULL, NULL, 0, 7, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `jimu_report_db` (`id`, `jimu_report_id`, `create_by`, `update_by`, `create_time`, `update_time`, `db_code`, `db_ch_name`, `db_type`, `db_table_name`, `db_dyn_sql`, `db_key`, `tb_db_key`, `tb_db_table_name`, `java_type`, `java_value`, `api_url`, `api_method`, `is_list`, `is_page`, `db_source`, `db_source_type`, `json_data`, `api_convert`, `create_id`, `update_id`) VALUES ('1075565490034475008', '1075551507869106176', '10001', '10001', '2025-04-25 10:39:53', '2025-04-25 10:39:53', 'ctResult', '鏌ヤ綋缁熻', '0', NULL, 'SELECT\n    r.update_by as name,\n    COUNT(r.remark_id) AS num,\n    u.user_name AS gh\n  FROM\n    tj_order_remark r\n    JOIN sys_user u ON r.update_id = u.user_id\n  WHERE\n    r.pro_id = 1898989248524386306\n    AND r.doctor_name IN (\'2002\', \'2077\')\n    AND r.update_time BETWEEN \'${start}\' AND \'${end}\'\n  GROUP BY r.doctor_name;', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '1', '', 'mysql', '', '', NULL, NULL);
+INSERT INTO `jimu_report_db` (`id`, `jimu_report_id`, `create_by`, `update_by`, `create_time`, `update_time`, `db_code`, `db_ch_name`, `db_type`, `db_table_name`, `db_dyn_sql`, `db_key`, `tb_db_key`, `tb_db_table_name`, `java_type`, `java_value`, `api_url`, `api_method`, `is_list`, `is_page`, `db_source`, `db_source_type`, `json_data`, `api_convert`, `create_id`, `update_id`) VALUES ('1075566668306743296', '1075551507869106176', '10001', '10001', '2025-04-25 10:37:27', '2025-04-25 10:39:53', 'bcResult', 'B瓒呯粺璁�', '0', NULL, 'SELECT\n  shysxm AS `name`,\n  COUNT( id ) AS num,\n  u.user_name AS gh\nFROM\n  ltkj_exam_jcbgd j\n  LEFT JOIN sys_user u ON j.shysxm = u.nick_name\nWHERE\n  LOCATE( \'1878964342340526305\', xmdm ) \n  AND j.sqsj BETWEEN \'${start}\' AND \'${end}\'\nGROUP BY\n  shysxm', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '0', '', 'mysql', '', '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1075565490395185152', '10001', '2025-04-25 10:39:53', NULL, NULL, '1075565490034475008', 'num', 'num', 'String', NULL, 0, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1075565490550374400', '10001', '2025-04-25 10:39:53', NULL, NULL, '1075565490034475008', 'name', 'name', 'String', NULL, 1, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1075572969619357696', '10001', '2025-04-25 10:39:53', NULL, NULL, '1075565490034475008', 'gh', 'gh', 'String', NULL, 2, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1075571471204253696', '10001', '2025-04-25 10:37:27', NULL, NULL, '1075566668306743296', 'name', 'name', 'String', NULL, 0, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1075571471351054336', '10001', '2025-04-25 10:37:27', NULL, NULL, '1075566668306743296', 'num', 'num', 'String', NULL, 1, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1075572614131122176', '10001', '2025-04-25 10:37:27', NULL, NULL, '1075566668306743296', 'gh', 'gh', 'String', NULL, 2, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_param` (`id`, `jimu_report_head_id`, `param_name`, `param_txt`, `param_value`, `order_num`, `create_by`, `create_time`, `update_by`, `update_time`, `search_flag`, `widget_type`, `search_mode`, `dict_code`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1075573671439663104', '1075565490034475008', 'start', '寮�濮嬫椂闂�', '=dateStr(\'yyyy-MM-dd\', -30)', 1, '10001', '2025-04-25 10:39:53', NULL, NULL, 1, 'date', NULL, NULL, 'yyyy-MM-dd', '', NULL, NULL);
+INSERT INTO `jimu_report_db_param` (`id`, `jimu_report_head_id`, `param_name`, `param_txt`, `param_value`, `order_num`, `create_by`, `create_time`, `update_by`, `update_time`, `search_flag`, `widget_type`, `search_mode`, `dict_code`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1075573671582269440', '1075565490034475008', 'end', '缁撴潫鏃堕棿', '=dateStr(\'yyyy-MM-dd\')', 2, '10001', '2025-04-25 10:39:53', NULL, NULL, 1, 'date', NULL, NULL, 'yyyy-MM-dd', '', NULL, NULL);
+INSERT INTO `jimu_report_db_param` (`id`, `jimu_report_head_id`, `param_name`, `param_txt`, `param_value`, `order_num`, `create_by`, `create_time`, `update_by`, `update_time`, `search_flag`, `widget_type`, `search_mode`, `dict_code`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1075574286374961152', '1075566668306743296', 'start', '寮�濮嬫椂闂�', '=dateStr(\'yyyy-MM-dd\', -30)', 1, '10001', '2025-04-25 10:37:27', NULL, NULL, 1, 'date', NULL, NULL, 'yyyy-MM-dd', '', NULL, NULL);
+INSERT INTO `jimu_report_db_param` (`id`, `jimu_report_head_id`, `param_name`, `param_txt`, `param_value`, `order_num`, `create_by`, `create_time`, `update_by`, `update_time`, `search_flag`, `widget_type`, `search_mode`, `dict_code`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1075574286513373184', '1075566668306743296', 'end', '缁撴潫鏃堕棿', '=dateStr(\'yyyy-MM-dd\')', 2, '10001', '2025-04-25 10:37:27', NULL, NULL, 1, 'date', NULL, NULL, 'yyyy-MM-dd', '', NULL, NULL);
+
+-- 浜哄憳缂磋垂缁熻
+INSERT INTO `jimu_report` (`id`, `code`, `name`, `note`, `status`, `type`, `json_str`, `api_url`, `thumb`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `api_method`, `api_code`, `template`, `view_count`, `css_str`, `js_str`, `tenant_id`, `print_type`, `is_start`, `create_id`, `update_id`) VALUES ('1072318375476887552', '20250416112329', '浜哄憳缂磋垂缁熻', NULL, NULL, 'datainfo', '{\"loopBlockList\":[],\"area\":{\"sri\":5,\"sci\":3,\"eri\":5,\"eci\":3,\"width\":100,\"height\":25},\"excel_config_id\":\"1072318375476887552\",\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10,\"layout\":\"portrait\",\"printCallBackUrl\":\"\"},\"zonedEditionList\":[],\"rows\":{\"0\":{\"cells\":{\"0\":{\"merge\":[2,6],\"height\":75,\"text\":\"浜哄憳缂磋垂缁熻\",\"style\":9}}},\"1\":{\"cells\":{}},\"2\":{\"cells\":{}},\"4\":{\"cells\":{\"1\":{\"style\":14,\"text\":\"搴忓彿\"},\"2\":{\"style\":14,\"text\":\"濮撳悕\"},\"3\":{\"style\":14,\"text\":\"鎬у埆\"},\"4\":{\"style\":14,\"text\":\"缂磋垂閲戦\"},\"5\":{\"style\":14,\"text\":\"浣撴鏃ユ湡\"}}},\"5\":{\"cells\":{\"1\":{\"style\":17,\"text\":\"=row(1)\"},\"2\":{\"style\":11,\"text\":\"#{result.cus_name}\"},\"3\":{\"style\":11,\"text\":\"#{result.sex}\"},\"4\":{\"style\":11,\"text\":\"#{result.paid_in}\"},\"5\":{\"style\":11,\"text\":\"#{result.create_time}\"},\"7\":{\"text\":\"\"}}},\"7\":{\"cells\":{\"3\":{\"text\":\"鎬昏锛歕",\"style\":15},\"4\":{\"text\":\"=SUM(D6)\"}}},\"len\":100},\"dbexps\":[],\"dicts\":[],\"rpbar\":{\"show\":true,\"pageSize\":\"\",\"btnList\":[]},\"fixedPrintHeadRows\":[],\"fixedPrintTailRows\":[],\"freeze\":\"A1\",\"dataRectWidth\":640,\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"font\":{\"bold\":true}},{\"font\":{\"bold\":true},\"align\":\"center\"},{\"font\":{\"bold\":true,\"size\":12},\"align\":\"center\"},{\"font\":{\"bold\":true,\"size\":12}},{\"font\":{\"bold\":true,\"size\":14},\"align\":\"center\"},{\"font\":{\"bold\":true,\"size\":14}},{\"font\":{\"bold\":true,\"size\":14},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"bold\":true,\"size\":16},\"align\":\"center\"},{\"font\":{\"bold\":true,\"size\":16}},{\"font\":{\"bold\":true,\"size\":18},\"align\":\"center\"},{\"font\":{\"bold\":true,\"size\":18}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#deeaf6\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#deeaf6\",\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#deeaf6\",\"align\":\"center\",\"font\":{\"bold\":true}},{\"align\":\"right\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#deeaf6\",\"font\":{\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\"},{\"bgcolor\":\"#deeaf6\"}],\"validations\":[],\"cols\":{\"4\":{\"width\":140},\"len\":50},\"merges\":[\"A1:G3\"]}', NULL, NULL, '10001', '2025-04-16 11:23:30', '10001', '2025-04-17 09:06:24', 0, NULL, NULL, 0, 38, NULL, 'function init(){\n    let headers = { \'hospId\': \'pbkwyy\'};\n    let params = {params: {pid: \'\',type:\'1\'},headers: headers}\n    // let url = \'http://192.168.1.2:5011/reservation/reservation/linkage\'\n    let url = \'http://10.100.100.117:5101/ltkj-admin/reservation/reservation/linkage\'\n    $http.metaGet(url ,params).then(res=>{\n        let options =  res.data;\n        this.updateSelectOptions(\'result\', \'firmId\', options)\n    })\n}\n', NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `jimu_report_db` (`id`, `jimu_report_id`, `create_by`, `update_by`, `create_time`, `update_time`, `db_code`, `db_ch_name`, `db_type`, `db_table_name`, `db_dyn_sql`, `db_key`, `tb_db_key`, `tb_db_table_name`, `java_type`, `java_value`, `api_url`, `api_method`, `is_list`, `is_page`, `db_source`, `db_source_type`, `json_data`, `api_convert`, `create_id`, `update_id`) VALUES ('1072324253588422656', '1072318375476887552', '10001', '10001', '2025-04-17 09:04:14', '2025-04-17 09:04:14', 'result', '缁撴灉', '0', NULL, 'SELECT\n  c.cus_name,\n  o.create_time,\n  w.paid_in,\nCASE\n    WHEN c.cus_sex = \'0\' THEN\n    \'鐢穃' \n    WHEN c.cus_sex = \'1\' THEN\n    \'濂砛' ELSE \'鏈煡\' \n  END AS sex ,\n  c.cus_id,\n  SUM(w.paid_in) AS price\nFROM\n  tj_order o\n  LEFT JOIN tj_flowing_water w ON o.order_id = w.order_id\n  JOIN tj_customer c ON o.user_id = c.cus_id\nWHERE\n((\'${type}\' = \'\' OR \'${type}\' = \'0\') OR o.tj_type = \'${type}\')\n AND o.create_time BETWEEN \'${startTime} 00:00:00\' AND \'${endTime} 23:59:59\'\n AND (\'${firmId}\' = \'\' OR o.firm_id = \'${firmId}\')\n AND (\'${p_sex}\' = \'\' OR c.cus_sex = \'${p_sex}\')\n AND w.deleted = 0 AND o.deleted = 0\nGROUP BY c.cus_id\n\n', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '0', '', 'mysql', '', '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1072324253752000512', '10001', '2025-04-17 09:04:14', NULL, NULL, '1072324253588422656', 'cus_name', 'cus_name', 'String', NULL, 0, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1072324253848469504', '10001', '2025-04-17 09:04:14', NULL, NULL, '1072324253588422656', 'create_time', 'create_time', 'String', NULL, 1, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1072324253949132800', '10001', '2025-04-17 09:04:14', NULL, NULL, '1072324253588422656', 'paid_in', 'paid_in', 'String', NULL, 2, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1072650631798095872', '10001', '2025-04-17 09:04:14', NULL, NULL, '1072324253588422656', 'price', 'price', 'String', NULL, 3, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1072650631869399040', '10001', '2025-04-17 09:04:14', NULL, NULL, '1072324253588422656', 'sex', 'sex', 'String', NULL, 4, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_field` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `jimu_report_db_id`, `field_name`, `field_text`, `widget_type`, `widget_width`, `order_num`, `search_flag`, `search_mode`, `dict_code`, `search_value`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1072650631953285120', '10001', '2025-04-17 09:04:14', NULL, NULL, '1072324253588422656', 'cus_id', 'cus_id', 'String', NULL, 5, NULL, NULL, NULL, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_param` (`id`, `jimu_report_head_id`, `param_name`, `param_txt`, `param_value`, `order_num`, `create_by`, `create_time`, `update_by`, `update_time`, `search_flag`, `widget_type`, `search_mode`, `dict_code`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1072324254041407488', '1072324253588422656', 'type', '浣撴绫诲瀷', '0', 1, '10001', '2025-04-17 09:04:14', NULL, NULL, 1, 'string', 4, 'tj_type', NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_param` (`id`, `jimu_report_head_id`, `param_name`, `param_txt`, `param_value`, `order_num`, `create_by`, `create_time`, `update_by`, `update_time`, `search_flag`, `widget_type`, `search_mode`, `dict_code`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1072324254133682176', '1072324253588422656', 'startTime', '寮�濮嬫椂闂�', '=dateStr(\'yyyy-MM-dd\', -30)', 2, '10001', '2025-04-17 09:04:14', NULL, NULL, 1, 'date', NULL, NULL, 'yyyy-MM-dd', '', NULL, NULL);
+INSERT INTO `jimu_report_db_param` (`id`, `jimu_report_head_id`, `param_name`, `param_txt`, `param_value`, `order_num`, `create_by`, `create_time`, `update_by`, `update_time`, `search_flag`, `widget_type`, `search_mode`, `dict_code`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1072324254217568256', '1072324253588422656', 'endTime', '缁撴潫鏃堕棿', '=dateStr(\'yyyy-MM-dd\')', 3, '10001', '2025-04-17 09:04:14', NULL, NULL, 1, 'date', NULL, NULL, 'yyyy-MM-dd', '', NULL, NULL);
+INSERT INTO `jimu_report_db_param` (`id`, `jimu_report_head_id`, `param_name`, `param_txt`, `param_value`, `order_num`, `create_by`, `create_time`, `update_by`, `update_time`, `search_flag`, `widget_type`, `search_mode`, `dict_code`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1072324254297260032', '1072324253588422656', 'firmId', '鍗曚綅', '', 4, '10001', '2025-04-17 09:04:14', NULL, NULL, 1, 'string', 7, NULL, NULL, '', NULL, NULL);
+INSERT INTO `jimu_report_db_param` (`id`, `jimu_report_head_id`, `param_name`, `param_txt`, `param_value`, `order_num`, `create_by`, `create_time`, `update_by`, `update_time`, `search_flag`, `widget_type`, `search_mode`, `dict_code`, `search_format`, `ext_json`, `create_id`, `update_id`) VALUES ('1072652038089506816', '1072324253588422656', 'p_sex', '鎬у埆', '', 5, '10001', '2025-04-17 09:04:14', NULL, NULL, 1, NULL, 4, 'sex', NULL, '', NULL, NULL);
+
+
+-- 杞欢鎶撳浘涓婁紶鎺ュ彛 闇�瑕佷笂浼犵殑鍥剧墖瑙嗗浘
+CREATE view  v_gnkssctp
+as
+SELECT (case when a.his_xmdm='8522' then 'xdt' else '' end) gnlx,concat(c.cus_name,'_',a.id,'.jpg') picname
+FROM ltkj_jianchajianyan_tree a
+left join tj_order b  on b.card_id = a.card_id join tj_customer c on c.cus_id = b.user_id
+left join sys_attachment d on d.old_file_name<>concat(c.cus_name,'_',a.id,'.jpg')
+where a.his_xmdm  in ('8522','gmd');
diff --git "a/ltkj-admin/src/main/resources/sql/\350\201\214\344\270\232\347\227\205.sql" "b/ltkj-admin/src/main/resources/sql/\350\201\214\344\270\232\347\227\205.sql"
new file mode 100644
index 0000000..b32a17c
--- /dev/null
+++ "b/ltkj-admin/src/main/resources/sql/\350\201\214\344\270\232\347\227\205.sql"
@@ -0,0 +1,20 @@
+INSERT INTO `sys_dict_data` (`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`, `deleted`, `create_id`, `update_id`) VALUES (5, '鑱屼笟涓汉', '5', 'dict_team', NULL, 'default', 'N', '0', '瓒呯骇绠$悊鍛�', '2025-05-09 08:55:46', '', NULL, NULL, 0, NULL, NULL);
+INSERT INTO `sys_dict_data` (`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`, `deleted`, `create_id`, `update_id`) VALUES (6, '鑱屼笟鍥㈤槦', '6', 'dict_team', NULL, 'default', 'N', '0', '瓒呯骇绠$悊鍛�', '2025-05-09 08:55:58', '', NULL, NULL, 0, NULL, NULL);
+
+
+ALTER TABLE tj_ask_medical_history ADD COLUMN medical_history_ids VARCHAR(255) NULL BEFORE medical_history;
+ALTER TABLE tj_ask_medical_history ADD COLUMN medical_history_other TEXT NULL AFTER medical_history;
+ALTER TABLE tj_ask_medical_history MODIFY COLUMN medical_history TEXT;
+ALTER TABLE tj_ask_medical_history ADD COLUMN dwmc TEXT NULL;
+ALTER TABLE tj_ask_medical_history ADD COLUMN ygdw TEXT NULL;
+ALTER TABLE tj_ask_historys ADD COLUMN data_type TINYINT(1) NOT NULL COMMENT '鏁版嵁绫诲瀷 1鐥呭彶淇℃伅 2鐥囩姸淇℃伅';
+
+INSERT INTO `sys_config` (`config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`, `deleted`, `create_id`, `update_id`)
+VALUES ('鑱屼笟浣撴绫诲瀷', 'zhiye_tj_type', '5,6', 'Y', '10001', '2025-05-12 16:14:56', '', NULL, '鑻辨枃閫楀彿鍒嗛殧', 0, NULL, NULL);
+
+ALTER TABLE tj_order ADD COLUMN zhiye_jhgln VARCHAR(255) NULL COMMENT '鎺ュ宸ラ緞骞�';
+ALTER TABLE tj_order ADD COLUMN zhiye_jhgly VARCHAR(255) NULL COMMENT '鎺ュ宸ラ緞鏈�';
+ALTER TABLE tj_order ADD COLUMN zhiye_ksjhrq DATETIME NULL COMMENT '寮�濮嬫帴瀹虫棩鏈�';
+ALTER TABLE tj_order ADD COLUMN zhiye_gh VARCHAR(255) NULL COMMENT '宸ュ彿';
+ALTER TABLE tj_order ADD COLUMN zhiye_cj VARCHAR(255) NULL COMMENT '杞﹂棿';
+
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjAskHistorys.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjAskHistorys.java
index 15a6952..78b6c2a 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjAskHistorys.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjAskHistorys.java
@@ -88,6 +88,15 @@
     @ApiModelProperty(value = "鐤剧梾绫诲瀷")
     private String type;
 
+    private Integer dataType;
+
+    public Long getIcdId() {
+        return icdId;
+    }
+
+    public void setIcdId(Long icdId) {
+        this.icdId = icdId;
+    }
 
     public void setDiseaseId(Long diseaseId) {
         this.diseaseId = diseaseId;
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjAskMedicalHistory.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjAskMedicalHistory.java
index 96f523a..37d3346 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjAskMedicalHistory.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjAskMedicalHistory.java
@@ -255,4 +255,26 @@
     @ApiModelProperty(value = "鎺ュ宸ラ緞")
     private String jhgl;
 
+    /**
+     * 鏃㈠線鐥呭彶 ids
+     */
+    private String medicalHistoryIds;
+
+    /**
+     * 鏃㈠線鐥呭彶 鍏朵粬澶囨敞
+     */
+    private String medicalHistoryOther;
+
+    /**
+     * 鍗曚綅鍚嶇О
+     */
+    private String dwmc;
+
+    /**
+     * 鐢ㄥ伐鍗曚綅
+     */
+    private String ygdw;
+
+    @TableField(exist = false)
+    private List<TjAskHistorys> zhiyezzList;
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjOrder.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjOrder.java
index 6df359c..1f4cd9b 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjOrder.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjOrder.java
@@ -467,6 +467,31 @@
     @Excel(name = "浣撴鐘舵��")
     private String zt;
 
+    /**
+     * 鎺ュ宸ラ緞骞�
+     */
+    private String zhiyeJhgln;
+
+    /**
+     * 鎺ュ宸ラ緞鏈�
+     */
+    private String zhiyeJhgly;
+
+    /**
+     * 寮�濮嬫帴瀹虫棩鏈�
+     */
+    private Date zhiyeKsjhrq;
+
+    /**
+     * 宸ュ彿
+     */
+    private String zhiyeGh;
+
+    /**
+     * 杞﹂棿
+     */
+    private String zhiyeCj;
+
     @Override
     public String toString() {
         return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderDetailMapper.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderDetailMapper.java
index d70edd2..030a92d 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderDetailMapper.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderDetailMapper.java
@@ -6,6 +6,7 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ltkj.hosp.domain.TjOrderDetail;
 import com.ltkj.hosp.domain.TjProject;
+import com.ltkj.hosp.vo.ProFcListVo;
 import com.ltkj.hosp.vodomain.ShenGaoTiZhongVo;
 import org.apache.ibatis.annotations.*;
 
@@ -295,4 +296,11 @@
             "a.deleted=1 \n" +
             "WHERE a.order_detail_id=#{id}")
     void updateTjOrderDetailDel(@Param("id") String id);
+
+    @Select("SELECT p.pro_id,p.pro_name,p.pro_parent_id,o.order_id,p.sl * p.pro_price as price,d.dept_id,d.dept_name\n" +
+            " FROM tj_order_detail o \n" +
+            " LEFT JOIN tj_project p ON o.pro_id = p.pro_id\n" +
+            " LEFT JOIN sys_dept d ON p.dept_id = d.dept_id\n" +
+            "  WHERE order_id = #{orderId} AND p.pro_parent_id <>0 AND o.is_return = #{type}")
+    List<ProFcListVo> getFcList(@Param("orderId") Long orderId, @Param("type") Integer type);
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderDetailService.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderDetailService.java
index 55b1b29..5040e25 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderDetailService.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderDetailService.java
@@ -4,9 +4,11 @@
 import java.util.Map;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ltkj.common.core.domain.AjaxResult;
 import com.ltkj.common.core.domain.entity.SysUser;
 import com.ltkj.hosp.domain.TjOrderDetail;
 import com.ltkj.hosp.domain.TjProject;
+import com.ltkj.hosp.vo.ProFcListVo;
 import com.ltkj.hosp.vodomain.ShenGaoTiZhongVo;
 import org.apache.ibatis.annotations.Select;
 
@@ -146,4 +148,8 @@
     void updateTjOrderDetailsFlowingWaterIdByJxbz(String orderId, String jxbz,String ls);
 
     void updateTjOrderDetailsFlowingWaterIdByJxbzisnull(String orderId,String ls);
+
+    List<ProFcListVo> getFcList(Long orderId, Integer type);
+
+    AjaxResult updFcPro(String json);
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderDetailServiceImpl.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderDetailServiceImpl.java
index b18c21a..87be36d 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderDetailServiceImpl.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderDetailServiceImpl.java
@@ -1,13 +1,20 @@
 package com.ltkj.hosp.service.impl;
 
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ltkj.common.core.domain.AjaxResult;
 import com.ltkj.common.core.domain.entity.SysUser;
 import com.ltkj.common.utils.DateUtils;
 import com.ltkj.hosp.domain.TjProject;
+import com.ltkj.hosp.vo.ProFcListVo;
 import com.ltkj.hosp.vodomain.ShenGaoTiZhongVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -15,6 +22,7 @@
 import com.ltkj.hosp.domain.TjOrderDetail;
 import com.ltkj.hosp.service.ITjOrderDetailService;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 /**
  * 浣撴椤圭洰鏄庣粏Service涓氬姟灞傚鐞�
@@ -244,4 +252,55 @@
     public void updateTjOrderDetailsFlowingWaterIdByJxbzisnull(String orderId,String ls) {
         tjOrderDetailMapper.updateTjOrderDetailsFlowingWaterIdByJxbzisnull(orderId,ls);
     }
+
+    @Override
+    public List<ProFcListVo> getFcList(Long orderId, Integer type) {
+        return tjOrderDetailMapper.getFcList(orderId,type);
+    }
+
+    @Transactional
+    @Override
+    public AjaxResult updFcPro(String json) {
+        try {
+            JSONObject entries = JSONUtil.parseObj(json);
+            System.out.println(JSONUtil.toJsonStr(entries));
+            String orderId = entries.getStr("orderId");
+            JSONArray array = entries.getJSONArray("data");
+            ArrayList<String> fcList = new ArrayList<>();
+            ArrayList<String> notFcList = new ArrayList<>();
+            for (Object o : array) {
+                JSONObject object = (JSONObject) o;
+                String proId = object.getStr("proId");
+                Integer type = object.getInt("type");
+                if (type == 1) {
+                    fcList.add(proId);
+                } else {
+                    notFcList.add(proId);
+                }
+            }
+//            System.out.println("fcList = " + fcList);
+//            System.out.println("notFcList = " + notFcList);
+//            if (true)
+//                return AjaxResult.error();
+            if (!fcList.isEmpty()){
+                LambdaUpdateWrapper<TjOrderDetail> wrapper = new LambdaUpdateWrapper<>();
+                wrapper.set(TjOrderDetail::getIsReturn,1);
+                wrapper.eq(TjOrderDetail::getOrderId,orderId);
+                wrapper.in(TjOrderDetail::getProId,fcList);
+                update(wrapper);
+            }
+            if (!notFcList.isEmpty()){
+                LambdaUpdateWrapper<TjOrderDetail> wrapper = new LambdaUpdateWrapper<>();
+                wrapper.set(TjOrderDetail::getIsReturn,0);
+                wrapper.eq(TjOrderDetail::getOrderId,orderId);
+                wrapper.in(TjOrderDetail::getProId,notFcList);
+                update(wrapper);
+            }
+        }catch (Exception e){
+            log.error(String.valueOf(e)+e.getMessage());
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return AjaxResult.error();
+        }
+        return AjaxResult.success();
+    }
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/vo/ProFcListVo.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/vo/ProFcListVo.java
new file mode 100644
index 0000000..1e9269f
--- /dev/null
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/vo/ProFcListVo.java
@@ -0,0 +1,19 @@
+package com.ltkj.hosp.vo;
+
+import lombok.Data;
+
+/**
+ * @Company: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃
+ * @Author: zhaowenxuan
+ * @Date: 2025/5/9 14:35
+ */
+@Data
+public class ProFcListVo {
+    private String proParentId;
+    private String proId;
+    private String price;
+    private String deptName;
+    private String deptId;
+    private String orderId;
+    private String proName;
+}
diff --git a/ltkj-hosp/src/main/resources/mapper/hosp/TjAskMedicalHistoryMapper.xml b/ltkj-hosp/src/main/resources/mapper/hosp/TjAskMedicalHistoryMapper.xml
index 1708d8b..2a18dab 100644
--- a/ltkj-hosp/src/main/resources/mapper/hosp/TjAskMedicalHistoryMapper.xml
+++ b/ltkj-hosp/src/main/resources/mapper/hosp/TjAskMedicalHistoryMapper.xml
@@ -5,315 +5,428 @@
 <mapper namespace="com.ltkj.hosp.mapper.TjAskMedicalHistoryMapper">
 
     <resultMap type="TjAskMedicalHistory" id="TjAskMedicalHistoryResult">
-            <result property="askId" column="ask_id"/>
-            <result property="cusId" column="cus_id"/>
-            <result property="cusName" column="cus_name"/>
-            <result property="openId" column="open_id"/>
-            <result property="work" column="work"/>
-            <result property="workStatus" column="work_status"/>
-            <result property="medicalHistory" column="medical_history"/>
-            <result property="chuchao" column="chuchao"/>
-            <result property="jingqi" column="jingqi"/>
-            <result property="zhouqi" column="zhouqi"/>
-            <result property="mociage" column="mociage"/>
-            <result property="zinv" column="zinv"/>
-            <result property="liuchan" column="liuchan"/>
-            <result property="zaochan" column="zaochan"/>
-            <result property="sichan" column="sichan"/>
-            <result property="yichangtai" column="yichangtai"/>
-            <result property="xiyan" column="xiyan"/>
-            <result property="xiyanpinlv" column="xiyanpinlv"/>
-            <result property="xiyanyear" column="xiyanyear"/>
-            <result property="yinjiu" column="yinjiu"/>
-            <result property="yinjiupinlv" column="yinjiupinlv"/>
-            <result property="yinjiuyear" column="yinjiuyear"/>
-            <result property="qita" column="qita"/>
-            <result property="remark" column="remark"/>
-            <result property="createBy" column="create_by"/>
-            <result property="createTime" column="create_time"/>
-            <result property="updateBy" column="update_by"/>
-            <result property="updateTime" column="update_time"/>
-            <result property="deleted" column="deleted"/>
-            <result property="fromBy" column="from_by"/>
-            <result property="zzsjj" column="zzsjj" typeHandler="com.ltkj.common.mybatis.JsonStringArrayTypeHandler"/>
+        <result property="askId" column="ask_id"/>
+        <result property="cusId" column="cus_id"/>
+        <result property="cusName" column="cus_name"/>
+        <result property="openId" column="open_id"/>
+        <result property="work" column="work"/>
+        <result property="workStatus" column="work_status"/>
+        <result property="medicalHistory" column="medical_history"/>
+        <result property="chuchao" column="chuchao"/>
+        <result property="jingqi" column="jingqi"/>
+        <result property="zhouqi" column="zhouqi"/>
+        <result property="mociage" column="mociage"/>
+        <result property="zinv" column="zinv"/>
+        <result property="liuchan" column="liuchan"/>
+        <result property="zaochan" column="zaochan"/>
+        <result property="sichan" column="sichan"/>
+        <result property="yichangtai" column="yichangtai"/>
+        <result property="xiyan" column="xiyan"/>
+        <result property="xiyanpinlv" column="xiyanpinlv"/>
+        <result property="xiyanyear" column="xiyanyear"/>
+        <result property="yinjiu" column="yinjiu"/>
+        <result property="yinjiupinlv" column="yinjiupinlv"/>
+        <result property="yinjiuyear" column="yinjiuyear"/>
+        <result property="qita" column="qita"/>
+        <result property="remark" column="remark"/>
+        <result property="createBy" column="create_by"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateBy" column="update_by"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="deleted" column="deleted"/>
+        <result property="fromBy" column="from_by"/>
+        <result property="zzsjj" column="zzsjj" typeHandler="com.ltkj.common.mybatis.JsonStringArrayTypeHandler"/>
         <result property="contactPoison" column="contact_poison"/>
         <result property="gongZhong" column="gong_zhong"/>
         <result property="gongLing" column="gong_ling"/>
         <result property="jhgl" column="jhgl"/>
+        <result property="medicalHistoryIds" column="medical_history_ids"/>
+        <result property="medicalHistoryOther" column="medical_history_other"/>
+        <result property="dwmc" column="dwmc"/>
+        <result property="ygdw" column="ygdw"/>
     </resultMap>
 
-        <resultMap id="TjAskMedicalHistoryTjAskHistorysResult" type="TjAskMedicalHistory" extends="TjAskMedicalHistoryResult">
-            <collection property="tjAskHistorysList" notNullColumn="sub_disease_id"
-                        javaType="java.util.List" resultMap="TjAskHistorysResult"/>
-        </resultMap>
+    <resultMap id="TjAskMedicalHistoryTjAskHistorysResult" type="TjAskMedicalHistory"
+               extends="TjAskMedicalHistoryResult">
+        <collection property="tjAskHistorysList" notNullColumn="sub_disease_id"
+                    javaType="java.util.List" resultMap="TjAskHistorysResult"/>
+    </resultMap>
 
-        <resultMap type="TjAskHistorys" id="TjAskHistorysResult">
-                <result property="diseaseId" column="sub_disease_id"/>
-                <result property="askId" column="sub_ask_id"/>
-                <result property="diseaseName" column="sub_disease_name"/>
-                <result property="diseaseData" column="sub_disease_data"/>
-                <result property="diseaseCompany" column="sub_disease_company"/>
-                <result property="isOk" column="sub_is_ok"/>
-                <result property="remark" column="sub_remark"/>
-                <result property="createBy" column="sub_create_by"/>
-                <result property="createTime" column="sub_create_time"/>
-                <result property="updateBy" column="sub_update_by"/>
-                <result property="updateTime" column="sub_update_time"/>
-                <result property="deleted" column="sub_deleted"/>
-        </resultMap>
+    <resultMap type="TjAskHistorys" id="TjAskHistorysResult">
+        <result property="diseaseId" column="sub_disease_id"/>
+        <result property="askId" column="sub_ask_id"/>
+        <result property="diseaseName" column="sub_disease_name"/>
+        <result property="diseaseData" column="sub_disease_data"/>
+        <result property="diseaseCompany" column="sub_disease_company"/>
+        <result property="isOk" column="sub_is_ok"/>
+        <result property="remark" column="sub_remark"/>
+        <result property="createBy" column="sub_create_by"/>
+        <result property="createTime" column="sub_create_time"/>
+        <result property="updateBy" column="sub_update_by"/>
+        <result property="updateTime" column="sub_update_time"/>
+        <result property="deleted" column="sub_deleted"/>
+    </resultMap>
 
     <sql id="selectTjAskMedicalHistoryVo">
-        select ask_id, cus_id, cus_name, work, work_status, medical_history, chuchao, jingqi, zhouqi, mociage, zinv, liuchan,
-               zaochan, sichan, yichangtai, xiyan, xiyanpinlv, xiyanyear, yinjiu, yinjiupinlv, yinjiuyear, qita, remark, create_by,
-               create_time, update_by, update_time, deleted,from_by,zzsjj,contact_poison,gong_zhong,gong_ling,jhgl
+        select ask_id,
+               cus_id,
+               cus_name,
+               work,
+               work_status,
+               medical_history_ids,
+               medical_history,
+               medical_history_other,
+               chuchao,
+               jingqi,
+               zhouqi,
+               mociage,
+               zinv,
+               liuchan,
+               zaochan,
+               sichan,
+               yichangtai,
+               xiyan,
+               xiyanpinlv,
+               xiyanyear,
+               yinjiu,
+               yinjiupinlv,
+               yinjiuyear,
+               qita,
+               remark,
+               create_by,
+               create_time,
+               update_by,
+               update_time,
+               deleted,
+               from_by,
+               zzsjj,
+               contact_poison,
+               gong_zhong,
+               gong_ling,
+               jhgl,
+               dwmc,
+               ygdw
         from tj_ask_medical_history
     </sql>
 
-    <select id="selectTjAskMedicalHistoryList" parameterType="TjAskMedicalHistory" resultMap="TjAskMedicalHistoryResult">
+    <select id="selectTjAskMedicalHistoryList" parameterType="TjAskMedicalHistory"
+            resultMap="TjAskMedicalHistoryResult">
         <include refid="selectTjAskMedicalHistoryVo"/>
         <where>
-                        <if test="cusName != null  and cusName != ''">
-                            and cus_name like concat('%', #{cusName}, '%')
-                        </if>
+            <if test="cusName != null  and cusName != ''">
+                and cus_name like concat('%', #{cusName}, '%')
+            </if>
         </where>
     </select>
 
     <select id="selectTjAskMedicalHistoryByAskId" parameterType="Long"
             resultMap="TjAskMedicalHistoryTjAskHistorysResult">
-            select a.ask_id, a.cus_id, a.cus_name, a.work, a.work_status, a.medical_history, a.chuchao, a.jingqi, a.zhouqi, a.mociage, a.zinv, a.liuchan, a.zaochan, a.sichan, a.yichangtai, a.xiyan, a.xiyanpinlv, a.xiyanyear, a.yinjiu, a.yinjiupinlv, a.yinjiuyear, a.qita, a.remark, a.create_by, a.create_time, a.update_by, a.update_time, a.deleted, a.from_by,
- b.disease_id as
-                sub_disease_id, b.ask_id as
-                sub_ask_id, b.disease_name as
-                sub_disease_name, b.disease_data as
-                sub_disease_data, b.disease_company as
-                sub_disease_company, b.is_ok as
-                sub_is_ok, b.remark as
-                sub_remark, b.create_by as
-                sub_create_by, b.create_time as
-                sub_create_time, b.update_by as
-                sub_update_by, b.update_time as
-                sub_update_time, b.deleted as
-                sub_deleted
-            from tj_ask_medical_history a
-            left join tj_ask_historys b on b.ask_id = a.ask_id
-            where a.ask_id = #{askId}
+        select a.ask_id,
+               a.cus_id,
+               a.cus_name,
+               a.work,
+               a.work_status,
+               a.medical_history_ids,
+               a.medical_history,
+               a.medical_history_other,
+               a.chuchao,
+               a.jingqi,
+               a.zhouqi,
+               a.mociage,
+               a.zinv,
+               a.liuchan,
+               a.zaochan,
+               a.sichan,
+               a.yichangtai,
+               a.xiyan,
+               a.xiyanpinlv,
+               a.xiyanyear,
+               a.yinjiu,
+               a.yinjiupinlv,
+               a.yinjiuyear,
+               a.qita,
+               a.remark,
+               a.create_by,
+               a.create_time,
+               a.update_by,
+               a.update_time,
+               a.deleted,
+               a.from_by,
+               b.disease_id      as
+                   sub_disease_id,
+               b.ask_id          as
+                   sub_ask_id,
+               b.disease_name    as
+                   sub_disease_name,
+               b.disease_data    as
+                   sub_disease_data,
+               b.disease_company as
+                   sub_disease_company,
+               b.is_ok           as
+                   sub_is_ok,
+               b.remark          as
+                   sub_remark,
+               b.create_by       as
+                   sub_create_by,
+               b.create_time     as
+                   sub_create_time,
+               b.update_by       as
+                   sub_update_by,
+               b.update_time     as
+                   sub_update_time,
+               b.deleted         as
+                   sub_deleted,
+            a.dwmc,
+            a.ygdw
+        from tj_ask_medical_history a
+                 left join tj_ask_historys b on b.ask_id = a.ask_id
+        where a.ask_id = #{askId}
     </select>
 
     <insert id="insertTjAskMedicalHistory" parameterType="TjAskMedicalHistory" useGeneratedKeys="true"
             keyProperty="askId">
         insert into tj_ask_medical_history
         <trim prefix="(" suffix=")" suffixOverrides=",">
-                    <if test="cusId != null">cus_id,
-                    </if>
-                    <if test="cusName != null">cus_name,
-                    </if>
-                    <if test="work != null">work,
-                    </if>
-                    <if test="workStatus != null">work_status,
-                    </if>
-                    <if test="medicalHistory != null">medical_history,
-                    </if>
-                    <if test="chuchao != null">chuchao,
-                    </if>
-                    <if test="jingqi != null">jingqi,
-                    </if>
-                    <if test="zhouqi != null">zhouqi,
-                    </if>
-                    <if test="mociage != null">mociage,
-                    </if>
-                    <if test="zinv != null">zinv,
-                    </if>
-                    <if test="liuchan != null">liuchan,
-                    </if>
-                    <if test="zaochan != null">zaochan,
-                    </if>
-                    <if test="sichan != null">sichan,
-                    </if>
-                    <if test="yichangtai != null">yichangtai,
-                    </if>
-                    <if test="xiyan != null">xiyan,
-                    </if>
-                    <if test="xiyanpinlv != null">xiyanpinlv,
-                    </if>
-                    <if test="xiyanyear != null">xiyanyear,
-                    </if>
-                    <if test="yinjiu != null">yinjiu,
-                    </if>
-                    <if test="yinjiupinlv != null">yinjiupinlv,
-                    </if>
-                    <if test="yinjiuyear != null">yinjiuyear,
-                    </if>
-                    <if test="qita != null">qita,
-                    </if>
-                    <if test="remark != null">remark,
-                    </if>
-                    <if test="createBy != null">create_by,
-                    </if>
-                    <if test="createTime != null">create_time,
-                    </if>
-                    <if test="updateBy != null">update_by,
-                    </if>
-                    <if test="updateTime != null">update_time,
-                    </if>
-                    <if test="deleted != null">deleted,
-                    </if>
-                    <if test="fromBy != null">from_by,
-                    </if>
+            <if test="cusId != null">cus_id,
+            </if>
+            <if test="cusName != null">cus_name,
+            </if>
+            <if test="work != null">work,
+            </if>
+            <if test="workStatus != null">work_status,
+            </if>
+            <if test="medicalHistoryIds != null">medical_history_ids,
+            </if>
+            <if test="medicalHistory != null">medical_history,
+            </if>
+            <if test="medicalHistoryOther != null">medical_history_other,
+            </if>
+            <if test="chuchao != null">chuchao,
+            </if>
+            <if test="jingqi != null">jingqi,
+            </if>
+            <if test="zhouqi != null">zhouqi,
+            </if>
+            <if test="mociage != null">mociage,
+            </if>
+            <if test="zinv != null">zinv,
+            </if>
+            <if test="liuchan != null">liuchan,
+            </if>
+            <if test="zaochan != null">zaochan,
+            </if>
+            <if test="sichan != null">sichan,
+            </if>
+            <if test="yichangtai != null">yichangtai,
+            </if>
+            <if test="xiyan != null">xiyan,
+            </if>
+            <if test="xiyanpinlv != null">xiyanpinlv,
+            </if>
+            <if test="xiyanyear != null">xiyanyear,
+            </if>
+            <if test="yinjiu != null">yinjiu,
+            </if>
+            <if test="yinjiupinlv != null">yinjiupinlv,
+            </if>
+            <if test="yinjiuyear != null">yinjiuyear,
+            </if>
+            <if test="qita != null">qita,
+            </if>
+            <if test="remark != null">remark,
+            </if>
+            <if test="createBy != null">create_by,
+            </if>
+            <if test="createTime != null">create_time,
+            </if>
+            <if test="updateBy != null">update_by,
+            </if>
+            <if test="updateTime != null">update_time,
+            </if>
+            <if test="deleted != null">deleted,
+            </if>
+            <if test="fromBy != null">from_by,
+            </if>
+            <if test="dwmc != null">dwmc,
+            </if>
+            <if test="ygdw != null">ygdw,
+            </if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
-                    <if test="cusId != null">#{cusId},
-                    </if>
-                    <if test="cusName != null">#{cusName},
-                    </if>
-                    <if test="work != null">#{work},
-                    </if>
-                    <if test="workStatus != null">#{workStatus},
-                    </if>
-                    <if test="medicalHistory != null">#{medicalHistory},
-                    </if>
-                    <if test="chuchao != null">#{chuchao},
-                    </if>
-                    <if test="jingqi != null">#{jingqi},
-                    </if>
-                    <if test="zhouqi != null">#{zhouqi},
-                    </if>
-                    <if test="mociage != null">#{mociage},
-                    </if>
-                    <if test="zinv != null">#{zinv},
-                    </if>
-                    <if test="liuchan != null">#{liuchan},
-                    </if>
-                    <if test="zaochan != null">#{zaochan},
-                    </if>
-                    <if test="sichan != null">#{sichan},
-                    </if>
-                    <if test="yichangtai != null">#{yichangtai},
-                    </if>
-                    <if test="xiyan != null">#{xiyan},
-                    </if>
-                    <if test="xiyanpinlv != null">#{xiyanpinlv},
-                    </if>
-                    <if test="xiyanyear != null">#{xiyanyear},
-                    </if>
-                    <if test="yinjiu != null">#{yinjiu},
-                    </if>
-                    <if test="yinjiupinlv != null">#{yinjiupinlv},
-                    </if>
-                    <if test="yinjiuyear != null">#{yinjiuyear},
-                    </if>
-                    <if test="qita != null">#{qita},
-                    </if>
-                    <if test="remark != null">#{remark},
-                    </if>
-                    <if test="createBy != null">#{createBy},
-                    </if>
-                    <if test="createTime != null">#{createTime},
-                    </if>
-                    <if test="updateBy != null">#{updateBy},
-                    </if>
-                    <if test="updateTime != null">#{updateTime},
-                    </if>
-                    <if test="deleted != null">#{deleted},
-                    </if>
-                    <if test="fromBy != null">#{fromBy},
-                    </if>
+            <if test="cusId != null">#{cusId},
+            </if>
+            <if test="cusName != null">#{cusName},
+            </if>
+            <if test="work != null">#{work},
+            </if>
+            <if test="workStatus != null">#{workStatus},
+            </if>
+            <if test="medicalHistoryIds != null">#{medicalHistoryIds},
+            </if>
+            <if test="medicalHistory != null">#{medicalHistory},
+            </if>
+            <if test="medicalHistoryOther != null">#{medicalHistoryOther},
+            </if>
+            <if test="chuchao != null">#{chuchao},
+            </if>
+            <if test="jingqi != null">#{jingqi},
+            </if>
+            <if test="zhouqi != null">#{zhouqi},
+            </if>
+            <if test="mociage != null">#{mociage},
+            </if>
+            <if test="zinv != null">#{zinv},
+            </if>
+            <if test="liuchan != null">#{liuchan},
+            </if>
+            <if test="zaochan != null">#{zaochan},
+            </if>
+            <if test="sichan != null">#{sichan},
+            </if>
+            <if test="yichangtai != null">#{yichangtai},
+            </if>
+            <if test="xiyan != null">#{xiyan},
+            </if>
+            <if test="xiyanpinlv != null">#{xiyanpinlv},
+            </if>
+            <if test="xiyanyear != null">#{xiyanyear},
+            </if>
+            <if test="yinjiu != null">#{yinjiu},
+            </if>
+            <if test="yinjiupinlv != null">#{yinjiupinlv},
+            </if>
+            <if test="yinjiuyear != null">#{yinjiuyear},
+            </if>
+            <if test="qita != null">#{qita},
+            </if>
+            <if test="remark != null">#{remark},
+            </if>
+            <if test="createBy != null">#{createBy},
+            </if>
+            <if test="createTime != null">#{createTime},
+            </if>
+            <if test="updateBy != null">#{updateBy},
+            </if>
+            <if test="updateTime != null">#{updateTime},
+            </if>
+            <if test="deleted != null">#{deleted},
+            </if>
+            <if test="fromBy != null">#{fromBy},
+            </if>
+            <if test="dwmc != null">#{dwmc},
+            </if>
+            <if test="ygdw != null">#{ygdw},
+            </if>
         </trim>
     </insert>
 
     <update id="updateTjAskMedicalHistory" parameterType="TjAskMedicalHistory">
         update tj_ask_medical_history
         <trim prefix="SET" suffixOverrides=",">
-                    <if test="cusId != null">cus_id =
-                        #{cusId},
-                    </if>
-                    <if test="cusName != null">cus_name =
-                        #{cusName},
-                    </if>
-                    <if test="work != null">work =
-                        #{work},
-                    </if>
-                    <if test="workStatus != null">work_status =
-                        #{workStatus},
-                    </if>
-                    <if test="medicalHistory != null">medical_history =
-                        #{medicalHistory},
-                    </if>
-                    <if test="chuchao != null">chuchao =
-                        #{chuchao},
-                    </if>
-                    <if test="jingqi != null">jingqi =
-                        #{jingqi},
-                    </if>
-                    <if test="zhouqi != null">zhouqi =
-                        #{zhouqi},
-                    </if>
-                    <if test="mociage != null">mociage =
-                        #{mociage},
-                    </if>
-                    <if test="zinv != null">zinv =
-                        #{zinv},
-                    </if>
-                    <if test="liuchan != null">liuchan =
-                        #{liuchan},
-                    </if>
-                    <if test="zaochan != null">zaochan =
-                        #{zaochan},
-                    </if>
-                    <if test="sichan != null">sichan =
-                        #{sichan},
-                    </if>
-                    <if test="yichangtai != null">yichangtai =
-                        #{yichangtai},
-                    </if>
-                    <if test="xiyan != null">xiyan =
-                        #{xiyan},
-                    </if>
-                    <if test="xiyanpinlv != null">xiyanpinlv =
-                        #{xiyanpinlv},
-                    </if>
-                    <if test="xiyanyear != null">xiyanyear =
-                        #{xiyanyear},
-                    </if>
-                    <if test="yinjiu != null">yinjiu =
-                        #{yinjiu},
-                    </if>
-                    <if test="yinjiupinlv != null">yinjiupinlv =
-                        #{yinjiupinlv},
-                    </if>
-                    <if test="yinjiuyear != null">yinjiuyear =
-                        #{yinjiuyear},
-                    </if>
-                    <if test="qita != null">qita =
-                        #{qita},
-                    </if>
-                    <if test="remark != null">remark =
-                        #{remark},
-                    </if>
-                    <if test="createBy != null">create_by =
-                        #{createBy},
-                    </if>
-                    <if test="createTime != null">create_time =
-                        #{createTime},
-                    </if>
-                    <if test="updateBy != null">update_by =
-                        #{updateBy},
-                    </if>
-                    <if test="updateTime != null">update_time =
-                        #{updateTime},
-                    </if>
-                    <if test="deleted != null">deleted =
-                        #{deleted},
-                    </if>
-                    <if test="fromBy != null">from_By =
-                        #{fromBy},
-                    </if>
+            <if test="cusId != null">cus_id =
+                #{cusId},
+            </if>
+            <if test="cusName != null">cus_name =
+                #{cusName},
+            </if>
+            <if test="work != null">work =
+                #{work},
+            </if>
+            <if test="workStatus != null">work_status =
+                #{workStatus},
+            </if>
+            <if test="medicalHistoryIds != null">medical_history_ids =
+                #{medicalHistoryIds},
+            </if>
+            <if test="medicalHistory != null">medical_history =
+                #{medicalHistory},
+            </if>
+            <if test="medicalHistoryOther != null">medical_history_other =
+                #{medicalHistoryOther},
+            </if>
+            <if test="chuchao != null">chuchao =
+                #{chuchao},
+            </if>
+            <if test="jingqi != null">jingqi =
+                #{jingqi},
+            </if>
+            <if test="zhouqi != null">zhouqi =
+                #{zhouqi},
+            </if>
+            <if test="mociage != null">mociage =
+                #{mociage},
+            </if>
+            <if test="zinv != null">zinv =
+                #{zinv},
+            </if>
+            <if test="liuchan != null">liuchan =
+                #{liuchan},
+            </if>
+            <if test="zaochan != null">zaochan =
+                #{zaochan},
+            </if>
+            <if test="sichan != null">sichan =
+                #{sichan},
+            </if>
+            <if test="yichangtai != null">yichangtai =
+                #{yichangtai},
+            </if>
+            <if test="xiyan != null">xiyan =
+                #{xiyan},
+            </if>
+            <if test="xiyanpinlv != null">xiyanpinlv =
+                #{xiyanpinlv},
+            </if>
+            <if test="xiyanyear != null">xiyanyear =
+                #{xiyanyear},
+            </if>
+            <if test="yinjiu != null">yinjiu =
+                #{yinjiu},
+            </if>
+            <if test="yinjiupinlv != null">yinjiupinlv =
+                #{yinjiupinlv},
+            </if>
+            <if test="yinjiuyear != null">yinjiuyear =
+                #{yinjiuyear},
+            </if>
+            <if test="qita != null">qita =
+                #{qita},
+            </if>
+            <if test="remark != null">remark =
+                #{remark},
+            </if>
+            <if test="createBy != null">create_by =
+                #{createBy},
+            </if>
+            <if test="createTime != null">create_time =
+                #{createTime},
+            </if>
+            <if test="updateBy != null">update_by =
+                #{updateBy},
+            </if>
+            <if test="updateTime != null">update_time =
+                #{updateTime},
+            </if>
+            <if test="deleted != null">deleted =
+                #{deleted},
+            </if>
+            <if test="fromBy != null">from_By =
+                #{fromBy},
+            </if>
+            <if test="dwmc != null">dwmc =
+                #{dwmc},
+            </if>
+            <if test="ygdw != null">ygdw =
+                #{ygdw},
+            </if>
         </trim>
         where ask_id = #{askId}
     </update>
 
     <delete id="deleteTjAskMedicalHistoryByAskId" parameterType="Long">
         delete
-        from tj_ask_medical_history where ask_id = #{askId}
+        from tj_ask_medical_history
+        where ask_id = #{askId}
     </delete>
 
     <delete id="deleteTjAskMedicalHistoryByAskIds" parameterType="String">
@@ -323,23 +436,25 @@
         </foreach>
     </delete>
 
-        <delete id="deleteTjAskHistorysByAskIds" parameterType="String">
-            delete from tj_ask_historys where ask_id in
-            <foreach item="askId" collection="array" open="(" separator="," close=")">
-                #{askId}
-            </foreach>
-        </delete>
+    <delete id="deleteTjAskHistorysByAskIds" parameterType="String">
+        delete from tj_ask_historys where ask_id in
+        <foreach item="askId" collection="array" open="(" separator="," close=")">
+            #{askId}
+        </foreach>
+    </delete>
 
-        <delete id="deleteTjAskHistorysByAskId" parameterType="Long">
-            delete
-            from tj_ask_historys where ask_id = #{askId}
-        </delete>
+    <delete id="deleteTjAskHistorysByAskId" parameterType="Long">
+        delete
+        from tj_ask_historys
+        where ask_id = #{askId}
+    </delete>
 
-        <insert id="batchTjAskHistorys">
-            insert into tj_ask_historys
-            ( disease_id            , ask_id            , disease_name            , disease_data            , disease_company            , is_ok            , remark            , create_by            , create_time            , update_by            , update_time            , deleted) values
-            <foreach item="item" index="index" collection="list" separator=",">
-                ( #{item.diseaseId
+    <insert id="batchTjAskHistorys">
+        insert into tj_ask_historys
+        ( disease_id , ask_id , disease_name , disease_data , disease_company , is_ok , remark , create_by , create_time
+        , update_by , update_time , deleted) values
+        <foreach item="item" index="index" collection="list" separator=",">
+            ( #{item.diseaseId
                 }, #{item.askId
                 }, #{item.diseaseName
                 }, #{item.diseaseData
@@ -352,8 +467,8 @@
                 }, #{item.updateTime
                 }, #{item.deleted
                 })
-            </foreach>
-        </insert>
+        </foreach>
+    </insert>
 
 
     <select id="selectTjAskMedicalHistoryByTjNum" parameterType="String" resultMap="TjAskMedicalHistoryResult">
diff --git a/ltkj-hosp/src/main/resources/mapper/hosp/TjOrderMapper.xml b/ltkj-hosp/src/main/resources/mapper/hosp/TjOrderMapper.xml
index 23d66cf..b87812c 100644
--- a/ltkj-hosp/src/main/resources/mapper/hosp/TjOrderMapper.xml
+++ b/ltkj-hosp/src/main/resources/mapper/hosp/TjOrderMapper.xml
@@ -36,6 +36,11 @@
         <result property="confirmDoctor" column="confirm_doctor"/>
         <result property="confirmTime" column="confirm_time"/>
         <result property="confirmStatus" column="confirm_status"/>
+        <result property="zhiyeJhgln" column="zhiye_jhgln"/>
+        <result property="zhiyeJhgly" column="zhiye_jhgly"/>
+        <result property="zhiyeKsjhrq" column="zhiye_ksjhrq"/>
+        <result property="zhiyeGh" column="zhiye_gh"/>
+        <result property="zhiyeCj" column="zhiye_cj"/>
     </resultMap>
 
     <sql id="selectTjOrderVo">
@@ -77,7 +82,7 @@
                heshou_time,
                is_hz,
                get_type,
-               tj_category
+               tj_category,zhiye_jhgln,zhiye_jhgly,zhiye_ksjhrq,zhiye_gh,zhiye_cj
         from tj_order
     </sql>
 
@@ -209,6 +214,11 @@
             <if test="isHz != null">is_hz,</if>
             <if test="getType != null">get_type,</if>
             <if test="tjCategory != null">tj_category,</if>
+            <if test="zhiyeJhgln != null">zhiye_jhgln,</if>
+            <if test="zhiyeJhgly != null">zhiye_jhgly,</if>
+            <if test="zhiyeKsjhrq != null">zhiye_ksjhrq,</if>
+            <if test="zhiyeGh != null">zhiye_gh,</if>
+            <if test="zhiyeCj != null">zhiye_cj,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="userId != null">#{userId},</if>
@@ -249,6 +259,11 @@
             <if test="isHz != null">#{isHz},</if>
             <if test="getType != null">#{getType},</if>
             <if test="tjCategory != null">#{tjCategory},</if>
+            <if test="zhiyeJhgln != null">#{zhiyeJhgln},</if>
+            <if test="zhiyeJhgly != null">#{zhiyeJhgly},</if>
+            <if test="zhiyeKsjhrq != null">#{zhiyeKsjhrq},</if>
+            <if test="zhiyeGh != null">#{zhiyeGh},</if>
+            <if test="zhiyeCj != null">#{zhiyeCj},</if>
         </trim>
     </insert>
 
@@ -294,6 +309,11 @@
             <if test="isHz != null">is_hz = #{isHz},</if>
             <if test="getType != null">get_type = #{getType},</if>
             <if test="tjCategory != null">tj_category = #{tjCategory},</if>
+            <if test="zhiyeJhgln != null">zhiye_jhgln = #{zhiyeJhgln},</if>
+            <if test="zhiyeJhgly != null">zhiye_jhgly = #{zhiyeJhgly},</if>
+            <if test="zhiyeKsjhrq != null">zhiye_ksjhrq = #{zhiyeKsjhrq},</if>
+            <if test="zhiyeGh != null">zhiye_gh = #{zhiyeGh},</if>
+            <if test="zhiyeCj != null">zhiye_cj = #{zhiyeCj},</if>
         </trim>
         where order_id = #{orderId}
     </update>

--
Gitblit v1.8.0