package com.steerinfo.dil.service.impl; import com.steerinfo.dil.mapper.AmstruckInwardRequirementMapper; import com.steerinfo.dil.mapper.AmstruckRequirementMaterialMapper; import com.steerinfo.dil.model.AmstruckInwardRequirement; import com.steerinfo.dil.model.AmstruckRequirementMaterial; import com.steerinfo.dil.service.IAmstruckInwardRequirementService; import com.steerinfo.dil.util.DataChange; import com.steerinfo.framework.mapper.IBaseMapper; import com.steerinfo.framework.service.impl.BaseServiceImpl; 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.HashMap; import java.util.List; import java.util.Map; /** * AmstruckInwardRequirement服务实现: * @author generator * @version 1.0-SNAPSHORT 2021-10-25 11:30 * 类描述 * 修订历史: * 日期:2021-10-25 * 作者:generator * 参考: * 描述:AmstruckInwardRequirement服务实现 * @see null * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved. */ @Service(value = "amstruckInwardRequirementService") public class AmstruckInwardRequirementServiceImpl extends BaseServiceImpl implements IAmstruckInwardRequirementService { @Autowired private AmstruckInwardRequirementMapper amstruckInwardRequirementMapper; @Autowired AmstruckRequirementMaterialMapper amstruckRequirementMaterialMapper; @Override protected IBaseMapper getMapper() { return amstruckInwardRequirementMapper; } @Transactional @Override public int insert(Map mapValue) { Integer purchaseOrderId = (Integer) mapValue.get("purchaseOrderId"); String requirementType = (String) mapValue.get("requirementType"); Integer capacityTypeId = (Integer) mapValue.get("capacityTypeId"); Date requirementTruckTime = new Date((Long) mapValue.get("requirementTruckTime")); Integer requirementShipperId = (Integer) mapValue.get("requirementShipperId"); String requirementWorkType = (String) mapValue.get("requirementWorkType"); String requirementWorkContent = (String) mapValue.get("requirementWorkContent"); String requirementWorkEnvironment = (String) mapValue.get("requirementWorkEnvironment"); String requirementEstimatedDuration = (String) mapValue.get("requirementEstimatedDuration"); Integer requiremntUnitId = (Integer) mapValue.get("requiremntUnitId"); Integer requirementUnloadUnitId = (Integer) mapValue.get("requirementUnloadUnitId"); String requirementOverlimit = (String) mapValue.get("requirementOverlimit"); BigDecimal materialWeight = DataChange.dataToBigDecimal(mapValue.get("materialWeight")); BigDecimal materialCount = DataChange.dataToBigDecimal(mapValue.get("materialNumber")); AmstruckInwardRequirement amstruckInwardRequirement = new AmstruckInwardRequirement(); //设置主键 BigDecimal requirementId = amstruckInwardRequirementMapper.selectOtherId(); amstruckInwardRequirement.setRequirementId(requirementId); amstruckInwardRequirement.setRequirementNumber(DataChange.generateEightDigitsNumber("YSXQ",amstruckInwardRequirementMapper.selectOtherId().intValue())); amstruckInwardRequirement.setRequirementStatus(new BigDecimal(0)); if(purchaseOrderId != null){ amstruckInwardRequirement.setPurchaseOrderId(new BigDecimal(purchaseOrderId)); } amstruckInwardRequirement.setRequirementType(requirementType); amstruckInwardRequirement.setCapacityTypeId(new BigDecimal(capacityTypeId)); amstruckInwardRequirement.setRequirementTruckTime(requirementTruckTime); amstruckInwardRequirement.setRequirementWorkType(new BigDecimal(requirementWorkType)); amstruckInwardRequirement.setRequirementWorkContent(requirementWorkContent); amstruckInwardRequirement.setRequirementWorkEnvironment(requirementWorkEnvironment); amstruckInwardRequirement.setRequirementEstimatedDuration(new BigDecimal(requirementEstimatedDuration)); amstruckInwardRequirement.setRequiremntUnitId(new BigDecimal(requiremntUnitId)); amstruckInwardRequirement.setRequirementOverlimit(requirementOverlimit); amstruckInwardRequirement.setRequirementShipperId(new BigDecimal(requirementShipperId)); amstruckInwardRequirement.setRequirementUnloadUnitId(new BigDecimal(requirementUnloadUnitId)); amstruckInwardRequirement.setRequirementPlatformId(DataChange.dataToBigDecimal(mapValue.get("requirementPlatformId"))); // 设置常规字段 amstruckInwardRequirement.setInsertTime(new Date()); amstruckInwardRequirement.setInsertUsername("admin"); amstruckInwardRequirement.setInsertUpdateRemark("无"); amstruckInwardRequirement.setDeleted(new BigDecimal(0)); int result = 0; result += amstruckInwardRequirementMapper.insertSelective(amstruckInwardRequirement); // 物资中间表 BigDecimal materialId = DataChange.dataToBigDecimal(mapValue.get("materialId")); if(materialId.intValue() == 0) if(purchaseOrderId != null) materialId = amstruckInwardRequirementMapper.getMaterialId(new BigDecimal(purchaseOrderId)); AmstruckRequirementMaterial amstruckRequirementMaterial = new AmstruckRequirementMaterial(); amstruckRequirementMaterial.setRequirementMaterialId(amstruckRequirementMaterialMapper.selectRequirementMaterialId()); amstruckRequirementMaterial.setRequirementId(requirementId); if(materialCount.intValue() != 0) amstruckRequirementMaterial.setMaterialCount(materialCount); if(materialWeight.intValue() != 0) amstruckRequirementMaterial.setMaterialWeight(materialWeight); amstruckRequirementMaterial.setMaterialId(materialId); amstruckRequirementMaterial.setInsertTime(new Date()); amstruckRequirementMaterial.setInsertUsername("admin"); amstruckRequirementMaterial.setInsertUpdateRemark("无"); result += amstruckRequirementMaterialMapper.insertSelective(amstruckRequirementMaterial); return result; } /** * 查询用车需求 * @param mapValue * @return */ @Override public List> getTruckRequirementList(Map mapValue) { List> mapList; if (((Integer) mapValue.get("requirementStatus")) == 2) { mapList = amstruckInwardRequirementMapper.getFinishTruckRequirementList(mapValue); } else { mapList = amstruckInwardRequirementMapper.getTruckRequirementList(mapValue); } for (Map map : mapList) { BigDecimal workType = (BigDecimal) map.get("requirementWorkType"); map.remove("requirementWorkType"); String requirementWorkType; switch (workType.intValue()) { case 0 : requirementWorkType = "日常内转费"; break; case 1 : requirementWorkType = "推进办费用"; break; case 2 : requirementWorkType = "大修费用"; break; case 3 : requirementWorkType = "新增建设项目"; break; case 4 : requirementWorkType = "外委吊车"; break; case 5 : requirementWorkType = "外委转机"; break; default: requirementWorkType = "环保绿化项目"; } map.put("workType",requirementWorkType); } return mapList; } /** * 删除用车需求 * @param requirementId * @return */ @Override public int deleteTruckRequirement(BigDecimal requirementId) { AmstruckInwardRequirement amstruckInwardRequirement = amstruckInwardRequirementMapper.selectByPrimaryKey(requirementId); amstruckInwardRequirement.setDeleted(new BigDecimal(1)); int result = amstruckInwardRequirementMapper.updateByPrimaryKeySelective(amstruckInwardRequirement); return result; } /** * 修改用车需求 * @param amstruckInwardRequirement * @return */ @Override public int updateTruckRequirement(AmstruckInwardRequirement amstruckInwardRequirement) { int result = amstruckInwardRequirementMapper.updateByPrimaryKeySelective(amstruckInwardRequirement); return result; } /** * 查询修改渲染 * @param requirementId * @return */ @Override public List> selectRequirement(Integer requirementId) { return amstruckInwardRequirementMapper.selectRequirement(new BigDecimal(requirementId)); } /** * 下发需求 * @param requirementIds * @return */ @Override public int downRequirement(List> requirementIds) { int result = 0; for (Map map : requirementIds) { Integer requirementId = (Integer) map.get("requirementId"); AmstruckInwardRequirement amstruckInwardRequirement = amstruckInwardRequirementMapper.selectByPrimaryKey(new BigDecimal(requirementId)); amstruckInwardRequirement.setRequirementStatus(new BigDecimal(1)); result += amstruckInwardRequirementMapper.updateByPrimaryKeySelective(amstruckInwardRequirement); } return result; } /** * 接收需求 * @param requirementId * @return */ @Override public int receiveRequirement(Integer requirementId) { AmstruckInwardRequirement amstruckInwardRequirement = amstruckInwardRequirementMapper.selectByPrimaryKey(new BigDecimal(requirementId)); amstruckInwardRequirement.setRequirementStatus(new BigDecimal(2)); amstruckInwardRequirement.setUpdateTime(new Date()); amstruckInwardRequirement.setUpdateUsername("admin"); int result = amstruckInwardRequirementMapper.updateByPrimaryKeySelective(amstruckInwardRequirement); return result; } /** * 批次信息 * @param mapValue * @return */ @Override public List> getPurchaseIdByBatch(Map mapValue) { List> mapList = amstruckInwardRequirementMapper.getPurchaseIdByBatch(mapValue); // for (Map map : mapList) { // BigDecimal purchaseOrderId = (BigDecimal) map.get("purchaseOrderId"); // Map purchaseMap = new HashMap<>(); // purchaseMap.put("purchaseOrderId",purchaseOrderId); // List amstruckInwardRequirements = amstruckInwardRequirementMapper.selectByParameters(purchaseMap); // if (amstruckInwardRequirements.size() == 0 || amstruckInwardRequirements == null) { // } // else { // mapList.remove(map); // } // } return mapList; } /** * 车型下拉 * @return */ @Override public List> getCapacityType() { return amstruckInwardRequirementMapper.getCapacityType(); } /** * 用车单位下拉 * @return */ @Override public List> getShipperUser() { return amstruckInwardRequirementMapper.getShipperUser(); } /** * 查询所有仓库 * @param mapValue * @return */ @Override public List> getWareHouse(Map mapValue) { return amstruckInwardRequirementMapper.getWareHouse(mapValue); } @Override public List> getOffsetWareHouse() { return amstruckRequirementMaterialMapper.getOffsetWarehouse(); } }