提交 19c19c87 authored 作者: 艾庆国's avatar 艾庆国

承运优化需求-添加模板

上级 3f95461c
......@@ -21,4 +21,7 @@ public class PagePerformanceProgress extends PageParam {
@ApiModelProperty(value = "Tab类型 1:进行中的线路(不分页) 2:已结束线路 3:全部线路", example = "")
private Integer tab;
@ApiModelProperty(value = "模板id", example = "1")
private Integer templateId;
}
......@@ -36,6 +36,7 @@ import com.clx.performance.service.PerformanceProgressLogService;
import com.clx.performance.service.PerformanceProgressService;
import com.clx.performance.struct.PerformanceProgressLogStruct;
import com.clx.performance.struct.PerformanceProgressStruct;
import com.clx.performance.struct.export.ExportFieldStruct;
import com.clx.performance.utils.excel.ExcelData;
import com.clx.performance.utils.excel.ExcelField;
import com.clx.performance.utils.excel.ExcelSheet;
......@@ -44,6 +45,7 @@ import com.clx.performance.utils.gd.GdService;
import com.clx.performance.vo.pc.PerformanceProgressDetailVO;
import com.clx.performance.vo.pc.PerformanceProgressOperationLogVO;
import com.clx.performance.vo.pc.PerformanceProgressVO;
import com.clx.performance.vo.pc.export.ExportFieldVo;
import com.google.common.base.Joiner;
import com.msl.common.base.Optional;
import com.msl.common.exception.ServiceSystemException;
......@@ -57,7 +59,7 @@ import org.apache.commons.lang.exception.ExceptionUtils;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.clx.performance.dao.export.ExportFieldDao;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDateTime;
......@@ -74,6 +76,8 @@ import java.util.*;
@AllArgsConstructor
public class PerformanceProgressServiceImpl implements PerformanceProgressService {
private static final String TEMPLATE_PERFORMANCE_PROGRESS = "performance_progress";
private final PerformanceProgressDao performanceProgressDao;
private final PerformanceProgressStruct performanceProgressStruct;
private final PerformanceProgressLogDao performanceProgressLogDao;
......@@ -90,7 +94,8 @@ public class PerformanceProgressServiceImpl implements PerformanceProgressServi
public static List<Integer> inProcessStatusList;
public static List<Integer> endStatusList ;
public static List<Integer> allStatusList ;
private final ExportFieldStruct exportFieldStruct;
private final ExportFieldDao exportFieldDao;
static {
inProcessStatusList = Arrays.asList(
......@@ -545,43 +550,18 @@ public class PerformanceProgressServiceImpl implements PerformanceProgressServi
IPage<PerformanceProgressVO> page = pagePerformanceProgress(param);
List<PerformanceProgressVO> list = page.getRecords();
List<ExportFieldVo> selectFieldList = exportFieldStruct.convert(exportFieldDao.listFieldByTemplate(param.getTemplateId()));
if (selectFieldList.isEmpty()) {
selectFieldList = exportFieldStruct.convert(exportFieldDao.listFieldByFunctionCode(TEMPLATE_PERFORMANCE_PROGRESS));
}
// 组装表头
List<ExcelField> fieldList = new ArrayList<>();
fieldList.add(new ExcelField(0, "序号", "index", 2000));
fieldList.add(new ExcelField(1, "货源地", "sendAddressShorter", 5000));
fieldList.add(new ExcelField(2, "标准地址", "sendSystemAddressShorter", 5000));
fieldList.add(new ExcelField(3, "物流经理", "seniorLogisticsManagerName", 5000));
fieldList.add(new ExcelField(4, "货物类型", "goodsTypeName", 5000));
fieldList.add(new ExcelField(5, "货物名称", "goodsName", 5000));
fieldList.add(new ExcelField(6, "煤源位置", "sendAddress", 5000));
fieldList.add(new ExcelField(7, "是否C类煤源", "sendOverStandardMsg", 5000));
fieldList.add(new ExcelField(8, "司机运费(元/吨)", "driverFreightPrice", 5000));
fieldList.add(new ExcelField(9, "任务吨数(吨)", "taskWeight", 5000));
fieldList.add(new ExcelField(10, "挂单吨数(吨)", "pendingWeight", 5000));
fieldList.add(new ExcelField(11, "接单车数", "orderedTruckNum", 5000));
fieldList.add(new ExcelField(12, "到达货源地车数", "arriveSendTruckNum", 5000));
fieldList.add(new ExcelField(13, "装车车数", "loadTruckNum", 5000));
fieldList.add(new ExcelField(14, "卸车车数", "unloadTruckNum", 5000));
fieldList.add(new ExcelField(15, "在途车数", "onTheWayTruckNum", 5000));
fieldList.add(new ExcelField(16, "接单率(%)", "orderedRate", 5000));
fieldList.add(new ExcelField(17, "任务完成率(%)", "taskCompleteRatio", 5000));
fieldList.add(new ExcelField(18, "矿发量(吨)", "sumLoadWeight", 5000));
fieldList.add(new ExcelField(19, "到站量(吨)", "sumUnloadWeight", 5000));
fieldList.add(new ExcelField(20, "在途量(吨)", "sumOnTheWayWeight", 5000));
fieldList.add(new ExcelField(21, "今日预计完成(吨)", "todayExpectComplete", 5000));
fieldList.add(new ExcelField(22, "异常备注", "abnormalRemark", 5000));
fieldList.add(new ExcelField(23, "履约异常原因", "performanceAbnormalReason", 5000));
fieldList.add(new ExcelField(24, "调度备注/跟进措施", "dispatchFollow", 5000));
fieldList.add(new ExcelField(25, "重车运距(公里)", "orderDistance", 5000));
fieldList.add(new ExcelField(26, "可拉运时间段", "transportTimeSlot", 5000));
fieldList.add(new ExcelField(27, "挂单时间", "pendingTime", 5000));
fieldList.add(new ExcelField(28, "交易要求到站时间", "tradeRequireArriveStationTime", 5000));
fieldList.add(new ExcelField(29, "物流预计到站时间", "transportExpectArriveStationTime", 5000));
fieldList.add(new ExcelField(30, "测算运费", "predictionFreightPrice", 5000));
int column = 1;
for (ExportFieldVo item : selectFieldList) {
fieldList.add(new ExcelField(column, item.getName(), item.getCode(), 5000));
}
// 组装数据
List<List<ExcelData>> dataList = new ArrayList<>();
......@@ -591,41 +571,80 @@ public class PerformanceProgressServiceImpl implements PerformanceProgressServi
List<ExcelData> rowData = new ArrayList<>();
rowData.add(new ExcelData(i+1));
rowData.add(new ExcelData(vo.getSendAddressShorter()));
rowData.add(new ExcelData(vo.getSendSystemAddressShorter()));
rowData.add(new ExcelData(vo.getSeniorLogisticsManagerName()));
rowData.add(new ExcelData(vo.getGoodsTypeName()));
rowData.add(new ExcelData(vo.getGoodsName()));
rowData.add(new ExcelData(vo.getSendAddress()));
rowData.add(new ExcelData(vo.getSendOverStandardMsg()));
rowData.add(new ExcelData(vo.getDriverFreightPrice()==null?null:vo.getDriverFreightPrice().movePointLeft(2)));
rowData.add(new ExcelData(vo.getTaskWeight()));
rowData.add(new ExcelData(vo.getPendingWeight()));
rowData.add(new ExcelData(vo.getOrderedTruckNum()));
rowData.add(new ExcelData(vo.getArriveSendTruckNum()));
rowData.add(new ExcelData(vo.getLoadTruckNum()));
rowData.add(new ExcelData(vo.getUnloadTruckNum()));
rowData.add(new ExcelData(vo.getOnTheWayTruckNum()));
rowData.add(new ExcelData(vo.getOrderedRate()));
rowData.add(new ExcelData(vo.getTaskCompleteRatio()));
rowData.add(new ExcelData(vo.getSumLoadWeight()));
rowData.add(new ExcelData(vo.getSumUnloadWeight()));
rowData.add(new ExcelData(vo.getSumOnTheWayWeight()));
rowData.add(new ExcelData(vo.getTodayExpectComplete()));
rowData.add(new ExcelData(vo.getAbnormalRemark()));
rowData.add(new ExcelData(vo.getPerformanceAbnormalReason()));
rowData.add(new ExcelData(vo.getDispatchFollow()));
rowData.add(new ExcelData(vo.getOrderDistance()+""));
rowData.add(new ExcelData(vo.getTransportTimeSlot()));
rowData.add(new ExcelData(vo.getPendingTime()));
rowData.add(new ExcelData(vo.getTradeRequireArriveStationTime()));
rowData.add(new ExcelData(vo.getTransportExpectArriveStationTime()));
rowData.add(new ExcelData(vo.getPredictionFreightPrice()==null?null:vo.getPredictionFreightPrice().movePointLeft(2)));
for (ExportFieldVo item : selectFieldList) {
if (item.getCode().equals("sendAddressShorter")) {
rowData.add(new ExcelData(vo.getSendAddressShorter()));
} else if (item.getCode().equals("sendSystemAddressShorter")) {
rowData.add(new ExcelData(vo.getSendSystemAddressShorter()));
} else if (item.getCode().equals("seniorLogisticsManagerName")) {
rowData.add(new ExcelData(vo.getSeniorLogisticsManagerName()));
} else if (item.getCode().equals("goodsTypeName")) {
rowData.add(new ExcelData(vo.getGoodsTypeName()));
} else if (item.getCode().equals("goodsName")) {
rowData.add(new ExcelData(vo.getGoodsName()));
}
else if (item.getCode().equals("sendAddress")) {
rowData.add(new ExcelData(vo.getSendAddress()));
} else if (item.getCode().equals("sendOverStandardMsg")) {
rowData.add(new ExcelData(vo.getSendOverStandardMsg()));
} else if (item.getCode().equals("driverFreightPrice")) {
rowData.add(new ExcelData(vo.getDriverFreightPrice()==null?null:vo.getDriverFreightPrice().movePointLeft(2)));
} else if (item.getCode().equals("taskWeight")) {
rowData.add(new ExcelData(vo.getTaskWeight()));
} else if (item.getCode().equals("pendingWeight")) {
rowData.add(new ExcelData(vo.getPendingWeight()));
}
else if (item.getCode().equals("orderedTruckNum")) {
rowData.add(new ExcelData(vo.getOrderedTruckNum()));
} else if (item.getCode().equals("arriveSendTruckNum")) {
rowData.add(new ExcelData(vo.getArriveSendTruckNum()));
} else if (item.getCode().equals("loadTruckNum")) {
rowData.add(new ExcelData(vo.getLoadTruckNum()));
} else if (item.getCode().equals("unloadTruckNum")) {
rowData.add(new ExcelData(vo.getUnloadTruckNum()));
} else if (item.getCode().equals("onTheWayTruckNum")) {
rowData.add(new ExcelData(vo.getOnTheWayTruckNum()));
}
else if (item.getCode().equals("orderedRate")) {
rowData.add(new ExcelData(vo.getOrderedRate()));
} else if (item.getCode().equals("taskCompleteRatio")) {
rowData.add(new ExcelData(vo.getTaskCompleteRatio()));
} else if (item.getCode().equals("sumLoadWeight")) {
rowData.add(new ExcelData(vo.getSumLoadWeight()));
} else if (item.getCode().equals("sumUnloadWeight")) {
rowData.add(new ExcelData(vo.getSumUnloadWeight()));
} else if (item.getCode().equals("sumOnTheWayWeight")) {
rowData.add(new ExcelData(vo.getSumOnTheWayWeight()));
}
else if (item.getCode().equals("todayExpectComplete")) {
rowData.add(new ExcelData(vo.getTodayExpectComplete()));
} else if (item.getCode().equals("abnormalRemark")) {
rowData.add(new ExcelData(vo.getAbnormalRemark()));
} else if (item.getCode().equals("performanceAbnormalReason")) {
rowData.add(new ExcelData(vo.getPerformanceAbnormalReason()));
} else if (item.getCode().equals("dispatchFollow")) {
rowData.add(new ExcelData(vo.getDispatchFollow()));
} else if (item.getCode().equals("orderDistance")) {
rowData.add(new ExcelData(vo.getOrderDistance()+""));
}
else if (item.getCode().equals("transportTimeSlot")) {
rowData.add(new ExcelData(vo.getTransportTimeSlot()));
} else if (item.getCode().equals("pendingTime")) {
rowData.add(new ExcelData(vo.getPendingTime()));
} else if (item.getCode().equals("tradeRequireArriveStationTime")) {
rowData.add(new ExcelData(vo.getTradeRequireArriveStationTime()));
} else if (item.getCode().equals("transportExpectArriveStationTime")) {
rowData.add(new ExcelData(vo.getTransportExpectArriveStationTime()));
} else if (item.getCode().equals("predictionFreightPrice")) {
rowData.add(new ExcelData(vo.getPredictionFreightPrice()==null?null:vo.getPredictionFreightPrice().movePointLeft(2)));
}
}
dataList.add(rowData);
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论