|
@ -13,13 +13,16 @@ import com.yihu.wlyy.statistics.model.system.Town;
|
|
|
import com.yihu.wlyy.statistics.model.team.AdminTeam;
|
|
|
import com.yihu.wlyy.statistics.vo.WlyyQuotaVO;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.orm.jpa.JpaTransactionManager;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
import org.springframework.transaction.PlatformTransactionManager;
|
|
|
import org.springframework.transaction.TransactionDefinition;
|
|
|
import org.springframework.transaction.TransactionStatus;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.transaction.support.DefaultTransactionDefinition;
|
|
|
|
|
|
import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import javax.transaction.TransactionManager;
|
|
|
import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* Created by Administrator on 2016.10.09.
|
|
@ -41,6 +44,9 @@ public class DBStorage {
|
|
|
private DoctorAdminTeamDao doctorAdminTeamDao;
|
|
|
@Autowired
|
|
|
private WlyyQuotaResultDao wlyyQuotaResultDao;//指标结果Dao
|
|
|
@Autowired
|
|
|
private PlatformTransactionManager platformTransactionManager;
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 保存一级维度的数据
|
|
@ -201,7 +207,8 @@ public class DBStorage {
|
|
|
|
|
|
|
|
|
|
|
|
private void saveAdminTeamDataLevel3(Map<String, Map<String, Map<String, List<ETLModel>>>> etlModelMap, String day, Map<String, AdminTeam> adminTeamMap, Integer foreachNum2, Integer foreachNum3, Integer type, Integer start2, Integer start3) {
|
|
|
private void saveAdminTeamDataLevel3(Map<String, Map<String, Map<String, List<ETLModel>>>> etlModelMap, String day, Map<String, AdminTeam> adminTeamMap, Integer foreachNum2, Integer foreachNum3, Integer type, Integer start2, Integer start3)throws Exception {
|
|
|
List<WlyyQuotaResult> wlyyQuotaResults=new ArrayList<WlyyQuotaResult>();
|
|
|
//遍历团队的Map
|
|
|
for(Map.Entry<String,AdminTeam> oneAdminTeam:adminTeamMap.entrySet()){
|
|
|
//得到每个团队的2级维度
|
|
@ -236,12 +243,14 @@ public class DBStorage {
|
|
|
String level2=i+"";
|
|
|
String level3=j+"";
|
|
|
String level3Name=getLevel3Name(level3,type);
|
|
|
save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,level2,null,level3,level3Name,day);
|
|
|
wlyyQuotaResults.add(save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,level2,null,level3,level3Name,day));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
saveAll(wlyyQuotaResults);
|
|
|
}
|
|
|
private void saveHospitalTeamDataLevel3(Map<String, Map<String, Map<String, List<ETLModel>>>> etlModelMap, String day, Map<String, Hospital> hospitalsMap, Integer foreachNum2, Integer foreachNum3, Integer type, Integer start2, Integer start3) {
|
|
|
private void saveHospitalTeamDataLevel3(Map<String, Map<String, Map<String, List<ETLModel>>>> etlModelMap, String day, Map<String, Hospital> hospitalsMap, Integer foreachNum2, Integer foreachNum3, Integer type, Integer start2, Integer start3) throws Exception{
|
|
|
List<WlyyQuotaResult> wlyyQuotaResults=new ArrayList<WlyyQuotaResult>();
|
|
|
//遍历团队的Map
|
|
|
for(Map.Entry<String,Hospital> oneHospital:hospitalsMap.entrySet()){
|
|
|
//得到每个团队的2级维度
|
|
@ -273,12 +282,14 @@ public class DBStorage {
|
|
|
String level2=i+"";
|
|
|
String level3=j+"";
|
|
|
String level3Name=getLevel3Name(level3,type);
|
|
|
save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,level2,null,level3,level3Name,day);
|
|
|
wlyyQuotaResults.add( save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,level2,null,level3,level3Name,day));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
saveAll(wlyyQuotaResults);
|
|
|
}
|
|
|
private void saveTownTeamDataLevel3(Map<String, Map<String, Map<String, List<ETLModel>>>> etlModelMap, String day, Map<String, Town> townsMap, Integer foreachNum2, Integer foreachNum3, Integer type, Integer start2, Integer start3) {
|
|
|
private void saveTownTeamDataLevel3(Map<String, Map<String, Map<String, List<ETLModel>>>> etlModelMap, String day, Map<String, Town> townsMap, Integer foreachNum2, Integer foreachNum3, Integer type, Integer start2, Integer start3) throws Exception{
|
|
|
List<WlyyQuotaResult> wlyyQuotaResults=new ArrayList<WlyyQuotaResult>();
|
|
|
//遍历团队的Map
|
|
|
for(Map.Entry<String,Town> oneTownTeam:townsMap.entrySet()){
|
|
|
//得到每个团队的2级维度
|
|
@ -310,12 +321,14 @@ public class DBStorage {
|
|
|
String level2=i+"";
|
|
|
String level3=j+"";
|
|
|
String level3Name=getLevel3Name(level3,type);
|
|
|
save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,level2,null,level3,level3Name,day);
|
|
|
wlyyQuotaResults.add(save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,level2,null,level3,level3Name,day));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
saveAll((wlyyQuotaResults));
|
|
|
}
|
|
|
private void saveCityTeamDataLevel3(Map<String, Map<String, Map<String, List<ETLModel>>>> etlModelMap, String day, Map<String, City> cityMap, Integer foreachNum2, Integer foreachNum3, Integer type, Integer start2, Integer start3) {
|
|
|
private void saveCityTeamDataLevel3(Map<String, Map<String, Map<String, List<ETLModel>>>> etlModelMap, String day, Map<String, City> cityMap, Integer foreachNum2, Integer foreachNum3, Integer type, Integer start2, Integer start3) throws Exception{
|
|
|
List<WlyyQuotaResult> wlyyQuotaResults=new ArrayList<WlyyQuotaResult>();
|
|
|
//遍历团队的Map
|
|
|
for(Map.Entry<String,City> oneCityTeam:cityMap.entrySet()){
|
|
|
//得到每个团队的2级维度
|
|
@ -345,10 +358,11 @@ public class DBStorage {
|
|
|
String level2=i+"";
|
|
|
String level3=j+"";
|
|
|
String level3Name=getLevel3Name(level3,type);
|
|
|
save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,level2,null,level3,level3Name,day);
|
|
|
wlyyQuotaResults.add(save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,level2,null,level3,level3Name,day));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
saveAll(wlyyQuotaResults);
|
|
|
}
|
|
|
|
|
|
private void level2Public(List<Map<String, Map<String, List<ETLModel>>>> data, String day, Integer foreachNum, Integer type, Integer start)throws Exception {
|
|
@ -382,7 +396,8 @@ public class DBStorage {
|
|
|
saveCityTeamDataLevel2(data.get(3),day,cityMap,foreachNum,type,start);
|
|
|
}
|
|
|
|
|
|
private void saveCityTeamDataLevel2(Map<String, Map<String, List<ETLModel>>> etlModelMap, String day, Map<String, City> citysMap ,Integer foreachNum,Integer type,Integer start) {
|
|
|
private void saveCityTeamDataLevel2(Map<String, Map<String, List<ETLModel>>> etlModelMap, String day, Map<String, City> citysMap ,Integer foreachNum,Integer type,Integer start) throws Exception{
|
|
|
List<WlyyQuotaResult> wlyyQuotaResults=new ArrayList<WlyyQuotaResult>();
|
|
|
for(Map.Entry<String,City> oneCity:citysMap.entrySet()){
|
|
|
Map<String, List<ETLModel>> oneELTMap= etlModelMap.get(oneCity.getKey());
|
|
|
for(int i=start;i<=foreachNum;i++){
|
|
@ -406,12 +421,14 @@ public class DBStorage {
|
|
|
String level="4";
|
|
|
String level2=i+"";
|
|
|
String level2Name=getLevel2Name(level2,type);
|
|
|
save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,level2,level2Name,null,null,day);
|
|
|
wlyyQuotaResults.add(save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,level2,level2Name,null,null,day));
|
|
|
}
|
|
|
}
|
|
|
saveAll(wlyyQuotaResults);
|
|
|
}
|
|
|
|
|
|
private void saveTownTeamDataLevel2(Map<String, Map<String, List<ETLModel>>> etlModelMap, String day, Map<String, Town> townsMap ,Integer foreachNum,Integer type,Integer start) {
|
|
|
private void saveTownTeamDataLevel2(Map<String, Map<String, List<ETLModel>>> etlModelMap, String day, Map<String, Town> townsMap ,Integer foreachNum,Integer type,Integer start)throws Exception {
|
|
|
List<WlyyQuotaResult> wlyyQuotaResults=new ArrayList<WlyyQuotaResult>();
|
|
|
for(Map.Entry<String,Town> oneTown:townsMap.entrySet()){
|
|
|
Map<String, List<ETLModel>> oneELTMap= etlModelMap.get(oneTown.getKey());
|
|
|
for(int i=start;i<=foreachNum;i++){
|
|
@ -435,12 +452,14 @@ public class DBStorage {
|
|
|
String level="3";
|
|
|
String level2=i+"";
|
|
|
String level2Name=getLevel2Name(level2,type);
|
|
|
save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,level2,level2Name,null,null,day);
|
|
|
wlyyQuotaResults.add(save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,level2,level2Name,null,null,day));
|
|
|
}
|
|
|
}
|
|
|
saveAll(wlyyQuotaResults);
|
|
|
}
|
|
|
|
|
|
private void saveHospitalTeamDataLevel2(Map<String, Map<String, List<ETLModel>>> etlModelMap, String day, Map<String, Hospital> hospitalsMap,Integer foreachNum,Integer type,Integer start) {
|
|
|
private void saveHospitalTeamDataLevel2(Map<String, Map<String, List<ETLModel>>> etlModelMap, String day, Map<String, Hospital> hospitalsMap,Integer foreachNum,Integer type,Integer start)throws Exception {
|
|
|
List<WlyyQuotaResult> wlyyQuotaResults=new ArrayList<WlyyQuotaResult>();
|
|
|
for(Map.Entry<String,Hospital> oneHospital:hospitalsMap.entrySet()){
|
|
|
Map<String, List<ETLModel>> oneELTMap= etlModelMap.get(oneHospital.getKey());
|
|
|
for(int i=start;i<=foreachNum;i++){
|
|
@ -465,12 +484,14 @@ public class DBStorage {
|
|
|
String level="2";
|
|
|
String level2=i+"";
|
|
|
String level2Name=getLevel2Name(level2,type);
|
|
|
save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,level2,level2Name,null,null,day);
|
|
|
wlyyQuotaResults.add(save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,level2,level2Name,null,null,day));
|
|
|
}
|
|
|
}
|
|
|
saveAll(wlyyQuotaResults);
|
|
|
}
|
|
|
|
|
|
private void saveAdminTeamDataLevel2(Map<String, Map<String, List<ETLModel>>> etlModelMap, String day, Map<String, AdminTeam> adminTeamMap,Integer foreachNum,Integer type,Integer start) {
|
|
|
private void saveAdminTeamDataLevel2(Map<String, Map<String, List<ETLModel>>> etlModelMap, String day, Map<String, AdminTeam> adminTeamMap,Integer foreachNum,Integer type,Integer start)throws Exception {
|
|
|
List<WlyyQuotaResult> wlyyQuotaResults=new ArrayList<WlyyQuotaResult>();
|
|
|
for(Map.Entry<String,AdminTeam> adminTeam:adminTeamMap.entrySet()){
|
|
|
Map<String, List<ETLModel>> oneELTMap= etlModelMap.get(adminTeam.getKey());
|
|
|
for(int i=start;i<=foreachNum;i++){
|
|
@ -498,12 +519,14 @@ public class DBStorage {
|
|
|
String level="1";
|
|
|
String level2=i+"";
|
|
|
String level2Name=getLevel2Name(level2,type);
|
|
|
save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,level2,level2Name,null,null,day);
|
|
|
wlyyQuotaResults.add(save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,level2,level2Name,null,null,day));
|
|
|
}
|
|
|
}
|
|
|
saveAll(wlyyQuotaResults);
|
|
|
}
|
|
|
|
|
|
private void saveAdminTeamDataLevel1(Map<String, List<ETLModel>> mapData,String date,Map<String, AdminTeam> adminTeamMap) {
|
|
|
private void saveAdminTeamDataLevel1(Map<String, List<ETLModel>> mapData,String date,Map<String, AdminTeam> adminTeamMap)throws Exception {
|
|
|
List<WlyyQuotaResult> wlyyQuotaResults=new ArrayList<WlyyQuotaResult>();
|
|
|
for(Map.Entry<String, AdminTeam> entry:adminTeamMap.entrySet()){
|
|
|
List<ETLModel> etlModel= mapData.get(entry.getKey());
|
|
|
int num=0;
|
|
@ -525,11 +548,13 @@ public class DBStorage {
|
|
|
String doctorName=adminTeam.getName();
|
|
|
String doctorJob="";
|
|
|
String level="1";
|
|
|
save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,null,null,null,null,date);
|
|
|
wlyyQuotaResults.add(save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,null,null,null,null,date));
|
|
|
}
|
|
|
saveAll(wlyyQuotaResults);
|
|
|
}
|
|
|
|
|
|
private void saveHospitalTeamDataLevel1(Map<String, List<ETLModel>> mapData, String date, Map<String, Hospital> hospitalsMap ) {
|
|
|
private void saveHospitalTeamDataLevel1(Map<String, List<ETLModel>> mapData, String date, Map<String, Hospital> hospitalsMap )throws Exception {
|
|
|
List<WlyyQuotaResult> wlyyQuotaResults=new ArrayList<WlyyQuotaResult>();
|
|
|
for(Map.Entry<String, Hospital> entry:hospitalsMap.entrySet()){
|
|
|
List<ETLModel> etlModel= mapData.get(entry.getKey());
|
|
|
int num=0;
|
|
@ -548,11 +573,13 @@ public class DBStorage {
|
|
|
String doctorName="";
|
|
|
String doctorJob="";
|
|
|
String level="2";
|
|
|
save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,null,null,null,null,date);
|
|
|
wlyyQuotaResults.add( save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,null,null,null,null,date));
|
|
|
}
|
|
|
saveAll(wlyyQuotaResults);
|
|
|
}
|
|
|
|
|
|
private void saveTownTeamDataLevel1(Map<String, List<ETLModel>> mapData, String date, Map<String, Town> townsMap) {
|
|
|
private void saveTownTeamDataLevel1(Map<String, List<ETLModel>> mapData, String date, Map<String, Town> townsMap)throws Exception {
|
|
|
List<WlyyQuotaResult> wlyyQuotaResults=new ArrayList<WlyyQuotaResult>();
|
|
|
for(Map.Entry<String, Town> entry:townsMap.entrySet()){
|
|
|
List<ETLModel> etlModel= mapData.get(entry.getKey());
|
|
|
int num=0;
|
|
@ -570,11 +597,13 @@ public class DBStorage {
|
|
|
String doctorName="";
|
|
|
String doctorJob="";
|
|
|
String level="3";
|
|
|
save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,null,null,null,null,date);
|
|
|
wlyyQuotaResults.add(save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,null,null,null,null,date));
|
|
|
}
|
|
|
saveAll(wlyyQuotaResults);
|
|
|
}
|
|
|
|
|
|
private void saveCityTeamDataLevel1(Map<String, List<ETLModel>> mapData, String date, Map<String, City> cityMap) {
|
|
|
private void saveCityTeamDataLevel1(Map<String, List<ETLModel>> mapData, String date, Map<String, City> cityMap) throws Exception{
|
|
|
List<WlyyQuotaResult> wlyyQuotaResults=new ArrayList<WlyyQuotaResult>();
|
|
|
for(Map.Entry<String, City> entry:cityMap.entrySet()){
|
|
|
List<ETLModel> etlModel= mapData.get(entry.getKey());
|
|
|
int num=0;
|
|
@ -592,8 +621,9 @@ public class DBStorage {
|
|
|
String doctorName="";
|
|
|
String doctorJob="";
|
|
|
String level="4";
|
|
|
save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,null,null,null,null,date);
|
|
|
wlyyQuotaResults.add( save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,null,null,null,null,date));
|
|
|
}
|
|
|
saveAll(wlyyQuotaResults);
|
|
|
}
|
|
|
|
|
|
private String getOrg(String org){
|
|
@ -617,8 +647,9 @@ public class DBStorage {
|
|
|
* @param doctorJob
|
|
|
* @param level1
|
|
|
*/
|
|
|
private void save(int num, String city, String cityName, String town, String townName, String org, String orgName, String doctorCode, String doctorName, String doctorJob, String level1, String level2, String level2Name,String level3, String level3Name,String date) {
|
|
|
private WlyyQuotaResult save(int num, String city, String cityName, String town, String townName, String org, String orgName, String doctorCode, String doctorName, String doctorJob, String level1, String level2, String level2Name,String level3, String level3Name,String date) {
|
|
|
WlyyQuotaResult wlyyQuotaResult = new WlyyQuotaResult();
|
|
|
wlyyQuotaResult.setId(UUID.randomUUID().toString().replace("-",""));
|
|
|
wlyyQuotaResult.setDel("1");
|
|
|
wlyyQuotaResult.setOrgCode(org);
|
|
|
wlyyQuotaResult.setOrgName(orgName);
|
|
@ -640,7 +671,11 @@ public class DBStorage {
|
|
|
wlyyQuotaResult.setLevel3TypeName(level3Name);
|
|
|
//判断全科医生是否有改签量
|
|
|
wlyyQuotaResult.setResult(num+"");
|
|
|
wlyyQuotaResultDao.save(wlyyQuotaResult);
|
|
|
return wlyyQuotaResult;
|
|
|
}
|
|
|
|
|
|
private void saveAll(final List<WlyyQuotaResult> wlyyQuotaResults) throws Exception{
|
|
|
wlyyQuotaResultDao.save(wlyyQuotaResults);
|
|
|
}
|
|
|
|
|
|
private String getLevel2Name(String i, Integer type) {
|