123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- 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<String, Object> 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<Map<String, Object>> getOrderTrainMes(Integer orderId) {
- List<Map<String,Object>>mapList = omstrainOrderMapper.getOrderTrainMes(orderId);
- for(Map<String,Object>map1:mapList){
- List<Map<String,Object>> materialList = omstrainOrderMapper.getMaterialList(map1);
- for (Map<String,Object>materialMap:materialList){
- BigDecimal materialId = DataChange.dataToBigDecimal(materialMap.get("materialId"));
- //根据运输订单ID和物资ID去查询炉号
- List<Map<String, Object>> luHaoNumberList = omstrainOrderMapper.getLuhaoNum(new BigDecimal(orderId),materialId);
- StringBuilder sb = new StringBuilder();
- for (Map<String, Object> 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<Map<String, Object>> getWagonShippingDetails(Map<String, Object> map) {
- return omstrainOrderMapper.getWagonShippingDetails(map);
- }
- }
|