package com.doumee.service.business.impl; import com.doumee.core.annotation.excel.ExcelImporter; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.core.model.LoginUserInfo; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.core.utils.Utils; import com.doumee.dao.business.CmmDataMapper; import com.doumee.dao.business.CmmMapper; import com.doumee.dao.business.model.*; import com.doumee.dao.business.vo.bs.*; import com.doumee.service.business.AreasService; import com.doumee.service.business.CmmService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.web.multipart.MultipartFile; import java.lang.reflect.Field; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.UUID; /** * 企业能力成熟度数据信息Service实现 * @author 江蹄蹄 * @date 2023/10/24 15:57 */ @Service public class CmmServiceImpl implements CmmService { @Autowired private CmmMapper cmmMapper; @Autowired private AreasService areasService; @Autowired private CmmDataMapper cmmDataMapper; @Override public String create(Cmm cmm) { LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); if(StringUtils.isBlank(cmm.getAreaname()) ||StringUtils.isBlank(cmm.getDiagnoseType()) ||StringUtils.isBlank(cmm.getName()) ||StringUtils.isBlank(cmm.getData8())//总得分 ||StringUtils.isBlank(cmm.getLevel()) //成熟度等级 || cmm.getRevenue() == null ||StringUtils.isBlank(cmm.getIndustry())){ } Cmm m = new Cmm(); m.setIsdeleted(Constants.ZERO); m.setName(cmm.getName()); if(findOne(m) != null){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "对不起, 企业名称重复!"); } cmm.setId(UUID.randomUUID().toString()); cmm.setIsdeleted(Constants.ZERO); cmm.setEditor(user.getId()); cmm.setEditDate(new Date()); cmm.setCreator(cmm.getEditor()); cmm.setCreateDate(cmm.getEditDate()); cmmMapper.insert(cmm); List cmmDataList = initDataModelByParam(cmm); if(cmmDataList!=null && cmmDataList.size()>0){ cmmMapper.insertDataBatch(cmmDataList); } return cmm.getId(); } @Override public void deleteById(String id) { cmmMapper.deleteById(id); } @Override public void delete(Cmm cmm) { UpdateWrapper deleteWrapper = new UpdateWrapper<>(cmm); cmmMapper.delete(deleteWrapper); } @Override public void deleteByIdInBatch(List ids) { if (CollectionUtils.isEmpty(ids)) { return; } cmmMapper.deleteBatchIds(ids); } @Override public void updateById(Cmm cmm) { if(StringUtils.isBlank(cmm.getAreaname()) ||StringUtils.isBlank(cmm.getId()) ||StringUtils.isBlank(cmm.getDiagnoseType()) ||StringUtils.isBlank(cmm.getName()) ||StringUtils.isBlank(cmm.getData8())//总得分 ||StringUtils.isBlank(cmm.getLevel()) //成熟度等级 || cmm.getRevenue() == null ||StringUtils.isBlank(cmm.getIndustry())){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "对不起, 数据不完整,请检查确认修改后重试!"); } LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); Cmm model = cmmMapper.selectById(cmm.getId()); if(model == null){ throw new BusinessException(ResponseStatus.DATA_EMPTY); } if(cmm.getAreaId()!=null){ Areas areas = areasService.findById(cmm.getAreaId(), Constants.TWO); if(areas == null){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "对不起, 区域信息不存在!"); } cmm.setAreaname(areas.getName()); } cmm.setIsdeleted(Constants.ZERO); cmm.setEditor(user.getId()); cmm.setEditDate(new Date()); cmm.setCreator(cmm.getEditor()); cmm.setCreateDate(cmm.getEditDate()); // cmmMapper.updateById(cmm); List cmmDataList = initDataModelByParam(cmm); UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper.lambda().eq(CmmData::getCmmId, cmm.getId()); cmmDataMapper.delete(updateWrapper); if(cmmDataList!=null && cmmDataList.size()>0){ cmmMapper.insertDataBatch(cmmDataList); } cmmMapper.updateById(cmm); } @Override public void updateByIdInBatch(List cmms) { if (CollectionUtils.isEmpty(cmms)) { return; } for (Cmm cmm: cmms) { this.updateById(cmm); } } @Override public Cmm findById(String id) { Cmm model =cmmMapper.selectById(id); if(model!=null){ model.setRevenueStr(Constants.formatBigdecimal(model.getRevenue()).intValue()+""); initCmmModelByData(model ); if(model.getAreaId() != null){ Areas area = areasService.findById(model.getAreaId(),Constants.TWO); if(area!=null){ model.setCityName(area.getCityName()); model.setCityId(area.getCityId()); } } } return model; } @Override public Cmm findOne(Cmm cmm) { QueryWrapper wrapper = new QueryWrapper<>(cmm); return cmmMapper.selectOne(wrapper.last(" limit 1")); } @Override public List findList(Cmm cmm) { QueryWrapper wrapper = new QueryWrapper<>(cmm); return cmmMapper.selectList(wrapper); } @Override public PageData findPage(PageWrap pageWrap) { IPage page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); QueryWrapper queryWrapper = new QueryWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); if (pageWrap.getModel().getId() != null) { queryWrapper.lambda().eq(Cmm::getId, pageWrap.getModel().getId()); } if (pageWrap.getModel().getCreator() != null) { queryWrapper.lambda().eq(Cmm::getCreator, pageWrap.getModel().getCreator()); } if (pageWrap.getModel().getCreateDate() != null) { queryWrapper.lambda().ge(Cmm::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); queryWrapper.lambda().le(Cmm::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); } if (pageWrap.getModel().getEditor() != null) { queryWrapper.lambda().eq(Cmm::getEditor, pageWrap.getModel().getEditor()); } if (pageWrap.getModel().getEditDate() != null) { queryWrapper.lambda().ge(Cmm::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); queryWrapper.lambda().le(Cmm::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); } if (pageWrap.getModel().getIsdeleted() != null) { queryWrapper.lambda().eq(Cmm::getIsdeleted, pageWrap.getModel().getIsdeleted()); } if (pageWrap.getModel().getRemark() != null) { queryWrapper.lambda().eq(Cmm::getRemark, pageWrap.getModel().getRemark()); } if (pageWrap.getModel().getName() != null) { queryWrapper.lambda().like(Cmm::getName, pageWrap.getModel().getName()); } if (pageWrap.getModel().getServeOrg() != null) { queryWrapper.lambda().eq(Cmm::getServeOrg, pageWrap.getModel().getServeOrg()); } if (pageWrap.getModel().getIndustry() != null) { queryWrapper.lambda().eq(Cmm::getIndustry, pageWrap.getModel().getIndustry()); } if (pageWrap.getModel().getAreaId() != null) { queryWrapper.lambda().eq(Cmm::getAreaId, pageWrap.getModel().getAreaId()); } if (pageWrap.getModel().getAreaname() != null) { queryWrapper.lambda().eq(Cmm::getAreaname, pageWrap.getModel().getAreaname()); } if (pageWrap.getModel().getRevenue() != null) { queryWrapper.lambda().eq(Cmm::getRevenue, pageWrap.getModel().getRevenue()); } if (pageWrap.getModel().getDiagnoseType() != null) { queryWrapper.lambda().eq(Cmm::getDiagnoseType, pageWrap.getModel().getDiagnoseType()); } if (pageWrap.getModel().getLevel() != null) { queryWrapper.lambda().eq(Cmm::getLevel, pageWrap.getModel().getLevel()); } for(PageWrap.SortData sortData: pageWrap.getSorts()) { if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { queryWrapper.orderByDesc(sortData.getProperty()); } else { queryWrapper.orderByAsc(sortData.getProperty()); } } queryWrapper.lambda().orderByDesc(Cmm::getCreateDate); queryWrapper.lambda().orderByAsc(Cmm::getRemark); IPage result = cmmMapper.selectPage(page, queryWrapper); if(result.getRecords()!=null ){ int num =1; for(Cmm model : result.getRecords()){ model.setRevenueStr(Constants.formatBigdecimal(model.getRevenue()).intValue()+""); model.setRemark(num+""); initCmmModelByData(model ); if(model.getAreaId() != null){ Areas area = areasService.findById(model.getAreaId(),Constants.TWO); if(area!=null){ model.setCityName(area.getCityName()); model.setCityId(area.getCityId()); } } num++; } } return PageData.from(result); } private void initCmmModelByData(Cmm model ) { //查询数据行数据信息 CmmData d = new CmmData(); d.setIsdeleted(Constants.ZERO); d.setCmmId(model.getId()); List dataList = cmmDataMapper.selectList(new QueryWrapper<>(d)); if(dataList!=null){ for(CmmData data : dataList){ try { Field field = model.getClass().getDeclaredField("data"+data.getType()); if(field!=null){ field.setAccessible(true); field.set(model,Constants.formatBigdecimal(data.getVal()).doubleValue()+""); } } catch (Exception e) { throw new RuntimeException(e); } } } } @Override public CmmNumVo levelCount(Cmm cmm) { CmmNumVo result = new CmmNumVo(); LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); validUserType(user); if(Constants.formatIntegerNum(user.getType()) == Constants.UserType.AREA.getKey()){ //如果是县区用户,只能查看当前县区下的数据 if(user.getAreaId() == null){ return result; } cmm.setAreaId(user.getAreaId()); } QueryWrapper wrapper = new QueryWrapper<>(cmm); wrapper.select("level as level,count(id) as num"); wrapper.lambda().eq(cmm.getAreaId() != null, Cmm::getAreaId, cmm.getAreaId()); wrapper.lambda().eq(cmm.getIndustry() != null, Cmm::getIndustry, cmm.getIndustry()); wrapper.lambda().eq( Cmm::getIsdeleted, Constants.ZERO); wrapper.lambda().groupBy(Cmm::getLevel); List list= cmmMapper.selectList(wrapper); if(list !=null){ for(Cmm m : list){ result.setCompanyNum(result.getCompanyNum()+ Constants.formatIntegerNum(m.getNum())); if(StringUtils.equals(m.getLevel(), "一级")){ result.setOneNum(result.getOneNum()+ Constants.formatIntegerNum(m.getNum())); }else if(StringUtils.equals(m.getLevel(), "二级")){ result.setTwoNum(result.getTwoNum()+ Constants.formatIntegerNum(m.getNum())); }else if(StringUtils.equals(m.getLevel(), "三级")){ result.setThreeNum(result.getThreeNum()+ Constants.formatIntegerNum(m.getNum())); }else if(StringUtils.equals(m.getLevel(), "四级")){ result.setFourNum(result.getFourNum()+ Constants.formatIntegerNum(m.getNum())); }else{//未达标 result.setZeroNum(result.getZeroNum()+ Constants.formatIntegerNum(m.getNum())); } } } return result; } @Override public List industryDataCount(Cmm cmm){ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); validUserType(user); if(Constants.formatIntegerNum(user.getType()) == Constants.UserType.AREA.getKey()){ //如果是县区用户,只能查看当前县区下的数据 if(user.getAreaId() == null){ return new ArrayList<>(); } cmm.setAreaId(user.getAreaId()); } if(cmm.getType() == null || cmm.getType()<0 || cmm.getType()>8){ cmm.setType(8);//默认总得分 } List result= cmmMapper.industryDataCount(cmm); if(result !=null){ for (CmmIndustryVo m : result){ cmm.setIndustry(m.getIndustry()); m.setLevel(levelCount(cmm)); } } return result; } @Override public List areasDataCount(Cmm cmm) { LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); if (!(Constants.formatIntegerNum(user.getType()) == Constants.UserType.SJ.getKey() ||Constants.formatIntegerNum(user.getType()) == Constants.UserType.SD_ADMIN.getKey() ||Constants.formatIntegerNum(user.getType()) == Constants.UserType.SD_CHILD.getKey() ||Constants.formatIntegerNum(user.getType()) == Constants.UserType.SYSTEM.getKey() ||Constants.formatIntegerNum(user.getType()) == Constants.UserType.SJ_CHILD.getKey() )){ throw new BusinessException(ResponseStatus.NOT_ALLOWED); } List result= cmmMapper.dataCountByAreas(cmm); return result; } @Override public List areasLevelDataCount(Cmm cmm) { LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); if (!(Constants.formatIntegerNum(user.getType()) == Constants.UserType.SJ.getKey() ||Constants.formatIntegerNum(user.getType()) == Constants.UserType.SD_ADMIN.getKey() ||Constants.formatIntegerNum(user.getType()) == Constants.UserType.SD_CHILD.getKey() ||Constants.formatIntegerNum(user.getType()) == Constants.UserType.SJ_CHILD.getKey() ||Constants.formatIntegerNum(user.getType()) == Constants.UserType.SYSTEM.getKey() )){ throw new BusinessException(ResponseStatus.NOT_ALLOWED); } List list= cmmMapper.dataCountByAreasLevel(cmm); List result = new ArrayList<>(); if(list!=null){ for(Cmm model: list ){ CmmAreaLevelVo t = getFromListByAreaId(model.getAreaId(),result); if(t == null){ //如果没加入过 t = new CmmAreaLevelVo(); t.setAreaId(model.getAreaId()); t.setAreaname(model.getAreaname()); for(Cmm mm: list ){ //先统计企业总数量 if(Constants.formatIntegerNum(t.getAreaId()) ==Constants.formatIntegerNum(mm.getAreaId())){ t.setCompanyNum(t.getCompanyNum()+Constants.formatIntegerNum(mm.getNum())); } } t.setLevel(initAreaLevelModel(t.getAreaId(),t.getCompanyNum(),list)); result.add(t); } } } return result; } private CmmRateVo initAreaLevelModel(Integer areaId,int total,List list) { CmmRateVo result = new CmmRateVo(); result.setOneRate(new BigDecimal(0.00)); result.setTwoRate(new BigDecimal(0.00)); result.setThreeRate(new BigDecimal(0.00)); result.setFourRate(new BigDecimal(0.00)); result.setZeroRate(new BigDecimal(0.00)); if(total > 0){ for(Cmm m: list ){ //再次循环获取各个等级的数据 if(Constants.formatIntegerNum(areaId) == Constants.formatIntegerNum(m.getAreaId())){ if(StringUtils.equals(m.getLevel(), "一级")){ result.setOneRate(new BigDecimal(Constants.formatIntegerNum(m.getNum())).multiply(new BigDecimal(100)).divide(new BigDecimal(total), 2, RoundingMode.FLOOR) ); }else if(StringUtils.equals(m.getLevel(), "二级")){ result.setTwoRate(new BigDecimal(Constants.formatIntegerNum(m.getNum())).multiply(new BigDecimal(100)).divide(new BigDecimal(total), 2, RoundingMode.FLOOR) ); }else if(StringUtils.equals(m.getLevel(), "三级")){ result.setThreeRate(new BigDecimal(Constants.formatIntegerNum(m.getNum())).multiply(new BigDecimal(100)).divide(new BigDecimal(total), 2, RoundingMode.FLOOR) ); }else if(StringUtils.equals(m.getLevel(), "四级")){ result.setFourRate(new BigDecimal(Constants.formatIntegerNum(m.getNum())).multiply(new BigDecimal(100)).divide(new BigDecimal(total), 2, RoundingMode.FLOOR) ); }else{//未达标 result.setZeroRate(new BigDecimal(Constants.formatIntegerNum(m.getNum())).multiply(new BigDecimal(100)).divide(new BigDecimal(total), 2, RoundingMode.FLOOR) ); } } } } return result; } private CmmAreaLevelVo getFromListByAreaId(Integer areaId, List result ) { if(result !=null){ for(CmmAreaLevelVo model :result){ if(Constants.formatIntegerNum(areaId) ==Constants.formatIntegerNum(model.getAreaId())){ return model; } } } return null; } @Override public List parentAreaCount(Cmm cmm) { List result =getAreaCountList(0,7,cmm); return result; } @Override public List industryAreaDataCount(Cmm cmm) { if(cmm.getIndustryList() == null || cmm.getIndustryList().size()==0){ //行业数据不能为空 return new ArrayList<>(); } List result =getAreaCountList(0,7,cmm); return result; } @Override public List industryNdDataCount(Cmm cmm) { if(cmm.getIndustryList() == null || cmm.getIndustryList().size()==0){ //行业数据不能为空 return new ArrayList<>(); } LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); validUserType(user); if(Constants.formatIntegerNum(user.getType()) == Constants.UserType.AREA.getKey()){ //如果是县区用户,只能查看当前县区下的数据 if(user.getAreaId() == null){ return new ArrayList<>(); } cmm.setAreaId(user.getAreaId()); } if(cmm.getType() == null || cmm.getType()<0 || cmm.getType()>8){ cmm.setType(8);//默认总得分 } List result= cmmMapper.selectScoreByType(cmm); return result; } @Override public List ndDataCount(Cmm cmm) { LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); validUserType(user); if(Constants.formatIntegerNum(user.getType()) == Constants.UserType.AREA.getKey()){ //如果是县区用户,只能查看当前县区下的数据 if(user.getAreaId() == null){ return new ArrayList<>(); } cmm.setAreaId(user.getAreaId()); } if(cmm.getType() == null || cmm.getType()<0 || cmm.getType()>8){ cmm.setType(8);//默认总得分 } List result= cmmMapper.selectScoreByType(cmm); return result; } @Override public List childAreaCount(Cmm cmm) { List result =getAreaCountList(9,28,cmm); return result; } private List getAreaCountList(int start, int end, Cmm cmm) { LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); validUserType(user); if(Constants.formatIntegerNum(user.getType()) == Constants.UserType.AREA.getKey()){ //如果是县区用户,只能查看当前县区下的数据 if(user.getAreaId() == null){ return new ArrayList<>(); } cmm.setAreaId(user.getAreaId()); } cmm.setTypeList(new ArrayList<>()); // 0人员 1技术 2资源 3设计4生产 5物流 6销售 7服务 for(int i=start;i<=end;i++){ cmm.getTypeList().add(i); } List list= cmmMapper.areaDataCount(cmm); List result = new ArrayList<>(); for(int i=start;i<=end;i++){ CmmAreaVo t = getFromListByType(i,list); if(t ==null){ t = new CmmAreaVo(); } t.setLabelName(getLableNameByType(i)); t.setAvgScore(Constants.formatBigdecimal(t.getAvgScore())); t.setMaxScore(Constants.formatBigdecimal(t.getMaxScore())); t.setMinScore(Constants.formatBigdecimal(t.getMinScore())); result.add(t); } return result; } private CmmAreaVo getFromListByType(int i, List list) { if(list!=null){ for(CmmAreaVo model :list){ if(i == Constants.formatIntegerNum(model.getType())){ return model; } } } return null; } /** * '数据类型 0人员 1技术 2资源 3设计4生产 5物流 6销售 7服务 8总得分 9组织战略 10人员技能 11数据 12集成 14信息安全 * 14装备 15网络 16产品设计 17工艺设计 18采购 19计划与调度 20生产作业 21设备管理 22安全与环保 23仓储与配送 24能源管理 * 25物流(子域) 26销售(子域) 27客户服务 28产品服务 ', * @param type * @return */ public static String getLableNameByType(int type){ String[] lables = new String[]{"人员","技术","资源","设计","生产","物流","销售","服务","总得分","组织战略","人员技能","数据","集成","信息安全", "装备","网络","产品设计","工艺设计","采购","计划与调度","生产作业","设备管理","安全与环保","仓储与配送","能源管理","物流","销售","客户服务","产品服务"}; if(type < lables.length){ return lables[type]; } return null; } private void validUserType(LoginUserInfo user) { if (!(Constants.formatIntegerNum(user.getType()) == Constants.UserType.AREA.getKey() ||Constants.formatIntegerNum(user.getType()) == Constants.UserType.SJ.getKey() ||Constants.formatIntegerNum(user.getType()) == Constants.UserType.SD_ADMIN.getKey() ||Constants.formatIntegerNum(user.getType()) == Constants.UserType.SJ_CHILD.getKey() ||Constants.formatIntegerNum(user.getType()) == Constants.UserType.SD_CHILD.getKey() ||Constants.formatIntegerNum(user.getType()) == Constants.UserType.SYSTEM.getKey() )){ throw new BusinessException(ResponseStatus.NOT_ALLOWED); } } @Override public long count(Cmm cmm) { QueryWrapper wrapper = new QueryWrapper<>(cmm); return cmmMapper.selectCount(wrapper); } @Transactional(rollbackFor = {Exception.class, BusinessException.class}) @Override public Integer importBatch(MultipartFile file){ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); ExcelImporter ie = null; List dataList =null; try { ie = new ExcelImporter(file,2,0); dataList = ie.getDataList(Cmm.class,null); } catch (Exception e) { e.printStackTrace(); } if(dataList == null || dataList.size() ==0){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,录入数据为空!"); } List addList = new ArrayList<>(); List updateIdList = new ArrayList<>(); List updateList = new ArrayList<>(); List cmmDataList = new ArrayList<>(); for(int i=0;i0){ cmmMapper.insertBatch(addList); } if(updateList.size()>0){ if(updateIdList.size()>0){ //删除原有的数据信息 UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper.lambda().in(CmmData::getCmmId, updateIdList); cmmDataMapper.delete(updateWrapper); } //遍历更新所有新数据 for(Cmm cmm:updateList){ cmmMapper.updateById(cmm); } } if(cmmDataList.size()>0){ //批量插入数据行集合 cmmMapper.insertDataBatch(cmmDataList); } return 0; } private List initDataModelByParam(Cmm cmm) { List dataList = new ArrayList<>(); for (int i=0;i<=28;i++){ dataListAddModel(i,dataList,cmm); } // dataListAddModel(1,cmm.getData1(),dataList,cmm); // dataListAddModel(2,cmm.getData2(),dataList,cmm); // dataListAddModel(3,cmm.getData3(),dataList,cmm); // dataListAddModel(4,cmm.getData4(),dataList,cmm); // dataListAddModel(5,cmm.getData5(),dataList,cmm); // dataListAddModel(6,cmm.getData6(),dataList,cmm); // dataListAddModel(7,cmm.getData7(),dataList,cmm); // dataListAddModel(8,cmm.getData8(),dataList,cmm); // dataListAddModel(9,cmm.getData9(),dataList,cmm); // dataListAddModel(10,cmm.getData10(),dataList,cmm); // dataListAddModel(11,cmm.getData11(),dataList,cmm); // dataListAddModel(12,cmm.getData12(),dataList,cmm); // dataListAddModel(13,cmm.getData13(),dataList,cmm); // dataListAddModel(14,cmm.getData14(),dataList,cmm); // dataListAddModel(15,cmm.getData15(),dataList,cmm); // dataListAddModel(16,cmm.getData16(),dataList,cmm); // dataListAddModel(17,cmm.getData17(),dataList,cmm); // dataListAddModel(18,cmm.getData18(),dataList,cmm); // dataListAddModel(19,cmm.getData19(),dataList,cmm); // dataListAddModel(20,cmm.getData20(),dataList,cmm); // dataListAddModel(21,cmm.getData21(),dataList,cmm); // dataListAddModel(22,cmm.getData22(),dataList,cmm); // dataListAddModel(23,cmm.getData23(),dataList,cmm); // dataListAddModel(24,cmm.getData24(),dataList,cmm); // dataListAddModel(25,cmm.getData25(),dataList,cmm); // dataListAddModel(26,cmm.getData26(),dataList,cmm); // dataListAddModel(27,cmm.getData27(),dataList,cmm); // dataListAddModel(28,cmm.getData28(),dataList,cmm); return dataList; } private BigDecimal getDecimalByStr(String str){ BigDecimal val = null; try { val = BigDecimal.valueOf(Double.parseDouble(str)); }catch (Exception e){ } return val; } private void dataListAddModel(int i, String data0, List dataList,Cmm cmm) { BigDecimal val = null; try { val = BigDecimal.valueOf(Double.parseDouble(data0)); }catch (Exception e){ } if(val!=null){ CmmData model = new CmmData(); model.setId(UUID.randomUUID().toString()); model.setIsdeleted(Constants.ZERO); model.setCmmId(cmm.getId()); model.setCreator(cmm.getEditor()); model.setCreateDate(new Date()); model.setType(i); model.setVal(val); dataList.add(model); } } private void dataListAddModel(int i, List dataList,Cmm cmm) { BigDecimal val = null; String data0 = null; try { Field field = cmm.getClass().getDeclaredField("data"+i); if(field!=null){ field.setAccessible(true); data0 = (String) field.get(cmm); } val = BigDecimal.valueOf(Double.parseDouble(data0)); }catch (Exception e){ // e.printStackTrace(); } if(val!=null){ CmmData model = new CmmData(); model.setId(UUID.randomUUID().toString()); model.setIsdeleted(Constants.ZERO); model.setCmmId(cmm.getId()); model.setCreator(cmm.getEditor()); model.setCreateDate(new Date()); model.setType(i); model.setVal(val); dataList.add(model); } } }