package com.steerinfo.dil.service.impl; import com.steerinfo.dil.mapper.OmstrainOrderMapper; import com.steerinfo.dil.mapper.TmsttOrderMapper; import com.steerinfo.dil.model.OmstrainOrder; import com.steerinfo.dil.model.TmsttOrder; import com.steerinfo.dil.service.IOmstrainOrderService; import com.steerinfo.dil.util.DataChange; import org.apache.tools.ant.taskdefs.Get; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.util.Date; import java.util.List; import java.util.Map; @Service public class OmstrainOrderServiceImpl implements IOmstrainOrderService { @Autowired OmstrainOrderMapper omstrainOrderMapper; @Autowired TmsttOrderMapper tmsttOrderMapper; @Override @Transactional public int generateOmstrain(Map map) { //需要做的事, int i; //1.生成火运订单, OmstrainOrder omstrainOrder = new OmstrainOrder(); //获取火运运输订单ID BigDecimal trainOrderId = null; if(map.get("trainOrderId") != null){ trainOrderId = DataChange.dataToBigDecimal(map.get("trainOrderId")); }else{ trainOrderId = omstrainOrderMapper.getTrainOrder(); } //生成运输订单号 String trainOrderNumber = DataChange.generateEightDigitsNumber("WHYDD",trainOrderId.intValue()); //获取车皮号/进站时间/发出时间 if (map.get("wagonNo") != null && !"null".equals(map.get("wagonNo"))){ String wagonNo = map.get("wagonNo").toString(); omstrainOrder.setOrderWagonNo(wagonNo); } if(map.get("OutStation") != null && !"null".equals(map.get("OutStation"))){ long OutStationTime = (long) map.get("OutStation"); omstrainOrder.setOutstationTime(new Date(OutStationTime)); } if(map.get("EnStation") != null && !"null".equals(map.get("EnStation"))){ long EnStationTime = (long) map.get("EnStation"); omstrainOrder.setEnstationTime(new Date(EnStationTime)); } if (map.get("wagonWeight") != null && !"null".equals(map.get("wagonWeight"))){ BigDecimal wagonWeight = DataChange.dataToBigDecimal(map.get("wagonWeight")); omstrainOrder.setOrderWagonWeight(wagonWeight); } if (map.get("wagonBillWeight") != null && !"null".equals(map.get("wagonBillWeight"))){ BigDecimal wagonBillWeight = DataChange.dataToBigDecimal(map.get("wagonBillWeight")); omstrainOrder.setBillingWeight(wagonBillWeight); } if(map.get("strawMats") != null){ omstrainOrder.setStrawmats(DataChange.dataToBigDecimal(map.get("strawMats"))); } if(map.get("unloadPointId") != null){ omstrainOrder.setWarehouseId(DataChange.dataToBigDecimal(map.get("unloadPointId"))); } omstrainOrder.setId(trainOrderId); omstrainOrder.setOrderNo(trainOrderNumber); omstrainOrder.setInsertTime(new Date()); omstrainOrder.setInsertUsername(map.get("personnelSsoId").toString()); //初始化是没有验收 omstrainOrder.setIsAccept(new BigDecimal(0)); //获取汽运运输订单ID BigDecimal orderId = DataChange.dataToBigDecimal(map.get("orderId")); //生成火运订单和汽运订单的中间表 if (map.get("trainOrderId") == null){ TmsttOrder tmsttOrder = new TmsttOrder(); tmsttOrder.setId(trainOrderId); tmsttOrder.setTrainOrderId(trainOrderId); tmsttOrder.setTruckOrderId(orderId); tmsttOrder.setInsertTime(new Date()); i =+ tmsttOrderMapper.insertSelective(tmsttOrder); } if(map.get("trainOrderId") != null ){ i =+ omstrainOrderMapper.updateByPrimaryKeySelective(omstrainOrder); }else{ i =+ omstrainOrderMapper.insertSelective(omstrainOrder); } return i; } @Override public List> getOrderTrainMes(Integer orderId) { List>mapList = omstrainOrderMapper.getOrderTrainMes(orderId); for(Mapmap1:mapList){ List> materialList = omstrainOrderMapper.getMaterialList(map1); for (MapmaterialMap:materialList){ BigDecimal materialId = DataChange.dataToBigDecimal(materialMap.get("materialId")); //根据运输订单ID和物资ID去查询炉号 List> luHaoNumberList = omstrainOrderMapper.getLuhaoNum(new BigDecimal(orderId),materialId); StringBuilder sb = new StringBuilder(); for (Map luHaoMap : luHaoNumberList) { sb.append(luHaoMap.get("materialFurnaceNumber")); sb.append("-"); sb.append(luHaoMap.get("materialNum")); sb.append("/"); } if(luHaoNumberList.size() > 0){ sb.deleteCharAt(sb.length() - 1); materialMap.put("luhao",sb.toString()); } } map1.put("materialMesList",materialList); } return mapList; } @Override public List> getWagonShippingDetails(Map map) { return omstrainOrderMapper.getWagonShippingDetails(map); } }