package com.steerinfo.dil.service.impl; import com.steerinfo.dil.mapper.AmstruckInwardRequirementMapper; import com.steerinfo.dil.mapper.WmspGridMaterialMapper; import com.steerinfo.dil.mapper.WmspIvboundMakeMaterialMapper; import com.steerinfo.dil.mapper.WmspIvboundMakeResultMapper; import com.steerinfo.dil.model.AmstruckInwardRequirement; import com.steerinfo.dil.model.WmspGridMaterial; import com.steerinfo.dil.model.WmspIvboundMakeMaterial; import com.steerinfo.dil.model.WmspIvboundMakeResult; import com.steerinfo.dil.service.IWmspIvboundMakeResultService; import com.steerinfo.dil.util.NoUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.util.Date; import java.util.List; import java.util.Map; /** * WmspIvboundMakeResult服务实现: * @author generator * @version 1.0-SNAPSHORT 2021-12-01 05:46 * 类描述 * 修订历史: * 日期:2021-12-01 * 作者:generator * 参考: * 描述:WmspIvboundMakeResult服务实现 * @see null * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved. */ @Service public class WmspIvboundMakeResultServiceImpl implements IWmspIvboundMakeResultService { @Autowired private WmspIvboundMakeResultMapper wmspIvboundMakeResultMapper; @Autowired WmspIvboundMakeMaterialMapper wmspIvboundMakeMaterialMapper; @Autowired AmstruckInwardRequirementMapper amstruckInwardRequirementMapper; @Autowired WmspGridMaterialMapper wmspGridMaterialMapper; /** * 逻辑删除倒库实绩 * @param resultId * @return */ @Override public int deleteIvboundMakeResult(BigDecimal resultId) { WmspIvboundMakeResult wmspIvboundMakeResult = wmspIvboundMakeResultMapper.selectByPrimaryKey(resultId); wmspIvboundMakeResult.setDeleted(new BigDecimal(1)); int result = wmspIvboundMakeResultMapper.updateByPrimaryKeySelective(wmspIvboundMakeResult); return result; } /** * 修改倒库实绩 * @param wmspIvboundMakeResult * @return */ @Override public int updateIvboundMakeResult(WmspIvboundMakeResult wmspIvboundMakeResult) { int result = wmspIvboundMakeResultMapper.updateByPrimaryKeySelective(wmspIvboundMakeResult); return result; } /** * 新增倒库实绩 * @param mapValue * @return */ @Override public int addIvboundMakeResult(Map mapValue) { int result = 0; WmspIvboundMakeResult wmspIvboundMakeResult = new WmspIvboundMakeResult(); WmspIvboundMakeMaterial wmspIvboundMakeMaterial = new WmspIvboundMakeMaterial(); BigDecimal resultId = wmspIvboundMakeResultMapper.selectResultId(); String resultNo = NoUtil.setResultNo("WDK",resultId); BigDecimal resultMaterialId = wmspIvboundMakeMaterialMapper.selectResultMaterialId(); // 新仓库id BigDecimal resultAfterWarehouseId = new BigDecimal((Integer)mapValue.get("resultAfterWarehouseId")); // 原仓库id BigDecimal resultBeforeWarehouseId = new BigDecimal((Integer)mapValue.get("resultBeforeWarehouseId")); // 设置实绩表 wmspIvboundMakeResult.setResultId(resultId); wmspIvboundMakeResult.setResultNo(resultNo); wmspIvboundMakeResult.setResultAfterWarehouseId(resultAfterWarehouseId); wmspIvboundMakeResult.setResultBeforeWarehouseId(resultBeforeWarehouseId); wmspIvboundMakeResult.setDeleted(new BigDecimal(0)); wmspIvboundMakeResult.setInsertTime(new Date()); wmspIvboundMakeResult.setUpdateTime(new Date()); wmspIvboundMakeResult.setInsertUsername("admin"); wmspIvboundMakeResult.setUpdateUsername("admin"); wmspIvboundMakeResult.setInsertUpdateRemark("无"); result += wmspIvboundMakeResultMapper.insertSelective(wmspIvboundMakeResult); // 设置倒库物资中间表 List> mapList = (List>) mapValue.get("mapList"); if(mapList==null){ return 0; } // 物资钢材id for (Map map : mapList) { BigDecimal materialSteelId = new BigDecimal((Integer)map.get("materialId")); // 原垛位id BigDecimal beforeStackingId = new BigDecimal((Integer)map.get("stackingId")); // 原层次 BigDecimal beforeGradutionNumber = new BigDecimal((Integer)map.get("gridGradationNumber")); wmspIvboundMakeMaterial.setResultMaterialId(resultMaterialId); wmspIvboundMakeMaterial.setResultId(resultId); wmspIvboundMakeMaterial.setMaterialSteelId(materialSteelId); wmspIvboundMakeMaterial.setBeforeStackingId(beforeStackingId); wmspIvboundMakeMaterial.setBeforeGradutionNumber(beforeGradutionNumber); wmspIvboundMakeMaterial.setInsertTime(new Date()); wmspIvboundMakeMaterial.setUpdateTime(new Date()); wmspIvboundMakeMaterial.setInsertUsername("admin"); wmspIvboundMakeMaterial.setUpdateUsername("admin"); wmspIvboundMakeMaterial.setInsertUpdateRemark("无"); // 修改实时库存 // BigDecimal gmId = DataChange(map.get("GridId")); BigDecimal gmId = wmspIvboundMakeResultMapper.selectGmId(materialSteelId); WmspGridMaterial wmspGridMaterial = wmspGridMaterialMapper.selectByPrimaryKey(gmId); wmspGridMaterial.setStatus(new BigDecimal(1)); wmspGridMaterialMapper.updateByPrimaryKeySelective(wmspGridMaterial); result += wmspIvboundMakeMaterialMapper.insertSelective(wmspIvboundMakeMaterial); } // 新增用车需求 AmstruckInwardRequirement amstruckInwardRequirement = new AmstruckInwardRequirement(); BigDecimal requirementId = amstruckInwardRequirementMapper.selectOtherId(); String requirementNumber = NoUtil.setResultNo("YSXQ",requirementId); amstruckInwardRequirement.setRequirementId(requirementId); amstruckInwardRequirement.setRequirementNumber(requirementNumber); amstruckInwardRequirement.setRequirementTruckTime(new Date()); amstruckInwardRequirement.setRequirementWorkType(new BigDecimal(0)); amstruckInwardRequirement.setRequiremntUnitId(resultBeforeWarehouseId); amstruckInwardRequirement.setRequirementStatus(new BigDecimal(0)); amstruckInwardRequirement.setDeleted(new BigDecimal(0)); amstruckInwardRequirement.setRequirementUnloadUnitId(resultAfterWarehouseId); amstruckInwardRequirement.setRequirementLinkType(new BigDecimal(0)); amstruckInwardRequirement.setInsertTime(new Date()); amstruckInwardRequirement.setInsertUsername("admin"); amstruckInwardRequirement.setInsertUpdateRemark("无"); result += amstruckInwardRequirementMapper.insertSelective(amstruckInwardRequirement); return result; } /** * 查询倒库实绩 * @param resultId * @return */ @Override public List> selectIvboundMakeResult(BigDecimal resultId) { return wmspIvboundMakeResultMapper.selectIvboundMakeResult(resultId); } /** * 展示倒库实绩 * @param mapVal * @return */ @Override public List> getIvboundMakeResultList(Map mapVal) { List> mapList = wmspIvboundMakeResultMapper.getIvboundMakeResultList(mapVal); for (Map map : mapList) { map.put("materialNumber",1); } return mapList; } }