package com.steerinfo.dil.service.impl; import com.steerinfo.dil.feign.WmshboundFeign; import com.steerinfo.dil.mapper.TmsshipLoadShipResultMapper; import com.steerinfo.dil.mapper.TmsshipTotalResultMapper; import com.steerinfo.dil.model.TmsshipLoadShipResult; import com.steerinfo.dil.model.TmsshipTotalResult; import com.steerinfo.dil.model.TmsshipUnloadShipResult; import com.steerinfo.dil.mapper.TmsshipUnloadShipResultMapper; import com.steerinfo.dil.service.ITmsshipUnloadShipResultService; import com.steerinfo.dil.util.DataChange; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.time.LocalDate; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; /** * TmsshipUnloadShipResult服务实现: * @author generator * @version 1.0-SNAPSHORT 2021-08-19 08:57 * 类描述 * 修订历史: * 日期:2021-08-19 * 作者:generator * 参考: * 描述:TmsshipUnloadShipResult服务实现 * @see null * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved. */ @Service(value = "tmsshipUnloadShipResultService") public class TmsshipUnloadShipResultServiceImpl implements ITmsshipUnloadShipResultService { @Autowired TmsshipUnloadShipResultMapper tmsshipUnloadShipResultMapper; @Autowired TmsshipTotalResultServiceImpl tmsshipTotalResultService; @Autowired TmsshipLoadShipResultMapper tmsshipLoadShipResultMapper; @Autowired WmshboundFeign wmshboundFeign; @Autowired TmsshipTotalResultMapper tmsshipTotalResultMapper; /** * 得到最大id * @return */ @Override public BigDecimal selectMaxId() { return tmsshipUnloadShipResultMapper.selectUnloadId(); } /** * 新增卸船实绩 * @param map * @return */ @Override @Transactional public int insertUnloadShip(Map map) { Map mapVal = (Map) map.get("mapVal"); Map unloadMap = (Map) map.get("unloadMap"); BigDecimal downSwimPortId= DataChange.dataToBigDecimal(unloadMap.get("downSwimPortId")); TmsshipUnloadShipResult tmsshipUnloadShipResult = new TmsshipUnloadShipResult(); BigDecimal resultId = selectMaxId(); BigDecimal orderId = new BigDecimal((Integer) unloadMap.get("orderId")); BigDecimal totalResultId = tmsshipTotalResultService.getResultTotalId(orderId); //修改船舶状态 TmsshipTotalResult tmsshipTotalResult=new TmsshipTotalResult(); tmsshipTotalResult.setResultId(totalResultId); tmsshipTotalResult.setShipStatus(new BigDecimal(1)); tmsshipTotalResultMapper.updateByPrimaryKeySelective(tmsshipTotalResult); Date resultArrivalDate = new Date((Long) mapVal.get("resultArrivalDate")); Date resultStartTime = new Date((Long) mapVal.get("resultStartTime")); Date resultEndTime = new Date((Long) mapVal.get("resultEndTime")); String resultStatus = (String) mapVal.get("resultStatus"); // 设置属性值 tmsshipUnloadShipResult.setResultId(resultId); tmsshipUnloadShipResult.setTotalResultId(totalResultId); tmsshipUnloadShipResult.setResultArrivalDate(resultArrivalDate); tmsshipUnloadShipResult.setResultStartTime(resultStartTime); tmsshipUnloadShipResult.setResultEndTime(resultEndTime); tmsshipUnloadShipResult.setResultStatus(resultStatus); // 设置常规字段 tmsshipUnloadShipResult.setDeleteName(null); tmsshipUnloadShipResult.setDeleteTime(null); tmsshipUnloadShipResult.setInsertTime(new Date()); tmsshipUnloadShipResult.setUpdateTime(new Date()); tmsshipUnloadShipResult.setInsertUsername("admin"); tmsshipUnloadShipResult.setUpdateUsername("admin"); tmsshipUnloadShipResult.setInsertUpdateRemark("无"); tmsshipUnloadShipResult.setDeleted(new BigDecimal(0)); // 新增出库实绩 Map totalId = new HashMap<>(); totalId.put("totalResultId",totalResultId); List tmsshipLoadShipResults = tmsshipLoadShipResultMapper.selectByParameters(totalId); TmsshipLoadShipResult tmsshipLoadShipResult = tmsshipLoadShipResults.get(0); Map mapValue = new HashMap<>(); mapValue.put("batchId",tmsshipLoadShipResult.getBatchId()); mapValue.put("downSwimPortId",downSwimPortId); mapValue.put("resultMaterialNumber",tmsshipLoadShipResult.getResultActualInstallations()); wmshboundFeign.addWarehousingResult(mapValue); return tmsshipUnloadShipResultMapper.insert(tmsshipUnloadShipResult); } /** * 通过主键删除卸船实绩 * @param resultId * @return */ @Override public int deleteUnloadShip(BigDecimal resultId) { TmsshipUnloadShipResult tmsshipUnloadShipResult = selectUnloadShip(resultId); tmsshipUnloadShipResult.setDeleted(new BigDecimal(1)); return tmsshipUnloadShipResultMapper.updateByPrimaryKeySelective(tmsshipUnloadShipResult); } /** * 通过主键查询卸船 * @param resultId * @return */ @Override public TmsshipUnloadShipResult selectUnloadShip(BigDecimal resultId) { return tmsshipUnloadShipResultMapper.selectByPrimaryKey(resultId); } /** * 修改卸船信息 * @param tmsshipUnloadShipResult * @return */ @Override public int updateUnloadShip(TmsshipUnloadShipResult tmsshipUnloadShipResult) { tmsshipUnloadShipResult.setUpdateTime(new Date()); return tmsshipUnloadShipResultMapper.updateByPrimaryKeySelective(tmsshipUnloadShipResult); } /** * 查询所有卸船实绩信息 * @param mapVal * @return */ @Override public List> selectUnloadShipList(Map mapVal) { return tmsshipUnloadShipResultMapper.selectUnloadShipList(mapVal); } /** * 得到卸船作业表单 * @param resultId * @return */ @Override public List> getUnloadShip(BigDecimal resultId) { return tmsshipUnloadShipResultMapper.selectUnloadShip(resultId); } }