From bfcc5e7f2feebde631f1a442abca23bf5f659146 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=9D=E5=BD=AC?= <14779346+xswl_123@user.noreply.gitee.com> Date: Thu, 7 Aug 2025 09:14:16 +0800 Subject: [PATCH 01/15] =?UTF-8?q?8-7=20=E5=88=A0=E9=99=A4=E4=B8=8Etarget?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E4=B8=AD=E5=90=8C=E6=A0=B7=E7=9A=84ConvertsI?= =?UTF-8?q?mpl=E7=B1=BB=EF=BC=8C=E9=81=BF=E5=85=8D=E6=8B=89=E5=8F=96?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dite/znpt/converts/Impl/ConvertsImpl.java | 1351 ----------------- 1 file changed, 1351 deletions(-) delete mode 100644 core/src/main/java/com/dite/znpt/converts/Impl/ConvertsImpl.java diff --git a/core/src/main/java/com/dite/znpt/converts/Impl/ConvertsImpl.java b/core/src/main/java/com/dite/znpt/converts/Impl/ConvertsImpl.java deleted file mode 100644 index 842511e..0000000 --- a/core/src/main/java/com/dite/znpt/converts/Impl/ConvertsImpl.java +++ /dev/null @@ -1,1351 +0,0 @@ -package com.dite.znpt.converts.Impl; - -import com.dite.znpt.converts.Converts; -import com.dite.znpt.domain.entity.AttachInfoEntity; -import com.dite.znpt.domain.entity.AttendanceRecordEntity; -import com.dite.znpt.domain.entity.CertificationEntity; -import com.dite.znpt.domain.entity.CheckSchemeEntity; -import com.dite.znpt.domain.entity.DefectEntity; -import com.dite.znpt.domain.entity.DeptEntity; -import com.dite.znpt.domain.entity.EquipmentEntity; -import com.dite.znpt.domain.entity.EquipmentUseRecordEntity; -import com.dite.znpt.domain.entity.ImageCollectEntity; -import com.dite.znpt.domain.entity.ImageEntity; -import com.dite.znpt.domain.entity.InspectionReportEntity; -import com.dite.znpt.domain.entity.InsuranceCompanyEntity; -import com.dite.znpt.domain.entity.InsuranceInfoEntity; -import com.dite.znpt.domain.entity.InsuranceTypeEntity; -import com.dite.znpt.domain.entity.MaintainSuggestionEntity; -import com.dite.znpt.domain.entity.MenuEntity; -import com.dite.znpt.domain.entity.PartEntity; -import com.dite.znpt.domain.entity.PostEntity; -import com.dite.znpt.domain.entity.ProjectEntity; -import com.dite.znpt.domain.entity.RoleEntity; -import com.dite.znpt.domain.entity.TurbineEntity; -import com.dite.znpt.domain.entity.UserEntity; -import com.dite.znpt.domain.entity.WorkShiftEntity; -import com.dite.znpt.domain.vo.AttachInfoResp; -import com.dite.znpt.domain.vo.AttendanceRecordReq; -import com.dite.znpt.domain.vo.AttendanceRecordResp; -import com.dite.znpt.domain.vo.CertificationReq; -import com.dite.znpt.domain.vo.CertificationResp; -import com.dite.znpt.domain.vo.CheckSchemeReq; -import com.dite.znpt.domain.vo.CheckSchemeResp; -import com.dite.znpt.domain.vo.DefectReq; -import com.dite.znpt.domain.vo.DefectResp; -import com.dite.znpt.domain.vo.DeptReq; -import com.dite.znpt.domain.vo.DeptResp; -import com.dite.znpt.domain.vo.EquipmentReq; -import com.dite.znpt.domain.vo.EquipmentUseRecordReq; -import com.dite.znpt.domain.vo.ImageCollectReq; -import com.dite.znpt.domain.vo.ImageReq; -import com.dite.znpt.domain.vo.ImageSimpleReq; -import com.dite.znpt.domain.vo.InspectionReportCheckInfo; -import com.dite.znpt.domain.vo.InspectionReportReportInfo; -import com.dite.znpt.domain.vo.InspectionReportReq; -import com.dite.znpt.domain.vo.InspectionReportSchemeInfo; -import com.dite.znpt.domain.vo.InsuranceAttachResp; -import com.dite.znpt.domain.vo.InsuranceCompanyReq; -import com.dite.znpt.domain.vo.InsuranceCompanyResp; -import com.dite.znpt.domain.vo.InsuranceInfoReq; -import com.dite.znpt.domain.vo.InsuranceInfoResp; -import com.dite.znpt.domain.vo.InsuranceTypeReq; -import com.dite.znpt.domain.vo.InsuranceTypeResp; -import com.dite.znpt.domain.vo.MaintainSuggestionReq; -import com.dite.znpt.domain.vo.MaintainSuggestionResp; -import com.dite.znpt.domain.vo.MenuReq; -import com.dite.znpt.domain.vo.MenuResp; -import com.dite.znpt.domain.vo.OutWorkDefectReq; -import com.dite.znpt.domain.vo.PartReq; -import com.dite.znpt.domain.vo.PartResp; -import com.dite.znpt.domain.vo.PostReq; -import com.dite.znpt.domain.vo.PostResp; -import com.dite.znpt.domain.vo.ProjectReq; -import com.dite.znpt.domain.vo.ProjectResp; -import com.dite.znpt.domain.vo.RoleReq; -import com.dite.znpt.domain.vo.RoleResp; -import com.dite.znpt.domain.vo.TurbineReq; -import com.dite.znpt.domain.vo.TurbineResp; -import com.dite.znpt.domain.vo.UserListResp; -import com.dite.znpt.domain.vo.UserReq; -import com.dite.znpt.domain.vo.UserResp; -import com.dite.znpt.domain.vo.WorkShiftListResp; -import com.dite.znpt.domain.vo.WorkShiftReq; -import com.dite.znpt.domain.vo.WorkShiftResp; -import java.time.Duration; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.List; -import javax.annotation.processing.Generated; -import javax.xml.datatype.DatatypeConfigurationException; -import javax.xml.datatype.DatatypeConstants; -import javax.xml.datatype.DatatypeFactory; -import javax.xml.datatype.XMLGregorianCalendar; - -public class ConvertsImpl implements Converts { - - private final DatatypeFactory datatypeFactory; - - public ConvertsImpl() { - try { - datatypeFactory = DatatypeFactory.newInstance(); - } - catch ( DatatypeConfigurationException ex ) { - throw new RuntimeException( ex ); - } - } - - @Override - public List toImageEntity(List list) { - if ( list == null ) { - return null; - } - - List list1 = new ArrayList( list.size() ); - for ( ImageReq imageReq : list ) { - list1.add( imageReqToImageEntity( imageReq ) ); - } - - return list1; - } - - @Override - public List toImageSimpleReq(List list) { - if ( list == null ) { - return null; - } - - List list1 = new ArrayList( list.size() ); - for ( OutWorkDefectReq outWorkDefectReq : list ) { - list1.add( outWorkDefectReqToImageSimpleReq( outWorkDefectReq ) ); - } - - return list1; - } - - @Override - public ImageCollectEntity toImageCollectEntity(ImageCollectReq req) { - if ( req == null ) { - return null; - } - - ImageCollectEntity imageCollectEntity = new ImageCollectEntity(); - - imageCollectEntity.setShootingTimeBegin( req.getShootingTimeBegin() ); - imageCollectEntity.setShootingTimeEnd( req.getShootingTimeEnd() ); - imageCollectEntity.setWeather( req.getWeather() ); - imageCollectEntity.setHumidness( req.getHumidness() ); - imageCollectEntity.setTemperatureMin( req.getTemperatureMin() ); - imageCollectEntity.setTemperatureMax( req.getTemperatureMax() ); - imageCollectEntity.setWindLevel( req.getWindLevel() ); - imageCollectEntity.setShootingMethod( req.getShootingMethod() ); - imageCollectEntity.setShootingDistance( req.getShootingDistance() ); - imageCollectEntity.setCollectorId( req.getCollectorId() ); - imageCollectEntity.setCollectorName( req.getCollectorName() ); - imageCollectEntity.setImageSource( req.getImageSource() ); - - return imageCollectEntity; - } - - @Override - public DefectEntity toDefectEntity(DefectReq req) { - if ( req == null ) { - return null; - } - - DefectEntity defectEntity = new DefectEntity(); - - defectEntity.setDefectCode( req.getDefectCode() ); - defectEntity.setDefectName( req.getDefectName() ); - defectEntity.setDefectPosition( req.getDefectPosition() ); - defectEntity.setDefectType( req.getDefectType() ); - defectEntity.setDefectLevel( req.getDefectLevel() ); - defectEntity.setRepairStatus( req.getRepairStatus() ); - defectEntity.setSource( req.getSource() ); - if ( req.getChordwise() != null ) { - defectEntity.setChordwise( String.valueOf( req.getChordwise() ) ); - } - if ( req.getAxial() != null ) { - defectEntity.setAxial( String.valueOf( req.getAxial() ) ); - } - defectEntity.setLabelInfo( req.getLabelInfo() ); - defectEntity.setDescription( req.getDescription() ); - defectEntity.setRepairIdea( req.getRepairIdea() ); - - return defectEntity; - } - - @Override - public DefectResp toDefectResp(DefectEntity entity) { - if ( entity == null ) { - return null; - } - - DefectResp defectResp = new DefectResp(); - - defectResp.setDefectCode( entity.getDefectCode() ); - defectResp.setDefectName( entity.getDefectName() ); - defectResp.setDefectPosition( entity.getDefectPosition() ); - defectResp.setDefectType( entity.getDefectType() ); - defectResp.setDefectLevel( entity.getDefectLevel() ); - defectResp.setRepairStatus( entity.getRepairStatus() ); - defectResp.setSource( entity.getSource() ); - if ( entity.getChordwise() != null ) { - defectResp.setChordwise( Integer.parseInt( entity.getChordwise() ) ); - } - if ( entity.getAxial() != null ) { - defectResp.setAxial( Integer.parseInt( entity.getAxial() ) ); - } - defectResp.setLabelInfo( entity.getLabelInfo() ); - defectResp.setDescription( entity.getDescription() ); - defectResp.setRepairIdea( entity.getRepairIdea() ); - defectResp.setDefectId( entity.getDefectId() ); - defectResp.setImageId( entity.getImageId() ); - - return defectResp; - } - - @Override - public ProjectResp toProjectResp(ProjectEntity entity) { - if ( entity == null ) { - return null; - } - - ProjectResp projectResp = new ProjectResp(); - - projectResp.setProjectId( entity.getProjectId() ); - projectResp.setProjectName( entity.getProjectName() ); - projectResp.setCoverUrl( entity.getCoverUrl() ); - projectResp.setFarmName( entity.getFarmName() ); - projectResp.setFarmAddress( entity.getFarmAddress() ); - projectResp.setClient( entity.getClient() ); - projectResp.setClientContact( entity.getClientContact() ); - projectResp.setClientPhone( entity.getClientPhone() ); - projectResp.setInspectionUnit( entity.getInspectionUnit() ); - projectResp.setInspectionContact( entity.getInspectionContact() ); - projectResp.setInspectionPhone( entity.getInspectionPhone() ); - projectResp.setScale( entity.getScale() ); - projectResp.setDuration( entity.getDuration() ); - projectResp.setTurbineModel( entity.getTurbineModel() ); - projectResp.setConstructorIds( entity.getConstructorIds() ); - projectResp.setAuditorId( entity.getAuditorId() ); - projectResp.setQualityOfficerId( entity.getQualityOfficerId() ); - projectResp.setProjectManagerId( entity.getProjectManagerId() ); - projectResp.setProjectOrigin( entity.getProjectOrigin() ); - projectResp.setProjectBudget( entity.getProjectBudget() ); - - if ( entity.getStatus() != null ) { - projectResp.setStatus( entity.getStatus() ); - } - projectResp.setStartDate( entity.getStartDate() ); - projectResp.setEndDate( entity.getEndDate() ); - - return projectResp; - } - - @Override - public ProjectEntity toProjectEntity(ProjectReq req) { - if ( req == null ) { - return null; - } - - ProjectEntity projectEntity = new ProjectEntity(); - - projectEntity.setProjectId( req.getProjectId() ); - projectEntity.setProjectName( req.getProjectName() ); - projectEntity.setCoverUrl( req.getCoverUrl() ); - projectEntity.setFarmName( req.getFarmName() ); - projectEntity.setFarmAddress( req.getFarmAddress() ); - projectEntity.setClient( req.getClient() ); - projectEntity.setClientContact( req.getClientContact() ); - projectEntity.setClientPhone( req.getClientPhone() ); - projectEntity.setInspectionUnit( req.getInspectionUnit() ); - projectEntity.setInspectionContact( req.getInspectionContact() ); - projectEntity.setInspectionPhone( req.getInspectionPhone() ); - projectEntity.setScale( req.getScale() ); - projectEntity.setDuration( req.getDuration() ); - projectEntity.setTurbineModel( req.getTurbineModel() ); - projectEntity.setConstructorIds( req.getConstructorIds() ); - projectEntity.setAuditorId( req.getAuditorId() ); - projectEntity.setQualityOfficerId( req.getQualityOfficerId() ); - projectEntity.setProjectManagerId( req.getProjectManagerId() ); - projectEntity.setStatus( req.getStatus() ); - projectEntity.setStartDate( req.getStartDate() ); - projectEntity.setEndDate( req.getEndDate() ); - projectEntity.setProjectOrigin( req.getProjectOrigin() ); - projectEntity.setProjectBudget( req.getProjectBudget() ); - double budget = req.getLaborCost() - + req.getBonusProvision() - + req.getTransAccomMeals() - + req.getOthersCost() - + req.getEquipmentAmortization(); - projectEntity.setProjectBudget((int) budget); - return projectEntity; - } - - @Override - public TurbineEntity toTurbineEntity(TurbineReq req) { - if ( req == null ) { - return null; - } - - TurbineEntity turbineEntity = new TurbineEntity(); - - turbineEntity.setProjectId( req.getProjectId() ); - turbineEntity.setTurbineName( req.getTurbineName() ); - turbineEntity.setTurbineCode( req.getTurbineCode() ); - turbineEntity.setTurbineDesc( req.getTurbineDesc() ); - turbineEntity.setTurbineManufacturer( req.getTurbineManufacturer() ); - turbineEntity.setTurbineModel( req.getTurbineModel() ); - turbineEntity.setTurbineCoverUrl( req.getTurbineCoverUrl() ); - - return turbineEntity; - } - - @Override - public TurbineResp toTurbineResp(TurbineEntity entity) { - if ( entity == null ) { - return null; - } - - TurbineResp turbineResp = new TurbineResp(); - - turbineResp.setTurbineId( entity.getTurbineId() ); - turbineResp.setProjectId( entity.getProjectId() ); - turbineResp.setTurbineName( entity.getTurbineName() ); - turbineResp.setTurbineCode( entity.getTurbineCode() ); - turbineResp.setTurbineDesc( entity.getTurbineDesc() ); - turbineResp.setTurbineManufacturer( entity.getTurbineManufacturer() ); - turbineResp.setTurbineModel( entity.getTurbineModel() ); - turbineResp.setTurbineCoverUrl( entity.getTurbineCoverUrl() ); - - return turbineResp; - } - - @Override - public PartEntity toPartEntity(PartReq req) { - if ( req == null ) { - return null; - } - - PartEntity partEntity = new PartEntity(); - - partEntity.setTurbineId( req.getTurbineId() ); - partEntity.setPartName( req.getPartName() ); - partEntity.setPartCode( req.getPartCode() ); - partEntity.setPartType( req.getPartType() ); - partEntity.setPartDesc( req.getPartDesc() ); - partEntity.setPartManufacturer( req.getPartManufacturer() ); - partEntity.setPartModel( req.getPartModel() ); - - return partEntity; - } - - @Override - public PartResp toPartResp(PartEntity entity) { - if ( entity == null ) { - return null; - } - - PartResp partResp = new PartResp(); - - partResp.setPartId( entity.getPartId() ); - partResp.setTurbineId( entity.getTurbineId() ); - partResp.setPartName( entity.getPartName() ); - partResp.setPartCode( entity.getPartCode() ); - partResp.setPartType( entity.getPartType() ); - partResp.setPartDesc( entity.getPartDesc() ); - partResp.setPartManufacturer( entity.getPartManufacturer() ); - partResp.setPartModel( entity.getPartModel() ); - - return partResp; - } - - @Override - public UserResp toUserResp(UserEntity entity) { - if ( entity == null ) { - return null; - } - - UserResp userResp = new UserResp(); - - userResp.setAccount( entity.getAccount() ); - userResp.setAvatar( entity.getAvatar() ); - userResp.setStatus( entity.getStatus() ); - userResp.setName( entity.getName() ); - userResp.setUserType( entity.getUserType() ); - userResp.setUserStatus( entity.getUserStatus() ); - userResp.setDeptId( entity.getDeptId() ); - userResp.setIdentityCard( entity.getIdentityCard() ); - userResp.setGender( entity.getGender() ); - userResp.setMobile( entity.getMobile() ); - userResp.setEmail( entity.getEmail() ); - userResp.setHiredate( entity.getHiredate() ); - userResp.setBirthdate( entity.getBirthdate() ); - userResp.setEducation( entity.getEducation() ); - userResp.setMajorField( entity.getMajorField() ); - userResp.setWorkField( entity.getWorkField() ); - userResp.setUserId( entity.getUserId() ); - - return userResp; - } - - @Override - public UserListResp toUserListResp(UserEntity entity) { - if ( entity == null ) { - return null; - } - - UserListResp userListResp = new UserListResp(); - - userListResp.setUserId( entity.getUserId() ); - userListResp.setAccount( entity.getAccount() ); - userListResp.setStatus( entity.getStatus() ); - userListResp.setName( entity.getName() ); - userListResp.setUserCode( entity.getUserCode() ); - userListResp.setUserType( entity.getUserType() ); - userListResp.setUserStatus( entity.getUserStatus() ); - userListResp.setMobile( entity.getMobile() ); - userListResp.setCreateTime( entity.getCreateTime() ); - - return userListResp; - } - - @Override - public UserEntity toUserEntity(UserReq req) { - if ( req == null ) { - return null; - } - - UserEntity userEntity = new UserEntity(); - - userEntity.setAccount( req.getAccount() ); - userEntity.setAvatar( req.getAvatar() ); - userEntity.setStatus( req.getStatus() ); - userEntity.setName( req.getName() ); - userEntity.setUserType( req.getUserType() ); - userEntity.setUserStatus( req.getUserStatus() ); - userEntity.setDeptId( req.getDeptId() ); - userEntity.setIdentityCard( req.getIdentityCard() ); - userEntity.setGender( req.getGender() ); - userEntity.setMobile( req.getMobile() ); - userEntity.setEmail( req.getEmail() ); - userEntity.setHiredate( req.getHiredate() ); - userEntity.setBirthdate( req.getBirthdate() ); - userEntity.setEducation( req.getEducation() ); - userEntity.setMajorField( req.getMajorField() ); - userEntity.setWorkField( req.getWorkField() ); - - return userEntity; - } - - @Override - public DeptEntity toDeptEntity(DeptReq req) { - if ( req == null ) { - return null; - } - - DeptEntity deptEntity = new DeptEntity(); - - deptEntity.setParentId( req.getParentId() ); - deptEntity.setDeptName( req.getDeptName() ); - deptEntity.setOrderNum( req.getOrderNum() ); - deptEntity.setLeaderId( req.getLeaderId() ); - deptEntity.setStatus( req.getStatus() ); - - return deptEntity; - } - - @Override - public DeptResp toDeptResp(DeptEntity entity) { - if ( entity == null ) { - return null; - } - - DeptResp deptResp = new DeptResp(); - - deptResp.setDeptId( entity.getDeptId() ); - deptResp.setDeptName( entity.getDeptName() ); - deptResp.setParentId( entity.getParentId() ); - deptResp.setOrderNum( entity.getOrderNum() ); - deptResp.setLeaderId( entity.getLeaderId() ); - if ( entity.getStatus() != null ) { - deptResp.setStatus( String.valueOf( entity.getStatus() ) ); - } - - return deptResp; - } - - @Override - public PostEntity toPostEntity(PostReq req) { - if ( req == null ) { - return null; - } - - PostEntity postEntity = new PostEntity(); - - postEntity.setPostName( req.getPostName() ); - postEntity.setPostSort( req.getPostSort() ); - postEntity.setStatus( req.getStatus() ); - postEntity.setRemark( req.getRemark() ); - postEntity.setStatement( req.getStatement() ); - postEntity.setResponsibilitiesTask( req.getResponsibilitiesTask() ); - postEntity.setQualifications( req.getQualifications() ); - postEntity.setWorkingConditions( req.getWorkingConditions() ); - postEntity.setSalary( req.getSalary() ); - - return postEntity; - } - - @Override - public List toPostResp(List list) { - if ( list == null ) { - return null; - } - - List list1 = new ArrayList( list.size() ); - for ( PostEntity postEntity : list ) { - list1.add( toPostResp( postEntity ) ); - } - - return list1; - } - - @Override - public PostResp toPostResp(PostEntity entity) { - if ( entity == null ) { - return null; - } - - PostResp postResp = new PostResp(); - - postResp.setPostId( entity.getPostId() ); - postResp.setPostName( entity.getPostName() ); - postResp.setPostSort( entity.getPostSort() ); - postResp.setCreateTime( entity.getCreateTime() ); - postResp.setUpdateTime( entity.getUpdateTime() ); - postResp.setStatement( entity.getStatement() ); - postResp.setResponsibilitiesTask( entity.getResponsibilitiesTask() ); - postResp.setQualifications( entity.getQualifications() ); - postResp.setWorkingConditions( entity.getWorkingConditions() ); - postResp.setSalary( entity.getSalary() ); - - if ( entity.getStatus() != null ) { - postResp.setStatus( String.valueOf( entity.getStatus() ) ); - } - postResp.setRemark( entity.getRemark() ); - - return postResp; - } - - @Override - public RoleResp toRoleResp(RoleEntity entity) { - if ( entity == null ) { - return null; - } - - RoleResp roleResp = new RoleResp(); - - roleResp.setRoleId( entity.getRoleId() ); - roleResp.setRoleName( entity.getRoleName() ); - roleResp.setRoleCode( entity.getRoleCode() ); - roleResp.setRoleKey( entity.getRoleKey() ); - if ( entity.getStatus() != null ) { - roleResp.setStatus( String.valueOf( entity.getStatus() ) ); - } - roleResp.setRemark( entity.getRemark() ); - - return roleResp; - } - - @Override - public List toRoleResp(List list) { - if ( list == null ) { - return null; - } - - List list1 = new ArrayList( list.size() ); - for ( RoleEntity roleEntity : list ) { - list1.add( toRoleResp( roleEntity ) ); - } - - return list1; - } - - @Override - public List toUserResp(List list) { - if ( list == null ) { - return null; - } - - List list1 = new ArrayList( list.size() ); - for ( UserEntity userEntity : list ) { - list1.add( toUserResp( userEntity ) ); - } - - return list1; - } - - @Override - public RoleEntity toRoleEntity(RoleReq req) { - if ( req == null ) { - return null; - } - - RoleEntity roleEntity = new RoleEntity(); - - roleEntity.setRoleName( req.getRoleName() ); - roleEntity.setRoleCode( req.getRoleCode() ); - roleEntity.setRoleKey( req.getRoleKey() ); - roleEntity.setStatus( req.getStatus() ); - roleEntity.setRemark( req.getRemark() ); - - return roleEntity; - } - - @Override - public MenuEntity toMenuEntity(MenuReq req) { - if ( req == null ) { - return null; - } - - MenuEntity menuEntity = new MenuEntity(); - - menuEntity.setMenuName( req.getMenuName() ); - menuEntity.setParentId( req.getParentId() ); - menuEntity.setOrderNum( req.getOrderNum() ); - menuEntity.setComponent( req.getComponent() ); - menuEntity.setPath( req.getPath() ); - menuEntity.setMenuType( req.getMenuType() ); - menuEntity.setVisible( req.getVisible() ); - menuEntity.setPerms( req.getPerms() ); - menuEntity.setTerminalType( req.getTerminalType() ); - - return menuEntity; - } - - @Override - public MenuResp toMenuResp(MenuEntity entity) { - if ( entity == null ) { - return null; - } - - MenuResp menuResp = new MenuResp(); - - menuResp.setMenuId( entity.getMenuId() ); - menuResp.setMenuName( entity.getMenuName() ); - menuResp.setParentId( entity.getParentId() ); - if ( entity.getOrderNum() != null ) { - menuResp.setOrderNum( String.valueOf( entity.getOrderNum() ) ); - } - menuResp.setPath( entity.getPath() ); - menuResp.setComponent( entity.getComponent() ); - menuResp.setMenuType( entity.getMenuType() ); - menuResp.setVisible( entity.getVisible() ); - menuResp.setPerms( entity.getPerms() ); - - return menuResp; - } - - @Override - public CertificationEntity toCertificationEntity(CertificationReq req) { - if ( req == null ) { - return null; - } - - CertificationEntity certificationEntity = new CertificationEntity(); - - certificationEntity.setUserId( req.getUserId() ); - certificationEntity.setCertificationCode( req.getCertificationCode() ); - certificationEntity.setCertificationName( req.getCertificationName() ); - certificationEntity.setCertificationType( req.getCertificationType() ); - certificationEntity.setValidityDateBegin( req.getValidityDateBegin() ); - certificationEntity.setValidityDateEnd( req.getValidityDateEnd() ); - certificationEntity.setCertificationImage( req.getCertificationImage() ); - - return certificationEntity; - } - - @Override - public CertificationResp toCertificationResp(CertificationEntity entity) { - if ( entity == null ) { - return null; - } - - CertificationResp certificationResp = new CertificationResp(); - - certificationResp.setCertificationId( entity.getCertificationId() ); - certificationResp.setUserId( entity.getUserId() ); - certificationResp.setCertificationCode( entity.getCertificationCode() ); - certificationResp.setCertificationName( entity.getCertificationName() ); - certificationResp.setCertificationType( entity.getCertificationType() ); - certificationResp.setValidityDateBegin( entity.getValidityDateBegin() ); - certificationResp.setValidityDateEnd( entity.getValidityDateEnd() ); - certificationResp.setCertificationImage( entity.getCertificationImage() ); - - return certificationResp; - } - - @Override - public List toCertificationResp(List list) { - if ( list == null ) { - return null; - } - - List list1 = new ArrayList( list.size() ); - for ( CertificationEntity certificationEntity : list ) { - list1.add( toCertificationResp( certificationEntity ) ); - } - - return list1; - } - - @Override - public List toInsuranceTypeResp(List list) { - if ( list == null ) { - return null; - } - - List list1 = new ArrayList( list.size() ); - for ( InsuranceTypeEntity insuranceTypeEntity : list ) { - list1.add( toInsuranceTypeResp( insuranceTypeEntity ) ); - } - - return list1; - } - - @Override - public InsuranceTypeResp toInsuranceTypeResp(InsuranceTypeEntity entity) { - if ( entity == null ) { - return null; - } - - InsuranceTypeResp insuranceTypeResp = new InsuranceTypeResp(); - - insuranceTypeResp.setInsuranceTypeId( entity.getInsuranceTypeId() ); - insuranceTypeResp.setInsuranceTypeName( entity.getInsuranceTypeName() ); - insuranceTypeResp.setDescription( entity.getDescription() ); - - return insuranceTypeResp; - } - - @Override - public InsuranceTypeEntity toInsuranceTypeEntity(InsuranceTypeReq req) { - if ( req == null ) { - return null; - } - - InsuranceTypeEntity insuranceTypeEntity = new InsuranceTypeEntity(); - - insuranceTypeEntity.setInsuranceTypeName( req.getInsuranceTypeName() ); - insuranceTypeEntity.setDescription( req.getDescription() ); - - return insuranceTypeEntity; - } - - @Override - public List toInsuranceCompanyResp(List list) { - if ( list == null ) { - return null; - } - - List list1 = new ArrayList( list.size() ); - for ( InsuranceCompanyEntity insuranceCompanyEntity : list ) { - list1.add( toInsuranceCompanyResp( insuranceCompanyEntity ) ); - } - - return list1; - } - - @Override - public InsuranceCompanyResp toInsuranceCompanyResp(InsuranceCompanyEntity entity) { - if ( entity == null ) { - return null; - } - - InsuranceCompanyResp insuranceCompanyResp = new InsuranceCompanyResp(); - - insuranceCompanyResp.setInsuranceCompanyId( entity.getInsuranceCompanyId() ); - insuranceCompanyResp.setInsuranceCompanyName( entity.getInsuranceCompanyName() ); - insuranceCompanyResp.setContact( entity.getContact() ); - insuranceCompanyResp.setContactPhone( entity.getContactPhone() ); - insuranceCompanyResp.setStatus( entity.getStatus() ); - - return insuranceCompanyResp; - } - - @Override - public InsuranceCompanyEntity toInsuranceCompanyEntity(InsuranceCompanyReq req) { - if ( req == null ) { - return null; - } - - InsuranceCompanyEntity insuranceCompanyEntity = new InsuranceCompanyEntity(); - - insuranceCompanyEntity.setInsuranceCompanyName( req.getInsuranceCompanyName() ); - insuranceCompanyEntity.setContact( req.getContact() ); - insuranceCompanyEntity.setContactPhone( req.getContactPhone() ); - insuranceCompanyEntity.setStatus( req.getStatus() ); - - return insuranceCompanyEntity; - } - - @Override - public List toInsuranceInfoResp(List list) { - if ( list == null ) { - return null; - } - - List list1 = new ArrayList( list.size() ); - for ( InsuranceInfoEntity insuranceInfoEntity : list ) { - list1.add( toInsuranceInfoResp( insuranceInfoEntity ) ); - } - - return list1; - } - - @Override - public List toInsuranceAttachResp(List list) { - if ( list == null ) { - return null; - } - - List list1 = new ArrayList( list.size() ); - for ( InsuranceInfoEntity insuranceInfoEntity : list ) { - list1.add( insuranceInfoEntityToInsuranceAttachResp( insuranceInfoEntity ) ); - } - - return list1; - } - - @Override - public InsuranceInfoResp toInsuranceInfoResp(InsuranceInfoEntity entity) { - if ( entity == null ) { - return null; - } - - InsuranceInfoResp insuranceInfoResp = new InsuranceInfoResp(); - - insuranceInfoResp.setInsuranceInfoId( entity.getInsuranceInfoId() ); - insuranceInfoResp.setUserId( entity.getUserId() ); - insuranceInfoResp.setName( entity.getName() ); - insuranceInfoResp.setUserCode( entity.getUserCode() ); - insuranceInfoResp.setInsuranceTypeId( entity.getInsuranceTypeId() ); - insuranceInfoResp.setInsuranceTypeName( entity.getInsuranceTypeName() ); - insuranceInfoResp.setInsuranceCompanyId( entity.getInsuranceCompanyId() ); - insuranceInfoResp.setInsuranceCompanyName( entity.getInsuranceCompanyName() ); - insuranceInfoResp.setInsuranceBillCode( entity.getInsuranceBillCode() ); - insuranceInfoResp.setAttachInfoId( entity.getAttachInfoId() ); - insuranceInfoResp.setEffectiveDate( entity.getEffectiveDate() ); - insuranceInfoResp.setExpireDate( entity.getExpireDate() ); - insuranceInfoResp.setInsuranceAmount( entity.getInsuranceAmount() ); - insuranceInfoResp.setInsurancePremium( entity.getInsurancePremium() ); - - return insuranceInfoResp; - } - - @Override - public InsuranceInfoEntity toInsuranceInfoEntity(InsuranceInfoReq req) { - if ( req == null ) { - return null; - } - - InsuranceInfoEntity insuranceInfoEntity = new InsuranceInfoEntity(); - - insuranceInfoEntity.setUserId( req.getUserId() ); - insuranceInfoEntity.setInsuranceCompanyId( req.getInsuranceCompanyId() ); - insuranceInfoEntity.setInsuranceTypeId( req.getInsuranceTypeId() ); - insuranceInfoEntity.setInsuranceBillCode( req.getInsuranceBillCode() ); - insuranceInfoEntity.setAttachInfoId( req.getAttachInfoId() ); - insuranceInfoEntity.setEffectiveDate( req.getEffectiveDate() ); - insuranceInfoEntity.setExpireDate( req.getExpireDate() ); - insuranceInfoEntity.setInsurancePremium( req.getInsurancePremium() ); - insuranceInfoEntity.setInsuranceAmount( req.getInsuranceAmount() ); - insuranceInfoEntity.setRemark( req.getRemark() ); - - return insuranceInfoEntity; - } - - @Override - public AttachInfoResp toAttacheInfoResp(AttachInfoEntity entity) { - if ( entity == null ) { - return null; - } - - AttachInfoResp attachInfoResp = new AttachInfoResp(); - - attachInfoResp.setAttachId( entity.getAttachId() ); - attachInfoResp.setBusinessId( entity.getBusinessId() ); - attachInfoResp.setAttachPath( entity.getAttachPath() ); - attachInfoResp.setFileType( entity.getFileType() ); - attachInfoResp.setRemark( entity.getRemark() ); - attachInfoResp.setCreateTime( entity.getCreateTime() ); - - return attachInfoResp; - } - - @Override - public List toWorkShiftListResp(List list) { - if ( list == null ) { - return null; - } - - List list1 = new ArrayList( list.size() ); - for ( WorkShiftEntity workShiftEntity : list ) { - list1.add( workShiftEntityToWorkShiftListResp( workShiftEntity ) ); - } - - return list1; - } - - @Override - public WorkShiftResp toWorkShiftResp(WorkShiftEntity entity) { - if ( entity == null ) { - return null; - } - - WorkShiftResp workShiftResp = new WorkShiftResp(); - - workShiftResp.setWorkShiftId( entity.getWorkShiftId() ); - workShiftResp.setWorkShiftName( entity.getWorkShiftName() ); - workShiftResp.setWorkTimeStart( entity.getWorkTimeStart() ); - workShiftResp.setLateTimeOffset( entity.getLateTimeOffset() ); - workShiftResp.setLateTimeLimit( entity.getLateTimeLimit() ); - workShiftResp.setWorkTimeEnd( entity.getWorkTimeEnd() ); - workShiftResp.setEarlyTimeOffset( entity.getEarlyTimeOffset() ); - workShiftResp.setEarlyTimeLimit( entity.getEarlyTimeLimit() ); - workShiftResp.setRestTimeStart( entity.getRestTimeStart() ); - workShiftResp.setRestTimeEnd( entity.getRestTimeEnd() ); - workShiftResp.setWorkTime( entity.getWorkTime() ); - workShiftResp.setStatus( entity.getStatus() ); - - return workShiftResp; - } - - @Override - public WorkShiftEntity toWorkShiftEntity(WorkShiftReq req) { - if ( req == null ) { - return null; - } - - WorkShiftEntity workShiftEntity = new WorkShiftEntity(); - - workShiftEntity.setWorkShiftName( req.getWorkShiftName() ); - workShiftEntity.setWorkTimeStart( req.getWorkTimeStart() ); - workShiftEntity.setLateTimeOffset( req.getLateTimeOffset() ); - workShiftEntity.setLateTimeLimit( req.getLateTimeLimit() ); - workShiftEntity.setWorkTimeEnd( req.getWorkTimeEnd() ); - workShiftEntity.setEarlyTimeOffset( req.getEarlyTimeOffset() ); - workShiftEntity.setEarlyTimeLimit( req.getEarlyTimeLimit() ); - workShiftEntity.setRestTimeStart( req.getRestTimeStart() ); - workShiftEntity.setRestTimeEnd( req.getRestTimeEnd() ); - - return workShiftEntity; - } - - @Override - public List toMaintainSuggestionResp(List list) { - if ( list == null ) { - return null; - } - - List list1 = new ArrayList( list.size() ); - for ( MaintainSuggestionEntity maintainSuggestionEntity : list ) { - list1.add( toMaintainSuggestionResp( maintainSuggestionEntity ) ); - } - - return list1; - } - - @Override - public MaintainSuggestionResp toMaintainSuggestionResp(MaintainSuggestionEntity entity) { - if ( entity == null ) { - return null; - } - - MaintainSuggestionResp maintainSuggestionResp = new MaintainSuggestionResp(); - - maintainSuggestionResp.setSuggestionId( entity.getSuggestionId() ); - maintainSuggestionResp.setSuggestionContent( entity.getSuggestionContent() ); - maintainSuggestionResp.setDefectType( entity.getDefectType() ); - maintainSuggestionResp.setDefectLevel( entity.getDefectLevel() ); - - return maintainSuggestionResp; - } - - @Override - public MaintainSuggestionEntity toMaintainSuggestionEntity(MaintainSuggestionReq req) { - if ( req == null ) { - return null; - } - - MaintainSuggestionEntity maintainSuggestionEntity = new MaintainSuggestionEntity(); - - maintainSuggestionEntity.setSuggestionContent( req.getSuggestionContent() ); - maintainSuggestionEntity.setDefectLevel( req.getDefectLevel() ); - maintainSuggestionEntity.setDefectType( req.getDefectType() ); - - return maintainSuggestionEntity; - } - - @Override - public List toCheckSchemeResp(List list) { - if ( list == null ) { - return null; - } - - List list1 = new ArrayList( list.size() ); - for ( CheckSchemeEntity checkSchemeEntity : list ) { - list1.add( toCheckSchemeResp( checkSchemeEntity ) ); - } - - return list1; - } - - @Override - public CheckSchemeResp toCheckSchemeResp(CheckSchemeEntity entity) { - if ( entity == null ) { - return null; - } - - CheckSchemeResp checkSchemeResp = new CheckSchemeResp(); - - checkSchemeResp.setSchemeId( entity.getSchemeId() ); - checkSchemeResp.setWorkContent( entity.getWorkContent() ); - checkSchemeResp.setStaffConfig( entity.getStaffConfig() ); - checkSchemeResp.setDeviceConfig( entity.getDeviceConfig() ); - checkSchemeResp.setConstructionScheme( entity.getConstructionScheme() ); - checkSchemeResp.setCheckMethod( entity.getCheckMethod() ); - checkSchemeResp.setRemark( entity.getRemark() ); - - return checkSchemeResp; - } - - @Override - public CheckSchemeEntity toCheckSchemeEntity(CheckSchemeReq req) { - if ( req == null ) { - return null; - } - - CheckSchemeEntity checkSchemeEntity = new CheckSchemeEntity(); - - checkSchemeEntity.setWorkContent( req.getWorkContent() ); - checkSchemeEntity.setStaffConfig( req.getStaffConfig() ); - checkSchemeEntity.setDeviceConfig( req.getDeviceConfig() ); - checkSchemeEntity.setConstructionScheme( req.getConstructionScheme() ); - checkSchemeEntity.setCheckMethod( req.getCheckMethod() ); - checkSchemeEntity.setRemark( req.getRemark() ); - - return checkSchemeEntity; - } - - @Override - public InspectionReportEntity toInspectionReportEntity(InspectionReportReq req) { - if ( req == null ) { - return null; - } - - InspectionReportEntity inspectionReportEntity = new InspectionReportEntity(); - - inspectionReportEntity.setTitle( req.getTitle() ); - inspectionReportEntity.setSubTitle( req.getSubTitle() ); - inspectionReportEntity.setCoverImage( req.getCoverImage() ); - inspectionReportEntity.setProjectId( req.getProjectId() ); - inspectionReportEntity.setTurbineId( req.getTurbineId() ); - inspectionReportEntity.setCheckDate( req.getCheckDate() ); - inspectionReportEntity.setCheckContent( req.getCheckContent() ); - inspectionReportEntity.setCheckMethod( req.getCheckMethod() ); - inspectionReportEntity.setCheckUserId( req.getCheckUserId() ); - inspectionReportEntity.setReportWriter( req.getReportWriter() ); - inspectionReportEntity.setReportWriteTime( xmlGregorianCalendarToLocalDateTime( localDateToXmlGregorianCalendar( req.getReportWriteTime() ) ) ); - inspectionReportEntity.setReportReviewer( req.getReportReviewer() ); - inspectionReportEntity.setReportReviewTime( xmlGregorianCalendarToLocalDateTime( localDateToXmlGregorianCalendar( req.getReportReviewTime() ) ) ); - inspectionReportEntity.setReportAuditor( req.getReportAuditor() ); - inspectionReportEntity.setReportAuditTime( xmlGregorianCalendarToLocalDateTime( localDateToXmlGregorianCalendar( req.getReportAuditTime() ) ) ); - inspectionReportEntity.setReportStatus( req.getReportStatus() ); - - return inspectionReportEntity; - } - - @Override - public InspectionReportCheckInfo toInspectionReportCheckInfo(InspectionReportEntity entity) { - if ( entity == null ) { - return null; - } - - InspectionReportCheckInfo inspectionReportCheckInfo = new InspectionReportCheckInfo(); - - inspectionReportCheckInfo.setCheckDate( entity.getCheckDate() ); - inspectionReportCheckInfo.setCheckContent( entity.getCheckContent() ); - inspectionReportCheckInfo.setCheckMethod( entity.getCheckMethod() ); - inspectionReportCheckInfo.setCheckUserId( entity.getCheckUserId() ); - - return inspectionReportCheckInfo; - } - - @Override - public InspectionReportReportInfo toInspectionReportReportInfo(InspectionReportEntity entity) { - if ( entity == null ) { - return null; - } - - InspectionReportReportInfo inspectionReportReportInfo = new InspectionReportReportInfo(); - - inspectionReportReportInfo.setReportId( entity.getReportId() ); - inspectionReportReportInfo.setTitle( entity.getTitle() ); - inspectionReportReportInfo.setSubTitle( entity.getSubTitle() ); - inspectionReportReportInfo.setCoverImage( entity.getCoverImage() ); - inspectionReportReportInfo.setReportWriter( entity.getReportWriter() ); - inspectionReportReportInfo.setReportWriteTime( entity.getReportWriteTime() ); - inspectionReportReportInfo.setReportReviewer( entity.getReportReviewer() ); - inspectionReportReportInfo.setReportReviewTime( entity.getReportReviewTime() ); - inspectionReportReportInfo.setReportAuditor( entity.getReportAuditor() ); - inspectionReportReportInfo.setReportAuditTime( entity.getReportAuditTime() ); - - return inspectionReportReportInfo; - } - - @Override - public List toInspectionReportSchemeInfo(List list) { - if ( list == null ) { - return null; - } - - List list1 = new ArrayList( list.size() ); - for ( CheckSchemeEntity checkSchemeEntity : list ) { - list1.add( checkSchemeEntityToInspectionReportSchemeInfo( checkSchemeEntity ) ); - } - - return list1; - } - - @Override - public AttendanceRecordEntity toAttendanceRecordEntity(AttendanceRecordReq req) { - if ( req == null ) { - return null; - } - - AttendanceRecordEntity attendanceRecordEntity = new AttendanceRecordEntity(); - - attendanceRecordEntity.setRecordImage( req.getRecordImage() ); - attendanceRecordEntity.setRecordPosition( req.getRecordPosition() ); - attendanceRecordEntity.setRecordPositionLabel( req.getRecordPositionLabel() ); - - return attendanceRecordEntity; - } - - @Override - public List toAttendanceRecordResp(List list) { - if ( list == null ) { - return null; - } - - List list1 = new ArrayList( list.size() ); - for ( AttendanceRecordEntity attendanceRecordEntity : list ) { - list1.add( attendanceRecordEntityToAttendanceRecordResp( attendanceRecordEntity ) ); - } - - return list1; - } - - @Override - public EquipmentEntity toEquipmentUseRecordEntity(EquipmentReq req) { - if ( req == null ) { - return null; - } - - EquipmentEntity equipmentEntity = new EquipmentEntity(); - - equipmentEntity.setEquipmentName( req.getEquipmentName() ); - equipmentEntity.setEquipmentModel( req.getEquipmentModel() ); - equipmentEntity.setEquipmentType( req.getEquipmentType() ); - equipmentEntity.setEquipmentSn( req.getEquipmentSn() ); - - return equipmentEntity; - } - - @Override - public EquipmentUseRecordEntity toEquipmentUseRecordEntity(EquipmentUseRecordReq req) { - if ( req == null ) { - return null; - } - - EquipmentUseRecordEntity equipmentUseRecordEntity = new EquipmentUseRecordEntity(); - - equipmentUseRecordEntity.setUserId( req.getUserId() ); - equipmentUseRecordEntity.setProjectId( req.getProjectId() ); - equipmentUseRecordEntity.setRemark( req.getRemark() ); - - return equipmentUseRecordEntity; - } - - private static LocalDateTime xmlGregorianCalendarToLocalDateTime( XMLGregorianCalendar xcal ) { - if ( xcal == null ) { - return null; - } - - if ( xcal.getYear() != DatatypeConstants.FIELD_UNDEFINED - && xcal.getMonth() != DatatypeConstants.FIELD_UNDEFINED - && xcal.getDay() != DatatypeConstants.FIELD_UNDEFINED - && xcal.getHour() != DatatypeConstants.FIELD_UNDEFINED - && xcal.getMinute() != DatatypeConstants.FIELD_UNDEFINED - ) { - if ( xcal.getSecond() != DatatypeConstants.FIELD_UNDEFINED - && xcal.getMillisecond() != DatatypeConstants.FIELD_UNDEFINED ) { - return LocalDateTime.of( - xcal.getYear(), - xcal.getMonth(), - xcal.getDay(), - xcal.getHour(), - xcal.getMinute(), - xcal.getSecond(), - Duration.ofMillis( xcal.getMillisecond() ).getNano() - ); - } - else if ( xcal.getSecond() != DatatypeConstants.FIELD_UNDEFINED ) { - return LocalDateTime.of( - xcal.getYear(), - xcal.getMonth(), - xcal.getDay(), - xcal.getHour(), - xcal.getMinute(), - xcal.getSecond() - ); - } - else { - return LocalDateTime.of( - xcal.getYear(), - xcal.getMonth(), - xcal.getDay(), - xcal.getHour(), - xcal.getMinute() - ); - } - } - return null; - } - - private XMLGregorianCalendar localDateToXmlGregorianCalendar( LocalDate localDate ) { - if ( localDate == null ) { - return null; - } - - return datatypeFactory.newXMLGregorianCalendarDate( - localDate.getYear(), - localDate.getMonthValue(), - localDate.getDayOfMonth(), - DatatypeConstants.FIELD_UNDEFINED ); - } - - protected ImageEntity imageReqToImageEntity(ImageReq imageReq) { - if ( imageReq == null ) { - return null; - } - - ImageEntity imageEntity = new ImageEntity(); - - imageEntity.setImageId( imageReq.getImageId() ); - imageEntity.setImageName( imageReq.getImageName() ); - imageEntity.setImageSize( imageReq.getImageSize() ); - imageEntity.setImageWidth( imageReq.getImageWidth() ); - imageEntity.setImageHeight( imageReq.getImageHeight() ); - imageEntity.setImageResolution( imageReq.getImageResolution() ); - imageEntity.setXResolution( imageReq.getXResolution() ); - imageEntity.setYResolution( imageReq.getYResolution() ); - imageEntity.setResolutionUnits( imageReq.getResolutionUnits() ); - imageEntity.setFocalDistance( imageReq.getFocalDistance() ); - imageEntity.setFocalDistance35( imageReq.getFocalDistance35() ); - imageEntity.setShootingTime( imageReq.getShootingTime() ); - imageEntity.setCameraManufacturer( imageReq.getCameraManufacturer() ); - imageEntity.setCameraModel( imageReq.getCameraModel() ); - imageEntity.setLongitude( imageReq.getLongitude() ); - imageEntity.setLatitude( imageReq.getLatitude() ); - imageEntity.setAltitude( imageReq.getAltitude() ); - imageEntity.setGPS( imageReq.getGPS() ); - imageEntity.setImagePath( imageReq.getImagePath() ); - - return imageEntity; - } - - protected ImageSimpleReq outWorkDefectReqToImageSimpleReq(OutWorkDefectReq outWorkDefectReq) { - if ( outWorkDefectReq == null ) { - return null; - } - - ImageSimpleReq imageSimpleReq = new ImageSimpleReq(); - - imageSimpleReq.setPartId( outWorkDefectReq.getPartId() ); - imageSimpleReq.setImagePath( outWorkDefectReq.getImagePath() ); - - return imageSimpleReq; - } - - protected InsuranceAttachResp insuranceInfoEntityToInsuranceAttachResp(InsuranceInfoEntity insuranceInfoEntity) { - if ( insuranceInfoEntity == null ) { - return null; - } - - InsuranceAttachResp insuranceAttachResp = new InsuranceAttachResp(); - - insuranceAttachResp.setInsuranceInfoId( insuranceInfoEntity.getInsuranceInfoId() ); - insuranceAttachResp.setUserId( insuranceInfoEntity.getUserId() ); - insuranceAttachResp.setName( insuranceInfoEntity.getName() ); - insuranceAttachResp.setUserCode( insuranceInfoEntity.getUserCode() ); - insuranceAttachResp.setAttachInfoId( insuranceInfoEntity.getAttachInfoId() ); - insuranceAttachResp.setRemark( insuranceInfoEntity.getRemark() ); - insuranceAttachResp.setCreateTime( insuranceInfoEntity.getCreateTime() ); - - return insuranceAttachResp; - } - - protected WorkShiftListResp workShiftEntityToWorkShiftListResp(WorkShiftEntity workShiftEntity) { - if ( workShiftEntity == null ) { - return null; - } - - WorkShiftListResp workShiftListResp = new WorkShiftListResp(); - - workShiftListResp.setWorkShiftId( workShiftEntity.getWorkShiftId() ); - workShiftListResp.setWorkShiftName( workShiftEntity.getWorkShiftName() ); - workShiftListResp.setWorkTimeStart( workShiftEntity.getWorkTimeStart() ); - workShiftListResp.setWorkTimeEnd( workShiftEntity.getWorkTimeEnd() ); - workShiftListResp.setStatus( workShiftEntity.getStatus() ); - workShiftListResp.setCreateBy( workShiftEntity.getCreateBy() ); - workShiftListResp.setUpdateTime( workShiftEntity.getUpdateTime() ); - - return workShiftListResp; - } - - protected InspectionReportSchemeInfo checkSchemeEntityToInspectionReportSchemeInfo(CheckSchemeEntity checkSchemeEntity) { - if ( checkSchemeEntity == null ) { - return null; - } - - InspectionReportSchemeInfo inspectionReportSchemeInfo = new InspectionReportSchemeInfo(); - - inspectionReportSchemeInfo.setCheckMethod( checkSchemeEntity.getCheckMethod() ); - - return inspectionReportSchemeInfo; - } - - protected AttendanceRecordResp attendanceRecordEntityToAttendanceRecordResp(AttendanceRecordEntity attendanceRecordEntity) { - if ( attendanceRecordEntity == null ) { - return null; - } - - AttendanceRecordResp attendanceRecordResp = new AttendanceRecordResp(); - - attendanceRecordResp.setRecordId( attendanceRecordEntity.getRecordId() ); - attendanceRecordResp.setUserId( attendanceRecordEntity.getUserId() ); - attendanceRecordResp.setRecordType( attendanceRecordEntity.getRecordType() ); - attendanceRecordResp.setAttendanceDate( attendanceRecordEntity.getAttendanceDate() ); - attendanceRecordResp.setRecordTime( attendanceRecordEntity.getRecordTime() ); - attendanceRecordResp.setRecordImage( attendanceRecordEntity.getRecordImage() ); - attendanceRecordResp.setRecordPosition( attendanceRecordEntity.getRecordPosition() ); - attendanceRecordResp.setRecordPositionLabel( attendanceRecordEntity.getRecordPositionLabel() ); - - return attendanceRecordResp; - } -} - From 386c7273ce7fa4dbe314bd387324cb9702bf3423 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=9D=E5=BD=AC?= <14779346+xswl_123@user.noreply.gitee.com> Date: Fri, 8 Aug 2025 15:09:21 +0800 Subject: [PATCH 02/15] =?UTF-8?q?8-8=20=E6=9F=A5=E8=AF=A2=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E4=B8=8B=E7=9A=84=E8=AE=BE=E5=A4=87=E5=92=8C=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=AE=8C=E6=88=90=E8=BF=9B=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../znpt/domain/entity/EquipmentEntity.java | 3 +++ .../domain/vo/ProjectTasksDetailResp.java | 23 +++++++++++++++++++ .../dite/znpt/service/ProjectTaskService.java | 2 ++ .../impl/EquipmentUseRecordServiceImpl.java | 2 ++ .../service/impl/ProjectTaskServiceImpl.java | 22 ++++++++++++++++++ .../web/controller/ProjectController.java | 20 ++++++++++++---- .../web/controller/ProjectTaskController.java | 19 +++++++++++++++ 7 files changed, 87 insertions(+), 4 deletions(-) create mode 100644 core/src/main/java/com/dite/znpt/domain/vo/ProjectTasksDetailResp.java diff --git a/core/src/main/java/com/dite/znpt/domain/entity/EquipmentEntity.java b/core/src/main/java/com/dite/znpt/domain/entity/EquipmentEntity.java index 4224af2..d4fe545 100644 --- a/core/src/main/java/com/dite/znpt/domain/entity/EquipmentEntity.java +++ b/core/src/main/java/com/dite/znpt/domain/entity/EquipmentEntity.java @@ -214,4 +214,7 @@ public class EquipmentEntity extends AuditableEntity implements Serializable { @ApiModelProperty("删除标志(0代表存在 1代表删除)") @TableLogic(value = "0", delval = "1") private String delFlag; + + @ApiModelProperty("项目id") + private String projectId; } diff --git a/core/src/main/java/com/dite/znpt/domain/vo/ProjectTasksDetailResp.java b/core/src/main/java/com/dite/znpt/domain/vo/ProjectTasksDetailResp.java new file mode 100644 index 0000000..4f2a8a7 --- /dev/null +++ b/core/src/main/java/com/dite/znpt/domain/vo/ProjectTasksDetailResp.java @@ -0,0 +1,23 @@ +package com.dite.znpt.domain.vo; + + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@ApiModel("项目任务详情响应实体") +public class ProjectTasksDetailResp { + private List list; + + @ApiModelProperty("项目名称") + private String projectName; + + @ApiModelProperty("项目任务总数") + private Integer total; + + @ApiModelProperty("已完成任务数") + private Integer finished; +} diff --git a/core/src/main/java/com/dite/znpt/service/ProjectTaskService.java b/core/src/main/java/com/dite/znpt/service/ProjectTaskService.java index a142201..8eb9fe5 100644 --- a/core/src/main/java/com/dite/znpt/service/ProjectTaskService.java +++ b/core/src/main/java/com/dite/znpt/service/ProjectTaskService.java @@ -89,5 +89,7 @@ public interface ProjectTaskService extends IService { * @date 2025/06/25 21:16 **/ void endTask(ProjectTaskStartReq taskStartReq); + + List getTaskByProjectId(String projectId); } diff --git a/core/src/main/java/com/dite/znpt/service/impl/EquipmentUseRecordServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/EquipmentUseRecordServiceImpl.java index 2db0c74..c13249d 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/EquipmentUseRecordServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/EquipmentUseRecordServiceImpl.java @@ -90,6 +90,7 @@ public class EquipmentUseRecordServiceImpl extends ServiceImpl getTaskByProjectId(String projectId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("project_id", projectId); + List list = baseMapper.selectList(queryWrapper); + if (CollectionUtil.isEmpty(list)) { + return Collections.emptyList(); // 返回不可修改的空集合 + } + String projectName = projectService.getById(projectId).getProjectName(); + List respList = list.stream().map(item -> BeanUtil.copyProperties(item, ProjectTaskResp.class)).toList(); + return respList; + } } diff --git a/web/src/main/java/com/dite/znpt/web/controller/ProjectController.java b/web/src/main/java/com/dite/znpt/web/controller/ProjectController.java index 88f58b4..4cbaf75 100644 --- a/web/src/main/java/com/dite/znpt/web/controller/ProjectController.java +++ b/web/src/main/java/com/dite/znpt/web/controller/ProjectController.java @@ -2,12 +2,12 @@ package com.dite.znpt.web.controller; import cn.dev33.satoken.stp.StpUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dite.znpt.constant.Constants; -import com.dite.znpt.domain.vo.ProjectListReq; -import com.dite.znpt.domain.vo.ProjectListResp; -import com.dite.znpt.domain.vo.ProjectReq; -import com.dite.znpt.domain.vo.ProjectResp; +import com.dite.znpt.domain.entity.EquipmentEntity; +import com.dite.znpt.domain.vo.*; import com.dite.znpt.domain.entity.ProjectEntity; +import com.dite.znpt.service.EquipmentService; import com.dite.znpt.service.ProjectService; import com.dite.znpt.domain.Result; import com.dite.znpt.domain.PageResult; @@ -35,6 +35,9 @@ public class ProjectController { @Resource private ProjectService projectService; + @Resource + private EquipmentService equipmentService; + @ApiOperation(value = "分页查询项目信息列表", httpMethod = "GET") @GetMapping("/page") public PageResult page(ProjectListReq req) { @@ -100,5 +103,14 @@ public class ProjectController { return Result.ok(projectService.list(req)); } + @ApiOperation(value = "查询项目下的设备列表", httpMethod = "GET") + @GetMapping("/{projectId}/equipments") + public Result> equipments(@PathVariable String projectId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("del_flag", Constants.DEL_FLAG_0); + queryWrapper.eq("use_status", "1"); + queryWrapper.eq("project_id", projectId); + return Result.ok(equipmentService.list(queryWrapper)); + } } diff --git a/web/src/main/java/com/dite/znpt/web/controller/ProjectTaskController.java b/web/src/main/java/com/dite/znpt/web/controller/ProjectTaskController.java index dd59781..7b16908 100644 --- a/web/src/main/java/com/dite/znpt/web/controller/ProjectTaskController.java +++ b/web/src/main/java/com/dite/znpt/web/controller/ProjectTaskController.java @@ -2,10 +2,14 @@ package com.dite.znpt.web.controller; import cn.dev33.satoken.stp.StpUtil; +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dite.znpt.constant.Constants; import com.dite.znpt.domain.PageResult; import com.dite.znpt.domain.Result; +import com.dite.znpt.domain.entity.ProjectTaskEntity; import com.dite.znpt.domain.vo.*; +import com.dite.znpt.service.ProjectService; import com.dite.znpt.service.ProjectTaskService; import com.dite.znpt.util.PageUtil; import com.dite.znpt.util.ValidationGroup; @@ -19,6 +23,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; /** @@ -32,6 +37,9 @@ public class ProjectTaskController { @Resource private ProjectTaskService projectTaskService; + @Resource + private ProjectService projectService; + @ApiOperation(value = "获取项目任务信息列表", httpMethod = "GET") @GetMapping("/list") public PageResult list(ProjectTaskListReq projectTaskReq) { @@ -105,5 +113,16 @@ public class ProjectTaskController { req.setUserId(StpUtil.getLoginIdAsString()); return Result.ok(projectTaskService.selectList(req)); } + + @ApiOperation(value = "根据项目id查询任务列表", httpMethod = "GET") + @GetMapping("/{projectId}/tasks") + public Result getTaskByProjectId(@PathVariable String projectId) { + ProjectTasksDetailResp resp = new ProjectTasksDetailResp(); + resp.setProjectName(projectService.getById(projectId).getProjectName()); + resp.setList(projectTaskService.getTaskByProjectId(projectId)); + resp.setTotal(resp.getList().size()); + resp.setFinished((int) resp.getList().stream().filter(projectTaskResp -> projectTaskResp.getStatus() == 2).count()); + return Result.ok(resp); + } } From 987c4eeb38e6af879a8b444300da59fd8f55c1e6 Mon Sep 17 00:00:00 2001 From: cuizhibin Date: Tue, 12 Aug 2025 09:22:06 +0800 Subject: [PATCH 03/15] =?UTF-8?q?=E5=90=88=E5=90=8C=EF=BC=8C=E9=A1=B9?= =?UTF-8?q?=E7=9B=AEid=E6=9B=B4=E6=94=B9=E4=B8=BA=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dite/znpt/domain/entity/ContractEntity.java | 8 ++++---- .../java/com/dite/znpt/domain/vo/ContractListReq.java | 4 ++-- .../main/java/com/dite/znpt/domain/vo/ContractReq.java | 4 ++-- .../main/java/com/dite/znpt/domain/vo/ContractResp.java | 3 --- .../com/dite/znpt/service/impl/ContractServiceImpl.java | 8 +++++++- core/src/main/resources/mapper/ContractMapper.xml | 9 ++++----- 6 files changed, 19 insertions(+), 17 deletions(-) diff --git a/core/src/main/java/com/dite/znpt/domain/entity/ContractEntity.java b/core/src/main/java/com/dite/znpt/domain/entity/ContractEntity.java index e33d747..cc70a24 100644 --- a/core/src/main/java/com/dite/znpt/domain/entity/ContractEntity.java +++ b/core/src/main/java/com/dite/znpt/domain/entity/ContractEntity.java @@ -45,10 +45,10 @@ public class ContractEntity extends AuditableEntity implements Serializable { @TableField("code") private String code; - @ExcelProperty("项目id") - @ApiModelProperty("项目id") - @TableField("project_id") - private String projectId; + @ExcelProperty("项目名称") + @ApiModelProperty("项目名称") + @TableField("project_name") + private String projectName; @ExcelProperty("业务员id") @ApiModelProperty("业务员id") diff --git a/core/src/main/java/com/dite/znpt/domain/vo/ContractListReq.java b/core/src/main/java/com/dite/znpt/domain/vo/ContractListReq.java index facfb38..905971f 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/ContractListReq.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/ContractListReq.java @@ -32,8 +32,8 @@ public class ContractListReq implements Serializable { @ApiModelProperty("合同编号") private String code; - @ApiModelProperty("项目id") - private String projectId; + @ApiModelProperty("项目名称") + private String projectName; @ApiModelProperty("业务员id") private String salespersonId; diff --git a/core/src/main/java/com/dite/znpt/domain/vo/ContractReq.java b/core/src/main/java/com/dite/znpt/domain/vo/ContractReq.java index e6030cb..06e760a 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/ContractReq.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/ContractReq.java @@ -31,8 +31,8 @@ public class ContractReq implements Serializable { @ApiModelProperty("合同编号") private String code; - @ApiModelProperty("项目id") - private String projectId; + @ApiModelProperty("项目名称") + private String projectName; @ApiModelProperty("业务员id") private String salespersonId; diff --git a/core/src/main/java/com/dite/znpt/domain/vo/ContractResp.java b/core/src/main/java/com/dite/znpt/domain/vo/ContractResp.java index a1f4ff0..e3c8e0a 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/ContractResp.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/ContractResp.java @@ -18,9 +18,6 @@ import java.math.BigDecimal; @ApiModel("合同响应实体") public class ContractResp extends ContractEntity { - @ApiModelProperty("项目名称") - private String projectName; - @ApiModelProperty("业务员姓名") private String salespersonName; diff --git a/core/src/main/java/com/dite/znpt/service/impl/ContractServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/ContractServiceImpl.java index 8794210..73d183b 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/ContractServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/ContractServiceImpl.java @@ -4,15 +4,18 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dite.znpt.domain.entity.ContractEntity; +import com.dite.znpt.domain.entity.ContractSettlementEntity; import com.dite.znpt.domain.vo.ContractListReq; import com.dite.znpt.domain.vo.ContractReq; import com.dite.znpt.domain.vo.ContractResp; import com.dite.znpt.enums.ContractStatusEnum; import com.dite.znpt.mapper.ContractMapper; import com.dite.znpt.service.ContractService; +import com.dite.znpt.service.ContractSettlementService; import com.dite.znpt.util.PageUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.List; @@ -25,6 +28,8 @@ import java.util.List; @RequiredArgsConstructor public class ContractServiceImpl extends ServiceImpl implements ContractService { + private final ContractSettlementService contractSettlementService; + /** * 功能描述:查询合同列表 * @@ -96,9 +101,10 @@ public class ContractServiceImpl extends ServiceImpl - a.contract_id, a.customer, a.code, a.project_id, + a.contract_id, a.customer, a.code, a.project_name, a.salesperson_id, a.department_id, a.sign_date, a.duration, a.type, a.product_service, a.payment_date, a.payment_address, a.amount, a.account_number, a.notes, a.contract_status, @@ -14,11 +14,10 @@ select , u.name as salespersonName, d.dept_name as salespersonDeptName, - p.project_name, (select sum(cs.amount) from contract_settlement cs where a.contract_id=cs.contract_id) as settlementAmount + (select sum(cs.amount) from contract_settlement cs where a.contract_id=cs.contract_id) as settlementAmount from contract a left join user u on a.salesperson_id = u.user_id left join dept d on a.department_id=d.dept_id - left join project p on a.project_id=p.project_id and a.contract_id like concat ('%', #{contractId}, '%') @@ -29,8 +28,8 @@ and a.code like concat ('%', #{code}, '%') - - and a.project_id like concat ('%', #{projectId}, '%') + + and a.project_name like concat ('%', #{projectName}, '%') and a.salesperson_id like concat ('%', #{salespersonId}, '%') From 7ce85c6e80f5bc419f51d04a71eebe42c82e12df Mon Sep 17 00:00:00 2001 From: cuizhibin Date: Tue, 12 Aug 2025 10:06:05 +0800 Subject: [PATCH 04/15] =?UTF-8?q?=E5=90=88=E5=90=8C-=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/src/main/resources/mapper/ContractMapper.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/src/main/resources/mapper/ContractMapper.xml b/core/src/main/resources/mapper/ContractMapper.xml index aa7b0b0..0442042 100644 --- a/core/src/main/resources/mapper/ContractMapper.xml +++ b/core/src/main/resources/mapper/ContractMapper.xml @@ -6,7 +6,7 @@ a.contract_id, a.customer, a.code, a.project_name, a.salesperson_id, a.department_id, a.sign_date, a.duration, a.type, a.product_service, a.payment_date, a.payment_address, - a.amount, a.account_number, a.notes, a.contract_status, + a.amount, a.account_number, a.notes, a.contract_status, a.contract_text, a.create_time, a.create_by, a.update_time, a.update_by @@ -55,8 +55,8 @@ and a.account_number like concat ('%', #{accountNumber}, '%') - - and a.notes = #{notes} + + and a.notes like concat ('%', #{notes}, '%') and a.contract_status like concat ('%', #{contractStatus}, '%') From 2701f7fd462d2dd0a71a72a53e13ae8eddcac5ad Mon Sep 17 00:00:00 2001 From: cuizhibin Date: Tue, 12 Aug 2025 10:40:50 +0800 Subject: [PATCH 05/15] =?UTF-8?q?=E5=90=88=E5=90=8C-=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/src/main/resources/mapper/ContractMapper.xml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/core/src/main/resources/mapper/ContractMapper.xml b/core/src/main/resources/mapper/ContractMapper.xml index 0442042..f8e3015 100644 --- a/core/src/main/resources/mapper/ContractMapper.xml +++ b/core/src/main/resources/mapper/ContractMapper.xml @@ -5,9 +5,10 @@ a.contract_id, a.customer, a.code, a.project_name, a.salesperson_id, a.department_id, a.sign_date, a.duration, - a.type, a.product_service, a.payment_date, a.payment_address, - a.amount, a.account_number, a.notes, a.contract_status, a.contract_text, - a.create_time, a.create_by, a.update_time, a.update_by + a.type, a.product_service, a.payment_date, a.performance_deadline, + a.payment_address, a.amount, a.account_number, a.notes, + a.contract_status, a.contract_text, a.create_time, a.create_by, + a.update_time, a.update_by + + select + + from video_monitor + where project_id=#{projectId,jdbcType=VARCHAR} and part_id=#{partId,jdbcType=VARCHAR} + + + + insert into video_monitor + (project_id, part_id, video_name, video_path, is_deleted, `status`, pre_image_path, + pre_treatment, update_by, create_time, create_by, update_time, wind_speed, rpm, + `type`, extra, upload_time) + values + + (#{item.projectId}, #{item.partId}, #{item.videoName}, #{item.videoPath}, #{item.isDeleted}, + #{item.status}, #{item.preImagePath}, #{item.preTreatment}, #{item.updateBy}, #{item.createTime}, + #{item.createBy}, #{item.updateTime}, #{item.windSpeed}, #{item.rpm}, #{item.type}, + #{item.extra}, #{item.uploadTime}) + + + \ No newline at end of file diff --git a/web/src/main/java/com/dite/znpt/web/controller/VideoMonitorController.java b/web/src/main/java/com/dite/znpt/web/controller/VideoMonitorController.java new file mode 100644 index 0000000..845fb61 --- /dev/null +++ b/web/src/main/java/com/dite/znpt/web/controller/VideoMonitorController.java @@ -0,0 +1,77 @@ +package com.dite.znpt.web.controller; + +import com.dite.znpt.domain.PageResult; +import com.dite.znpt.domain.Result; +import com.dite.znpt.domain.entity.VideoMonitorEntity; +import com.dite.znpt.service.VideoMonitorService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.List; + +/** + * @author hedechao + * @date 2025/8/8 17:15 + * @Description: + */ +@Api(tags = "视频监测") +@RestController +@RequestMapping("/video-monitor") +@RequiredArgsConstructor +public class VideoMonitorController { +@Resource + VideoMonitorService videoService; + + @ApiOperation("分页查询") + @GetMapping("/page") + public PageResult page(@RequestParam(defaultValue = "1") Integer pageNo, + @RequestParam(defaultValue = "10") Integer pageSize, + @RequestParam String projectId, + @RequestParam(required = false) String turbineId) { + return videoService.page(pageNo, pageSize, projectId, turbineId); + } + + @ApiOperation("列表查询") + @GetMapping("/list") + public Result> list(@RequestParam(required = false) String projectId, + @RequestParam(required = false) String turbineId) { + return Result.ok(videoService.list(projectId, turbineId)); + } + + @ApiOperation("批量上传") + @PostMapping("/{projectId}/upload-batch") + public Result> uploadBatch(@PathVariable String projectId, + @RequestParam(required = false) String turbineId, + @RequestParam String type, + @RequestParam("files") MultipartFile[] files) throws IOException { + return Result.ok(videoService.uploadBatch(projectId, turbineId, type, files)); + } + + @ApiOperation("单文件上传") + @PostMapping("/{projectId}/upload") + public Result upload(@PathVariable String projectId, + @RequestParam(required = false) String turbineId, + @RequestParam String type, + @RequestParam("file") MultipartFile file) throws IOException { + return Result.ok(videoService.upload(projectId, turbineId, type, file)); + } + + @ApiOperation("删除") + @DeleteMapping("/{videoId}") + public Result delete(@PathVariable String videoId) { + videoService.delete(videoId); + return Result.ok(); + } + + @ApiOperation("下载/播放") + @GetMapping("/download/{videoId}") + public void download(@PathVariable String videoId, HttpServletResponse response) throws IOException { + videoService.download(videoId, response); + } +} From 19e9bb7978255689e2f16abaaabf86f03196ac35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E5=BE=B7=E8=B6=85?= <13143889+he-dechao@user.noreply.gitee.com> Date: Tue, 12 Aug 2025 17:21:49 +0800 Subject: [PATCH 08/15] =?UTF-8?q?=E5=87=80=E7=A9=BA=E5=BD=A2=E5=8F=98?= =?UTF-8?q?=E8=A7=86=E9=A2=91=E7=9B=91=E6=B5=8B=E5=90=8E=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/src/main/resources/mapper/VideoMonitorMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/resources/mapper/VideoMonitorMapper.xml b/core/src/main/resources/mapper/VideoMonitorMapper.xml index 9f6741e..37a7f78 100644 --- a/core/src/main/resources/mapper/VideoMonitorMapper.xml +++ b/core/src/main/resources/mapper/VideoMonitorMapper.xml @@ -44,7 +44,7 @@ `type`, extra, upload_time) values - (#{item.projectId}, #{item.partId}, #{item.videoName}, #{item.videoPath}, #{item.isDeleted}, + (#{item.projectId}, #{item.turbineId}, #{item.videoName}, #{item.videoPath}, #{item.isDeleted}, #{item.status}, #{item.preImagePath}, #{item.preTreatment}, #{item.updateBy}, #{item.createTime}, #{item.createBy}, #{item.updateTime}, #{item.windSpeed}, #{item.rpm}, #{item.type}, #{item.extra}, #{item.uploadTime}) From 53aa75d37bdcab8fb706f8abe8337cba44a947a1 Mon Sep 17 00:00:00 2001 From: "Mr.j" <2221464500@qq.com> Date: Tue, 12 Aug 2025 17:43:12 +0800 Subject: [PATCH 09/15] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD=E5=88=86?= =?UTF-8?q?=E9=A1=B5=E6=9F=A5=E8=AF=A2=E6=97=A0=E6=B3=95=E5=88=86=E9=A1=B5?= =?UTF-8?q?=E5=92=8C=E6=AD=A3=E7=A1=AE=E8=8E=B7=E5=8F=96=E6=80=BB=E9=A1=B5?= =?UTF-8?q?=E6=95=B0=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/EquipmentApprovalServiceImpl.java | 52 +++- .../service/impl/EquipmentServiceImpl.java | 225 +++++------------- .../impl/EquipmentUseRecordServiceImpl.java | 7 +- 3 files changed, 108 insertions(+), 176 deletions(-) diff --git a/core/src/main/java/com/dite/znpt/service/impl/EquipmentApprovalServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/EquipmentApprovalServiceImpl.java index 480734d..3ef83e0 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/EquipmentApprovalServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/EquipmentApprovalServiceImpl.java @@ -11,7 +11,9 @@ import com.dite.znpt.domain.vo.EquipmentApprovalResp; import com.dite.znpt.domain.vo.EquipmentProcurementApplyReq; import com.dite.znpt.service.EquipmentApprovalService; import com.dite.znpt.service.EquipmentStatusUpdateService; +import com.dite.znpt.util.PageUtil; import com.dite.znpt.websocket.SimpleWebSocketHandler; +import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -41,10 +43,10 @@ public class EquipmentApprovalServiceImpl implements EquipmentApprovalService { @Override public IPage getPendingApprovals(EquipmentApprovalListReq req) { - // 创建分页对象,处理null值 - Integer pageNum = req.getPage() != null ? req.getPage() : 1; - Integer pageSize = req.getPageSize() != null ? req.getPageSize() : 10; - Page page = new Page<>(pageNum, pageSize); + log.info("开始执行待审批设备分页查询,请求参数: {}", req); + + // 使用分页插件 + PageUtil.startPage(); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(EquipmentApprovalEntity::getApprovalStatus, "PENDING"); @@ -52,17 +54,30 @@ public class EquipmentApprovalServiceImpl implements EquipmentApprovalService { // 添加查询条件 addQueryConditions(wrapper, req); - IPage result = equipmentApprovalMapper.selectPage(page, wrapper); + // 执行查询 + List approvalList = equipmentApprovalMapper.selectList(wrapper); - return convertToRespPage(result); + // 转换为响应对象 + List respList = approvalList.stream() + .map(this::convertToResp) + .collect(Collectors.toList()); + + // 获取分页信息 + PageInfo pageInfo = new PageInfo<>(respList); + + // 创建响应分页对象 + Page result = new Page<>(pageInfo.getPageNum(), pageInfo.getPageSize(), pageInfo.getTotal()); + result.setRecords(respList); + + return result; } @Override public IPage getApprovedApprovals(EquipmentApprovalListReq req) { - // 创建分页对象,处理null值 - Integer pageNum = req.getPage() != null ? req.getPage() : 1; - Integer pageSize = req.getPageSize() != null ? req.getPageSize() : 10; - Page page = new Page<>(pageNum, pageSize); + log.info("开始执行已审批设备分页查询,请求参数: {}", req); + + // 使用分页插件 + PageUtil.startPage(); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.in(EquipmentApprovalEntity::getApprovalStatus, "APPROVED", "REJECTED"); @@ -70,9 +85,22 @@ public class EquipmentApprovalServiceImpl implements EquipmentApprovalService { // 添加查询条件 addQueryConditions(wrapper, req); - IPage result = equipmentApprovalMapper.selectPage(page, wrapper); + // 执行查询 + List approvalList = equipmentApprovalMapper.selectList(wrapper); - return convertToRespPage(result); + // 转换为响应对象 + List respList = approvalList.stream() + .map(this::convertToResp) + .collect(Collectors.toList()); + + // 获取分页信息 + PageInfo pageInfo = new PageInfo<>(respList); + + // 创建响应分页对象 + Page result = new Page<>(pageInfo.getPageNum(), pageInfo.getPageSize(), pageInfo.getTotal()); + result.setRecords(respList); + + return result; } @Override diff --git a/core/src/main/java/com/dite/znpt/service/impl/EquipmentServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/EquipmentServiceImpl.java index ebaac5c..b30a5d4 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/EquipmentServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/EquipmentServiceImpl.java @@ -16,6 +16,8 @@ import com.dite.znpt.enums.LocationStatusEnum; import com.dite.znpt.exception.ServiceException; import com.dite.znpt.mapper.EquipmentMapper; import com.dite.znpt.service.EquipmentService; +import com.dite.znpt.util.PageUtil; +import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -38,10 +40,8 @@ public class EquipmentServiceImpl extends ServiceImpl page(EquipmentListReq req) { log.info("开始执行设备分页查询,请求参数: {}", req); - // 创建分页对象,处理null值 - Integer pageNum = req.getPage() != null ? req.getPage() : (req.getPageNum() != null ? req.getPageNum() : 1); - Integer pageSize = req.getPageSize() != null ? req.getPageSize() : 10; - Page page = new Page<>(pageNum, pageSize); + // 使用分页插件 + PageUtil.startPage(); // 构建查询条件 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); @@ -117,9 +117,14 @@ public class EquipmentServiceImpl extends ServiceImpl equipmentPage = this.page(page, queryWrapper); + // 执行查询 + List equipmentList = this.list(queryWrapper); - log.info("查询完成,总记录数: {}, 当前页记录数: {}", equipmentPage.getTotal(), equipmentPage.getRecords().size()); + log.info("查询完成,当前页记录数: {}", equipmentList.size()); // 转换为响应对象 - List equipmentRespList = equipmentPage.getRecords().stream() + List equipmentRespList = equipmentList.stream() .map(this::convertToResp) .collect(Collectors.toList()); + // 获取分页信息 + PageInfo pageInfo = new PageInfo<>(equipmentRespList); + // 创建响应分页对象 - Page respPage = new Page<>(equipmentPage.getCurrent(), equipmentPage.getSize(), equipmentPage.getTotal()); + Page respPage = new Page<>(pageInfo.getPageNum(), pageInfo.getPageSize(), pageInfo.getTotal()); respPage.setRecords(equipmentRespList); return respPage; @@ -597,10 +498,8 @@ public class EquipmentServiceImpl extends ServiceImpl procurementPage(EquipmentListReq req) { log.info("开始执行设备采购记录分页查询,请求参数: {}", req); - // 创建分页对象,处理null值 - Integer pageNum = req.getPage() != null ? req.getPage() : (req.getPageNum() != null ? req.getPageNum() : 1); - Integer pageSize = req.getPageSize() != null ? req.getPageSize() : 10; - Page page = new Page<>(pageNum, pageSize); + // 使用分页插件 + PageUtil.startPage(); // 构建查询条件,参考设备分页查询的逻辑 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); @@ -624,14 +523,9 @@ public class EquipmentServiceImpl extends ServiceImpl result = this.page(page, queryWrapper); + List equipmentList = this.list(queryWrapper); // 转换为响应对象 - List records = result.getRecords().stream() + List records = equipmentList.stream() .map(this::convertToResp) .collect(Collectors.toList()); - // 创建新的分页结果 - Page respPage = new Page<>(result.getCurrent(), result.getSize(), result.getTotal()); - respPage.setRecords(records); + // 获取分页信息 + PageInfo pageInfo = new PageInfo<>(records); - log.info("设备采购记录分页查询完成,总记录数: {}", result.getTotal()); - return respPage; + // 创建响应分页对象 + Page result = new Page<>(pageInfo.getPageNum(), pageInfo.getPageSize(), pageInfo.getTotal()); + result.setRecords(records); + + return result; } @Transactional(rollbackFor = Exception.class) diff --git a/core/src/main/java/com/dite/znpt/service/impl/EquipmentUseRecordServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/EquipmentUseRecordServiceImpl.java index 33e7555..4df621a 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/EquipmentUseRecordServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/EquipmentUseRecordServiceImpl.java @@ -50,8 +50,13 @@ public class EquipmentUseRecordServiceImpl extends ServiceImpl page(EquipmentUseRecordListReq req) { + // 使用分页插件 PageUtil.startPage(); - return this.list(req); + + // 执行查询 + List result = this.list(req); + + return result; } @Override From 86ce3a6a2f89d66e8449bdcab828ed85382ef921 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=9D=E5=BD=AC?= <14779346+xswl_123@user.noreply.gitee.com> Date: Tue, 12 Aug 2025 17:57:54 +0800 Subject: [PATCH 10/15] =?UTF-8?q?8-12=20=E6=9F=A5=E8=AF=A2=E6=89=80?= =?UTF-8?q?=E6=9C=89=E6=9C=AA=E7=AB=8B=E9=A1=B9=E5=90=88=E5=90=8C=EF=BC=8C?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=A1=B9=E7=9B=AE=E6=97=B6=E5=8F=AF=E7=9B=B4?= =?UTF-8?q?=E6=8E=A5=E9=80=89=E6=8B=A9=E5=AF=B9=E5=BA=94=E5=90=88=E5=90=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../znpt/web/controller/ProjectController.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/web/src/main/java/com/dite/znpt/web/controller/ProjectController.java b/web/src/main/java/com/dite/znpt/web/controller/ProjectController.java index 4136c4b..c7e1806 100644 --- a/web/src/main/java/com/dite/znpt/web/controller/ProjectController.java +++ b/web/src/main/java/com/dite/znpt/web/controller/ProjectController.java @@ -4,9 +4,11 @@ package com.dite.znpt.web.controller; import cn.dev33.satoken.stp.StpUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dite.znpt.constant.Constants; +import com.dite.znpt.domain.entity.ContractEntity; import com.dite.znpt.domain.entity.EquipmentEntity; import com.dite.znpt.domain.vo.*; import com.dite.znpt.domain.entity.ProjectEntity; +import com.dite.znpt.service.ContractService; import com.dite.znpt.service.EquipmentService; import com.dite.znpt.service.ProjectService; import com.dite.znpt.domain.Result; @@ -38,6 +40,9 @@ public class ProjectController { @Resource private EquipmentService equipmentService; + @Resource + private ContractService contractService; + @ApiOperation(value = "分页查询项目信息列表", httpMethod = "GET") @GetMapping("/page") public PageResult page(ProjectListReq req) { @@ -112,4 +117,13 @@ public class ProjectController { queryWrapper.eq("project_id", projectId); return Result.ok(equipmentService.list(queryWrapper)); } + + @ApiOperation(value = "查询未立项的合同列表", httpMethod = "GET") + @GetMapping("/contracts") + public Result> contracts() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.isNull("project_id"); + return Result.ok(contractService.list(queryWrapper)); + } + } \ No newline at end of file From e19d8490459ba62a93dcc159fc14c56f7945d301 Mon Sep 17 00:00:00 2001 From: "Mr.j" <2221464500@qq.com> Date: Wed, 13 Aug 2025 09:28:41 +0800 Subject: [PATCH 11/15] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD=E5=88=86?= =?UTF-8?q?=E9=A1=B5=E6=9F=A5=E8=AF=A2=E8=A1=A8=E6=A0=BC=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E9=A1=BA=E5=88=A9=E4=B8=8B=E6=8B=89=E5=92=8C=E5=88=86=E9=A1=B5?= =?UTF-8?q?=E6=9D=A1=E4=B8=8D=E5=9B=BA=E5=AE=9A=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/vo/EquipmentApprovalListReq.java | 3 ++ .../impl/EquipmentApprovalServiceImpl.java | 32 +++++++++++++--- .../service/impl/EquipmentServiceImpl.java | 38 +++++++++++++------ 3 files changed, 56 insertions(+), 17 deletions(-) diff --git a/core/src/main/java/com/dite/znpt/domain/vo/EquipmentApprovalListReq.java b/core/src/main/java/com/dite/znpt/domain/vo/EquipmentApprovalListReq.java index 39b5833..55cae55 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/EquipmentApprovalListReq.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/EquipmentApprovalListReq.java @@ -43,6 +43,9 @@ public class EquipmentApprovalListReq implements Serializable { @ApiModelProperty("当前页码") private Integer page; + @ApiModelProperty("当前页码 - 与前端保持一致") + private Integer pageNum; + @ApiModelProperty("每页大小") private Integer pageSize; diff --git a/core/src/main/java/com/dite/znpt/service/impl/EquipmentApprovalServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/EquipmentApprovalServiceImpl.java index 3ef83e0..99636dd 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/EquipmentApprovalServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/EquipmentApprovalServiceImpl.java @@ -45,6 +45,12 @@ public class EquipmentApprovalServiceImpl implements EquipmentApprovalService { public IPage getPendingApprovals(EquipmentApprovalListReq req) { log.info("开始执行待审批设备分页查询,请求参数: {}", req); + // 获取分页参数 + Integer pageNum = req.getPageNum() != null ? req.getPageNum() : 1; + Integer pageSize = req.getPageSize() != null ? req.getPageSize() : 10; + + log.info("分页参数 - pageNum: {}, pageSize: {}", pageNum, pageSize); + // 使用分页插件 PageUtil.startPage(); @@ -63,10 +69,12 @@ public class EquipmentApprovalServiceImpl implements EquipmentApprovalService { .collect(Collectors.toList()); // 获取分页信息 - PageInfo pageInfo = new PageInfo<>(respList); + PageInfo pageInfo = new PageInfo<>(approvalList); + + log.info("待审批设备分页查询完成,共查询 {} 条记录,当前页码: {}, 总页码: {}", pageInfo.getTotal(), pageInfo.getPageNum(), pageInfo.getPages()); // 创建响应分页对象 - Page result = new Page<>(pageInfo.getPageNum(), pageInfo.getPageSize(), pageInfo.getTotal()); + Page result = new Page<>(pageNum, pageSize, pageInfo.getTotal()); result.setRecords(respList); return result; @@ -76,6 +84,12 @@ public class EquipmentApprovalServiceImpl implements EquipmentApprovalService { public IPage getApprovedApprovals(EquipmentApprovalListReq req) { log.info("开始执行已审批设备分页查询,请求参数: {}", req); + // 获取分页参数 + Integer pageNum = req.getPageNum() != null ? req.getPageNum() : 1; + Integer pageSize = req.getPageSize() != null ? req.getPageSize() : 10; + + log.info("分页参数 - pageNum: {}, pageSize: {}", pageNum, pageSize); + // 使用分页插件 PageUtil.startPage(); @@ -94,10 +108,12 @@ public class EquipmentApprovalServiceImpl implements EquipmentApprovalService { .collect(Collectors.toList()); // 获取分页信息 - PageInfo pageInfo = new PageInfo<>(respList); + PageInfo pageInfo = new PageInfo<>(approvalList); + + log.info("已审批设备分页查询完成,共查询 {} 条记录,当前页码: {}, 总页码: {}", pageInfo.getTotal(), pageInfo.getPageNum(), pageInfo.getPages()); // 创建响应分页对象 - Page result = new Page<>(pageInfo.getPageNum(), pageInfo.getPageSize(), pageInfo.getTotal()); + Page result = new Page<>(pageNum, pageSize, pageInfo.getTotal()); result.setRecords(respList); return result; @@ -484,11 +500,13 @@ public class EquipmentApprovalServiceImpl implements EquipmentApprovalService { public IPage getMyProcurementApplications(EquipmentApprovalListReq req) { log.info("开始获取我的采购申请,请求参数: {}", req); - // 创建分页对象 - Integer pageNum = req.getPage() != null ? req.getPage() : 1; + // 创建分页对象 - 使用pageNum保持一致性 + Integer pageNum = req.getPageNum() != null ? req.getPageNum() : 1; Integer pageSize = req.getPageSize() != null ? req.getPageSize() : 10; Page page = new Page<>(pageNum, pageSize); + log.info("分页参数 - pageNum: {}, pageSize: {}", pageNum, pageSize); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); // 只查询当前用户的申请 @@ -500,6 +518,8 @@ public class EquipmentApprovalServiceImpl implements EquipmentApprovalService { IPage result = equipmentApprovalMapper.selectPage(page, wrapper); + log.info("我的采购申请分页查询完成,共查询 {} 条记录,当前页码: {}, 总页码: {}", result.getTotal(), result.getCurrent(), result.getPages()); + return convertToRespPage(result); } diff --git a/core/src/main/java/com/dite/znpt/service/impl/EquipmentServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/EquipmentServiceImpl.java index b30a5d4..f7d6185 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/EquipmentServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/EquipmentServiceImpl.java @@ -40,6 +40,12 @@ public class EquipmentServiceImpl extends ServiceImpl page(EquipmentListReq req) { log.info("开始执行设备分页查询,请求参数: {}", req); + // 获取分页参数 + Integer pageNum = req.getPageNum() != null ? req.getPageNum() : 1; + Integer pageSize = req.getPageSize() != null ? req.getPageSize() : 10; + + log.info("分页参数 - pageNum: {}, pageSize: {}", pageNum, pageSize); + // 使用分页插件 PageUtil.startPage(); @@ -261,18 +267,20 @@ public class EquipmentServiceImpl extends ServiceImpl equipmentList = this.list(queryWrapper); - log.info("查询完成,当前页记录数: {}", equipmentList.size()); - + log.info("查询完成,当前页记录数: {}, 总记录数: {}", + equipmentList.size()); + // 转换为响应对象 List equipmentRespList = equipmentList.stream() .map(this::convertToResp) .collect(Collectors.toList()); - // 获取分页信息 - PageInfo pageInfo = new PageInfo<>(equipmentRespList); - - // 创建响应分页对象 - Page respPage = new Page<>(pageInfo.getPageNum(), pageInfo.getPageSize(), pageInfo.getTotal()); + // 获取分页信息 - 使用正确的实体类型 + PageInfo pageInfo = new PageInfo<>(equipmentList); + + log.info("获取总数: {}", pageInfo.getTotal()); + // 创建响应分页对象 - 使用正确的分页参数 + Page respPage = new Page<>(pageNum, pageSize, pageInfo.getTotal()); respPage.setRecords(equipmentRespList); return respPage; @@ -498,6 +506,12 @@ public class EquipmentServiceImpl extends ServiceImpl procurementPage(EquipmentListReq req) { log.info("开始执行设备采购记录分页查询,请求参数: {}", req); + // 获取分页参数 + Integer pageNum = req.getPageNum() != null ? req.getPageNum() : 1; + Integer pageSize = req.getPageSize() != null ? req.getPageSize() : 10; + + log.info("分页参数 - pageNum: {}, pageSize: {}", pageNum, pageSize); + // 使用分页插件 PageUtil.startPage(); @@ -617,11 +631,13 @@ public class EquipmentServiceImpl extends ServiceImpl pageInfo = new PageInfo<>(records); + // 获取分页信息 - 使用正确的实体类型 + PageInfo pageInfo = new PageInfo<>(equipmentList); - // 创建响应分页对象 - Page result = new Page<>(pageInfo.getPageNum(), pageInfo.getPageSize(), pageInfo.getTotal()); + log.info("设备采购分页查询完成,共查询 {} 条记录,当前页码: {}, 总页码: {}", pageInfo.getTotal(), pageInfo.getPageNum(), pageInfo.getPages()); + + // 创建响应分页对象 - 使用正确的分页参数 + Page result = new Page<>(pageNum, pageSize, pageInfo.getTotal()); result.setRecords(records); return result; From f500082ea6adfc0ae6c4bc6ae23fbf9a2f2b746a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=9D=E5=BD=AC?= <14779346+xswl_123@user.noreply.gitee.com> Date: Wed, 13 Aug 2025 10:08:35 +0800 Subject: [PATCH 12/15] =?UTF-8?q?8-13=20=E9=A1=B9=E7=9B=AE=E7=AB=8B?= =?UTF-8?q?=E9=A1=B9=E6=97=B6=E4=BD=BF=E5=90=88=E5=90=8C=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E5=85=B3=E8=81=94=E8=AF=A5=E9=A1=B9=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dite/znpt/service/impl/ProjectServiceImpl.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/core/src/main/java/com/dite/znpt/service/impl/ProjectServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/ProjectServiceImpl.java index 38d8b40..198ec2e 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/ProjectServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/ProjectServiceImpl.java @@ -3,9 +3,11 @@ package com.dite.znpt.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dite.znpt.constant.Message; import com.dite.znpt.converts.Converts; +import com.dite.znpt.domain.entity.ContractEntity; import com.dite.znpt.domain.entity.ProjectEntity; import com.dite.znpt.domain.entity.ProjectTaskEntity; import com.dite.znpt.domain.entity.UserEntity; @@ -16,12 +18,14 @@ import com.dite.znpt.domain.vo.ProjectReq; import com.dite.znpt.domain.vo.ProjectResp; import com.dite.znpt.enums.ProjectStatusEnum; import com.dite.znpt.exception.ServiceException; +import com.dite.znpt.mapper.ContractMapper; import com.dite.znpt.mapper.ProjectMapper; import com.dite.znpt.service.ProjectService; import com.dite.znpt.service.UserService; import com.dite.znpt.service.ProjectTaskService; import com.dite.znpt.util.PageUtil; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -47,6 +51,9 @@ public class ProjectServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("contract_code", req.getProjectOrigin()); + ContractEntity contractEntity = contractMapper.selectOne(queryWrapper); + contractEntity.setProjectId(entity.getProjectId()); + contractMapper.updateById(contractEntity); for (ProjectInitTaskReq taskReq : req.getTasks()) { ProjectTaskEntity taskEntity = BeanUtil.copyProperties(taskReq, ProjectTaskEntity.class); if (taskEntity.getScales() == null) { From 36720e7a3880a47d6b3fe69245d5c98cf9d49711 Mon Sep 17 00:00:00 2001 From: "Mr.j" <2221464500@qq.com> Date: Wed, 13 Aug 2025 10:19:30 +0800 Subject: [PATCH 13/15] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E7=9B=98=E5=BA=93=E7=9A=84=E5=88=86=E9=A1=B5=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dite/znpt/service/EquipmentService.java | 15 +++ .../service/impl/EquipmentServiceImpl.java | 117 +++++++++++++++++- .../web/controller/EquipmentController.java | 31 +++++ 3 files changed, 158 insertions(+), 5 deletions(-) diff --git a/core/src/main/java/com/dite/znpt/service/EquipmentService.java b/core/src/main/java/com/dite/znpt/service/EquipmentService.java index 0f7a604..0697362 100644 --- a/core/src/main/java/com/dite/znpt/service/EquipmentService.java +++ b/core/src/main/java/com/dite/znpt/service/EquipmentService.java @@ -72,4 +72,19 @@ public interface EquipmentService extends IService { * 修改设备采购记录 */ void updateProcurement(String equipmentId, EquipmentReq req); + + /** + * 分页查询设备盘库记录 + */ + IPage inventoryPage(EquipmentListReq req); + + /** + * 执行设备盘库 + */ + void executeInventory(String equipmentId, String inventoryResult, String remark); + + /** + * 批量执行设备盘库 + */ + void batchExecuteInventory(List equipmentIds, String inventoryResult, String remark); } diff --git a/core/src/main/java/com/dite/znpt/service/impl/EquipmentServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/EquipmentServiceImpl.java index f7d6185..bcee3bb 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/EquipmentServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/EquipmentServiceImpl.java @@ -673,11 +673,12 @@ public class EquipmentServiceImpl extends ServiceImpl inventoryPage(EquipmentListReq req) { + log.info("开始执行设备盘库分页查询,请求参数: {}", req); + + // 获取分页参数 + Integer pageNum = req.getPageNum() != null ? req.getPageNum() : 1; + Integer pageSize = req.getPageSize() != null ? req.getPageSize() : 10; + + log.info("分页参数 - pageNum: {}, pageSize: {}", pageNum, pageSize); + + // 使用分页插件 + PageUtil.startPage(); + + // 构建查询条件 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + + // 添加搜索条件 + if (StringUtils.hasText(req.getEquipmentName())) { + queryWrapper.like(EquipmentEntity::getEquipmentName, req.getEquipmentName()); + } + if (StringUtils.hasText(req.getEquipmentType())) { + queryWrapper.eq(EquipmentEntity::getEquipmentType, req.getEquipmentType()); + } + if (StringUtils.hasText(req.getAssetCode())) { + queryWrapper.like(EquipmentEntity::getAssetCode, req.getAssetCode()); + } + if (StringUtils.hasText(req.getBrand())) { + queryWrapper.like(EquipmentEntity::getBrand, req.getBrand()); + } + if (StringUtils.hasText(req.getLocationStatus())) { + queryWrapper.eq(EquipmentEntity::getLocationStatus, req.getLocationStatus()); + } + if (StringUtils.hasText(req.getResponsiblePerson())) { + queryWrapper.like(EquipmentEntity::getResponsiblePerson, req.getResponsiblePerson()); + } + if (StringUtils.hasText(req.getInventoryBarcode())) { + queryWrapper.like(EquipmentEntity::getInventoryBarcode, req.getInventoryBarcode()); + } + + // 按创建时间倒序排列 + queryWrapper.orderByDesc(EquipmentEntity::getCreateTime); + + // 执行查询 + IPage page = this.page(new Page<>(pageNum, pageSize), queryWrapper); + + // 转换为响应对象 + IPage result = page.convert(this::convertToResp); + + log.info("设备盘库分页查询完成,总记录数: {}, 当前页记录数: {}", result.getTotal(), result.getRecords().size()); + + return result; + } + + @Override + public void executeInventory(String equipmentId, String inventoryResult, String remark) { + log.info("执行设备盘库,设备ID: {}, 盘点结果: {}, 备注: {}", equipmentId, inventoryResult, remark); + + // 验证设备是否存在 + EquipmentEntity equipment = this.getById(equipmentId); + if (equipment == null) { + throw new ServiceException("设备不存在"); + } + + // 更新盘点状态 + EquipmentEntity updateEquipment = new EquipmentEntity(); + updateEquipment.setEquipmentId(equipmentId); + updateEquipment.setInventoryTimeStatus1(LocalDateTime.now().toString() + "_" + inventoryResult); + updateEquipment.setDynamicRecord(remark); + + // 保存更新 + boolean success = this.updateById(updateEquipment); + if (!success) { + throw new ServiceException("执行设备盘库失败"); + } + + log.info("设备盘库执行成功,设备ID: {}", equipmentId); + } + + @Override + public void batchExecuteInventory(List equipmentIds, String inventoryResult, String remark) { + log.info("批量执行设备盘库,设备ID列表: {}, 盘点结果: {}, 备注: {}", equipmentIds, inventoryResult, remark); + + if (equipmentIds == null || equipmentIds.isEmpty()) { + throw new ServiceException("设备ID列表不能为空"); + } + + // 批量更新盘点状态 + List updateList = equipmentIds.stream() + .map(equipmentId -> { + EquipmentEntity equipment = new EquipmentEntity(); + equipment.setEquipmentId(equipmentId); + equipment.setInventoryTimeStatus1(LocalDateTime.now().toString() + "_" + inventoryResult); + equipment.setDynamicRecord(remark); + return equipment; + }) + .collect(Collectors.toList()); + + // 批量更新 + boolean success = this.updateBatchById(updateList); + if (!success) { + throw new ServiceException("批量执行设备盘库失败"); + } + + log.info("批量设备盘库执行成功,处理设备数量: {}", equipmentIds.size()); + } } diff --git a/web/src/main/java/com/dite/znpt/web/controller/EquipmentController.java b/web/src/main/java/com/dite/znpt/web/controller/EquipmentController.java index bbfdccb..8da84ae 100644 --- a/web/src/main/java/com/dite/znpt/web/controller/EquipmentController.java +++ b/web/src/main/java/com/dite/znpt/web/controller/EquipmentController.java @@ -15,6 +15,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.List; /** * @author Bear.G @@ -103,6 +104,36 @@ public class EquipmentController { return Result.ok(); } + @ApiOperation(value = "分页查询设备盘库记录", httpMethod = "GET") + @GetMapping("/inventory/page") + public PageResult inventoryPage(EquipmentListReq req) { + log.info("=== 设备盘库记录查询接口被调用 ==="); + log.info("接收到的请求参数: {}", req); + + IPage page = equipmentService.inventoryPage(req); + return PageResult.ok(page.getRecords(), page.getTotal()); + } + + @ApiOperation(value = "执行设备盘库", httpMethod = "POST") + @PostMapping("/inventory/{equipmentId}") + public Result executeInventory( + @PathVariable String equipmentId, + @RequestParam String inventoryResult, + @RequestParam(required = false) String remark) { + equipmentService.executeInventory(equipmentId, inventoryResult, remark); + return Result.ok(); + } + + @ApiOperation(value = "批量执行设备盘库", httpMethod = "POST") + @PostMapping("/inventory/batch") + public Result batchExecuteInventory( + @RequestParam List equipmentIds, + @RequestParam String inventoryResult, + @RequestParam(required = false) String remark) { + equipmentService.batchExecuteInventory(equipmentIds, inventoryResult, remark); + return Result.ok(); + } + @ApiOperation(value = "获取采购统计信息", httpMethod = "GET") @GetMapping("/procurement/stats") public Result getProcurementStats(){ From 9585f6dd3995b3502e2f1169eba13d1863e9e767 Mon Sep 17 00:00:00 2001 From: wangna0328 <3402195679@qq.com> Date: Wed, 13 Aug 2025 14:39:15 +0800 Subject: [PATCH 14/15] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=94=98=E7=89=B9?= =?UTF-8?q?=E5=9B=BE=E5=90=8E=E7=AB=AF=E6=8E=A5=E5=8F=A3=E8=AE=BE=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dite/znpt/domain/vo/GanttChartReq.java | 45 ++ .../dite/znpt/domain/vo/GanttChartResp.java | 91 ++++ .../dite/znpt/mapper/ProjectTaskMapper.java | 2 + .../dite/znpt/service/GanttChartService.java | 55 ++ .../service/impl/GanttChartServiceImpl.java | 486 ++++++++++++++++++ .../web/controller/GanttChartController.java | 61 +++ 6 files changed, 740 insertions(+) create mode 100644 core/src/main/java/com/dite/znpt/domain/vo/GanttChartReq.java create mode 100644 core/src/main/java/com/dite/znpt/domain/vo/GanttChartResp.java create mode 100644 core/src/main/java/com/dite/znpt/service/GanttChartService.java create mode 100644 core/src/main/java/com/dite/znpt/service/impl/GanttChartServiceImpl.java create mode 100644 web/src/main/java/com/dite/znpt/web/controller/GanttChartController.java diff --git a/core/src/main/java/com/dite/znpt/domain/vo/GanttChartReq.java b/core/src/main/java/com/dite/znpt/domain/vo/GanttChartReq.java new file mode 100644 index 0000000..7e96367 --- /dev/null +++ b/core/src/main/java/com/dite/znpt/domain/vo/GanttChartReq.java @@ -0,0 +1,45 @@ +package com.dite.znpt.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDate; + +/** + * 甘特图查询请求类 + */ +@Data +@ApiModel(value = "GanttChartReq", description = "甘特图查询请求") +public class GanttChartReq { + + @ApiModelProperty("项目ID") + private String projectId; + + @ApiModelProperty("任务组ID") + private String taskGroupId; + + @ApiModelProperty("任务状态") + private Integer status; + + @ApiModelProperty("负责人ID") + private String mainUserId; + + @ApiModelProperty("开始时间范围-开始") + private LocalDate startDateFrom; + + @ApiModelProperty("开始时间范围-结束") + private LocalDate startDateTo; + + @ApiModelProperty("结束时间范围-开始") + private LocalDate endDateFrom; + + @ApiModelProperty("结束时间范围-结束") + private LocalDate endDateTo; + + @ApiModelProperty("是否包含已完成任务") + private Boolean includeCompleted = true; + + @ApiModelProperty("是否只显示逾期任务") + private Boolean overdueOnly = false; +} diff --git a/core/src/main/java/com/dite/znpt/domain/vo/GanttChartResp.java b/core/src/main/java/com/dite/znpt/domain/vo/GanttChartResp.java new file mode 100644 index 0000000..69e38a0 --- /dev/null +++ b/core/src/main/java/com/dite/znpt/domain/vo/GanttChartResp.java @@ -0,0 +1,91 @@ +package com.dite.znpt.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDate; +import java.util.List; + +/** + * 甘特图数据响应类 + */ +@Data +@ApiModel(value = "GanttChartResp", description = "甘特图数据响应") +public class GanttChartResp { + + @ApiModelProperty("任务ID") + private String taskId; + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务编号") + private String taskCode; + + @ApiModelProperty("上级任务ID") + private String parentTaskId; + + @ApiModelProperty("任务组ID") + private String taskGroupId; + + @ApiModelProperty("任务组名称") + private String taskGroupName; + + @ApiModelProperty("计划开始时间") + private LocalDate planStartDate; + + @ApiModelProperty("计划结束时间") + private LocalDate planEndDate; + + @ApiModelProperty("实际开始时间") + private LocalDate actualStartDate; + + @ApiModelProperty("实际结束时间") + private LocalDate actualEndDate; + + @ApiModelProperty("任务状态:0未开始,1进行中,2已结束") + private Integer status; + + @ApiModelProperty("任务状态描述") + private String statusDesc; + + @ApiModelProperty("是否逾期:0未逾期,1已逾期") + private Integer overdueStatus; + + @ApiModelProperty("任务负责人ID") + private String mainUserId; + + @ApiModelProperty("任务负责人姓名") + private String mainUserName; + + @ApiModelProperty("任务参与人") + private String userIds; + + @ApiModelProperty("任务参与人姓名列表") + private List participantNames; + + @ApiModelProperty("进度百分比") + private Integer progress; + + @ApiModelProperty("任务层级") + private Integer level; + + @ApiModelProperty("任务在时间轴上的位置(天数)") + private Integer position; + + @ApiModelProperty("任务持续时间(天数)") + private Integer duration; + + @ApiModelProperty("子任务列表") + private List children; + + @ApiModelProperty("任务备注") + private String remark; + + @ApiModelProperty("项目ID") + private String projectId; + + @ApiModelProperty("项目名称") + private String projectName; +} diff --git a/core/src/main/java/com/dite/znpt/mapper/ProjectTaskMapper.java b/core/src/main/java/com/dite/znpt/mapper/ProjectTaskMapper.java index afb1d09..4101f84 100644 --- a/core/src/main/java/com/dite/znpt/mapper/ProjectTaskMapper.java +++ b/core/src/main/java/com/dite/znpt/mapper/ProjectTaskMapper.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dite.znpt.domain.entity.ProjectTaskEntity; import com.dite.znpt.domain.vo.ProjectTaskListReq; import com.dite.znpt.domain.vo.ProjectTaskResp; +import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -13,6 +14,7 @@ import java.util.List; * @date 2025/06/24 16:44 * @Description: 项目任务信息表数据库访问层 */ +@Mapper public interface ProjectTaskMapper extends BaseMapper { List queryBySelective(ProjectTaskListReq projectTaskReq); diff --git a/core/src/main/java/com/dite/znpt/service/GanttChartService.java b/core/src/main/java/com/dite/znpt/service/GanttChartService.java new file mode 100644 index 0000000..d3e1c26 --- /dev/null +++ b/core/src/main/java/com/dite/znpt/service/GanttChartService.java @@ -0,0 +1,55 @@ +package com.dite.znpt.service; + +import com.dite.znpt.domain.vo.GanttChartReq; +import com.dite.znpt.domain.vo.GanttChartResp; + +import java.util.List; + +/** + * 甘特图服务接口 + */ +public interface GanttChartService { + + /** + * 获取项目甘特图数据 + * + * @param req 查询条件 + * @return 甘特图数据列表 + */ + List getGanttChartData(GanttChartReq req); + + /** + * 获取项目甘特图统计信息 + * + * @param projectId 项目ID + * @return 统计信息 + */ + Object getGanttChartStatistics(String projectId); + + /** + * 获取项目甘特图时间轴信息 + * + * @param projectId 项目ID + * @return 时间轴信息 + */ + Object getGanttChartTimeline(String projectId); + + /** + * 更新任务进度 + * + * @param taskId 任务ID + * @param progress 进度百分比 + * @return 是否成功 + */ + boolean updateTaskProgress(String taskId, Integer progress); + + /** + * 拖拽更新任务时间 + * + * @param taskId 任务ID + * @param startDate 开始时间 + * @param endDate 结束时间 + * @return 是否成功 + */ + boolean updateTaskTime(String taskId, String startDate, String endDate); +} diff --git a/core/src/main/java/com/dite/znpt/service/impl/GanttChartServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/GanttChartServiceImpl.java new file mode 100644 index 0000000..e1f8f44 --- /dev/null +++ b/core/src/main/java/com/dite/znpt/service/impl/GanttChartServiceImpl.java @@ -0,0 +1,486 @@ +package com.dite.znpt.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.dite.znpt.domain.entity.ProjectTaskEntity; +import com.dite.znpt.domain.entity.UserEntity; +import com.dite.znpt.domain.vo.GanttChartReq; +import com.dite.znpt.domain.vo.GanttChartResp; +import com.dite.znpt.mapper.ProjectTaskMapper; +import com.dite.znpt.service.GanttChartService; +import com.dite.znpt.service.UserService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.time.format.DateTimeParseException; +import java.time.temporal.ChronoUnit; +import java.util.*; +import java.util.Arrays; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.stream.Collectors; + +/** + * 甘特图服务实现类 + */ +@Service +@RequiredArgsConstructor +public class GanttChartServiceImpl implements GanttChartService { + + private final ProjectTaskMapper projectTaskMapper; + private final UserService userService; + + @Override + public List getGanttChartData(GanttChartReq req) { + // 查询所有任务 + QueryWrapper queryWrapper = new QueryWrapper<>(); + + if (StrUtil.isNotBlank(req.getProjectId())) { + queryWrapper.eq("project_id", req.getProjectId()); + } + if (StrUtil.isNotBlank(req.getTaskGroupId())) { + queryWrapper.eq("task_group_id", req.getTaskGroupId()); + } + if (req.getStatus() != null) { + queryWrapper.eq("status", req.getStatus()); + } + if (StrUtil.isNotBlank(req.getMainUserId())) { + queryWrapper.eq("main_user_id", req.getMainUserId()); + } + if (req.getStartDateFrom() != null) { + queryWrapper.ge("plan_start_date", req.getStartDateFrom()); + } + if (req.getStartDateTo() != null) { + queryWrapper.le("plan_start_date", req.getStartDateTo()); + } + if (req.getEndDateFrom() != null) { + queryWrapper.ge("plan_end_date", req.getEndDateFrom()); + } + if (req.getEndDateTo() != null) { + queryWrapper.le("plan_end_date", req.getEndDateTo()); + } + if (req.getOverdueOnly() != null && req.getOverdueOnly()) { + queryWrapper.eq("overdue_status", 1); + } + if (req.getIncludeCompleted() != null && !req.getIncludeCompleted()) { + queryWrapper.ne("status", 2); + } + + queryWrapper.orderByAsc("plan_start_date"); + + List taskList = projectTaskMapper.selectList(queryWrapper); + + // 获取用户信息 + final Set userIds = new HashSet<>(); + taskList.forEach(task -> { + if (StrUtil.isNotBlank(task.getMainUserId())) { + userIds.add(task.getMainUserId()); + } + if (StrUtil.isNotBlank(task.getUserIds())) { + userIds.addAll(Arrays.asList(task.getUserIds().split(","))); + } + }); + + final Map userMap = new HashMap<>(); + if (CollUtil.isNotEmpty(userIds)) { + List users = userService.listByIds(userIds); + userMap.putAll(users.stream().collect(Collectors.toMap(UserEntity::getUserId, user -> user))); + } + + // 批量获取项目时间范围,避免重复查询 + final Map projectStartDates = new HashMap<>(); + if (StrUtil.isNotBlank(req.getProjectId())) { + // 如果指定了项目ID,直接获取该项目的时间范围 + LocalDate projectStart = getProjectStartDate(req.getProjectId()); + projectStartDates.put(req.getProjectId(), projectStart); + } else { + // 如果没有指定项目ID,获取所有相关项目的时间范围 + Set projectIds = taskList.stream() + .map(ProjectTaskEntity::getProjectId) + .filter(StrUtil::isNotBlank) + .collect(Collectors.toSet()); + + for (String projectId : projectIds) { + LocalDate projectStart = getProjectStartDate(projectId); + projectStartDates.put(projectId, projectStart); + } + } + + // 转换为甘特图数据 + List ganttData = taskList.stream().map(task -> { + GanttChartResp resp = BeanUtil.copyProperties(task, GanttChartResp.class); + + // 设置状态描述 + switch (task.getStatus()) { + case 0: + resp.setStatusDesc("未开始"); + break; + case 1: + resp.setStatusDesc("进行中"); + break; + case 2: + resp.setStatusDesc("已结束"); + break; + default: + resp.setStatusDesc("未知"); + } + + // 设置负责人姓名 + if (StrUtil.isNotBlank(task.getMainUserId()) && userMap.containsKey(task.getMainUserId())) { + resp.setMainUserName(userMap.get(task.getMainUserId()).getName()); + } + + // 设置参与人姓名列表 + if (StrUtil.isNotBlank(task.getUserIds())) { + List participantNames = Arrays.stream(task.getUserIds().split(",")) + .filter(userId -> userMap.containsKey(userId)) + .map(userId -> userMap.get(userId).getName()) + .collect(Collectors.toList()); + resp.setParticipantNames(participantNames); + } + + // 计算进度(这里可以根据实际业务逻辑调整) + if (task.getStatus() == 2) { + resp.setProgress(100); + } else if (task.getStatus() == 1) { + resp.setProgress(50); // 默认进度,实际应该从数据库字段获取 + } else { + resp.setProgress(0); + } + + // 计算任务在时间轴上的位置和持续时间 + LocalDate projectStart = projectStartDates.get(task.getProjectId()); + if (projectStart != null && task.getPlanStartDate() != null) { + int position = (int) ChronoUnit.DAYS.between(projectStart, task.getPlanStartDate()); + resp.setPosition(position); + } + + // 计算任务持续时间 + if (task.getPlanStartDate() != null && task.getPlanEndDate() != null) { + int duration = (int) ChronoUnit.DAYS.between(task.getPlanStartDate(), task.getPlanEndDate()) + 1; + resp.setDuration(duration); + } else { + resp.setDuration(1); // 默认持续1天 + } + + return resp; + }).collect(Collectors.toList()); + + // 构建树形结构 + return buildTreeStructure(ganttData); + } + + @Override + public Object getGanttChartStatistics(String projectId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("project_id", projectId); + + List taskList = projectTaskMapper.selectList(queryWrapper); + + Map statistics = new HashMap<>(); + statistics.put("totalTasks", taskList.size()); + statistics.put("notStarted", (int) taskList.stream().filter(task -> task.getStatus() == 0).count()); + statistics.put("inProgress", (int) taskList.stream().filter(task -> task.getStatus() == 1).count()); + statistics.put("completed", (int) taskList.stream().filter(task -> task.getStatus() == 2).count()); + statistics.put("overdue", (int) taskList.stream().filter(task -> task.getOverdueStatus() == 1).count()); + + // 计算总体进度 + if (taskList.size() > 0) { + final double avgProgress = taskList.stream() + .mapToInt(task -> { + if (task.getStatus() == 2) return 100; + else if (task.getStatus() == 1) return 50; + else return 0; + }) + .average() + .orElse(0.0); + statistics.put("overallProgress", Math.round(avgProgress)); + } else { + statistics.put("overallProgress", 0); + } + + return statistics; + } + + @Override + public Object getGanttChartTimeline(String projectId) { + if (StrUtil.isBlank(projectId)) { + return null; + } + + LocalDate projectStartDate = getProjectStartDate(projectId); + LocalDate projectEndDate = getProjectEndDate(projectId); + + Map timeline = new HashMap<>(); + timeline.put("projectId", projectId); + timeline.put("startDate", projectStartDate); + timeline.put("endDate", projectEndDate); + timeline.put("totalDays", ChronoUnit.DAYS.between(projectStartDate, projectEndDate) + 1); + + // 计算时间轴上的关键时间点(比如每周、每月) + List> timePoints = new ArrayList<>(); + LocalDate currentDate = projectStartDate; + + while (!currentDate.isAfter(projectEndDate)) { + Map timePoint = new HashMap<>(); + timePoint.put("date", currentDate); + timePoint.put("dayOfWeek", currentDate.getDayOfWeek().getDisplayName(java.time.format.TextStyle.SHORT, java.util.Locale.CHINESE)); + timePoint.put("isWeekend", currentDate.getDayOfWeek().getValue() >= 6); + timePoints.add(timePoint); + + currentDate = currentDate.plusDays(1); + } + + timeline.put("timePoints", timePoints); + + return timeline; + } + + @Override + public boolean updateTaskProgress(String taskId, Integer progress) { + ProjectTaskEntity task = projectTaskMapper.selectById(taskId); + if (task == null) { + return false; + } + + // 更新进度 + // 这里需要根据实际业务逻辑添加进度字段 + // task.setProgress(progress); + + // 根据进度更新状态 + if (progress >= 100) { + task.setStatus(2); // 已完成 + task.setActualEndDate(LocalDate.now()); + } else if (progress > 0) { + task.setStatus(1); // 进行中 + if (task.getActualStartDate() == null) { + task.setActualStartDate(LocalDate.now()); + } + } + + return projectTaskMapper.updateById(task) > 0; + } + + @Override + public boolean updateTaskTime(String taskId, String startDate, String endDate) { + ProjectTaskEntity task = projectTaskMapper.selectById(taskId); + if (task == null) { + return false; + } + + final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + LocalDate newStartDate = null; + LocalDate newEndDate = null; + + try { + if (StrUtil.isNotBlank(startDate)) { + newStartDate = LocalDate.parse(startDate, formatter); + } + if (StrUtil.isNotBlank(endDate)) { + newEndDate = LocalDate.parse(endDate, formatter); + } + } catch (DateTimeParseException e) { + return false; // 日期格式错误 + } + + // 验证时间约束 + if (!validateTaskTimeConstraints(task, newStartDate, newEndDate)) { + return false; + } + + // 更新任务时间 + if (newStartDate != null) { + task.setPlanStartDate(newStartDate); + } + if (newEndDate != null) { + task.setPlanEndDate(newEndDate); + } + + // 更新逾期状态 + updateOverdueStatus(task); + + return projectTaskMapper.updateById(task) > 0; + } + + /** + * 构建树形结构 + */ + private List buildTreeStructure(List allTasks) { + final Map taskMap = allTasks.stream() + .collect(Collectors.toMap(GanttChartResp::getTaskId, task -> task)); + + final List rootTasks = new ArrayList<>(); + + for (GanttChartResp task : allTasks) { + if (StrUtil.isBlank(task.getParentTaskId())) { + // 根任务 + task.setLevel(0); + rootTasks.add(task); + } else { + // 子任务 + GanttChartResp parentTask = taskMap.get(task.getParentTaskId()); + if (parentTask != null) { + task.setLevel(parentTask.getLevel() + 1); + if (parentTask.getChildren() == null) { + parentTask.setChildren(new ArrayList<>()); + } + parentTask.getChildren().add(task); + } + } + } + + return rootTasks; + } + + /** + * 获取项目开始时间 + * 从项目任务中计算最早的计划开始时间作为项目开始时间 + */ + private LocalDate getProjectStartDate(String projectId) { + if (StrUtil.isBlank(projectId)) { + return LocalDate.now().minusDays(30); // 默认值 + } + + // 查询项目中所有任务的计划开始时间,取最早的时间 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("project_id", projectId) + .isNotNull("plan_start_date") + .orderByAsc("plan_start_date") + .last("LIMIT 1"); + + ProjectTaskEntity earliestTask = projectTaskMapper.selectOne(queryWrapper); + + if (earliestTask != null && earliestTask.getPlanStartDate() != null) { + return earliestTask.getPlanStartDate(); + } + + // 如果没有找到有效的开始时间,返回当前时间减去30天作为默认值 + return LocalDate.now().minusDays(30); + } + + /** + * 获取项目结束时间 + * 从项目任务中计算最晚的计划结束时间作为项目结束时间 + */ + private LocalDate getProjectEndDate(String projectId) { + if (StrUtil.isBlank(projectId)) { + return LocalDate.now().plusDays(30); // 默认值 + } + + // 查询项目中所有任务的计划结束时间,取最晚的时间 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("project_id", projectId) + .isNotNull("plan_end_date") + .orderByDesc("plan_end_date") + .last("LIMIT 1"); + + ProjectTaskEntity latestTask = projectTaskMapper.selectOne(queryWrapper); + + if (latestTask != null && latestTask.getPlanEndDate() != null) { + return latestTask.getPlanEndDate(); + } + + // 如果没有找到有效的结束时间,返回当前时间加上30天作为默认值 + return LocalDate.now().plusDays(30); + } + + /** + * 获取项目时间范围 + * 返回项目的开始时间和结束时间 + */ + private Map getProjectTimeRange(String projectId) { + Map timeRange = new HashMap<>(); + timeRange.put("startDate", getProjectStartDate(projectId)); + timeRange.put("endDate", getProjectEndDate(projectId)); + return timeRange; + } + + /** + * 批量获取项目时间范围 + * 通过一次查询获取多个项目的时间范围,提高性能 + */ + private Map> getBatchProjectTimeRanges(Set projectIds) { + Map> timeRanges = new HashMap<>(); + + for (String projectId : projectIds) { + Map timeRange = getProjectTimeRange(projectId); + timeRanges.put(projectId, timeRange); + } + + return timeRanges; + } + + /** + * 计算任务进度 + */ + private Integer calculateProgress(ProjectTaskEntity task) { + if (task.getStatus() == 2) return 100; // 已完成 + else if (task.getStatus() == 1) return 50; // 进行中 + else return 0; // 未开始 + } + + /** + * 计算任务持续时间 + */ + private Integer calculateDuration(ProjectTaskEntity task) { + if (task.getPlanStartDate() != null && task.getPlanEndDate() != null) { + return (int) ChronoUnit.DAYS.between(task.getPlanStartDate(), task.getPlanEndDate()) + 1; + } + return 1; + } + + /** + * 计算任务在时间轴上的位置 + */ + private Integer calculatePosition(ProjectTaskEntity task) { + LocalDate projectStart = getProjectStartDate(task.getProjectId()); + if (task.getPlanStartDate() != null && projectStart != null) { + return (int) ChronoUnit.DAYS.between(projectStart, task.getPlanStartDate()); + } + return 0; + } + + /** + * 验证任务时间约束 + */ + private boolean validateTaskTimeConstraints(ProjectTaskEntity task, + LocalDate newStartDate, + LocalDate newEndDate) { + // 验证子任务不能早于父任务开始 + if (StrUtil.isNotBlank(task.getParentTaskId())) { + ProjectTaskEntity parentTask = projectTaskMapper.selectById(task.getParentTaskId()); + if (parentTask != null && newStartDate != null) { + if (newStartDate.isBefore(parentTask.getPlanStartDate())) { + return false; + } + } + } + + // 验证结束时间不能早于开始时间 + if (newStartDate != null && newEndDate != null) { + if (newEndDate.isBefore(newStartDate)) { + return false; + } + } + + return true; + } + + /** + * 更新逾期状态 + */ + private void updateOverdueStatus(ProjectTaskEntity task) { + if (task.getPlanEndDate() != null && + task.getPlanEndDate().isBefore(LocalDate.now()) && + task.getStatus() != 2) { + task.setOverdueStatus(1); // 标记为逾期 + } else { + task.setOverdueStatus(0); + } + } +} diff --git a/web/src/main/java/com/dite/znpt/web/controller/GanttChartController.java b/web/src/main/java/com/dite/znpt/web/controller/GanttChartController.java new file mode 100644 index 0000000..6da8f57 --- /dev/null +++ b/web/src/main/java/com/dite/znpt/web/controller/GanttChartController.java @@ -0,0 +1,61 @@ +package com.dite.znpt.web.controller; + +import com.dite.znpt.domain.Result; +import com.dite.znpt.domain.vo.GanttChartReq; +import com.dite.znpt.domain.vo.GanttChartResp; +import com.dite.znpt.service.GanttChartService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 甘特图控制器 + */ +@Api(tags = "甘特图管理") +@RestController +@RequestMapping("/gantt-chart") +public class GanttChartController { + + @Resource + private GanttChartService ganttChartService; + + @ApiOperation(value = "获取项目甘特图数据", httpMethod = "GET") + @GetMapping("/data") + public Result> getGanttChartData(GanttChartReq req) { + List data = ganttChartService.getGanttChartData(req); + return Result.ok(data); + } + + @ApiOperation(value = "获取项目甘特图统计信息", httpMethod = "GET") + @GetMapping("/statistics/{projectId}") + public Result getGanttChartStatistics(@PathVariable String projectId) { + Object statistics = ganttChartService.getGanttChartStatistics(projectId); + return Result.ok(statistics); + } + + @ApiOperation(value = "获取项目甘特图时间轴信息", httpMethod = "GET") + @GetMapping("/timeline/{projectId}") + public Result getGanttChartTimeline(@PathVariable String projectId) { + Object timeline = ganttChartService.getGanttChartTimeline(projectId); + return Result.ok(timeline); + } + + @ApiOperation(value = "更新任务进度", httpMethod = "PUT") + @PutMapping("/progress/{taskId}") + public Result updateTaskProgress(@PathVariable String taskId, @RequestParam Integer progress) { + boolean success = ganttChartService.updateTaskProgress(taskId, progress); + return Result.ok(success); + } + + @ApiOperation(value = "拖拽更新任务时间", httpMethod = "PUT") + @PutMapping("/time/{taskId}") + public Result updateTaskTime(@PathVariable String taskId, + @RequestParam(required = false) String startDate, + @RequestParam(required = false) String endDate) { + boolean success = ganttChartService.updateTaskTime(taskId, startDate, endDate); + return Result.ok(success); + } +} From 5ed374f06f473f77cbeaa2d5ac4684a5555fad05 Mon Sep 17 00:00:00 2001 From: "Mr.j" <2221464500@qq.com> Date: Wed, 13 Aug 2025 16:46:42 +0800 Subject: [PATCH 15/15] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E7=A1=AE=E8=AE=A4=E6=94=B6=E8=B4=A7=E5=90=8E=E7=9B=B4=E6=8E=A5?= =?UTF-8?q?=E5=85=A5=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dite/znpt/domain/vo/ReceiptRequest.java | 160 ++++++++++++++++++ .../dite/znpt/service/EquipmentService.java | 6 + .../service/impl/EquipmentServiceImpl.java | 69 ++++++++ .../znpt/service/impl/ProjectServiceImpl.java | 1 - .../web/controller/EquipmentController.java | 12 ++ 5 files changed, 247 insertions(+), 1 deletion(-) create mode 100644 core/src/main/java/com/dite/znpt/domain/vo/ReceiptRequest.java diff --git a/core/src/main/java/com/dite/znpt/domain/vo/ReceiptRequest.java b/core/src/main/java/com/dite/znpt/domain/vo/ReceiptRequest.java new file mode 100644 index 0000000..d1776ef --- /dev/null +++ b/core/src/main/java/com/dite/znpt/domain/vo/ReceiptRequest.java @@ -0,0 +1,160 @@ +package com.dite.znpt.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; + +/** + * 收货请求参数(扩展版,包含完整设备信息) + * + * @author system + * @date 2025-01-08 + */ +@Data +@ApiModel(value = "收货请求参数", description = "收货请求参数,包含收货信息和设备信息") +public class ReceiptRequest { + + // 收货特有信息 + @NotBlank(message = "收货时间不能为空") + @ApiModelProperty("收货时间") + private String receiptTime; + + @NotBlank(message = "收货人不能为空") + @ApiModelProperty("收货人") + private String receiptPerson; + + @NotNull(message = "收货数量不能为空") + @ApiModelProperty("收货数量") + private Integer receiptQuantity; + + @ApiModelProperty("收货备注") + private String receiptRemark; + + @NotBlank(message = "外观检查结果不能为空") + @ApiModelProperty("外观检查结果") + private String appearanceCheck; + + @NotBlank(message = "功能测试结果不能为空") + @ApiModelProperty("功能测试结果") + private String functionTest; + + @NotBlank(message = "包装完整性不能为空") + @ApiModelProperty("包装完整性") + private String packageIntegrity; + + @NotBlank(message = "配件完整性不能为空") + @ApiModelProperty("配件完整性") + private String accessoryIntegrity; + + @NotBlank(message = "检查结果不能为空") + @ApiModelProperty("检查结果") + private String checkResult; + + @ApiModelProperty("检查备注") + private String checkRemark; + + @NotBlank(message = "入库位置不能为空") + @ApiModelProperty("入库位置") + private String storageLocation; + + @NotBlank(message = "库管员不能为空") + @ApiModelProperty("库管员") + private String storageManager; + + // 设备基本信息(从采购数据继承) + @ApiModelProperty("设备名称") + private String equipmentName; + + @ApiModelProperty("设备型号") + private String equipmentModel; + + @ApiModelProperty("设备类型") + private String equipmentType; + + @ApiModelProperty("设备序列号") + private String equipmentSn; + + @ApiModelProperty("品牌") + private String brand; + + @ApiModelProperty("配置规格/参数") + private String specification; + + @ApiModelProperty("资产编号") + private String assetCode; + + // 采购信息(从采购数据继承) + @ApiModelProperty("采购订单号") + private String purchaseOrder; + + @ApiModelProperty("供应商名称") + private String supplierName; + + @ApiModelProperty("采购价格") + private BigDecimal purchasePrice; + + @ApiModelProperty("采购时间") + private String purchaseTime; + + @ApiModelProperty("数量") + private Integer quantity; + + @ApiModelProperty("单价") + private BigDecimal unitPrice; + + @ApiModelProperty("总价") + private BigDecimal totalPrice; + + // 入库信息 + @ApiModelProperty("入库时间") + private String inStockTime; + + @ApiModelProperty("物理位置") + private String physicalLocation; + + @ApiModelProperty("位置状态") + private String locationStatus; + + @ApiModelProperty("负责人") + private String responsiblePerson; + + @ApiModelProperty("库存条码") + private String inventoryBarcode; + + // 状态信息 + @ApiModelProperty("设备状态") + private String equipmentStatus; + + @ApiModelProperty("使用状态") + private String useStatus; + + @ApiModelProperty("健康状态") + private String healthStatus; + + @ApiModelProperty("收货状态") + private String receiptStatus; + + // 其他管理信息 + @ApiModelProperty("折旧方法") + private String depreciationMethod; + + @ApiModelProperty("折旧年限") + private Integer depreciationYears; + + @ApiModelProperty("残值") + private BigDecimal salvageValue; + + @ApiModelProperty("当前净值") + private BigDecimal currentNetValue; + + // 系统字段 + @ApiModelProperty("创建时间") + private String createTime; + + @ApiModelProperty("更新时间") + private String updateTime; +} diff --git a/core/src/main/java/com/dite/znpt/service/EquipmentService.java b/core/src/main/java/com/dite/znpt/service/EquipmentService.java index 0697362..dbded87 100644 --- a/core/src/main/java/com/dite/znpt/service/EquipmentService.java +++ b/core/src/main/java/com/dite/znpt/service/EquipmentService.java @@ -6,6 +6,7 @@ import com.dite.znpt.domain.entity.EquipmentEntity; import com.dite.znpt.domain.vo.EquipmentListReq; import com.dite.znpt.domain.vo.EquipmentReq; import com.dite.znpt.domain.vo.EquipmentResp; +import com.dite.znpt.domain.vo.ReceiptRequest; import java.util.List; import java.util.Map; @@ -53,6 +54,11 @@ public interface EquipmentService extends IService { */ Object getProcurementStats(); + /** + * 确认收货并自动入库 + */ + void receiveGoodsAndStockIn(String equipmentId, ReceiptRequest req); + /** * 导出采购记录 */ diff --git a/core/src/main/java/com/dite/znpt/service/impl/EquipmentServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/EquipmentServiceImpl.java index bcee3bb..9d6beec 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/EquipmentServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/EquipmentServiceImpl.java @@ -23,9 +23,13 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; +import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.List; import java.util.stream.Collectors; +import com.dite.znpt.domain.vo.ReceiptRequest; +import cn.dev33.satoken.stp.StpUtil; +import org.springframework.beans.BeanUtils; /** * @author Bear.G @@ -840,4 +844,69 @@ public class EquipmentServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); queryWrapper.eq("contract_code", req.getProjectOrigin()); ContractEntity contractEntity = contractMapper.selectOne(queryWrapper); - contractEntity.setProjectId(entity.getProjectId()); contractMapper.updateById(contractEntity); for (ProjectInitTaskReq taskReq : req.getTasks()) { ProjectTaskEntity taskEntity = BeanUtil.copyProperties(taskReq, ProjectTaskEntity.class); diff --git a/web/src/main/java/com/dite/znpt/web/controller/EquipmentController.java b/web/src/main/java/com/dite/znpt/web/controller/EquipmentController.java index 8da84ae..1b8280c 100644 --- a/web/src/main/java/com/dite/znpt/web/controller/EquipmentController.java +++ b/web/src/main/java/com/dite/znpt/web/controller/EquipmentController.java @@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.List; +import com.dite.znpt.domain.vo.ReceiptRequest; /** * @author Bear.G @@ -139,4 +140,15 @@ public class EquipmentController { public Result getProcurementStats(){ return Result.ok(equipmentService.getProcurementStats()); } + + @ApiOperation(value = "确认收货并自动入库", httpMethod = "POST") + @PostMapping("/procurement/receipt/{equipmentId}") + public Result receiveGoods(@PathVariable String equipmentId, @Validated @RequestBody ReceiptRequest req) { + log.info("=== 设备收货接口被调用 ==="); + log.info("设备ID: {}", equipmentId); + log.info("收货数据: {}", req); + + equipmentService.receiveGoodsAndStockIn(equipmentId, req); + return Result.ok("收货成功,设备已自动入库"); + } }