package com.steerinfo.dil.service.impl; import com.steerinfo.dil.mapper.AmsRailOffsetDayplanMapper; import com.steerinfo.dil.mapper.AmsRailOffsetMaterialMapper; import com.steerinfo.dil.model.AmsRailOffsetDayplan; import com.steerinfo.dil.model.AmsRailOffsetMaterial; import com.steerinfo.dil.service.IAmsRailOffsetDayplanService; import com.steerinfo.dil.util.DataChange; import com.steerinfo.framework.mapper.IBaseMapper; import com.steerinfo.framework.service.impl.BaseServiceImpl; import io.swagger.models.auth.In; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cglib.core.Local; import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.time.LocalDate; import java.util.Date; import java.util.List; import java.util.Map; /** * AmsRailOffsetDayplan服务实现: * @author generator * @version 1.0-SNAPSHORT 2021-10-16 04:17 * 类描述 * 修订历史: * 日期:2021-10-16 * 作者:generator * 参考: * 描述:AmsRailOffsetDayplan服务实现 * @see null * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved. */ @Service(value = "amsRailOffsetDayplanService") public class AmsRailOffsetDayplanServiceImpl extends BaseServiceImpl implements IAmsRailOffsetDayplanService { @Autowired private AmsRailOffsetDayplanMapper amsRailOffsetDayplanMapper; @Autowired private AmsRailOffsetMaterialMapper amsRailOffsetMaterialMapper; @Override protected IBaseMapper getMapper() { return amsRailOffsetDayplanMapper; } /** * 查询最大id * @return */ @Override public BigDecimal selectMaxId() { return amsRailOffsetDayplanMapper.selectMaxId(); } /** * 展示钢材发往异地库计划 * @param mapValue * @return */ public List> getRailOffsetDayplan(Map mapValue) { return amsRailOffsetDayplanMapper.getRailOffsetDayplan(mapValue); } /** * 新增发运钢材到异地库计划 * @param mapValue * @return */ @Override public int insert(Map mapValue) { BigDecimal dayPlanId = selectMaxId(); AmsRailOffsetDayplan amsRailOffsetDayplan = new AmsRailOffsetDayplan(); Date dayPlanDate = new Date((Long) mapValue.get("dayPlanDate")); Integer shipperId = (Integer) mapValue.get("shipperId"); Date dayPlanDeliveryDate = new Date((Long) mapValue.get("dayPlanDeliveryDate")); String dayPlanOwnCarsAmount = (String) mapValue.get("dayPlanOwnCarsAmount"); Integer dayPlanToTheStationId = (Integer) mapValue.get("dayPlanToTheStationId"); String dayPlanWagonNumber = (String) mapValue.get("dayPlanWagonNumber"); String dayPlanConsigneeName = (String) mapValue.get("dayPlanConsigneeName"); String dayPlanConsigneeTel = (String) mapValue.get("dayPlanConsigneeTel"); Integer unitId = (Integer) mapValue.get("unitId"); // Integer dayPlanSendStationId = (Integer) mapValue.get("dayPlanSendStationId"); // DataChange dataChange=new DataChange(); LocalDate now = LocalDate.now(); //获取计划数量 String count=dayPlanId+""; //用当前时间和需求数量组成流水号 String number="JH"+ now.getYear()+now.getMonthValue()+"-"+count; amsRailOffsetDayplan.setDayplanNo(number); //设置计划状态为未下发 amsRailOffsetDayplan.setDayplanId(dayPlanId); amsRailOffsetDayplan.setDayplanDate(dayPlanDate); amsRailOffsetDayplan.setShipperId(new BigDecimal(shipperId)); amsRailOffsetDayplan.setDayplanDeliveryDate(dayPlanDeliveryDate); amsRailOffsetDayplan.setDayplanOwnCarsAmout(new BigDecimal(dayPlanOwnCarsAmount)); amsRailOffsetDayplan.setDayplanToTheStationId(new BigDecimal(dayPlanToTheStationId)); amsRailOffsetDayplan.setDayplanWagonNumber(new BigDecimal(dayPlanWagonNumber)); amsRailOffsetDayplan.setDayplanConsigneeName(dayPlanConsigneeName); amsRailOffsetDayplan.setDayplanConsigneeTel(dayPlanConsigneeTel); amsRailOffsetDayplan.setReceivingUnitId(new BigDecimal(unitId)); // amsRailOffsetDayplan.setDayplanSendStationId(new BigDecimal(dayPlanSendStationId)); amsRailOffsetDayplan.setDayplanReceiveStatus(new BigDecimal(0)); amsRailOffsetDayplan.setDeleted(new BigDecimal(0)); //遍历物资列表添加所有发运计划物资中间表 List> mapList = (List>) mapValue.get("selectionList"); for (Map map : mapList) { AmsRailOffsetMaterial amsRailOffsetMaterial = new AmsRailOffsetMaterial(); amsRailOffsetMaterial.setOffsetMaterialId(amsRailOffsetMaterialMapper.selectMaxId()); // 设置发运计划ID amsRailOffsetMaterial.setDayplanId(dayPlanId); amsRailOffsetMaterial.setMaterialId(DataChange.dataToBigDecimal(map.get("materialId"))); amsRailOffsetMaterial.setOffsetMaterialNumber(DataChange.dataToBigDecimal(map.get("orderPlanWeight"))); amsRailOffsetMaterial.setInsertTime(new Date()); amsRailOffsetMaterial.setInsertUsername("admin"); amsRailOffsetMaterialMapper.insertSelective(amsRailOffsetMaterial); } amsRailOffsetDayplan.setInsertTime(new Date()); amsRailOffsetDayplan.setInsertUsername("admin"); return amsRailOffsetDayplanMapper.insertSelective(amsRailOffsetDayplan); } public int update(AmsRailOffsetDayplan amsRailOffsetDayplan) { return amsRailOffsetDayplanMapper.updateByPrimaryKey(amsRailOffsetDayplan); } /** * 删除钢材发往异地库日计划 * @param dayplanId * @return */ @Override public int deleteTruckRailDayPlan(BigDecimal dayplanId) { AmsRailOffsetDayplan amsRailOffsetDayplan = amsRailOffsetDayplanMapper.selectByPrimaryKey(dayplanId); amsRailOffsetDayplan.setDeleted(new BigDecimal(1)); int result = amsRailOffsetDayplanMapper.updateByPrimaryKeySelective(amsRailOffsetDayplan); return result; } /** * 下发钢材发往异地库日计划 * @param mapList * @return */ @Override public int issueRailOffsetDayplan(List> mapList) { int result = 0; for (Map map : mapList) { Integer dayPlanId = (Integer) map.get("dayPlanId"); AmsRailOffsetDayplan amsRailOffsetDayplan = amsRailOffsetDayplanMapper.selectByPrimaryKey(new BigDecimal(dayPlanId)); amsRailOffsetDayplan.setDayplanReceiveStatus(new BigDecimal(1)); amsRailOffsetDayplan.setCarrierId(new BigDecimal(9)); result += amsRailOffsetDayplanMapper.updateByPrimaryKeySelective(amsRailOffsetDayplan); } return result; } /** * 通过发运计划主键查询关联所有物资信息 * @param mapValue * @return */ @Override public List> getMaterialMesByDayPlanId(Map mapValue) { return amsRailOffsetDayplanMapper.getMaterialMesByDayPlanId(mapValue); } /** * 接收钢材发往异地库计划 * @param dayplanId * @return */ @Override public int receiveRailOffsetDayplan(Integer dayplanId) { AmsRailOffsetDayplan amsRailOffsetDayplan = amsRailOffsetDayplanMapper.selectByPrimaryKey(new BigDecimal(dayplanId)); amsRailOffsetDayplan.setDayplanReceiveStatus(new BigDecimal(2)); int result = amsRailOffsetDayplanMapper.updateByPrimaryKeySelective(amsRailOffsetDayplan); return result; } /** * 到站下拉框 * @return */ @Override public List> getdayPlanToTheStationId() { return amsRailOffsetDayplanMapper.getdayPlanToTheStationId(); } @Override public List> getRailOffsetDayplanId(Map mapValue) { return amsRailOffsetDayplanMapper.getRailOffsetDayplanId(mapValue); } }