From f2f8241dd52ef12ec109f6f4f0f13042055338ac Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期五, 14 二月 2025 14:55:56 +0800 Subject: [PATCH] 修改指派设备 修改设备结构树权限 优化查询 优化排序 --- lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IDocInfoService.java | 7 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IDeviceGroupPermissionService.java | 18 + lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/service/impl/AssignFileStreamServiceImpl.java | 92 ++++- lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocRelativeServiceImpl.java | 10 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/response/ProcessInfoCode.java | 4 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/DncDevicePermissionMapper.java | 13 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IDeviceInfoService.java | 10 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/response/ComponentInfoCode.java | 1 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DeviceGroupPermissionServiceImpl.java | 94 +++++ lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ComponentInfoSeServiceImpl.java | 21 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DeviceInfoServiceImpl.java | 145 +++++---- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java | 29 + lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/response/ProductInfoCode.java | 3 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/WorkStepServiceImpl.java | 31 + lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IPermissionStreamService.java | 10 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/PermissionStreamServiceImpl.java | 13 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/mapper/xml/ComponentPermissionMapper.xml | 21 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProductInfoServiceImpl.java | 42 + lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IProductInfoService.java | 8 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/response/PartsInfoCode.java | 1 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IWorkStepService.java | 7 lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/entity/AssignFileStream.java | 8 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/request/DocInfoQueryRequest.java | 18 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProcessStreamServiceImpl.java | 27 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/utils/CamelToSnakeRegex.java | 20 + lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcProductionEquipmentService.java | 11 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/PartsInfoServiceImpl.java | 20 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/MdcProductionServiceImpl.java | 21 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/DncDeviceGroupPermissionMapper.java | 13 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/DncDevicePermission.java | 29 + lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocInfoServiceImpl.java | 89 ++++ lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/DncDeviceGroupPermission.java | 29 + lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/ProductInfoController.java | 18 + lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcProductionEquipmentServiceImpl.java | 30 + 34 files changed, 722 insertions(+), 191 deletions(-) diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/entity/AssignFileStream.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/entity/AssignFileStream.java index 4c8896c..004f4fa 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/entity/AssignFileStream.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/entity/AssignFileStream.java @@ -25,6 +25,8 @@ private String partsId; @TableField(value = "process_id") private String processId; + @TableField(value = "step_id") + private String stepId; @TableField(value = "doc_id") private String docId; @TableField(value = "file_id") @@ -64,4 +66,10 @@ @TableLogic @TableField(value = "delete_flag", select = false) private Integer deleteFlag = 0; + + /**鎸囨淳璁惧涓撶敤-鎵�灞濱D*/ + private transient String attributionId; + + /**鎸囨淳璁惧涓撶敤-鎵�灞瀟ype*/ + private transient String attributionType; } diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/service/impl/AssignFileStreamServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/service/impl/AssignFileStreamServiceImpl.java index e1c09c3..9e4f927 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/service/impl/AssignFileStreamServiceImpl.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/activiti/service/impl/AssignFileStreamServiceImpl.java @@ -71,6 +71,8 @@ @Autowired private IProcessStreamService processStreamService; @Autowired + private IWorkStepService workStepService; + @Autowired private IPermissionStreamService permissionStreamService; @Autowired private IDepartmentService departmentService; @@ -195,16 +197,17 @@ //鏍¢獙寮�濮� if(stream == null) ExceptionCast.cast(CommonCode.INVALID_PARAM); - if(!ValidateUtil.validateString(stream.getProcessId()) || !ValidateUtil.validateString(stream.getDocId()) - || !ValidateUtil.validateString(stream.getFileId())) + if(!ValidateUtil.validateString(stream.getAttributionId()) || !ValidateUtil.validateString(stream.getDocId()) + || !ValidateUtil.validateString(stream.getFileId())||!ValidateUtil.validateString(stream.getAttributionType()) ) ExceptionCast.cast(ActivitiCode.ACT_BUSINESS_SAVE_ERROR); if(!ValidateUtil.validateString(stream.getDeviceId())) ExceptionCast.cast(ActivitiCode.ACT_ASSIGN_DEVICE_NONE); - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); String userId = user.getId(); if(!ValidateUtil.validateString(userId)) ExceptionCast.cast(UcenterCode.UCENTER_ACCOUNT_NOT_EXIST); - DocInfo docInfo = docInfoService.getByDocAttrAndDocId(stream.getDocId(), 5, stream.getProcessId()); + //淇敼涓哄墠绔紶鍏� + DocInfo docInfo = docInfoService.getByDocAttrAndDocId(stream.getDocId(), Integer.parseInt(stream.getAttributionType()), stream.getAttributionId()); if(docInfo == null || docInfo.getDocStatus() == 3) ExceptionCast.cast(ActivitiCode.ACT_DOC_ERROR); DeviceInfo deviceInfo = deviceInfoService.getById(stream.getDeviceId()); @@ -315,8 +318,8 @@ public ResponseResult applyAssignFileNonActive(AssignFileStream stream) { if(stream == null) ExceptionCast.cast(CommonCode.INVALID_PARAM); - if(!ValidateUtil.validateString(stream.getProcessId()) || !ValidateUtil.validateString(stream.getDocId()) - || !ValidateUtil.validateString(stream.getFileId())) + if(!ValidateUtil.validateString(stream.getAttributionId()) || !ValidateUtil.validateString(stream.getDocId()) + || !ValidateUtil.validateString(stream.getFileId())||!ValidateUtil.validateString(stream.getAttributionType())) ExceptionCast.cast(CommonCode.INVALID_PARAM); if(!ValidateUtil.validateString(stream.getDeviceId())) ExceptionCast.cast(ActivitiCode.ACT_ASSIGN_DEVICE_NONE); @@ -324,7 +327,7 @@ String userId = user.getId(); if(!ValidateUtil.validateString(userId)) ExceptionCast.cast(UcenterCode.UCENTER_ACCOUNT_NOT_EXIST); - DocInfo docInfo = docInfoService.getByDocAttrAndDocId(stream.getDocId(), 5, stream.getProcessId()); + DocInfo docInfo = docInfoService.getByDocAttrAndDocId(stream.getDocId(), Integer.parseInt(stream.getAttributionType()), stream.getAttributionId()); if(docInfo == null || docInfo.getDocStatus() == 3) ExceptionCast.cast(ActivitiCode.ACT_DOC_ERROR); @@ -356,29 +359,62 @@ docFile.getFileName(), docFile.getFileSuffix()); } }*/ - ProcessStream processStream = processStreamService.getById(stream.getProcessId()); - if(processStream == null) - ExceptionCast.cast(CommonCode.INVALID_PARAM); - stream.setProductId(processStream.getProductId()); - stream.setComponentId(processStream.getComponentId()); - stream.setPartsId(processStream.getPartsId()); - List<PermissionStream> permissionStreams = null; - if(ValidateUtil.validateString(processStream.getPartsId())) { - //杩涘叆闆朵欢 - permissionStreams = permissionStreamService.getByPartsId(stream.getProductId(), stream.getComponentId(), stream.getPartsId()); - }else if(ValidateUtil.validateString(processStream.getComponentId())) { - //杩涘叆閮ㄤ欢鐨勫鐞� - permissionStreams = permissionStreamService.getByComponentId(stream.getProductId(), stream.getComponentId()); - } - if(permissionStreams == null || permissionStreams.isEmpty()) - ExceptionCast.cast(ActivitiCode.ACT_NODE_DEPART_NONE); List<String> departIds = new ArrayList<>(); - Map<String, Department> map = departmentService.getMapByUserId(userId); - permissionStreams.forEach(item -> { - if(map.containsKey(item.getDepartId())) { - departIds.add(item.getDepartId()); + if (stream.getAttributionType().equals("5")){ + //宸ュ簭 + ProcessStream processStream = processStreamService.getById(stream.getAttributionId()); + if(processStream == null) + ExceptionCast.cast(CommonCode.INVALID_PARAM); + stream.setProductId(processStream.getProductId()); + stream.setComponentId(processStream.getComponentId()); + stream.setPartsId(processStream.getPartsId()); + stream.setProcessId(stream.getAttributionId()); + List<PermissionStream> permissionStreams = null; + if(ValidateUtil.validateString(processStream.getPartsId())) { + //杩涘叆闆朵欢 + permissionStreams = permissionStreamService.getByPartsId(stream.getProductId(), stream.getComponentId(), stream.getPartsId()); + }else if(ValidateUtil.validateString(processStream.getComponentId())) { + //杩涘叆閮ㄤ欢鐨勫鐞� + permissionStreams = permissionStreamService.getByComponentId(stream.getProductId(), stream.getComponentId()); } - }); + if(permissionStreams == null || permissionStreams.isEmpty()) + ExceptionCast.cast(ActivitiCode.ACT_NODE_DEPART_NONE); + Map<String, Department> map = departmentService.getMapByUserId(userId); + permissionStreams.forEach(item -> { + if(map.containsKey(item.getDepartId())) { + departIds.add(item.getDepartId()); + } + }); + }else{ + //宸ユ + WorkStep workStep=workStepService.getById(stream.getAttributionId()); + if(workStep == null) + ExceptionCast.cast(CommonCode.INVALID_PARAM); + stream.setProductId(workStep.getProductId()); + stream.setComponentId(workStep.getComponentId()); + stream.setPartsId(workStep.getPartsId()); + stream.setProcessId(workStep.getProcessId()); + stream.setProcessId(stream.getAttributionId()); + List<PermissionStream> permissionStreams = null; + if(ValidateUtil.validateString(workStep.getProcessId())) { + //杩涘叆宸ュ簭 + permissionStreams=permissionStreamService.getByProcessId(stream.getProductId(), stream.getComponentId(), stream.getPartsId(),stream.getProcessId()); + }else if(ValidateUtil.validateString(workStep.getPartsId())) { + //杩涘叆闆朵欢 + permissionStreams = permissionStreamService.getByPartsId(stream.getProductId(), stream.getComponentId(), stream.getPartsId()); + }else if(ValidateUtil.validateString(workStep.getComponentId())) { + //杩涘叆閮ㄤ欢鐨勫鐞� + permissionStreams = permissionStreamService.getByComponentId(stream.getProductId(), stream.getComponentId()); + } + if(permissionStreams == null || permissionStreams.isEmpty()) + ExceptionCast.cast(ActivitiCode.ACT_NODE_DEPART_NONE); + Map<String, Department> map = departmentService.getMapByUserId(userId); + permissionStreams.forEach(item -> { + if(map.containsKey(item.getDepartId())) { + departIds.add(item.getDepartId()); + } + }); + } if(departIds.isEmpty()) ExceptionCast.cast(ActivitiCode.ACT_USER_NOT_PERM); //deviceDoc = docInfoService.findByAttrAndDocName(docInfo.getDocName(), 4, stream.getDeviceId()); diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/ProductInfoController.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/ProductInfoController.java index 2018e31..e2292a0 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/ProductInfoController.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/ProductInfoController.java @@ -5,6 +5,7 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.SecurityUtils; +import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.vo.LoginUser; @@ -254,4 +255,21 @@ list = Collections.emptyList(); return new QueryListResponseResult<>(CommonCode.SUCCESS, list); } + + /** + * 浜у搧缁撴瀯鏍�-閫氳繃绫诲瀷灏辫鍒犻櫎 + * @param id + * @param type + * @return + */ + @AutoLog(value = "浜у搧缁撴瀯鏍�-閫氳繃绫诲瀷灏辫鍒犻櫎") + @ApiOperation(value = "浜у搧缁撴瀯鏍�-閫氳繃绫诲瀷灏辫鍒犻櫎", notes = "浜у搧缁撴瀯鏍�-閫氳繃绫诲瀷灏辫鍒犻櫎") + @DeleteMapping("/delete/{id}/{type}") + public Result<?> deleteProductTreeByType(@PathVariable("id") String id, @PathVariable("type") Integer type) { + boolean b =productInfoService.deleteProductTree(id, type); + if (b){ + return Result.ok("鍒犻櫎鎴愬姛锛�"); + } + return Result.error("鍒犻櫎澶辫触锛�"); + } } diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/mapper/xml/ComponentPermissionMapper.xml b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/mapper/xml/ComponentPermissionMapper.xml index 6692cfe..939a01b 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/mapper/xml/ComponentPermissionMapper.xml +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/mapper/xml/ComponentPermissionMapper.xml @@ -2,26 +2,25 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="org.jeecg.modules.dnc.mapper.ComponentPermissionMapper"> <select id="getUserPermsByComponentId" resultType="org.jeecg.modules.dnc.ucenter.UserDepartExt" parameterType="String"> - select u.user_id + select u.id , u.username - , u.nickname - , u.user_pic - , u.phone_no + , u.realname + , u.phone , u.email from sys_user u inner join (select user_id from nc_component_permission where component_id=#{componentId}) p - on u.user_id=p.user_id + on u.id=p.user_id </select> <select id="getUserNonPermsByComponentId" resultType="org.jeecg.modules.system.entity.SysUser" parameterType="String"> - select u.user_id - , u.username - , u.nickname - , u.user_pic - , u.phone_no + select u.id + , u.username + , u.realname + , u.phone + , u.email , u.email from sys_user u - where u.user_id not in (select user_id from nc_component_permission where component_id=#{componentId}) + where u.id not in (select user_id from nc_component_permission where component_id=#{componentId}) </select> </mapper> diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/request/DocInfoQueryRequest.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/request/DocInfoQueryRequest.java index 5040b66..a574652 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/request/DocInfoQueryRequest.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/request/DocInfoQueryRequest.java @@ -1,9 +1,11 @@ package org.jeecg.modules.dnc.request; +import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.NoArgsConstructor; +import org.jeecg.common.aspect.annotation.Dict; @Data @NoArgsConstructor @@ -15,15 +17,21 @@ private String attributionId; @ApiModelProperty(value = "鏂囨。鍒嗙被 NC=NC鏂囨。 OTHER=鍏朵粬鏂囨。 SEND=璁惧鍙戦�佹枃妗� REC=璁惧鎺ュ彈鏂囨。", example = "NC", required = true) private String docClassCode; - //鎺掑簭瀛楁 - @ApiModelProperty(value = "闄嶅簭鎺掑垪 鎺掑簭瀛楁涓烘暟鎹簱鍏蜂綋瀛楁鍚嶏紝闇�瑕佽В鏋愶紱 澶氫釜瀛楁浠ヨ嫳鏂囬�楀彿鍒嗛殧") - private String descStr; - @ApiModelProperty(value = "鍗囧簭鎺掑垪 鎺掑簭瀛楁涓烘暟鎹簱鍏蜂綋瀛楁鍚嶏紝闇�瑕佽В鏋愶紱 澶氫釜瀛楁浠ヨ嫳鏂囬�楀彿鍒嗛殧") - private String ascStr; @ApiModelProperty(value = "NC鏂囦欢鍚嶇О") private String docName; @ApiModelProperty(value = "涓婁紶鏃堕棿寮�濮�") private String startTime; @ApiModelProperty(value = "涓婁紶鏃堕棿缁撴潫") private String endTime; + //鎺掑簭瀛楁 + @ApiModelProperty(value = "鎺掑簭瀛楁") + private String column; + @ApiModelProperty(value = "鎺掑簭") + private String order; + @ApiModelProperty(value = "鏂囨。鐘舵��") + private String docStatus; + @ApiModelProperty(value = "鍑哄簱鐘舵��") + private String pullStatus; + @ApiModelProperty(value = "鍚屾鐘舵�� 1 鏈悓姝� 2 宸插悓姝�") + private Integer syncStatus; } diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/response/ComponentInfoCode.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/response/ComponentInfoCode.java index 416e805..330404b 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/response/ComponentInfoCode.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/response/ComponentInfoCode.java @@ -16,6 +16,7 @@ COMPONENT_CHILD_EXIST(false, 25108, "閮ㄤ欢瀛樺湪瀛愰儴浠讹紒"), COMPONENT_PARTS_EXIST(false, 25109, "閮ㄤ欢鏈夊叧鑱旂殑闆朵欢淇℃伅锛�"), COMPONENT_PROCESS_EXIST(false, 25110, "閮ㄤ欢鏈夊叧鑱旂殑宸ュ簭淇℃伅锛�"), + COMPONENT_DOC_EXIST(false, 25116, "閮ㄤ欢鏈夊叧鑱旂殑鏂囨。淇℃伅锛�"), COMPONENT_CODE_NONE(false, 25111, "璇疯緭鍏ラ儴浠朵唬鍙凤紒"), COMPONENT_IS_EXIST(false, 25112, "閮ㄤ欢宸插瓨鍦紒"), COMPONENT_PN_NOT_VALID(false, 25113, "PN鐮佷笉鍚堟硶锛�"), diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/response/PartsInfoCode.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/response/PartsInfoCode.java index 905032a..da32471 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/response/PartsInfoCode.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/response/PartsInfoCode.java @@ -13,6 +13,7 @@ PARTS_USER_NOT_PERM(false,25205,"娌℃湁璇ラ浂浠剁殑鏉冮檺锛�"), PARTS_DELETE_ERROR(false,25206,"鍒犻櫎闆朵欢澶辫触锛�"), PARTS_PROCESS_EXIST(false,25207,"闆朵欢鏈夊叧鑱旂殑宸ュ簭淇℃伅锛�"), + PARTS_DOC_EXIST(false,25208,"闆朵欢鏈夊叧鑱旂殑鏂囨。鏁版嵁"), PARTS_CODE_NONE(false,25208,"璇疯緭鍏ラ浂浠朵唬鍙凤紒"), PARTS_IS_EXIST(false,25209,"闆朵欢宸插瓨鍦紒"), PARTS_USER_NONE(false,25210,"闆朵欢鏃犳硶娓呯┖鐢ㄦ埛鏉冮檺锛岃鑷冲皯淇濈暀涓�浣嶅彲鎿嶄綔鐢ㄦ埛锛�"); diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/response/ProcessInfoCode.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/response/ProcessInfoCode.java index 9d953b6..fb21cf8 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/response/ProcessInfoCode.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/response/ProcessInfoCode.java @@ -16,7 +16,9 @@ PROCESS_IS_EXIST(false,25408,"璇ュ伐搴忓凡瀛樺湪锛�"), WORKSTEP_NAME_NONE(false,25409,"璇疯緭鍏ュ伐姝ュ悕绉帮紒"), WORKSTEP_NOT_EXIST(false,25410,"鏃犳晥鐨勫伐姝ワ紒"), - WORKSTEP_IS_EXIST(false,25411,"璇ュ伐姝ュ凡瀛樺湪锛�"); + WORKSTEP_IS_EXIST(false,25411,"璇ュ伐姝ュ凡瀛樺湪锛�"), + WORKSTEP_HAS_DATA(false,25412,"宸ユ涓嬫湁鍏宠仈鐨勫伐搴忔暟鎹�"), + WORKSTEP_HAS_DOC(false,25413,"宸ユ涓嬫湁鍏宠仈鐨勬枃妗f暟鎹�"); //鎿嶄綔浠g爜 @ApiModelProperty(value = "鎿嶄綔鏄惁鎴愬姛", example = "true", required = true) diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/response/ProductInfoCode.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/response/ProductInfoCode.java index be905d9..556fd8b 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/response/ProductInfoCode.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/response/ProductInfoCode.java @@ -18,7 +18,8 @@ PRODUCT_COMPONENT_EXIST(false, 25010, "浜у搧鏈夊叧鑱旂殑閮ㄤ欢鏁版嵁锛�"), PRODUCT_PARTS_EXIST(false, 25011, "浜у搧鏈夊叧鑱旂殑闆朵欢鏁版嵁锛�"), PRODUCT_PROCESS_EXIST(false, 25012, "浜у搧鏈夊叧鑱旂殑宸ュ簭鏁版嵁锛�"), - PRODUCT_NO_NONE(false,25013,"璇疯緭鍏ヤ骇鍝佷唬鍙凤紒"), + PRODUCT_DOC_EXIST(false, 25013, "浜у搧鏈夊叧鑱旂殑鏂囨。鏁版嵁锛�"), + PRODUCT_NO_NONE(false,25016,"璇疯緭鍏ヤ骇鍝佷唬鍙凤紒"), PRODUCT_IS_EXIST(false,25014,"浜у搧宸插瓨鍦紒"), PRODUCT_USER_NONE(false,25015,"浜у搧鏃犳硶娓呯┖鐢ㄦ埛鏉冮檺锛岃鑷冲皯淇濈暀涓�浣嶅彲鎿嶄綔鐢ㄦ埛锛�"); diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IDeviceGroupPermissionService.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IDeviceGroupPermissionService.java index cd4cfb7..e46d251 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IDeviceGroupPermissionService.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IDeviceGroupPermissionService.java @@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.dnc.entity.DeviceGroupPermission; import org.jeecg.modules.dnc.ucenter.UserDepartExt; +import org.jeecg.modules.system.entity.MdcProduction; import org.jeecg.modules.system.entity.SysUser; +import java.util.Collection; import java.util.List; public interface IDeviceGroupPermissionService extends IService<DeviceGroupPermission> { @@ -50,4 +52,20 @@ * @return */ List<DeviceGroupPermission> getByGroupId(String groupId); + + /** + * 鍒嗛厤璁惧鐢ㄦ埛 + * @param mdcProduction + * @param userList + * @return + */ + boolean assignAddUser(MdcProduction mdcProduction, Collection<SysUser> userList); + + /** + * 鍒犻櫎璁惧鐢ㄦ埛 + * @param mdcProduction + * @param userList + * @return + */ + boolean assignRemoveUser(MdcProduction mdcProduction, Collection<SysUser> userList); } diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IDeviceInfoService.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IDeviceInfoService.java index 79ddf8a..a00ad88 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IDeviceInfoService.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IDeviceInfoService.java @@ -4,6 +4,8 @@ import org.jeecg.modules.dnc.entity.DeviceInfo; import org.jeecg.modules.dnc.response.CommonGenericTree; import org.jeecg.modules.dnc.ucenter.UserDepartExt; +import org.jeecg.modules.mdc.entity.MdcEquipment; +import org.jeecg.modules.system.entity.MdcProduction; import org.jeecg.modules.system.entity.SysUser; import java.util.Collection; @@ -80,19 +82,19 @@ /** * 鍒嗛厤璁惧鐢ㄦ埛 - * @param deviceInfo + * @param mdcEquipment * @param userList * @return */ - boolean assignAddUser(DeviceInfo deviceInfo, Collection<SysUser> userList); + boolean assignAddUser(MdcEquipment mdcEquipment, Collection<SysUser> userList); /** * 鍒犻櫎璁惧鐢ㄦ埛 - * @param deviceInfo + * @param mdcEquipment * @param userList * @return */ - boolean assignRemoveUser(DeviceInfo deviceInfo, Collection<SysUser> userList); + boolean assignRemoveUser(MdcEquipment mdcEquipment, Collection<SysUser> userList); /** * 鏍规嵁涓�缁刧roupId 鏌ユ壘璁惧 diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IDocInfoService.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IDocInfoService.java index f74e4de..e008f88 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IDocInfoService.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IDocInfoService.java @@ -151,6 +151,13 @@ boolean deleteByProcessId(String processId); /** + * 鍒犻櫎宸ユ涓嬬殑鎵�鏈夋枃妗� + * @param stepId + * @return + */ + boolean deleteByStepId(String stepId); + + /** * 鍒犻櫎鏂囨。淇℃伅 * @param attrType * @param attrId diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IPermissionStreamService.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IPermissionStreamService.java index 10c6f4b..d0b7f0c 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IPermissionStreamService.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IPermissionStreamService.java @@ -76,6 +76,16 @@ List<PermissionStream> getByPartsId(String productId, String componentId, String partsId); /** + * 鏍规嵁宸ュ簭缂栧彿鏌ユ壘閮ㄩ棬鏉冮檺 + * @param productId + * @param componentId + * @param partsId + * @param processId + * @return + */ + List<PermissionStream> getByProcessId(String productId, String componentId, String partsId, String processId); + + /** * 鍒犻櫎鐢ㄦ埛鏉冮檺 * @param productId * @return diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IProductInfoService.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IProductInfoService.java index 2f57b55..a41713f 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IProductInfoService.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IProductInfoService.java @@ -208,5 +208,13 @@ * @return */ List<CommonGenericTree> searchProductTree(String userId, String queryParam); + + /** + * 浜у搧缁撴瀯鏍�-閫氳繃绫诲瀷灏辫鍒犻櫎 + * @param id + * @param type + * @return + */ + boolean deleteProductTree(String id, Integer type); } diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IWorkStepService.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IWorkStepService.java index 5a20188..7f5333d 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IWorkStepService.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IWorkStepService.java @@ -75,4 +75,11 @@ * @return */ boolean assignRemoveDepart(WorkStep workStep, Collection<MdcProduction> departmentList); + + /** + * 鍒犻櫎宸ユ淇℃伅 閫昏緫鍒犻櫎 + * @param id + * @return + */ + boolean deleteWorkStep(String id); } diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ComponentInfoSeServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ComponentInfoSeServiceImpl.java index 1f9d254..ef7d501 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ComponentInfoSeServiceImpl.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ComponentInfoSeServiceImpl.java @@ -2,6 +2,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.shiro.SecurityUtils; @@ -52,6 +53,8 @@ private IDocInfoService docInfoService; @Autowired private INcLogInfoService iNcLogInfoService; + @Autowired + private IDocRelativeService iDocRelativeService; @Override @Transactional(rollbackFor = {Exception.class}) @@ -297,18 +300,12 @@ if(processStreamList != null && !processStreamList.isEmpty()) { ExceptionCast.cast(ComponentInfoCode.COMPONENT_PROCESS_EXIST); } - //娣诲姞鏃ュ織 - NcLogInfo ncLogInfo = new NcLogInfo(); - //妯″潡 - ncLogInfo.setModuleInfo("浜у搧缁撴瀯鏍�"); - //绫诲瀷 - ncLogInfo.setOperateType(4); - //鏃ュ織鍐呭 - ncLogInfo.setLogContent("閮ㄤ欢鍚嶇О锛�"+componentInfo.getComponentName()); - iNcLogInfoService.saveLogNcInfos(ncLogInfo); - boolean b = docInfoService.deleteByComponentId(id); - if(!b) - ExceptionCast.cast(CommonCode.FAIL); + boolean b; + //楠岃瘉鏄惁瀛樺湪鏂囨。 + List<DocRelative> docRelativeList=iDocRelativeService.list(new QueryWrapper<DocRelative>().eq("attribution_type","2").eq("attribution_id",id)); + if (!docRelativeList.isEmpty()){ + ExceptionCast.cast(ComponentInfoCode.COMPONENT_DOC_EXIST); + } b = componentPermissionService.deleteByComponentId(id); if(!b) ExceptionCast.cast(CommonCode.FAIL); diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DeviceGroupPermissionServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DeviceGroupPermissionServiceImpl.java index 34577b1..b790fd1 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DeviceGroupPermissionServiceImpl.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DeviceGroupPermissionServiceImpl.java @@ -1,23 +1,41 @@ package org.jeecg.modules.dnc.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.jeecg.modules.dnc.entity.DeviceGroup; import org.jeecg.modules.dnc.entity.DeviceGroupPermission; +import org.jeecg.modules.dnc.entity.DevicePermissionStream; +import org.jeecg.modules.dnc.exception.ExceptionCast; import org.jeecg.modules.dnc.mapper.DeviceGroupPermissionMapper; +import org.jeecg.modules.dnc.response.CommonCode; +import org.jeecg.modules.dnc.response.DeviceGroupCode; +import org.jeecg.modules.dnc.service.IDevicePermissionStreamService; import org.jeecg.modules.dnc.ucenter.UserDepartExt; import org.jeecg.modules.dnc.utils.ValidateUtil; +import org.jeecg.modules.system.entity.MdcProduction; import org.jeecg.modules.system.entity.SysUser; import org.jeecg.modules.dnc.service.IDeviceGroupPermissionService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.List; @Service public class DeviceGroupPermissionServiceImpl extends ServiceImpl<DeviceGroupPermissionMapper, DeviceGroupPermission> implements IDeviceGroupPermissionService { + @Autowired + @Lazy + private IDeviceGroupPermissionService groupPermissionService; + @Autowired + @Lazy + private IDevicePermissionStreamService devicePermissionStreamService; + @Override public List<UserDepartExt> getUserPermsByGroupId(String groupId) { return super.getBaseMapper().getUserPermsByGroupId(groupId); @@ -44,7 +62,7 @@ if(permissions == null || permissions.isEmpty()) return false; if(permissions.size() == 1){ - super.removeById(permissions.get(0).getGroupPermId()); + return super.removeById(permissions.get(0).getGroupPermId()); } List<String> ids = new ArrayList<>(); permissions.forEach(item -> { @@ -68,4 +86,78 @@ list = Collections.emptyList(); return list; } + + @Override + @Transactional(rollbackFor = {Exception.class}) + public boolean assignAddUser(MdcProduction mdcProduction, Collection<SysUser> userList) { + if(mdcProduction == null || userList == null || userList.isEmpty()) + ExceptionCast.cast(CommonCode.INVALID_PARAM); + List<DeviceGroupPermission> permissionList = new ArrayList<>(); + List<DevicePermissionStream> permissionStreamList = new ArrayList<>(); + userList.forEach(item -> { + DeviceGroupPermission en = groupPermissionService.getByUserIdAndGroupId(item.getId(), mdcProduction.getId()); + if(en == null) { + en = new DeviceGroupPermission(); + en.setUserId(item.getId()); + en.setGroupId(mdcProduction.getId()); + permissionList.add(en); + } + DevicePermissionStream stream = devicePermissionStreamService.getByGroupIdAndUserId(mdcProduction.getId(), item.getId()); + if(stream == null) { + stream = new DevicePermissionStream(); + stream.setUserId(item.getId()); + stream.setGroupId(mdcProduction.getId()); + permissionStreamList.add(stream); + } + }); + if(!permissionList.isEmpty()) { + boolean b = groupPermissionService.saveBatch(permissionList); + if(!b) { + ExceptionCast.cast(DeviceGroupCode.DEVICE_GROUP_PERM_ERROR); + } + } + if(!permissionStreamList.isEmpty()) { + boolean b = devicePermissionStreamService.saveBatch(permissionStreamList); + if(!b) { + ExceptionCast.cast(DeviceGroupCode.DEVICE_GROUP_PERM_ERROR); + } + } + return true; + } + + @Override + @Transactional(rollbackFor = {Exception.class}) + public boolean assignRemoveUser(MdcProduction mdcProduction, Collection<SysUser> userList) { + if(mdcProduction == null || userList == null || userList.isEmpty()) + ExceptionCast.cast(CommonCode.INVALID_PARAM); + List<DeviceGroupPermission> permissionList = new ArrayList<>(); + List<DevicePermissionStream> permissionStreamList = new ArrayList<>(); + userList.forEach(item -> { + DeviceGroupPermission en = groupPermissionService.getByUserIdAndGroupId(item.getId(), mdcProduction.getId()); + if(en != null) { + permissionList.add(en); + } + DevicePermissionStream stream = devicePermissionStreamService.getByGroupIdAndUserId(mdcProduction.getId(), item.getId()); + if(stream != null) { + permissionStreamList.add(stream); + } + }); + //鏍¢獙娓呯┖璁惧鍒嗙粍鏉冮檺鎿嶄綔 + List<DeviceGroupPermission> existList = groupPermissionService.getByGroupId(mdcProduction.getId()); + if(existList.size() <= permissionList.size()) + ExceptionCast.cast(DeviceGroupCode.DEVICE_GROUP_USER_NONE); + if(!permissionList.isEmpty()) { + boolean b = groupPermissionService.removeByCollection(permissionList); + if(!b) { + ExceptionCast.cast(DeviceGroupCode.DEVICE_GROUP_PERM_ERROR); + } + } + if(!permissionStreamList.isEmpty()) { + boolean b = devicePermissionStreamService.removeByCollection(permissionStreamList); + if(!b) { + ExceptionCast.cast(DeviceGroupCode.DEVICE_GROUP_PERM_ERROR); + } + } + return true; + } } diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DeviceInfoServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DeviceInfoServiceImpl.java index 60a0d52..d55f9d9 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DeviceInfoServiceImpl.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DeviceInfoServiceImpl.java @@ -1,6 +1,7 @@ package org.jeecg.modules.dnc.service.impl; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.shiro.SecurityUtils; import org.jeecg.common.system.vo.LoginUser; @@ -14,7 +15,13 @@ import org.jeecg.modules.dnc.ucenter.UserDepartExt; import org.jeecg.modules.dnc.utils.ValidateUtil; import org.jeecg.modules.dnc.entity.*; +import org.jeecg.modules.mdc.entity.MdcEquipment; +import org.jeecg.modules.mdc.service.IMdcEquipmentService; +import org.jeecg.modules.mdc.service.IMdcProductionEquipmentService; +import org.jeecg.modules.system.entity.MdcProduction; +import org.jeecg.modules.system.entity.MdcProductionEquipment; import org.jeecg.modules.system.entity.SysUser; +import org.jeecg.modules.system.service.IMdcProductionService; import org.jeecg.modules.system.service.ISysUserService; import org.jeecg.modules.dnc.response.DeviceCode; import org.jeecg.modules.dnc.response.DeviceGroupCode; @@ -55,6 +62,12 @@ private IProductInfoService productInfoService; @Autowired private INcLogInfoService iNcLogInfoService; + @Autowired + private IMdcProductionService mdcProductionService; + @Autowired + private IMdcEquipmentService mdcEquipmentService; + @Autowired + private IMdcProductionEquipmentService mdcProductionEquipmentService; @Override @Transactional(rollbackFor = {Exception.class}) @@ -208,19 +221,19 @@ if(!ValidateUtil.validateString(userId)) ExceptionCast.cast(UcenterCode.UCENTER_ACCOUNT_NOT_EXIST); if(nodeType == 1) { - DeviceGroup en = deviceGroupService.getById(paramId); - if(en == null) { + MdcProduction mdcProduction=mdcProductionService.getById(paramId); + if(mdcProduction == null) { ExceptionCast.cast(DeviceGroupCode.DEVICE_GROUP_NOT_EXIST); } - DeviceGroupPermission permission = deviceGroupPermissionService.getByUserIdAndGroupId(userId, en.getGroupId()); + DeviceGroupPermission permission = deviceGroupPermissionService.getByUserIdAndGroupId(userId, mdcProduction.getId()); if(permission == null) return false; return true; }else if(nodeType == 2) { - DeviceInfo deviceInfo = super.getById(paramId); - if(deviceInfo == null) + MdcEquipment mdcEquipment = mdcEquipmentService.getById(paramId); + if(mdcEquipment == null) ExceptionCast.cast(DeviceCode.DEVICE_NOT_EXIST); - DevicePermission permission = devicePermissionService.getByUserIdAndDeviceId(userId, deviceInfo.getDeviceId()); + DevicePermission permission = devicePermissionService.getByUserIdAndDeviceId(userId, mdcEquipment.getId()); if(permission == null) return false; return true; @@ -270,43 +283,43 @@ ExceptionCast.cast(CommonCode.INVALID_PARAM); if(relativeFlag == 1 && nodeType == 1) { //鍒嗛厤鍒嗙粍鏉冮檺鎵嶅彲鍚戜笅浼犻�掔敤鎴� - DeviceGroup deviceGroup = deviceGroupService.getById(paramId); - if(deviceGroup == null) { + MdcProduction mdcProduction= mdcProductionService.getById(paramId); + if(mdcProduction == null) { ExceptionCast.cast(DeviceGroupCode.DEVICE_GROUP_NOT_EXIST); } - boolean b1 = checkDevicePerm(1, deviceGroup.getGroupId()); + boolean b1 = checkDevicePerm(1, mdcProduction.getId()); if(!b1) { ExceptionCast.cast(DeviceGroupCode.DEVICE_GROUP_PERM_ERROR); } - b1 = deviceGroupService.assignAddUser(deviceGroup, userList); + b1 = deviceGroupPermissionService.assignAddUser(mdcProduction, userList); if(!b1) { ExceptionCast.cast(DeviceGroupCode.DEVICE_GROUP_PERM_ERROR); } //鑾峰彇鍒嗙粍涓嬫墍鏈夌殑瀛愬垎缁� - List<DeviceGroup> childrenList = deviceGroupService.getChildrenByParentId(deviceGroup.getGroupId()); + List<MdcProduction> childrenList = mdcProductionService.queryProdByPid(mdcProduction.getId()); List<String> childrenIds = new ArrayList<>(); if(childrenList != null && !childrenList.isEmpty()) { childrenList.forEach(item -> { - childrenIds.add(item.getGroupId()); - boolean b = checkDevicePerm(1, item.getGroupId()); + childrenIds.add(item.getId()); + boolean b = checkDevicePerm(1, item.getId()); if(b) { - b = deviceGroupService.assignAddUser(item, userList); + b = deviceGroupPermissionService.assignAddUser(mdcProduction, userList); if(!b) { ExceptionCast.cast(DeviceGroupCode.DEVICE_GROUP_PERM_ERROR); } } }); } - List<DeviceInfo> deviceInfoList = null; + List<MdcEquipment> mdcEquipmentList = null; if(childrenIds.isEmpty()) { - deviceInfoList = getByGroupId(deviceGroup.getGroupId()); + mdcEquipmentList =mdcProductionEquipmentService.queryEquipmentsOfProduction(mdcProduction.getId()); }else { - childrenIds.add(deviceGroup.getGroupId()); - deviceInfoList = getByGroupIdList(childrenIds); + childrenIds.add(mdcProduction.getId()); + mdcEquipmentList = mdcProductionEquipmentService.queryEquipmentsOfProductions(childrenIds); } - if(deviceInfoList != null && !deviceInfoList.isEmpty()) { - deviceInfoList.forEach(item -> { - boolean b = checkDevicePerm(2, item.getDeviceId()); + if(mdcEquipmentList != null && !mdcEquipmentList.isEmpty()) { + mdcEquipmentList.forEach(item -> { + boolean b = checkDevicePerm(2, item.getId()); if(b) { b = assignAddUser(item, userList); if(!b) @@ -318,29 +331,29 @@ }else if(relativeFlag == 2) { if(nodeType == 1) { //鍒嗘壒鍒嗙粍鏉冮檺 - DeviceGroup deviceGroup = deviceGroupService.getById(paramId); - if(deviceGroup == null) { + MdcProduction mdcProduction = mdcProductionService.getById(paramId); + if(mdcProduction == null) { ExceptionCast.cast(DeviceGroupCode.DEVICE_GROUP_NOT_EXIST); } - boolean b = checkDevicePerm(1, deviceGroup.getGroupId()); + boolean b = checkDevicePerm(1, mdcProduction.getId()); if(!b) { ExceptionCast.cast(DeviceGroupCode.DEVICE_GROUP_PERM_ERROR); } - b = deviceGroupService.assignAddUser(deviceGroup, userList); + b = deviceGroupPermissionService.assignAddUser(mdcProduction, userList); if(!b) { ExceptionCast.cast(DeviceGroupCode.DEVICE_GROUP_PERM_ERROR); } return true; }else if(nodeType == 2) { //鍒嗛厤璁惧鏉冮檺 - DeviceInfo deviceInfo = super.getById(paramId); - if(deviceInfo == null) + MdcEquipment mdcEquipment=mdcEquipmentService.getById(paramId); + if(mdcEquipment == null) ExceptionCast.cast(DeviceCode.DEVICE_NOT_EXIST); - boolean b = checkDevicePerm(2, deviceInfo.getDeviceId()); + boolean b = checkDevicePerm(2, mdcEquipment.getId()); if(!b) { ExceptionCast.cast(DeviceCode.DEVICE_USER_PERM_ERROR); } - b = assignAddUser(deviceInfo, userList); + b = assignAddUser(mdcEquipment, userList); if(!b) { ExceptionCast.cast(DeviceCode.DEVICE_USER_PERM_ERROR); } @@ -352,25 +365,27 @@ @Override @Transactional(rollbackFor = {Exception.class}) - public boolean assignAddUser(DeviceInfo deviceInfo, Collection<SysUser> userList) { - if(deviceInfo == null || userList == null || userList.isEmpty()) + public boolean assignAddUser(MdcEquipment mdcEquipment, Collection<SysUser> userList) { + if(mdcEquipment == null || userList == null || userList.isEmpty()) ExceptionCast.cast(CommonCode.INVALID_PARAM); + MdcProductionEquipment mdcProductionEquipment=mdcProductionEquipmentService + .list(new QueryWrapper<MdcProductionEquipment>().eq("equipment_id",mdcEquipment.getId())).get(0); List<DevicePermission> permissionList = new ArrayList<>(); List<DevicePermissionStream> permissionStreamList = new ArrayList<>(); userList.forEach(item -> { - DevicePermission en = devicePermissionService.getByUserIdAndDeviceId(item.getId(), deviceInfo.getDeviceId()); + DevicePermission en = devicePermissionService.getByUserIdAndDeviceId(item.getId(), mdcEquipment.getId()); if(en == null) { en = new DevicePermission(); en.setUserId(item.getId()); - en.setDeviceId(deviceInfo.getDeviceId()); + en.setDeviceId(mdcEquipment.getId()); permissionList.add(en); } - DevicePermissionStream stream = devicePermissionStreamService.getByDeviceIdAndUserId(deviceInfo.getGroupId(), deviceInfo.getDeviceId(), item.getId()); + DevicePermissionStream stream = devicePermissionStreamService.getByDeviceIdAndUserId(mdcProductionEquipment.getId(), mdcEquipment.getId(), item.getId()); if(stream == null) { stream = new DevicePermissionStream(); stream.setUserId(item.getId()); - stream.setGroupId(deviceInfo.getGroupId()); - stream.setDeviceId(deviceInfo.getDeviceId()); + stream.setGroupId(mdcProductionEquipment.getId()); + stream.setDeviceId(mdcEquipment.getId()); permissionStreamList.add(stream); } }); @@ -391,23 +406,25 @@ @Override @Transactional(rollbackFor = {Exception.class}) - public boolean assignRemoveUser(DeviceInfo deviceInfo, Collection<SysUser> userList) { - if(deviceInfo == null || userList == null || userList.isEmpty()) + public boolean assignRemoveUser(MdcEquipment mdcEquipment, Collection<SysUser> userList) { + if(mdcEquipment == null || userList == null || userList.isEmpty()) ExceptionCast.cast(CommonCode.INVALID_PARAM); + MdcProductionEquipment mdcProductionEquipment=mdcProductionEquipmentService + .list(new QueryWrapper<MdcProductionEquipment>().eq("equipment_id",mdcEquipment.getId())).get(0); List<DevicePermission> permissionList = new ArrayList<>(); List<DevicePermissionStream> permissionStreamList = new ArrayList<>(); userList.forEach(item -> { - DevicePermission en = devicePermissionService.getByUserIdAndDeviceId(item.getId(), deviceInfo.getDeviceId()); + DevicePermission en = devicePermissionService.getByUserIdAndDeviceId(item.getId(), mdcEquipment.getId()); if(en != null) { permissionList.add(en); } - DevicePermissionStream stream = devicePermissionStreamService.getByDeviceIdAndUserId(deviceInfo.getGroupId(), deviceInfo.getDeviceId(), item.getId()); + DevicePermissionStream stream = devicePermissionStreamService.getByDeviceIdAndUserId(mdcProductionEquipment.getId(), mdcEquipment.getId(), item.getId()); if(stream != null) { permissionStreamList.add(stream); } }); //鏍¢獙娓呯┖鐢ㄦ埛鏉冮檺 - List<DevicePermission> existList = devicePermissionService.getByDeviceId(deviceInfo.getDeviceId()); + List<DevicePermission> existList = devicePermissionService.getByDeviceId(mdcEquipment.getId()); if(existList.size() <= permissionList.size()) ExceptionCast.cast(DeviceCode.DEVICE_USER_NONE); if(!permissionList.isEmpty()) { @@ -456,43 +473,43 @@ ExceptionCast.cast(CommonCode.INVALID_PARAM); if(relativeFlag == 1 && nodeType == 1) { //鍒嗛厤鍒嗙粍鏉冮檺鎵嶅彲鍚戜笅浼犻�掔敤鎴� - DeviceGroup deviceGroup = deviceGroupService.getById(paramId); - if(deviceGroup == null) { + MdcProduction mdcProduction=mdcProductionService.getById(paramId); + if(mdcProduction == null) { ExceptionCast.cast(DeviceGroupCode.DEVICE_GROUP_NOT_EXIST); } - boolean b1 = checkDevicePerm(1, deviceGroup.getGroupId()); + boolean b1 = checkDevicePerm(1, mdcProduction.getId()); if(!b1) { ExceptionCast.cast(DeviceGroupCode.DEVICE_GROUP_PERM_ERROR); } - b1 = deviceGroupService.assignRemoveUser(deviceGroup, userList); + b1 = deviceGroupPermissionService.assignRemoveUser(mdcProduction, userList); if(!b1) { ExceptionCast.cast(DeviceGroupCode.DEVICE_GROUP_PERM_ERROR); } //鑾峰彇鍒嗙粍涓嬫墍鏈夌殑瀛愬垎缁� - List<DeviceGroup> childrenList = deviceGroupService.getChildrenByParentId(deviceGroup.getGroupId()); + List<MdcProduction> childrenList = mdcProductionService.queryProdByPid(mdcProduction.getId()); List<String> childrenIds = new ArrayList<>(); if(childrenList != null && !childrenList.isEmpty()) { childrenList.forEach(item -> { - childrenIds.add(item.getGroupId()); - boolean b = checkDevicePerm(1, item.getGroupId()); + childrenIds.add(item.getId()); + boolean b = checkDevicePerm(1, item.getId()); if(b) { - b = deviceGroupService.assignRemoveUser(item, userList); + b = deviceGroupPermissionService.assignRemoveUser(mdcProduction, userList); if(!b) { ExceptionCast.cast(DeviceGroupCode.DEVICE_GROUP_PERM_ERROR); } } }); } - List<DeviceInfo> deviceInfoList = null; + List<MdcEquipment> mdcEquipmentList = null; if(childrenIds.isEmpty()) { - deviceInfoList = getByGroupId(deviceGroup.getGroupId()); + mdcEquipmentList =mdcProductionEquipmentService.queryEquipmentsOfProduction(mdcProduction.getId()); }else { - childrenIds.add(deviceGroup.getGroupId()); - deviceInfoList = getByGroupIdList(childrenIds); + childrenIds.add(mdcProduction.getId()); + mdcEquipmentList = mdcProductionEquipmentService.queryEquipmentsOfProductions(childrenIds); } - if(deviceInfoList != null && !deviceInfoList.isEmpty()) { - deviceInfoList.forEach(item -> { - boolean b = checkDevicePerm(2, item.getDeviceId()); + if(mdcEquipmentList != null && !mdcEquipmentList.isEmpty()) { + mdcEquipmentList.forEach(item -> { + boolean b = checkDevicePerm(2, item.getId()); if(b) { b = assignRemoveUser(item, userList); if(!b) @@ -504,29 +521,29 @@ }else if(relativeFlag == 2) { if(nodeType == 1) { //鍒嗘壒鍒嗙粍鏉冮檺 - DeviceGroup deviceGroup = deviceGroupService.getById(paramId); - if(deviceGroup == null) { + MdcProduction mdcProduction = mdcProductionService.getById(paramId); + if(mdcProduction == null) { ExceptionCast.cast(DeviceGroupCode.DEVICE_GROUP_NOT_EXIST); } - boolean b = checkDevicePerm(1, deviceGroup.getGroupId()); + boolean b = checkDevicePerm(1, mdcProduction.getId()); if(!b) { ExceptionCast.cast(DeviceGroupCode.DEVICE_GROUP_PERM_ERROR); } - b = deviceGroupService.assignRemoveUser(deviceGroup, userList); + b = deviceGroupPermissionService.assignRemoveUser(mdcProduction, userList); if(!b) { ExceptionCast.cast(DeviceGroupCode.DEVICE_GROUP_PERM_ERROR); } return true; }else if(nodeType == 2) { //鍒嗛厤璁惧鏉冮檺 - DeviceInfo deviceInfo = super.getById(paramId); - if(deviceInfo == null) + MdcEquipment mdcEquipment=mdcEquipmentService.getById(paramId); + if(mdcEquipment == null) ExceptionCast.cast(DeviceCode.DEVICE_NOT_EXIST); - boolean b = checkDevicePerm(2, deviceInfo.getDeviceId()); + boolean b = checkDevicePerm(2, mdcEquipment.getId()); if(!b) { ExceptionCast.cast(DeviceCode.DEVICE_USER_PERM_ERROR); } - b = assignRemoveUser(deviceInfo, userList); + b = assignRemoveUser(mdcEquipment, userList); if(!b) { ExceptionCast.cast(DeviceCode.DEVICE_USER_PERM_ERROR); } diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocInfoServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocInfoServiceImpl.java index 9ebf535..d80aefb 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocInfoServiceImpl.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocInfoServiceImpl.java @@ -16,6 +16,7 @@ import org.jeecg.modules.dnc.exception.ExceptionCast; import org.jeecg.modules.dnc.mapper.DocInfoMapper; import org.jeecg.modules.dnc.service.*; +import org.jeecg.modules.dnc.utils.CamelToSnakeRegex; import org.jeecg.modules.dnc.utils.ValidateUtil; @@ -38,7 +39,9 @@ import javax.servlet.http.HttpServletResponse; import java.io.File; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; @Service public class DocInfoServiceImpl extends ServiceImpl<DocInfoMapper, DocInfo> implements IDocInfoService { @@ -579,11 +582,33 @@ queryWrapper.eq(StrUtil.isNotEmpty(docNameArr[1]), "u.doc_suffix", docNameArr[1]); } } - queryWrapper.ge(StrUtil.isNotEmpty(docQuery.getStartTime()),"date_format(u.create_time,'%Y-%m-%d %H:%i:%s')",docQuery.getStartTime()); - queryWrapper.le(StrUtil.isNotEmpty(docQuery.getEndTime()),"date_format(u.create_time,'%Y-%m-%d %H:%i:%s')",docQuery.getEndTime()); - queryWrapper.orderByDesc("u.create_time"); + getDocQuery(docQuery, queryWrapper); IPage<DocInfo> docInfoIPage = super.getBaseMapper().findDocExtList(pageData, queryWrapper); return Result.ok(docInfoIPage); + } + + private void getDocQuery(DocInfoQueryRequest docQuery, QueryWrapper<DocInfo> queryWrapper) { + if (docQuery.getDocStatus() != null && docQuery.getDocStatus().contains(",")) { + String[] docStatusArray = docQuery.getDocStatus().split(","); + List<Integer> docStatusList = Arrays.stream(docStatusArray).map(Integer::parseInt).collect(Collectors.toList()); + queryWrapper.in("u.doc_status",docStatusList); + }else { + queryWrapper.eq(StrUtil.isNotEmpty(docQuery.getDocStatus()),"u.doc_status",docQuery.getDocStatus()); + } + if (StrUtil.isNotEmpty(docQuery.getPullStatus())){ + if (("1").equals(docQuery.getPullStatus())){ + queryWrapper.isNull("o.doc_id"); + }else if (("2").equals(docQuery.getPullStatus())){ + queryWrapper.isNotNull("o.doc_id"); + } + } + queryWrapper.ge(StrUtil.isNotEmpty(docQuery.getStartTime()),"u.create_time",docQuery.getStartTime()+" 00:00:00"); + queryWrapper.le(StrUtil.isNotEmpty(docQuery.getEndTime()),"u.create_time",docQuery.getEndTime()+" 23:59:59"); + if (("desc").equals(docQuery.getOrder())){ + queryWrapper.orderByDesc("u."+ CamelToSnakeRegex.camelToSnake(docQuery.getColumn())); + }else { + queryWrapper.orderByAsc("u."+CamelToSnakeRegex.camelToSnake(docQuery.getColumn())); + } } @Override @@ -674,7 +699,7 @@ public boolean deleteByProcessId(String processId) { if(!ValidateUtil.validateString(processId)) ExceptionCast.cast(CommonCode.INVALID_PARAM); - Integer attrType = 4; + Integer attrType = 5; boolean b = docFileService.deleteByDocAttr(attrType, processId); if(!b) ExceptionCast.cast(CommonCode.FAIL); @@ -683,6 +708,27 @@ ExceptionCast.cast(CommonCode.FAIL); } return docRelativeService.deleteByDocAttr(attrType, processId); + } + + /** + * 鍒犻櫎宸ユ涓嬬殑鎵�鏈夋枃妗� + * @param stepId + * @return + */ + @Override + @Transactional(rollbackFor = {Exception.class}) + public boolean deleteByStepId(String stepId){ + if(!ValidateUtil.validateString(stepId)) + ExceptionCast.cast(CommonCode.INVALID_PARAM); + Integer attrType = 6; + boolean b = docFileService.deleteByDocAttr(attrType, stepId); + if(!b) + ExceptionCast.cast(CommonCode.FAIL); + b = deleteByDocAttr(attrType, stepId); + if(!b) { + ExceptionCast.cast(CommonCode.FAIL); + } + return docRelativeService.deleteByDocAttr(attrType, stepId); } @Override @@ -778,9 +824,34 @@ queryWrapper.eq(StrUtil.isNotEmpty(docNameArr[1]), "u.doc_suffix", docNameArr[1]); } } - queryWrapper.ge(StrUtil.isNotEmpty(docQuery.getStartTime()),"date_format(u.create_time,'%Y-%m-%d %H:%i:%s')",docQuery.getStartTime()); - queryWrapper.le(StrUtil.isNotEmpty(docQuery.getEndTime()),"date_format(u.create_time,'%Y-%m-%d %H:%i:%s')",docQuery.getEndTime()); - queryWrapper.orderByDesc("u.create_time"); + if (docQuery.getDocStatus() != null && docQuery.getDocStatus().contains(",")) { + String[] docStatusArray = docQuery.getDocStatus().split(","); + List<Integer> docStatusList = Arrays.stream(docStatusArray).map(Integer::parseInt).collect(Collectors.toList()); + queryWrapper.in("u.doc_status",docStatusList); + }else { + queryWrapper.eq(StrUtil.isNotEmpty(docQuery.getDocStatus()),"u.doc_status",docQuery.getDocStatus()); + } + if (StrUtil.isNotEmpty(docQuery.getPullStatus())){ + if (("1").equals(docQuery.getPullStatus())){ + queryWrapper.isNull("o.doc_id"); + }else if (("2").equals(docQuery.getPullStatus())){ + queryWrapper.isNotNull("o.doc_id"); + } + } + if (docQuery.getSyncStatus()!=null){ + if (docQuery.getSyncStatus()==1){ + queryWrapper.isNotNull("t.sync_flag"); + }else if (docQuery.getSyncStatus()==2){ + queryWrapper.isNull("t.sync_flag"); + } + } + queryWrapper.ge(StrUtil.isNotEmpty(docQuery.getStartTime()),"u.create_time",docQuery.getStartTime()+" 00:00:00"); + queryWrapper.le(StrUtil.isNotEmpty(docQuery.getEndTime()),"u.create_time",docQuery.getEndTime()+" 23:59:59"); + if (("desc").equals(docQuery.getOrder())){ + queryWrapper.orderByDesc("u."+ CamelToSnakeRegex.camelToSnake(docQuery.getColumn())); + }else { + queryWrapper.orderByAsc("u."+CamelToSnakeRegex.camelToSnake(docQuery.getColumn())); + } IPage<DocInfo> docInfoIPage = super.getBaseMapper().findDeviceDocExtList(pageData, queryWrapper); if (docInfoIPage != null && docInfoIPage.getRecords() != null && !docInfoIPage.getRecords().isEmpty()) { for (DocInfo d : docInfoIPage.getRecords()) { @@ -815,9 +886,7 @@ queryWrapper.eq(StrUtil.isNotEmpty(docNameArr[1]), "u.doc_suffix", docNameArr[1]); } } - queryWrapper.ge(StrUtil.isNotEmpty(docQuery.getStartTime()),"date_format(u.create_time,'%Y-%m-%d %H:%i:%s')",docQuery.getStartTime()); - queryWrapper.le(StrUtil.isNotEmpty(docQuery.getEndTime()),"date_format(u.create_time,'%Y-%m-%d %H:%i:%s')",docQuery.getEndTime()); - queryWrapper.orderByDesc("u.create_time"); + getDocQuery(docQuery, queryWrapper); return super.getBaseMapper().findDocExtList(queryWrapper); } diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocRelativeServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocRelativeServiceImpl.java index 2463c9b..3322582 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocRelativeServiceImpl.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/DocRelativeServiceImpl.java @@ -88,11 +88,11 @@ if (b && docRel) { DocInfo info = docInfoMapper.selectById(docId); //todo 淇敼涓簃dc璁惧 - DeviceInfo deviceInfo = deviceInfoService.getById(attrId); - List<String> strings = deviceGroupService.findListParentTreeAll(deviceInfo.getGroupId()); + MdcEquipment mdcEquipment=iMdcEquipmentService.getById(attrId); + List<String> strings = iMdcProductionService.findListParentTreeAll(mdcEquipment.getId()); if (strings != null && !strings.isEmpty()) { String path = StringUtils.join(strings.toArray(), "/"); - boolean deleteFile = FileUtilS.deleteFilePathZip(path + "/"+ deviceInfo.getDeviceNo(), + boolean deleteFile = FileUtilS.deleteFilePathZip(path + "/"+ mdcEquipment.getEquipmentId(), info.getDocName(), info.getDocSuffix()); if (!deleteFile) { return false; @@ -118,8 +118,8 @@ //澶勭悊鏂囦欢鍚嶇О 鏂囦欢璺緞 NcTxtFilePathInfo ncTxt = new NcTxtFilePathInfo(); - ncTxt.setEquipmentId(deviceInfo.getDeviceNo()); - ncTxt.setFilePath(path + "/"+ deviceInfo.getDeviceNo() + "/" ); + ncTxt.setEquipmentId(mdcEquipment.getEquipmentId()); + ncTxt.setFilePath(path + "/"+ mdcEquipment.getEquipmentId() + "/" ); ncTxt.setFileTxtName("02A"+DateUtil.format(DateUtil.getNow(),DateUtil.STR_YEARMONTHDAY)+sequence); ncTxt.setOrigFileName(info.getDocName()); ncTxt.setOrigFileSuffix(info.getDocSuffix()); diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/PartsInfoServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/PartsInfoServiceImpl.java index 7b67da4..414797d 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/PartsInfoServiceImpl.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/PartsInfoServiceImpl.java @@ -2,6 +2,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.shiro.SecurityUtils; @@ -54,6 +55,8 @@ private IDocInfoService docInfoService; @Autowired private INcLogInfoService iNcLogInfoService; + @Autowired + private IDocRelativeService iDocRelativeService; @Override @Transactional(rollbackFor = {Exception.class}) public boolean addPartsInfo(PartsInfo partsInfo) { @@ -273,6 +276,11 @@ if(processStreams != null && !processStreams.isEmpty()) ExceptionCast.cast(PartsInfoCode.PARTS_PROCESS_EXIST); boolean b = partsPermissionService.deleteByPartsId(partsInfo.getPartsId()); + //楠岃瘉鏄惁瀛樺湪鏂囨。 + List<DocRelative> docRelativeList=iDocRelativeService.list(new QueryWrapper<DocRelative>().eq("attribution_type","3").eq("attribution_id",partsId)); + if (!docRelativeList.isEmpty()){ + ExceptionCast.cast(PartsInfoCode.PARTS_DOC_EXIST); + } if(!b) ExceptionCast.cast(CommonCode.FAIL); b = partsDepartmentService.deleteByPartsId(partsInfo.getPartsId()); @@ -284,18 +292,6 @@ b = permissionStreamService.deleteDepartPermsByPartsId(partsInfo.getProductId(), partsInfo.getComponentId(), partsInfo.getPartsId()); if(!b) ExceptionCast.cast(CommonCode.FAIL); - b = docInfoService.deleteByPartsId(partsInfo.getPartsId()); - if(!b) - ExceptionCast.cast(CommonCode.FAIL); - //娣诲姞鏃ュ織 - NcLogInfo ncLogInfo = new NcLogInfo(); - //妯″潡 - ncLogInfo.setModuleInfo("浜у搧缁撴瀯鏍�"); - //绫诲瀷 - ncLogInfo.setOperateType(4); - //鏃ュ織鍐呭 - ncLogInfo.setLogContent("闆朵欢鍚嶇О锛�"+partsInfo.getPartsName()); - iNcLogInfoService.saveLogNcInfos(ncLogInfo); return super.removeById(partsInfo.getPartsId()); } diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/PermissionStreamServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/PermissionStreamServiceImpl.java index 869a95b..9f8de34 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/PermissionStreamServiceImpl.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/PermissionStreamServiceImpl.java @@ -137,6 +137,19 @@ } @Override + public List<PermissionStream> getByProcessId(String productId, String componentId, String partsId, String processId){ + if(!ValidateUtil.validateString(productId) || !ValidateUtil.validateString(componentId) + || !ValidateUtil.validateString(partsId) || !ValidateUtil.validateString(processId)) + return null; + List<PermissionStream> list = super.lambdaQuery().eq(PermissionStream::getProductId, productId). + isNull(PermissionStream::getUserId).eq(PermissionStream::getComponentId, componentId) + .eq(PermissionStream::getPartsId, partsId).eq(PermissionStream::getProcessId,processId).list(); + if(list == null || list.isEmpty()) + return null; + return list; + } + + @Override @Transactional(rollbackFor = {Exception.class}) public boolean deleteUserPermsByProductId(String productId) { if(!ValidateUtil.validateString(productId)) diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProcessStreamServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProcessStreamServiceImpl.java index 6462d98..b6d842d 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProcessStreamServiceImpl.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProcessStreamServiceImpl.java @@ -3,6 +3,7 @@ import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -51,6 +52,10 @@ private IPermissionStreamService permissionStreamService; @Autowired private IProcessionDepartmentService processionDepartmentService; + @Autowired + private IWorkStepService workStepService; + @Autowired + private IDocRelativeService iDocRelativeService; @Override @Transactional(rollbackFor = {Exception.class}) @@ -166,18 +171,16 @@ ProcessStream en = super.getById(id); if(en == null) ExceptionCast.cast(ProcessInfoCode.PROCESS_NOT_EXIST); - boolean b = docInfoService.deleteByProcessId(en.getProcessId()); - if(!b) - ExceptionCast.cast(CommonCode.FAIL); - //娣诲姞鏃ュ織 - NcLogInfo ncLogInfo = new NcLogInfo(); - //妯″潡 - ncLogInfo.setModuleInfo("浜у搧缁撴瀯鏍�"); - //绫诲瀷 - ncLogInfo.setOperateType(4); - //鏃ュ織鍐呭 - ncLogInfo.setLogContent("宸ュ簭鍙凤細"+en.getProcessCode()); - iNcLogInfoService.saveLogNcInfos(ncLogInfo); + //楠岃瘉宸ュ簭涓嬫槸鍚︽湁宸ユ + List<WorkStep> workStepList=workStepService.list(new QueryWrapper<WorkStep>().eq("process_id",id)); + if(workStepList != null && !workStepList.isEmpty()) { + ExceptionCast.cast(ProcessInfoCode.WORKSTEP_HAS_DATA); + } + //楠岃瘉鏄惁瀛樺湪鏂囨。 + List<DocRelative> docRelativeList=iDocRelativeService.list(new QueryWrapper<DocRelative>().eq("attribution_type","5").eq("attribution_id",id)); + if (!docRelativeList.isEmpty()){ + ExceptionCast.cast(ProcessInfoCode.PROCESS_HAS_DOC); + } return super.removeById(id); } diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProductInfoServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProductInfoServiceImpl.java index d7a58a7..c7867fa 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProductInfoServiceImpl.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProductInfoServiceImpl.java @@ -76,6 +76,8 @@ private IProcessionDepartmentService processionDepartmentService; @Autowired private IMdcProductionService mdcProductionService; + @Autowired + private IDocRelativeService iDocRelativeService; @Override @Transactional(rollbackFor = {Exception.class}) @@ -236,6 +238,11 @@ if(processStreams != null && !processStreams.isEmpty()) ExceptionCast.cast(ProductInfoCode.PRODUCT_PROCESS_EXIST); boolean b = productPermissionService.deleteByProductId(id); + //楠岃瘉鏄惁瀛樺湪鏂囨。 + List<DocRelative> docRelativeList=iDocRelativeService.list(new QueryWrapper<DocRelative>().eq("attribution_type","1").eq("attribution_id",id)); + if (!docRelativeList.isEmpty()){ + ExceptionCast.cast(ProductInfoCode.PRODUCT_DOC_EXIST); + } if(!b) ExceptionCast.cast(CommonCode.FAIL); b = productDepartmentService.deleteByProductId(id); @@ -247,18 +254,6 @@ b = permissionStreamService.deleteDepartPermsByProductId(id); if(!b) ExceptionCast.cast(CommonCode.FAIL); - b = docInfoService.deleteByProductId(id); - if(!b) - ExceptionCast.cast(CommonCode.FAIL); - //娣诲姞鏃ュ織 - NcLogInfo ncLogInfo = new NcLogInfo(); - //妯″潡 - ncLogInfo.setModuleInfo("浜у搧缁撴瀯鏍�"); - //绫诲瀷 - ncLogInfo.setOperateType(4); - //鏃ュ織鍐呭 - ncLogInfo.setLogContent("浜у搧鍚嶇О锛�"+productInfo.getProductName()); - iNcLogInfoService.saveLogNcInfos(ncLogInfo); return super.removeById(id); } @@ -1926,4 +1921,27 @@ return ProductTreeWrapper.loadTree(productInfoList, componentExtList, partsInfos,processStreams,workSteps); } + + @Override + public boolean deleteProductTree(String id, Integer type){ + switch (type) { + //浜у搧 + case 1: + return deleteProductInfo(id); + //閮ㄩ棬 + case 2: + return componentInfoService.deleteComponentInfo(id); + //闆朵欢 + case 3: + return partsInfoService.deletePartsInfo(id); + //宸ュ簭 + case 5: + return processStreamService.deleteProcessStream(id); + //宸ユ + case 6: + return workStepService.deleteWorkStep(id); + default: + } + return false; + } } diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/WorkStepServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/WorkStepServiceImpl.java index e058330..0c6c8b0 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/WorkStepServiceImpl.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/WorkStepServiceImpl.java @@ -17,11 +17,7 @@ import org.jeecg.modules.dnc.response.ProcessInfoCode; import org.jeecg.modules.dnc.response.ProductInfoCode; import org.jeecg.modules.dnc.response.UcenterCode; -import org.jeecg.modules.dnc.service.IPartsInfoService; -import org.jeecg.modules.dnc.service.IPermissionStreamService; -import org.jeecg.modules.dnc.service.IWorkStepDepartmentService; -import org.jeecg.modules.dnc.service.IWorkStepService; -import org.jeecg.modules.dnc.ucenter.Department; +import org.jeecg.modules.dnc.service.*; import org.jeecg.modules.dnc.utils.ValidateUtil; import org.jeecg.modules.system.entity.MdcProduction; import org.springframework.beans.factory.annotation.Autowired; @@ -48,6 +44,12 @@ @Autowired private IWorkStepDepartmentService workStepDepartmentService; + + @Autowired + private IDocInfoService docInfoService; + + @Autowired + private IDocRelativeService iDocRelativeService; @Override public List<WorkStep> getByUserPerms(String userId) { @@ -258,4 +260,23 @@ return true; } + /** + * 鍒犻櫎宸ユ淇℃伅 閫昏緫鍒犻櫎 + * @param id + * @return + */ + public boolean deleteWorkStep(String id){ + if(!ValidateUtil.validateString(id)) + ExceptionCast.cast(CommonCode.INVALID_PARAM); + WorkStep en = super.getById(id); + if(en == null) + ExceptionCast.cast(ProcessInfoCode.PROCESS_NOT_EXIST); + //楠岃瘉鏄惁瀛樺湪鏂囨。 + List<DocRelative> docRelativeList=iDocRelativeService.list(new QueryWrapper<DocRelative>().eq("attribution_type","6").eq("attribution_id",id)); + if (!docRelativeList.isEmpty()){ + ExceptionCast.cast(ProcessInfoCode.WORKSTEP_HAS_DOC); + } + return super.removeById(id); + } + } diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/utils/CamelToSnakeRegex.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/utils/CamelToSnakeRegex.java new file mode 100644 index 0000000..89b7dba --- /dev/null +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/utils/CamelToSnakeRegex.java @@ -0,0 +1,20 @@ +package org.jeecg.modules.dnc.utils; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class CamelToSnakeRegex { + /** + * 椹煎嘲杞笅鍒掔嚎 + **/ + public static String camelToSnake(String camelCase) { + Pattern pattern = Pattern.compile("[A-Z]"); + Matcher matcher = pattern.matcher(camelCase); + StringBuffer sb = new StringBuffer(); + while (matcher.find()) { + matcher.appendReplacement(sb, "_" + matcher.group(0).toLowerCase()); + } + matcher.appendTail(sb); + return sb.toString(); + } +} diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/DncDevicePermission.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/DncDevicePermission.java new file mode 100644 index 0000000..7fbf449 --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/DncDevicePermission.java @@ -0,0 +1,29 @@ +package org.jeecg.modules.mdc.entity; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonIgnore; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +@Data +@NoArgsConstructor +@TableName(value = "nc_device_permission") +public class DncDevicePermission { + @TableId(value = "device_perm_id") + private String devicePermId; + @TableField(value = "device_id") + private String deviceId; + @TableField(value = "user_id") + private String userId; + @JsonIgnore + @TableField(value = "create_time", select = false, fill = FieldFill.INSERT) + private Date createTime; + @JsonIgnore + @TableField(value = "create_by", select = false, fill = FieldFill.INSERT) + private String createBy; +} diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/DncDevicePermissionMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/DncDevicePermissionMapper.java new file mode 100644 index 0000000..4202a94 --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/DncDevicePermissionMapper.java @@ -0,0 +1,13 @@ +package org.jeecg.modules.mdc.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.mdc.entity.DncDevicePermission; + +/** + * @author: Lyh + * @description: 璁惧鏉冮檺Mapper鎺ュ彛 + * @create: 2023-04-07 11:17 + */ +public interface DncDevicePermissionMapper extends BaseMapper<DncDevicePermission> { + +} diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcProductionEquipmentService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcProductionEquipmentService.java index 0214638..2faef29 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcProductionEquipmentService.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcProductionEquipmentService.java @@ -1,6 +1,7 @@ package org.jeecg.modules.mdc.service; import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.mdc.entity.MdcEquipment; import org.jeecg.modules.system.entity.MdcProductionEquipment; import org.jeecg.modules.system.model.ProductionIdModel; @@ -16,4 +17,14 @@ * 鏍规嵁鎸囧畾璁惧id鏌ヨ浜х嚎淇℃伅 */ List<ProductionIdModel> queryProductionIdsOfEquipment(String equipmentId); + + /** + * 鏍规嵁鎸囧畾浜х嚎id鏌ヨ璁惧淇℃伅 + */ + List<MdcEquipment> queryEquipmentsOfProduction(String productionId); + + /** + * 鏍规嵁鎸囧畾浜х嚎ids鏌ヨ璁惧淇℃伅 + */ + List<MdcEquipment> queryEquipmentsOfProductions(List<String> productionIds); } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java index b71a4db..84ee56f 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java @@ -7,15 +7,18 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; import org.jeecg.common.api.dto.message.MessageDTO; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.system.api.ISysBaseAPI; +import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.mdc.dto.MdcEquDepDto; import org.jeecg.modules.mdc.dto.MdcEquProDto; import org.jeecg.modules.mdc.dto.MdcEquipmentDetailedDto; import org.jeecg.modules.mdc.dto.MdcEquipmentDto; import org.jeecg.modules.mdc.entity.*; +import org.jeecg.modules.mdc.mapper.DncDevicePermissionMapper; import org.jeecg.modules.mdc.mapper.MdcEquipmentMapper; import org.jeecg.modules.mdc.mapper.MdcTorqueConfigMapper; import org.jeecg.modules.mdc.model.MdcEquipmentTree; @@ -92,6 +95,9 @@ @Resource private ISysParamsService ISysParamsService; + @Resource + private DncDevicePermissionMapper dncDevicePermissionMapper; + @Override public Map<String, String> getDepNamesByEquipmentIds(List<String> equipmentIds) { @@ -139,6 +145,13 @@ } //step.1 淇濆瓨璁惧 this.save(mdcEquipment); + //DNC娣诲姞璁惧鏉冮檺 + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String userId = user.getId(); + DncDevicePermission dncDevicePermission=new DncDevicePermission(); + dncDevicePermission.setDeviceId(mdcEquipment.getId()); + dncDevicePermission.setUserId(userId); + dncDevicePermissionMapper.insert(dncDevicePermission); //step.2 淇濆瓨鎵�灞為儴闂� if (oConvertUtils.isNotEmpty(selectedDeparts)) { String[] arr = selectedDeparts.split(","); @@ -161,6 +174,22 @@ @Transactional(rollbackFor = Exception.class) @CacheEvict(value = {"mdc:cache:encrypt:equipment"}, allEntries = true) public void editMdcEquipment(MdcEquipment mdcEquipment) { + if (mdcEquipment.getSystemValue()!=null) { + switch (mdcEquipment.getSystemValue()){ + case "1": + mdcEquipment.setDeviceTypeDnc("1"); + mdcEquipment.setDeviceTypeMdc("0"); + break; + case "2": + mdcEquipment.setDeviceTypeDnc("0"); + mdcEquipment.setDeviceTypeMdc("1"); + break; + case "3": + mdcEquipment.setDeviceTypeDnc("1"); + mdcEquipment.setDeviceTypeMdc("1"); + break; + } + } //step.1 淇敼璁惧鍩虹淇℃伅 this.updateById(mdcEquipment); //step.2 淇敼閮ㄩ棬 diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcProductionEquipmentServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcProductionEquipmentServiceImpl.java index 6ad3383..1a7675d 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcProductionEquipmentServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcProductionEquipmentServiceImpl.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.jeecg.modules.mdc.entity.MdcEquipment; +import org.jeecg.modules.mdc.service.IMdcEquipmentService; import org.jeecg.modules.mdc.service.IMdcProductionEquipmentService; import org.jeecg.modules.system.entity.MdcProduction; import org.jeecg.modules.system.entity.MdcProductionEquipment; @@ -13,6 +15,7 @@ import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** * @author: LiuS @@ -23,6 +26,8 @@ @Resource private IMdcProductionService mdcProductionService; + @Resource + private IMdcEquipmentService mdcEquipmentService; /** * 鏍规嵁璁惧id鏌ヨ浜х嚎淇℃伅 @@ -54,4 +59,29 @@ } return null; } + /** + * 鏍规嵁鎸囧畾浜х嚎id鏌ヨ璁惧淇℃伅 + */ + @Override + public List<MdcEquipment> queryEquipmentsOfProduction(String productionId){ + List<String> equipmentIds = this.list(new LambdaQueryWrapper<MdcProductionEquipment>().eq(MdcProductionEquipment::getProductionId, productionId)) + .stream().map(MdcProductionEquipment::getEquipmentId).collect(Collectors.toList()); + if (!equipmentIds.isEmpty()) { + return mdcEquipmentService.list(new LambdaQueryWrapper<MdcEquipment>().in(MdcEquipment::getId, equipmentIds)); + } + return null; + } + + /** + * 鏍规嵁鎸囧畾浜х嚎ids鏌ヨ璁惧淇℃伅 + */ + @Override + public List<MdcEquipment> queryEquipmentsOfProductions(List<String> productionIds){ + List<String> equipmentIds = this.list(new LambdaQueryWrapper<MdcProductionEquipment>() + .in(MdcProductionEquipment::getProductionId, productionIds)).stream().map(MdcProductionEquipment::getEquipmentId).collect(Collectors.toList()); + if (!equipmentIds.isEmpty()) { + return mdcEquipmentService.list(new LambdaQueryWrapper<MdcEquipment>().in(MdcEquipment::getId, equipmentIds)); + } + return null; + } } diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/DncDeviceGroupPermission.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/DncDeviceGroupPermission.java new file mode 100644 index 0000000..3133e48 --- /dev/null +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/DncDeviceGroupPermission.java @@ -0,0 +1,29 @@ +package org.jeecg.modules.system.entity; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonIgnore; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +@Data +@NoArgsConstructor +@TableName(value = "nc_device_group_permission") +public class DncDeviceGroupPermission { + @TableId(value = "group_perm_id") + private String groupPermId; + @TableField(value = "group_id") + private String groupId; + @TableField(value = "user_id") + private String userId; + @JsonIgnore + @TableField(value = "create_time", select = false, fill = FieldFill.INSERT) + private Date createTime; + @JsonIgnore + @TableField(value = "create_by", select = false, fill = FieldFill.INSERT) + private String createBy; +} diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/DncDeviceGroupPermissionMapper.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/DncDeviceGroupPermissionMapper.java new file mode 100644 index 0000000..d833355 --- /dev/null +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/DncDeviceGroupPermissionMapper.java @@ -0,0 +1,13 @@ +package org.jeecg.modules.system.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.system.entity.DncDeviceGroupPermission; + +/** + * @author: Lyh + * @description: 杞﹂棿鏉冮檺Mapper鎺ュ彛 + * @create: 2023-04-07 11:17 + */ +public interface DncDeviceGroupPermissionMapper extends BaseMapper<DncDeviceGroupPermission> { + +} diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/MdcProductionServiceImpl.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/MdcProductionServiceImpl.java index 1e330f5..e39af4e 100644 --- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/MdcProductionServiceImpl.java +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/MdcProductionServiceImpl.java @@ -6,18 +6,14 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.constant.FillRuleConstant; +import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.util.FillRuleUtil; import org.jeecg.common.util.oConvertUtils; -import org.jeecg.modules.system.entity.MdcProduction; -import org.jeecg.modules.system.entity.MdcProductionEquipment; -import org.jeecg.modules.system.entity.MdcUserProduction; -import org.jeecg.modules.system.entity.SysUser; -import org.jeecg.modules.system.mapper.MdcProductionEquipmentMapper; -import org.jeecg.modules.system.mapper.MdcProductionMapper; -import org.jeecg.modules.system.mapper.MdcUserProductionMapper; -import org.jeecg.modules.system.mapper.SysUserMapper; +import org.jeecg.modules.system.entity.*; +import org.jeecg.modules.system.mapper.*; import org.jeecg.modules.system.model.MdcProductionTreeModel; import org.jeecg.modules.system.model.ProductionIdModel; import org.jeecg.modules.system.service.IMdcProductionService; @@ -48,6 +44,8 @@ @Resource private MdcProductionEquipmentMapper productionEquipmentMapper; + @Resource + private DncDeviceGroupPermissionMapper dncDeviceGroupPermissionMapper; /** * queryTreeList 瀵瑰簲 queryTreeList 鏌ヨ鎵�鏈夌殑浜х嚎鏁版嵁,浠ユ爲缁撴瀯褰㈠紡鍝嶅簲缁欏墠绔� */ @@ -140,6 +138,13 @@ mdcProduction.setOrgType(String.valueOf(orgType)); mdcProduction.setDelFlag(CommonConstant.DEL_FLAG_0.toString()); this.save(mdcProduction); + //鏂板DNC杞﹂棿鏉冮檺 + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String userId = user.getId(); + DncDeviceGroupPermission dncDeviceGroupPermission=new DncDeviceGroupPermission(); + dncDeviceGroupPermission.setGroupPermId(mdcProduction.getId()); + dncDeviceGroupPermission.setUserId(userId); + dncDeviceGroupPermissionMapper.insert(dncDeviceGroupPermission); } } -- Gitblit v1.9.3