From df654c8bbe24a659833d436a2e7e2013e3592142 Mon Sep 17 00:00:00 2001
From: manailin <261030956@qq.com>
Date: 星期三, 04 八月 2021 11:01:57 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/test' into test

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwRotaServiceImpl.java |   59 ++++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 36 insertions(+), 23 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwRotaServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwRotaServiceImpl.java
index 76fc005..35f2053 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwRotaServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSwRotaServiceImpl.java
@@ -168,28 +168,39 @@
 
     @Override
     public R addRota(List<ComSwRotaSaveDTO> comSwRotaSaveDTOs) {
-        comSwRotaSaveDTOs.forEach(comSwRotaSaveDTO -> {
-                if (comSwRotaSaveDTO.getId() != null && comSwRotaSaveDTO.getId() != 0) {
-                    ComSwRotaDO comSwRotaDO = new ComSwRotaDO();
-                    BeanUtils.copyProperties(comSwRotaSaveDTO, comSwRotaDO);
-                    try {
-                        comSwRotaDO.setRotaDate(new SimpleDateFormat("yyyy-MM-dd").parse(comSwRotaSaveDTO.getRotaDate()));
-                    } catch (ParseException e) {
-                        e.printStackTrace();
-                    }
-                    comSwRotaDAO.updateById(comSwRotaDO);
-                } else {
-                    ComSwRotaDO comSwRotaDO = new ComSwRotaDO();
-                    BeanUtils.copyProperties(comSwRotaSaveDTO, comSwRotaDO);
-                    comSwRotaDO.setId(Snowflake.getId());
-                    try {
-                        comSwRotaDO.setRotaDate(new SimpleDateFormat("yyyy-MM-dd").parse(comSwRotaSaveDTO.getRotaDate()));
-                    } catch (ParseException e) {
-                        e.printStackTrace();
-                    }
-                    comSwRotaDAO.insert(comSwRotaDO);
+        for (ComSwRotaSaveDTO comSwRotaSaveDTO : comSwRotaSaveDTOs){
+            if (comSwRotaSaveDTO.getId() != null && comSwRotaSaveDTO.getId() != 0) {
+                ComSwRotaDO comSwRotaDO = comSwRotaDAO.selectById(comSwRotaSaveDTO.getId());
+                if (null == comSwRotaDO) {
+                    return R.fail("该值班表不存在");
                 }
-        });
+                ComSwRotaDO checkCreditCode = comSwRotaDAO.selectOne(new QueryWrapper<ComSwRotaDO>().lambda().eq(ComSwRotaDO::getRotaDate, comSwRotaSaveDTO.getRotaDate()));
+                if (null != checkCreditCode && comSwRotaDO.getId() != checkCreditCode.getId()) {
+                    return R.fail("该值班表已存在,值班日期重复");
+                }
+                BeanUtils.copyProperties(comSwRotaSaveDTO, comSwRotaDO);
+                try {
+                    comSwRotaDO.setRotaDate(new SimpleDateFormat("yyyy-MM-dd").parse(comSwRotaSaveDTO.getRotaDate()));
+                } catch (ParseException e) {
+                    e.printStackTrace();
+                }
+                comSwRotaDAO.updateById(comSwRotaDO);
+            } else {
+                Integer count = comSwRotaDAO.selectCount(new QueryWrapper<ComSwRotaDO>().lambda().eq(ComSwRotaDO::getRotaDate, comSwRotaSaveDTO.getRotaDate()));
+                if (count > 0) {
+                    return R.fail("该值班表已存在,值班日期重复");
+                }
+                ComSwRotaDO comSwRotaDO = new ComSwRotaDO();
+                BeanUtils.copyProperties(comSwRotaSaveDTO, comSwRotaDO);
+                comSwRotaDO.setId(Snowflake.getId());
+                try {
+                    comSwRotaDO.setRotaDate(new SimpleDateFormat("yyyy-MM-dd").parse(comSwRotaSaveDTO.getRotaDate()));
+                } catch (ParseException e) {
+                    e.printStackTrace();
+                }
+                comSwRotaDAO.insert(comSwRotaDO);
+            }
+        }
         return R.ok();
     }
 
@@ -266,14 +277,14 @@
         List<ComSwRotaDO> comSwRotaDOS = new ArrayList<>();
             list.forEach(comSwRotaExcelVO -> {
                 ComSwRotaDO comSwRotaDO = new ComSwRotaDO();
-                String[] leaderPhones = comSwRotaExcelVO.getLeaderPhone().split(",");
+                String[] leaderPhones = comSwRotaExcelVO.getLeaderPhone().split("、");
                 List<String> leaderIds = new ArrayList<>();
                 for (String leaderPhone : leaderPhones) {
                     String id = comSwRotaDAO.getTeamIdsByTeamPhone(leaderPhone);
                     leaderIds.add(id);
                 }
 
-                String[] personPhones = comSwRotaExcelVO.getPersonPhone().split(",");
+                String[] personPhones = comSwRotaExcelVO.getPersonPhone().split("、");
                 List<String> personIds = new ArrayList<>();
                 for (String personPhone : personPhones) {
                     String id = comSwRotaDAO.getTeamIdsByTeamPhone(personPhone);
@@ -289,6 +300,8 @@
                 }
                 comSwRotaDO.setRotaLeader(StringUtils.join(leaderIds, ","));
                 comSwRotaDO.setRotaPerson(StringUtils.join(personIds, ","));
+                comSwRotaDO.setLeaderName(comSwRotaExcelVO.getLeaderName().replace("、",","));
+                comSwRotaDO.setPersonName(comSwRotaExcelVO.getPersonName().replace("、",","));
                 comSwRotaDOS.add(comSwRotaDO);
             });
         this.saveBatch(comSwRotaDOS);

--
Gitblit v1.7.1