|
@@ -3,6 +3,7 @@ package com.steerinfo.dil.service.impl;
|
|
|
import com.steerinfo.dil.mapper.StatisticalReportMapper;
|
|
|
import com.steerinfo.dil.service.IStatisticalReportService;
|
|
|
import com.steerinfo.dil.util.DataChange;
|
|
|
+import com.steerinfo.dil.util.PageListAdd;
|
|
|
import oracle.sql.DATE;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -251,9 +252,150 @@ public class StatisticalReportImpl implements IStatisticalReportService {
|
|
|
@Override
|
|
|
public List<Map<String, Object>> getSaleSteelReport(Map<String, Object> mapValue) {
|
|
|
List<Map<String, Object>> saleSteelReport = statisticalReportMapper.getSaleSteelReport(mapValue);
|
|
|
+ HashSet set = new HashSet<>();
|
|
|
+ HashSet<Map<String,Object>> filterConsigneeList = new HashSet<>();
|
|
|
+ HashSet<Map<String,Object>> filterCarrierList = new HashSet<>();
|
|
|
+ HashSet<Map<String,Object>> filterCapacityList = new HashSet<>();
|
|
|
+ HashSet<Map<String,Object>> filtermaterialNameList = new HashSet<>();
|
|
|
+ HashSet<Map<String,Object>> filterorderStatus = new HashSet<>();
|
|
|
+ HashSet<Map<String,Object>> filteraddressPlace = new HashSet<>();
|
|
|
+ HashSet<Map<String,Object>> filtermaterialSpe = new HashSet<>();
|
|
|
+ HashSet<Map<String,Object>> filterSaleRemark = new HashSet<>();
|
|
|
+ int totalNumber = 0;
|
|
|
+ for (int j = 0; j < saleSteelReport.size();j++) {
|
|
|
+ Map<String,Object> stringObjectMap = saleSteelReport.get(j);
|
|
|
+ stringObjectMap.put("rowKey",j + 1);
|
|
|
+ if(j == 0) {
|
|
|
+ stringObjectMap.put("group",j);
|
|
|
+ }else{
|
|
|
+ if((saleSteelReport.get(j-1).get("saleOrderMaterialId")).equals(stringObjectMap.get("saleOrderMaterialId"))){
|
|
|
+ stringObjectMap.put("group",saleSteelReport.get(j-1).get("group"));
|
|
|
+ }else{
|
|
|
+ stringObjectMap.put("group",Integer.parseInt(saleSteelReport.get(j-1).get("group").toString()) + 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if( !"取消".equals(stringObjectMap.get("capacityNo")) && !"反审批".equals(stringObjectMap.get("saleOrderStatus")) &&
|
|
|
+ !"已关闭".equals(stringObjectMap.get("orderStatus"))) {
|
|
|
+ set.add(stringObjectMap.get("saleOrderMaterialId"));
|
|
|
+ }
|
|
|
+ calculateDifferenceTime(stringObjectMap);
|
|
|
+ //收货客户筛选
|
|
|
+ Map<String, Object> filterConsigneeMap = new HashMap<>();
|
|
|
+ filterConsigneeMap.put("text",stringObjectMap.get("consigneeName"));
|
|
|
+ filterConsigneeMap.put("value",stringObjectMap.get("consigneeName"));
|
|
|
+ filterConsigneeList.add(filterConsigneeMap);
|
|
|
+ //承运商筛选
|
|
|
+ Map<String,Object> filterCarrierMap = new HashMap<>();
|
|
|
+ filterCarrierMap.put("text",stringObjectMap.get("carrierName"));
|
|
|
+ filterCarrierMap.put("value",stringObjectMap.get("carrierName"));
|
|
|
+ filterCarrierList.add(filterCarrierMap);
|
|
|
+ //车牌号筛选
|
|
|
+ Map<String,Object> filterCapacityMap = new HashMap<>();
|
|
|
+ filterCapacityMap.put("text",stringObjectMap.get("newCapacityNo"));
|
|
|
+ filterCapacityMap.put("value",stringObjectMap.get("newCapacityNo"));
|
|
|
+ filterCapacityList.add(filterCapacityMap);
|
|
|
+ //物资筛选
|
|
|
+ Map<String,Object> filtermaterialNameMap = new HashMap<>();
|
|
|
+ filtermaterialNameMap.put("text",stringObjectMap.get("materialName"));
|
|
|
+ filtermaterialNameMap.put("value",stringObjectMap.get("materialName"));
|
|
|
+ filtermaterialNameList.add(filtermaterialNameMap);
|
|
|
+ //运单状态筛选
|
|
|
+ Map<String,Object> filterorderStatusMap = new HashMap<>();
|
|
|
+ filterorderStatusMap.put("text",stringObjectMap.get("orderStatus"));
|
|
|
+ filterorderStatusMap.put("value",stringObjectMap.get("orderStatus"));
|
|
|
+ filterorderStatus.add(filterorderStatusMap);
|
|
|
+ //收货地址筛选
|
|
|
+ Map<String,Object> filteraddressPlaceMap = new HashMap<>();
|
|
|
+ filteraddressPlaceMap.put("text",stringObjectMap.get("addressPlace"));
|
|
|
+ filteraddressPlaceMap.put("value",stringObjectMap.get("addressPlace"));
|
|
|
+ filteraddressPlace.add(filteraddressPlaceMap);
|
|
|
+ //物资规格筛选
|
|
|
+ Map<String,Object> filtermaterialSpeMap = new HashMap<>();
|
|
|
+ filtermaterialSpeMap.put("text",stringObjectMap.get("materialSpe"));
|
|
|
+ filtermaterialSpeMap.put("value",stringObjectMap.get("materialSpe"));
|
|
|
+ filtermaterialSpe.add(filtermaterialSpeMap);
|
|
|
+ //摘要筛选
|
|
|
+ Map<String,Object> filterSaleRemarkMap = new HashMap<>();
|
|
|
+ filterSaleRemarkMap.put("text",stringObjectMap.get("saleRemark"));
|
|
|
+ filterSaleRemarkMap.put("value",stringObjectMap.get("saleRemark"));
|
|
|
+ filterSaleRemark.add(filterSaleRemarkMap);
|
|
|
+ totalNumber += Integer.parseInt(stringObjectMap.get("materialNum").toString());
|
|
|
+ String capacityNumbers= (String) stringObjectMap.get("capacityNumbers");
|
|
|
+ //确认是否有多个收货单位
|
|
|
+ //if (shippingAddressIds !=null && !("".equals(shippingAddressIds))){
|
|
|
+ // String[] split = shippingAddressIds.split(",");
|
|
|
+ // String address="";
|
|
|
+ // int i=0;
|
|
|
+ // for (String s : split) {
|
|
|
+ // i++;
|
|
|
+ // String getaddress = getaddress(DataChange.dataToBigDecimal(s));
|
|
|
+ // if (i==1){
|
|
|
+ // address+="旧地址:"+getaddress+",";
|
|
|
+ // }else if (i==2){
|
|
|
+ // address+="新地址:"+getaddress;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // stringObjectMap.put("addressPlace",address);
|
|
|
+ //}
|
|
|
+ //确认是否有多个车牌号
|
|
|
+ if (capacityNumbers!=null &&!("".equals(capacityNumbers))){
|
|
|
+ String[] split = capacityNumbers.split(",");
|
|
|
+ String capacityNumber="";
|
|
|
+ int flag=0;
|
|
|
+ for (String s : split) {
|
|
|
+ flag++;
|
|
|
+ String s1 = getcapacityNumber(DataChange.dataToBigDecimal(s));
|
|
|
+ if (flag==1){
|
|
|
+ capacityNumber+="旧车号:"+s1+",";
|
|
|
+ }else if (flag==2){
|
|
|
+ capacityNumber+="新车号:"+s1;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ stringObjectMap.put("capacityNo",capacityNumber);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(saleSteelReport.size() > 0 && saleSteelReport.get(0) != null){
|
|
|
+ saleSteelReport.get(0).put("totalCapacity",set.size() + 1);
|
|
|
+ saleSteelReport.get(0).put("totalNumber",totalNumber);
|
|
|
+ saleSteelReport.get(0).put("filterConsigneeList",filterConsigneeList);
|
|
|
+ saleSteelReport.get(0).put("filtermaterialNameList",filtermaterialNameList);
|
|
|
+ saleSteelReport.get(0).put("filterorderStatus",filterorderStatus);
|
|
|
+ saleSteelReport.get(0).put("filteraddressPlace",filteraddressPlace);
|
|
|
+ saleSteelReport.get(0).put("filtermaterialSpe",filtermaterialSpe);
|
|
|
+ saleSteelReport.get(0).put("filterCapacityList",filterCapacityList);
|
|
|
+ saleSteelReport.get(0).put("filterCarrierList",filterCarrierList);
|
|
|
+ saleSteelReport.get(0).put("filterSaleRemark",filterSaleRemark);
|
|
|
+
|
|
|
+ }
|
|
|
return saleSteelReport;
|
|
|
}
|
|
|
|
|
|
+ private Set<Map<String, Object>> setListMap(List<Map<String, Object>> list, String name) {
|
|
|
+ Set<Map<String, Object>> setString = new HashSet<>();
|
|
|
+ for (Map<String, Object> map : list) {//遍历每条数据
|
|
|
+ Map<String, Object> map1 = new HashMap<>();
|
|
|
+ //map.get(name)获取每条数据中对应表头字段的数据
|
|
|
+ map1.put("text", map.get(name));
|
|
|
+ if (map.get(name) != null) {
|
|
|
+ map1.put("value", map.get(name));
|
|
|
+ setString.add(map1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return setString;
|
|
|
+ }
|
|
|
+
|
|
|
+ //public PageListAdd tableColumnData(Integer apiId, List<Map<String, Object>> list, List<Map<String,Object>> data) {
|
|
|
+ // for (Map<String, Object> columnData : columnDataList) {
|
|
|
+ // //每个表头字段的过滤条件
|
|
|
+ // columnData.put("filters", setListMap(data, columnData.get("prop").toString()));
|
|
|
+ // }
|
|
|
+ // PageListAdd pageList = new PageListAdd(data);
|
|
|
+ // pageList.setColumnData(columnDataList);
|
|
|
+ // return pageList;
|
|
|
+ //}
|
|
|
+
|
|
|
+
|
|
|
@Override
|
|
|
public List<Map<String, Object>> getSaleSteelSpellingReport(Map<String, Object> mapValue) {
|
|
|
List<Map<String, Object>> saleSteelReport = statisticalReportMapper.getSaleSteelSpellingReport(mapValue);
|