| | |
| | | package com.panzhihua.service_community.service.impl; |
| | | |
| | | import cn.hutool.core.date.DateUtil; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | |
| | | public R listSaveSwRotaExcelVO(List<ComSwRotaExcelVO> list, Long communityId) { |
| | | List<ComSwRotaDO> comSwRotaDOS = new ArrayList<>(); |
| | | for (ComSwRotaExcelVO comSwRotaExcelVO : list){ |
| | | Integer count = comSwRotaDAO.selectCount(new QueryWrapper<ComSwRotaDO>().lambda().eq(ComSwRotaDO::getRotaDate, comSwRotaExcelVO.getRotaDate())); |
| | | String[] parsePatterns = new String[]{"yyyy-MM-dd", "yyyy-M-dd", "yyyy-MM-d", "yyyy-M-d", "yyyy/MM/dd", "yyyy/M/dd", "yyyy/MM/d", "yyyy/M/d"}; |
| | | Date date = DateUtil.parse(comSwRotaExcelVO.getRotaDate(),parsePatterns); |
| | | Integer count = comSwRotaDAO.selectCount(new QueryWrapper<ComSwRotaDO>().lambda().eq(ComSwRotaDO::getRotaDate, date)); |
| | | if (count > 0) { |
| | | return R.fail("值班日期已存在," + comSwRotaExcelVO.getRotaDate() + "重复"); |
| | | } |
| | |
| | | BeanUtils.copyProperties(comSwRotaExcelVO, comSwRotaDO); |
| | | comSwRotaDO.setId(Snowflake.getId()); |
| | | comSwRotaDO.setCommunityId(communityId); |
| | | if (StringUtils.isNotEmpty(comSwRotaExcelVO.getRotaDate())) { |
| | | String el = "(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29) \n" + |
| | | "(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29) "; |
| | | Pattern p = Pattern.compile(el); |
| | | Matcher m = p.matcher(comSwRotaExcelVO.getRotaDate()); |
| | | if (!m.matches()) { |
| | | return R.fail(comSwRotaExcelVO.getRotaDate() + "日期格式不正确"); |
| | | } |
| | | } |
| | | try { |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
| | | comSwRotaDO.setRotaDate(sdf.parse(comSwRotaExcelVO.getRotaDate())); |
| | | } catch (ParseException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | // if (StringUtils.isNotEmpty(comSwRotaExcelVO.getRotaDate())) { |
| | | // String el = "(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29) \n" + |
| | | // "(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29) "; |
| | | // Pattern p = Pattern.compile(el); |
| | | // Matcher m = p.matcher(comSwRotaExcelVO.getRotaDate()); |
| | | // if (!m.matches()) { |
| | | // return R.fail(comSwRotaExcelVO.getRotaDate() + "日期格式不正确"); |
| | | // } |
| | | // } |
| | | // try { |
| | | // SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
| | | // comSwRotaDO.setRotaDate(sdf.parse(comSwRotaExcelVO.getRotaDate())); |
| | | // } catch (ParseException e) { |
| | | // e.printStackTrace(); |
| | | // } |
| | | comSwRotaDO.setRotaDate(date); |
| | | comSwRotaDO.setRotaLeader(StringUtils.join(leaderIds, ",")); |
| | | comSwRotaDO.setRotaPerson(StringUtils.join(personIds, ",")); |
| | | comSwRotaDO.setLeaderName(comSwRotaExcelVO.getLeaderName().replace("、",",")); |