From 7748c09b5260b86bc2ad750e3393bbdb85e1b41c Mon Sep 17 00:00:00 2001
From: zhaoxiaohao <279049017@qq.com>
Date: Thu, 15 Apr 2021 11:34:36 +0800
Subject: [PATCH] Merge branch 'pri' of ssh://192.168.2.240:29418/kidgrow-microservices-platform into pri

---
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDepartmentServiceImpl.java |  446 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 419 insertions(+), 27 deletions(-)

diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDepartmentServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDepartmentServiceImpl.java
index e804af7..a5e25e5 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDepartmentServiceImpl.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDepartmentServiceImpl.java
@@ -1,12 +1,20 @@
 package com.kidgrow.usercenter.service.impl;
 
+import cn.hutool.core.date.DateTime;
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.kidgrow.common.constant.CommonConstant;
 import com.kidgrow.common.model.PageResult;
 import com.kidgrow.common.model.ResultBody;
 import com.kidgrow.common.model.SysOrganization;
+import com.kidgrow.common.model.UserType;
 import com.kidgrow.common.service.impl.SuperServiceImpl;
 import com.kidgrow.common.utils.DateUtils;
+import com.kidgrow.oprationcenter.feign.ProductOrderService;
+import com.kidgrow.oprationcenter.model.ProductOrder;
+import com.kidgrow.oprationcenter.model.ProductOrderDetail;
 import com.kidgrow.usercenter.mapper.SysDepartmentMapper;
 import com.kidgrow.usercenter.model.SysDepartment;
 import com.kidgrow.usercenter.model.SysHospital;
@@ -16,18 +24,22 @@
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.MapUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.security.crypto.password.PasswordEncoder;
 import org.springframework.stereotype.Service;
 
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
 
 /**
  * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
+ *
+ * @version 1.0
  * @Description: 科室表<br>
  * @Project: 用户中心<br>
  * @CreateDate: Created in 2020-04-02 14:02:50 <br>
  * @Author: <a href="4345453@kidgrow.com">liuke</a>
- * @version 1.0
  */
 @Slf4j
 @Service
@@ -37,53 +49,65 @@
     private ISysOrganizationService iSysOrganizationService;
     @Autowired
     private ISysHospitalService iSysHospitalService;
+
+    @Autowired
+    private ProductOrderService productOrderService;
+
+    @Autowired
+    private PasswordEncoder passwordEncoder;
+
+    @Value("${spring.profiles.active}")
+    private String envName;
+
     /**
      * 列表
+     *
      * @param params
      * @return
      */
     @Override
-    public PageResult<SysDepartment> findList(Map<String, Object> params){
+    public PageResult<SysDepartment> findList(Map<String, Object> params) {
         Page<SysDepartment> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit"));
-        List<SysDepartment> list  =  baseMapper.findList(page, params);
+        List<SysDepartment> list = baseMapper.findList(page, params);
         return PageResult.<SysDepartment>builder().data(list).code(0).count(page.getTotal()).build();
     }
 
     /**
-   * 根据SysDepartment对象当做查询条件进行查询
-   * @param sysDepartment
-   * @return SysDepartment
-   */
+     * 根据SysDepartment对象当做查询条件进行查询
+     *
+     * @param sysDepartment
+     * @return SysDepartment
+     */
     @Override
-    public SysDepartment findByObject(SysDepartment sysDepartment){
+    public SysDepartment findByObject(SysDepartment sysDepartment) {
         return baseMapper.findByObject(sysDepartment);
     }
 
     @Override
     public boolean updatePay(Long departmentId, boolean isPay) {
-        return baseMapper.updatePay(departmentId,isPay);
+        return baseMapper.updatePay(departmentId, isPay);
     }
 
     @Override
     public ResultBody findAll(Map<String, Object> params) {
-        return  ResultBody.ok().data(baseMapper.selectByMap(params));
+        return ResultBody.ok().data(baseMapper.selectByMap(params));
     }
 
     @Override
     public ResultBody findListByHospitalId(Map<String, Object> params) {
         //查询组织
         Long id = MapUtils.getLong(params, "id");
-        List<SysDepartment> sysDepartments=new ArrayList<>();
+        List<SysDepartment> sysDepartments = new ArrayList<>();
         SysHospital byId = iSysHospitalService.getById(id);
-        if(byId!=null){
-            params=new HashMap<>();
-            params.put("org_parent_id",byId.getOrgId());
+        if (byId != null) {
+            params = new HashMap<>();
+            params.put("org_parent_id", byId.getOrgId());
             List<SysOrganization> sysOrganizations = iSysOrganizationService.listByMap(params);
-            if (sysOrganizations.size()>0) {
+            if (sysOrganizations.size() > 0) {
                 List<Long> collect = sysOrganizations.stream().map(e -> e.getId()).collect(Collectors.toList());
-                QueryWrapper<SysDepartment> queryWrapper=new QueryWrapper();
-                queryWrapper.in("org_id",collect );
-                sysDepartments= baseMapper.selectList(queryWrapper);
+                QueryWrapper<SysDepartment> queryWrapper = new QueryWrapper();
+                queryWrapper.in("org_id", collect);
+                sysDepartments = baseMapper.selectList(queryWrapper);
             }
         }
         return ResultBody.ok().data(sysDepartments);
@@ -91,32 +115,400 @@
 
     @Override
     public String checkDepartmentName(Long hosId, String departmentName) {
-        String departName=baseMapper.checkDepartmentName(hosId,departmentName);
+        String departName = baseMapper.checkDepartmentName(hosId, departmentName);
         return departName;
     }
 
     @Override
     public ResultBody getHealth(SysDepartment sysDepartment) {
         SysDepartment department = baseMapper.selectById(sysDepartment.getId());
-        if(department==null){
+        if (department == null) {
             return ResultBody.failed("该数据为空");
-        }else {
-            if(department.getIsHealth()){
-                Date now= new Date();
+        } else {
+            if (department.getIsHealth()) {
+                Date now = new Date();
                 Date endDate = DateUtils.addDays(department.getHealthEndTime(), 1);
-                if(now.getTime()<department.getHealthBeginTime().getTime()){
+                if (now.getTime() < department.getHealthBeginTime().getTime()) {
                     department.setIsHealth(false);
                     return ResultBody.ok().data(department);
-                }else if(department.getHealthBeginTime().getTime()<=now.getTime()&&now.getTime()<=endDate.getTime()){
+                } else if (department.getHealthBeginTime().getTime() <= now.getTime() && now.getTime() <= endDate.getTime()) {
                     return ResultBody.ok().data(department);
-                }else if(endDate.getTime()<now.getTime()) {
+                } else if (endDate.getTime() < now.getTime()) {
                     department.setIsHealth(false);
                     return ResultBody.ok().data(department);
                 }
                 return ResultBody.ok();
-            }else {
+            } else {
                 return ResultBody.ok().data(false);
             }
         }
     }
+
+    /**
+     * 初始化私有云本地数据库
+     *
+     * @param hospitalId 医院ID
+     * @param departmentId 科室ID
+     * @return java.lang.String 私有云数据库初始化SQL
+     */
+    public String initPrivateData(Long hospitalId, Long departmentId) {
+        String initSQL = "";            // 初始化数据SQL
+        String organizationSQL = "";    // 组织数据SQL
+        String hospitalSQL = "";        // 医院数据SQL
+        String departmentSQL = "";      // 科室数据SQL
+        String doctorSQL = "";           // 医生数据SQL
+        String userSQL = "";            // 用户数据SQL
+        String userOrgSQL = "";         // 组织用户关系数据SQL
+        String roleUserSQL = "";           // 角色用户关系数据SQL
+        String productOrderSQL = "";    // 合同信息数据SQL
+        String productOrderDetailSQL = "";  // 合同明细(套餐)信息数据SQL
+        String productOrderRecordSQL = "";  // 合同充值记录表SQL
+
+        // 时间转换格式
+        SimpleDateFormat dateTimeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+
+        String createTime = "";
+        String updateTime = "";
+
+        // 1、根据hospitalId从sys_hospital中查询医院信息
+        SysHospital hospitalInfo = iSysHospitalService.getById(hospitalId);
+        if (hospitalInfo != null) {
+            createTime = "'" + dateTimeFormat.format(hospitalInfo.getCreateTime()) + "'";
+            updateTime = (hospitalInfo.getUpdateTime() == null) ? "NULL" : "'" + dateTimeFormat.format(hospitalInfo.getUpdateTime()) + "'";
+            hospitalSQL = " INSERT INTO user_center_pri.sys_hospital  VALUES (" +
+                    hospitalInfo.getId() + ", " +
+                    "'" + hospitalInfo.getHospitalName() + "', " +
+                    hospitalInfo.getOrgId() + ", " +
+                    "'" + hospitalInfo.getHospitalShortName() + "', " +
+                    "'" + hospitalInfo.getHospitalCode() + "', " +
+                    "'" + hospitalInfo.getHospitalTypeId() + "', " +
+                    "'" + hospitalInfo.getHospitalTypeName() + "', " +
+                    "'" + hospitalInfo.getHospitalTel() + "', " +
+                    "'" + hospitalInfo.getHospitalProvince() + "', " +
+                    "'" + hospitalInfo.getHospitalCity() + "', " +
+                    "'" + hospitalInfo.getHospitalArea() + "', " +
+                    "'" + hospitalInfo.getAreaCode() + "', " +
+                    "'" + hospitalInfo.getHospitalLink() + "', " +
+                    "'" + hospitalInfo.getHospitalAdress() + "', " +
+                    "'" + hospitalInfo.getLatitude() + "', " +
+                    "'" + hospitalInfo.getLongitude() + "', " +
+                    "'" + hospitalInfo.getHospitalQualifiedId() + "', " +
+                    "'" + hospitalInfo.getHospitalQualifiedName() + "', " +
+                    "'http://123.kidgrow.cloud/OtherImage/2020-08-12/logo.jpg'," +
+                    "NULL," +
+                    "NULL," +
+                    "'" + hospitalInfo.getHospitalAbout() + "', " +
+                    "0, 0, " +
+                    hospitalInfo.getHospitalState() + ", " +
+                    hospitalInfo.getEnabled() + ", " +
+                    "'" + hospitalInfo.getTenantId() + "', " +
+                    hospitalInfo.getIsDel() + ", " +
+                    hospitalInfo.getCreateUserId() + ", " +
+                    "'" + hospitalInfo.getCreateUserName() + "', " +
+                    hospitalInfo.getUpdateUserId() + ", " +
+                    "'" + hospitalInfo.getUpdateUserName() + "', " +
+                    createTime + ", " +
+                    updateTime + ", " +
+                    "'" + hospitalInfo.getCreateUserOrgCode() + "' " +
+                    ");\n\r";
+        } else {
+            log.error("【{}】医院信息读取失败",hospitalId);
+            return "医院信息读取失败,请重新生成SQL!";
+        }
+        // 2、根据departmentId从sys_department中查询科室信息
+        SysDepartment department = baseMapper.selectById(departmentId);
+        if (department != null) {
+            createTime = "'" + dateTimeFormat.format(department.getCreateTime()) + "'";
+            updateTime = (department.getUpdateTime() == null) ? "NULL" : "'" + dateTimeFormat.format(department.getUpdateTime()) + "'";
+            departmentSQL = " INSERT INTO user_center_pri.sys_department  VALUES (" +
+                    department.getId() + ", " +
+                    "'" + department.getDepartmentName() + "', " +
+                    department.getOrgId() + ", " +
+                    department.getServerUserId() + ", " +
+                    "'" + department.getServerUserName() + "', " +
+                    "'" + department.getServerUserTel() + "', " +
+                    department.getIsDel() + ", " +
+                    department.getEnabled() + ", " +
+                    department.getCreateUserId() + ", " +
+                    "'" + department.getCreateUserName() + "', " +
+                    department.getUpdateUserId() + ", " +
+                    "'" + department.getUpdateUserName() + "', " +
+                    createTime + ", " +
+                    updateTime + ", " +
+                    department.getSaleUserId() + ", " +
+                    "'" + department.getSaleUserName() + "', " +
+                    "'" + department.getSaleUserTel() + "', " +
+                    department.getAccountsCount() + ", " +
+                    "0,0,NULL,NULL, " +
+                    "'" + department.getDepartmentLink() + "', " +
+                    "'" + department.getDepartmentTel() + "', " +
+                    "0,0,1," +
+                    "'" + department.getPrivateServerGuuid() + "' " +
+                    ");\n\r";
+        } else {
+            log.error("【{}】科室信息读取失败",departmentId);
+            return "科室信息读取失败,请重新生成SQL!";
+        }
+        // 3、根据医院和科室表中的org_id查询sys_organization中查询组织信息
+        List<SysOrganization> organizationList = iSysOrganizationService.list(
+                new QueryWrapper<SysOrganization>()
+                        .in("id", hospitalInfo.getOrgId(), department.getOrgId())
+                        .eq("is_del", 0)
+                        .eq("enabled", 1)
+        );
+        if ((organizationList != null) && (organizationList.size() > 0)) {
+            for (int i = 0; i < organizationList.size(); i++) {
+                SysOrganization organization = organizationList.get(i);
+                createTime = "'" + dateTimeFormat.format(organization.getCreateTime()) + "'";
+                updateTime = (organization.getUpdateTime() == null) ? "NULL" : "'" + dateTimeFormat.format(organization.getUpdateTime()) + "'";
+                organizationSQL += " INSERT INTO user_center_pri.sys_organization  VALUES (" +
+                        organization.getId() + ", " +
+                        organization.getOrgLevel() + ", " +
+                        organization.getOrgAttr() + ", " +
+                        organization.getOrgParentId() + ", " +
+                        "'" + organization.getOrgName() + "', " +
+                        organization.getOrgOrder() + ", " +
+                        organization.getIsDel() + ", " +
+                        organization.getEnabled() + ", " +
+                        organization.getCreateUserId() + ", " +
+                        "'" + organization.getCreateUserName() + "', " +
+                        organization.getUpdateUserId() + ", " +
+                        "'" + organization.getUpdateUserName() + "', " +
+                        createTime + ", " +
+                        updateTime + ", " +
+                        "'" + organization.getCreateUserOrgCode() + "', " +
+                        "'" + organization.getOrgCode() + "' " +
+                        ");\n\r";
+            }
+        }
+        // 4、给科室创建管理员账号
+        // 4.1 sys_user创建账号【userName:admin, password:123456,Mobile:admin,Type:DOCTOR,tenantId:】
+        Long userId = IdWorker.getId();
+
+        userSQL = " INSERT INTO user_center_pri.sys_user  VALUES (" +
+                userId.toString() + ", " +
+                "'admin', " +
+                "'" + passwordEncoder.encode("123456") + "', " +
+                "'admin', " +
+                "NULL, " +
+                "'admin', " +
+                "0, 1, " +
+                "'"+ UserType.DOCTOR.name()+"', " +
+                "'" + dateTimeFormat.format(DateTime.now()) + "', " +
+                "NULL, NULL, NULL, 0, " +
+                "'" +CommonConstant.H_TENANT + "', " +
+                CommonConstant.ADMIN_USER_ID.toString() +", " +
+                "'" + CommonConstant.ADMIN_USER_NAME + "', " +
+                "NULL, 0, " +
+                "NULL, "+ // create_user_org_code
+                "1" +
+                ");\n\r";
+        // 4.2、 sys_user_org创建记录
+        //      用户与医院的关系数据
+        userOrgSQL = " INSERT INTO user_center_pri.sys_user_org  VALUES (" +
+                IdWorker.getId() + ", " +
+                userId.toString() + ", " +
+                hospitalInfo.getOrgId().toString() + ", " +
+                hospitalId.toString() + ", " +
+                CommonConstant.SYSTEM_ORG_HOS_LEVEL.toString() + ", " +
+                "1, 0, " +
+                CommonConstant.ADMIN_USER_ID.toString() +", " +
+                "'" + CommonConstant.ADMIN_USER_NAME + "', " +
+                "NULL, NULL, " +
+                "'" + dateTimeFormat.format(DateTime.now()) + "', " +
+                "NULL, "+
+                "NULL " + // create_user_org_code
+                ");\n\r";
+        //      用户与科室的关系数据
+        userOrgSQL += " INSERT INTO user_center_pri.sys_user_org  VALUES (" +
+                IdWorker.getId() + ", " +
+                userId.toString() + ", " +
+                department.getOrgId().toString() + ", " +
+                departmentId.toString() + ", " +
+                CommonConstant.SYSTEM_ORG_DEP_LEVEL.toString() + ", " +
+                "1, 0, " +
+                CommonConstant.ADMIN_USER_ID.toString() +", " +
+                "'" + CommonConstant.ADMIN_USER_NAME + "', " +
+                "NULL, NULL, " +
+                "'" + dateTimeFormat.format(DateTime.now()) + "', " +
+                "NULL, "+
+                "NULL " + // create_user_org_code
+                ");\n\r";
+        // 4.3、 sys_role_user创建记录
+        roleUserSQL = " INSERT INTO user_center_pri.sys_role_user  VALUES ( " +
+                userId.toString() + ", "+
+                CommonConstant.HOSPITAL_DOCTOR_ID +" );\n\r" +  // 普通医生
+                    " INSERT INTO user_center_pri.sys_role_user  VALUES ( " +
+                userId.toString() + ", "+
+                CommonConstant.HOSPITAL_ADMIN_ID +");\n\r" ;   // 医院管理员
+        // 4.4、 sys_doctor创建记录
+        doctorSQL = " INSERT INTO user_center_pri.sys_doctor  VALUES (" +
+                IdWorker.getId() + ", " +
+                userId.toString() + ", " +
+                hospitalInfo.getId().toString() + ", " +
+                "'" + hospitalInfo.getHospitalName() + "', " +
+                department.getId().toString() + ", " +
+                "'" + department.getDepartmentName()  + "', " +
+                "'管理员', NULL, NULL, 'admin', " +
+                "NULL, NULL, NULL, NULL, NULL,  " +
+                "0, 0, 0, 0, 1, 1, 1, " +
+                CommonConstant.ADMIN_USER_ID.toString() +", " +
+                "'" + CommonConstant.ADMIN_USER_NAME + "', " +
+                "NULL, NULL, " +
+                "'" +dateTimeFormat.format(DateTime.now()) + "', " +
+                "NULL, " +
+                department.getSaleUserId().toString() + ", " +
+                "'" + department.getSaleUserName() + "', " +
+                "1, " +
+                "'" + CommonConstant.ADMIN_USER_ORG_CODE + "'" +
+                ");\n\r";
+        // 5、根据hospitalId和departmentId从opration_center.product_order中查询合同信息
+        Map<String, Object> orderMap = new HashMap<>();
+        orderMap.put("hospital_id", hospitalId);
+        orderMap.put("department_id", departmentId);
+        orderMap.put("enabled", 1);
+        orderMap.put("is_del", 0);
+        orderMap.put("sql_is_downloaded",0);
+        ResultBody orderResult = productOrderService.findProductOrderListByMap(orderMap);
+        if (orderResult.isOk()) {
+            //List<ProductOrder> productOrderList = (List<ProductOrder>) orderResult.getData();
+            List<ProductOrder> productOrderList = JSON.parseArray(JSON.toJSONString(orderResult.getData()), ProductOrder.class);
+            if ((productOrderList != null) && (productOrderList.size() > 0)) {
+                for (int i = 0; i < productOrderList.size(); i++) {
+                    ProductOrder productOrder = productOrderList.get(i);
+                    createTime = "'" + dateTimeFormat.format(productOrder.getCreateTime()) + "'";
+                    updateTime = (productOrder.getUpdateTime() == null) ? "NULL" : "'" + dateTimeFormat.format(productOrder.getUpdateTime()) + "'";
+                    productOrderSQL += "INSERT INTO opration_center_pri.product_order VALUES(" +
+                            productOrder.getId() + ", " +
+                            productOrder.getHospitalId() + ", " +
+                            "'" + productOrder.getHospitalName() + "', " +
+                            productOrder.getDepartmentId() + ", " +
+                            "'" + productOrder.getDepartmentName() + "', " +
+                            "'" + productOrder.getContractNo() + "', " +
+                            "'" + productOrder.getContractTitle() + "', " +
+                            productOrder.getContractNum() + ", " +
+                            "'" + dateFormat.format(productOrder.getContractBeginTime()) + "', " +
+                            "'" + dateFormat.format(productOrder.getContractEndTime()) + "', " +
+                            "'" + dateTimeFormat.format(productOrder.getContractTime()) + "', " +
+                            productOrder.getIsDel() + ", " +
+                            productOrder.getEnabled() + ", " +
+                            "1, " +
+                            updateTime + ", " +
+                            productOrder.getCreateUserId() + ", " +
+                            "'" + productOrder.getCreateUserName() + "', " +
+                            productOrder.getUpdateUserId() + ", " +
+                            "'" + productOrder.getUpdateUserName() + "', " +
+                            createTime + ", " +
+                            "NULL, "+ // tenant_id
+                            "'" + productOrder.getCreateUserOrgCode() + "' " +
+                            ");\n\r";
+
+                    // 6、根据order_id从opration_center.product_order_detail中查询合同中的套餐信息
+                    orderMap.clear();
+                    orderMap.put("order_id", productOrder.getId());
+                    orderMap.put("enabled", 1);
+                    orderMap.put("is_del", 0);
+                    ResultBody detailResult = productOrderService.findProductOrderDetailListByMap(orderMap);
+
+                    if (detailResult.isOk()) {
+                        //List<ProductOrderDetail> productOrderDetailList = (List<ProductOrderDetail>) detailResult.getData();
+                        List<ProductOrderDetail> productOrderDetailList = JSON.parseArray(JSON.toJSONString(detailResult.getData()), ProductOrderDetail.class);
+
+                        if ((productOrderDetailList != null) && (productOrderDetailList.size() > 0)) {
+
+                            for (int j = 0; j < productOrderDetailList.size(); j++) {
+                                ProductOrderDetail productOrderDetail = productOrderDetailList.get(j);
+                                createTime = "'" + dateTimeFormat.format(productOrderDetail.getCreateTime()) + "'";
+                                updateTime = (productOrderDetail.getUpdateTime() == null) ? "NULL" : "'" + dateTimeFormat.format(productOrderDetail.getUpdateTime()) + "'";
+                                productOrderDetailSQL += "INSERT INTO opration_center_pri.product_order_detail VALUES( " +
+                                        productOrderDetail.getId() + ", " +
+                                        productOrderDetail.getOrderId() + ", " +
+                                        productOrderDetail.getProId() + ", " +
+                                        productOrderDetail.getProType() + ", " +
+                                        productOrderDetail.getTermType() + ", " +
+                                        "'" + productOrderDetail.getProName() + "', " +
+                                        productOrderDetail.getIsShare() + ", " +
+                                        productOrderDetail.getIsDel() + ", " +
+                                        productOrderDetail.getOrderAilightCount() + ", " +
+                                        productOrderDetail.getOrderRecordCount() + ", " +
+                                        productOrderDetail.getAilightCount() + ", " +
+                                        "'" + productOrderDetail.getAilightCountEncryption() + "', " +
+                                        productOrderDetail.getRecordCount() + ", " +
+                                        "'" + dateFormat.format(productOrderDetail.getProBegintime()) + "', " +
+                                        "'" + productOrderDetail.getProBegintimeEncryption() + "', " +
+                                        "'" + dateFormat.format(productOrderDetail.getProEndtime()) + "', " +
+                                        "'" + productOrderDetail.getProEndtimeEncryption() + "', " +
+                                        productOrderDetail.getEnabled() + ", " +
+                                        productOrderDetail.getCreateUserId() + ", " +
+                                        "'" + productOrderDetail.getCreateUserName() + "', " +
+                                        productOrderDetail.getUpdateUserId() + ", " +
+                                        updateTime + ", " +
+                                        "'" + productOrderDetail.getUpdateUserName() + "', " +
+                                        createTime + ", " +
+                                        "Null, " + // tenant_id
+                                        "'" + productOrderDetail.getCreateUserOrgCode() + "' " +
+                                        ");\n\r";
+                                productOrderRecordSQL +=  "INSERT INTO opration_center_pri.product_order_record VALUES( " +
+                                        productOrderDetail.getId() + ", " +
+                                        productOrderDetail.getOrderId() + ", " +
+                                        productOrderDetail.getProId() + ", " +
+                                        productOrderDetail.getProType() + ", " +
+                                        "'" + productOrderDetail.getProName() + "', " +
+                                        productOrderDetail.getIsShare() + ", " +
+                                        productOrderDetail.getIsDel() + ", " +
+                                        productOrderDetail.getAilightCount() + ", " +
+                                        productOrderDetail.getRecordCount() + ", " +
+                                        "'" + dateFormat.format(productOrderDetail.getProBegintime()) + "', " +
+                                        "'" + dateFormat.format(productOrderDetail.getProEndtime()) + "', " +
+                                        productOrderDetail.getEnabled() + ", " +
+                                        productOrderDetail.getCreateUserId() + ", " +
+                                        "'" + productOrderDetail.getCreateUserName() + "', " +
+                                        productOrderDetail.getUpdateUserId() + ", " +
+                                        updateTime + ", " +
+                                        "'" + productOrderDetail.getUpdateUserName() + "', " +
+                                        createTime + ", " +
+                                        "Null, " + // tenant_id
+                                        "'" + productOrderDetail.getCreateUserOrgCode() + "' " +
+                                        ");\n\r";
+                            }
+                        } else {
+                            log.error("此合同【{}】没有合同明细(套餐)",productOrder.getId());
+                            // return "没有已开通的合同明细(套餐),请先充值,再生成SQL文";
+                        }
+
+                    } else {
+                        log.error(detailResult.getMsg());
+                        return "没有已开通的合同明细(套餐),请先充值,再生成SQL文";
+                    }
+                    // 更新合同表中的是否下载字段,为已下载(true)
+                    productOrder.setSqlIsDownloaded(true);
+                    ResultBody updateResult = productOrderService.downLoadProductOrderOver(productOrder);
+                    if (!updateResult.isOk()) {
+                        log.error("合同表下载状态更新失败!");
+                    }
+
+                }
+            } else {
+
+                log.error("此科室【hospital_id:{},department_id:{}】没有已开通的合同记录",hospitalId,departmentId);
+                return "没有已开通的合同记录,请先充值,再生成SQL文";
+            }
+        } else {
+            log.error(orderResult.getMsg());
+            return "没有已开通的合同记录,请先充值,再生成SQL文";
+
+        }
+
+        if ((productOrderSQL.isEmpty()) || (productOrderDetailSQL.isEmpty())){
+            log.error("此科室【hospital_id:{},department_id:{}】没有已开通的合同记录",hospitalId,departmentId);
+            return "没有已开通的合同记录,请先充值,再生成SQL文";
+        }
+
+        initSQL = organizationSQL + hospitalSQL + departmentSQL +
+                userSQL + userOrgSQL + roleUserSQL + doctorSQL +
+                productOrderSQL + productOrderDetailSQL + productOrderRecordSQL;
+
+        return initSQL;
+    }
 }

--
Gitblit v1.8.0