huanghongfa
2021-08-06 add39a5a140ca34752dc8f91a1b7f8f3b8185b72
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwRotaServiceImpl.java
@@ -1,5 +1,6 @@
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;
@@ -286,7 +287,9 @@
    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() + "重复");
                }
@@ -315,21 +318,22 @@
                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("、",","));