Преглед изворни кода

Merge remote-tracking branch 'origin/dev_v1.0.0' into dev_v1.0.0

wangliang пре 1 година
родитељ
комит
a98031aabb

+ 1 - 0
sop-business/src/main/java/com/qmth/sop/business/bean/result/SysDingGroupResult.java

@@ -6,6 +6,7 @@ import com.qmth.sop.business.entity.SysDingGroup;
 import com.qmth.sop.common.enums.ServiceStatusEnum;
 import io.swagger.annotations.ApiModelProperty;
 
+import javax.validation.constraints.NotEmpty;
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.List;

+ 0 - 1
sop-business/src/main/java/com/qmth/sop/business/entity/SysDingGroup.java

@@ -36,7 +36,6 @@ public class SysDingGroup extends BaseEntity implements Serializable {
 
     @ApiModelProperty(value = "供应商id")
     @JsonSerialize(using = ToStringSerializer.class)
-    @NotNull(message = "供应商id不能为空")
     private Long supplierId;
 
     @ApiModelProperty(value = "签到时段")

+ 54 - 7
sop-business/src/main/java/com/qmth/sop/business/service/impl/SysDingGroupServiceImpl.java

@@ -91,6 +91,7 @@ public class SysDingGroupServiceImpl extends ServiceImpl<SysDingGroupMapper, Sys
                 if (!CollectionUtils.isEmpty(sysDingGroupIdList)) {
                     List<Long> dbRoleIdList = sysDingObjService.list(new QueryWrapper<SysDingObj>()
                                     .lambda()
+                                    .eq(SysDingObj::getType, DingObjTypeEnum.DING)
                                     .in(SysDingObj::getDingGroupId, sysDingGroupIdList))
                             .stream()
                             .map(SysDingObj::getRoleId).distinct().collect(Collectors.toList());
@@ -110,14 +111,12 @@ public class SysDingGroupServiceImpl extends ServiceImpl<SysDingGroupMapper, Sys
                         String supplierName = sysSupplier.getName();
                         String serviceUnitName = tbServiceUnit.getName();
 
-                        String roleNames = sysRoleService.list(new QueryWrapper<SysRole>()
-                                        .lambda()
-                                        .in(SysRole::getId))
+                        String roleNames = sysRoleService.listByIds(alreadyRoleIdList)
                                 .stream()
                                 .map(SysRole::getName)
                                 .collect(Collectors.joining(","));
 
-                        String error = String.format("新增失败,服务单元[%s],供应商[%s],使用考勤对象为[%s] 的考勤组设置已经存在", serviceUnitName, supplierName, roleNames);
+                        String error = String.format("新增失败,服务单元[%s],供应商[%s],用考勤对象为[%s] 的考勤组设置已经存在", serviceUnitName, supplierName, roleNames);
                         throw ExceptionResultEnum.ERROR.exception(error);
                     }
                 }
@@ -129,7 +128,9 @@ public class SysDingGroupServiceImpl extends ServiceImpl<SysDingGroupMapper, Sys
                 sysDingGroupEntity.setCreateTime(System.currentTimeMillis());
                 sysDingGroupEntity.setEnable(true);
                 this.saveOrUpdate(sysDingGroupEntity);
-                sysDingGroup.getDingObjs().forEach(e -> {
+                sysDingGroupRoleResultList.forEach(e -> {
+                    // 重置数组id
+                    e.setId(null);
                     e.setDingGroupId(sysDingGroupEntity.getId());
                     sysDingObjService.save(e);
                 });
@@ -145,8 +146,55 @@ public class SysDingGroupServiceImpl extends ServiceImpl<SysDingGroupMapper, Sys
     @Override
     @Transactional
     public void update(SysDingGroupResult sysDingGroup) {
-
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        Long supplierId = sysDingGroup.getSupplierId();
+        Long serviceUnitId = sysDingGroup.getServiceId();
+
+        // 编辑校验
+        List<Long> sysDingGroupIdList = this.list(new QueryWrapper<SysDingGroup>().lambda()
+                        .eq(SysDingGroup::getServiceId, serviceUnitId)
+                        .eq(SysDingGroup::getSupplierId, supplierId)
+                        .ne(SysDingGroup::getId, sysDingGroup.getId()))
+                .stream()
+                .map(BaseEntity::getId)
+                .collect(Collectors.toList());
+        List<Long> roleIdList = sysDingGroup.getDingObjs().stream()
+                .filter(e -> DingObjTypeEnum.DING.equals(e.getType()))
+                .map(SysDingObj::getRoleId).distinct()
+                .collect(Collectors.toList());
+
+        if (!CollectionUtils.isEmpty(sysDingGroupIdList)) {
+            List<Long> dbRoleIdList = sysDingObjService.list(new QueryWrapper<SysDingObj>()
+                            .lambda()
+                            .eq(SysDingObj::getType, DingObjTypeEnum.DING)
+                            .in(SysDingObj::getDingGroupId, sysDingGroupIdList))
+                    .stream()
+                    .map(SysDingObj::getRoleId).distinct().collect(Collectors.toList());
+
+            List<Long> alreadyRoleIdList = roleIdList.stream().filter(dbRoleIdList::contains).collect(Collectors.toList());
+            if (!CollectionUtils.isEmpty(alreadyRoleIdList)) {
+                // 已存在的角色id集合
+                SysSupplier sysSupplier = sysSupplierService.getById(supplierId);
+                if (Objects.isNull(sysSupplier)) {
+                    throw ExceptionResultEnum.ERROR.exception("供应商不存在");
+                }
+                TBService tbServiceUnit = tbServiceService.getById(serviceUnitId);
+                if (Objects.isNull(tbServiceUnit)) {
+                    throw ExceptionResultEnum.ERROR.exception("服务单元不存在");
+                }
+                String supplierName = sysSupplier.getName();
+                String serviceUnitName = tbServiceUnit.getName();
+
+                String roleNames = sysRoleService.listByIds(alreadyRoleIdList)
+                        .stream()
+                        .map(SysRole::getName)
+                        .collect(Collectors.joining(","));
+
+                String error = String.format("编辑失败,服务单元[%s],供应商[%s],适用考勤对象为[%s] 的考勤组设置已经存在", serviceUnitName, supplierName, roleNames);
+                throw ExceptionResultEnum.ERROR.exception(error);
+            }
+        }
+
         sysDingGroup.setUpdateId(sysUser.getId());
         sysDingGroup.setUpdateTime(System.currentTimeMillis());
         this.saveOrUpdate(sysDingGroup);
@@ -181,5 +229,4 @@ public class SysDingGroupServiceImpl extends ServiceImpl<SysDingGroupMapper, Sys
             }
         }
     }
-
 }

+ 47 - 0
sop-business/src/main/resources/db/log/shudonghui_update_log.sql

@@ -332,3 +332,50 @@ ALTER TABLE `t_b_violation` ADD COLUMN `close_time` bigint NULL COMMENT '关闭
 
 --2023.10.23
 ALTER TABLE `sys_custom` ADD UNIQUE INDEX `code`(`code`);
+
+
+--2023.10.26
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1057, '二期接口', '/api/sop/analyse/attendance', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1058, '二期接口', '/api/sop/analyse/list', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1059, '二期接口', '/api/sop/analyse/overview', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1060, '二期接口', '/api/sop/analyse/processing', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1061, '二期接口', '/api/sop/analyse/trend', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1062, '二期接口', '/api/service/analyse/device/use', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1063, '二期接口', '/api/service/analyse/list', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1064, '二期接口', '/api/service/analyse/overview', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1065, '二期接口', '/api/service/analyse/personnel/quota', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1066, '二期接口', '/api/service/analyse/project/allocation', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1067, '二期接口', '/api/service/analyse/region/personnel', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1068, '二期接口', '/api/service/analyse/supplier', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1069, '二期接口', '/api/service/analyse/supplier/detail', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1070, '二期接口', '/api/service/analyse/supplier/region', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1071, '二期接口', '/api/service/analyse/supplier/region/detail', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1072, '二期接口', '/api/service/analyse/supplier/role', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1073, '二期接口', '/api/admin/tb/crm/analyse/custom/type', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1074, '二期接口', '/api/admin/tb/crm/analyse/custom/type/detail', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1075, '二期接口', '/api/admin/tb/crm/analyse/monthly', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1076, '二期接口', '/api/admin/tb/crm/analyse/monthly/detail', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1077, '二期接口', '/api/admin/tb/crm/analyse/project', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1078, '二期接口', '/api/admin/tb/crm/analyse/project/detail', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1079, '二期接口', '/api/admin/tb/crm/analyse/region', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1080, '二期接口', '/api/admin/tb/crm/analyse/region/detail', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1081, '二期接口', '/api/admin/tb/crm/analyse/supplier', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1082, '二期接口', '/api/admin/tb/crm/analyse/supplier/detail', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1083, '二期接口', '/api/quality/analyse/influence', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1084, '二期接口', '/api/quality/analyse/influence/detail', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1085, '二期接口', '/api/quality/analyse/list', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1086, '二期接口', '/api/quality/analyse/pie', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1087, '二期接口', '/api/quality/analyse/progress', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1088, '二期接口', '/api/quality/analyse/radar', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1089, '二期接口', '/api/quality/analyse/supplier/detail', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1090, '二期接口', '/api/sys/device/monitor/count', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1091, '二期接口', '/api/sys/device/monitor/countByModel', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1092, '二期接口', '/api/sys/device/monitor/countByServiceUnit', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1093, '二期接口', '/api/sys/device/monitor/countByServiceUnitDetail', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1094, '二期接口', '/api/sop/schedule/detail', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1095, '二期接口', '/api/sop/schedule/progress', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+
+
+
+
+