package com.rzyc.controller; import com.alibaba.fastjson.JSONArray; import com.common.utils.AMAP.Amap; import com.common.utils.RandomNumber; import com.common.utils.StringUtils; import com.common.utils.TypeConversion; import com.common.utils.encryption.PasswdFactory; import com.common.utils.model.SingleResult; import com.rzyc.enums.DelState; import com.rzyc.model.*; import com.rzyc.model.check.ChkBillDetailWithBLOBs; import com.rzyc.model.ent.SysEnterprise; import com.rzyc.model.organization.OrgBatch; import com.rzyc.model.organization.OrgDanger; import com.rzyc.model.user.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.poi.ss.usermodel.*; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.FileReader; import java.util.*; @Api(tags = "数据处理") @Controller @CrossOrigin("*") @RequestMapping("data") public class DataController extends com.rzyc.controller.BaseController { /** * 功能区地区用户处理 * @param multipartFile * @return * @throws Exception */ @ApiOperation(value = "功能区地区用户处理", notes = "功能区地区用户处理") @RequestMapping(value = "/importAreaUser", method = RequestMethod.POST) @ResponseBody public SingleResult importAreaUser(@RequestBody MultipartFile multipartFile)throws Exception{ SingleResult result = new SingleResult<>(); handleAreaUser(multipartFile); return result; } /** * 街道导入驻村干部 * @param multipartFile * @throws Exception */ public void handleAreaUser(MultipartFile multipartFile)throws Exception{ if(null != multipartFile){ Workbook wookbook = WorkbookFactory.create(multipartFile.getInputStream()); Sheet sheet = wookbook.getSheetAt(0); DataFormatter dataFormatter = new DataFormatter(); //获得表头 Row rowHead = sheet.getRow(0); System.out.println("getPhysicalNumberOfCells -> "+rowHead.getPhysicalNumberOfCells()); //判断表头是否正确 if(true){ //获得数据的总行数 int totalRowNum = sheet.getLastRowNum(); if(totalRowNum > 0){ Boolean isSubject = true; String superId = "510114118000"; //获得所有数据 for(int i = 1 ; i <= totalRowNum ; i++) { int index = i + 1; //获得第i行对象 Row row = sheet.getRow(i); if (null == row) { break; } String netName = ""; String chinaNames = ""; Cell cell = row.getCell((short) 0); if (null != cell) { netName = dataFormatter.formatCellValue(cell); } cell = row.getCell((short) 1); if (null != cell) { chinaNames = dataFormatter.formatCellValue(cell); } netName = StringUtils.replaceBlank(netName); chinaNames = StringUtils.replaceBlank(chinaNames); System.out.println(netName + "-" + chinaNames); SysOrg sysOrg = sysOrgMapper.findByName(netName,superId); if(null == sysOrg){ sysOrg = new SysOrg(); sysOrg.setOrgcode(RandomNumber.getUUid()); sysOrg.setOrgname(netName); sysOrg.setOrglevel(4); sysOrg.setSuperiororgcode(superId); sysOrg.setCreatedby("导入"); sysOrg.setCreatedon(new Date()); sysOrg.setModifiedby("导入"); sysOrg.setModifiedon(new Date()); sysOrgMapper.insert(sysOrg); } String[] strs = chinaNames.split("、"); if(null != strs && strs.length > 0){ for (String str : strs){ SysUser sysUser = sysUserMapper.findByStreet(superId,str); if(null != sysUser){ sysUserMapper.changeCommunityCode(sysUser.getSysuserid(),sysOrg.getOrgcode()); } } } } } } } } /** * 功能区地区企业处理 * @param multipartFile * @return * @throws Exception */ @ApiOperation(value = "功能区地区企业处理", notes = "功能区地区企业处理") @RequestMapping(value = "/importAreaEnt", method = RequestMethod.POST) @ResponseBody public SingleResult importAreaEnt(@RequestBody MultipartFile multipartFile)throws Exception{ SingleResult result = new SingleResult<>(); handleAreaEnt(multipartFile); return result; } /** * 街道导入驻村干部 * @param multipartFile * @throws Exception */ public void handleAreaEnt(MultipartFile multipartFile)throws Exception{ if(null != multipartFile){ Workbook wookbook = WorkbookFactory.create(multipartFile.getInputStream()); Sheet sheet = wookbook.getSheetAt(0); DataFormatter dataFormatter = new DataFormatter(); //获得表头 Row rowHead = sheet.getRow(0); System.out.println("getPhysicalNumberOfCells -> "+rowHead.getPhysicalNumberOfCells()); //判断表头是否正确 if(true){ //获得数据的总行数 int totalRowNum = sheet.getLastRowNum(); if(totalRowNum > 0){ Boolean isSubject = true; String superId = "510114118000"; //获得所有数据 for(int i = 1 ; i <= totalRowNum ; i++) { int index = i + 1; //获得第i行对象 Row row = sheet.getRow(i); if (null == row) { break; } String netName = ""; String entName = ""; Cell cell = row.getCell((short) 0); if (null != cell) { netName = dataFormatter.formatCellValue(cell); } cell = row.getCell((short) 1); if (null != cell) { entName = dataFormatter.formatCellValue(cell); } netName = StringUtils.replaceBlank(netName); entName = StringUtils.replaceBlank(entName); System.out.println(netName + "-" + entName); SysOrg sysOrg = sysOrgMapper.findByName(netName,superId); if(null == sysOrg){ sysOrg = new SysOrg(); sysOrg.setOrgcode(RandomNumber.getUUid()); sysOrg.setOrgname(netName); sysOrg.setOrglevel(4); sysOrg.setSuperiororgcode(superId); sysOrg.setCreatedby("导入"); sysOrg.setCreatedon(new Date()); sysOrg.setModifiedby("导入"); sysOrg.setModifiedon(new Date()); sysOrgMapper.insert(sysOrg); } if(StringUtils.isNotBlank(entName)){ SysEnterprise enterprise = sysEnterpriseMapper.findByName(entName); if(null != enterprise && superId.equals(enterprise.getStreetCode())){ sysEnterpriseMapper.changeCommunityCode(enterprise.getSysenterpriseid(),sysOrg.getOrgcode()); } } } } } } } /** * 石板滩用户责任树 * @param multipartFile * @return * @throws Exception */ @ApiOperation(value = "石板滩用户责任树", notes = "石板滩用户责任树") @RequestMapping(value = "/userDutyTree", method = RequestMethod.POST) @ResponseBody public SingleResult userDutyTree(@RequestBody MultipartFile multipartFile)throws Exception{ SingleResult result = new SingleResult<>(); handleUserDutyTree(multipartFile); return result; } /** * 街道导入驻村干部 * @param multipartFile * @throws Exception */ public void handleUserDutyTree(MultipartFile multipartFile)throws Exception{ if(null != multipartFile){ Workbook wookbook = WorkbookFactory.create(multipartFile.getInputStream()); Sheet sheet = wookbook.getSheetAt(0); DataFormatter dataFormatter = new DataFormatter(); //获得表头 Row rowHead = sheet.getRow(0); System.out.println("getPhysicalNumberOfCells -> "+rowHead.getPhysicalNumberOfCells()); //判断表头是否正确 if(true){ //获得数据的总行数 int totalRowNum = sheet.getLastRowNum(); if(totalRowNum > 0){ Boolean isSubject = true; String superId = "510114102000"; String leaderUserName = ""; SysUser leaderUser = new SysUser(); //获得所有数据 for(int i = 1 ; i <= totalRowNum ; i++) { int index = i + 1; //获得第i行对象 Row row = sheet.getRow(i); if (null == row) { break; } String userName = ""; String mobile = ""; Cell cell = row.getCell((short) 0); if (null != cell) { String leaderStr = dataFormatter.formatCellValue(cell); if(StringUtils.isNotBlank(leaderStr)){ leaderUserName = leaderStr; leaderUser = sysUserMapper.findBySysUserName(leaderUserName); } } cell = row.getCell((short) 1); if (null != cell) { userName = dataFormatter.formatCellValue(cell); } cell = row.getCell((short) 2); if (null != cell) { mobile = dataFormatter.formatCellValue(cell); } leaderUserName = StringUtils.replaceBlank(leaderUserName); userName = StringUtils.replaceBlank(userName); mobile = StringUtils.replaceBlank(mobile); if(null != leaderUser){ System.out.println(leaderUserName + " - " + userName+" - "+mobile); System.out.println("laader ---------------> "+leaderUser.getSysuserid()); SysUser sysUser = sysUserMapper.findByStreetAndName(superId,userName,mobile); if(null != sysUser){ DutyTree dutyTree = new DutyTree(); dutyTree.setDutyTreeId(RandomNumber.getUUid()); dutyTree.setUserId(leaderUser.getSysuserid()); dutyTree.setTargetId(sysUser.getSysuserid()); dutyTree.setTargetType(1); dutyTree.setModified("导入"); dutyTree.setModifyTime(new Date()); dutyTree.setCreated("导入"); dutyTree.setCreateTime(new Date()); dutyTreeMapper.insert(dutyTree); } } System.out.println(); } } } } } /** * 石板滩企业责任树 * @param multipartFile * @return * @throws Exception */ @ApiOperation(value = "石板滩企业责任树", notes = "石板滩企业责任树") @RequestMapping(value = "/entDutyTree", method = RequestMethod.POST) @ResponseBody public SingleResult entDutyTree(@RequestBody MultipartFile multipartFile)throws Exception{ SingleResult result = new SingleResult<>(); handleEntDutyTree(multipartFile); return result; } /** * 街道导入驻村干部 * @param multipartFile * @throws Exception */ public void handleEntDutyTree(MultipartFile multipartFile)throws Exception{ if(null != multipartFile){ Workbook wookbook = WorkbookFactory.create(multipartFile.getInputStream()); Sheet sheet = wookbook.getSheetAt(0); DataFormatter dataFormatter = new DataFormatter(); //获得表头 Row rowHead = sheet.getRow(0); System.out.println("getPhysicalNumberOfCells -> "+rowHead.getPhysicalNumberOfCells()); //判断表头是否正确 if(true){ //获得数据的总行数 int totalRowNum = sheet.getLastRowNum(); if(totalRowNum > 0){ Boolean isSubject = true; String superId = "510114102000"; //获得所有数据 for(int i = 1 ; i <= totalRowNum ; i++) { int index = i + 1; //获得第i行对象 Row row = sheet.getRow(i); if (null == row) { break; } String userName = ""; String mobile = ""; Cell cell = row.getCell((short) 1); if (null != cell) { userName = dataFormatter.formatCellValue(cell); } cell = row.getCell((short) 2); if (null != cell) { mobile = dataFormatter.formatCellValue(cell); } userName = StringUtils.replaceBlank(userName); mobile = StringUtils.replaceBlank(mobile); List entNames = new ArrayList<>(); for (int j = 3;j<=24;j++){ cell = row.getCell((short) j); if (null != cell) { String entName = dataFormatter.formatCellValue(cell); if(StringUtils.isNotBlank(entName)){ entName = StringUtils.replaceBlank(entName); entNames.add(entName); } } } System.out.println(userName+" - "+mobile); System.out.println("entNames -> "+JSONArray.toJSONString(entNames)); SysUser sysUser = sysUserMapper.findByStreetAndName(superId,userName,mobile); if(null != sysUser){ for (String entName : entNames){ SysEnterprise enterprise = sysEnterpriseMapper.findByName(entName); if(null != enterprise){ DutyTree dutyTree = new DutyTree(); dutyTree.setDutyTreeId(RandomNumber.getUUid()); dutyTree.setUserId(sysUser.getSysuserid()); dutyTree.setTargetId(enterprise.getSysenterpriseid()); dutyTree.setTargetType(2); dutyTree.setModified("导入"); dutyTree.setModifyTime(new Date()); dutyTree.setCreated("导入"); dutyTree.setCreateTime(new Date()); dutyTreeMapper.insert(dutyTree); } } } System.out.println(); } } } } } @ApiOperation(value = "履职处理", notes = "履职处理") @RequestMapping(value = "/handleFactor", method = RequestMethod.POST) @ResponseBody public SingleResult handleFactor()throws Exception{ SingleResult result = new SingleResult<>(); //超级管理员 String userId = "8D35010B-EB9A-40EE-BDEB-CDAE969D5EF4"; Integer nowYear = Calendar.getInstance().get(Calendar.YEAR); Integer lastYear = nowYear - 1; System.out.println("nowYear -> "+nowYear); System.out.println("lastYear -> "+lastYear); List listFactors = listFactorMapper.findBySysYear(lastYear+""); for(ListFactor listFactor : listFactors){ listFactor.setListfactorid(RandomNumber.getUUid()); listFactor.setIsfinish("否"); listFactor.setFinishProgres(0+""); listFactor.setSysyear(nowYear+""); listFactor.setDelState(DelState.NOT_DEL.getState()); listFactor.setCreatedby("导入"); listFactor.setCreatedon(new Date()); listFactor.setModifiedby("导入"); listFactor.setModifiedon(new Date()); listFactorMapper.insert(listFactor); addFactorTask(listFactor,userId); } return result; } @ApiOperation(value = "三方机构隐患", notes = "三方机构隐患") @RequestMapping(value = "/handleDanger", method = RequestMethod.POST) @ResponseBody public SingleResult handleDanger()throws Exception{ SingleResult result = new SingleResult<>(); List orgDangers = orgDangerMapper.findAll(); for(OrgDanger orgDanger : orgDangers){ System.out.println("-------------> "+orgDanger.getContent()); OrgBatch orgBatch = orgBatchMapper.findById(orgDanger.getBatchId()); if(null == orgBatch){ orgBatch = new OrgBatch(); orgBatch.setBatchId(orgDanger.getBatchId()); orgBatch.setUserId(orgDanger.getCreated()); orgBatch.setEnterpriseId(orgDanger.getEnterpriseId()); orgBatch.setOrganizationId(orgDanger.getOrganizationId()); orgBatch.setOrgType(1); orgBatch.setCreated(orgDanger.getCreated()); orgBatch.setCreateTime(orgDanger.getCreateTime()); orgBatch.setModify(orgDanger.getCreated()); orgBatch.setModifyTime(orgDanger.getCreateTime()); orgBatchMapper.insert(orgBatch); } } return result; } /** * 导入模板 * @version v1.0 * @author dong * @date 2022/8/5 13:36 */ @ApiOperation(value = "导入模板", notes = "导入模板") @RequestMapping(value = "/addTemp", method = RequestMethod.GET) @ResponseBody public SingleResult addTemp()throws Exception{ SingleResult result = new SingleResult<>(); String path = "C:\\mnt\\resource\\citysafexc\\documenttemp"; File file = new File(path); File[] tempList = file.listFiles(); for (int i = 0; i < tempList.length; i++) { if (tempList[i].isFile()) { String name = tempList[i].getName(); String sortStr = name.substring(0,2); SysDocumenttemp temp = new SysDocumenttemp(); temp.setTempId(RandomNumber.getUUid()); temp.setCreateTime(new Date()); temp.setModifyTime(new Date()); temp.setCreateBy("excel"); temp.setModifyBy("excel"); temp.setTempName(name); temp.setSortId(TypeConversion.StringToInteger(sortStr)); temp.setTempPath("resource/citysafexc/documenttemp/"+name); sysDocumenttempMapper.insert(temp); } } return result; } /** * 修改密码 * @version v1.0 * @author dong * @date 2022/8/5 13:36 */ @ApiOperation(value = "修改密码", notes = "修改密码") @RequestMapping(value = "/changePasswd", method = RequestMethod.GET) @ResponseBody public SingleResult changePasswd()throws Exception{ SingleResult result = new SingleResult<>(); List sysUsers = sysUserMapper.findAll(); if(null != sysUsers && sysUsers.size() > 0){ for (SysUser sysUser : sysUsers){ sysUserMapper.changePassword(sysUser.getSysuserid(), PasswdFactory.encryptPasswd(sysUser.getSysuserid(),"",constantsConfigure.getDefaultPasswd())); } } return result; } /** * 地区处理 * @version v1.0 * @author dong * @date 2022/10/28 10:49 */ @ApiOperation(value = "地区处理", notes = "地区处理") @RequestMapping(value = "/orgData", method = RequestMethod.GET) @ResponseBody public SingleResult orgData(Integer level)throws Exception{ SingleResult result = new SingleResult<>(); List sysOrgs = sysOrgMapper.findByLevel(level); for (SysOrg sysOrg : sysOrgs){ changePath(sysOrg.getOrgcode()); } return result; } /** * 处理地区信息 * @version v1.0 * @author dong * @date 2022/10/28 11:01 */ private void changePath(String orgCode)throws Exception{ SysOrg sysOrg = sysOrgMapper.selectById(orgCode); if(null != sysOrg){ if(StringUtils.isNotBlank(sysOrg.getSuperiororgcode())){ SysOrg superOrg = sysOrgMapper.selectById(sysOrg.getSuperiororgcode()); if(null != superOrg){ sysOrg.setParentName(superOrg.getParentName()+","+sysOrg.getOrgname()); sysOrg.setParentPath(superOrg.getParentPath()+","+sysOrg.getOrgcode()); } }else{ sysOrg.setParentName(sysOrg.getOrgname()); sysOrg.setParentPath(sysOrg.getOrgcode()); } SysOrg org = new SysOrg(); org.setOrgcode(sysOrg.getOrgcode()); org.setParentName(sysOrg.getParentName()); org.setParentPath(sysOrg.getParentPath()); sysOrgMapper.updateById(org); } } @ApiOperation(value = "导入岗位", notes = "导入岗位") @RequestMapping(value = "/importPost", method = RequestMethod.POST) @ResponseBody public SingleResult importPost(@RequestBody MultipartFile multipartFile)throws Exception{ SingleResult result = new SingleResult<>(); Workbook wookbook = WorkbookFactory.create(multipartFile.getInputStream()); Sheet sheet = wookbook.getSheetAt(0); //获得表头 Row rowHead = sheet.getRow(0); System.out.println("getPhysicalNumberOfCells -> "+rowHead.getPhysicalNumberOfCells()); //判断表头是否正确 if(true){ //获得数据的总行数 int totalRowNum = sheet.getLastRowNum(); if(totalRowNum > 0){ Boolean isSubject = true; DataFormatter dataFormatter = new DataFormatter(); Map sortMap = new LinkedHashMap<>(); Map workDivisionMap = new HashMap<>(); Map performNameMap = new HashMap<>(); Map> dutyMap = new HashMap<>(); Integer index = 1; String unitNameStr = ""; String postNameStr = ""; String sortStrStr = ""; //获得所有数据 for(int i = 1 ; i <= totalRowNum ; i++){ //获得第i行对象 Row row = sheet.getRow(i); if(null == row){ break; } String unitName = ""; String postName = ""; String sortStr = ""; String workDivision = ""; String dutyList = ""; String performList = ""; String performName = ""; String mapKey = ""; Cell cell = row.getCell((short)0); unitName = dataFormatter.formatCellValue(cell); if(StringUtils.isBlank(unitName)){ unitName = unitNameStr; }else{ unitNameStr = unitName; } cell = row.getCell((short)1); postName = dataFormatter.formatCellValue(cell); if(StringUtils.isBlank(postName)){ postName = postNameStr; }else{ postNameStr = postName; } mapKey = unitName + "---"+postName; cell = row.getCell((short)2); sortStr = dataFormatter.formatCellValue(cell); if(StringUtils.isBlank(sortStr)){ sortStr = sortStrStr; }else{ sortStrStr = sortStr; } mapKey = unitName + "---"+postName+"---"+sortStrStr; sortMap.put(mapKey,sortStr); cell = row.getCell((short)3); workDivision = dataFormatter.formatCellValue(cell); if(StringUtils.isNotBlank(workDivision)){ workDivisionMap.put(mapKey,workDivision); } cell = row.getCell((short)4); dutyList = dataFormatter.formatCellValue(cell); if(StringUtils.isNotBlank(dutyList)){ List dutys = new LinkedList<>(); if(dutyMap.containsKey(mapKey)){ dutys = dutyMap.get(mapKey); } dutys.add(dutyList); dutyMap.put(mapKey,dutys); } cell = row.getCell((short)5); performList = dataFormatter.formatCellValue(cell); cell = row.getCell((short)6); performName = dataFormatter.formatCellValue(cell); if(StringUtils.isNotBlank(performName)){ performNameMap.put(mapKey,performName); } // System.out.println("-----------------"+index); // System.out.println(unitName); // System.out.println(postName); // System.out.println(sortStr); // System.out.println(dutyList); index++; } for (Map.Entry entry : sortMap.entrySet()){ System.out.println("部门岗位 -》 "+entry.getKey()); System.out.println("排序 -》 "+entry.getValue()); System.out.println("工作分工 -》 "+workDivisionMap.get(entry.getKey())); System.out.println("责任人 -》 "+performNameMap.get(entry.getKey())); System.out.println("职责清单 -》 "+JSONArray.toJSONString(dutyMap.get(entry.getKey()))); String[] strs = entry.getKey().split("---"); ListPerform superPerform = listPerformMapper.findByName(strs[0],"5bd164aa-dd43-45e3-a5a2-649bb2fd9fb9"); if(null != superPerform){ ListPerform listPerform = new ListPerform(); listPerform.setListperformid(RandomNumber.getUUid()); listPerform.setSyslevel(superPerform.getSyslevel()+1); listPerform.setPerformclassname(strs[1]); listPerform.setPerformName(performNameMap.get(entry.getKey())); listPerform.setSortid(TypeConversion.StringToInteger(entry.getValue())); listPerform.setSupclassid(superPerform.getListperformid()); listPerform.setCompletion("0"); listPerform.setParentPath(superPerform.getParentPath()+","+listPerform.getListperformid()); listPerform.setParentName(superPerform.getParentName()+","+listPerform.getPerformclassname()); listPerform.setCreatedby("excel"); listPerform.setModifiedby("excel"); listPerform.setCreatedon(new Date()); listPerform.setModifiedon(new Date()); listPerformMapper.insert(listPerform); List dutyLists = dutyMap.get(entry.getKey()); if(null != dutyLists && dutyLists.size() > 0){ Integer sortId = 1; for (String dutyStr : dutyLists){ ListSafeWithBLOBs listSafe = new ListSafeWithBLOBs(); listSafe.setListsafeid(RandomNumber.getUUid()); listSafe.setListperformid(listPerform.getListperformid()); listSafe.setSortid(sortId); listSafe.setSafeduty(dutyStr); listSafe.setCreatedby("excel"); listSafe.setModifiedby("excel"); listSafe.setCreatedon(new Date()); listSafe.setModifiedon(new Date()); listSafeMapper.insert(listSafe); sortId++; } } } System.out.println(); } } } return result; } @ApiOperation(value = "导入岗位履职清单", notes = "导入岗位履职清单") @RequestMapping(value = "/importFactor", method = RequestMethod.POST) @ResponseBody public SingleResult importFactor(@RequestBody MultipartFile multipartFile)throws Exception{ SingleResult result = new SingleResult<>(); Workbook wookbook = WorkbookFactory.create(multipartFile.getInputStream()); Sheet sheet = wookbook.getSheetAt(0); //获得表头 Row rowHead = sheet.getRow(0); System.out.println("getPhysicalNumberOfCells -> "+rowHead.getPhysicalNumberOfCells()); //判断表头是否正确 if(true){ //获得数据的总行数 int totalRowNum = sheet.getLastRowNum(); if(totalRowNum > 0){ Boolean isSubject = true; DataFormatter dataFormatter = new DataFormatter(); Map sortMap = new LinkedHashMap<>(); Map workDivisionMap = new HashMap<>(); Map performNameMap = new HashMap<>(); Map> dutyMap = new HashMap<>(); Integer index = 1; String unitNameStr = ""; String postNameStr = ""; String sortStrStr = ""; //获得所有数据 for(int i = 1 ; i <= totalRowNum ; i++){ //获得第i行对象 Row row = sheet.getRow(i); if(null == row){ break; } String unitName = ""; String postName = ""; String sortStr = ""; String workDivision = ""; String dutyList = ""; String performList = ""; String performName = ""; String checkstandardStr = ""; String frequency = ""; String mapKey = ""; Cell cell = row.getCell((short)0); unitName = dataFormatter.formatCellValue(cell); if(StringUtils.isBlank(unitName)){ unitName = unitNameStr; }else{ unitNameStr = unitName; } cell = row.getCell((short)1); postName = dataFormatter.formatCellValue(cell); if(StringUtils.isBlank(postName)){ postName = postNameStr; }else{ postNameStr = postName; } mapKey = unitName + "---"+postName; cell = row.getCell((short)2); sortStr = dataFormatter.formatCellValue(cell); if(StringUtils.isBlank(sortStr)){ sortStr = sortStrStr; }else{ sortStrStr = sortStr; } cell = row.getCell((short)3); workDivision = dataFormatter.formatCellValue(cell); if(StringUtils.isNotBlank(workDivision)){ workDivisionMap.put(mapKey,workDivision); } cell = row.getCell((short)4); dutyList = dataFormatter.formatCellValue(cell); cell = row.getCell((short)5); performList = dataFormatter.formatCellValue(cell); cell = row.getCell((short)6); checkstandardStr = dataFormatter.formatCellValue(cell); if(StringUtils.isBlank(checkstandardStr)){ checkstandardStr = "每年"; } cell = row.getCell((short)7); frequency = dataFormatter.formatCellValue(cell); if(null != frequency){ frequency = 1+""; } if(StringUtils.isBlank(performList)){ performList = dutyList; } System.out.println("-----------------"+index); System.out.println(unitName); System.out.println(postName); System.out.println(sortStr); System.out.println(performList); System.out.println(checkstandardStr); System.out.println(frequency); Integer checkstandard = 1; if("每年".equals(checkstandardStr)){ checkstandard = 1; }else if("每半年".equals(checkstandardStr)){ checkstandard = 2; }else if("每季度".equals(checkstandardStr)){ checkstandard = 4; }else if("每月".equals(checkstandardStr)){ checkstandard = 12; } System.out.println("checkstandard -------> "+checkstandard); System.out.println("frequency -------> "+TypeConversion.StringToInteger(frequency)); ListPerform superPerform = listPerformMapper.findByName(unitName,"5bd164aa-dd43-45e3-a5a2-649bb2fd9fb9"); if(null != superPerform){ ListPerform listPerform = listPerformMapper.findBySortId(postName,superPerform.getListperformid(),TypeConversion.StringToInteger(sortStr)); if(null != listPerform){ ListFactor listFactor = new ListFactor(); listFactor.setListfactorid(RandomNumber.getUUid()); listFactor.setListperformid(listPerform.getListperformid()); listFactor.setListnum(1+""); listFactor.setSortid(i); listFactor.setSysyear("2022"); listFactor.setType(4); listFactor.setFactorcnt(performList); listFactor.setCheckstandard(checkstandard); listFactor.setFrequency(TypeConversion.StringToInteger(frequency)); listFactor.setIsfinish("否"); listFactor.setFinishProgres("0"); listFactor.setFactorIsFinish("否"); listFactor.setRedAlert(2+""); listFactor.setYellowAlert(5+""); listFactor.setDelState(1); listFactor.setCreatedon(new Date()); listFactor.setModifiedon(new Date()); listFactor.setCreatedby("excel"); listFactor.setModifiedby("excel"); listFactorMapper.insert(listFactor); addFactorTask(listFactor,"excel"); } } index++; } } } return result; } @ApiOperation(value = "导入用户", notes = "导入用户") @RequestMapping(value = "/importUser", method = RequestMethod.POST) @ResponseBody public SingleResult importUser(@RequestBody MultipartFile multipartFile)throws Exception{ SingleResult result = new SingleResult<>(); Workbook wookbook = WorkbookFactory.create(multipartFile.getInputStream()); Sheet sheet = wookbook.getSheetAt(0); //获得表头 Row rowHead = sheet.getRow(0); System.out.println("getPhysicalNumberOfCells -> "+rowHead.getPhysicalNumberOfCells()); //判断表头是否正确 if(true){ //获得数据的总行数 int totalRowNum = sheet.getLastRowNum(); if(totalRowNum > 0){ Boolean isSubject = true; DataFormatter dataFormatter = new DataFormatter(); Integer index = 1; String unitNameStr = ""; String postNameStr = ""; String sortStrStr = ""; //获得所有数据 for(int i = 1 ; i <= totalRowNum ; i++) { //获得第i行对象 Row row = sheet.getRow(i); if (null == row) { break; } String unitName = ""; String postName = ""; String name = ""; String mobile = ""; Cell cell = row.getCell((short) 1); unitName = dataFormatter.formatCellValue(cell); if (StringUtils.isBlank(unitName)) { unitName = unitNameStr; } else { unitNameStr = unitName; } cell = row.getCell((short) 2); postName = dataFormatter.formatCellValue(cell); if (StringUtils.isBlank(postName)) { postName = postNameStr; } else { postNameStr = postName; } cell = row.getCell((short) 3); name = dataFormatter.formatCellValue(cell); cell = row.getCell((short) 4); mobile = dataFormatter.formatCellValue(cell); System.out.println("-----------------"+index); System.out.println(unitName); System.out.println(postName); System.out.println(name); System.out.println(mobile); ListPerform superPerform = listPerformMapper.findByName(unitName,"5bd164aa-dd43-45e3-a5a2-649bb2fd9fb9"); if(null != superPerform){ ListPerform listPerform = listPerformMapper.findByPerformName(postName,superPerform.getListperformid(),name); if(null == listPerform){ listPerform = new ListPerform(); listPerform.setListperformid(RandomNumber.getUUid()); listPerform.setSyslevel(superPerform.getSyslevel()+1); listPerform.setPerformclassname(postName); listPerform.setPerformName(name); listPerform.setSortid(50); listPerform.setSupclassid(superPerform.getListperformid()); listPerform.setCompletion("0"); listPerform.setParentPath(superPerform.getParentPath()+","+listPerform.getListperformid()); listPerform.setParentName(superPerform.getParentName()+","+listPerform.getPerformclassname()); listPerform.setCreatedby("excel"); listPerform.setModifiedby("excel"); listPerform.setCreatedon(new Date()); listPerform.setModifiedon(new Date()); listPerformMapper.insert(listPerform); } SysUnit sysUnit = sysUnitMapper.findByUnitName(unitName,"f618c8e4-c0ea-426a-8f91-5ef31cf70299"); SysUser sysUser = new SysUser(); sysUser.setSysuserid(RandomNumber.getUUid()); sysUser.setUsertype("政府用户"); sysUser.setAreaCode("513300"); sysUser.setAreaPath("510000,513300"); sysUser.setAreaName("四川省,甘孜藏族自治州"); if(null != sysUnit){ sysUser.setSysunitorentid(sysUnit.getSysunitid()); sysUser.setUnitPath(sysUnit.getParentPath()); sysUser.setUnitPathName(sysUnit.getParentName()); } sysUser.setSysusername(mobile); sysUser.setSyspassword(PasswdFactory.encryptPasswd(sysUser.getSysuserid(),"",mobile)); sysUser.setUserroles("cc89b58e-9ab4-492e-a184-82f199c75d76"); sysUser.setChinaname(name); sysUser.setSystitle(listPerform.getListperformid()); sysUser.setPostPath(listPerform.getParentPath()); sysUser.setPostName(listPerform.getParentName()); sysUser.setMobiletel(mobile); sysUser.setState("启用"); sysUser.setCreatedby("excel"); sysUser.setModifiedby("excel"); sysUser.setCreatedon(new Date()); sysUser.setModifiedon(new Date()); sysUserMapper.insert(sysUser); } index++; } } } return result; } @ApiOperation(value = "企业经纬度", notes = "企业经纬度") @RequestMapping(value = "/entLonlat", method = RequestMethod.POST) @ResponseBody public SingleResult entLonlat()throws Exception{ SingleResult result = new SingleResult<>(); List sysEnterprises = sysEnterpriseMapper.findLon(); for (SysEnterprise enterprise : sysEnterprises){ if(StringUtils.isNotBlank(enterprise.getSysaddress())){ String address = enterprise.getSysaddress(); System.out.println("address --> "+address); address = StringUtils.replaceBlank(address); String lonlat = Amap.getLonLat(address); enterprise.setSysaddress(address); String[] strs = lonlat.split(","); if(null != strs && strs.length == 2){ enterprise.setLongitude(strs[0]); enterprise.setLatitude(strs[1]); sysEnterpriseMapper.changeLonLat(enterprise); } } } return result; } }