From 346288bc38bdab442721d7609caed86d03b9d2d4 Mon Sep 17 00:00:00 2001 From: cjl <276999030@qq.com> Date: Tue, 26 Sep 2023 19:25:24 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/wb' into qa --- screen-api/src/main/java/com/moral/api/pojo/vo/allocationextension/AllocationExtensionPageVo.java | 96 screen-api/src/main/java/com/moral/api/entity/AllocationExtension.java | 56 screen-api/src/main/java/com/moral/api/pojo/query/allocationextension/AllocationExtensionPageCond.java | 49 screen-api/src/main/java/com/moral/api/pojo/bean/BaseCreateEntity.java | 53 screen-api/src/main/java/com/moral/api/pojo/ext/allocation/AllocationExt.java | 37 screen-api/src/main/java/com/moral/api/pojo/ext/allocationextension/AllocationExtensionListExt.java | 22 screen-api/src/main/java/com/moral/api/pojo/vo/allocationextension/AllocationExtensionListVo.java | 83 screen-api/src/main/java/com/moral/api/pojo/enums/AllocationApproveEnum.java | 10 screen-api/src/main/java/com/moral/api/entity/FileTable.java | 92 screen-api/src/main/java/com/moral/api/pojo/ext/allocationextension/AllocationExtensionExt.java | 69 screen-api/src/main/java/com/moral/api/controller/FileTableController.java | 64 screen-api/src/main/java/com/moral/api/pojo/vo/DictionaryVo.java | 15 screen-api/src/main/java/com/moral/api/Swagger2.java | 15 screen-api/src/main/java/com/moral/api/mapper/ResponsibilityUnitMapper.java | 8 screen-api/src/main/java/com/moral/api/pojo/vo/allocation/AllocationVo.java | 144 + screen-api/src/main/java/com/moral/api/pojo/query/allocation/AllocationCheckCond.java | 53 screen-api/src/main/java/com/moral/api/pojo/vo/user/QxUser.java | 34 screen-manage/src/main/java/com/moral/api/service/impl/SysAreaServiceImpl.java | 74 screen-api/src/main/java/com/moral/api/pojo/enums/FileTableEnum.java | 68 screen-api/src/main/java/com/moral/api/pojo/bean/BaseUpdateEntity.java | 53 screen-api/src/main/java/com/moral/api/pojo/query/approvetable/ApproveTableAddCond.java | 70 screen-api/src/main/java/com/moral/api/pojo/enums/FileType.java | 69 screen-api/src/main/java/com/moral/api/pojo/vo/allocationextension/AllocationExtensionVo.java | 122 + screen-api/src/main/java/com/moral/api/exception/GlobalExceptionHandler.java | 18 screen-common/src/main/java/com/moral/constant/PageInfo.java | 27 screen-api/src/main/java/com/moral/api/mapper/AllocationMapper.java | 33 screen-api/src/main/java/com/moral/api/service/AllocationExtensionService.java | 44 screen-api/src/main/java/com/moral/api/controller/DictController.java | 8 screen-api/src/main/java/com/moral/api/pojo/query/OrderByItem.java | 41 screen-api/src/main/java/com/moral/api/pojo/ext/allocationextension/AllocationExtensionPageExt.java | 40 screen-api/src/main/java/com/moral/api/controller/AllocationExtensionController.java | 64 screen-api/src/main/java/com/moral/api/entity/Allocation.java | 140 + screen-api/src/main/java/com/moral/api/entity/User.java | 7 screen-api/src/main/java/com/moral/api/pojo/vo/approvetable/ApproveTableListVo.java | 47 screen-common/src/main/java/com/moral/constant/Constants.java | 7 screen-api/src/main/java/com/moral/api/entity/ResponsibilityUnit.java | 55 screen-common/src/main/java/com/moral/constant/RedisConstants.java | 3 screen-api/src/main/resources/application-local.yml | 12 screen-api/src/main/java/com/moral/api/pojo/query/allocation/AllocationAddCond.java | 77 screen-api/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java | 53 screen-api/src/main/java/com/moral/api/config/mybatis/PlusConfig.java | 125 + screen-api/src/main/java/com/moral/api/pojo/query/approvetable/ApproveTableListCond.java | 28 screen-api/src/main/java/com/moral/api/service/ApproveTableService.java | 29 screen-api/src/main/java/com/moral/api/pojo/ext/allocation/AllocationPageExt.java | 24 screen-manage/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java | 196 + screen-manage/src/main/java/com/moral/api/entity/ResponsibilityUnit.java | 70 screen-api/src/main/java/com/moral/api/mapper/ApproveTableMapper.java | 8 screen-api/src/main/java/com/moral/api/pojo/query/allocation/AllocationUpdateCond.java | 85 screen-manage/src/main/java/com/moral/api/service/ResponsibilityUnitService.java | 21 screen-api/src/main/java/com/moral/api/pojo/query/OrderType.java | 55 screen-api/src/main/java/com/moral/api/pojo/query/allocationextension/AllocationExtensionAddCond.java | 51 screen-api/src/main/java/com/moral/api/pojo/query/allocation/AllocationPageCond.java | 54 screen-api/src/main/resources/application-qa.yml | 5 screen-manage/src/main/java/com/moral/api/service/SysAreaService.java | 11 screen-api/src/main/java/com/moral/api/pojo/enums/AllocationEscalationTypeEnum.java | 59 screen-api/src/main/java/com/moral/api/pojo/query/PageCond.java | 44 screen-api/src/main/java/com/moral/api/mapper/FileTableMapper.java | 16 screen-api/src/main/java/com/moral/api/pojo/dto/allocation/AllocationUnitDto.java | 153 + screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java | 11 screen-api/pom.xml | 15 screen-api/src/main/resources/application-dev.yml | 6 screen-api/src/main/java/com/moral/api/pojo/query/approvetable/ApproveTableUpdateCond.java | 70 screen-api/src/main/java/com/moral/api/utils/StringUtils.java | 1175 ++++++++++ screen-api/src/main/java/com/moral/api/controller/AllocationController.java | 239 ++ screen-api/src/main/resources/mapper/AllocationMapper.xml | 96 screen-api/src/main/java/com/moral/api/mapper/AllocationExtensionMapper.java | 37 screen-api/src/main/java/com/moral/api/pojo/enums/AllocationExtensionApproveEnum.java | 68 screen-api/src/main/java/com/moral/api/pojo/ext/allocation/AllocationListExt.java | 22 screen-api/src/main/java/com/moral/api/service/AllocationService.java | 63 screen-api/src/main/java/com/moral/api/utils/FileTypeUtils.java | 126 + screen-api/src/main/java/com/moral/api/service/impl/AllocationExtensionServiceImpl.java | 93 screen-api/src/main/java/com/moral/api/service/impl/FileTableServiceImpl.java | 238 ++ screen-api/src/main/resources/mapper/AllocationExtensionMapper.xml | 69 screen-api/src/main/resources/mapper/FileTableMapper.xml | 20 screen-api/src/main/java/com/moral/api/config/Interceptor/UserHelper.java | 49 screen-api/src/main/java/com/moral/api/service/FileTableService.java | 33 screen-api/src/main/java/com/moral/api/entity/ApproveTable.java | 52 screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java | 579 +++++ screen-manage/src/main/java/com/moral/api/controller/SystemController.java | 12 screen-api/src/main/java/com/moral/api/pojo/query/allocation/AllocationListCond.java | 37 screen-common/src/main/java/com/moral/constant/PageResult.java | 34 screen-api/src/main/java/com/moral/api/pojo/bean/BaseEntity.java | 13 screen-api/src/main/java/com/moral/api/pojo/bean/BaseDelEntity.java | 33 screen-api/src/main/java/com/moral/api/pojo/enums/StateEnum.java | 4 screen-manage/src/main/java/com/moral/api/mapper/ResponsibilityUnitMapper.java | 8 screen-api/src/main/java/com/moral/api/pojo/query/allocationextension/AllocationExtensionUpdateCond.java | 76 screen-api/src/main/java/com/moral/api/service/ResponsibilityUnitService.java | 27 screen-api/src/main/java/com/moral/api/config/mybatis/MybatisPlusConfig.java | 2 screen-manage/src/main/java/com/moral/api/controller/ResponsibilityUnitController.java | 118 + screen-api/src/main/java/com/moral/api/pojo/vo/file/FileVo.java | 29 screen-api/src/main/java/com/moral/api/pojo/query/approvetable/ApproveTablePageCond.java | 31 screen-api/src/main/java/com/moral/api/pojo/query/allocationextension/AllocationExtensionListCond.java | 28 screen-api/src/main/java/com/moral/api/pojo/bean/BaseInvalidEntity.java | 31 screen-api/src/main/java/com/moral/api/pojo/dto/allocation/AllocationUnitViewDto.java | 46 screen-api/src/main/java/com/moral/api/pojo/enums/YesOrNo.java | 2 screen-api/src/main/java/com/moral/api/pojo/vo/allocation/AllocationPageVo.java | 122 + screen-api/src/main/java/com/moral/api/service/impl/ApproveTableServiceImpl.java | 50 screen-api/src/main/java/com/moral/api/pojo/query/allocation/AllocationChangeCond.java | 58 98 files changed, 6,867 insertions(+), 21 deletions(-) diff --git a/screen-api/pom.xml b/screen-api/pom.xml index 4c48cc5..aab3ba2 100644 --- a/screen-api/pom.xml +++ b/screen-api/pom.xml @@ -72,8 +72,23 @@ <artifactId>poi-tl</artifactId> <version>1.5.1</version> </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-validation</artifactId> + </dependency> <dependency> + <dependency> + <groupId>org.projectlombok</groupId> + <artifactId>lombok</artifactId> + <optional>true</optional> + </dependency> + <dependency> + <groupId>net.coobird</groupId> + <artifactId>thumbnailator</artifactId> + <version>0.4.8</version> + </dependency> + <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.3.0</version> diff --git a/screen-api/src/main/java/com/moral/api/Swagger2.java b/screen-api/src/main/java/com/moral/api/Swagger2.java index d555f16..5e12931 100644 --- a/screen-api/src/main/java/com/moral/api/Swagger2.java +++ b/screen-api/src/main/java/com/moral/api/Swagger2.java @@ -5,10 +5,15 @@ import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; -import springfox.documentation.service.ApiInfo; +import springfox.documentation.service.*; import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spi.service.contexts.SecurityContext; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; @Configuration @@ -17,6 +22,13 @@ @Bean public Docket petApi() { return new Docket(DocumentationType.SWAGGER_2) + .securityContexts(Arrays.asList(SecurityContext.builder() + .securityReferences(Arrays.asList(SecurityReference.builder() + .reference("token") + .scopes(new AuthorizationScope[]{new AuthorizationScope("global", "accessEverything")}) + .build())) + .build())) + .securitySchemes(Arrays.asList(new ApiKey("token", "token", "header"))) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.moral.api")) @@ -31,4 +43,5 @@ .build(); } + } diff --git a/screen-api/src/main/java/com/moral/api/config/Interceptor/UserHelper.java b/screen-api/src/main/java/com/moral/api/config/Interceptor/UserHelper.java new file mode 100644 index 0000000..4c6a53d --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/config/Interceptor/UserHelper.java @@ -0,0 +1,49 @@ +package com.moral.api.config.Interceptor; + +import com.alibaba.fastjson.JSON; +import com.moral.api.pojo.vo.user.QxUser; +import com.moral.api.utils.BeanConverts; +import com.moral.api.utils.StringUtils; +import com.moral.constant.ResponseCodeEnum; +import com.moral.exception.TokenException; +import com.moral.util.TokenUtils; +import net.sf.cglib.beans.BeanMap; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** + * @ClassName UserHelper + * @Description TODO + * @Author @cjl + * @Date 2023-09-21 15:47 + * @Version 1.0 + */ + +public class UserHelper { + public static QxUser getCurrentUser(){ + Map<String, Object> userInfo = new HashMap<>(); + try { + userInfo = (Map<String, Object>) TokenUtils.getUserInfo(); + }catch (Exception e){ + } + if (Objects.isNull(userInfo)||Objects.isNull(userInfo.get("userId"))) { + return null; + } + try { + String s = JSON.toJSONString(userInfo); + return JSON.parseObject(s, QxUser.class); + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } +} diff --git a/screen-api/src/main/java/com/moral/api/config/mybatis/MybatisPlusConfig.java b/screen-api/src/main/java/com/moral/api/config/mybatis/MybatisPlusConfig.java index e57509c..804a61f 100644 --- a/screen-api/src/main/java/com/moral/api/config/mybatis/MybatisPlusConfig.java +++ b/screen-api/src/main/java/com/moral/api/config/mybatis/MybatisPlusConfig.java @@ -22,7 +22,7 @@ import java.util.*; -@Configuration +/*@Configuration*/ public class MybatisPlusConfig { public static ThreadLocal<String> tableName = new ThreadLocal<>(); diff --git a/screen-api/src/main/java/com/moral/api/config/mybatis/PlusConfig.java b/screen-api/src/main/java/com/moral/api/config/mybatis/PlusConfig.java new file mode 100644 index 0000000..55cf12d --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/config/mybatis/PlusConfig.java @@ -0,0 +1,125 @@ +package com.moral.api.config.mybatis; + +import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; +import com.baomidou.mybatisplus.core.injector.AbstractMethod; +import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector; +import com.baomidou.mybatisplus.extension.injector.methods.LogicDeleteByIdWithFill; +import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor; +import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; +import com.moral.api.config.Interceptor.UserHelper; +import com.moral.api.pojo.enums.YesOrNo; +import com.moral.api.pojo.vo.user.QxUser; +import org.apache.ibatis.reflection.MetaObject; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.util.Date; +import java.util.List; + +/** + * @ClassName PlusConfig + * @Description TODO + * @Author @cjl + * @Date 2023-09-25 10:28 + * @Version 1.0 + */ +@Configuration +@MapperScan(basePackages = {"com.moral.*.mapper"}) +public class PlusConfig { + @Bean + public PaginationInterceptor paginationInterceptor() { + return new PaginationInterceptor(); + } + + @Bean + public OptimisticLockerInterceptor optimisticLockerInterceptor() { + return new OptimisticLockerInterceptor(); + } + + + @Bean + public DefaultSqlInjector logicSqlInjector() { + return new DefaultSqlInjector() { + @Override + public List<AbstractMethod> getMethodList(Class<?> mapperClass) { + List<AbstractMethod> methodList = super.getMethodList(mapperClass); + methodList.add(new LogicDeleteByIdWithFill()); + return methodList; + } + }; + } + + @Bean + public MetaObjectHandler metaObjectHandler() { + return new MetaObjectHandler() { + + private final static String IS_DEL = "isDel"; + private final static String IS_INVALID = "isInvalid"; + private final static String CREATOR_ID = "createId"; + private final static String CREATOR_NAME = "createName"; + private final static String CREATE_TIME = "createTime"; + private final static String LAST_MODIFY_ID = "updateId"; + private final static String LAST_MODIFY_NAME = "updateName"; + private final static String LAST_MODIFY_TIME = "updateTime"; + + @Override + public void insertFill(MetaObject metaObject) { + if (metaObject.hasSetter(IS_DEL)) { + this.setFieldValByName(IS_DEL, 0, metaObject); + } + if (metaObject.hasSetter(IS_INVALID)) { + this.setFieldValByName(IS_INVALID, 0, metaObject); + } + creatorHandler(metaObject); + lastModifyHandler(metaObject); + } + + @Override + public void updateFill(MetaObject metaObject) { + lastModifyHandler(metaObject); + } + + private void creatorHandler(MetaObject metaObject) { + QxUser currentUser = UserHelper.getCurrentUser(); + Integer userId = currentUser == null ? 0 : currentUser.getUserId()==null?null:currentUser.getUserId().intValue(); + String userName = currentUser == null ? "admin" : currentUser.getUserName(); + if (metaObject.hasSetter(IS_INVALID)) { + this.strictInsertFill(metaObject, IS_INVALID, Integer.class, YesOrNo.NO.getValue()); + } + if (metaObject.hasSetter(IS_DEL)) { + this.strictInsertFill(metaObject, IS_DEL, Integer.class, YesOrNo.NO.getValue()); + } + + if (metaObject.hasSetter(CREATOR_ID)) { + this.strictInsertFill(metaObject, CREATOR_ID, Integer.class, userId); + } + if (metaObject.hasSetter(CREATOR_NAME)) { + this.strictInsertFill(metaObject, CREATOR_NAME, String.class, userName); + } + if (metaObject.hasSetter(CREATE_TIME)) { + this.strictInsertFill(metaObject, CREATE_TIME, Date.class, new Date()); + } + } + + private void lastModifyHandler(MetaObject metaObject) { + QxUser currentUser = UserHelper.getCurrentUser(); + Integer userId = currentUser == null ? 0 : currentUser.getUserId()==null?null:currentUser.getUserId().intValue(); + String userName = currentUser == null ? "admin" : currentUser.getUserName(); + if (metaObject.hasSetter(LAST_MODIFY_ID)) { + this.strictUpdateFill(metaObject, LAST_MODIFY_ID, Integer.class, userId); + } + if (metaObject.hasSetter(LAST_MODIFY_NAME)) { + this.strictUpdateFill(metaObject, LAST_MODIFY_NAME, String.class, userName); + } + if (metaObject.hasSetter(LAST_MODIFY_TIME)) { + this.strictUpdateFill(metaObject, LAST_MODIFY_TIME, Date.class, new Date()); + } + } + + + }; + } + + +} diff --git a/screen-api/src/main/java/com/moral/api/controller/AllocationController.java b/screen-api/src/main/java/com/moral/api/controller/AllocationController.java new file mode 100644 index 0000000..67e7547 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/controller/AllocationController.java @@ -0,0 +1,239 @@ +package com.moral.api.controller; + + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.collections4.CollectionUtils; +import org.aspectj.apache.bcel.generic.RET; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.moral.api.pojo.ext.allocation.AllocationExt; +import com.moral.api.pojo.ext.allocation.AllocationPageExt; +import com.moral.api.pojo.query.allocation.*; +import com.moral.api.pojo.query.allocationextension.AllocationExtensionAddCond; +import com.moral.api.pojo.vo.allocation.AllocationPageVo; +import com.moral.api.pojo.vo.allocation.AllocationVo; +import com.moral.constant.PageResult; +import io.swagger.annotations.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.moral.api.entity.Allocation; +import com.moral.api.entity.ResponsibilityUnit; +import com.moral.api.pojo.dto.allocation.AllocationUnitViewDto; +import com.moral.api.service.AllocationService; +import com.moral.api.utils.EasyExcelUtils; +import com.moral.api.utils.NoModelWriteData; +import com.moral.constant.Constants; +import com.moral.constant.ResultMessage; +import com.moral.util.WebUtils; + +import javax.validation.Valid; + + +@Api(tags = {"������������"}) +@RestController +@RequestMapping("allocation") +public class AllocationController { + + @Autowired + private AllocationService allocationService; + + + @ApiOperation(value = "������������", notes = "������������") + @ApiImplicitParams({ + @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String") + }) + @RequestMapping(value = "contaminate", method = RequestMethod.GET) + public ResultMessage contaminate() { + List<Map<String, Object>> professions = allocationService.sysDictData(Constants.WU_RAN_LEI_XING); + return ResultMessage.ok(professions); + } + + + @ApiOperation(value = "������������", notes = "������������") + @ApiImplicitParams({ + @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String") + }) + @RequestMapping(value = "unit", method = RequestMethod.GET) + public ResultMessage unit() { + List<ResponsibilityUnit> responsibilityUnits = allocationService.seleteUnit(); + return ResultMessage.ok(responsibilityUnits); + } + + /** + * ��������������� + * @return + */ + @PostMapping("insert") + @ApiOperation("������") + public ResultMessage insert(@Valid @RequestBody AllocationAddCond allocation){ + allocationService.insertAllocation(allocation); + return ResultMessage.ok(); + } + + + /** + * ��������������� + * @return + */ + /* @GetMapping("check") + public ResultMessage check(Integer id){ + allocationService.check(id); + return ResultMessage.ok(); + }*/ + + /** + * ������������ + * @param allocationUpdateCond + * @return + * + * + */ + @PostMapping("update") + @ApiOperation("������") + public ResultMessage update(@Valid @RequestBody AllocationUpdateCond allocationUpdateCond){ + allocationService.updateAll(allocationUpdateCond); + return ResultMessage.ok(); + } + + @PostMapping("change") + @ApiOperation("������") + public ResultMessage changeAllocation(@Valid @RequestBody AllocationChangeCond changeCond){ + allocationService.changeAllocation(changeCond); + return ResultMessage.ok(); + } + + @PostMapping("check") + @ApiOperation("������") + public ResultMessage checkAllocation(@Valid @RequestBody AllocationCheckCond checkCond){ + allocationService.checkAllocation(checkCond); + return ResultMessage.ok(); + } + /** + * ������������������ + * @return + */ + @GetMapping("selectAll") + public ResultMessage selectAll(Map<String,Object> map){ + allocationService.selectAll(map); + return ResultMessage.ok(); + } + + @PostMapping("/page") + @ApiOperation("������") + public ResultMessage<PageResult<AllocationPageVo>> page(@Valid @RequestBody AllocationPageCond allocationPageCond) { + Page<AllocationPageExt> page = allocationService.extPage(allocationPageCond); + PageResult<AllocationPageVo> result = new PageResult<>(page); + result.setList(AllocationPageVo.convert(page.getRecords())); + return ResultMessage.ok(result); + } + @GetMapping("/detail") + @ApiOperation("������") + public ResultMessage<AllocationVo> get(Integer id) { + AllocationExt allocationext = allocationService.extOne(id); + AllocationVo allocationVo = AllocationVo.convert(allocationext); + allocationVo.setFileBaseList(allocationext.getFileBaseList()); + allocationVo.setFileChangeList(allocationext.getFileChangeList()); + allocationVo.setFileApproveList(allocationext.getFileApproveList()); + allocationVo.setApproveList(allocationext.getApproveList()); + return ResultMessage.ok(allocationVo); + } + @GetMapping("remove") + @ApiOperation("������") + public ResultMessage removeById(Integer id){ + allocationService.removeById(id); + return ResultMessage.ok(); + } + @GetMapping("invalid") + @ApiOperation("������") + public ResultMessage invalidResult(@RequestParam @ApiParam(value = "id",name = "������id") Integer id, + @RequestParam @ApiParam(value = "invalidReason",name = "������������") String invalidReason){ + allocationService.invalidResult(id,invalidReason); + return ResultMessage.ok(); + } + + @PostMapping("/applyfor") + @ApiOperation("������������") + public ResultMessage applyFor(@Valid @RequestBody AllocationExtensionAddCond allocationExtensionAddCond) { + return allocationService.applyFor(allocationExtensionAddCond) ? ResultMessage.ok() : ResultMessage.fail(); + } + + + /** + * ������������������ + * @return + */ + @GetMapping("selectUnitView") + public ResultMessage selectUnitView(HttpServletRequest request){ + Map<String, Object> params = WebUtils.getParametersStartingWith(request, null); + Map<String, Object> map1 = allocationService.selectUnitView(params); + return ResultMessage.ok(map1); + } + + + @GetMapping("unitExel") + public void unitExel(HttpServletResponse response,HttpServletRequest request){ + Map<String, Object> params = WebUtils.getParametersStartingWith(request, null); + //������������ + Map<String, Object> map1 = allocationService.selectUnitView(params); + List<AllocationUnitViewDto> unitView = (List<AllocationUnitViewDto>) map1.get("unitView"); + + + ArrayList<Map<String, Object>> mapArrayList = new ArrayList<>(); + for (AllocationUnitViewDto allocationUnitViewDto : unitView) { + Map<String, Object> map = entityToMap(allocationUnitViewDto); + mapArrayList.add(map); + } + if (CollectionUtils.isEmpty(mapArrayList)) { + return; + } + Map<String, Object> map = mapArrayList.get(0); + List<String> list = new ArrayList<>(); + for (String key : map.keySet()) { + list.add(key); + } + String[] s2 = new String[list.size()]; + list.toArray(s2); + NoModelWriteData d = new NoModelWriteData(); + d.setFileName("������������"); + d.setHeadMap(s2); + d.setDataStrMap(s2); + d.setDataList(mapArrayList); + try { + EasyExcelUtils easyExcelUtils = new EasyExcelUtils(); + easyExcelUtils.noModleWrite(d, response); + } catch (Exception e) { + int i = 0; + } + } + + /** + ������������Map + */ + public static Map<String, Object> entityToMap(Object object) { + Map<String, Object> map = new HashMap<>(); + for (Field field : object.getClass().getDeclaredFields()) { + try { + boolean flag = field.isAccessible(); + field.setAccessible(true); + Object o = field.get(object); + map.put(field.getName(), o); + field.setAccessible(flag); + } catch (Exception e) { + e.printStackTrace(); + } + } + return map; + } +} diff --git a/screen-api/src/main/java/com/moral/api/controller/AllocationExtensionController.java b/screen-api/src/main/java/com/moral/api/controller/AllocationExtensionController.java new file mode 100644 index 0000000..d5ded3c --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/controller/AllocationExtensionController.java @@ -0,0 +1,64 @@ +package com.moral.api.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.moral.api.pojo.ext.allocationextension.AllocationExtensionExt; +import com.moral.api.pojo.ext.allocationextension.AllocationExtensionPageExt; +import com.moral.api.pojo.query.allocationextension.AllocationExtensionAddCond; +import com.moral.api.pojo.query.allocationextension.AllocationExtensionPageCond; +import com.moral.api.pojo.vo.allocationextension.AllocationExtensionPageVo; +import com.moral.api.pojo.vo.allocationextension.AllocationExtensionVo; +import com.moral.api.service.AllocationExtensionService; +import com.moral.constant.PageResult; +import com.moral.constant.ResultMessage; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +/** + * <p> + * ��������������� ��������������� + * </p> + * deyt template generate + * @author JI + * @since 2023-09-25 + */ +@RestController +@RequestMapping("/allocationExtension") +@Api(tags = {"������������"}) +public class AllocationExtensionController { + + private final AllocationExtensionService allocationExtensionService; + + public AllocationExtensionController(AllocationExtensionService allocationExtensionService) { + this.allocationExtensionService = allocationExtensionService; + } + + @GetMapping("/detail") + @ApiOperation("������") + public ResultMessage<AllocationExtensionVo> get(Integer id) { + AllocationExtensionExt allocationExtensionext = allocationExtensionService.extOne(id); + return ResultMessage.ok(allocationExtensionext == null ? null : AllocationExtensionVo.convert(allocationExtensionext)); + } + + + @PostMapping("/page") + @ApiOperation("������") + public ResultMessage<PageResult<AllocationExtensionPageVo>> page(@Valid @RequestBody AllocationExtensionPageCond allocationExtensionPageCond) { + Page<AllocationExtensionPageExt> page = allocationExtensionService.extPage(allocationExtensionPageCond); + PageResult<AllocationExtensionPageVo> result = new PageResult<>(page); + result.setList(AllocationExtensionPageVo.convert(page.getRecords())); + return ResultMessage.ok(result); + } + + @GetMapping("check") + @ApiOperation("������") + public ResultMessage check(@RequestParam @ApiParam(value = "id",name = "������id") Integer id, + @RequestParam @ApiParam(value = "state",name = "������") Integer state){ + allocationExtensionService.check(id,state); + return ResultMessage.ok(); + } + +} diff --git a/screen-api/src/main/java/com/moral/api/controller/DictController.java b/screen-api/src/main/java/com/moral/api/controller/DictController.java index 11051dd..0c7cc2a 100644 --- a/screen-api/src/main/java/com/moral/api/controller/DictController.java +++ b/screen-api/src/main/java/com/moral/api/controller/DictController.java @@ -1,10 +1,7 @@ package com.moral.api.controller; import com.moral.api.entity.CityConfigAqi; -import com.moral.api.pojo.enums.ChangeEnum; -import com.moral.api.pojo.enums.InvestigationEnum; -import com.moral.api.pojo.enums.StateEnum; -import com.moral.api.pojo.enums.YesOrNo; +import com.moral.api.pojo.enums.*; import com.moral.api.pojo.vo.DictionaryVo; import com.moral.constant.ResultMessage; import io.swagger.annotations.Api; @@ -32,6 +29,9 @@ .setChangeEnum(ChangeEnum.values()) .setInvestigationEnum(InvestigationEnum.values()) .setYesOrNo(YesOrNo.values()) + .setFileTableEnum(FileTableEnum.values()) + .setAllocationApproveEnum(AllocationApproveEnum.values()) + .setAllocationExtensionApproveEnum(AllocationExtensionApproveEnum.values()) ; return ResultMessage.ok(dictionaryVo); } diff --git a/screen-api/src/main/java/com/moral/api/controller/FileTableController.java b/screen-api/src/main/java/com/moral/api/controller/FileTableController.java new file mode 100644 index 0000000..f828235 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/controller/FileTableController.java @@ -0,0 +1,64 @@ +package com.moral.api.controller; + + +import com.moral.api.pojo.vo.file.FileVo; +import com.moral.api.service.FileTableService; +import com.moral.constant.ResultMessage; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.web.bind.annotation.*; + +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * <p> + * ��������� ��������������� + * </p> + * + * @author moral + * @since 2023-09-21 + */ +@RestController +@RequestMapping("/file") +@Api(tags = {"������"}) +public class FileTableController { + + private final FileTableService fileTableService; + + public FileTableController(FileTableService fileTableService) { + this.fileTableService = fileTableService; + } + + + @PostMapping("/upload") + @ApiOperation("������������") + public ResultMessage<FileVo> upload(@RequestParam("file") @ApiParam(name = "file", value = "������������") MultipartFile file, + @RequestParam("sysCode") @ApiParam(name = "sysCode", value = "������������") Integer sysCode){ + return ResultMessage.ok(fileTableService.upload(file,sysCode)); + } + + @PostMapping("/multipleUpload") + @ApiOperation("���������������������") + public ResultMessage<List<FileVo>> upload(@RequestParam("file") @ApiParam(name = "file", value = "������������") List<MultipartFile> file, + @RequestParam("sysCode") @ApiParam(name = "sysCode", value = "������������") Integer sysCode){ + return ResultMessage.ok(fileTableService.upload(file,sysCode)); + } + + @GetMapping("/preview/{id}") + @ApiOperation("������������") + public void preview(@PathVariable("id") Integer id, HttpServletRequest request, HttpServletResponse response) { + fileTableService.preview(id, request, response); + } + + @GetMapping("/preview/cover/{id}") + @ApiOperation("������������������") + public void coverPreview(@PathVariable("id") Integer id, HttpServletRequest request, HttpServletResponse response) { + fileTableService.coverPreview(id, request, response); + } + +} diff --git a/screen-api/src/main/java/com/moral/api/entity/Allocation.java b/screen-api/src/main/java/com/moral/api/entity/Allocation.java new file mode 100644 index 0000000..4124f6e --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/entity/Allocation.java @@ -0,0 +1,140 @@ +package com.moral.api.entity; + + +import com.moral.api.pojo.bean.BaseInvalidEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.fasterxml.jackson.annotation.JsonFormat; + +@Data +@EqualsAndHashCode(callSuper = false) +public class Allocation extends BaseInvalidEntity<Allocation> { + + + private static final long serialVersionUID = 1L; + + /** + * ������id + */ + @TableId(value = "allocation_id", type = IdType.AUTO) + private Integer allocationId; + + /** + *������������ + */ + private String allocationNum; + + /** + * ������or������ + */ + private Integer escalationType; + + /** + * ������������ + */ + private Date escalationTime; + + /** + * ������������ + */ + private String pollutePosition; + + /** + * ������������id + */ + private Integer unitId; + + /** + * ������������id + */ + private Integer polluteType; + + /** + * ������������id + */ + private Integer changeType; + + + + /** + * ������������ + */ + private Integer changeDay; + + /** + * ������������id + */ + private Integer escalationUnitId; + + /** + * ��������� + */ + private String escalationName; + + /** + * ������������id + */ + private Integer investigationType; + + /** + * ������������ + */ + private String problemDescribe; + + /** + * ������������ + */ + private Integer isChange; + + /** + * ������������ + */ + private String changeDescribe; + /** + * ��������������� + */ + private String changeName; + + /** + * ������������ + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date changeTime; + + /** + * ������������ + */ + private Integer checkScore; + /** + * ������������ + */ + private String checkDescribe; + /** + * ��������� + */ + private String checkName; + + + + /** + * ������������ + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date checkTime; + /** + * ������ 0 ������ 1 ������ 2������ 3 ������ 4 ������ + */ + private Integer state; + /** + * ������������ + */ + private String invalidReason; + + +} diff --git a/screen-api/src/main/java/com/moral/api/entity/AllocationExtension.java b/screen-api/src/main/java/com/moral/api/entity/AllocationExtension.java new file mode 100644 index 0000000..b02f7d6 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/entity/AllocationExtension.java @@ -0,0 +1,56 @@ +package com.moral.api.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.moral.api.pojo.bean.BaseInvalidEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * <p> + * ��������������� + * </p> + * deyt template generate + * @author JI + * @since 2023-09-25 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class AllocationExtension extends BaseInvalidEntity<AllocationExtension> { + + + /** + * ������id + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + /** + * ���������id + */ + private Integer allocationId; + + /** + * ������������ + */ + private Integer extensionNum; + + /** + * ������������ + */ + private String remake; + + /** + * ������ + */ + private Integer state; + + + /** + * ������������ + */ + private String invalidReason; + +} diff --git a/screen-api/src/main/java/com/moral/api/entity/ApproveTable.java b/screen-api/src/main/java/com/moral/api/entity/ApproveTable.java new file mode 100644 index 0000000..b628f9c --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/entity/ApproveTable.java @@ -0,0 +1,52 @@ +package com.moral.api.entity; + + +import com.moral.api.pojo.bean.BaseDelEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.extension.activerecord.Model; + +@Data +@EqualsAndHashCode(callSuper = false) +public class ApproveTable extends BaseDelEntity<ApproveTable> { + private static final long serialVersionUID = 1L; + + + /** + * ������id + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + /** + * ������������ + */ + private Integer approveModule; + + /** + * ������id + */ + private Integer relationId; + + /** + * ������ + */ + private Integer state; + + + /** + * ������������ + */ + private String stateName; + + + + + + +} diff --git a/screen-api/src/main/java/com/moral/api/entity/FileTable.java b/screen-api/src/main/java/com/moral/api/entity/FileTable.java new file mode 100644 index 0000000..8d27836 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/entity/FileTable.java @@ -0,0 +1,92 @@ +package com.moral.api.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.baomidou.mybatisplus.annotation.TableId; +import java.time.LocalDateTime; +import java.io.Serializable; +import java.util.Date; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * <p> + * ��������� + * </p> + * + * @author moral + * @since 2023-09-21 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class FileTable extends Model<FileTable> { + + private static final long serialVersionUID = 1L; + + /** + * ������id + */ + @TableId(value = "file_id", type = IdType.AUTO) + private Integer fileId; + + /** + * ������ + */ + private Integer fileModule; + + /** + * ������������id + */ + private Integer relationId; + + /** + * ������������ + */ + private String fileName; + + /** + * ������������1������2������ + */ + private Integer fileType; + + /** + * ������������������ + */ + private String fileAddress; + + /** + * ������������ + */ + private Integer fileSize; + + /** + * ������������ + */ + private Integer isDel; + + /** + * ���������id + */ + private Integer createId; + + /** + * ��������������� + */ + private String createName; + + /** + * ������������ + */ + private Date createTime; + + + + @Override + protected Serializable pkVal() { + return this.fileId; + } + +} diff --git a/screen-api/src/main/java/com/moral/api/entity/ResponsibilityUnit.java b/screen-api/src/main/java/com/moral/api/entity/ResponsibilityUnit.java new file mode 100644 index 0000000..561bb84 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/entity/ResponsibilityUnit.java @@ -0,0 +1,55 @@ +package com.moral.api.entity; + + +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.fasterxml.jackson.annotation.JsonFormat; + +@Data +@EqualsAndHashCode(callSuper = false) +public class ResponsibilityUnit extends Model<ResponsibilityUnit> { + + //������������id + @TableId(value = "unit_id", type = IdType.AUTO) + private Integer unitId; + + private String unitName; + + private Integer areaCode; + + private Integer parentCode; + //0��������� 1��������� + private Integer state; + //0��������� 1��������� + private String isDel; + //0������������ 1������������ + private Integer isInvalid; + + private String invalidReason; + + private Integer createId; + + private String createName; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + + private Integer updateId; + + private String updateName; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date updateTime; + + @TableField(exist = false) + private String areaName; + + @TableField(exist = false) + private String parentName; +} diff --git a/screen-api/src/main/java/com/moral/api/entity/User.java b/screen-api/src/main/java/com/moral/api/entity/User.java index 1ee5ef9..0ae2a49 100644 --- a/screen-api/src/main/java/com/moral/api/entity/User.java +++ b/screen-api/src/main/java/com/moral/api/entity/User.java @@ -1,6 +1,7 @@ package com.moral.api.entity; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.extension.activerecord.Model; import com.baomidou.mybatisplus.annotation.TableId; import com.fasterxml.jackson.annotation.JsonFormat; @@ -76,6 +77,9 @@ */ private String wechat; + + private Integer unitId; + /** * ������������ */ @@ -100,5 +104,8 @@ */ private String isDelete; + @TableField(exist = false) + private Integer unitCode; + } diff --git a/screen-api/src/main/java/com/moral/api/exception/GlobalExceptionHandler.java b/screen-api/src/main/java/com/moral/api/exception/GlobalExceptionHandler.java index 4cd4759..f2136d1 100644 --- a/screen-api/src/main/java/com/moral/api/exception/GlobalExceptionHandler.java +++ b/screen-api/src/main/java/com/moral/api/exception/GlobalExceptionHandler.java @@ -1,15 +1,24 @@ package com.moral.api.exception; +import com.alibaba.druid.wall.violation.ErrorCode; +import com.moral.api.utils.StringUtils; import com.moral.constant.Constants; import com.moral.constant.ResponseCodeEnum; import com.moral.constant.ResultMessage; import com.moral.exception.TokenException; import lombok.extern.slf4j.Slf4j; +import org.springframework.context.support.DefaultMessageSourceResolvable; import org.springframework.http.HttpStatus; +import org.springframework.validation.FieldError; +import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseStatus; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; @ControllerAdvice @@ -33,7 +42,14 @@ @ResponseBody @ResponseStatus(HttpStatus.OK) public ResultMessage handleUserNotExistException(BusinessException ex) { - return ResultMessage.fail(ResponseCodeEnum.FAIL.getCode(), "������������������������"); + return ResultMessage.fail(ResponseCodeEnum.FAIL.getCode(), ex.getMsg()); + } + + @ExceptionHandler + public ResultMessage exceptionHandler(MethodArgumentNotValidException e){ + List<String> collect = e.getBindingResult().getFieldErrors().stream().map(DefaultMessageSourceResolvable::getDefaultMessage) + .collect(Collectors.toList()); + return ResultMessage.fail(ResponseCodeEnum.FAIL.getCode(), StringUtils.join(collect, ",")); } /** diff --git a/screen-api/src/main/java/com/moral/api/mapper/AllocationExtensionMapper.java b/screen-api/src/main/java/com/moral/api/mapper/AllocationExtensionMapper.java new file mode 100644 index 0000000..1e7abbc --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/mapper/AllocationExtensionMapper.java @@ -0,0 +1,37 @@ +package com.moral.api.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.moral.api.entity.AllocationExtension; +import com.moral.api.pojo.ext.allocationextension.AllocationExtensionExt; +import com.moral.api.pojo.ext.allocationextension.AllocationExtensionPageExt; +import com.moral.api.pojo.query.allocationextension.AllocationExtensionPageCond; +import org.apache.ibatis.annotations.Param; + +/** + * <p> + * ��������������� Mapper ������ + * </p> + * deyt template generate + * @author JI + * @since 2023-09-25 + */ +public interface AllocationExtensionMapper extends BaseMapper<AllocationExtension> { + + + /** + * ������������������ + * @param id + * @return AllocationExtensionExt + */ + AllocationExtensionExt extOne(@Param("id") Integer id); + + /** + * ������������������ + * @param page + * @param allocation + * @return AllocationExtensionPageExt + */ + Page<AllocationExtensionPageExt> extPage(Page page, @Param("allocation") AllocationExtensionPageCond allocation); + +} diff --git a/screen-api/src/main/java/com/moral/api/mapper/AllocationMapper.java b/screen-api/src/main/java/com/moral/api/mapper/AllocationMapper.java new file mode 100644 index 0000000..87fb92b --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/mapper/AllocationMapper.java @@ -0,0 +1,33 @@ +package com.moral.api.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.moral.api.entity.Allocation; +import com.moral.api.pojo.ext.allocation.AllocationExt; +import com.moral.api.pojo.ext.allocation.AllocationListExt; +import com.moral.api.pojo.ext.allocation.AllocationPageExt; +import com.moral.api.pojo.query.allocation.AllocationListCond; +import com.moral.api.pojo.query.allocation.AllocationPageCond; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface AllocationMapper extends BaseMapper<Allocation> { + + /** + * ������������������ + * @param id + * @return AllocationExt + */ + AllocationExt extOne(@Param("id") Integer id); + + Page<AllocationPageExt> extPage(Page page, @Param("allocation") AllocationPageCond allocationPageCond); + + /** + * ������������������ + * @param allocationListCond + * @return AllocationListExt + */ + List<AllocationListExt> extList(@Param("allocation") AllocationListCond allocationListCond); + +} diff --git a/screen-api/src/main/java/com/moral/api/mapper/ApproveTableMapper.java b/screen-api/src/main/java/com/moral/api/mapper/ApproveTableMapper.java new file mode 100644 index 0000000..cfd2ce2 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/mapper/ApproveTableMapper.java @@ -0,0 +1,8 @@ +package com.moral.api.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.moral.api.entity.ApproveTable; + +public interface ApproveTableMapper extends BaseMapper<ApproveTable> { +} diff --git a/screen-api/src/main/java/com/moral/api/mapper/FileTableMapper.java b/screen-api/src/main/java/com/moral/api/mapper/FileTableMapper.java new file mode 100644 index 0000000..6486afb --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/mapper/FileTableMapper.java @@ -0,0 +1,16 @@ +package com.moral.api.mapper; + +import com.moral.api.entity.FileTable; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * <p> + * ��������� Mapper ������ + * </p> + * + * @author moral + * @since 2023-09-21 + */ +public interface FileTableMapper extends BaseMapper<FileTable> { + +} diff --git a/screen-api/src/main/java/com/moral/api/mapper/ResponsibilityUnitMapper.java b/screen-api/src/main/java/com/moral/api/mapper/ResponsibilityUnitMapper.java new file mode 100644 index 0000000..424b762 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/mapper/ResponsibilityUnitMapper.java @@ -0,0 +1,8 @@ +package com.moral.api.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.moral.api.entity.ResponsibilityUnit; + +public interface ResponsibilityUnitMapper extends BaseMapper<ResponsibilityUnit> { +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/bean/BaseCreateEntity.java b/screen-api/src/main/java/com/moral/api/pojo/bean/BaseCreateEntity.java new file mode 100644 index 0000000..b35d9b4 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/bean/BaseCreateEntity.java @@ -0,0 +1,53 @@ +package com.moral.api.pojo.bean; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import lombok.Getter; + +import java.io.Serializable; +import java.util.Date; + +/** + * @ClassName BaseCreateEntity + * @Description TODO + * @Author @cjl + * @Date 2023-09-25 10:54 + * @Version 1.0 + */ +@Getter +@SuppressWarnings("unchecked") +public abstract class BaseCreateEntity <T extends Serializable> implements BaseEntity<T>{ + /** + * ���������ID + */ + @TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.NOT_NULL) + private Integer createId; + + /** + * ��������������� + */ + @TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.NOT_NULL) + private String createName; + + /** + * ������������ + */ + @TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.NOT_NULL) + private Date createTime; + + public T setCreateUserId(Integer createId) { + this.createId = createId; + return (T) this; + } + + public T setCreateUserName(String createName) { + this.createName = createName; + return (T) this; + } + + public T setCreateTime(Date createTime) { + this.createTime = createTime; + return (T) this; + } +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/bean/BaseDelEntity.java b/screen-api/src/main/java/com/moral/api/pojo/bean/BaseDelEntity.java new file mode 100644 index 0000000..5c37fe4 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/bean/BaseDelEntity.java @@ -0,0 +1,33 @@ +package com.moral.api.pojo.bean; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableLogic; + +import java.io.Serializable; + +/** + * @ClassName BaseDelEntity + * @Description TODO + * @Author @cjl + * @Date 2023-09-25 11:01 + * @Version 1.0 + */ +public abstract class BaseDelEntity <T extends Serializable> extends BaseUpdateEntity<T>{ + /** + * ������������ + */ + @TableLogic + @TableField(fill = FieldFill.INSERT_UPDATE, updateStrategy = FieldStrategy.NOT_NULL) + private Integer isDel; + + public T setIsDel(Integer isDel) { + this.isDel = isDel; + return (T) this; + } + + public Integer getIsDel() { + return isDel; + } +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/bean/BaseEntity.java b/screen-api/src/main/java/com/moral/api/pojo/bean/BaseEntity.java new file mode 100644 index 0000000..cb9c68e --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/bean/BaseEntity.java @@ -0,0 +1,13 @@ +package com.moral.api.pojo.bean; + +import java.io.Serializable; + +/** + * @ClassName BaseEntity + * @Description TODO + * @Author @cjl + * @Date 2023-09-25 10:56 + * @Version 1.0 + */ +public interface BaseEntity <T extends Serializable> extends Serializable{ +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/bean/BaseInvalidEntity.java b/screen-api/src/main/java/com/moral/api/pojo/bean/BaseInvalidEntity.java new file mode 100644 index 0000000..4d50b4d --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/bean/BaseInvalidEntity.java @@ -0,0 +1,31 @@ +package com.moral.api.pojo.bean; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; + +import java.io.Serializable; + +/** + * @ClassName BaseInvalidEntity + * @Description TODO + * @Author @cjl + * @Date 2023-09-25 11:00 + * @Version 1.0 + */ +public abstract class BaseInvalidEntity <T extends Serializable> extends BaseDelEntity<T>{ + /** + * ������������ + */ + @TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.NOT_NULL) + private Integer isInvalid; + + public T setIsInvalid(Integer isInvalid) { + this.isInvalid = isInvalid; + return (T) this; + } + + public Integer getIsInvalid() { + return isInvalid; + } +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/bean/BaseUpdateEntity.java b/screen-api/src/main/java/com/moral/api/pojo/bean/BaseUpdateEntity.java new file mode 100644 index 0000000..5868a70 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/bean/BaseUpdateEntity.java @@ -0,0 +1,53 @@ +package com.moral.api.pojo.bean; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import lombok.Getter; + +import java.io.Serializable; +import java.util.Date; + +/** + * @ClassName BaseUpdateEntity + * @Description TODO + * @Author @cjl + * @Date 2023-09-25 10:57 + * @Version 1.0 + */ +@Getter +@SuppressWarnings("unchecked") +public abstract class BaseUpdateEntity <T extends Serializable> extends BaseCreateEntity<T>{ + /** + * ���������ID + */ + @TableField(fill = FieldFill.INSERT_UPDATE, updateStrategy = FieldStrategy.NOT_NULL) + private Integer updateId; + + /** + * ��������������� + */ + @TableField(fill = FieldFill.INSERT_UPDATE, updateStrategy = FieldStrategy.NOT_NULL) + private String updateName; + + /** + * ������������ + */ + @TableField(fill = FieldFill.INSERT_UPDATE, updateStrategy = FieldStrategy.NOT_NULL) + private Date updateTime; + + public T setUpdateId(Integer updateId) { + this.updateId = updateId; + return (T) this; + } + + public T setUpdateName(String updateName) { + this.updateName = updateName; + return (T) this; + } + + public T setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + return (T) this; + } +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/dto/allocation/AllocationUnitDto.java b/screen-api/src/main/java/com/moral/api/pojo/dto/allocation/AllocationUnitDto.java new file mode 100644 index 0000000..ed7eb66 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/dto/allocation/AllocationUnitDto.java @@ -0,0 +1,153 @@ +package com.moral.api.pojo.dto.allocation; + + +import lombok.Data; + +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; + +@Data +public class AllocationUnitDto { + + + /** + * ������id + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer allocationId; + + /** + *������������ + */ + private String allocationNum; + + /** + * ������or������ + */ + private String escalationType; + + /** + * ������������ + */ + private Date escalationTime; + + /** + * ������������ + */ + private String pollutePosition; + + /** + * ������������������ + */ + private String unitName; + + /** + * ������������������ + */ + private String polluteTypeName; + + /** + * ������������������ + */ + private String changeTypeName; + + + + /** + * ������������ + */ + private Integer changeDay; + + /** + * ������������������ + */ + private String escalationUnitName; + + /** + * ��������� + */ + private String escalationName; + + /** + * ������������id + */ + private String investigationTypeName; + + /** + * ������������ + */ + private String problemDescribe; + + /** + * ������������ + */ + private Integer isChange; + + /** + * ������������ + */ + private String changeDescribe; + /** + * ��������������� + */ + private String changeName; + + /** + * ������������ + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date changeTime; + + /** + * ������������ + */ + private Integer checkScore; + /** + * ������������ + */ + private String checkDescribe; + /** + * ��������� + */ + private String checkName; + + + + /** + * ������������ + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date checkTime; + /** + * ������ 0 ������ 1 ������ 2 + */ + private String state; + /** + * ������������ + */ + private String isDel; + /** + * ������������ + */ + private String isInvalid; + /** + * ������������ + */ + private String invalidReason; + + private Integer createId; + + private String createName; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + + private Integer updateId; + + private String updateName; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date updateTime; +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/dto/allocation/AllocationUnitViewDto.java b/screen-api/src/main/java/com/moral/api/pojo/dto/allocation/AllocationUnitViewDto.java new file mode 100644 index 0000000..74b5cb1 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/dto/allocation/AllocationUnitViewDto.java @@ -0,0 +1,46 @@ +package com.moral.api.pojo.dto.allocation; + + +import lombok.Data; + +@Data +public class AllocationUnitViewDto { + + + + private String unitName; + + /** + * ������ + */ + private Integer total; + + /** + * ��������� + */ + private Integer number; + /** + *������������ + */ + private Integer unNumber; + + /** + * ��������� + */ + private String rate; + + + /** + * ������ + */ + private Integer deduction; + + /** + * ������ + */ + private Integer marks; + /** + * ������ + */ + private Integer totalPoints; +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/enums/AllocationApproveEnum.java b/screen-api/src/main/java/com/moral/api/pojo/enums/AllocationApproveEnum.java index 24d3383..10946d3 100644 --- a/screen-api/src/main/java/com/moral/api/pojo/enums/AllocationApproveEnum.java +++ b/screen-api/src/main/java/com/moral/api/pojo/enums/AllocationApproveEnum.java @@ -20,13 +20,21 @@ @JsonFormat(shape = JsonFormat.Shape.OBJECT) public enum AllocationApproveEnum implements IntegerValueEnum{ /** + *������ + */ + DRAFT(9, "������"), + /** *������ */ NEW_BUILT(10, "������"), /** *��������� */ - UNDER_RECTIFICATION(20, "���������"), + // CHANGE(19, "������"), + /** + *��������� + */ + UNDER_RECTIFICATION(20, "������"), /** *��������� */ diff --git a/screen-api/src/main/java/com/moral/api/pojo/enums/AllocationEscalationTypeEnum.java b/screen-api/src/main/java/com/moral/api/pojo/enums/AllocationEscalationTypeEnum.java new file mode 100644 index 0000000..4d450e0 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/enums/AllocationEscalationTypeEnum.java @@ -0,0 +1,59 @@ +package com.moral.api.pojo.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.moral.api.exception.BusinessException; +import lombok.Getter; + +import java.util.HashMap; +import java.util.Map; + +/** + * @ClassName StateEnum + * @Description TODO + * @Author @lizijie + * @Date 2023-09-20 11:11 + * @Version 1.0 + */ +@Getter +@JsonFormat(shape = JsonFormat.Shape.OBJECT) +public enum AllocationEscalationTypeEnum implements IntegerValueEnum { + + /** + *������ + */ + SELF(1, "������"), + /** + *������ + */ + CHECK(2, "������"), + ; + + @EnumValue + public final Integer value; + public final String name; + + AllocationEscalationTypeEnum(Integer value, String name) { + this.value = value; + this.name = name; + } + + private static Map<Integer, AllocationEscalationTypeEnum> valueMap = new HashMap<>(); + static { + for (AllocationEscalationTypeEnum v : AllocationEscalationTypeEnum.values()) { + valueMap.put(v.value, v); + } + } + @JsonCreator + public static AllocationEscalationTypeEnum getByValue(Integer value) { + if (value == null) { + return null; + } + AllocationEscalationTypeEnum result = valueMap.get(value); + if (result == null) { + throw new BusinessException("������������������" + value); + } + return result; + } +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/enums/AllocationExtensionApproveEnum.java b/screen-api/src/main/java/com/moral/api/pojo/enums/AllocationExtensionApproveEnum.java new file mode 100644 index 0000000..18a3f15 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/enums/AllocationExtensionApproveEnum.java @@ -0,0 +1,68 @@ +package com.moral.api.pojo.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.moral.api.exception.BusinessException; +import lombok.Getter; + +import java.util.HashMap; +import java.util.Map; + +/** + * @ClassName InvestigationEnum + * @Description TODO + * @Author @cjl + * @Date 2023-09-20 14:47 + * @Version 1.0 + */ +@Getter +@JsonFormat(shape = JsonFormat.Shape.OBJECT) +public enum AllocationExtensionApproveEnum implements IntegerValueEnum{ + + /** + *��������� + */ + NOT_AAPPROVE(10, "���������"), + /** + *��������� + */ + APPLYING(30, "���������"), + /** + *������ + */ + PASS(40, "������"), + /** + *������ + */ + REFUSE(50, "������"), + + ; + + @EnumValue + public final Integer value; + public final String name; + + AllocationExtensionApproveEnum(Integer value, String name) { + this.value = value; + this.name = name; + } + + private static Map<Integer, AllocationExtensionApproveEnum> valueMap = new HashMap<>(); + static { + for (AllocationExtensionApproveEnum v : AllocationExtensionApproveEnum.values()) { + valueMap.put(v.value, v); + } + } + @JsonCreator + public static AllocationExtensionApproveEnum getByValue(Integer value) { + if (value == null) { + return null; + } + AllocationExtensionApproveEnum result = valueMap.get(value); + if (result == null) { + throw new BusinessException("������������������" + value); + } + return result; + } +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/enums/FileTableEnum.java b/screen-api/src/main/java/com/moral/api/pojo/enums/FileTableEnum.java new file mode 100644 index 0000000..7907409 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/enums/FileTableEnum.java @@ -0,0 +1,68 @@ +package com.moral.api.pojo.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.moral.api.exception.BusinessException; +import lombok.Getter; + +import java.util.HashMap; +import java.util.Map; + +/** + * @ClassName StateEnum + * @Description TODO + * @Author @lizijie + * @Date 2023-09-20 11:11 + * @Version 1.0 + */ +@Getter +@JsonFormat(shape = JsonFormat.Shape.OBJECT) +public enum FileTableEnum implements IntegerValueEnum { + /** + *��������������� + */ + ALLOCATION_FOUNDATION(1010201, "���������������"), + /** + *��������������� + */ + ALLOCATION_RECTIFICATION(1010202, "���������������"), + /** + *��������������� + */ + ALLOCATION_APPROVE(1010203, "���������������"), + + /** + *������������ + */ + ALLOCATION_EXTENSION(1251701, "������������"), + + ; + + @EnumValue + public final Integer value; + public final String name; + + FileTableEnum(Integer value, String name) { + this.value = value; + this.name = name; + } + + private static Map<Integer, FileTableEnum> valueMap = new HashMap<>(); + static { + for (FileTableEnum v : FileTableEnum.values()) { + valueMap.put(v.value, v); + } + } + @JsonCreator + public static FileTableEnum getByValue(Integer value) { + if (value == null) { + return null; + } + FileTableEnum result = valueMap.get(value); + if (result == null) { + throw new BusinessException("������������������" + value); + } + return result; + } +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/enums/FileType.java b/screen-api/src/main/java/com/moral/api/pojo/enums/FileType.java new file mode 100644 index 0000000..c90a951 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/enums/FileType.java @@ -0,0 +1,69 @@ +package com.moral.api.pojo.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import com.fasterxml.jackson.annotation.JsonCreator; +import lombok.Getter; + +import java.util.HashMap; +import java.util.Map; + +/** + * @ClassName FileType + * @Description + * @Author fan + * @Date 2021/2/1 13:48 + * @Version 1.0 + **/ +@Getter +public enum FileType { + + /** + * ������ + */ + NON(-1), + /** + * ������ + */ + PICTURE(1), + /** + * word + */ + WORD(2), + /** + * excel + */ + EXCEL(3), + /** + * pdf + */ + PDF(4), + /** + * ��������� + */ + ZIP(5), + ; + + @EnumValue + private final Integer value; + + FileType(Integer value) { + this.value = value; + } + + private static final Map<Integer, FileType> VALUE_MAP = new HashMap<>(); + + static { + for (FileType var : values()) { + VALUE_MAP.put(var.getValue(), var); + } + } + + @JsonCreator + public static FileType getEnumByCode(Integer value) { + FileType fileType = VALUE_MAP.get(value); + if (fileType == null) { + throw new RuntimeException("enum not find element, [" + value + "]"); + } + return fileType; + } +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/enums/StateEnum.java b/screen-api/src/main/java/com/moral/api/pojo/enums/StateEnum.java index 0c1f9e9..ed214a8 100644 --- a/screen-api/src/main/java/com/moral/api/pojo/enums/StateEnum.java +++ b/screen-api/src/main/java/com/moral/api/pojo/enums/StateEnum.java @@ -22,11 +22,11 @@ /** *��������� */ - NOT_EFFECTIVE(10, "���������"), + NOT_EFFECTIVE(0, "���������"), /** *��������� */ - TAKE_EFFECT(20, "���������"); + TAKE_EFFECT(1, "���������"); @EnumValue public final Integer value; diff --git a/screen-api/src/main/java/com/moral/api/pojo/enums/YesOrNo.java b/screen-api/src/main/java/com/moral/api/pojo/enums/YesOrNo.java index 7035cd3..2e9d929 100644 --- a/screen-api/src/main/java/com/moral/api/pojo/enums/YesOrNo.java +++ b/screen-api/src/main/java/com/moral/api/pojo/enums/YesOrNo.java @@ -26,7 +26,7 @@ /** *��������� */ - No(0, "���"); + NO(0, "���"); @EnumValue public final Integer value; diff --git a/screen-api/src/main/java/com/moral/api/pojo/ext/allocation/AllocationExt.java b/screen-api/src/main/java/com/moral/api/pojo/ext/allocation/AllocationExt.java new file mode 100644 index 0000000..a0fca82 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/ext/allocation/AllocationExt.java @@ -0,0 +1,37 @@ +package com.moral.api.pojo.ext.allocation; + +import com.moral.api.entity.Allocation; +import com.moral.api.pojo.vo.approvetable.ApproveTableListVo; +import com.moral.api.pojo.vo.file.FileVo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.util.List; + +/** + * <p> + * ��������� + * </p> + * deyt template generate + * @author JI + * @since 2023-09-25 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class AllocationExt extends Allocation { + + @ApiModelProperty(value = "������������") + private List<FileVo> fileBaseList; + + @ApiModelProperty(value = "������������") + private List<FileVo> fileChangeList; + + @ApiModelProperty(value = "������������") + private List<FileVo> fileApproveList; + + @ApiModelProperty(value = "������������") + private List<ApproveTableListVo> approveList; +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/ext/allocation/AllocationListExt.java b/screen-api/src/main/java/com/moral/api/pojo/ext/allocation/AllocationListExt.java new file mode 100644 index 0000000..f3f57fb --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/ext/allocation/AllocationListExt.java @@ -0,0 +1,22 @@ +package com.moral.api.pojo.ext.allocation; + +import com.moral.api.entity.Allocation; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * <p> + * ��������� + * </p> + * deyt template generate + * @author JI + * @since 2023-09-25 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class AllocationListExt extends Allocation { + +} + diff --git a/screen-api/src/main/java/com/moral/api/pojo/ext/allocation/AllocationPageExt.java b/screen-api/src/main/java/com/moral/api/pojo/ext/allocation/AllocationPageExt.java new file mode 100644 index 0000000..4608560 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/ext/allocation/AllocationPageExt.java @@ -0,0 +1,24 @@ +package com.moral.api.pojo.ext.allocation; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.moral.api.entity.Allocation; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @ClassName AllocationPageExt + * @Description TODO + * @Author @cjl + * @Date 2023-09-25 14:34 + * @Version 1.0 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class AllocationPageExt extends Allocation { + + + private Integer applyState; +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/ext/allocationextension/AllocationExtensionExt.java b/screen-api/src/main/java/com/moral/api/pojo/ext/allocationextension/AllocationExtensionExt.java new file mode 100644 index 0000000..c1c6561 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/ext/allocationextension/AllocationExtensionExt.java @@ -0,0 +1,69 @@ +package com.moral.api.pojo.ext.allocationextension; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.moral.api.entity.AllocationExtension; +import com.moral.api.pojo.vo.file.FileVo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.util.Date; +import java.util.List; + +/** + * <p> + * ��������������� + * </p> + * deyt template generate + * @author JI + * @since 2023-09-25 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class AllocationExtensionExt extends AllocationExtension { + + @ApiModelProperty(value = "������������") + private String allocationNum; + + + @ApiModelProperty(value = "������������") + private Date escalationTime; + + + @ApiModelProperty(value = "������������") + private String pollutePosition; + + @ApiModelProperty(value = "������������id") + private Integer unitId; + + @ApiModelProperty(value = "������������id") + private Integer polluteType; + + @ApiModelProperty(value = "������������id") + private Integer changeType; + + @ApiModelProperty(value = "������������") + private Integer changeDay; + + @ApiModelProperty(value = "������������id") + private Integer escalationUnitId; + + @ApiModelProperty(value = "���������") + private String escalationName; + + @ApiModelProperty(value = "������������id") + private Integer investigationType; + + @ApiModelProperty(value = "������������") + private String problemDescribe; + + + + @ApiModelProperty(value = "������������") + private List<FileVo> fileBaseList; + + @ApiModelProperty(value = "������������") + private List<FileVo> fileList; +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/ext/allocationextension/AllocationExtensionListExt.java b/screen-api/src/main/java/com/moral/api/pojo/ext/allocationextension/AllocationExtensionListExt.java new file mode 100644 index 0000000..45a8322 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/ext/allocationextension/AllocationExtensionListExt.java @@ -0,0 +1,22 @@ +package com.moral.api.pojo.ext.allocationextension; + +import com.moral.api.entity.AllocationExtension; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * <p> + * ��������������� + * </p> + * deyt template generate + * @author JI + * @since 2023-09-25 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class AllocationExtensionListExt extends AllocationExtension { + +} + diff --git a/screen-api/src/main/java/com/moral/api/pojo/ext/allocationextension/AllocationExtensionPageExt.java b/screen-api/src/main/java/com/moral/api/pojo/ext/allocationextension/AllocationExtensionPageExt.java new file mode 100644 index 0000000..0ce0e29 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/ext/allocationextension/AllocationExtensionPageExt.java @@ -0,0 +1,40 @@ +package com.moral.api.pojo.ext.allocationextension; + +import com.moral.api.entity.AllocationExtension; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.util.Date; + +/** + * <p> + * ��������������� + * </p> + * deyt template generate + * @author JI + * @since 2023-09-25 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class AllocationExtensionPageExt extends AllocationExtension { + + @ApiModelProperty(value = "������������") + private String allocationNum; + + @ApiModelProperty(value = "������������") + private Date escalationTime; + @ApiModelProperty(value = "������������id") + private Integer unitId; + + @ApiModelProperty(value = "������������id") + private Integer polluteType; + + @ApiModelProperty(value = "������������id") + private Integer changeType; + + @ApiModelProperty(value = "������������") + private Integer changeDay; +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/query/OrderByItem.java b/screen-api/src/main/java/com/moral/api/pojo/query/OrderByItem.java new file mode 100644 index 0000000..2dcc3cf --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/query/OrderByItem.java @@ -0,0 +1,41 @@ +package com.moral.api.pojo.query; + +import com.baomidou.mybatisplus.core.metadata.OrderItem; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * @Description + * + * @Date 2020/10/27 10:59 + * @Version 1.0 + */ +@Data +@Accessors(chain = true) +@ApiModel(value = "������������", description = "������������") +public class OrderByItem { + + @ApiModelProperty(value = "���������������") + private String name; + + @ApiModelProperty(value = "������������") + private OrderType order; + + public OrderItem convertOrderItem() { + OrderItem orderItem = new OrderItem(); + switch (order) { + case ASC: + orderItem = OrderItem.asc(this.name); + break; + case DESC: + orderItem = OrderItem.desc(this.name); + break; + default: + break; + } + return orderItem; + } + +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/query/OrderType.java b/screen-api/src/main/java/com/moral/api/pojo/query/OrderType.java new file mode 100644 index 0000000..08c5ab2 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/query/OrderType.java @@ -0,0 +1,55 @@ +package com.moral.api.pojo.query; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Getter; + +import java.util.HashMap; +import java.util.Map; + +/** + * @Description + * + * @Date 2020/10/27 11:00 + * @Version 1.0 + */ +@Getter +@JsonFormat(shape = JsonFormat.Shape.OBJECT) +public enum OrderType { + + /** + * ASC + */ + ASC("ascending"), + /** + * DESC + */ + DESC("descending"), + ; + + private static Map<String, OrderType> valueMap = new HashMap<>(); + + static { + for (OrderType orderType : OrderType.values()) { + valueMap.put(orderType.code, orderType); + } + } + + @EnumValue + public final String code; + + OrderType(String code) { + this.code = code; + } + + @JsonCreator + public static OrderType getByValue(String code) { + OrderType result = valueMap.get(code); + if (result == null) { + throw new IllegalArgumentException("No element matches " + code); + } + return result; + } + +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/query/PageCond.java b/screen-api/src/main/java/com/moral/api/pojo/query/PageCond.java new file mode 100644 index 0000000..0fab677 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/query/PageCond.java @@ -0,0 +1,44 @@ +package com.moral.api.pojo.query; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import org.apache.commons.collections4.CollectionUtils; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * + */ +@Data +@Accessors(chain = true) +@ApiModel(value = "������������", description = "������������") +public class PageCond { + + @ApiModelProperty(value = "������") + private List<OrderByItem> orders; + + @ApiModelProperty(value = "������������") + private long pageSize; + + @ApiModelProperty(value = "������������") + private long currentPage; + + public List<OrderByItem> orders() { + return this.orders; + } + + public Page convertPage() { + Page page = new Page(); + page.setCurrent(this.currentPage); + page.setSize(this.pageSize); + if (CollectionUtils.isNotEmpty(orders)) { + page.setOrders(this.orders.stream().map(orderByItem -> orderByItem.convertOrderItem()).collect(Collectors.toList())); + } + return page; + } + +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/query/allocation/AllocationAddCond.java b/screen-api/src/main/java/com/moral/api/pojo/query/allocation/AllocationAddCond.java new file mode 100644 index 0000000..02375d9 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/query/allocation/AllocationAddCond.java @@ -0,0 +1,77 @@ +package com.moral.api.pojo.query.allocation; + +import com.moral.api.entity.Allocation; +import com.moral.api.pojo.vo.file.FileVo; +import com.moral.api.utils.BeanConverts; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * <p> + * ��������� + * </p> + * deyt template generate + * @author JI + * @since 2023-09-25 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="Allocation - ������������", description="Allocation - ������������") +public class AllocationAddCond implements Serializable { + + + @ApiModelProperty(value = "������������") + @NotNull(message = "���������������������������") + private Date escalationTime; + + @ApiModelProperty(value = "������������") + private String pollutePosition; + + @ApiModelProperty(value = "������������id") + private Integer unitId; + + @ApiModelProperty(value = "������������id") + private Integer polluteType; + + @ApiModelProperty(value = "������������id") + private Integer changeType; + + @ApiModelProperty(value = "������������") + private Integer changeDay; + + @ApiModelProperty(value = "������������id") + private Integer escalationUnitId; + + @ApiModelProperty(value = "���������") + private String escalationName; + + @ApiModelProperty(value = "������������id") + private Integer investigationType; + + @ApiModelProperty(value = "������������") + private String problemDescribe; + + @ApiModelProperty(value = "������") + @NotNull(message = "���������������������") + private Integer state; + + + @ApiModelProperty(value = "������������") + private List<FileVo> fileBaseList; + + + public Allocation convert() { + Allocation allocation = BeanConverts.convert(this, Allocation.class); + return allocation; + } +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/query/allocation/AllocationChangeCond.java b/screen-api/src/main/java/com/moral/api/pojo/query/allocation/AllocationChangeCond.java new file mode 100644 index 0000000..1982fe0 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/query/allocation/AllocationChangeCond.java @@ -0,0 +1,58 @@ +package com.moral.api.pojo.query.allocation; + +import com.moral.api.entity.Allocation; +import com.moral.api.pojo.vo.file.FileVo; +import com.moral.api.utils.BeanConverts; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * <p> + * ��������� + * </p> + * deyt template generate + * @author JI + * @since 2023-09-25 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="Allocation - ������������������", description="Allocation - ������������������") +public class AllocationChangeCond implements Serializable { + + @ApiModelProperty(value = "������id") + @NotNull(message = "������id���������������") + private Integer allocationId; + + @ApiModelProperty(value = "������������") + @NotNull(message = "���������������������������") + private Integer isChange; + + @ApiModelProperty(value = "������������") + private String changeDescribe; + + @ApiModelProperty(value = "���������������") + @NotEmpty(message = "������������������������������") + private String changeName; + + @ApiModelProperty(value = "������") + @NotNull(message = "���������������������") + private Integer state; + + @ApiModelProperty(value = "������������") + private List<FileVo> fileChangeList; + + public Allocation convert() { + Allocation allocation = BeanConverts.convert(this, Allocation.class); + return allocation; + } +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/query/allocation/AllocationCheckCond.java b/screen-api/src/main/java/com/moral/api/pojo/query/allocation/AllocationCheckCond.java new file mode 100644 index 0000000..675faa4 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/query/allocation/AllocationCheckCond.java @@ -0,0 +1,53 @@ +package com.moral.api.pojo.query.allocation; + +import com.moral.api.entity.Allocation; +import com.moral.api.pojo.vo.file.FileVo; +import com.moral.api.utils.BeanConverts; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.List; + +/** + * <p> + * ��������� + * </p> + * deyt template generate + * @author JI + * @since 2023-09-25 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="Allocation - ������������������", description="Allocation - ������������������") +public class AllocationCheckCond implements Serializable { + + @ApiModelProperty(value = "������id") + @NotNull(message = "������id���������������") + private Integer allocationId; + + @ApiModelProperty(value = "������������") + @NotNull(message = "���������������������������") + private Integer checkScore; + + @ApiModelProperty(value = "������������") + private String checkDescribe; + + @ApiModelProperty(value = "������") + @NotNull(message = "���������������������") + private Integer state; + + @ApiModelProperty(value = "������������") + private List<FileVo> fileApproveList; + + public Allocation convert() { + Allocation allocation = BeanConverts.convert(this, Allocation.class); + return allocation; + } +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/query/allocation/AllocationListCond.java b/screen-api/src/main/java/com/moral/api/pojo/query/allocation/AllocationListCond.java new file mode 100644 index 0000000..df6251d --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/query/allocation/AllocationListCond.java @@ -0,0 +1,37 @@ +package com.moral.api.pojo.query.allocation; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * <p> + * ��������� + * </p> + * deyt template generate + * @author JI + * @since 2023-09-25 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="Allocation - ������������������", description="Allocation - ������������������") +public class AllocationListCond implements Serializable { + + @ApiModelProperty(value = "������������id") + private Integer unitId; + + @ApiModelProperty(value = "������������id") + private Integer polluteType; + + @ApiModelProperty(value = "������������") + private String startTime; + + @ApiModelProperty(value = "������������") + private String endTime; + +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/query/allocation/AllocationPageCond.java b/screen-api/src/main/java/com/moral/api/pojo/query/allocation/AllocationPageCond.java new file mode 100644 index 0000000..a9f41f7 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/query/allocation/AllocationPageCond.java @@ -0,0 +1,54 @@ +package com.moral.api.pojo.query.allocation; + +import com.moral.api.pojo.query.PageCond; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * <p> + * ��������� + * </p> + * deyt template generate + * @author JI + * @since 2023-09-25 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="Allocation - ������������������", description="Allocation - ������������������") +public class AllocationPageCond implements Serializable{ + + @ApiModelProperty(value = "������������id") + private Integer unitId; + + @ApiModelProperty(value = "������������id") + private Integer polluteType; + + @ApiModelProperty(value = "������������") + private Integer state; + + @ApiModelProperty(value = "������������id") + private Integer investigationType; + + @ApiModelProperty(value = "������������id") + private Integer changeType; + + + @ApiModelProperty(value = "������������") + private Integer isInvalid; + + @ApiModelProperty(value = "������������") + private String startTime; + + @ApiModelProperty(value = "������������") + private String endTime; + + @ApiModelProperty(value = "������������") + private PageCond page; + +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/query/allocation/AllocationUpdateCond.java b/screen-api/src/main/java/com/moral/api/pojo/query/allocation/AllocationUpdateCond.java new file mode 100644 index 0000000..41c311b --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/query/allocation/AllocationUpdateCond.java @@ -0,0 +1,85 @@ +package com.moral.api.pojo.query.allocation; + +import com.moral.api.entity.Allocation; +import com.moral.api.pojo.vo.file.FileVo; +import com.moral.api.utils.BeanConverts; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * <p> + * ��������� + * </p> + * deyt template generate + * @author JI + * @since 2023-09-25 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="Allocation - ������������", description="Allocation - ������������") +public class AllocationUpdateCond implements Serializable { + + @ApiModelProperty(value = "������id") + @NotNull(message = "������id���������������") + private Integer allocationId; + + @ApiModelProperty(value = "������������") + @NotNull(message = "���������������������������") + private Date escalationTime; + + @ApiModelProperty(value = "������������") + @NotEmpty(message = "���������������������������") + private String pollutePosition; + + @ApiModelProperty(value = "������������id") + @NotNull(message = "���������������������������") + private Integer unitId; + + @ApiModelProperty(value = "������������id") + @NotNull(message = "���������������������������") + private Integer polluteType; + + @ApiModelProperty(value = "������������id") + @NotNull(message = "���������������������������") + private Integer changeType; + + @ApiModelProperty(value = "������������") + private Integer changeDay; + + @ApiModelProperty(value = "������������id") + @NotNull(message = "���������������������������") + private Integer escalationUnitId; + + @ApiModelProperty(value = "���������") + @NotEmpty(message = "������������������������") + private String escalationName; + + @ApiModelProperty(value = "������������id") + @NotNull(message = "���������������������������") + private Integer investigationType; + + @ApiModelProperty(value = "������������") + private String problemDescribe; + + @ApiModelProperty(value = "������") + @NotNull(message = "���������������������") + private Integer state; + + @ApiModelProperty(value = "������������") + private List<FileVo> fileBaseList; + + public Allocation convert() { + Allocation allocation = BeanConverts.convert(this, Allocation.class); + return allocation; + } +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/query/allocationextension/AllocationExtensionAddCond.java b/screen-api/src/main/java/com/moral/api/pojo/query/allocationextension/AllocationExtensionAddCond.java new file mode 100644 index 0000000..5b01be4 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/query/allocationextension/AllocationExtensionAddCond.java @@ -0,0 +1,51 @@ +package com.moral.api.pojo.query.allocationextension; + +import com.moral.api.entity.AllocationExtension; +import com.moral.api.pojo.vo.file.FileVo; +import com.moral.api.utils.BeanConverts; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * <p> + * ��������������� + * </p> + * deyt template generate + * @author JI + * @since 2023-09-25 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="AllocationExtension - ������������", description="AllocationExtension - ������������") +public class AllocationExtensionAddCond implements Serializable { + + + @ApiModelProperty(value = "���������id") + @NotNull(message = "���������id���������������") + private Integer allocationId; + + @ApiModelProperty(value = "������������") + @NotNull(message = "���������������������������") + private Integer extensionNum; + + @ApiModelProperty(value = "������������") + @NotEmpty(message = "���������������������������") + private String remake; + + @ApiModelProperty(value = "������") + private List<FileVo> fileList; + public AllocationExtension convert() { + AllocationExtension allocationExtension = BeanConverts.convert(this, AllocationExtension.class); + return allocationExtension; + } +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/query/allocationextension/AllocationExtensionListCond.java b/screen-api/src/main/java/com/moral/api/pojo/query/allocationextension/AllocationExtensionListCond.java new file mode 100644 index 0000000..6a2b90d --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/query/allocationextension/AllocationExtensionListCond.java @@ -0,0 +1,28 @@ +package com.moral.api.pojo.query.allocationextension; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * <p> + * ��������������� + * </p> + * deyt template generate + * @author JI + * @since 2023-09-25 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="AllocationExtension - ������������������", description="AllocationExtension - ������������������") +public class AllocationExtensionListCond implements Serializable { + + @ApiModelProperty(value = "ID") + private Integer id; + +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/query/allocationextension/AllocationExtensionPageCond.java b/screen-api/src/main/java/com/moral/api/pojo/query/allocationextension/AllocationExtensionPageCond.java new file mode 100644 index 0000000..63d70bf --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/query/allocationextension/AllocationExtensionPageCond.java @@ -0,0 +1,49 @@ +package com.moral.api.pojo.query.allocationextension; + +import com.moral.api.pojo.query.PageCond; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * <p> + * ��������������� + * </p> + * deyt template generate + * @author JI + * @since 2023-09-25 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="AllocationExtension - ������������������", description="AllocationExtension - ������������������") +public class AllocationExtensionPageCond implements Serializable{ + + @ApiModelProperty(value = "������������id") + private Integer unitId; + + @ApiModelProperty(value = "������������id") + private Integer polluteType; + + @ApiModelProperty(value = "������������") + private Integer state; + + @ApiModelProperty(value = "������������id") + private Integer investigationType; + + @ApiModelProperty(value = "������������id") + private Integer changeType; + + @ApiModelProperty(value = "������������") + private String startTime; + + @ApiModelProperty(value = "������������") + private String endTime; + + @ApiModelProperty(value = "������������") + private PageCond page; +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/query/allocationextension/AllocationExtensionUpdateCond.java b/screen-api/src/main/java/com/moral/api/pojo/query/allocationextension/AllocationExtensionUpdateCond.java new file mode 100644 index 0000000..9cddc8f --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/query/allocationextension/AllocationExtensionUpdateCond.java @@ -0,0 +1,76 @@ +package com.moral.api.pojo.query.allocationextension; + +import com.moral.api.entity.AllocationExtension; +import com.moral.api.utils.BeanConverts; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * <p> + * ��������������� + * </p> + * deyt template generate + * @author JI + * @since 2023-09-25 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="AllocationExtension - ������������", description="AllocationExtension - ������������") +public class AllocationExtensionUpdateCond implements Serializable { + + @ApiModelProperty(value = "������id") + private Integer id; + + @ApiModelProperty(value = "���������id") + private Integer allocationId; + + @ApiModelProperty(value = "������������") + private Integer extensionNum; + + @ApiModelProperty(value = "������������") + private String remake; + + @ApiModelProperty(value = "������") + private Integer state; + + @ApiModelProperty(value = "������������") + private Integer isDel; + + @ApiModelProperty(value = "������������") + private Integer isInvalid; + + @ApiModelProperty(value = "������������") + private String invalidReason; + + @ApiModelProperty(value = "���������id") + private Integer createId; + + @ApiModelProperty(value = "���������������") + private String createName; + + @ApiModelProperty(value = "������������") + private Date createTime; + + @ApiModelProperty(value = "���������id") + private Integer updateId; + + @ApiModelProperty(value = "���������������") + private String updateName; + + @ApiModelProperty(value = "������������") + private Date updateTime; + + + + public AllocationExtension convert() { + AllocationExtension allocationExtension = BeanConverts.convert(this, AllocationExtension.class); + return allocationExtension; + } +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/query/approvetable/ApproveTableAddCond.java b/screen-api/src/main/java/com/moral/api/pojo/query/approvetable/ApproveTableAddCond.java new file mode 100644 index 0000000..0f1e6cf --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/query/approvetable/ApproveTableAddCond.java @@ -0,0 +1,70 @@ +package com.moral.api.pojo.query.approvetable; + +import com.moral.api.entity.ApproveTable; +import com.moral.api.utils.BeanConverts; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * <p> + * ��������� + * </p> + * deyt template generate + * @author JI + * @since 2023-09-25 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="ApproveTable - ������������", description="ApproveTable - ������������") +public class ApproveTableAddCond implements Serializable { + + @ApiModelProperty(value = "������������id") + private Integer id; + + @ApiModelProperty(value = "������") + private Integer approveModule; + + @ApiModelProperty(value = "������������id") + private Integer relationId; + + @ApiModelProperty(value = "������") + private Integer state; + + @ApiModelProperty(value = "������������") + private String stateName; + + @ApiModelProperty(value = "������������") + private Integer isDel; + + @ApiModelProperty(value = "���������id") + private Integer createId; + + @ApiModelProperty(value = "���������������") + private String createName; + + @ApiModelProperty(value = "������������") + private Date createTime; + + @ApiModelProperty(value = "���������id") + private Integer updateId; + + @ApiModelProperty(value = "���������������") + private String updateName; + + @ApiModelProperty(value = "������������") + private Date updateTime; + + + + public ApproveTable convert() { + ApproveTable approveTable = BeanConverts.convert(this, ApproveTable.class); + return approveTable; + } +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/query/approvetable/ApproveTableListCond.java b/screen-api/src/main/java/com/moral/api/pojo/query/approvetable/ApproveTableListCond.java new file mode 100644 index 0000000..4d3ce16 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/query/approvetable/ApproveTableListCond.java @@ -0,0 +1,28 @@ +package com.moral.api.pojo.query.approvetable; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * <p> + * ��������� + * </p> + * deyt template generate + * @author JI + * @since 2023-09-25 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="ApproveTable - ������������������", description="ApproveTable - ������������������") +public class ApproveTableListCond implements Serializable { + + @ApiModelProperty(value = "ID") + private Integer id; + +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/query/approvetable/ApproveTablePageCond.java b/screen-api/src/main/java/com/moral/api/pojo/query/approvetable/ApproveTablePageCond.java new file mode 100644 index 0000000..443d856 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/query/approvetable/ApproveTablePageCond.java @@ -0,0 +1,31 @@ +package com.moral.api.pojo.query.approvetable; + +import com.moral.api.pojo.query.PageCond; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * <p> + * ��������� + * </p> + * deyt template generate + * @author JI + * @since 2023-09-25 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="ApproveTable - ������������������", description="ApproveTable - ������������������") +public class ApproveTablePageCond implements Serializable{ + + @ApiModelProperty(value = "ID") + private Integer id; + + @ApiModelProperty(value = "������������") + private PageCond page; +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/query/approvetable/ApproveTableUpdateCond.java b/screen-api/src/main/java/com/moral/api/pojo/query/approvetable/ApproveTableUpdateCond.java new file mode 100644 index 0000000..2e83c1b --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/query/approvetable/ApproveTableUpdateCond.java @@ -0,0 +1,70 @@ +package com.moral.api.pojo.query.approvetable; + +import com.moral.api.entity.ApproveTable; +import com.moral.api.utils.BeanConverts; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * <p> + * ��������� + * </p> + * deyt template generate + * @author JI + * @since 2023-09-25 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="ApproveTable - ������������", description="ApproveTable - ������������") +public class ApproveTableUpdateCond implements Serializable { + + @ApiModelProperty(value = "������������id") + private Integer id; + + @ApiModelProperty(value = "������") + private Integer approveModule; + + @ApiModelProperty(value = "������������id") + private Integer relationId; + + @ApiModelProperty(value = "������") + private Integer state; + + @ApiModelProperty(value = "������������") + private String stateName; + + @ApiModelProperty(value = "������������") + private Integer isDel; + + @ApiModelProperty(value = "���������id") + private Integer createId; + + @ApiModelProperty(value = "���������������") + private String createName; + + @ApiModelProperty(value = "������������") + private Date createTime; + + @ApiModelProperty(value = "���������id") + private Integer updateId; + + @ApiModelProperty(value = "���������������") + private String updateName; + + @ApiModelProperty(value = "������������") + private Date updateTime; + + + + public ApproveTable convert() { + ApproveTable approveTable = BeanConverts.convert(this, ApproveTable.class); + return approveTable; + } +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/vo/DictionaryVo.java b/screen-api/src/main/java/com/moral/api/pojo/vo/DictionaryVo.java index e1874dc..dacd8de 100644 --- a/screen-api/src/main/java/com/moral/api/pojo/vo/DictionaryVo.java +++ b/screen-api/src/main/java/com/moral/api/pojo/vo/DictionaryVo.java @@ -33,7 +33,10 @@ private List<Map<String, Object>> ChangeEnum; private List<Map<String, Object>> YesOrNo; + private List<Map<String, Object>> AllocationApproveEnum; + private List<Map<String, Object>> FileTableEnum; + private List<Map<String, Object>> AllocationExtensionApproveEnum; public static List<Map<String, Object>> enumArray2Map(Enum[] enums) { @@ -62,5 +65,17 @@ return this; } + public DictionaryVo setFileTableEnum(com.moral.api.pojo.enums.FileTableEnum[] enumResult) { + this.FileTableEnum = enumArray2Map(enumResult); + return this; + } + public DictionaryVo setAllocationApproveEnum(com.moral.api.pojo.enums.AllocationApproveEnum[] enumResult) { + this.AllocationApproveEnum = enumArray2Map(enumResult); + return this; + } + public DictionaryVo setAllocationExtensionApproveEnum(com.moral.api.pojo.enums.AllocationExtensionApproveEnum[] enumResult) { + this.AllocationExtensionApproveEnum = enumArray2Map(enumResult); + return this; + } } diff --git a/screen-api/src/main/java/com/moral/api/pojo/vo/allocation/AllocationPageVo.java b/screen-api/src/main/java/com/moral/api/pojo/vo/allocation/AllocationPageVo.java new file mode 100644 index 0000000..3264fd6 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/vo/allocation/AllocationPageVo.java @@ -0,0 +1,122 @@ +package com.moral.api.pojo.vo.allocation; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.moral.api.pojo.enums.AllocationApproveEnum; +import com.moral.api.pojo.ext.allocation.AllocationPageExt; +import com.moral.api.utils.BeanConverts; +import com.moral.util.DateUtils; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; +import java.util.Objects; +import java.util.regex.Pattern; +import java.util.stream.Collectors; + +/** + * <p> + * ��������� + * </p> + * deyt template generate + * @author JI + * @since 2023-09-25 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="Allocation - ������VO������", description="Allocation - ������VO������") +public class AllocationPageVo implements Serializable { + + + @ApiModelProperty(value = "������id") + private Integer allocationId; + + @ApiModelProperty(value = "������������") + private String allocationNum; + + @ApiModelProperty(value = "������������") + @JsonFormat(pattern="yyyy-MM-dd") + private Date escalationTime; + + @ApiModelProperty(value = "������������id") + private Integer unitId; + + @ApiModelProperty(value = "������������id") + private Integer polluteType; + + @ApiModelProperty(value = "������������id") + private Integer changeType; + + @ApiModelProperty(value = "������������") + private Integer changeDay; + + @ApiModelProperty(value = "������������") + private Integer residueDay; + + @ApiModelProperty(value = "������������id") + private Integer escalationUnitId; + + @ApiModelProperty(value = "���������") + private String escalationName; + + @ApiModelProperty(value = "������������id") + private Integer investigationType; + + @ApiModelProperty(value = "������") + private Integer state; + + @ApiModelProperty(value = "������������") + private Integer isInvalid; + + @ApiModelProperty(value = "���������id") + private Integer createId; + + @ApiModelProperty(value = "���������������") + private String createName; + + @ApiModelProperty(value = "������������") + @JsonFormat(pattern="yyyy-MM-dd HH:mm", timezone = "GMT+8") + private Date createTime; + + @ApiModelProperty(value = "���������id") + private Integer updateId; + + @ApiModelProperty(value = "���������������") + private String updateName; + + @ApiModelProperty(value = "������������") + @JsonFormat(pattern="yyyy-MM-dd HH:mm", timezone = "GMT+8") + private Date updateTime; + + @ApiModelProperty(value = "������������������") + private Integer applyState; + + + public static AllocationPageVo convert(AllocationPageExt allocationPageExt) { + AllocationPageVo allocationPageVo = BeanConverts.convert(allocationPageExt, AllocationPageVo.class); + return allocationPageVo; + } + + public static List<AllocationPageVo> convert(List<AllocationPageExt> allocationPageExtList) { + return allocationPageExtList.stream().map(AllocationPageVo::convert).collect(Collectors.toList()); + } + + public Integer getResidueDay() { + int day = this.changeDay; + if(AllocationApproveEnum.UNDER_RECTIFICATION.value.equals(state)){ + Date date = new Date(); + int days = DateUtils.getDays(escalationTime, date); + return day-days; + } + return day; + } + + public Integer getApplyState() { + return Objects.isNull(applyState)?0:applyState; + } +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/vo/allocation/AllocationVo.java b/screen-api/src/main/java/com/moral/api/pojo/vo/allocation/AllocationVo.java new file mode 100644 index 0000000..5dfca31 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/vo/allocation/AllocationVo.java @@ -0,0 +1,144 @@ +package com.moral.api.pojo.vo.allocation; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.moral.api.pojo.ext.allocation.AllocationExt; +import com.moral.api.pojo.vo.approvetable.ApproveTableListVo; +import com.moral.api.pojo.vo.file.FileVo; +import com.moral.api.utils.BeanConverts; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * <p> + * ��������� + * </p> + * deyt template generate + * @author JI + * @since 2023-09-25 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="Allocation - ������VO������", description="Allocation - ������VO������") +public class AllocationVo implements Serializable { + + + @ApiModelProperty(value = "������id") + private Integer allocationId; + + @ApiModelProperty(value = "������������") + private String allocationNum; + + + @ApiModelProperty(value = "������������") + @JsonFormat(pattern="yyyy-MM-dd") + private Date escalationTime; + + @ApiModelProperty(value = "������������") + private String pollutePosition; + + @ApiModelProperty(value = "������������id") + private Integer unitId; + + @ApiModelProperty(value = "������������id") + private Integer polluteType; + + @ApiModelProperty(value = "������������id") + private Integer changeType; + + @ApiModelProperty(value = "������������") + private Integer changeDay; + + @ApiModelProperty(value = "������������id") + private Integer escalationUnitId; + + @ApiModelProperty(value = "���������") + private String escalationName; + + @ApiModelProperty(value = "������������id") + private Integer investigationType; + + @ApiModelProperty(value = "������������") + private String problemDescribe; + + @ApiModelProperty(value = "������������") + private Integer isChange; + + @ApiModelProperty(value = "������������") + private String changeDescribe; + + @ApiModelProperty(value = "���������������") + private String changeName; + + @ApiModelProperty(value = "������������") + @JsonFormat(pattern="yyyy-MM-dd") + private Date changeTime; + + @ApiModelProperty(value = "������������") + private Integer checkScore; + + @ApiModelProperty(value = "������������") + private String checkDescribe; + + @ApiModelProperty(value = "���������") + private String checkName; + + @ApiModelProperty(value = "������������") + @JsonFormat(pattern="yyyy-MM-dd HH:mm", timezone = "GMT+8") + private Date checkTime; + + @ApiModelProperty(value = "������") + private Integer state; + + @ApiModelProperty(value = "������������") + private Integer isInvalid; + + @ApiModelProperty(value = "������������") + private String invalidReason; + + @ApiModelProperty(value = "���������id") + private Integer createId; + + @ApiModelProperty(value = "���������������") + private String createName; + + @ApiModelProperty(value = "������������") + @JsonFormat(pattern="yyyy-MM-dd HH:mm", timezone = "GMT+8") + private Date createTime; + + @ApiModelProperty(value = "���������id") + private Integer updateId; + + @ApiModelProperty(value = "���������������") + private String updateName; + + @ApiModelProperty(value = "������������") + @JsonFormat(pattern="yyyy-MM-dd HH:mm", timezone = "GMT+8") + private Date updateTime; + + @ApiModelProperty(value = "������������") + private List<FileVo> fileBaseList; + + @ApiModelProperty(value = "������������") + private List<FileVo> fileChangeList; + + @ApiModelProperty(value = "������������") + private List<FileVo> fileApproveList; + + @ApiModelProperty(value = "������������") + private List<ApproveTableListVo> approveList; + + + public static AllocationVo convert(AllocationExt allocationExt) { + AllocationVo allocationVo = BeanConverts.convert(allocationExt, AllocationVo.class); + return allocationVo; + } + +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/vo/allocationextension/AllocationExtensionListVo.java b/screen-api/src/main/java/com/moral/api/pojo/vo/allocationextension/AllocationExtensionListVo.java new file mode 100644 index 0000000..754e362 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/vo/allocationextension/AllocationExtensionListVo.java @@ -0,0 +1,83 @@ +package com.moral.api.pojo.vo.allocationextension; + +import com.moral.api.pojo.ext.allocationextension.AllocationExtensionListExt; +import com.moral.api.utils.BeanConverts; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * <p> + * ��������������� + * </p> + * deyt template generate + * @author JI + * @since 2023-09-25 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="AllocationExtension - ������VO������", description="AllocationExtension - ������VO������") +public class AllocationExtensionListVo implements Serializable { + + + @ApiModelProperty(value = "������id") + private Integer id; + + @ApiModelProperty(value = "���������id") + private Integer allocationId; + + @ApiModelProperty(value = "������������") + private Integer extensionNum; + + @ApiModelProperty(value = "������������") + private String remake; + + @ApiModelProperty(value = "������") + private Integer state; + + @ApiModelProperty(value = "������������") + private Integer isDel; + + @ApiModelProperty(value = "������������") + private Integer isInvalid; + + @ApiModelProperty(value = "������������") + private String invalidReason; + + @ApiModelProperty(value = "���������id") + private Integer createId; + + @ApiModelProperty(value = "���������������") + private String createName; + + @ApiModelProperty(value = "������������") + private Date createTime; + + @ApiModelProperty(value = "���������id") + private Integer updateId; + + @ApiModelProperty(value = "���������������") + private String updateName; + + @ApiModelProperty(value = "������������") + private Date updateTime; + + + + public static AllocationExtensionListVo convert(AllocationExtensionListExt allocationExtensionListExt) { + AllocationExtensionListVo allocationExtensionListVo = BeanConverts.convert(allocationExtensionListExt, AllocationExtensionListVo.class); + return allocationExtensionListVo; + } + + public static List<AllocationExtensionListVo> convert(List<AllocationExtensionListExt> allocationExtensionListExtList) { + return allocationExtensionListExtList.stream().map(AllocationExtensionListVo::convert).collect(Collectors.toList()); + } +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/vo/allocationextension/AllocationExtensionPageVo.java b/screen-api/src/main/java/com/moral/api/pojo/vo/allocationextension/AllocationExtensionPageVo.java new file mode 100644 index 0000000..f9915bc --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/vo/allocationextension/AllocationExtensionPageVo.java @@ -0,0 +1,96 @@ +package com.moral.api.pojo.vo.allocationextension; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.moral.api.pojo.ext.allocationextension.AllocationExtensionPageExt; +import com.moral.api.utils.BeanConverts; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * <p> + * ��������������� + * </p> + * deyt template generate + * @author JI + * @since 2023-09-25 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="AllocationExtension - ������VO������", description="AllocationExtension - ������VO������") +public class AllocationExtensionPageVo implements Serializable { + + + @ApiModelProperty(value = "������id") + private Integer id; + + @ApiModelProperty(value = "������������") + private String allocationNum; + + @ApiModelProperty(value = "������������") + @JsonFormat(pattern="yyyy-MM-dd") + private Date escalationTime; + @ApiModelProperty(value = "������������id") + private Integer unitId; + + @ApiModelProperty(value = "������������id") + private Integer polluteType; + + @ApiModelProperty(value = "������������id") + private Integer changeType; + + @ApiModelProperty(value = "������������") + private Integer changeDay; + + + @ApiModelProperty(value = "������������") + private Integer extensionNum; + + @ApiModelProperty(value = "������") + private Integer state; + + @ApiModelProperty(value = "������������id") + private Integer escalationUnitId; + + @ApiModelProperty(value = "���������") + private String escalationName; + + @ApiModelProperty(value = "���������id") + private Integer createId; + + @ApiModelProperty(value = "���������������") + private String createName; + + @ApiModelProperty(value = "������������") + @JsonFormat(pattern="yyyy-MM-dd HH:mm", timezone = "GMT+8") + private Date createTime; + + @ApiModelProperty(value = "���������id") + private Integer updateId; + + @ApiModelProperty(value = "���������������") + private String updateName; + + @ApiModelProperty(value = "������������") + @JsonFormat(pattern="yyyy-MM-dd HH:mm", timezone = "GMT+8") + private Date updateTime; + + + + public static AllocationExtensionPageVo convert(AllocationExtensionPageExt allocationExtensionPageExt) { + AllocationExtensionPageVo allocationExtensionPageVo = BeanConverts.convert(allocationExtensionPageExt, AllocationExtensionPageVo.class); + return allocationExtensionPageVo; + } + + public static List<AllocationExtensionPageVo> convert(List<AllocationExtensionPageExt> allocationExtensionPageExtList) { + return allocationExtensionPageExtList.stream().map(AllocationExtensionPageVo::convert).collect(Collectors.toList()); + } +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/vo/allocationextension/AllocationExtensionVo.java b/screen-api/src/main/java/com/moral/api/pojo/vo/allocationextension/AllocationExtensionVo.java new file mode 100644 index 0000000..c93ad27 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/vo/allocationextension/AllocationExtensionVo.java @@ -0,0 +1,122 @@ +package com.moral.api.pojo.vo.allocationextension; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.moral.api.pojo.ext.allocationextension.AllocationExtensionExt; +import com.moral.api.pojo.vo.file.FileVo; +import com.moral.api.utils.BeanConverts; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * <p> + * ��������������� + * </p> + * deyt template generate + * @author JI + * @since 2023-09-25 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="AllocationExtension - ������VO������", description="AllocationExtension - ������VO������") +public class AllocationExtensionVo implements Serializable { + + + @ApiModelProperty(value = "������id") + private Integer id; + + @ApiModelProperty(value = "������������") + private String allocationNum; + + + @ApiModelProperty(value = "������������") + @JsonFormat(pattern="yyyy-MM-dd") + private Date escalationTime; + + + @ApiModelProperty(value = "������������") + private String pollutePosition; + + @ApiModelProperty(value = "������������id") + private Integer unitId; + + @ApiModelProperty(value = "������������id") + private Integer polluteType; + + @ApiModelProperty(value = "������������id") + private Integer changeType; + + @ApiModelProperty(value = "������������") + private Integer changeDay; + + @ApiModelProperty(value = "������������id") + private Integer escalationUnitId; + + @ApiModelProperty(value = "���������") + private String escalationName; + + @ApiModelProperty(value = "������������id") + private Integer investigationType; + + @ApiModelProperty(value = "������������") + private String problemDescribe; + + + + @ApiModelProperty(value = "������������") + private List<FileVo> fileBaseList; + + @ApiModelProperty(value = "������������") + private List<FileVo> fileList; + + + @ApiModelProperty(value = "������������") + private Integer extensionNum; + + @ApiModelProperty(value = "������������") + private String remake; + + @ApiModelProperty(value = "������") + private Integer state; + + @ApiModelProperty(value = "������������") + private Integer isInvalid; + + @ApiModelProperty(value = "������������") + private String invalidReason; + + @ApiModelProperty(value = "���������id") + private Integer createId; + + @ApiModelProperty(value = "���������������") + private String createName; + + @ApiModelProperty(value = "������������") + @JsonFormat(pattern="yyyy-MM-dd HH:mm", timezone = "GMT+8") + private Date createTime; + + @ApiModelProperty(value = "���������id") + private Integer updateId; + + @ApiModelProperty(value = "���������������") + private String updateName; + + @ApiModelProperty(value = "������������") + @JsonFormat(pattern="yyyy-MM-dd HH:mm", timezone = "GMT+8") + private Date updateTime; + + + + public static AllocationExtensionVo convert(AllocationExtensionExt allocationExtensionExt) { + AllocationExtensionVo allocationExtensionVo = BeanConverts.convert(allocationExtensionExt, AllocationExtensionVo.class); + return allocationExtensionVo; + } + +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/vo/approvetable/ApproveTableListVo.java b/screen-api/src/main/java/com/moral/api/pojo/vo/approvetable/ApproveTableListVo.java new file mode 100644 index 0000000..1317d7e --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/vo/approvetable/ApproveTableListVo.java @@ -0,0 +1,47 @@ +package com.moral.api.pojo.vo.approvetable; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * <p> + * ��������� + * </p> + * deyt template generate + * @author JI + * @since 2023-09-25 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="ApproveTable - ������VO������", description="ApproveTable - ������VO������") +public class ApproveTableListVo implements Serializable { + + + @ApiModelProperty(value = "������������id") + private Integer id; + + @ApiModelProperty(value = "������") + private Integer state; + + @ApiModelProperty(value = "������������") + private String stateName; + + @ApiModelProperty(value = "���������id") + private Integer createId; + + @ApiModelProperty(value = "���������������") + private String createName; + + @ApiModelProperty(value = "������������") + @JsonFormat(pattern="yyyy-MM-dd HH:mm", timezone = "GMT+8") + private Date createTime; + +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/vo/file/FileVo.java b/screen-api/src/main/java/com/moral/api/pojo/vo/file/FileVo.java new file mode 100644 index 0000000..6a779e2 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/vo/file/FileVo.java @@ -0,0 +1,29 @@ +package com.moral.api.pojo.vo.file; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @ClassName FileVo + * @Description TODO + * @Author @cjl + * @Date 2023-09-21 14:51 + * @Version 1.0 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(description="FileVo - ������VO������") +public class FileVo { + @ApiModelProperty(value = "ID") + private Integer fileId; + + @ApiModelProperty(value = "������������") + private String fileName; + + @ApiModelProperty(value = "������1������") + private Integer fileType; +} diff --git a/screen-api/src/main/java/com/moral/api/pojo/vo/user/QxUser.java b/screen-api/src/main/java/com/moral/api/pojo/vo/user/QxUser.java new file mode 100644 index 0000000..2f6c656 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/pojo/vo/user/QxUser.java @@ -0,0 +1,34 @@ +package com.moral.api.pojo.vo.user; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * @ClassName QxUser + * @Description TODO + * @Author @cjl + * @Date 2023-09-21 15:59 + * @Version 1.0 + */ +@Data +@Accessors(chain = true) +public class QxUser { + /** + * ������id + */ + private Integer userId; + + /** + * ������������ + */ + private String userName; + + /** + * ������ + */ + private String account; + /** + * ������������������������ + */ + private Integer unitId; +} diff --git a/screen-api/src/main/java/com/moral/api/service/AllocationExtensionService.java b/screen-api/src/main/java/com/moral/api/service/AllocationExtensionService.java new file mode 100644 index 0000000..fd0a982 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/service/AllocationExtensionService.java @@ -0,0 +1,44 @@ +package com.moral.api.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.moral.api.entity.AllocationExtension; +import com.moral.api.pojo.ext.allocationextension.AllocationExtensionExt; +import com.moral.api.pojo.ext.allocationextension.AllocationExtensionPageExt; +import com.moral.api.pojo.query.allocationextension.AllocationExtensionAddCond; +import com.moral.api.pojo.query.allocationextension.AllocationExtensionPageCond; + +/** + * <p> + * ��������������� ��������� + * </p> + * deyt template generate + * @author JI + * @since 2023-09-25 + */ +public interface AllocationExtensionService extends IService<AllocationExtension> { + + /** + * ������id������������ + * @param id + * @return AllocationExtensionExt + */ + AllocationExtensionExt extOne(Integer id); + + /** + * ������������������ + * @param allocationExtensionPageCond + * @return AllocationExtensionPageExt + */ + Page<AllocationExtensionPageExt> extPage(AllocationExtensionPageCond allocationExtensionPageCond); + + /** + * ������ + * @param allocationExtensionAddCond + * @return + */ + boolean save(AllocationExtensionAddCond allocationExtensionAddCond); + + boolean check(Integer id,Integer state); + +} diff --git a/screen-api/src/main/java/com/moral/api/service/AllocationService.java b/screen-api/src/main/java/com/moral/api/service/AllocationService.java new file mode 100644 index 0000000..8fb6916 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/service/AllocationService.java @@ -0,0 +1,63 @@ +package com.moral.api.service; + +import java.util.List; +import java.util.Map; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.moral.api.entity.Allocation; +import com.moral.api.entity.ResponsibilityUnit; +import com.moral.api.pojo.ext.allocation.AllocationExt; +import com.moral.api.pojo.ext.allocation.AllocationListExt; +import com.moral.api.pojo.ext.allocation.AllocationPageExt; +import com.moral.api.pojo.query.allocation.*; +import com.moral.api.pojo.dto.allocation.AllocationUnitDto; +import com.moral.api.pojo.query.allocationextension.AllocationExtensionAddCond; + +public interface AllocationService extends IService<Allocation> { + + List<Map<String, Object>> sysDictData(String code); + + List<ResponsibilityUnit> seleteUnit(); + + Integer insertAllocation(AllocationAddCond allocation); + + AllocationUnitDto check(Integer id); + + void updateAll(AllocationUpdateCond allocationUpdateCond); + + List<Allocation> selectAll(Map<String,Object> map); + + + Map<String, Object> selectUnitView(Map<String,Object> map); + + List<Map<String,Object>> unitExel(Map<String,Object> map); + + Page<AllocationPageExt> extPage(AllocationPageCond allocationPageCond); + /** + * ������id������������ + * @param id + * @return AllocationExt + */ + AllocationExt extOne(Integer id); + + AllocationExt oneAllocation(Integer id); + + void changeAllocation(AllocationChangeCond changeCond); + + void checkAllocation(AllocationCheckCond checkCond); + + boolean removeById(Integer id); + + boolean invalidResult (Integer id,String invalidReason); + + /** + * ������������������ + * @param allocationListCond + * @return AllocationListExt + */ + List<AllocationListExt> extList(AllocationListCond allocationListCond); + + boolean applyFor (AllocationExtensionAddCond allocationExtensionAddCond); +} diff --git a/screen-api/src/main/java/com/moral/api/service/ApproveTableService.java b/screen-api/src/main/java/com/moral/api/service/ApproveTableService.java new file mode 100644 index 0000000..df2c464 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/service/ApproveTableService.java @@ -0,0 +1,29 @@ +package com.moral.api.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.moral.api.entity.ApproveTable; +import com.moral.api.pojo.vo.approvetable.ApproveTableListVo; + +import java.util.List; + +/** + * <p> + * ��������� ��������� + * </p> + * deyt template generate + * @author JI + * @since 2023-09-25 + */ +public interface ApproveTableService extends IService<ApproveTable> { + + + /** + * ������ + * @param approveTable + * @return + */ + boolean saveResult(ApproveTable approveTable); + + List<ApproveTableListVo> listAll(int relationId,int fileModule); + +} diff --git a/screen-api/src/main/java/com/moral/api/service/FileTableService.java b/screen-api/src/main/java/com/moral/api/service/FileTableService.java new file mode 100644 index 0000000..b63cec4 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/service/FileTableService.java @@ -0,0 +1,33 @@ +package com.moral.api.service; + +import com.moral.api.entity.FileTable; +import com.baomidou.mybatisplus.extension.service.IService; +import com.moral.api.pojo.vo.file.FileVo; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * <p> + * ��������� ��������� + * </p> + * + * @author moral + * @since 2023-09-21 + */ +public interface FileTableService extends IService<FileTable> { + + FileVo upload(MultipartFile file, Integer sysCode); + + List<FileVo> upload(List<MultipartFile>files,Integer sysCode); + + void preview(Integer id, HttpServletRequest request, HttpServletResponse response); + + void coverPreview(Integer id, HttpServletRequest request, HttpServletResponse response); + + void upDateResult(List<FileVo> list,int relationId,int fileModule); + + List<FileVo> list(int relationId,int fileModule); +} diff --git a/screen-api/src/main/java/com/moral/api/service/ResponsibilityUnitService.java b/screen-api/src/main/java/com/moral/api/service/ResponsibilityUnitService.java new file mode 100644 index 0000000..9c525f4 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/service/ResponsibilityUnitService.java @@ -0,0 +1,27 @@ +package com.moral.api.service; + +import java.util.List; +import java.util.Map; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.moral.api.entity.ResponsibilityUnit; + +public interface ResponsibilityUnitService extends IService<ResponsibilityUnit> { + + /** + * ������������������������������������ + * @param code + * @return + */ + List<ResponsibilityUnit> selectUnit(Integer code); + + /** + * ������������������������������������������ + * @param code + * @return + */ + ResponsibilityUnit selectAreaUnit(Integer code); + + + +} \ No newline at end of file diff --git a/screen-api/src/main/java/com/moral/api/service/impl/AllocationExtensionServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/AllocationExtensionServiceImpl.java new file mode 100644 index 0000000..a2259b6 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/service/impl/AllocationExtensionServiceImpl.java @@ -0,0 +1,93 @@ +package com.moral.api.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.api.entity.Allocation; +import com.moral.api.entity.AllocationExtension; +import com.moral.api.exception.BusinessException; +import com.moral.api.mapper.AllocationExtensionMapper; +import com.moral.api.pojo.enums.AllocationExtensionApproveEnum; +import com.moral.api.pojo.enums.FileTableEnum; +import com.moral.api.pojo.ext.allocation.AllocationExt; +import com.moral.api.pojo.ext.allocationextension.AllocationExtensionExt; +import com.moral.api.pojo.ext.allocationextension.AllocationExtensionPageExt; +import com.moral.api.pojo.query.allocationextension.AllocationExtensionAddCond; +import com.moral.api.pojo.query.allocationextension.AllocationExtensionPageCond; +import com.moral.api.service.AllocationExtensionService; +import com.moral.api.service.AllocationService; +import com.moral.api.service.FileTableService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * <p> + * ��������������� ��������������� + * </p> + * deyt template generate + * @author JI + * @since 2023-09-25 + */ +@Service +public class AllocationExtensionServiceImpl extends ServiceImpl<AllocationExtensionMapper, AllocationExtension> implements AllocationExtensionService { + + private final AllocationService allocationService; + private final FileTableService fileTableService; + + public AllocationExtensionServiceImpl(AllocationService allocationService, FileTableService fileTableService) { + this.allocationService = allocationService; + this.fileTableService = fileTableService; + } + + + @Override + public AllocationExtensionExt extOne(Integer id) { + AllocationExtensionExt extensionExt = this.baseMapper.extOne(id); + AllocationExt extOne = allocationService.oneAllocation(extensionExt.getAllocationId()); + extensionExt.setAllocationNum(extOne.getAllocationNum()) + .setEscalationTime(extOne.getEscalationTime()) + .setPollutePosition(extOne.getPollutePosition()) + .setUnitId(extOne.getUnitId()) + .setPolluteType(extOne.getPolluteType()) + .setChangeType(extOne.getChangeType()) + .setChangeDay(extOne.getChangeDay()) + .setEscalationName(extOne.getEscalationName()) + .setInvestigationType(extOne.getInvestigationType()) + .setProblemDescribe(extOne.getProblemDescribe()) + .setEscalationUnitId(extOne.getEscalationUnitId()); + extensionExt.setFileBaseList(fileTableService.list(extensionExt.getAllocationId(), FileTableEnum.ALLOCATION_FOUNDATION.value)); + extensionExt.setFileList(fileTableService.list(id, FileTableEnum.ALLOCATION_EXTENSION.value)); + return extensionExt; + } + + + + @Override + public Page<AllocationExtensionPageExt> extPage(AllocationExtensionPageCond allocationExtensionPageCond) { + return this.baseMapper.extPage(allocationExtensionPageCond.getPage().convertPage(), allocationExtensionPageCond); + } + + @Override + public boolean save(AllocationExtensionAddCond allocationExtensionAddCond) { + return this.save(allocationExtensionAddCond.convert()); + } + + @Override + @Transactional + public boolean check(Integer id, Integer state) { + AllocationExtensionExt extensionExt = this.baseMapper.extOne(id); + if(!AllocationExtensionApproveEnum.APPLYING.value.equals(extensionExt.getState())){ + throw new BusinessException("������������������������������"); + } + AllocationExtension allocationExtension = new AllocationExtension(); + allocationExtension.setId(id); + allocationExtension.setState(state); + this.baseMapper.updateById(allocationExtension); + if(AllocationExtensionApproveEnum.PASS.value.equals(state)){ + Allocation allocation = new Allocation(); + allocation.setAllocationId(extensionExt.getAllocationId()); + allocation.setChangeDay(extensionExt.getChangeDay()+extensionExt.getExtensionNum()); + allocationService.updateById(allocation); + } + return true; + } +} diff --git a/screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java new file mode 100644 index 0000000..35a76ce --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java @@ -0,0 +1,579 @@ +package com.moral.api.service.impl; + +import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.moral.api.config.Interceptor.UserHelper; +import com.moral.api.entity.*; +import com.moral.api.exception.BusinessException; +import com.moral.api.pojo.bean.BaseInvalidEntity; +import com.moral.api.pojo.enums.*; +import com.moral.api.pojo.ext.allocation.AllocationExt; +import com.moral.api.pojo.ext.allocation.AllocationListExt; +import com.moral.api.pojo.ext.allocation.AllocationPageExt; +import com.moral.api.pojo.query.PageCond; +import com.moral.api.pojo.query.allocation.*; +import com.moral.api.pojo.query.allocationextension.AllocationExtensionAddCond; +import com.moral.api.pojo.vo.approvetable.ApproveTableListVo; +import com.moral.api.pojo.vo.user.QxUser; +import com.moral.api.service.AllocationExtensionService; +import com.moral.api.service.ApproveTableService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.ObjectUtils; + +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; +import java.util.*; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.api.entity.Allocation; +import com.moral.api.entity.ApproveTable; +import com.moral.api.entity.ResponsibilityUnit; +import com.moral.api.entity.SysArea; +import com.moral.api.entity.SysDictData; +import com.moral.api.entity.SysDictType; +import com.moral.api.mapper.AllocationMapper; +import com.moral.api.mapper.ResponsibilityUnitMapper; +import com.moral.api.mapper.SysDictDataMapper; +import com.moral.api.mapper.SysDictTypeMapper; +import com.moral.api.pojo.dto.allocation.AllocationUnitDto; +import com.moral.api.pojo.dto.allocation.AllocationUnitViewDto; +import com.moral.api.pojo.enums.AllocationApproveEnum; +import com.moral.api.pojo.vo.file.FileVo; +import com.moral.api.service.AllocationService; +import com.moral.api.service.FileTableService; +import com.moral.api.service.SysAreaService; +import com.moral.api.service.SysDictDataService; +import com.moral.constant.Constants; +import com.moral.constant.RedisConstants; +import com.moral.util.DateUtils; +import com.moral.util.TokenUtils; + + +@Service +@Slf4j +public class AllocationServiceImpl extends ServiceImpl<AllocationMapper, Allocation> implements AllocationService { + + @Autowired + private SysDictTypeMapper sysDictTypeMapper; + @Autowired + private SysDictDataMapper sysDictDataMapper; + @Autowired + private ResponsibilityUnitMapper responsibilityUnitMapper; + @Autowired + private RedisTemplate redisTemplate; + @Autowired + private AllocationMapper allocationMapper; + @Autowired + private SysAreaService sysAreaService; + @Autowired + private ApproveTableService approveTableService; + @Autowired + private FileTableService fileTableService; + @Autowired + private AllocationExtensionService allocationExtensionService; + + /** + * ������������������������������������ + * @param dictType + * @return + */ + @Override + public List<Map<String, Object>> sysDictData(String dictType) { + QueryWrapper<SysDictType> typeQueryWrapper = new QueryWrapper<>(); + typeQueryWrapper.select("id").eq("name", dictType); + SysDictType sysDictType = sysDictTypeMapper.selectOne(typeQueryWrapper); + QueryWrapper<SysDictData> dataQueryWrapper = new QueryWrapper<>(); + dataQueryWrapper.select("dataKey", "dataValue").eq("dict_type_id", sysDictType.getId()).eq("is_delete", Constants.NOT_DELETE); + return sysDictDataMapper.selectMaps(dataQueryWrapper); + } + + /** + * ������������������ + * @return + */ + @Override + public List<ResponsibilityUnit> seleteUnit() { + QueryWrapper<ResponsibilityUnit> wrapper = new QueryWrapper<>(); + wrapper.select("unit_name","unit_id"); + wrapper.eq("is_del",Constants.NOT_DELETE); + wrapper.eq("state",0); + wrapper.eq("is_invalid",0); + //������������������ + Map<String, Object> userInfo = (Map<String, Object>) TokenUtils.getUserInfo(); + Object code = userInfo.get("code"); + if (!ObjectUtils.isEmpty(code)){ + wrapper.eq("area_code",code); + } + List<ResponsibilityUnit> responsibilityUnits = responsibilityUnitMapper.selectList(wrapper); + return responsibilityUnits; + } + + + /** + * ��������������� + * @param allocationCond + * @return + */ + @Override + @Transactional + public Integer insertAllocation(AllocationAddCond allocationCond) { + Allocation allocation = allocationCond.convert(); + allocation.setEscalationType(AllocationEscalationTypeEnum.SELF.getValue()); + String dateString = DateUtils.dateToDateString(new Date(), DateUtils.yyyyMMdd_EN); + Object o = redisTemplate.opsForValue().get(RedisConstants.JBD_DATA); + int i; + if (ObjectUtils.isEmpty(o)){ + i = 1; + }else { + i = Integer.parseInt(o.toString()) + 1; + } + //������ + String allocationNum = "JBD-" + dateString + String.format("%04d", i); + allocation.setAllocationNum(allocationNum); + if(Objects.nonNull(allocationCond.getEscalationUnitId())&&allocationCond.getEscalationUnitId().toString().length()==6) { + allocation.setEscalationType(AllocationEscalationTypeEnum.CHECK.getValue()); + } + if(AllocationApproveEnum.NEW_BUILT.value.equals(allocationCond.getState())) { + allocation.setState(AllocationApproveEnum.UNDER_RECTIFICATION.value); + } + //������������������ + allocationMapper.insert(allocation); + redisTemplate.opsForValue().set(RedisConstants.JBD_DATA,i); + if(AllocationApproveEnum.NEW_BUILT.value.equals(allocationCond.getState())) { + //������������������ + ApproveTable approveTable = new ApproveTable(); + approveTable.setRelationId(allocation.getAllocationId()); + approveTable.setState(AllocationApproveEnum.NEW_BUILT.value); + approveTable.setApproveModule(FileTableEnum.ALLOCATION_FOUNDATION.value); + approveTable.setStateName(AllocationApproveEnum.NEW_BUILT.name); + approveTableService.saveResult(approveTable); + } + fileTableService.upDateResult(allocationCond.getFileBaseList(),allocation.getAllocationId(), FileTableEnum.ALLOCATION_FOUNDATION.value); + return allocation.getAllocationId(); + } + + /** + * ������������ + * @param id + * @return + */ + @Override + public AllocationUnitDto check(Integer id) { + AllocationUnitDto allocationUnitDto = new AllocationUnitDto(); + Allocation allocation = allocationMapper.selectById(id); + BeanUtils.copyProperties(allocation,allocationUnitDto); + ResponsibilityUnit responsibilityUnit = responsibilityUnitMapper.selectById(allocation.getUnitId()); + allocationUnitDto.setUnitName(responsibilityUnit.getUnitName()); + allocationUnitDto.setEscalationUnitName(responsibilityUnit.getUnitName()); + Map<String, List<SysDictData>> map = (Map<String, List<SysDictData>>) redisTemplate.opsForValue().get(RedisConstants.DICT_DATA_KEY); + List<SysDictData> contaminate = map.get("contaminate"); + for (SysDictData sysDictData : contaminate) { + if (sysDictData.getDataKey().equals(allocation.getPolluteType().toString())){ + allocationUnitDto.setPolluteTypeName(sysDictData.getDataValue()); + break; + } + } + allocationUnitDto.setChangeTypeName(allocation.getChangeType()==0?"������������":"������������"); + allocationUnitDto.setInvestigationTypeName(allocation.getChangeType()==0?"������":"���������"); + //������������ + return allocationUnitDto; + } + + /** + * ��������������� + * @param allocationUpdateCond + */ + @Override + @Transactional + public void updateAll(AllocationUpdateCond allocationUpdateCond) { + AllocationExt allocationExt = oneAllocation(allocationUpdateCond.getAllocationId()); + if(!AllocationApproveEnum.DRAFT.value.equals(allocationExt.getState())) { + throw new BusinessException("���������������������������������������"); + } + //������������������ + Allocation allocation = allocationUpdateCond.convert(); + if(Objects.nonNull(allocationUpdateCond.getEscalationUnitId())&&allocationUpdateCond.getEscalationUnitId().toString().length()==6) { + allocation.setEscalationType(AllocationEscalationTypeEnum.CHECK.getValue()); + } + if(AllocationApproveEnum.NEW_BUILT.value.equals(allocationUpdateCond.getState())) { + //������������������ + ApproveTable approveTable = new ApproveTable(); + approveTable.setRelationId(allocation.getAllocationId()); + approveTable.setState(AllocationApproveEnum.NEW_BUILT.value); + approveTable.setApproveModule(FileTableEnum.ALLOCATION_FOUNDATION.value); + approveTable.setStateName(AllocationApproveEnum.NEW_BUILT.name); + approveTableService.saveResult(approveTable); + } + fileTableService.upDateResult(allocationUpdateCond.getFileBaseList(),allocation.getAllocationId(), FileTableEnum.ALLOCATION_FOUNDATION.value); + allocationMapper.updateById(allocation); + } + + + /** + * ������������������ + * @param map + * @return + */ + @Override + public List<Allocation> selectAll(Map<String, Object> map) { + + Object unitId = map.get("unitId"); + Object state = map.get("state"); + Object polluteType = map.get("polluteType"); + Object investigationType = map.get("investigationType"); + Object changeType = map.get("changeType"); + Object escalationTime = map.get("escalationTime"); + Object isInvalid = map.get("isInvalid"); +// int page = Integer.parseInt(map.get("page").toString()); +// int size = Integer.parseInt(map.get("size").toString()); + QueryWrapper<Allocation> wrapper = new QueryWrapper<>(); + + //������������ + if (!ObjectUtils.isEmpty(unitId)){ + wrapper.eq("unit_id",Integer.parseInt(unitId.toString())); + } + //������������ + if (!ObjectUtils.isEmpty(state)){ + wrapper.eq("state",Integer.parseInt(state.toString())); + } + //������������ + if (!ObjectUtils.isEmpty(polluteType)){ + wrapper.eq("pollute_type",Integer.parseInt(polluteType.toString())); + } + //������������ + if (!ObjectUtils.isEmpty(investigationType)){ + wrapper.eq("investigation_type",Integer.parseInt(investigationType.toString())); + } + //������������ + if (!ObjectUtils.isEmpty(changeType)){ + wrapper.eq("change_type",Integer.parseInt(changeType.toString())); + } + //������������ + if (!ObjectUtils.isEmpty(isInvalid)){ + wrapper.eq("is_invalid",Integer.parseInt(isInvalid.toString())); + } + if (!ObjectUtils.isEmpty(escalationTime)){ +// wrapper.eq("is_invalid",Integer.parseInt(isInvalid.toString())); + } + List<Allocation> allocations = allocationMapper.selectList(wrapper); + ArrayList<AllocationUnitDto> rsList = new ArrayList<>(); + for (Allocation allocation : allocations) { + AllocationUnitDto allocationUnitDto = new AllocationUnitDto(); + BeanUtils.copyProperties(allocation,allocationUnitDto); + allocation.getEscalationTime(); + Date dateOfDay = DateUtils.getDateOfDay(allocation.getEscalationTime(), allocation.getChangeDay()); + Date date = new Date(); + //��������������������������� + int days = DateUtils.getDays(dateOfDay, date); + allocationUnitDto.setChangeDay(days); + rsList.add(allocationUnitDto); + } + return null; + } + + + /** + * ������������ + * @param map + * @return + */ + @Override + public Map<String, Object> selectUnitView(Map<String, Object> map) { + QueryWrapper<Allocation> wrapper = new QueryWrapper<>(); + //������������������ +// Map<String, Object> userInfo = (Map<String, Object>) TokenUtils.getUserInfo(); +// Object unitId = userInfo.get("unitId"); + + Integer unitId= 17; + if (!ObjectUtils.isEmpty(unitId)){ + ResponsibilityUnit responsibilityUnit1 = responsibilityUnitMapper.selectById(unitId); + Integer areaCode = responsibilityUnit1.getAreaCode(); + if (areaCode<999999){ + QueryWrapper<ResponsibilityUnit> wrapper1 = new QueryWrapper<>(); + wrapper1.eq("parent_code",areaCode); + List<ResponsibilityUnit> responsibilityUnits = responsibilityUnitMapper.selectList(wrapper1); + if (ObjectUtils.isEmpty(responsibilityUnits)){ + return null; + } + Map<Integer, List<ResponsibilityUnit>> collect = responsibilityUnits.stream().collect(Collectors.groupingBy(o -> o.getUnitId())); + List<Integer> collect1 = collect.keySet().stream().collect(Collectors.toList()); + wrapper.in("unit_id",collect1); + }else { + wrapper.eq("unit_id",unitId); + } + } + + HashMap<String, Object> rsMap = new HashMap<>(); + HashMap<String, Object> polluteMap = new HashMap<>(); + ArrayList<AllocationUnitViewDto> allocationUnitViewDtos = new ArrayList<>(); + + Object number1 = map.get("number"); + String startTime=null; + String endTime=null; + if (!ObjectUtils.isEmpty(map.get("startTime")) || !ObjectUtils.isEmpty(map.get("startTime"))){ + startTime = map.get("startTime").toString(); + endTime = map.get("endTime").toString(); + + } + if (!ObjectUtils.isEmpty(number1)){ + String s = number1.toString(); + //��������������� + endTime = DateUtils.getCurDateTime(); + if (s.equals("-1")){ + //��������������� + startTime = DateUtils.getDateStringOfMon(Integer.parseInt(s), DateUtils.yyyy_MM_dd_HH_mm_ss_EN); + } + if (s.equals("-2")){ + //��������������� + startTime = DateUtils.getDateStringOfMon(Integer.parseInt(s), DateUtils.yyyy_MM_dd_HH_mm_ss_EN); + } + if (s.equals("-3")){ + startTime = DateUtils.getDateStringOfMon(Integer.parseInt(s), DateUtils.yyyy_MM_dd_HH_mm_ss_EN); + } + if (s.equals("-6")){ + startTime = DateUtils.getDateStringOfMon(Integer.parseInt(s), DateUtils.yyyy_MM_dd_HH_mm_ss_EN); + } + if (s.equals("-12")){ + startTime = DateUtils.getDateStringOfMon(Integer.parseInt(s), DateUtils.yyyy_MM_dd_HH_mm_ss_EN); + } + + } + + wrapper.between("escalation_time",startTime,endTime); + wrapper.eq("is_del",0); + wrapper.eq("is_invalid",0); + List<Allocation> allocations = allocationMapper.selectList(wrapper); + if (ObjectUtils.isEmpty(allocations)){ + return null; + } + int complete=0; + int unComplete=0; + for (Allocation allocation : allocations) { + String state = allocation.getState()+""; + if (state.equals("40")||state.equals("50")){ + complete++; + }else if(state.equals("10")||state.equals("20") ||state.equals("30")) { + unComplete++; + } + } + //������������������������ + Map<Integer, List<Allocation>> polluteTypeMap = allocations.stream().collect(Collectors.groupingBy(o -> o.getPolluteType())); + Set<Integer> polluteTypes = polluteTypeMap.keySet(); + for (Integer polluteType : polluteTypes) { + + HashMap<String, Object> typeMap = new HashMap<>(); + List<Allocation> allocations1 = polluteTypeMap.get(polluteType); + QueryWrapper<SysDictData> sysDictDataQueryWrapper = new QueryWrapper<>(); + sysDictDataQueryWrapper.eq("dict_type_id",31); + sysDictDataQueryWrapper.eq("dataKey",polluteType); + SysDictData sysDictData = sysDictDataMapper.selectOne(sysDictDataQueryWrapper); + typeMap.put("name",sysDictData.getDataValue()); + typeMap.put("value",allocations1.size()); + polluteMap.put("polluteType",typeMap); + } + //������������������������ + Map<Integer, List<Allocation>> unitMap = allocations.stream().collect(Collectors.groupingBy(o -> o.getUnitId())); + Set<Integer> unitList = unitMap.keySet(); + //������������ + int overdue=0; + for (Integer integer : unitList) { + //������������ + ResponsibilityUnit responsibilityUnit = responsibilityUnitMapper.selectById(integer); + + SysArea areaByCode = sysAreaService.getAreaByCode(responsibilityUnit.getAreaCode()); + + AllocationUnitViewDto allocationUnitViewDto = new AllocationUnitViewDto(); + List<Allocation> allocations1 = unitMap.get(integer); + //������ + int marks=0; + //������ + int deduction=0; + int number=0; + for (Allocation allocation : allocations1) { + + Date dateOfDay = DateUtils.getDateOfDay(allocation.getEscalationTime(), allocation.getChangeDay()); + Date date = new Date(); + String state = allocation.getState()+""; + boolean timeBefor = DateUtils.isTimeBefor(date, dateOfDay); + if (timeBefor && !state.equals("40") && !state.equals("50")){ + //������������ + overdue++; + } + if (state.equals("40")||state.equals("50")){ + if (allocation.getCheckScore()>0){ + marks = marks + allocation.getCheckScore(); + }else { + deduction = deduction + allocation.getCheckScore(); + } + number++; + } + } + int total = allocations1.size(); + allocationUnitViewDto.setDeduction(deduction); + allocationUnitViewDto.setMarks(marks); + allocationUnitViewDto.setTotal(total); + allocationUnitViewDto.setTotalPoints(marks+deduction); + allocationUnitViewDto.setNumber(number); + String rate = (number * 100 /total)+"%"; + allocationUnitViewDto.setRate(rate); + allocationUnitViewDto.setUnNumber(total-number); + allocationUnitViewDto.setUnitName(areaByCode.getAreaName()); + allocationUnitViewDtos.add(allocationUnitViewDto); + } + rsMap.put("unitView",allocationUnitViewDtos); + rsMap.put("total",allocations.size()); + rsMap.put("complete",complete); + rsMap.put("unComplete",unComplete); + rsMap.put("overdue",overdue); + rsMap.put("polluteType",polluteMap); + return rsMap; + } + + + /** + * ������ + * @param map + * @return + */ + @Override + public List<Map<String, Object>> unitExel(Map<String, Object> map) { + return null; + } + + @Override + public Page<AllocationPageExt> extPage(AllocationPageCond allocationPageCond) { + return this.baseMapper.extPage(allocationPageCond.getPage().convertPage(), allocationPageCond); + } + + @Override + public AllocationExt extOne(Integer id) { + AllocationExt allocationExt = oneAllocation(id); + allocationExt.setFileBaseList(fileTableService.list(id,FileTableEnum.ALLOCATION_FOUNDATION.value)); + allocationExt.setFileChangeList(fileTableService.list(id,FileTableEnum.ALLOCATION_RECTIFICATION.value)); + allocationExt.setFileApproveList(fileTableService.list(id,FileTableEnum.ALLOCATION_APPROVE.value)); + allocationExt.setApproveList(approveTableService.listAll(id, FileTableEnum.ALLOCATION_FOUNDATION.value)); + return allocationExt; + } + + @Override + public AllocationExt oneAllocation(Integer id){ + return this.baseMapper.extOne(id); + } + + @Override + @Transactional + public void changeAllocation(AllocationChangeCond changeCond) { + AllocationExt allocationExt = oneAllocation(changeCond.getAllocationId()); + if(!AllocationApproveEnum.UNDER_RECTIFICATION.value.equals(allocationExt.getState())) { + throw new BusinessException("������������������������������������"); + } + Allocation allocation = new Allocation(); + allocation.setAllocationId(changeCond.getAllocationId()); + allocation.setIsChange(changeCond.getIsChange()); + allocation.setChangeName(changeCond.getChangeName()); + allocation.setChangeDescribe(changeCond.getChangeDescribe()); + allocation.setState(changeCond.getState()); + allocation.setChangeTime(new Date()); + this.updateById(allocation); + //������������������ + ApproveTable approveTable = new ApproveTable(); + approveTable.setRelationId(allocation.getAllocationId()); + approveTable.setState(AllocationApproveEnum.UNDER_RECTIFICATION.value); + approveTable.setStateName(AllocationApproveEnum.UNDER_RECTIFICATION.name); + approveTable.setApproveModule(FileTableEnum.ALLOCATION_FOUNDATION.value); + approveTableService.saveResult(approveTable); + fileTableService.upDateResult(changeCond.getFileChangeList(),allocation.getAllocationId(), FileTableEnum.ALLOCATION_FOUNDATION.value); + } + + @Override + @Transactional + public void checkAllocation(AllocationCheckCond checkCond) { + AllocationExt allocationExt = oneAllocation(checkCond.getAllocationId()); + if(!AllocationApproveEnum.IN_APPROVAL.value.equals(allocationExt.getState())) { + throw new BusinessException("������������������������������������������"); + } + QxUser qxUser = UserHelper.getCurrentUser(); + Allocation allocation = new Allocation(); + allocation.setCheckScore(checkCond.getCheckScore()); + allocation.setCheckDescribe(checkCond.getCheckDescribe()); + allocation.setCheckName(qxUser.getUserName()); + allocation.setCheckTime(new Date()); + allocation.setState(checkCond.getState()); + this.updateById(allocation); + //������������������ + ApproveTable approveTable = new ApproveTable(); + approveTable.setRelationId(allocation.getAllocationId()); + if(AllocationApproveEnum.PASS.value.equals(checkCond.getState())){ + approveTable.setState(AllocationApproveEnum.PASS.value); + approveTable.setStateName(AllocationApproveEnum.PASS.name); + }else { + approveTable.setState(AllocationApproveEnum.REFUSE.value); + approveTable.setStateName(AllocationApproveEnum.REFUSE.name); + } + approveTable.setApproveModule(FileTableEnum.ALLOCATION_FOUNDATION.value); + approveTableService.saveResult(approveTable); + fileTableService.upDateResult(checkCond.getFileApproveList(),checkCond.getAllocationId(), FileTableEnum.ALLOCATION_FOUNDATION.value); + } + + @Override + @Transactional + public boolean removeById(Integer id) { + AllocationExt allocationExt = oneAllocation(id); + if(!AllocationApproveEnum.DRAFT.value.equals(allocationExt.getState())) { + throw new BusinessException("������������������������������������"); + } + this.baseMapper.deleteById(id); + return true; + } + + @Override + @Transactional + public boolean invalidResult(Integer id,String invalidReason) { + AllocationExt allocationExt = oneAllocation(id); + if( AllocationApproveEnum.IN_APPROVAL.value >= allocationExt.getState() ) { + throw new BusinessException("���������������������������"); + } + LambdaUpdateChainWrapper<Allocation> wrapper =lambdaUpdate(); + wrapper.eq(Allocation::getAllocationId,id).set(Allocation::getInvalidReason,invalidReason).set(BaseInvalidEntity::getIsInvalid, YesOrNo.YES.value); + return wrapper.update(); + } + + @Override + public List<AllocationListExt> extList(AllocationListCond allocationListCond) { + return null; + } + + @Override + @Transactional + public boolean applyFor(AllocationExtensionAddCond allocationExtensionAddCond) { + AllocationExt allocationExt = oneAllocation(allocationExtensionAddCond.getAllocationId()); + boolean type = false; + if( !AllocationApproveEnum.UNDER_RECTIFICATION.value.equals(allocationExt.getState())) { + type = true; + } + if(!ChangeEnum.DEADLINE.value.equals(allocationExt.getChangeType())){ + type = true; + } + if(type){ + throw new BusinessException("���������������������������������������������������������������������������"); + } + AllocationExtension allocationExtension = allocationExtensionAddCond.convert(); + allocationExtension.setState(AllocationExtensionApproveEnum.APPLYING.value); + allocationExtensionService.save(allocationExtension); + fileTableService.upDateResult(allocationExtensionAddCond.getFileList(),allocationExtension.getId(), FileTableEnum.ALLOCATION_EXTENSION.value); + return true; + } +} diff --git a/screen-api/src/main/java/com/moral/api/service/impl/ApproveTableServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/ApproveTableServiceImpl.java new file mode 100644 index 0000000..a232bcf --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/service/impl/ApproveTableServiceImpl.java @@ -0,0 +1,50 @@ +package com.moral.api.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.api.entity.ApproveTable; +import com.moral.api.entity.FileTable; +import com.moral.api.mapper.ApproveTableMapper; +import com.moral.api.pojo.enums.YesOrNo; +import com.moral.api.pojo.vo.approvetable.ApproveTableListVo; +import com.moral.api.pojo.vo.file.FileVo; +import com.moral.api.service.ApproveTableService; +import com.moral.api.utils.BeanConverts; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; + +/** + * <p> + * ��������� ��������������� + * </p> + * deyt template generate + * + * @author JI + * @since 2023-09-25 + */ +@Service +public class ApproveTableServiceImpl extends ServiceImpl<ApproveTableMapper, ApproveTable> implements ApproveTableService { + + + @Override + @Transactional + public boolean saveResult(ApproveTable approveTable) { + return this.save(approveTable); + } + + @Override + public List<ApproveTableListVo> listAll(int relationId,int fileModule) { + List<ApproveTableListVo> list = new ArrayList<>(); + List<ApproveTable> existsList = this.lambdaQuery().eq(ApproveTable::getRelationId, relationId) + .eq(ApproveTable::getApproveModule, fileModule) + .eq(ApproveTable::getIsDel, YesOrNo.NO.value).orderByAsc(ApproveTable::getCreateTime).list(); + + existsList.forEach(it->{ + ApproveTableListVo listVo = BeanConverts.convert(it,ApproveTableListVo.class); + list.add(listVo); + }); + return list; + } +} diff --git a/screen-api/src/main/java/com/moral/api/service/impl/FileTableServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/FileTableServiceImpl.java new file mode 100644 index 0000000..1fdde7a --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/service/impl/FileTableServiceImpl.java @@ -0,0 +1,238 @@ +package com.moral.api.service.impl; + +import com.moral.api.config.Interceptor.UserHelper; +import com.moral.api.entity.FileTable; +import com.moral.api.exception.BusinessException; +import com.moral.api.mapper.FileTableMapper; +import com.moral.api.pojo.enums.FileType; +import com.moral.api.pojo.enums.YesOrNo; +import com.moral.api.pojo.vo.file.FileVo; +import com.moral.api.pojo.vo.user.QxUser; +import com.moral.api.service.FileTableService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.api.utils.FileTypeUtils; +import com.moral.api.utils.StringUtils; +import com.moral.util.DateUtils; +import lombok.extern.slf4j.Slf4j; +import net.coobird.thumbnailator.Thumbnails; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.net.URLEncoder; +import java.util.*; +import java.util.stream.Collectors; + +/** + * <p> + * ��������� ��������������� + * </p> + * + * @author moral + * @since 2023-09-21 + */ +@Service +@Slf4j +public class FileTableServiceImpl extends ServiceImpl<FileTableMapper, FileTable> implements FileTableService { + @Value("${file.path}") + private String basePath; + @Override + public FileVo upload(MultipartFile file, Integer sysCode) { + String originalFilename = file.getOriginalFilename().replaceAll(StringUtils.SPACE, StringUtils.EMPTY).toLowerCase(); + String suffix = originalFilename.substring(originalFilename.lastIndexOf(StringUtils.DOT)); + FileType fileType = FileTypeUtils.getFileType(suffix.toLowerCase()); + // ������������������������ ������������ + ������������ + ������ + String filePath = getFilePath(sysCode.toString()); + // ������������ + String targetFolder = basePath.replaceAll(StringUtils.BACKSLASH.concat(StringUtils.BACKSLASH), StringUtils.SLASH).concat(StringUtils.SLASH).concat(filePath); + //������uuid ������������������������������������ + String storageFileName = UUID.randomUUID() + originalFilename.substring(originalFilename.lastIndexOf(StringUtils.DOT)); + storageFile(file, storageFileName, targetFolder); + + // ������������������ + QxUser user = UserHelper.getCurrentUser(); + FileTable sysFile = new FileTable(); + sysFile.setFileName(originalFilename).setFileType(fileType.getValue()).setFileSize((int) file.getSize()).setFileAddress(filePath.concat(storageFileName)) + .setFileModule(sysCode).setCreateTime(new Date()); + if (Objects.nonNull(user)) { + sysFile.setCreateId(user.getUserId()).setCreateName(user.getUserName()); + } + save(sysFile); + return new FileVo().setFileId(sysFile.getFileId()).setFileName(originalFilename).setFileType(fileType.getValue()); + } + + @Override + public List<FileVo> upload(List<MultipartFile> files, Integer sysCode) { + List<FileVo> fileList = new LinkedList<>(); + for (MultipartFile file : files) { + fileList.add(upload(file, sysCode)); + } + return fileList; + } + + @Override + public void preview(Integer id, HttpServletRequest request, HttpServletResponse response) { + FileTable sysFile = getById(id); + File file = new File(handleFileRealPath(sysFile.getFileAddress())); + String suffix = file.getName().substring(file.getName().lastIndexOf(StringUtils.DOT)); + if (FileTypeUtils.SUFFIX_MP4.equals(suffix)) { + videoPreview(file, request, response); + } else { + try (OutputStream out = response.getOutputStream(); InputStream in = new FileInputStream(file)) { + response.setContentType(FileTypeUtils.convertHeaderType(suffix)); + response.setHeader("Content-Disposition", "inline; filename=" + URLEncoder.encode(sysFile.getFileName(), "UTF-8")); + int len; + // ��������������������� + byte[] buffer = new byte[1024]; + while ((len = in.read(buffer)) > 0) { + out.write(buffer, 0, len); + } + } catch (Exception e) { + log.error("������������������!!! e={}", e.getMessage()); + } + } + } + + private String getFilePath(String sysCode) { + return sysCode.concat(StringUtils.SLASH).concat(StringUtils.SLASH).concat(DateUtils.dateToDateString(new Date(),DateUtils.yyyyMMdd_EN)).concat(StringUtils.SLASH); + } + + public void storageFile(MultipartFile file, String originalFilename, String targetFolder) { + File f = new File(targetFolder, originalFilename); + try { + // ������������ + if (!f.getParentFile().exists()) { + if (!f.getParentFile().mkdirs()) { + log.error("error:������������������! dir={}", f.getAbsolutePath()); + } + } + file.transferTo(f); + } catch (IOException e) { + log.error("error:������������������!!!e={}", e.getMessage()); + throw new BusinessException("������������������������������!"); + } + } + private String handleFileRealPath(String path) { + return basePath.replaceAll(StringUtils.BACKSLASH.concat(StringUtils.BACKSLASH), StringUtils.SLASH).concat(StringUtils.SLASH).concat(path); + } + private void videoPreview(File file, HttpServletRequest request, HttpServletResponse response) { + String suffix = file.getName().substring(file.getName().lastIndexOf(StringUtils.DOT)); + //������������ + response.setContentType(FileTypeUtils.convertHeaderType(suffix)); + response.setHeader("Accept-Ranges", "bytes"); + response.setHeader("ETag", file.getName()); + response.setHeader("Last-Modified", new Date().toString()); + long contentLength = file.length(); + + //��������������������������������������������������������������� + long length = Math.min(contentLength, 1024); + long start = 0, end = 0; + String range = request.getHeader("Range"); + //������������������������content length��������������������������������������� + if (range == null) { + response.setHeader("Content-length", contentLength + ""); + } else { + //������������������������������������������������������������ + response.setStatus(HttpServletResponse.SC_PARTIAL_CONTENT);//206 + + if (range.startsWith("bytes=")) { + String[] values = range.split("=")[1].split("-"); + start = Integer.parseInt(values[0]); + if (values.length > 1) { + end = Integer.parseInt(values[1]); + } + } + //���end,��������������������������� + long maxSize = 1024 * 1024; //1MB + if (end > 0) { + length = end - start + 1; + response.setHeader("Content-length", "" + length); + response.setHeader("Content-Range", "bytes " + start + "-" + end + "/" + contentLength); + } else { + length = Math.min((contentLength - start), maxSize); + response.setHeader("Content-length", "" + length); + response.setHeader("Content-Range", "bytes " + start + "-" + (start + length - 1) + "/" + contentLength); + } + } + try { + FileInputStream fileInputStream = new FileInputStream(file); + OutputStream out = response.getOutputStream(); + //������������������������byte[]��������� + byte[] data = new byte[(int) length]; + fileInputStream.skip(start); + fileInputStream.read(data); + //������������������������������������ + out.write(data); + out.close(); + fileInputStream.close(); + } catch (Exception e) { + log.error("������������������!!! e={}", e.getMessage()); + } + } + @Override + public void coverPreview(Integer id, HttpServletRequest request, HttpServletResponse response) { + FileTable sysFile = getById(id); + + File file = new File(handleFileRealPath(sysFile.getFileAddress())); + String suffix = file.getName().substring(file.getName().lastIndexOf(StringUtils.DOT)); + + try (OutputStream out = response.getOutputStream()) { + response.setContentType(FileTypeUtils.convertHeaderType(suffix)); + response.setHeader("Content-Disposition", "inline; filename=" + URLEncoder.encode(sysFile.getFileName(), "UTF-8")); + Thumbnails.of(file).size(420, 200).toOutputStream(out); + } catch (Exception e) { + log.error("������������������!!! e={}", e.getMessage()); + } + } + + @Override + @Transactional + public void upDateResult(List<FileVo> list,int relationId,int fileModule) { + List<FileTable> existsList = this.lambdaQuery().eq(FileTable::getRelationId, relationId) + .eq(FileTable::getFileModule, fileModule) + .eq(FileTable::getIsDel, YesOrNo.NO.value).list(); + + // ������������ + if (!CollectionUtils.isEmpty(list)) { + List<FileTable> addList = new ArrayList(); + // 2.2.������������������������������ + list.forEach(it -> { + existsList.removeIf(file -> file.getFileId().equals(it.getFileId())); + FileTable file = new FileTable(); + BeanUtils.copyProperties(it,file); + file.setRelationId(relationId); + addList.add(file); + }); + if (!CollectionUtils.isEmpty(addList)) { + // ������ + this.updateBatchById(addList); + } + } + // ������������ + if (!CollectionUtils.isEmpty(existsList)) { + removeByIds(existsList.stream().map(FileTable::getFileId).collect(Collectors.toList())); + } + } + + @Override + public List<FileVo> list(int relationId, int fileModule) { + List<FileVo> list = new ArrayList<>(); + List<FileTable> existsList = this.lambdaQuery().eq(FileTable::getRelationId, relationId) + .eq(FileTable::getFileModule, fileModule) + .eq(FileTable::getIsDel, YesOrNo.NO.value).orderByAsc(FileTable::getCreateTime).list(); + existsList.forEach(it->{ + FileVo fileVo = new FileVo(); + fileVo.setFileId(it.getFileId()); + fileVo.setFileName(it.getFileName()); + fileVo.setFileType(it.getFileType()); + list.add(fileVo); + }); + return list; + } +} diff --git a/screen-api/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java new file mode 100644 index 0000000..c631c98 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java @@ -0,0 +1,53 @@ +package com.moral.api.service.impl; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.api.entity.ResponsibilityUnit; +import com.moral.api.mapper.ResponsibilityUnitMapper; +import com.moral.api.service.ResponsibilityUnitService; + + +@Service +public class ResponsibilityUnitServiceImpl extends ServiceImpl<ResponsibilityUnitMapper, ResponsibilityUnit> implements ResponsibilityUnitService { + + @Autowired + private ResponsibilityUnitMapper responsibilityUnitMapper; + /** + * ������������������������������������ + * + * @param code + * @return + */ + @Override + public List<ResponsibilityUnit> selectUnit(Integer code) { + QueryWrapper<ResponsibilityUnit> wrapper = new QueryWrapper<>(); + wrapper.eq("parent_code",code); + wrapper.eq("is_del",0); + wrapper.eq("state",0); + wrapper.eq("is_invalid",0); + List<ResponsibilityUnit> responsibilityUnits = responsibilityUnitMapper.selectList(wrapper); + return responsibilityUnits; + } + + /** + * ������������������������������������������ + * + * @param code + * @return + */ + @Override + public ResponsibilityUnit selectAreaUnit(Integer code) { + QueryWrapper<ResponsibilityUnit> wrapper = new QueryWrapper<>(); + wrapper.eq("area_code",code); + wrapper.eq("is_del",0); + wrapper.eq("state",0); + wrapper.eq("is_invalid",0); + ResponsibilityUnit responsibilityUnit = responsibilityUnitMapper.selectOne(wrapper); + return responsibilityUnit; + } +} diff --git a/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java index a47ccf5..569562c 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java @@ -30,14 +30,17 @@ import com.moral.api.entity.Group; import com.moral.api.entity.Menu; import com.moral.api.entity.Organization; +import com.moral.api.entity.ResponsibilityUnit; import com.moral.api.entity.User; import com.moral.api.entity.UserGroup; import com.moral.api.entity.UserLog; import com.moral.api.mapper.MenuMapper; +import com.moral.api.mapper.ResponsibilityUnitMapper; import com.moral.api.mapper.UserGroupMapper; import com.moral.api.mapper.UserLogMapper; import com.moral.api.mapper.UserMapper; import com.moral.api.pojo.bo.UserBO; +import com.moral.api.service.ResponsibilityUnitService; import com.moral.api.service.UserService; import com.moral.api.utils.OperationLogUtils; import com.moral.constant.Constants; @@ -76,6 +79,9 @@ @Autowired private OperationLogUtils operationLogUtils; + + @Autowired + private ResponsibilityUnitService responsibilityUnitService; @Value("${AES.KEY}") private String AESKey; @@ -125,6 +131,7 @@ userInfo.put("userName", userBo.getUserName()); userInfo.put("email", userBo.getEmail()); userInfo.put("mobile", userBo.getMobile()); + userInfo.put("unitId",userBo.getUnitId()); userInfo.put("wechat", userBo.getWechat()); userInfo.put("expireTime", DateUtils.dateToDateString(userBo.getExpireTime())); userInfo.put("isAdmin", userBo.getIsAdmin()); @@ -281,6 +288,8 @@ result.put("msg", ResponseCodeEnum.MOBILE_INVALID.getMsg()); return result; } + ResponsibilityUnit responsibilityUnit = responsibilityUnitService.selectAreaUnit(user.getUnitCode()); + user.setUnitId(responsibilityUnit.getUnitId()); //������������ user.setPassword(MD5Utils.saltMD5(password)); Map<String, Object> orgInfo = (Map<String, Object>) currentUserInfo.get("organization"); @@ -400,6 +409,8 @@ String deleteToken = TokenUtils.hget(userId).toString(); TokenUtils.destoryToken(userId, deleteToken); } + ResponsibilityUnit responsibilityUnit = responsibilityUnitService.selectAreaUnit(user.getUnitCode()); + user.setUnitId(responsibilityUnit.getUnitId()); userMapper.updateById(user); //������ diff --git a/screen-api/src/main/java/com/moral/api/utils/FileTypeUtils.java b/screen-api/src/main/java/com/moral/api/utils/FileTypeUtils.java new file mode 100644 index 0000000..7096afb --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/utils/FileTypeUtils.java @@ -0,0 +1,126 @@ +package com.moral.api.utils; + +import com.moral.api.pojo.enums.FileType; + +/** + * @ClassName: FileTypeUtils + * @Description: + * @Author: fan + * @Date: 2021/2/1 13:41 + * @Version: 1.0 + **/ +public class FileTypeUtils { + /** + * ������������ + */ + private static final String SUFFIX_JPE = ".jpe"; + private static final String SUFFIX_JPG = ".jpg"; + private static final String SUFFIX_PNG = ".png"; + private static final String SUFFIX_JPEG = ".jpeg"; + private static final String SUFFIX_BMP = ".bmp"; + private static final String SUFFIX_GIF = ".gif"; + + /** + * word + */ + public static final String SUFFIX_DOC = ".doc"; + public static final String SUFFIX_DOCX = ".docx"; + + /** + * excel + */ + private static final String SUFFIX_XLSX = ".xlsx"; + private static final String SUFFIX_XLS = ".xls"; + + /** + * pdf + */ + public static final String SUFFIX_PDF = ".pdf"; + + /** + * ��������� + */ + private static final String SUFFIX_ZIP = ".zip"; + private static final String SUFFIX_RAR = ".rar"; + private static final String SUFFIX_JAR = ".jar"; + private static final String SUFFIX_GZIP = ".gzip"; + + private static final String SUFFIX_TXT = ".txt"; + + /** + * ppt + */ + public static final String SUFFIX_PPT = ".ppt"; + public static final String SUFFIX_PPTX = ".pptx"; + + + public static final String SUFFIX_MP4 = ".mp4"; + + /** + * @Description ������������������ + * @author fanhq + * @date 2020/4/20 15:35 + * @param suffix + * @return java.lang.Integer 1. ������ * 2. word * 3. excel * 4. pdf * 5. ��������� + */ + public static FileType getFileType(String suffix) { + switch (suffix) { + case SUFFIX_JPE: + case SUFFIX_JPG: + case SUFFIX_PNG: + case SUFFIX_JPEG: + case SUFFIX_BMP: + return FileType.PICTURE; + case SUFFIX_DOC: + case SUFFIX_DOCX: + return FileType.WORD; + case SUFFIX_XLSX: + case SUFFIX_XLS: + return FileType.EXCEL; + case SUFFIX_PDF: + return FileType.PDF; + case SUFFIX_ZIP: + case SUFFIX_RAR: + case SUFFIX_JAR: + return FileType.ZIP; + default: + return FileType.NON; + } + } + + /** + * ��������������������������������������� + * @param type + * @return + */ + public static String convertHeaderType(String type) { + switch (type){ + case SUFFIX_JPE: + case SUFFIX_JPG: + case SUFFIX_JPEG: + return "image/jpeg"; + case SUFFIX_PNG: + return "image/png"; + case SUFFIX_GIF: + return "image/gif"; + case SUFFIX_ZIP: + return "application/zip"; + case SUFFIX_GZIP: + return "application/gzip"; + case SUFFIX_DOC: + case SUFFIX_DOCX: + return "application/msword"; + case SUFFIX_XLSX: + case SUFFIX_XLS: + return "application/x-xls"; + case SUFFIX_PDF: + return "application/pdf"; + case SUFFIX_TXT: + return "text/plain"; + case SUFFIX_MP4: + return "video/mp4"; + default: + return "application/octet-stream"; + } + } +} diff --git a/screen-api/src/main/java/com/moral/api/utils/StringUtils.java b/screen-api/src/main/java/com/moral/api/utils/StringUtils.java new file mode 100644 index 0000000..bd85023 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/utils/StringUtils.java @@ -0,0 +1,1175 @@ +package com.moral.api.utils; + + +import java.io.StringReader; +import java.io.StringWriter; +import java.io.UnsupportedEncodingException; +import java.nio.ByteBuffer; +import java.nio.charset.Charset; +import java.util.Arrays; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/*** + * @Author JI + * @Date 2020/3/27 13:44 + * @Param + * @return + **/ +public class StringUtils extends org.apache.commons.lang3.StringUtils { + + public static final String SPACE = " "; + public static final String DOT = "."; + public static final String PERIOD = "���"; + public static final String SLASH = "/"; + public static final String BACKSLASH = "\\"; + public static final String EMPTY = ""; + public static final String CRLF = "\r\n"; + public static final String NEWLINE = "\n"; + public static final String UNDERLINE = "_"; + public static final String COMMA = ","; + public static final String COMMA_CN = "���"; + public static final String CONNECTION_LINE = "-"; + public static final String SEMICOLON = ";"; + public static final String SEMICOLON_CN = "���"; + + public static final String HTML_NBSP = " "; + public static final String HTML_AMP = "&"; + public static final String HTML_QUOTE = """; + public static final String HTML_LT = "<"; + public static final String HTML_GT = ">"; + public static final String PLACEHOLDER = "%s"; + public static final String FILE_SEPARATOR = System.getProperties().getProperty("file.separator"); + public static final String EMPTY_JSON = "{}"; + + + /*** + * @Author JI + * @Description //������������������������������������ + * @Date 2020/3/27 13:55 + * @Param [str] + * @return boolean + **/ + public static boolean isEmpty(String str) { + return str == null || "".equals(str.trim()) || "null".equals(str.trim()); + } + + public static boolean isBlank(Map param, String str) { + return !param.containsKey(str) || param.get(str) == null || "".equals(param.get(str).toString().trim()) || "null".equals(param.get(str).toString().trim()); + } + + public static boolean isNotBlank(Map param, String str) { + return !isBlank(param, str); + } + + /*** + * @Author JI + * @Description //������������������������������������������ + * @Date 2020/3/27 13:55 + * @Param [str] + * @return boolean + **/ + public static boolean isNotEmpty(String str) { + return !isEmpty(str); + } + + /** + * <p>Checks if a CharSequence is empty (""), null or whitespace only.</p> + * + * <p>Whitespace is defined by {@link Character#isWhitespace(char)}.</p> + * + * <pre> + * StringUtils.isBlank(null) = true + * StringUtils.isBlank("") = true + * StringUtils.isBlank(" ") = true + * StringUtils.isBlank("bob") = false + * StringUtils.isBlank(" bob ") = false + * </pre> + * + * @param cs the CharSequence to check, may be null + * @return {@code true} if the CharSequence is null, empty or whitespace only + * @since 2.0 + * @since 3.0 Changed signature from isBlank(String) to isBlank(CharSequence) + */ + public static boolean isBlank(final CharSequence cs) { + int strLen; + if (cs == null || (strLen = cs.length()) == 0) { + return true; + } + for (int i = 0; i < strLen; i++) { + if (!Character.isWhitespace(cs.charAt(i))) { + return false; + } + } + return true; + } + + /** + * ������������������<code>null</code>������������������������������������������������������������������ + * <p> + * <pre> + * nullToDefault(null, "default") = "default" + * nullToDefault("", "default") = "" + * nullToDefault(" ", "default") = " " + * nullToDefault("bat", "default") = "bat" + * </pre> + * + * @param str ��������������������� + * @param defaultStr ��������������� + * @return ������������������������������������������ + */ + public static String nullToDefault(String str, String defaultStr) { + return (str == null) ? defaultStr : str; + } + + /** + * ������������������������������������������������<code>null</code> + * + * @param str ��������������������� + * @return ��������������������� + */ + public static String emptyToNull(String str) { + return isEmpty(str) ? null : str; + } + + /** + * ������������������������ + * + * @param strs ��������������� + * @return ������������������������ + */ + public static boolean hasEmpty(String... strs) { + for (String str : strs) { + if (isEmpty(str)) { + return true; + } + } + return false; + } + + /** + * ��������������������������� + * + * @param strs ��������������� + * @return ��������������������������� + */ + public static boolean isAllEmpty(String... strs) { + + for (String str : strs) { + if (isNotEmpty(str)) { + return false; + } + } + return true; + } + + /** + * ������������������������������ + * + * @param str ������������������ + * @param prefix ��������������� + * @param isIgnoreCase ��������������������� + * @return ������������������������������ + */ + public static boolean startWith(String str, String prefix, boolean isIgnoreCase) { + if (isIgnoreCase) { + return str.toLowerCase().startsWith(prefix.toLowerCase()); + } else { + return str.startsWith(prefix); + } + } + + /** + * ������������������������������ + * + * @param str ������������������ + * @param suffix ��������������� + * @param isIgnoreCase ��������������������� + * @return ������������������������������ + */ + public static boolean endWith(String str, String suffix, boolean isIgnoreCase) { + if (isIgnoreCase) { + return str.toLowerCase().endsWith(suffix.toLowerCase()); + } else { + return str.endsWith(suffix); + } + } + + /** + * ���������������������������������������������������������������������������<code>null</code>���������true + * + * @param str ������������������ + * @param testStr ��������������������������������� + * @return ������������ + */ + public static boolean containsIgnoreCase(String str, String testStr) { + if (null == str) { + //��������������������������� + return null == testStr; + } + return str.toLowerCase().contains(testStr.toLowerCase()); + } + + /** + * ������set���������<br/> + * ���������name ������ setName + * + * @param fieldName ��������� + * @return setXxx + */ + public static String genSetter(String fieldName) { + return upperFirstAndAddPre(fieldName, "set"); + } + + /** + * ������get��������� + * + * @param fieldName ��������� + * @return getXxx + */ + public static String genGetter(String fieldName) { + return upperFirstAndAddPre(fieldName, "get"); + } + + /** + * ������������������������������������������������������������������������<br/> + * ���������str=setName, preLength=3 -> return name + * + * @param str ��������������������� + * @param preLength ��������������� + * @return ���������������������������������������������null + */ + public static String cutPreAndLowerFirst(String str, int preLength) { + if (str == null) { + return null; + } + if (str.length() > preLength) { + char first = Character.toLowerCase(str.charAt(preLength)); + if (str.length() > preLength + 1) { + return first + str.substring(preLength + 1); + } + return String.valueOf(first); + } + return null; + } + + /** + * ��������������������������������������������������������������� ���������str=name, preString=get -> return getName + * + * @param str ��������������������� + * @param preString ��������������� + * @return ��������������������� + */ + public static String upperFirstAndAddPre(String str, String preString) { + if (str == null || preString == null) { + return null; + } + return preString + capitalize(str); + } + + + /** + * ������������������ + * + * @param str ��������� + * @param prefix ������ + * @return ��������������������������������������� preffix��� ������������������ + */ + public static String removePrefix(String str, String prefix) { + if (isEmpty(str) || isEmpty(prefix)) { + return str; + } + + if (str.startsWith(prefix)) { + return str.substring(prefix.length()); + } + return str; + } + + /** + * ��������������������������������� + * + * @param str ��������� + * @param prefix ������ + * @return ��������������������������������������� prefix��� ������������������ + */ + public static String removePrefixIgnoreCase(String str, String prefix) { + if (isEmpty(str) || isEmpty(prefix)) { + return str; + } + + if (str.toLowerCase().startsWith(prefix.toLowerCase())) { + return str.substring(prefix.length()); + } + return str; + } + + /** + * ������������������ + * + * @param str ��������� + * @param suffix ������ + * @return ��������������������������������������� suffix��� ������������������ + */ + public static String removeSuffix(String str, String suffix) { + if (isEmpty(str) || isEmpty(suffix)) { + return str; + } + + if (str.endsWith(suffix)) { + return str.substring(0, str.length() - suffix.length()); + } + return str; + } + + /** + * ���������������������byte������ + * + * @param str ��������� + * @param charset ������������������<code>null</code>������������������������ + * @return bytes + */ + public static byte[] getBytes(String str, Charset charset) { + if (null == str) { + return null; + } + return null == charset ? str.getBytes() : str.getBytes(charset); + } + + /** + * ��������������������������������� + * + * @param str ��������� + * @param suffix ������ + * @return ��������������������������������������� suffix��� ������������������ + */ + public static String removeSuffixIgnoreCase(String str, String suffix) { + if (isEmpty(str) || isEmpty(suffix)) { + return str; + } + + if (str.toLowerCase().endsWith(suffix.toLowerCase())) { + return str.substring(0, str.length() - suffix.length()); + } + return str; + } + + /** + * ������������������������������prefix��������������������������� prefix + * + * @param str ��������� + * @param prefix ������ + * @return ��������������������� + */ + public static String addPrefixIfNot(String str, String prefix) { + if (isEmpty(str) || isEmpty(prefix)) { + return str; + } + if (!str.startsWith(prefix)) { + str = prefix + str; + } + return str; + } + + /** + * ������������������������������suffix��������������������������� suffix + * + * @param str ��������� + * @param suffix ������ + * @return ��������������������� + */ + public static String addSuffixIfNot(String str, String suffix) { + if (isEmpty(str) || isEmpty(suffix)) { + return str; + } + if (!str.endsWith(suffix)) { + str += suffix; + } + return str; + } + + /** + * ������������������ + * + * @param str ��������������������� + * @return ��������������������� + */ + public static String cleanBlank(String str) { + if (str == null) { + return null; + } + + return str.replaceAll("\\s*", EMPTY); + } + + /** + * ���������������<br> + * from jodd + * + * @param str ��������������������� + * @param delimiter ��������� + * @return ��������� + */ + public static String[] split(String str, String delimiter) { + if (str == null) { + return null; + } + if (str.trim().length() == 0) { + return new String[]{str}; + } + // del length + int dellen = delimiter.length(); + // one more for the last + int maxparts = (str.length() / dellen) + 2; + int[] positions = new int[maxparts]; + + int i, j = 0; + int count = 0; + positions[0] = -dellen; + while ((i = str.indexOf(delimiter, j)) != -1) { + count++; + positions[count] = i; + j = i + dellen; + } + count++; + positions[count] = str.length(); + + String[] result = new String[count]; + + for (i = 0; i < count; i++) { + result[i] = str.substring(positions[i] + dellen, positions[i + 1]); + } + return result; + } + + /** + * ������JDK subString<br> + * index���0������������������������������������-1<br> + * ������from���to��������������������� "" <br> + * ������from���to���������������������length������������������������������������������������������������������from������0���to������length<br> + * ���������������������index���from������to������������from���to + * example: <br> + * abcdefgh 2 3 -> c <br> + * abcdefgh 2 -3 -> cde <br> + * + * @param string String + * @param fromIndex ���������index������������ + * @param toIndex ���������index��������������� + * @return ������ + */ + public static String sub(String string, int fromIndex, int toIndex) { + int len = string.length(); + if (fromIndex < 0) { + fromIndex = len + fromIndex; + if (fromIndex < 0) { + fromIndex = 0; + } + } else if (fromIndex >= len) { + fromIndex = len - 1; + } + if (toIndex < 0) { + toIndex = len + toIndex; + if (toIndex < 0) { + toIndex = len; + } + } else if (toIndex > len) { + toIndex = len; + } + if (toIndex < fromIndex) { + int tmp = fromIndex; + fromIndex = toIndex; + toIndex = tmp; + } + if (fromIndex == toIndex) { + return EMPTY; + } + char[] strArray = string.toCharArray(); + char[] newStrArray = Arrays.copyOfRange(strArray, fromIndex, toIndex); + return new String(newStrArray); + } + + /** + * ��������������� + * + * @param string ��������� + * @param toIndex ��������������������������������� + * @return ��������������������� + */ + public static String subPre(String string, int toIndex) { + return sub(string, 0, toIndex); + } + + /** + * ��������������� + * + * @param string ��������� + * @param fromIndex ��������������������������������� + * @return ��������������������� + */ + public static String subSuf(String string, int fromIndex) { + if (isEmpty(string)) { + return null; + } + return sub(string, fromIndex, string.length()); + } + + /** + * ������������������������������������ + * + * @param str ��������� + * @param prefix ������ + * @param suffix ������ + * @return ������������������������������ + */ + public static boolean isSurround(String str, String prefix, String suffix) { + if (StringUtils.isBlank(str)) { + return false; + } + if (str.length() < (prefix.length() + suffix.length())) { + return false; + } + + return str.startsWith(prefix) && str.endsWith(suffix); + } + +// /** +// * ������������������������������������ +// * +// * @param str ��������� +// * @param prefix ������ +// * @param suffix ������ +// * @return ������������������������������ +// */ +// public static boolean isSurround(String str, char prefix, char suffix) { +// if (StringUtils.isBlank(str)) { +// return false; +// } +// if (str.length() < 2) { +// return false; +// } +// +// return str.charAt(0) == prefix && str.charAt(str.length() - 1) == suffix; +// } + + /** + * ������������������ + * + * @param c ������������������ + * @param count ��������������� + * @return ��������������������� + */ + public static String repeat(char c, int count) { + char[] result = new char[count]; + for (int i = 0; i < count; i++) { + result[i] = c; + } + return new String(result); + } + + /** + * ��������������������� + * + * @param str ������������������ + * @param count ��������������� + * @return ��������������������� + */ + public static String repeat(String str, int count) { + + // ������ + final int len = str.length(); + final long longSize = (long) len * (long) count; + final int size = (int) longSize; + if (size != longSize) { + throw new ArrayIndexOutOfBoundsException("Required String length is too large: " + longSize); + } + + final char[] array = new char[size]; + str.getChars(0, len, array, 0); + int n; + // n <<= 1���������n *2 + for (n = len; n < size - n; n <<= 1) { + System.arraycopy(array, 0, array, n, n); + } + System.arraycopy(array, 0, array, n, size - n); + return new String(array); + } + + /** + * ��������������������������������������������� + * <p> + * <pre> + * equals(null, null) = true + * equals(null, "abc") = false + * equals("abc", null) = false + * equals("abc", "abc") = true + * equals("abc", "ABC") = false + * </pre> + * + * @param str1 ���������������������1 + * @param str2 ���������������������2 + * @return ������������������������������������������<code>null</code>������������<code>true</code> + */ + public static boolean equals(String str1, String str2) { + if (str1 == null) { + return str2 == null; + } + + return str1.equals(str2); + } + + /** + * ������������������������������������������������ + * <p> + * <pre> + * equalsIgnoreCase(null, null) = true + * equalsIgnoreCase(null, "abc") = false + * equalsIgnoreCase("abc", null) = false + * equalsIgnoreCase("abc", "abc") = true + * equalsIgnoreCase("abc", "ABC") = true + * </pre> + * + * @param str1 ���������������������1 + * @param str2 ���������������������2 + * @return ������������������������������������������<code>null</code>������������<code>true</code> + */ + public static boolean equalsIgnoreCase(String str1, String str2) { + if (str1 == null) { + return str2 == null; + } + + return str1.equalsIgnoreCase(str2); + } + + /** + * ���������������, {} ���������������<br> + * ���������format("aaa {} ccc", "bbb") ----> aaa bbb ccc + * + * @param template ������������������������������������ {} ������ + * @param values ��������� + * @return ��������������������� + */ + public static String format(String template, Object... values) { + if (isBlank(template)) { + return template; + } + + final StringBuilder sb = new StringBuilder(); + final int length = template.length(); + + int valueIndex = 0; + char currentChar; + for (int i = 0; i < length; i++) { + if (valueIndex >= values.length) { + sb.append(sub(template, i, length)); + break; + } + + currentChar = template.charAt(i); + if (currentChar == '{') { + final char nextChar = template.charAt(++i); + if (nextChar == '}') { + sb.append(values[valueIndex++]); + } else { + sb.append('{').append(nextChar); + } + } else { + sb.append(currentChar); + } + + } + + return sb.toString(); + } + + /** + * ������������������������ {varName} ������<br> + * map = {a: "aValue", b: "bValue"} + * format("{a} and {b}", map) ----> aValue and bValue + * + * @param template ������������������������������������ {key} ������ + * @param map ������������ + * @return ��������������������� + */ + public static String format(String template, Map<?, ?> map) { + if (null == map || map.isEmpty()) { + return template; + } + + for (Map.Entry<?, ?> entry : map.entrySet()) { + template = template.replace("{" + entry.getKey() + "}", entry.getValue().toString()); + } + return template; + } + + /** + * ��������������� + * + * @param str ��������� + * @param charset ��������������������������������������������������������������������� + * @return ��������������������� + */ + public static byte[] bytes(String str, String charset) { + return bytes(str, isBlank(charset) ? Charset.defaultCharset() : Charset.forName(charset)); + } + + /** + * ��������������� + * + * @param str ��������� + * @param charset ��������������������������������������������������������������������� + * @return ��������������������� + */ + public static byte[] bytes(String str, Charset charset) { + if (str == null) { + return null; + } + + if (null == charset) { + return str.getBytes(); + } + return str.getBytes(charset); + } + + /** + * ���byte��������������������� + * + * @param bytes byte������ + * @param charset ��������� + * @return ��������� + */ + public static String str(byte[] bytes, String charset) { + return str(bytes, isBlank(charset) ? Charset.defaultCharset() : Charset.forName(charset)); + } + + /** + * ��������������� + * + * @param data ��������� + * @param charset ��������������������������������������������������������������������� + * @return ��������������������� + */ + public static String str(byte[] data, Charset charset) { + if (data == null) { + return null; + } + + if (null == charset) { + return new String(data); + } + return new String(data, charset); + } + + /** + * ������������byteBuffer������������������������ + * + * @param data ������ + * @param charset ��������������������������������������������������� + * @return ��������� + */ + public static String str(ByteBuffer data, String charset) { + if (data == null) { + return null; + } + + return str(data, Charset.forName(charset)); + } + + /** + * ������������byteBuffer������������������������ + * + * @param data ������ + * @param charset ��������������������������������������������������� + * @return ��������� + */ + public static String str(ByteBuffer data, Charset charset) { + if (null == charset) { + charset = Charset.defaultCharset(); + } + return charset.decode(data).toString(); + } + + /** + * ������������������byteBuffer + * + * @param str ��������� + * @param charset ������ + * @return byteBuffer + */ + public static ByteBuffer byteBuffer(String str, String charset) { + return ByteBuffer.wrap(StringUtils.bytes(str, charset)); + } + + /** + * ��� conjunction ��������������������������������������������� + * + * @param conjunction ��������� + * @param objs ������ + * @return ��������������������� + */ + public static String join(String conjunction, Object... objs) { + StringBuilder sb = new StringBuilder(); + boolean isFirst = true; + for (Object item : objs) { + if (isFirst) { + isFirst = false; + } else { + sb.append(conjunction); + } + sb.append(item); + } + return sb.toString(); + } + + /** + * ���������������������������������������������������������������������������������������������������������������������������������������</br> + * ���������HelloWorld->hello_world + * + * @param camelCaseStr ��������������������������������������� + * @return ������������������������������������������������ + */ + public static String camelCaseToPath(String camelCaseStr) { + if (camelCaseStr == null) { + return null; + } + + final int length = camelCaseStr.length(); + StringBuilder sb = new StringBuilder(); + char c; + boolean isPreUpperCase = false; + for (int i = 0; i < length; i++) { + c = camelCaseStr.charAt(i); + boolean isNextUpperCase = true; + if (i < (length - 1)) { + isNextUpperCase = Character.isUpperCase(camelCaseStr.charAt(i + 1)); + } + if (Character.isUpperCase(c)) { + if (!isPreUpperCase || !isNextUpperCase) { + if (i > 0) { + sb.append("/"); + } + } + isPreUpperCase = true; + } else { + isPreUpperCase = false; + } + sb.append(Character.toLowerCase(c)); + } + return sb.toString(); + } + + /** + * ���������������������������������������������������������������������������������������������������������������������������������������</br> + * ���������HelloWorld->hello_world + * + * @param camelCaseStr ��������������������������������������� + * @return ������������������������������������������������ + */ + public static String camelCaseToUnderline(String camelCaseStr) { + if (camelCaseStr == null) { + return null; + } + + final int length = camelCaseStr.length(); + StringBuilder sb = new StringBuilder(); + char c; + boolean isPreUpperCase = false; + for (int i = 0; i < length; i++) { + c = camelCaseStr.charAt(i); + boolean isNextUpperCase = true; + if (i < (length - 1)) { + isNextUpperCase = Character.isUpperCase(camelCaseStr.charAt(i + 1)); + } + if (Character.isUpperCase(c)) { + if (!isPreUpperCase || !isNextUpperCase) { + if (i > 0) { + sb.append(UNDERLINE); + } + } + isPreUpperCase = true; + } else { + isPreUpperCase = false; + } + sb.append(Character.toLowerCase(c)); + } + return sb.toString(); + } + + /** + * ���������������������������������������������������������������������������������������������������������������������������������������������������</br> + * ���������hello_world->HelloWorld + * + * @param name ��������������������������������������������������� + * @return ��������������������������������������� + */ + public static String underlineToCamelCase(String name) { + if (name == null) { + return null; + } + if (name.contains(UNDERLINE)) { + name = name.toLowerCase(); + + StringBuilder sb = new StringBuilder(name.length()); + boolean upperCase = false; + for (int i = 0; i < name.length(); i++) { + char c = name.charAt(i); + + if (c == '_') { + upperCase = true; + } else if (upperCase) { + sb.append(Character.toUpperCase(c)); + upperCase = false; + } else { + sb.append(c); + } + } + return sb.toString(); + } else { + return name; + } + } + + /** + * ��������������������� + * + * @param str ��������������������� + * @param prefix ������ + * @param suffix ������ + * @return ��������������������� + */ + public static String wrap(String str, String prefix, String suffix) { + return format("{}{}{}", prefix, str, suffix); + } + + /** + * ������������������������������ + * + * @param str ��������� + * @param prefix ������ + * @param suffix ������ + * @return ��������������� + */ + public static boolean isWrap(String str, String prefix, String suffix) { + return str.startsWith(prefix) && str.endsWith(suffix); + } + + /** + * ��������������������������������������������������������������������������� + * + * @param str ��������� + * @param wrapper ��������������� + * @return ��������������� + */ + public static boolean isWrap(String str, String wrapper) { + return isWrap(str, wrapper, wrapper); + } + + /** + * ��������������������������������������������������������������������������� + * + * @param str ��������� + * @param wrapper ������������ + * @return ��������������� + */ + public static boolean isWrap(String str, char wrapper) { + return isWrap(str, wrapper, wrapper); + } + + /** + * ������������������������������ + * + * @param str ��������� + * @param prefixChar ������ + * @param suffixChar ������ + * @return ��������������� + */ + public static boolean isWrap(String str, char prefixChar, char suffixChar) { + return str.charAt(0) == prefixChar && str.charAt(str.length() - 1) == suffixChar; + } + + /** + * ������StringBuilder������ + * + * @return StringBuilder������ + */ + public static StringBuilder builder() { + return new StringBuilder(); + } + + /** + * ������StringBuilder������ + * + * @return StringBuilder������ + */ + public static StringBuilder builder(int capacity) { + return new StringBuilder(capacity); + } + + /** + * ������StringBuilder������ + * + * @return StringBuilder������ + */ + public static StringBuilder builder(String... strs) { + final StringBuilder sb = new StringBuilder(); + for (String str : strs) { + sb.append(str); + } + return sb; + } + + + public static String concatLikeStart(String value) { + return concatLike(value, 1); + } + + public static String concatLikeEnd(String value) { + return concatLike(value, 2); + } + + public static String concatLikeAll(String value) { + return concatLike(value, -1); + } + + /** + * @param value + * @param type + * @return + */ + public static String concatLike(String value, Integer type) { + if (isEmpty(value)) { + return null; + } + StringBuilder builder = new StringBuilder(value.length() + 3); + switch (type) { + case 1: + builder.append("%").append(value); + break; + case 2: + builder.append(value).append("%"); + break; + case 3: + builder.append(value); + break; + default: + builder.append("%").append(value).append("%"); + } + return builder.toString(); + } + + /** + * ������StringReader + * + * @param str ��������� + * @return StringReader + */ + public static StringReader getReader(String str) { + return new StringReader(str); + } + + /** + * ������StringWriter + * + * @return StringWriter + */ + public static StringWriter getWriter() { + return new StringWriter(); + } + + /** + * ��������������� + * + * @param str ��������� + * @param charset ��������������������������������������������������������������������� + * @return ��������������������� + */ + public static byte[] encode(String str, String charset) { + if (str == null) { + return null; + } + + if (isBlank(charset)) { + return str.getBytes(); + } + try { + return str.getBytes(charset); + } catch (UnsupportedEncodingException e) { + throw new RuntimeException(format("Charset [{}] unsupported!", charset)); + } + } + + /** + * ��������������� + * + * @param data ��������� + * @param charset ��������������������������������������������������������������������� + * @return ��������������������� + */ + public static String decode(byte[] data, String charset) { + if (data == null) { + return null; + } + + if (isBlank(charset)) { + return new String(data); + } + try { + return new String(data, charset); + } catch (UnsupportedEncodingException e) { + throw new RuntimeException(format("Charset [{}] unsupported!", charset)); + } + } + +// /** +// * ������������������ +// */ +// public static String firstCharToUpperCase(String str) { +// char firstChar = str.charAt(0); +// if (firstChar >= 'a' && firstChar <= 'z') { +// char[] arr = str.toCharArray(); +// arr[0] -= ('a' - 'A'); +// return new String(arr); +// } +// return str; +// } + + + /** + * Description:������������������������������������������������������������������������0������������������������������������������������ + * ���������23���������4��������������� => "0023" + * + * @param val ��������� + * @param num ��������������� + * @return java.lang.String + * @author fanhq + * @date 2020/4/17 9:44 + */ + public static String intToStringCode(Integer val, Integer num) { + int i = num - val.toString().length(); + StringBuffer sbf = new StringBuffer(); + for (int k = 0; k < i; k++) { + sbf.append("0"); + } + return sbf.append(val.toString()).toString(); + } + + public static String match(String message, String regex) { + Pattern p = Pattern.compile(regex); + Matcher m = p.matcher(message); + while (m.find()) { + return m.group(); + } + return null; + } + + public static String lpad(Integer length, String data, char text) { + if (data.length() >= length) { + return data; + } + StringBuffer stringBuffer = new StringBuffer(); + for (int i = data.length(); i < length; i++) { + stringBuffer.append(text); + } + return stringBuffer.append(data).toString(); + } +} diff --git a/screen-api/src/main/resources/application-dev.yml b/screen-api/src/main/resources/application-dev.yml index 0dc6f52..71d7a11 100644 --- a/screen-api/src/main/resources/application-dev.yml +++ b/screen-api/src/main/resources/application-dev.yml @@ -115,10 +115,12 @@ - /webjars/** - /verificationCode/** - /static/** - + - /file/preview/** AES: KEY: AD42F7787B035B7580000EF93BE20BAD TOKEN: KEY: - foh3wi2ooghiCh5 \ No newline at end of file + foh3wi2ooghiCh5 +file: + path: /data/upload/ \ No newline at end of file diff --git a/screen-api/src/main/resources/application-local.yml b/screen-api/src/main/resources/application-local.yml index 2091214..fb92f00 100644 --- a/screen-api/src/main/resources/application-local.yml +++ b/screen-api/src/main/resources/application-local.yml @@ -17,9 +17,9 @@ application: name: screen-api redis: - host: r-bp1xdlb9wfc6zt0msppd.redis.rds.aliyuncs.com + host: r-bp1xdlb9wfc6zt0msppd13.redis.rds.aliyuncs.com port: 6379 - password: moral_123456 + password: QX_moral_2023 timeout: 30000 jedis: pool: @@ -34,9 +34,9 @@ max-wait: 30000 min-idle: 32 tokenRedis: - host: r-bp1xdlb9wfc6zt0msppd.redis.rds.aliyuncs.com + host: r-bp1xdlb9wfc6zt0msppd13.redis.rds.aliyuncs.com port: 6379 - password: moral_123456 + password: QX_moral_2023 timeout: 30000 database: 15 pool: @@ -53,9 +53,9 @@ filters: stat type: com.alibaba.druid.pool.DruidDataSource max-wait: 60000 - url: jdbc:mysql://rm-bp1pr3rx9m3fnkwsk8o2.mysql.rds.aliyuncs.com:3306/moral?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai + url: jdbc:mysql://rm-bp1pr3rx9m3fnkwsk8o13.mysql.rds.aliyuncs.com:3306/moral?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai username: moral_qx - password: moral_qx_12345 + password: QX_moral_2023 test-on-borrow: false sql-script-encoding: utf-8 pool-prepared-statements: true diff --git a/screen-api/src/main/resources/application-qa.yml b/screen-api/src/main/resources/application-qa.yml index ab0f0ae..6777caa 100644 --- a/screen-api/src/main/resources/application-qa.yml +++ b/screen-api/src/main/resources/application-qa.yml @@ -128,7 +128,8 @@ - /webjars/** - /verificationCode/** - /static/** - - /file/** + - /doc.html + - /file/preview/** AES: @@ -138,3 +139,5 @@ KEY: foh3wi2ooghiCh5 +file: + path: E:\upload \ No newline at end of file diff --git a/screen-api/src/main/resources/mapper/AllocationExtensionMapper.xml b/screen-api/src/main/resources/mapper/AllocationExtensionMapper.xml new file mode 100644 index 0000000..ee948ea --- /dev/null +++ b/screen-api/src/main/resources/mapper/AllocationExtensionMapper.xml @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.moral.api.mapper.AllocationExtensionMapper"> + + <!-- ������������������������ deyt template generate --> + <resultMap id="BaseResultMap" type="com.moral.api.entity.AllocationExtension"> + <id column="id" property="id" /> + <result column="allocation_id" property="allocationId" /> + <result column="extension_num" property="extensionNum" /> + <result column="remake" property="remake" /> + <result column="state" property="state" /> + <result column="invalid_reason" property="invalidReason" /> + </resultMap> + + <!-- ��������������������� --> + <sql id="Base_Column_List"> + id, allocation_id, extension_num, remake, state, is_del, is_invalid, invalid_reason, create_id, create_name, create_time, update_id, update_name, update_time + </sql> + + <!-- ��������������������� --> + <sql id="AllocationExtension_Column_List"> + allocationextension.id, allocationextension.allocation_id, allocationextension.extension_num, allocationextension.remake, allocationextension.state, allocationextension.is_del, allocationextension.is_invalid, allocationextension.invalid_reason, allocationextension.create_id, allocationextension.create_name, allocationextension.create_time, allocationextension.update_id, allocationextension.update_name, allocationextension.update_time + </sql> + + + <select id="extOne" resultType="com.moral.api.pojo.ext.allocationextension.AllocationExtensionExt"> + SELECT + <include refid="AllocationExtension_Column_List"/> + FROM allocation_extension allocationextension + where allocationextension.id = #{id} and allocationextension.is_del = 0 + </select> + + + <select id="extPage" resultType="com.moral.api.pojo.ext.allocationextension.AllocationExtensionPageExt"> + SELECT + <include refid="AllocationExtension_Column_List"/>, + t1.allocation_num,t1.escalation_time,t1.unit_id,t1.pollute_type,t1.change_type,t1.change_day,t1.escalation_unit_id,t1.escalation_name + FROM allocation_extension allocationextension + left join allocation t1 on allocationextension.allocation_id = t1.allocation_id + <where> + 1 = 1 and allocationextension.is_del = 0 + + <if test="allocation.unitId != null and allocation.unitId != 0"> + and t1.unit_id = #{allocation.unitId} + </if> + <if test="allocation.polluteType != null and allocation.polluteType != 0"> + and t1.pollute_type = #{allocation.polluteType} + </if> + <if test="allocation.state != null and allocation.state != 0"> + and t1.state = #{allocation.state} + </if> + <if test="allocation.investigationType != null and allocation.investigationType != 0"> + and t1.investigation_type = #{allocation.investigationType} + </if> + <if test="allocation.changeType != null and allocation.changeType != 0"> + and t1.change_type = #{allocation.changeType} + </if> + + <if test="allocation.startTime != null and allocation.startTime != '' "> + and date(t1.escalation_time) <![CDATA[>=]]> #{allocation.startTime} + </if> + <if test="allocation.endTime != null and allocation.endTime !='' "> + and date(t1.escalation_time) <![CDATA[<=]]> #{allocation.endTime} + </if> + + </where> + order by t1.escalation_time desc,t1.allocation_id desc + </select> +</mapper> diff --git a/screen-api/src/main/resources/mapper/AllocationMapper.xml b/screen-api/src/main/resources/mapper/AllocationMapper.xml new file mode 100644 index 0000000..32c9a32 --- /dev/null +++ b/screen-api/src/main/resources/mapper/AllocationMapper.xml @@ -0,0 +1,96 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.moral.api.mapper.AllocationMapper"> + + <!-- ������������������������ deyt template generate --> + <resultMap id="BaseResultMap" type="com.moral.api.entity.Allocation"> + <id column="allocation_id" property="allocationId" /> + <result column="allocation_num" property="allocationNum" /> + <result column="escalation_type" property="escalationType" /> + <result column="escalation_time" property="escalationTime" /> + <result column="pollute_position" property="pollutePosition" /> + <result column="unit_id" property="unitId" /> + <result column="pollute_type" property="polluteType" /> + <result column="change_type" property="changeType" /> + <result column="change_day" property="changeDay" /> + <result column="escalation_unit_id" property="escalationUnitId" /> + <result column="escalation_name" property="escalationName" /> + <result column="investigation_type" property="investigationType" /> + <result column="problem_describe" property="problemDescribe" /> + <result column="is_change" property="isChange" /> + <result column="change_describe" property="changeDescribe" /> + <result column="change_name" property="changeName" /> + <result column="change_time" property="changeTime" /> + <result column="check_score" property="checkScore" /> + <result column="check_describe" property="checkDescribe" /> + <result column="check_name" property="checkName" /> + <result column="check_time" property="checkTime" /> + <result column="state" property="state" /> + <result column="invalid_reason" property="invalidReason" /> + </resultMap> + + <!-- ��������������������� --> + <sql id="Base_Column_List"> + allocation_id, allocation_num, escalation_type, escalation_time, pollute_position, unit_id, pollute_type, change_type, change_day, escalation_unit_id, escalation_name, investigation_type, problem_describe, is_change, change_describe, change_name, change_time, check_score, check_describe, check_name, check_time, state, is_del, is_invalid, invalid_reason, create_id, create_name, create_time, update_id, update_name, update_time + </sql> + + <!-- ��������������������� --> + <sql id="Allocation_Column_List"> + allocation.allocation_id, allocation.allocation_num, allocation.escalation_type, allocation.escalation_time, allocation.pollute_position, allocation.unit_id, allocation.pollute_type, allocation.change_type, allocation.change_day, allocation.escalation_unit_id, allocation.escalation_name, allocation.investigation_type, allocation.problem_describe, allocation.is_change, allocation.change_describe, allocation.change_name, allocation.change_time, allocation.check_score, allocation.check_describe, allocation.check_name, allocation.check_time, allocation.state, allocation.is_del, allocation.is_invalid, allocation.invalid_reason, allocation.create_id, allocation.create_name, allocation.create_time, allocation.update_id, allocation.update_name, allocation.update_time + </sql> + + + <select id="extOne" resultType="com.moral.api.pojo.ext.allocation.AllocationExt"> + SELECT + <include refid="Allocation_Column_List"/> + FROM allocation allocation + where allocation.allocation_id = #{id} and allocation.is_del = 0 + </select> + + <select id="extList" resultType="com.moral.api.pojo.ext.allocation.AllocationListExt"> + SELECT + <include refid="Allocation_Column_List"/> + FROM allocation allocation + <where> + 1 = 1 + <if test="allocation.id != null and allocation.id != 0"> + and allocation.allocation_id = #{allocation.id} and allocation.is_del = 0 + </if> + </where> + </select> + + <select id="extPage" resultType="com.moral.api.pojo.ext.allocation.AllocationPageExt"> + SELECT + <include refid="Allocation_Column_List"/>,t1.id as applyState + FROM allocation allocation + left join allocation_extension t1 on t1.allocation_id = allocation.allocation_id and t1.is_del =0 and t1.is_invalid = 0 and t1.state = 30 + <where> + 1 = 1 and allocation.is_del = 0 + <if test="allocation.unitId != null and allocation.unitId != 0"> + and allocation.unit_id = #{allocation.unitId} + </if> + <if test="allocation.polluteType != null and allocation.polluteType != 0"> + and allocation.pollute_type = #{allocation.polluteType} + </if> + <if test="allocation.state != null and allocation.state != 0"> + and allocation.state = #{allocation.state} + </if> + <if test="allocation.investigationType != null and allocation.investigationType != 0"> + and allocation.investigation_type = #{allocation.investigationType} + </if> + <if test="allocation.changeType != null and allocation.changeType != 0"> + and allocation.change_type = #{allocation.changeType} + </if> + <if test="allocation.isInvalid != null and allocation.isInvalid != 0"> + and allocation.is_invalid = #{allocation.isInvalid} + </if> + <if test="allocation.startTime != null and allocation.startTime != '' "> + and date(allocation.escalation_time) <![CDATA[>=]]> #{allocation.startTime} + </if> + <if test="allocation.endTime != null and allocation.endTime !='' "> + and date(allocation.escalation_time) <![CDATA[<=]]> #{allocation.endTime} + </if> + </where> + order by allocation.escalation_time desc,allocation.allocation_id desc + </select> +</mapper> diff --git a/screen-api/src/main/resources/mapper/FileTableMapper.xml b/screen-api/src/main/resources/mapper/FileTableMapper.xml new file mode 100644 index 0000000..3f57c01 --- /dev/null +++ b/screen-api/src/main/resources/mapper/FileTableMapper.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.moral.api.mapper.FileTableMapper"> + + <!-- ������������������������ --> + <resultMap id="BaseResultMap" type="com.moral.api.entity.FileTable"> + <id column="file_id" property="fileId" /> + <result column="file_module" property="fileModule" /> + <result column="relation_id" property="relationId" /> + <result column="file_name" property="fileName" /> + <result column="file_type" property="fileType" /> + <result column="file_address" property="fileAddress" /> + <result column="file_size" property="fileSize" /> + <result column="is_del" property="isDel" /> + <result column="create_id" property="createId" /> + <result column="create_name" property="createName" /> + <result column="create_time" property="createTime" /> + </resultMap> + +</mapper> \ No newline at end of file diff --git a/screen-common/src/main/java/com/moral/constant/Constants.java b/screen-common/src/main/java/com/moral/constant/Constants.java index 37f82fb..ad910db 100644 --- a/screen-common/src/main/java/com/moral/constant/Constants.java +++ b/screen-common/src/main/java/com/moral/constant/Constants.java @@ -114,6 +114,13 @@ * */ public static final String SYSTEM_DICT_TYPE_PURCHASER = "purchaser"; + /** + * ������������������ + */ + public static final String WU_RAN_LEI_XING = "contaminate"; + + + /* * ������������������������ * */ diff --git a/screen-common/src/main/java/com/moral/constant/PageInfo.java b/screen-common/src/main/java/com/moral/constant/PageInfo.java new file mode 100644 index 0000000..5f38829 --- /dev/null +++ b/screen-common/src/main/java/com/moral/constant/PageInfo.java @@ -0,0 +1,27 @@ +package com.moral.constant; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * + */ +@Data +@Accessors(chain = true) +@ApiModel(value = "������������", description = "������������") +public class PageInfo { + + @ApiModelProperty(value = "������������") + private long pageSize; + + @ApiModelProperty(value = "������������") + private long currentPage; + + @ApiModelProperty(value = "���������") + private long totalPage; + + @ApiModelProperty(value = "������������") + private long totalNum; +} diff --git a/screen-common/src/main/java/com/moral/constant/PageResult.java b/screen-common/src/main/java/com/moral/constant/PageResult.java new file mode 100644 index 0000000..28d95f4 --- /dev/null +++ b/screen-common/src/main/java/com/moral/constant/PageResult.java @@ -0,0 +1,34 @@ +package com.moral.constant; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.List; + +/** + * + */ +@Data +@Accessors(chain = true) +@ApiModel(value = "������������", description = "������������") +public class PageResult<T> { + + @ApiModelProperty(value = "������������") + private PageInfo page; + + @ApiModelProperty(value = "������") + private List<T> list; + + public PageResult() { + } + + public PageResult(Page page) { + this.page = new PageInfo().setCurrentPage(page.getCurrent()) + .setPageSize(page.getSize()) + .setTotalPage(page.getPages()) + .setTotalNum(page.getTotal()); + } +} diff --git a/screen-common/src/main/java/com/moral/constant/RedisConstants.java b/screen-common/src/main/java/com/moral/constant/RedisConstants.java index 7a08d47..d8a4884 100644 --- a/screen-common/src/main/java/com/moral/constant/RedisConstants.java +++ b/screen-common/src/main/java/com/moral/constant/RedisConstants.java @@ -108,4 +108,7 @@ public static final String DATE_COORDINATE="data_coordinate"; + + + public static final String JBD_DATA="allocation_num"; } diff --git a/screen-manage/src/main/java/com/moral/api/controller/ResponsibilityUnitController.java b/screen-manage/src/main/java/com/moral/api/controller/ResponsibilityUnitController.java new file mode 100644 index 0000000..5fc0a4e --- /dev/null +++ b/screen-manage/src/main/java/com/moral/api/controller/ResponsibilityUnitController.java @@ -0,0 +1,118 @@ +package com.moral.api.controller; + + +import io.swagger.annotations.Api; +import org.apache.ibatis.annotations.Update; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.ObjectUtils; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.moral.api.entity.ResponsibilityUnit; +import com.moral.api.service.ResponsibilityUnitService; +import com.moral.constant.ResponseCodeEnum; +import com.moral.constant.ResultMessage; +import com.moral.util.WebUtils; + +@Api(tags = "������������") +@RestController +@RequestMapping("unit") +public class ResponsibilityUnitController { + + + @Autowired + private ResponsibilityUnitService responsibilityUnitService; + + + /** + * ������������ + * @param responsibilityUnit + * @return + */ + @PostMapping("insert") + public ResultMessage insert(@RequestBody ResponsibilityUnit responsibilityUnit){ + + Integer insert = responsibilityUnitService.insert(responsibilityUnit); + if (insert<0){ + return ResultMessage.fail(ResponseCodeEnum.ROLE_IS_EXIST.getCode(),ResponseCodeEnum.ROLE_IS_EXIST.getMsg()); + } + return ResultMessage.ok(); + } + + /** + * ������������ + * @param request + * @return + */ + @GetMapping("selectUint") + public ResultMessage selectUint(HttpServletRequest request){ + Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); + + Map<String, Object> map = responsibilityUnitService.selectUnit(parameters); + + return ResultMessage.ok(map); + } + + /** + * ������������ + * @param responsibilityUnit + * @return + */ + @PostMapping("update") + public ResultMessage updateUnit(@RequestBody ResponsibilityUnit responsibilityUnit){ + Integer integer = responsibilityUnitService.updateUnit(responsibilityUnit); + if (integer<0){ + return ResultMessage.fail(ResponseCodeEnum.ROLE_IS_EXIST.getCode(),ResponseCodeEnum.ROLE_IS_EXIST.getMsg()); + } + return ResultMessage.ok(); + } + + /** + * ������������ + * @param unitId + * @return + */ + @GetMapping("state") + public ResultMessage state(Integer unitId){ + if (ObjectUtils.isEmpty(unitId)){ + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); + } + responsibilityUnitService.updateState(unitId); + return ResultMessage.ok(); + } + + /** + * ������������ + * @param unitId + * @param code + * @return + */ + @GetMapping("invalid") + public ResultMessage invalid(Integer unitId,String code){ + if (ObjectUtils.isEmpty(unitId)){ + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); + } + responsibilityUnitService.updateInvalid(unitId,code); + return ResultMessage.ok(); + } + + /** + * ������������ + * @param unitId + * @return + */ + @GetMapping("delete") + public ResultMessage delete(Integer unitId){ + responsibilityUnitService.removeById(unitId); + return ResultMessage.ok(); + } +} diff --git a/screen-manage/src/main/java/com/moral/api/controller/SystemController.java b/screen-manage/src/main/java/com/moral/api/controller/SystemController.java index 78b959c..a25c8be 100644 --- a/screen-manage/src/main/java/com/moral/api/controller/SystemController.java +++ b/screen-manage/src/main/java/com/moral/api/controller/SystemController.java @@ -50,6 +50,18 @@ return ResultMessage.ok(sysAreas); } + @GetMapping("area/queryCity") + public ResultMessage queryCity(){ + List<SysArea> sysAreas = sysAreaService.queryCity(); + return ResultMessage.ok(sysAreas); + } + + @GetMapping("area/code") + public ResultMessage queryCode(Integer code){ + List<SysArea> sysAreas = sysAreaService.selectCode(code); + return ResultMessage.ok(sysAreas); + } + /** * @Description: ������������������ * @Param: [form] diff --git a/screen-manage/src/main/java/com/moral/api/entity/ResponsibilityUnit.java b/screen-manage/src/main/java/com/moral/api/entity/ResponsibilityUnit.java new file mode 100644 index 0000000..b2d467c --- /dev/null +++ b/screen-manage/src/main/java/com/moral/api/entity/ResponsibilityUnit.java @@ -0,0 +1,70 @@ +package com.moral.api.entity; + + +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; +import java.util.List; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.fasterxml.jackson.annotation.JsonFormat; + +@Data +@EqualsAndHashCode(callSuper = false) +public class ResponsibilityUnit extends Model<ResponsibilityUnit> { + + + private static final long serialVersionUID = 1L; + + //������������id + @TableId(value = "unit_id", type = IdType.AUTO) + private Integer unitId; + /** + * ������������ + */ + private String unitName; + /** + * ������������ + */ + private Integer areaCode; + /** + * ������������ + */ + private Integer parentCode; + //0��������� 1��������� + private String state; + //0��������� 1��������� + private String isDel; + //0������������ 1������������ + private Integer isInvalid; + //������������ + private String invalidReason; + + private String value; + + private Integer createId; + + private String createName; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + + private Integer updateId; + + private String updateName; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date updateTime; + + @TableField(exist = false) + private String areaName; + + @TableField(exist = false) + private String parentName; + + @TableField(exist = false) + private List<Object> parentCodeList; +} diff --git a/screen-manage/src/main/java/com/moral/api/mapper/ResponsibilityUnitMapper.java b/screen-manage/src/main/java/com/moral/api/mapper/ResponsibilityUnitMapper.java new file mode 100644 index 0000000..424b762 --- /dev/null +++ b/screen-manage/src/main/java/com/moral/api/mapper/ResponsibilityUnitMapper.java @@ -0,0 +1,8 @@ +package com.moral.api.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.moral.api.entity.ResponsibilityUnit; + +public interface ResponsibilityUnitMapper extends BaseMapper<ResponsibilityUnit> { +} diff --git a/screen-manage/src/main/java/com/moral/api/service/ResponsibilityUnitService.java b/screen-manage/src/main/java/com/moral/api/service/ResponsibilityUnitService.java new file mode 100644 index 0000000..d31a5d6 --- /dev/null +++ b/screen-manage/src/main/java/com/moral/api/service/ResponsibilityUnitService.java @@ -0,0 +1,21 @@ +package com.moral.api.service; + +import java.util.List; +import java.util.Map; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.moral.api.entity.ResponsibilityUnit; + +public interface ResponsibilityUnitService extends IService<ResponsibilityUnit> { + + + Integer insert(ResponsibilityUnit responsibilityUnit); + + Map<String, Object> selectUnit(Map<String, Object> parameters); + + Integer updateUnit(ResponsibilityUnit responsibilityUnit); + + void updateState(Integer unitId); + + void updateInvalid(Integer unitId,String code); +} \ No newline at end of file diff --git a/screen-manage/src/main/java/com/moral/api/service/SysAreaService.java b/screen-manage/src/main/java/com/moral/api/service/SysAreaService.java index b561acd..f166197 100644 --- a/screen-manage/src/main/java/com/moral/api/service/SysAreaService.java +++ b/screen-manage/src/main/java/com/moral/api/service/SysAreaService.java @@ -25,4 +25,15 @@ List<SysArea> querySysArea(); + SysArea select(Integer code); + + /** + * ��������������������������������� + * @return + */ + List<SysArea> queryCity(); + + + List<SysArea> selectCode(Integer code); + } diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java new file mode 100644 index 0000000..14fd4c3 --- /dev/null +++ b/screen-manage/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java @@ -0,0 +1,196 @@ +package com.moral.api.service.impl; + + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import java.util.ArrayList; +import java.util.Date; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import javax.servlet.http.HttpServletRequest; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.api.entity.ResponsibilityUnit; +import com.moral.api.entity.SysArea; +import com.moral.api.mapper.ResponsibilityUnitMapper; +import com.moral.api.pojo.redisBean.AccountInfoDTO; +import com.moral.api.service.ResponsibilityUnitService; +import com.moral.api.service.SysAreaService; +import com.moral.constant.Constants; +import com.moral.util.TokenUtils; + +@Service +public class ResponsibilityUnitServiceImpl extends ServiceImpl<ResponsibilityUnitMapper, ResponsibilityUnit> implements ResponsibilityUnitService { + + + @Autowired + private ResponsibilityUnitMapper responsibilityUnitMapper; + @Autowired + private SysAreaService sysAreaService; + + + /** + * ������������ + * @param responsibilityUnit + * @return + */ + @Override + public Integer insert(ResponsibilityUnit responsibilityUnit) { + HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); + String token = request.getHeader("token"); + AccountInfoDTO accountInfoDTO = (AccountInfoDTO) TokenUtils.getUserInfoByToken(token); + QueryWrapper<ResponsibilityUnit> wrapper = new QueryWrapper<>(); + wrapper.eq("unit_name",responsibilityUnit.getUnitName()); + + List<ResponsibilityUnit> units = responsibilityUnitMapper.selectList(wrapper); + if (ObjectUtils.isEmpty(units)){ + responsibilityUnit.setIsDel(Constants.NOT_DELETE); + responsibilityUnit.setCreateTime(new Date()); + responsibilityUnit.setIsInvalid(0); + responsibilityUnit.setCreateId(accountInfoDTO.getAccount().getId()); + responsibilityUnit.setCreateName(accountInfoDTO.getAccount().getUserName()); + responsibilityUnit.setCreateTime(new Date()); + responsibilityUnit.setUpdateId(accountInfoDTO.getAccount().getId()); + responsibilityUnit.setUpdateName(accountInfoDTO.getAccount().getUserName()); + responsibilityUnit.setUpdateTime(new Date()); + responsibilityUnit.setValue(JSONArray.toJSONString(responsibilityUnit.getParentCodeList())); + responsibilityUnitMapper.insert(responsibilityUnit); + return 200; + } + return -1; + } + + /** + * ������������ + * @param parameters + * @return + */ + @Override + public Map<String, Object> selectUnit(Map<String, Object> parameters) { + QueryWrapper<ResponsibilityUnit> wrapper = new QueryWrapper<>(); + wrapper.eq("is_del",Constants.NOT_DELETE); + int page = Integer.parseInt(parameters.get("page").toString()); + int size = Integer.parseInt(parameters.get("size").toString()); + Object parentName1 = parameters.get("parentCode"); + Object areaName1 = parameters.get("areaCode"); + //������������������ + if (!ObjectUtils.isEmpty(parameters.get("name"))){ + wrapper.like("unit_name",parameters.get("name").toString()); + } + //������������������ + if (!ObjectUtils.isEmpty(parentName1)){ + wrapper.eq("parent_code",Integer.parseInt(parentName1.toString())); + } + //������������������ + if (!ObjectUtils.isEmpty(areaName1)){ + wrapper.eq("parent_code",Integer.parseInt(areaName1.toString())); + } + Page<ResponsibilityUnit> pageList = new Page<>(page, size); + Page<ResponsibilityUnit> responsibilityUnitPage = responsibilityUnitMapper.selectPage(pageList, wrapper); + for (ResponsibilityUnit record : responsibilityUnitPage.getRecords()) { + Integer areaCode = record.getAreaCode(); + SysArea sysArea= sysAreaService.select(areaCode); + Integer parentCode = record.getParentCode(); + SysArea parentArea = sysAreaService.select(parentCode); + if (ObjectUtils.isEmpty(sysArea) || ObjectUtils.isEmpty(parentArea)){ + continue; + } + record.setAreaName(sysArea.getAreaName()); + record.setParentName(parentArea.getAreaName()); + record.setParentCodeList(JSONObject.parseObject(record.getValue(),List.class)); + } + Map<String, Object> result = new LinkedHashMap<>(); + result.put("total", pageList.getTotal()); + result.put("totalPage", pageList.getPages()); + result.put("current", pageList.getCurrent()); + result.put("pageSize", pageList.getSize()); + result.put("item", responsibilityUnitPage.getRecords()); +// responsibilityUnitPage.getOrders() + return result; + } + + + /** + * ������������ + * @param responsibilityUnit + * @return + */ + @Override + public Integer updateUnit(ResponsibilityUnit responsibilityUnit) { + QueryWrapper<ResponsibilityUnit> wrapper = new QueryWrapper<>(); + wrapper.eq("unit_name",responsibilityUnit.getUnitName()); + wrapper.eq("area_code",responsibilityUnit.getAreaCode()); + ResponsibilityUnit responsibilityUnit2 = responsibilityUnitMapper.selectOne(wrapper); + if (ObjectUtils.isEmpty(responsibilityUnit2)){ + AccountInfoDTO account = getAccount(); + responsibilityUnit.setUpdateId(account.getAccount().getId()); + responsibilityUnit.setUpdateName(account.getAccount().getUserName()); + responsibilityUnit.setUpdateTime(new Date()); + responsibilityUnit.setValue(JSONArray.toJSONString(responsibilityUnit.getParentCodeList())); +// responsibilityUnit.setParentCodeList(JSONObject.parseObject(responsibilityUnit.getValue(),List.class)); + responsibilityUnitMapper.updateById(responsibilityUnit); + return 200; + } + return -1; + } + + + /** + * ������������ + * + */ + @Override + public void updateState(Integer unitId) { + ResponsibilityUnit responsibilityUnit = responsibilityUnitMapper.selectById(unitId); + responsibilityUnit.setState(Constants.NOT_DELETE); + AccountInfoDTO account = getAccount(); + responsibilityUnit.setUpdateId(account.getAccount().getId()); + responsibilityUnit.setUpdateName(account.getAccount().getUserName()); + responsibilityUnit.setUpdateTime(new Date()); + responsibilityUnitMapper.updateById(responsibilityUnit); + } + + + /** + * ������������ + * @param unitId + * @param code + */ + @Override + public void updateInvalid(Integer unitId, String code) { + ResponsibilityUnit responsibilityUnit = responsibilityUnitMapper.selectById(unitId); + + responsibilityUnit.setIsInvalid(1); + if (!ObjectUtils.isEmpty(code)){ + responsibilityUnit.setInvalidReason(code); + } + AccountInfoDTO account = getAccount(); + responsibilityUnit.setUpdateId(account.getAccount().getId()); + responsibilityUnit.setUpdateName(account.getAccount().getUserName()); + responsibilityUnit.setUpdateTime(new Date()); + responsibilityUnitMapper.updateById(responsibilityUnit); + + } + + + /** + * ������������������ + * @return + */ + private AccountInfoDTO getAccount(){ + HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); + String token = request.getHeader("token"); + AccountInfoDTO accountInfoDTO = (AccountInfoDTO) TokenUtils.getUserInfoByToken(token); + return accountInfoDTO; + } +} diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/SysAreaServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/SysAreaServiceImpl.java index 9e2c03a..434226e 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/SysAreaServiceImpl.java +++ b/screen-manage/src/main/java/com/moral/api/service/impl/SysAreaServiceImpl.java @@ -2,10 +2,13 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.moral.api.entity.SysArea; import com.moral.api.mapper.SysAreaMapper; import com.moral.api.service.SysAreaService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; @@ -26,6 +29,7 @@ * @since 2021-04-07 */ @Service +@Slf4j public class SysAreaServiceImpl extends ServiceImpl<SysAreaMapper, SysArea> implements SysAreaService { @Autowired @@ -43,6 +47,68 @@ return sysAreas; } + @Override + public SysArea select(Integer code) { + QueryWrapper<SysArea> wrapper = new QueryWrapper<>(); + wrapper.eq("area_code",code); + SysArea sysArea = sysAreaMapper.selectOne(wrapper); + return sysArea; + } + + /** + * ��������������������������������� + * + * @return + */ + @Override + public List<SysArea> queryCity() { + //������������������ + List<SysArea> sysAreas = sysAreaMapper.selectList(null); + //������Map key������������ value��������������� ��������������� + Map<Integer, SysArea> areaMap = new HashMap<>(); + for (SysArea sysArea : sysAreas) { + areaMap.put(sysArea.getAreaCode(), sysArea); + sysArea.setChildren(new ArrayList<>());//���������children������ + } + //������������������������������������������������������������������������������������ + int i=0; + for (SysArea sysArea : sysAreas) { + Integer parentCode = sysArea.getParentCode(); + String s = sysArea.getAreaCode().toString(); + if (!parentCode.equals(0)) { + if (s.length()>7){ + continue; + } + SysArea parentArea = areaMap.get(parentCode); + if (ObjectUtils.isEmpty(parentArea)){ + continue; + } + List<SysArea> children = parentArea.getChildren(); + children.add(sysArea); +// parentArea.getChildren().add(sysArea); + } + } + //��������������������������������� + sysAreas.removeIf(new Predicate<SysArea>() { + @Override + public boolean test(SysArea sysArea) { + if (sysArea.getParentCode().equals(0)) + return false; + return true; + } + }); + return sysAreas; + } + + @Override + public List<SysArea> selectCode(Integer code) { + QueryWrapper<SysArea> wrapper = new QueryWrapper<>(); + wrapper.eq("parent_code",code); + List<SysArea> sysAreas = sysAreaMapper.selectList(wrapper); + return sysAreas; + + } + private List<SysArea> querySysAreaFromDB() { //������������������ @@ -58,7 +124,13 @@ Integer parentCode = sysArea.getParentCode(); if (!parentCode.equals(0)) { SysArea parentArea = areaMap.get(parentCode); - parentArea.getChildren().add(sysArea); + if (ObjectUtils.isEmpty(parentArea)){ + continue; + } + List<SysArea> children = parentArea.getChildren(); + children.add(sysArea); +// parentArea.getChildren().add(sysArea); + } } //��������������������������������� -- Gitblit v1.8.0