diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesShippingOrderManagementController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesShippingOrderManagementController.java index 029cc76..41be4cd 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesShippingOrderManagementController.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesShippingOrderManagementController.java @@ -3,7 +3,7 @@ package cn.estsh.i3plus.ext.mes.apiservice.controller.base; import cn.estsh.i3plus.ext.mes.api.base.IMesShippingOrderManagementService; import cn.estsh.i3plus.ext.mes.apiservice.config.AuthUtilExt; import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; -import cn.estsh.i3plus.pojo.mes.unit.MesExtEnumUtil; +import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCraftRouteDetailServiceImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCraftRouteDetailServiceImpl.java index 1cbdc49..67621e1 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCraftRouteDetailServiceImpl.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCraftRouteDetailServiceImpl.java @@ -5,7 +5,7 @@ import cn.estsh.i3plus.ext.mes.api.base.IMesCraftRouteService; import cn.estsh.i3plus.ext.mes.api.base.IMesCraftService; import cn.estsh.i3plus.ext.mes.apiservice.config.AuthUtilExt; import cn.estsh.i3plus.ext.mes.apiservice.unit.exception.MesException; -import cn.estsh.i3plus.pojo.mes.unit.MesExtEnumUtil; +import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.tool.TimeTool; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCustomerPartService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCustomerPartService.java index 1a89c6e..a9b1ccb 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCustomerPartService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesCustomerPartService.java @@ -1,14 +1,16 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; -import cn.estsh.i3plus.ext.mes.api.base.IMesCustomerCarModelService; import cn.estsh.i3plus.ext.mes.api.base.IMesCustomerPartService; -import cn.estsh.i3plus.ext.mes.api.base.IMesCustomerService; +import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; -import cn.estsh.i3plus.pojo.base.bean.ListPager; -import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; -import cn.estsh.i3plus.pojo.mes.bean.*; +import cn.estsh.i3plus.pojo.mes.bean.MesCarSeriesLoosePart; +import cn.estsh.i3plus.pojo.mes.bean.MesCustomerCarModelDetail; +import cn.estsh.i3plus.pojo.mes.bean.MesCustomerPart; import cn.estsh.i3plus.pojo.mes.repository.MesCustomerCarModelDetailRepository; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.util.ValidatorBean; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -38,18 +40,63 @@ public class MesCustomerPartService extends BaseMesService impl } + protected void onInsertBean(MesCustomerPart item) { + // 数据校验 + ValidatorBean.checkNotNull(item.getCustomerCode(), "客户代码不能为空"); + ValidatorBean.checkNotNull(item.getPartNo(), "零件号不能为空"); + ValidatorBean.checkNotNull(item.getCustomerPartNo(), "客户零件号不能为空"); + + DdlPackBean cellBinPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(item.getCustomerCode(), "customerCode", cellBinPackBean); + DdlPreparedPack.getStringEqualPack(item.getPartNo(), "partNo", cellBinPackBean); + DdlPreparedPack.getStringEqualPack(item.getCustomerPartNo(), "customerPartNo", cellBinPackBean); + boolean flg = baseRDao.isExitByHql(cellBinPackBean); + if (flg) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("【%s】客户零件号【%s】零件号【%s】客户代码已经存在,请检查数据", item.getCustomerPartNo(), item.getPartNo(), item.getCustomerCode()) + .build(); + } + + } + + protected void onUpdateBean(MesCarSeriesLoosePart item) { + + // 数据校验 + ValidatorBean.checkNotNull(item.getCustomerCode(), "客户代码不能为空"); + ValidatorBean.checkNotNull(item.getPartNo(), "零件号不能为空"); + ValidatorBean.checkNotNull(item.getCustomerPartNo(), "客户零件号不能为空"); + + DdlPackBean cellBinPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(item.getCustomerCode(), "customerCode", cellBinPackBean); + DdlPreparedPack.getStringEqualPack(item.getPartNo(), "partNo", cellBinPackBean); + DdlPreparedPack.getStringEqualPack(item.getCustomerPartNo(), "customerPartNo", cellBinPackBean); + DdlPreparedPack.getNumNOEqualPack(item.getId(), "id", cellBinPackBean); + boolean flg = baseRDao.isExitByHql(cellBinPackBean); + if (flg) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("【%s】客户零件号【%s】零件号【%s】客户代码已经存在,请检查数据", item.getCustomerPartNo(), item.getPartNo(), item.getCustomerCode()) + .build(); + } + + } + + @Override public List findMesCustomerPart(MesCustomerCarModelDetail mesPartProdGroupDetail) { DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(mesPartProdGroupDetail.getOrganizeCode()); - DdlPreparedPack.getStringEqualPack(mesPartProdGroupDetail.getPartNo(),"partNo",ddlPackBean); - DdlPreparedPack.getStringEqualPack(mesPartProdGroupDetail.getCarModelCode(),"carModelCode",ddlPackBean); + DdlPreparedPack.getStringEqualPack(mesPartProdGroupDetail.getPartNo(), "partNo", ddlPackBean); + DdlPreparedPack.getStringEqualPack(mesPartProdGroupDetail.getCarModelCode(), "carModelCode", ddlPackBean); List mesCustomerCarModelDetails = mesCustomerCarModelDetailRDao.findByHqlWhere(ddlPackBean); - if(CollectionUtils.isEmpty(mesCustomerCarModelDetails)){ + if (CollectionUtils.isEmpty(mesCustomerCarModelDetails)) { return new ArrayList<>(); } - List customerPartNoList = mesCustomerCarModelDetails.stream().map(MesCustomerCarModelDetail::getCustomerPartNo).collect(Collectors.toList()); + List customerPartNoList = mesCustomerCarModelDetails.stream().map(MesCustomerCarModelDetail::getCustomerPartNo).collect(Collectors.toList()); ddlPackBean = DdlPackBean.getDdlPackBean(mesPartProdGroupDetail.getOrganizeCode()); - DdlPreparedPack.getInPackList(customerPartNoList,"customerPartNo",ddlPackBean); + DdlPreparedPack.getInPackList(customerPartNoList, "customerPartNo", ddlPackBean); return baseRDao.findByHqlWhere(ddlPackBean); } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesDefectService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesDefectService.java index 51682ba..8c2f6a3 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesDefectService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesDefectService.java @@ -1,10 +1,13 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; import cn.estsh.i3plus.ext.mes.api.base.IMesDefectService; +import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.mes.bean.MesDefect; -import cn.estsh.i3plus.pojo.mes.bean.MesPartShippingGroupDetail; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.util.ValidatorBean; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -18,4 +21,41 @@ public class MesDefectService extends BaseMesService implements IMesD DdlPreparedPack.getNumEqualPack(bean.getCategory(), "category", packBean); } + protected void onInsertBean(MesDefect item) { + // 数据校验 + ValidatorBean.checkNotNull(item.getDefectCode(), "缺陷类型代码不能为空"); + ValidatorBean.checkNotNull(item.getDefectName(), "缺陷类型名称不能为空"); + + DdlPackBean packBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(item.getDefectCode(), "defectCode", packBean); + boolean flg = baseRDao.isExitByHql(packBean); + if (flg) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("【%s】缺陷类型代码已经存在,请检查数据", item.getDefectCode()) + .build(); + } + } + + + protected void onUpdateBean(MesDefect item) { + + // 数据校验 + ValidatorBean.checkNotNull(item.getDefectCode(), "缺陷类型代码不能为空"); + ValidatorBean.checkNotNull(item.getDefectName(), "缺陷类型名称不能为空"); + + DdlPackBean packBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(item.getDefectCode(), "defectCode", packBean); + DdlPreparedPack.getNumNOEqualPack(item.getId(), "id", packBean); + boolean flg = baseRDao.isExitByHql(packBean); + if (flg) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("【%s】缺陷类型代码已经存在,请检查数据", item.getDefectCode()) + .build(); + } + } + } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEnumExtService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEnumExtService.java index c679163..3073d57 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEnumExtService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEnumExtService.java @@ -2,7 +2,7 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; import cn.estsh.i3plus.ext.mes.api.base.IMesEnumExtService; -import cn.estsh.i3plus.pojo.mes.unit.MesExtEnumUtil; +import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; import cn.estsh.i3plus.mes.apiservice.util.EnumUtil; import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEquipmentProdParamCfgServiceImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEquipmentProdParamCfgServiceImpl.java index 5745576..6e323b4 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEquipmentProdParamCfgServiceImpl.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEquipmentProdParamCfgServiceImpl.java @@ -1,7 +1,7 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; import cn.estsh.i3plus.ext.mes.api.base.IMesEquipmentProdParamCfgService; -import cn.estsh.i3plus.pojo.mes.unit.MesExtEnumUtil; +import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentProdParamCfg; diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesLoadingVehiclesOrderService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesLoadingVehiclesOrderService.java index fdad171..df1d4a0 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesLoadingVehiclesOrderService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesLoadingVehiclesOrderService.java @@ -2,7 +2,7 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; import cn.estsh.i3plus.ext.mes.api.base.IMesLoadingVehiclesOrderService; import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; -import cn.estsh.i3plus.pojo.mes.unit.MesExtEnumUtil; +import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartService.java index f1b8890..a90c1ba 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartService.java @@ -14,7 +14,7 @@ public class MesPartService extends BaseMesService implements IMesPartS protected void setPackQueryBean(MesPart bean, DdlPackBean packBean) { DdlPreparedPack.getStringEqualPack(bean.getPartNo(), "partNo", packBean); - DdlPreparedPack.getStringLikeEqualPack(bean.getPartName(), "partName", packBean); + DdlPreparedPack.getStringLikerPack(bean.getPartName(), "partName", packBean); } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesProdCraftRouteServiceImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesProdCraftRouteServiceImpl.java index 053ac56..c6edd3d 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesProdCraftRouteServiceImpl.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesProdCraftRouteServiceImpl.java @@ -79,7 +79,7 @@ public class MesProdCraftRouteServiceImpl extends BaseMesService implements protected void setPackQueryBean(MesWorkOrder bean, DdlPackBean packBean) { DdlPreparedPack.getStringLikerPack(bean.getOrderNo(), "orderNo", packBean); DdlPreparedPack.getStringLikerPack(bean.getPartNameRdd(), "partNameRdd", packBean); + DdlPreparedPack.getStringLikerPack(bean.getCreateUser(), "createUser", packBean); DdlPreparedPack.getStringEqualPack(bean.getPartNo(), "partNo", packBean); DdlPreparedPack.getStringEqualPack(bean.getCustomerPartNo(), "customerPartNo", packBean); DdlPreparedPack.getStringEqualPack(bean.getWorkCenterCode(), "workCenterCode", packBean); @@ -311,9 +312,10 @@ public class MesWorkOrderService extends BaseMesService implements //校验物料生产版本是否存在 ddlPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); DdlPreparedPack.getStringEqualPack(item.getPartNo(), "partNo", ddlPackBean); + DdlPreparedPack.getStringEqualPack(item.getWorkCenterCode(), "workCenterCode", ddlPackBean); DdlPreparedPack.getStringEqualPack(item.getProductVersion(), "productVersion", ddlPackBean); if (!mesProductVersionRDao.isExitByHql(ddlPackBean)) { - MesException.throwMesBusiException("物料【%s】生产版本【%s】信息不存在", item.getPartNo(), item.getProductVersion()); + MesException.throwMesBusiException("物料【%s】产线【%s】生产版本【%s】信息不存在", item.getPartNo(),item.getWorkCenterCode(), item.getProductVersion()); } } else { diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MesSpotCheckOrderResultService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MesSpotCheckOrderResultService.java index 7296ff2..ca14ff4 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MesSpotCheckOrderResultService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MesSpotCheckOrderResultService.java @@ -7,6 +7,7 @@ import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.mes.bean.MesSpotCheckOrderResult; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; @Service @Slf4j @@ -14,6 +15,10 @@ public class MesSpotCheckOrderResultService extends BaseMesService MesSpotCheckOrder bean = baseRDao.getById(id); if (StringUtils.isEmpty(bean)) continue; - if (bean.getStatus() != MesExtEnumUtil.SPOT_CHECK_ORDER_STATUS.CREATE.getValue()) { + if (bean.getStatus() == MesExtEnumUtil.SPOT_CHECK_ORDER_STATUS.COMPLETE.getValue()) { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/excel/MesWorkOrderBtoExcelServiceImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/excel/MesWorkOrderBtoExcelServiceImpl.java index 01f6239..2df5ef2 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/excel/MesWorkOrderBtoExcelServiceImpl.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/excel/MesWorkOrderBtoExcelServiceImpl.java @@ -11,7 +11,7 @@ //import cn.estsh.i3plus.pojo.mes.repository.MesPartPtrRepository; //import cn.estsh.i3plus.pojo.mes.repository.MesPartRepository; //import cn.estsh.i3plus.pojo.mes.repository.MesWorkOrderRepository; -//import cn.estsh.i3plus.pojo.mes.unit.MesExtEnumUtil; +//import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; //import lombok.extern.slf4j.Slf4j; //import org.apache.poi.ss.usermodel.CellType; //import org.apache.poi.ss.usermodel.Row;