package com.hzya.frame.grpU8.nxproof.glkmxx.service.impl;

import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

import com.github.pagehelper.PageInfo;
import com.hzya.frame.basedao.service.impl.BaseService;
import com.hzya.frame.grpU8.nxproof.glkmxx.dao.ISenderGlKmxxDao;
import com.hzya.frame.grpU8.nxproof.glkmxx.entity.SenderGlKmxxEntity;
import com.hzya.frame.grpU8.nxproof.glkmxx.service.ISenderGlKmxxService;
import com.hzya.frame.sysnew.application.database.dao.ISysApplicationDatabaseDao;
import com.hzya.frame.sysnew.application.database.entity.SysApplicationDatabaseEntity;
import com.hzya.frame.sysnew.application.entity.SysApplicationEntity;
import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity;
import com.hzya.frame.web.entity.BaseResult;
import com.hzya.frame.web.entity.JsonResultEntity;
import org.apache.commons.collections.CollectionUtils;
import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * (GlKmxx)表服务实现类
 *
 * @author makejava
 * @since 2024-06-20 10:01:13
 */
@Service(value = "SenderGlKmxxServiceImpl")
public class SenderGlKmxxServiceImpl extends BaseService<SenderGlKmxxEntity, String> implements ISenderGlKmxxService {


	@Autowired
	private ISysApplicationDatabaseDao sysApplicationDatabaseDao;
	private ISenderGlKmxxDao senderGlKmxxDao;


	@Autowired
	public void setSenderGlKmxxDao(ISenderGlKmxxDao dao) {
		this.senderGlKmxxDao = dao;
		this.dao = dao;
	}

	//科目信息同步接口
	@Override
	public Object kmxxSynchronization(JSONObject json) {
		JSONObject jsonObject = json.getJSONObject("jsonStr");
		SenderGlKmxxEntity senderGlKmxxEntity = jsonObject.toJavaObject(SenderGlKmxxEntity.class);
		String result = null;
		List<SenderGlKmxxEntity> senderGlKmxxEntities = new ArrayList<>();
		try {
			//如果没有传入年度，则查询当年得，避免数据查询太大
			if (senderGlKmxxEntity.getKjnd() == null) {
				senderGlKmxxEntity.setKjnd(DateUtil.format(new Date(), "yyyy"));
			}
			/*try {
				//同步南浔区人民医院001科目信息
				senderGlKmxxEntity.setZth("001");
				senderGlKmxxEntity.setGsdm("0101010101");
				logger.info("==========开始查询南浔区人民医院科目信息========");
				senderGlKmxxEntities = sqlSessionNxrm.selectList("SenderGlKmxxEntity_list_base",senderGlKmxxEntity);
				result = sendKmxxToHealthBureau(senderGlKmxxEntities);
				logger.info("南浔区人民医院GRPU8科目信息同步结果为:{}",result);
			}catch (Exception e){
				logger.info("南浔区人民医院GRPU8科目信息同步失败:{}",e.getMessage());
				e.printStackTrace();
			}*/
			try {
				//同步南浔区练市人民医院003科目信息
				senderGlKmxxEntity.setZth("003");
				senderGlKmxxEntity.setGsdm("0101010103");
				logger.info("==========开始查询南浔区练市人民医院科目信息========");
				senderGlKmxxEntities = senderGlKmxxDao.querySenderGlKmxxEntity(senderGlKmxxEntity);
				//senderGlKmxxEntities = sqlSessionNxrm.selectList("SenderGlKmxxEntity_list_base",senderGlKmxxEntity);
				result = sendKmxxToHealthBureau(senderGlKmxxEntities);
				logger.info("南浔区练市人民医院GRPU8科目信息同步结果为:{}", result);
			} catch (Exception e) {
				logger.info("南浔区练市人民医院GRPU8科目信息同步失败:{}", e.getMessage());
				e.printStackTrace();
			}
			/*try {
				//同步练市镇中心卫生院005科目信息
				senderGlKmxxEntity.setZth("005");
				senderGlKmxxEntity.setGsdm("0101010202");
				logger.info("==========开始查询南浔区练市镇中心卫生院科目信息========");
				senderGlKmxxEntities = sqlSessionNxrm.selectList("SenderGlKmxxEntity_list_base",senderGlKmxxEntity);
				result =sendKmxxToHealthBureau(senderGlKmxxEntities);
				logger.info("南浔区练市镇中心卫生院GRPU8科目信息同步结果为:{}",result);
			}catch (Exception e){
				logger.info("南浔区练市镇中心卫生院GRPU8科目信息同步失败:{}",e.getMessage());
				e.printStackTrace();
			}*/
			/*try {
				//同步南浔区善琏镇卫生院007科目信息
				senderGlKmxxEntity.setZth("007");
				senderGlKmxxEntity.setGsdm("0101010204");
				logger.info("==========开始查询南浔区善琏镇卫生院科目信息========");
				senderGlKmxxEntities = sqlSessionNxrm.selectList("SenderGlKmxxEntity_list_base",senderGlKmxxEntity);
				result =sendKmxxToHealthBureau(senderGlKmxxEntities);
				logger.info("南浔区善琏镇卫生院GRPU8科目信息同步结果为:{}",result);
			}catch (Exception e){
				logger.info("南浔区善琏镇卫生院GRPU8科目信息同步失败:{}",e.getMessage());
				e.printStackTrace();
			}*/
			/*try {
				//同步双林镇中心卫生院004科目信息
				senderGlKmxxEntity.setZth("004");
				senderGlKmxxEntity.setGsdm("0101010201");
				senderGlKmxxEntities = sqlSessionSlz.selectList("SenderGlKmxxEntity_list_base",senderGlKmxxEntity);
				result =sendKmxxToHealthBureau(senderGlKmxxEntities);
				logger.info("双林镇中心卫生院GRPU8科目信息同步结果为:{}",result);
			}catch (Exception e){
				logger.info("双林镇中心卫生院GRPU8科目信息同步失败:{}",e.getMessage());
				e.printStackTrace();
			}
			try {
				//同步菱湖镇中心卫生院009科目信息
				senderGlKmxxEntity.setZth("009");
				senderGlKmxxEntity.setGsdm("0101020201");
				senderGlKmxxEntities = sqlSessionLhz.selectList("SenderGlKmxxEntity_list_base",senderGlKmxxEntity);
				result =sendKmxxToHealthBureau(senderGlKmxxEntities);
				logger.info("菱湖镇中心卫生院GRPU8科目信息同步结果为:{}",result);
			}catch (Exception e){
				logger.info("菱湖镇中心卫生院GRPU8科目信息同步失败:{}",e.getMessage());
				e.printStackTrace();
			}
			try {
				//同步和孚镇卫生院010科目信息
				senderGlKmxxEntity.setZth("010");
				senderGlKmxxEntity.setGsdm("0101020202");
				senderGlKmxxEntities = sqlSessionHfz.selectList("SenderGlKmxxEntity_list_base",senderGlKmxxEntity);
				result =sendKmxxToHealthBureau(senderGlKmxxEntities);
				logger.info("和孚镇卫生院GRPU8科目信息同步结果为:{}",result);
			}catch (Exception e){
				logger.info("和孚镇卫生院GRPU8科目信息同步失败:{}",e.getMessage());
				e.printStackTrace();
			}
			try {
				//同步千金镇卫生院011科目信息
				senderGlKmxxEntity.setZth("011");
				senderGlKmxxEntity.setGsdm("0101020203");
				senderGlKmxxEntities = sqlSessionQjz.selectList("SenderGlKmxxEntity_list_base",senderGlKmxxEntity);
				result =sendKmxxToHealthBureau(senderGlKmxxEntities);
				logger.info("千金镇卫生院GRPU8科目信息同步结果为:{}",result);
			}catch (Exception e){
				logger.info("千金镇卫生院GRPU8科目信息同步失败:{}",e.getMessage());
				e.printStackTrace();
			}
			try {
				//同步石崇镇卫生院012科目信息
				senderGlKmxxEntity.setZth("012");
				senderGlKmxxEntity.setGsdm("0101020204");
				senderGlKmxxEntities = sqlSessionScz.selectList("SenderGlKmxxEntity_list_base",senderGlKmxxEntity);
				result =sendKmxxToHealthBureau(senderGlKmxxEntities);
				logger.info("石崇镇卫生院GRPU8科目信息同步结果为:{}",result);
			}catch (Exception e){
				logger.info("石崇镇卫生院GRPU8科目信息同步失败:{}",e.getMessage());
				e.printStackTrace();
			}*/
			/*try {
				//同步南浔镇中心卫生院014科目信息
				senderGlKmxxEntity.setZth("014");
				senderGlKmxxEntity.setGsdm("010202");
				senderGlKmxxEntities = sqlSessionNxz.selectList("SenderGlKmxxEntity_list_base",senderGlKmxxEntity);
				result =sendKmxxToHealthBureau(senderGlKmxxEntities);
				logger.info("南浔镇中心卫生院GRPU8科目信息同步结果为:{}",result);
			}catch (Exception e){
				logger.info("南浔镇中心卫生院GRPU8科目信息同步失败:{}",e.getMessage());
				e.printStackTrace();
			}*/
		} catch (Exception e) {
			logger.info("GRPU8科目信息同步失败:{}", e.getMessage());
			e.printStackTrace();
		}
		JSONObject jsonObject1 = new JSONObject();
		jsonObject1.put("status", "200");
		jsonObject1.put("result", result);
		return jsonObject1;
	}

	private String sendKmxxToHealthBureau(List<SenderGlKmxxEntity> senderGlKmxxEntities) {
		if (CollectionUtils.isEmpty(senderGlKmxxEntities)) {
			logger.info("GRPU8没有需要同步得科目信息");
			return "GRPU8没有需要同步得科目信息";
		} else {
			for (SenderGlKmxxEntity kmxxEntity : senderGlKmxxEntities) {
				// kmxxEntity.setKjnd("2021");
				//根据会计年度，公司代码，账套号，科目代码查询接收方数据是否已经同步过
				SenderGlKmxxEntity receiverGlKmxxEntity = new SenderGlKmxxEntity();
				receiverGlKmxxEntity.setKjnd(kmxxEntity.getKjnd());
				receiverGlKmxxEntity.setZth(kmxxEntity.getZth());
				receiverGlKmxxEntity.setGsdm(kmxxEntity.getGsdm());
				receiverGlKmxxEntity.setKmdm(kmxxEntity.getKmdm());
				try {
					//查询接收方中是否存在
					List<SenderGlKmxxEntity> receiverGlKmxxEntities = queryEntityPageHealthBureau(receiverGlKmxxEntity);
					//设置id为会计年度，公司代码，账套号，科目代码拼接，测试时候这样，具体看情况
					kmxxEntity.setId(kmxxEntity.getGsdm() + '-' + kmxxEntity.getZth() + '-' + kmxxEntity.getKjnd() + '-' + kmxxEntity.getKmdm());
					JsonResultEntity jsonResultEntity = null;
					//如果在接收方信息中不存在，则保存数据到接收方
					if (CollectionUtils.isEmpty(receiverGlKmxxEntities)) {
						JSONObject jsonObjectStr = new JSONObject();
						jsonObjectStr.put("jsonStr", kmxxEntity);
						logger.info("===========开始将账套号为:{}的GRPU8科目信息数据新增到卫生局得GRPU8中=============", kmxxEntity.getZth());
						Object o = saveEntityHealthBureau(jsonObjectStr);
						JSONObject json = (JSONObject) JSON.toJSON(o);
						if (json.getString("status").equalsIgnoreCase("200")) {
							//JSONObject jsonObject =(JSONObject) JSONObject.toJSON(jsonResultEntity.getAttribute());
							logger.info("账套号:{}的GROU8得科目信息同步卫生局保存返回结果为:{}", kmxxEntity.getZth(), json.getString("kmxx"));
						}
						//日志暂时不保存和更新
							/*if (jsonObjectAttribute != null) {
								logger.info("===========开始将发送方得GRPU8数据新增到科目信息日志中=============");
								//保存发送方得日志
								kmxxEntity.setDataSourceCode(grp_data_source_code);
								senderGlKmxxDao.saveSenderGlKmxxEntity(kmxxEntity);
							}*/
					} else {
						//如果存在，则更新
						JSONObject jsonObjectStr = new JSONObject();
						jsonObjectStr.put("jsonStr", kmxxEntity);
						logger.info("===========开始将账套号：{}得GRPU8科目信息数据更新到卫生局GRPU8中=============", kmxxEntity.getZth());
						Object o = updateEntityHealthBureau(jsonObjectStr);
						JSONObject json = (JSONObject) JSON.toJSON(o);
						if (json.getString("status").equalsIgnoreCase("200")) {
							//JSONObject jsonObject = (JSONObject) JSONObject.toJSON(jsonResultEntity.getAttribute());
							logger.info("账套号：{}的GROU8得科目信息同步卫生局更新返回结果为:{}", kmxxEntity.getZth(), json.getString("kmxx"));
						}
							/*if (jsonObjectAttribute != null) {
								logger.info("===========开始将发送方得GRPU8数据更新到科目信息日志中=============");
								//更新发送方得日志
								kmxxEntity.setDataSourceCode(grp_data_source_code);
								senderGlKmxxDao.updateSenderGlKmxxEntity(kmxxEntity);
							}*/
					}
				} catch (Exception e) {
					logger.info("{}的GRPU8科目信息同步失败:{}", kmxxEntity.getZth(), e.getMessage());
					e.printStackTrace();
				}
			}
			return "同步GRPU8科目信息成功";
		}
	}

	//查询科目信息
	@Override
	public Object queryEntityPage(JSONObject json) {
		JSONObject jsonObject = json.getJSONObject("jsonStr");
		SenderGlKmxxEntity senderGlKmxxEntity = jsonObject.toJavaObject(SenderGlKmxxEntity.class);
		List<SenderGlKmxxEntity> glKmxxEntities = new ArrayList<>();
		if (StrUtil.isEmpty(senderGlKmxxEntity.getZth())) {
			logger.info("======传入的账套号为:{}", senderGlKmxxEntity.getZth());
			return BaseResult.getFailureMessageEntity("请传递账套号");
		}
		//如果没有传入年度，则查询当年得，避免数据查询太大
		if (senderGlKmxxEntity.getKjnd() == null) {
			senderGlKmxxEntity.setKjnd(DateUtil.format(new Date(), "yyyy"));
		}
		try {
			/*switch (senderGlKmxxEntity.getZth()){
				case "003"://练市人民医院
					glKmxxEntities = senderGlKmxxDao.queryByLike(senderGlKmxxEntity);
					break;
				case "004"://双林镇中心卫生院
					 glKmxxEntities = senderGlKmxxDao.queryByLike(senderGlKmxxEntity);
					break;
				case "005"://练市镇中心卫生院
					 glKmxxEntities =senderGlKmxxDao.queryByLike(senderGlKmxxEntity);
					break;
				case "007"://善琏镇卫生院
					glKmxxEntities =senderGlKmxxDao.queryByLike(senderGlKmxxEntity);
					break;
				case "009":
					glKmxxEntities = senderGlKmxxDao.queryByLike(senderGlKmxxEntity);
					break;
				case "010":
					glKmxxEntities = senderGlKmxxDao.queryByLike(senderGlKmxxEntity);
					break;
				case "011":
					glKmxxEntities = senderGlKmxxDao.queryByLike(senderGlKmxxEntity);
					break;
				case "012":
					glKmxxEntities = senderGlKmxxDao.queryByLike(senderGlKmxxEntity);
					break;
				case "001"://南浔人民医院
					glKmxxEntities =senderGlKmxxDao.queryByLike(senderGlKmxxEntity);
					break;
				default:
					break;
			}*/
			glKmxxEntities = senderGlKmxxDao.querySenderGlKmxxEntity(senderGlKmxxEntity);
			PageInfo pageInfo = new PageInfo(glKmxxEntities);
			JSONObject jsonObject1 = new JSONObject();
			jsonObject1.put("status", 200);
			jsonObject1.put("pageInfo", pageInfo);
			return jsonObject1;
		} catch (Exception e) {
			logger.info("查询GROU8科目信息失败:{}", e.getMessage());
			return BaseResult.getFailureMessageEntity("查询GROU8科目信息失败");
		}
	}

	//查询科目信息
	@Override
	public List<SenderGlKmxxEntity> queryEntityPageHealthBureau(SenderGlKmxxEntity senderGlKmxxEntity) {
		try {
			logger.info("====开始根据账套号:{}查询卫生局中得科目信息数据====", senderGlKmxxEntity.getZth());
			List<SenderGlKmxxEntity> senderGlKmxxEntities = senderGlKmxxDao.queryGlKmxxHealthBureau(senderGlKmxxEntity);
			return senderGlKmxxEntities;
		} catch (Exception e) {
			logger.info("根据账套号:{}查询得卫生局GROU8科目信息失败:{}", senderGlKmxxEntity.getZth(), e.getMessage());
			e.printStackTrace();
		}
		return null;
	}

	//保存科目信息
	@Override
	public Object saveEntityHealthBureau(JSONObject json) {
		JSONObject jsonObject = json.getJSONObject("jsonStr");
		SenderGlKmxxEntity senderGlKmxxEntity = jsonObject.toJavaObject(SenderGlKmxxEntity.class);
		if (!checkStr(jsonObject.getString("kjnd"))) {
			logger.info("======保存科目信息会计年度为空=====");
			return BaseResult.getFailureMessageEntity("会计年度为空");
		}
		if (!checkStr(jsonObject.getString("gsdm"))) {
			logger.info("======保存科目信息公司代码为空=====");
			return BaseResult.getFailureMessageEntity("公司代码为空");
		}
		if (!checkStr(jsonObject.getString("zth"))) {
			logger.info("======保存科目信息账套号为空=====");
			return BaseResult.getFailureMessageEntity("账套号为空");
		}
		if (!checkStr(jsonObject.getString("kmdm"))) {
			logger.info("======保存科目信息科目代码为空=====");
			return BaseResult.getFailureMessageEntity("科目代码为空");
		}
		if (!checkStr(jsonObject.getString("kmmc"))) {
			logger.info("======保存科目信息科目名称为空=====");
			return BaseResult.getFailureMessageEntity("科目名称为空");
		}
		try {
			SenderGlKmxxEntity senderGlKmxxQuery=new SenderGlKmxxEntity();
			senderGlKmxxQuery.setZth(senderGlKmxxEntity.getZth());
			senderGlKmxxQuery.setGsdm(senderGlKmxxEntity.getGsdm());
			senderGlKmxxQuery.setKjnd(senderGlKmxxEntity.getKjnd());
			senderGlKmxxQuery.setKmdm(senderGlKmxxEntity.getKmdm());
			//先查询数据是否存在，如果存在则更新，不存在则更新
			List<SenderGlKmxxEntity> senderGlKmxxEntities = queryEntityPageHealthBureau(senderGlKmxxQuery);
			if(CollectionUtils.isEmpty(senderGlKmxxEntities)){
				senderGlKmxxEntity.setId(senderGlKmxxEntity.getGsdm() + '-' + senderGlKmxxEntity.getZth() + '-' + senderGlKmxxEntity.getKjnd() + '-' + senderGlKmxxEntity.getKmdm());
				logger.info("=======开始根据账套号:{}保存科目信息，id为:{}", senderGlKmxxEntity.getZth(), senderGlKmxxEntity.getId());
				SenderGlKmxxEntity senderGlKmxx = senderGlKmxxDao.saveGlKmxxHealthBureau(senderGlKmxxEntity);
				JSONObject jsonObject1 = new JSONObject();
				jsonObject1.put("status", "200");
				jsonObject1.put("kmxx", senderGlKmxx);
				return jsonObject1;
			}else{
				SenderGlKmxxEntity receiverGlKmxx = senderGlKmxxDao.updateGlKmxxHealthBureau(senderGlKmxxEntity);
				JSONObject jsonObject1 = new JSONObject();
				jsonObject1.put("status", "200");
				jsonObject1.put("kmxx", receiverGlKmxx);
				return jsonObject1;
			}
		} catch (Exception e) {
			logger.info("根据账套号:{}保存GROU8科目信息失败:{}", senderGlKmxxEntity.getZth(), e.getMessage());
			return BaseResult.getFailureMessageEntity("保存GROU8科目信息失败");
		}
	}

	//更新科目信息
	@Override
	public Object updateEntityHealthBureau(JSONObject json) {
		JSONObject jsonObject = json.getJSONObject("jsonStr");
		SenderGlKmxxEntity receiverGlKmxxEntity = jsonObject.toJavaObject(SenderGlKmxxEntity.class);
		if (!checkStr(jsonObject.getString("kjnd"))) {
			logger.info("======更新科目信息会计年度为空=====");
			return BaseResult.getFailureMessageEntity("会计年度为空");
		}
		if (!checkStr(jsonObject.getString("gsdm"))) {
			logger.info("======更新科目信息公司代码为空=====");
			return BaseResult.getFailureMessageEntity("公司代码为空");
		}
		if (!checkStr(jsonObject.getString("zth"))) {
			logger.info("======更新科目信息账套号为空=====");
			return BaseResult.getFailureMessageEntity("账套号为空");
		}
		if (!checkStr(jsonObject.getString("kmdm"))) {
			logger.info("======更新科目信息科目代码为空=====");
			return BaseResult.getFailureMessageEntity("科目代码为空");
		}
		try {
			receiverGlKmxxEntity.setId(receiverGlKmxxEntity.getGsdm() + '-' + receiverGlKmxxEntity.getZth() + '-' + receiverGlKmxxEntity.getKjnd() + '-' + receiverGlKmxxEntity.getKmdm());
			logger.info("=======开始根据账套号:{}更新科目信息，id为:{}", receiverGlKmxxEntity.getZth(), receiverGlKmxxEntity.getId());
			SenderGlKmxxEntity receiverGlKmxx = senderGlKmxxDao.updateGlKmxxHealthBureau(receiverGlKmxxEntity);
			JSONObject jsonObject1 = new JSONObject();
			jsonObject1.put("status", "200");
			jsonObject1.put("kmxx", receiverGlKmxx);
			return jsonObject1;
		} catch (Exception e) {
			logger.info("根据账套号:{}更新GROU8科目信息失败:{}", receiverGlKmxxEntity.getZth(), e.getMessage());
			return BaseResult.getFailureMessageEntity("更新GROU8科目信息失败");
		}
	}

	//删除科目信息 卫生局
	@Override
	public Object deleteEntityHealthBureau(JSONObject json) {
		JSONObject jsonObject = json.getJSONObject("jsonStr");
		SenderGlKmxxEntity receiverGlKmxxEntity = jsonObject.toJavaObject(SenderGlKmxxEntity.class);
		if (!checkStr(jsonObject.getString("kjnd"))) {
			logger.info("======删除科目信息会计年度为空=====");
			return BaseResult.getFailureMessageEntity("会计年度为空");
		}
		if (!checkStr(jsonObject.getString("gsdm"))) {
			logger.info("======删除科目信息公司代码为空=====");
			return BaseResult.getFailureMessageEntity("公司代码为空");
		}
		if (!checkStr(jsonObject.getString("zth"))) {
			logger.info("======删除科目信息账套号为空=====");
			return BaseResult.getFailureMessageEntity("账套号为空");
		}
		/*if (!checkStr(jsonObject.getString("kmdm"))) {
			logger.info("======删除科目信息科目代码为空=====");
			return BaseResult.getFailureMessageEntity("科目代码为空");
		}*/
		try {
			receiverGlKmxxEntity.setId(receiverGlKmxxEntity.getGsdm() + '-' + receiverGlKmxxEntity.getZth() + '-' + receiverGlKmxxEntity.getKjnd() + '-' + receiverGlKmxxEntity.getKmdm());
			logger.info("=======开始根据账套号:{}和会计年度：{}删除科目信息，科目代码为:{}", receiverGlKmxxEntity.getZth(), receiverGlKmxxEntity.getKjnd(), receiverGlKmxxEntity.getKmdm());
			Integer integer = senderGlKmxxDao.deleteGlKmxxHealthBureau(receiverGlKmxxEntity);
			JSONObject jsonObject1 = new JSONObject();
			jsonObject1.put("status", "200");
			jsonObject1.put("kmxx", integer);
			return jsonObject1;
		} catch (Exception e) {
			logger.info("根据账套号:{}和科目代码：{}以及会计年度：{}删除GROU8科目信息失败:{}", receiverGlKmxxEntity.getZth(), receiverGlKmxxEntity.getKmdm(), receiverGlKmxxEntity.getKjnd(), e.getMessage());
			return BaseResult.getFailureMessageEntity("删除GROU8科目信息失败");
		}
	}

	//获取数据源编码
	@Override
	public SysExtensionApiEntity getDataSourceCode(SysExtensionApiEntity entity) {
		try {
			SysApplicationEntity applicationEntity = entity.getReceiveApp();
			SysApplicationDatabaseEntity sysApplicationDatabaseEntity = new SysApplicationDatabaseEntity();
			sysApplicationDatabaseEntity.setSts("Y");
			sysApplicationDatabaseEntity.setAppId(applicationEntity.getId());
			sysApplicationDatabaseEntity.setDataSourceCode("master");
			List<SysApplicationDatabaseEntity> sysDataSourceEntities = sysApplicationDatabaseDao.queryDSBase(sysApplicationDatabaseEntity);
			if (sysDataSourceEntities != null && sysDataSourceEntities.size() > 0) {
				String parm = entity.getBodys();
				JSONObject jsonObject = JSONObject.parseObject(parm);
				jsonObject.put("dataSourceCode", sysDataSourceEntities.get(0).getSourceCode());
				entity.setBodys(jsonObject.toJSONString());
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return entity;
	}
}
