|
@@ -140,7 +140,7 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
|
|
|
xminfo.setField12(xmnum12);
|
|
|
xminfo.setField13(xmnum13);
|
|
|
xminfo.setField14(xmnum14);
|
|
|
- xminfo.setField15(xmnum15);
|
|
|
+ xminfo.setField15(xmnum15);reportFormList2 = {ArrayList@16231} size = 31… View
|
|
|
xminfo.setField16(xmnum16);
|
|
|
reportFormList1.add(xminfo);*/
|
|
|
|
|
@@ -155,7 +155,7 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
|
|
|
String kpnum3 = "0";
|
|
|
String kpnum4 = "0";
|
|
|
for(StatementCompanyComprehensiveInfo info:reportFormList2){
|
|
|
- if (info.getOfficeName().equals("工程五部") || info.getOfficeName().equals("工程一部")){
|
|
|
+ if (info.getOfficeName().equals("工程五部") || info.getOfficeName().equals("工程一部") || info.getOfficeName().equals("苏州分公司") ){
|
|
|
BigDecimal bd = new BigDecimal(info.getField2());
|
|
|
// 使用setScale方法进行四舍五入,保留两位小数
|
|
|
BigDecimal roundedBd = bd.setScale(2, RoundingMode.HALF_UP);
|
|
@@ -189,7 +189,7 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
|
|
|
String bxnum1 = "0";
|
|
|
String bxnum2 = "0";
|
|
|
for(StatementCompanyComprehensiveInfo info:reportFormList3){
|
|
|
- if (info.getOfficeName().equals("工程五部") || info.getOfficeName().equals("工程一部")){
|
|
|
+ if (info.getOfficeName().equals("工程五部") || info.getOfficeName().equals("工程一部") || info.getOfficeName().equals("苏州分公司")){
|
|
|
BigDecimal bd1 = new BigDecimal(info.getField2());
|
|
|
// 使用setScale方法进行四舍五入,保留两位小数
|
|
|
BigDecimal roundedBd1 = bd1.setScale(2, RoundingMode.HALF_UP);
|
|
@@ -237,6 +237,8 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
|
|
|
List<String> oneChildrenOffice = officeService.getChildrenOffice(gcOneOffice.getId());
|
|
|
Office gcFiveOffice = officeService.getByName("工程五部");
|
|
|
List<String> fiveChildrenOffice = officeService.getChildrenOffice(gcFiveOffice.getId());
|
|
|
+ Office gcSZOffice = officeService.getByName("苏州分公司");
|
|
|
+ List<String> szChildrenOffice = officeService.getChildrenOffice(gcSZOffice.getId());
|
|
|
Map<String, String> dateMap = this.getDateNew(Integer.parseInt(bigDateType), Integer.parseInt(smallDateType), Integer.parseInt(year));
|
|
|
//报表时间
|
|
|
String statementDate = dateMap.get("statementDate");
|
|
@@ -341,6 +343,7 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
|
|
|
//公司级:开票报表开始
|
|
|
ArrayList<StatementCompanyComprehensiveInfo> kpOneYearList = new ArrayList<>();
|
|
|
ArrayList<StatementCompanyComprehensiveInfo> kpFiveYearList = new ArrayList<>();
|
|
|
+ ArrayList<StatementCompanyComprehensiveInfo> kpSzYearList = new ArrayList<>();
|
|
|
//类型(1:项目;2:开票;3:报销;4:合同)
|
|
|
statementCompanyComprehensiveInfo.setType("2");
|
|
|
statementCompanyComprehensiveInfo.setOfficeIdList(new ArrayList<>());
|
|
@@ -365,6 +368,11 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
|
|
|
info.setOfficeName("工程五部-"+info.getOfficeName());
|
|
|
kpFiveYearList.add(info);
|
|
|
}
|
|
|
+ //将苏州分公司的子部门信息添加到集合中
|
|
|
+ if (szChildrenOffice.contains(info.getOfficeId())){
|
|
|
+ info.setOfficeName("苏州分公司-"+info.getOfficeName());
|
|
|
+ kpSzYearList.add(info);
|
|
|
+ }
|
|
|
//转BigDecimal 处理
|
|
|
kpyearnum1 = new BigDecimal(info.getField1()).add(new BigDecimal(kpyearnum1)).toString();
|
|
|
kpyearnum2 = new BigDecimal(info.getField2()).add(new BigDecimal(kpyearnum2)).toString();
|
|
@@ -386,6 +394,9 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
|
|
|
StatementCompanyComprehensiveInfo kpFiveInfo = allCollect(kpFiveYearList);
|
|
|
kpFiveInfo.setOfficeId(gcFiveOffice.getId());
|
|
|
kpFiveInfo.setOfficeName(gcFiveOffice.getName());
|
|
|
+ StatementCompanyComprehensiveInfo kpSzInfo = allCollect(kpSzYearList);
|
|
|
+ kpSzInfo.setOfficeId(gcSZOffice.getId());
|
|
|
+ kpSzInfo.setOfficeName(gcSZOffice.getName());
|
|
|
|
|
|
|
|
|
for (int i = 0; i < reportFormList6.size(); i++) {
|
|
@@ -397,11 +408,15 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
|
|
|
if ("工程五部-刘万前团队".equals(info.getOfficeName())){
|
|
|
reportFormList6.add(i+1,kpFiveInfo);
|
|
|
}
|
|
|
+ if ("苏州分公司".equals(info.getOfficeName())){
|
|
|
+ reportFormList6.set(i, kpSzInfo);
|
|
|
+ }
|
|
|
}
|
|
|
// 公司级开票报表结束
|
|
|
//公司级:报销报表
|
|
|
ArrayList<StatementCompanyComprehensiveInfo> bxOneYearList = new ArrayList<>();
|
|
|
ArrayList<StatementCompanyComprehensiveInfo> bxFiveYearList = new ArrayList<>();
|
|
|
+ ArrayList<StatementCompanyComprehensiveInfo> bxSzYearList = new ArrayList<>();
|
|
|
//类型(1:项目;2:开票;3:报销;4:合同)
|
|
|
statementCompanyComprehensiveInfo.setType("3");
|
|
|
statementCompanyComprehensiveInfo.setOfficeIdList(new ArrayList<>());
|
|
@@ -424,6 +439,11 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
|
|
|
info.setOfficeName("工程五部-"+info.getOfficeName());
|
|
|
bxFiveYearList.add(info);
|
|
|
}
|
|
|
+ //将苏州分公司的子部门信息添加到集合中
|
|
|
+ if (szChildrenOffice.contains(info.getOfficeId())){
|
|
|
+ info.setOfficeName("苏州分公司-"+info.getOfficeName());
|
|
|
+ bxSzYearList.add(info);
|
|
|
+ }
|
|
|
//转BigDecimal 处理
|
|
|
bxyearnum1 = new BigDecimal(info.getField1()).add(new BigDecimal(bxyearnum1)).toString();
|
|
|
bxyearnum2 = new BigDecimal(info.getField2()).add(new BigDecimal(bxyearnum2)).toString();
|
|
@@ -441,6 +461,9 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
|
|
|
StatementCompanyComprehensiveInfo bxFiveInfo = allCollect(bxFiveYearList);
|
|
|
bxFiveInfo.setOfficeId(gcFiveOffice.getId());
|
|
|
bxFiveInfo.setOfficeName(gcFiveOffice.getName());
|
|
|
+ StatementCompanyComprehensiveInfo bxSzInfo = allCollect(bxSzYearList);
|
|
|
+ bxSzInfo.setOfficeId(gcSZOffice.getId());
|
|
|
+ bxSzInfo.setOfficeName(gcSZOffice.getName());
|
|
|
|
|
|
|
|
|
for (int i = 0; i < reportFormList7.size(); i++) {
|
|
@@ -452,12 +475,16 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
|
|
|
if ("工程五部-刘万前团队".equals(info.getOfficeName())){
|
|
|
reportFormList7.add(i+1,bxFiveInfo);
|
|
|
}
|
|
|
+ if ("苏州分公司".equals(info.getOfficeName())){
|
|
|
+ reportFormList7.set(i, bxSzInfo);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//公司级:报销报表结束
|
|
|
//公司级:合同报表
|
|
|
ArrayList<StatementCompanyComprehensiveInfo> htOneYearList = new ArrayList<>();
|
|
|
ArrayList<StatementCompanyComprehensiveInfo> htFiveYearList = new ArrayList<>();
|
|
|
+ ArrayList<StatementCompanyComprehensiveInfo> htSzYearList = new ArrayList<>();
|
|
|
//类型(1:项目;2:开票;3:报销;4:合同)
|
|
|
statementCompanyComprehensiveInfo.setType("4");
|
|
|
statementCompanyComprehensiveInfo.setOfficeIdList(new ArrayList<>());
|
|
@@ -482,6 +509,11 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
|
|
|
info.setOfficeName("工程五部-"+info.getOfficeName());
|
|
|
htFiveYearList.add(info);
|
|
|
}
|
|
|
+ //将苏州分公司的子部门信息添加到集合中
|
|
|
+ if (szChildrenOffice.contains(info.getOfficeId())){
|
|
|
+ info.setOfficeName("苏州分公司-"+info.getOfficeName());
|
|
|
+ htSzYearList.add(info);
|
|
|
+ }
|
|
|
//转BigDecimal 处理
|
|
|
htyearnum1 = new BigDecimal(info.getField1()).add(new BigDecimal(htyearnum1)).toString();
|
|
|
htyearnum2 = new BigDecimal(info.getField2()).add(new BigDecimal(htyearnum2)).toString();
|
|
@@ -490,7 +522,7 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
|
|
|
}
|
|
|
//存放到对应报表的list集合,方便页面集合展示
|
|
|
StatementCompanyComprehensiveInfo htyearinfo = new StatementCompanyComprehensiveInfo();
|
|
|
- htinfo.setOfficeName("本年合计");
|
|
|
+ htyearinfo.setOfficeName("本年合计");
|
|
|
htyearinfo.setField1(htyearnum1);
|
|
|
htyearinfo.setField2(htyearnum2);
|
|
|
htyearinfo.setField3(htyearnum3);
|
|
@@ -504,6 +536,9 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
|
|
|
StatementCompanyComprehensiveInfo htFiveInfo = allCollect(htFiveYearList);
|
|
|
htFiveInfo.setOfficeId(gcFiveOffice.getId());
|
|
|
htFiveInfo.setOfficeName(gcFiveOffice.getName());
|
|
|
+ StatementCompanyComprehensiveInfo htSzInfo = allCollect(htSzYearList);
|
|
|
+ htSzInfo.setOfficeId(gcSZOffice.getId());
|
|
|
+ htSzInfo.setOfficeName(gcSZOffice.getName());
|
|
|
|
|
|
|
|
|
for (int i = 0; i < reportFormList8.size(); i++) {
|
|
@@ -515,6 +550,9 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
|
|
|
if ("工程五部-刘万前团队".equals(info.getOfficeName())){
|
|
|
reportFormList8.add(i+1,htFiveInfo);
|
|
|
}
|
|
|
+ if ("苏州分公司".equals(info.getOfficeName())){
|
|
|
+ reportFormList8.set(i, htSzInfo);
|
|
|
+ }
|
|
|
}
|
|
|
//公司级:合同报表结束
|
|
|
|
|
@@ -4470,6 +4508,8 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
|
|
|
|
|
|
Office office1 = officeService.getByName("工程一部");
|
|
|
List<String> childrenOffice = officeService.getChildrenOffice(office1.getId());
|
|
|
+ Office szOffice = officeService.getByName("苏州分公司");
|
|
|
+ List<String> szChildrenOffice = officeService.getChildrenOffice(szOffice.getId());
|
|
|
|
|
|
Boolean insertFlag = true;
|
|
|
for(int i= 0;i< list.size(); i++){
|
|
@@ -4488,6 +4528,12 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
|
|
|
String name = "工程一部-"+statementCompanyComprehensiveInfo1.getOfficeName();
|
|
|
statementCompanyComprehensiveInfo1.setOfficeName(name);
|
|
|
}
|
|
|
+ //苏州分公司子部门
|
|
|
+
|
|
|
+ if (szChildrenOffice.contains(statementCompanyComprehensiveInfo1.getOfficeId())){
|
|
|
+ String name = "苏州分公司-"+statementCompanyComprehensiveInfo1.getOfficeName();
|
|
|
+ statementCompanyComprehensiveInfo1.setOfficeName(name);
|
|
|
+ }
|
|
|
//五部子部门
|
|
|
if (info.getOfficeIdList().contains(statementCompanyComprehensiveInfo1.getOfficeId())){
|
|
|
String name = "工程五部-"+statementCompanyComprehensiveInfo1.getOfficeName();
|
|
@@ -4497,10 +4543,22 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
|
|
|
}
|
|
|
//将一部的汇总行插入到列表中
|
|
|
StatementCompanyComprehensiveInfo gcOneCollect=gcCollect(info,statementDate);
|
|
|
- for(int i= 0;i< list.size(); i++) {
|
|
|
- StatementCompanyComprehensiveInfo statementCompanyComprehensiveInfo1 = list.get(i);
|
|
|
- if ("工程一部-苏州团队".equals(statementCompanyComprehensiveInfo1.getOfficeName())) {
|
|
|
- list.add(i + 1, gcOneCollect);
|
|
|
+ if(null != gcOneCollect){
|
|
|
+ for(int i= 0;i< list.size(); i++) {
|
|
|
+ StatementCompanyComprehensiveInfo statementCompanyComprehensiveInfo1 = list.get(i);
|
|
|
+ if ("工程一部-苏州团队".equals(statementCompanyComprehensiveInfo1.getOfficeName())) {
|
|
|
+ list.add(i + 1, gcOneCollect);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //将一部的汇总行插入到列表中
|
|
|
+ StatementCompanyComprehensiveInfo gcOneSZCollect=gcSZCollect(info,statementDate);
|
|
|
+ if(null != gcOneSZCollect){
|
|
|
+ for(int i= 0;i< list.size(); i++) {
|
|
|
+ StatementCompanyComprehensiveInfo statementCompanyComprehensiveInfo1 = list.get(i);
|
|
|
+ if ("苏州分公司".equals(statementCompanyComprehensiveInfo1.getOfficeName())) {
|
|
|
+ list.set(i, gcOneSZCollect);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
if(insertFlag){
|
|
@@ -4527,14 +4585,44 @@ public class StatementCompanyComprehensiveService extends CrudService<StatementC
|
|
|
info.setOfficeIdList(officeId1);
|
|
|
}
|
|
|
StatementCompanyComprehensiveInfo statementCompanyComprehensiveInfo = dao.selectAllWbByType(info);
|
|
|
- statementCompanyComprehensiveInfo.setYear(info.getYear());
|
|
|
- statementCompanyComprehensiveInfo.setType(info.getType());
|
|
|
- statementCompanyComprehensiveInfo.setBigDateType(info.getBigDateType());
|
|
|
- statementCompanyComprehensiveInfo.setSmallDateType(info.getSmallDateType());
|
|
|
- statementCompanyComprehensiveInfo.setStatementDate(statementDate);
|
|
|
- Office office = officeService.getByName("工程一部");
|
|
|
- statementCompanyComprehensiveInfo.setOfficeId(office.getId());
|
|
|
- statementCompanyComprehensiveInfo.setOfficeName(office.getName());
|
|
|
+ if(null != statementCompanyComprehensiveInfo) {
|
|
|
+ statementCompanyComprehensiveInfo.setYear(info.getYear());
|
|
|
+ statementCompanyComprehensiveInfo.setType(info.getType());
|
|
|
+ statementCompanyComprehensiveInfo.setBigDateType(info.getBigDateType());
|
|
|
+ statementCompanyComprehensiveInfo.setSmallDateType(info.getSmallDateType());
|
|
|
+ statementCompanyComprehensiveInfo.setStatementDate(statementDate);
|
|
|
+ Office office = officeService.getByName("工程一部");
|
|
|
+ statementCompanyComprehensiveInfo.setOfficeId(office.getId());
|
|
|
+ statementCompanyComprehensiveInfo.setOfficeName(office.getName());
|
|
|
+ }
|
|
|
+ return statementCompanyComprehensiveInfo;
|
|
|
+ }
|
|
|
+
|
|
|
+ public StatementCompanyComprehensiveInfo gcSZCollect(StatementCompanyComprehensiveInfo info,String statementDate){
|
|
|
+
|
|
|
+ //将工程一部及子部门的名称修改并加入汇总行
|
|
|
+ //工程一部及子部门
|
|
|
+ info.setOfficeIdList(null);
|
|
|
+ List<Office> officeOneList = dao.getAllWBChildrenOfficeListInfo("苏州分公司");
|
|
|
+ Office office1 = officeService.getByName("苏州分公司");
|
|
|
+ officeOneList.add(office1);
|
|
|
+ List<String> officeId1 = Lists.newArrayList();
|
|
|
+ //获取所有子集节点,并遍历子集节点计算出所有数据信息
|
|
|
+ for (Office officeInfo : officeOneList) {
|
|
|
+ officeId1.add(officeInfo.getId());
|
|
|
+ info.setOfficeIdList(officeId1);
|
|
|
+ }
|
|
|
+ StatementCompanyComprehensiveInfo statementCompanyComprehensiveInfo = dao.selectAllWbByType(info);
|
|
|
+ if(null != statementCompanyComprehensiveInfo){
|
|
|
+ statementCompanyComprehensiveInfo.setYear(info.getYear());
|
|
|
+ statementCompanyComprehensiveInfo.setType(info.getType());
|
|
|
+ statementCompanyComprehensiveInfo.setBigDateType(info.getBigDateType());
|
|
|
+ statementCompanyComprehensiveInfo.setSmallDateType(info.getSmallDateType());
|
|
|
+ statementCompanyComprehensiveInfo.setStatementDate(statementDate);
|
|
|
+ Office office = officeService.getByName("苏州分公司");
|
|
|
+ statementCompanyComprehensiveInfo.setOfficeId(office.getId());
|
|
|
+ statementCompanyComprehensiveInfo.setOfficeName(office.getName());
|
|
|
+ }
|
|
|
|
|
|
return statementCompanyComprehensiveInfo;
|
|
|
}
|