forked from kidgrow-microservices-platform

克 刘
2021-03-01 183f436c553b641770fdb2352452192c97009a84
Merge remote-tracking branch 'origin/dev' into dev
18 files modified
583 ■■■■ changed files
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/PartnerDockingInfoServiceImpl.java 484 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/PartnerDockingInfoController.java 56 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/PayManagerController.java 8 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java 1 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java 6 ●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/company.html 2 ●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/dataNeed.html 2 ●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html 2 ●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor_form.html 2 ●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/equipmentDocking.html 2 ●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital_form_base.html 4 ●●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital_health.html 2 ●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital_pay.html 2 ●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/product_form.html 2 ●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/recharge.html 2 ●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/rechargeupdate.html 2 ●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/sysOrganization.html 2 ●●● patch | view | raw | blame | history
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/sysdictionaries.html 2 ●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/PartnerDockingInfoServiceImpl.java
@@ -31,6 +31,7 @@
import org.springframework.stereotype.Service;
import org.springframework.util.DigestUtils;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.text.SimpleDateFormat;
@@ -129,265 +130,272 @@
        String updateTime = "";
        try {
            // 1、读取基础表结构SQL
            Resource resource = resourceLoader.getResource("classpath:template//imageServer_template.sql");
            Resource resource = resourceLoader.getResource("classpath:template"+ File.separator+"imageServer_template.sql");
            fileImput = resource.getInputStream();  //new FileInputStream("./template/imageServer_template.sql");
            dbSql = FileUtils.readFile(fileImput);
            if (fileImput != null) {
                dbSql = FileUtils.readFile(fileImput);
            // 2、读取医院信息表Hospital_Info,插入SQL文中
            Map<String, Object> hospitalMap = new HashMap<>();
            hospitalMap.put("id", partnerDockingInfo.getHospitalId());
            ResultBody hospitalResult = sysHospitalService.findAllByMap(hospitalMap);
                // 2、读取医院信息表Hospital_Info,插入SQL文中
                Map<String, Object> hospitalMap = new HashMap<>();
                hospitalMap.put("id", partnerDockingInfo.getHospitalId());
                ResultBody hospitalResult = sysHospitalService.findAllByMap(hospitalMap);
            if (hospitalResult.isOk()) {
                String jsonData = JSONObject.toJSONString(hospitalResult.getData());
                List<SysHospital> hospitalLists = JSONObject.parseArray(jsonData, SysHospital.class);
                if (hospitalLists.size() > 0) {
                    SysHospital hospitalInfo = hospitalLists.get(0);
                    createTime = "'" + dateTimeFormat.format(hospitalInfo.getCreateTime()) + "'";
                    updateTime = (hospitalInfo.getUpdateTime() == null) ? "NULL" : "'" + dateTimeFormat.format(hospitalInfo.getUpdateTime())+ "'";
                    hospitalSQL = " INSERT INTO sys_hospital  VALUES (" +
                            hospitalInfo.getId() + ", " +
                            "'" + hospitalInfo.getHospitalName() + "', " +
                            "'" + 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() + "', " +
                            "NULL," +
                            "NULL," +
                            "NULL," +
                            "'" + hospitalInfo.getHospitalAbout() + "', " +
                            hospitalInfo.getHospitalState() + ", " +
                            hospitalInfo.getEnabled() + ", " +
                            hospitalInfo.getIsDel() + ", " +
                            hospitalInfo.getCreateUserId() + ", " +
                            "'" + hospitalInfo.getCreateUserName() + "', " +
                            hospitalInfo.getUpdateUserId() + ", " +
                            "'" + hospitalInfo.getUpdateUserName() + "', " +
                            createTime + ", " +
                            updateTime + " " +
                            ");\n\r";
                if (hospitalResult.isOk()) {
                    String jsonData = JSONObject.toJSONString(hospitalResult.getData());
                    List<SysHospital> hospitalLists = JSONObject.parseArray(jsonData, SysHospital.class);
                    if (hospitalLists.size() > 0) {
                        SysHospital hospitalInfo = hospitalLists.get(0);
                        createTime = "'" + dateTimeFormat.format(hospitalInfo.getCreateTime()) + "'";
                        updateTime = (hospitalInfo.getUpdateTime() == null) ? "NULL" : "'" + dateTimeFormat.format(hospitalInfo.getUpdateTime()) + "'";
                        hospitalSQL = " INSERT INTO sys_hospital  VALUES (" +
                                hospitalInfo.getId() + ", " +
                                "'" + hospitalInfo.getHospitalName() + "', " +
                                "'" + 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() + "', " +
                                "NULL," +
                                "NULL," +
                                "NULL," +
                                "'" + hospitalInfo.getHospitalAbout() + "', " +
                                hospitalInfo.getHospitalState() + ", " +
                                hospitalInfo.getEnabled() + ", " +
                                hospitalInfo.getIsDel() + ", " +
                                hospitalInfo.getCreateUserId() + ", " +
                                "'" + hospitalInfo.getCreateUserName() + "', " +
                                hospitalInfo.getUpdateUserId() + ", " +
                                "'" + hospitalInfo.getUpdateUserName() + "', " +
                                createTime + ", " +
                                updateTime + " " +
                                ");\n\r";
                    } else {
                        return "医院信息读取失败,请重新生成SQL!";
                    }
                } else {
                    return "医院信息读取失败,请重新生成SQL!";
                }
            } else {
                return "医院信息读取失败,请重新生成SQL!";
            }
            // 3、读取科室信息表Department_Info,生成SQL文
            departmentSQL = "INSERT INTO sys_department VALUES (" +
                    +partnerDockingInfo.getDepartmentId() + ", " +
                    "'" + partnerDockingInfo.getDepartmentName() + "', " +
                    +partnerDockingInfo.getHospitalId() + ", " +
                    "0, 1, 0, '喜高科技', 0 , '喜高科技', " +
                    "'" + DateTime.now().toString() + "', " +
                    "'" + DateTime.now().toString() + "', " +
                    "6 " +
                    ");\n\r";
            // 4、读取医生信息表Doctor_Info,生成SQL文
            Map<String, Object> doctorMap = new HashMap<>();
            doctorMap.put("hospital_id", partnerDockingInfo.getHospitalId());
            doctorMap.put("department_id", partnerDockingInfo.getDepartmentId());
            doctorMap.put("is_admin_user", 1);
            ResultBody doctorResult = sysDoctorService.getListByMap(doctorMap);
                // 3、读取科室信息表Department_Info,生成SQL文
                departmentSQL = "INSERT INTO sys_department VALUES (" +
                        +partnerDockingInfo.getDepartmentId() + ", " +
                        "'" + partnerDockingInfo.getDepartmentName() + "', " +
                        +partnerDockingInfo.getHospitalId() + ", " +
                        "0, 1, 0, '喜高科技', 0 , '喜高科技', " +
                        "'" + DateTime.now().toString() + "', " +
                        "'" + DateTime.now().toString() + "', " +
                        "6 " +
                        ");\n\r";
                // 4、读取医生信息表Doctor_Info,生成SQL文
                Map<String, Object> doctorMap = new HashMap<>();
                doctorMap.put("hospital_id", partnerDockingInfo.getHospitalId());
                doctorMap.put("department_id", partnerDockingInfo.getDepartmentId());
                doctorMap.put("is_admin_user", 1);
                ResultBody doctorResult = sysDoctorService.getListByMap(doctorMap);
            if (doctorResult.isOk()) {
                String jsonData = JSONObject.toJSONString(doctorResult.getData());
                List<SysDoctor> doctorList = JSONObject.parseArray(jsonData, SysDoctor.class);
                if (doctorList.size() > 0) {
                    SysDoctor doctorInfo = doctorList.get(0);
                    doctorSQL = "INSERT INTO sys_doctor VALUES(" +
                            doctorInfo.getId() + ", " +
                            +doctorInfo.getHospitalId() + ", " +
                            "'" + doctorInfo.getHospitalName() + "', " +
                            +doctorInfo.getDepartmentId() + ", " +
                            "'" + doctorInfo.getDepartmentName() + "', " +
                            "'" + doctorInfo.getDoctorName() + "', " +
                            "NULL, NULL, " +
                            "'" + doctorInfo.getDoctorTel() + "', " +
                            "'" + DigestUtils.md5DigestAsHex("123456".getBytes()).replace("-", "") + "', " +
                            "'" + doctorInfo.getDoctorRankId() + "', " +
                            "'" + doctorInfo.getDoctorRank() + "', " +
                            "'" + doctorInfo.getDoctorOtherLink() + "', " +
                            "'" + doctorInfo.getDoctorEmail() + "', " +
                            "'" + doctorInfo.getDoctorAbout() + "', " +
                            "0, " +
                            doctorInfo.getDoctorState() + ", " +
                            doctorInfo.getDoctorType() + ", " +
                            "1, 0, '喜高科技', 0 , '喜高科技', " +
                            "'" + DateTime.now().toString() + "', " +
                            "'" + DateTime.now().toString() + "', " +
                            "1" +
                            ");\n\r";
                if (doctorResult.isOk()) {
                    String jsonData = JSONObject.toJSONString(doctorResult.getData());
                    List<SysDoctor> doctorList = JSONObject.parseArray(jsonData, SysDoctor.class);
                    if (doctorList.size() > 0) {
                        SysDoctor doctorInfo = doctorList.get(0);
                        doctorSQL = "INSERT INTO sys_doctor VALUES(" +
                                doctorInfo.getId() + ", " +
                                +doctorInfo.getHospitalId() + ", " +
                                "'" + doctorInfo.getHospitalName() + "', " +
                                +doctorInfo.getDepartmentId() + ", " +
                                "'" + doctorInfo.getDepartmentName() + "', " +
                                "'" + doctorInfo.getDoctorName() + "', " +
                                "NULL, NULL, " +
                                "'" + doctorInfo.getDoctorTel() + "', " +
                                "'" + DigestUtils.md5DigestAsHex("123456".getBytes()).replace("-", "") + "', " +
                                "'" + doctorInfo.getDoctorRankId() + "', " +
                                "'" + doctorInfo.getDoctorRank() + "', " +
                                "'" + doctorInfo.getDoctorOtherLink() + "', " +
                                "'" + doctorInfo.getDoctorEmail() + "', " +
                                "'" + doctorInfo.getDoctorAbout() + "', " +
                                "0, " +
                                doctorInfo.getDoctorState() + ", " +
                                doctorInfo.getDoctorType() + ", " +
                                "1, 0, '喜高科技', 0 , '喜高科技', " +
                                "'" + DateTime.now().toString() + "', " +
                                "'" + DateTime.now().toString() + "', " +
                                "1" +
                                ");\n\r";
                    } else {
                        return "医生信息读取失败,请先创建管理员,再重新生成SQL!";
                    }
                } else {
                    return "医生信息读取失败,请先创建管理员,再重新生成SQL!";
                }
            } else {
                return "医生信息读取失败,请先创建管理员,再重新生成SQL!";
            }
            // 5、读取合作商信息表Partner_Info,生成SQL文
            PartnerInfo partnerInfo = partnerInfoService.getById(partnerDockingInfo.getPartnerId());
            if (partnerInfo != null) {
                createTime = "'" + dateTimeFormat.format(partnerInfo.getCreateTime()) + "'";
                updateTime = (partnerInfo.getUpdateTime() == null) ? "NULL" : "'" + dateTimeFormat.format(partnerInfo.getUpdateTime()) + "'";
                // 5、读取合作商信息表Partner_Info,生成SQL文
                PartnerInfo partnerInfo = partnerInfoService.getById(partnerDockingInfo.getPartnerId());
                if (partnerInfo != null) {
                    createTime = "'" + dateTimeFormat.format(partnerInfo.getCreateTime()) + "'";
                    updateTime = (partnerInfo.getUpdateTime() == null) ? "NULL" : "'" + dateTimeFormat.format(partnerInfo.getUpdateTime()) + "'";
                partnerSQL = "INSERT INTO partner_info VALUES (" +
                        partnerInfo.getId() + ", " +
                        "'" + partnerInfo.getPartnerName() + "', " +
                        +partnerInfo.getPartnerType() + ", " +
                        "'" + partnerInfo.getPartnerAddress() + "', " +
                        "'" + partnerInfo.getPartnerProvince() + "', " +
                        "'" + partnerInfo.getPartnerCity() + "', " +
                        "'" + partnerInfo.getPartnerArea() + "', " +
                        "'" + partnerInfo.getPartnerLinkMan() + "', " +
                        "'" + partnerInfo.getPartnerLinkTelephone() + "', " +
                        "'" + partnerInfo.getPartnerBussinessArea() + "', " +
                        "'" + partnerInfo.getPartnerIntroduce() + "', " +
                        "'" + partnerInfo.getPartnerUniqueCode() + "', " +
                        "0, 1, " + partnerInfo.getCreateUserId() + ", " +
                        "'" + partnerInfo.getCreateUserName() + "', " +
                        createTime + ", " +
                        +partnerInfo.getUpdateUserId() + ", " +
                        "'" + partnerInfo.getUpdateUserName() + "', " +
                        updateTime +
                        " );\n\r";
            } else {
                return "合作商信息读取失败,请重新生成SQL!";
            }
            // 6、读取服务器信息表Server_Info,生成SQL文
            createTime = "'"+ dateTimeFormat.format(partnerDockingInfo.getCreateTime())+"'";
            updateTime = (partnerDockingInfo.getUpdateTime() == null) ? "NULL" : "'"+ dateTimeFormat.format(partnerDockingInfo.getUpdateTime())+"'";
            serverSQL = "INSERT INTO server_info VALUES(" +
                    partnerDockingInfo.getId() + ", " +
                    partnerDockingInfo.getPartnerId() + ", " +
                    partnerDockingInfo.getHospitalId() + ", " +
                    partnerDockingInfo.getDepartmentId() + ", " +
                    "NULL, NULL, NULL, NULL, ";
            // 判断机器码是否为空,拼接不同的字符串。
            if ((partnerDockingInfo.getServerMachineCode() == null) || (partnerDockingInfo.getServerMachineCode().isEmpty())) {
                serverSQL += "NULL, ";
            } else {
                serverSQL += "'" + partnerDockingInfo.getServerMachineCode() + "', ";
            }
            serverSQL += "NULL, NULL, " +
                    "'" + partnerDockingInfo.getAccessKey() + "', " +
                    "0, 1, " +
                    partnerDockingInfo.getCreateUserId() + ", " +
                    "'" + partnerDockingInfo.getCreateUserName() + "', " +
                    createTime + ", " +
                    partnerDockingInfo.getUpdateUserId() + ", " +
                    "'" + partnerDockingInfo.getUpdateUserName() + "', " +
                    updateTime + " " +
                    ");\n\r";
            // 7、订单、订单明细(服务期限和数量)的数据生成
            // 7.1 订单数据
            Map<String, Object> orderMap = new HashMap<>();
            orderMap.put("hospital_id", partnerDockingInfo.getHospitalId());
            orderMap.put("department_id", partnerDockingInfo.getDepartmentId());
            orderMap.put("enabled", 1);
            orderMap.put("is_del", 0);
            List<ProductOrder> productOrderList = productOrderService.listByMap(orderMap);
            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())+"'";
                    serviceSQL += "INSERT INTO order_record VALUES(" +
                            productOrder.getId() + ", " +
                            productOrder.getHospitalId() + ", " +
                            "'" + productOrder.getHospitalName() + "', " +
                            productOrder.getDepartmentId() + ", " +
                            "'" + productOrder.getDepartmentName() + "', " +
                            "'" + productOrder.getContractNo() + "', " +
                            "'" + productOrder.getContractTitle() + "', " +
                            "'" + dateFormat.format(productOrder.getContractBeginTime()) + "', " +
                            "'" + dateFormat.format(productOrder.getContractEndTime()) + "', " +
                            "'" + dateTimeFormat.format(productOrder.getContractTime()) + "', " +
                            productOrder.getIsDel() + ", " +
                            productOrder.getEnabled() + ", " +
                    partnerSQL = "INSERT INTO partner_info VALUES (" +
                            partnerInfo.getId() + ", " +
                            "'" + partnerInfo.getPartnerName() + "', " +
                            +partnerInfo.getPartnerType() + ", " +
                            "'" + partnerInfo.getPartnerAddress() + "', " +
                            "'" + partnerInfo.getPartnerProvince() + "', " +
                            "'" + partnerInfo.getPartnerCity() + "', " +
                            "'" + partnerInfo.getPartnerArea() + "', " +
                            "'" + partnerInfo.getPartnerLinkMan() + "', " +
                            "'" + partnerInfo.getPartnerLinkTelephone() + "', " +
                            "'" + partnerInfo.getPartnerBussinessArea() + "', " +
                            "'" + partnerInfo.getPartnerIntroduce() + "', " +
                            "'" + partnerInfo.getPartnerUniqueCode() + "', " +
                            "0, 1, " + partnerInfo.getCreateUserId() + ", " +
                            "'" + partnerInfo.getCreateUserName() + "', " +
                            createTime + ", " +
                            productOrder.getCreateUserId() + ", " +
                            "'" + productOrder.getCreateUserName() + "', " +
                            updateTime + ", " +
                            productOrder.getUpdateUserId() + ", " +
                            "'" + productOrder.getUpdateUserName() + "' " +
                            ");\n\r";
                    // 7.2 订单明细数据
                    orderMap.clear();
                    orderMap.put("order_id", productOrder.getId());
                    orderMap.put("enabled", 1);
                    orderMap.put("is_del", 0);
                    List<ProductOrderRecord> productOrderRecordList = productOrderRecordService.listByMap(orderMap);
                    if ((productOrderRecordList != null) && (productOrderRecordList.size() > 0)) {
                        for (i = 0; i < productOrderRecordList.size(); i++) {
                            ProductOrderRecord productOrderRecord = productOrderRecordList.get(i);
                            createTime = "'"+dateTimeFormat.format(productOrderRecord.getCreateTime())+"'";
                            updateTime = (productOrderRecord.getUpdateTime() == null) ? "NULL" : "'"+dateTimeFormat.format(productOrderRecord.getUpdateTime())+"'";
                            serviceSQL += "INSERT INTO order_detail VALUES( " +
                                    productOrderRecord.getId() + ", " +
                                    productOrderRecord.getOrderId() + ", " +
                                    productOrderRecord.getProId() + ", " +
                                    productOrderRecord.getProType() + ", " +
                                    "'" + productOrderRecord.getProName() + "', " +
                                    productOrderRecord.getAilightCount() + ", " +
                                    productOrderRecord.getRecordCount() + ", " +
                                    "'" + dateFormat.format(productOrderRecord.getProBegintime()) + "', " +
                                    "'" + dateFormat.format(productOrderRecord.getProEndtime()) + "', " +
                                    productOrderRecord.getIsShare() + ", " +
                                    "0, 0, " +
                                    // 服务验证字符串【合作商ID、医院ID、科室ID、产品ID、开始日期、结束日期、读片数量、报告数量、已使用读片数量、已使用报告数量】
                                    "'" + EncryptUtils.encryptAES((partnerDockingInfo.getPartnerId().toString() + "|" +
                                    partnerDockingInfo.getHospitalId().toString() + "|" +
                                    partnerDockingInfo.getDepartmentId().toString() + "|" +
                                    productOrderRecord.getProId().toString() + "|" +
                                    dateFormat.format(productOrderRecord.getProBegintime()) + "|" +
                                    dateFormat.format(productOrderRecord.getProEndtime()) + "|" +
                                    productOrderRecord.getAilightCount().toString() + "|" +
                                    productOrderRecord.getRecordCount() + "|" +
                                    "0|0"), SecurityConstants.AES_KEY) + "', " +
                                    productOrderRecord.getIsDel() + ", " +
                                    productOrderRecord.getEnabled() + ", " +
                                    createTime + ", " +
                                    productOrderRecord.getCreateUserId() + ", " +
                                    "'" + productOrderRecord.getCreateUserName() + "', " +
                                    updateTime + ", " +
                                    productOrderRecord.getUpdateUserId() + ", " +
                                    "'" + productOrderRecord.getUpdateUserName() + "' " +
                                    ");\n\r";
                        }
                    } else {
                        return "没有已开通的服务记录,请先充值,再生成SQL文";
                    }
                            +partnerInfo.getUpdateUserId() + ", " +
                            "'" + partnerInfo.getUpdateUserName() + "', " +
                            updateTime +
                            " );\n\r";
                } else {
                    return "合作商信息读取失败,请重新生成SQL!";
                }
            } else {
                return "没有已开通的服务记录,请先充值,再生成SQL文";
                // 6、读取服务器信息表Server_Info,生成SQL文
                createTime = "'" + dateTimeFormat.format(partnerDockingInfo.getCreateTime()) + "'";
                updateTime = (partnerDockingInfo.getUpdateTime() == null) ? "NULL" : "'" + dateTimeFormat.format(partnerDockingInfo.getUpdateTime()) + "'";
                serverSQL = "INSERT INTO server_info VALUES(" +
                        partnerDockingInfo.getId() + ", " +
                        partnerDockingInfo.getPartnerId() + ", " +
                        partnerDockingInfo.getHospitalId() + ", " +
                        partnerDockingInfo.getDepartmentId() + ", " +
                        "NULL, NULL, NULL, NULL, ";
                // 判断机器码是否为空,拼接不同的字符串。
                if ((partnerDockingInfo.getServerMachineCode() == null) || (partnerDockingInfo.getServerMachineCode().isEmpty())) {
                    serverSQL += "NULL, ";
                } else {
                    serverSQL += "'" + partnerDockingInfo.getServerMachineCode() + "', ";
                }
                serverSQL += "NULL, NULL, " +
                        "'" + partnerDockingInfo.getAccessKey() + "', " +
                        "0, 1, " +
                        partnerDockingInfo.getCreateUserId() + ", " +
                        "'" + partnerDockingInfo.getCreateUserName() + "', " +
                        createTime + ", " +
                        partnerDockingInfo.getUpdateUserId() + ", " +
                        "'" + partnerDockingInfo.getUpdateUserName() + "', " +
                        updateTime + " " +
                        ");\n\r";
                // 7、订单、订单明细(服务期限和数量)的数据生成
                // 7.1 订单数据
                Map<String, Object> orderMap = new HashMap<>();
                orderMap.put("hospital_id", partnerDockingInfo.getHospitalId());
                orderMap.put("department_id", partnerDockingInfo.getDepartmentId());
                orderMap.put("enabled", 1);
                orderMap.put("is_del", 0);
                List<ProductOrder> productOrderList = productOrderService.listByMap(orderMap);
                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()) + "'";
                        serviceSQL += "INSERT INTO order_record VALUES(" +
                                productOrder.getId() + ", " +
                                productOrder.getHospitalId() + ", " +
                                "'" + productOrder.getHospitalName() + "', " +
                                productOrder.getDepartmentId() + ", " +
                                "'" + productOrder.getDepartmentName() + "', " +
                                "'" + productOrder.getContractNo() + "', " +
                                "'" + productOrder.getContractTitle() + "', " +
                                "'" + dateFormat.format(productOrder.getContractBeginTime()) + "', " +
                                "'" + dateFormat.format(productOrder.getContractEndTime()) + "', " +
                                "'" + dateTimeFormat.format(productOrder.getContractTime()) + "', " +
                                productOrder.getIsDel() + ", " +
                                productOrder.getEnabled() + ", " +
                                createTime + ", " +
                                productOrder.getCreateUserId() + ", " +
                                "'" + productOrder.getCreateUserName() + "', " +
                                updateTime + ", " +
                                productOrder.getUpdateUserId() + ", " +
                                "'" + productOrder.getUpdateUserName() + "' " +
                                ");\n\r";
                        // 7.2 订单明细数据
                        orderMap.clear();
                        orderMap.put("order_id", productOrder.getId());
                        orderMap.put("enabled", 1);
                        orderMap.put("is_del", 0);
                        List<ProductOrderRecord> productOrderRecordList = productOrderRecordService.listByMap(orderMap);
                        if ((productOrderRecordList != null) && (productOrderRecordList.size() > 0)) {
                            for (i = 0; i < productOrderRecordList.size(); i++) {
                                ProductOrderRecord productOrderRecord = productOrderRecordList.get(i);
                                createTime = "'" + dateTimeFormat.format(productOrderRecord.getCreateTime()) + "'";
                                updateTime = (productOrderRecord.getUpdateTime() == null) ? "NULL" : "'" + dateTimeFormat.format(productOrderRecord.getUpdateTime()) + "'";
                                serviceSQL += "INSERT INTO order_detail VALUES( " +
                                        productOrderRecord.getId() + ", " +
                                        productOrderRecord.getOrderId() + ", " +
                                        productOrderRecord.getProId() + ", " +
                                        productOrderRecord.getProType() + ", " +
                                        "'" + productOrderRecord.getProName() + "', " +
                                        productOrderRecord.getAilightCount() + ", " +
                                        productOrderRecord.getRecordCount() + ", " +
                                        "'" + dateFormat.format(productOrderRecord.getProBegintime()) + "', " +
                                        "'" + dateFormat.format(productOrderRecord.getProEndtime()) + "', " +
                                        productOrderRecord.getIsShare() + ", " +
                                        "0, 0, " +
                                        // 服务验证字符串【合作商ID、医院ID、科室ID、产品ID、开始日期、结束日期、读片数量、报告数量、已使用读片数量、已使用报告数量】
                                        "'" + EncryptUtils.encryptAES((partnerDockingInfo.getPartnerId().toString() + "|" +
                                        partnerDockingInfo.getHospitalId().toString() + "|" +
                                        partnerDockingInfo.getDepartmentId().toString() + "|" +
                                        productOrderRecord.getProId().toString() + "|" +
                                        dateFormat.format(productOrderRecord.getProBegintime()) + "|" +
                                        dateFormat.format(productOrderRecord.getProEndtime()) + "|" +
                                        productOrderRecord.getAilightCount().toString() + "|" +
                                        productOrderRecord.getRecordCount() + "|" +
                                        "0|0"), SecurityConstants.AES_KEY) + "', " +
                                        productOrderRecord.getIsDel() + ", " +
                                        productOrderRecord.getEnabled() + ", " +
                                        createTime + ", " +
                                        productOrderRecord.getCreateUserId() + ", " +
                                        "'" + productOrderRecord.getCreateUserName() + "', " +
                                        updateTime + ", " +
                                        productOrderRecord.getUpdateUserId() + ", " +
                                        "'" + productOrderRecord.getUpdateUserName() + "' " +
                                        ");\n\r";
                            }
                        } else {
                            return "没有已开通的服务记录,请先充值,再生成SQL文";
                        }
                    }
                } else {
                    return "没有已开通的服务记录,请先充值,再生成SQL文";
                }
                // 8、所有SQL文合并入基本的SQL中
                dbSql += hospitalSQL + departmentSQL + doctorSQL + partnerSQL + serverSQL + serviceSQL;
            }
            else {
                log.error("ImageServerSQL-Template读取错误!");
            // 8、所有SQL文合并入基本的SQL中
            dbSql += hospitalSQL + departmentSQL + doctorSQL + partnerSQL + serverSQL + serviceSQL;
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                fileImput.close();
                if (fileImput != null) {
                    fileImput.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/PartnerDockingInfoController.java
@@ -155,38 +155,42 @@
    public void downLoadDataBase(@RequestBody PartnerDockingInfo partnerDockingInfo, HttpServletResponse response) {
        String dbSql = partnerDockingInfoService.createSQL(partnerDockingInfo);
        OutputStream out = null;
        InputStream fileInputStream = null;
        try {
            //BASE64Decoder dencoder = new BASE64Decoder();
            byte[] arr = dbSql.getBytes();
        if ((dbSql  == null) ||(dbSql.isEmpty())) {
            log.error("创建私有云数据库脚本出错!");
        } else {
            // 设置输出的格式
            response.reset();
            response.setContentType("application/x-msdownload");
            response.addHeader("Content-Length", "" + arr.length);
            response.addHeader("Content-Disposition", "attachment; filename=\"" + partnerDockingInfo.getHospitalName()+partnerDockingInfo.getDepartmentName() + ".sql\"");
            OutputStream out = null;
            InputStream fileInputStream = null;
            try {
                //BASE64Decoder dencoder = new BASE64Decoder();
                byte[] arr = dbSql.getBytes();
                // 设置输出的格式
                response.reset();
                response.setContentType("application/x-msdownload");
                response.addHeader("Content-Length", "" + arr.length);
                response.addHeader("Content-Disposition", "attachment; filename=\"" + partnerDockingInfo.getHospitalName() + partnerDockingInfo.getDepartmentName() + ".sql\"");
                out = response.getOutputStream();
                fileInputStream = new ByteArrayInputStream(arr);
                byte[] buffer = new byte[1024 * 10];
                int len = 0;
                while ((len = fileInputStream.read(buffer)) > 0) {
                    out.write(buffer, 0, len);
                }
            out = response.getOutputStream();
            fileInputStream = new ByteArrayInputStream(arr);
            byte[] buffer = new byte[1024 * 10] ;
            int len = 0;
            while ((len = fileInputStream.read(buffer)) > 0) {
                out.write(buffer, 0, len);
            }
            } catch (Exception e) {
                e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
            } finally {
        } finally {
            if (fileInputStream != null) {
                try {
                    fileInputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                if (fileInputStream != null) {
                    try {
                        fileInputStream.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/PayManagerController.java
@@ -184,9 +184,11 @@
                    }
                    else if(modelDetail==null)
                    {
                        Boolean isResult=payManagerService.saveproductOrder(payManager,sysUser);
                        if (!isResult) {
                            return ResultBody.failed().msg("套餐充入失败,支付开通失败!");
                        if(payManager.getEnabled()){
                            Boolean isResult=payManagerService.saveproductOrder(payManager,sysUser);
                            if (!isResult) {
                                return ResultBody.failed().msg("套餐充入失败,支付开通失败!");
                            }
                        }
                    }
                } else {
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java
@@ -378,6 +378,7 @@
            sysUser.setType(UserType.DOCTOR.name());
            sysUser.setTenantId(CommonConstant.H_TENANT);
            sysUser.setCreateTime(new Date());
            sysUser.setDefaultAuth(true);
            SysUser byId = iSysUserService.getById(id);
            if (byId != null) {
                sysUser.setCreateUserId(byId.getId());
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java
@@ -798,7 +798,11 @@
            sysUser.setType(UserType.DOCTOR.name());
        }
        sysUser.setHAdminUser(false);
        sysUser.setDefaultAuth(false);
        if(isReg){
            sysUser.setDefaultAuth(false);
        }else{
            sysUser.setDefaultAuth(true);
        }
        sysUser.setOpenId(userRegVo.getOpenId());
        sysUser.setDel(false);
        sysUser.setTenantId(CommonConstant.H_TENANT);
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/company.html
@@ -31,7 +31,7 @@
</script>
<!-- 表单弹窗 -->
<script type="text/html" id="app-model">
    <form id="app-form" lay-filter="app-form" class="layui-form model-form">
    <form id="app-form" lay-filter="app-form" class="layui-form model-form" autocomplete="off" >
        <input name="id" type="hidden"/>
        <div class="layui-form-item">
            <label class="layui-form-label">租户</label>
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/dataNeed.html
@@ -36,7 +36,7 @@
<!-- 表单弹窗 -->
<script type="text/html" id="app-model">
    <form id="app-form" lay-filter="app-form" class="layui-form model-form">
    <form id="app-form" lay-filter="app-form" class="layui-form model-form" autocomplete="off">
        <input name="id" type="hidden"/>
        <div class="layui-form-item">
            <label class="layui-form-label">需求类型</label>
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor.html
@@ -52,7 +52,7 @@
</script>
<!-- 表单弹窗 -->
<script type="text/html" id="app-model">
    <form id="app-form" lay-filter="app-form" class="layui-form model-form">
    <form id="app-form" lay-filter="app-form" class="layui-form model-form" autocomplete="off">
        <input name="id" type="hidden" />
        <div style="display:flex">
            <div class="layui-form-item">
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/doctor_form.html
@@ -1,4 +1,4 @@
<form id="app-form-add" lay-filter="app-form-add" class="layui-form model-form">
<form id="app-form-add" lay-filter="app-form-add" autocomplete="off" class="layui-form model-form">
    <input name="id" type="hidden" />
    <div style="display:flex">
        <div class="layui-form-item">
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/equipmentDocking.html
@@ -36,7 +36,7 @@
<!-- 表单弹窗 -->
<script type="text/html" id="app-model">
    <form id="app-form" lay-filter="app-form" class="layui-form model-form">
    <form id="app-form" lay-filter="app-form" class="layui-form model-form" autocomplete="off">
        <input name="id" type="hidden"/>
        <div class="layui-form-item">
            <label class="layui-form-label" style="width: 75px;">所在医院</label>
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital_form_base.html
@@ -1,4 +1,4 @@
<form id="hospital-form" lay-filter="hospital-form" class="layui-form model-form" method="POST">
<form id="hospital-form" lay-filter="hospital-form" autocomplete="off" class="layui-form model-form" method="POST">
    <div class="layui-form-item">
        <div class="layui-row">
            <div class="layui-col-sm7">
@@ -22,7 +22,7 @@
            <div class="layui-col-sm5">
                <label class="layui-form-label">医院联系人</label>
                <div class="layui-input-block">
                    <input name="hospitalLink" type="text" class="layui-input" maxlength="20" style="width: 200px;" />
                    <input name="hospitalLink" type="text" class="layui-input" maxlength="20" style="width: 200px;"/>
                </div>
            </div>
            <div class="layui-col-sm5">
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital_health.html
@@ -1,4 +1,4 @@
<form id="health-form" lay-filter="health-form" class="layui-form model-form" method="POST">
<form id="health-form" lay-filter="health-form" autocomplete="off" class="layui-form model-form" method="POST">
    <div class="layui-form-item">
        <label class="layui-form-label" style="width: 150px;">服务</label>
        <div class="layui-input-block">
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/hospital_pay.html
@@ -1,4 +1,4 @@
<form id="pay-form" lay-filter="pay-form" class="layui-form model-form" method="POST">
<form id="pay-form" lay-filter="pay-form" autocomplete="off" class="layui-form model-form" method="POST">
    <div class="layui-form-item">
        <label class="layui-form-label" style="width: 150px;">医院</label>
        <div class="layui-input-block">
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/product_form.html
@@ -1,4 +1,4 @@
<form id="product-form" lay-filter="product-form" class="layui-form model-form" method="POST">
<form id="product-form" lay-filter="product-form" class="layui-form model-form" method="POST" autocomplete="off" >
    <div class="layui-form-item">
        <label class="layui-form-label">产品类型</label>
        <div class="layui-input-block">
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/recharge.html
@@ -1,4 +1,4 @@
<form id="recharge-form" lay-filter="recharge-form" class="layui-form">
<form id="recharge-form" lay-filter="recharge-form" autocomplete="off" class="layui-form">
    <div style="overflow-y: auto; height:700px;">
        <div class="layui-tab">
            <ul class="layui-tab-title">
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/rechargeupdate.html
@@ -1,4 +1,4 @@
<form id="recharge-form" lay-filter="recharge-form" class="layui-form">
<form id="recharge-form" lay-filter="recharge-form" autocomplete="off" class="layui-form">
    <div style="overflow-y: auto; height:700px;">
        <div class="layui-tab">
            <ul class="layui-tab-title">
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/sysOrganization.html
@@ -32,7 +32,7 @@
<!-- 表单弹窗 -->
<script type="text/html" id="app-model">
    <form id="app-form" lay-filter="app-form" class="layui-form model-form">
    <form id="app-form" lay-filter="app-form" class="layui-form model-form" autocomplete="off">
        <input name="id" type="hidden"/>
        <div class="layui-form-item">
            <label class="layui-form-label">请选择:</label>
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/sysdictionaries.html
@@ -31,7 +31,7 @@
<!-- 表单弹窗 -->
<script type="text/html" id="app-model">
    <form id="app-form" lay-filter="app-form" class="layui-form model-form">
    <form id="app-form" lay-filter="app-form" class="layui-form model-form" autocomplete="off">
        <input name="id" type="hidden"/>
        <div class="layui-form-item">
            <label class="layui-form-label">字典类型</label>