From a7021fc1febcde2a8cd0fb8c6b2c75bbd877fb57 Mon Sep 17 00:00:00 2001 From: zhangye <654600784@qq.com> Date: Wed, 4 Dec 2019 17:38:27 +0800 Subject: [PATCH] tallV1.0 --- .idea/compiler.xml | 23 + .idea/encodings.xml | 10 + .idea/inspectionProfiles/Project_Default.xml | 36 + .idea/libraries/Maven__antlr_antlr_2_7_7.xml | 13 + .../Maven__aopalliance_aopalliance_1_0.xml | 13 + ...__ch_qos_logback_logback_classic_1_2_3.xml | 13 + ...ven__ch_qos_logback_logback_core_1_2_3.xml | 13 + .../Maven__cn_hutool_hutool_all_4_1_21.xml | 13 + .../Maven__com_alibaba_druid_1_1_10.xml | 13 + .../Maven__com_alibaba_fastjson_1_2_62.xml | 13 + .../Maven__com_fasterxml_classmate_1_4_0.xml | 13 + ...jackson_core_jackson_annotations_2_9_0.xml | 13 + ...terxml_jackson_core_jackson_core_2_9_9.xml | 13 + ..._jackson_core_jackson_databind_2_9_9_3.xml | 13 + ...ataformat_jackson_dataformat_xml_2_9_0.xml | 13 + ...n_datatype_jackson_datatype_jdk8_2_9_9.xml | 13 + ...datatype_jackson_datatype_jsr310_2_9_9.xml | 13 + ...odule_jackson_module_afterburner_2_9_9.xml | 13 + ..._jackson_module_jaxb_annotations_2_9_9.xml | 13 + ...e_jackson_module_parameter_names_2_9_9.xml | 13 + ...fasterxml_woodstox_woodstox_core_5_0_3.xml | 13 + ...ub_andrewoma_dexx_dexx_collections_0_2.xml | 13 + ...com_github_jsqlparser_jsqlparser_0_9_5.xml | 13 + ...com_github_pagehelper_pagehelper_4_1_4.xml | 13 + ...__com_github_qcloudsms_qcloudsms_1_0_5.xml | 13 + ...en__com_github_virtuald_curvesapi_1_04.xml | 13 + ...ithub_vlsi_compactmap_compactmap_1_2_1.xml | 13 + ...google_code_findbugs_annotations_3_0_1.xml | 13 + ..._com_google_code_findbugs_jsr305_3_0_1.xml | 13 + ...Maven__com_google_code_gson_gson_2_8_5.xml | 13 + .../Maven__com_google_guava_guava_20_0.xml | 13 + .../Maven__com_google_inject_guice_4_1_0.xml | 13 + ...n__com_jayway_jsonpath_json_path_2_4_0.xml | 13 + ...m_netflix_archaius_archaius_core_0_7_6.xml | 13 + ...com_netflix_eureka_eureka_client_1_9_3.xml | 13 + ...__com_netflix_eureka_eureka_core_1_9_3.xml | 13 + ...om_netflix_hystrix_hystrix_core_1_5_12.xml | 13 + ...etflix_hystrix_hystrix_javanica_1_5_12.xml | 13 + ...ix_hystrix_metrics_event_stream_1_5_12.xml | 13 + ...x_hystrix_hystrix_serialization_1_5_12.xml | 13 + ...lix_commons_netflix_commons_util_0_3_0.xml | 13 + ...netflix_commons_netflix_eventbus_0_3_0.xml | 13 + ...ix_netflix_commons_netflix_infix_0_3_0.xml | 13 + ...tflix_commons_netflix_statistics_0_1_1.xml | 13 + ...Maven__com_netflix_ribbon_ribbon_2_2_5.xml | 13 + ...__com_netflix_ribbon_ribbon_core_2_2_5.xml | 13 + ...com_netflix_ribbon_ribbon_eureka_2_2_5.xml | 13 + ...netflix_ribbon_ribbon_httpclient_2_2_5.xml | 13 + ...tflix_ribbon_ribbon_loadbalancer_2_2_5.xml | 13 + ..._netflix_ribbon_ribbon_transport_2_2_5.xml | 13 + ...__com_netflix_servo_servo_core_0_12_21.xml | 13 + .../Maven__com_rabbitmq_amqp_client_5_4_3.xml | 13 + ..._contribs_jersey_apache_client4_1_19_1.xml | 13 + ...n__com_sun_jersey_jersey_client_1_19_1.xml | 13 + ...ven__com_sun_jersey_jersey_core_1_19_1.xml | 13 + ...om_thoughtworks_xstream_xstream_1_4_10.xml | 13 + .../Maven__com_zaxxer_HikariCP_3_2_0.xml | 13 + ...mons_beanutils_commons_beanutils_1_9_3.xml | 13 + ...aven__commons_codec_commons_codec_1_11.xml | 13 + ..._collections_commons_collections_3_2_2.xml | 13 + ...onfiguration_commons_configuration_1_8.xml | 13 + ...ns_fileupload_commons_fileupload_1_3_3.xml | 13 + .../Maven__commons_io_commons_io_2_2.xml | 13 + ...ven__commons_jxpath_commons_jxpath_1_3.xml | 13 + .../Maven__commons_lang_commons_lang_2_6.xml | 13 + ...__io_github_openfeign_feign_core_9_7_0.xml | 13 + ...o_github_openfeign_feign_hystrix_9_7_0.xml | 13 + ..._io_github_openfeign_feign_java8_9_7_0.xml | 13 + ..._io_github_openfeign_feign_slf4j_9_7_0.xml | 13 + ...github_openfeign_form_feign_form_3_3_0.xml | 13 + ...openfeign_form_feign_form_spring_3_3_0.xml | 13 + .../Maven__io_jsonwebtoken_jjwt_0_7_0.xml | 13 + ..._io_lettuce_lettuce_core_5_1_8_RELEASE.xml | 13 + ...n__io_micrometer_micrometer_core_1_1_6.xml | 13 + ...en__io_netty_netty_buffer_4_1_39_Final.xml | 13 + ...ven__io_netty_netty_codec_4_1_39_Final.xml | 13 + ...en__io_netty_netty_common_4_1_39_Final.xml | 13 + ...n__io_netty_netty_handler_4_1_39_Final.xml | 13 + ...__io_netty_netty_resolver_4_1_39_Final.xml | 13 + ..._io_netty_netty_transport_4_1_39_Final.xml | 13 + ...ectreactor_reactor_core_3_2_12_RELEASE.xml | 13 + .../Maven__io_reactivex_rxjava_1_3_8.xml | 13 + ...eactivex_rxjava_reactive_streams_1_2_1.xml | 13 + .../Maven__io_reactivex_rxnetty_0_4_9.xml | 13 + ...n__io_reactivex_rxnetty_contexts_0_4_9.xml | 13 + ...aven__io_reactivex_rxnetty_servo_0_4_9.xml | 13 + ...ven__io_springfox_springfox_core_2_9_2.xml | 13 + ...n__io_springfox_springfox_schema_2_9_2.xml | 13 + ...aven__io_springfox_springfox_spi_2_9_2.xml | 13 + ...o_springfox_springfox_spring_web_2_9_2.xml | 13 + ..._io_springfox_springfox_swagger2_2_9_2.xml | 13 + ...ringfox_springfox_swagger_common_2_9_2.xml | 13 + ...o_springfox_springfox_swagger_ui_2_9_2.xml | 13 + ..._io_swagger_swagger_annotations_1_5_20.xml | 13 + ...aven__io_swagger_swagger_models_1_5_20.xml | 13 + .../Maven__io_zipkin_brave_brave_5_4_3.xml | 13 + ...ipkin_brave_brave_context_log4j2_5_4_3.xml | 13 + ...brave_brave_instrumentation_http_5_4_3.xml | 13 + ..._instrumentation_httpasyncclient_5_4_3.xml | 13 + ...brave_instrumentation_httpclient_5_4_3.xml | 13 + ...ve_instrumentation_kafka_clients_5_4_3.xml | 13 + ...ve_brave_instrumentation_servlet_5_4_3.xml | 13 + ...ve_instrumentation_spring_rabbit_5_4_3.xml | 13 + ...brave_instrumentation_spring_web_5_4_3.xml | 13 + ...ve_instrumentation_spring_webmvc_5_4_3.xml | 13 + ...ipkin_reporter2_zipkin_reporter_2_7_10.xml | 13 + ...rter2_zipkin_sender_amqp_client_2_7_10.xml | 13 + ...reporter2_zipkin_sender_kafka11_2_7_10.xml | 13 + ...Maven__io_zipkin_zipkin2_zipkin_2_11_7.xml | 13 + ..._annotation_javax_annotation_api_1_3_2.xml | 13 + .../Maven__javax_inject_javax_inject_1.xml | 13 + ..._javax_servlet_javax_servlet_api_4_0_1.xml | 13 + ..._validation_validation_api_2_0_1_Final.xml | 13 + ...avax_websocket_javax_websocket_api_1_1.xml | 13 + .../Maven__javax_ws_rs_jsr311_api_1_1_1.xml | 13 + ...Maven__javax_xml_stream_stax_api_1_0_2.xml | 13 + .../Maven__joda_time_joda_time_2_10_3.xml | 13 + .idea/libraries/Maven__junit_junit_4_12.xml | 13 + ...ven__mysql_mysql_connector_java_8_0_17.xml | 13 + ...Maven__net_bytebuddy_byte_buddy_1_9_16.xml | 13 + ..._net_bytebuddy_byte_buddy_agent_1_9_16.xml | 13 + .../Maven__net_jcip_jcip_annotations_1_0.xml | 13 + ...Maven__net_minidev_accessors_smart_1_2.xml | 13 + .../Maven__net_minidev_json_smart_2_3.xml | 13 + ...urceforge_htmlcleaner_htmlcleaner_2_22.xml | 13 + .../Maven__org_antlr_antlr_runtime_3_4.xml | 13 + .../Maven__org_antlr_stringtemplate_3_2_1.xml | 13 + ...pache_commons_commons_collections4_4_1.xml | 13 + ...org_apache_commons_commons_lang3_3_8_1.xml | 13 + ...n__org_apache_commons_commons_math_2_2.xml | 13 + ...apache_httpcomponents_httpclient_4_3_1.xml | 13 + ...g_apache_httpcomponents_httpcore_4_3_1.xml | 13 + ...g_apache_httpcomponents_httpmime_4_5_9.xml | 13 + ..._apache_logging_log4j_log4j_api_2_11_2.xml | 13 + ...he_logging_log4j_log4j_to_slf4j_2_11_2.xml | 13 + .../Maven__org_apache_poi_poi_3_17.xml | 13 + .../Maven__org_apache_poi_poi_ooxml_3_17.xml | 13 + ..._org_apache_poi_poi_ooxml_schemas_3_17.xml | 13 + ...en__org_apache_shiro_shiro_cache_1_4_0.xml | 13 + ...g_apache_shiro_shiro_config_core_1_4_0.xml | 13 + ...g_apache_shiro_shiro_config_ogdl_1_4_0.xml | 13 + ...ven__org_apache_shiro_shiro_core_1_4_0.xml | 13 + ...apache_shiro_shiro_crypto_cipher_1_4_0.xml | 13 + ...g_apache_shiro_shiro_crypto_core_1_4_0.xml | 13 + ...g_apache_shiro_shiro_crypto_hash_1_4_0.xml | 13 + ...en__org_apache_shiro_shiro_event_1_4_0.xml | 13 + ...ven__org_apache_shiro_shiro_lang_1_4_0.xml | 13 + ...n__org_apache_shiro_shiro_spring_1_4_0.xml | 13 + ...aven__org_apache_shiro_shiro_web_1_4_0.xml | 13 + ...en__org_apache_xmlbeans_xmlbeans_2_6_0.xml | 13 + .../Maven__org_aspectj_aspectjrt_1_9_4.xml | 13 + ...Maven__org_aspectj_aspectjweaver_1_9_4.xml | 13 + ...Maven__org_assertj_assertj_core_3_11_1.xml | 13 + .../Maven__org_beanshell_bsh_2_0b5.xml | 13 + ...__org_bouncycastle_bcpkix_jdk15on_1_60.xml | 13 + ...__org_bouncycastle_bcprov_jdk15on_1_60.xml | 13 + ...__org_codehaus_jettison_jettison_1_3_7.xml | 13 + ..._org_codehaus_woodstox_stax2_api_3_1_4.xml | 13 + ...ehaus_woodstox_woodstox_core_asl_4_4_1.xml | 13 + ...tty_jetty_annotations_9_4_19_v20190610.xml | 13 + ...se_jetty_jetty_client_9_4_19_v20190610.xml | 13 + ...ty_jetty_continuation_9_4_19_v20190610.xml | 13 + ...ipse_jetty_jetty_http_9_4_19_v20190610.xml | 13 + ...clipse_jetty_jetty_io_9_4_19_v20190610.xml | 13 + ...ipse_jetty_jetty_plus_9_4_19_v20190610.xml | 13 + ..._jetty_jetty_security_9_4_19_v20190610.xml | 13 + ...se_jetty_jetty_server_9_4_19_v20190610.xml | 13 + ...e_jetty_jetty_servlet_9_4_19_v20190610.xml | 13 + ..._jetty_jetty_servlets_9_4_19_v20190610.xml | 13 + ...ipse_jetty_jetty_util_9_4_19_v20190610.xml | 13 + ...se_jetty_jetty_webapp_9_4_19_v20190610.xml | 13 + ...lipse_jetty_jetty_xml_9_4_19_v20190610.xml | 13 + ...websocket_client_impl_9_4_19_v20190610.xml | 13 + ...websocket_server_impl_9_4_19_v20190610.xml | 13 + ...bsocket_websocket_api_9_4_19_v20190610.xml | 13 + ...cket_websocket_client_9_4_19_v20190610.xml | 13 + ...cket_websocket_common_9_4_19_v20190610.xml | 13 + ...cket_websocket_server_9_4_19_v20190610.xml | 13 + ...ket_websocket_servlet_9_4_19_v20190610.xml | 13 + .../Maven__org_hamcrest_hamcrest_core_1_3.xml | 13 + ...ven__org_hamcrest_hamcrest_library_1_3.xml | 13 + ...n__org_hdrhistogram_HdrHistogram_2_1_9.xml | 13 + ...dator_hibernate_validator_6_0_17_Final.xml | 13 + ...boss_logging_jboss_logging_3_3_3_Final.xml | 13 + .../libraries/Maven__org_jdom_jdom2_2_0_6.xml | 13 + .../Maven__org_json_json_20170516.xml | 13 + ...n__org_latencyutils_LatencyUtils_2_0_3.xml | 13 + ...n__org_mapstruct_mapstruct_1_2_0_Final.xml | 13 + ...Maven__org_mockito_mockito_core_2_23_4.xml | 13 + ...n__org_mortbay_jasper_apache_el_8_5_40.xml | 13 + ...generator_mybatis_generator_core_1_3_7.xml | 13 + .../Maven__org_mybatis_mybatis_3_4_0.xml | 13 + ...aven__org_mybatis_mybatis_spring_1_3_0.xml | 13 + ...ybatis_spring_boot_autoconfigure_1_1_1.xml | 13 + ...boot_mybatis_spring_boot_starter_1_1_1.xml | 13 + .../Maven__org_objenesis_objenesis_2_6.xml | 13 + .../Maven__org_ow2_asm_asm_5_0_4.xml | 13 + .../libraries/Maven__org_ow2_asm_asm_7_1.xml | 13 + .../Maven__org_ow2_asm_asm_analysis_7_1.xml | 13 + .../Maven__org_ow2_asm_asm_commons_7_1.xml | 13 + .../Maven__org_ow2_asm_asm_tree_7_1.xml | 13 + ...Maven__org_projectlombok_lombok_1_18_8.xml | 13 + ...reactivestreams_reactive_streams_1_0_3.xml | 13 + ...aven__org_skyscreamer_jsonassert_1_5_0.xml | 13 + .../Maven__org_slf4j_jul_to_slf4j_1_7_28.xml | 13 + .../Maven__org_slf4j_slf4j_api_1_7_28.xml | 13 + ...amework_amqp_spring_amqp_2_1_8_RELEASE.xml | 13 + ...ework_amqp_spring_rabbit_2_1_8_RELEASE.xml | 13 + ...amework_boot_spring_boot_2_1_8_RELEASE.xml | 13 + ...oot_spring_boot_actuator_2_1_8_RELEASE.xml | 13 + ...t_actuator_autoconfigure_2_1_8_RELEASE.xml | 13 + ...pring_boot_autoconfigure_2_1_8_RELEASE.xml | 13 + ..._configuration_processor_2_1_8_RELEASE.xml | 13 + ...oot_spring_boot_devtools_2_1_8_RELEASE.xml | 13 + ...boot_spring_boot_starter_2_1_8_RELEASE.xml | 13 + ...ng_boot_starter_actuator_2_1_8_RELEASE.xml | 13 + ...spring_boot_starter_amqp_2_1_8_RELEASE.xml | 13 + ..._spring_boot_starter_aop_2_1_8_RELEASE.xml | 13 + ..._boot_starter_data_redis_2_1_8_RELEASE.xml | 13 + ...spring_boot_starter_jdbc_2_1_8_RELEASE.xml | 13 + ...pring_boot_starter_jetty_2_1_8_RELEASE.xml | 13 + ...spring_boot_starter_json_2_1_8_RELEASE.xml | 13 + ...ing_boot_starter_logging_2_1_8_RELEASE.xml | 13 + ...spring_boot_starter_test_2_1_8_RELEASE.xml | 13 + ..._spring_boot_starter_web_2_1_8_RELEASE.xml | 13 + ...g_boot_starter_websocket_2_1_8_RELEASE.xml | 13 + ...rk_boot_spring_boot_test_2_1_8_RELEASE.xml | 13 + ..._boot_test_autoconfigure_2_1_8_RELEASE.xml | 13 + ...oud_spring_cloud_commons_2_0_2_RELEASE.xml | 13 + ...oud_spring_cloud_context_2_0_2_RELEASE.xml | 13 + ...g_cloud_netflix_archaius_2_0_2_RELEASE.xml | 13 + ...pring_cloud_netflix_core_2_0_2_RELEASE.xml | 13 + ...ud_netflix_eureka_client_2_0_2_RELEASE.xml | 13 + ...ing_cloud_netflix_ribbon_2_0_2_RELEASE.xml | 13 + ...ing_cloud_openfeign_core_2_0_2_RELEASE.xml | 13 + ...spring_cloud_sleuth_core_2_0_2_RELEASE.xml | 13 + ...ring_cloud_sleuth_zipkin_2_0_2_RELEASE.xml | 13 + ...oud_spring_cloud_starter_2_0_2_RELEASE.xml | 13 + ...starter_netflix_archaius_2_0_2_RELEASE.xml | 13 + ...er_netflix_eureka_client_2_0_2_RELEASE.xml | 13 + ..._starter_netflix_hystrix_2_0_2_RELEASE.xml | 13 + ...d_starter_netflix_ribbon_2_0_2_RELEASE.xml | 13 + ..._cloud_starter_openfeign_2_0_2_RELEASE.xml | 13 + ...ing_cloud_starter_sleuth_2_0_2_RELEASE.xml | 13 + ...ata_spring_data_commons_2_1_10_RELEASE.xml | 13 + ...ta_spring_data_keyvalue_2_1_10_RELEASE.xml | 13 + ..._data_spring_data_redis_2_1_10_RELEASE.xml | 13 + ...lugin_spring_plugin_core_1_2_0_RELEASE.xml | 13 + ...n_spring_plugin_metadata_1_2_0_RELEASE.xml | 13 + ...ework_retry_spring_retry_1_2_4_RELEASE.xml | 13 + ...y_spring_security_crypto_5_1_6_RELEASE.xml | 13 + ...rity_spring_security_rsa_1_0_7_RELEASE.xml | 13 + ...ringframework_spring_aop_5_1_9_RELEASE.xml | 13 + ...ngframework_spring_beans_5_1_9_RELEASE.xml | 13 + ...framework_spring_context_5_1_9_RELEASE.xml | 13 + ...k_spring_context_support_5_1_9_RELEASE.xml | 13 + ...ingframework_spring_core_5_1_9_RELEASE.xml | 13 + ...mework_spring_expression_5_1_9_RELEASE.xml | 13 + ...ringframework_spring_jcl_5_1_9_RELEASE.xml | 13 + ...ingframework_spring_jdbc_5_1_9_RELEASE.xml | 13 + ...amework_spring_messaging_5_1_9_RELEASE.xml | 13 + ...ringframework_spring_oxm_5_1_9_RELEASE.xml | 13 + ...ingframework_spring_test_5_1_9_RELEASE.xml | 13 + ...pringframework_spring_tx_5_1_9_RELEASE.xml | 13 + ...ringframework_spring_web_5_1_9_RELEASE.xml | 13 + ...gframework_spring_webmvc_5_1_9_RELEASE.xml | 13 + ...amework_spring_websocket_5_1_9_RELEASE.xml | 13 + .../Maven__org_xmlunit_xmlunit_core_2_6_3.xml | 13 + .../Maven__org_yaml_snakeyaml_1_23.xml | 13 + .../libraries/Maven__stax_stax_api_1_0_1.xml | 13 + .../Maven__xmlpull_xmlpull_1_1_3_1.xml | 13 + .../libraries/Maven__xpp3_xpp3_min_1_1_4c.xml | 13 + .idea/misc.xml | 13 + .idea/modules.xml | 12 + .idea/vcs.xml | 6 + .idea/workspace.xml | 1122 ++++++ ccsenscloud.iml | 2 - cloudutil/cloudutil.iml | 12 - .../target/classes/application-util-dev.yml | 57 + .../ccsens/cloudutil/bean/QueryParam.class | Bin 0 -> 2329 bytes .../cloudutil/feign/TallFeignClient.class | Bin 0 -> 634 bytes .../feign/TallFeignClientFallBack$1.class | Bin 0 -> 1147 bytes .../feign/TallFeignClientFallBack.class | Bin 0 -> 1600 bytes .../cloudutil/ribbon/RibbonClientConfig.class | Bin 0 -> 611 bytes .../ribbon/RibbonConfiguration.class | Bin 0 -> 663 bytes ht/ht.iml | 12 - .../ccsens/tall/bean/po/ProSubTimeMember.java | 106 + .../tall/bean/po/ProSubTimeMemberExample.java | 681 ++++ .../ccsens/tall/bean/po/ProTaskDetail.java | 595 +-- .../tall/bean/po/ProTaskDetailExample.java | 3560 +++++++++-------- .../com/ccsens/tall/bean/vo/ProjectVo.java | 2 + .../java/com/ccsens/tall/bean/vo/TaskVo.java | 4 +- .../tall/persist/dao/ProSubTimeMemberDao.java | 8 + .../tall/persist/dao/TaskDetailDao.java | 64 +- .../mapper/ProSubTimeMemberMapper.java | 31 + .../com/ccsens/tall/service/ExcelService.java | 1980 ++++----- .../tall/service/IProMemberService.java | 51 +- .../tall/service/IProTaskDetailService.java | 48 +- .../ccsens/tall/service/ProMemberService.java | 371 +- .../ccsens/tall/service/ProRoleService.java | 446 ++- .../tall/service/ProTaskDetailService.java | 1418 ++++--- .../ccsens/tall/service/ProjectService.java | 1169 +++--- .../tall/service/TaskDeliverService.java | 1558 ++++---- .../tall/service/TaskSubTimeService.java | 539 +-- .../main/resources/mapper_dao/ProRoleDao.xml | 256 +- .../resources/mapper_dao/SysProjectDao.xml | 160 +- .../resources/mapper_dao/TaskDetailDao.xml | 502 +-- .../mapper_raw/ProSubTimeMemberMapper.xml | 259 ++ .../mapper_raw/ProTaskDetailMapper.xml | 1069 ++--- tall/tall.iml | 14 +- tall/target/classes/application-common.yml | 30 + tall/target/classes/application-dev.yml | 28 + tall/target/classes/application-test.yml | 26 + tall/target/classes/application.yml | 4 + tall/target/classes/business.yml | 9 + .../com/ccsens/tall/TallApplication.class | Bin 0 -> 1422 bytes .../bean/dto/DeliverDto$CheckDeliver.class | Bin 0 -> 1645 bytes .../bean/dto/DeliverDto$UploadDeliver.class | Bin 0 -> 2377 bytes .../tall/bean/dto/DeliverDto$fileInfo.class | Bin 0 -> 1281 bytes .../com/ccsens/tall/bean/dto/DeliverDto.class | Bin 0 -> 553 bytes .../bean/dto/HardwareDto$HardwareInfo.class | Bin 0 -> 1684 bytes .../ccsens/tall/bean/dto/HardwareDto.class | Bin 0 -> 923 bytes .../dto/MemberRoleDto$ProMemberRoleDto.class | Bin 0 -> 1140 bytes .../tall/bean/dto/MemberRoleDto$RoleId.class | Bin 0 -> 805 bytes .../ccsens/tall/bean/dto/MemberRoleDto.class | Bin 0 -> 828 bytes .../tall/bean/dto/MessageDto$AckMessage.class | Bin 0 -> 1217 bytes .../bean/dto/MessageDto$AuthMessage.class | Bin 0 -> 986 bytes .../bean/dto/MessageDto$HasReadMessage.class | Bin 0 -> 1089 bytes .../bean/dto/MessageDto$NodeMessage.class | Bin 0 -> 1763 bytes .../bean/dto/MessageDto$UserMessage.class | Bin 0 -> 1588 bytes .../com/ccsens/tall/bean/dto/MessageDto.class | Bin 0 -> 707 bytes .../tall/bean/dto/PluginDto$BatchDevice.class | Bin 0 -> 1083 bytes .../bean/dto/PluginDto$BatchSetting.class | Bin 0 -> 1509 bytes .../tall/bean/dto/PluginDto$TaskSetting.class | Bin 0 -> 1286 bytes .../bean/dto/PluginDto$__BatchSetting.class | Bin 0 -> 1513 bytes .../bean/dto/PluginDto$__TaskSetting.class | Bin 0 -> 2350 bytes .../com/ccsens/tall/bean/dto/PluginDto.class | Bin 0 -> 707 bytes .../com/ccsens/tall/bean/dto/ProTaskDto.class | Bin 0 -> 641 bytes .../bean/dto/ProjectDto$ProjectIdDto.class | Bin 0 -> 845 bytes .../bean/dto/ProjectDto$ProjectInfoDto.class | Bin 0 -> 1602 bytes .../ProjectDto$RoleInfoDto$__RoleInfo.class | Bin 0 -> 917 bytes .../bean/dto/ProjectDto$RoleInfoDto.class | Bin 0 -> 1555 bytes .../ProjectDto$TaskInfoDto$__TaskInfo.class | Bin 0 -> 917 bytes .../bean/dto/ProjectDto$TaskInfoDto.class | Bin 0 -> 1546 bytes .../com/ccsens/tall/bean/dto/ProjectDto.class | Bin 0 -> 636 bytes .../bean/dto/Spider/ChuangYeFuWuXuQiu.class | Bin 0 -> 3901 bytes .../dto/Spider/GuDongXinXi$guQuanRongZi.class | Bin 0 -> 1090 bytes .../Spider/GuDongXinXi$zhaiQuanRongZi.class | Bin 0 -> 909 bytes .../tall/bean/dto/Spider/GuDongXinXi.class | Bin 0 -> 4300 bytes .../tall/bean/dto/Spider/HeXinTuanDui.class | Bin 0 -> 4489 bytes .../bean/dto/Spider/JiBenXinXi$info.class | Bin 0 -> 1020 bytes .../bean/dto/Spider/JiBenXinXi$zhuanLi.class | Bin 0 -> 1481 bytes .../tall/bean/dto/Spider/JiBenXinXi.class | Bin 0 -> 8758 bytes .../bean/dto/Spider/ShangYeJiHuaShu.class | Bin 0 -> 2417 bytes .../tall/bean/dto/SpiderDto$Recommend.class | Bin 0 -> 1080 bytes .../bean/dto/SpiderDto$RecommendList.class | Bin 0 -> 1106 bytes .../tall/bean/dto/SpiderDto$Spider.class | Bin 0 -> 2267 bytes .../tall/bean/dto/SpiderDto$SpiderHtml.class | Bin 0 -> 2486 bytes .../bean/dto/SpiderDto$SpiderHtmlList.class | Bin 0 -> 1126 bytes .../tall/bean/dto/SpiderDto$SpiderList.class | Bin 0 -> 1082 bytes .../com/ccsens/tall/bean/dto/SpiderDto.class | Bin 0 -> 761 bytes .../tall/bean/dto/TaskDto$AddTask.class | Bin 0 -> 3395 bytes .../bean/dto/TaskDto$ChangeBeginTime.class | Bin 0 -> 1763 bytes .../bean/dto/TaskDto$ChangeTaskDuration.class | Bin 0 -> 1769 bytes .../bean/dto/TaskDto$ChangeTaskInfo.class | Bin 0 -> 2781 bytes .../tall/bean/dto/TaskDto$CompleteTask.class | Bin 0 -> 652 bytes .../tall/bean/dto/TaskDto$DeleteTask.class | Bin 0 -> 1253 bytes .../tall/bean/dto/TaskDto$InsertTask.class | Bin 0 -> 1651 bytes .../tall/bean/dto/TaskDto$MoveTask.class | Bin 0 -> 1431 bytes .../tall/bean/dto/TaskDto$StartTask.class | Bin 0 -> 1481 bytes .../tall/bean/dto/TaskDto$TaskSubTimeId.class | Bin 0 -> 643 bytes .../tall/bean/dto/TaskDto$UpdateTask.class | Bin 0 -> 2198 bytes .../tall/bean/dto/TaskDto$__TaskDto.class | Bin 0 -> 601 bytes .../com/ccsens/tall/bean/dto/TaskDto.class | Bin 0 -> 1189 bytes .../tall/bean/dto/TaskTcp$__Plugin.class | Bin 0 -> 874 bytes .../com/ccsens/tall/bean/dto/TaskTcp.class | Bin 0 -> 7422 bytes .../tall/bean/dto/UserDto$Account.class | Bin 0 -> 1284 bytes .../bean/dto/UserDto$UpdatePassword.class | Bin 0 -> 3067 bytes .../tall/bean/dto/UserDto$UpdatePhone.class | Bin 0 -> 3056 bytes .../bean/dto/UserDto$UserSginin$Data.class | Bin 0 -> 2418 bytes .../tall/bean/dto/UserDto$UserSginin.class | Bin 0 -> 3109 bytes .../tall/bean/dto/UserDto$UserSignup.class | Bin 0 -> 3705 bytes .../com/ccsens/tall/bean/dto/UserDto.class | Bin 0 -> 673 bytes .../bean/dto/message/AckMessageDto$Data.class | Bin 0 -> 673 bytes .../tall/bean/dto/message/AckMessageDto.class | Bin 0 -> 3009 bytes .../dto/message/AuthMessageDto$Data.class | Bin 0 -> 941 bytes .../bean/dto/message/AuthMessageDto.class | Bin 0 -> 2693 bytes .../message/BaseMessageDto$MessageUser.class | Bin 0 -> 3530 bytes .../bean/dto/message/BaseMessageDto.class | Bin 0 -> 4367 bytes ...atchSettingMessageWithAnswerDto$Data.class | Bin 0 -> 1213 bytes .../BatchSettingMessageWithAnswerDto.class | Bin 0 -> 2945 bytes .../DeliverMessageWithCheckerDto$Data.class | Bin 0 -> 2434 bytes .../DeliverMessageWithCheckerDto.class | Bin 0 -> 3410 bytes .../DeliverMessageWithDeleteDto$Data.class | Bin 0 -> 2133 bytes .../message/DeliverMessageWithDeleteDto.class | Bin 0 -> 3255 bytes .../DeliverMessageWithUploadDto$Data.class | Bin 0 -> 2590 bytes .../message/DeliverMessageWithUploadDto.class | Bin 0 -> 3698 bytes ...MasterStatusMessageWithQueryDto$Data.class | Bin 0 -> 946 bytes .../MasterStatusMessageWithQueryDto.class | Bin 0 -> 2937 bytes .../NodeMessageWithChangeStatusDto$Data.class | Bin 0 -> 1183 bytes .../NodeMessageWithChangeStatusDto.class | Bin 0 -> 3824 bytes .../NodeMessageWithPostCommentDto$Data.class | Bin 0 -> 1419 bytes .../NodeMessageWithPostCommentDto.class | Bin 0 -> 3407 bytes ...ageWithUploadDeliverDto$Data$Deliver.class | Bin 0 -> 1453 bytes ...NodeMessageWithUploadDeliverDto$Data.class | Bin 0 -> 1471 bytes .../NodeMessageWithUploadDeliverDto.class | Bin 0 -> 3221 bytes .../message/RingMessageWithReadDto$Data.class | Bin 0 -> 709 bytes .../dto/message/RingMessageWithReadDto.class | Bin 0 -> 2666 bytes .../message/RingMessageWithSendDto$Data.class | Bin 0 -> 955 bytes .../dto/message/RingMessageWithSendDto.class | Bin 0 -> 2752 bytes .../message/SyncMessageWithAddDto$Data.class | Bin 0 -> 708 bytes .../dto/message/SyncMessageWithAddDto.class | Bin 0 -> 4126 bytes ...ncMessageWithChangeBeginTimeDto$Data.class | Bin 0 -> 1133 bytes .../SyncMessageWithChangeBeginTimeDto.class | Bin 0 -> 3804 bytes ...yncMessageWithChangeDurationDto$Data.class | Bin 0 -> 1126 bytes .../SyncMessageWithChangeDurationDto.class | Bin 0 -> 3793 bytes .../message/SyncMessageWithMoveDto$Data.class | Bin 0 -> 1080 bytes .../dto/message/SyncMessageWithMoveDto.class | Bin 0 -> 3699 bytes .../SyncMessageWithReMoveDto$Data.class | Bin 0 -> 904 bytes .../message/SyncMessageWithReMoveDto.class | Bin 0 -> 3633 bytes .../SyncMessageWithStartDto$Data.class | Bin 0 -> 1476 bytes .../dto/message/SyncMessageWithStartDto.class | Bin 0 -> 3877 bytes .../UserMessageWithHasReadDto$Data.class | Bin 0 -> 721 bytes .../message/UserMessageWithHasReadDto.class | Bin 0 -> 3119 bytes .../message/UserMessageWithUserDto$Data.class | Bin 0 -> 896 bytes .../dto/message/UserMessageWithUserDto.class | Bin 0 -> 3612 bytes .../com/ccsens/tall/bean/po/ProLog.class | Bin 0 -> 3315 bytes .../tall/bean/po/ProLogExample$Criteria.class | Bin 0 -> 11924 bytes .../bean/po/ProLogExample$Criterion.class | Bin 0 -> 2275 bytes .../po/ProLogExample$GeneratedCriteria.class | Bin 0 -> 18177 bytes .../ccsens/tall/bean/po/ProLogExample.class | Bin 0 -> 2239 bytes .../com/ccsens/tall/bean/po/ProMember.class | Bin 0 -> 4445 bytes .../bean/po/ProMemberExample$Criteria.class | Bin 0 -> 17283 bytes .../bean/po/ProMemberExample$Criterion.class | Bin 0 -> 2287 bytes .../ProMemberExample$GeneratedCriteria.class | Bin 0 -> 25714 bytes .../tall/bean/po/ProMemberExample.class | Bin 0 -> 2272 bytes .../ccsens/tall/bean/po/ProMemberRole.class | Bin 0 -> 2505 bytes .../po/ProMemberRoleExample$Criteria.class | Bin 0 -> 8246 bytes .../po/ProMemberRoleExample$Criterion.class | Bin 0 -> 2303 bytes ...oMemberRoleExample$GeneratedCriteria.class | Bin 0 -> 13025 bytes .../tall/bean/po/ProMemberRoleExample.class | Bin 0 -> 2316 bytes .../com/ccsens/tall/bean/po/ProRole.class | Bin 0 -> 3443 bytes .../bean/po/ProRoleExample$Criteria.class | Bin 0 -> 12315 bytes .../bean/po/ProRoleExample$Criterion.class | Bin 0 -> 2279 bytes .../po/ProRoleExample$GeneratedCriteria.class | Bin 0 -> 18813 bytes .../ccsens/tall/bean/po/ProRoleExample.class | Bin 0 -> 2250 bytes .../ccsens/tall/bean/po/ProRoleExeclude.class | Bin 0 -> 2523 bytes .../po/ProRoleExecludeExample$Criteria.class | Bin 0 -> 8308 bytes .../po/ProRoleExecludeExample$Criterion.class | Bin 0 -> 2311 bytes ...oleExecludeExample$GeneratedCriteria.class | Bin 0 -> 13150 bytes .../tall/bean/po/ProRoleExecludeExample.class | Bin 0 -> 2338 bytes .../ccsens/tall/bean/po/ProRolePower.class | Bin 0 -> 2913 bytes .../po/ProRolePowerExample$Criteria.class | Bin 0 -> 9889 bytes .../po/ProRolePowerExample$Criterion.class | Bin 0 -> 2299 bytes ...roRolePowerExample$GeneratedCriteria.class | Bin 0 -> 15315 bytes .../tall/bean/po/ProRolePowerExample.class | Bin 0 -> 2305 bytes .../tall/bean/po/ProSubTimeMember.class | Bin 0 -> 3123 bytes .../po/ProSubTimeMemberExample$Criteria.class | Bin 0 -> 10996 bytes .../ProSubTimeMemberExample$Criterion.class | Bin 0 -> 2315 bytes ...bTimeMemberExample$GeneratedCriteria.class | Bin 0 -> 17153 bytes .../bean/po/ProSubTimeMemberExample.class | Bin 0 -> 2349 bytes .../ccsens/tall/bean/po/ProTaskDeliver.class | Bin 0 -> 4167 bytes .../po/ProTaskDeliverExample$Criteria.class | Bin 0 -> 15914 bytes .../po/ProTaskDeliverExample$Criterion.class | Bin 0 -> 2307 bytes ...TaskDeliverExample$GeneratedCriteria.class | Bin 0 -> 23885 bytes .../tall/bean/po/ProTaskDeliverExample.class | Bin 0 -> 2327 bytes .../tall/bean/po/ProTaskDeliverPostLog.class | Bin 0 -> 4176 bytes .../po/ProTaskDeliverPostLogChecker.class | Bin 0 -> 3275 bytes ...eliverPostLogCheckerExample$Criteria.class | Bin 0 -> 11463 bytes ...liverPostLogCheckerExample$Criterion.class | Bin 0 -> 2363 bytes ...tLogCheckerExample$GeneratedCriteria.class | Bin 0 -> 17788 bytes .../ProTaskDeliverPostLogCheckerExample.class | Bin 0 -> 2481 bytes ...roTaskDeliverPostLogExample$Criteria.class | Bin 0 -> 16003 bytes ...oTaskDeliverPostLogExample$Criterion.class | Bin 0 -> 2335 bytes ...iverPostLogExample$GeneratedCriteria.class | Bin 0 -> 24009 bytes .../po/ProTaskDeliverPostLogExample.class | Bin 0 -> 2404 bytes .../ccsens/tall/bean/po/ProTaskDetail.class | Bin 0 -> 7500 bytes .../po/ProTaskDetailExample$Criteria.class | Bin 0 -> 32470 bytes .../po/ProTaskDetailExample$Criterion.class | Bin 0 -> 2303 bytes ...oTaskDetailExample$GeneratedCriteria.class | Bin 0 -> 47120 bytes .../tall/bean/po/ProTaskDetailExample.class | Bin 0 -> 2316 bytes .../ccsens/tall/bean/po/ProTaskHardware.class | Bin 0 -> 3676 bytes .../po/ProTaskHardwareExample$Criteria.class | Bin 0 -> 13529 bytes .../po/ProTaskHardwareExample$Criterion.class | Bin 0 -> 2311 bytes ...askHardwareExample$GeneratedCriteria.class | Bin 0 -> 20483 bytes .../tall/bean/po/ProTaskHardwareExample.class | Bin 0 -> 2338 bytes .../ccsens/tall/bean/po/ProTaskMember.class | Bin 0 -> 2529 bytes .../po/ProTaskMemberExample$Criteria.class | Bin 0 -> 8318 bytes .../po/ProTaskMemberExample$Criterion.class | Bin 0 -> 2303 bytes ...oTaskMemberExample$GeneratedCriteria.class | Bin 0 -> 13187 bytes .../tall/bean/po/ProTaskMemberExample.class | Bin 0 -> 2316 bytes .../ccsens/tall/bean/po/ProTaskPlugin.class | Bin 0 -> 3718 bytes .../po/ProTaskPluginExample$Criteria.class | Bin 0 -> 13645 bytes .../po/ProTaskPluginExample$Criterion.class | Bin 0 -> 2303 bytes ...oTaskPluginExample$GeneratedCriteria.class | Bin 0 -> 20757 bytes .../tall/bean/po/ProTaskPluginExample.class | Bin 0 -> 2316 bytes .../ccsens/tall/bean/po/ProTaskSubTime.class | Bin 0 -> 3579 bytes .../po/ProTaskSubTimeExample$Criteria.class | Bin 0 -> 13266 bytes .../po/ProTaskSubTimeExample$Criterion.class | Bin 0 -> 2307 bytes ...TaskSubTimeExample$GeneratedCriteria.class | Bin 0 -> 20324 bytes .../tall/bean/po/ProTaskSubTimeExample.class | Bin 0 -> 2327 bytes .../com/ccsens/tall/bean/po/ProTodo.class | Bin 0 -> 3571 bytes .../bean/po/ProTodoExample$Criteria.class | Bin 0 -> 13147 bytes .../bean/po/ProTodoExample$Criterion.class | Bin 0 -> 2279 bytes .../po/ProTodoExample$GeneratedCriteria.class | Bin 0 -> 19940 bytes .../ccsens/tall/bean/po/ProTodoExample.class | Bin 0 -> 2250 bytes .../com/ccsens/tall/bean/po/SysAuth.class | Bin 0 -> 3422 bytes .../bean/po/SysAuthExample$Criteria.class | Bin 0 -> 12359 bytes .../bean/po/SysAuthExample$Criterion.class | Bin 0 -> 2279 bytes .../po/SysAuthExample$GeneratedCriteria.class | Bin 0 -> 18798 bytes .../ccsens/tall/bean/po/SysAuthExample.class | Bin 0 -> 2250 bytes .../ccsens/tall/bean/po/SysBalanceLog.class | Bin 0 -> 3371 bytes .../po/SysBalanceLogExample$Criteria.class | Bin 0 -> 12086 bytes .../po/SysBalanceLogExample$Criterion.class | Bin 0 -> 2303 bytes ...sBalanceLogExample$GeneratedCriteria.class | Bin 0 -> 18394 bytes .../tall/bean/po/SysBalanceLogExample.class | Bin 0 -> 2316 bytes .../ccsens/tall/bean/po/SysCommitedFile.class | Bin 0 -> 3684 bytes .../po/SysCommitedFileExample$Criteria.class | Bin 0 -> 13641 bytes .../po/SysCommitedFileExample$Criterion.class | Bin 0 -> 2311 bytes ...ommitedFileExample$GeneratedCriteria.class | Bin 0 -> 20406 bytes .../tall/bean/po/SysCommitedFileExample.class | Bin 0 -> 2338 bytes .../com/ccsens/tall/bean/po/SysGrade.class | Bin 0 -> 3259 bytes .../bean/po/SysGradeExample$Criteria.class | Bin 0 -> 11373 bytes .../bean/po/SysGradeExample$Criterion.class | Bin 0 -> 2283 bytes .../SysGradeExample$GeneratedCriteria.class | Bin 0 -> 17498 bytes .../ccsens/tall/bean/po/SysGradeExample.class | Bin 0 -> 2261 bytes .../com/ccsens/tall/bean/po/SysPlugin.class | Bin 0 -> 2904 bytes .../bean/po/SysPluginExample$Criteria.class | Bin 0 -> 9844 bytes .../bean/po/SysPluginExample$Criterion.class | Bin 0 -> 2287 bytes .../SysPluginExample$GeneratedCriteria.class | Bin 0 -> 15249 bytes .../tall/bean/po/SysPluginExample.class | Bin 0 -> 2272 bytes .../com/ccsens/tall/bean/po/SysProject.class | Bin 0 -> 4580 bytes .../bean/po/SysProjectExample$Criteria.class | Bin 0 -> 18132 bytes .../bean/po/SysProjectExample$Criterion.class | Bin 0 -> 2291 bytes .../SysProjectExample$GeneratedCriteria.class | Bin 0 -> 26844 bytes .../tall/bean/po/SysProjectExample.class | Bin 0 -> 2283 bytes .../com/ccsens/tall/bean/po/SysScene.class | Bin 0 -> 2984 bytes .../bean/po/SysSceneExample$Criteria.class | Bin 0 -> 10032 bytes .../bean/po/SysSceneExample$Criterion.class | Bin 0 -> 2283 bytes .../SysSceneExample$GeneratedCriteria.class | Bin 0 -> 15623 bytes .../ccsens/tall/bean/po/SysSceneExample.class | Bin 0 -> 2261 bytes .../com/ccsens/tall/bean/po/SysUser.class | Bin 0 -> 5205 bytes .../bean/po/SysUserExample$Criteria.class | Bin 0 -> 21225 bytes .../bean/po/SysUserExample$Criterion.class | Bin 0 -> 2279 bytes .../po/SysUserExample$GeneratedCriteria.class | Bin 0 -> 30877 bytes .../ccsens/tall/bean/po/SysUserExample.class | Bin 0 -> 2250 bytes .../ccsens/tall/bean/po/UserAttention.class | Bin 0 -> 2509 bytes .../po/UserAttentionExample$Criteria.class | Bin 0 -> 8258 bytes .../po/UserAttentionExample$Criterion.class | Bin 0 -> 2303 bytes ...erAttentionExample$GeneratedCriteria.class | Bin 0 -> 13050 bytes .../tall/bean/po/UserAttentionExample.class | Bin 0 -> 2316 bytes .../tall/bean/vo/DeliverVo$Checker.class | Bin 0 -> 1617 bytes .../ccsens/tall/bean/vo/DeliverVo$DFile.class | Bin 0 -> 1265 bytes .../tall/bean/vo/DeliverVo$DProject.class | Bin 0 -> 1067 bytes .../ccsens/tall/bean/vo/DeliverVo$DRole.class | Bin 0 -> 1058 bytes .../ccsens/tall/bean/vo/DeliverVo$DTask.class | Bin 0 -> 1510 bytes .../tall/bean/vo/DeliverVo$DeliverFile.class | Bin 0 -> 2738 bytes .../bean/vo/DeliverVo$DeliverFileList.class | Bin 0 -> 1652 bytes .../tall/bean/vo/DeliverVo$DeliverInfo.class | Bin 0 -> 2300 bytes .../tall/bean/vo/DeliverVo$FilePath.class | Bin 0 -> 4014 bytes .../tall/bean/vo/DeliverVo$PageInfo.class | Bin 0 -> 1051 bytes .../com/ccsens/tall/bean/vo/DeliverVo.class | Bin 0 -> 999 bytes .../tall/bean/vo/MemberVo$MemberInfo.class | Bin 0 -> 2285 bytes .../com/ccsens/tall/bean/vo/MemberVo.class | Bin 0 -> 390 bytes .../tall/bean/vo/PluginVo$PluginInfo.class | Bin 0 -> 1291 bytes .../com/ccsens/tall/bean/vo/PluginVo.class | Bin 0 -> 901 bytes .../tall/bean/vo/ProjectVo$DeliverInfo.class | Bin 0 -> 2613 bytes ...rojectVo$MembersByProject$BelongRole.class | Bin 0 -> 1226 bytes .../bean/vo/ProjectVo$MembersByProject.class | Bin 0 -> 3365 bytes .../tall/bean/vo/ProjectVo$PageInfo.class | Bin 0 -> 2264 bytes .../tall/bean/vo/ProjectVo$ProMemberVo.class | Bin 0 -> 3145 bytes .../vo/ProjectVo$ProjectAllDetailed.class | Bin 0 -> 2893 bytes .../tall/bean/vo/ProjectVo$ProjectByKey.class | Bin 0 -> 1076 bytes .../tall/bean/vo/ProjectVo$ProjectInfo.class | Bin 0 -> 5160 bytes .../tall/bean/vo/ProjectVo$RoleInfo.class | Bin 0 -> 3114 bytes .../bean/vo/ProjectVo$TemplateStatus.class | Bin 0 -> 1654 bytes .../com/ccsens/tall/bean/vo/ProjectVo.class | Bin 0 -> 1000 bytes .../tall/bean/vo/TaskVo$FirstTask.class | Bin 0 -> 3156 bytes .../tall/bean/vo/TaskVo$GlobalTask.class | Bin 0 -> 2931 bytes .../tall/bean/vo/TaskVo$NormalTask.class | Bin 0 -> 8022 bytes .../ccsens/tall/bean/vo/TaskVo$PageInfo.class | Bin 0 -> 2249 bytes .../ccsens/tall/bean/vo/TaskVo$PluginVo.class | Bin 0 -> 1296 bytes .../tall/bean/vo/TaskVo$ProTaskInfo.class | Bin 0 -> 3619 bytes .../bean/vo/TaskVo$ProTaskInfoByMVP.class | Bin 0 -> 2834 bytes .../bean/vo/TaskVo$ProjectCheckList.class | Bin 0 -> 1079 bytes .../tall/bean/vo/TaskVo$RoleCheckList.class | Bin 0 -> 1070 bytes .../tall/bean/vo/TaskVo$TaskCheckList.class | Bin 0 -> 1599 bytes ...Vo$TaskDeliverByMVP$DeliverInfoByMVP.class | Bin 0 -> 3755 bytes .../bean/vo/TaskVo$TaskDeliverByMVP.class | Bin 0 -> 5074 bytes .../tall/bean/vo/TaskVo$TaskDetailByKey.class | Bin 0 -> 2214 bytes .../com/ccsens/tall/bean/vo/TaskVo.class | Bin 0 -> 1689 bytes .../ccsens/tall/bean/vo/UserVo$Account.class | Bin 0 -> 1277 bytes .../ccsens/tall/bean/vo/UserVo$SmsCode.class | Bin 0 -> 1359 bytes .../tall/bean/vo/UserVo$TokenBean.class | Bin 0 -> 3565 bytes .../ccsens/tall/bean/vo/UserVo$UserSign.class | Bin 0 -> 1007 bytes .../com/ccsens/tall/bean/vo/UserVo.class | Bin 0 -> 568 bytes .../com/ccsens/tall/config/BeanConfig.class | Bin 0 -> 1317 bytes .../ccsens/tall/config/BusinessProps.class | Bin 0 -> 1313 bytes .../exception/GetCurrentPartiException.class | Bin 0 -> 495 bytes .../exception/GetCurrentUserException.class | Bin 0 -> 566 bytes .../tall/exception/GetTaskException.class | Bin 0 -> 471 bytes .../tall/exception/PartiLoginException.class | Bin 0 -> 480 bytes .../ccsens/tall/exception/SmsException.class | Bin 0 -> 1014 bytes .../exception/TaskValidateException.class | Bin 0 -> 555 bytes .../exception/UnAuthenticationException.class | Bin 0 -> 522 bytes .../exception/UnAuthorizationException.class | Bin 0 -> 519 bytes .../tall/exception/UserLoginException.class | Bin 0 -> 555 bytes .../tall/persist/dao/PostLogCheckerDao.class | Bin 0 -> 302 bytes .../ccsens/tall/persist/dao/ProLogDao.class | Bin 0 -> 264 bytes .../tall/persist/dao/ProMemberDao.class | Bin 0 -> 857 bytes .../tall/persist/dao/ProMemberRoleDao.class | Bin 0 -> 285 bytes .../ccsens/tall/persist/dao/ProRoleDao.class | Bin 0 -> 1483 bytes .../tall/persist/dao/ProRoleExecludeDao.class | Bin 0 -> 291 bytes .../persist/dao/ProSubTimeMemberDao.class | Bin 0 -> 294 bytes .../dao/ProTaskDeliverPostLogDao.class | Bin 0 -> 309 bytes .../ccsens/tall/persist/dao/SysAuthDao.class | Bin 0 -> 267 bytes .../tall/persist/dao/SysCommitedFileDao.class | Bin 0 -> 291 bytes .../tall/persist/dao/SysPluginDao.class | Bin 0 -> 902 bytes .../tall/persist/dao/SysProjectDao.class | Bin 0 -> 1313 bytes .../ccsens/tall/persist/dao/SysUserDao.class | Bin 0 -> 267 bytes .../tall/persist/dao/TaskDeliverDao.class | Bin 0 -> 1469 bytes .../tall/persist/dao/TaskDetailDao.class | Bin 0 -> 2559 bytes .../tall/persist/dao/TaskMemberDao.class | Bin 0 -> 279 bytes .../tall/persist/dao/TaskPluginDao.class | Bin 0 -> 279 bytes .../tall/persist/dao/TaskSubTimeDao.class | Bin 0 -> 282 bytes .../tall/persist/dao/UserAttentionDao.class | Bin 0 -> 285 bytes .../tall/persist/mapper/ProLogMapper.class | Bin 0 -> 1058 bytes .../tall/persist/mapper/ProMemberMapper.class | Bin 0 -> 1091 bytes .../persist/mapper/ProMemberRoleMapper.class | Bin 0 -> 1135 bytes .../mapper/ProRoleExecludeMapper.class | Bin 0 -> 1157 bytes .../tall/persist/mapper/ProRoleMapper.class | Bin 0 -> 1069 bytes .../persist/mapper/ProRolePowerMapper.class | Bin 0 -> 1124 bytes .../mapper/ProSubTimeMemberMapper.class | Bin 0 -> 1168 bytes .../persist/mapper/ProTaskDeliverMapper.class | Bin 0 -> 1146 bytes .../ProTaskDeliverPostLogCheckerMapper.class | Bin 0 -> 1300 bytes .../mapper/ProTaskDeliverPostLogMapper.class | Bin 0 -> 1223 bytes .../persist/mapper/ProTaskDetailMapper.class | Bin 0 -> 1135 bytes .../mapper/ProTaskHardwareMapper.class | Bin 0 -> 1157 bytes .../persist/mapper/ProTaskMemberMapper.class | Bin 0 -> 1135 bytes .../persist/mapper/ProTaskPluginMapper.class | Bin 0 -> 1135 bytes .../persist/mapper/ProTaskSubTimeMapper.class | Bin 0 -> 1146 bytes .../tall/persist/mapper/ProTodoMapper.class | Bin 0 -> 1069 bytes .../tall/persist/mapper/SysAuthMapper.class | Bin 0 -> 1069 bytes .../persist/mapper/SysBalanceLogMapper.class | Bin 0 -> 1135 bytes .../mapper/SysCommitedFileMapper.class | Bin 0 -> 1157 bytes .../tall/persist/mapper/SysGradeMapper.class | Bin 0 -> 1080 bytes .../tall/persist/mapper/SysPluginMapper.class | Bin 0 -> 1091 bytes .../persist/mapper/SysProjectMapper.class | Bin 0 -> 1102 bytes .../tall/persist/mapper/SysSceneMapper.class | Bin 0 -> 1080 bytes .../tall/persist/mapper/SysUserMapper.class | Bin 0 -> 1069 bytes .../persist/mapper/UserAttentionMapper.class | Bin 0 -> 1135 bytes .../ccsens/tall/service/ExcelService.class | Bin 0 -> 31522 bytes .../tall/service/ExcludeRoleService.class | Bin 0 -> 1110 bytes .../ccsens/tall/service/IExcelService.class | Bin 0 -> 418 bytes .../tall/service/IExcludeRoleService.class | Bin 0 -> 216 bytes .../ccsens/tall/service/IMessageService.class | Bin 0 -> 673 bytes .../ccsens/tall/service/IProLogService.class | Bin 0 -> 229 bytes .../tall/service/IProMemberRoleService.class | Bin 0 -> 217 bytes .../tall/service/IProMemberService.class | Bin 0 -> 1475 bytes .../ccsens/tall/service/IProRoleService.class | Bin 0 -> 1354 bytes .../tall/service/IProTaskDetailService.class | Bin 0 -> 1637 bytes .../ccsens/tall/service/IProjectService.class | Bin 0 -> 1845 bytes .../tall/service/ISysPluginService.class | Bin 0 -> 402 bytes .../tall/service/ITaskDeliverService.class | Bin 0 -> 2325 bytes .../tall/service/ITaskMemberService.class | Bin 0 -> 211 bytes .../tall/service/ITaskPluginService.class | Bin 0 -> 573 bytes .../tall/service/ITaskSubTimeService.class | Bin 0 -> 950 bytes .../tall/service/IUserAttentionService.class | Bin 0 -> 380 bytes .../ccsens/tall/service/IUserService.class | Bin 0 -> 2652 bytes .../ccsens/tall/service/MessageService.class | Bin 0 -> 5362 bytes .../tall/service/ProMemberRoleService.class | Bin 0 -> 1104 bytes .../tall/service/ProMemberService.class | Bin 0 -> 9650 bytes .../ccsens/tall/service/ProRoleService.class | Bin 0 -> 8207 bytes .../tall/service/ProTaskDetailService.class | Bin 0 -> 28635 bytes .../ccsens/tall/service/ProjectService.class | Bin 0 -> 23880 bytes .../tall/service/SysPluginService.class | Bin 0 -> 1158 bytes .../tall/service/TaskDeliverService.class | Bin 0 -> 30142 bytes .../tall/service/TaskMemberService.class | Bin 0 -> 1086 bytes .../tall/service/TaskPluginService.class | Bin 0 -> 3713 bytes .../tall/service/TaskSubTimeService.class | Bin 0 -> 14625 bytes .../tall/service/UserAttentionService.class | Bin 0 -> 3138 bytes .../ccsens/tall/service/UserService$1.class | Bin 0 -> 1448 bytes .../com/ccsens/tall/service/UserService.class | Bin 0 -> 20464 bytes .../ccsens/tall/service/proLogService.class | Bin 0 -> 1622 bytes .../com/ccsens/tall/util/TaskUtil$Task.class | Bin 0 -> 2458 bytes .../com/ccsens/tall/util/TaskUtil.class | Bin 0 -> 3411 bytes .../ccsens/tall/web/DeliverController.class | Bin 0 -> 9512 bytes .../com/ccsens/tall/web/ExcelController.class | Bin 0 -> 3594 bytes .../com/ccsens/tall/web/IndexController.class | Bin 0 -> 1958 bytes .../ccsens/tall/web/PluginController.class | Bin 0 -> 2428 bytes .../ccsens/tall/web/ProjectController.class | Bin 0 -> 12220 bytes .../com/ccsens/tall/web/TaskController.class | Bin 0 -> 8195 bytes .../ccsens/tall/web/UserController$1.class | Bin 0 -> 1449 bytes .../com/ccsens/tall/web/UserController.class | Bin 0 -> 9764 bytes tall/target/classes/druid-dev.yml | 32 + tall/target/classes/druid-prod.yml | 32 + tall/target/classes/druid-test.yml | 32 + tall/target/classes/logback-spring.xml | 196 + tall/target/classes/mapper_dao/DeliverDao.xml | 157 + .../classes/mapper_dao/ProMemberDao.xml | 93 + tall/target/classes/mapper_dao/ProRoleDao.xml | 129 + .../classes/mapper_dao/SysPluginDao.xml | 34 + .../classes/mapper_dao/SysProjectDao.xml | 82 + .../classes/mapper_dao/TaskDetailDao.xml | 253 ++ .../classes/mapper_raw/ProLogMapper.xml | 275 ++ .../classes/mapper_raw/ProMemberMapper.xml | 338 ++ .../mapper_raw/ProMemberRoleMapper.xml | 228 ++ .../mapper_raw/ProRoleExecludeMapper.xml | 228 ++ .../classes/mapper_raw/ProRoleMapper.xml | 275 ++ .../classes/mapper_raw/ProRolePowerMapper.xml | 243 ++ .../mapper_raw/ProSubTimeMemberMapper.xml | 259 ++ .../mapper_raw/ProTaskDeliverMapper.xml | 323 ++ .../ProTaskDeliverPostLogCheckerMapper.xml | 259 ++ .../ProTaskDeliverPostLogMapper.xml | 323 ++ .../mapper_raw/ProTaskDetailMapper.xml | 543 +++ .../mapper_raw/ProTaskHardwareMapper.xml | 291 ++ .../mapper_raw/ProTaskMemberMapper.xml | 228 ++ .../mapper_raw/ProTaskPluginMapper.xml | 291 ++ .../mapper_raw/ProTaskSubTimeMapper.xml | 291 ++ .../classes/mapper_raw/ProTodoMapper.xml | 291 ++ .../classes/mapper_raw/SysAuthMapper.xml | 276 ++ .../mapper_raw/SysBalanceLogMapper.xml | 275 ++ .../mapper_raw/SysCommitedFileMapper.xml | 290 ++ .../classes/mapper_raw/SysGradeMapper.xml | 258 ++ .../classes/mapper_raw/SysPluginMapper.xml | 243 ++ .../classes/mapper_raw/SysProjectMapper.xml | 353 ++ .../classes/mapper_raw/SysSceneMapper.xml | 243 ++ .../classes/mapper_raw/SysUserMapper.xml | 385 ++ .../mapper_raw/UserAttentionMapper.xml | 228 ++ .../target/classes/mybatis/mybatis-config.xml | 61 + tall/target/classes/template/excel1.xlsx | Bin 0 -> 31571 bytes tall/target/classes/template/excel2.xlsx | Bin 0 -> 13073 bytes .../classes/template/spiderTemplate.docx | Bin 0 -> 204980 bytes .../classes/template/spiderTemplate.xlsx | Bin 0 -> 38689 bytes .../target/classes/template/wordTemplate.docx | Bin 0 -> 44501 bytes .../spring-configuration-metadata.json | 173 + .../com/ccsens/util/BeanWrapperUtil.class | Bin 0 -> 2455 bytes .../classes/com/ccsens/util/CodeEnum.class | Bin 0 -> 7679 bytes .../classes/com/ccsens/util/DateUtil.class | Bin 0 -> 5523 bytes .../classes/com/ccsens/util/ExcelUtil.class | Bin 0 -> 2506 bytes .../com/ccsens/util/GenericsUtils.class | Bin 0 -> 7229 bytes .../ccsens/util/GetUserInfoException.class | Bin 0 -> 1387 bytes .../com/ccsens/util/HttpServletUtil.class | Bin 0 -> 2353 bytes .../classes/com/ccsens/util/HttpsUtil.class | Bin 0 -> 9298 bytes .../classes/com/ccsens/util/ImgUtil.class | Bin 0 -> 706 bytes .../com/ccsens/util/JacksonUtil$1.class | Bin 0 -> 567 bytes .../classes/com/ccsens/util/JacksonUtil.class | Bin 0 -> 7807 bytes .../util/JsonResponse$RegularError.class | Bin 0 -> 611 bytes .../ccsens/util/JsonResponse$TokenError.class | Bin 0 -> 1420 bytes .../com/ccsens/util/JsonResponse.class | Bin 0 -> 6962 bytes .../com/ccsens/util/JsonResponse1$Data.class | Bin 0 -> 1556 bytes .../com/ccsens/util/JsonResponse1$Link.class | Bin 0 -> 1424 bytes .../JsonResponse1$Meta$RegularError.class | Bin 0 -> 680 bytes .../util/JsonResponse1$Meta$TokenError.class | Bin 0 -> 1489 bytes .../com/ccsens/util/JsonResponse1$Meta.class | Bin 0 -> 1195 bytes .../com/ccsens/util/JsonResponse1.class | Bin 0 -> 4506 bytes .../util/JsonResponse2$RegularError.class | Bin 0 -> 615 bytes .../util/JsonResponse2$TokenError.class | Bin 0 -> 1424 bytes .../com/ccsens/util/JsonResponse2.class | Bin 0 -> 5219 bytes .../com/ccsens/util/JwtUtil$JwtError.class | Bin 0 -> 1308 bytes .../classes/com/ccsens/util/JwtUtil.class | Bin 0 -> 4104 bytes .../classes/com/ccsens/util/Md5Util.class | Bin 0 -> 2051 bytes .../ccsens/util/MyJacksonObjectMapper.class | Bin 0 -> 1352 bytes .../com/ccsens/util/MyX509TrustManager.class | Bin 0 -> 876 bytes .../util/NotSupportedFileTypeException.class | Bin 0 -> 991 bytes .../ccsens/util/PasswordEncryptionUtil.class | Bin 0 -> 3049 bytes .../com/ccsens/util/PayException.class | Bin 0 -> 1448 bytes .../classes/com/ccsens/util/PoiUtil.class | Bin 0 -> 11261 bytes .../classes/com/ccsens/util/PropUtil.class | Bin 0 -> 1104 bytes .../com/ccsens/util/RedisKeyManager.class | Bin 0 -> 1365 bytes .../classes/com/ccsens/util/RedisUtil.class | Bin 0 -> 10478 bytes .../classes/com/ccsens/util/SQLUtil.class | Bin 0 -> 3036 bytes .../classes/com/ccsens/util/Sha1Util.class | Bin 0 -> 2006 bytes .../classes/com/ccsens/util/ShiroKit.class | Bin 0 -> 1531 bytes .../classes/com/ccsens/util/SmsUtil.class | Bin 0 -> 2384 bytes .../com/ccsens/util/SpringContextUtils.class | Bin 0 -> 1630 bytes .../classes/com/ccsens/util/StringUtil.class | Bin 0 -> 6974 bytes .../classes/com/ccsens/util/ToolUtil.class | Bin 0 -> 973 bytes .../ccsens/util/UploadFileUtil_Servlet3.class | Bin 0 -> 2918 bytes .../ccsens/util/WebConstant$APP_SCENE.class | Bin 0 -> 1387 bytes .../ccsens/util/WebConstant$CLIENT_TYPE.class | Bin 0 -> 1680 bytes .../util/WebConstant$EVENT_PROCESS.class | Bin 0 -> 1627 bytes .../com/ccsens/util/WebConstant$Gender.class | Bin 0 -> 1365 bytes .../util/WebConstant$IDENTIFY_TYPE.class | Bin 0 -> 1847 bytes .../util/WebConstant$Message_Ack_Event.class | Bin 0 -> 1648 bytes .../WebConstant$Message_Admin_Event.class | Bin 0 -> 1668 bytes .../util/WebConstant$Message_Auth_Event.class | Bin 0 -> 1657 bytes ...bConstant$Message_BatchSetting_Event.class | Bin 0 -> 1813 bytes .../WebConstant$Message_Channel_Event.class | Bin 0 -> 1684 bytes .../WebConstant$Message_Deliver_Event.class | Bin 0 -> 1866 bytes .../WebConstant$Message_Heart_Event.class | Bin 0 -> 1666 bytes ...bConstant$Message_MasterStatus_Event.class | Bin 0 -> 1896 bytes .../util/WebConstant$Message_Node_Event.class | Bin 0 -> 1851 bytes .../util/WebConstant$Message_Ring_Event.class | Bin 0 -> 1750 bytes .../util/WebConstant$Message_Sync_Event.class | Bin 0 -> 2110 bytes .../util/WebConstant$Message_Type.class | Bin 0 -> 2792 bytes .../util/WebConstant$Message_User_Event.class | Bin 0 -> 1749 bytes .../WebConstant$NODE_USER_ROLE_TYPE.class | Bin 0 -> 1584 bytes .../util/WebConstant$PARTI_DEVICE_TYPE.class | Bin 0 -> 1620 bytes .../util/WebConstant$PARTI_LOGIN_STATUS.class | Bin 0 -> 1409 bytes .../ccsens/util/WebConstant$PartiVerify.class | Bin 0 -> 1344 bytes .../util/WebConstant$Parti_Verify_Type.class | Bin 0 -> 1643 bytes .../ccsens/util/WebConstant$REC_STATUS.class | Bin 0 -> 1409 bytes .../ccsens/util/WebConstant$ROLE_NAME.class | Bin 0 -> 1947 bytes .../com/ccsens/util/WebConstant$Role.class | Bin 0 -> 1559 bytes .../ccsens/util/WebConstant$TASK_DELAY.class | Bin 0 -> 1433 bytes .../util/WebConstant$TASK_Execute_Type.class | Bin 0 -> 1386 bytes .../ccsens/util/WebConstant$TASK_LEVEL.class | Bin 0 -> 1494 bytes .../util/WebConstant$TASK_VIRTUAL.class | Bin 0 -> 1363 bytes .../util/WebConstant$Task_Check_Status.class | Bin 0 -> 1885 bytes .../classes/com/ccsens/util/WebConstant.class | Bin 0 -> 5269 bytes .../util/WechatUtil$PreparePayBean.class | Bin 0 -> 851 bytes .../WechatUtil$PreparePayReSignBean.class | Bin 0 -> 535 bytes .../WechatUtil$PreparePayResultBean.class | Bin 0 -> 563 bytes .../ccsens/util/WechatUtil$WechatCode.class | Bin 0 -> 560 bytes .../ccsens/util/WechatUtil$WechatToken.class | Bin 0 -> 546 bytes .../ccsens/util/WechatUtil$WechatUser.class | Bin 0 -> 498 bytes .../classes/com/ccsens/util/WechatUtil.class | Bin 0 -> 12330 bytes .../classes/com/ccsens/util/bean/BaseVo.class | Bin 0 -> 285 bytes .../com/ccsens/util/config/CommonConfig.class | Bin 0 -> 1270 bytes .../config/ControllerExceptionHandler.class | Bin 0 -> 4490 bytes .../com/ccsens/util/config/DruidProps.class | Bin 0 -> 9028 bytes .../util/config/H5WebSocketInterceptor.class | Bin 0 -> 2674 bytes .../util/config/MyPropertySourceFactory.class | Bin 0 -> 1339 bytes .../ccsens/util/config/RabbitMQConfig.class | Bin 0 -> 911 bytes .../com/ccsens/util/config/RedisConfig.class | Bin 0 -> 3129 bytes .../ccsens/util/config/ServletConfig.class | Bin 0 -> 2354 bytes .../com/ccsens/util/config/SpringConfig.class | Bin 0 -> 5998 bytes .../ccsens/util/config/SwaggerConfigure.class | Bin 0 -> 3794 bytes .../cron/CronConstant$CronExpression.class | Bin 0 -> 9922 bytes .../util/cron/CronConstant$TaskCron.class | Bin 0 -> 2629 bytes .../util/cron/CronConstant$TaskDate.class | Bin 0 -> 2044 bytes .../com/ccsens/util/cron/CronConstant.class | Bin 0 -> 6841 bytes .../com/ccsens/util/cron/NatureConstant.class | Bin 0 -> 1840 bytes .../com/ccsens/util/cron/NatureLanguage.class | Bin 0 -> 3381 bytes .../com/ccsens/util/cron/NatureToDate.class | Bin 0 -> 9209 bytes .../ccsens/util/exception/BaseException.class | Bin 0 -> 1128 bytes util/util.iml | 13 - 838 files changed, 21535 insertions(+), 6779 deletions(-) create mode 100644 .idea/compiler.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/libraries/Maven__antlr_antlr_2_7_7.xml create mode 100644 .idea/libraries/Maven__aopalliance_aopalliance_1_0.xml create mode 100644 .idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_3.xml create mode 100644 .idea/libraries/Maven__ch_qos_logback_logback_core_1_2_3.xml create mode 100644 .idea/libraries/Maven__cn_hutool_hutool_all_4_1_21.xml create mode 100644 .idea/libraries/Maven__com_alibaba_druid_1_1_10.xml create mode 100644 .idea/libraries/Maven__com_alibaba_fastjson_1_2_62.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_classmate_1_4_0.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_9_9.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_9_9_3.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_9_0.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_9_9.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_9_9.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_afterburner_2_9_9.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_9_9.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_9_9.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_woodstox_woodstox_core_5_0_3.xml create mode 100644 .idea/libraries/Maven__com_github_andrewoma_dexx_dexx_collections_0_2.xml create mode 100644 .idea/libraries/Maven__com_github_jsqlparser_jsqlparser_0_9_5.xml create mode 100644 .idea/libraries/Maven__com_github_pagehelper_pagehelper_4_1_4.xml create mode 100644 .idea/libraries/Maven__com_github_qcloudsms_qcloudsms_1_0_5.xml create mode 100644 .idea/libraries/Maven__com_github_virtuald_curvesapi_1_04.xml create mode 100644 .idea/libraries/Maven__com_github_vlsi_compactmap_compactmap_1_2_1.xml create mode 100644 .idea/libraries/Maven__com_google_code_findbugs_annotations_3_0_1.xml create mode 100644 .idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_1.xml create mode 100644 .idea/libraries/Maven__com_google_code_gson_gson_2_8_5.xml create mode 100644 .idea/libraries/Maven__com_google_guava_guava_20_0.xml create mode 100644 .idea/libraries/Maven__com_google_inject_guice_4_1_0.xml create mode 100644 .idea/libraries/Maven__com_jayway_jsonpath_json_path_2_4_0.xml create mode 100644 .idea/libraries/Maven__com_netflix_archaius_archaius_core_0_7_6.xml create mode 100644 .idea/libraries/Maven__com_netflix_eureka_eureka_client_1_9_3.xml create mode 100644 .idea/libraries/Maven__com_netflix_eureka_eureka_core_1_9_3.xml create mode 100644 .idea/libraries/Maven__com_netflix_hystrix_hystrix_core_1_5_12.xml create mode 100644 .idea/libraries/Maven__com_netflix_hystrix_hystrix_javanica_1_5_12.xml create mode 100644 .idea/libraries/Maven__com_netflix_hystrix_hystrix_metrics_event_stream_1_5_12.xml create mode 100644 .idea/libraries/Maven__com_netflix_hystrix_hystrix_serialization_1_5_12.xml create mode 100644 .idea/libraries/Maven__com_netflix_netflix_commons_netflix_commons_util_0_3_0.xml create mode 100644 .idea/libraries/Maven__com_netflix_netflix_commons_netflix_eventbus_0_3_0.xml create mode 100644 .idea/libraries/Maven__com_netflix_netflix_commons_netflix_infix_0_3_0.xml create mode 100644 .idea/libraries/Maven__com_netflix_netflix_commons_netflix_statistics_0_1_1.xml create mode 100644 .idea/libraries/Maven__com_netflix_ribbon_ribbon_2_2_5.xml create mode 100644 .idea/libraries/Maven__com_netflix_ribbon_ribbon_core_2_2_5.xml create mode 100644 .idea/libraries/Maven__com_netflix_ribbon_ribbon_eureka_2_2_5.xml create mode 100644 .idea/libraries/Maven__com_netflix_ribbon_ribbon_httpclient_2_2_5.xml create mode 100644 .idea/libraries/Maven__com_netflix_ribbon_ribbon_loadbalancer_2_2_5.xml create mode 100644 .idea/libraries/Maven__com_netflix_ribbon_ribbon_transport_2_2_5.xml create mode 100644 .idea/libraries/Maven__com_netflix_servo_servo_core_0_12_21.xml create mode 100644 .idea/libraries/Maven__com_rabbitmq_amqp_client_5_4_3.xml create mode 100644 .idea/libraries/Maven__com_sun_jersey_contribs_jersey_apache_client4_1_19_1.xml create mode 100644 .idea/libraries/Maven__com_sun_jersey_jersey_client_1_19_1.xml create mode 100644 .idea/libraries/Maven__com_sun_jersey_jersey_core_1_19_1.xml create mode 100644 .idea/libraries/Maven__com_thoughtworks_xstream_xstream_1_4_10.xml create mode 100644 .idea/libraries/Maven__com_zaxxer_HikariCP_3_2_0.xml create mode 100644 .idea/libraries/Maven__commons_beanutils_commons_beanutils_1_9_3.xml create mode 100644 .idea/libraries/Maven__commons_codec_commons_codec_1_11.xml create mode 100644 .idea/libraries/Maven__commons_collections_commons_collections_3_2_2.xml create mode 100644 .idea/libraries/Maven__commons_configuration_commons_configuration_1_8.xml create mode 100644 .idea/libraries/Maven__commons_fileupload_commons_fileupload_1_3_3.xml create mode 100644 .idea/libraries/Maven__commons_io_commons_io_2_2.xml create mode 100644 .idea/libraries/Maven__commons_jxpath_commons_jxpath_1_3.xml create mode 100644 .idea/libraries/Maven__commons_lang_commons_lang_2_6.xml create mode 100644 .idea/libraries/Maven__io_github_openfeign_feign_core_9_7_0.xml create mode 100644 .idea/libraries/Maven__io_github_openfeign_feign_hystrix_9_7_0.xml create mode 100644 .idea/libraries/Maven__io_github_openfeign_feign_java8_9_7_0.xml create mode 100644 .idea/libraries/Maven__io_github_openfeign_feign_slf4j_9_7_0.xml create mode 100644 .idea/libraries/Maven__io_github_openfeign_form_feign_form_3_3_0.xml create mode 100644 .idea/libraries/Maven__io_github_openfeign_form_feign_form_spring_3_3_0.xml create mode 100644 .idea/libraries/Maven__io_jsonwebtoken_jjwt_0_7_0.xml create mode 100644 .idea/libraries/Maven__io_lettuce_lettuce_core_5_1_8_RELEASE.xml create mode 100644 .idea/libraries/Maven__io_micrometer_micrometer_core_1_1_6.xml create mode 100644 .idea/libraries/Maven__io_netty_netty_buffer_4_1_39_Final.xml create mode 100644 .idea/libraries/Maven__io_netty_netty_codec_4_1_39_Final.xml create mode 100644 .idea/libraries/Maven__io_netty_netty_common_4_1_39_Final.xml create mode 100644 .idea/libraries/Maven__io_netty_netty_handler_4_1_39_Final.xml create mode 100644 .idea/libraries/Maven__io_netty_netty_resolver_4_1_39_Final.xml create mode 100644 .idea/libraries/Maven__io_netty_netty_transport_4_1_39_Final.xml create mode 100644 .idea/libraries/Maven__io_projectreactor_reactor_core_3_2_12_RELEASE.xml create mode 100644 .idea/libraries/Maven__io_reactivex_rxjava_1_3_8.xml create mode 100644 .idea/libraries/Maven__io_reactivex_rxjava_reactive_streams_1_2_1.xml create mode 100644 .idea/libraries/Maven__io_reactivex_rxnetty_0_4_9.xml create mode 100644 .idea/libraries/Maven__io_reactivex_rxnetty_contexts_0_4_9.xml create mode 100644 .idea/libraries/Maven__io_reactivex_rxnetty_servo_0_4_9.xml create mode 100644 .idea/libraries/Maven__io_springfox_springfox_core_2_9_2.xml create mode 100644 .idea/libraries/Maven__io_springfox_springfox_schema_2_9_2.xml create mode 100644 .idea/libraries/Maven__io_springfox_springfox_spi_2_9_2.xml create mode 100644 .idea/libraries/Maven__io_springfox_springfox_spring_web_2_9_2.xml create mode 100644 .idea/libraries/Maven__io_springfox_springfox_swagger2_2_9_2.xml create mode 100644 .idea/libraries/Maven__io_springfox_springfox_swagger_common_2_9_2.xml create mode 100644 .idea/libraries/Maven__io_springfox_springfox_swagger_ui_2_9_2.xml create mode 100644 .idea/libraries/Maven__io_swagger_swagger_annotations_1_5_20.xml create mode 100644 .idea/libraries/Maven__io_swagger_swagger_models_1_5_20.xml create mode 100644 .idea/libraries/Maven__io_zipkin_brave_brave_5_4_3.xml create mode 100644 .idea/libraries/Maven__io_zipkin_brave_brave_context_log4j2_5_4_3.xml create mode 100644 .idea/libraries/Maven__io_zipkin_brave_brave_instrumentation_http_5_4_3.xml create mode 100644 .idea/libraries/Maven__io_zipkin_brave_brave_instrumentation_httpasyncclient_5_4_3.xml create mode 100644 .idea/libraries/Maven__io_zipkin_brave_brave_instrumentation_httpclient_5_4_3.xml create mode 100644 .idea/libraries/Maven__io_zipkin_brave_brave_instrumentation_kafka_clients_5_4_3.xml create mode 100644 .idea/libraries/Maven__io_zipkin_brave_brave_instrumentation_servlet_5_4_3.xml create mode 100644 .idea/libraries/Maven__io_zipkin_brave_brave_instrumentation_spring_rabbit_5_4_3.xml create mode 100644 .idea/libraries/Maven__io_zipkin_brave_brave_instrumentation_spring_web_5_4_3.xml create mode 100644 .idea/libraries/Maven__io_zipkin_brave_brave_instrumentation_spring_webmvc_5_4_3.xml create mode 100644 .idea/libraries/Maven__io_zipkin_reporter2_zipkin_reporter_2_7_10.xml create mode 100644 .idea/libraries/Maven__io_zipkin_reporter2_zipkin_sender_amqp_client_2_7_10.xml create mode 100644 .idea/libraries/Maven__io_zipkin_reporter2_zipkin_sender_kafka11_2_7_10.xml create mode 100644 .idea/libraries/Maven__io_zipkin_zipkin2_zipkin_2_11_7.xml create mode 100644 .idea/libraries/Maven__javax_annotation_javax_annotation_api_1_3_2.xml create mode 100644 .idea/libraries/Maven__javax_inject_javax_inject_1.xml create mode 100644 .idea/libraries/Maven__javax_servlet_javax_servlet_api_4_0_1.xml create mode 100644 .idea/libraries/Maven__javax_validation_validation_api_2_0_1_Final.xml create mode 100644 .idea/libraries/Maven__javax_websocket_javax_websocket_api_1_1.xml create mode 100644 .idea/libraries/Maven__javax_ws_rs_jsr311_api_1_1_1.xml create mode 100644 .idea/libraries/Maven__javax_xml_stream_stax_api_1_0_2.xml create mode 100644 .idea/libraries/Maven__joda_time_joda_time_2_10_3.xml create mode 100644 .idea/libraries/Maven__junit_junit_4_12.xml create mode 100644 .idea/libraries/Maven__mysql_mysql_connector_java_8_0_17.xml create mode 100644 .idea/libraries/Maven__net_bytebuddy_byte_buddy_1_9_16.xml create mode 100644 .idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_9_16.xml create mode 100644 .idea/libraries/Maven__net_jcip_jcip_annotations_1_0.xml create mode 100644 .idea/libraries/Maven__net_minidev_accessors_smart_1_2.xml create mode 100644 .idea/libraries/Maven__net_minidev_json_smart_2_3.xml create mode 100644 .idea/libraries/Maven__net_sourceforge_htmlcleaner_htmlcleaner_2_22.xml create mode 100644 .idea/libraries/Maven__org_antlr_antlr_runtime_3_4.xml create mode 100644 .idea/libraries/Maven__org_antlr_stringtemplate_3_2_1.xml create mode 100644 .idea/libraries/Maven__org_apache_commons_commons_collections4_4_1.xml create mode 100644 .idea/libraries/Maven__org_apache_commons_commons_lang3_3_8_1.xml create mode 100644 .idea/libraries/Maven__org_apache_commons_commons_math_2_2.xml create mode 100644 .idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_3_1.xml create mode 100644 .idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_3_1.xml create mode 100644 .idea/libraries/Maven__org_apache_httpcomponents_httpmime_4_5_9.xml create mode 100644 .idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_11_2.xml create mode 100644 .idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_11_2.xml create mode 100644 .idea/libraries/Maven__org_apache_poi_poi_3_17.xml create mode 100644 .idea/libraries/Maven__org_apache_poi_poi_ooxml_3_17.xml create mode 100644 .idea/libraries/Maven__org_apache_poi_poi_ooxml_schemas_3_17.xml create mode 100644 .idea/libraries/Maven__org_apache_shiro_shiro_cache_1_4_0.xml create mode 100644 .idea/libraries/Maven__org_apache_shiro_shiro_config_core_1_4_0.xml create mode 100644 .idea/libraries/Maven__org_apache_shiro_shiro_config_ogdl_1_4_0.xml create mode 100644 .idea/libraries/Maven__org_apache_shiro_shiro_core_1_4_0.xml create mode 100644 .idea/libraries/Maven__org_apache_shiro_shiro_crypto_cipher_1_4_0.xml create mode 100644 .idea/libraries/Maven__org_apache_shiro_shiro_crypto_core_1_4_0.xml create mode 100644 .idea/libraries/Maven__org_apache_shiro_shiro_crypto_hash_1_4_0.xml create mode 100644 .idea/libraries/Maven__org_apache_shiro_shiro_event_1_4_0.xml create mode 100644 .idea/libraries/Maven__org_apache_shiro_shiro_lang_1_4_0.xml create mode 100644 .idea/libraries/Maven__org_apache_shiro_shiro_spring_1_4_0.xml create mode 100644 .idea/libraries/Maven__org_apache_shiro_shiro_web_1_4_0.xml create mode 100644 .idea/libraries/Maven__org_apache_xmlbeans_xmlbeans_2_6_0.xml create mode 100644 .idea/libraries/Maven__org_aspectj_aspectjrt_1_9_4.xml create mode 100644 .idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_4.xml create mode 100644 .idea/libraries/Maven__org_assertj_assertj_core_3_11_1.xml create mode 100644 .idea/libraries/Maven__org_beanshell_bsh_2_0b5.xml create mode 100644 .idea/libraries/Maven__org_bouncycastle_bcpkix_jdk15on_1_60.xml create mode 100644 .idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_60.xml create mode 100644 .idea/libraries/Maven__org_codehaus_jettison_jettison_1_3_7.xml create mode 100644 .idea/libraries/Maven__org_codehaus_woodstox_stax2_api_3_1_4.xml create mode 100644 .idea/libraries/Maven__org_codehaus_woodstox_woodstox_core_asl_4_4_1.xml create mode 100644 .idea/libraries/Maven__org_eclipse_jetty_jetty_annotations_9_4_19_v20190610.xml create mode 100644 .idea/libraries/Maven__org_eclipse_jetty_jetty_client_9_4_19_v20190610.xml create mode 100644 .idea/libraries/Maven__org_eclipse_jetty_jetty_continuation_9_4_19_v20190610.xml create mode 100644 .idea/libraries/Maven__org_eclipse_jetty_jetty_http_9_4_19_v20190610.xml create mode 100644 .idea/libraries/Maven__org_eclipse_jetty_jetty_io_9_4_19_v20190610.xml create mode 100644 .idea/libraries/Maven__org_eclipse_jetty_jetty_plus_9_4_19_v20190610.xml create mode 100644 .idea/libraries/Maven__org_eclipse_jetty_jetty_security_9_4_19_v20190610.xml create mode 100644 .idea/libraries/Maven__org_eclipse_jetty_jetty_server_9_4_19_v20190610.xml create mode 100644 .idea/libraries/Maven__org_eclipse_jetty_jetty_servlet_9_4_19_v20190610.xml create mode 100644 .idea/libraries/Maven__org_eclipse_jetty_jetty_servlets_9_4_19_v20190610.xml create mode 100644 .idea/libraries/Maven__org_eclipse_jetty_jetty_util_9_4_19_v20190610.xml create mode 100644 .idea/libraries/Maven__org_eclipse_jetty_jetty_webapp_9_4_19_v20190610.xml create mode 100644 .idea/libraries/Maven__org_eclipse_jetty_jetty_xml_9_4_19_v20190610.xml create mode 100644 .idea/libraries/Maven__org_eclipse_jetty_websocket_javax_websocket_client_impl_9_4_19_v20190610.xml create mode 100644 .idea/libraries/Maven__org_eclipse_jetty_websocket_javax_websocket_server_impl_9_4_19_v20190610.xml create mode 100644 .idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_api_9_4_19_v20190610.xml create mode 100644 .idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_client_9_4_19_v20190610.xml create mode 100644 .idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_common_9_4_19_v20190610.xml create mode 100644 .idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_server_9_4_19_v20190610.xml create mode 100644 .idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_servlet_9_4_19_v20190610.xml create mode 100644 .idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml create mode 100644 .idea/libraries/Maven__org_hamcrest_hamcrest_library_1_3.xml create mode 100644 .idea/libraries/Maven__org_hdrhistogram_HdrHistogram_2_1_9.xml create mode 100644 .idea/libraries/Maven__org_hibernate_validator_hibernate_validator_6_0_17_Final.xml create mode 100644 .idea/libraries/Maven__org_jboss_logging_jboss_logging_3_3_3_Final.xml create mode 100644 .idea/libraries/Maven__org_jdom_jdom2_2_0_6.xml create mode 100644 .idea/libraries/Maven__org_json_json_20170516.xml create mode 100644 .idea/libraries/Maven__org_latencyutils_LatencyUtils_2_0_3.xml create mode 100644 .idea/libraries/Maven__org_mapstruct_mapstruct_1_2_0_Final.xml create mode 100644 .idea/libraries/Maven__org_mockito_mockito_core_2_23_4.xml create mode 100644 .idea/libraries/Maven__org_mortbay_jasper_apache_el_8_5_40.xml create mode 100644 .idea/libraries/Maven__org_mybatis_generator_mybatis_generator_core_1_3_7.xml create mode 100644 .idea/libraries/Maven__org_mybatis_mybatis_3_4_0.xml create mode 100644 .idea/libraries/Maven__org_mybatis_mybatis_spring_1_3_0.xml create mode 100644 .idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_1_1_1.xml create mode 100644 .idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_1_1_1.xml create mode 100644 .idea/libraries/Maven__org_objenesis_objenesis_2_6.xml create mode 100644 .idea/libraries/Maven__org_ow2_asm_asm_5_0_4.xml create mode 100644 .idea/libraries/Maven__org_ow2_asm_asm_7_1.xml create mode 100644 .idea/libraries/Maven__org_ow2_asm_asm_analysis_7_1.xml create mode 100644 .idea/libraries/Maven__org_ow2_asm_asm_commons_7_1.xml create mode 100644 .idea/libraries/Maven__org_ow2_asm_asm_tree_7_1.xml create mode 100644 .idea/libraries/Maven__org_projectlombok_lombok_1_18_8.xml create mode 100644 .idea/libraries/Maven__org_reactivestreams_reactive_streams_1_0_3.xml create mode 100644 .idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_0.xml create mode 100644 .idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_28.xml create mode 100644 .idea/libraries/Maven__org_slf4j_slf4j_api_1_7_28.xml create mode 100644 .idea/libraries/Maven__org_springframework_amqp_spring_amqp_2_1_8_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_amqp_spring_rabbit_2_1_8_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_2_1_8_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_2_1_8_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_autoconfigure_2_1_8_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_1_8_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_configuration_processor_2_1_8_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_devtools_2_1_8_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_1_8_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_actuator_2_1_8_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_amqp_2_1_8_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_2_1_8_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_redis_2_1_8_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_2_1_8_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jetty_2_1_8_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_1_8_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_1_8_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_2_1_8_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_1_8_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_websocket_2_1_8_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_test_2_1_8_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_1_8_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_cloud_spring_cloud_commons_2_0_2_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_cloud_spring_cloud_context_2_0_2_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_archaius_2_0_2_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_core_2_0_2_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_eureka_client_2_0_2_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_ribbon_2_0_2_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_cloud_spring_cloud_openfeign_core_2_0_2_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_cloud_spring_cloud_sleuth_core_2_0_2_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_cloud_spring_cloud_sleuth_zipkin_2_0_2_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_2_0_2_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_archaius_2_0_2_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_eureka_client_2_0_2_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_hystrix_2_0_2_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_ribbon_2_0_2_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_openfeign_2_0_2_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_sleuth_2_0_2_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_data_spring_data_commons_2_1_10_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_data_spring_data_keyvalue_2_1_10_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_data_spring_data_redis_2_1_10_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_plugin_spring_plugin_core_1_2_0_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_plugin_spring_plugin_metadata_1_2_0_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_retry_spring_retry_1_2_4_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_security_spring_security_crypto_5_1_6_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_security_spring_security_rsa_1_0_7_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_aop_5_1_9_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_beans_5_1_9_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_context_5_1_9_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_context_support_5_1_9_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_core_5_1_9_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_expression_5_1_9_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_jcl_5_1_9_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_jdbc_5_1_9_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_messaging_5_1_9_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_oxm_5_1_9_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_test_5_1_9_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_tx_5_1_9_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_web_5_1_9_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_webmvc_5_1_9_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_springframework_spring_websocket_5_1_9_RELEASE.xml create mode 100644 .idea/libraries/Maven__org_xmlunit_xmlunit_core_2_6_3.xml create mode 100644 .idea/libraries/Maven__org_yaml_snakeyaml_1_23.xml create mode 100644 .idea/libraries/Maven__stax_stax_api_1_0_1.xml create mode 100644 .idea/libraries/Maven__xmlpull_xmlpull_1_1_3_1.xml create mode 100644 .idea/libraries/Maven__xpp3_xpp3_min_1_1_4c.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 .idea/workspace.xml create mode 100644 cloudutil/target/classes/application-util-dev.yml create mode 100644 cloudutil/target/classes/com/ccsens/cloudutil/bean/QueryParam.class create mode 100644 cloudutil/target/classes/com/ccsens/cloudutil/feign/TallFeignClient.class create mode 100644 cloudutil/target/classes/com/ccsens/cloudutil/feign/TallFeignClientFallBack$1.class create mode 100644 cloudutil/target/classes/com/ccsens/cloudutil/feign/TallFeignClientFallBack.class create mode 100644 cloudutil/target/classes/com/ccsens/cloudutil/ribbon/RibbonClientConfig.class create mode 100644 cloudutil/target/classes/com/ccsens/cloudutil/ribbon/RibbonConfiguration.class create mode 100644 tall/src/main/java/com/ccsens/tall/bean/po/ProSubTimeMember.java create mode 100644 tall/src/main/java/com/ccsens/tall/bean/po/ProSubTimeMemberExample.java create mode 100644 tall/src/main/java/com/ccsens/tall/persist/dao/ProSubTimeMemberDao.java create mode 100644 tall/src/main/java/com/ccsens/tall/persist/mapper/ProSubTimeMemberMapper.java create mode 100644 tall/src/main/resources/mapper_raw/ProSubTimeMemberMapper.xml create mode 100644 tall/target/classes/application-common.yml create mode 100644 tall/target/classes/application-dev.yml create mode 100644 tall/target/classes/application-test.yml create mode 100644 tall/target/classes/application.yml create mode 100644 tall/target/classes/business.yml create mode 100644 tall/target/classes/com/ccsens/tall/TallApplication.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/DeliverDto$CheckDeliver.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/DeliverDto$UploadDeliver.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/DeliverDto$fileInfo.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/DeliverDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/HardwareDto$HardwareInfo.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/HardwareDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/MemberRoleDto$ProMemberRoleDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/MemberRoleDto$RoleId.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/MemberRoleDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/MessageDto$AckMessage.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/MessageDto$AuthMessage.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/MessageDto$HasReadMessage.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/MessageDto$NodeMessage.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/MessageDto$UserMessage.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/MessageDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/PluginDto$BatchDevice.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/PluginDto$BatchSetting.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/PluginDto$TaskSetting.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/PluginDto$__BatchSetting.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/PluginDto$__TaskSetting.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/PluginDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/ProTaskDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/ProjectDto$ProjectIdDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/ProjectDto$ProjectInfoDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/ProjectDto$RoleInfoDto$__RoleInfo.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/ProjectDto$RoleInfoDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/ProjectDto$TaskInfoDto$__TaskInfo.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/ProjectDto$TaskInfoDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/ProjectDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/Spider/ChuangYeFuWuXuQiu.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/Spider/GuDongXinXi$guQuanRongZi.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/Spider/GuDongXinXi$zhaiQuanRongZi.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/Spider/GuDongXinXi.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/Spider/HeXinTuanDui.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/Spider/JiBenXinXi$info.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/Spider/JiBenXinXi$zhuanLi.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/Spider/JiBenXinXi.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/Spider/ShangYeJiHuaShu.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/SpiderDto$Recommend.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/SpiderDto$RecommendList.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/SpiderDto$Spider.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/SpiderDto$SpiderHtml.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/SpiderDto$SpiderHtmlList.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/SpiderDto$SpiderList.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/SpiderDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/TaskDto$AddTask.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/TaskDto$ChangeBeginTime.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/TaskDto$ChangeTaskDuration.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/TaskDto$ChangeTaskInfo.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/TaskDto$CompleteTask.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/TaskDto$DeleteTask.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/TaskDto$InsertTask.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/TaskDto$MoveTask.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/TaskDto$StartTask.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/TaskDto$TaskSubTimeId.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/TaskDto$UpdateTask.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/TaskDto$__TaskDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/TaskDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/TaskTcp$__Plugin.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/TaskTcp.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/UserDto$Account.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/UserDto$UpdatePassword.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/UserDto$UpdatePhone.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/UserDto$UserSginin$Data.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/UserDto$UserSginin.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/UserDto$UserSignup.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/UserDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/AckMessageDto$Data.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/AckMessageDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/AuthMessageDto$Data.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/AuthMessageDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/BaseMessageDto$MessageUser.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/BaseMessageDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/BatchSettingMessageWithAnswerDto$Data.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/BatchSettingMessageWithAnswerDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/DeliverMessageWithCheckerDto$Data.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/DeliverMessageWithCheckerDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/DeliverMessageWithDeleteDto$Data.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/DeliverMessageWithDeleteDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/DeliverMessageWithUploadDto$Data.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/DeliverMessageWithUploadDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/MasterStatusMessageWithQueryDto$Data.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/MasterStatusMessageWithQueryDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/NodeMessageWithChangeStatusDto$Data.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/NodeMessageWithChangeStatusDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/NodeMessageWithPostCommentDto$Data.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/NodeMessageWithPostCommentDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/NodeMessageWithUploadDeliverDto$Data$Deliver.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/NodeMessageWithUploadDeliverDto$Data.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/NodeMessageWithUploadDeliverDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/RingMessageWithReadDto$Data.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/RingMessageWithReadDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/RingMessageWithSendDto$Data.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/RingMessageWithSendDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/SyncMessageWithAddDto$Data.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/SyncMessageWithAddDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/SyncMessageWithChangeBeginTimeDto$Data.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/SyncMessageWithChangeBeginTimeDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/SyncMessageWithChangeDurationDto$Data.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/SyncMessageWithChangeDurationDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/SyncMessageWithMoveDto$Data.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/SyncMessageWithMoveDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/SyncMessageWithReMoveDto$Data.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/SyncMessageWithReMoveDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/SyncMessageWithStartDto$Data.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/SyncMessageWithStartDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/UserMessageWithHasReadDto$Data.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/UserMessageWithHasReadDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/UserMessageWithUserDto$Data.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/dto/message/UserMessageWithUserDto.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProLog.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProLogExample$Criteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProLogExample$Criterion.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProLogExample$GeneratedCriteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProLogExample.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProMember.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProMemberExample$Criteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProMemberExample$Criterion.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProMemberExample$GeneratedCriteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProMemberExample.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProMemberRole.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProMemberRoleExample$Criteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProMemberRoleExample$Criterion.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProMemberRoleExample$GeneratedCriteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProMemberRoleExample.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProRole.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProRoleExample$Criteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProRoleExample$Criterion.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProRoleExample$GeneratedCriteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProRoleExample.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProRoleExeclude.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProRoleExecludeExample$Criteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProRoleExecludeExample$Criterion.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProRoleExecludeExample$GeneratedCriteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProRoleExecludeExample.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProRolePower.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProRolePowerExample$Criteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProRolePowerExample$Criterion.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProRolePowerExample$GeneratedCriteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProRolePowerExample.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProSubTimeMember.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProSubTimeMemberExample$Criteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProSubTimeMemberExample$Criterion.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProSubTimeMemberExample$GeneratedCriteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProSubTimeMemberExample.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskDeliver.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskDeliverExample$Criteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskDeliverExample$Criterion.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskDeliverExample$GeneratedCriteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskDeliverExample.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskDeliverPostLog.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskDeliverPostLogChecker.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskDeliverPostLogCheckerExample$Criteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskDeliverPostLogCheckerExample$Criterion.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskDeliverPostLogCheckerExample$GeneratedCriteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskDeliverPostLogCheckerExample.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskDeliverPostLogExample$Criteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskDeliverPostLogExample$Criterion.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskDeliverPostLogExample$GeneratedCriteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskDeliverPostLogExample.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskDetail.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskDetailExample$Criteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskDetailExample$Criterion.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskDetailExample$GeneratedCriteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskDetailExample.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskHardware.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskHardwareExample$Criteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskHardwareExample$Criterion.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskHardwareExample$GeneratedCriteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskHardwareExample.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskMember.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskMemberExample$Criteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskMemberExample$Criterion.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskMemberExample$GeneratedCriteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskMemberExample.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskPlugin.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskPluginExample$Criteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskPluginExample$Criterion.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskPluginExample$GeneratedCriteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskPluginExample.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskSubTime.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskSubTimeExample$Criteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskSubTimeExample$Criterion.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskSubTimeExample$GeneratedCriteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTaskSubTimeExample.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTodo.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTodoExample$Criteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTodoExample$Criterion.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTodoExample$GeneratedCriteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/ProTodoExample.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysAuth.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysAuthExample$Criteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysAuthExample$Criterion.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysAuthExample$GeneratedCriteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysAuthExample.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysBalanceLog.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysBalanceLogExample$Criteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysBalanceLogExample$Criterion.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysBalanceLogExample$GeneratedCriteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysBalanceLogExample.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysCommitedFile.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysCommitedFileExample$Criteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysCommitedFileExample$Criterion.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysCommitedFileExample$GeneratedCriteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysCommitedFileExample.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysGrade.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysGradeExample$Criteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysGradeExample$Criterion.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysGradeExample$GeneratedCriteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysGradeExample.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysPlugin.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysPluginExample$Criteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysPluginExample$Criterion.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysPluginExample$GeneratedCriteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysPluginExample.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysProject.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysProjectExample$Criteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysProjectExample$Criterion.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysProjectExample$GeneratedCriteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysProjectExample.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysScene.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysSceneExample$Criteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysSceneExample$Criterion.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysSceneExample$GeneratedCriteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysSceneExample.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysUser.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysUserExample$Criteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysUserExample$Criterion.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysUserExample$GeneratedCriteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/SysUserExample.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/UserAttention.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/UserAttentionExample$Criteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/UserAttentionExample$Criterion.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/UserAttentionExample$GeneratedCriteria.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/po/UserAttentionExample.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/DeliverVo$Checker.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/DeliverVo$DFile.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/DeliverVo$DProject.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/DeliverVo$DRole.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/DeliverVo$DTask.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/DeliverVo$DeliverFile.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/DeliverVo$DeliverFileList.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/DeliverVo$DeliverInfo.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/DeliverVo$FilePath.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/DeliverVo$PageInfo.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/DeliverVo.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/MemberVo$MemberInfo.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/MemberVo.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/PluginVo$PluginInfo.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/PluginVo.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/ProjectVo$DeliverInfo.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/ProjectVo$MembersByProject$BelongRole.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/ProjectVo$MembersByProject.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/ProjectVo$PageInfo.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/ProjectVo$ProMemberVo.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/ProjectVo$ProjectAllDetailed.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/ProjectVo$ProjectByKey.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/ProjectVo$ProjectInfo.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/ProjectVo$RoleInfo.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/ProjectVo$TemplateStatus.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/ProjectVo.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/TaskVo$FirstTask.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/TaskVo$GlobalTask.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/TaskVo$NormalTask.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/TaskVo$PageInfo.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/TaskVo$PluginVo.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/TaskVo$ProTaskInfo.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/TaskVo$ProTaskInfoByMVP.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/TaskVo$ProjectCheckList.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/TaskVo$RoleCheckList.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/TaskVo$TaskCheckList.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/TaskVo$TaskDeliverByMVP$DeliverInfoByMVP.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/TaskVo$TaskDeliverByMVP.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/TaskVo$TaskDetailByKey.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/TaskVo.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/UserVo$Account.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/UserVo$SmsCode.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/UserVo$TokenBean.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/UserVo$UserSign.class create mode 100644 tall/target/classes/com/ccsens/tall/bean/vo/UserVo.class create mode 100644 tall/target/classes/com/ccsens/tall/config/BeanConfig.class create mode 100644 tall/target/classes/com/ccsens/tall/config/BusinessProps.class create mode 100644 tall/target/classes/com/ccsens/tall/exception/GetCurrentPartiException.class create mode 100644 tall/target/classes/com/ccsens/tall/exception/GetCurrentUserException.class create mode 100644 tall/target/classes/com/ccsens/tall/exception/GetTaskException.class create mode 100644 tall/target/classes/com/ccsens/tall/exception/PartiLoginException.class create mode 100644 tall/target/classes/com/ccsens/tall/exception/SmsException.class create mode 100644 tall/target/classes/com/ccsens/tall/exception/TaskValidateException.class create mode 100644 tall/target/classes/com/ccsens/tall/exception/UnAuthenticationException.class create mode 100644 tall/target/classes/com/ccsens/tall/exception/UnAuthorizationException.class create mode 100644 tall/target/classes/com/ccsens/tall/exception/UserLoginException.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/dao/PostLogCheckerDao.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/dao/ProLogDao.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/dao/ProMemberDao.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/dao/ProMemberRoleDao.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/dao/ProRoleDao.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/dao/ProRoleExecludeDao.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/dao/ProSubTimeMemberDao.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/dao/ProTaskDeliverPostLogDao.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/dao/SysAuthDao.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/dao/SysCommitedFileDao.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/dao/SysPluginDao.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/dao/SysProjectDao.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/dao/SysUserDao.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/dao/TaskDeliverDao.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/dao/TaskDetailDao.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/dao/TaskMemberDao.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/dao/TaskPluginDao.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/dao/TaskSubTimeDao.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/dao/UserAttentionDao.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/mapper/ProLogMapper.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/mapper/ProMemberMapper.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/mapper/ProMemberRoleMapper.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/mapper/ProRoleExecludeMapper.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/mapper/ProRoleMapper.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/mapper/ProRolePowerMapper.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/mapper/ProSubTimeMemberMapper.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/mapper/ProTaskDeliverMapper.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/mapper/ProTaskDeliverPostLogCheckerMapper.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/mapper/ProTaskDeliverPostLogMapper.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/mapper/ProTaskDetailMapper.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/mapper/ProTaskHardwareMapper.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/mapper/ProTaskMemberMapper.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/mapper/ProTaskPluginMapper.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/mapper/ProTaskSubTimeMapper.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/mapper/ProTodoMapper.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/mapper/SysAuthMapper.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/mapper/SysBalanceLogMapper.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/mapper/SysCommitedFileMapper.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/mapper/SysGradeMapper.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/mapper/SysPluginMapper.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/mapper/SysProjectMapper.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/mapper/SysSceneMapper.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/mapper/SysUserMapper.class create mode 100644 tall/target/classes/com/ccsens/tall/persist/mapper/UserAttentionMapper.class create mode 100644 tall/target/classes/com/ccsens/tall/service/ExcelService.class create mode 100644 tall/target/classes/com/ccsens/tall/service/ExcludeRoleService.class create mode 100644 tall/target/classes/com/ccsens/tall/service/IExcelService.class create mode 100644 tall/target/classes/com/ccsens/tall/service/IExcludeRoleService.class create mode 100644 tall/target/classes/com/ccsens/tall/service/IMessageService.class create mode 100644 tall/target/classes/com/ccsens/tall/service/IProLogService.class create mode 100644 tall/target/classes/com/ccsens/tall/service/IProMemberRoleService.class create mode 100644 tall/target/classes/com/ccsens/tall/service/IProMemberService.class create mode 100644 tall/target/classes/com/ccsens/tall/service/IProRoleService.class create mode 100644 tall/target/classes/com/ccsens/tall/service/IProTaskDetailService.class create mode 100644 tall/target/classes/com/ccsens/tall/service/IProjectService.class create mode 100644 tall/target/classes/com/ccsens/tall/service/ISysPluginService.class create mode 100644 tall/target/classes/com/ccsens/tall/service/ITaskDeliverService.class create mode 100644 tall/target/classes/com/ccsens/tall/service/ITaskMemberService.class create mode 100644 tall/target/classes/com/ccsens/tall/service/ITaskPluginService.class create mode 100644 tall/target/classes/com/ccsens/tall/service/ITaskSubTimeService.class create mode 100644 tall/target/classes/com/ccsens/tall/service/IUserAttentionService.class create mode 100644 tall/target/classes/com/ccsens/tall/service/IUserService.class create mode 100644 tall/target/classes/com/ccsens/tall/service/MessageService.class create mode 100644 tall/target/classes/com/ccsens/tall/service/ProMemberRoleService.class create mode 100644 tall/target/classes/com/ccsens/tall/service/ProMemberService.class create mode 100644 tall/target/classes/com/ccsens/tall/service/ProRoleService.class create mode 100644 tall/target/classes/com/ccsens/tall/service/ProTaskDetailService.class create mode 100644 tall/target/classes/com/ccsens/tall/service/ProjectService.class create mode 100644 tall/target/classes/com/ccsens/tall/service/SysPluginService.class create mode 100644 tall/target/classes/com/ccsens/tall/service/TaskDeliverService.class create mode 100644 tall/target/classes/com/ccsens/tall/service/TaskMemberService.class create mode 100644 tall/target/classes/com/ccsens/tall/service/TaskPluginService.class create mode 100644 tall/target/classes/com/ccsens/tall/service/TaskSubTimeService.class create mode 100644 tall/target/classes/com/ccsens/tall/service/UserAttentionService.class create mode 100644 tall/target/classes/com/ccsens/tall/service/UserService$1.class create mode 100644 tall/target/classes/com/ccsens/tall/service/UserService.class create mode 100644 tall/target/classes/com/ccsens/tall/service/proLogService.class create mode 100644 tall/target/classes/com/ccsens/tall/util/TaskUtil$Task.class create mode 100644 tall/target/classes/com/ccsens/tall/util/TaskUtil.class create mode 100644 tall/target/classes/com/ccsens/tall/web/DeliverController.class create mode 100644 tall/target/classes/com/ccsens/tall/web/ExcelController.class create mode 100644 tall/target/classes/com/ccsens/tall/web/IndexController.class create mode 100644 tall/target/classes/com/ccsens/tall/web/PluginController.class create mode 100644 tall/target/classes/com/ccsens/tall/web/ProjectController.class create mode 100644 tall/target/classes/com/ccsens/tall/web/TaskController.class create mode 100644 tall/target/classes/com/ccsens/tall/web/UserController$1.class create mode 100644 tall/target/classes/com/ccsens/tall/web/UserController.class create mode 100644 tall/target/classes/druid-dev.yml create mode 100644 tall/target/classes/druid-prod.yml create mode 100644 tall/target/classes/druid-test.yml create mode 100644 tall/target/classes/logback-spring.xml create mode 100644 tall/target/classes/mapper_dao/DeliverDao.xml create mode 100644 tall/target/classes/mapper_dao/ProMemberDao.xml create mode 100644 tall/target/classes/mapper_dao/ProRoleDao.xml create mode 100644 tall/target/classes/mapper_dao/SysPluginDao.xml create mode 100644 tall/target/classes/mapper_dao/SysProjectDao.xml create mode 100644 tall/target/classes/mapper_dao/TaskDetailDao.xml create mode 100644 tall/target/classes/mapper_raw/ProLogMapper.xml create mode 100644 tall/target/classes/mapper_raw/ProMemberMapper.xml create mode 100644 tall/target/classes/mapper_raw/ProMemberRoleMapper.xml create mode 100644 tall/target/classes/mapper_raw/ProRoleExecludeMapper.xml create mode 100644 tall/target/classes/mapper_raw/ProRoleMapper.xml create mode 100644 tall/target/classes/mapper_raw/ProRolePowerMapper.xml create mode 100644 tall/target/classes/mapper_raw/ProSubTimeMemberMapper.xml create mode 100644 tall/target/classes/mapper_raw/ProTaskDeliverMapper.xml create mode 100644 tall/target/classes/mapper_raw/ProTaskDeliverPostLogCheckerMapper.xml create mode 100644 tall/target/classes/mapper_raw/ProTaskDeliverPostLogMapper.xml create mode 100644 tall/target/classes/mapper_raw/ProTaskDetailMapper.xml create mode 100644 tall/target/classes/mapper_raw/ProTaskHardwareMapper.xml create mode 100644 tall/target/classes/mapper_raw/ProTaskMemberMapper.xml create mode 100644 tall/target/classes/mapper_raw/ProTaskPluginMapper.xml create mode 100644 tall/target/classes/mapper_raw/ProTaskSubTimeMapper.xml create mode 100644 tall/target/classes/mapper_raw/ProTodoMapper.xml create mode 100644 tall/target/classes/mapper_raw/SysAuthMapper.xml create mode 100644 tall/target/classes/mapper_raw/SysBalanceLogMapper.xml create mode 100644 tall/target/classes/mapper_raw/SysCommitedFileMapper.xml create mode 100644 tall/target/classes/mapper_raw/SysGradeMapper.xml create mode 100644 tall/target/classes/mapper_raw/SysPluginMapper.xml create mode 100644 tall/target/classes/mapper_raw/SysProjectMapper.xml create mode 100644 tall/target/classes/mapper_raw/SysSceneMapper.xml create mode 100644 tall/target/classes/mapper_raw/SysUserMapper.xml create mode 100644 tall/target/classes/mapper_raw/UserAttentionMapper.xml create mode 100644 tall/target/classes/mybatis/mybatis-config.xml create mode 100644 tall/target/classes/template/excel1.xlsx create mode 100644 tall/target/classes/template/excel2.xlsx create mode 100644 tall/target/classes/template/spiderTemplate.docx create mode 100644 tall/target/classes/template/spiderTemplate.xlsx create mode 100644 tall/target/classes/template/wordTemplate.docx create mode 100644 util/target/classes/META-INF/spring-configuration-metadata.json create mode 100644 util/target/classes/com/ccsens/util/BeanWrapperUtil.class create mode 100644 util/target/classes/com/ccsens/util/CodeEnum.class create mode 100644 util/target/classes/com/ccsens/util/DateUtil.class create mode 100644 util/target/classes/com/ccsens/util/ExcelUtil.class create mode 100644 util/target/classes/com/ccsens/util/GenericsUtils.class create mode 100644 util/target/classes/com/ccsens/util/GetUserInfoException.class create mode 100644 util/target/classes/com/ccsens/util/HttpServletUtil.class create mode 100644 util/target/classes/com/ccsens/util/HttpsUtil.class create mode 100644 util/target/classes/com/ccsens/util/ImgUtil.class create mode 100644 util/target/classes/com/ccsens/util/JacksonUtil$1.class create mode 100644 util/target/classes/com/ccsens/util/JacksonUtil.class create mode 100644 util/target/classes/com/ccsens/util/JsonResponse$RegularError.class create mode 100644 util/target/classes/com/ccsens/util/JsonResponse$TokenError.class create mode 100644 util/target/classes/com/ccsens/util/JsonResponse.class create mode 100644 util/target/classes/com/ccsens/util/JsonResponse1$Data.class create mode 100644 util/target/classes/com/ccsens/util/JsonResponse1$Link.class create mode 100644 util/target/classes/com/ccsens/util/JsonResponse1$Meta$RegularError.class create mode 100644 util/target/classes/com/ccsens/util/JsonResponse1$Meta$TokenError.class create mode 100644 util/target/classes/com/ccsens/util/JsonResponse1$Meta.class create mode 100644 util/target/classes/com/ccsens/util/JsonResponse1.class create mode 100644 util/target/classes/com/ccsens/util/JsonResponse2$RegularError.class create mode 100644 util/target/classes/com/ccsens/util/JsonResponse2$TokenError.class create mode 100644 util/target/classes/com/ccsens/util/JsonResponse2.class create mode 100644 util/target/classes/com/ccsens/util/JwtUtil$JwtError.class create mode 100644 util/target/classes/com/ccsens/util/JwtUtil.class create mode 100644 util/target/classes/com/ccsens/util/Md5Util.class create mode 100644 util/target/classes/com/ccsens/util/MyJacksonObjectMapper.class create mode 100644 util/target/classes/com/ccsens/util/MyX509TrustManager.class create mode 100644 util/target/classes/com/ccsens/util/NotSupportedFileTypeException.class create mode 100644 util/target/classes/com/ccsens/util/PasswordEncryptionUtil.class create mode 100644 util/target/classes/com/ccsens/util/PayException.class create mode 100644 util/target/classes/com/ccsens/util/PoiUtil.class create mode 100644 util/target/classes/com/ccsens/util/PropUtil.class create mode 100644 util/target/classes/com/ccsens/util/RedisKeyManager.class create mode 100644 util/target/classes/com/ccsens/util/RedisUtil.class create mode 100644 util/target/classes/com/ccsens/util/SQLUtil.class create mode 100644 util/target/classes/com/ccsens/util/Sha1Util.class create mode 100644 util/target/classes/com/ccsens/util/ShiroKit.class create mode 100644 util/target/classes/com/ccsens/util/SmsUtil.class create mode 100644 util/target/classes/com/ccsens/util/SpringContextUtils.class create mode 100644 util/target/classes/com/ccsens/util/StringUtil.class create mode 100644 util/target/classes/com/ccsens/util/ToolUtil.class create mode 100644 util/target/classes/com/ccsens/util/UploadFileUtil_Servlet3.class create mode 100644 util/target/classes/com/ccsens/util/WebConstant$APP_SCENE.class create mode 100644 util/target/classes/com/ccsens/util/WebConstant$CLIENT_TYPE.class create mode 100644 util/target/classes/com/ccsens/util/WebConstant$EVENT_PROCESS.class create mode 100644 util/target/classes/com/ccsens/util/WebConstant$Gender.class create mode 100644 util/target/classes/com/ccsens/util/WebConstant$IDENTIFY_TYPE.class create mode 100644 util/target/classes/com/ccsens/util/WebConstant$Message_Ack_Event.class create mode 100644 util/target/classes/com/ccsens/util/WebConstant$Message_Admin_Event.class create mode 100644 util/target/classes/com/ccsens/util/WebConstant$Message_Auth_Event.class create mode 100644 util/target/classes/com/ccsens/util/WebConstant$Message_BatchSetting_Event.class create mode 100644 util/target/classes/com/ccsens/util/WebConstant$Message_Channel_Event.class create mode 100644 util/target/classes/com/ccsens/util/WebConstant$Message_Deliver_Event.class create mode 100644 util/target/classes/com/ccsens/util/WebConstant$Message_Heart_Event.class create mode 100644 util/target/classes/com/ccsens/util/WebConstant$Message_MasterStatus_Event.class create mode 100644 util/target/classes/com/ccsens/util/WebConstant$Message_Node_Event.class create mode 100644 util/target/classes/com/ccsens/util/WebConstant$Message_Ring_Event.class create mode 100644 util/target/classes/com/ccsens/util/WebConstant$Message_Sync_Event.class create mode 100644 util/target/classes/com/ccsens/util/WebConstant$Message_Type.class create mode 100644 util/target/classes/com/ccsens/util/WebConstant$Message_User_Event.class create mode 100644 util/target/classes/com/ccsens/util/WebConstant$NODE_USER_ROLE_TYPE.class create mode 100644 util/target/classes/com/ccsens/util/WebConstant$PARTI_DEVICE_TYPE.class create mode 100644 util/target/classes/com/ccsens/util/WebConstant$PARTI_LOGIN_STATUS.class create mode 100644 util/target/classes/com/ccsens/util/WebConstant$PartiVerify.class create mode 100644 util/target/classes/com/ccsens/util/WebConstant$Parti_Verify_Type.class create mode 100644 util/target/classes/com/ccsens/util/WebConstant$REC_STATUS.class create mode 100644 util/target/classes/com/ccsens/util/WebConstant$ROLE_NAME.class create mode 100644 util/target/classes/com/ccsens/util/WebConstant$Role.class create mode 100644 util/target/classes/com/ccsens/util/WebConstant$TASK_DELAY.class create mode 100644 util/target/classes/com/ccsens/util/WebConstant$TASK_Execute_Type.class create mode 100644 util/target/classes/com/ccsens/util/WebConstant$TASK_LEVEL.class create mode 100644 util/target/classes/com/ccsens/util/WebConstant$TASK_VIRTUAL.class create mode 100644 util/target/classes/com/ccsens/util/WebConstant$Task_Check_Status.class create mode 100644 util/target/classes/com/ccsens/util/WebConstant.class create mode 100644 util/target/classes/com/ccsens/util/WechatUtil$PreparePayBean.class create mode 100644 util/target/classes/com/ccsens/util/WechatUtil$PreparePayReSignBean.class create mode 100644 util/target/classes/com/ccsens/util/WechatUtil$PreparePayResultBean.class create mode 100644 util/target/classes/com/ccsens/util/WechatUtil$WechatCode.class create mode 100644 util/target/classes/com/ccsens/util/WechatUtil$WechatToken.class create mode 100644 util/target/classes/com/ccsens/util/WechatUtil$WechatUser.class create mode 100644 util/target/classes/com/ccsens/util/WechatUtil.class create mode 100644 util/target/classes/com/ccsens/util/bean/BaseVo.class create mode 100644 util/target/classes/com/ccsens/util/config/CommonConfig.class create mode 100644 util/target/classes/com/ccsens/util/config/ControllerExceptionHandler.class create mode 100644 util/target/classes/com/ccsens/util/config/DruidProps.class create mode 100644 util/target/classes/com/ccsens/util/config/H5WebSocketInterceptor.class create mode 100644 util/target/classes/com/ccsens/util/config/MyPropertySourceFactory.class create mode 100644 util/target/classes/com/ccsens/util/config/RabbitMQConfig.class create mode 100644 util/target/classes/com/ccsens/util/config/RedisConfig.class create mode 100644 util/target/classes/com/ccsens/util/config/ServletConfig.class create mode 100644 util/target/classes/com/ccsens/util/config/SpringConfig.class create mode 100644 util/target/classes/com/ccsens/util/config/SwaggerConfigure.class create mode 100644 util/target/classes/com/ccsens/util/cron/CronConstant$CronExpression.class create mode 100644 util/target/classes/com/ccsens/util/cron/CronConstant$TaskCron.class create mode 100644 util/target/classes/com/ccsens/util/cron/CronConstant$TaskDate.class create mode 100644 util/target/classes/com/ccsens/util/cron/CronConstant.class create mode 100644 util/target/classes/com/ccsens/util/cron/NatureConstant.class create mode 100644 util/target/classes/com/ccsens/util/cron/NatureLanguage.class create mode 100644 util/target/classes/com/ccsens/util/cron/NatureToDate.class create mode 100644 util/target/classes/com/ccsens/util/exception/BaseException.class diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 00000000..c426cd15 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 00000000..2e9b25c0 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 00000000..6560a989 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,36 @@ + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__antlr_antlr_2_7_7.xml b/.idea/libraries/Maven__antlr_antlr_2_7_7.xml new file mode 100644 index 00000000..536821c8 --- /dev/null +++ b/.idea/libraries/Maven__antlr_antlr_2_7_7.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__aopalliance_aopalliance_1_0.xml b/.idea/libraries/Maven__aopalliance_aopalliance_1_0.xml new file mode 100644 index 00000000..9c1deaaa --- /dev/null +++ b/.idea/libraries/Maven__aopalliance_aopalliance_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_3.xml b/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_3.xml new file mode 100644 index 00000000..dd874c7d --- /dev/null +++ b/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__ch_qos_logback_logback_core_1_2_3.xml b/.idea/libraries/Maven__ch_qos_logback_logback_core_1_2_3.xml new file mode 100644 index 00000000..974b2b2f --- /dev/null +++ b/.idea/libraries/Maven__ch_qos_logback_logback_core_1_2_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__cn_hutool_hutool_all_4_1_21.xml b/.idea/libraries/Maven__cn_hutool_hutool_all_4_1_21.xml new file mode 100644 index 00000000..2c1ebb25 --- /dev/null +++ b/.idea/libraries/Maven__cn_hutool_hutool_all_4_1_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_alibaba_druid_1_1_10.xml b/.idea/libraries/Maven__com_alibaba_druid_1_1_10.xml new file mode 100644 index 00000000..61b011ff --- /dev/null +++ b/.idea/libraries/Maven__com_alibaba_druid_1_1_10.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_alibaba_fastjson_1_2_62.xml b/.idea/libraries/Maven__com_alibaba_fastjson_1_2_62.xml new file mode 100644 index 00000000..07ced7ee --- /dev/null +++ b/.idea/libraries/Maven__com_alibaba_fastjson_1_2_62.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_classmate_1_4_0.xml b/.idea/libraries/Maven__com_fasterxml_classmate_1_4_0.xml new file mode 100644 index 00000000..d9050a48 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_classmate_1_4_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml new file mode 100644 index 00000000..00770912 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_9_9.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_9_9.xml new file mode 100644 index 00000000..66985d92 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_9_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_9_9_3.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_9_9_3.xml new file mode 100644 index 00000000..2c87400e --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_9_9_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_9_0.xml b/.idea/libraries/Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_9_0.xml new file mode 100644 index 00000000..539dac2d --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_9_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_9_9.xml b/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_9_9.xml new file mode 100644 index 00000000..8502ae46 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_9_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_9_9.xml b/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_9_9.xml new file mode 100644 index 00000000..b4de13cd --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_9_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_afterburner_2_9_9.xml b/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_afterburner_2_9_9.xml new file mode 100644 index 00000000..86058979 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_afterburner_2_9_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_9_9.xml b/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_9_9.xml new file mode 100644 index 00000000..a25c6f20 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_9_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_9_9.xml b/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_9_9.xml new file mode 100644 index 00000000..0c8bdeee --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_9_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_woodstox_woodstox_core_5_0_3.xml b/.idea/libraries/Maven__com_fasterxml_woodstox_woodstox_core_5_0_3.xml new file mode 100644 index 00000000..0605294c --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_woodstox_woodstox_core_5_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_github_andrewoma_dexx_dexx_collections_0_2.xml b/.idea/libraries/Maven__com_github_andrewoma_dexx_dexx_collections_0_2.xml new file mode 100644 index 00000000..9835b4ab --- /dev/null +++ b/.idea/libraries/Maven__com_github_andrewoma_dexx_dexx_collections_0_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_0_9_5.xml b/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_0_9_5.xml new file mode 100644 index 00000000..0984787a --- /dev/null +++ b/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_0_9_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_github_pagehelper_pagehelper_4_1_4.xml b/.idea/libraries/Maven__com_github_pagehelper_pagehelper_4_1_4.xml new file mode 100644 index 00000000..a93de30d --- /dev/null +++ b/.idea/libraries/Maven__com_github_pagehelper_pagehelper_4_1_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_github_qcloudsms_qcloudsms_1_0_5.xml b/.idea/libraries/Maven__com_github_qcloudsms_qcloudsms_1_0_5.xml new file mode 100644 index 00000000..4108752e --- /dev/null +++ b/.idea/libraries/Maven__com_github_qcloudsms_qcloudsms_1_0_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_github_virtuald_curvesapi_1_04.xml b/.idea/libraries/Maven__com_github_virtuald_curvesapi_1_04.xml new file mode 100644 index 00000000..b7991dc7 --- /dev/null +++ b/.idea/libraries/Maven__com_github_virtuald_curvesapi_1_04.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_github_vlsi_compactmap_compactmap_1_2_1.xml b/.idea/libraries/Maven__com_github_vlsi_compactmap_compactmap_1_2_1.xml new file mode 100644 index 00000000..6b2af78f --- /dev/null +++ b/.idea/libraries/Maven__com_github_vlsi_compactmap_compactmap_1_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_code_findbugs_annotations_3_0_1.xml b/.idea/libraries/Maven__com_google_code_findbugs_annotations_3_0_1.xml new file mode 100644 index 00000000..e86f2fb9 --- /dev/null +++ b/.idea/libraries/Maven__com_google_code_findbugs_annotations_3_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_1.xml b/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_1.xml new file mode 100644 index 00000000..f2e06ff4 --- /dev/null +++ b/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_code_gson_gson_2_8_5.xml b/.idea/libraries/Maven__com_google_code_gson_gson_2_8_5.xml new file mode 100644 index 00000000..0ab965c6 --- /dev/null +++ b/.idea/libraries/Maven__com_google_code_gson_gson_2_8_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_guava_guava_20_0.xml b/.idea/libraries/Maven__com_google_guava_guava_20_0.xml new file mode 100644 index 00000000..e38a4e07 --- /dev/null +++ b/.idea/libraries/Maven__com_google_guava_guava_20_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_inject_guice_4_1_0.xml b/.idea/libraries/Maven__com_google_inject_guice_4_1_0.xml new file mode 100644 index 00000000..043c8db0 --- /dev/null +++ b/.idea/libraries/Maven__com_google_inject_guice_4_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_4_0.xml b/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_4_0.xml new file mode 100644 index 00000000..a9e262be --- /dev/null +++ b/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_4_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_netflix_archaius_archaius_core_0_7_6.xml b/.idea/libraries/Maven__com_netflix_archaius_archaius_core_0_7_6.xml new file mode 100644 index 00000000..2a63c828 --- /dev/null +++ b/.idea/libraries/Maven__com_netflix_archaius_archaius_core_0_7_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_netflix_eureka_eureka_client_1_9_3.xml b/.idea/libraries/Maven__com_netflix_eureka_eureka_client_1_9_3.xml new file mode 100644 index 00000000..6bee69bd --- /dev/null +++ b/.idea/libraries/Maven__com_netflix_eureka_eureka_client_1_9_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_netflix_eureka_eureka_core_1_9_3.xml b/.idea/libraries/Maven__com_netflix_eureka_eureka_core_1_9_3.xml new file mode 100644 index 00000000..c126864c --- /dev/null +++ b/.idea/libraries/Maven__com_netflix_eureka_eureka_core_1_9_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_netflix_hystrix_hystrix_core_1_5_12.xml b/.idea/libraries/Maven__com_netflix_hystrix_hystrix_core_1_5_12.xml new file mode 100644 index 00000000..a8797694 --- /dev/null +++ b/.idea/libraries/Maven__com_netflix_hystrix_hystrix_core_1_5_12.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_netflix_hystrix_hystrix_javanica_1_5_12.xml b/.idea/libraries/Maven__com_netflix_hystrix_hystrix_javanica_1_5_12.xml new file mode 100644 index 00000000..19d41d74 --- /dev/null +++ b/.idea/libraries/Maven__com_netflix_hystrix_hystrix_javanica_1_5_12.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_netflix_hystrix_hystrix_metrics_event_stream_1_5_12.xml b/.idea/libraries/Maven__com_netflix_hystrix_hystrix_metrics_event_stream_1_5_12.xml new file mode 100644 index 00000000..3cd4eed3 --- /dev/null +++ b/.idea/libraries/Maven__com_netflix_hystrix_hystrix_metrics_event_stream_1_5_12.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_netflix_hystrix_hystrix_serialization_1_5_12.xml b/.idea/libraries/Maven__com_netflix_hystrix_hystrix_serialization_1_5_12.xml new file mode 100644 index 00000000..0bff53c5 --- /dev/null +++ b/.idea/libraries/Maven__com_netflix_hystrix_hystrix_serialization_1_5_12.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_commons_util_0_3_0.xml b/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_commons_util_0_3_0.xml new file mode 100644 index 00000000..69016503 --- /dev/null +++ b/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_commons_util_0_3_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_eventbus_0_3_0.xml b/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_eventbus_0_3_0.xml new file mode 100644 index 00000000..59a2aef0 --- /dev/null +++ b/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_eventbus_0_3_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_infix_0_3_0.xml b/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_infix_0_3_0.xml new file mode 100644 index 00000000..26bf19b1 --- /dev/null +++ b/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_infix_0_3_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_statistics_0_1_1.xml b/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_statistics_0_1_1.xml new file mode 100644 index 00000000..8c3b29f7 --- /dev/null +++ b/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_statistics_0_1_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_netflix_ribbon_ribbon_2_2_5.xml b/.idea/libraries/Maven__com_netflix_ribbon_ribbon_2_2_5.xml new file mode 100644 index 00000000..42ece554 --- /dev/null +++ b/.idea/libraries/Maven__com_netflix_ribbon_ribbon_2_2_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_netflix_ribbon_ribbon_core_2_2_5.xml b/.idea/libraries/Maven__com_netflix_ribbon_ribbon_core_2_2_5.xml new file mode 100644 index 00000000..d60cc389 --- /dev/null +++ b/.idea/libraries/Maven__com_netflix_ribbon_ribbon_core_2_2_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_netflix_ribbon_ribbon_eureka_2_2_5.xml b/.idea/libraries/Maven__com_netflix_ribbon_ribbon_eureka_2_2_5.xml new file mode 100644 index 00000000..4e66fb73 --- /dev/null +++ b/.idea/libraries/Maven__com_netflix_ribbon_ribbon_eureka_2_2_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_netflix_ribbon_ribbon_httpclient_2_2_5.xml b/.idea/libraries/Maven__com_netflix_ribbon_ribbon_httpclient_2_2_5.xml new file mode 100644 index 00000000..1bfea867 --- /dev/null +++ b/.idea/libraries/Maven__com_netflix_ribbon_ribbon_httpclient_2_2_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_netflix_ribbon_ribbon_loadbalancer_2_2_5.xml b/.idea/libraries/Maven__com_netflix_ribbon_ribbon_loadbalancer_2_2_5.xml new file mode 100644 index 00000000..2a11e1aa --- /dev/null +++ b/.idea/libraries/Maven__com_netflix_ribbon_ribbon_loadbalancer_2_2_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_netflix_ribbon_ribbon_transport_2_2_5.xml b/.idea/libraries/Maven__com_netflix_ribbon_ribbon_transport_2_2_5.xml new file mode 100644 index 00000000..497f7398 --- /dev/null +++ b/.idea/libraries/Maven__com_netflix_ribbon_ribbon_transport_2_2_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_netflix_servo_servo_core_0_12_21.xml b/.idea/libraries/Maven__com_netflix_servo_servo_core_0_12_21.xml new file mode 100644 index 00000000..8620327d --- /dev/null +++ b/.idea/libraries/Maven__com_netflix_servo_servo_core_0_12_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_rabbitmq_amqp_client_5_4_3.xml b/.idea/libraries/Maven__com_rabbitmq_amqp_client_5_4_3.xml new file mode 100644 index 00000000..90fa2ba2 --- /dev/null +++ b/.idea/libraries/Maven__com_rabbitmq_amqp_client_5_4_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_sun_jersey_contribs_jersey_apache_client4_1_19_1.xml b/.idea/libraries/Maven__com_sun_jersey_contribs_jersey_apache_client4_1_19_1.xml new file mode 100644 index 00000000..a83d0f77 --- /dev/null +++ b/.idea/libraries/Maven__com_sun_jersey_contribs_jersey_apache_client4_1_19_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_sun_jersey_jersey_client_1_19_1.xml b/.idea/libraries/Maven__com_sun_jersey_jersey_client_1_19_1.xml new file mode 100644 index 00000000..eb021712 --- /dev/null +++ b/.idea/libraries/Maven__com_sun_jersey_jersey_client_1_19_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_sun_jersey_jersey_core_1_19_1.xml b/.idea/libraries/Maven__com_sun_jersey_jersey_core_1_19_1.xml new file mode 100644 index 00000000..8a261e2e --- /dev/null +++ b/.idea/libraries/Maven__com_sun_jersey_jersey_core_1_19_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_thoughtworks_xstream_xstream_1_4_10.xml b/.idea/libraries/Maven__com_thoughtworks_xstream_xstream_1_4_10.xml new file mode 100644 index 00000000..fe1bb116 --- /dev/null +++ b/.idea/libraries/Maven__com_thoughtworks_xstream_xstream_1_4_10.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_zaxxer_HikariCP_3_2_0.xml b/.idea/libraries/Maven__com_zaxxer_HikariCP_3_2_0.xml new file mode 100644 index 00000000..5ccc3aaf --- /dev/null +++ b/.idea/libraries/Maven__com_zaxxer_HikariCP_3_2_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_beanutils_commons_beanutils_1_9_3.xml b/.idea/libraries/Maven__commons_beanutils_commons_beanutils_1_9_3.xml new file mode 100644 index 00000000..923a9408 --- /dev/null +++ b/.idea/libraries/Maven__commons_beanutils_commons_beanutils_1_9_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_codec_commons_codec_1_11.xml b/.idea/libraries/Maven__commons_codec_commons_codec_1_11.xml new file mode 100644 index 00000000..a6d25f29 --- /dev/null +++ b/.idea/libraries/Maven__commons_codec_commons_codec_1_11.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_collections_commons_collections_3_2_2.xml b/.idea/libraries/Maven__commons_collections_commons_collections_3_2_2.xml new file mode 100644 index 00000000..a5603ea5 --- /dev/null +++ b/.idea/libraries/Maven__commons_collections_commons_collections_3_2_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_configuration_commons_configuration_1_8.xml b/.idea/libraries/Maven__commons_configuration_commons_configuration_1_8.xml new file mode 100644 index 00000000..1a96694d --- /dev/null +++ b/.idea/libraries/Maven__commons_configuration_commons_configuration_1_8.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_3_3.xml b/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_3_3.xml new file mode 100644 index 00000000..f29ce862 --- /dev/null +++ b/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_3_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_io_commons_io_2_2.xml b/.idea/libraries/Maven__commons_io_commons_io_2_2.xml new file mode 100644 index 00000000..b0ed4164 --- /dev/null +++ b/.idea/libraries/Maven__commons_io_commons_io_2_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_jxpath_commons_jxpath_1_3.xml b/.idea/libraries/Maven__commons_jxpath_commons_jxpath_1_3.xml new file mode 100644 index 00000000..604e494e --- /dev/null +++ b/.idea/libraries/Maven__commons_jxpath_commons_jxpath_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_lang_commons_lang_2_6.xml b/.idea/libraries/Maven__commons_lang_commons_lang_2_6.xml new file mode 100644 index 00000000..a3b5d101 --- /dev/null +++ b/.idea/libraries/Maven__commons_lang_commons_lang_2_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_github_openfeign_feign_core_9_7_0.xml b/.idea/libraries/Maven__io_github_openfeign_feign_core_9_7_0.xml new file mode 100644 index 00000000..1f015dfc --- /dev/null +++ b/.idea/libraries/Maven__io_github_openfeign_feign_core_9_7_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_github_openfeign_feign_hystrix_9_7_0.xml b/.idea/libraries/Maven__io_github_openfeign_feign_hystrix_9_7_0.xml new file mode 100644 index 00000000..ce6ac69f --- /dev/null +++ b/.idea/libraries/Maven__io_github_openfeign_feign_hystrix_9_7_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_github_openfeign_feign_java8_9_7_0.xml b/.idea/libraries/Maven__io_github_openfeign_feign_java8_9_7_0.xml new file mode 100644 index 00000000..77a431d0 --- /dev/null +++ b/.idea/libraries/Maven__io_github_openfeign_feign_java8_9_7_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_github_openfeign_feign_slf4j_9_7_0.xml b/.idea/libraries/Maven__io_github_openfeign_feign_slf4j_9_7_0.xml new file mode 100644 index 00000000..15db94e1 --- /dev/null +++ b/.idea/libraries/Maven__io_github_openfeign_feign_slf4j_9_7_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_github_openfeign_form_feign_form_3_3_0.xml b/.idea/libraries/Maven__io_github_openfeign_form_feign_form_3_3_0.xml new file mode 100644 index 00000000..7e3c7a65 --- /dev/null +++ b/.idea/libraries/Maven__io_github_openfeign_form_feign_form_3_3_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_github_openfeign_form_feign_form_spring_3_3_0.xml b/.idea/libraries/Maven__io_github_openfeign_form_feign_form_spring_3_3_0.xml new file mode 100644 index 00000000..859d1b63 --- /dev/null +++ b/.idea/libraries/Maven__io_github_openfeign_form_feign_form_spring_3_3_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_jsonwebtoken_jjwt_0_7_0.xml b/.idea/libraries/Maven__io_jsonwebtoken_jjwt_0_7_0.xml new file mode 100644 index 00000000..78e8df7c --- /dev/null +++ b/.idea/libraries/Maven__io_jsonwebtoken_jjwt_0_7_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_lettuce_lettuce_core_5_1_8_RELEASE.xml b/.idea/libraries/Maven__io_lettuce_lettuce_core_5_1_8_RELEASE.xml new file mode 100644 index 00000000..5048a765 --- /dev/null +++ b/.idea/libraries/Maven__io_lettuce_lettuce_core_5_1_8_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_micrometer_micrometer_core_1_1_6.xml b/.idea/libraries/Maven__io_micrometer_micrometer_core_1_1_6.xml new file mode 100644 index 00000000..c49ac62b --- /dev/null +++ b/.idea/libraries/Maven__io_micrometer_micrometer_core_1_1_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_buffer_4_1_39_Final.xml b/.idea/libraries/Maven__io_netty_netty_buffer_4_1_39_Final.xml new file mode 100644 index 00000000..426d0e07 --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_buffer_4_1_39_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_codec_4_1_39_Final.xml b/.idea/libraries/Maven__io_netty_netty_codec_4_1_39_Final.xml new file mode 100644 index 00000000..6afb8374 --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_codec_4_1_39_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_common_4_1_39_Final.xml b/.idea/libraries/Maven__io_netty_netty_common_4_1_39_Final.xml new file mode 100644 index 00000000..57397bf7 --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_common_4_1_39_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_handler_4_1_39_Final.xml b/.idea/libraries/Maven__io_netty_netty_handler_4_1_39_Final.xml new file mode 100644 index 00000000..e9869509 --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_handler_4_1_39_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_resolver_4_1_39_Final.xml b/.idea/libraries/Maven__io_netty_netty_resolver_4_1_39_Final.xml new file mode 100644 index 00000000..56d9b45c --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_resolver_4_1_39_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_transport_4_1_39_Final.xml b/.idea/libraries/Maven__io_netty_netty_transport_4_1_39_Final.xml new file mode 100644 index 00000000..d7715b52 --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_transport_4_1_39_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_projectreactor_reactor_core_3_2_12_RELEASE.xml b/.idea/libraries/Maven__io_projectreactor_reactor_core_3_2_12_RELEASE.xml new file mode 100644 index 00000000..1e36e7f6 --- /dev/null +++ b/.idea/libraries/Maven__io_projectreactor_reactor_core_3_2_12_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_reactivex_rxjava_1_3_8.xml b/.idea/libraries/Maven__io_reactivex_rxjava_1_3_8.xml new file mode 100644 index 00000000..d9e1c455 --- /dev/null +++ b/.idea/libraries/Maven__io_reactivex_rxjava_1_3_8.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_reactivex_rxjava_reactive_streams_1_2_1.xml b/.idea/libraries/Maven__io_reactivex_rxjava_reactive_streams_1_2_1.xml new file mode 100644 index 00000000..f7ca3b79 --- /dev/null +++ b/.idea/libraries/Maven__io_reactivex_rxjava_reactive_streams_1_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_reactivex_rxnetty_0_4_9.xml b/.idea/libraries/Maven__io_reactivex_rxnetty_0_4_9.xml new file mode 100644 index 00000000..014cd263 --- /dev/null +++ b/.idea/libraries/Maven__io_reactivex_rxnetty_0_4_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_reactivex_rxnetty_contexts_0_4_9.xml b/.idea/libraries/Maven__io_reactivex_rxnetty_contexts_0_4_9.xml new file mode 100644 index 00000000..67fc64ad --- /dev/null +++ b/.idea/libraries/Maven__io_reactivex_rxnetty_contexts_0_4_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_reactivex_rxnetty_servo_0_4_9.xml b/.idea/libraries/Maven__io_reactivex_rxnetty_servo_0_4_9.xml new file mode 100644 index 00000000..3f419626 --- /dev/null +++ b/.idea/libraries/Maven__io_reactivex_rxnetty_servo_0_4_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_springfox_springfox_core_2_9_2.xml b/.idea/libraries/Maven__io_springfox_springfox_core_2_9_2.xml new file mode 100644 index 00000000..74f266d1 --- /dev/null +++ b/.idea/libraries/Maven__io_springfox_springfox_core_2_9_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_springfox_springfox_schema_2_9_2.xml b/.idea/libraries/Maven__io_springfox_springfox_schema_2_9_2.xml new file mode 100644 index 00000000..61d5d27d --- /dev/null +++ b/.idea/libraries/Maven__io_springfox_springfox_schema_2_9_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_springfox_springfox_spi_2_9_2.xml b/.idea/libraries/Maven__io_springfox_springfox_spi_2_9_2.xml new file mode 100644 index 00000000..7589b4ca --- /dev/null +++ b/.idea/libraries/Maven__io_springfox_springfox_spi_2_9_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_springfox_springfox_spring_web_2_9_2.xml b/.idea/libraries/Maven__io_springfox_springfox_spring_web_2_9_2.xml new file mode 100644 index 00000000..e6cb233c --- /dev/null +++ b/.idea/libraries/Maven__io_springfox_springfox_spring_web_2_9_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_springfox_springfox_swagger2_2_9_2.xml b/.idea/libraries/Maven__io_springfox_springfox_swagger2_2_9_2.xml new file mode 100644 index 00000000..32389a4f --- /dev/null +++ b/.idea/libraries/Maven__io_springfox_springfox_swagger2_2_9_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_springfox_springfox_swagger_common_2_9_2.xml b/.idea/libraries/Maven__io_springfox_springfox_swagger_common_2_9_2.xml new file mode 100644 index 00000000..79400a0d --- /dev/null +++ b/.idea/libraries/Maven__io_springfox_springfox_swagger_common_2_9_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_springfox_springfox_swagger_ui_2_9_2.xml b/.idea/libraries/Maven__io_springfox_springfox_swagger_ui_2_9_2.xml new file mode 100644 index 00000000..3c049ecd --- /dev/null +++ b/.idea/libraries/Maven__io_springfox_springfox_swagger_ui_2_9_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_swagger_swagger_annotations_1_5_20.xml b/.idea/libraries/Maven__io_swagger_swagger_annotations_1_5_20.xml new file mode 100644 index 00000000..eefd1e86 --- /dev/null +++ b/.idea/libraries/Maven__io_swagger_swagger_annotations_1_5_20.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_swagger_swagger_models_1_5_20.xml b/.idea/libraries/Maven__io_swagger_swagger_models_1_5_20.xml new file mode 100644 index 00000000..1cfdaf87 --- /dev/null +++ b/.idea/libraries/Maven__io_swagger_swagger_models_1_5_20.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_zipkin_brave_brave_5_4_3.xml b/.idea/libraries/Maven__io_zipkin_brave_brave_5_4_3.xml new file mode 100644 index 00000000..3bc3be41 --- /dev/null +++ b/.idea/libraries/Maven__io_zipkin_brave_brave_5_4_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_zipkin_brave_brave_context_log4j2_5_4_3.xml b/.idea/libraries/Maven__io_zipkin_brave_brave_context_log4j2_5_4_3.xml new file mode 100644 index 00000000..ee8123d1 --- /dev/null +++ b/.idea/libraries/Maven__io_zipkin_brave_brave_context_log4j2_5_4_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_zipkin_brave_brave_instrumentation_http_5_4_3.xml b/.idea/libraries/Maven__io_zipkin_brave_brave_instrumentation_http_5_4_3.xml new file mode 100644 index 00000000..46f0a871 --- /dev/null +++ b/.idea/libraries/Maven__io_zipkin_brave_brave_instrumentation_http_5_4_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_zipkin_brave_brave_instrumentation_httpasyncclient_5_4_3.xml b/.idea/libraries/Maven__io_zipkin_brave_brave_instrumentation_httpasyncclient_5_4_3.xml new file mode 100644 index 00000000..80d7a57d --- /dev/null +++ b/.idea/libraries/Maven__io_zipkin_brave_brave_instrumentation_httpasyncclient_5_4_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_zipkin_brave_brave_instrumentation_httpclient_5_4_3.xml b/.idea/libraries/Maven__io_zipkin_brave_brave_instrumentation_httpclient_5_4_3.xml new file mode 100644 index 00000000..c5af2430 --- /dev/null +++ b/.idea/libraries/Maven__io_zipkin_brave_brave_instrumentation_httpclient_5_4_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_zipkin_brave_brave_instrumentation_kafka_clients_5_4_3.xml b/.idea/libraries/Maven__io_zipkin_brave_brave_instrumentation_kafka_clients_5_4_3.xml new file mode 100644 index 00000000..c21d331d --- /dev/null +++ b/.idea/libraries/Maven__io_zipkin_brave_brave_instrumentation_kafka_clients_5_4_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_zipkin_brave_brave_instrumentation_servlet_5_4_3.xml b/.idea/libraries/Maven__io_zipkin_brave_brave_instrumentation_servlet_5_4_3.xml new file mode 100644 index 00000000..b7cf08ca --- /dev/null +++ b/.idea/libraries/Maven__io_zipkin_brave_brave_instrumentation_servlet_5_4_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_zipkin_brave_brave_instrumentation_spring_rabbit_5_4_3.xml b/.idea/libraries/Maven__io_zipkin_brave_brave_instrumentation_spring_rabbit_5_4_3.xml new file mode 100644 index 00000000..08784fb1 --- /dev/null +++ b/.idea/libraries/Maven__io_zipkin_brave_brave_instrumentation_spring_rabbit_5_4_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_zipkin_brave_brave_instrumentation_spring_web_5_4_3.xml b/.idea/libraries/Maven__io_zipkin_brave_brave_instrumentation_spring_web_5_4_3.xml new file mode 100644 index 00000000..b90e35bd --- /dev/null +++ b/.idea/libraries/Maven__io_zipkin_brave_brave_instrumentation_spring_web_5_4_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_zipkin_brave_brave_instrumentation_spring_webmvc_5_4_3.xml b/.idea/libraries/Maven__io_zipkin_brave_brave_instrumentation_spring_webmvc_5_4_3.xml new file mode 100644 index 00000000..44fc4fb1 --- /dev/null +++ b/.idea/libraries/Maven__io_zipkin_brave_brave_instrumentation_spring_webmvc_5_4_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_zipkin_reporter2_zipkin_reporter_2_7_10.xml b/.idea/libraries/Maven__io_zipkin_reporter2_zipkin_reporter_2_7_10.xml new file mode 100644 index 00000000..78f47c20 --- /dev/null +++ b/.idea/libraries/Maven__io_zipkin_reporter2_zipkin_reporter_2_7_10.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_zipkin_reporter2_zipkin_sender_amqp_client_2_7_10.xml b/.idea/libraries/Maven__io_zipkin_reporter2_zipkin_sender_amqp_client_2_7_10.xml new file mode 100644 index 00000000..125927b6 --- /dev/null +++ b/.idea/libraries/Maven__io_zipkin_reporter2_zipkin_sender_amqp_client_2_7_10.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_zipkin_reporter2_zipkin_sender_kafka11_2_7_10.xml b/.idea/libraries/Maven__io_zipkin_reporter2_zipkin_sender_kafka11_2_7_10.xml new file mode 100644 index 00000000..d6f6782e --- /dev/null +++ b/.idea/libraries/Maven__io_zipkin_reporter2_zipkin_sender_kafka11_2_7_10.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_zipkin_zipkin2_zipkin_2_11_7.xml b/.idea/libraries/Maven__io_zipkin_zipkin2_zipkin_2_11_7.xml new file mode 100644 index 00000000..e0304a97 --- /dev/null +++ b/.idea/libraries/Maven__io_zipkin_zipkin2_zipkin_2_11_7.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__javax_annotation_javax_annotation_api_1_3_2.xml b/.idea/libraries/Maven__javax_annotation_javax_annotation_api_1_3_2.xml new file mode 100644 index 00000000..095c2866 --- /dev/null +++ b/.idea/libraries/Maven__javax_annotation_javax_annotation_api_1_3_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__javax_inject_javax_inject_1.xml b/.idea/libraries/Maven__javax_inject_javax_inject_1.xml new file mode 100644 index 00000000..b024d920 --- /dev/null +++ b/.idea/libraries/Maven__javax_inject_javax_inject_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__javax_servlet_javax_servlet_api_4_0_1.xml b/.idea/libraries/Maven__javax_servlet_javax_servlet_api_4_0_1.xml new file mode 100644 index 00000000..8c822085 --- /dev/null +++ b/.idea/libraries/Maven__javax_servlet_javax_servlet_api_4_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__javax_validation_validation_api_2_0_1_Final.xml b/.idea/libraries/Maven__javax_validation_validation_api_2_0_1_Final.xml new file mode 100644 index 00000000..877ae022 --- /dev/null +++ b/.idea/libraries/Maven__javax_validation_validation_api_2_0_1_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__javax_websocket_javax_websocket_api_1_1.xml b/.idea/libraries/Maven__javax_websocket_javax_websocket_api_1_1.xml new file mode 100644 index 00000000..e03ce582 --- /dev/null +++ b/.idea/libraries/Maven__javax_websocket_javax_websocket_api_1_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__javax_ws_rs_jsr311_api_1_1_1.xml b/.idea/libraries/Maven__javax_ws_rs_jsr311_api_1_1_1.xml new file mode 100644 index 00000000..cb7e729b --- /dev/null +++ b/.idea/libraries/Maven__javax_ws_rs_jsr311_api_1_1_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__javax_xml_stream_stax_api_1_0_2.xml b/.idea/libraries/Maven__javax_xml_stream_stax_api_1_0_2.xml new file mode 100644 index 00000000..313dd9c8 --- /dev/null +++ b/.idea/libraries/Maven__javax_xml_stream_stax_api_1_0_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__joda_time_joda_time_2_10_3.xml b/.idea/libraries/Maven__joda_time_joda_time_2_10_3.xml new file mode 100644 index 00000000..1435996e --- /dev/null +++ b/.idea/libraries/Maven__joda_time_joda_time_2_10_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__junit_junit_4_12.xml b/.idea/libraries/Maven__junit_junit_4_12.xml new file mode 100644 index 00000000..d3b71924 --- /dev/null +++ b/.idea/libraries/Maven__junit_junit_4_12.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__mysql_mysql_connector_java_8_0_17.xml b/.idea/libraries/Maven__mysql_mysql_connector_java_8_0_17.xml new file mode 100644 index 00000000..05b4771b --- /dev/null +++ b/.idea/libraries/Maven__mysql_mysql_connector_java_8_0_17.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_9_16.xml b/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_9_16.xml new file mode 100644 index 00000000..1d6377b8 --- /dev/null +++ b/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_9_16.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_9_16.xml b/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_9_16.xml new file mode 100644 index 00000000..7640d10a --- /dev/null +++ b/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_9_16.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__net_jcip_jcip_annotations_1_0.xml b/.idea/libraries/Maven__net_jcip_jcip_annotations_1_0.xml new file mode 100644 index 00000000..a4877eff --- /dev/null +++ b/.idea/libraries/Maven__net_jcip_jcip_annotations_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__net_minidev_accessors_smart_1_2.xml b/.idea/libraries/Maven__net_minidev_accessors_smart_1_2.xml new file mode 100644 index 00000000..c85dd2a9 --- /dev/null +++ b/.idea/libraries/Maven__net_minidev_accessors_smart_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__net_minidev_json_smart_2_3.xml b/.idea/libraries/Maven__net_minidev_json_smart_2_3.xml new file mode 100644 index 00000000..fdd4d462 --- /dev/null +++ b/.idea/libraries/Maven__net_minidev_json_smart_2_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__net_sourceforge_htmlcleaner_htmlcleaner_2_22.xml b/.idea/libraries/Maven__net_sourceforge_htmlcleaner_htmlcleaner_2_22.xml new file mode 100644 index 00000000..8af1619d --- /dev/null +++ b/.idea/libraries/Maven__net_sourceforge_htmlcleaner_htmlcleaner_2_22.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_antlr_antlr_runtime_3_4.xml b/.idea/libraries/Maven__org_antlr_antlr_runtime_3_4.xml new file mode 100644 index 00000000..16f7b549 --- /dev/null +++ b/.idea/libraries/Maven__org_antlr_antlr_runtime_3_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_antlr_stringtemplate_3_2_1.xml b/.idea/libraries/Maven__org_antlr_stringtemplate_3_2_1.xml new file mode 100644 index 00000000..f45d08ad --- /dev/null +++ b/.idea/libraries/Maven__org_antlr_stringtemplate_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_commons_commons_collections4_4_1.xml b/.idea/libraries/Maven__org_apache_commons_commons_collections4_4_1.xml new file mode 100644 index 00000000..36cc6acd --- /dev/null +++ b/.idea/libraries/Maven__org_apache_commons_commons_collections4_4_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_8_1.xml b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_8_1.xml new file mode 100644 index 00000000..8017f0f5 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_8_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_commons_commons_math_2_2.xml b/.idea/libraries/Maven__org_apache_commons_commons_math_2_2.xml new file mode 100644 index 00000000..669f1259 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_commons_commons_math_2_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_3_1.xml b/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_3_1.xml new file mode 100644 index 00000000..240c31c3 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_3_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_3_1.xml b/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_3_1.xml new file mode 100644 index 00000000..0ee1b622 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_3_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_httpcomponents_httpmime_4_5_9.xml b/.idea/libraries/Maven__org_apache_httpcomponents_httpmime_4_5_9.xml new file mode 100644 index 00000000..a6cd8bae --- /dev/null +++ b/.idea/libraries/Maven__org_apache_httpcomponents_httpmime_4_5_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_11_2.xml b/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_11_2.xml new file mode 100644 index 00000000..a8ccd8c8 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_11_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_11_2.xml b/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_11_2.xml new file mode 100644 index 00000000..c07afd03 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_11_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_poi_poi_3_17.xml b/.idea/libraries/Maven__org_apache_poi_poi_3_17.xml new file mode 100644 index 00000000..c7594208 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_poi_poi_3_17.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_poi_poi_ooxml_3_17.xml b/.idea/libraries/Maven__org_apache_poi_poi_ooxml_3_17.xml new file mode 100644 index 00000000..87665193 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_poi_poi_ooxml_3_17.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_poi_poi_ooxml_schemas_3_17.xml b/.idea/libraries/Maven__org_apache_poi_poi_ooxml_schemas_3_17.xml new file mode 100644 index 00000000..ed2ae3b0 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_poi_poi_ooxml_schemas_3_17.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_shiro_shiro_cache_1_4_0.xml b/.idea/libraries/Maven__org_apache_shiro_shiro_cache_1_4_0.xml new file mode 100644 index 00000000..c880d724 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_shiro_shiro_cache_1_4_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_shiro_shiro_config_core_1_4_0.xml b/.idea/libraries/Maven__org_apache_shiro_shiro_config_core_1_4_0.xml new file mode 100644 index 00000000..0fa594fe --- /dev/null +++ b/.idea/libraries/Maven__org_apache_shiro_shiro_config_core_1_4_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_shiro_shiro_config_ogdl_1_4_0.xml b/.idea/libraries/Maven__org_apache_shiro_shiro_config_ogdl_1_4_0.xml new file mode 100644 index 00000000..d57b86bd --- /dev/null +++ b/.idea/libraries/Maven__org_apache_shiro_shiro_config_ogdl_1_4_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_shiro_shiro_core_1_4_0.xml b/.idea/libraries/Maven__org_apache_shiro_shiro_core_1_4_0.xml new file mode 100644 index 00000000..1afe73bb --- /dev/null +++ b/.idea/libraries/Maven__org_apache_shiro_shiro_core_1_4_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_shiro_shiro_crypto_cipher_1_4_0.xml b/.idea/libraries/Maven__org_apache_shiro_shiro_crypto_cipher_1_4_0.xml new file mode 100644 index 00000000..4da72a3d --- /dev/null +++ b/.idea/libraries/Maven__org_apache_shiro_shiro_crypto_cipher_1_4_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_shiro_shiro_crypto_core_1_4_0.xml b/.idea/libraries/Maven__org_apache_shiro_shiro_crypto_core_1_4_0.xml new file mode 100644 index 00000000..53029e24 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_shiro_shiro_crypto_core_1_4_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_shiro_shiro_crypto_hash_1_4_0.xml b/.idea/libraries/Maven__org_apache_shiro_shiro_crypto_hash_1_4_0.xml new file mode 100644 index 00000000..58c5eaf1 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_shiro_shiro_crypto_hash_1_4_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_shiro_shiro_event_1_4_0.xml b/.idea/libraries/Maven__org_apache_shiro_shiro_event_1_4_0.xml new file mode 100644 index 00000000..02e5f05d --- /dev/null +++ b/.idea/libraries/Maven__org_apache_shiro_shiro_event_1_4_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_shiro_shiro_lang_1_4_0.xml b/.idea/libraries/Maven__org_apache_shiro_shiro_lang_1_4_0.xml new file mode 100644 index 00000000..4d86375a --- /dev/null +++ b/.idea/libraries/Maven__org_apache_shiro_shiro_lang_1_4_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_shiro_shiro_spring_1_4_0.xml b/.idea/libraries/Maven__org_apache_shiro_shiro_spring_1_4_0.xml new file mode 100644 index 00000000..69e34161 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_shiro_shiro_spring_1_4_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_shiro_shiro_web_1_4_0.xml b/.idea/libraries/Maven__org_apache_shiro_shiro_web_1_4_0.xml new file mode 100644 index 00000000..0f144e83 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_shiro_shiro_web_1_4_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_xmlbeans_xmlbeans_2_6_0.xml b/.idea/libraries/Maven__org_apache_xmlbeans_xmlbeans_2_6_0.xml new file mode 100644 index 00000000..bcef78e7 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_xmlbeans_xmlbeans_2_6_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_aspectj_aspectjrt_1_9_4.xml b/.idea/libraries/Maven__org_aspectj_aspectjrt_1_9_4.xml new file mode 100644 index 00000000..dad7e0d1 --- /dev/null +++ b/.idea/libraries/Maven__org_aspectj_aspectjrt_1_9_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_4.xml b/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_4.xml new file mode 100644 index 00000000..f26a3cf0 --- /dev/null +++ b/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_assertj_assertj_core_3_11_1.xml b/.idea/libraries/Maven__org_assertj_assertj_core_3_11_1.xml new file mode 100644 index 00000000..6c945692 --- /dev/null +++ b/.idea/libraries/Maven__org_assertj_assertj_core_3_11_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_beanshell_bsh_2_0b5.xml b/.idea/libraries/Maven__org_beanshell_bsh_2_0b5.xml new file mode 100644 index 00000000..87e43be9 --- /dev/null +++ b/.idea/libraries/Maven__org_beanshell_bsh_2_0b5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_bouncycastle_bcpkix_jdk15on_1_60.xml b/.idea/libraries/Maven__org_bouncycastle_bcpkix_jdk15on_1_60.xml new file mode 100644 index 00000000..471f80c5 --- /dev/null +++ b/.idea/libraries/Maven__org_bouncycastle_bcpkix_jdk15on_1_60.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_60.xml b/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_60.xml new file mode 100644 index 00000000..170a65be --- /dev/null +++ b/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_60.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_codehaus_jettison_jettison_1_3_7.xml b/.idea/libraries/Maven__org_codehaus_jettison_jettison_1_3_7.xml new file mode 100644 index 00000000..5030d27a --- /dev/null +++ b/.idea/libraries/Maven__org_codehaus_jettison_jettison_1_3_7.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_codehaus_woodstox_stax2_api_3_1_4.xml b/.idea/libraries/Maven__org_codehaus_woodstox_stax2_api_3_1_4.xml new file mode 100644 index 00000000..5f948ed9 --- /dev/null +++ b/.idea/libraries/Maven__org_codehaus_woodstox_stax2_api_3_1_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_codehaus_woodstox_woodstox_core_asl_4_4_1.xml b/.idea/libraries/Maven__org_codehaus_woodstox_woodstox_core_asl_4_4_1.xml new file mode 100644 index 00000000..4acc8dd5 --- /dev/null +++ b/.idea/libraries/Maven__org_codehaus_woodstox_woodstox_core_asl_4_4_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_jetty_jetty_annotations_9_4_19_v20190610.xml b/.idea/libraries/Maven__org_eclipse_jetty_jetty_annotations_9_4_19_v20190610.xml new file mode 100644 index 00000000..3586aa31 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_jetty_jetty_annotations_9_4_19_v20190610.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_jetty_jetty_client_9_4_19_v20190610.xml b/.idea/libraries/Maven__org_eclipse_jetty_jetty_client_9_4_19_v20190610.xml new file mode 100644 index 00000000..8fcbfac0 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_jetty_jetty_client_9_4_19_v20190610.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_jetty_jetty_continuation_9_4_19_v20190610.xml b/.idea/libraries/Maven__org_eclipse_jetty_jetty_continuation_9_4_19_v20190610.xml new file mode 100644 index 00000000..7a9ae055 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_jetty_jetty_continuation_9_4_19_v20190610.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_jetty_jetty_http_9_4_19_v20190610.xml b/.idea/libraries/Maven__org_eclipse_jetty_jetty_http_9_4_19_v20190610.xml new file mode 100644 index 00000000..c4d34d8a --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_jetty_jetty_http_9_4_19_v20190610.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_jetty_jetty_io_9_4_19_v20190610.xml b/.idea/libraries/Maven__org_eclipse_jetty_jetty_io_9_4_19_v20190610.xml new file mode 100644 index 00000000..fe926ad4 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_jetty_jetty_io_9_4_19_v20190610.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_jetty_jetty_plus_9_4_19_v20190610.xml b/.idea/libraries/Maven__org_eclipse_jetty_jetty_plus_9_4_19_v20190610.xml new file mode 100644 index 00000000..c4a5afbc --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_jetty_jetty_plus_9_4_19_v20190610.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_jetty_jetty_security_9_4_19_v20190610.xml b/.idea/libraries/Maven__org_eclipse_jetty_jetty_security_9_4_19_v20190610.xml new file mode 100644 index 00000000..37dfe27a --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_jetty_jetty_security_9_4_19_v20190610.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_jetty_jetty_server_9_4_19_v20190610.xml b/.idea/libraries/Maven__org_eclipse_jetty_jetty_server_9_4_19_v20190610.xml new file mode 100644 index 00000000..7d1ee607 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_jetty_jetty_server_9_4_19_v20190610.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_jetty_jetty_servlet_9_4_19_v20190610.xml b/.idea/libraries/Maven__org_eclipse_jetty_jetty_servlet_9_4_19_v20190610.xml new file mode 100644 index 00000000..b2255b0f --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_jetty_jetty_servlet_9_4_19_v20190610.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_jetty_jetty_servlets_9_4_19_v20190610.xml b/.idea/libraries/Maven__org_eclipse_jetty_jetty_servlets_9_4_19_v20190610.xml new file mode 100644 index 00000000..a43f9c15 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_jetty_jetty_servlets_9_4_19_v20190610.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_jetty_jetty_util_9_4_19_v20190610.xml b/.idea/libraries/Maven__org_eclipse_jetty_jetty_util_9_4_19_v20190610.xml new file mode 100644 index 00000000..9b1231b9 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_jetty_jetty_util_9_4_19_v20190610.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_jetty_jetty_webapp_9_4_19_v20190610.xml b/.idea/libraries/Maven__org_eclipse_jetty_jetty_webapp_9_4_19_v20190610.xml new file mode 100644 index 00000000..31eca6cb --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_jetty_jetty_webapp_9_4_19_v20190610.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_jetty_jetty_xml_9_4_19_v20190610.xml b/.idea/libraries/Maven__org_eclipse_jetty_jetty_xml_9_4_19_v20190610.xml new file mode 100644 index 00000000..44b48dc5 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_jetty_jetty_xml_9_4_19_v20190610.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_jetty_websocket_javax_websocket_client_impl_9_4_19_v20190610.xml b/.idea/libraries/Maven__org_eclipse_jetty_websocket_javax_websocket_client_impl_9_4_19_v20190610.xml new file mode 100644 index 00000000..b5dec2c4 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_jetty_websocket_javax_websocket_client_impl_9_4_19_v20190610.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_jetty_websocket_javax_websocket_server_impl_9_4_19_v20190610.xml b/.idea/libraries/Maven__org_eclipse_jetty_websocket_javax_websocket_server_impl_9_4_19_v20190610.xml new file mode 100644 index 00000000..987f522f --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_jetty_websocket_javax_websocket_server_impl_9_4_19_v20190610.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_api_9_4_19_v20190610.xml b/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_api_9_4_19_v20190610.xml new file mode 100644 index 00000000..65e6203b --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_api_9_4_19_v20190610.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_client_9_4_19_v20190610.xml b/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_client_9_4_19_v20190610.xml new file mode 100644 index 00000000..19cb190a --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_client_9_4_19_v20190610.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_common_9_4_19_v20190610.xml b/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_common_9_4_19_v20190610.xml new file mode 100644 index 00000000..12aaa1a5 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_common_9_4_19_v20190610.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_server_9_4_19_v20190610.xml b/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_server_9_4_19_v20190610.xml new file mode 100644 index 00000000..c4c347f1 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_server_9_4_19_v20190610.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_servlet_9_4_19_v20190610.xml b/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_servlet_9_4_19_v20190610.xml new file mode 100644 index 00000000..d301a7aa --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_servlet_9_4_19_v20190610.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml new file mode 100644 index 00000000..e5d35d87 --- /dev/null +++ b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hamcrest_hamcrest_library_1_3.xml b/.idea/libraries/Maven__org_hamcrest_hamcrest_library_1_3.xml new file mode 100644 index 00000000..2a1ddc27 --- /dev/null +++ b/.idea/libraries/Maven__org_hamcrest_hamcrest_library_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hdrhistogram_HdrHistogram_2_1_9.xml b/.idea/libraries/Maven__org_hdrhistogram_HdrHistogram_2_1_9.xml new file mode 100644 index 00000000..c6263b8c --- /dev/null +++ b/.idea/libraries/Maven__org_hdrhistogram_HdrHistogram_2_1_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hibernate_validator_hibernate_validator_6_0_17_Final.xml b/.idea/libraries/Maven__org_hibernate_validator_hibernate_validator_6_0_17_Final.xml new file mode 100644 index 00000000..489a30be --- /dev/null +++ b/.idea/libraries/Maven__org_hibernate_validator_hibernate_validator_6_0_17_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_3_3_Final.xml b/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_3_3_Final.xml new file mode 100644 index 00000000..1323c971 --- /dev/null +++ b/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_3_3_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jdom_jdom2_2_0_6.xml b/.idea/libraries/Maven__org_jdom_jdom2_2_0_6.xml new file mode 100644 index 00000000..fef0d501 --- /dev/null +++ b/.idea/libraries/Maven__org_jdom_jdom2_2_0_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_json_json_20170516.xml b/.idea/libraries/Maven__org_json_json_20170516.xml new file mode 100644 index 00000000..284ad69e --- /dev/null +++ b/.idea/libraries/Maven__org_json_json_20170516.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_latencyutils_LatencyUtils_2_0_3.xml b/.idea/libraries/Maven__org_latencyutils_LatencyUtils_2_0_3.xml new file mode 100644 index 00000000..266ea422 --- /dev/null +++ b/.idea/libraries/Maven__org_latencyutils_LatencyUtils_2_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mapstruct_mapstruct_1_2_0_Final.xml b/.idea/libraries/Maven__org_mapstruct_mapstruct_1_2_0_Final.xml new file mode 100644 index 00000000..5fa1abfd --- /dev/null +++ b/.idea/libraries/Maven__org_mapstruct_mapstruct_1_2_0_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mockito_mockito_core_2_23_4.xml b/.idea/libraries/Maven__org_mockito_mockito_core_2_23_4.xml new file mode 100644 index 00000000..88a8a0f5 --- /dev/null +++ b/.idea/libraries/Maven__org_mockito_mockito_core_2_23_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mortbay_jasper_apache_el_8_5_40.xml b/.idea/libraries/Maven__org_mortbay_jasper_apache_el_8_5_40.xml new file mode 100644 index 00000000..2fb4a9d2 --- /dev/null +++ b/.idea/libraries/Maven__org_mortbay_jasper_apache_el_8_5_40.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mybatis_generator_mybatis_generator_core_1_3_7.xml b/.idea/libraries/Maven__org_mybatis_generator_mybatis_generator_core_1_3_7.xml new file mode 100644 index 00000000..3ee34af0 --- /dev/null +++ b/.idea/libraries/Maven__org_mybatis_generator_mybatis_generator_core_1_3_7.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mybatis_mybatis_3_4_0.xml b/.idea/libraries/Maven__org_mybatis_mybatis_3_4_0.xml new file mode 100644 index 00000000..44e088ae --- /dev/null +++ b/.idea/libraries/Maven__org_mybatis_mybatis_3_4_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mybatis_mybatis_spring_1_3_0.xml b/.idea/libraries/Maven__org_mybatis_mybatis_spring_1_3_0.xml new file mode 100644 index 00000000..1b0619ab --- /dev/null +++ b/.idea/libraries/Maven__org_mybatis_mybatis_spring_1_3_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_1_1_1.xml b/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_1_1_1.xml new file mode 100644 index 00000000..419114c7 --- /dev/null +++ b/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_1_1_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_1_1_1.xml b/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_1_1_1.xml new file mode 100644 index 00000000..f51338c2 --- /dev/null +++ b/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_1_1_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_objenesis_objenesis_2_6.xml b/.idea/libraries/Maven__org_objenesis_objenesis_2_6.xml new file mode 100644 index 00000000..4679a935 --- /dev/null +++ b/.idea/libraries/Maven__org_objenesis_objenesis_2_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_ow2_asm_asm_5_0_4.xml b/.idea/libraries/Maven__org_ow2_asm_asm_5_0_4.xml new file mode 100644 index 00000000..acdc0195 --- /dev/null +++ b/.idea/libraries/Maven__org_ow2_asm_asm_5_0_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_ow2_asm_asm_7_1.xml b/.idea/libraries/Maven__org_ow2_asm_asm_7_1.xml new file mode 100644 index 00000000..f567a85c --- /dev/null +++ b/.idea/libraries/Maven__org_ow2_asm_asm_7_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_ow2_asm_asm_analysis_7_1.xml b/.idea/libraries/Maven__org_ow2_asm_asm_analysis_7_1.xml new file mode 100644 index 00000000..1e1ed0b4 --- /dev/null +++ b/.idea/libraries/Maven__org_ow2_asm_asm_analysis_7_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_ow2_asm_asm_commons_7_1.xml b/.idea/libraries/Maven__org_ow2_asm_asm_commons_7_1.xml new file mode 100644 index 00000000..9bea6223 --- /dev/null +++ b/.idea/libraries/Maven__org_ow2_asm_asm_commons_7_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_ow2_asm_asm_tree_7_1.xml b/.idea/libraries/Maven__org_ow2_asm_asm_tree_7_1.xml new file mode 100644 index 00000000..5cfee4cc --- /dev/null +++ b/.idea/libraries/Maven__org_ow2_asm_asm_tree_7_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_projectlombok_lombok_1_18_8.xml b/.idea/libraries/Maven__org_projectlombok_lombok_1_18_8.xml new file mode 100644 index 00000000..e3be1945 --- /dev/null +++ b/.idea/libraries/Maven__org_projectlombok_lombok_1_18_8.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_reactivestreams_reactive_streams_1_0_3.xml b/.idea/libraries/Maven__org_reactivestreams_reactive_streams_1_0_3.xml new file mode 100644 index 00000000..8b0988b8 --- /dev/null +++ b/.idea/libraries/Maven__org_reactivestreams_reactive_streams_1_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_0.xml b/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_0.xml new file mode 100644 index 00000000..69c5c8ac --- /dev/null +++ b/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_28.xml b/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_28.xml new file mode 100644 index 00000000..855d1e62 --- /dev/null +++ b/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_28.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_28.xml b/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_28.xml new file mode 100644 index 00000000..69a53e4c --- /dev/null +++ b/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_28.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_amqp_spring_amqp_2_1_8_RELEASE.xml b/.idea/libraries/Maven__org_springframework_amqp_spring_amqp_2_1_8_RELEASE.xml new file mode 100644 index 00000000..b15074ed --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_amqp_spring_amqp_2_1_8_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_amqp_spring_rabbit_2_1_8_RELEASE.xml b/.idea/libraries/Maven__org_springframework_amqp_spring_rabbit_2_1_8_RELEASE.xml new file mode 100644 index 00000000..ca4326de --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_amqp_spring_rabbit_2_1_8_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_2_1_8_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_2_1_8_RELEASE.xml new file mode 100644 index 00000000..056d8e74 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_2_1_8_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_2_1_8_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_2_1_8_RELEASE.xml new file mode 100644 index 00000000..5d8a4876 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_2_1_8_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_autoconfigure_2_1_8_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_autoconfigure_2_1_8_RELEASE.xml new file mode 100644 index 00000000..c503119f --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_autoconfigure_2_1_8_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_1_8_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_1_8_RELEASE.xml new file mode 100644 index 00000000..5f992b7f --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_1_8_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_configuration_processor_2_1_8_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_configuration_processor_2_1_8_RELEASE.xml new file mode 100644 index 00000000..12934655 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_configuration_processor_2_1_8_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_devtools_2_1_8_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_devtools_2_1_8_RELEASE.xml new file mode 100644 index 00000000..9be55e76 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_devtools_2_1_8_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_1_8_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_1_8_RELEASE.xml new file mode 100644 index 00000000..b04a64a0 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_1_8_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_actuator_2_1_8_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_actuator_2_1_8_RELEASE.xml new file mode 100644 index 00000000..9405f299 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_actuator_2_1_8_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_amqp_2_1_8_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_amqp_2_1_8_RELEASE.xml new file mode 100644 index 00000000..59161e64 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_amqp_2_1_8_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_2_1_8_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_2_1_8_RELEASE.xml new file mode 100644 index 00000000..f1661719 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_2_1_8_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_redis_2_1_8_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_redis_2_1_8_RELEASE.xml new file mode 100644 index 00000000..6703a629 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_redis_2_1_8_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_2_1_8_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_2_1_8_RELEASE.xml new file mode 100644 index 00000000..8a666443 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_2_1_8_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jetty_2_1_8_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jetty_2_1_8_RELEASE.xml new file mode 100644 index 00000000..5a4711e7 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jetty_2_1_8_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_1_8_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_1_8_RELEASE.xml new file mode 100644 index 00000000..7c63acba --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_1_8_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_1_8_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_1_8_RELEASE.xml new file mode 100644 index 00000000..7404a08b --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_1_8_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_2_1_8_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_2_1_8_RELEASE.xml new file mode 100644 index 00000000..7c702576 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_2_1_8_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_1_8_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_1_8_RELEASE.xml new file mode 100644 index 00000000..4e3eac68 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_1_8_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_websocket_2_1_8_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_websocket_2_1_8_RELEASE.xml new file mode 100644 index 00000000..6eca6ed2 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_websocket_2_1_8_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_2_1_8_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_2_1_8_RELEASE.xml new file mode 100644 index 00000000..c56e7435 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_2_1_8_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_1_8_RELEASE.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_1_8_RELEASE.xml new file mode 100644 index 00000000..86efc9aa --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_1_8_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_commons_2_0_2_RELEASE.xml b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_commons_2_0_2_RELEASE.xml new file mode 100644 index 00000000..2ac736ba --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_commons_2_0_2_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_context_2_0_2_RELEASE.xml b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_context_2_0_2_RELEASE.xml new file mode 100644 index 00000000..de727253 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_context_2_0_2_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_archaius_2_0_2_RELEASE.xml b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_archaius_2_0_2_RELEASE.xml new file mode 100644 index 00000000..2e662aa4 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_archaius_2_0_2_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_core_2_0_2_RELEASE.xml b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_core_2_0_2_RELEASE.xml new file mode 100644 index 00000000..6e886217 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_core_2_0_2_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_eureka_client_2_0_2_RELEASE.xml b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_eureka_client_2_0_2_RELEASE.xml new file mode 100644 index 00000000..c10672f3 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_eureka_client_2_0_2_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_ribbon_2_0_2_RELEASE.xml b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_ribbon_2_0_2_RELEASE.xml new file mode 100644 index 00000000..6389a7ce --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_ribbon_2_0_2_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_openfeign_core_2_0_2_RELEASE.xml b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_openfeign_core_2_0_2_RELEASE.xml new file mode 100644 index 00000000..6c44eea8 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_openfeign_core_2_0_2_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_sleuth_core_2_0_2_RELEASE.xml b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_sleuth_core_2_0_2_RELEASE.xml new file mode 100644 index 00000000..e8ff949c --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_sleuth_core_2_0_2_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_sleuth_zipkin_2_0_2_RELEASE.xml b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_sleuth_zipkin_2_0_2_RELEASE.xml new file mode 100644 index 00000000..03114048 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_sleuth_zipkin_2_0_2_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_2_0_2_RELEASE.xml b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_2_0_2_RELEASE.xml new file mode 100644 index 00000000..a0fc2d4a --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_2_0_2_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_archaius_2_0_2_RELEASE.xml b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_archaius_2_0_2_RELEASE.xml new file mode 100644 index 00000000..8bb1bcb2 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_archaius_2_0_2_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_eureka_client_2_0_2_RELEASE.xml b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_eureka_client_2_0_2_RELEASE.xml new file mode 100644 index 00000000..745c3297 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_eureka_client_2_0_2_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_hystrix_2_0_2_RELEASE.xml b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_hystrix_2_0_2_RELEASE.xml new file mode 100644 index 00000000..1db1791c --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_hystrix_2_0_2_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_ribbon_2_0_2_RELEASE.xml b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_ribbon_2_0_2_RELEASE.xml new file mode 100644 index 00000000..842c633c --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_ribbon_2_0_2_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_openfeign_2_0_2_RELEASE.xml b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_openfeign_2_0_2_RELEASE.xml new file mode 100644 index 00000000..297c8056 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_openfeign_2_0_2_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_sleuth_2_0_2_RELEASE.xml b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_sleuth_2_0_2_RELEASE.xml new file mode 100644 index 00000000..d97abd04 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_sleuth_2_0_2_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_data_spring_data_commons_2_1_10_RELEASE.xml b/.idea/libraries/Maven__org_springframework_data_spring_data_commons_2_1_10_RELEASE.xml new file mode 100644 index 00000000..a01ad536 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_data_spring_data_commons_2_1_10_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_data_spring_data_keyvalue_2_1_10_RELEASE.xml b/.idea/libraries/Maven__org_springframework_data_spring_data_keyvalue_2_1_10_RELEASE.xml new file mode 100644 index 00000000..375cb7d2 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_data_spring_data_keyvalue_2_1_10_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_data_spring_data_redis_2_1_10_RELEASE.xml b/.idea/libraries/Maven__org_springframework_data_spring_data_redis_2_1_10_RELEASE.xml new file mode 100644 index 00000000..3964806e --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_data_spring_data_redis_2_1_10_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_plugin_spring_plugin_core_1_2_0_RELEASE.xml b/.idea/libraries/Maven__org_springframework_plugin_spring_plugin_core_1_2_0_RELEASE.xml new file mode 100644 index 00000000..415679a6 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_plugin_spring_plugin_core_1_2_0_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_plugin_spring_plugin_metadata_1_2_0_RELEASE.xml b/.idea/libraries/Maven__org_springframework_plugin_spring_plugin_metadata_1_2_0_RELEASE.xml new file mode 100644 index 00000000..a2d86278 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_plugin_spring_plugin_metadata_1_2_0_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_retry_spring_retry_1_2_4_RELEASE.xml b/.idea/libraries/Maven__org_springframework_retry_spring_retry_1_2_4_RELEASE.xml new file mode 100644 index 00000000..06f4d583 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_retry_spring_retry_1_2_4_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_crypto_5_1_6_RELEASE.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_crypto_5_1_6_RELEASE.xml new file mode 100644 index 00000000..10f93441 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_security_spring_security_crypto_5_1_6_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_rsa_1_0_7_RELEASE.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_rsa_1_0_7_RELEASE.xml new file mode 100644 index 00000000..21fa4d8f --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_security_spring_security_rsa_1_0_7_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_aop_5_1_9_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_aop_5_1_9_RELEASE.xml new file mode 100644 index 00000000..e1214d6f --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_aop_5_1_9_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_beans_5_1_9_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_beans_5_1_9_RELEASE.xml new file mode 100644 index 00000000..c85d3912 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_beans_5_1_9_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_context_5_1_9_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_context_5_1_9_RELEASE.xml new file mode 100644 index 00000000..77a2dff2 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_context_5_1_9_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_context_support_5_1_9_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_context_support_5_1_9_RELEASE.xml new file mode 100644 index 00000000..9d73c6ea --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_context_support_5_1_9_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_core_5_1_9_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_core_5_1_9_RELEASE.xml new file mode 100644 index 00000000..e2c6e4f2 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_core_5_1_9_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_expression_5_1_9_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_expression_5_1_9_RELEASE.xml new file mode 100644 index 00000000..dbece0dc --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_expression_5_1_9_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_jcl_5_1_9_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_jcl_5_1_9_RELEASE.xml new file mode 100644 index 00000000..83a13dbc --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_jcl_5_1_9_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_jdbc_5_1_9_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_jdbc_5_1_9_RELEASE.xml new file mode 100644 index 00000000..a3bb4166 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_jdbc_5_1_9_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_messaging_5_1_9_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_messaging_5_1_9_RELEASE.xml new file mode 100644 index 00000000..695cd536 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_messaging_5_1_9_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_oxm_5_1_9_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_oxm_5_1_9_RELEASE.xml new file mode 100644 index 00000000..64a139c9 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_oxm_5_1_9_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_test_5_1_9_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_test_5_1_9_RELEASE.xml new file mode 100644 index 00000000..c21dbd86 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_test_5_1_9_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_tx_5_1_9_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_tx_5_1_9_RELEASE.xml new file mode 100644 index 00000000..1b287412 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_tx_5_1_9_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_web_5_1_9_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_web_5_1_9_RELEASE.xml new file mode 100644 index 00000000..c751ec2b --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_web_5_1_9_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_webmvc_5_1_9_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_webmvc_5_1_9_RELEASE.xml new file mode 100644 index 00000000..abb746aa --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_webmvc_5_1_9_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_websocket_5_1_9_RELEASE.xml b/.idea/libraries/Maven__org_springframework_spring_websocket_5_1_9_RELEASE.xml new file mode 100644 index 00000000..2e455955 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_websocket_5_1_9_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_6_3.xml b/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_6_3.xml new file mode 100644 index 00000000..172c3cbb --- /dev/null +++ b/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_6_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_yaml_snakeyaml_1_23.xml b/.idea/libraries/Maven__org_yaml_snakeyaml_1_23.xml new file mode 100644 index 00000000..5e240702 --- /dev/null +++ b/.idea/libraries/Maven__org_yaml_snakeyaml_1_23.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__stax_stax_api_1_0_1.xml b/.idea/libraries/Maven__stax_stax_api_1_0_1.xml new file mode 100644 index 00000000..4de7af33 --- /dev/null +++ b/.idea/libraries/Maven__stax_stax_api_1_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__xmlpull_xmlpull_1_1_3_1.xml b/.idea/libraries/Maven__xmlpull_xmlpull_1_1_3_1.xml new file mode 100644 index 00000000..da17a2dc --- /dev/null +++ b/.idea/libraries/Maven__xmlpull_xmlpull_1_1_3_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__xpp3_xpp3_min_1_1_4c.xml b/.idea/libraries/Maven__xpp3_xpp3_min_1_1_4c.xml new file mode 100644 index 00000000..4d9db360 --- /dev/null +++ b/.idea/libraries/Maven__xpp3_xpp3_min_1_1_4c.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 00000000..d30d09e2 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,13 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 00000000..b9dfe982 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 00000000..94a25f7f --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 00000000..89d3c35a --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,1122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + DEFINITION_ORDER + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1575429210394 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1.8 + + + + + + + + 1.8 + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ccsenscloud.iml b/ccsenscloud.iml index 27ae93b4..bd585a82 100644 --- a/ccsenscloud.iml +++ b/ccsenscloud.iml @@ -102,8 +102,6 @@ - - diff --git a/cloudutil/cloudutil.iml b/cloudutil/cloudutil.iml index 8ae41877..2c4ca191 100644 --- a/cloudutil/cloudutil.iml +++ b/cloudutil/cloudutil.iml @@ -4,15 +4,6 @@ - - - - - - - - - @@ -20,7 +11,6 @@ - @@ -219,8 +209,6 @@ - - diff --git a/cloudutil/target/classes/application-util-dev.yml b/cloudutil/target/classes/application-util-dev.yml new file mode 100644 index 00000000..272013c3 --- /dev/null +++ b/cloudutil/target/classes/application-util-dev.yml @@ -0,0 +1,57 @@ +#服务端点暴露 +management: + endpoints: + web: + exposure: + # 暴露xxx端点,如需暴露多个,用,分隔;如需暴露所有端点,用'*' + include: auditevents,caches,conditions,flyway,health,heapdump,httptrace,info,integrationgraph,jolokia,logfile,loggers,liquibase,metrics,mappings,prometheus,scheduledtasks,sessions,shutdown,threaddump,hystrix.stream +# # 不暴露哪些端点 +# exclude: env,beans,configprops + endpoint: + health: + # 是否展示健康检查详情 + show-details: always + health: + redis: + enabled: false +#eureka注册 +eureka: + client: + service-url: + # 指定eureka server通信地址,注意/eureka/小尾巴不能少 + #defaultZone: http://admin:admin@peer1:8761/eureka/,http://admin:admin@peer2:8762/eureka/ + defaultZone: http://admin:admin@127.0.0.1:8761/eureka/ + instance: + # 是否注册IP到eureka server,如不指定或设为false,那就回注册主机名到eureka server + prefer-ip-address: true + metadata-map: + management: + context-path: ${server.servlet.context-path}/actuator + home-page-url-path: ${server.servlet.context-path} + status-page-url-path: ${server.servlet.context-path}/actuator/info + health-check-url-path: ${server.servlet.context-path}/actuator/health +feign: + client: + config: + default: + connectTime: 5000 + readTimeout: 5000 + # NONE【性能最佳,适用于生产】:不记录任何日志(默认值)。 + # BASIC【适用于生产环境追踪问题】:仅记录请求方法、URL、响应状态代码以及执行时间。 + # HEADERS:记录BASIC级别的基础上,记录请求和响应的header。 + # FULL【比较适用于开发及测试环境定位问题】:记录请求和响应的header、body和元数据 + loggerLevel: basic + hystrix: + enabled: true +# sleuth +logging: + level: + root: info + org.springframework.cloud.sleuth: DEBUG +spring: + zipkin: + base-url: http://anyring.cc:9411 + sleuth: + sampler: + # 采样率,模式0.1,也就是10%,为了便于观察效果,改为1.0,也就是100%。生产环境建议保持默认。 + probability: 1.0 diff --git a/cloudutil/target/classes/com/ccsens/cloudutil/bean/QueryParam.class b/cloudutil/target/classes/com/ccsens/cloudutil/bean/QueryParam.class new file mode 100644 index 0000000000000000000000000000000000000000..f4ee1e25559a909d2d8eddb3bc6d6b5ec1dc5118 GIT binary patch literal 2329 zcma)7ZF5>x5PlBa3m0)FG;Byt&$h*OKQ`SG;L_Ke)5Lg2~+|RF3$9? z_yf$Be9#%CGdkncFLlNr<1et*XYaWLNa73wbI$Ib<=Ne5_ZvW5Gyugmhl!b1xiB9^0gq@X;7Wa)|Xol~eg zjh({%ttW29n^%Z!)OH$<*J-&5;c}UlNT=<#R<;!q1OBCEV@J*wYK@w=MAuAqQ^B~| z+~)5lO0|Z&*4f>1TV-dfPD`@XtT^>er&SX@FdAO9)>gP&sx)^Cl}g)fvof`vI&SOfy3=xY8Ek48_9z-^_!WjUv-RL zkAlLJL#{#TM%#y(%p6A%Dk2%eh!CS+59rLGvybDuy5Dx3I+-{T>nk>^sbDs}s@o#2 zkT%WkMSX)vW4@`^C0pBjYIZbka>C5`hUZkiS#|dO264vxQL!pcV_7m(u&PeGs(Z|a zuQ03ihbybg%#d=V<+eL@<`eSMo9<;`dCd*4Rcq`V1CH?vSK9%pgsxJecWIhWgDNMsBo@-L3FY= zI<@+?v|+p-I^!+c*u)pIe93;#q;=(sq$O+PGhFA@=>zFWBVEqkp4;HHnjIX9fRn+| z9Ewb~hWvxM{eOR4Wm`MoO}s@dJ!H8^O$nKVABOuGp&xlT2xpH3r}LdAEIY&XC~WvB?D$Bq3hyEl zWVy*b#N;Bm{4WTdT(uA;Jm{)L(sZV2?Vm~g`fQ4+>eRE8a>xg%mj+{nM~x+|QUhE| z9-3>;tVUJ|B1aj$n$P_J(>Tcg0poj^;e-5h7^^e6E=*sg5LuhyQZ#1}FBfz$i2 zXH!NO(VmA@H0fd$BPmmSA}^5K$9T$2MS4!g0b?1*rsIyz;gF{)t^{MZfdVHcglXKu zRocR2WeM+5;$Ir8d7qMrRW|qoN)f+W&1^NOb`pXyM~n{{JB?V>`Uj_?_~<33qPWJd zrC#E^7Gr$tVC!J!Vd^G>$&E?VyFc`rc0LdR@ZW?r=}}C~ zFBpqHxfc@iRZ?pu^81L+b`kqp>{ii`gOm}RSVB0DE}Tr{oJI|@3F8{(vA~!ni(jM^ z;=lP-5-3Do;$8lfk};5LF(6H-x(nkKT?|sC6zPFdulTdR9umVO%$`Hf#~3!zjT!Jw z3u@nH7K-?p-w=QN3}Z>Vi*cc#i&M!7En6ZdD0gxC=v5tjP%=TKY2s9XKw*VF`{1Y(&BnxNP>gnNrT3(2jCtl40VdqM=}#J|w~} z`pmLv_p~==Ge#BD5gm9db<`zr@|b8Zr{Y;U87gt5weieLqaA^Zp0N>iaT+>81u-{v zLgyl+q0~dlRfll@cmcoCE3J|_V7?Yf3E-sTIQ2SlqeK;1}7YPu^;gH>DZK!3P)6S-RMvc3E8jNqJ1LJ$N;c3_MWvd9J=k|}0Cf(HZ&YlyO8@`> literal 0 HcmV?d00001 diff --git a/cloudutil/target/classes/com/ccsens/cloudutil/feign/TallFeignClientFallBack$1.class b/cloudutil/target/classes/com/ccsens/cloudutil/feign/TallFeignClientFallBack$1.class new file mode 100644 index 0000000000000000000000000000000000000000..b1b0de9a79a02303d92eaa8a6619e87ec5429fde GIT binary patch literal 1147 zcmbW0&rcIU6vw~AmToDl)LQ(3il`OaqOKTX6CoUIXkt=-LP$JLw_`iFoh93?;L(#8 zF?#S|;ve7*J(xyOx%+>R;>rKO_@-288cZs?*?IdW-}$_k_uhQ}_4ylsDO?(WiPKR; zFc!fX6K5kh7exq36X#8go4CLb4l1&iyuvV5aJ;JRI5nYaw&QyBQazBa{ZPoVvKP4P z=Jj9Bl|lu1a&K_w(KMZ(kxB-$4B6Cv0O>`BP|hm}hM|H~;S6#fD)y0jB7cn)_L zxi7Wf-VEu48LXR12|wrZT1}99Z6Cptla#+v76HTceP!hdp?`@A}xE-dlK z+;+Jt+w*}hRaqmde3@Z>?3S?ExtvX^kke*@~ZGL^# z+<4pk^mJ?U&Cf5-x7QoZcWYZOU;KEsw!QvZ1258m{QrC;CmCY9k?$0jghSQN^iE>9 z+PnDASkhEFzTg2BFqi7+*h0nkR`e)QAA6_j4yW{-4tKKJ-A^xKj4oLO3lI SaFT2Yr!b1RrjW`cOV4kH$Sz3$ literal 0 HcmV?d00001 diff --git a/cloudutil/target/classes/com/ccsens/cloudutil/feign/TallFeignClientFallBack.class b/cloudutil/target/classes/com/ccsens/cloudutil/feign/TallFeignClientFallBack.class new file mode 100644 index 0000000000000000000000000000000000000000..4d23a1aea83e6753197d17876de6f8616f6d168c GIT binary patch literal 1600 zcmb7E(QXq*6g^`nUVB+WFi;8<2oS(_QZ`A`QtC8qa4|x1Kq4U$yi}WIve~fSwPweq zdGA;B2Y7`dQQAs9-b2~{8NYxZ5t%Px?S7}qLZwXAalBZJOSSO6-{eE{_s!eY@;trjCFWT}{Xuk8! z3B4OK{Bp-nx~}i1GEQATO8QUxI*i;M83wVt=|xf7tXfehW8LQGZO?yZpnWAh&DgD4 zXV3f2b0aSf+|6B;JU1B4`WRsuuA=|-6gc(20a;`>&4@UJ+t4bE1G*pG&`fLH>t(fB zxFt}3S6+wi54QKDujyW1@uQr{$_A_TbYHQwZ-)}eZ94;AcK1_4fA1PXwu#*Ke4VKM zm2rw*C9u7b^p!8$p*f|KBW&L=nF^eF*pGGCm0MvNlG(L5PPC`PB88g`V| zmCqCP%uTgaGST}z>9&$?FNt|{O$WzO6`<XKeQI@BWw}P`Pngwcw+c*3r4lvbk|Ue$y;&PW zJqMj=JWr2;<#J?OvF5>TA#im#)$Dd*la6{eF~cj#0b7diS)&c!W)pm=9`2mr%H>QU zVY2Zv#49ceILWb;ZO-Eq*CqfB@BvP97DgEyjq?vE@&{a>`vc`_;RUR@Hz=;pzs1Cl zaDKw%{4XdK@Efeh3}1dp(_$9Bnq{$oDJ&9V2^VO%d`VoM&GXw*3oTJvRM_xALU8#;1BRe ziL#&t2|}?Cs_=aln88fv>QsT6JrypW0&^QK(X``Mb668+_YmdHng4X z)1W0#J#(qo=7_T1jh`vaD|Mp;mQPa~XlS~W5X&A~>w*g8EUWHzoFB+!48_Zph>MK=#h^9U-WbM7*3$wYUHK8BV-EXsVWzn*Xz{=YFhip@gMltEUaWjiO z2-JB3zT>By!1iC3^Sz{1LlGr`=Kq!|Fq7>}#>x)lNpxj&z$(W0t+ONe(BS+jw$p5963k-m0zzZ{9q7QVJpcdz literal 0 HcmV?d00001 diff --git a/cloudutil/target/classes/com/ccsens/cloudutil/ribbon/RibbonConfiguration.class b/cloudutil/target/classes/com/ccsens/cloudutil/ribbon/RibbonConfiguration.class new file mode 100644 index 0000000000000000000000000000000000000000..9afd008333c79ff6575b00c764e8f1fa07ecab43 GIT binary patch literal 663 zcmb7B%Sr<=6g{c6t@TmgkEL#WfCfd}D1r)tP!vWfxXh$!O`Rr^$*7;DD?z~z@T0_= z@hvVii+gWw&N(@`d3wHo1h9_jDta+q#zYl`kSEKSVkm8Cqy08R&%$DZp}1$8ilJ85 zMjd9|Sh*7sC)63OTPc!;a60VYnni!6Q-;;Lv|TP`s!YmdVzXxEb;6yFV{3Snr#)+0 zx}7=UwKbazL(XQV8QEByC<_XPO5z!ZlC_eVALX07@t`%!kqZ`ljf|0LbdUhR84+400M#n;*p;B|Tf>Ol;VNFcA}VnF2qh0{Cq+)%H8PyWmoe&vl{ SBTP^q&aoqT9L0Ng40r))nW}yO literal 0 HcmV?d00001 diff --git a/ht/ht.iml b/ht/ht.iml index f500ffff..dbe731fb 100644 --- a/ht/ht.iml +++ b/ht/ht.iml @@ -4,15 +4,6 @@ - - - - - - - - - @@ -20,7 +11,6 @@ - @@ -220,8 +210,6 @@ - - diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/ProSubTimeMember.java b/tall/src/main/java/com/ccsens/tall/bean/po/ProSubTimeMember.java new file mode 100644 index 00000000..0c03e95e --- /dev/null +++ b/tall/src/main/java/com/ccsens/tall/bean/po/ProSubTimeMember.java @@ -0,0 +1,106 @@ +package com.ccsens.tall.bean.po; + +import java.io.Serializable; +import java.util.Date; + +public class ProSubTimeMember implements Serializable { + private Long id; + + private Long taskSubTimeId; + + private Long memberId; + + private Integer complatedStatus; + + private Long realFinishTime; + + private Date createdAt; + + private Date updatedAt; + + private Byte recStatus; + + private static final long serialVersionUID = 1L; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getTaskSubTimeId() { + return taskSubTimeId; + } + + public void setTaskSubTimeId(Long taskSubTimeId) { + this.taskSubTimeId = taskSubTimeId; + } + + public Long getMemberId() { + return memberId; + } + + public void setMemberId(Long memberId) { + this.memberId = memberId; + } + + public Integer getComplatedStatus() { + return complatedStatus; + } + + public void setComplatedStatus(Integer complatedStatus) { + this.complatedStatus = complatedStatus; + } + + public Long getRealFinishTime() { + return realFinishTime; + } + + public void setRealFinishTime(Long realFinishTime) { + this.realFinishTime = realFinishTime; + } + + public Date getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Date createdAt) { + this.createdAt = createdAt; + } + + public Date getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Date updatedAt) { + this.updatedAt = updatedAt; + } + + public Byte getRecStatus() { + return recStatus; + } + + public void setRecStatus(Byte recStatus) { + this.recStatus = recStatus; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(getClass().getSimpleName()); + sb.append(" ["); + sb.append("Hash = ").append(hashCode()); + sb.append(", id=").append(id); + sb.append(", taskSubTimeId=").append(taskSubTimeId); + sb.append(", memberId=").append(memberId); + sb.append(", complatedStatus=").append(complatedStatus); + sb.append(", realFinishTime=").append(realFinishTime); + sb.append(", createdAt=").append(createdAt); + sb.append(", updatedAt=").append(updatedAt); + sb.append(", recStatus=").append(recStatus); + sb.append("]"); + return sb.toString(); + } +} \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/ProSubTimeMemberExample.java b/tall/src/main/java/com/ccsens/tall/bean/po/ProSubTimeMemberExample.java new file mode 100644 index 00000000..3b7232b7 --- /dev/null +++ b/tall/src/main/java/com/ccsens/tall/bean/po/ProSubTimeMemberExample.java @@ -0,0 +1,681 @@ +package com.ccsens.tall.bean.po; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class ProSubTimeMemberExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public ProSubTimeMemberExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Long value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Long value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Long value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Long value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Long value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Long value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Long value1, Long value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Long value1, Long value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andTaskSubTimeIdIsNull() { + addCriterion("task_sub_time_id is null"); + return (Criteria) this; + } + + public Criteria andTaskSubTimeIdIsNotNull() { + addCriterion("task_sub_time_id is not null"); + return (Criteria) this; + } + + public Criteria andTaskSubTimeIdEqualTo(Long value) { + addCriterion("task_sub_time_id =", value, "taskSubTimeId"); + return (Criteria) this; + } + + public Criteria andTaskSubTimeIdNotEqualTo(Long value) { + addCriterion("task_sub_time_id <>", value, "taskSubTimeId"); + return (Criteria) this; + } + + public Criteria andTaskSubTimeIdGreaterThan(Long value) { + addCriterion("task_sub_time_id >", value, "taskSubTimeId"); + return (Criteria) this; + } + + public Criteria andTaskSubTimeIdGreaterThanOrEqualTo(Long value) { + addCriterion("task_sub_time_id >=", value, "taskSubTimeId"); + return (Criteria) this; + } + + public Criteria andTaskSubTimeIdLessThan(Long value) { + addCriterion("task_sub_time_id <", value, "taskSubTimeId"); + return (Criteria) this; + } + + public Criteria andTaskSubTimeIdLessThanOrEqualTo(Long value) { + addCriterion("task_sub_time_id <=", value, "taskSubTimeId"); + return (Criteria) this; + } + + public Criteria andTaskSubTimeIdIn(List values) { + addCriterion("task_sub_time_id in", values, "taskSubTimeId"); + return (Criteria) this; + } + + public Criteria andTaskSubTimeIdNotIn(List values) { + addCriterion("task_sub_time_id not in", values, "taskSubTimeId"); + return (Criteria) this; + } + + public Criteria andTaskSubTimeIdBetween(Long value1, Long value2) { + addCriterion("task_sub_time_id between", value1, value2, "taskSubTimeId"); + return (Criteria) this; + } + + public Criteria andTaskSubTimeIdNotBetween(Long value1, Long value2) { + addCriterion("task_sub_time_id not between", value1, value2, "taskSubTimeId"); + return (Criteria) this; + } + + public Criteria andMemberIdIsNull() { + addCriterion("member_id is null"); + return (Criteria) this; + } + + public Criteria andMemberIdIsNotNull() { + addCriterion("member_id is not null"); + return (Criteria) this; + } + + public Criteria andMemberIdEqualTo(Long value) { + addCriterion("member_id =", value, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdNotEqualTo(Long value) { + addCriterion("member_id <>", value, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdGreaterThan(Long value) { + addCriterion("member_id >", value, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdGreaterThanOrEqualTo(Long value) { + addCriterion("member_id >=", value, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdLessThan(Long value) { + addCriterion("member_id <", value, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdLessThanOrEqualTo(Long value) { + addCriterion("member_id <=", value, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdIn(List values) { + addCriterion("member_id in", values, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdNotIn(List values) { + addCriterion("member_id not in", values, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdBetween(Long value1, Long value2) { + addCriterion("member_id between", value1, value2, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdNotBetween(Long value1, Long value2) { + addCriterion("member_id not between", value1, value2, "memberId"); + return (Criteria) this; + } + + public Criteria andComplatedStatusIsNull() { + addCriterion("complated_status is null"); + return (Criteria) this; + } + + public Criteria andComplatedStatusIsNotNull() { + addCriterion("complated_status is not null"); + return (Criteria) this; + } + + public Criteria andComplatedStatusEqualTo(Integer value) { + addCriterion("complated_status =", value, "complatedStatus"); + return (Criteria) this; + } + + public Criteria andComplatedStatusNotEqualTo(Integer value) { + addCriterion("complated_status <>", value, "complatedStatus"); + return (Criteria) this; + } + + public Criteria andComplatedStatusGreaterThan(Integer value) { + addCriterion("complated_status >", value, "complatedStatus"); + return (Criteria) this; + } + + public Criteria andComplatedStatusGreaterThanOrEqualTo(Integer value) { + addCriterion("complated_status >=", value, "complatedStatus"); + return (Criteria) this; + } + + public Criteria andComplatedStatusLessThan(Integer value) { + addCriterion("complated_status <", value, "complatedStatus"); + return (Criteria) this; + } + + public Criteria andComplatedStatusLessThanOrEqualTo(Integer value) { + addCriterion("complated_status <=", value, "complatedStatus"); + return (Criteria) this; + } + + public Criteria andComplatedStatusIn(List values) { + addCriterion("complated_status in", values, "complatedStatus"); + return (Criteria) this; + } + + public Criteria andComplatedStatusNotIn(List values) { + addCriterion("complated_status not in", values, "complatedStatus"); + return (Criteria) this; + } + + public Criteria andComplatedStatusBetween(Integer value1, Integer value2) { + addCriterion("complated_status between", value1, value2, "complatedStatus"); + return (Criteria) this; + } + + public Criteria andComplatedStatusNotBetween(Integer value1, Integer value2) { + addCriterion("complated_status not between", value1, value2, "complatedStatus"); + return (Criteria) this; + } + + public Criteria andRealFinishTimeIsNull() { + addCriterion("real_finish_time is null"); + return (Criteria) this; + } + + public Criteria andRealFinishTimeIsNotNull() { + addCriterion("real_finish_time is not null"); + return (Criteria) this; + } + + public Criteria andRealFinishTimeEqualTo(Long value) { + addCriterion("real_finish_time =", value, "realFinishTime"); + return (Criteria) this; + } + + public Criteria andRealFinishTimeNotEqualTo(Long value) { + addCriterion("real_finish_time <>", value, "realFinishTime"); + return (Criteria) this; + } + + public Criteria andRealFinishTimeGreaterThan(Long value) { + addCriterion("real_finish_time >", value, "realFinishTime"); + return (Criteria) this; + } + + public Criteria andRealFinishTimeGreaterThanOrEqualTo(Long value) { + addCriterion("real_finish_time >=", value, "realFinishTime"); + return (Criteria) this; + } + + public Criteria andRealFinishTimeLessThan(Long value) { + addCriterion("real_finish_time <", value, "realFinishTime"); + return (Criteria) this; + } + + public Criteria andRealFinishTimeLessThanOrEqualTo(Long value) { + addCriterion("real_finish_time <=", value, "realFinishTime"); + return (Criteria) this; + } + + public Criteria andRealFinishTimeIn(List values) { + addCriterion("real_finish_time in", values, "realFinishTime"); + return (Criteria) this; + } + + public Criteria andRealFinishTimeNotIn(List values) { + addCriterion("real_finish_time not in", values, "realFinishTime"); + return (Criteria) this; + } + + public Criteria andRealFinishTimeBetween(Long value1, Long value2) { + addCriterion("real_finish_time between", value1, value2, "realFinishTime"); + return (Criteria) this; + } + + public Criteria andRealFinishTimeNotBetween(Long value1, Long value2) { + addCriterion("real_finish_time not between", value1, value2, "realFinishTime"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNull() { + addCriterion("created_at is null"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNotNull() { + addCriterion("created_at is not null"); + return (Criteria) this; + } + + public Criteria andCreatedAtEqualTo(Date value) { + addCriterion("created_at =", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotEqualTo(Date value) { + addCriterion("created_at <>", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThan(Date value) { + addCriterion("created_at >", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) { + addCriterion("created_at >=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThan(Date value) { + addCriterion("created_at <", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThanOrEqualTo(Date value) { + addCriterion("created_at <=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtIn(List values) { + addCriterion("created_at in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotIn(List values) { + addCriterion("created_at not in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtBetween(Date value1, Date value2) { + addCriterion("created_at between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotBetween(Date value1, Date value2) { + addCriterion("created_at not between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNull() { + addCriterion("updated_at is null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNotNull() { + addCriterion("updated_at is not null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtEqualTo(Date value) { + addCriterion("updated_at =", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotEqualTo(Date value) { + addCriterion("updated_at <>", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThan(Date value) { + addCriterion("updated_at >", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) { + addCriterion("updated_at >=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThan(Date value) { + addCriterion("updated_at <", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThanOrEqualTo(Date value) { + addCriterion("updated_at <=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIn(List values) { + addCriterion("updated_at in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotIn(List values) { + addCriterion("updated_at not in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtBetween(Date value1, Date value2) { + addCriterion("updated_at between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotBetween(Date value1, Date value2) { + addCriterion("updated_at not between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andRecStatusIsNull() { + addCriterion("rec_status is null"); + return (Criteria) this; + } + + public Criteria andRecStatusIsNotNull() { + addCriterion("rec_status is not null"); + return (Criteria) this; + } + + public Criteria andRecStatusEqualTo(Byte value) { + addCriterion("rec_status =", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotEqualTo(Byte value) { + addCriterion("rec_status <>", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusGreaterThan(Byte value) { + addCriterion("rec_status >", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) { + addCriterion("rec_status >=", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusLessThan(Byte value) { + addCriterion("rec_status <", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusLessThanOrEqualTo(Byte value) { + addCriterion("rec_status <=", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusIn(List values) { + addCriterion("rec_status in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotIn(List values) { + addCriterion("rec_status not in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusBetween(Byte value1, Byte value2) { + addCriterion("rec_status between", value1, value2, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotBetween(Byte value1, Byte value2) { + addCriterion("rec_status not between", value1, value2, "recStatus"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskDetail.java b/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskDetail.java index 108a30be..91736b43 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskDetail.java +++ b/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskDetail.java @@ -1,293 +1,304 @@ -package com.ccsens.tall.bean.po; - -import java.io.Serializable; -import java.util.Date; - -public class ProTaskDetail implements Serializable { - private Long id; - - private Long projectId; - - private String name; - - private String description; - - private Long beginTime; - - private Long endTime; - - private String cycle; - - private Long parentId; - - private String subTask; - - private Long subProjectId; - - private String subProject; - - private Long executorRole; - - private Long checkerRole; - - private Long money; - - private Byte delay; - - private Long delayTime; - - private Long loopTo; - - private Integer loopTimes; - - private Byte virtual; - - private Byte level; - - private Byte hasGroup; - - private Byte allMember; - - private Date createdAt; - - private Date updatedAt; - - private Byte recStatus; - - private static final long serialVersionUID = 1L; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Long getProjectId() { - return projectId; - } - - public void setProjectId(Long projectId) { - this.projectId = projectId; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name == null ? null : name.trim(); - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description == null ? null : description.trim(); - } - - public Long getBeginTime() { - return beginTime; - } - - public void setBeginTime(Long beginTime) { - this.beginTime = beginTime; - } - - public Long getEndTime() { - return endTime; - } - - public void setEndTime(Long endTime) { - this.endTime = endTime; - } - - public String getCycle() { - return cycle; - } - - public void setCycle(String cycle) { - this.cycle = cycle == null ? null : cycle.trim(); - } - - public Long getParentId() { - return parentId; - } - - public void setParentId(Long parentId) { - this.parentId = parentId; - } - - public String getSubTask() { - return subTask; - } - - public void setSubTask(String subTask) { - this.subTask = subTask == null ? null : subTask.trim(); - } - - public Long getSubProjectId() { - return subProjectId; - } - - public void setSubProjectId(Long subProjectId) { - this.subProjectId = subProjectId; - } - - public String getSubProject() { - return subProject; - } - - public void setSubProject(String subProject) { - this.subProject = subProject == null ? null : subProject.trim(); - } - - public Long getExecutorRole() { - return executorRole; - } - - public void setExecutorRole(Long executorRole) { - this.executorRole = executorRole; - } - - public Long getCheckerRole() { - return checkerRole; - } - - public void setCheckerRole(Long checkerRole) { - this.checkerRole = checkerRole; - } - - public Long getMoney() { - return money; - } - - public void setMoney(Long money) { - this.money = money; - } - - public Byte getDelay() { - return delay; - } - - public void setDelay(Byte delay) { - this.delay = delay; - } - - public Long getDelayTime() { - return delayTime; - } - - public void setDelayTime(Long delayTime) { - this.delayTime = delayTime; - } - - public Long getLoopTo() { - return loopTo; - } - - public void setLoopTo(Long loopTo) { - this.loopTo = loopTo; - } - - public Integer getLoopTimes() { - return loopTimes; - } - - public void setLoopTimes(Integer loopTimes) { - this.loopTimes = loopTimes; - } - - public Byte getVirtual() { - return virtual; - } - - public void setVirtual(Byte virtual) { - this.virtual = virtual; - } - - public Byte getLevel() { - return level; - } - - public void setLevel(Byte level) { - this.level = level; - } - - public Byte getHasGroup() { - return hasGroup; - } - - public void setHasGroup(Byte hasGroup) { - this.hasGroup = hasGroup; - } - - public Byte getAllMember() { - return allMember; - } - - public void setAllMember(Byte allMember) { - this.allMember = allMember; - } - - public Date getCreatedAt() { - return createdAt; - } - - public void setCreatedAt(Date createdAt) { - this.createdAt = createdAt; - } - - public Date getUpdatedAt() { - return updatedAt; - } - - public void setUpdatedAt(Date updatedAt) { - this.updatedAt = updatedAt; - } - - public Byte getRecStatus() { - return recStatus; - } - - public void setRecStatus(Byte recStatus) { - this.recStatus = recStatus; - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append(getClass().getSimpleName()); - sb.append(" ["); - sb.append("Hash = ").append(hashCode()); - sb.append(", id=").append(id); - sb.append(", projectId=").append(projectId); - sb.append(", name=").append(name); - sb.append(", description=").append(description); - sb.append(", beginTime=").append(beginTime); - sb.append(", endTime=").append(endTime); - sb.append(", cycle=").append(cycle); - sb.append(", parentId=").append(parentId); - sb.append(", subTask=").append(subTask); - sb.append(", subProjectId=").append(subProjectId); - sb.append(", subProject=").append(subProject); - sb.append(", executorRole=").append(executorRole); - sb.append(", checkerRole=").append(checkerRole); - sb.append(", money=").append(money); - sb.append(", delay=").append(delay); - sb.append(", delayTime=").append(delayTime); - sb.append(", loopTo=").append(loopTo); - sb.append(", loopTimes=").append(loopTimes); - sb.append(", virtual=").append(virtual); - sb.append(", level=").append(level); - sb.append(", hasGroup=").append(hasGroup); - sb.append(", allMember=").append(allMember); - sb.append(", createdAt=").append(createdAt); - sb.append(", updatedAt=").append(updatedAt); - sb.append(", recStatus=").append(recStatus); - sb.append("]"); - return sb.toString(); - } +package com.ccsens.tall.bean.po; + +import java.io.Serializable; +import java.util.Date; + +public class ProTaskDetail implements Serializable { + private Long id; + + private Long projectId; + + private String name; + + private String description; + + private Long beginTime; + + private Long endTime; + + private String cycle; + + private Long parentId; + + private String subTask; + + private Long subProjectId; + + private String subProject; + + private Long executorRole; + + private Long checkerRole; + + private Long money; + + private Byte delay; + + private Long delayTime; + + private Long loopTo; + + private Integer loopTimes; + + private Byte virtual; + + private Byte level; + + private Byte hasGroup; + + private Byte finishNeedAll; + + private Byte allMember; + + private Date createdAt; + + private Date updatedAt; + + private Byte recStatus; + + private static final long serialVersionUID = 1L; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getProjectId() { + return projectId; + } + + public void setProjectId(Long projectId) { + this.projectId = projectId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name == null ? null : name.trim(); + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description == null ? null : description.trim(); + } + + public Long getBeginTime() { + return beginTime; + } + + public void setBeginTime(Long beginTime) { + this.beginTime = beginTime; + } + + public Long getEndTime() { + return endTime; + } + + public void setEndTime(Long endTime) { + this.endTime = endTime; + } + + public String getCycle() { + return cycle; + } + + public void setCycle(String cycle) { + this.cycle = cycle == null ? null : cycle.trim(); + } + + public Long getParentId() { + return parentId; + } + + public void setParentId(Long parentId) { + this.parentId = parentId; + } + + public String getSubTask() { + return subTask; + } + + public void setSubTask(String subTask) { + this.subTask = subTask == null ? null : subTask.trim(); + } + + public Long getSubProjectId() { + return subProjectId; + } + + public void setSubProjectId(Long subProjectId) { + this.subProjectId = subProjectId; + } + + public String getSubProject() { + return subProject; + } + + public void setSubProject(String subProject) { + this.subProject = subProject == null ? null : subProject.trim(); + } + + public Long getExecutorRole() { + return executorRole; + } + + public void setExecutorRole(Long executorRole) { + this.executorRole = executorRole; + } + + public Long getCheckerRole() { + return checkerRole; + } + + public void setCheckerRole(Long checkerRole) { + this.checkerRole = checkerRole; + } + + public Long getMoney() { + return money; + } + + public void setMoney(Long money) { + this.money = money; + } + + public Byte getDelay() { + return delay; + } + + public void setDelay(Byte delay) { + this.delay = delay; + } + + public Long getDelayTime() { + return delayTime; + } + + public void setDelayTime(Long delayTime) { + this.delayTime = delayTime; + } + + public Long getLoopTo() { + return loopTo; + } + + public void setLoopTo(Long loopTo) { + this.loopTo = loopTo; + } + + public Integer getLoopTimes() { + return loopTimes; + } + + public void setLoopTimes(Integer loopTimes) { + this.loopTimes = loopTimes; + } + + public Byte getVirtual() { + return virtual; + } + + public void setVirtual(Byte virtual) { + this.virtual = virtual; + } + + public Byte getLevel() { + return level; + } + + public void setLevel(Byte level) { + this.level = level; + } + + public Byte getHasGroup() { + return hasGroup; + } + + public void setHasGroup(Byte hasGroup) { + this.hasGroup = hasGroup; + } + + public Byte getFinishNeedAll() { + return finishNeedAll; + } + + public void setFinishNeedAll(Byte finishNeedAll) { + this.finishNeedAll = finishNeedAll; + } + + public Byte getAllMember() { + return allMember; + } + + public void setAllMember(Byte allMember) { + this.allMember = allMember; + } + + public Date getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Date createdAt) { + this.createdAt = createdAt; + } + + public Date getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Date updatedAt) { + this.updatedAt = updatedAt; + } + + public Byte getRecStatus() { + return recStatus; + } + + public void setRecStatus(Byte recStatus) { + this.recStatus = recStatus; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(getClass().getSimpleName()); + sb.append(" ["); + sb.append("Hash = ").append(hashCode()); + sb.append(", id=").append(id); + sb.append(", projectId=").append(projectId); + sb.append(", name=").append(name); + sb.append(", description=").append(description); + sb.append(", beginTime=").append(beginTime); + sb.append(", endTime=").append(endTime); + sb.append(", cycle=").append(cycle); + sb.append(", parentId=").append(parentId); + sb.append(", subTask=").append(subTask); + sb.append(", subProjectId=").append(subProjectId); + sb.append(", subProject=").append(subProject); + sb.append(", executorRole=").append(executorRole); + sb.append(", checkerRole=").append(checkerRole); + sb.append(", money=").append(money); + sb.append(", delay=").append(delay); + sb.append(", delayTime=").append(delayTime); + sb.append(", loopTo=").append(loopTo); + sb.append(", loopTimes=").append(loopTimes); + sb.append(", virtual=").append(virtual); + sb.append(", level=").append(level); + sb.append(", hasGroup=").append(hasGroup); + sb.append(", finishNeedAll=").append(finishNeedAll); + sb.append(", allMember=").append(allMember); + sb.append(", createdAt=").append(createdAt); + sb.append(", updatedAt=").append(updatedAt); + sb.append(", recStatus=").append(recStatus); + sb.append("]"); + return sb.toString(); + } } \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskDetailExample.java b/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskDetailExample.java index 1389c900..b2a280ea 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskDetailExample.java +++ b/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskDetailExample.java @@ -1,1751 +1,1811 @@ -package com.ccsens.tall.bean.po; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -public class ProTaskDetailExample { - protected String orderByClause; - - protected boolean distinct; - - protected List oredCriteria; - - public ProTaskDetailExample() { - oredCriteria = new ArrayList(); - } - - public void setOrderByClause(String orderByClause) { - this.orderByClause = orderByClause; - } - - public String getOrderByClause() { - return orderByClause; - } - - public void setDistinct(boolean distinct) { - this.distinct = distinct; - } - - public boolean isDistinct() { - return distinct; - } - - public List getOredCriteria() { - return oredCriteria; - } - - public void or(Criteria criteria) { - oredCriteria.add(criteria); - } - - public Criteria or() { - Criteria criteria = createCriteriaInternal(); - oredCriteria.add(criteria); - return criteria; - } - - public Criteria createCriteria() { - Criteria criteria = createCriteriaInternal(); - if (oredCriteria.size() == 0) { - oredCriteria.add(criteria); - } - return criteria; - } - - protected Criteria createCriteriaInternal() { - Criteria criteria = new Criteria(); - return criteria; - } - - public void clear() { - oredCriteria.clear(); - orderByClause = null; - distinct = false; - } - - protected abstract static class GeneratedCriteria { - protected List criteria; - - protected GeneratedCriteria() { - super(); - criteria = new ArrayList(); - } - - public boolean isValid() { - return criteria.size() > 0; - } - - public List getAllCriteria() { - return criteria; - } - - public List getCriteria() { - return criteria; - } - - protected void addCriterion(String condition) { - if (condition == null) { - throw new RuntimeException("Value for condition cannot be null"); - } - criteria.add(new Criterion(condition)); - } - - protected void addCriterion(String condition, Object value, String property) { - if (value == null) { - throw new RuntimeException("Value for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value)); - } - - protected void addCriterion(String condition, Object value1, Object value2, String property) { - if (value1 == null || value2 == null) { - throw new RuntimeException("Between values for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value1, value2)); - } - - public Criteria andIdIsNull() { - addCriterion("id is null"); - return (Criteria) this; - } - - public Criteria andIdIsNotNull() { - addCriterion("id is not null"); - return (Criteria) this; - } - - public Criteria andIdEqualTo(Long value) { - addCriterion("id =", value, "id"); - return (Criteria) this; - } - - public Criteria andIdNotEqualTo(Long value) { - addCriterion("id <>", value, "id"); - return (Criteria) this; - } - - public Criteria andIdGreaterThan(Long value) { - addCriterion("id >", value, "id"); - return (Criteria) this; - } - - public Criteria andIdGreaterThanOrEqualTo(Long value) { - addCriterion("id >=", value, "id"); - return (Criteria) this; - } - - public Criteria andIdLessThan(Long value) { - addCriterion("id <", value, "id"); - return (Criteria) this; - } - - public Criteria andIdLessThanOrEqualTo(Long value) { - addCriterion("id <=", value, "id"); - return (Criteria) this; - } - - public Criteria andIdIn(List values) { - addCriterion("id in", values, "id"); - return (Criteria) this; - } - - public Criteria andIdNotIn(List values) { - addCriterion("id not in", values, "id"); - return (Criteria) this; - } - - public Criteria andIdBetween(Long value1, Long value2) { - addCriterion("id between", value1, value2, "id"); - return (Criteria) this; - } - - public Criteria andIdNotBetween(Long value1, Long value2) { - addCriterion("id not between", value1, value2, "id"); - return (Criteria) this; - } - - public Criteria andProjectIdIsNull() { - addCriterion("project_id is null"); - return (Criteria) this; - } - - public Criteria andProjectIdIsNotNull() { - addCriterion("project_id is not null"); - return (Criteria) this; - } - - public Criteria andProjectIdEqualTo(Long value) { - addCriterion("project_id =", value, "projectId"); - return (Criteria) this; - } - - public Criteria andProjectIdNotEqualTo(Long value) { - addCriterion("project_id <>", value, "projectId"); - return (Criteria) this; - } - - public Criteria andProjectIdGreaterThan(Long value) { - addCriterion("project_id >", value, "projectId"); - return (Criteria) this; - } - - public Criteria andProjectIdGreaterThanOrEqualTo(Long value) { - addCriterion("project_id >=", value, "projectId"); - return (Criteria) this; - } - - public Criteria andProjectIdLessThan(Long value) { - addCriterion("project_id <", value, "projectId"); - return (Criteria) this; - } - - public Criteria andProjectIdLessThanOrEqualTo(Long value) { - addCriterion("project_id <=", value, "projectId"); - return (Criteria) this; - } - - public Criteria andProjectIdIn(List values) { - addCriterion("project_id in", values, "projectId"); - return (Criteria) this; - } - - public Criteria andProjectIdNotIn(List values) { - addCriterion("project_id not in", values, "projectId"); - return (Criteria) this; - } - - public Criteria andProjectIdBetween(Long value1, Long value2) { - addCriterion("project_id between", value1, value2, "projectId"); - return (Criteria) this; - } - - public Criteria andProjectIdNotBetween(Long value1, Long value2) { - addCriterion("project_id not between", value1, value2, "projectId"); - return (Criteria) this; - } - - public Criteria andNameIsNull() { - addCriterion("name is null"); - return (Criteria) this; - } - - public Criteria andNameIsNotNull() { - addCriterion("name is not null"); - return (Criteria) this; - } - - public Criteria andNameEqualTo(String value) { - addCriterion("name =", value, "name"); - return (Criteria) this; - } - - public Criteria andNameNotEqualTo(String value) { - addCriterion("name <>", value, "name"); - return (Criteria) this; - } - - public Criteria andNameGreaterThan(String value) { - addCriterion("name >", value, "name"); - return (Criteria) this; - } - - public Criteria andNameGreaterThanOrEqualTo(String value) { - addCriterion("name >=", value, "name"); - return (Criteria) this; - } - - public Criteria andNameLessThan(String value) { - addCriterion("name <", value, "name"); - return (Criteria) this; - } - - public Criteria andNameLessThanOrEqualTo(String value) { - addCriterion("name <=", value, "name"); - return (Criteria) this; - } - - public Criteria andNameLike(String value) { - addCriterion("name like", value, "name"); - return (Criteria) this; - } - - public Criteria andNameNotLike(String value) { - addCriterion("name not like", value, "name"); - return (Criteria) this; - } - - public Criteria andNameIn(List values) { - addCriterion("name in", values, "name"); - return (Criteria) this; - } - - public Criteria andNameNotIn(List values) { - addCriterion("name not in", values, "name"); - return (Criteria) this; - } - - public Criteria andNameBetween(String value1, String value2) { - addCriterion("name between", value1, value2, "name"); - return (Criteria) this; - } - - public Criteria andNameNotBetween(String value1, String value2) { - addCriterion("name not between", value1, value2, "name"); - return (Criteria) this; - } - - public Criteria andDescriptionIsNull() { - addCriterion("description is null"); - return (Criteria) this; - } - - public Criteria andDescriptionIsNotNull() { - addCriterion("description is not null"); - return (Criteria) this; - } - - public Criteria andDescriptionEqualTo(String value) { - addCriterion("description =", value, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionNotEqualTo(String value) { - addCriterion("description <>", value, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionGreaterThan(String value) { - addCriterion("description >", value, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionGreaterThanOrEqualTo(String value) { - addCriterion("description >=", value, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionLessThan(String value) { - addCriterion("description <", value, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionLessThanOrEqualTo(String value) { - addCriterion("description <=", value, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionLike(String value) { - addCriterion("description like", value, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionNotLike(String value) { - addCriterion("description not like", value, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionIn(List values) { - addCriterion("description in", values, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionNotIn(List values) { - addCriterion("description not in", values, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionBetween(String value1, String value2) { - addCriterion("description between", value1, value2, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionNotBetween(String value1, String value2) { - addCriterion("description not between", value1, value2, "description"); - return (Criteria) this; - } - - public Criteria andBeginTimeIsNull() { - addCriterion("begin_time is null"); - return (Criteria) this; - } - - public Criteria andBeginTimeIsNotNull() { - addCriterion("begin_time is not null"); - return (Criteria) this; - } - - public Criteria andBeginTimeEqualTo(Long value) { - addCriterion("begin_time =", value, "beginTime"); - return (Criteria) this; - } - - public Criteria andBeginTimeNotEqualTo(Long value) { - addCriterion("begin_time <>", value, "beginTime"); - return (Criteria) this; - } - - public Criteria andBeginTimeGreaterThan(Long value) { - addCriterion("begin_time >", value, "beginTime"); - return (Criteria) this; - } - - public Criteria andBeginTimeGreaterThanOrEqualTo(Long value) { - addCriterion("begin_time >=", value, "beginTime"); - return (Criteria) this; - } - - public Criteria andBeginTimeLessThan(Long value) { - addCriterion("begin_time <", value, "beginTime"); - return (Criteria) this; - } - - public Criteria andBeginTimeLessThanOrEqualTo(Long value) { - addCriterion("begin_time <=", value, "beginTime"); - return (Criteria) this; - } - - public Criteria andBeginTimeIn(List values) { - addCriterion("begin_time in", values, "beginTime"); - return (Criteria) this; - } - - public Criteria andBeginTimeNotIn(List values) { - addCriterion("begin_time not in", values, "beginTime"); - return (Criteria) this; - } - - public Criteria andBeginTimeBetween(Long value1, Long value2) { - addCriterion("begin_time between", value1, value2, "beginTime"); - return (Criteria) this; - } - - public Criteria andBeginTimeNotBetween(Long value1, Long value2) { - addCriterion("begin_time not between", value1, value2, "beginTime"); - return (Criteria) this; - } - - public Criteria andEndTimeIsNull() { - addCriterion("end_time is null"); - return (Criteria) this; - } - - public Criteria andEndTimeIsNotNull() { - addCriterion("end_time is not null"); - return (Criteria) this; - } - - public Criteria andEndTimeEqualTo(Long value) { - addCriterion("end_time =", value, "endTime"); - return (Criteria) this; - } - - public Criteria andEndTimeNotEqualTo(Long value) { - addCriterion("end_time <>", value, "endTime"); - return (Criteria) this; - } - - public Criteria andEndTimeGreaterThan(Long value) { - addCriterion("end_time >", value, "endTime"); - return (Criteria) this; - } - - public Criteria andEndTimeGreaterThanOrEqualTo(Long value) { - addCriterion("end_time >=", value, "endTime"); - return (Criteria) this; - } - - public Criteria andEndTimeLessThan(Long value) { - addCriterion("end_time <", value, "endTime"); - return (Criteria) this; - } - - public Criteria andEndTimeLessThanOrEqualTo(Long value) { - addCriterion("end_time <=", value, "endTime"); - return (Criteria) this; - } - - public Criteria andEndTimeIn(List values) { - addCriterion("end_time in", values, "endTime"); - return (Criteria) this; - } - - public Criteria andEndTimeNotIn(List values) { - addCriterion("end_time not in", values, "endTime"); - return (Criteria) this; - } - - public Criteria andEndTimeBetween(Long value1, Long value2) { - addCriterion("end_time between", value1, value2, "endTime"); - return (Criteria) this; - } - - public Criteria andEndTimeNotBetween(Long value1, Long value2) { - addCriterion("end_time not between", value1, value2, "endTime"); - return (Criteria) this; - } - - public Criteria andCycleIsNull() { - addCriterion("cycle is null"); - return (Criteria) this; - } - - public Criteria andCycleIsNotNull() { - addCriterion("cycle is not null"); - return (Criteria) this; - } - - public Criteria andCycleEqualTo(String value) { - addCriterion("cycle =", value, "cycle"); - return (Criteria) this; - } - - public Criteria andCycleNotEqualTo(String value) { - addCriterion("cycle <>", value, "cycle"); - return (Criteria) this; - } - - public Criteria andCycleGreaterThan(String value) { - addCriterion("cycle >", value, "cycle"); - return (Criteria) this; - } - - public Criteria andCycleGreaterThanOrEqualTo(String value) { - addCriterion("cycle >=", value, "cycle"); - return (Criteria) this; - } - - public Criteria andCycleLessThan(String value) { - addCriterion("cycle <", value, "cycle"); - return (Criteria) this; - } - - public Criteria andCycleLessThanOrEqualTo(String value) { - addCriterion("cycle <=", value, "cycle"); - return (Criteria) this; - } - - public Criteria andCycleLike(String value) { - addCriterion("cycle like", value, "cycle"); - return (Criteria) this; - } - - public Criteria andCycleNotLike(String value) { - addCriterion("cycle not like", value, "cycle"); - return (Criteria) this; - } - - public Criteria andCycleIn(List values) { - addCriterion("cycle in", values, "cycle"); - return (Criteria) this; - } - - public Criteria andCycleNotIn(List values) { - addCriterion("cycle not in", values, "cycle"); - return (Criteria) this; - } - - public Criteria andCycleBetween(String value1, String value2) { - addCriterion("cycle between", value1, value2, "cycle"); - return (Criteria) this; - } - - public Criteria andCycleNotBetween(String value1, String value2) { - addCriterion("cycle not between", value1, value2, "cycle"); - return (Criteria) this; - } - - public Criteria andParentIdIsNull() { - addCriterion("parent_id is null"); - return (Criteria) this; - } - - public Criteria andParentIdIsNotNull() { - addCriterion("parent_id is not null"); - return (Criteria) this; - } - - public Criteria andParentIdEqualTo(Long value) { - addCriterion("parent_id =", value, "parentId"); - return (Criteria) this; - } - - public Criteria andParentIdNotEqualTo(Long value) { - addCriterion("parent_id <>", value, "parentId"); - return (Criteria) this; - } - - public Criteria andParentIdGreaterThan(Long value) { - addCriterion("parent_id >", value, "parentId"); - return (Criteria) this; - } - - public Criteria andParentIdGreaterThanOrEqualTo(Long value) { - addCriterion("parent_id >=", value, "parentId"); - return (Criteria) this; - } - - public Criteria andParentIdLessThan(Long value) { - addCriterion("parent_id <", value, "parentId"); - return (Criteria) this; - } - - public Criteria andParentIdLessThanOrEqualTo(Long value) { - addCriterion("parent_id <=", value, "parentId"); - return (Criteria) this; - } - - public Criteria andParentIdIn(List values) { - addCriterion("parent_id in", values, "parentId"); - return (Criteria) this; - } - - public Criteria andParentIdNotIn(List values) { - addCriterion("parent_id not in", values, "parentId"); - return (Criteria) this; - } - - public Criteria andParentIdBetween(Long value1, Long value2) { - addCriterion("parent_id between", value1, value2, "parentId"); - return (Criteria) this; - } - - public Criteria andParentIdNotBetween(Long value1, Long value2) { - addCriterion("parent_id not between", value1, value2, "parentId"); - return (Criteria) this; - } - - public Criteria andSubTaskIsNull() { - addCriterion("sub_task is null"); - return (Criteria) this; - } - - public Criteria andSubTaskIsNotNull() { - addCriterion("sub_task is not null"); - return (Criteria) this; - } - - public Criteria andSubTaskEqualTo(String value) { - addCriterion("sub_task =", value, "subTask"); - return (Criteria) this; - } - - public Criteria andSubTaskNotEqualTo(String value) { - addCriterion("sub_task <>", value, "subTask"); - return (Criteria) this; - } - - public Criteria andSubTaskGreaterThan(String value) { - addCriterion("sub_task >", value, "subTask"); - return (Criteria) this; - } - - public Criteria andSubTaskGreaterThanOrEqualTo(String value) { - addCriterion("sub_task >=", value, "subTask"); - return (Criteria) this; - } - - public Criteria andSubTaskLessThan(String value) { - addCriterion("sub_task <", value, "subTask"); - return (Criteria) this; - } - - public Criteria andSubTaskLessThanOrEqualTo(String value) { - addCriterion("sub_task <=", value, "subTask"); - return (Criteria) this; - } - - public Criteria andSubTaskLike(String value) { - addCriterion("sub_task like", value, "subTask"); - return (Criteria) this; - } - - public Criteria andSubTaskNotLike(String value) { - addCriterion("sub_task not like", value, "subTask"); - return (Criteria) this; - } - - public Criteria andSubTaskIn(List values) { - addCriterion("sub_task in", values, "subTask"); - return (Criteria) this; - } - - public Criteria andSubTaskNotIn(List values) { - addCriterion("sub_task not in", values, "subTask"); - return (Criteria) this; - } - - public Criteria andSubTaskBetween(String value1, String value2) { - addCriterion("sub_task between", value1, value2, "subTask"); - return (Criteria) this; - } - - public Criteria andSubTaskNotBetween(String value1, String value2) { - addCriterion("sub_task not between", value1, value2, "subTask"); - return (Criteria) this; - } - - public Criteria andSubProjectIdIsNull() { - addCriterion("sub_project_id is null"); - return (Criteria) this; - } - - public Criteria andSubProjectIdIsNotNull() { - addCriterion("sub_project_id is not null"); - return (Criteria) this; - } - - public Criteria andSubProjectIdEqualTo(Long value) { - addCriterion("sub_project_id =", value, "subProjectId"); - return (Criteria) this; - } - - public Criteria andSubProjectIdNotEqualTo(Long value) { - addCriterion("sub_project_id <>", value, "subProjectId"); - return (Criteria) this; - } - - public Criteria andSubProjectIdGreaterThan(Long value) { - addCriterion("sub_project_id >", value, "subProjectId"); - return (Criteria) this; - } - - public Criteria andSubProjectIdGreaterThanOrEqualTo(Long value) { - addCriterion("sub_project_id >=", value, "subProjectId"); - return (Criteria) this; - } - - public Criteria andSubProjectIdLessThan(Long value) { - addCriterion("sub_project_id <", value, "subProjectId"); - return (Criteria) this; - } - - public Criteria andSubProjectIdLessThanOrEqualTo(Long value) { - addCriterion("sub_project_id <=", value, "subProjectId"); - return (Criteria) this; - } - - public Criteria andSubProjectIdIn(List values) { - addCriterion("sub_project_id in", values, "subProjectId"); - return (Criteria) this; - } - - public Criteria andSubProjectIdNotIn(List values) { - addCriterion("sub_project_id not in", values, "subProjectId"); - return (Criteria) this; - } - - public Criteria andSubProjectIdBetween(Long value1, Long value2) { - addCriterion("sub_project_id between", value1, value2, "subProjectId"); - return (Criteria) this; - } - - public Criteria andSubProjectIdNotBetween(Long value1, Long value2) { - addCriterion("sub_project_id not between", value1, value2, "subProjectId"); - return (Criteria) this; - } - - public Criteria andSubProjectIsNull() { - addCriterion("sub_project is null"); - return (Criteria) this; - } - - public Criteria andSubProjectIsNotNull() { - addCriterion("sub_project is not null"); - return (Criteria) this; - } - - public Criteria andSubProjectEqualTo(String value) { - addCriterion("sub_project =", value, "subProject"); - return (Criteria) this; - } - - public Criteria andSubProjectNotEqualTo(String value) { - addCriterion("sub_project <>", value, "subProject"); - return (Criteria) this; - } - - public Criteria andSubProjectGreaterThan(String value) { - addCriterion("sub_project >", value, "subProject"); - return (Criteria) this; - } - - public Criteria andSubProjectGreaterThanOrEqualTo(String value) { - addCriterion("sub_project >=", value, "subProject"); - return (Criteria) this; - } - - public Criteria andSubProjectLessThan(String value) { - addCriterion("sub_project <", value, "subProject"); - return (Criteria) this; - } - - public Criteria andSubProjectLessThanOrEqualTo(String value) { - addCriterion("sub_project <=", value, "subProject"); - return (Criteria) this; - } - - public Criteria andSubProjectLike(String value) { - addCriterion("sub_project like", value, "subProject"); - return (Criteria) this; - } - - public Criteria andSubProjectNotLike(String value) { - addCriterion("sub_project not like", value, "subProject"); - return (Criteria) this; - } - - public Criteria andSubProjectIn(List values) { - addCriterion("sub_project in", values, "subProject"); - return (Criteria) this; - } - - public Criteria andSubProjectNotIn(List values) { - addCriterion("sub_project not in", values, "subProject"); - return (Criteria) this; - } - - public Criteria andSubProjectBetween(String value1, String value2) { - addCriterion("sub_project between", value1, value2, "subProject"); - return (Criteria) this; - } - - public Criteria andSubProjectNotBetween(String value1, String value2) { - addCriterion("sub_project not between", value1, value2, "subProject"); - return (Criteria) this; - } - - public Criteria andExecutorRoleIsNull() { - addCriterion("executor_role is null"); - return (Criteria) this; - } - - public Criteria andExecutorRoleIsNotNull() { - addCriterion("executor_role is not null"); - return (Criteria) this; - } - - public Criteria andExecutorRoleEqualTo(Long value) { - addCriterion("executor_role =", value, "executorRole"); - return (Criteria) this; - } - - public Criteria andExecutorRoleNotEqualTo(Long value) { - addCriterion("executor_role <>", value, "executorRole"); - return (Criteria) this; - } - - public Criteria andExecutorRoleGreaterThan(Long value) { - addCriterion("executor_role >", value, "executorRole"); - return (Criteria) this; - } - - public Criteria andExecutorRoleGreaterThanOrEqualTo(Long value) { - addCriterion("executor_role >=", value, "executorRole"); - return (Criteria) this; - } - - public Criteria andExecutorRoleLessThan(Long value) { - addCriterion("executor_role <", value, "executorRole"); - return (Criteria) this; - } - - public Criteria andExecutorRoleLessThanOrEqualTo(Long value) { - addCriterion("executor_role <=", value, "executorRole"); - return (Criteria) this; - } - - public Criteria andExecutorRoleIn(List values) { - addCriterion("executor_role in", values, "executorRole"); - return (Criteria) this; - } - - public Criteria andExecutorRoleNotIn(List values) { - addCriterion("executor_role not in", values, "executorRole"); - return (Criteria) this; - } - - public Criteria andExecutorRoleBetween(Long value1, Long value2) { - addCriterion("executor_role between", value1, value2, "executorRole"); - return (Criteria) this; - } - - public Criteria andExecutorRoleNotBetween(Long value1, Long value2) { - addCriterion("executor_role not between", value1, value2, "executorRole"); - return (Criteria) this; - } - - public Criteria andCheckerRoleIsNull() { - addCriterion("checker_role is null"); - return (Criteria) this; - } - - public Criteria andCheckerRoleIsNotNull() { - addCriterion("checker_role is not null"); - return (Criteria) this; - } - - public Criteria andCheckerRoleEqualTo(Long value) { - addCriterion("checker_role =", value, "checkerRole"); - return (Criteria) this; - } - - public Criteria andCheckerRoleNotEqualTo(Long value) { - addCriterion("checker_role <>", value, "checkerRole"); - return (Criteria) this; - } - - public Criteria andCheckerRoleGreaterThan(Long value) { - addCriterion("checker_role >", value, "checkerRole"); - return (Criteria) this; - } - - public Criteria andCheckerRoleGreaterThanOrEqualTo(Long value) { - addCriterion("checker_role >=", value, "checkerRole"); - return (Criteria) this; - } - - public Criteria andCheckerRoleLessThan(Long value) { - addCriterion("checker_role <", value, "checkerRole"); - return (Criteria) this; - } - - public Criteria andCheckerRoleLessThanOrEqualTo(Long value) { - addCriterion("checker_role <=", value, "checkerRole"); - return (Criteria) this; - } - - public Criteria andCheckerRoleIn(List values) { - addCriterion("checker_role in", values, "checkerRole"); - return (Criteria) this; - } - - public Criteria andCheckerRoleNotIn(List values) { - addCriterion("checker_role not in", values, "checkerRole"); - return (Criteria) this; - } - - public Criteria andCheckerRoleBetween(Long value1, Long value2) { - addCriterion("checker_role between", value1, value2, "checkerRole"); - return (Criteria) this; - } - - public Criteria andCheckerRoleNotBetween(Long value1, Long value2) { - addCriterion("checker_role not between", value1, value2, "checkerRole"); - return (Criteria) this; - } - - public Criteria andMoneyIsNull() { - addCriterion("money is null"); - return (Criteria) this; - } - - public Criteria andMoneyIsNotNull() { - addCriterion("money is not null"); - return (Criteria) this; - } - - public Criteria andMoneyEqualTo(Long value) { - addCriterion("money =", value, "money"); - return (Criteria) this; - } - - public Criteria andMoneyNotEqualTo(Long value) { - addCriterion("money <>", value, "money"); - return (Criteria) this; - } - - public Criteria andMoneyGreaterThan(Long value) { - addCriterion("money >", value, "money"); - return (Criteria) this; - } - - public Criteria andMoneyGreaterThanOrEqualTo(Long value) { - addCriterion("money >=", value, "money"); - return (Criteria) this; - } - - public Criteria andMoneyLessThan(Long value) { - addCriterion("money <", value, "money"); - return (Criteria) this; - } - - public Criteria andMoneyLessThanOrEqualTo(Long value) { - addCriterion("money <=", value, "money"); - return (Criteria) this; - } - - public Criteria andMoneyIn(List values) { - addCriterion("money in", values, "money"); - return (Criteria) this; - } - - public Criteria andMoneyNotIn(List values) { - addCriterion("money not in", values, "money"); - return (Criteria) this; - } - - public Criteria andMoneyBetween(Long value1, Long value2) { - addCriterion("money between", value1, value2, "money"); - return (Criteria) this; - } - - public Criteria andMoneyNotBetween(Long value1, Long value2) { - addCriterion("money not between", value1, value2, "money"); - return (Criteria) this; - } - - public Criteria andDelayIsNull() { - addCriterion("delay is null"); - return (Criteria) this; - } - - public Criteria andDelayIsNotNull() { - addCriterion("delay is not null"); - return (Criteria) this; - } - - public Criteria andDelayEqualTo(Byte value) { - addCriterion("delay =", value, "delay"); - return (Criteria) this; - } - - public Criteria andDelayNotEqualTo(Byte value) { - addCriterion("delay <>", value, "delay"); - return (Criteria) this; - } - - public Criteria andDelayGreaterThan(Byte value) { - addCriterion("delay >", value, "delay"); - return (Criteria) this; - } - - public Criteria andDelayGreaterThanOrEqualTo(Byte value) { - addCriterion("delay >=", value, "delay"); - return (Criteria) this; - } - - public Criteria andDelayLessThan(Byte value) { - addCriterion("delay <", value, "delay"); - return (Criteria) this; - } - - public Criteria andDelayLessThanOrEqualTo(Byte value) { - addCriterion("delay <=", value, "delay"); - return (Criteria) this; - } - - public Criteria andDelayIn(List values) { - addCriterion("delay in", values, "delay"); - return (Criteria) this; - } - - public Criteria andDelayNotIn(List values) { - addCriterion("delay not in", values, "delay"); - return (Criteria) this; - } - - public Criteria andDelayBetween(Byte value1, Byte value2) { - addCriterion("delay between", value1, value2, "delay"); - return (Criteria) this; - } - - public Criteria andDelayNotBetween(Byte value1, Byte value2) { - addCriterion("delay not between", value1, value2, "delay"); - return (Criteria) this; - } - - public Criteria andDelayTimeIsNull() { - addCriterion("delay_time is null"); - return (Criteria) this; - } - - public Criteria andDelayTimeIsNotNull() { - addCriterion("delay_time is not null"); - return (Criteria) this; - } - - public Criteria andDelayTimeEqualTo(Long value) { - addCriterion("delay_time =", value, "delayTime"); - return (Criteria) this; - } - - public Criteria andDelayTimeNotEqualTo(Long value) { - addCriterion("delay_time <>", value, "delayTime"); - return (Criteria) this; - } - - public Criteria andDelayTimeGreaterThan(Long value) { - addCriterion("delay_time >", value, "delayTime"); - return (Criteria) this; - } - - public Criteria andDelayTimeGreaterThanOrEqualTo(Long value) { - addCriterion("delay_time >=", value, "delayTime"); - return (Criteria) this; - } - - public Criteria andDelayTimeLessThan(Long value) { - addCriterion("delay_time <", value, "delayTime"); - return (Criteria) this; - } - - public Criteria andDelayTimeLessThanOrEqualTo(Long value) { - addCriterion("delay_time <=", value, "delayTime"); - return (Criteria) this; - } - - public Criteria andDelayTimeIn(List values) { - addCriterion("delay_time in", values, "delayTime"); - return (Criteria) this; - } - - public Criteria andDelayTimeNotIn(List values) { - addCriterion("delay_time not in", values, "delayTime"); - return (Criteria) this; - } - - public Criteria andDelayTimeBetween(Long value1, Long value2) { - addCriterion("delay_time between", value1, value2, "delayTime"); - return (Criteria) this; - } - - public Criteria andDelayTimeNotBetween(Long value1, Long value2) { - addCriterion("delay_time not between", value1, value2, "delayTime"); - return (Criteria) this; - } - - public Criteria andLoopToIsNull() { - addCriterion("loop_to is null"); - return (Criteria) this; - } - - public Criteria andLoopToIsNotNull() { - addCriterion("loop_to is not null"); - return (Criteria) this; - } - - public Criteria andLoopToEqualTo(Long value) { - addCriterion("loop_to =", value, "loopTo"); - return (Criteria) this; - } - - public Criteria andLoopToNotEqualTo(Long value) { - addCriterion("loop_to <>", value, "loopTo"); - return (Criteria) this; - } - - public Criteria andLoopToGreaterThan(Long value) { - addCriterion("loop_to >", value, "loopTo"); - return (Criteria) this; - } - - public Criteria andLoopToGreaterThanOrEqualTo(Long value) { - addCriterion("loop_to >=", value, "loopTo"); - return (Criteria) this; - } - - public Criteria andLoopToLessThan(Long value) { - addCriterion("loop_to <", value, "loopTo"); - return (Criteria) this; - } - - public Criteria andLoopToLessThanOrEqualTo(Long value) { - addCriterion("loop_to <=", value, "loopTo"); - return (Criteria) this; - } - - public Criteria andLoopToIn(List values) { - addCriterion("loop_to in", values, "loopTo"); - return (Criteria) this; - } - - public Criteria andLoopToNotIn(List values) { - addCriterion("loop_to not in", values, "loopTo"); - return (Criteria) this; - } - - public Criteria andLoopToBetween(Long value1, Long value2) { - addCriterion("loop_to between", value1, value2, "loopTo"); - return (Criteria) this; - } - - public Criteria andLoopToNotBetween(Long value1, Long value2) { - addCriterion("loop_to not between", value1, value2, "loopTo"); - return (Criteria) this; - } - - public Criteria andLoopTimesIsNull() { - addCriterion("loop_times is null"); - return (Criteria) this; - } - - public Criteria andLoopTimesIsNotNull() { - addCriterion("loop_times is not null"); - return (Criteria) this; - } - - public Criteria andLoopTimesEqualTo(Integer value) { - addCriterion("loop_times =", value, "loopTimes"); - return (Criteria) this; - } - - public Criteria andLoopTimesNotEqualTo(Integer value) { - addCriterion("loop_times <>", value, "loopTimes"); - return (Criteria) this; - } - - public Criteria andLoopTimesGreaterThan(Integer value) { - addCriterion("loop_times >", value, "loopTimes"); - return (Criteria) this; - } - - public Criteria andLoopTimesGreaterThanOrEqualTo(Integer value) { - addCriterion("loop_times >=", value, "loopTimes"); - return (Criteria) this; - } - - public Criteria andLoopTimesLessThan(Integer value) { - addCriterion("loop_times <", value, "loopTimes"); - return (Criteria) this; - } - - public Criteria andLoopTimesLessThanOrEqualTo(Integer value) { - addCriterion("loop_times <=", value, "loopTimes"); - return (Criteria) this; - } - - public Criteria andLoopTimesIn(List values) { - addCriterion("loop_times in", values, "loopTimes"); - return (Criteria) this; - } - - public Criteria andLoopTimesNotIn(List values) { - addCriterion("loop_times not in", values, "loopTimes"); - return (Criteria) this; - } - - public Criteria andLoopTimesBetween(Integer value1, Integer value2) { - addCriterion("loop_times between", value1, value2, "loopTimes"); - return (Criteria) this; - } - - public Criteria andLoopTimesNotBetween(Integer value1, Integer value2) { - addCriterion("loop_times not between", value1, value2, "loopTimes"); - return (Criteria) this; - } - - public Criteria andVirtualIsNull() { - addCriterion("virtual is null"); - return (Criteria) this; - } - - public Criteria andVirtualIsNotNull() { - addCriterion("virtual is not null"); - return (Criteria) this; - } - - public Criteria andVirtualEqualTo(Byte value) { - addCriterion("virtual =", value, "virtual"); - return (Criteria) this; - } - - public Criteria andVirtualNotEqualTo(Byte value) { - addCriterion("virtual <>", value, "virtual"); - return (Criteria) this; - } - - public Criteria andVirtualGreaterThan(Byte value) { - addCriterion("virtual >", value, "virtual"); - return (Criteria) this; - } - - public Criteria andVirtualGreaterThanOrEqualTo(Byte value) { - addCriterion("virtual >=", value, "virtual"); - return (Criteria) this; - } - - public Criteria andVirtualLessThan(Byte value) { - addCriterion("virtual <", value, "virtual"); - return (Criteria) this; - } - - public Criteria andVirtualLessThanOrEqualTo(Byte value) { - addCriterion("virtual <=", value, "virtual"); - return (Criteria) this; - } - - public Criteria andVirtualIn(List values) { - addCriterion("virtual in", values, "virtual"); - return (Criteria) this; - } - - public Criteria andVirtualNotIn(List values) { - addCriterion("virtual not in", values, "virtual"); - return (Criteria) this; - } - - public Criteria andVirtualBetween(Byte value1, Byte value2) { - addCriterion("virtual between", value1, value2, "virtual"); - return (Criteria) this; - } - - public Criteria andVirtualNotBetween(Byte value1, Byte value2) { - addCriterion("virtual not between", value1, value2, "virtual"); - return (Criteria) this; - } - - public Criteria andLevelIsNull() { - addCriterion("level is null"); - return (Criteria) this; - } - - public Criteria andLevelIsNotNull() { - addCriterion("level is not null"); - return (Criteria) this; - } - - public Criteria andLevelEqualTo(Byte value) { - addCriterion("level =", value, "level"); - return (Criteria) this; - } - - public Criteria andLevelNotEqualTo(Byte value) { - addCriterion("level <>", value, "level"); - return (Criteria) this; - } - - public Criteria andLevelGreaterThan(Byte value) { - addCriterion("level >", value, "level"); - return (Criteria) this; - } - - public Criteria andLevelGreaterThanOrEqualTo(Byte value) { - addCriterion("level >=", value, "level"); - return (Criteria) this; - } - - public Criteria andLevelLessThan(Byte value) { - addCriterion("level <", value, "level"); - return (Criteria) this; - } - - public Criteria andLevelLessThanOrEqualTo(Byte value) { - addCriterion("level <=", value, "level"); - return (Criteria) this; - } - - public Criteria andLevelIn(List values) { - addCriterion("level in", values, "level"); - return (Criteria) this; - } - - public Criteria andLevelNotIn(List values) { - addCriterion("level not in", values, "level"); - return (Criteria) this; - } - - public Criteria andLevelBetween(Byte value1, Byte value2) { - addCriterion("level between", value1, value2, "level"); - return (Criteria) this; - } - - public Criteria andLevelNotBetween(Byte value1, Byte value2) { - addCriterion("level not between", value1, value2, "level"); - return (Criteria) this; - } - - public Criteria andHasGroupIsNull() { - addCriterion("has_group is null"); - return (Criteria) this; - } - - public Criteria andHasGroupIsNotNull() { - addCriterion("has_group is not null"); - return (Criteria) this; - } - - public Criteria andHasGroupEqualTo(Byte value) { - addCriterion("has_group =", value, "hasGroup"); - return (Criteria) this; - } - - public Criteria andHasGroupNotEqualTo(Byte value) { - addCriterion("has_group <>", value, "hasGroup"); - return (Criteria) this; - } - - public Criteria andHasGroupGreaterThan(Byte value) { - addCriterion("has_group >", value, "hasGroup"); - return (Criteria) this; - } - - public Criteria andHasGroupGreaterThanOrEqualTo(Byte value) { - addCriterion("has_group >=", value, "hasGroup"); - return (Criteria) this; - } - - public Criteria andHasGroupLessThan(Byte value) { - addCriterion("has_group <", value, "hasGroup"); - return (Criteria) this; - } - - public Criteria andHasGroupLessThanOrEqualTo(Byte value) { - addCriterion("has_group <=", value, "hasGroup"); - return (Criteria) this; - } - - public Criteria andHasGroupIn(List values) { - addCriterion("has_group in", values, "hasGroup"); - return (Criteria) this; - } - - public Criteria andHasGroupNotIn(List values) { - addCriterion("has_group not in", values, "hasGroup"); - return (Criteria) this; - } - - public Criteria andHasGroupBetween(Byte value1, Byte value2) { - addCriterion("has_group between", value1, value2, "hasGroup"); - return (Criteria) this; - } - - public Criteria andHasGroupNotBetween(Byte value1, Byte value2) { - addCriterion("has_group not between", value1, value2, "hasGroup"); - return (Criteria) this; - } - - public Criteria andAllMemberIsNull() { - addCriterion("all_member is null"); - return (Criteria) this; - } - - public Criteria andAllMemberIsNotNull() { - addCriterion("all_member is not null"); - return (Criteria) this; - } - - public Criteria andAllMemberEqualTo(Byte value) { - addCriterion("all_member =", value, "allMember"); - return (Criteria) this; - } - - public Criteria andAllMemberNotEqualTo(Byte value) { - addCriterion("all_member <>", value, "allMember"); - return (Criteria) this; - } - - public Criteria andAllMemberGreaterThan(Byte value) { - addCriterion("all_member >", value, "allMember"); - return (Criteria) this; - } - - public Criteria andAllMemberGreaterThanOrEqualTo(Byte value) { - addCriterion("all_member >=", value, "allMember"); - return (Criteria) this; - } - - public Criteria andAllMemberLessThan(Byte value) { - addCriterion("all_member <", value, "allMember"); - return (Criteria) this; - } - - public Criteria andAllMemberLessThanOrEqualTo(Byte value) { - addCriterion("all_member <=", value, "allMember"); - return (Criteria) this; - } - - public Criteria andAllMemberIn(List values) { - addCriterion("all_member in", values, "allMember"); - return (Criteria) this; - } - - public Criteria andAllMemberNotIn(List values) { - addCriterion("all_member not in", values, "allMember"); - return (Criteria) this; - } - - public Criteria andAllMemberBetween(Byte value1, Byte value2) { - addCriterion("all_member between", value1, value2, "allMember"); - return (Criteria) this; - } - - public Criteria andAllMemberNotBetween(Byte value1, Byte value2) { - addCriterion("all_member not between", value1, value2, "allMember"); - return (Criteria) this; - } - - public Criteria andCreatedAtIsNull() { - addCriterion("created_at is null"); - return (Criteria) this; - } - - public Criteria andCreatedAtIsNotNull() { - addCriterion("created_at is not null"); - return (Criteria) this; - } - - public Criteria andCreatedAtEqualTo(Date value) { - addCriterion("created_at =", value, "createdAt"); - return (Criteria) this; - } - - public Criteria andCreatedAtNotEqualTo(Date value) { - addCriterion("created_at <>", value, "createdAt"); - return (Criteria) this; - } - - public Criteria andCreatedAtGreaterThan(Date value) { - addCriterion("created_at >", value, "createdAt"); - return (Criteria) this; - } - - public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) { - addCriterion("created_at >=", value, "createdAt"); - return (Criteria) this; - } - - public Criteria andCreatedAtLessThan(Date value) { - addCriterion("created_at <", value, "createdAt"); - return (Criteria) this; - } - - public Criteria andCreatedAtLessThanOrEqualTo(Date value) { - addCriterion("created_at <=", value, "createdAt"); - return (Criteria) this; - } - - public Criteria andCreatedAtIn(List values) { - addCriterion("created_at in", values, "createdAt"); - return (Criteria) this; - } - - public Criteria andCreatedAtNotIn(List values) { - addCriterion("created_at not in", values, "createdAt"); - return (Criteria) this; - } - - public Criteria andCreatedAtBetween(Date value1, Date value2) { - addCriterion("created_at between", value1, value2, "createdAt"); - return (Criteria) this; - } - - public Criteria andCreatedAtNotBetween(Date value1, Date value2) { - addCriterion("created_at not between", value1, value2, "createdAt"); - return (Criteria) this; - } - - public Criteria andUpdatedAtIsNull() { - addCriterion("updated_at is null"); - return (Criteria) this; - } - - public Criteria andUpdatedAtIsNotNull() { - addCriterion("updated_at is not null"); - return (Criteria) this; - } - - public Criteria andUpdatedAtEqualTo(Date value) { - addCriterion("updated_at =", value, "updatedAt"); - return (Criteria) this; - } - - public Criteria andUpdatedAtNotEqualTo(Date value) { - addCriterion("updated_at <>", value, "updatedAt"); - return (Criteria) this; - } - - public Criteria andUpdatedAtGreaterThan(Date value) { - addCriterion("updated_at >", value, "updatedAt"); - return (Criteria) this; - } - - public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) { - addCriterion("updated_at >=", value, "updatedAt"); - return (Criteria) this; - } - - public Criteria andUpdatedAtLessThan(Date value) { - addCriterion("updated_at <", value, "updatedAt"); - return (Criteria) this; - } - - public Criteria andUpdatedAtLessThanOrEqualTo(Date value) { - addCriterion("updated_at <=", value, "updatedAt"); - return (Criteria) this; - } - - public Criteria andUpdatedAtIn(List values) { - addCriterion("updated_at in", values, "updatedAt"); - return (Criteria) this; - } - - public Criteria andUpdatedAtNotIn(List values) { - addCriterion("updated_at not in", values, "updatedAt"); - return (Criteria) this; - } - - public Criteria andUpdatedAtBetween(Date value1, Date value2) { - addCriterion("updated_at between", value1, value2, "updatedAt"); - return (Criteria) this; - } - - public Criteria andUpdatedAtNotBetween(Date value1, Date value2) { - addCriterion("updated_at not between", value1, value2, "updatedAt"); - return (Criteria) this; - } - - public Criteria andRecStatusIsNull() { - addCriterion("rec_status is null"); - return (Criteria) this; - } - - public Criteria andRecStatusIsNotNull() { - addCriterion("rec_status is not null"); - return (Criteria) this; - } - - public Criteria andRecStatusEqualTo(Byte value) { - addCriterion("rec_status =", value, "recStatus"); - return (Criteria) this; - } - - public Criteria andRecStatusNotEqualTo(Byte value) { - addCriterion("rec_status <>", value, "recStatus"); - return (Criteria) this; - } - - public Criteria andRecStatusGreaterThan(Byte value) { - addCriterion("rec_status >", value, "recStatus"); - return (Criteria) this; - } - - public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) { - addCriterion("rec_status >=", value, "recStatus"); - return (Criteria) this; - } - - public Criteria andRecStatusLessThan(Byte value) { - addCriterion("rec_status <", value, "recStatus"); - return (Criteria) this; - } - - public Criteria andRecStatusLessThanOrEqualTo(Byte value) { - addCriterion("rec_status <=", value, "recStatus"); - return (Criteria) this; - } - - public Criteria andRecStatusIn(List values) { - addCriterion("rec_status in", values, "recStatus"); - return (Criteria) this; - } - - public Criteria andRecStatusNotIn(List values) { - addCriterion("rec_status not in", values, "recStatus"); - return (Criteria) this; - } - - public Criteria andRecStatusBetween(Byte value1, Byte value2) { - addCriterion("rec_status between", value1, value2, "recStatus"); - return (Criteria) this; - } - - public Criteria andRecStatusNotBetween(Byte value1, Byte value2) { - addCriterion("rec_status not between", value1, value2, "recStatus"); - return (Criteria) this; - } - } - - public static class Criteria extends GeneratedCriteria { - - protected Criteria() { - super(); - } - } - - public static class Criterion { - private String condition; - - private Object value; - - private Object secondValue; - - private boolean noValue; - - private boolean singleValue; - - private boolean betweenValue; - - private boolean listValue; - - private String typeHandler; - - public String getCondition() { - return condition; - } - - public Object getValue() { - return value; - } - - public Object getSecondValue() { - return secondValue; - } - - public boolean isNoValue() { - return noValue; - } - - public boolean isSingleValue() { - return singleValue; - } - - public boolean isBetweenValue() { - return betweenValue; - } - - public boolean isListValue() { - return listValue; - } - - public String getTypeHandler() { - return typeHandler; - } - - protected Criterion(String condition) { - super(); - this.condition = condition; - this.typeHandler = null; - this.noValue = true; - } - - protected Criterion(String condition, Object value, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.typeHandler = typeHandler; - if (value instanceof List) { - this.listValue = true; - } else { - this.singleValue = true; - } - } - - protected Criterion(String condition, Object value) { - this(condition, value, null); - } - - protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.secondValue = secondValue; - this.typeHandler = typeHandler; - this.betweenValue = true; - } - - protected Criterion(String condition, Object value, Object secondValue) { - this(condition, value, secondValue, null); - } - } +package com.ccsens.tall.bean.po; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class ProTaskDetailExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public ProTaskDetailExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Long value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Long value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Long value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Long value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Long value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Long value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Long value1, Long value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Long value1, Long value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andProjectIdIsNull() { + addCriterion("project_id is null"); + return (Criteria) this; + } + + public Criteria andProjectIdIsNotNull() { + addCriterion("project_id is not null"); + return (Criteria) this; + } + + public Criteria andProjectIdEqualTo(Long value) { + addCriterion("project_id =", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdNotEqualTo(Long value) { + addCriterion("project_id <>", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdGreaterThan(Long value) { + addCriterion("project_id >", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdGreaterThanOrEqualTo(Long value) { + addCriterion("project_id >=", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdLessThan(Long value) { + addCriterion("project_id <", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdLessThanOrEqualTo(Long value) { + addCriterion("project_id <=", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdIn(List values) { + addCriterion("project_id in", values, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdNotIn(List values) { + addCriterion("project_id not in", values, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdBetween(Long value1, Long value2) { + addCriterion("project_id between", value1, value2, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdNotBetween(Long value1, Long value2) { + addCriterion("project_id not between", value1, value2, "projectId"); + return (Criteria) this; + } + + public Criteria andNameIsNull() { + addCriterion("name is null"); + return (Criteria) this; + } + + public Criteria andNameIsNotNull() { + addCriterion("name is not null"); + return (Criteria) this; + } + + public Criteria andNameEqualTo(String value) { + addCriterion("name =", value, "name"); + return (Criteria) this; + } + + public Criteria andNameNotEqualTo(String value) { + addCriterion("name <>", value, "name"); + return (Criteria) this; + } + + public Criteria andNameGreaterThan(String value) { + addCriterion("name >", value, "name"); + return (Criteria) this; + } + + public Criteria andNameGreaterThanOrEqualTo(String value) { + addCriterion("name >=", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLessThan(String value) { + addCriterion("name <", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLessThanOrEqualTo(String value) { + addCriterion("name <=", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLike(String value) { + addCriterion("name like", value, "name"); + return (Criteria) this; + } + + public Criteria andNameNotLike(String value) { + addCriterion("name not like", value, "name"); + return (Criteria) this; + } + + public Criteria andNameIn(List values) { + addCriterion("name in", values, "name"); + return (Criteria) this; + } + + public Criteria andNameNotIn(List values) { + addCriterion("name not in", values, "name"); + return (Criteria) this; + } + + public Criteria andNameBetween(String value1, String value2) { + addCriterion("name between", value1, value2, "name"); + return (Criteria) this; + } + + public Criteria andNameNotBetween(String value1, String value2) { + addCriterion("name not between", value1, value2, "name"); + return (Criteria) this; + } + + public Criteria andDescriptionIsNull() { + addCriterion("description is null"); + return (Criteria) this; + } + + public Criteria andDescriptionIsNotNull() { + addCriterion("description is not null"); + return (Criteria) this; + } + + public Criteria andDescriptionEqualTo(String value) { + addCriterion("description =", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionNotEqualTo(String value) { + addCriterion("description <>", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionGreaterThan(String value) { + addCriterion("description >", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionGreaterThanOrEqualTo(String value) { + addCriterion("description >=", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionLessThan(String value) { + addCriterion("description <", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionLessThanOrEqualTo(String value) { + addCriterion("description <=", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionLike(String value) { + addCriterion("description like", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionNotLike(String value) { + addCriterion("description not like", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionIn(List values) { + addCriterion("description in", values, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionNotIn(List values) { + addCriterion("description not in", values, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionBetween(String value1, String value2) { + addCriterion("description between", value1, value2, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionNotBetween(String value1, String value2) { + addCriterion("description not between", value1, value2, "description"); + return (Criteria) this; + } + + public Criteria andBeginTimeIsNull() { + addCriterion("begin_time is null"); + return (Criteria) this; + } + + public Criteria andBeginTimeIsNotNull() { + addCriterion("begin_time is not null"); + return (Criteria) this; + } + + public Criteria andBeginTimeEqualTo(Long value) { + addCriterion("begin_time =", value, "beginTime"); + return (Criteria) this; + } + + public Criteria andBeginTimeNotEqualTo(Long value) { + addCriterion("begin_time <>", value, "beginTime"); + return (Criteria) this; + } + + public Criteria andBeginTimeGreaterThan(Long value) { + addCriterion("begin_time >", value, "beginTime"); + return (Criteria) this; + } + + public Criteria andBeginTimeGreaterThanOrEqualTo(Long value) { + addCriterion("begin_time >=", value, "beginTime"); + return (Criteria) this; + } + + public Criteria andBeginTimeLessThan(Long value) { + addCriterion("begin_time <", value, "beginTime"); + return (Criteria) this; + } + + public Criteria andBeginTimeLessThanOrEqualTo(Long value) { + addCriterion("begin_time <=", value, "beginTime"); + return (Criteria) this; + } + + public Criteria andBeginTimeIn(List values) { + addCriterion("begin_time in", values, "beginTime"); + return (Criteria) this; + } + + public Criteria andBeginTimeNotIn(List values) { + addCriterion("begin_time not in", values, "beginTime"); + return (Criteria) this; + } + + public Criteria andBeginTimeBetween(Long value1, Long value2) { + addCriterion("begin_time between", value1, value2, "beginTime"); + return (Criteria) this; + } + + public Criteria andBeginTimeNotBetween(Long value1, Long value2) { + addCriterion("begin_time not between", value1, value2, "beginTime"); + return (Criteria) this; + } + + public Criteria andEndTimeIsNull() { + addCriterion("end_time is null"); + return (Criteria) this; + } + + public Criteria andEndTimeIsNotNull() { + addCriterion("end_time is not null"); + return (Criteria) this; + } + + public Criteria andEndTimeEqualTo(Long value) { + addCriterion("end_time =", value, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeNotEqualTo(Long value) { + addCriterion("end_time <>", value, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeGreaterThan(Long value) { + addCriterion("end_time >", value, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeGreaterThanOrEqualTo(Long value) { + addCriterion("end_time >=", value, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeLessThan(Long value) { + addCriterion("end_time <", value, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeLessThanOrEqualTo(Long value) { + addCriterion("end_time <=", value, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeIn(List values) { + addCriterion("end_time in", values, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeNotIn(List values) { + addCriterion("end_time not in", values, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeBetween(Long value1, Long value2) { + addCriterion("end_time between", value1, value2, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeNotBetween(Long value1, Long value2) { + addCriterion("end_time not between", value1, value2, "endTime"); + return (Criteria) this; + } + + public Criteria andCycleIsNull() { + addCriterion("cycle is null"); + return (Criteria) this; + } + + public Criteria andCycleIsNotNull() { + addCriterion("cycle is not null"); + return (Criteria) this; + } + + public Criteria andCycleEqualTo(String value) { + addCriterion("cycle =", value, "cycle"); + return (Criteria) this; + } + + public Criteria andCycleNotEqualTo(String value) { + addCriterion("cycle <>", value, "cycle"); + return (Criteria) this; + } + + public Criteria andCycleGreaterThan(String value) { + addCriterion("cycle >", value, "cycle"); + return (Criteria) this; + } + + public Criteria andCycleGreaterThanOrEqualTo(String value) { + addCriterion("cycle >=", value, "cycle"); + return (Criteria) this; + } + + public Criteria andCycleLessThan(String value) { + addCriterion("cycle <", value, "cycle"); + return (Criteria) this; + } + + public Criteria andCycleLessThanOrEqualTo(String value) { + addCriterion("cycle <=", value, "cycle"); + return (Criteria) this; + } + + public Criteria andCycleLike(String value) { + addCriterion("cycle like", value, "cycle"); + return (Criteria) this; + } + + public Criteria andCycleNotLike(String value) { + addCriterion("cycle not like", value, "cycle"); + return (Criteria) this; + } + + public Criteria andCycleIn(List values) { + addCriterion("cycle in", values, "cycle"); + return (Criteria) this; + } + + public Criteria andCycleNotIn(List values) { + addCriterion("cycle not in", values, "cycle"); + return (Criteria) this; + } + + public Criteria andCycleBetween(String value1, String value2) { + addCriterion("cycle between", value1, value2, "cycle"); + return (Criteria) this; + } + + public Criteria andCycleNotBetween(String value1, String value2) { + addCriterion("cycle not between", value1, value2, "cycle"); + return (Criteria) this; + } + + public Criteria andParentIdIsNull() { + addCriterion("parent_id is null"); + return (Criteria) this; + } + + public Criteria andParentIdIsNotNull() { + addCriterion("parent_id is not null"); + return (Criteria) this; + } + + public Criteria andParentIdEqualTo(Long value) { + addCriterion("parent_id =", value, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdNotEqualTo(Long value) { + addCriterion("parent_id <>", value, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdGreaterThan(Long value) { + addCriterion("parent_id >", value, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdGreaterThanOrEqualTo(Long value) { + addCriterion("parent_id >=", value, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdLessThan(Long value) { + addCriterion("parent_id <", value, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdLessThanOrEqualTo(Long value) { + addCriterion("parent_id <=", value, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdIn(List values) { + addCriterion("parent_id in", values, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdNotIn(List values) { + addCriterion("parent_id not in", values, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdBetween(Long value1, Long value2) { + addCriterion("parent_id between", value1, value2, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdNotBetween(Long value1, Long value2) { + addCriterion("parent_id not between", value1, value2, "parentId"); + return (Criteria) this; + } + + public Criteria andSubTaskIsNull() { + addCriterion("sub_task is null"); + return (Criteria) this; + } + + public Criteria andSubTaskIsNotNull() { + addCriterion("sub_task is not null"); + return (Criteria) this; + } + + public Criteria andSubTaskEqualTo(String value) { + addCriterion("sub_task =", value, "subTask"); + return (Criteria) this; + } + + public Criteria andSubTaskNotEqualTo(String value) { + addCriterion("sub_task <>", value, "subTask"); + return (Criteria) this; + } + + public Criteria andSubTaskGreaterThan(String value) { + addCriterion("sub_task >", value, "subTask"); + return (Criteria) this; + } + + public Criteria andSubTaskGreaterThanOrEqualTo(String value) { + addCriterion("sub_task >=", value, "subTask"); + return (Criteria) this; + } + + public Criteria andSubTaskLessThan(String value) { + addCriterion("sub_task <", value, "subTask"); + return (Criteria) this; + } + + public Criteria andSubTaskLessThanOrEqualTo(String value) { + addCriterion("sub_task <=", value, "subTask"); + return (Criteria) this; + } + + public Criteria andSubTaskLike(String value) { + addCriterion("sub_task like", value, "subTask"); + return (Criteria) this; + } + + public Criteria andSubTaskNotLike(String value) { + addCriterion("sub_task not like", value, "subTask"); + return (Criteria) this; + } + + public Criteria andSubTaskIn(List values) { + addCriterion("sub_task in", values, "subTask"); + return (Criteria) this; + } + + public Criteria andSubTaskNotIn(List values) { + addCriterion("sub_task not in", values, "subTask"); + return (Criteria) this; + } + + public Criteria andSubTaskBetween(String value1, String value2) { + addCriterion("sub_task between", value1, value2, "subTask"); + return (Criteria) this; + } + + public Criteria andSubTaskNotBetween(String value1, String value2) { + addCriterion("sub_task not between", value1, value2, "subTask"); + return (Criteria) this; + } + + public Criteria andSubProjectIdIsNull() { + addCriterion("sub_project_id is null"); + return (Criteria) this; + } + + public Criteria andSubProjectIdIsNotNull() { + addCriterion("sub_project_id is not null"); + return (Criteria) this; + } + + public Criteria andSubProjectIdEqualTo(Long value) { + addCriterion("sub_project_id =", value, "subProjectId"); + return (Criteria) this; + } + + public Criteria andSubProjectIdNotEqualTo(Long value) { + addCriterion("sub_project_id <>", value, "subProjectId"); + return (Criteria) this; + } + + public Criteria andSubProjectIdGreaterThan(Long value) { + addCriterion("sub_project_id >", value, "subProjectId"); + return (Criteria) this; + } + + public Criteria andSubProjectIdGreaterThanOrEqualTo(Long value) { + addCriterion("sub_project_id >=", value, "subProjectId"); + return (Criteria) this; + } + + public Criteria andSubProjectIdLessThan(Long value) { + addCriterion("sub_project_id <", value, "subProjectId"); + return (Criteria) this; + } + + public Criteria andSubProjectIdLessThanOrEqualTo(Long value) { + addCriterion("sub_project_id <=", value, "subProjectId"); + return (Criteria) this; + } + + public Criteria andSubProjectIdIn(List values) { + addCriterion("sub_project_id in", values, "subProjectId"); + return (Criteria) this; + } + + public Criteria andSubProjectIdNotIn(List values) { + addCriterion("sub_project_id not in", values, "subProjectId"); + return (Criteria) this; + } + + public Criteria andSubProjectIdBetween(Long value1, Long value2) { + addCriterion("sub_project_id between", value1, value2, "subProjectId"); + return (Criteria) this; + } + + public Criteria andSubProjectIdNotBetween(Long value1, Long value2) { + addCriterion("sub_project_id not between", value1, value2, "subProjectId"); + return (Criteria) this; + } + + public Criteria andSubProjectIsNull() { + addCriterion("sub_project is null"); + return (Criteria) this; + } + + public Criteria andSubProjectIsNotNull() { + addCriterion("sub_project is not null"); + return (Criteria) this; + } + + public Criteria andSubProjectEqualTo(String value) { + addCriterion("sub_project =", value, "subProject"); + return (Criteria) this; + } + + public Criteria andSubProjectNotEqualTo(String value) { + addCriterion("sub_project <>", value, "subProject"); + return (Criteria) this; + } + + public Criteria andSubProjectGreaterThan(String value) { + addCriterion("sub_project >", value, "subProject"); + return (Criteria) this; + } + + public Criteria andSubProjectGreaterThanOrEqualTo(String value) { + addCriterion("sub_project >=", value, "subProject"); + return (Criteria) this; + } + + public Criteria andSubProjectLessThan(String value) { + addCriterion("sub_project <", value, "subProject"); + return (Criteria) this; + } + + public Criteria andSubProjectLessThanOrEqualTo(String value) { + addCriterion("sub_project <=", value, "subProject"); + return (Criteria) this; + } + + public Criteria andSubProjectLike(String value) { + addCriterion("sub_project like", value, "subProject"); + return (Criteria) this; + } + + public Criteria andSubProjectNotLike(String value) { + addCriterion("sub_project not like", value, "subProject"); + return (Criteria) this; + } + + public Criteria andSubProjectIn(List values) { + addCriterion("sub_project in", values, "subProject"); + return (Criteria) this; + } + + public Criteria andSubProjectNotIn(List values) { + addCriterion("sub_project not in", values, "subProject"); + return (Criteria) this; + } + + public Criteria andSubProjectBetween(String value1, String value2) { + addCriterion("sub_project between", value1, value2, "subProject"); + return (Criteria) this; + } + + public Criteria andSubProjectNotBetween(String value1, String value2) { + addCriterion("sub_project not between", value1, value2, "subProject"); + return (Criteria) this; + } + + public Criteria andExecutorRoleIsNull() { + addCriterion("executor_role is null"); + return (Criteria) this; + } + + public Criteria andExecutorRoleIsNotNull() { + addCriterion("executor_role is not null"); + return (Criteria) this; + } + + public Criteria andExecutorRoleEqualTo(Long value) { + addCriterion("executor_role =", value, "executorRole"); + return (Criteria) this; + } + + public Criteria andExecutorRoleNotEqualTo(Long value) { + addCriterion("executor_role <>", value, "executorRole"); + return (Criteria) this; + } + + public Criteria andExecutorRoleGreaterThan(Long value) { + addCriterion("executor_role >", value, "executorRole"); + return (Criteria) this; + } + + public Criteria andExecutorRoleGreaterThanOrEqualTo(Long value) { + addCriterion("executor_role >=", value, "executorRole"); + return (Criteria) this; + } + + public Criteria andExecutorRoleLessThan(Long value) { + addCriterion("executor_role <", value, "executorRole"); + return (Criteria) this; + } + + public Criteria andExecutorRoleLessThanOrEqualTo(Long value) { + addCriterion("executor_role <=", value, "executorRole"); + return (Criteria) this; + } + + public Criteria andExecutorRoleIn(List values) { + addCriterion("executor_role in", values, "executorRole"); + return (Criteria) this; + } + + public Criteria andExecutorRoleNotIn(List values) { + addCriterion("executor_role not in", values, "executorRole"); + return (Criteria) this; + } + + public Criteria andExecutorRoleBetween(Long value1, Long value2) { + addCriterion("executor_role between", value1, value2, "executorRole"); + return (Criteria) this; + } + + public Criteria andExecutorRoleNotBetween(Long value1, Long value2) { + addCriterion("executor_role not between", value1, value2, "executorRole"); + return (Criteria) this; + } + + public Criteria andCheckerRoleIsNull() { + addCriterion("checker_role is null"); + return (Criteria) this; + } + + public Criteria andCheckerRoleIsNotNull() { + addCriterion("checker_role is not null"); + return (Criteria) this; + } + + public Criteria andCheckerRoleEqualTo(Long value) { + addCriterion("checker_role =", value, "checkerRole"); + return (Criteria) this; + } + + public Criteria andCheckerRoleNotEqualTo(Long value) { + addCriterion("checker_role <>", value, "checkerRole"); + return (Criteria) this; + } + + public Criteria andCheckerRoleGreaterThan(Long value) { + addCriterion("checker_role >", value, "checkerRole"); + return (Criteria) this; + } + + public Criteria andCheckerRoleGreaterThanOrEqualTo(Long value) { + addCriterion("checker_role >=", value, "checkerRole"); + return (Criteria) this; + } + + public Criteria andCheckerRoleLessThan(Long value) { + addCriterion("checker_role <", value, "checkerRole"); + return (Criteria) this; + } + + public Criteria andCheckerRoleLessThanOrEqualTo(Long value) { + addCriterion("checker_role <=", value, "checkerRole"); + return (Criteria) this; + } + + public Criteria andCheckerRoleIn(List values) { + addCriterion("checker_role in", values, "checkerRole"); + return (Criteria) this; + } + + public Criteria andCheckerRoleNotIn(List values) { + addCriterion("checker_role not in", values, "checkerRole"); + return (Criteria) this; + } + + public Criteria andCheckerRoleBetween(Long value1, Long value2) { + addCriterion("checker_role between", value1, value2, "checkerRole"); + return (Criteria) this; + } + + public Criteria andCheckerRoleNotBetween(Long value1, Long value2) { + addCriterion("checker_role not between", value1, value2, "checkerRole"); + return (Criteria) this; + } + + public Criteria andMoneyIsNull() { + addCriterion("money is null"); + return (Criteria) this; + } + + public Criteria andMoneyIsNotNull() { + addCriterion("money is not null"); + return (Criteria) this; + } + + public Criteria andMoneyEqualTo(Long value) { + addCriterion("money =", value, "money"); + return (Criteria) this; + } + + public Criteria andMoneyNotEqualTo(Long value) { + addCriterion("money <>", value, "money"); + return (Criteria) this; + } + + public Criteria andMoneyGreaterThan(Long value) { + addCriterion("money >", value, "money"); + return (Criteria) this; + } + + public Criteria andMoneyGreaterThanOrEqualTo(Long value) { + addCriterion("money >=", value, "money"); + return (Criteria) this; + } + + public Criteria andMoneyLessThan(Long value) { + addCriterion("money <", value, "money"); + return (Criteria) this; + } + + public Criteria andMoneyLessThanOrEqualTo(Long value) { + addCriterion("money <=", value, "money"); + return (Criteria) this; + } + + public Criteria andMoneyIn(List values) { + addCriterion("money in", values, "money"); + return (Criteria) this; + } + + public Criteria andMoneyNotIn(List values) { + addCriterion("money not in", values, "money"); + return (Criteria) this; + } + + public Criteria andMoneyBetween(Long value1, Long value2) { + addCriterion("money between", value1, value2, "money"); + return (Criteria) this; + } + + public Criteria andMoneyNotBetween(Long value1, Long value2) { + addCriterion("money not between", value1, value2, "money"); + return (Criteria) this; + } + + public Criteria andDelayIsNull() { + addCriterion("delay is null"); + return (Criteria) this; + } + + public Criteria andDelayIsNotNull() { + addCriterion("delay is not null"); + return (Criteria) this; + } + + public Criteria andDelayEqualTo(Byte value) { + addCriterion("delay =", value, "delay"); + return (Criteria) this; + } + + public Criteria andDelayNotEqualTo(Byte value) { + addCriterion("delay <>", value, "delay"); + return (Criteria) this; + } + + public Criteria andDelayGreaterThan(Byte value) { + addCriterion("delay >", value, "delay"); + return (Criteria) this; + } + + public Criteria andDelayGreaterThanOrEqualTo(Byte value) { + addCriterion("delay >=", value, "delay"); + return (Criteria) this; + } + + public Criteria andDelayLessThan(Byte value) { + addCriterion("delay <", value, "delay"); + return (Criteria) this; + } + + public Criteria andDelayLessThanOrEqualTo(Byte value) { + addCriterion("delay <=", value, "delay"); + return (Criteria) this; + } + + public Criteria andDelayIn(List values) { + addCriterion("delay in", values, "delay"); + return (Criteria) this; + } + + public Criteria andDelayNotIn(List values) { + addCriterion("delay not in", values, "delay"); + return (Criteria) this; + } + + public Criteria andDelayBetween(Byte value1, Byte value2) { + addCriterion("delay between", value1, value2, "delay"); + return (Criteria) this; + } + + public Criteria andDelayNotBetween(Byte value1, Byte value2) { + addCriterion("delay not between", value1, value2, "delay"); + return (Criteria) this; + } + + public Criteria andDelayTimeIsNull() { + addCriterion("delay_time is null"); + return (Criteria) this; + } + + public Criteria andDelayTimeIsNotNull() { + addCriterion("delay_time is not null"); + return (Criteria) this; + } + + public Criteria andDelayTimeEqualTo(Long value) { + addCriterion("delay_time =", value, "delayTime"); + return (Criteria) this; + } + + public Criteria andDelayTimeNotEqualTo(Long value) { + addCriterion("delay_time <>", value, "delayTime"); + return (Criteria) this; + } + + public Criteria andDelayTimeGreaterThan(Long value) { + addCriterion("delay_time >", value, "delayTime"); + return (Criteria) this; + } + + public Criteria andDelayTimeGreaterThanOrEqualTo(Long value) { + addCriterion("delay_time >=", value, "delayTime"); + return (Criteria) this; + } + + public Criteria andDelayTimeLessThan(Long value) { + addCriterion("delay_time <", value, "delayTime"); + return (Criteria) this; + } + + public Criteria andDelayTimeLessThanOrEqualTo(Long value) { + addCriterion("delay_time <=", value, "delayTime"); + return (Criteria) this; + } + + public Criteria andDelayTimeIn(List values) { + addCriterion("delay_time in", values, "delayTime"); + return (Criteria) this; + } + + public Criteria andDelayTimeNotIn(List values) { + addCriterion("delay_time not in", values, "delayTime"); + return (Criteria) this; + } + + public Criteria andDelayTimeBetween(Long value1, Long value2) { + addCriterion("delay_time between", value1, value2, "delayTime"); + return (Criteria) this; + } + + public Criteria andDelayTimeNotBetween(Long value1, Long value2) { + addCriterion("delay_time not between", value1, value2, "delayTime"); + return (Criteria) this; + } + + public Criteria andLoopToIsNull() { + addCriterion("loop_to is null"); + return (Criteria) this; + } + + public Criteria andLoopToIsNotNull() { + addCriterion("loop_to is not null"); + return (Criteria) this; + } + + public Criteria andLoopToEqualTo(Long value) { + addCriterion("loop_to =", value, "loopTo"); + return (Criteria) this; + } + + public Criteria andLoopToNotEqualTo(Long value) { + addCriterion("loop_to <>", value, "loopTo"); + return (Criteria) this; + } + + public Criteria andLoopToGreaterThan(Long value) { + addCriterion("loop_to >", value, "loopTo"); + return (Criteria) this; + } + + public Criteria andLoopToGreaterThanOrEqualTo(Long value) { + addCriterion("loop_to >=", value, "loopTo"); + return (Criteria) this; + } + + public Criteria andLoopToLessThan(Long value) { + addCriterion("loop_to <", value, "loopTo"); + return (Criteria) this; + } + + public Criteria andLoopToLessThanOrEqualTo(Long value) { + addCriterion("loop_to <=", value, "loopTo"); + return (Criteria) this; + } + + public Criteria andLoopToIn(List values) { + addCriterion("loop_to in", values, "loopTo"); + return (Criteria) this; + } + + public Criteria andLoopToNotIn(List values) { + addCriterion("loop_to not in", values, "loopTo"); + return (Criteria) this; + } + + public Criteria andLoopToBetween(Long value1, Long value2) { + addCriterion("loop_to between", value1, value2, "loopTo"); + return (Criteria) this; + } + + public Criteria andLoopToNotBetween(Long value1, Long value2) { + addCriterion("loop_to not between", value1, value2, "loopTo"); + return (Criteria) this; + } + + public Criteria andLoopTimesIsNull() { + addCriterion("loop_times is null"); + return (Criteria) this; + } + + public Criteria andLoopTimesIsNotNull() { + addCriterion("loop_times is not null"); + return (Criteria) this; + } + + public Criteria andLoopTimesEqualTo(Integer value) { + addCriterion("loop_times =", value, "loopTimes"); + return (Criteria) this; + } + + public Criteria andLoopTimesNotEqualTo(Integer value) { + addCriterion("loop_times <>", value, "loopTimes"); + return (Criteria) this; + } + + public Criteria andLoopTimesGreaterThan(Integer value) { + addCriterion("loop_times >", value, "loopTimes"); + return (Criteria) this; + } + + public Criteria andLoopTimesGreaterThanOrEqualTo(Integer value) { + addCriterion("loop_times >=", value, "loopTimes"); + return (Criteria) this; + } + + public Criteria andLoopTimesLessThan(Integer value) { + addCriterion("loop_times <", value, "loopTimes"); + return (Criteria) this; + } + + public Criteria andLoopTimesLessThanOrEqualTo(Integer value) { + addCriterion("loop_times <=", value, "loopTimes"); + return (Criteria) this; + } + + public Criteria andLoopTimesIn(List values) { + addCriterion("loop_times in", values, "loopTimes"); + return (Criteria) this; + } + + public Criteria andLoopTimesNotIn(List values) { + addCriterion("loop_times not in", values, "loopTimes"); + return (Criteria) this; + } + + public Criteria andLoopTimesBetween(Integer value1, Integer value2) { + addCriterion("loop_times between", value1, value2, "loopTimes"); + return (Criteria) this; + } + + public Criteria andLoopTimesNotBetween(Integer value1, Integer value2) { + addCriterion("loop_times not between", value1, value2, "loopTimes"); + return (Criteria) this; + } + + public Criteria andVirtualIsNull() { + addCriterion("virtual is null"); + return (Criteria) this; + } + + public Criteria andVirtualIsNotNull() { + addCriterion("virtual is not null"); + return (Criteria) this; + } + + public Criteria andVirtualEqualTo(Byte value) { + addCriterion("virtual =", value, "virtual"); + return (Criteria) this; + } + + public Criteria andVirtualNotEqualTo(Byte value) { + addCriterion("virtual <>", value, "virtual"); + return (Criteria) this; + } + + public Criteria andVirtualGreaterThan(Byte value) { + addCriterion("virtual >", value, "virtual"); + return (Criteria) this; + } + + public Criteria andVirtualGreaterThanOrEqualTo(Byte value) { + addCriterion("virtual >=", value, "virtual"); + return (Criteria) this; + } + + public Criteria andVirtualLessThan(Byte value) { + addCriterion("virtual <", value, "virtual"); + return (Criteria) this; + } + + public Criteria andVirtualLessThanOrEqualTo(Byte value) { + addCriterion("virtual <=", value, "virtual"); + return (Criteria) this; + } + + public Criteria andVirtualIn(List values) { + addCriterion("virtual in", values, "virtual"); + return (Criteria) this; + } + + public Criteria andVirtualNotIn(List values) { + addCriterion("virtual not in", values, "virtual"); + return (Criteria) this; + } + + public Criteria andVirtualBetween(Byte value1, Byte value2) { + addCriterion("virtual between", value1, value2, "virtual"); + return (Criteria) this; + } + + public Criteria andVirtualNotBetween(Byte value1, Byte value2) { + addCriterion("virtual not between", value1, value2, "virtual"); + return (Criteria) this; + } + + public Criteria andLevelIsNull() { + addCriterion("level is null"); + return (Criteria) this; + } + + public Criteria andLevelIsNotNull() { + addCriterion("level is not null"); + return (Criteria) this; + } + + public Criteria andLevelEqualTo(Byte value) { + addCriterion("level =", value, "level"); + return (Criteria) this; + } + + public Criteria andLevelNotEqualTo(Byte value) { + addCriterion("level <>", value, "level"); + return (Criteria) this; + } + + public Criteria andLevelGreaterThan(Byte value) { + addCriterion("level >", value, "level"); + return (Criteria) this; + } + + public Criteria andLevelGreaterThanOrEqualTo(Byte value) { + addCriterion("level >=", value, "level"); + return (Criteria) this; + } + + public Criteria andLevelLessThan(Byte value) { + addCriterion("level <", value, "level"); + return (Criteria) this; + } + + public Criteria andLevelLessThanOrEqualTo(Byte value) { + addCriterion("level <=", value, "level"); + return (Criteria) this; + } + + public Criteria andLevelIn(List values) { + addCriterion("level in", values, "level"); + return (Criteria) this; + } + + public Criteria andLevelNotIn(List values) { + addCriterion("level not in", values, "level"); + return (Criteria) this; + } + + public Criteria andLevelBetween(Byte value1, Byte value2) { + addCriterion("level between", value1, value2, "level"); + return (Criteria) this; + } + + public Criteria andLevelNotBetween(Byte value1, Byte value2) { + addCriterion("level not between", value1, value2, "level"); + return (Criteria) this; + } + + public Criteria andHasGroupIsNull() { + addCriterion("has_group is null"); + return (Criteria) this; + } + + public Criteria andHasGroupIsNotNull() { + addCriterion("has_group is not null"); + return (Criteria) this; + } + + public Criteria andHasGroupEqualTo(Byte value) { + addCriterion("has_group =", value, "hasGroup"); + return (Criteria) this; + } + + public Criteria andHasGroupNotEqualTo(Byte value) { + addCriterion("has_group <>", value, "hasGroup"); + return (Criteria) this; + } + + public Criteria andHasGroupGreaterThan(Byte value) { + addCriterion("has_group >", value, "hasGroup"); + return (Criteria) this; + } + + public Criteria andHasGroupGreaterThanOrEqualTo(Byte value) { + addCriterion("has_group >=", value, "hasGroup"); + return (Criteria) this; + } + + public Criteria andHasGroupLessThan(Byte value) { + addCriterion("has_group <", value, "hasGroup"); + return (Criteria) this; + } + + public Criteria andHasGroupLessThanOrEqualTo(Byte value) { + addCriterion("has_group <=", value, "hasGroup"); + return (Criteria) this; + } + + public Criteria andHasGroupIn(List values) { + addCriterion("has_group in", values, "hasGroup"); + return (Criteria) this; + } + + public Criteria andHasGroupNotIn(List values) { + addCriterion("has_group not in", values, "hasGroup"); + return (Criteria) this; + } + + public Criteria andHasGroupBetween(Byte value1, Byte value2) { + addCriterion("has_group between", value1, value2, "hasGroup"); + return (Criteria) this; + } + + public Criteria andHasGroupNotBetween(Byte value1, Byte value2) { + addCriterion("has_group not between", value1, value2, "hasGroup"); + return (Criteria) this; + } + + public Criteria andFinishNeedAllIsNull() { + addCriterion("finish_need_all is null"); + return (Criteria) this; + } + + public Criteria andFinishNeedAllIsNotNull() { + addCriterion("finish_need_all is not null"); + return (Criteria) this; + } + + public Criteria andFinishNeedAllEqualTo(Byte value) { + addCriterion("finish_need_all =", value, "finishNeedAll"); + return (Criteria) this; + } + + public Criteria andFinishNeedAllNotEqualTo(Byte value) { + addCriterion("finish_need_all <>", value, "finishNeedAll"); + return (Criteria) this; + } + + public Criteria andFinishNeedAllGreaterThan(Byte value) { + addCriterion("finish_need_all >", value, "finishNeedAll"); + return (Criteria) this; + } + + public Criteria andFinishNeedAllGreaterThanOrEqualTo(Byte value) { + addCriterion("finish_need_all >=", value, "finishNeedAll"); + return (Criteria) this; + } + + public Criteria andFinishNeedAllLessThan(Byte value) { + addCriterion("finish_need_all <", value, "finishNeedAll"); + return (Criteria) this; + } + + public Criteria andFinishNeedAllLessThanOrEqualTo(Byte value) { + addCriterion("finish_need_all <=", value, "finishNeedAll"); + return (Criteria) this; + } + + public Criteria andFinishNeedAllIn(List values) { + addCriterion("finish_need_all in", values, "finishNeedAll"); + return (Criteria) this; + } + + public Criteria andFinishNeedAllNotIn(List values) { + addCriterion("finish_need_all not in", values, "finishNeedAll"); + return (Criteria) this; + } + + public Criteria andFinishNeedAllBetween(Byte value1, Byte value2) { + addCriterion("finish_need_all between", value1, value2, "finishNeedAll"); + return (Criteria) this; + } + + public Criteria andFinishNeedAllNotBetween(Byte value1, Byte value2) { + addCriterion("finish_need_all not between", value1, value2, "finishNeedAll"); + return (Criteria) this; + } + + public Criteria andAllMemberIsNull() { + addCriterion("all_member is null"); + return (Criteria) this; + } + + public Criteria andAllMemberIsNotNull() { + addCriterion("all_member is not null"); + return (Criteria) this; + } + + public Criteria andAllMemberEqualTo(Byte value) { + addCriterion("all_member =", value, "allMember"); + return (Criteria) this; + } + + public Criteria andAllMemberNotEqualTo(Byte value) { + addCriterion("all_member <>", value, "allMember"); + return (Criteria) this; + } + + public Criteria andAllMemberGreaterThan(Byte value) { + addCriterion("all_member >", value, "allMember"); + return (Criteria) this; + } + + public Criteria andAllMemberGreaterThanOrEqualTo(Byte value) { + addCriterion("all_member >=", value, "allMember"); + return (Criteria) this; + } + + public Criteria andAllMemberLessThan(Byte value) { + addCriterion("all_member <", value, "allMember"); + return (Criteria) this; + } + + public Criteria andAllMemberLessThanOrEqualTo(Byte value) { + addCriterion("all_member <=", value, "allMember"); + return (Criteria) this; + } + + public Criteria andAllMemberIn(List values) { + addCriterion("all_member in", values, "allMember"); + return (Criteria) this; + } + + public Criteria andAllMemberNotIn(List values) { + addCriterion("all_member not in", values, "allMember"); + return (Criteria) this; + } + + public Criteria andAllMemberBetween(Byte value1, Byte value2) { + addCriterion("all_member between", value1, value2, "allMember"); + return (Criteria) this; + } + + public Criteria andAllMemberNotBetween(Byte value1, Byte value2) { + addCriterion("all_member not between", value1, value2, "allMember"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNull() { + addCriterion("created_at is null"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNotNull() { + addCriterion("created_at is not null"); + return (Criteria) this; + } + + public Criteria andCreatedAtEqualTo(Date value) { + addCriterion("created_at =", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotEqualTo(Date value) { + addCriterion("created_at <>", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThan(Date value) { + addCriterion("created_at >", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) { + addCriterion("created_at >=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThan(Date value) { + addCriterion("created_at <", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThanOrEqualTo(Date value) { + addCriterion("created_at <=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtIn(List values) { + addCriterion("created_at in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotIn(List values) { + addCriterion("created_at not in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtBetween(Date value1, Date value2) { + addCriterion("created_at between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotBetween(Date value1, Date value2) { + addCriterion("created_at not between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNull() { + addCriterion("updated_at is null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNotNull() { + addCriterion("updated_at is not null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtEqualTo(Date value) { + addCriterion("updated_at =", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotEqualTo(Date value) { + addCriterion("updated_at <>", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThan(Date value) { + addCriterion("updated_at >", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) { + addCriterion("updated_at >=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThan(Date value) { + addCriterion("updated_at <", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThanOrEqualTo(Date value) { + addCriterion("updated_at <=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIn(List values) { + addCriterion("updated_at in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotIn(List values) { + addCriterion("updated_at not in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtBetween(Date value1, Date value2) { + addCriterion("updated_at between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotBetween(Date value1, Date value2) { + addCriterion("updated_at not between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andRecStatusIsNull() { + addCriterion("rec_status is null"); + return (Criteria) this; + } + + public Criteria andRecStatusIsNotNull() { + addCriterion("rec_status is not null"); + return (Criteria) this; + } + + public Criteria andRecStatusEqualTo(Byte value) { + addCriterion("rec_status =", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotEqualTo(Byte value) { + addCriterion("rec_status <>", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusGreaterThan(Byte value) { + addCriterion("rec_status >", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) { + addCriterion("rec_status >=", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusLessThan(Byte value) { + addCriterion("rec_status <", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusLessThanOrEqualTo(Byte value) { + addCriterion("rec_status <=", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusIn(List values) { + addCriterion("rec_status in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotIn(List values) { + addCriterion("rec_status not in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusBetween(Byte value1, Byte value2) { + addCriterion("rec_status between", value1, value2, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotBetween(Byte value1, Byte value2) { + addCriterion("rec_status not between", value1, value2, "recStatus"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } } \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/bean/vo/ProjectVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/ProjectVo.java index 74956451..e6c9e06d 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/vo/ProjectVo.java +++ b/tall/src/main/java/com/ccsens/tall/bean/vo/ProjectVo.java @@ -203,6 +203,8 @@ public class ProjectVo { private Long id; @ApiModelProperty("项目名") private String name; + @ApiModelProperty("完成情况") + private Integer process; @ApiModelProperty("项目类型 0普通项目 1模板项目 2常驻项目") private Integer templateStatus; } diff --git a/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java index b106251e..e35d85de 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java +++ b/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java @@ -54,6 +54,8 @@ public class TaskVo { private Long duration; @ApiModelProperty("跳转模式 -1手动,0自动,1延迟") private int delay; + @ApiModelProperty("状态:0-未开始,1-进行中,2-已完成") + private int process; public Long getDuration(){ if(ObjectUtil.isNotNull(beginTime) && ObjectUtil.isNotNull(endTime)) { return endTime - beginTime; @@ -103,7 +105,7 @@ public class TaskVo { private Long execTimes; @ApiModelProperty("奖惩") private BigDecimal money; - @ApiModelProperty("状态:0-未开始,1-进行中,2-已过期") + @ApiModelProperty("状态:0-未开始,1-进行中,2-已完成") private int process; @ApiModelProperty("服务器时间") private Long serverTime; diff --git a/tall/src/main/java/com/ccsens/tall/persist/dao/ProSubTimeMemberDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/ProSubTimeMemberDao.java new file mode 100644 index 00000000..272eabb2 --- /dev/null +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/ProSubTimeMemberDao.java @@ -0,0 +1,8 @@ +package com.ccsens.tall.persist.dao; + +import com.ccsens.tall.persist.mapper.ProSubTimeMemberMapper; +import org.springframework.stereotype.Repository; + +@Repository +public interface ProSubTimeMemberDao extends ProSubTimeMemberMapper { +} diff --git a/tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java index 01e3e16b..ab8d64d9 100644 --- a/tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java @@ -1,32 +1,32 @@ -package com.ccsens.tall.persist.dao; - - -import com.ccsens.tall.bean.po.ProTaskSubTime; -import com.ccsens.tall.bean.vo.TaskVo; -import com.ccsens.tall.persist.mapper.ProTaskDetailMapper; -import org.apache.ibatis.annotations.Param; -import org.springframework.stereotype.Repository; - -import java.util.List; - -@Repository -public interface TaskDetailDao extends ProTaskDetailMapper{ - List selectNormalTaskListByPM(@Param("projectId") Long projectId, @Param("parentId") Long parentId, @Param("startTime") Long startTime, @Param("endTime") Long endTime); - - List selectTaskByRoleAndAllMembers(@Param("projectId") Long projectId, @Param("roleId") Long roleId, @Param("allMemberId") Long allMemberId, - @Param("startTime") Long startTime, @Param("endTime") Long endTime); - - TaskVo.NormalTask selectTaskByTaskId(@Param("projectId") Long projectId, @Param("taskId") Long taskId); - - List selectTaskByParentId(@Param("projectId") Long projectId, @Param("parentId") Long parentId); - - List selectSubTaskByGroupId(@Param("parentId") Long parentId, @Param("beginTime") Long beginTime, @Param("endTime") Long endTime); - - List selectTaskByKey(@Param("userId") Long userId, @Param("projectId") Long projectId, @Param("key") String key); - - TaskVo.NormalTask selectTaskByParentIdAndTime(@Param("parentId") Long parentId, @Param("startTime") Long startTime, @Param("endTime") Long endTime); - - Long selectSubTimeByTaskIdAndTime(@Param("detailId") Long detailId, @Param("now") Long now); - -// void deleteTaskByRoleId(@Param("parentId")Long roleId); -} +package com.ccsens.tall.persist.dao; + + +import com.ccsens.tall.bean.po.ProTaskSubTime; +import com.ccsens.tall.bean.vo.TaskVo; +import com.ccsens.tall.persist.mapper.ProTaskDetailMapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Repository +public interface TaskDetailDao extends ProTaskDetailMapper { + List selectNormalTaskListByPM(@Param("projectId") Long projectId, @Param("parentId") Long parentId, @Param("startTime") Long startTime, @Param("endTime") Long endTime); + + List selectTaskByRoleAndAllMembers(@Param("projectId") Long projectId, @Param("roleId") Long roleId, @Param("allMemberId") Long allMemberId, + @Param("startTime") Long startTime, @Param("endTime") Long endTime); + + TaskVo.NormalTask selectTaskByTaskId(@Param("subTimeId") Long subTimeId, @Param("taskId") Long taskId); + + List selectTaskByParentId(@Param("projectId") Long projectId, @Param("parentId") Long parentId); + + List selectSubTaskByGroupId(@Param("parentId") Long parentId, @Param("beginTime") Long beginTime, @Param("endTime") Long endTime); + + List selectTaskByKey(@Param("userId") Long userId, @Param("projectId") Long projectId, @Param("key") String key); + + TaskVo.NormalTask selectTaskByParentIdAndTime(@Param("parentId") Long parentId, @Param("startTime") Long startTime, @Param("endTime") Long endTime); + + Long selectSubTimeByTaskIdAndTime(@Param("detailId") Long detailId, @Param("now") Long now); + +// void deleteTaskByRoleId(@Param("parentId")Long roleId); +} diff --git a/tall/src/main/java/com/ccsens/tall/persist/mapper/ProSubTimeMemberMapper.java b/tall/src/main/java/com/ccsens/tall/persist/mapper/ProSubTimeMemberMapper.java new file mode 100644 index 00000000..628625e6 --- /dev/null +++ b/tall/src/main/java/com/ccsens/tall/persist/mapper/ProSubTimeMemberMapper.java @@ -0,0 +1,31 @@ +package com.ccsens.tall.persist.mapper; + +import com.ccsens.tall.bean.po.ProSubTimeMember; +import com.ccsens.tall.bean.po.ProSubTimeMemberExample; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface ProSubTimeMemberMapper { + long countByExample(ProSubTimeMemberExample example); + + int deleteByExample(ProSubTimeMemberExample example); + + int deleteByPrimaryKey(Long id); + + int insert(ProSubTimeMember record); + + int insertSelective(ProSubTimeMember record); + + List selectByExample(ProSubTimeMemberExample example); + + ProSubTimeMember selectByPrimaryKey(Long id); + + int updateByExampleSelective(@Param("record") ProSubTimeMember record, @Param("example") ProSubTimeMemberExample example); + + int updateByExample(@Param("record") ProSubTimeMember record, @Param("example") ProSubTimeMemberExample example); + + int updateByPrimaryKeySelective(ProSubTimeMember record); + + int updateByPrimaryKey(ProSubTimeMember record); +} \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/service/ExcelService.java b/tall/src/main/java/com/ccsens/tall/service/ExcelService.java index 7580ad81..737db465 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ExcelService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ExcelService.java @@ -1,989 +1,991 @@ -package com.ccsens.tall.service; - -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.lang.Snowflake; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import com.ccsens.tall.bean.po.*; -import com.ccsens.tall.bean.vo.ProjectVo; -import com.ccsens.tall.persist.dao.SysPluginDao; -import com.ccsens.util.*; -import com.ccsens.util.cron.CronConstant; -import com.ccsens.util.cron.NatureToDate; -import com.ccsens.util.exception.BaseException; -import lombok.extern.slf4j.Slf4j; -import org.apache.poi.xssf.usermodel.XSSFCell; -import org.apache.poi.xssf.usermodel.XSSFRow; -import org.apache.poi.xssf.usermodel.XSSFSheet; -import org.apache.poi.xssf.usermodel.XSSFWorkbook; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -import java.io.FileInputStream; -import java.io.InputStream; -import java.util.*; - -@Slf4j -@Service -@Transactional(propagation = Propagation.REQUIRED) -public class ExcelService implements IExcelService { - @Autowired - private SysPluginDao sysPluginDao; - @Autowired - private IProjectService projectService; - @Autowired - private Snowflake snowflake; - @Autowired - private IProRoleService proRoleService; - @Autowired - private IProMemberRoleService proMemberRoleService; - @Autowired - private IExcludeRoleService excludeRoleService; - @Autowired - private IProMemberService proMemberService; - @Autowired - private IProTaskDetailService proTaskDetailService; - @Autowired - private ITaskSubTimeService taskSubTimeService; - @Autowired - private ITaskMemberService taskMemberService; - @Autowired - private ITaskDeliverService taskDeliverService; - @Autowired - private ITaskPluginService taskPluginService; - @Autowired - private IUserService userService; - @Autowired - private IUserAttentionService userAttentionService; - - - @Override - public ProjectVo.ProjectInfo readXls(String path, Long currentUserId) throws Exception { - InputStream is = new FileInputStream(path); - XSSFWorkbook xssfWorkbook = new XSSFWorkbook(is); - //读取WBS表 - SysProject sysProject = readWbs(xssfWorkbook, currentUserId); - ProjectVo.ProjectInfo projectInfo = selectByProjectId(currentUserId,sysProject); - return projectInfo; - } - - /** - * 读取Wbs - */ - public SysProject readWbs(XSSFWorkbook xssfWorkbook, Long currentUserId) throws Exception { - //项目 - SysProject sysProject = new SysProject(); - //角色 - List proRoles = new ArrayList<>(); - //成员 - List proMembers = new ArrayList<>(); - //任务 - List taskDetails = new ArrayList<>(); - - XSSFSheet memberSheet = xssfWorkbook.getSheet("项目成员表"); - XSSFSheet wbsSheet = xssfWorkbook.getSheetAt(0);//wbs - - int projectInfoStart = 0; - int projectInfoEnd = 0; - int memberStart = 0; - int memberEnd = 0; - int taskStart = 0; - int taskEnd = 0; - - taskEnd = wbsSheet.getLastRowNum(); - for (int i = 0; i <= wbsSheet.getLastRowNum(); i++) { - XSSFRow xssfRow = wbsSheet.getRow(i); - - if (xssfRow == null) { - continue; - } - XSSFCell xssfCell = xssfRow.getCell(0); - if (xssfCell == null) { - continue; - } - String s = ExcelUtil.getCellValue(xssfCell); - - if (s.indexOf("项目信息") == 0) { - projectInfoStart = i + 1; - } - if (s.indexOf("项目成员") == 0) { - projectInfoEnd = i - 1; - memberStart = i + 1; - } - if (s.indexOf("项目任务分解") == 0) { - memberEnd = i - 1; - taskStart = i + 1; - } - } - if(projectInfoStart==0){ - throw new BaseException(CodeEnum.WSB_NOT_PROJECT_HEADER); - } - if(projectInfoStart==0){ - throw new BaseException(CodeEnum.WSB_NOT_MEMBER_HEADER); - } - if(projectInfoStart==0){ - throw new BaseException(CodeEnum.WSB_NOT_TASK_HEADER); - } - readProject(wbsSheet, projectInfoStart, projectInfoEnd, currentUserId,sysProject); - readMember(wbsSheet, memberSheet,memberStart, memberEnd,sysProject, proRoles,proMembers); - readTask(xssfWorkbook, wbsSheet, taskStart, taskEnd, currentUserId,sysProject,taskDetails,proRoles,proMembers); - saveProTaskSubTime(taskDetails); - //读取插件表 - readPlugin(xssfWorkbook,taskDetails,proRoles); - return sysProject; - } - - private void readProject(XSSFSheet wbsSheet, int projectInfoStart, int projectInfoEnd, Long currentUserId,SysProject sysProject) { - XSSFRow row = wbsSheet.getRow(projectInfoStart + 1); - String projectName = ExcelUtil.getCellValue(row.getCell(0)); - if(StrUtil.isNotEmpty(projectName)){ - String begin = ExcelUtil.getCellValue(row.getCell(3)); - String end = ExcelUtil.getCellValue(row.getCell(4)); - if(StrUtil.isNotEmpty(begin)&&StrUtil.isNotEmpty(end)){ - Long beginTime = null; - Long endTime = null; - try { - beginTime = Long.parseLong(begin); - endTime = Long.parseLong(end); - }catch (Exception e){ - //日期格式错误 - throw new BaseException(CodeEnum.WBS_PROJECT_TIME_ERROR); - } - sysProject.setId(snowflake.nextId()); - sysProject.setName(projectName); - sysProject.setDescription(ExcelUtil.getCellValue(row.getCell(1))); - sysProject.setAddress(ExcelUtil.getCellValue(row.getCell(2))); - sysProject.setBeginTime(beginTime); - sysProject.setEndTime(endTime); - sysProject.setCreatorId(currentUserId); - //是否发布,默认是1发布的 - sysProject.setPublished((byte) 1); - //是否是模板,新加的不是模板 0 - sysProject.setTemplate((byte) 0); - projectService.saveProject(sysProject); - System.out.println(sysProject); - }else { - //没有开始结束时间 - throw new BaseException(CodeEnum.WBS_NOT_PROJECT_TIME); - } - }else { - //没有项目名 - throw new BaseException(CodeEnum.WBS_NOT_PROJECT_NAME); - } - } - - private void readMember(XSSFSheet wbsSheet, XSSFSheet memberSheet,int memberStart, int memberEnd, - SysProject sysProject,List proRoles,List proMembers) throws Exception { - - //添加奖惩干系人角色(一级角色) - ProRole stakeholderRole = new ProRole(); - stakeholderRole.setName(WebConstant.ROLE_NAME.MoneyStakeholder.value); - stakeholderRole.setDescription(WebConstant.ROLE_NAME.MoneyStakeholder.phase); - stakeholderRole.setProjectId(sysProject.getId()); - stakeholderRole.setId(snowflake.nextId()); - proRoleService.saveProRole(stakeholderRole); - proRoles.add(stakeholderRole); - //添加奖惩干系人角色(二级角色) - ProRole stakeholderProRole = new ProRole(); - stakeholderProRole.setName(WebConstant.ROLE_NAME.MoneyStakeholder.value); - stakeholderProRole.setDescription(WebConstant.ROLE_NAME.MoneyStakeholder.phase); - stakeholderProRole.setParentId(stakeholderRole.getId()); - stakeholderProRole.setProjectId(sysProject.getId()); - stakeholderProRole.setId(snowflake.nextId()); - proRoleService.saveProRole(stakeholderProRole); - proRoles.add(stakeholderProRole); - - //添加创建者一级角色 - ProRole creator = new ProRole(); - creator.setName(WebConstant.ROLE_NAME.Creator.value); - creator.setDescription(WebConstant.ROLE_NAME.Creator.phase); - creator.setProjectId(sysProject.getId()); - creator.setId(snowflake.nextId()); - proRoleService.saveProRole(creator); - proRoles.add(creator); - //添加创建者角色(二级角色) - ProRole creatorRole = new ProRole(); - creatorRole.setName(WebConstant.ROLE_NAME.Creator.value); - creatorRole.setDescription(WebConstant.ROLE_NAME.Creator.phase); - creatorRole.setParentId(creator.getId()); - creatorRole.setProjectId(sysProject.getId()); - creatorRole.setId(snowflake.nextId()); - proRoleService.saveProRole(creatorRole); - proRoles.add(creatorRole); - - //添加成员和奖惩干系人 - memberWhitStakeholder(memberSheet, stakeholderProRole.getId(),sysProject,proMembers); - - Long firstRoleId = null; - Long secondRoleId = null; - for (int i = memberStart + 1; i <= memberEnd; i++) { - XSSFRow row = wbsSheet.getRow(i); - String proRoleCell = ExcelUtil.getCellValue(row.getCell(1)); - String secondRoleCell = ExcelUtil.getCellValue(row.getCell(2)); - String memberCell = ExcelUtil.getCellValue(row.getCell(3)); - //添加一级角色 - if (StrUtil.isNotEmpty(proRoleCell)) { - ProRole role = new ProRole(); - role.setId(snowflake.nextId()); - role.setProjectId(sysProject.getId()); -// switch (proRoleCell){ -// case WebConstant.ROLE_NAME.God: -// break; -// default: -// } - if (proRoleCell.equalsIgnoreCase(WebConstant.ROLE_NAME.God.phase)) { - role.setName(WebConstant.ROLE_NAME.God.value); - role.setDescription(WebConstant.ROLE_NAME.God.phase); - }else - if (proRoleCell.equalsIgnoreCase(WebConstant.ROLE_NAME.ManageRepresent.phase)) { - role.setName(WebConstant.ROLE_NAME.ManageRepresent.value); - role.setDescription(WebConstant.ROLE_NAME.ManageRepresent.phase); - }else - if (proRoleCell.equalsIgnoreCase(WebConstant.ROLE_NAME.Stakeholder.phase)) { - role.setName(WebConstant.ROLE_NAME.Stakeholder.value); - role.setDescription(WebConstant.ROLE_NAME.Stakeholder.phase); - }else - if (proRoleCell.equalsIgnoreCase(WebConstant.ROLE_NAME.PM.phase)) { - role.setName(WebConstant.ROLE_NAME.PM.value); - role.setDescription(WebConstant.ROLE_NAME.PM.phase); - }else - if (proRoleCell.equalsIgnoreCase(WebConstant.ROLE_NAME.Member.phase)) { - role.setName(WebConstant.ROLE_NAME.Member.value); - role.setDescription(WebConstant.ROLE_NAME.Member.phase); - }else - if (proRoleCell.equalsIgnoreCase(WebConstant.ROLE_NAME.Attention.phase)) { - role.setName(WebConstant.ROLE_NAME.Attention.value); - role.setDescription(WebConstant.ROLE_NAME.Attention.phase); - }else{ - throw new BaseException(CodeEnum.WBS_NOT_FIRST_ROLE.addMsg(wbsSheet.getSheetName()+i)); - } - proRoleService.saveProRole(role); - proRoles.add(role); - firstRoleId = role.getId(); -// if(CollectionUtil.isNotEmpty(proRoles)) { -// for (ProRole proRole : proRoles) { -// if(ObjectUtil.isNull(proRole.getParentId())) { -// if (proRole.getDescription().equals(proRoleCell)) { -// firstRoleId = proRole.getId(); -// break; -// } -// } -// } -// } - } - if (ObjectUtil.isNull(firstRoleId)) { - throw new BaseException("找不到系统角色[" + i + "]"); - } - //二级角色 - if (StrUtil.isNotEmpty(secondRoleCell)) { - if (!proMemberRoleExist(secondRoleCell,proRoles)) { - ProRole proRole = new ProRole(); - proRole.setName(secondRoleCell); - proRole.setParentId(firstRoleId); - proRole.setProjectId(sysProject.getId()); - proRole.setId(snowflake.nextId()); - proRoleService.saveProRole(proRole); - proRoles.add(proRole); - secondRoleId = proRole.getId(); - }else { - throw new BaseException(CodeEnum.WBS_REPEAT_ROLE_NAME.addMsg(wbsSheet.getSheetName()+i)); - } - } - if (ObjectUtil.isNull(secondRoleId)) { - throw new BaseException("找不到二级角色[" + i + "]"); - } - - if (StrUtil.isNotEmpty(memberCell)) { - ProMemberRole memberRole = null; - for (ProMember member : proMembers) { - if (memberCell.equalsIgnoreCase(member.getNickname())) { - memberRole = new ProMemberRole(); - memberRole.setId(snowflake.nextId()); - memberRole.setMemberId(member.getId()); - memberRole.setRoleId(secondRoleId); - proMemberRoleService.saveMemberRole(memberRole); - } - } - if(ObjectUtil.isNull(memberRole)){ - throw new BaseException(CodeEnum.WSB_NOT_MEMBER.addMsg(wbsSheet.getSheetName()+i)); - } - } - } - //角色对谁不可见 - String[] excludeRoleCells; - for (int i = memberStart + 1; i <= memberEnd; i++) { - XSSFRow row = wbsSheet.getRow(i); - String secondRoleCell = ExcelUtil.getCellValue(row.getCell(2)); - String excludeRoleCell = StringUtil.replaceComma(ExcelUtil.getCellValue(row.getCell(4))); - //获取角色对谁不可见 - if (StrUtil.isNotEmpty(excludeRoleCell)) { - excludeRoleCells = excludeRoleCell.split(","); - - Long proRoleId = null; - if (StrUtil.isNotEmpty(secondRoleCell)) { - for (ProRole role : proRoles) { - if (secondRoleCell.equalsIgnoreCase(role.getName())) { - proRoleId = role.getId(); - break; - } - } - } - - if (ObjectUtil.isNotNull(excludeRoleCells)) { - for (int a = 0; a < excludeRoleCells.length; a++) { - ProRoleExeclude excludeRole = new ProRoleExeclude(); - excludeRole.setId(snowflake.nextId()); - excludeRole.setRoleId(proRoleId); - if (CollectionUtil.isNotEmpty(proRoles)) { - Long roleId = null; - for (ProRole memberRole : proRoles) { - if (excludeRoleCells[a].equals(memberRole.getName())) { - roleId = memberRole.getId(); - excludeRole.setOtherRoleId(roleId); - break; - } - } - if(ObjectUtil.isNull(roleId)){ - throw new BaseException(CodeEnum.WBS_NOT_FIND_ROLE.addMsg(wbsSheet.getSheetName()+i)); - } - } - excludeRoleService.saveExcludeRole(excludeRole); - } - } - } - } - - //TODO 添加mvp角色 - ProRole proMemberRole = new ProRole(); - proMemberRole.setName(WebConstant.ROLE_NAME.MVP.phase); - proMemberRole.setParentId(firstRoleId); - proMemberRole.setProjectId(sysProject.getId()); - proMemberRole.setId(snowflake.nextId()); - proRoleService.saveProRole(proMemberRole); - proRoles.add(proMemberRole); - } - - //判断集合是否为空,有没有相同内容 - private boolean proMemberRoleExist(String memberRoleName,List proRoles) { - if (CollectionUtil.isNotEmpty(proRoles)) { - for (ProRole proMemberRole : proRoles) { - if (proMemberRole.getName().equals(memberRoleName)) { - return true; - } - } - } - return false; - } - - //添加成员与奖惩干系人 - private void memberWhitStakeholder(XSSFSheet memberSheet, Long stakeholderId,SysProject sysProject,List proMembers) throws Exception { - List stakeholderList = new ArrayList<>(); - if (ObjectUtil.isNotNull(memberSheet)) { - Set userIdSet = new HashSet<>(); - - for (int i = 1; i <= memberSheet.getLastRowNum(); i++) { - String memberCell = ExcelUtil.getCellValue(memberSheet.getRow(i).getCell(1)); - String phoneCell = ExcelUtil.getCellValue(memberSheet.getRow(i).getCell(2)); - String stakeholderCell = ExcelUtil.getCellValue(memberSheet.getRow(i).getCell(3)); - String stakeholderPhoneCell = ExcelUtil.getCellValue(memberSheet.getRow(i).getCell(4)); - ProMember stakeholder = null; - ProMember member = null; - //手机号不能为空 - if((StrUtil.isNotEmpty(memberCell)&&StrUtil.isEmpty(phoneCell)) || - (StrUtil.isNotEmpty(stakeholderCell)&&StrUtil.isEmpty(stakeholderPhoneCell))){ - throw new BaseException(CodeEnum.WBS_NOT_PHONE.addMsg(memberSheet.getSheetName()+i)); - } - //TODO 判断手机号格式 - - //添加奖惩干系人 - if (StrUtil.isNotEmpty(stakeholderCell)) { - if(!stakeholderWithPhone(stakeholderList,stakeholderCell,stakeholderPhoneCell)) { - Long userId = userService.selectUserIdByPhone(stakeholderPhoneCell); - if(ObjectUtil.isNotNull(userId)){ - userIdSet.add(userId); - } - stakeholder = new ProMember(); - stakeholder.setId(snowflake.nextId()); - stakeholder.setProjectId(sysProject.getId()); - stakeholder.setUserId(userId); - stakeholder.setNickname(stakeholderCell); - stakeholder.setPhone(stakeholderPhoneCell); - proMemberService.saveMember(stakeholder); - stakeholderList.add(stakeholder); - - ProMemberRole proMemberRole = new ProMemberRole(); - proMemberRole.setId(snowflake.nextId()); - proMemberRole.setMemberId(stakeholder.getId()); - proMemberRole.setRoleId(stakeholderId); - proMemberRoleService.saveMemberRole(proMemberRole); - }else { - throw new BaseException(CodeEnum.WBS_STAKEHOLDER_PHONE.addMsg(memberSheet.getSheetName()+i)); - } - } - //成员 - if (StrUtil.isNotEmpty(memberCell)) { - if (!memberAndPhoneRepeat(proMembers, memberCell, phoneCell)) { - Long userId = userService.selectUserIdByPhone(phoneCell); - if(ObjectUtil.isNotNull(userId)){ - userIdSet.add(userId); - } - member = new ProMember(); - member.setId(snowflake.nextId()); - member.setProjectId(sysProject.getId()); - member.setUserId(userId); - member.setNickname(memberCell); - member.setPhone(phoneCell); - if (ObjectUtil.isNotNull(stakeholder)) { - member.setStakeholderId(stakeholder.getId()); - } - proMemberService.saveMember(member); - proMembers.add(member); -// //创建者依据project的creatorId判断,不需要添加成员 - }else { - throw new BaseException(CodeEnum.WBS_REPEAT_MEMBER_PHONE.addMsg(memberSheet.getSheetName()+i)); - } - } - } - //TODO 每个成员都关注此项目(暂时) - addUserAttention(userIdSet,sysProject); - } else { - throw new BaseException(CodeEnum.WBS_NOT_MEMBER_SHEET); - } - } - /** - * 项目成员表内的每个人都关注此项目(暂时,当前版本) - */ - private void addUserAttention(Set userIdList,SysProject sysProject){ - if(CollectionUtil.isNotEmpty(userIdList)){ - for(Long userId:userIdList){ - UserAttention userAttention = new UserAttention(); - userAttention.setId(snowflake.nextId()); - userAttention.setUserId(userId); - userAttention.setProjectId(sysProject.getId()); - userAttentionService.saveAttention(userAttention); - } - } - } - /** - * 判断奖惩干系人与手机号对应是否正确 - * 奖惩干系人可以重复,一个人只能对应一个手机号 - */ - private boolean stakeholderWithPhone(List stakeholderList,String stakeholderName,String phone){ - if(CollectionUtil.isNotEmpty(stakeholderList)){ - for(ProMember proMember:stakeholderList){ - if(stakeholderName.equalsIgnoreCase(proMember.getNickname())){ - if(!proMember.getPhone().equalsIgnoreCase(phone)){ - return true; - } - }else { - if(proMember.getPhone().equalsIgnoreCase(phone)){ - return true; - } - } - } - } - return false; - } - /** - *判断成员和手机号是否重复 - */ - private boolean memberAndPhoneRepeat(List proMembers,String memberName,String phone){ - if(CollectionUtil.isNotEmpty(proMembers)){ - for(ProMember proMember:proMembers){ - if(proMember.getNickname().equalsIgnoreCase(memberName)){ - return true; - } - if(proMember.getPhone().equalsIgnoreCase(phone)){ - return true; - } - } - } - return false; - } - - private void readTask(XSSFWorkbook xssfWorkbook, XSSFSheet wbsSheet, int taskStart, int taskEnd, - Long currentUserId,SysProject sysProject,List taskDetails, - List proRoles,List proMembers) throws Exception { - Long pmRoleId = null; - //获取项目经理的id(一级角色) - for (ProRole role : proRoles) { - if (role.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.PM.value)) { - pmRoleId = role.getId(); - break; - } - } - //获取项目经理的id(二级角色) - if (ObjectUtil.isNotNull(pmRoleId)) { - for (ProRole secondRole : proRoles) { - if (ObjectUtil.isNotNull(secondRole.getParentId()) && - secondRole.getParentId().longValue() == pmRoleId.longValue()) { - pmRoleId = secondRole.getId(); - break; - } - } - } - //TODO 添加一个开始虚拟节点 - ProTaskDetail beginTask = new ProTaskDetail(); - beginTask.setId(snowflake.nextId()); - beginTask.setProjectId(sysProject.getId()); - beginTask.setName("开始"); - beginTask.setVirtual((byte) WebConstant.TASK_VIRTUAL.Virtual.value); - beginTask.setLevel((byte) WebConstant.TASK_LEVEL.Virtual.value); - beginTask.setExecutorRole(pmRoleId); - proTaskDetailService.saveTaskDetail(beginTask); - taskDetails.add(beginTask); - //一级任务id - Long firstTaskDetailId = null; - - for (int i = taskStart + 1; i <= taskEnd; i++) { - XSSFRow row = wbsSheet.getRow(i); - String task1 = ExcelUtil.getCellValue(row.getCell(1));//一级任务名称 - String task2 = ExcelUtil.getCellValue(row.getCell(2));//二级任务名称 - String description = ExcelUtil.getCellValue(row.getCell(3));//任务描述 - String beginTime = ExcelUtil.getCellValue(row.getCell(4));//开始时间 - String endTime = ExcelUtil.getCellValue(row.getCell(5));//结束时间 -// String duration = ExcelUtil.getCellValue(row.getCell(6));//任务时长 - String repeat = ExcelUtil.getCellValue(row.getCell(7));//重复 - String subTaskCell = ExcelUtil.getCellValue(row.getCell(8));//子任务 - String subProject = ExcelUtil.getCellValue(row.getCell(9));//子项目 - String deliver = ExcelUtil.getCellValue(row.getCell(10));//交付物 - String executorRole = ExcelUtil.getCellValue(row.getCell(11));//负责人 - String checkerRole = ExcelUtil.getCellValue(row.getCell(12));//检查人 - String money = ExcelUtil.getCellValue(row.getCell(13));//即使奖惩 - String delay = ExcelUtil.getCellValue(row.getCell(14));//任务切换模式 - String delayTime = ExcelUtil.getCellValue(row.getCell(15));//延迟时间 - String loopTo = ExcelUtil.getCellValue(row.getCell(16));//跳转任务 - String loopTimes = ExcelUtil.getCellValue(row.getCell(17));//跳转次数 - String input = ExcelUtil.getCellValue(row.getCell(18));//输入文档 - //二级任务名不能为空 -// if(StrUtil.isEmpty(task2)){ -// throw new BaseException(CodeEnum.WBS_NOT_TASK_NAME.addMsg(wbsSheet.getSheetName()+i)); -// } - //TODO 一级任务(时间暂时为空) - if (StrUtil.isNotEmpty(task1)) { - ProTaskDetail firstTaskDetail = new ProTaskDetail(); - firstTaskDetail.setId(snowflake.nextId()); - firstTaskDetail.setName(task1); - firstTaskDetail.setProjectId(sysProject.getId()); - firstTaskDetail.setDelay((byte) WebConstant.TASK_DELAY.SelfMotion.value); - firstTaskDetail.setVirtual((byte) WebConstant.TASK_VIRTUAL.Normal.value); - firstTaskDetail.setLevel((byte) WebConstant.TASK_LEVEL.FirstTask.value); - firstTaskDetail.setExecutorRole(pmRoleId); - proTaskDetailService.saveTaskDetail(firstTaskDetail); - taskDetails.add(firstTaskDetail); - - firstTaskDetailId = firstTaskDetail.getId(); -// if (CollectionUtil.isNotEmpty(taskDetails)) { -// for (ProTaskDetail proTask1 : taskDetails) { -// if (proTask1.getName().equals(task1)) { -// firstTaskDetailId = proTask1.getId(); -// break; -// } -// } -// } - } - if (ObjectUtil.isNull(firstTaskDetailId)) { - throw new BaseException("找不到任务[" + i + "]"); - } - - //二级任务 - if (StrUtil.isNotEmpty(task2)) { - ProTaskDetail taskDetail = new ProTaskDetail(); - taskDetail.setId(snowflake.nextId()); - taskDetail.setProjectId(sysProject.getId()); - taskDetail.setParentId(firstTaskDetailId); - taskDetail.setName(task2); - taskDetail.setDescription(description); - taskDetail.setVirtual((byte) WebConstant.TASK_VIRTUAL.Normal.value); - taskDetail.setLevel((byte) WebConstant.TASK_LEVEL.SecondTask.value); -// taskDetail.setGlobal((byte) 0); - taskDetail.setHasGroup((byte) 0); - taskDetail.setAllMember((byte) 1); - //子项目 - if (StrUtil.isNotEmpty(subProject)) { - SysProject project = projectService.selectByNameAndUserId(subProject, currentUserId); - if (ObjectUtil.isNotNull(project)) { - taskDetail.setSubProjectId(project.getId()); - taskDetail.setSubProject(subProject); - project.setParentTaskId(taskDetail.getId()); - projectService.updateProject(project); - } - } - //交付物 - if (StrUtil.isNotEmpty(deliver)) { - String str = ""; - if (deliver.length() > 4) { - str = deliver.substring(0, 3); - } - if (str.equals("关联表")) { - String subStr = deliver.substring(4); - XSSFSheet subSheet = xssfWorkbook.getSheet(subStr); - readSubSheet(subSheet, taskDetail.getId()); - } else { - ProTaskDeliver taskDeliver = new ProTaskDeliver(); - taskDeliver.setId(snowflake.nextId()); - taskDeliver.setTaskDetailId(taskDetail.getId()); - taskDeliver.setName(deliver); - taskDeliver.setIsInput(0); - taskDeliver.setIsFinal(1); - taskDeliverService.saveDeliver(taskDeliver); - } - } - //负责人 - if (CollectionUtil.isNotEmpty(proRoles)) { - Long executorRoleId = null; - for (ProRole proRole : proRoles) { - if (ObjectUtil.isNotNull(proRole.getParentId()) && proRole.getName().equals(executorRole)) { - executorRoleId = proRole.getId(); - taskDetail.setExecutorRole(executorRoleId); - break; - } - } - if(ObjectUtil.isNull(executorRoleId)){ - throw new BaseException(CodeEnum.WBS_NOT_FIND_EXECUTOR_ROLE.addMsg(wbsSheet.getSheetName()+i)); - } - } - //检查人 - if (CollectionUtil.isNotEmpty(proRoles)) { - Long checkerRoleId = null; - for (ProRole proRole : proRoles) { - if (ObjectUtil.isNotNull(proRole.getParentId()) && proRole.getName().equals(executorRole)) { - checkerRoleId = proRole.getId(); - taskDetail.setCheckerRole(checkerRoleId); - break; - } - } - if(ObjectUtil.isNull(checkerRoleId)){ - throw new BaseException(CodeEnum.WBS_NOT_FIND_CHECKER_ROLE.addMsg(wbsSheet.getSheetName()+i)); - } - } - //奖惩金额 - if (StrUtil.isNotEmpty(money)) { - taskDetail.setMoney(Long.parseLong(money) * 100); - } - //切换模式 - if (delay.equals(WebConstant.TASK_DELAY.SelfMotion.phase)) { - taskDetail.setDelay((byte) WebConstant.TASK_DELAY.SelfMotion.value); - } else if (delay.equals(WebConstant.TASK_DELAY.DelayManual.phase)) { - taskDetail.setDelay((byte) WebConstant.TASK_DELAY.DelayManual.value); - } else if (delay.equals(WebConstant.TASK_DELAY.Manual.phase)) { - taskDetail.setDelay((byte) WebConstant.TASK_DELAY.Manual.value); - }else { - throw new BaseException(CodeEnum.WBS_DELAY_ERROR.addMsg(wbsSheet.getSheetName()+i)); - } - //延迟时间 - if (StrUtil.isNotEmpty(delayTime)) { - taskDetail.setDelayTime(DateUtil.str2MillSeconds(delayTime)); - } - //TODO 跳转任务(应该在循环外处理) - - //跳转次数 - - //输入文档 - if (StrUtil.isNotEmpty(input)) { - ProTaskDeliver taskDeliver = new ProTaskDeliver(); - taskDeliver.setId(snowflake.nextId()); - taskDeliver.setTaskDetailId(taskDetail.getId()); - taskDeliver.setName(input); - taskDeliver.setIsInput(1); - taskDeliver.setIsFinal(0); - taskDeliverService.saveDeliver(taskDeliver); - } - //设备挂载暂不处理 - - //没有开始时间默认项目开始时间 - if (StrUtil.isNotEmpty(beginTime)) { - taskDetail.setBeginTime(Long.valueOf(beginTime)); - } else { - taskDetail.setBeginTime(sysProject.getBeginTime()); - } - //没有结束时间默认项目结束时间 - if (StrUtil.isNotEmpty(endTime)) { - taskDetail.setEndTime(Long.valueOf(endTime)); - } else { - taskDetail.setEndTime(sysProject.getEndTime()); - } - //重复 - if (StrUtil.isNotEmpty(repeat)) {//有重复就是全局任务 -// taskDetail.setGlobal((byte) 1); - taskDetail.setCycle(repeat); - } - //子任务 - if (StrUtil.isNotEmpty(subTaskCell)) {//有子日程表 - taskDetail.setHasGroup((byte) 1); - switch (subTaskCell){ - case "值日表": - getSubTask(xssfWorkbook, subTaskCell, taskDetail,taskDetails,proMembers); - break; - case "运动计划表": - getSubTask(xssfWorkbook, subTaskCell, taskDetail,taskDetails,proMembers); - break; - case "前端学习计划表": - getSubTask(xssfWorkbook, subTaskCell, taskDetail,taskDetails,proMembers); - break; - case "后台学习计划表": - getSubTask(xssfWorkbook, subTaskCell, taskDetail,taskDetails,proMembers); - break; - case "硬件学习计划表": - getSubTask(xssfWorkbook, subTaskCell, taskDetail,taskDetails,proMembers); - break; - case "方圆学习计划表": - getSubTask(xssfWorkbook, subTaskCell, taskDetail,taskDetails,proMembers); - break; - case "全体学习计划表": - getSubTask(xssfWorkbook, subTaskCell, taskDetail,taskDetails,proMembers); - break; - default: - throw new BaseException(CodeEnum.WBS_SUB_TASK_ANALYSIS.addMsg(wbsSheet.getSheetName()+i)); - } - } - //添加任务 - proTaskDetailService.saveTaskDetail(taskDetail); - taskDetails.add(taskDetail); - } - } - //添加一个结束虚拟节点 - ProTaskDetail endTask = new ProTaskDetail(); - endTask.setId(snowflake.nextId()); - endTask.setProjectId(sysProject.getId()); - endTask.setName("结束"); - endTask.setVirtual((byte) WebConstant.TASK_VIRTUAL.Virtual.value); - endTask.setLevel((byte) WebConstant.TASK_LEVEL.Virtual.value); - endTask.setExecutorRole(pmRoleId); - proTaskDetailService.saveTaskDetail(endTask); - taskDetails.add(endTask); - } - - public void saveProTaskSubTime(List taskDetails) throws Exception { - if (CollectionUtil.isNotEmpty(taskDetails)) { - for (ProTaskDetail taskDetail : taskDetails) { - //虚拟任务或一级任务不拆分 - if (taskDetail.getVirtual() == WebConstant.TASK_VIRTUAL.Virtual.value || taskDetail.getLevel() == 1) { - continue; - } - //cycle为空或者组任务,只加一条数据 - if (StrUtil.isEmpty(taskDetail.getCycle()) || taskDetail.getHasGroup() == 1) { - ProTaskSubTime proTaskSubTime = new ProTaskSubTime(); - proTaskSubTime.setId(snowflake.nextId()); - proTaskSubTime.setTaskDetailId(taskDetail.getId()); - proTaskSubTime.setBeginTime(taskDetail.getBeginTime()); - proTaskSubTime.setEndTime(taskDetail.getEndTime()); - taskSubTimeService.saveProTaskSubTask(proTaskSubTime); - } else { - Date startDate = new Date(taskDetail.getBeginTime()); - Date endDate = new Date(taskDetail.getEndTime()); - List taskDateList = - NatureToDate.generateDates(taskDetail.getCycle(), startDate, endDate); - if (CollectionUtil.isEmpty(taskDateList)) { - return; - } - for (CronConstant.TaskDate taskDate : taskDateList) { - ProTaskSubTime proTaskSubTime = new ProTaskSubTime(); - proTaskSubTime.setId(snowflake.nextId()); - proTaskSubTime.setTaskDetailId(taskDetail.getId()); - proTaskSubTime.setBeginTime(taskDate.getStartDate().getTime()); - proTaskSubTime.setEndTime(taskDate.getEndDate().getTime()); - taskSubTimeService.saveProTaskSubTask(proTaskSubTime); - } - } - } - } - } - - public void getSubTask(XSSFWorkbook xssfWorkbook, String sheetName, ProTaskDetail parentTaskDetail, - List taskDetails,List proMembers) { - XSSFSheet subTaskSheet = xssfWorkbook.getSheet(sheetName); - Long startTime = parentTaskDetail.getBeginTime(); - if (ObjectUtil.isNotNull(subTaskSheet)) { - String str = ExcelUtil.getCellValue(subTaskSheet.getRow(1).getCell(4)); - for (int a = 2; a < subTaskSheet.getLastRowNum(); a++) { - String nameCell = ExcelUtil.getCellValue(subTaskSheet.getRow(a).getCell(1));//任务名 - String beginCell = ExcelUtil.getCellValue(subTaskSheet.getRow(a).getCell(2));//开始时间 - String endCell = ExcelUtil.getCellValue(subTaskSheet.getRow(a).getCell(3));//结束时间 - String repeatCell = ExcelUtil.getCellValue(subTaskSheet.getRow(a).getCell(4));//重复时间、相对时间 - String memberCell = StringUtil.replaceComma(ExcelUtil.getCellValue(subTaskSheet.getRow(a).getCell(6)));//成员 - String descriptionCell = ExcelUtil.getCellValue(subTaskSheet.getRow(a).getCell(8));//备注 - if (StrUtil.isNotEmpty(nameCell)) { - ProTaskDetail subTask = new ProTaskDetail(); - BeanUtil.copyProperties(parentTaskDetail, subTask); - subTask.setId(snowflake.nextId()); - subTask.setName(nameCell); - subTask.setDescription(descriptionCell); - subTask.setLevel((byte) 3); - subTask.setHasGroup((byte) 0); - subTask.setParentId(parentTaskDetail.getId()); - if (StrUtil.isNotEmpty(memberCell)) { - if (memberCell.equalsIgnoreCase(WebConstant.ROLE_NAME.AllMember.phase)) { - parentTaskDetail.setAllMember((byte) 1); - } else { - parentTaskDetail.setAllMember((byte) 0); - List memberList = StringUtil.extractMessage(memberCell); - if (CollectionUtil.isNotEmpty(memberList)) { - for (String memberName : memberList) { - if (CollectionUtil.isNotEmpty(proMembers)) { - Long proMemberId = null; - for (ProMember proMember : proMembers) { - if (memberName.equalsIgnoreCase(proMember.getNickname())) { - proMemberId = proMember.getId(); - ProTaskMember proTaskMember = new ProTaskMember(); - proTaskMember.setId(snowflake.nextId()); - proTaskMember.setTaskDetailId(subTask.getId()); - proTaskMember.setMemberId(proMemberId); - taskMemberService.saveTaskMember(proTaskMember); - break; - } - } - if(ObjectUtil.isNull(proMemberId)){ - throw new BaseException(CodeEnum.WSB_NOT_MEMBER.addMsg(subTaskSheet.getSheetName()+a)); - } - } - } - }else { - throw new BaseException(CodeEnum.WSB_NOT_MEMBER.addMsg(subTaskSheet.getSheetName()+a)); - } - } - } - - if (StrUtil.isNotEmpty(repeatCell)) { - if ("重复时间".equals(str)) { - subTask.setCycle(repeatCell); - } - if ("相对时间".equals(str)) { - subTask.setBeginTime(startTime); - Long relative = StringUtil.severalDay(repeatCell); - if (ObjectUtil.isNotNull(relative)) { - subTask.setEndTime(startTime + relative); - } - } - } else { - if (ObjectUtil.isNotNull(beginCell)) { - subTask.setBeginTime(Long.valueOf(beginCell)); - } - if (ObjectUtil.isNotNull(endCell)) { - subTask.setEndTime(Long.valueOf(endCell)); - } - parentTaskDetail.setBeginTime(subTask.getBeginTime()); - } - startTime = subTask.getEndTime(); - proTaskDetailService.saveTaskDetail(subTask); - taskDetails.add(subTask); - } - } - } else { - throw new BaseException(CodeEnum.WBS_NOT_SUB_TASK); - } - parentTaskDetail.setEndTime(startTime); - } - - /** - * //读取交付物表 - * - * @param subSheet - * @param taskId - */ - private void readSubSheet(XSSFSheet subSheet, Long taskId) { - for (int i = 2; i <= subSheet.getLastRowNum(); i++) { - String deliver = ExcelUtil.getCellValue(subSheet.getRow(i).getCell(1)); - if (StrUtil.isNotEmpty(deliver)) { - ProTaskDeliver taskDeliver = new ProTaskDeliver(); - taskDeliver.setId(snowflake.nextId()); - taskDeliver.setName(deliver); - taskDeliver.setTaskDetailId(taskId); - taskDeliver.setIsInput(0); - taskDeliver.setIsFinal(0); - if (i == subSheet.getLastRowNum()) { - taskDeliver.setIsFinal(1); - } - taskDeliverService.saveDeliver(taskDeliver); - } - } - } - - //插件 - private void readPlugin(XSSFWorkbook xssfWorkbook,List taskDetails,List proRoles) { - SysPluginExample pluginExample = new SysPluginExample(); - pluginExample.clear(); - List sysPluginList = sysPluginDao.selectByExample(pluginExample); - if(CollectionUtil.isNotEmpty(sysPluginList)) { - XSSFSheet sheet = xssfWorkbook.getSheet("插件"); - if (ObjectUtil.isNotNull(sheet)) { - Long taskId = null; - Long memberRoleId = null; - XSSFRow roleRow = sheet.getRow(2); - - for (int i = 3; i < sheet.getLastRowNum(); i++) { - XSSFRow pluginRow = sheet.getRow(i); - String task = ExcelUtil.getCellValue(pluginRow.getCell(1)); - //获取任务Id - if (StrUtil.isNotEmpty(task)) { - for (ProTaskDetail proTask : taskDetails) { - if (task.equals(proTask.getName())) { - taskId = proTask.getId(); - break; - } - } - } - - for (int a = 2; a < roleRow.getLastCellNum(); a++) { - //获取memberRoleId - String roleCell = ExcelUtil.getCellValue(roleRow.getCell(a)); - if (StrUtil.isNotEmpty(roleCell) && CollectionUtil.isNotEmpty(proRoles)) { - for (ProRole role : proRoles) { - if (roleCell.equals(role.getName())) { - memberRoleId = role.getId(); - break; - } - } - } - String plugin = ExcelUtil.getCellValue(pluginRow.getCell(a)); - if (StrUtil.isNotEmpty(plugin)) { - Long sysPluginId = null; - for(SysPlugin sysPlugin:sysPluginList){ - if(plugin.equalsIgnoreCase(sysPlugin.getName())){ - sysPluginId = sysPlugin.getId(); - } - } - if(ObjectUtil.isNull(sysPluginId)){ - throw new BaseException(CodeEnum.WBS_NOT_PLUGIN.addMsg(sheet.getSheetName()+i)); - } - ProTaskPlugin taskPlugin = new ProTaskPlugin(); - taskPlugin.setId(snowflake.nextId()); - taskPlugin.setTaskDetailId(taskId); - taskPlugin.setPluginId(sysPluginId); - taskPlugin.setMemberRoleId(memberRoleId); - taskPluginService.savePlugin(taskPlugin); - } - } - } - }else{ - throw new BaseException(CodeEnum.WBS_NOT_PLUGIN_SHEET); - } - } - } - - public ProjectVo.ProjectInfo selectByProjectId(Long currentUserId,SysProject sysProject) throws Exception { - //返回参数 - ProjectVo.ProjectInfo projectInfo = new ProjectVo.ProjectInfo(); - projectInfo.setId(sysProject.getId()); - projectInfo.setName(sysProject.getName()); - projectInfo.setAddress(sysProject.getAddress()); - projectInfo.setBeginTime(sysProject.getBeginTime()); - projectInfo.setEndTime(sysProject.getEndTime()); - projectInfo.setTotalDuration(sysProject.getEndTime() - sysProject.getBeginTime()); - if (ObjectUtil.isNotNull(projectInfo)) { - projectInfo.setCreator(true); - } -// //获取当前用户在本项目中的一级角色 -// List proRoles = proRoleService.getProRoleByProjectIdAndUserId(projectInfo.getId(), currentUserId); -// if (CollectionUtil.isNotEmpty(proRoles)) { -// projectInfo.setRoles(new ArrayList<>()); -// for (ProRole proRole : proRoles) { -// projectInfo.getRoles().add(proRole.getName()); -// } -// } - return projectInfo; - } -} +package com.ccsens.tall.service; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.lang.Snowflake; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.ccsens.tall.bean.po.*; +import com.ccsens.tall.bean.vo.ProjectVo; +import com.ccsens.tall.persist.dao.SysPluginDao; +import com.ccsens.util.*; +import com.ccsens.util.cron.CronConstant; +import com.ccsens.util.cron.NatureToDate; +import com.ccsens.util.exception.BaseException; +import lombok.extern.slf4j.Slf4j; +import org.apache.poi.xssf.usermodel.XSSFCell; +import org.apache.poi.xssf.usermodel.XSSFRow; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import java.io.FileInputStream; +import java.io.InputStream; +import java.util.*; + +@Slf4j +@Service +@Transactional(propagation = Propagation.REQUIRED) +public class ExcelService implements IExcelService { + @Autowired + private SysPluginDao sysPluginDao; + @Autowired + private IProjectService projectService; + @Autowired + private Snowflake snowflake; + @Autowired + private IProRoleService proRoleService; + @Autowired + private IProMemberRoleService proMemberRoleService; + @Autowired + private IExcludeRoleService excludeRoleService; + @Autowired + private IProMemberService proMemberService; + @Autowired + private IProTaskDetailService proTaskDetailService; + @Autowired + private ITaskSubTimeService taskSubTimeService; + @Autowired + private ITaskMemberService taskMemberService; + @Autowired + private ITaskDeliverService taskDeliverService; + @Autowired + private ITaskPluginService taskPluginService; + @Autowired + private IUserService userService; + @Autowired + private IUserAttentionService userAttentionService; + + + @Override + public ProjectVo.ProjectInfo readXls(String path, Long currentUserId) throws Exception { + InputStream is = new FileInputStream(path); + XSSFWorkbook xssfWorkbook = new XSSFWorkbook(is); + //读取WBS表 + SysProject sysProject = readWbs(xssfWorkbook, currentUserId); + ProjectVo.ProjectInfo projectInfo = selectByProjectId(currentUserId,sysProject); + return projectInfo; + } + + /** + * 读取Wbs + */ + public SysProject readWbs(XSSFWorkbook xssfWorkbook, Long currentUserId) throws Exception { + //项目 + SysProject sysProject = new SysProject(); + //角色 + List proRoles = new ArrayList<>(); + //成员 + List proMembers = new ArrayList<>(); + //任务 + List taskDetails = new ArrayList<>(); + + XSSFSheet memberSheet = xssfWorkbook.getSheet("项目成员表"); + XSSFSheet wbsSheet = xssfWorkbook.getSheetAt(0);//wbs + + int projectInfoStart = 0; + int projectInfoEnd = 0; + int memberStart = 0; + int memberEnd = 0; + int taskStart = 0; + int taskEnd = 0; + + taskEnd = wbsSheet.getLastRowNum(); + for (int i = 0; i <= wbsSheet.getLastRowNum(); i++) { + XSSFRow xssfRow = wbsSheet.getRow(i); + + if (xssfRow == null) { + continue; + } + XSSFCell xssfCell = xssfRow.getCell(0); + if (xssfCell == null) { + continue; + } + String s = ExcelUtil.getCellValue(xssfCell); + + if (s.indexOf("项目信息") == 0) { + projectInfoStart = i + 1; + } + if (s.indexOf("项目成员") == 0) { + projectInfoEnd = i - 1; + memberStart = i + 1; + } + if (s.indexOf("项目任务分解") == 0) { + memberEnd = i - 1; + taskStart = i + 1; + } + } + if(projectInfoStart==0){ + throw new BaseException(CodeEnum.WSB_NOT_PROJECT_HEADER); + } + if(projectInfoStart==0){ + throw new BaseException(CodeEnum.WSB_NOT_MEMBER_HEADER); + } + if(projectInfoStart==0){ + throw new BaseException(CodeEnum.WSB_NOT_TASK_HEADER); + } + readProject(wbsSheet, projectInfoStart, projectInfoEnd, currentUserId,sysProject); + readMember(wbsSheet, memberSheet,memberStart, memberEnd,sysProject, proRoles,proMembers); + readTask(xssfWorkbook, wbsSheet, taskStart, taskEnd, currentUserId,sysProject,taskDetails,proRoles,proMembers); + saveProTaskSubTime(taskDetails); + //读取插件表 + readPlugin(xssfWorkbook,taskDetails,proRoles); + return sysProject; + } + + private void readProject(XSSFSheet wbsSheet, int projectInfoStart, int projectInfoEnd, Long currentUserId,SysProject sysProject) { + XSSFRow row = wbsSheet.getRow(projectInfoStart + 1); + String projectName = ExcelUtil.getCellValue(row.getCell(0)); + if(StrUtil.isNotEmpty(projectName)){ + String begin = ExcelUtil.getCellValue(row.getCell(3)); + String end = ExcelUtil.getCellValue(row.getCell(4)); + if(StrUtil.isNotEmpty(begin)&&StrUtil.isNotEmpty(end)){ + Long beginTime = null; + Long endTime = null; + try { + beginTime = Long.parseLong(begin); + endTime = Long.parseLong(end); + }catch (Exception e){ + //日期格式错误 + throw new BaseException(CodeEnum.WBS_PROJECT_TIME_ERROR); + } + sysProject.setId(snowflake.nextId()); + sysProject.setName(projectName); + sysProject.setDescription(ExcelUtil.getCellValue(row.getCell(1))); + sysProject.setAddress(ExcelUtil.getCellValue(row.getCell(2))); + sysProject.setBeginTime(beginTime); + sysProject.setEndTime(endTime); + sysProject.setCreatorId(currentUserId); + //是否发布,默认是1发布的 + sysProject.setPublished((byte) 1); + //是否是模板,新加的不是模板 0 + sysProject.setTemplate((byte) 0); + projectService.saveProject(sysProject); + System.out.println(sysProject); + }else { + //没有开始结束时间 + throw new BaseException(CodeEnum.WBS_NOT_PROJECT_TIME); + } + }else { + //没有项目名 + throw new BaseException(CodeEnum.WBS_NOT_PROJECT_NAME); + } + } + + private void readMember(XSSFSheet wbsSheet, XSSFSheet memberSheet, int memberStart, int memberEnd, + SysProject sysProject, List proRoles, List proMembers) throws Exception { + + //添加奖惩干系人角色(一级角色) + ProRole stakeholderRole = new ProRole(); + stakeholderRole.setName(WebConstant.ROLE_NAME.MoneyStakeholder.value); + stakeholderRole.setDescription(WebConstant.ROLE_NAME.MoneyStakeholder.phase); + stakeholderRole.setProjectId(sysProject.getId()); + stakeholderRole.setId(snowflake.nextId()); + proRoleService.saveProRole(stakeholderRole); + proRoles.add(stakeholderRole); + //添加奖惩干系人角色(二级角色) + ProRole stakeholderProRole = new ProRole(); + stakeholderProRole.setName(WebConstant.ROLE_NAME.MoneyStakeholder.value); + stakeholderProRole.setDescription(WebConstant.ROLE_NAME.MoneyStakeholder.phase); + stakeholderProRole.setParentId(stakeholderRole.getId()); + stakeholderProRole.setProjectId(sysProject.getId()); + stakeholderProRole.setId(snowflake.nextId()); + proRoleService.saveProRole(stakeholderProRole); + proRoles.add(stakeholderProRole); + + //添加创建者一级角色 + ProRole creator = new ProRole(); + creator.setName(WebConstant.ROLE_NAME.Creator.value); + creator.setDescription(WebConstant.ROLE_NAME.Creator.phase); + creator.setProjectId(sysProject.getId()); + creator.setId(snowflake.nextId()); + proRoleService.saveProRole(creator); + proRoles.add(creator); + //添加创建者角色(二级角色) + ProRole creatorRole = new ProRole(); + creatorRole.setName(WebConstant.ROLE_NAME.Creator.value); + creatorRole.setDescription(WebConstant.ROLE_NAME.Creator.phase); + creatorRole.setParentId(creator.getId()); + creatorRole.setProjectId(sysProject.getId()); + creatorRole.setId(snowflake.nextId()); + proRoleService.saveProRole(creatorRole); + proRoles.add(creatorRole); + + //添加成员和奖惩干系人 + memberWhitStakeholder(memberSheet, stakeholderProRole.getId(),sysProject,proMembers); + + Long firstRoleId = null; + Long secondRoleId = null; + for (int i = memberStart + 1; i <= memberEnd; i++) { + XSSFRow row = wbsSheet.getRow(i); + String proRoleCell = ExcelUtil.getCellValue(row.getCell(1)); + String secondRoleCell = ExcelUtil.getCellValue(row.getCell(2)); + String memberCell = ExcelUtil.getCellValue(row.getCell(3)); + //添加一级角色 + if (StrUtil.isNotEmpty(proRoleCell)) { + ProRole role = new ProRole(); + role.setId(snowflake.nextId()); + role.setProjectId(sysProject.getId()); +// switch (proRoleCell){ +// case WebConstant.ROLE_NAME.God: +// break; +// default: +// } + if (proRoleCell.equalsIgnoreCase(WebConstant.ROLE_NAME.God.phase)) { + role.setName(WebConstant.ROLE_NAME.God.value); + role.setDescription(WebConstant.ROLE_NAME.God.phase); + }else + if (proRoleCell.equalsIgnoreCase(WebConstant.ROLE_NAME.ManageRepresent.phase)) { + role.setName(WebConstant.ROLE_NAME.ManageRepresent.value); + role.setDescription(WebConstant.ROLE_NAME.ManageRepresent.phase); + }else + if (proRoleCell.equalsIgnoreCase(WebConstant.ROLE_NAME.Stakeholder.phase)) { + role.setName(WebConstant.ROLE_NAME.Stakeholder.value); + role.setDescription(WebConstant.ROLE_NAME.Stakeholder.phase); + }else + if (proRoleCell.equalsIgnoreCase(WebConstant.ROLE_NAME.PM.phase)) { + role.setName(WebConstant.ROLE_NAME.PM.value); + role.setDescription(WebConstant.ROLE_NAME.PM.phase); + }else + if (proRoleCell.equalsIgnoreCase(WebConstant.ROLE_NAME.Member.phase)) { + role.setName(WebConstant.ROLE_NAME.Member.value); + role.setDescription(WebConstant.ROLE_NAME.Member.phase); + }else + if (proRoleCell.equalsIgnoreCase(WebConstant.ROLE_NAME.Attention.phase)) { + role.setName(WebConstant.ROLE_NAME.Attention.value); + role.setDescription(WebConstant.ROLE_NAME.Attention.phase); + }else{ + throw new BaseException(CodeEnum.WBS_NOT_FIRST_ROLE.addMsg(wbsSheet.getSheetName()+i)); + } + proRoleService.saveProRole(role); + proRoles.add(role); + firstRoleId = role.getId(); +// if(CollectionUtil.isNotEmpty(proRoles)) { +// for (ProRole proRole : proRoles) { +// if(ObjectUtil.isNull(proRole.getParentId())) { +// if (proRole.getDescription().equals(proRoleCell)) { +// firstRoleId = proRole.getId(); +// break; +// } +// } +// } +// } + } + if (ObjectUtil.isNull(firstRoleId)) { + throw new BaseException("找不到系统角色[" + i + "]"); + } + //二级角色 + if (StrUtil.isNotEmpty(secondRoleCell)) { + if (!proMemberRoleExist(secondRoleCell,proRoles)) { + ProRole proRole = new ProRole(); + proRole.setName(secondRoleCell); + proRole.setParentId(firstRoleId); + proRole.setProjectId(sysProject.getId()); + proRole.setId(snowflake.nextId()); + proRoleService.saveProRole(proRole); + proRoles.add(proRole); + secondRoleId = proRole.getId(); + }else { + throw new BaseException(CodeEnum.WBS_REPEAT_ROLE_NAME.addMsg(wbsSheet.getSheetName()+i)); + } + } + if (ObjectUtil.isNull(secondRoleId)) { + throw new BaseException("找不到二级角色[" + i + "]"); + } + + if (StrUtil.isNotEmpty(memberCell)) { + ProMemberRole memberRole = null; + for (ProMember member : proMembers) { + if (memberCell.equalsIgnoreCase(member.getNickname())) { + memberRole = new ProMemberRole(); + memberRole.setId(snowflake.nextId()); + memberRole.setMemberId(member.getId()); + memberRole.setRoleId(secondRoleId); + proMemberRoleService.saveMemberRole(memberRole); + } + } + if(ObjectUtil.isNull(memberRole)){ + throw new BaseException(CodeEnum.WSB_NOT_MEMBER.addMsg(wbsSheet.getSheetName()+i)); + } + } + } + //角色对谁不可见 + String[] excludeRoleCells; + for (int i = memberStart + 1; i <= memberEnd; i++) { + XSSFRow row = wbsSheet.getRow(i); + String secondRoleCell = ExcelUtil.getCellValue(row.getCell(2)); + String excludeRoleCell = StringUtil.replaceComma(ExcelUtil.getCellValue(row.getCell(4))); + //获取角色对谁不可见 + if (StrUtil.isNotEmpty(excludeRoleCell)) { + excludeRoleCells = excludeRoleCell.split(","); + + Long proRoleId = null; + if (StrUtil.isNotEmpty(secondRoleCell)) { + for (ProRole role : proRoles) { + if (secondRoleCell.equalsIgnoreCase(role.getName())) { + proRoleId = role.getId(); + break; + } + } + } + + if (ObjectUtil.isNotNull(excludeRoleCells)) { + for (int a = 0; a < excludeRoleCells.length; a++) { + ProRoleExeclude excludeRole = new ProRoleExeclude(); + excludeRole.setId(snowflake.nextId()); + excludeRole.setRoleId(proRoleId); + if (CollectionUtil.isNotEmpty(proRoles)) { + Long roleId = null; + for (ProRole memberRole : proRoles) { + if (excludeRoleCells[a].equals(memberRole.getName())) { + roleId = memberRole.getId(); + excludeRole.setOtherRoleId(roleId); + break; + } + } + if(ObjectUtil.isNull(roleId)){ + throw new BaseException(CodeEnum.WBS_NOT_FIND_ROLE.addMsg(wbsSheet.getSheetName()+i)); + } + } + excludeRoleService.saveExcludeRole(excludeRole); + } + } + } + } + + //TODO 添加mvp角色 + ProRole proMemberRole = new ProRole(); + proMemberRole.setName(WebConstant.ROLE_NAME.MVP.phase); + proMemberRole.setParentId(firstRoleId); + proMemberRole.setProjectId(sysProject.getId()); + proMemberRole.setId(snowflake.nextId()); + proRoleService.saveProRole(proMemberRole); + proRoles.add(proMemberRole); + } + + //判断集合是否为空,有没有相同内容 + private boolean proMemberRoleExist(String memberRoleName,List proRoles) { + if (CollectionUtil.isNotEmpty(proRoles)) { + for (ProRole proMemberRole : proRoles) { + if (proMemberRole.getName().equals(memberRoleName)) { + return true; + } + } + } + return false; + } + + //添加成员与奖惩干系人 + private void memberWhitStakeholder(XSSFSheet memberSheet, Long stakeholderId, SysProject sysProject, List proMembers) throws Exception { + List stakeholderList = new ArrayList<>(); + if (ObjectUtil.isNotNull(memberSheet)) { + Set userIdSet = new HashSet<>(); + + for (int i = 1; i <= memberSheet.getLastRowNum(); i++) { + String memberCell = ExcelUtil.getCellValue(memberSheet.getRow(i).getCell(1)); + String phoneCell = ExcelUtil.getCellValue(memberSheet.getRow(i).getCell(2)); + String stakeholderCell = ExcelUtil.getCellValue(memberSheet.getRow(i).getCell(3)); + String stakeholderPhoneCell = ExcelUtil.getCellValue(memberSheet.getRow(i).getCell(4)); + ProMember stakeholder = null; + ProMember member = null; + //手机号不能为空 + if((StrUtil.isNotEmpty(memberCell)&&StrUtil.isEmpty(phoneCell)) || + (StrUtil.isNotEmpty(stakeholderCell)&&StrUtil.isEmpty(stakeholderPhoneCell))){ + throw new BaseException(CodeEnum.WBS_NOT_PHONE.addMsg(memberSheet.getSheetName()+i)); + } + //TODO 判断手机号格式 + + //添加奖惩干系人 + if (StrUtil.isNotEmpty(stakeholderCell)) { + if(!stakeholderWithPhone(stakeholderList,stakeholderCell,stakeholderPhoneCell)) { + Long userId = userService.selectUserIdByPhone(stakeholderPhoneCell); + if(ObjectUtil.isNotNull(userId)){ + userIdSet.add(userId); + } + stakeholder = new ProMember(); + stakeholder.setId(snowflake.nextId()); + stakeholder.setProjectId(sysProject.getId()); + stakeholder.setUserId(userId); + stakeholder.setNickname(stakeholderCell); + stakeholder.setPhone(stakeholderPhoneCell); + proMemberService.saveMember(stakeholder); + stakeholderList.add(stakeholder); + + ProMemberRole proMemberRole = new ProMemberRole(); + proMemberRole.setId(snowflake.nextId()); + proMemberRole.setMemberId(stakeholder.getId()); + proMemberRole.setRoleId(stakeholderId); + proMemberRoleService.saveMemberRole(proMemberRole); + }else { + throw new BaseException(CodeEnum.WBS_STAKEHOLDER_PHONE.addMsg(memberSheet.getSheetName()+i)); + } + } + //成员 + if (StrUtil.isNotEmpty(memberCell)) { + if (!memberAndPhoneRepeat(proMembers, memberCell, phoneCell)) { + Long userId = userService.selectUserIdByPhone(phoneCell); + if(ObjectUtil.isNotNull(userId)){ + userIdSet.add(userId); + } + member = new ProMember(); + member.setId(snowflake.nextId()); + member.setProjectId(sysProject.getId()); + member.setUserId(userId); + member.setNickname(memberCell); + member.setPhone(phoneCell); + if (ObjectUtil.isNotNull(stakeholder)) { + member.setStakeholderId(stakeholder.getId()); + } + proMemberService.saveMember(member); + proMembers.add(member); +// //创建者依据project的creatorId判断,不需要添加成员 + }else { + throw new BaseException(CodeEnum.WBS_REPEAT_MEMBER_PHONE.addMsg(memberSheet.getSheetName()+i)); + } + } + } + //TODO 每个成员都关注此项目(暂时) + addUserAttention(userIdSet,sysProject); + } else { + throw new BaseException(CodeEnum.WBS_NOT_MEMBER_SHEET); + } + } + /** + * 项目成员表内的每个人都关注此项目(暂时,当前版本) + */ + private void addUserAttention(Set userIdList,SysProject sysProject){ + if(CollectionUtil.isNotEmpty(userIdList)){ + for(Long userId:userIdList){ + UserAttention userAttention = new UserAttention(); + userAttention.setId(snowflake.nextId()); + userAttention.setUserId(userId); + userAttention.setProjectId(sysProject.getId()); + userAttentionService.saveAttention(userAttention); + } + } + } + /** + * 判断奖惩干系人与手机号对应是否正确 + * 奖惩干系人可以重复,一个人只能对应一个手机号 + */ + private boolean stakeholderWithPhone(List stakeholderList, String stakeholderName, String phone){ + if(CollectionUtil.isNotEmpty(stakeholderList)){ + for(ProMember proMember:stakeholderList){ + if(stakeholderName.equalsIgnoreCase(proMember.getNickname())){ + if(!proMember.getPhone().equalsIgnoreCase(phone)){ + return true; + } + }else { + if(proMember.getPhone().equalsIgnoreCase(phone)){ + return true; + } + } + } + } + return false; + } + /** + *判断成员和手机号是否重复 + */ + private boolean memberAndPhoneRepeat(List proMembers, String memberName, String phone){ + if(CollectionUtil.isNotEmpty(proMembers)){ + for(ProMember proMember:proMembers){ + if(proMember.getNickname().equalsIgnoreCase(memberName)){ + return true; + } + if(proMember.getPhone().equalsIgnoreCase(phone)){ + return true; + } + } + } + return false; + } + + private void readTask(XSSFWorkbook xssfWorkbook, XSSFSheet wbsSheet, int taskStart, int taskEnd, + Long currentUserId, SysProject sysProject, List taskDetails, + List proRoles, List proMembers) throws Exception { + Long pmRoleId = null; + //获取项目经理的id(一级角色) + for (ProRole role : proRoles) { + if (role.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.PM.value)) { + pmRoleId = role.getId(); + break; + } + } + //获取项目经理的id(二级角色) + if (ObjectUtil.isNotNull(pmRoleId)) { + for (ProRole secondRole : proRoles) { + if (ObjectUtil.isNotNull(secondRole.getParentId()) && + secondRole.getParentId().longValue() == pmRoleId.longValue()) { + pmRoleId = secondRole.getId(); + break; + } + } + } + //TODO 添加一个开始虚拟节点 + ProTaskDetail beginTask = new ProTaskDetail(); + beginTask.setId(snowflake.nextId()); + beginTask.setProjectId(sysProject.getId()); + beginTask.setName("开始"); + beginTask.setVirtual((byte) WebConstant.TASK_VIRTUAL.Virtual.value); + beginTask.setLevel((byte) WebConstant.TASK_LEVEL.Virtual.value); + beginTask.setExecutorRole(pmRoleId); + proTaskDetailService.saveTaskDetail(beginTask); + taskDetails.add(beginTask); + //一级任务id + Long firstTaskDetailId = null; + + for (int i = taskStart + 1; i <= taskEnd; i++) { + XSSFRow row = wbsSheet.getRow(i); + String task1 = ExcelUtil.getCellValue(row.getCell(1));//一级任务名称 + String task2 = ExcelUtil.getCellValue(row.getCell(2));//二级任务名称 + String description = ExcelUtil.getCellValue(row.getCell(3));//任务描述 + String beginTime = ExcelUtil.getCellValue(row.getCell(4));//开始时间 + String endTime = ExcelUtil.getCellValue(row.getCell(5));//结束时间 +// String duration = ExcelUtil.getCellValue(row.getCell(6));//任务时长 + String repeat = ExcelUtil.getCellValue(row.getCell(7));//重复 + String subTaskCell = ExcelUtil.getCellValue(row.getCell(8));//子任务 + String subProject = ExcelUtil.getCellValue(row.getCell(9));//子项目 + String deliver = ExcelUtil.getCellValue(row.getCell(10));//交付物 + String executorRole = ExcelUtil.getCellValue(row.getCell(11));//负责人 + String checkerRole = ExcelUtil.getCellValue(row.getCell(12));//检查人 + String money = ExcelUtil.getCellValue(row.getCell(13));//即使奖惩 + String delay = ExcelUtil.getCellValue(row.getCell(14));//任务切换模式 + String delayTime = ExcelUtil.getCellValue(row.getCell(15));//延迟时间 + String loopTo = ExcelUtil.getCellValue(row.getCell(16));//跳转任务 + String loopTimes = ExcelUtil.getCellValue(row.getCell(17));//跳转次数 + String input = ExcelUtil.getCellValue(row.getCell(18));//输入文档 + //二级任务名不能为空 +// if(StrUtil.isEmpty(task2)){ +// throw new BaseException(CodeEnum.WBS_NOT_TASK_NAME.addMsg(wbsSheet.getSheetName()+i)); +// } + //TODO 一级任务(时间暂时为空) + if (StrUtil.isNotEmpty(task1)) { + ProTaskDetail firstTaskDetail = new ProTaskDetail(); + firstTaskDetail.setId(snowflake.nextId()); + firstTaskDetail.setName(task1); + firstTaskDetail.setProjectId(sysProject.getId()); + firstTaskDetail.setDelay((byte) WebConstant.TASK_DELAY.SelfMotion.value); + firstTaskDetail.setVirtual((byte) WebConstant.TASK_VIRTUAL.Normal.value); + firstTaskDetail.setLevel((byte) WebConstant.TASK_LEVEL.FirstTask.value); + firstTaskDetail.setExecutorRole(pmRoleId); + proTaskDetailService.saveTaskDetail(firstTaskDetail); + taskDetails.add(firstTaskDetail); + + firstTaskDetailId = firstTaskDetail.getId(); +// if (CollectionUtil.isNotEmpty(taskDetails)) { +// for (ProTaskDetail proTask1 : taskDetails) { +// if (proTask1.getName().equals(task1)) { +// firstTaskDetailId = proTask1.getId(); +// break; +// } +// } +// } + } + if (ObjectUtil.isNull(firstTaskDetailId)) { + throw new BaseException("找不到任务[" + i + "]"); + } + + //二级任务 + if (StrUtil.isNotEmpty(task2)) { + ProTaskDetail taskDetail = new ProTaskDetail(); + taskDetail.setId(snowflake.nextId()); + taskDetail.setProjectId(sysProject.getId()); + taskDetail.setParentId(firstTaskDetailId); + taskDetail.setName(task2); + taskDetail.setDescription(description); + taskDetail.setVirtual((byte) WebConstant.TASK_VIRTUAL.Normal.value); + taskDetail.setLevel((byte) WebConstant.TASK_LEVEL.SecondTask.value); +// taskDetail.setGlobal((byte) 0); + taskDetail.setHasGroup((byte) 0); + taskDetail.setAllMember((byte) 1); + //子项目 + if (StrUtil.isNotEmpty(subProject)) { + SysProject project = projectService.selectByNameAndUserId(subProject, currentUserId); + if (ObjectUtil.isNotNull(project)) { + taskDetail.setSubProjectId(project.getId()); + taskDetail.setSubProject(subProject); + project.setParentTaskId(taskDetail.getId()); + projectService.updateProject(project); + } + } + //交付物 + if (StrUtil.isNotEmpty(deliver)) { + String str = ""; + if (deliver.length() > 4) { + str = deliver.substring(0, 3); + } + if (str.equals("关联表")) { + String subStr = deliver.substring(4); + XSSFSheet subSheet = xssfWorkbook.getSheet(subStr); + readSubSheet(subSheet, taskDetail.getId()); + } else { + ProTaskDeliver taskDeliver = new ProTaskDeliver(); + taskDeliver.setId(snowflake.nextId()); + taskDeliver.setTaskDetailId(taskDetail.getId()); + taskDeliver.setName(deliver); + taskDeliver.setIsInput(0); + taskDeliver.setIsFinal(1); + taskDeliverService.saveDeliver(taskDeliver); + } + } + //负责人 + if (CollectionUtil.isNotEmpty(proRoles)) { + Long executorRoleId = null; + for (ProRole proRole : proRoles) { + if (ObjectUtil.isNotNull(proRole.getParentId()) && proRole.getName().equals(executorRole)) { + executorRoleId = proRole.getId(); + taskDetail.setExecutorRole(executorRoleId); + break; + } + } + if(ObjectUtil.isNull(executorRoleId)){ + throw new BaseException(CodeEnum.WBS_NOT_FIND_EXECUTOR_ROLE.addMsg(wbsSheet.getSheetName()+i)); + } + } + //检查人 + if (CollectionUtil.isNotEmpty(proRoles)) { + Long checkerRoleId = null; + for (ProRole proRole : proRoles) { + if (ObjectUtil.isNotNull(proRole.getParentId()) && proRole.getName().equals(executorRole)) { + checkerRoleId = proRole.getId(); + taskDetail.setCheckerRole(checkerRoleId); + break; + } + } + if(ObjectUtil.isNull(checkerRoleId)){ + throw new BaseException(CodeEnum.WBS_NOT_FIND_CHECKER_ROLE.addMsg(wbsSheet.getSheetName()+i)); + } + } + //奖惩金额 + if (StrUtil.isNotEmpty(money)) { + taskDetail.setMoney(Long.parseLong(money) * 100); + } + //切换模式 + if (delay.equals(WebConstant.TASK_DELAY.SelfMotion.phase)) { + taskDetail.setDelay((byte) WebConstant.TASK_DELAY.SelfMotion.value); + } else if (delay.equals(WebConstant.TASK_DELAY.DelayManual.phase)) { + taskDetail.setDelay((byte) WebConstant.TASK_DELAY.DelayManual.value); + } else if (delay.equals(WebConstant.TASK_DELAY.Manual.phase)) { + taskDetail.setDelay((byte) WebConstant.TASK_DELAY.Manual.value); + }else { + throw new BaseException(CodeEnum.WBS_DELAY_ERROR.addMsg(wbsSheet.getSheetName()+i)); + } + //延迟时间 + if (StrUtil.isNotEmpty(delayTime)) { + taskDetail.setDelayTime(DateUtil.str2MillSeconds(delayTime)); + } + //TODO 跳转任务(应该在循环外处理) + + //跳转次数 + + //输入文档 + if (StrUtil.isNotEmpty(input)) { + ProTaskDeliver taskDeliver = new ProTaskDeliver(); + taskDeliver.setId(snowflake.nextId()); + taskDeliver.setTaskDetailId(taskDetail.getId()); + taskDeliver.setName(input); + taskDeliver.setIsInput(1); + taskDeliver.setIsFinal(0); + taskDeliverService.saveDeliver(taskDeliver); + } + //设备挂载暂不处理 + + //没有开始时间默认项目开始时间 + if (StrUtil.isNotEmpty(beginTime)) { + taskDetail.setBeginTime(Long.valueOf(beginTime)); + } else { + taskDetail.setBeginTime(sysProject.getBeginTime()); + } + //没有结束时间默认项目结束时间 + if (StrUtil.isNotEmpty(endTime)) { + taskDetail.setEndTime(Long.valueOf(endTime)); + } else { + taskDetail.setEndTime(sysProject.getEndTime()); + } + //重复 + if (StrUtil.isNotEmpty(repeat)) {//有重复就是全局任务 +// taskDetail.setGlobal((byte) 1); + taskDetail.setCycle(repeat); + } + //子任务 + if (StrUtil.isNotEmpty(subTaskCell)) {//有子日程表 + taskDetail.setHasGroup((byte) 1); + switch (subTaskCell){ + case "值日表": + getSubTask(xssfWorkbook, subTaskCell, taskDetail,taskDetails,proMembers); + break; + case "运动计划表": + getSubTask(xssfWorkbook, subTaskCell, taskDetail,taskDetails,proMembers); + break; + case "前端学习计划表": + getSubTask(xssfWorkbook, subTaskCell, taskDetail,taskDetails,proMembers); + break; + case "后台学习计划表": + getSubTask(xssfWorkbook, subTaskCell, taskDetail,taskDetails,proMembers); + break; + case "硬件学习计划表": + getSubTask(xssfWorkbook, subTaskCell, taskDetail,taskDetails,proMembers); + break; + case "方圆学习计划表": + getSubTask(xssfWorkbook, subTaskCell, taskDetail,taskDetails,proMembers); + break; + case "全体学习计划表": + getSubTask(xssfWorkbook, subTaskCell, taskDetail,taskDetails,proMembers); + break; + default: + throw new BaseException(CodeEnum.WBS_SUB_TASK_ANALYSIS.addMsg(wbsSheet.getSheetName()+i)); + } + } + //添加任务 + proTaskDetailService.saveTaskDetail(taskDetail); + taskDetails.add(taskDetail); + } + } + //添加一个结束虚拟节点 + ProTaskDetail endTask = new ProTaskDetail(); + endTask.setId(snowflake.nextId()); + endTask.setProjectId(sysProject.getId()); + endTask.setName("结束"); + endTask.setVirtual((byte) WebConstant.TASK_VIRTUAL.Virtual.value); + endTask.setLevel((byte) WebConstant.TASK_LEVEL.Virtual.value); + endTask.setExecutorRole(pmRoleId); + proTaskDetailService.saveTaskDetail(endTask); + taskDetails.add(endTask); + } + + public void saveProTaskSubTime(List taskDetails) throws Exception { + if (CollectionUtil.isNotEmpty(taskDetails)) { + for (ProTaskDetail taskDetail : taskDetails) { + //虚拟任务或一级任务不拆分 + if (taskDetail.getVirtual() == WebConstant.TASK_VIRTUAL.Virtual.value || taskDetail.getLevel() == 1) { + continue; + } + //cycle为空或者组任务,只加一条数据 + if (StrUtil.isEmpty(taskDetail.getCycle()) || taskDetail.getHasGroup() == 1) { + ProTaskSubTime proTaskSubTime = new ProTaskSubTime(); + proTaskSubTime.setId(snowflake.nextId()); + proTaskSubTime.setTaskDetailId(taskDetail.getId()); + proTaskSubTime.setBeginTime(taskDetail.getBeginTime()); + proTaskSubTime.setEndTime(taskDetail.getEndTime()); + taskSubTimeService.saveProTaskSubTask(proTaskSubTime); + } else { + Date startDate = new Date(taskDetail.getBeginTime()); + Date endDate = new Date(taskDetail.getEndTime()); + List taskDateList = + NatureToDate.generateDates(taskDetail.getCycle(), startDate, endDate); + if (CollectionUtil.isEmpty(taskDateList)) { + return; + } + for (CronConstant.TaskDate taskDate : taskDateList) { + ProTaskSubTime proTaskSubTime = new ProTaskSubTime(); + proTaskSubTime.setId(snowflake.nextId()); + proTaskSubTime.setTaskDetailId(taskDetail.getId()); + proTaskSubTime.setBeginTime(taskDate.getStartDate().getTime()); + proTaskSubTime.setEndTime(taskDate.getEndDate().getTime()); + taskSubTimeService.saveProTaskSubTask(proTaskSubTime); + } + } + } + } + } + + public void getSubTask(XSSFWorkbook xssfWorkbook, String sheetName, ProTaskDetail parentTaskDetail, + List taskDetails, List proMembers) { + XSSFSheet subTaskSheet = xssfWorkbook.getSheet(sheetName); + Long startTime = parentTaskDetail.getBeginTime(); + if (ObjectUtil.isNotNull(subTaskSheet)) { + String str = ExcelUtil.getCellValue(subTaskSheet.getRow(1).getCell(4)); + for (int a = 2; a < subTaskSheet.getLastRowNum(); a++) { + String nameCell = ExcelUtil.getCellValue(subTaskSheet.getRow(a).getCell(1));//任务名 + String beginCell = ExcelUtil.getCellValue(subTaskSheet.getRow(a).getCell(2));//开始时间 + String endCell = ExcelUtil.getCellValue(subTaskSheet.getRow(a).getCell(3));//结束时间 + String repeatCell = ExcelUtil.getCellValue(subTaskSheet.getRow(a).getCell(4));//重复时间、相对时间 + String memberCell = StringUtil.replaceComma(ExcelUtil.getCellValue(subTaskSheet.getRow(a).getCell(6)));//成员 + String descriptionCell = ExcelUtil.getCellValue(subTaskSheet.getRow(a).getCell(8));//备注 + if (StrUtil.isNotEmpty(nameCell)) { + ProTaskDetail subTask = new ProTaskDetail(); + BeanUtil.copyProperties(parentTaskDetail, subTask); + subTask.setId(snowflake.nextId()); + subTask.setName(nameCell); + subTask.setDescription(descriptionCell); + subTask.setLevel((byte) 3); + subTask.setHasGroup((byte) 0); + subTask.setParentId(parentTaskDetail.getId()); + if (StrUtil.isNotEmpty(memberCell)) { + if (memberCell.equalsIgnoreCase(WebConstant.ROLE_NAME.AllMember.phase)) { + parentTaskDetail.setAllMember((byte) 1); + subTask.setAllMember((byte) 1); + } else { + parentTaskDetail.setAllMember((byte) 0); + subTask.setAllMember((byte) 0); + List memberList = StringUtil.extractMessage(memberCell); + if (CollectionUtil.isNotEmpty(memberList)) { + for (String memberName : memberList) { + if (CollectionUtil.isNotEmpty(proMembers)) { + Long proMemberId = null; + for (ProMember proMember : proMembers) { + if (memberName.equalsIgnoreCase(proMember.getNickname())) { + proMemberId = proMember.getId(); + ProTaskMember proTaskMember = new ProTaskMember(); + proTaskMember.setId(snowflake.nextId()); + proTaskMember.setTaskDetailId(subTask.getId()); + proTaskMember.setMemberId(proMemberId); + taskMemberService.saveTaskMember(proTaskMember); + break; + } + } + if(ObjectUtil.isNull(proMemberId)){ + throw new BaseException(CodeEnum.WSB_NOT_MEMBER.addMsg(subTaskSheet.getSheetName()+a)); + } + } + } + }else { + throw new BaseException(CodeEnum.WSB_NOT_MEMBER.addMsg(subTaskSheet.getSheetName()+a)); + } + } + } + + if (StrUtil.isNotEmpty(repeatCell)) { + if ("重复时间".equals(str)) { + subTask.setCycle(repeatCell); + } + if ("相对时间".equals(str)) { + subTask.setBeginTime(startTime); + Long relative = StringUtil.severalDay(repeatCell); + if (ObjectUtil.isNotNull(relative)) { + subTask.setEndTime(startTime + relative); + } + } + } else { + if (ObjectUtil.isNotNull(beginCell)) { + subTask.setBeginTime(Long.valueOf(beginCell)); + } + if (ObjectUtil.isNotNull(endCell)) { + subTask.setEndTime(Long.valueOf(endCell)); + } + parentTaskDetail.setBeginTime(subTask.getBeginTime()); + } + startTime = subTask.getEndTime(); + proTaskDetailService.saveTaskDetail(subTask); + taskDetails.add(subTask); + } + } + } else { + throw new BaseException(CodeEnum.WBS_NOT_SUB_TASK); + } + parentTaskDetail.setEndTime(startTime); + } + + /** + * //读取交付物表 + * + * @param subSheet + * @param taskId + */ + private void readSubSheet(XSSFSheet subSheet, Long taskId) { + for (int i = 2; i <= subSheet.getLastRowNum(); i++) { + String deliver = ExcelUtil.getCellValue(subSheet.getRow(i).getCell(1)); + if (StrUtil.isNotEmpty(deliver)) { + ProTaskDeliver taskDeliver = new ProTaskDeliver(); + taskDeliver.setId(snowflake.nextId()); + taskDeliver.setName(deliver); + taskDeliver.setTaskDetailId(taskId); + taskDeliver.setIsInput(0); + taskDeliver.setIsFinal(0); + if (i == subSheet.getLastRowNum()) { + taskDeliver.setIsFinal(1); + } + taskDeliverService.saveDeliver(taskDeliver); + } + } + } + + //插件 + private void readPlugin(XSSFWorkbook xssfWorkbook, List taskDetails, List proRoles) { + SysPluginExample pluginExample = new SysPluginExample(); + pluginExample.clear(); + List sysPluginList = sysPluginDao.selectByExample(pluginExample); + if(CollectionUtil.isNotEmpty(sysPluginList)) { + XSSFSheet sheet = xssfWorkbook.getSheet("插件"); + if (ObjectUtil.isNotNull(sheet)) { + Long taskId = null; + Long memberRoleId = null; + XSSFRow roleRow = sheet.getRow(2); + + for (int i = 3; i < sheet.getLastRowNum(); i++) { + XSSFRow pluginRow = sheet.getRow(i); + String task = ExcelUtil.getCellValue(pluginRow.getCell(1)); + //获取任务Id + if (StrUtil.isNotEmpty(task)) { + for (ProTaskDetail proTask : taskDetails) { + if (task.equals(proTask.getName())) { + taskId = proTask.getId(); + break; + } + } + } + + for (int a = 2; a < roleRow.getLastCellNum(); a++) { + //获取memberRoleId + String roleCell = ExcelUtil.getCellValue(roleRow.getCell(a)); + if (StrUtil.isNotEmpty(roleCell) && CollectionUtil.isNotEmpty(proRoles)) { + for (ProRole role : proRoles) { + if (roleCell.equals(role.getName())) { + memberRoleId = role.getId(); + break; + } + } + } + String plugin = ExcelUtil.getCellValue(pluginRow.getCell(a)); + if (StrUtil.isNotEmpty(plugin)) { + Long sysPluginId = null; + for(SysPlugin sysPlugin:sysPluginList){ + if(plugin.equalsIgnoreCase(sysPlugin.getName())){ + sysPluginId = sysPlugin.getId(); + } + } + if(ObjectUtil.isNull(sysPluginId)){ + throw new BaseException(CodeEnum.WBS_NOT_PLUGIN.addMsg(sheet.getSheetName()+i)); + } + ProTaskPlugin taskPlugin = new ProTaskPlugin(); + taskPlugin.setId(snowflake.nextId()); + taskPlugin.setTaskDetailId(taskId); + taskPlugin.setPluginId(sysPluginId); + taskPlugin.setMemberRoleId(memberRoleId); + taskPluginService.savePlugin(taskPlugin); + } + } + } + }else{ + throw new BaseException(CodeEnum.WBS_NOT_PLUGIN_SHEET); + } + } + } + + public ProjectVo.ProjectInfo selectByProjectId(Long currentUserId, SysProject sysProject) throws Exception { + //返回参数 + ProjectVo.ProjectInfo projectInfo = new ProjectVo.ProjectInfo(); + projectInfo.setId(sysProject.getId()); + projectInfo.setName(sysProject.getName()); + projectInfo.setAddress(sysProject.getAddress()); + projectInfo.setBeginTime(sysProject.getBeginTime()); + projectInfo.setEndTime(sysProject.getEndTime()); + projectInfo.setTotalDuration(sysProject.getEndTime() - sysProject.getBeginTime()); + if (ObjectUtil.isNotNull(projectInfo)) { + projectInfo.setCreator(true); + } +// //获取当前用户在本项目中的一级角色 +// List proRoles = proRoleService.getProRoleByProjectIdAndUserId(projectInfo.getId(), currentUserId); +// if (CollectionUtil.isNotEmpty(proRoles)) { +// projectInfo.setRoles(new ArrayList<>()); +// for (ProRole proRole : proRoles) { +// projectInfo.getRoles().add(proRole.getName()); +// } +// } + return projectInfo; + } +} diff --git a/tall/src/main/java/com/ccsens/tall/service/IProMemberService.java b/tall/src/main/java/com/ccsens/tall/service/IProMemberService.java index b7343658..f13cfe05 100644 --- a/tall/src/main/java/com/ccsens/tall/service/IProMemberService.java +++ b/tall/src/main/java/com/ccsens/tall/service/IProMemberService.java @@ -1,24 +1,27 @@ -package com.ccsens.tall.service; - -import com.ccsens.tall.bean.po.ProMember; -import com.ccsens.tall.bean.po.ProRole; -import com.ccsens.tall.bean.vo.MemberVo; -import com.ccsens.tall.bean.vo.ProjectVo; - -import java.util.List; - -public interface IProMemberService { - void saveMember(ProMember proMember); - - List selectMembersByProjectId(Long projectId) throws Exception; - - Boolean userIsBelongRole(Long currentUserId, Long id) throws Exception; - - List selectRolesByUserIdAndProjectId(Long currentUserId, Long projectId) throws Exception; - - MemberVo.MemberInfo getProMemberByProjectIdAndUserId(Long projectId, Long currentUserId)throws Exception; - - List getAuthedMemberByProjectId(Long projectId)throws Exception; - - ProMember selectByUserId(Long userId, Long projectId)throws Exception; -} +package com.ccsens.tall.service; + +import com.ccsens.tall.bean.po.ProMember; +import com.ccsens.tall.bean.po.ProRole; +import com.ccsens.tall.bean.vo.MemberVo; +import com.ccsens.tall.bean.vo.ProjectVo; + +import java.util.List; + +public interface IProMemberService { + void saveMember(ProMember proMember); + + List selectMembersByProjectId(Long projectId) throws Exception; + + Boolean userIsBelongRole(Long currentUserId, Long id) throws Exception; + + List selectRolesByUserIdAndProjectId(Long currentUserId, Long projectId) throws Exception; + + MemberVo.MemberInfo getProMemberByProjectIdAndUserId(Long projectId, Long currentUserId)throws Exception; + + List getAuthedMemberByProjectId(Long projectId)throws Exception; + + ProMember selectByUserId(Long userId, Long projectId)throws Exception; + + List selectByRole(Long roleId)throws Exception; + +} diff --git a/tall/src/main/java/com/ccsens/tall/service/IProTaskDetailService.java b/tall/src/main/java/com/ccsens/tall/service/IProTaskDetailService.java index 979576bc..26e64cdc 100644 --- a/tall/src/main/java/com/ccsens/tall/service/IProTaskDetailService.java +++ b/tall/src/main/java/com/ccsens/tall/service/IProTaskDetailService.java @@ -1,24 +1,24 @@ -package com.ccsens.tall.service; - -import com.ccsens.tall.bean.po.ProTaskDetail; -import com.ccsens.tall.bean.vo.TaskVo; - -import java.util.List; - -public interface IProTaskDetailService { - void saveTaskDetail(ProTaskDetail taskDetail); - - Object getTasksByRoleId(Long currentUserId, Long projectId, Long roleId, Long startTime, Long endTime, Integer process, Integer page, Integer pageSize); - - TaskVo.NormalTask getTaskInfoByTaskId(Long currentUserId, Long projectId, Long taskId) throws Exception; - - TaskVo.TaskCheckList selectTaskList(Long currentUserId, String key, String start, String end, String role, Integer page, Integer pageSize) throws Exception; - - TaskVo.TaskCheckList selectTaskListByProject(Long projectId, Long currentUserId, Integer page, Integer pageSize, String key, String start, String end, Long roleId) throws Exception; - - List getTaskDetailByKey(Long currentUserId, Long projectId, String key); - - TaskVo.NormalTask selectTaskByParentId(Long parentId, Long startTime, Long endTime); - - void deleteTaskByRoleId(Long roleId); -} +package com.ccsens.tall.service; + +import com.ccsens.tall.bean.po.ProTaskDetail; +import com.ccsens.tall.bean.vo.TaskVo; + +import java.util.List; + +public interface IProTaskDetailService { + void saveTaskDetail(ProTaskDetail taskDetail); + + Object getTasksByRoleId(Long currentUserId, Long projectId, Long roleId, Long startTime, Long endTime, Integer process, Integer page, Integer pageSize) throws Exception; + + TaskVo.NormalTask getTaskInfoByTaskId(Long currentUserId, Long projectId, Long taskId) throws Exception; + + TaskVo.TaskCheckList selectTaskList(Long currentUserId, String key, String start, String end, String role, Integer page, Integer pageSize) throws Exception; + + TaskVo.TaskCheckList selectTaskListByProject(Long projectId, Long currentUserId, Integer page, Integer pageSize, String key, String start, String end, Long roleId) throws Exception; + + List getTaskDetailByKey(Long currentUserId, Long projectId, String key); + + TaskVo.NormalTask selectTaskByParentId(Long parentId, Long startTime, Long endTime); + + void deleteTaskByRoleId(Long roleId); +} diff --git a/tall/src/main/java/com/ccsens/tall/service/ProMemberService.java b/tall/src/main/java/com/ccsens/tall/service/ProMemberService.java index 0a3e7d2f..43d77ff0 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProMemberService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProMemberService.java @@ -1,173 +1,198 @@ -package com.ccsens.tall.service; - -import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.util.ObjectUtil; -import com.ccsens.tall.bean.po.*; -import com.ccsens.tall.bean.vo.MemberVo; -import com.ccsens.tall.bean.vo.ProjectVo; -import com.ccsens.tall.persist.dao.ProMemberDao; -import com.ccsens.tall.persist.dao.ProMemberRoleDao; -import com.ccsens.tall.persist.dao.ProRoleDao; -import com.ccsens.util.WebConstant; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -import java.util.ArrayList; -import java.util.List; - -@Service -@Transactional(propagation = Propagation.REQUIRED) -public class ProMemberService implements IProMemberService{ - @Autowired - private ProMemberDao proMemberDao; - @Autowired - private ProRoleDao proRoleDao; - @Autowired - private ProMemberRoleDao proMemberRoleDao; - @Autowired - private IUserService userService; - - - @Override - public void saveMember(ProMember proMember) { - proMemberDao.insertSelective(proMember); - } - - @Override - public List selectMembersByProjectId(Long projectId) throws Exception { - List members = new ArrayList<>(); - ProjectVo.MembersByProject member = null; - List belongRoleList = null; - ProjectVo.MembersByProject.BelongRole belongRole = null; - ProMemberExample memberExample = new ProMemberExample(); - memberExample.createCriteria().andProjectIdEqualTo(projectId).andStakeholderIdIsNull(); - List memberList = proMemberDao.selectByExample(memberExample); - if(CollectionUtil.isNotEmpty(memberList)){ - for(ProMember proMember:memberList){ - member = new ProjectVo.MembersByProject(); - member.setMemberId(proMember.getId()); - member.setName(proMember.getNickname()); - member.setPhone(proMember.getPhone()); - member.setUserId(proMember.getUserId()); - } - } - - //查找所有角色 - ProRoleExample roleExample = new ProRoleExample(); - roleExample.createCriteria().andProjectIdEqualTo(projectId); - List roleList = proRoleDao.selectByExample(roleExample); - if(CollectionUtil.isNotEmpty(roleList)){ - for(ProRole role :roleList){ - if(!role.getName().equals(WebConstant.ROLE_NAME.AllMember.phase)&&!role.getName().equals("MVP")) { - //查找角色下所有成员 - ProMemberRoleExample memberRoleExample = new ProMemberRoleExample(); - memberRoleExample.createCriteria().andRoleIdEqualTo(role.getId()); - List memberRoleList = proMemberRoleDao.selectByExample(memberRoleExample); - if(CollectionUtil.isNotEmpty(memberRoleList)){ - for (ProMemberRole memberRole:memberRoleList){ - ProMember proMember = proMemberDao.selectByPrimaryKey(memberRole.getMemberId()); - if(ObjectUtil.isNotNull(proMember)){ - Boolean flag = false; - if (CollectionUtil.isNotEmpty(members)) { - for (ProjectVo.MembersByProject membersByProject : members) { - if (membersByProject.getPhone().equals(proMember.getPhone())) { - belongRole = new ProjectVo.MembersByProject.BelongRole(); - belongRole.setRoleId(role.getId()); - belongRole.setRoleName(role.getName()); - membersByProject.getBelongRole().add(belongRole); - flag = true; - break; - } - } - } - if (!flag) { - member = new ProjectVo.MembersByProject(); - member.setMemberId(proMember.getId()); - member.setName(proMember.getNickname()); - member.setPhone(proMember.getPhone()); - member.setUserId(proMember.getUserId()); - String mAccount = userService.selectAccountByPhone(member.getPhone()); - member.setAccount(mAccount); - - belongRoleList = new ArrayList<>(); - belongRole = new ProjectVo.MembersByProject.BelongRole(); - belongRole.setRoleId(role.getId()); - belongRole.setRoleName(role.getName()); - belongRoleList.add(belongRole); - member.setBelongRole(belongRoleList); - - members.add(member); - } - } - } - } - } - } - } - return members; - } - - @Override - public Boolean userIsBelongRole(Long userId, Long roleId) { - Boolean flag = false; - ProMemberRoleExample memberRoleExample = new ProMemberRoleExample(); - memberRoleExample.createCriteria().andRoleIdEqualTo(roleId); - List memberRoleList = proMemberRoleDao.selectByExample(memberRoleExample); - if (CollectionUtil.isNotEmpty(memberRoleList)) { - for (ProMemberRole memberRole : memberRoleList) { - ProMember proMember = proMemberDao.selectByPrimaryKey(memberRole.getMemberId()); - if (ObjectUtil.isNotNull(proMember) && proMember.getUserId().longValue() == userId) { - flag = true; - } - } - } - return flag; - } - - /** - * 获取用户在项目中所属的所有角色 - */ - @Override - public List selectRolesByUserIdAndProjectId(Long userId, Long projectId) throws Exception { - List roleList = new ArrayList<>(); - ProMemberExample memberExample = new ProMemberExample(); - memberExample.createCriteria().andUserIdEqualTo(userId).andProjectIdEqualTo(projectId); - List memberList = proMemberDao.selectByExample(memberExample); - if (CollectionUtil.isNotEmpty(memberList)) { - ProMember member = memberList.get(0); - ProMemberRoleExample memberRoleExample = new ProMemberRoleExample(); - memberRoleExample.createCriteria().andMemberIdEqualTo(member.getId()); - List memberRoleList = proMemberRoleDao.selectByExample(memberRoleExample); - if(CollectionUtil.isNotEmpty(memberRoleList)){ - for(ProMemberRole memberRole:memberRoleList){ - ProRole role = proRoleDao.selectByPrimaryKey(memberRole.getRoleId()); - roleList.add(role); - } - } - } - return roleList; - } - - @Override - public MemberVo.MemberInfo getProMemberByProjectIdAndUserId(Long projectId, Long currentUserId) throws Exception { - return proMemberDao.selectByProjectIdAndUserId(projectId,currentUserId); - } - @Override - public List getAuthedMemberByProjectId(Long projectId) throws Exception { - return proMemberDao.selectAuthedMemberByProjectId(projectId); - } - - @Override - public ProMember selectByUserId(Long userId,Long projectId) throws Exception { - ProMember member = null; - ProMemberExample memberExample = new ProMemberExample(); - memberExample.createCriteria().andUserIdEqualTo(userId).andProjectIdEqualTo(projectId); - List proMemberList = proMemberDao.selectByExample(memberExample); - if(CollectionUtil.isNotEmpty(proMemberList)){ - member = proMemberList.get(0); - } - return member; - } -} +package com.ccsens.tall.service; + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.ccsens.tall.bean.po.*; +import com.ccsens.tall.bean.vo.MemberVo; +import com.ccsens.tall.bean.vo.ProjectVo; +import com.ccsens.tall.persist.dao.ProMemberDao; +import com.ccsens.tall.persist.dao.ProMemberRoleDao; +import com.ccsens.tall.persist.dao.ProRoleDao; +import com.ccsens.util.WebConstant; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; + +@Service +@Transactional(propagation = Propagation.REQUIRED) +public class ProMemberService implements IProMemberService { + @Autowired + private ProMemberDao proMemberDao; + @Autowired + private ProRoleDao proRoleDao; + @Autowired + private ProMemberRoleDao proMemberRoleDao; + @Autowired + private IUserService userService; + + + @Override + public void saveMember(ProMember proMember) { + proMemberDao.insertSelective(proMember); + } + + @Override + public List selectMembersByProjectId(Long projectId) throws Exception { + List members = new ArrayList<>(); + ProjectVo.MembersByProject member = null; + List belongRoleList = null; + ProjectVo.MembersByProject.BelongRole belongRole = null; + ProMemberExample memberExample = new ProMemberExample(); + memberExample.createCriteria().andProjectIdEqualTo(projectId).andStakeholderIdIsNull(); + List memberList = proMemberDao.selectByExample(memberExample); + if(CollectionUtil.isNotEmpty(memberList)){ + for(ProMember proMember:memberList){ + member = new ProjectVo.MembersByProject(); + member.setMemberId(proMember.getId()); + member.setName(proMember.getNickname()); + member.setPhone(proMember.getPhone()); + member.setUserId(proMember.getUserId()); + } + } + + //查找所有角色 + ProRoleExample roleExample = new ProRoleExample(); + roleExample.createCriteria().andProjectIdEqualTo(projectId); + List roleList = proRoleDao.selectByExample(roleExample); + if(CollectionUtil.isNotEmpty(roleList)){ + for(ProRole role :roleList){ + if(!role.getName().equals(WebConstant.ROLE_NAME.AllMember.phase)&&!role.getName().equals("MVP")) { + //查找角色下所有成员 + ProMemberRoleExample memberRoleExample = new ProMemberRoleExample(); + memberRoleExample.createCriteria().andRoleIdEqualTo(role.getId()); + List memberRoleList = proMemberRoleDao.selectByExample(memberRoleExample); + if(CollectionUtil.isNotEmpty(memberRoleList)){ + for (ProMemberRole memberRole:memberRoleList){ + ProMember proMember = proMemberDao.selectByPrimaryKey(memberRole.getMemberId()); + if(ObjectUtil.isNotNull(proMember)){ + Boolean flag = false; + if (CollectionUtil.isNotEmpty(members)) { + for (ProjectVo.MembersByProject membersByProject : members) { + if (membersByProject.getPhone().equals(proMember.getPhone())) { + belongRole = new ProjectVo.MembersByProject.BelongRole(); + belongRole.setRoleId(role.getId()); + belongRole.setRoleName(role.getName()); + membersByProject.getBelongRole().add(belongRole); + flag = true; + break; + } + } + } + if (!flag) { + member = new ProjectVo.MembersByProject(); + member.setMemberId(proMember.getId()); + member.setName(proMember.getNickname()); + member.setPhone(proMember.getPhone()); + member.setUserId(proMember.getUserId()); + String mAccount = userService.selectAccountByPhone(member.getPhone()); + member.setAccount(mAccount); + + belongRoleList = new ArrayList<>(); + belongRole = new ProjectVo.MembersByProject.BelongRole(); + belongRole.setRoleId(role.getId()); + belongRole.setRoleName(role.getName()); + belongRoleList.add(belongRole); + member.setBelongRole(belongRoleList); + + members.add(member); + } + } + } + } + } + } + } + return members; + } + + /** + *该用户是否是角色下的成员 + */ + @Override + public Boolean userIsBelongRole(Long userId, Long roleId) { + Boolean flag = false; + ProMemberRoleExample memberRoleExample = new ProMemberRoleExample(); + memberRoleExample.createCriteria().andRoleIdEqualTo(roleId); + List memberRoleList = proMemberRoleDao.selectByExample(memberRoleExample); + if (CollectionUtil.isNotEmpty(memberRoleList)) { + for (ProMemberRole memberRole : memberRoleList) { + ProMember proMember = proMemberDao.selectByPrimaryKey(memberRole.getMemberId()); + if (ObjectUtil.isNotNull(proMember) && proMember.getUserId().longValue() == userId) { + flag = true; + } + } + } + return flag; + } + + /** + * 获取用户在项目中所属的所有角色 + */ + @Override + public List selectRolesByUserIdAndProjectId(Long userId, Long projectId) throws Exception { + List roleList = new ArrayList<>(); + ProMemberExample memberExample = new ProMemberExample(); + memberExample.createCriteria().andUserIdEqualTo(userId).andProjectIdEqualTo(projectId); + List memberList = proMemberDao.selectByExample(memberExample); + if (CollectionUtil.isNotEmpty(memberList)) { + ProMember member = memberList.get(0); + ProMemberRoleExample memberRoleExample = new ProMemberRoleExample(); + memberRoleExample.createCriteria().andMemberIdEqualTo(member.getId()); + List memberRoleList = proMemberRoleDao.selectByExample(memberRoleExample); + if(CollectionUtil.isNotEmpty(memberRoleList)){ + for(ProMemberRole memberRole:memberRoleList){ + ProRole role = proRoleDao.selectByPrimaryKey(memberRole.getRoleId()); + roleList.add(role); + } + } + } + return roleList; + } + + @Override + public MemberVo.MemberInfo getProMemberByProjectIdAndUserId(Long projectId, Long currentUserId) throws Exception { + return proMemberDao.selectByProjectIdAndUserId(projectId,currentUserId); + } + @Override + public List getAuthedMemberByProjectId(Long projectId) throws Exception { + return proMemberDao.selectAuthedMemberByProjectId(projectId); + } + + /** + * 查找用户在项目下对应的成员 + */ + @Override + public ProMember selectByUserId(Long userId, Long projectId) throws Exception { + ProMember member = null; + ProMemberExample memberExample = new ProMemberExample(); + memberExample.createCriteria().andUserIdEqualTo(userId).andProjectIdEqualTo(projectId); + List proMemberList = proMemberDao.selectByExample(memberExample); + if(CollectionUtil.isNotEmpty(proMemberList)){ + member = proMemberList.get(0); + } + return member; + } + + /** + * 查找角色下的所有成员 + */ + @Override + public List selectByRole(Long roleId){ + List memberList = new ArrayList<>(); + ProMemberRoleExample memberRoleExample = new ProMemberRoleExample(); + memberRoleExample.createCriteria().andRoleIdEqualTo(roleId); + List memberRoleList = proMemberRoleDao.selectByExample(memberRoleExample); + if(CollectionUtil.isNotEmpty(memberRoleList)){ + for(ProMemberRole memberRole:memberRoleList){ + ProMember member = proMemberDao.selectByPrimaryKey(memberRole.getMemberId()); + memberList.add(member); + } + } + return memberList; + } + +} diff --git a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java index 3e80ce00..60ed5561 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java @@ -1,213 +1,233 @@ -package com.ccsens.tall.service; - -import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.util.ObjectUtil; -import com.ccsens.tall.bean.po.*; -import com.ccsens.tall.bean.vo.ProjectVo; -import com.ccsens.tall.bean.vo.TaskVo; -import com.ccsens.tall.persist.dao.ProMemberDao; -import com.ccsens.tall.persist.dao.ProMemberRoleDao; -import com.ccsens.tall.persist.dao.ProRoleDao; -import com.ccsens.util.WebConstant; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -@Service -@Transactional(propagation = Propagation.REQUIRED) -public class ProRoleService implements IProRoleService{ - @Autowired - private ProRoleDao proRoleDao; - @Autowired - private ProMemberDao proMemberDao; - @Autowired - private ProMemberRoleDao proMemberRoleDao; - @Autowired - private IProTaskDetailService taskDetailService; - @Autowired - private IUserService userService; - - @Override - public void saveProRole(ProRole proRole) { - proRoleDao.insertSelective(proRole); - } - - /** - * 查询此用户在项目中的一级角色 - */ - @Override - public List getProRoleByProjectIdAndUserId(Long projectId, Long currentUserId) { - return proRoleDao.selectFirstRoleByProjectIdAndUserId(projectId,currentUserId); - } - - /** - * 查询项目下的所有角色(二级角色) - */ - @Override - public List getRolesByProjectIdAndUserId(Long projectId, Long currentUserId) throws Exception { - List memberRoleList = null; - //1.查询二级角色(项目经理+项目成员+mvp) - memberRoleList = getRealMemberRolesByProjectId(projectId); - - //排除该角色不能看的其他角色 - List carelessMemberRoleList = getCareLessRoleByProjectIdAndUserId(projectId, currentUserId); - if (CollectionUtil.isNotEmpty(carelessMemberRoleList)) { - for (Long otherRoleId : carelessMemberRoleList) { - for (ProjectVo.RoleInfo memberRole : memberRoleList) { - if (otherRoleId.longValue() == memberRole.getId().longValue()) { - memberRoleList.remove(memberRole); - break; - } - } - } - } - - //是否PM - if (CollectionUtil.isNotEmpty(memberRoleList)) { - for (ProjectVo.RoleInfo memberRole : memberRoleList) { - ProRole parentRole = proRoleDao.selectByPrimaryKey(memberRole.getParentId()); - if (parentRole.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.PM.value)) { - memberRole.setPm(true); - } else { - memberRole.setPm(false); - } - } - } - - //是否mine - if (CollectionUtil.isNotEmpty(memberRoleList)) { - List roleList = proRoleDao.selectRolesByProjectIdAndUserId(projectId, currentUserId); - for (ProjectVo.RoleInfo memberRole : memberRoleList) { - if (ObjectUtil.isNotNull(roleList)) { - for(ProRole role:roleList){ - if (memberRole.getId().equals(role.getId())) { - memberRole.setMine(true); - break; - } else { - memberRole.setMine(false); - } - } - } - } - } - //奖惩干系人信息 - if (CollectionUtil.isNotEmpty(memberRoleList)) { - for (ProjectVo.RoleInfo memberRole : memberRoleList) { - if (CollectionUtil.isNotEmpty(memberRole.getMembers())) { - for (ProjectVo.ProMemberVo member : memberRole.getMembers()) { - String mAccount = userService.selectAccountByPhone(member.getMPhone()); - member.setMUsername(mAccount); - //查找奖惩干系人 - if(ObjectUtil.isNotNull(member.getStakeholderId())) { - ProMember stakeholder = proMemberDao.selectByPrimaryKey(member.getStakeholderId()); - if(ObjectUtil.isNotNull(stakeholder)){ - member.setSId(stakeholder.getId()); - member.setSName(stakeholder.getNickname()); - member.setMPhone(stakeholder.getPhone()); - String stakeholderAccount = userService.selectAccountByPhone(member.getMPhone()); - member.setSUsername(stakeholderAccount); - if(ObjectUtil.isNotNull(stakeholder.getUserId())){ - if (currentUserId.longValue() == stakeholder.getUserId()) { - member.setStakeholder(true); - } - } - } - } - } - } - } - } - return memberRoleList; - } - - /** - * 查询项目下所有二级角色 - */ - @Override - public List getRealMemberRolesByProjectId(Long projectId) { - //查询二级角色 - List memberRoleList = null; - memberRoleList = proRoleDao.selectSecondRolesByProjectId(projectId); - return memberRoleList; - } - - /** - * 获取此用户不可见的角色 - * @param projectId - * @param currentUserId - * @return - */ - public List getCareLessRoleByProjectIdAndUserId(Long projectId, Long currentUserId) { - return proRoleDao.selectCareLessRoleByProjectIdAndUserId(projectId, currentUserId); - } - - /** - * 获取用户在项目中的最高权限 - * @param roles 用户在项目中所属的一级角色的名字 - * @return - */ - @Override - public int selectPowerByRoleName(List roles) { - int power = 0; - if(CollectionUtil.isNotEmpty(roles)){ - for(ProRole role:roles){ - int i = proRoleDao.selectPowerByRoleName(role.getDescription()); - power = i > power ? i : power; - } - } - return power; - } - - /** - * 根据roleId查找角色的id和姓名 - */ - @Override - public TaskVo.RoleCheckList selectRoleByCheckOrExecutor(Long roleId) { - TaskVo.RoleCheckList roleCheckList = new TaskVo.RoleCheckList(); - if(roleId != 0) { - ProRole role = proRoleDao.selectByPrimaryKey(roleId); - roleCheckList.setId(role.getId()); - roleCheckList.setName(role.getName()); - } - return roleCheckList; - } - - /** - * 查找“全体成员”角色 - */ - @Override - public ProRole getAllMember(Long projectId) { - ProRole role = null; - ProRoleExample roleExample = new ProRoleExample(); - roleExample.createCriteria().andProjectIdEqualTo(projectId).andNameEqualTo(WebConstant.ROLE_NAME.AllMember.phase); - List roleList = proRoleDao.selectByExample(roleExample); - if(CollectionUtil.isNotEmpty(roleList)){ - role = roleList.get(0); - } - return role; - } - - //======================================================================= - - /** - * 删除所有角色 - * @param projectId - */ - @Override - public void deleteRoleByProjectId(Long projectId) { - ProRoleExample roleExample = new ProRoleExample(); - roleExample.createCriteria().andProjectIdEqualTo(projectId); - List roleList = proRoleDao.selectByExample(roleExample); - if(CollectionUtil.isNotEmpty(roleList)){ - //删除任务 - for(ProRole role:roleList){ - taskDetailService.deleteTaskByRoleId(role.getId()); - } - } - } - - -} +package com.ccsens.tall.service; + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.ccsens.tall.bean.po.ProMember; +import com.ccsens.tall.bean.po.ProRole; +import com.ccsens.tall.bean.po.ProRoleExample; +import com.ccsens.tall.bean.vo.ProjectVo; +import com.ccsens.tall.bean.vo.TaskVo; +import com.ccsens.tall.persist.dao.ProMemberDao; +import com.ccsens.tall.persist.dao.ProMemberRoleDao; +import com.ccsens.tall.persist.dao.ProRoleDao; +import com.ccsens.util.WebConstant; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +@Service +@Transactional(propagation = Propagation.REQUIRED) +public class ProRoleService implements IProRoleService { + @Autowired + private ProRoleDao proRoleDao; + @Autowired + private ProMemberDao proMemberDao; + @Autowired + private ProMemberRoleDao proMemberRoleDao; + @Autowired + private IProTaskDetailService taskDetailService; + @Autowired + private IUserService userService; + + @Override + public void saveProRole(ProRole proRole) { + proRoleDao.insertSelective(proRole); + } + + /** + * 查询此用户在项目中的一级角色 + */ + @Override + public List getProRoleByProjectIdAndUserId(Long projectId, Long currentUserId) { + return proRoleDao.selectFirstRoleByProjectIdAndUserId(projectId,currentUserId); + } + + /** + * 查询项目下的所有角色(二级角色) + */ + @Override + public List getRolesByProjectIdAndUserId(Long projectId, Long currentUserId) throws Exception { + List memberRoleList = null; + //1.查询二级角色(项目经理+项目成员+mvp) + memberRoleList = getRealMemberRolesByProjectId(projectId); + + //是否mine + if (CollectionUtil.isNotEmpty(memberRoleList)) { + List roleList = proRoleDao.selectRolesByProjectIdAndUserId(projectId, currentUserId); + for (ProjectVo.RoleInfo memberRole : memberRoleList) { + if (ObjectUtil.isNotNull(roleList)) { + for(ProRole role:roleList){ + if (memberRole.getId().equals(role.getId())) { + memberRole.setMine(true); + break; + } else { + memberRole.setMine(false); + } + } + } + } + } + //排除该角色不能看的其他角色 + List carelessMemberRoleList = getCareLessRoleByProjectIdAndUserId(projectId, currentUserId); + if (CollectionUtil.isNotEmpty(carelessMemberRoleList)) { + for (Long otherRoleId : carelessMemberRoleList) { + for (ProjectVo.RoleInfo memberRole : memberRoleList) { + if (otherRoleId.longValue() == memberRole.getId().longValue()) { + if(!memberRole.isMine()){ + memberRoleList.remove(memberRole); + } + break; + } + } + } + } + + //是否PM + if (CollectionUtil.isNotEmpty(memberRoleList)) { + for (ProjectVo.RoleInfo memberRole : memberRoleList) { + ProRole parentRole = proRoleDao.selectByPrimaryKey(memberRole.getParentId()); + if (parentRole.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.PM.value)) { + memberRole.setPm(true); + } else { + memberRole.setPm(false); + } + } + } + +// //是否mine +// if (CollectionUtil.isNotEmpty(memberRoleList)) { +// List roleList = proRoleDao.selectRolesByProjectIdAndUserId(projectId, currentUserId); +// for (ProjectVo.RoleInfo memberRole : memberRoleList) { +// if (ObjectUtil.isNotNull(roleList)) { +// for(ProRole role:roleList){ +// if (memberRole.getId().equals(role.getId())) { +// memberRole.setMine(true); +// break; +// } else { +// memberRole.setMine(false); +// } +// } +// } +// } +// } + //奖惩干系人信息 + if (CollectionUtil.isNotEmpty(memberRoleList)) { + for (ProjectVo.RoleInfo memberRole : memberRoleList) { + if (CollectionUtil.isNotEmpty(memberRole.getMembers())) { + for (ProjectVo.ProMemberVo member : memberRole.getMembers()) { + String mAccount = userService.selectAccountByPhone(member.getMPhone()); + member.setMUsername(mAccount); + //查找奖惩干系人 + if(ObjectUtil.isNotNull(member.getStakeholderId())) { + ProMember stakeholder = proMemberDao.selectByPrimaryKey(member.getStakeholderId()); + if(ObjectUtil.isNotNull(stakeholder)){ + member.setSId(stakeholder.getId()); + member.setSName(stakeholder.getNickname()); + member.setMPhone(stakeholder.getPhone()); + String stakeholderAccount = userService.selectAccountByPhone(member.getMPhone()); + member.setSUsername(stakeholderAccount); + if(ObjectUtil.isNotNull(stakeholder.getUserId())){ + if (currentUserId.longValue() == stakeholder.getUserId()) { + member.setStakeholder(true); + } + } + } + } + } + } + } + } + return memberRoleList; + } + + /** + * 查询项目下所有二级角色 + */ + @Override + public List getRealMemberRolesByProjectId(Long projectId) { + //查询二级角色 + List memberRoleList = null; + memberRoleList = proRoleDao.selectSecondRolesByProjectId(projectId); + return memberRoleList; + } + + /** + * 获取此用户不可见的角色 + * @param projectId + * @param currentUserId + * @return + */ + public List getCareLessRoleByProjectIdAndUserId(Long projectId, Long currentUserId) { + return proRoleDao.selectCareLessRoleByProjectIdAndUserId(projectId, currentUserId); + } + + /** + * 获取用户在项目中的最高权限 + * @param roles 用户在项目中所属的一级角色的名字 + * @return + */ + @Override + public int selectPowerByRoleName(List roles) { + int power = 0; + if(CollectionUtil.isNotEmpty(roles)){ + for(ProRole role:roles){ + int i = proRoleDao.selectPowerByRoleName(role.getDescription()); + power = i > power ? i : power; + } + } + return power; + } + + /** + * 根据roleId查找角色的id和姓名 + */ + @Override + public TaskVo.RoleCheckList selectRoleByCheckOrExecutor(Long roleId) { + TaskVo.RoleCheckList roleCheckList = new TaskVo.RoleCheckList(); + if(roleId != 0) { + ProRole role = proRoleDao.selectByPrimaryKey(roleId); + roleCheckList.setId(role.getId()); + roleCheckList.setName(role.getName()); + } + return roleCheckList; + } + + /** + * 查找“全体成员”角色 + */ + @Override + public ProRole getAllMember(Long projectId) { + ProRole role = null; + ProRoleExample roleExample = new ProRoleExample(); + roleExample.createCriteria().andProjectIdEqualTo(projectId).andNameEqualTo(WebConstant.ROLE_NAME.AllMember.phase); + List roleList = proRoleDao.selectByExample(roleExample); + if(CollectionUtil.isNotEmpty(roleList)){ + role = roleList.get(0); + } + return role; + } + + //======================================================================= + + /** + * 删除所有角色 + * @param projectId + */ + @Override + public void deleteRoleByProjectId(Long projectId) { + ProRoleExample roleExample = new ProRoleExample(); + roleExample.createCriteria().andProjectIdEqualTo(projectId); + List roleList = proRoleDao.selectByExample(roleExample); + if(CollectionUtil.isNotEmpty(roleList)){ + //删除任务 + for(ProRole role:roleList){ + taskDetailService.deleteTaskByRoleId(role.getId()); + } + } + } + + +} diff --git a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java index 1a70d243..54269222 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java @@ -1,650 +1,768 @@ -package com.ccsens.tall.service; - -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import com.ccsens.tall.bean.po.*; -import com.ccsens.tall.bean.vo.TaskVo; -import com.ccsens.tall.persist.dao.ProRoleDao; -import com.ccsens.tall.persist.dao.SysProjectDao; -import com.ccsens.tall.persist.dao.TaskDetailDao; -import com.ccsens.tall.persist.dao.TaskSubTimeDao; -import com.ccsens.tall.util.TaskUtil; -import com.ccsens.util.CodeEnum; -import com.ccsens.util.DateUtil; -import com.ccsens.util.WebConstant; -import com.ccsens.util.exception.BaseException; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -import java.util.*; - - -@Service -@Transactional(propagation = Propagation.REQUIRED) -public class ProTaskDetailService implements IProTaskDetailService{ - @Autowired - private IProRoleService proRoleService; - @Autowired - private ITaskDeliverService taskDeliverService; - @Autowired - private IUserAttentionService attentionService; - @Autowired - private ITaskPluginService pluginService; - @Autowired - private TaskDetailDao taskDetailDao; - @Autowired - private TaskSubTimeDao taskSubTimeDao; - @Autowired - private ProRoleDao proRoleDao; - @Autowired - private SysProjectDao sysProjectDao; - - @Override - public void saveTaskDetail(ProTaskDetail taskDetail) { - taskDetailDao.insertSelective(taskDetail); - } - - @Override - public Object getTasksByRoleId(Long currentUserId, Long projectId, Long roleId, Long startTime, Long endTime, Integer process, Integer page, Integer pageSize) { - SysProject sysProject = sysProjectDao.selectByPrimaryKey(projectId); - if(ObjectUtil.isNull(sysProject)){ - throw new BaseException(CodeEnum.NOT_PROJECT); - } - startTime = startTime == null ? sysProject.getBeginTime() : startTime; - endTime = endTime == null ? sysProject.getEndTime() : endTime; - - Object obj = null; - ProRole role = proRoleDao.selectByPrimaryKey(roleId); - if(ObjectUtil.isNull(role)){ - throw new BaseException(CodeEnum.NOT_ROLE); - } - ProRole parentRole = proRoleDao.selectByPrimaryKey(role.getParentId()); - if(ObjectUtil.isNull(parentRole)){ - throw new BaseException(CodeEnum.NOT_ROLE); - } - if(ObjectUtil.isNotNull(role)) { - if (role.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.MVP.value)) { - obj = getTaskInfoByMvp(projectId, page, pageSize); - } else if (parentRole.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.PM.value)) { - obj = getTaskInfoByProjectIdAndPM(projectId, startTime, endTime, process, page, pageSize); - } else if (parentRole.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.Member.value)) { - obj = getTaskInfoByProjectIdAndRoleId(currentUserId, projectId, roleId, startTime, endTime, process, page, pageSize); - } - }else { - throw new BaseException(CodeEnum.NOT_ROLE); - } - return obj; - } - - /** - * 查看任务 项目经理 - */ - private TaskVo.ProTaskInfo getTaskInfoByProjectIdAndPM(Long projectId,Long startTime, Long endTime, Integer process, Integer page, Integer pageSize) { - TaskVo.ProTaskInfo proTaskInfo = new TaskVo.ProTaskInfo(); - List globalTaskList = new ArrayList<>(); - List normalTaskList = new ArrayList<>(); - TaskVo.GlobalTask globalTask = null; - TaskVo.NormalTask normalTask = null; - //1、查找一级任务 - SysProject project = sysProjectDao.selectByPrimaryKey(projectId); - if(endTime < project.getBeginTime() || startTime > project.getEndTime()){ - return proTaskInfo; - } - ProTaskDetailExample proTaskDetailExample = new ProTaskDetailExample(); - proTaskDetailExample.createCriteria().andProjectIdEqualTo(projectId).andLevelEqualTo((byte) 1); - List firstTaskDetailList = taskDetailDao.selectByExample(proTaskDetailExample); - if(CollectionUtil.isNotEmpty(firstTaskDetailList)){ - int sequence = 1; - for(ProTaskDetail firstTaskDetail:firstTaskDetailList){ - normalTask = new TaskVo.NormalTask(); - BeanUtil.copyProperties(firstTaskDetail,normalTask); - normalTask.setDetailId(firstTaskDetail.getId()); - normalTask.setId(null); - normalTask.setSequence(sequence); - //查找一级任务下的二级任务 - List secondNormalTaskList = taskDetailDao.selectNormalTaskListByPM(projectId,firstTaskDetail.getId(),startTime,endTime); - if(CollectionUtil.isNotEmpty(secondNormalTaskList)){ - TaskUtil.Task task = TaskUtil.splitTask(secondNormalTaskList,startTime,endTime,process); - if(CollectionUtil.isNotEmpty(task.getGlobalTask())){ - for(TaskVo.NormalTask global:task.getGlobalTask()){ - globalTask = new TaskVo.GlobalTask(); - BeanUtil.copyProperties(global,globalTask); - globalTaskList.add(globalTask); - } - } - if(CollectionUtil.isNotEmpty(task.getCommonTask())){ - normalTask.setSecondTasks(new ArrayList<>()); - normalTask.getSecondTasks().addAll(task.getCommonTask()); - } - } -// if(CollectionUtil.isNotEmpty(normalTask.getSecondTasks())) { - normalTaskList.add(normalTask); - sequence++; -// } - } - } - TaskVo.PageInfo pageInfo = new TaskVo.PageInfo(); - pageInfo.setTotalPage(page); - pageInfo.setCurrentPage(page); - - proTaskInfo.setPageInfo(pageInfo); - proTaskInfo.setGlobalTaskList(globalTaskList); - proTaskInfo.setNormalTaskList(normalTaskList); - return proTaskInfo; - } - /** - * 查看任务 项目成员 - */ - private TaskVo.ProTaskInfo getTaskInfoByProjectIdAndRoleId(Long currentUserId, Long projectId, Long roleId, Long startTime, Long endTime, Integer process, Integer page, Integer pageSize) { - TaskVo.ProTaskInfo proTaskInfo = new TaskVo.ProTaskInfo(); - List globalTaskList = new ArrayList<>(); - List normalTaskList = new ArrayList<>(); - TaskVo.GlobalTask globalTask = null; - //获取“全体成员”角色 - ProRole allMember = proRoleService.getAllMember(projectId); - Long allMemberId = null; - if(ObjectUtil.isNotNull(allMember)) { - allMemberId = allMember.getId(); - } - //查找该角色的所有任务(全体成员的任务也是这个角色的任务) - List secondTaskVoList = taskDetailDao.selectTaskByRoleAndAllMembers(projectId, roleId, allMemberId,startTime,endTime); - if(CollectionUtil.isNotEmpty(secondTaskVoList)){ - TaskUtil.Task task = TaskUtil.splitTask(secondTaskVoList,startTime,endTime,process); - if(CollectionUtil.isNotEmpty(task.getGlobalTask())){ - for(TaskVo.NormalTask global:task.getGlobalTask()){ - globalTask = new TaskVo.GlobalTask(); - BeanUtil.copyProperties(global,globalTask); - globalTaskList.add(globalTask); - } - } - if(CollectionUtil.isNotEmpty(task.getCommonTask())){ - normalTaskList = sortTaskTime(task.getCommonTask()); - } - } - - //2.业务层分页 - List theNormalTaskList = null; - int totalPages = 1; - if (CollectionUtil.isNotEmpty(normalTaskList)) { - //1.计算分页条件 - if (page > 0) { - int size = normalTaskList.size(); - totalPages = size / pageSize + 1; - int num = pageSize; - int startIndex = pageSize * (page - 1); - if (startIndex >= size) { - startIndex = -1; - } else { - if (startIndex + num > size) { - num = size - startIndex; - } - } - //拷贝分页数据 - if (startIndex >= 0) { - theNormalTaskList = CollectionUtil.newArrayList(); - for (int i = startIndex; i < startIndex + num; i++) { - theNormalTaskList.add(normalTaskList.get(i)); - } - } - } else { //不分页 - page = 1; - theNormalTaskList = CollectionUtil.newArrayList(normalTaskList); - } - } - TaskVo.PageInfo pageInfo = new TaskVo.PageInfo(); - pageInfo.setTotalPage(totalPages); - pageInfo.setCurrentPage(page); - - proTaskInfo.setPageInfo(pageInfo); - proTaskInfo.setGlobalTaskList(globalTaskList); - proTaskInfo.setNormalTaskList(theNormalTaskList); - return proTaskInfo; - } - private List sortTaskTime(List commonTask) { - List normalTaskList = new ArrayList<>(); - List secondTaskVoList = null; - Set longSet = new HashSet<>(); - List timeList = new ArrayList<>(); - if (CollectionUtil.isNotEmpty(commonTask)) { - for (TaskVo.NormalTask secondTaskVo : commonTask) { - longSet.add(secondTaskVo.getBeginTime()); - longSet.add(secondTaskVo.getEndTime()); - } - timeList.addAll(longSet); - for (int i = 0; i < timeList.size(); i++) { - for (int j = 0; j < timeList.size() - i - 1; j++) { - if (timeList.get(j) > timeList.get(j + 1)) { - Long r = timeList.get(j); - timeList.set(j, timeList.get(j + 1)); - timeList.set(j + 1, r); - } - } - } - int sequence = 1; - for (int i = 0; i < timeList.size() - 1; i++) { - TaskVo.NormalTask normalTask = null; - secondTaskVoList = new ArrayList<>(); - Long startTime = timeList.get(i); - Long endTime = timeList.get(i + 1); - - for (TaskVo.NormalTask secondTaskVo : commonTask) { - if(secondTaskVo.getTimeStatus() == 1){ - if(secondTaskVo.getBeginTime().longValue() == startTime.longValue()) { - normalTask = new TaskVo.NormalTask(); - BeanUtil.copyProperties(secondTaskVo, normalTask); - normalTask.setEndTime(null); - normalTask.setSequence(sequence); - sequence++; - normalTaskList.add(normalTask); - } - continue; - } - if(secondTaskVo.getTimeStatus() == 2){ - if(secondTaskVo.getEndTime().longValue() == endTime.longValue()) { - normalTask = new TaskVo.NormalTask(); - BeanUtil.copyProperties(secondTaskVo, normalTask); - normalTask.setBeginTime(null); - normalTask.setSequence(sequence); - sequence++; - normalTaskList.add(normalTask); - } - continue; - } - if (secondTaskVo.getBeginTime() < startTime && secondTaskVo.getEndTime() <= endTime && secondTaskVo.getEndTime() > startTime) { - secondTaskVo.setBeginTime(startTime); - secondTaskVoList.add(secondTaskVo); - } else if (secondTaskVo.getBeginTime() >= startTime && secondTaskVo.getEndTime() <= endTime) { - secondTaskVoList.add(secondTaskVo); - } else if (secondTaskVo.getBeginTime() >= startTime && secondTaskVo.getBeginTime() < endTime && secondTaskVo.getEndTime() > endTime) { - secondTaskVo.setEndTime(endTime); - secondTaskVoList.add(secondTaskVo); - } else if (secondTaskVo.getBeginTime() < startTime && secondTaskVo.getEndTime() > endTime) { - secondTaskVo.setBeginTime(startTime); - secondTaskVo.setEndTime(endTime); - secondTaskVoList.add(secondTaskVo); - } - } - if (CollectionUtil.isNotEmpty(secondTaskVoList)) { - if (secondTaskVoList.size() == 1) { - normalTask = new TaskVo.NormalTask(); - BeanUtil.copyProperties(secondTaskVoList.get(0), normalTask); - normalTask.setSequence(sequence); - sequence++; - normalTaskList.add(normalTask); - } else { - normalTask = new TaskVo.NormalTask(); - normalTask.setBeginTime(startTime); - normalTask.setEndTime(endTime); - normalTask.setSecondTasks(secondTaskVoList); - normalTask.setSequence(sequence); - sequence++; - normalTaskList.add(normalTask); - } - } - } - } - return normalTaskList; - } - - /** - * 点击MVP查看交付物 - */ - private TaskVo.ProTaskInfoByMVP getTaskInfoByMvp( Long projectId, Integer page, Integer pageSize) { - TaskVo.PageInfo pageInfo = new TaskVo.PageInfo(); - TaskVo.ProTaskInfoByMVP proTaskInfoByMVP = new TaskVo.ProTaskInfoByMVP(); - List taskDeliverByMVPList = new ArrayList<>(); - TaskVo.TaskDeliverByMVP taskDeliverByMVP = null; - List firstTasks =new ArrayList<>(); - TaskVo.FirstTask firstProTask = null; - //查找项目下的一级任务 - ProTaskDetailExample firstTaskExample = new ProTaskDetailExample(); - firstTaskExample.createCriteria().andProjectIdEqualTo(projectId).andVirtualEqualTo((byte) WebConstant.TASK_VIRTUAL.Normal.value).andParentIdEqualTo(0L); - List firstTaskList = taskDetailDao.selectByExample(firstTaskExample); - if(CollectionUtil.isNotEmpty(firstTaskList)){ - for(ProTaskDetail firstTask:firstTaskList){ - taskDeliverByMVPList = new ArrayList<>(); - //查找项目下所有的二级任务 - ProTaskDetailExample taskExample = new ProTaskDetailExample(); - taskExample.createCriteria().andProjectIdEqualTo(projectId).andVirtualEqualTo((byte) WebConstant.TASK_VIRTUAL.Normal.value).andParentIdEqualTo(firstTask.getId()); - List taskList = taskDetailDao.selectByExample(taskExample); - if (CollectionUtil.isNotEmpty(taskList)) { - for (ProTaskDetail task : taskList) { - - taskDeliverByMVP = new TaskVo.TaskDeliverByMVP(); - taskDeliverByMVP.setId(task.getId()); - taskDeliverByMVP.setName(task.getName()); - //负责人信息 - TaskVo.RoleCheckList roleCheckList = proRoleService.selectRoleByCheckOrExecutor(task.getExecutorRole()); - if (ObjectUtil.isNotNull(roleCheckList)) { - List roleCheckListList = new ArrayList<>(); - if (roleCheckList.getName().equals(WebConstant.ROLE_NAME.AllMember.phase)) { - roleCheckListList = proRoleDao.findAll(projectId); - } else { - roleCheckListList.add(roleCheckList); - } - taskDeliverByMVP.setRoles(roleCheckListList); - } - //检查人信息 - taskDeliverByMVP.setChecker(proRoleService.selectRoleByCheckOrExecutor(task.getCheckerRole())); - //查找任务下的交付物 - taskDeliverByMVP.setDelivers(taskDeliverService.selectDeliverOrInputByTask(task.getId(), 0)); - //查找任务的输入文档 - taskDeliverByMVP.setInputs(taskDeliverService.selectDeliverOrInputByTask(task.getId(), 1)); - - taskDeliverByMVPList.add(taskDeliverByMVP); - } - } - firstProTask = new TaskVo.FirstTask(); - firstProTask.setId(firstTask.getId()); - firstProTask.setName(firstTask.getName()); - firstProTask.setTaskDeliverByMVP(taskDeliverByMVPList); - firstTasks.add(firstProTask); - } - } - - proTaskInfoByMVP.setFirstTaskList(firstTasks); - return proTaskInfoByMVP; - } - - /** - *通过任务id查任务详情 - */ - @Override - public TaskVo.NormalTask getTaskInfoByTaskId(Long currentUserId, Long projectId, Long taskId) throws Exception { - ProTaskSubTime subTime = taskSubTimeDao.selectByPrimaryKey(taskId); - TaskVo.NormalTask taskDetail = null; - if(ObjectUtil.isNotNull(subTime)) { - taskDetail = taskDetailDao.selectTaskByTaskId(projectId, subTime.getTaskDetailId()); - //添加项目信息和插件信息 - normalTaskAddPlugin(currentUserId,subTime.getTaskDetailId(),taskDetail); - if (ObjectUtil.isNotNull(taskDetail)) { - List groupTaskList = new ArrayList<>(); - groupTaskList = taskDetailDao.selectTaskByParentId(projectId, taskDetail.getDetailId()); - if (CollectionUtil.isNotEmpty(groupTaskList)) { - taskDetail.setSecondTasks(new ArrayList<>()); - taskDetail.getSecondTasks().addAll(groupTaskList); - } - } - } - return taskDetail; - } - private void normalTaskAddPlugin(Long userId,Long taskId,TaskVo.NormalTask normalTask) throws Exception { - ProTaskDetail task = taskDetailDao.selectByPrimaryKey(taskId); - //添加项目信息 - SysProject project = sysProjectDao.selectByPrimaryKey(task.getProjectId()); - if(ObjectUtil.isNotNull(project)){ - normalTask.setProjectId(project.getId()); - normalTask.setProjectName(project.getName()); - } - ProRole role = proRoleDao.selectByPrimaryKey(normalTask.getExecutorRole()); - if(ObjectUtil.isNotNull(role)){ - normalTask.setExecutorRoleName(role.getName()); - } - //添加插件 - List pluginVoList = pluginService.getPluginByTask(task.getId(),userId); - normalTask.setPlugins(new ArrayList<>()); - normalTask.getPlugins().addAll(pluginVoList); - } - - - /** - * 任务清单 - */ - @Override - public TaskVo.TaskCheckList selectTaskList(Long currentUserId, String key, String start, String end, - String role, Integer page, Integer pageSize) throws Exception { - TaskVo.TaskCheckList taskCheckList = new TaskVo.TaskCheckList(); - List normalTaskList = new ArrayList<>(); - TaskVo.PageInfo pageInfo = new TaskVo.PageInfo(); - - //获取日期的开始结束时间 - Long startMillisTime = null; - Long endMillisTime = null; - Map timeMap = null; - if(StrUtil.isNotEmpty(start)){ - timeMap = DateUtil.projectFormatDateTime(start); - startMillisTime = timeMap.get("startMillisTime"); - } - if(StrUtil.isNotEmpty(end)){ - timeMap = DateUtil.projectFormatDateTime(start); - endMillisTime = timeMap.get("endMillisTime"); - } - //获取该用户关注的项目 - List projectList = attentionService.findProjectIdByUserId(currentUserId); - if(CollectionUtil.isNotEmpty(projectList)){ - if(StrUtil.isNotEmpty(role)) { - switch (role) { - case "创建者": - for (SysProject project : projectList) { - if (project.getCreatorId().longValue() == currentUserId.longValue()) { - List taskList = getTaskInfoByProjectIdAndUserId(project, currentUserId, startMillisTime, endMillisTime); - if (CollectionUtil.isNotEmpty(taskList)) { - normalTaskList.addAll(taskList); - } - } - } - break; - case "参与者": - for (SysProject project : projectList) { - if (project.getCreatorId().longValue() != currentUserId.longValue()) { - List taskList = getTaskInfoByProjectIdAndUserId(project, currentUserId, startMillisTime, endMillisTime); - if (CollectionUtil.isNotEmpty(taskList)) { - normalTaskList.addAll(taskList); - } - } - } - break; - default: - break; - } - }else { - for (SysProject project : projectList) { - List taskList = getTaskInfoByProjectIdAndUserId(project, currentUserId, startMillisTime, endMillisTime); - if (CollectionUtil.isNotEmpty(taskList)) { - normalTaskList.addAll(taskList); - } - } - } - } - //关键词模糊搜索 - if (StrUtil.isNotEmpty(key)) { - if (CollectionUtil.isNotEmpty(normalTaskList)) { - Iterator it = normalTaskList.iterator(); - while (it.hasNext()) { - TaskVo.NormalTask normalTask = it.next(); - if (!normalTask.getName().contains(key)) { - it.remove(); - } - } - } - } - - //业务分页 - List theNormalList = null; - int totalPages = 1; - if (CollectionUtil.isNotEmpty(normalTaskList)) { - //1.计算分页条件 - if (page > 0) { - int size = normalTaskList.size(); - totalPages = size / pageSize + 1; - int num = pageSize; - int startIndex = pageSize * (page - 1); - if (startIndex >= size) { - startIndex = -1; - } else { - if (startIndex + num > size) { - num = size - startIndex; - } - } - //拷贝分页数据 - if (startIndex >= 0) { - theNormalList = CollectionUtil.newArrayList(); - for (int i = startIndex; i < startIndex + num; i++) { - theNormalList.add(normalTaskList.get(i)); - } - } - } else { //不分页 - theNormalList = CollectionUtil.newArrayList(normalTaskList); - } - } - pageInfo.setCurrentPage(page); - pageInfo.setTotalPage(totalPages); - - taskCheckList.setNormalTaskList(theNormalList); - taskCheckList.setPageInfo(pageInfo); - return taskCheckList; - } - private List getTaskInfoByProjectIdAndUserId(SysProject project,Long userId, - Long startTime,Long endTime){ - List normalTaskList = new ArrayList<>(); - //获取用户的角色 - List roleList = proRoleService.getProRoleByProjectIdAndUserId(project.getId(),userId); - //获取“全体成员”角色 - ProRole allMember = proRoleService.getAllMember(project.getId()); - Long allMemberId = null; - if(ObjectUtil.isNotNull(allMember)) { - allMemberId = allMember.getId(); - } - if(CollectionUtil.isNotEmpty(roleList)) { - for(ProRole role:roleList) { - SysProject sysProject = sysProjectDao.selectByPrimaryKey(role.getProjectId()); - List taskList = - taskDetailDao.selectTaskByRoleAndAllMembers(project.getId(), role.getId(), allMemberId, startTime, endTime); - if(CollectionUtil.isNotEmpty(taskList)) { - for(TaskVo.NormalTask normalTask:taskList){ - ProRole proRole = proRoleDao.selectByPrimaryKey(normalTask.getExecutorRole()); - if(ObjectUtil.isNotNull(sysProject)) { - normalTask.setProjectId(sysProject.getId()); - normalTask.setProjectName(sysProject.getName()); - } - if(ObjectUtil.isNotNull(proRole)){ - normalTask.setExecutorRoleName(proRole.getName()); - } - } - normalTaskList.addAll(taskList); - } - } - } - return normalTaskList; - } - - /** - * 项目内的任务清单 - * - */ - @Override - public TaskVo.TaskCheckList selectTaskListByProject(Long projectId, Long currentUserId, Integer page, Integer pageSize, - String key, String start, String end, Long roleId) throws Exception { - TaskVo.TaskCheckList taskCheckList = new TaskVo.TaskCheckList(); - List normalTaskList = new ArrayList<>(); - TaskVo.PageInfo pageInfo = new TaskVo.PageInfo(); - - //获取日期的开始结束时间 - Long startMillisTime = null; - Long endMillisTime = null; - Map timeMap = null; - if(StrUtil.isNotEmpty(start)){ - timeMap = DateUtil.projectFormatDateTime(start); - startMillisTime = timeMap.get("startMillisTime"); - } - if(StrUtil.isNotEmpty(end)){ - timeMap = DateUtil.projectFormatDateTime(start); - endMillisTime = timeMap.get("endMillisTime"); - } - //获取项目 - SysProject sysProject = sysProjectDao.selectByPrimaryKey(projectId); - if(ObjectUtil.isNotNull(sysProject)) { - List taskList = getTaskInfoByProjectIdAndUserId(sysProject, currentUserId, startMillisTime, endMillisTime); - if (CollectionUtil.isNotEmpty(taskList)) { - normalTaskList.addAll(taskList); - } - } - //关键词模糊搜索 - if (StrUtil.isNotEmpty(key)) { - if (CollectionUtil.isNotEmpty(normalTaskList)) { - Iterator it = normalTaskList.iterator(); - while (it.hasNext()) { - TaskVo.NormalTask normalTask = it.next(); - if (!normalTask.getName().contains(key)) { - it.remove(); - } - } - } - } - //业务分页 - List theNormalList = null; - int totalPages = 1; - if (CollectionUtil.isNotEmpty(normalTaskList)) { - //1.计算分页条件 - if (page > 0) { - int size = normalTaskList.size(); - totalPages = size / pageSize + 1; - int num = pageSize; - int startIndex = pageSize * (page - 1); - if (startIndex >= size) { - startIndex = -1; - } else { - if (startIndex + num > size) { - num = size - startIndex; - } - } - //拷贝分页数据 - if (startIndex >= 0) { - theNormalList = CollectionUtil.newArrayList(); - for (int i = startIndex; i < startIndex + num; i++) { - theNormalList.add(normalTaskList.get(i)); - } - } - } else { //不分页 - theNormalList = CollectionUtil.newArrayList(normalTaskList); - } - } - pageInfo.setCurrentPage(page); - pageInfo.setTotalPage(totalPages); - - taskCheckList.setNormalTaskList(theNormalList); - taskCheckList.setPageInfo(pageInfo); - return taskCheckList; - } - - /** - * 任务模糊搜索 - */ - @Override - public List getTaskDetailByKey(Long currentUserId, Long projectId, String key) { - List taskDetailByKeyList = taskDetailDao.selectTaskByKey(currentUserId,projectId,key); - return taskDetailByKeyList; - } - - /** - * 查询子任务最早的一条 - */ - @Override - public TaskVo.NormalTask selectTaskByParentId(Long parentId,Long startTime, Long endTime){ - TaskVo.NormalTask normalTask = taskDetailDao.selectTaskByParentIdAndTime(parentId,startTime,endTime); - return normalTask; - } - - //=================================================================== - - /** - * 删除角色下的所有任务相关(taskDetail,taskSubTime,taskMember,plugin) - * @param roleId - */ - @Override - public void deleteTaskByRoleId(Long roleId) { -// taskDetailDao.deleteTaskByRoleId(roleId); - } - - /** - * 删除任务和所有相关信息 - */ - private void deleteTaskById(Long taskId){ - //删除交付物 - taskDeliverService.deleteDeliverByTaskId(taskId); - } -} +package com.ccsens.tall.service; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.ccsens.tall.bean.po.*; +import com.ccsens.tall.bean.vo.TaskVo; +import com.ccsens.tall.persist.dao.*; +import com.ccsens.tall.util.TaskUtil; +import com.ccsens.util.CodeEnum; +import com.ccsens.util.DateUtil; +import com.ccsens.util.WebConstant; +import com.ccsens.util.exception.BaseException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; + + +@Service +@Transactional(propagation = Propagation.REQUIRED) +public class ProTaskDetailService implements IProTaskDetailService { + @Autowired + private IProRoleService proRoleService; + @Autowired + private ITaskDeliverService taskDeliverService; + @Autowired + private IUserAttentionService attentionService; + @Autowired + private ITaskPluginService pluginService; + @Autowired + private IProMemberService proMemberService; + @Autowired + private TaskDetailDao taskDetailDao; + @Autowired + private TaskSubTimeDao taskSubTimeDao; + @Autowired + private TaskMemberDao taskMemberDao; + @Autowired + private ProSubTimeMemberDao proSubTimeMemberDao; + @Autowired + private ProRoleDao proRoleDao; + @Autowired + private ProMemberDao proMemberDao; + @Autowired + private SysProjectDao sysProjectDao; + + @Override + public void saveTaskDetail(ProTaskDetail taskDetail) { + taskDetailDao.insertSelective(taskDetail); + } + + @Override + public Object getTasksByRoleId(Long currentUserId, Long projectId, Long roleId, Long startTime, Long endTime, Integer process, Integer page, Integer pageSize) throws Exception { + SysProject sysProject = sysProjectDao.selectByPrimaryKey(projectId); + if(ObjectUtil.isNull(sysProject)){ + throw new BaseException(CodeEnum.NOT_PROJECT); + } + startTime = startTime == null ? sysProject.getBeginTime() : startTime; + endTime = endTime == null ? sysProject.getEndTime() : endTime; + + Object obj = null; + ProRole role = proRoleDao.selectByPrimaryKey(roleId); + if(ObjectUtil.isNull(role)){ + throw new BaseException(CodeEnum.NOT_ROLE); + } + ProRole parentRole = proRoleDao.selectByPrimaryKey(role.getParentId()); + if(ObjectUtil.isNull(parentRole)){ + throw new BaseException(CodeEnum.NOT_ROLE); + } + if(ObjectUtil.isNotNull(role)) { + if (role.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.MVP.value)) { + obj = getTaskInfoByMvp(projectId, page, pageSize); + } else if (parentRole.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.PM.value)) { + obj = getTaskInfoByProjectIdAndPM(currentUserId,projectId, startTime, endTime, process, page, pageSize); + } else if (parentRole.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.Member.value)) { + obj = getTaskInfoByProjectIdAndRoleId(currentUserId, projectId, roleId, startTime, endTime, process, page, pageSize); + } + }else { + throw new BaseException(CodeEnum.NOT_ROLE); + } + return obj; + } + + /** + * 查看任务 项目经理 + */ + private TaskVo.ProTaskInfo getTaskInfoByProjectIdAndPM(Long currentUserId, Long projectId, Long startTime, Long endTime, Integer process, Integer page, Integer pageSize) throws Exception { + TaskVo.ProTaskInfo proTaskInfo = new TaskVo.ProTaskInfo(); + List globalTaskList = new ArrayList<>(); + List normalTaskList = new ArrayList<>(); + TaskVo.GlobalTask globalTask = null; + TaskVo.NormalTask normalTask = null; + //1、查找一级任务 + SysProject project = sysProjectDao.selectByPrimaryKey(projectId); + if(endTime < project.getBeginTime() || startTime > project.getEndTime()){ + return proTaskInfo; + } + ProTaskDetailExample proTaskDetailExample = new ProTaskDetailExample(); + proTaskDetailExample.createCriteria().andProjectIdEqualTo(projectId).andLevelEqualTo((byte) 1); + List firstTaskDetailList = taskDetailDao.selectByExample(proTaskDetailExample); + if(CollectionUtil.isNotEmpty(firstTaskDetailList)){ + int sequence = 1; + for(ProTaskDetail firstTaskDetail:firstTaskDetailList){ + normalTask = new TaskVo.NormalTask(); + BeanUtil.copyProperties(firstTaskDetail,normalTask); + normalTask.setDetailId(firstTaskDetail.getId()); + normalTask.setId(null); + normalTask.setSequence(sequence); + //查找一级任务下的二级任务 + List secondNormalTaskList = taskDetailDao.selectNormalTaskListByPM(projectId,firstTaskDetail.getId(),startTime,endTime); + if(CollectionUtil.isNotEmpty(secondNormalTaskList)){ + for(TaskVo.NormalTask task:secondNormalTaskList){ + ProSubTimeMember subTimeMember = getProcessByUserIdAndTask(currentUserId,task.getId()); + if(ObjectUtil.isNotNull(subTimeMember)){ + task.setRealEndTime(subTimeMember.getRealFinishTime()); + task.setProcess(subTimeMember.getComplatedStatus()); + } + } + TaskUtil.Task task = TaskUtil.splitTask(secondNormalTaskList,startTime,endTime,process); + if(CollectionUtil.isNotEmpty(task.getGlobalTask())){ + for(TaskVo.NormalTask global:task.getGlobalTask()){ + globalTask = new TaskVo.GlobalTask(); + BeanUtil.copyProperties(global,globalTask); + globalTaskList.add(globalTask); + } + } + if(CollectionUtil.isNotEmpty(task.getCommonTask())){ + normalTask.setSecondTasks(new ArrayList<>()); + normalTask.getSecondTasks().addAll(task.getCommonTask()); + } + } +// if(CollectionUtil.isNotEmpty(normalTask.getSecondTasks())) { + normalTaskList.add(normalTask); + sequence++; +// } + } + } + TaskVo.PageInfo pageInfo = new TaskVo.PageInfo(); + pageInfo.setTotalPage(page); + pageInfo.setCurrentPage(page); + + proTaskInfo.setPageInfo(pageInfo); + proTaskInfo.setGlobalTaskList(globalTaskList); + proTaskInfo.setNormalTaskList(normalTaskList); + return proTaskInfo; + } + /** + * 查看任务 项目成员 + */ + private TaskVo.ProTaskInfo getTaskInfoByProjectIdAndRoleId(Long currentUserId, Long projectId, Long roleId, Long startTime, Long endTime, Integer process, Integer page, Integer pageSize) throws Exception { + TaskVo.ProTaskInfo proTaskInfo = new TaskVo.ProTaskInfo(); + List globalTaskList = new ArrayList<>(); + List normalTaskList = new ArrayList<>(); + TaskVo.GlobalTask globalTask = null; + //获取“全体成员”角色 + ProRole allMember = proRoleService.getAllMember(projectId); + Long allMemberId = null; + if(ObjectUtil.isNotNull(allMember)) { + allMemberId = allMember.getId(); + } + //查找该角色的所有任务(全体成员的任务也是这个角色的任务) + List secondTaskVoList = taskDetailDao.selectTaskByRoleAndAllMembers(projectId, roleId, allMemberId,startTime,endTime); + if(CollectionUtil.isNotEmpty(secondTaskVoList)){ + for(TaskVo.NormalTask normalTask:secondTaskVoList){ + ProSubTimeMember subTimeMember = getProcessByUserIdAndTask(currentUserId,normalTask.getId()); + if(ObjectUtil.isNotNull(subTimeMember)){ + normalTask.setProcess(subTimeMember.getComplatedStatus()); + normalTask.setRealEndTime(subTimeMember.getRealFinishTime()); + } + } + TaskUtil.Task task = TaskUtil.splitTask(secondTaskVoList,startTime,endTime,process); + if(CollectionUtil.isNotEmpty(task.getGlobalTask())){ + for(TaskVo.NormalTask global:task.getGlobalTask()){ + globalTask = new TaskVo.GlobalTask(); + BeanUtil.copyProperties(global,globalTask); + globalTaskList.add(globalTask); + } + } + if(CollectionUtil.isNotEmpty(task.getCommonTask())){ + normalTaskList = sortTaskTime(task.getCommonTask()); + } + } + + //2.业务层分页 + List theNormalTaskList = null; + int totalPages = 1; + if (CollectionUtil.isNotEmpty(normalTaskList)) { + //1.计算分页条件 + if (page > 0) { + int size = normalTaskList.size(); + totalPages = size / pageSize + 1; + int num = pageSize; + int startIndex = pageSize * (page - 1); + if (startIndex >= size) { + startIndex = -1; + } else { + if (startIndex + num > size) { + num = size - startIndex; + } + } + //拷贝分页数据 + if (startIndex >= 0) { + theNormalTaskList = CollectionUtil.newArrayList(); + for (int i = startIndex; i < startIndex + num; i++) { + theNormalTaskList.add(normalTaskList.get(i)); + } + } + } else { //不分页 + page = 1; + theNormalTaskList = CollectionUtil.newArrayList(normalTaskList); + } + } + TaskVo.PageInfo pageInfo = new TaskVo.PageInfo(); + pageInfo.setTotalPage(totalPages); + pageInfo.setCurrentPage(page); + + proTaskInfo.setPageInfo(pageInfo); + proTaskInfo.setGlobalTaskList(globalTaskList); + proTaskInfo.setNormalTaskList(theNormalTaskList); + return proTaskInfo; + } + private List sortTaskTime(List commonTask) { + List normalTaskList = new ArrayList<>(); + List secondTaskVoList = null; + Set longSet = new HashSet<>(); + List timeList = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(commonTask)) { + for (TaskVo.NormalTask secondTaskVo : commonTask) { + longSet.add(secondTaskVo.getBeginTime()); + longSet.add(secondTaskVo.getEndTime()); + } + timeList.addAll(longSet); + for (int i = 0; i < timeList.size(); i++) { + for (int j = 0; j < timeList.size() - i - 1; j++) { + if (timeList.get(j) > timeList.get(j + 1)) { + Long r = timeList.get(j); + timeList.set(j, timeList.get(j + 1)); + timeList.set(j + 1, r); + } + } + } + int sequence = 1; + for (int i = 0; i < timeList.size() - 1; i++) { + TaskVo.NormalTask normalTask = null; + secondTaskVoList = new ArrayList<>(); + Long startTime = timeList.get(i); + Long endTime = timeList.get(i + 1); + + for (TaskVo.NormalTask secondTaskVo : commonTask) { + if(secondTaskVo.getTimeStatus() == 1){ + if(secondTaskVo.getBeginTime().longValue() == startTime.longValue()) { + normalTask = new TaskVo.NormalTask(); + BeanUtil.copyProperties(secondTaskVo, normalTask); + normalTask.setEndTime(null); + normalTask.setSequence(sequence); + sequence++; + normalTaskList.add(normalTask); + } + continue; + } + if(secondTaskVo.getTimeStatus() == 2){ + if(secondTaskVo.getEndTime().longValue() == endTime.longValue()) { + normalTask = new TaskVo.NormalTask(); + BeanUtil.copyProperties(secondTaskVo, normalTask); + normalTask.setBeginTime(null); + normalTask.setSequence(sequence); + sequence++; + normalTaskList.add(normalTask); + } + continue; + } + if (secondTaskVo.getBeginTime() < startTime && secondTaskVo.getEndTime() <= endTime && secondTaskVo.getEndTime() > startTime) { + secondTaskVo.setBeginTime(startTime); + secondTaskVoList.add(secondTaskVo); + } else if (secondTaskVo.getBeginTime() >= startTime && secondTaskVo.getEndTime() <= endTime) { + secondTaskVoList.add(secondTaskVo); + } else if (secondTaskVo.getBeginTime() >= startTime && secondTaskVo.getBeginTime() < endTime && secondTaskVo.getEndTime() > endTime) { + secondTaskVo.setEndTime(endTime); + secondTaskVoList.add(secondTaskVo); + } else if (secondTaskVo.getBeginTime() < startTime && secondTaskVo.getEndTime() > endTime) { + secondTaskVo.setBeginTime(startTime); + secondTaskVo.setEndTime(endTime); + secondTaskVoList.add(secondTaskVo); + } + } + if (CollectionUtil.isNotEmpty(secondTaskVoList)) { + if (secondTaskVoList.size() == 1) { + normalTask = new TaskVo.NormalTask(); + BeanUtil.copyProperties(secondTaskVoList.get(0), normalTask); + normalTask.setSequence(sequence); + sequence++; + normalTaskList.add(normalTask); + } else { + normalTask = new TaskVo.NormalTask(); + normalTask.setBeginTime(startTime); + normalTask.setEndTime(endTime); + normalTask.setSecondTasks(secondTaskVoList); + normalTask.setSequence(sequence); + sequence++; + normalTaskList.add(normalTask); + } + } + } + } + return normalTaskList; + } + + /** + * 点击MVP查看交付物 + */ + private TaskVo.ProTaskInfoByMVP getTaskInfoByMvp(Long projectId, Integer page, Integer pageSize) { + TaskVo.PageInfo pageInfo = new TaskVo.PageInfo(); + TaskVo.ProTaskInfoByMVP proTaskInfoByMVP = new TaskVo.ProTaskInfoByMVP(); + List taskDeliverByMVPList = new ArrayList<>(); + TaskVo.TaskDeliverByMVP taskDeliverByMVP = null; + List firstTasks =new ArrayList<>(); + TaskVo.FirstTask firstProTask = null; + //查找项目下的一级任务 + ProTaskDetailExample firstTaskExample = new ProTaskDetailExample(); + firstTaskExample.createCriteria().andProjectIdEqualTo(projectId).andVirtualEqualTo((byte) WebConstant.TASK_VIRTUAL.Normal.value).andParentIdEqualTo(0L); + List firstTaskList = taskDetailDao.selectByExample(firstTaskExample); + if(CollectionUtil.isNotEmpty(firstTaskList)){ + for(ProTaskDetail firstTask:firstTaskList){ + taskDeliverByMVPList = new ArrayList<>(); + //查找项目下所有的二级任务 + ProTaskDetailExample taskExample = new ProTaskDetailExample(); + taskExample.createCriteria().andProjectIdEqualTo(projectId).andVirtualEqualTo((byte) WebConstant.TASK_VIRTUAL.Normal.value).andParentIdEqualTo(firstTask.getId()); + List taskList = taskDetailDao.selectByExample(taskExample); + if (CollectionUtil.isNotEmpty(taskList)) { + for (ProTaskDetail task : taskList) { + + taskDeliverByMVP = new TaskVo.TaskDeliverByMVP(); + taskDeliverByMVP.setId(task.getId()); + taskDeliverByMVP.setName(task.getName()); + //负责人信息 + TaskVo.RoleCheckList roleCheckList = proRoleService.selectRoleByCheckOrExecutor(task.getExecutorRole()); + if (ObjectUtil.isNotNull(roleCheckList)) { + List roleCheckListList = new ArrayList<>(); + if (roleCheckList.getName().equals(WebConstant.ROLE_NAME.AllMember.phase)) { + roleCheckListList = proRoleDao.findAll(projectId); + } else { + roleCheckListList.add(roleCheckList); + } + taskDeliverByMVP.setRoles(roleCheckListList); + } + //检查人信息 + taskDeliverByMVP.setChecker(proRoleService.selectRoleByCheckOrExecutor(task.getCheckerRole())); + //查找任务下的交付物 + taskDeliverByMVP.setDelivers(taskDeliverService.selectDeliverOrInputByTask(task.getId(), 0)); + //查找任务的输入文档 + taskDeliverByMVP.setInputs(taskDeliverService.selectDeliverOrInputByTask(task.getId(), 1)); + + taskDeliverByMVPList.add(taskDeliverByMVP); + } + } + firstProTask = new TaskVo.FirstTask(); + firstProTask.setId(firstTask.getId()); + firstProTask.setName(firstTask.getName()); + firstProTask.setTaskDeliverByMVP(taskDeliverByMVPList); + firstTasks.add(firstProTask); + } + } + + proTaskInfoByMVP.setFirstTaskList(firstTasks); + return proTaskInfoByMVP; + } + + /** + *通过任务id查任务详情 + */ + @Override + public TaskVo.NormalTask getTaskInfoByTaskId(Long currentUserId, Long projectId, Long taskId) throws Exception { + ProTaskSubTime subTime = taskSubTimeDao.selectByPrimaryKey(taskId); + TaskVo.NormalTask taskDetail = null; + if(ObjectUtil.isNotNull(subTime)) { + taskDetail = taskDetailDao.selectTaskByTaskId(subTime.getId(),subTime.getTaskDetailId()); + //修改任务的完成状态 + ProSubTimeMember subTimeMember = getProcessByUserIdAndTask(currentUserId,taskDetail.getId()); + if(ObjectUtil.isNotNull(subTimeMember)){ + taskDetail.setProcess(subTimeMember.getComplatedStatus()); + taskDetail.setRealEndTime(subTimeMember.getRealFinishTime()); + } + //添加项目信息和插件信息 + normalTaskAddPlugin(currentUserId,subTime.getTaskDetailId(),taskDetail); + if (ObjectUtil.isNotNull(taskDetail)) { + List groupTaskList = new ArrayList<>(); + groupTaskList = taskDetailDao.selectTaskByParentId(projectId, taskDetail.getDetailId()); + if (CollectionUtil.isNotEmpty(groupTaskList)) { + for(TaskVo.NormalTask groupTask:groupTaskList){ + //修改任务的完成状态 + ProSubTimeMember proSubTimeMember = getProcessByUserIdAndTask(currentUserId,groupTask.getId()); + if(ObjectUtil.isNotNull(proSubTimeMember)){ + groupTask.setProcess(proSubTimeMember.getComplatedStatus()); + groupTask.setRealEndTime(proSubTimeMember.getRealFinishTime()); + } + //添加项目信息和插件信息 + normalTaskAddPlugin(currentUserId,groupTask.getDetailId(),groupTask); + //修改返回时子任务的名字(“任务名+(xx和XX)”) + ProTaskDetail proTaskDetail = taskDetailDao.selectByPrimaryKey(groupTask.getDetailId()); + if(proTaskDetail.getAllMember()==0){ + groupTask.setName(updateSubTaskName(groupTask.getDetailId(),groupTask.getName())); + } + + } + taskDetail.setSecondTasks(new ArrayList<>()); + taskDetail.getSecondTasks().addAll(groupTaskList); + } + } + } + return taskDetail; + } + private void normalTaskAddPlugin(Long userId,Long taskId,TaskVo.NormalTask normalTask) throws Exception { + ProTaskDetail task = taskDetailDao.selectByPrimaryKey(taskId); + //添加项目信息 + SysProject project = sysProjectDao.selectByPrimaryKey(task.getProjectId()); + if(ObjectUtil.isNotNull(project)){ + normalTask.setProjectId(project.getId()); + normalTask.setProjectName(project.getName()); + } + ProRole role = proRoleDao.selectByPrimaryKey(normalTask.getExecutorRole()); + if(ObjectUtil.isNotNull(role)){ + normalTask.setExecutorRoleName(role.getName()); + } + //添加插件 + List pluginVoList = pluginService.getPluginByTask(task.getId(),userId); + normalTask.setPlugins(new ArrayList<>()); + normalTask.getPlugins().addAll(pluginVoList); + } + /** + * 修改返回时子任务的名字 格式:“任务名+(xx和XX)” + */ + private String updateSubTaskName(Long taskId,String taskName){ + String name = taskName + "("; + ProTaskMemberExample taskMemberExample = new ProTaskMemberExample(); + taskMemberExample.createCriteria().andTaskDetailIdEqualTo(taskId); + List taskMemberList = taskMemberDao.selectByExample(taskMemberExample); + if(CollectionUtil.isNotEmpty(taskMemberList)){ + for(int i = 0;i < taskMemberList.size();i++){ + ProMember member = proMemberDao.selectByPrimaryKey(taskMemberList.get(i).getMemberId()); + if(ObjectUtil.isNotNull(member)){ + name += member.getNickname(); + if(i != taskMemberList.size()-1){ + name += "和"; + } + } + } + } + name = name + ")"; + return name; + } + + /** + * 任务清单 + */ + @Override + public TaskVo.TaskCheckList selectTaskList(Long currentUserId, String key, String start, String end, + String role, Integer page, Integer pageSize) throws Exception { + TaskVo.TaskCheckList taskCheckList = new TaskVo.TaskCheckList(); + List normalTaskList = new ArrayList<>(); + TaskVo.PageInfo pageInfo = new TaskVo.PageInfo(); + + //获取日期的开始结束时间 + Long startMillisTime = null; + Long endMillisTime = null; + Map timeMap = null; + if(StrUtil.isNotEmpty(start)){ + timeMap = DateUtil.projectFormatDateTime(start); + startMillisTime = timeMap.get("startMillisTime"); + } + if(StrUtil.isNotEmpty(end)){ + timeMap = DateUtil.projectFormatDateTime(start); + endMillisTime = timeMap.get("endMillisTime"); + } + //获取该用户关注的项目 + List projectList = attentionService.findProjectIdByUserId(currentUserId); + if(CollectionUtil.isNotEmpty(projectList)){ + if(StrUtil.isNotEmpty(role)) { + switch (role) { + case "创建者": + for (SysProject project : projectList) { + if (project.getCreatorId().longValue() == currentUserId.longValue()) { + List taskList = getTaskInfoByProjectIdAndUserId(project, currentUserId, startMillisTime, endMillisTime); + if (CollectionUtil.isNotEmpty(taskList)) { + normalTaskList.addAll(taskList); + } + } + } + break; + case "参与者": + for (SysProject project : projectList) { + if (project.getCreatorId().longValue() != currentUserId.longValue()) { + List taskList = getTaskInfoByProjectIdAndUserId(project, currentUserId, startMillisTime, endMillisTime); + if (CollectionUtil.isNotEmpty(taskList)) { + normalTaskList.addAll(taskList); + } + } + } + break; + default: + break; + } + }else { + for (SysProject project : projectList) { + List taskList = getTaskInfoByProjectIdAndUserId(project, currentUserId, startMillisTime, endMillisTime); + if (CollectionUtil.isNotEmpty(taskList)) { + normalTaskList.addAll(taskList); + } + } + } + } + //关键词模糊搜索 + if (StrUtil.isNotEmpty(key)) { + if (CollectionUtil.isNotEmpty(normalTaskList)) { + Iterator it = normalTaskList.iterator(); + while (it.hasNext()) { + TaskVo.NormalTask normalTask = it.next(); + if (!normalTask.getName().contains(key)) { + it.remove(); + } + } + } + } + + //业务分页 + List theNormalList = null; + int totalPages = 1; + if (CollectionUtil.isNotEmpty(normalTaskList)) { + //1.计算分页条件 + if (page > 0) { + int size = normalTaskList.size(); + totalPages = size / pageSize + 1; + int num = pageSize; + int startIndex = pageSize * (page - 1); + if (startIndex >= size) { + startIndex = -1; + } else { + if (startIndex + num > size) { + num = size - startIndex; + } + } + //拷贝分页数据 + if (startIndex >= 0) { + theNormalList = CollectionUtil.newArrayList(); + for (int i = startIndex; i < startIndex + num; i++) { + theNormalList.add(normalTaskList.get(i)); + } + } + } else { //不分页 + theNormalList = CollectionUtil.newArrayList(normalTaskList); + } + } + pageInfo.setCurrentPage(page); + pageInfo.setTotalPage(totalPages); + + taskCheckList.setNormalTaskList(theNormalList); + taskCheckList.setPageInfo(pageInfo); + return taskCheckList; + } + private List getTaskInfoByProjectIdAndUserId(SysProject project, Long userId, + Long startTime, Long endTime) throws Exception { + List normalTaskList = new ArrayList<>(); + //获取用户的角色 + List roleList = proRoleService.getProRoleByProjectIdAndUserId(project.getId(),userId); + //获取“全体成员”角色 + ProRole allMember = proRoleService.getAllMember(project.getId()); + Long allMemberId = null; + if(ObjectUtil.isNotNull(allMember)) { + allMemberId = allMember.getId(); + } + if(CollectionUtil.isNotEmpty(roleList)) { + for(ProRole role:roleList) { + SysProject sysProject = sysProjectDao.selectByPrimaryKey(role.getProjectId()); + List taskList = + taskDetailDao.selectTaskByRoleAndAllMembers(project.getId(), role.getId(), allMemberId, startTime, endTime); + if(CollectionUtil.isNotEmpty(taskList)) { + for(TaskVo.NormalTask normalTask:taskList){ + //修改任务的完成状态 + ProSubTimeMember proSubTimeMember = getProcessByUserIdAndTask(userId,normalTask.getId()); + if(ObjectUtil.isNotNull(proSubTimeMember)){ + normalTask.setProcess(proSubTimeMember.getComplatedStatus()); + normalTask.setRealEndTime(proSubTimeMember.getRealFinishTime()); + } + ProRole proRole = proRoleDao.selectByPrimaryKey(normalTask.getExecutorRole()); + if(ObjectUtil.isNotNull(sysProject)) { + normalTask.setProjectId(sysProject.getId()); + normalTask.setProjectName(sysProject.getName()); + } + if(ObjectUtil.isNotNull(proRole)){ + normalTask.setExecutorRoleName(proRole.getName()); + } + } + normalTaskList.addAll(taskList); + } + } + } + return normalTaskList; + } + + /** + * 项目内的任务清单 + * + */ + @Override + public TaskVo.TaskCheckList selectTaskListByProject(Long projectId, Long currentUserId, Integer page, Integer pageSize, + String key, String start, String end, Long roleId) throws Exception { + TaskVo.TaskCheckList taskCheckList = new TaskVo.TaskCheckList(); + List normalTaskList = new ArrayList<>(); + TaskVo.PageInfo pageInfo = new TaskVo.PageInfo(); + + //获取日期的开始结束时间 + Long startMillisTime = null; + Long endMillisTime = null; + Map timeMap = null; + if(StrUtil.isNotEmpty(start)){ + timeMap = DateUtil.projectFormatDateTime(start); + startMillisTime = timeMap.get("startMillisTime"); + } + if(StrUtil.isNotEmpty(end)){ + timeMap = DateUtil.projectFormatDateTime(start); + endMillisTime = timeMap.get("endMillisTime"); + } + //获取项目 + SysProject sysProject = sysProjectDao.selectByPrimaryKey(projectId); + if(ObjectUtil.isNotNull(sysProject)) { + List taskList = getTaskInfoByProjectIdAndUserId(sysProject, currentUserId, startMillisTime, endMillisTime); + if (CollectionUtil.isNotEmpty(taskList)) { + normalTaskList.addAll(taskList); + } + } + //关键词模糊搜索 + if (StrUtil.isNotEmpty(key)) { + if (CollectionUtil.isNotEmpty(normalTaskList)) { + Iterator it = normalTaskList.iterator(); + while (it.hasNext()) { + TaskVo.NormalTask normalTask = it.next(); + if (!normalTask.getName().contains(key)) { + it.remove(); + } + } + } + } + //业务分页 + List theNormalList = null; + int totalPages = 1; + if (CollectionUtil.isNotEmpty(normalTaskList)) { + //1.计算分页条件 + if (page > 0) { + int size = normalTaskList.size(); + totalPages = size / pageSize + 1; + int num = pageSize; + int startIndex = pageSize * (page - 1); + if (startIndex >= size) { + startIndex = -1; + } else { + if (startIndex + num > size) { + num = size - startIndex; + } + } + //拷贝分页数据 + if (startIndex >= 0) { + theNormalList = CollectionUtil.newArrayList(); + for (int i = startIndex; i < startIndex + num; i++) { + theNormalList.add(normalTaskList.get(i)); + } + } + } else { //不分页 + theNormalList = CollectionUtil.newArrayList(normalTaskList); + } + } + pageInfo.setCurrentPage(page); + pageInfo.setTotalPage(totalPages); + + taskCheckList.setNormalTaskList(theNormalList); + taskCheckList.setPageInfo(pageInfo); + return taskCheckList; + } + + /** + * 任务模糊搜索 + */ + @Override + public List getTaskDetailByKey(Long currentUserId, Long projectId, String key) { + List taskDetailByKeyList = taskDetailDao.selectTaskByKey(currentUserId,projectId,key); + return taskDetailByKeyList; + } + + /** + * 查询子任务最早的一条 + */ + @Override + public TaskVo.NormalTask selectTaskByParentId(Long parentId, Long startTime, Long endTime){ + TaskVo.NormalTask normalTask = taskDetailDao.selectTaskByParentIdAndTime(parentId,startTime,endTime); + return normalTask; + } + + /** + * 查看任务的完成状态 + */ + private ProSubTimeMember getProcessByUserIdAndTask(Long userId, Long subTimeId) throws Exception { + ProSubTimeMember subTimeMember = null; + ProTaskSubTime subTime = taskSubTimeDao.selectByPrimaryKey(subTimeId); + ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(subTime.getTaskDetailId()); + if(taskDetail.getFinishNeedAll()==0){ + ProSubTimeMemberExample subTimeMemberExample = new ProSubTimeMemberExample(); + subTimeMemberExample.createCriteria().andTaskSubTimeIdEqualTo(subTimeId).andComplatedStatusEqualTo(2); + subTimeMemberExample.setOrderByClause("real_finish_time DESC"); + List subTimeMemberList = proSubTimeMemberDao.selectByExample(subTimeMemberExample); + if(CollectionUtil.isNotEmpty(subTimeMemberList)){ + subTimeMember = subTimeMemberList.get(0); + } + }else { + //查找此用户在任务下的成员 + ProMember porMember = proMemberService.selectByUserId(userId,taskDetail.getProjectId()); + //该用户是否是任务的负责人 + ProRole role = proRoleDao.selectByPrimaryKey(taskDetail.getExecutorRole()); + Boolean isBelongRole = proMemberService.userIsBelongRole(userId, role.getId()); + if (role.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.AllMember.phase) || isBelongRole) { + ProSubTimeMemberExample subTimeMemberExample = new ProSubTimeMemberExample(); + subTimeMemberExample.createCriteria().andTaskSubTimeIdEqualTo(subTimeId) + .andMemberIdEqualTo(porMember.getId()).andComplatedStatusEqualTo(2); + List subTimeMemberList = proSubTimeMemberDao.selectByExample(subTimeMemberExample); + if (CollectionUtil.isNotEmpty(subTimeMemberList)) { + subTimeMember = subTimeMemberList.get(0); + } + }else { + //查找任务负责人下的所有成员 + List memberList = proMemberService.selectByRole(taskDetail.getExecutorRole()); + if (CollectionUtil.isNotEmpty(memberList)) { + for (ProMember member : memberList) { + ProSubTimeMemberExample subTimeMemberExample = new ProSubTimeMemberExample(); + subTimeMemberExample.createCriteria().andTaskSubTimeIdEqualTo(subTimeId) + .andMemberIdEqualTo(member.getId()).andComplatedStatusEqualTo(2); + subTimeMemberExample.setOrderByClause("real_finish_time"); + List subTimeMemberList = proSubTimeMemberDao.selectByExample(subTimeMemberExample); + if (CollectionUtil.isEmpty(subTimeMemberList)) { + break; + } + subTimeMember = subTimeMemberList.get(0); + } + } + } + } + return subTimeMember; + } + + //=================================================================== + + /** + * 删除角色下的所有任务相关(taskDetail,taskSubTime,taskMember,plugin) + * @param roleId + */ + @Override + public void deleteTaskByRoleId(Long roleId) { +// taskDetailDao.deleteTaskByRoleId(roleId); + } + + /** + * 删除任务和所有相关信息 + */ + private void deleteTaskById(Long taskId){ + //删除交付物 + taskDeliverService.deleteDeliverByTaskId(taskId); + } +} diff --git a/tall/src/main/java/com/ccsens/tall/service/ProjectService.java b/tall/src/main/java/com/ccsens/tall/service/ProjectService.java index 6b8fd431..4d102da4 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProjectService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProjectService.java @@ -1,582 +1,587 @@ -package com.ccsens.tall.service; - -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.lang.Snowflake; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import com.ccsens.tall.bean.po.*; -import com.ccsens.tall.bean.vo.ProjectVo; -import com.ccsens.tall.persist.dao.*; -import com.ccsens.util.CodeEnum; -import com.ccsens.util.DateUtil; -import com.ccsens.util.WebConstant; -import com.ccsens.util.cron.CronConstant; -import com.ccsens.util.cron.NatureToDate; -import com.ccsens.util.exception.BaseException; -import com.github.pagehelper.PageHelper; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -import java.text.SimpleDateFormat; -import java.util.*; - -@Service -@Transactional(propagation = Propagation.REQUIRED) -public class ProjectService implements IProjectService{ - @Autowired - private SysProjectDao sysProjectDao; - @Autowired - private ProRoleExecludeDao roleExecludeDao; - @Autowired - private ProRoleDao proRoleDao; - @Autowired - private TaskDetailDao taskDetailDao; - @Autowired - private TaskSubTimeDao taskSubTimeDao; - @Autowired - private UserAttentionDao attentionDao; - @Autowired - private TaskPluginDao pluginDao; - @Autowired - private TaskDeliverDao taskDeliverDao; - @Autowired - private IProRoleService proRoleService; - @Autowired - private Snowflake snowflake; - - @Override - public void saveProject(SysProject sysProject) { - sysProjectDao.insertSelective(sysProject); - } - - @Override - public void updateProject(SysProject project) { - sysProjectDao.updateByPrimaryKeySelective(project); - } - - /** - * 根据名字查找此用户创建的项目 - * @param subProject - * @param currentUserId - * @return - */ - @Override - public SysProject selectByNameAndUserId(String subProject, Long currentUserId) throws Exception{ - SysProject project = new SysProject(); - SysProjectExample projectExample = new SysProjectExample(); - projectExample.createCriteria().andCreatorIdEqualTo(currentUserId).andNameEqualTo(subProject); - List projectList = sysProjectDao.selectByExample(projectExample); - if (CollectionUtil.isNotEmpty(projectList)) { - project = projectList.get(0); - } - return project; - } - - /** - * 查找本月哪一天有项目 - * @param currentUserId - * @param date - * @return - */ - @Override - public List haveProjectDay(Long currentUserId, String date) throws Exception { - List dateList = new ArrayList<>(); - //获取日期的开始结束时间 - Map timeMap = new HashMap<>(); - timeMap = DateUtil.projectFormatDateTime(date); - Long startMillisTime = timeMap.get("startMillisTime"); - Long endMillisTime = timeMap.get("endMillisTime"); - //查找此用户关注的项目 - List projectList = sysProjectDao.findProjectIdByUserId(currentUserId,startMillisTime,endMillisTime); - if(CollectionUtil.isNotEmpty(projectList)){ - for(SysProject sysProject:projectList){ - startMillisTime = sysProject.getBeginTime() > startMillisTime ? sysProject.getBeginTime() : startMillisTime; - endMillisTime = sysProject.getEndTime() < endMillisTime ? sysProject.getEndTime() : endMillisTime; - dateList = getTimeList(dateList,startMillisTime,endMillisTime); - } - } - return dateList; - } - private List getTimeList(List dateList, Long startTime,Long endTime){ - SimpleDateFormat sdf = new SimpleDateFormat("dd"); - Date s = new Date(startTime); - Date e = new Date(endTime); - - Calendar min = Calendar.getInstance(); - Calendar max = Calendar.getInstance(); - min.setTime(s); - max.setTime(e); - Calendar curr = min; - while (curr.before(max)) { - for(String str:dateList){ - if(!sdf.format(min.getTime()).equalsIgnoreCase(str)){ - dateList.add(sdf.format(min.getTime())); - } - } - curr.add(Calendar.DATE, 1); - } - return dateList; - } - - /** - * 根据用户和日期查找项目 - * @param currentUserId - * @param date - * @return - * @throws Exception - */ - @Override - public List getProjectInfo(Long currentUserId, String date) throws Exception { - List projectInfoList = new ArrayList<>(); - //获取日期的开始结束时间 - Map timeMap = new HashMap<>(); - timeMap = DateUtil.projectFormatDateTime(date); - Long startMillisTime = timeMap.get("startMillisTime"); - Long endMillisTime = timeMap.get("endMillisTime"); - //查找此用户关注的项目 - List projectList = sysProjectDao.findProjectIdByUserId(currentUserId,startMillisTime,endMillisTime); - projectInfoList = projectInfoByProject(projectList,currentUserId); -// if(CollectionUtil.isNotEmpty(projectList)){ -// ProjectVo.ProjectInfo projectInfo = null; -// for(SysProject project:projectList){ -// projectInfo = new ProjectVo.ProjectInfo(); -// BeanUtil.copyProperties(project,projectInfo); -// projectInfo.setCreator(false); -// projectInfo.setRoles(new ArrayList<>()); -// //是否是创建者 -// if(project.getCreatorId().longValue()==currentUserId.longValue()){ -// projectInfo.getRoles().add(WebConstant.ROLE_NAME.Creator.phase); -// projectInfo.setCreator(true); -// } -// //本用户在项目中的角色 -// List proRoles = proRoleService.getProRoleByProjectIdAndUserId(project.getId(), currentUserId); -// if (CollectionUtil.isNotEmpty(proRoles)) { -// for (ProRole proRole : proRoles) { -// projectInfo.getRoles().add(proRole.getDescription()); -// } -// } -// if(CollectionUtil.isEmpty(projectInfo.getRoles())){ -// projectInfo.getRoles().add(WebConstant.ROLE_NAME.Attention.phase); -// } -// //用户在项目中的最高权限 -// int power = proRoleService.selectPowerByRoleName(projectInfo.getRoles()); -// projectInfo.setPower(power); -// -// projectInfoList.add(projectInfo); -// } -// } - return projectInfoList; - } - private List projectInfoByProject(List projectList,Long currentUserId){ - List projectInfoList = new ArrayList<>(); - if(CollectionUtil.isNotEmpty(projectList)){ - ProjectVo.ProjectInfo projectInfo = null; - for(SysProject project:projectList){ - projectInfo = new ProjectVo.ProjectInfo(); - BeanUtil.copyProperties(project,projectInfo); - projectInfo.setCreator(false); - projectInfo.setRoles(new ArrayList<>()); - //是否是创建者 - if(project.getCreatorId().longValue()==currentUserId.longValue()){ - projectInfo.getRoles().add(WebConstant.ROLE_NAME.Creator.phase); - projectInfo.setCreator(true); - } - //本用户在项目中的角色 - List proRoles = proRoleService.getProRoleByProjectIdAndUserId(project.getId(), currentUserId); - if (CollectionUtil.isNotEmpty(proRoles)) { - for (ProRole proRole : proRoles) { - projectInfo.getRoles().add(proRole.getDescription()); - } - } - if(CollectionUtil.isEmpty(projectInfo.getRoles())){ - projectInfo.getRoles().add(WebConstant.ROLE_NAME.Attention.phase); - } - //用户在项目中的最高权限 - int power = proRoleService.selectPowerByRoleName(proRoles); - projectInfo.setPower(power); - - projectInfoList.add(projectInfo); - } - } - return projectInfoList; - } - - /** - * 通过项目id查询项目 - * @param userId 用户id - * @param projectId - * @return - */ - @Override - public ProjectVo.ProjectInfo getProjectInfoById(Long userId,Long projectId) { - SysProject sysProject = sysProjectDao.selectByPrimaryKey(projectId); - ProjectVo.ProjectInfo projectInfo = new ProjectVo.ProjectInfo(); - BeanUtil.copyProperties(sysProject,projectInfo); - projectInfo.setCreator(false); - projectInfo.setRoles(new ArrayList<>()); - //是否是创建者 - if(sysProject.getCreatorId().longValue()==userId.longValue()){ - projectInfo.getRoles().add(WebConstant.ROLE_NAME.Creator.phase); - projectInfo.setCreator(true); - } - //本用户在项目中的角色 - List proRoles = proRoleService.getProRoleByProjectIdAndUserId(sysProject.getId(), userId); - if (CollectionUtil.isNotEmpty(proRoles)) { - for (ProRole proRole : proRoles) { - projectInfo.getRoles().add(proRole.getDescription()); - } - } - if(CollectionUtil.isEmpty(projectInfo.getRoles())){ - projectInfo.getRoles().add(WebConstant.ROLE_NAME.Attention.phase); - } - //用户在项目中的最高权限 - int power = proRoleService.selectPowerByRoleName(proRoles); - projectInfo.setPower(power); - - return projectInfo; - } - - /** - * 根据类型查项目 项目类型 0普通项目 1模板项目 2常驻项目 - * @return - */ - @Override - public List getTemplate() { - List project = new ArrayList<>(); - //查询四个模板项目,两个普通项目 - PageHelper.startPage(1, 4); - List templateProject = sysProjectDao.selectByTemplateStatus(1); - - - PageHelper.startPage(1, 2); - List commonProject = sysProjectDao.selectByTemplateStatus(0); -// PageInfo pageInfo =new PageInfo<>(project); - project.addAll(templateProject); - project.addAll(commonProject); - - return project; - } - - @Override - public List getForever() { - List templateProject = sysProjectDao.selectByTemplateStatus(2); - return templateProject; - } - - /** - * 项目清单 - */ - @Override - public ProjectVo.ProjectAllDetailed getProjectList(Long currentUserId, Integer page, Integer pageSize, String key, String start, String end, String role) throws Exception { - ProjectVo.ProjectAllDetailed projectAllDetailed = new ProjectVo.ProjectAllDetailed(); - List projectInfoList = new ArrayList<>(); - - //获取日期的开始结束时间 - Long startMillisTime = null; - Long endMillisTime = null; - Map timeMap = null; - if(StrUtil.isNotEmpty(start)){ - timeMap = DateUtil.projectFormatDateTime(start); - startMillisTime = timeMap.get("startMillisTime"); - } - if(StrUtil.isNotEmpty(end)){ - timeMap = DateUtil.projectFormatDateTime(start); - endMillisTime = timeMap.get("endMillisTime"); - } - List projectList = sysProjectDao.findProjectIdByUserId(currentUserId,startMillisTime,endMillisTime); -// List projectList = attentionService.findProjectIdByUserId(currentUserId); - projectInfoList = projectInfoByProject(projectList,currentUserId); - //关键字模糊查询和是否创建者 - if (CollectionUtil.isNotEmpty(projectInfoList) && StrUtil.isNotEmpty(key)) { - Iterator it = projectInfoList.iterator(); - while (it.hasNext()) { - ProjectVo.ProjectInfo projectInfo = it.next(); - if (!projectInfo.getName().contains(key)) { - it.remove(); - } - if(StrUtil.isNotEmpty(role)){ - if("创建者".equalsIgnoreCase(role)&&!projectInfo.isCreator()){ - it.remove(); - }else if("参与者".equalsIgnoreCase(role)&&projectInfo.isCreator()){ - it.remove(); - } - } - } - } - //业务层分页 - List theProjectInfoList = null; - int totalPages = 1; - if (CollectionUtil.isNotEmpty(projectInfoList)) { - //1.计算分页条件 - if (page > 0) { - int size = projectInfoList.size(); - totalPages = size / pageSize + 1; - int num = pageSize; - int startIndex = pageSize * (page - 1); - if (startIndex >= size) { - startIndex = -1; - } else { - if (startIndex + num > size) { - num = size - startIndex; - } - } - //拷贝分页数据 - if (startIndex >= 0) { - theProjectInfoList = CollectionUtil.newArrayList(); - for (int i = startIndex; i < startIndex + num; i++) { - theProjectInfoList.add(projectInfoList.get(i)); - } - } - } else { //不分页 - theProjectInfoList = CollectionUtil.newArrayList(projectInfoList); - } - } - ProjectVo.PageInfo pageInfo = new ProjectVo.PageInfo(); - pageInfo.setCurrentPage(page); - pageInfo.setTotalPage(totalPages); - projectAllDetailed.setProjectInfoList(theProjectInfoList); - projectAllDetailed.setPageInfo(pageInfo); - - return projectAllDetailed; - } - - /** - * 通过名字模糊查询项目 - */ - @Override - public List getProjectByKey(Long currentUserId, String key) throws Exception { - - return sysProjectDao.getProjectByKey(currentUserId,key); - } - - //=========================================================================== - /** - * 删除项目 - */ - @Override - public void deleteProject(Long currentUserId, Long projectId) throws Exception { - //本用户在项目中的角色 - List proRoles = proRoleService.getProRoleByProjectIdAndUserId(projectId, currentUserId); - //用户在项目中的最高权限 - int power = proRoleService.selectPowerByRoleName(proRoles); - if(power>1){ - //修改项目状态 - SysProject project = sysProjectDao.selectByPrimaryKey(projectId); - project.setRecStatus((byte) 1); - sysProjectDao.updateByPrimaryKeySelective(project); - }else { - throw new BaseException(CodeEnum.NOT_POWER); - } - } - - /** - * 复制项目 - */ - @Override - public void copyProject(Long userId ,Long projectId) { - SysProject oldProject = sysProjectDao.selectByPrimaryKey(projectId); - SysProject newProject = new SysProject(); - if(ObjectUtil.isNotNull(oldProject)){ - BeanUtil.copyProperties(oldProject,newProject); - newProject.setId(snowflake.nextId()); - newProject.setCreatorId(userId); - saveProject(newProject); - //该用户关注新项目 - UserAttention userAttention = new UserAttention(); - userAttention.setId(snowflake.nextId()); - userAttention.setUserId(userId); - userAttention.setProjectId(newProject.getId()); - attentionDao.insertSelective(userAttention); - //添加角色 - copyRole(oldProject.getId(),newProject.getId()); - }else { - throw new BaseException(CodeEnum.NOT_PROJECT); - } - } - /** - * 复制角色 - */ - private void copyRole(Long oldProjectId,Long newProjectId){ - //查找被复制的项目下的二级角色 - Map oldRoleMap = new HashMap<>(); - Map newRoleMap = new HashMap<>(); - List newRoleList = new ArrayList<>(); - ProRoleExample roleExample = new ProRoleExample(); - roleExample.createCriteria().andProjectIdEqualTo(oldProjectId); - List oldRoleList = proRoleDao.selectByExample(roleExample); - if(CollectionUtil.isNotEmpty(oldRoleList)){ - for(ProRole oldRole:oldRoleList){ - oldRoleMap.put(oldRole.getId(),oldRole.getName()); - //创建新的角色 - ProRole newRole = new ProRole(); - BeanUtil.copyProperties(oldRole,newRole); - newRole.setId(snowflake.nextId()); - newRole.setProjectId(newProjectId); - proRoleDao.insertSelective(newRole); - newRoleList.add(newRole); - newRoleMap.put(newRole.getName(),newRole.getId()); - } - //修改角色的parentId - if(CollectionUtil.isNotEmpty(newRoleList)){ - for(ProRole role:newRoleList){ - if(role.getParentId() != 0){ - role.setParentId(newRoleMap.get(oldRoleMap.get(role.getParentId()))); - proRoleDao.updateByPrimaryKeySelective(role); - } - } - } - //添加对谁不可见 - copyRoleExeclude(oldRoleList,oldRoleMap,newRoleMap); - //复制任务 - copyTask(oldProjectId,newProjectId,oldRoleMap,newRoleMap); - } - } - private void copyRoleExeclude(List oldRoleList,Map oldRoleMap, Map newRoleMap){ - if(CollectionUtil.isNotEmpty(oldRoleList)) { - for (ProRole oldRole : oldRoleList) { - ProRoleExecludeExample execludeExample = new ProRoleExecludeExample(); - execludeExample.createCriteria().andRoleIdEqualTo(oldRole.getId()); - List roleExecludeList = roleExecludeDao.selectByExample(execludeExample); - if(CollectionUtil.isNotEmpty(roleExecludeList)){ - for(ProRoleExeclude roleExeclude:roleExecludeList){ - ProRoleExeclude newRoleExeclude = new ProRoleExeclude(); - newRoleExeclude.setRoleId(newRoleMap.get(oldRoleMap.get(roleExeclude.getRoleId()))); - newRoleExeclude.setOtherRoleId(newRoleMap.get(oldRoleMap.get(roleExeclude.getRoleId()))); - roleExecludeDao.insertSelective(newRoleExeclude); - } - } - } - } - } - - /** - * 复制任务 - */ - private void copyTask(Long oldProjectId,Long newProjectId,Map oldRoleMap, Map newRoleMap){ - ProTaskDetailExample detailExample = new ProTaskDetailExample(); - detailExample.createCriteria().andProjectIdEqualTo(oldProjectId).andLevelEqualTo((byte) 1); - List detailList = taskDetailDao.selectByExample(detailExample); - if(CollectionUtil.isNotEmpty(detailList)){ - for(ProTaskDetail oldDetail: detailList){ - ProTaskDetail newDetail = new ProTaskDetail(); - BeanUtil.copyProperties(oldDetail,newDetail); - newDetail.setId(snowflake.nextId()); - newDetail.setProjectId(newProjectId); - newDetail.setExecutorRole(newRoleMap.get(oldRoleMap.get(newDetail.getExecutorRole()))); - if(newDetail.getCheckerRole() != 0){ - newDetail.setCheckerRole(newRoleMap.get(oldRoleMap.get(newDetail.getCheckerRole()))); - } - taskDetailDao.insertSelective(newDetail); - //查找一级任务下的二级任务 - ProTaskDetailExample oldSecondTask = new ProTaskDetailExample(); - oldSecondTask.createCriteria().andParentIdEqualTo(oldDetail.getId()).andLevelEqualTo((byte) 2); - List secondTaskList = taskDetailDao.selectByExample(oldSecondTask); - if(CollectionUtil.isNotEmpty(secondTaskList)){ - for(ProTaskDetail oldSecondDetail: secondTaskList){ - ProTaskDetail newSecondDetail = new ProTaskDetail(); - BeanUtil.copyProperties(oldSecondDetail,newSecondDetail); - newSecondDetail.setId(snowflake.nextId()); - newSecondDetail.setProjectId(newProjectId); - newSecondDetail.setParentId(newDetail.getId()); - newSecondDetail.setExecutorRole(newRoleMap.get(oldRoleMap.get(newSecondDetail.getExecutorRole()))); - if(newSecondDetail.getCheckerRole() != 0){ - newSecondDetail.setCheckerRole(newRoleMap.get(oldRoleMap.get(newSecondDetail.getCheckerRole()))); - } - taskDetailDao.insertSelective(newSecondDetail); - //分解时间 - taskToSubTime(newSecondDetail); - //查找二级任务的子任务 - ProTaskDetailExample oldSubTask = new ProTaskDetailExample(); - oldSubTask.createCriteria().andParentIdEqualTo(oldSecondDetail.getId()).andLevelEqualTo((byte) 3); - List subTaskList = taskDetailDao.selectByExample(oldSubTask); - if(CollectionUtil.isNotEmpty(subTaskList)){ - for(ProTaskDetail oldSubDetail: subTaskList){ - ProTaskDetail newSubDetail = new ProTaskDetail(); - BeanUtil.copyProperties(oldSubDetail,newSubDetail); - newSubDetail.setId(snowflake.nextId()); - newSubDetail.setProjectId(newProjectId); - newSubDetail.setParentId(newSecondDetail.getId()); - newSubDetail.setExecutorRole(newRoleMap.get(oldRoleMap.get(newSubDetail.getExecutorRole()))); - if(newSubDetail.getCheckerRole() != 0){ - newSubDetail.setCheckerRole(newRoleMap.get(oldRoleMap.get(newSubDetail.getCheckerRole()))); - } - taskDetailDao.insertSelective(newSubDetail); - //分解时间 - taskToSubTime(newSubDetail); - copyPluginAndDeliver(oldDetail.getId(),newDetail.getId(),oldRoleMap,newRoleMap); - } - } - copyPluginAndDeliver(oldDetail.getId(),newDetail.getId(),oldRoleMap,newRoleMap); - } - } - copyPluginAndDeliver(oldDetail.getId(),newDetail.getId(),oldRoleMap,newRoleMap); - } - } - } - private void taskToSubTime(ProTaskDetail taskDetail){ - //cycle为空,只加一条数据 - if(ObjectUtil.isNotNull(taskDetail)) { - if (StrUtil.isEmpty(taskDetail.getCycle())) { - ProTaskSubTime proTaskSubTime = new ProTaskSubTime(); - proTaskSubTime.setId(snowflake.nextId()); - proTaskSubTime.setTaskDetailId(taskDetail.getId()); - proTaskSubTime.setEndTime(taskDetail.getEndTime()); - proTaskSubTime.setBeginTime(taskDetail.getBeginTime()); - taskSubTimeDao.insertSelective(proTaskSubTime); - } else { - Date startDate = new Date(taskDetail.getBeginTime()); - Date endDate = new Date(taskDetail.getEndTime()); - List taskDateList = - NatureToDate.generateDates(taskDetail.getCycle(), startDate, endDate); - if (CollectionUtil.isNotEmpty(taskDateList)) { - for (CronConstant.TaskDate taskDate : taskDateList) { - ProTaskSubTime proTaskSubTime = new ProTaskSubTime(); - proTaskSubTime.setId(snowflake.nextId()); - proTaskSubTime.setTaskDetailId(taskDetail.getId()); - proTaskSubTime.setEndTime(taskDate.getEndDate().getTime()); - proTaskSubTime.setBeginTime(taskDate.getStartDate().getTime()); - taskSubTimeDao.insertSelective(proTaskSubTime); - } - } - } - } - } - - /** - * 复制插件和交付物 - */ - private void copyPluginAndDeliver(Long oldTaskId,Long newTaskId,Map oldRoleMap, Map newRoleMap){ - //插件 - ProTaskPluginExample pluginExample = new ProTaskPluginExample(); - pluginExample.createCriteria().andTaskDetailIdEqualTo(oldTaskId); - List pluginList = pluginDao.selectByExample(pluginExample); - if(CollectionUtil.isNotEmpty(pluginList)){ - for(ProTaskPlugin plugin:pluginList){ - ProTaskPlugin newPlugin = new ProTaskPlugin(); - BeanUtil.copyProperties(plugin,newPlugin); - newPlugin.setId(snowflake.nextId()); - newPlugin.setTaskDetailId(newTaskId); - newPlugin.setMemberRoleId(newRoleMap.get(oldRoleMap.get(newPlugin.getMemberRoleId()))); - pluginDao.insertSelective(newPlugin); - } - } - //交付物 - ProTaskDeliverExample deliverExample = new ProTaskDeliverExample(); - deliverExample.createCriteria().andTaskDetailIdEqualTo(oldTaskId); - List proTaskDeliverList = taskDeliverDao.selectByExample(deliverExample); - if(CollectionUtil.isNotEmpty(proTaskDeliverList)){ - for(ProTaskDeliver taskDeliver:proTaskDeliverList){ - ProTaskDeliver newTaskDeliver = new ProTaskDeliver(); - BeanUtil.copyProperties(taskDeliver,newTaskDeliver); - newTaskDeliver.setId(snowflake.nextId()); - newTaskDeliver.setTaskDetailId(newTaskId); - newTaskDeliver.setCheckStatus(0); - newTaskDeliver.setIsUpload(0); - taskDeliverDao.insertSelective(newTaskDeliver); - } - } - } -} +package com.ccsens.tall.service; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.lang.Snowflake; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.ccsens.tall.bean.po.*; +import com.ccsens.tall.bean.vo.ProjectVo; +import com.ccsens.tall.persist.dao.*; +import com.ccsens.util.CodeEnum; +import com.ccsens.util.DateUtil; +import com.ccsens.util.WebConstant; +import com.ccsens.util.cron.CronConstant; +import com.ccsens.util.cron.NatureToDate; +import com.ccsens.util.exception.BaseException; +import com.github.pagehelper.PageHelper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import java.text.SimpleDateFormat; +import java.util.*; + +@Service +@Transactional(propagation = Propagation.REQUIRED) +public class ProjectService implements IProjectService { + @Autowired + private SysProjectDao sysProjectDao; + @Autowired + private ProRoleExecludeDao roleExecludeDao; + @Autowired + private ProRoleDao proRoleDao; + @Autowired + private TaskDetailDao taskDetailDao; + @Autowired + private TaskSubTimeDao taskSubTimeDao; + @Autowired + private UserAttentionDao attentionDao; + @Autowired + private TaskPluginDao pluginDao; + @Autowired + private TaskDeliverDao taskDeliverDao; + @Autowired + private IProRoleService proRoleService; + @Autowired + private Snowflake snowflake; + + @Override + public void saveProject(SysProject sysProject) { + sysProjectDao.insertSelective(sysProject); + } + + @Override + public void updateProject(SysProject project) { + sysProjectDao.updateByPrimaryKeySelective(project); + } + + /** + * 根据名字查找此用户创建的项目 + * @param subProject + * @param currentUserId + * @return + */ + @Override + public SysProject selectByNameAndUserId(String subProject, Long currentUserId) throws Exception{ + SysProject project = new SysProject(); + SysProjectExample projectExample = new SysProjectExample(); + projectExample.createCriteria().andCreatorIdEqualTo(currentUserId).andNameEqualTo(subProject); + List projectList = sysProjectDao.selectByExample(projectExample); + if (CollectionUtil.isNotEmpty(projectList)) { + project = projectList.get(0); + } + return project; + } + + /** + * 查找本月哪一天有项目 + * @param currentUserId + * @param date + * @return + */ + @Override + public List haveProjectDay(Long currentUserId, String date) throws Exception { + List dateList = new ArrayList<>(); + //获取日期的开始结束时间 + Map timeMap = new HashMap<>(); + timeMap = DateUtil.projectFormatDateTime(date); + Long startMillisTime = timeMap.get("startMillisTime"); + Long endMillisTime = timeMap.get("endMillisTime"); + //查找此用户关注的项目 + List projectList = sysProjectDao.findProjectIdByUserId(currentUserId,startMillisTime,endMillisTime); + if(CollectionUtil.isNotEmpty(projectList)){ + for(SysProject sysProject:projectList){ + startMillisTime = sysProject.getBeginTime() > startMillisTime ? sysProject.getBeginTime() : startMillisTime; + endMillisTime = sysProject.getEndTime() < endMillisTime ? sysProject.getEndTime() : endMillisTime; + dateList = getTimeList(dateList,startMillisTime,endMillisTime); + } + } + return dateList; + } + private List getTimeList(List dateList, Long startTime,Long endTime){ + SimpleDateFormat sdf = new SimpleDateFormat("dd"); + Date s = new Date(startTime); + Date e = new Date(endTime); + + Calendar min = Calendar.getInstance(); + Calendar max = Calendar.getInstance(); + min.setTime(s); + max.setTime(e); + Calendar curr = min; + while (curr.before(max)) { + for(String str:dateList){ + if(!sdf.format(min.getTime()).equalsIgnoreCase(str)){ + dateList.add(sdf.format(min.getTime())); + } + } + curr.add(Calendar.DATE, 1); + } + return dateList; + } + + /** + * 根据用户和日期查找项目 + * @param currentUserId + * @param date + * @return + * @throws Exception + */ + @Override + public List getProjectInfo(Long currentUserId, String date) throws Exception { + List projectInfoList = new ArrayList<>(); + //获取日期的开始结束时间 + Map timeMap = new HashMap<>(); + timeMap = DateUtil.projectFormatDateTime(date); + Long startMillisTime = timeMap.get("startMillisTime"); + Long endMillisTime = timeMap.get("endMillisTime"); + //查找此用户关注的项目 + List projectList = sysProjectDao.findProjectIdByUserId(currentUserId,startMillisTime,endMillisTime); + projectInfoList = projectInfoByProject(projectList,currentUserId); +// if(CollectionUtil.isNotEmpty(projectList)){ +// ProjectVo.ProjectInfo projectInfo = null; +// for(SysProject project:projectList){ +// projectInfo = new ProjectVo.ProjectInfo(); +// BeanUtil.copyProperties(project,projectInfo); +// projectInfo.setCreator(false); +// projectInfo.setRoles(new ArrayList<>()); +// //是否是创建者 +// if(project.getCreatorId().longValue()==currentUserId.longValue()){ +// projectInfo.getRoles().add(WebConstant.ROLE_NAME.Creator.phase); +// projectInfo.setCreator(true); +// } +// //本用户在项目中的角色 +// List proRoles = proRoleService.getProRoleByProjectIdAndUserId(project.getId(), currentUserId); +// if (CollectionUtil.isNotEmpty(proRoles)) { +// for (ProRole proRole : proRoles) { +// projectInfo.getRoles().add(proRole.getDescription()); +// } +// } +// if(CollectionUtil.isEmpty(projectInfo.getRoles())){ +// projectInfo.getRoles().add(WebConstant.ROLE_NAME.Attention.phase); +// } +// //用户在项目中的最高权限 +// int power = proRoleService.selectPowerByRoleName(projectInfo.getRoles()); +// projectInfo.setPower(power); +// +// projectInfoList.add(projectInfo); +// } +// } + return projectInfoList; + } + private List projectInfoByProject(List projectList, Long currentUserId){ + List projectInfoList = new ArrayList<>(); + if(CollectionUtil.isNotEmpty(projectList)){ + ProjectVo.ProjectInfo projectInfo = null; + for(SysProject project:projectList){ + projectInfo = new ProjectVo.ProjectInfo(); + BeanUtil.copyProperties(project,projectInfo); + projectInfo.setCreator(false); + projectInfo.setRoles(new ArrayList<>()); + //是否是创建者 + if(project.getCreatorId().longValue()==currentUserId.longValue()){ + projectInfo.getRoles().add(WebConstant.ROLE_NAME.Creator.phase); + projectInfo.setCreator(true); + } + //本用户在项目中的角色 + List proRoles = proRoleService.getProRoleByProjectIdAndUserId(project.getId(), currentUserId); + if (CollectionUtil.isNotEmpty(proRoles)) { + for (ProRole proRole : proRoles) { + projectInfo.getRoles().add(proRole.getDescription()); + } + } + if(CollectionUtil.isEmpty(projectInfo.getRoles())){ + projectInfo.getRoles().add(WebConstant.ROLE_NAME.Attention.phase); + } + //用户在项目中的最高权限 + int power = proRoleService.selectPowerByRoleName(proRoles); + projectInfo.setPower(power); + + projectInfoList.add(projectInfo); + } + } + return projectInfoList; + } + + /** + * 通过项目id查询项目 + * @param userId 用户id + * @param projectId + * @return + */ + @Override + public ProjectVo.ProjectInfo getProjectInfoById(Long userId, Long projectId) { + SysProject sysProject = sysProjectDao.selectByPrimaryKey(projectId); + ProjectVo.ProjectInfo projectInfo = new ProjectVo.ProjectInfo(); + BeanUtil.copyProperties(sysProject,projectInfo); + projectInfo.setCreator(false); + projectInfo.setRoles(new ArrayList<>()); + //是否是创建者 + if(sysProject.getCreatorId().longValue()==userId.longValue()){ + projectInfo.getRoles().add(WebConstant.ROLE_NAME.Creator.phase); + projectInfo.setCreator(true); + } + //本用户在项目中的角色 + List proRoles = proRoleService.getProRoleByProjectIdAndUserId(sysProject.getId(), userId); + if (CollectionUtil.isNotEmpty(proRoles)) { + for (ProRole proRole : proRoles) { + projectInfo.getRoles().add(proRole.getDescription()); + } + } + if(CollectionUtil.isEmpty(projectInfo.getRoles())){ + projectInfo.getRoles().add(WebConstant.ROLE_NAME.Attention.phase); + } + //用户在项目中的最高权限 + int power = proRoleService.selectPowerByRoleName(proRoles); + projectInfo.setPower(power); + + return projectInfo; + } + + /** + * 根据类型查项目 项目类型 0普通项目 1模板项目 2常驻项目 + * @return + */ + @Override + public List getTemplate() { + List project = new ArrayList<>(); + //查询四个模板项目,两个普通项目 + PageHelper.startPage(1, 4); + List templateProject = sysProjectDao.selectByTemplateStatus(1); + + + PageHelper.startPage(1, 2); + List commonProject = sysProjectDao.selectByTemplateStatus(0); +// PageInfo pageInfo =new PageInfo<>(project); + project.addAll(templateProject); + project.addAll(commonProject); + + return project; + } + + @Override + public List getForever() { + List templateProject = sysProjectDao.selectByTemplateStatus(2); + if(CollectionUtil.isNotEmpty(templateProject)){ + for(ProjectVo.TemplateStatus templateStatus:templateProject){ + templateStatus.setProcess(1); + } + } + return templateProject; + } + + /** + * 项目清单 + */ + @Override + public ProjectVo.ProjectAllDetailed getProjectList(Long currentUserId, Integer page, Integer pageSize, String key, String start, String end, String role) throws Exception { + ProjectVo.ProjectAllDetailed projectAllDetailed = new ProjectVo.ProjectAllDetailed(); + List projectInfoList = new ArrayList<>(); + + //获取日期的开始结束时间 + Long startMillisTime = null; + Long endMillisTime = null; + Map timeMap = null; + if(StrUtil.isNotEmpty(start)){ + timeMap = DateUtil.projectFormatDateTime(start); + startMillisTime = timeMap.get("startMillisTime"); + } + if(StrUtil.isNotEmpty(end)){ + timeMap = DateUtil.projectFormatDateTime(start); + endMillisTime = timeMap.get("endMillisTime"); + } + List projectList = sysProjectDao.findProjectIdByUserId(currentUserId,startMillisTime,endMillisTime); +// List projectList = attentionService.findProjectIdByUserId(currentUserId); + projectInfoList = projectInfoByProject(projectList,currentUserId); + //关键字模糊查询和是否创建者 + if (CollectionUtil.isNotEmpty(projectInfoList) && StrUtil.isNotEmpty(key)) { + Iterator it = projectInfoList.iterator(); + while (it.hasNext()) { + ProjectVo.ProjectInfo projectInfo = it.next(); + if (!projectInfo.getName().contains(key)) { + it.remove(); + } + if(StrUtil.isNotEmpty(role)){ + if("创建者".equalsIgnoreCase(role)&&!projectInfo.isCreator()){ + it.remove(); + }else if("参与者".equalsIgnoreCase(role)&&projectInfo.isCreator()){ + it.remove(); + } + } + } + } + //业务层分页 + List theProjectInfoList = null; + int totalPages = 1; + if (CollectionUtil.isNotEmpty(projectInfoList)) { + //1.计算分页条件 + if (page > 0) { + int size = projectInfoList.size(); + totalPages = size / pageSize + 1; + int num = pageSize; + int startIndex = pageSize * (page - 1); + if (startIndex >= size) { + startIndex = -1; + } else { + if (startIndex + num > size) { + num = size - startIndex; + } + } + //拷贝分页数据 + if (startIndex >= 0) { + theProjectInfoList = CollectionUtil.newArrayList(); + for (int i = startIndex; i < startIndex + num; i++) { + theProjectInfoList.add(projectInfoList.get(i)); + } + } + } else { //不分页 + theProjectInfoList = CollectionUtil.newArrayList(projectInfoList); + } + } + ProjectVo.PageInfo pageInfo = new ProjectVo.PageInfo(); + pageInfo.setCurrentPage(page); + pageInfo.setTotalPage(totalPages); + projectAllDetailed.setProjectInfoList(theProjectInfoList); + projectAllDetailed.setPageInfo(pageInfo); + + return projectAllDetailed; + } + + /** + * 通过名字模糊查询项目 + */ + @Override + public List getProjectByKey(Long currentUserId, String key) throws Exception { + + return sysProjectDao.getProjectByKey(currentUserId,key); + } + + //=========================================================================== + /** + * 删除项目 + */ + @Override + public void deleteProject(Long currentUserId, Long projectId) throws Exception { + //本用户在项目中的角色 + List proRoles = proRoleService.getProRoleByProjectIdAndUserId(projectId, currentUserId); + //用户在项目中的最高权限 + int power = proRoleService.selectPowerByRoleName(proRoles); + if(power>1){ + //修改项目状态 + SysProject project = sysProjectDao.selectByPrimaryKey(projectId); + project.setRecStatus((byte) 1); + sysProjectDao.updateByPrimaryKeySelective(project); + }else { + throw new BaseException(CodeEnum.NOT_POWER); + } + } + + /** + * 复制项目 + */ + @Override + public void copyProject(Long userId ,Long projectId) { + SysProject oldProject = sysProjectDao.selectByPrimaryKey(projectId); + SysProject newProject = new SysProject(); + if(ObjectUtil.isNotNull(oldProject)){ + BeanUtil.copyProperties(oldProject,newProject); + newProject.setId(snowflake.nextId()); + newProject.setCreatorId(userId); + saveProject(newProject); + //该用户关注新项目 + UserAttention userAttention = new UserAttention(); + userAttention.setId(snowflake.nextId()); + userAttention.setUserId(userId); + userAttention.setProjectId(newProject.getId()); + attentionDao.insertSelective(userAttention); + //添加角色 + copyRole(oldProject.getId(),newProject.getId()); + }else { + throw new BaseException(CodeEnum.NOT_PROJECT); + } + } + /** + * 复制角色 + */ + private void copyRole(Long oldProjectId,Long newProjectId){ + //查找被复制的项目下的二级角色 + Map oldRoleMap = new HashMap<>(); + Map newRoleMap = new HashMap<>(); + List newRoleList = new ArrayList<>(); + ProRoleExample roleExample = new ProRoleExample(); + roleExample.createCriteria().andProjectIdEqualTo(oldProjectId); + List oldRoleList = proRoleDao.selectByExample(roleExample); + if(CollectionUtil.isNotEmpty(oldRoleList)){ + for(ProRole oldRole:oldRoleList){ + oldRoleMap.put(oldRole.getId(),oldRole.getName()); + //创建新的角色 + ProRole newRole = new ProRole(); + BeanUtil.copyProperties(oldRole,newRole); + newRole.setId(snowflake.nextId()); + newRole.setProjectId(newProjectId); + proRoleDao.insertSelective(newRole); + newRoleList.add(newRole); + newRoleMap.put(newRole.getName(),newRole.getId()); + } + //修改角色的parentId + if(CollectionUtil.isNotEmpty(newRoleList)){ + for(ProRole role:newRoleList){ + if(role.getParentId() != 0){ + role.setParentId(newRoleMap.get(oldRoleMap.get(role.getParentId()))); + proRoleDao.updateByPrimaryKeySelective(role); + } + } + } + //添加对谁不可见 + copyRoleExeclude(oldRoleList,oldRoleMap,newRoleMap); + //复制任务 + copyTask(oldProjectId,newProjectId,oldRoleMap,newRoleMap); + } + } + private void copyRoleExeclude(List oldRoleList, Map oldRoleMap, Map newRoleMap){ + if(CollectionUtil.isNotEmpty(oldRoleList)) { + for (ProRole oldRole : oldRoleList) { + ProRoleExecludeExample execludeExample = new ProRoleExecludeExample(); + execludeExample.createCriteria().andRoleIdEqualTo(oldRole.getId()); + List roleExecludeList = roleExecludeDao.selectByExample(execludeExample); + if(CollectionUtil.isNotEmpty(roleExecludeList)){ + for(ProRoleExeclude roleExeclude:roleExecludeList){ + ProRoleExeclude newRoleExeclude = new ProRoleExeclude(); + newRoleExeclude.setRoleId(newRoleMap.get(oldRoleMap.get(roleExeclude.getRoleId()))); + newRoleExeclude.setOtherRoleId(newRoleMap.get(oldRoleMap.get(roleExeclude.getRoleId()))); + roleExecludeDao.insertSelective(newRoleExeclude); + } + } + } + } + } + + /** + * 复制任务 + */ + private void copyTask(Long oldProjectId,Long newProjectId,Map oldRoleMap, Map newRoleMap){ + ProTaskDetailExample detailExample = new ProTaskDetailExample(); + detailExample.createCriteria().andProjectIdEqualTo(oldProjectId).andLevelEqualTo((byte) 1); + List detailList = taskDetailDao.selectByExample(detailExample); + if(CollectionUtil.isNotEmpty(detailList)){ + for(ProTaskDetail oldDetail: detailList){ + ProTaskDetail newDetail = new ProTaskDetail(); + BeanUtil.copyProperties(oldDetail,newDetail); + newDetail.setId(snowflake.nextId()); + newDetail.setProjectId(newProjectId); + newDetail.setExecutorRole(newRoleMap.get(oldRoleMap.get(newDetail.getExecutorRole()))); + if(newDetail.getCheckerRole() != 0){ + newDetail.setCheckerRole(newRoleMap.get(oldRoleMap.get(newDetail.getCheckerRole()))); + } + taskDetailDao.insertSelective(newDetail); + //查找一级任务下的二级任务 + ProTaskDetailExample oldSecondTask = new ProTaskDetailExample(); + oldSecondTask.createCriteria().andParentIdEqualTo(oldDetail.getId()).andLevelEqualTo((byte) 2); + List secondTaskList = taskDetailDao.selectByExample(oldSecondTask); + if(CollectionUtil.isNotEmpty(secondTaskList)){ + for(ProTaskDetail oldSecondDetail: secondTaskList){ + ProTaskDetail newSecondDetail = new ProTaskDetail(); + BeanUtil.copyProperties(oldSecondDetail,newSecondDetail); + newSecondDetail.setId(snowflake.nextId()); + newSecondDetail.setProjectId(newProjectId); + newSecondDetail.setParentId(newDetail.getId()); + newSecondDetail.setExecutorRole(newRoleMap.get(oldRoleMap.get(newSecondDetail.getExecutorRole()))); + if(newSecondDetail.getCheckerRole() != 0){ + newSecondDetail.setCheckerRole(newRoleMap.get(oldRoleMap.get(newSecondDetail.getCheckerRole()))); + } + taskDetailDao.insertSelective(newSecondDetail); + //分解时间 + taskToSubTime(newSecondDetail); + //查找二级任务的子任务 + ProTaskDetailExample oldSubTask = new ProTaskDetailExample(); + oldSubTask.createCriteria().andParentIdEqualTo(oldSecondDetail.getId()).andLevelEqualTo((byte) 3); + List subTaskList = taskDetailDao.selectByExample(oldSubTask); + if(CollectionUtil.isNotEmpty(subTaskList)){ + for(ProTaskDetail oldSubDetail: subTaskList){ + ProTaskDetail newSubDetail = new ProTaskDetail(); + BeanUtil.copyProperties(oldSubDetail,newSubDetail); + newSubDetail.setId(snowflake.nextId()); + newSubDetail.setProjectId(newProjectId); + newSubDetail.setParentId(newSecondDetail.getId()); + newSubDetail.setExecutorRole(newRoleMap.get(oldRoleMap.get(newSubDetail.getExecutorRole()))); + if(newSubDetail.getCheckerRole() != 0){ + newSubDetail.setCheckerRole(newRoleMap.get(oldRoleMap.get(newSubDetail.getCheckerRole()))); + } + taskDetailDao.insertSelective(newSubDetail); + //分解时间 + taskToSubTime(newSubDetail); + copyPluginAndDeliver(oldDetail.getId(),newDetail.getId(),oldRoleMap,newRoleMap); + } + } + copyPluginAndDeliver(oldDetail.getId(),newDetail.getId(),oldRoleMap,newRoleMap); + } + } + copyPluginAndDeliver(oldDetail.getId(),newDetail.getId(),oldRoleMap,newRoleMap); + } + } + } + private void taskToSubTime(ProTaskDetail taskDetail){ + //cycle为空,只加一条数据 + if(ObjectUtil.isNotNull(taskDetail)) { + if (StrUtil.isEmpty(taskDetail.getCycle())) { + ProTaskSubTime proTaskSubTime = new ProTaskSubTime(); + proTaskSubTime.setId(snowflake.nextId()); + proTaskSubTime.setTaskDetailId(taskDetail.getId()); + proTaskSubTime.setEndTime(taskDetail.getEndTime()); + proTaskSubTime.setBeginTime(taskDetail.getBeginTime()); + taskSubTimeDao.insertSelective(proTaskSubTime); + } else { + Date startDate = new Date(taskDetail.getBeginTime()); + Date endDate = new Date(taskDetail.getEndTime()); + List taskDateList = + NatureToDate.generateDates(taskDetail.getCycle(), startDate, endDate); + if (CollectionUtil.isNotEmpty(taskDateList)) { + for (CronConstant.TaskDate taskDate : taskDateList) { + ProTaskSubTime proTaskSubTime = new ProTaskSubTime(); + proTaskSubTime.setId(snowflake.nextId()); + proTaskSubTime.setTaskDetailId(taskDetail.getId()); + proTaskSubTime.setEndTime(taskDate.getEndDate().getTime()); + proTaskSubTime.setBeginTime(taskDate.getStartDate().getTime()); + taskSubTimeDao.insertSelective(proTaskSubTime); + } + } + } + } + } + + /** + * 复制插件和交付物 + */ + private void copyPluginAndDeliver(Long oldTaskId,Long newTaskId,Map oldRoleMap, Map newRoleMap){ + //插件 + ProTaskPluginExample pluginExample = new ProTaskPluginExample(); + pluginExample.createCriteria().andTaskDetailIdEqualTo(oldTaskId); + List pluginList = pluginDao.selectByExample(pluginExample); + if(CollectionUtil.isNotEmpty(pluginList)){ + for(ProTaskPlugin plugin:pluginList){ + ProTaskPlugin newPlugin = new ProTaskPlugin(); + BeanUtil.copyProperties(plugin,newPlugin); + newPlugin.setId(snowflake.nextId()); + newPlugin.setTaskDetailId(newTaskId); + newPlugin.setMemberRoleId(newRoleMap.get(oldRoleMap.get(newPlugin.getMemberRoleId()))); + pluginDao.insertSelective(newPlugin); + } + } + //交付物 + ProTaskDeliverExample deliverExample = new ProTaskDeliverExample(); + deliverExample.createCriteria().andTaskDetailIdEqualTo(oldTaskId); + List proTaskDeliverList = taskDeliverDao.selectByExample(deliverExample); + if(CollectionUtil.isNotEmpty(proTaskDeliverList)){ + for(ProTaskDeliver taskDeliver:proTaskDeliverList){ + ProTaskDeliver newTaskDeliver = new ProTaskDeliver(); + BeanUtil.copyProperties(taskDeliver,newTaskDeliver); + newTaskDeliver.setId(snowflake.nextId()); + newTaskDeliver.setTaskDetailId(newTaskId); + newTaskDeliver.setCheckStatus(0); + newTaskDeliver.setIsUpload(0); + taskDeliverDao.insertSelective(newTaskDeliver); + } + } + } +} diff --git a/tall/src/main/java/com/ccsens/tall/service/TaskDeliverService.java b/tall/src/main/java/com/ccsens/tall/service/TaskDeliverService.java index abd7f39a..99fbf51b 100644 --- a/tall/src/main/java/com/ccsens/tall/service/TaskDeliverService.java +++ b/tall/src/main/java/com/ccsens/tall/service/TaskDeliverService.java @@ -1,768 +1,790 @@ -package com.ccsens.tall.service; - -import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.lang.Snowflake; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import com.ccsens.tall.bean.dto.DeliverDto; -import com.ccsens.tall.bean.dto.message.BaseMessageDto; -import com.ccsens.tall.bean.dto.message.DeliverMessageWithCheckerDto; -import com.ccsens.tall.bean.dto.message.DeliverMessageWithDeleteDto; -import com.ccsens.tall.bean.dto.message.DeliverMessageWithUploadDto; -import com.ccsens.tall.bean.po.*; -import com.ccsens.tall.bean.vo.DeliverVo; -import com.ccsens.tall.bean.vo.ProjectVo; -import com.ccsens.tall.bean.vo.TaskVo; -import com.ccsens.tall.persist.dao.*; -import com.ccsens.util.*; -import com.ccsens.util.exception.BaseException; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -import java.io.File; -import java.util.*; - -@Service -@Transactional(propagation = Propagation.REQUIRED) -public class TaskDeliverService implements ITaskDeliverService { - @Autowired - private TaskDeliverDao taskDeliverDao; - @Autowired - private SysCommitedFileDao commitedFileDao; - @Autowired - private ProTaskDeliverPostLogDao deliverPostLogDao; - @Autowired - private PostLogCheckerDao postLogCheckerDao; - @Autowired - private TaskDetailDao taskDetailDao; - @Autowired - private TaskSubTimeDao taskSubTimeDao; - @Autowired - private ProRoleDao proRoleDao; - @Autowired - private ProMemberDao proMemberDao; - @Autowired - private IProMemberService proMemberService; - @Autowired - private IUserService userService; - @Autowired - private IMessageService messageService; - @Autowired - private Snowflake snowflake; - - @Override - public void saveDeliver(ProTaskDeliver taskDeliver) { - taskDeliverDao.insertSelective(taskDeliver); - } - - /** - * 根据taskId查找交付物或输入文档 - */ - @Override - public List selectDeliverOrInputByTask(Long taskId, int isInput) { - List deliverInfoByMVPList = new ArrayList<>(); - Long subTimeId = isTaskOrSubTime(taskId); - ProTaskDeliverExample deliverExample = new ProTaskDeliverExample(); - deliverExample.createCriteria().andIsInputEqualTo(isInput).andTaskDetailIdEqualTo(taskId); - List deliverList = taskDeliverDao.selectByExample(deliverExample); - if (CollectionUtil.isNotEmpty(deliverList)) { - for (ProTaskDeliver deliver : deliverList) { - TaskVo.TaskDeliverByMVP.DeliverInfoByMVP deliverInfoByMVP = new TaskVo.TaskDeliverByMVP.DeliverInfoByMVP(); - deliverInfoByMVP.setId(deliver.getId()); - deliverInfoByMVP.setName(deliver.getName()); - if (ObjectUtil.isNotNull(deliver.getIsFinal())) { - if (deliver.getIsFinal() == 0) { - deliverInfoByMVP.setFinals(false); - } else if (deliver.getIsFinal() == 1) { - deliverInfoByMVP.setFinals(true); - } - } - if(ObjectUtil.isNotNull(subTimeId)) { - ProTaskDeliverPostLogExample logExample = new ProTaskDeliverPostLogExample(); - logExample.createCriteria().andDeliverIdEqualTo(deliver.getId()).andTaskSubTimeIdEqualTo(subTimeId).andIsHistoryEqualTo(0); - logExample.setOrderByClause("time DESC"); - List postLogList = deliverPostLogDao.selectByExample(logExample); - if (CollectionUtil.isNotEmpty(postLogList)) { - ProTaskDeliverPostLog postLog = postLogList.get(0); - SysCommitedFile file = commitedFileDao.selectByPrimaryKey(postLog.getFileId()); - deliverInfoByMVP.setUrl(WebConstant.URL_BASE + file.getPath()); - - ProTaskDeliverPostLogCheckerExample checkerExample = new ProTaskDeliverPostLogCheckerExample(); - checkerExample.createCriteria().andDeliverPostLogIdEqualTo(postLog.getId()); - List postLogCheckerList = postLogCheckerDao.selectByExample(checkerExample); - if (CollectionUtil.isNotEmpty(postLogCheckerList)) { - Boolean isChecker = false; - for (ProTaskDeliverPostLogChecker checker : postLogCheckerList) { - if (checker.getCheckStatus() == 0) { - deliverInfoByMVP.setStatus("待检查"); - isChecker = true; - } else { - deliverInfoByMVP.setStatus("未通过"); - break; - } - } - if (!isChecker) { - deliverInfoByMVP.setStatus("已通过"); - } - } - } else { - deliverInfoByMVP.setStatus("未上传"); - } - } - deliverInfoByMVPList.add(deliverInfoByMVP); - } - } - - return deliverInfoByMVPList; - } - - /** - * 上传文件 - */ - @Override - public DeliverVo.DFile uploadDeliver(String filePath, String name) { - //添加文件File - SysCommitedFile commitedFile = new SysCommitedFile(); - commitedFile.setId(snowflake.nextId()); - commitedFile.setName(name); - commitedFile.setPath(filePath); - String md5 = Md5Util.getFileMD5(new File(WebConstant.UPLOAD_PATH_BASE + File.separator + filePath)); - String sha1 = Sha1Util.getFileSha1(new File(WebConstant.UPLOAD_PATH_BASE + File.separator + filePath)); - commitedFile.setMd5(md5); - commitedFile.setSha1(sha1); - commitedFile.setCount(1); - commitedFile.setTime(System.currentTimeMillis()); - commitedFileDao.insertSelective(commitedFile); - - DeliverVo.DFile dFile = new DeliverVo.DFile(); - dFile.setId(commitedFile.getId()); - dFile.setName(commitedFile.getName()); - dFile.setUrl(commitedFile.getPath()); - return dFile; - } - - /** - * 将文件绑定交付物 - */ - @Override - public ProjectVo.DeliverInfo addDeliver(Long currentUserId, DeliverDto.UploadDeliver uploadDeliver) throws Exception { - Long subTimeId = isTaskOrSubTime(uploadDeliver.getTaskId()); - if(ObjectUtil.isNull(subTimeId)){ - throw new BaseException(CodeEnum.NOT_TASK); - } - ProjectVo.DeliverInfo deliverInfo = null; - //查找交付 - ProTaskDeliver d = taskDeliverDao.selectByPrimaryKey(uploadDeliver.getDeliverId()); - if (ObjectUtil.isNull(d)) { - throw new BaseException(CodeEnum.NOT_DELIVER); - } - - ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(d.getTaskDetailId()); - ProRole role = proRoleDao.selectByPrimaryKey(taskDetail.getExecutorRole()); - Boolean isBelongRole = proMemberService.userIsBelongRole(currentUserId, role.getId()); - if (role.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.AllMember.phase) || isBelongRole) { - //发送信息 - List messageUserList = new ArrayList<>(); - BaseMessageDto.MessageUser messageUser = null; - List userIdList = new ArrayList<>(); - //查找以前的交付物。如果有,改为历史信息 - ProTaskDeliverPostLogExample logExample = new ProTaskDeliverPostLogExample(); - logExample.createCriteria().andTaskSubTimeIdEqualTo(subTimeId) - .andDeliverIdEqualTo(uploadDeliver.getDeliverId()).andUserIdEqualTo(currentUserId); - List deliverPostLogList = deliverPostLogDao.selectByExample(logExample); - if (CollectionUtil.isNotEmpty(deliverPostLogList)) { - for (ProTaskDeliverPostLog deliverPostLog : deliverPostLogList) { - if (deliverPostLog.getIsHistory() == 0) { - deliverPostLog.setIsHistory(1); - deliverPostLogDao.updateByPrimaryKeySelective(deliverPostLog); - } - } - } - //添加PostLog - if (CollectionUtil.isNotEmpty(uploadDeliver.getFileInfo())) { - for (DeliverDto.fileInfo fileInfo : uploadDeliver.getFileInfo()) { - SysCommitedFile file = commitedFileDao.selectByPrimaryKey(fileInfo.getId()); - if (ObjectUtil.isNotNull(file)) { - ProTaskDeliverPostLog deliverPostLog = new ProTaskDeliverPostLog(); - deliverPostLog.setId(snowflake.nextId()); - deliverPostLog.setDeliverId(uploadDeliver.getDeliverId()); - deliverPostLog.setTaskSubTimeId(subTimeId); - deliverPostLog.setFileId(fileInfo.getId()); - deliverPostLog.setUserId(currentUserId); - deliverPostLog.setDescription(uploadDeliver.getDescription()); - deliverPostLog.setTime(System.currentTimeMillis()); - deliverPostLog.setIsHistory(0); - deliverPostLogDao.insertSelective(deliverPostLog); - //添加交付物检查人表 - if (CollectionUtil.isNotEmpty(uploadDeliver.getCheckerIdList())) { - ProTaskDeliverPostLogChecker postLogChecker = null; - for (Long checkerId : uploadDeliver.getCheckerIdList()) { - postLogChecker = new ProTaskDeliverPostLogChecker(); - postLogChecker.setId(snowflake.nextId()); - postLogChecker.setDeliverPostLogId(deliverPostLog.getId()); - postLogChecker.setCheckerId(checkerId); - postLogCheckerDao.insertSelective(postLogChecker); - } - } else { - throw new BaseException(CodeEnum.NOT_CHECKER); - } - } else { - throw new BaseException(CodeEnum.NOT_DELIVER_FILE); - } - } - } - - //修改交付物状态 - ProTaskDeliver deliver = new ProTaskDeliver(); - deliver.setId(uploadDeliver.getDeliverId()); - deliver.setIsUpload(1); - taskDeliverDao.updateByPrimaryKeySelective(deliver); - - //返回 - List deliverInfoList = taskDeliverDao.selectByDeliverId(uploadDeliver.getDeliverId()); - if (CollectionUtil.isNotEmpty(deliverInfoList)) { - deliverInfo = deliverInfoList.get(0); - deliverInfo.setUrl(WebConstant.URL_BASE + deliverInfo.getUrl()); - } - - //消息的内容 - if (CollectionUtil.isNotEmpty(userIdList)) { - HashSet h = new HashSet<>(userIdList); - userIdList.clear(); - userIdList.addAll(h); - for (Long userId : userIdList) { - messageUser = new BaseMessageDto.MessageUser(); - messageUser.setUserId(userId); - messageUserList.add(messageUser); - } - } - DeliverMessageWithUploadDto uploadMessage = new DeliverMessageWithUploadDto(); - DeliverMessageWithUploadDto.Data uploadMessageData = new DeliverMessageWithUploadDto.Data(); - uploadMessageData.setProjectId(taskDetail.getProjectId()); - if (role.getName().equals(WebConstant.ROLE_NAME.AllMember.phase)) { - List roleList = proMemberService.selectRolesByUserIdAndProjectId(currentUserId, taskDetail.getProjectId()); - uploadMessageData.setRoleId(roleList.get(0).getId()); - } else { - uploadMessageData.setRoleId(taskDetail.getExecutorRole()); - } - uploadMessageData.setTaskId(taskDetail.getId()); - uploadMessageData.setDeliverId(d.getId()); - uploadMessageData.setDeliverName(d.getName()); - uploadMessageData.setUploadTime(System.currentTimeMillis()); - uploadMessageData.setFile(uploadDeliver.getFileInfo()); - uploadMessage.setData(uploadMessageData); - - uploadMessage.setReceivers(messageUserList); - messageService.sendDeliverMessageWithUpload(uploadMessage); - } else { - throw new BaseException(CodeEnum.IS_NOT_EXECUTOR); - } - return deliverInfo; - } - /** - * 判断id是taskId还是subTimeId - * @param id - * @return subTimeId - */ - private Long isTaskOrSubTime(Long id){ - Long subTimeId = null; - //获取今天的开始结束时间 - Long startTime = DateUtil.getYMD(cn.hutool.core.date.DateUtil.date()).getTime(); - Long endTime = DateUtil.getYMD(cn.hutool.core.date.DateUtil.tomorrow()).getTime(); - //判断传入的信息是详情id还是subTimeId - ProTaskSubTime taskSubTime = taskSubTimeDao.selectByPrimaryKey(id); - ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(id); - if(ObjectUtil.isNotNull(taskSubTime)){ - subTimeId = taskSubTime.getId(); - }else if(ObjectUtil.isNotNull(taskDetail)){ - Long now = System.currentTimeMillis(); - subTimeId = taskDetailDao.selectSubTimeByTaskIdAndTime(taskDetail.getId(),now); -// if(ObjectUtil.isNotNull(subTime)){ -// subTimeId = subTime.getId(); -// } - } - return subTimeId; - } - - - /** - * 获取任务下所有交付物的信息 - * - * @param currentUserId - * @param - * @return - * @throws Exception - */ - @Override - public List selectTaskDeliver(Long currentUserId, Long taskId) throws Exception { - Long subTimeId = isTaskOrSubTime(taskId); - if(ObjectUtil.isNull(subTimeId)){ - throw new BaseException(CodeEnum.NOT_TASK); - } - List deliverInfoList = new ArrayList<>(); - DeliverVo.DeliverInfo deliverInfo = null; - ProTaskSubTime subTime = taskSubTimeDao.selectByPrimaryKey(subTimeId); - if (ObjectUtil.isNotNull(subTimeId)) { - //获取角色负责人信息 - - //获取任务下所有交付物 - ProTaskDeliverExample deliverExample = new ProTaskDeliverExample(); - deliverExample.createCriteria().andTaskDetailIdEqualTo(subTime.getTaskDetailId()); - List taskDeliverList = taskDeliverDao.selectByExample(deliverExample); - if (CollectionUtil.isNotEmpty(taskDeliverList)) { - for (ProTaskDeliver deliver : taskDeliverList) { - if (deliver.getIsInput() == 0) { - deliverInfo = selectDeliverInfo(currentUserId, deliver.getId(), subTimeId); - deliverInfoList.add(deliverInfo); - } - } - } - } - return deliverInfoList; - -// //获取此用户在这个项目中的角色 -// ProTaskDetail task = taskDetailDao.selectByPrimaryKey(taskId); -// List roleList = proMemberService.selectRolesByUserIdAndProjectId(currentUserId, task.getProjectId()); -// //查找交付物的信息 -// List deliverInfoList = taskDeliverDao.selectBySubTimeId(subTimeId); -// if(CollectionUtil.isNotEmpty(deliverInfoList)){ -// for(DeliverVo.DeliverInfo deliverInfo:deliverInfoList){ -// if(CollectionUtil.isNotEmpty(deliverInfo.getFileList())) { -// for(DeliverVo.FilePath filePath:deliverInfo.getFileList()) { -// Boolean isChecker = false; -// //修改文件路径为可下载路径 -// filePath.setUrl(WebConstant.URL_BASE + filePath.getUrl()); -// if (ObjectUtil.isNotNull(filePath.getUploaderId())) { -// //添加上传人的姓名信息 -// ProMember member = proMemberService.selectByUserId(filePath.getUploaderId(),task.getProjectId()); -// if (ObjectUtil.isNotNull(member)) { -// filePath.setUploaderName(member.getNickname()); -// } -// //添加上传人所属的角色 -// List dRoleList = new ArrayList<>(); -// List uploaderRoleList = proMemberService.selectRolesByUserIdAndProjectId(filePath.getUploaderId(), task.getProjectId()); -// if (CollectionUtil.isNotEmpty(uploaderRoleList)) { -// for (ProRole role : uploaderRoleList) { -// DeliverVo.DRole dRole = new DeliverVo.DRole(); -// dRole.setId(role.getId()); -// dRole.setName(role.getName()); -// dRoleList.add(dRole); -// } -// } -// filePath.setRole(dRoleList); -// } -// //添加检查人的名称信息 -// if(CollectionUtil.isNotEmpty(filePath.getCheckerList())){ -// for (DeliverVo.Checker checker:filePath.getCheckerList()){ -// ProRole role = proRoleDao.selectByPrimaryKey(checker.getCheckerId()); -// checker.setCheckerName(role.getName()); -// //该用户是否是此交付物的检查人 -// isChecker = false; -// if (CollectionUtil.isNotEmpty(roleList)) { -// for (ProRole proRole : roleList) { -// if (proRole.getId().longValue() == checker.getCheckerId().longValue()) { -// isChecker = true; -// break; -// } -// } -// } -// } -// } -// filePath.setIsChecker(isChecker); -// } -// } -// } -// } -// return deliverInfoList; - } - - /** - * 查看单个交付物的信息 - * - * @param currentUserId - * @param deliverId - * @return - */ - @Override - public DeliverVo.DeliverInfo selectDeliverInfo(Long currentUserId, Long deliverId, Long taskId) throws Exception { - Long subTimeId = isTaskOrSubTime(taskId); - if(ObjectUtil.isNull(subTimeId)){ - throw new BaseException(CodeEnum.NOT_TASK); - } - - DeliverVo.DeliverInfo deliverInfo = new DeliverVo.DeliverInfo(); - ProTaskDeliver deliver = taskDeliverDao.selectByPrimaryKey(deliverId); - - //获取此用户在这个项目中的角色 - ProTaskDetail task = taskDetailDao.selectByPrimaryKey(deliver.getTaskDetailId()); - List roleList = proMemberService.selectRolesByUserIdAndProjectId(currentUserId, task.getProjectId()); - - if (ObjectUtil.isNotNull(deliver)) { - deliverInfo.setDeliverId(deliver.getId()); - deliverInfo.setDeliverName(deliver.getName()); - } - //负责人信息 - List executorRoleList = new ArrayList<>(); - DeliverVo.DRole executorRole = null; - ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(taskSubTimeDao.selectByPrimaryKey(subTimeId).getTaskDetailId()); - if(ObjectUtil.isNotNull(taskDetail)){ - ProRole role = proRoleDao.selectByPrimaryKey(taskDetail.getExecutorRole()); - if(ObjectUtil.isNotNull(role)){ - if(role.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.AllMember.phase)){ - List roleInfoList = proRoleDao.selectSecondRolesByProjectId(taskDetail.getProjectId()); - if(CollectionUtil.isNotEmpty(roleInfoList)){ - for(ProjectVo.RoleInfo roleInfo:roleInfoList){ - executorRole = new DeliverVo.DRole(); - executorRole.setId(roleInfo.getId()); - executorRole.setName(roleInfo.getName()); - executorRoleList.add(executorRole); - } - } - }else { - executorRole = new DeliverVo.DRole(); - executorRole.setId(role.getId()); - executorRole.setName(role.getName()); - executorRoleList.add(executorRole); - } - deliverInfo.setExecutorRoleList(executorRoleList); - } - } - - //检查人信息 - List checkerList = null; - Boolean isChecker = false; - DeliverVo.Checker checker = null; - //交付物文件的信息按时间排序 - List fileIds = taskDeliverDao.selectFileIdByDeliverId(deliver.getId(), subTimeId); - if (CollectionUtil.isNotEmpty(fileIds)) { - for (DeliverVo.FilePath filePath : fileIds) { - //修改文件路径为可下载路径 - filePath.setUrl(WebConstant.URL_BASE + filePath.getUrl()); - if (ObjectUtil.isNotNull(filePath.getUploaderId())) { - //添加上传人的姓名信息 - ProMember member = proMemberService.selectByUserId(filePath.getUploaderId(), task.getProjectId()); - if (ObjectUtil.isNotNull(member)) { - filePath.setUploaderName(member.getNickname()); - } - //添加上传人所属的角色 - List dRoleList = new ArrayList<>(); - List uploaderRoleList = proMemberService.selectRolesByUserIdAndProjectId(filePath.getUploaderId(), task.getProjectId()); - if (CollectionUtil.isNotEmpty(uploaderRoleList)) { - for (ProRole role : uploaderRoleList) { - DeliverVo.DRole dRole = new DeliverVo.DRole(); - dRole.setId(role.getId()); - dRole.setName(role.getName()); - dRoleList.add(dRole); - } - } - filePath.setRole(dRoleList); - } - - checkerList = new ArrayList<>(); - ProTaskDeliverPostLogCheckerExample checkerExample = new ProTaskDeliverPostLogCheckerExample(); - checkerExample.createCriteria().andDeliverPostLogIdEqualTo(filePath.getPostLogId()); - List postLogCheckerList = postLogCheckerDao.selectByExample(checkerExample); - if (CollectionUtil.isNotEmpty(postLogCheckerList)) { - for (ProTaskDeliverPostLogChecker postLogChecker : postLogCheckerList) { - ProRole role = proRoleDao.selectByPrimaryKey(postLogChecker.getCheckerId()); - checker = new DeliverVo.Checker(); - checker.setCheckerId(postLogChecker.getCheckerId()); - checker.setCheckerName(role.getName()); - checker.setRemark(postLogChecker.getRemark()); - checker.setCheckerStatus(postLogChecker.getCheckStatus()); - checkerList.add(checker); - if (CollectionUtil.isNotEmpty(roleList)) { - for (ProRole proRole : roleList) { - if (proRole.getId().longValue() == postLogChecker.getCheckerId().longValue()) { - isChecker = true; - break; - } - } - } - } - } - filePath.setCheckerList(checkerList); - filePath.setIsChecker(isChecker); - } - deliverInfo.setFileList(fileIds); - } - return deliverInfo; - } - - /** - * 检查人检查交付物 - */ - @Override - public DeliverVo.DeliverInfo checkDeliver(Long currentUserId, DeliverDto.CheckDeliver checkDeliver) throws Exception { - Long subTimeId = isTaskOrSubTime(checkDeliver.getTaskId()); - if(ObjectUtil.isNull(subTimeId)){ - throw new BaseException(CodeEnum.NOT_TASK); - } - List messageUserList = new ArrayList<>(); - BaseMessageDto.MessageUser messageUser = null; - ProRole checkRole = null; - - //查找该用户在此项目的角色 - ProTaskDeliver deliver = taskDeliverDao.selectByPrimaryKey(checkDeliver.getDeliverId()); - ProTaskDetail task = taskDetailDao.selectByPrimaryKey(deliver.getTaskDetailId()); - ProRole Role = proRoleDao.selectByPrimaryKey(task.getExecutorRole()); - List roleList = proMemberService.selectRolesByUserIdAndProjectId(currentUserId, task.getProjectId()); - if (CollectionUtil.isNotEmpty(roleList)) { - for (ProRole role : roleList) { - ProTaskDeliverPostLogExample logExample = new ProTaskDeliverPostLogExample(); - logExample.createCriteria().andTaskSubTimeIdEqualTo(subTimeId); - logExample.setOrderByClause("time DESC"); - List deliverPostLogList = deliverPostLogDao.selectByExample(logExample); - if (CollectionUtil.isNotEmpty(deliverPostLogList)) { - for (ProTaskDeliverPostLog postLog : deliverPostLogList) { - ProTaskDeliverPostLogCheckerExample checkerExample = new ProTaskDeliverPostLogCheckerExample(); - checkerExample.createCriteria().andDeliverPostLogIdEqualTo(postLog.getId()); - List postLogCheckerList = postLogCheckerDao.selectByExample(checkerExample); - if (CollectionUtil.isNotEmpty(postLogCheckerList)) { - for (ProTaskDeliverPostLogChecker postLogChecker : postLogCheckerList) { - if (role.getId().longValue() == postLogChecker.getCheckerId().longValue()) { - postLogChecker.setRemark(checkDeliver.getText()); - if (checkDeliver.getCheckStatus()) { - postLogChecker.setCheckStatus(1); - } else { - postLogChecker.setCheckStatus(-1); - } - postLogCheckerDao.updateByPrimaryKeySelective(postLogChecker); - } - } - } - messageUser = new BaseMessageDto.MessageUser(); - messageUser.setUserId(postLog.getUserId()); - messageUserList.add(messageUser); - checkRole = role; - } - } - if (ObjectUtil.isNull(checkRole)) { - throw new BaseException(CodeEnum.IS_NOT_CHECKER); - } - } - } - //发送消息 - Long checkTime = System.currentTimeMillis(); - DeliverMessageWithCheckerDto checkerDto = new DeliverMessageWithCheckerDto(); - DeliverMessageWithCheckerDto.Data checkerDtoData = new DeliverMessageWithCheckerDto.Data(); - checkerDtoData.setProjectId(task.getProjectId()); - if (Role.getName().equals(WebConstant.ROLE_NAME.AllMember.phase)) { - checkerDtoData.setRoleId(roleList.get(0).getId()); - } else { - checkerDtoData.setRoleId(task.getExecutorRole()); - } - checkerDtoData.setTaskId(task.getId()); - checkerDtoData.setDeliverId(deliver.getId()); - checkerDtoData.setDeliverName(deliver.getName()); - checkerDtoData.setCheckRoleId(checkRole.getId()); - checkerDtoData.setCheckRoleName(checkRole.getName()); - checkerDtoData.setCheckTime(checkTime); - checkerDtoData.setIsChecker(checkDeliver.getCheckStatus()); - checkerDto.setData(checkerDtoData); - - checkerDto.setReceivers(messageUserList); - messageService.sendDeliverMessageWithChecker(checkerDto); - - //检查完,返回数据 - DeliverVo.DeliverInfo deliverInfo = selectDeliverInfo(currentUserId, deliver.getId(), checkDeliver.getTaskId()); - return deliverInfo; - } - - /** - * 交付物清单 - * - * @param currentUserId - * @param page - * @param pageSize - * @param key - * @param start - * @param end - * @return - * @throws Exception - */ - @Override - public DeliverVo.DeliverFileList selectDeliverList(Long currentUserId, Integer page, Integer pageSize, String - key, String start, String end) throws Exception { - DeliverVo.DeliverFileList deliver = new DeliverVo.DeliverFileList(); - DeliverVo.PageInfo pageInfo = new DeliverVo.PageInfo(); - List deliverFileList = taskDeliverDao.selectDeliverByUserId(currentUserId); - - //根据时间筛选 - if (StrUtil.isNotEmpty(start) && StrUtil.isNotEmpty(end)) { - //获取日期的开始结束时间 - Long startMillisTime = null; - Long endMillisTime = null; - Map timeMap = null; - if (StrUtil.isNotEmpty(start)) { - timeMap = DateUtil.projectFormatDateTime(start); - startMillisTime = timeMap.get("startMillisTime"); - } - if (StrUtil.isNotEmpty(end)) { - timeMap = DateUtil.projectFormatDateTime(start); - endMillisTime = timeMap.get("endMillisTime"); - } - if (CollectionUtil.isNotEmpty(deliverFileList)) { - if (ObjectUtil.isNotNull(startMillisTime) && ObjectUtil.isNotNull(endMillisTime)) { - Iterator it = deliverFileList.iterator(); - while (it.hasNext()) { - DeliverVo.DeliverFile deliverFile = it.next(); - if ((deliverFile.getTask().getBeginTime() < startMillisTime && deliverFile.getTask().getBeginTime() > endMillisTime) || - (deliverFile.getTask().getEndTime() < startMillisTime) || - (deliverFile.getTask().getBeginTime() > endMillisTime)) { - it.remove(); - } - } - } - } - } - - //根据关键词筛选 - if (StrUtil.isNotEmpty(key)) { - if (CollectionUtil.isNotEmpty(deliverFileList)) { - Iterator it = deliverFileList.iterator(); - while (it.hasNext()) { - DeliverVo.DeliverFile deliverFile = it.next(); - if (deliverFile.getName().indexOf(key) == -1) { - it.remove(); - } - } - } - } - - //分页 - List theDeliverFile = null; - int totalPages = 1; - if (CollectionUtil.isNotEmpty(deliverFileList)) { - //1.计算分页条件 - if (page > 0) { - int size = deliverFileList.size(); - int num = pageSize; - totalPages = size / pageSize + 1; - int startIndex = pageSize * (page - 1); - if (startIndex >= size) { - startIndex = -1; - } else { - if (startIndex + num > size) { - num = size - startIndex; - } - } - //拷贝分页数据 - if (startIndex >= 0) { - theDeliverFile = CollectionUtil.newArrayList(); - for (int i = startIndex; i < startIndex + num; i++) { - theDeliverFile.add(deliverFileList.get(i)); - } - } - } else { //不分页 - theDeliverFile = CollectionUtil.newArrayList(deliverFileList); - } - } - pageInfo.setCurrentPage(page); - pageInfo.setTotalPage(totalPages); - deliver.setPageInfo(pageInfo); - deliver.setDeliverFileList(theDeliverFile); - return deliver; - } - - /** - * 删除交付物(修改状态变成历史项目) - * - * @param currentUserId - * @param deliverId - * @param taskId - */ - @Override - public void deleteDeliver(Long currentUserId, Long deliverId, Long taskId) throws Exception { - ProTaskDeliver deliver = taskDeliverDao.selectByPrimaryKey(deliverId); - Long subTimeId = isTaskOrSubTime(taskId); - //接受消息的角色 - List messageUserList = new ArrayList<>(); - BaseMessageDto.MessageUser messageUser = null; - List userIdList = new ArrayList<>(); - - //同步锁,防止多个用户同时操作该数据 - synchronized (this) { - //查找此交付物与文件的中间表 - ProTaskDeliverPostLogExample deliverPostLogExample = new ProTaskDeliverPostLogExample(); - deliverPostLogExample.createCriteria().andDeliverIdEqualTo(deliverId).andTaskSubTimeIdEqualTo(subTimeId); - List deliverPostLogList = deliverPostLogDao.selectByExample(deliverPostLogExample); - - if (CollectionUtil.isNotEmpty(deliverPostLogList)) { - for (ProTaskDeliverPostLog deliverPostLog : deliverPostLogList) { - if (currentUserId.longValue() == deliverPostLog.getUserId().longValue()) { - if (deliverPostLog.getIsHistory() == 0) { - deliverPostLog.setIsHistory(1); - deliverPostLogDao.updateByPrimaryKeySelective(deliverPostLog); - } - ProTaskDeliverPostLogCheckerExample checkerExample = new ProTaskDeliverPostLogCheckerExample(); - checkerExample.createCriteria().andDeliverPostLogIdEqualTo(deliverPostLog.getId()); - List postCheckerList = postLogCheckerDao.selectByExample(checkerExample); - if (CollectionUtil.isNotEmpty(postCheckerList)) { - for (ProTaskDeliverPostLogChecker postLogChecker : postCheckerList) { - userIdList.addAll(userService.selectUserIdByRoleId(postLogChecker.getCheckerId())); - } - } - } else { - throw new BaseException("您无法删除别人上传的交付物"); - } - } - } - deliver.setIsUpload(0); - taskDeliverDao.updateByPrimaryKeySelective(deliver); - - ProTaskDetail task = taskDetailDao.selectByPrimaryKey(deliver.getTaskDetailId()); - ProRole role = proRoleDao.selectByPrimaryKey(task.getExecutorRole()); - //发送消息 - if (CollectionUtil.isNotEmpty(userIdList)) { - HashSet h = new HashSet<>(userIdList); - userIdList.clear(); - userIdList.addAll(h); - for (Long userId : userIdList) { - messageUser = new BaseMessageDto.MessageUser(); - messageUser.setUserId(userId); - messageUserList.add(messageUser); - } - } - - Long deleteTime = System.currentTimeMillis(); - DeliverMessageWithDeleteDto deleteMessage = new DeliverMessageWithDeleteDto(); - DeliverMessageWithDeleteDto.Data deleteMessageData = new DeliverMessageWithDeleteDto.Data(); - deleteMessageData.setProjectId(task.getProjectId()); -// if (role.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.AllMember.phase)) { -// List roleList = memberService.selectRolesByUserIdAndProjectId(currentUserId, task.getProjectId()); -// deleteMessageData.setRoleId(roleList.get(0).getId()); -// } else { -// -// } - deleteMessageData.setRoleId(task.getExecutorRole()); - deleteMessageData.setTaskId(task.getId()); - deleteMessageData.setDeliverId(deliverId); - deleteMessageData.setDeliverName(deliver.getName()); - deleteMessageData.setDeleteTime(deleteTime); - deleteMessageData.setUserId(currentUserId); - deleteMessage.setData(deleteMessageData); - - deleteMessage.setReceivers(messageUserList); - messageService.sendDeliverMessageWithDelete(deleteMessage); - } - } - - //========================================================= - @Override - public void deleteDeliverByTaskId(Long taskId) { - //查找已上传的文件 - - } - - //删除文件 - public void deleteFile(String path) { - File file = new File(path); - // 路径为文件且不为空则进行删除 - if (file.isFile() && file.exists()) { - file.delete(); - } - } -} +package com.ccsens.tall.service; + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.lang.Snowflake; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.ccsens.tall.bean.dto.DeliverDto; +import com.ccsens.tall.bean.dto.message.BaseMessageDto; +import com.ccsens.tall.bean.dto.message.DeliverMessageWithCheckerDto; +import com.ccsens.tall.bean.dto.message.DeliverMessageWithDeleteDto; +import com.ccsens.tall.bean.dto.message.DeliverMessageWithUploadDto; +import com.ccsens.tall.bean.po.*; +import com.ccsens.tall.bean.vo.DeliverVo; +import com.ccsens.tall.bean.vo.ProjectVo; +import com.ccsens.tall.bean.vo.TaskVo; +import com.ccsens.tall.persist.dao.*; +import com.ccsens.util.*; +import com.ccsens.util.exception.BaseException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import java.io.File; +import java.util.*; + +@Service +@Transactional(propagation = Propagation.REQUIRED) +public class TaskDeliverService implements ITaskDeliverService { + @Autowired + private TaskDeliverDao taskDeliverDao; + @Autowired + private SysCommitedFileDao commitedFileDao; + @Autowired + private ProTaskDeliverPostLogDao deliverPostLogDao; + @Autowired + private PostLogCheckerDao postLogCheckerDao; + @Autowired + private TaskDetailDao taskDetailDao; + @Autowired + private TaskSubTimeDao taskSubTimeDao; + @Autowired + private ProRoleDao proRoleDao; + @Autowired + private ProSubTimeMemberDao proSubTimeMemberDao; + @Autowired + private ProMemberDao proMemberDao; + @Autowired + private IProMemberService proMemberService; + @Autowired + private IUserService userService; + @Autowired + private IMessageService messageService; + @Autowired + private Snowflake snowflake; + + @Override + public void saveDeliver(ProTaskDeliver taskDeliver) { + taskDeliverDao.insertSelective(taskDeliver); + } + + /** + * 根据taskId查找交付物或输入文档 + */ + @Override + public List selectDeliverOrInputByTask(Long taskId, int isInput) { + List deliverInfoByMVPList = new ArrayList<>(); + Long subTimeId = isTaskOrSubTime(taskId); + ProTaskDeliverExample deliverExample = new ProTaskDeliverExample(); + deliverExample.createCriteria().andIsInputEqualTo(isInput).andTaskDetailIdEqualTo(taskId); + List deliverList = taskDeliverDao.selectByExample(deliverExample); + if (CollectionUtil.isNotEmpty(deliverList)) { + for (ProTaskDeliver deliver : deliverList) { + TaskVo.TaskDeliverByMVP.DeliverInfoByMVP deliverInfoByMVP = new TaskVo.TaskDeliverByMVP.DeliverInfoByMVP(); + deliverInfoByMVP.setId(deliver.getId()); + deliverInfoByMVP.setName(deliver.getName()); + if (ObjectUtil.isNotNull(deliver.getIsFinal())) { + if (deliver.getIsFinal() == 0) { + deliverInfoByMVP.setFinals(false); + } else if (deliver.getIsFinal() == 1) { + deliverInfoByMVP.setFinals(true); + } + } + if (ObjectUtil.isNotNull(subTimeId)) { + ProTaskDeliverPostLogExample logExample = new ProTaskDeliverPostLogExample(); + logExample.createCriteria().andDeliverIdEqualTo(deliver.getId()).andTaskSubTimeIdEqualTo(subTimeId).andIsHistoryEqualTo(0); + logExample.setOrderByClause("time DESC"); + List postLogList = deliverPostLogDao.selectByExample(logExample); + if (CollectionUtil.isNotEmpty(postLogList)) { + ProTaskDeliverPostLog postLog = postLogList.get(0); + SysCommitedFile file = commitedFileDao.selectByPrimaryKey(postLog.getFileId()); + deliverInfoByMVP.setUrl(WebConstant.URL_BASE + file.getPath()); + + ProTaskDeliverPostLogCheckerExample checkerExample = new ProTaskDeliverPostLogCheckerExample(); + checkerExample.createCriteria().andDeliverPostLogIdEqualTo(postLog.getId()); + List postLogCheckerList = postLogCheckerDao.selectByExample(checkerExample); + if (CollectionUtil.isNotEmpty(postLogCheckerList)) { + Boolean isChecker = false; + for (ProTaskDeliverPostLogChecker checker : postLogCheckerList) { + if (checker.getCheckStatus() == 0) { + deliverInfoByMVP.setStatus("待检查"); + isChecker = true; + } else { + deliverInfoByMVP.setStatus("未通过"); + break; + } + } + if (!isChecker) { + deliverInfoByMVP.setStatus("已通过"); + } + } + } else { + deliverInfoByMVP.setStatus("未上传"); + } + } + deliverInfoByMVPList.add(deliverInfoByMVP); + } + } + return deliverInfoByMVPList; + } + + /** + * 上传文件 + */ + @Override + public DeliverVo.DFile uploadDeliver(String filePath, String name) { + //添加文件File + SysCommitedFile commitedFile = new SysCommitedFile(); + commitedFile.setId(snowflake.nextId()); + commitedFile.setName(name); + commitedFile.setPath(filePath); + String md5 = Md5Util.getFileMD5(new File(WebConstant.UPLOAD_PATH_BASE + File.separator + filePath)); + String sha1 = Sha1Util.getFileSha1(new File(WebConstant.UPLOAD_PATH_BASE + File.separator + filePath)); + commitedFile.setMd5(md5); + commitedFile.setSha1(sha1); + commitedFile.setCount(1); + commitedFile.setTime(System.currentTimeMillis()); + commitedFileDao.insertSelective(commitedFile); + + DeliverVo.DFile dFile = new DeliverVo.DFile(); + dFile.setId(commitedFile.getId()); + dFile.setName(commitedFile.getName()); + dFile.setUrl(commitedFile.getPath()); + return dFile; + } + + /** + * 将文件绑定交付物 + */ + @Override + public ProjectVo.DeliverInfo addDeliver(Long currentUserId, DeliverDto.UploadDeliver uploadDeliver) throws Exception { + Long subTimeId = isTaskOrSubTime(uploadDeliver.getTaskId()); + if (ObjectUtil.isNull(subTimeId)) { + throw new BaseException(CodeEnum.NOT_TASK); + } + ProjectVo.DeliverInfo deliverInfo = null; + //查找交付 + ProTaskDeliver d = taskDeliverDao.selectByPrimaryKey(uploadDeliver.getDeliverId()); + if (ObjectUtil.isNull(d)) { + throw new BaseException(CodeEnum.NOT_DELIVER); + } + + ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(d.getTaskDetailId()); + ProRole role = proRoleDao.selectByPrimaryKey(taskDetail.getExecutorRole()); + Boolean isBelongRole = proMemberService.userIsBelongRole(currentUserId, role.getId()); + if (role.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.AllMember.phase) || isBelongRole) { + //发送信息 + List messageUserList = new ArrayList<>(); + BaseMessageDto.MessageUser messageUser = null; + List userIdList = new ArrayList<>(); + //查找以前的交付物。如果有,改为历史信息 + ProTaskDeliverPostLogExample logExample = new ProTaskDeliverPostLogExample(); + logExample.createCriteria().andTaskSubTimeIdEqualTo(subTimeId) + .andDeliverIdEqualTo(uploadDeliver.getDeliverId()).andUserIdEqualTo(currentUserId); + List deliverPostLogList = deliverPostLogDao.selectByExample(logExample); + if (CollectionUtil.isNotEmpty(deliverPostLogList)) { + for (ProTaskDeliverPostLog deliverPostLog : deliverPostLogList) { + if (deliverPostLog.getIsHistory() == 0) { + deliverPostLog.setIsHistory(1); + deliverPostLogDao.updateByPrimaryKeySelective(deliverPostLog); + } + } + } + //添加PostLog + if (CollectionUtil.isNotEmpty(uploadDeliver.getFileInfo())) { + for (DeliverDto.fileInfo fileInfo : uploadDeliver.getFileInfo()) { + SysCommitedFile file = commitedFileDao.selectByPrimaryKey(fileInfo.getId()); + if (ObjectUtil.isNotNull(file)) { + ProTaskDeliverPostLog deliverPostLog = new ProTaskDeliverPostLog(); + deliverPostLog.setId(snowflake.nextId()); + deliverPostLog.setDeliverId(uploadDeliver.getDeliverId()); + deliverPostLog.setTaskSubTimeId(subTimeId); + deliverPostLog.setFileId(fileInfo.getId()); + deliverPostLog.setUserId(currentUserId); + deliverPostLog.setDescription(uploadDeliver.getDescription()); + deliverPostLog.setTime(System.currentTimeMillis()); + deliverPostLog.setIsHistory(0); + deliverPostLogDao.insertSelective(deliverPostLog); + //添加交付物检查人表 + if (CollectionUtil.isNotEmpty(uploadDeliver.getCheckerIdList())) { + ProTaskDeliverPostLogChecker postLogChecker = null; + for (Long checkerId : uploadDeliver.getCheckerIdList()) { + postLogChecker = new ProTaskDeliverPostLogChecker(); + postLogChecker.setId(snowflake.nextId()); + postLogChecker.setDeliverPostLogId(deliverPostLog.getId()); + postLogChecker.setCheckerId(checkerId); + postLogCheckerDao.insertSelective(postLogChecker); + } + } else { + throw new BaseException(CodeEnum.NOT_CHECKER); + } + } else { + throw new BaseException(CodeEnum.NOT_DELIVER_FILE); + } + } + } + + //修改交付物状态 + ProTaskDeliver deliver = new ProTaskDeliver(); + deliver.setId(uploadDeliver.getDeliverId()); + deliver.setIsUpload(1); + taskDeliverDao.updateByPrimaryKeySelective(deliver); + + //返回 + List deliverInfoList = taskDeliverDao.selectByDeliverId(uploadDeliver.getDeliverId()); + if (CollectionUtil.isNotEmpty(deliverInfoList)) { + deliverInfo = deliverInfoList.get(0); + deliverInfo.setUrl(WebConstant.URL_BASE + deliverInfo.getUrl()); + } + + //消息的内容 + if (CollectionUtil.isNotEmpty(userIdList)) { + HashSet h = new HashSet<>(userIdList); + userIdList.clear(); + userIdList.addAll(h); + for (Long userId : userIdList) { + messageUser = new BaseMessageDto.MessageUser(); + messageUser.setUserId(userId); + messageUserList.add(messageUser); + } + } + DeliverMessageWithUploadDto uploadMessage = new DeliverMessageWithUploadDto(); + DeliverMessageWithUploadDto.Data uploadMessageData = new DeliverMessageWithUploadDto.Data(); + uploadMessageData.setProjectId(taskDetail.getProjectId()); + if (role.getName().equals(WebConstant.ROLE_NAME.AllMember.phase)) { + List roleList = proMemberService.selectRolesByUserIdAndProjectId(currentUserId, taskDetail.getProjectId()); + uploadMessageData.setRoleId(roleList.get(0).getId()); + } else { + uploadMessageData.setRoleId(taskDetail.getExecutorRole()); + } + uploadMessageData.setTaskId(taskDetail.getId()); + uploadMessageData.setDeliverId(d.getId()); + uploadMessageData.setDeliverName(d.getName()); + uploadMessageData.setUploadTime(System.currentTimeMillis()); + uploadMessageData.setFile(uploadDeliver.getFileInfo()); + uploadMessage.setData(uploadMessageData); + + uploadMessage.setReceivers(messageUserList); + messageService.sendDeliverMessageWithUpload(uploadMessage); + } else { + throw new BaseException(CodeEnum.IS_NOT_EXECUTOR); + } + return deliverInfo; + } + + /** + * 判断id是taskId还是subTimeId + * + * @param id + * @return subTimeId + */ + private Long isTaskOrSubTime(Long id) { + Long subTimeId = null; + //获取今天的开始结束时间 + Long startTime = DateUtil.getYMD(cn.hutool.core.date.DateUtil.date()).getTime(); + Long endTime = DateUtil.getYMD(cn.hutool.core.date.DateUtil.tomorrow()).getTime(); + //判断传入的信息是详情id还是subTimeId + ProTaskSubTime taskSubTime = taskSubTimeDao.selectByPrimaryKey(id); + ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(id); + if (ObjectUtil.isNotNull(taskSubTime)) { + subTimeId = taskSubTime.getId(); + } else if (ObjectUtil.isNotNull(taskDetail)) { + Long now = System.currentTimeMillis(); + subTimeId = taskDetailDao.selectSubTimeByTaskIdAndTime(taskDetail.getId(), now); +// if(ObjectUtil.isNotNull(subTime)){ +// subTimeId = subTime.getId(); +// } + } + return subTimeId; + } + + + /** + * 获取任务下所有交付物的信息 + * + * @param currentUserId + * @param + * @return + * @throws Exception + */ + @Override + public List selectTaskDeliver(Long currentUserId, Long taskId) throws Exception { + Long subTimeId = isTaskOrSubTime(taskId); + if (ObjectUtil.isNull(subTimeId)) { + throw new BaseException(CodeEnum.NOT_TASK); + } + List deliverInfoList = new ArrayList<>(); + DeliverVo.DeliverInfo deliverInfo = null; + ProTaskSubTime subTime = taskSubTimeDao.selectByPrimaryKey(subTimeId); + if (ObjectUtil.isNotNull(subTimeId)) { + //获取角色负责人信息 + + //获取任务下所有交付物 + ProTaskDeliverExample deliverExample = new ProTaskDeliverExample(); + deliverExample.createCriteria().andTaskDetailIdEqualTo(subTime.getTaskDetailId()); + List taskDeliverList = taskDeliverDao.selectByExample(deliverExample); + if (CollectionUtil.isNotEmpty(taskDeliverList)) { + for (ProTaskDeliver deliver : taskDeliverList) { + if (deliver.getIsInput() == 0) { + deliverInfo = selectDeliverInfo(currentUserId, deliver.getId(), subTimeId); + deliverInfoList.add(deliverInfo); + } + } + } + } + return deliverInfoList; + +// //获取此用户在这个项目中的角色 +// ProTaskDetail task = taskDetailDao.selectByPrimaryKey(taskId); +// List roleList = proMemberService.selectRolesByUserIdAndProjectId(currentUserId, task.getProjectId()); +// //查找交付物的信息 +// List deliverInfoList = taskDeliverDao.selectBySubTimeId(subTimeId); +// if(CollectionUtil.isNotEmpty(deliverInfoList)){ +// for(DeliverVo.DeliverInfo deliverInfo:deliverInfoList){ +// if(CollectionUtil.isNotEmpty(deliverInfo.getFileList())) { +// for(DeliverVo.FilePath filePath:deliverInfo.getFileList()) { +// Boolean isChecker = false; +// //修改文件路径为可下载路径 +// filePath.setUrl(WebConstant.URL_BASE + filePath.getUrl()); +// if (ObjectUtil.isNotNull(filePath.getUploaderId())) { +// //添加上传人的姓名信息 +// ProMember member = proMemberService.selectByUserId(filePath.getUploaderId(),task.getProjectId()); +// if (ObjectUtil.isNotNull(member)) { +// filePath.setUploaderName(member.getNickname()); +// } +// //添加上传人所属的角色 +// List dRoleList = new ArrayList<>(); +// List uploaderRoleList = proMemberService.selectRolesByUserIdAndProjectId(filePath.getUploaderId(), task.getProjectId()); +// if (CollectionUtil.isNotEmpty(uploaderRoleList)) { +// for (ProRole role : uploaderRoleList) { +// DeliverVo.DRole dRole = new DeliverVo.DRole(); +// dRole.setId(role.getId()); +// dRole.setName(role.getName()); +// dRoleList.add(dRole); +// } +// } +// filePath.setRole(dRoleList); +// } +// //添加检查人的名称信息 +// if(CollectionUtil.isNotEmpty(filePath.getCheckerList())){ +// for (DeliverVo.Checker checker:filePath.getCheckerList()){ +// ProRole role = proRoleDao.selectByPrimaryKey(checker.getCheckerId()); +// checker.setCheckerName(role.getName()); +// //该用户是否是此交付物的检查人 +// isChecker = false; +// if (CollectionUtil.isNotEmpty(roleList)) { +// for (ProRole proRole : roleList) { +// if (proRole.getId().longValue() == checker.getCheckerId().longValue()) { +// isChecker = true; +// break; +// } +// } +// } +// } +// } +// filePath.setIsChecker(isChecker); +// } +// } +// } +// } +// return deliverInfoList; + } + + /** + * 查看单个交付物的信息 + * + * @param currentUserId + * @param deliverId + * @return + */ + @Override + public DeliverVo.DeliverInfo selectDeliverInfo(Long currentUserId, Long deliverId, Long taskId) throws Exception { + Long subTimeId = isTaskOrSubTime(taskId); + if (ObjectUtil.isNull(subTimeId)) { + throw new BaseException(CodeEnum.NOT_TASK); + } + + DeliverVo.DeliverInfo deliverInfo = new DeliverVo.DeliverInfo(); + ProTaskDeliver deliver = taskDeliverDao.selectByPrimaryKey(deliverId); + + //获取此用户在这个项目中的角色 + ProTaskDetail task = taskDetailDao.selectByPrimaryKey(deliver.getTaskDetailId()); + List roleList = proMemberService.selectRolesByUserIdAndProjectId(currentUserId, task.getProjectId()); + + if (ObjectUtil.isNotNull(deliver)) { + deliverInfo.setDeliverId(deliver.getId()); + deliverInfo.setDeliverName(deliver.getName()); + } + //负责人信息 + List executorRoleList = new ArrayList<>(); + DeliverVo.DRole executorRole = null; + ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(taskSubTimeDao.selectByPrimaryKey(subTimeId).getTaskDetailId()); + if (ObjectUtil.isNotNull(taskDetail)) { + ProRole role = proRoleDao.selectByPrimaryKey(taskDetail.getExecutorRole()); + if (ObjectUtil.isNotNull(role)) { + if (role.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.AllMember.phase)) { + List roleInfoList = proRoleDao.selectSecondRolesByProjectId(taskDetail.getProjectId()); + if (CollectionUtil.isNotEmpty(roleInfoList)) { + for (ProjectVo.RoleInfo roleInfo : roleInfoList) { + executorRole = new DeliverVo.DRole(); + executorRole.setId(roleInfo.getId()); + executorRole.setName(roleInfo.getName()); + executorRoleList.add(executorRole); + } + } + } else { + executorRole = new DeliverVo.DRole(); + executorRole.setId(role.getId()); + executorRole.setName(role.getName()); + executorRoleList.add(executorRole); + } + deliverInfo.setExecutorRoleList(executorRoleList); + } + } + + //检查人信息 + List checkerList = null; + Boolean isChecker = false; + DeliverVo.Checker checker = null; + //交付物文件的信息按时间排序 + List fileIds = taskDeliverDao.selectFileIdByDeliverId(deliver.getId(), subTimeId); + if (CollectionUtil.isNotEmpty(fileIds)) { + for (DeliverVo.FilePath filePath : fileIds) { + //修改文件路径为可下载路径 + filePath.setUrl(WebConstant.URL_BASE + filePath.getUrl()); + if (ObjectUtil.isNotNull(filePath.getUploaderId())) { + //添加上传人的姓名信息 + ProMember member = proMemberService.selectByUserId(filePath.getUploaderId(), task.getProjectId()); + if (ObjectUtil.isNotNull(member)) { + filePath.setUploaderName(member.getNickname()); + } + //添加上传人所属的角色 + List dRoleList = new ArrayList<>(); + List uploaderRoleList = proMemberService.selectRolesByUserIdAndProjectId(filePath.getUploaderId(), task.getProjectId()); + if (CollectionUtil.isNotEmpty(uploaderRoleList)) { + for (ProRole role : uploaderRoleList) { + DeliverVo.DRole dRole = new DeliverVo.DRole(); + dRole.setId(role.getId()); + dRole.setName(role.getName()); + dRoleList.add(dRole); + } + } + filePath.setRole(dRoleList); + } + + checkerList = new ArrayList<>(); + ProTaskDeliverPostLogCheckerExample checkerExample = new ProTaskDeliverPostLogCheckerExample(); + checkerExample.createCriteria().andDeliverPostLogIdEqualTo(filePath.getPostLogId()); + List postLogCheckerList = postLogCheckerDao.selectByExample(checkerExample); + if (CollectionUtil.isNotEmpty(postLogCheckerList)) { + for (ProTaskDeliverPostLogChecker postLogChecker : postLogCheckerList) { + ProRole role = proRoleDao.selectByPrimaryKey(postLogChecker.getCheckerId()); + checker = new DeliverVo.Checker(); + checker.setCheckerId(postLogChecker.getCheckerId()); + checker.setCheckerName(role.getName()); + checker.setRemark(postLogChecker.getRemark()); + checker.setCheckerStatus(postLogChecker.getCheckStatus()); + checkerList.add(checker); + if (CollectionUtil.isNotEmpty(roleList)) { + for (ProRole proRole : roleList) { + if (proRole.getId().longValue() == postLogChecker.getCheckerId().longValue()) { + isChecker = true; + break; + } + } + } + } + } + filePath.setCheckerList(checkerList); + filePath.setIsChecker(isChecker); + } + deliverInfo.setFileList(fileIds); + } + return deliverInfo; + } + + /** + * 检查人检查交付物 + */ + @Override + public DeliverVo.DeliverInfo checkDeliver(Long currentUserId, DeliverDto.CheckDeliver checkDeliver) throws Exception { + Long subTimeId = isTaskOrSubTime(checkDeliver.getTaskId()); + if (ObjectUtil.isNull(subTimeId)) { + throw new BaseException(CodeEnum.NOT_TASK); + } + List messageUserList = new ArrayList<>(); + BaseMessageDto.MessageUser messageUser = null; + ProRole checkRole = null; + + //查找该用户在此项目的角色 + ProTaskDeliver deliver = taskDeliverDao.selectByPrimaryKey(checkDeliver.getDeliverId()); + ProTaskDetail task = taskDetailDao.selectByPrimaryKey(deliver.getTaskDetailId()); + ProRole proRole = proRoleDao.selectByPrimaryKey(task.getExecutorRole()); + List roleList = proMemberService.selectRolesByUserIdAndProjectId(currentUserId, task.getProjectId()); + if (CollectionUtil.isNotEmpty(roleList)) { + for (ProRole role : roleList) { + ProTaskDeliverPostLogExample logExample = new ProTaskDeliverPostLogExample(); + logExample.createCriteria().andDeliverIdEqualTo(checkDeliver.getDeliverId()).andTaskSubTimeIdEqualTo(subTimeId); + logExample.setOrderByClause("time DESC"); + List deliverPostLogList = deliverPostLogDao.selectByExample(logExample); + if (CollectionUtil.isNotEmpty(deliverPostLogList)) { + ProTaskDeliverPostLog postLog = deliverPostLogList.get(0); +// for (ProTaskDeliverPostLog postLog : deliverPostLogList) { + ProTaskDeliverPostLogCheckerExample checkerExample = new ProTaskDeliverPostLogCheckerExample(); + checkerExample.createCriteria().andDeliverPostLogIdEqualTo(postLog.getId()).andCheckerIdEqualTo(role.getId()); + List postLogCheckerList = postLogCheckerDao.selectByExample(checkerExample); + if (CollectionUtil.isNotEmpty(postLogCheckerList)) { + for (ProTaskDeliverPostLogChecker postLogChecker : postLogCheckerList) { + if (role.getId().longValue() == postLogChecker.getCheckerId().longValue()) { + postLogChecker.setRemark(checkDeliver.getText()); + if (checkDeliver.getCheckStatus()) { + postLogChecker.setCheckStatus(1); + } else { + postLogChecker.setCheckStatus(-1); + returnTask(subTimeId); + } + postLogCheckerDao.updateByPrimaryKeySelective(postLogChecker); + } + } + } + messageUser = new BaseMessageDto.MessageUser(); + messageUser.setUserId(postLog.getUserId()); + messageUserList.add(messageUser); + checkRole = role; +// } + } + if (ObjectUtil.isNull(checkRole)) { + throw new BaseException(CodeEnum.IS_NOT_CHECKER); + } + } + } + //发送消息 + Long checkTime = System.currentTimeMillis(); + DeliverMessageWithCheckerDto checkerDto = new DeliverMessageWithCheckerDto(); + DeliverMessageWithCheckerDto.Data checkerDtoData = new DeliverMessageWithCheckerDto.Data(); + checkerDtoData.setProjectId(task.getProjectId()); + if (proRole.getName().equals(WebConstant.ROLE_NAME.AllMember.phase)) { + checkerDtoData.setRoleId(roleList.get(0).getId()); + } else { + checkerDtoData.setRoleId(task.getExecutorRole()); + } + checkerDtoData.setTaskId(task.getId()); + checkerDtoData.setDeliverId(deliver.getId()); + checkerDtoData.setDeliverName(deliver.getName()); + if(ObjectUtil.isNotNull(checkRole)) { + checkerDtoData.setCheckRoleId(checkRole.getId()); + checkerDtoData.setCheckRoleName(checkRole.getName()); + } + checkerDtoData.setCheckTime(checkTime); + checkerDtoData.setIsChecker(checkDeliver.getCheckStatus()); + checkerDto.setData(checkerDtoData); + + checkerDto.setReceivers(messageUserList); + messageService.sendDeliverMessageWithChecker(checkerDto); + + //检查完,返回数据 + DeliverVo.DeliverInfo deliverInfo = selectDeliverInfo(currentUserId, deliver.getId(), checkDeliver.getTaskId()); + return deliverInfo; + } + /** + * 检查未通过,将任务设为未完成 + */ + private void returnTask(Long subTimeId){ + ProSubTimeMemberExample subTimeMemberExample = new ProSubTimeMemberExample(); + subTimeMemberExample.createCriteria().andTaskSubTimeIdEqualTo(subTimeId); + List subTimeMemberList = proSubTimeMemberDao.selectByExample(subTimeMemberExample); + if(CollectionUtil.isNotEmpty(subTimeMemberList)){ + for(ProSubTimeMember proSubTimeMember:subTimeMemberList){ + proSubTimeMember.setComplatedStatus(0); + proSubTimeMember.setRealFinishTime(0L); + proSubTimeMemberDao.updateByPrimaryKeySelective(proSubTimeMember); + } + } + } + + /** + * 交付物清单 + * + * @param currentUserId + * @param page + * @param pageSize + * @param key + * @param start + * @param end + * @return + * @throws Exception + */ + @Override + public DeliverVo.DeliverFileList selectDeliverList(Long currentUserId, Integer page, Integer pageSize, String + key, String start, String end) throws Exception { + DeliverVo.DeliverFileList deliver = new DeliverVo.DeliverFileList(); + DeliverVo.PageInfo pageInfo = new DeliverVo.PageInfo(); + List deliverFileList = taskDeliverDao.selectDeliverByUserId(currentUserId); + + //根据时间筛选 + if (StrUtil.isNotEmpty(start) && StrUtil.isNotEmpty(end)) { + //获取日期的开始结束时间 + Long startMillisTime = null; + Long endMillisTime = null; + Map timeMap = null; + if (StrUtil.isNotEmpty(start)) { + timeMap = DateUtil.projectFormatDateTime(start); + startMillisTime = timeMap.get("startMillisTime"); + } + if (StrUtil.isNotEmpty(end)) { + timeMap = DateUtil.projectFormatDateTime(start); + endMillisTime = timeMap.get("endMillisTime"); + } + if (CollectionUtil.isNotEmpty(deliverFileList)) { + if (ObjectUtil.isNotNull(startMillisTime) && ObjectUtil.isNotNull(endMillisTime)) { + Iterator it = deliverFileList.iterator(); + while (it.hasNext()) { + DeliverVo.DeliverFile deliverFile = it.next(); + if ((deliverFile.getTask().getBeginTime() < startMillisTime && deliverFile.getTask().getBeginTime() > endMillisTime) || + (deliverFile.getTask().getEndTime() < startMillisTime) || + (deliverFile.getTask().getBeginTime() > endMillisTime)) { + it.remove(); + } + } + } + } + } + + //根据关键词筛选 + if (StrUtil.isNotEmpty(key)) { + if (CollectionUtil.isNotEmpty(deliverFileList)) { + Iterator it = deliverFileList.iterator(); + while (it.hasNext()) { + DeliverVo.DeliverFile deliverFile = it.next(); + if (deliverFile.getName().indexOf(key) == -1) { + it.remove(); + } + } + } + } + + //分页 + List theDeliverFile = null; + int totalPages = 1; + if (CollectionUtil.isNotEmpty(deliverFileList)) { + //1.计算分页条件 + if (page > 0) { + int size = deliverFileList.size(); + int num = pageSize; + totalPages = size / pageSize + 1; + int startIndex = pageSize * (page - 1); + if (startIndex >= size) { + startIndex = -1; + } else { + if (startIndex + num > size) { + num = size - startIndex; + } + } + //拷贝分页数据 + if (startIndex >= 0) { + theDeliverFile = CollectionUtil.newArrayList(); + for (int i = startIndex; i < startIndex + num; i++) { + theDeliverFile.add(deliverFileList.get(i)); + } + } + } else { //不分页 + theDeliverFile = CollectionUtil.newArrayList(deliverFileList); + } + } + pageInfo.setCurrentPage(page); + pageInfo.setTotalPage(totalPages); + deliver.setPageInfo(pageInfo); + deliver.setDeliverFileList(theDeliverFile); + return deliver; + } + + /** + * 删除交付物(修改状态变成历史项目) + * + * @param currentUserId + * @param deliverId + * @param taskId + */ + @Override + public void deleteDeliver(Long currentUserId, Long deliverId, Long taskId) throws Exception { + ProTaskDeliver deliver = taskDeliverDao.selectByPrimaryKey(deliverId); + Long subTimeId = isTaskOrSubTime(taskId); + //接受消息的角色 + List messageUserList = new ArrayList<>(); + BaseMessageDto.MessageUser messageUser = null; + List userIdList = new ArrayList<>(); + + //同步锁,防止多个用户同时操作该数据 + synchronized (this) { + //查找此交付物与文件的中间表 + ProTaskDeliverPostLogExample deliverPostLogExample = new ProTaskDeliverPostLogExample(); + deliverPostLogExample.createCriteria().andDeliverIdEqualTo(deliverId).andTaskSubTimeIdEqualTo(subTimeId); + List deliverPostLogList = deliverPostLogDao.selectByExample(deliverPostLogExample); + + if (CollectionUtil.isNotEmpty(deliverPostLogList)) { + for (ProTaskDeliverPostLog deliverPostLog : deliverPostLogList) { + if (currentUserId.longValue() == deliverPostLog.getUserId().longValue()) { + if (deliverPostLog.getIsHistory() == 0) { + deliverPostLog.setIsHistory(1); + deliverPostLogDao.updateByPrimaryKeySelective(deliverPostLog); + } + ProTaskDeliverPostLogCheckerExample checkerExample = new ProTaskDeliverPostLogCheckerExample(); + checkerExample.createCriteria().andDeliverPostLogIdEqualTo(deliverPostLog.getId()); + List postCheckerList = postLogCheckerDao.selectByExample(checkerExample); + if (CollectionUtil.isNotEmpty(postCheckerList)) { + for (ProTaskDeliverPostLogChecker postLogChecker : postCheckerList) { + userIdList.addAll(userService.selectUserIdByRoleId(postLogChecker.getCheckerId())); + } + } + } else { + throw new BaseException("您无法删除别人上传的交付物"); + } + } + } + deliver.setIsUpload(0); + taskDeliverDao.updateByPrimaryKeySelective(deliver); + + ProTaskDetail task = taskDetailDao.selectByPrimaryKey(deliver.getTaskDetailId()); + ProRole role = proRoleDao.selectByPrimaryKey(task.getExecutorRole()); + //发送消息 + if (CollectionUtil.isNotEmpty(userIdList)) { + HashSet h = new HashSet<>(userIdList); + userIdList.clear(); + userIdList.addAll(h); + for (Long userId : userIdList) { + messageUser = new BaseMessageDto.MessageUser(); + messageUser.setUserId(userId); + messageUserList.add(messageUser); + } + } + + Long deleteTime = System.currentTimeMillis(); + DeliverMessageWithDeleteDto deleteMessage = new DeliverMessageWithDeleteDto(); + DeliverMessageWithDeleteDto.Data deleteMessageData = new DeliverMessageWithDeleteDto.Data(); + deleteMessageData.setProjectId(task.getProjectId()); +// if (role.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.AllMember.phase)) { +// List roleList = memberService.selectRolesByUserIdAndProjectId(currentUserId, task.getProjectId()); +// deleteMessageData.setRoleId(roleList.get(0).getId()); +// } else { +// +// } + deleteMessageData.setRoleId(task.getExecutorRole()); + deleteMessageData.setTaskId(task.getId()); + deleteMessageData.setDeliverId(deliverId); + deleteMessageData.setDeliverName(deliver.getName()); + deleteMessageData.setDeleteTime(deleteTime); + deleteMessageData.setUserId(currentUserId); + deleteMessage.setData(deleteMessageData); + + deleteMessage.setReceivers(messageUserList); + messageService.sendDeliverMessageWithDelete(deleteMessage); + } + } + + //========================================================= + @Override + public void deleteDeliverByTaskId(Long taskId) { + //查找已上传的文件 + + } + + //删除文件 + public void deleteFile(String path) { + File file = new File(path); + // 路径为文件且不为空则进行删除 + if (file.isFile() && file.exists()) { + file.delete(); + } + } +} diff --git a/tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java b/tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java index 7119724c..0166957e 100644 --- a/tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java +++ b/tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java @@ -1,245 +1,294 @@ -package com.ccsens.tall.service; - -import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.lang.Snowflake; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import com.ccsens.tall.bean.dto.TaskDto; -import com.ccsens.tall.bean.po.*; -import com.ccsens.tall.bean.vo.TaskVo; -import com.ccsens.tall.persist.dao.*; -import com.ccsens.util.CodeEnum; -import com.ccsens.util.WebConstant; -import com.ccsens.util.cron.CronConstant; -import com.ccsens.util.cron.NatureToDate; -import com.ccsens.util.exception.BaseException; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Date; -import java.util.List; - -@Service -@Transactional(propagation = Propagation.REQUIRED) -public class TaskSubTimeService implements ITaskSubTimeService{ - @Autowired - private TaskSubTimeDao taskSubTimeDao; - @Autowired - private SysProjectDao sysProjectDao; - @Autowired - private TaskDeliverDao taskDeliverDao; - @Autowired - private TaskPluginDao taskPluginDao; - @Autowired - private ProTaskDeliverPostLogDao proTaskDeliverPostLogDao; - @Autowired - private TaskDetailDao taskDetailDao; - @Autowired - private ProRoleDao proRoleDao; - @Autowired - private IProMemberService proMemberService; - @Autowired - private IMessageService messageService; - @Autowired - private IProLogService proLogService; - @Autowired - private Snowflake snowflake; - - @Override - public void saveProTaskSubTask(ProTaskSubTime proTaskSubTime) { - taskSubTimeDao.insertSelective(proTaskSubTime); - } - - /** - * 完成任务 - * @param currentUserId - * @param subTimeId - * @throws Exception - */ - @Override - public void finishTask(Long currentUserId, TaskDto.TaskSubTimeId subTimeId) throws Exception { - //查找taskSubTime - ProTaskSubTime taskSubTime = taskSubTimeDao.selectByPrimaryKey(subTimeId.getId()); - if(ObjectUtil.isNull(taskSubTime)){ - throw new BaseException(CodeEnum.NOT_TASK); - } - //查找taskDetail - ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(taskSubTime.getTaskDetailId()); - if(ObjectUtil.isNull(taskDetail)){ - throw new BaseException(CodeEnum.NOT_TASK); - } - //该用户是否是任务的负责人 - ProRole role = proRoleDao.selectByPrimaryKey(taskDetail.getExecutorRole()); - Boolean isBelongRole = proMemberService.userIsBelongRole(currentUserId, role.getId()); - if (!role.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.AllMember.phase) && !isBelongRole) { - throw new BaseException(CodeEnum.IS_NOT_EXECUTOR); - } - //是否有分组 - if(taskDetail.getHasGroup()==1){ - //查找分组下的任务(taskSubTime) - List subTimeList = taskDetailDao.selectSubTaskByGroupId(taskDetail.getId(),taskSubTime.getBeginTime(),taskSubTime.getEndTime()); - if(CollectionUtil.isNotEmpty(subTimeList)){ - for(ProTaskSubTime subTime:subTimeList){ - //是否有未完成的任务 - if(subTime.getComplatedStatus()!=2){ - throw new BaseException(CodeEnum.SUB_TASK_IS_NOT_FINISH); - } - } - } - } - //查询任务下的交付物 - ProTaskDeliverExample deliverExample = new ProTaskDeliverExample(); - deliverExample.createCriteria().andTaskDetailIdEqualTo(taskSubTime.getTaskDetailId()); - List deliverList = taskDeliverDao.selectByExample(deliverExample); - if(CollectionUtil.isNotEmpty(deliverList)){ - for(ProTaskDeliver taskDeliver:deliverList){ - ProTaskDeliverPostLogExample postLogExample = new ProTaskDeliverPostLogExample(); - postLogExample.createCriteria().andTaskSubTimeIdEqualTo(subTimeId.getId()) - .andDeliverIdEqualTo(taskDeliver.getId()); - List postLogList = proTaskDeliverPostLogDao.selectByExample(postLogExample); - if(CollectionUtil.isEmpty(postLogList)){ - throw new BaseException(CodeEnum.TASK_NOT_UPLOAD_DELIVER); - } - } - } - taskSubTime.setComplatedStatus(2); - taskSubTime.setRealEndTime(System.currentTimeMillis()); - taskSubTimeDao.updateByPrimaryKeySelective(taskSubTime); - } - - /** - * 开始任务 - * @param currentUserId - * @param startTaskDto - * @throws Exception - */ - @Override - public void startTask(Long currentUserId, TaskDto.StartTask startTaskDto) throws Exception { - ProTaskSubTime taskSubTime = taskSubTimeDao.selectByPrimaryKey(startTaskDto.getId()); - Long now = System.currentTimeMillis(); - if(ObjectUtil.isNotNull(taskSubTime)){ - taskSubTime.setRealBeginTime(now); - taskSubTime.setComplatedStatus(1); - taskSubTimeDao.updateByPrimaryKeySelective(taskSubTime); - - //发送同步消息 - SysProject project = sysProjectDao.selectByPrimaryKey(startTaskDto.getProjectId()); - //已发布的项目才同步 - if (ObjectUtil.isNotNull(project.getPublished()) && project.getPublished() == 1) { - messageService.sendSyncMessageWithStart(currentUserId, startTaskDto.getProjectId(), startTaskDto.getRoleId(), taskSubTime.getTaskDetailId(), now, - taskSubTime.getEndTime() - taskSubTime.getBeginTime()); - } - //3.添加记录 - proLogService.addNewProLog(now, taskSubTime.getId(), - WebConstant.TASK_Execute_Type.Start.value, - WebConstant.TASK_Execute_Type.Start.phase, currentUserId); - }else { - throw new BaseException(CodeEnum.NOT_TASK); - } - } - - /** - * 添加清单(任务) - */ - @Override - public TaskVo.NormalTask addTask(Long currentUserId, TaskDto.AddTask addTask) { - ProTaskDetail detail = new ProTaskDetail(); - detail.setId(snowflake.nextId()); - detail.setName(addTask.getTaskName()); - detail.setDescription(addTask.getDescription()); - detail.setCycle(addTask.getCycle()); - detail.setParentId(addTask.getParentTaskId()); - detail.setExecutorRole(addTask.getExecutorId()); - - if(ObjectUtil.isNotNull(addTask.getProjectId())){ - SysProject project = sysProjectDao.selectByPrimaryKey(addTask.getProjectId()); - if (ObjectUtil.isNotNull(project)) { - detail.setProjectId(addTask.getProjectId()); - detail.setBeginTime(project.getBeginTime()); - detail.setEndTime(project.getEndTime()); - detail.setLevel((byte) 2); - }else { - throw new BaseException("项目信息不正确"); - } - } - if(ObjectUtil.isNotNull(addTask.getParentTaskId())){ -// ProTaskSubTime subTime = taskSubTimeDao.selectByPrimaryKey(addTask.getParentTaskId()); -// if(ObjectUtil.isNotNull(subTime)) { - ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(addTask.getParentTaskId()); - if (ObjectUtil.isNotNull(taskDetail)) { - detail.setParentId(taskDetail.getId()); - detail.setBeginTime(taskDetail.getBeginTime()); - detail.setEndTime(taskDetail.getEndTime()); - detail.setLevel((byte) (taskDetail.getLevel() + 1)); - if(taskDetail.getLevel() == 1){ - detail.setBeginTime(System.currentTimeMillis()); - detail.setEndTime(com.ccsens.util.DateUtil.getYMD(DateUtil.tomorrow()).getTime()); - } -// taskDetail.setHasGroup((byte) 1); -// taskDetailDao.updateByPrimaryKeySelective(taskDetail); - } else { - throw new BaseException("任务信息不正确"); - } -// } - } - if(ObjectUtil.isNotNull(addTask.getBeginTime())){ - detail.setBeginTime(addTask.getBeginTime()); - } - if(ObjectUtil.isNotNull(addTask.getEndTime())){ - detail.setEndTime(addTask.getEndTime()); - } - taskDetailDao.insertSelective(detail); - //TaskSubTime - if(ObjectUtil.isNotNull(detail.getProjectId())){ - //cycle为空,只加一条数据 - if (StrUtil.isEmpty(detail.getCycle())) { - ProTaskSubTime proTaskSubTime = new ProTaskSubTime(); - proTaskSubTime.setId(snowflake.nextId()); - proTaskSubTime.setTaskDetailId(detail.getId()); - proTaskSubTime.setBeginTime(detail.getBeginTime()); - proTaskSubTime.setEndTime(detail.getEndTime()); - taskSubTimeDao.insertSelective(proTaskSubTime); - } else { - Date startDate = new Date(detail.getBeginTime()); - Date endDate = new Date(detail.getEndTime()); - List taskDateList = - NatureToDate.generateDates(detail.getCycle(), startDate, endDate); - if (CollectionUtil.isNotEmpty(taskDateList)) { - for (CronConstant.TaskDate taskDate : taskDateList) { - ProTaskSubTime proTaskSubTime = new ProTaskSubTime(); - proTaskSubTime.setId(snowflake.nextId()); - proTaskSubTime.setTaskDetailId(detail.getId()); - proTaskSubTime.setBeginTime(taskDate.getStartDate().getTime()); - proTaskSubTime.setEndTime(taskDate.getEndDate().getTime()); - taskSubTimeDao.insertSelective(proTaskSubTime); - } - } - } - } - //交付物 - if(ObjectUtil.isNotNull(addTask.getTaskDeliver())){ - ProTaskDeliver deliver = new ProTaskDeliver(); - deliver.setId(snowflake.nextId()); - deliver.setTaskDetailId(detail.getId()); - deliver.setIsInput(0); - taskDeliverDao.insertSelective(deliver); - } - //插件 - if(CollectionUtil.isNotEmpty(addTask.getPluginList())){ - for(Long pluginId:addTask.getPluginList()){ - ProTaskPlugin plugin = new ProTaskPlugin(); - plugin.setId(snowflake.nextId()); - plugin.setTaskDetailId(detail.getId()); - plugin.setPluginId(pluginId); - plugin.setMemberRoleId(addTask.getExecutorId()); - taskPluginDao.insertSelective(plugin); - } - } - //返回 - TaskVo.NormalTask taskDetail = taskDetailDao.selectTaskByTaskId(addTask.getProjectId(), detail.getId()); - return taskDetail; - } -} +package com.ccsens.tall.service; + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Snowflake; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.ccsens.tall.bean.dto.TaskDto; +import com.ccsens.tall.bean.po.*; +import com.ccsens.tall.bean.vo.TaskVo; +import com.ccsens.tall.persist.dao.*; + +import com.ccsens.util.CodeEnum; +import com.ccsens.util.WebConstant; +import com.ccsens.util.cron.CronConstant; +import com.ccsens.util.cron.NatureToDate; +import com.ccsens.util.exception.BaseException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.List; + +@Service +@Transactional(propagation = Propagation.REQUIRED) +public class TaskSubTimeService implements ITaskSubTimeService { + @Autowired + private TaskSubTimeDao taskSubTimeDao; + @Autowired + private SysProjectDao sysProjectDao; + @Autowired + private TaskDeliverDao taskDeliverDao; + @Autowired + private TaskPluginDao taskPluginDao; + @Autowired + private ProSubTimeMemberDao proSubTimeMemberDao; + @Autowired + private ProTaskDeliverPostLogDao proTaskDeliverPostLogDao; + @Autowired + private TaskDetailDao taskDetailDao; + @Autowired + private ProRoleDao proRoleDao; + @Autowired + private IProMemberService proMemberService; + @Autowired + private IMessageService messageService; + @Autowired + private IProLogService proLogService; + @Autowired + private Snowflake snowflake; + + @Override + public void saveProTaskSubTask(ProTaskSubTime proTaskSubTime) { + taskSubTimeDao.insertSelective(proTaskSubTime); + } + + /** + * 完成任务 + * @param currentUserId + * @param subTimeId + * @throws Exception + */ + @Override + public void finishTask(Long currentUserId, TaskDto.TaskSubTimeId subTimeId) throws Exception { + //查找taskSubTime + ProTaskSubTime taskSubTime = taskSubTimeDao.selectByPrimaryKey(subTimeId.getId()); + if(ObjectUtil.isNull(taskSubTime)){ + throw new BaseException(CodeEnum.NOT_TASK); + } + //查找taskDetail + ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(taskSubTime.getTaskDetailId()); + if(ObjectUtil.isNull(taskDetail)){ + throw new BaseException(CodeEnum.NOT_TASK); + } + //该用户是否是任务的负责人 + ProRole role = proRoleDao.selectByPrimaryKey(taskDetail.getExecutorRole()); + Boolean isBelongRole = proMemberService.userIsBelongRole(currentUserId, role.getId()); + if (!role.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.AllMember.phase) && !isBelongRole) { + throw new BaseException(CodeEnum.IS_NOT_EXECUTOR); + } + //查找此用户在任务下的成员 + ProMember member = proMemberService.selectByUserId(currentUserId,taskDetail.getProjectId()); + //是否需要全部打卡完成 + if(taskDetail.getFinishNeedAll()==0) { + //是否有分组 + if (taskDetail.getHasGroup() == 1) { + //查找分组下的任务(taskSubTime) + List subTimeList = taskDetailDao.selectSubTaskByGroupId(taskDetail.getId(), taskSubTime.getBeginTime(), taskSubTime.getEndTime()); + if (CollectionUtil.isNotEmpty(subTimeList)) { + for (ProTaskSubTime subTime : subTimeList) { + //是否有未完成的任务 + if (subTime.getComplatedStatus() != 2) { + throw new BaseException(CodeEnum.SUB_TASK_IS_NOT_FINISH); + } + } + } + } + //查询任务下的交付物 + ProTaskDeliverExample deliverExample = new ProTaskDeliverExample(); + deliverExample.createCriteria().andTaskDetailIdEqualTo(taskSubTime.getTaskDetailId()) + .andIsInputEqualTo(0); + List deliverList = taskDeliverDao.selectByExample(deliverExample); + if (CollectionUtil.isNotEmpty(deliverList)) { + for (ProTaskDeliver taskDeliver : deliverList) { + ProTaskDeliverPostLogExample postLogExample = new ProTaskDeliverPostLogExample(); + postLogExample.createCriteria().andTaskSubTimeIdEqualTo(subTimeId.getId()) + .andDeliverIdEqualTo(taskDeliver.getId()); + List postLogList = proTaskDeliverPostLogDao.selectByExample(postLogExample); + if (CollectionUtil.isEmpty(postLogList)) { + throw new BaseException(CodeEnum.TASK_NOT_UPLOAD_DELIVER); + } + } + } + + ProSubTimeMember subTimeMember = isFinishTask(member.getId(),subTimeId.getId()); + if(ObjectUtil.isNull(subTimeMember)){ + subTimeMember = new ProSubTimeMember(); + subTimeMember.setId(snowflake.nextId()); + subTimeMember.setComplatedStatus(2); + subTimeMember.setMemberId(member.getId()); + subTimeMember.setTaskSubTimeId(subTimeId.getId()); + subTimeMember.setRealFinishTime(System.currentTimeMillis()); + proSubTimeMemberDao.insertSelective(subTimeMember); + }else { + subTimeMember.setComplatedStatus(2); + subTimeMember.setRealFinishTime(System.currentTimeMillis()); + proSubTimeMemberDao.updateByPrimaryKeySelective(subTimeMember); + } + }else { + ProSubTimeMember subTimeMember = isFinishTask(member.getId(),subTimeId.getId()); + if(ObjectUtil.isNotNull(subTimeMember)){ + subTimeMember.setComplatedStatus(2); + subTimeMember.setRealFinishTime(System.currentTimeMillis()); + proSubTimeMemberDao.updateByPrimaryKeySelective(subTimeMember); + }else { + subTimeMember = new ProSubTimeMember(); + subTimeMember.setId(snowflake.nextId()); + subTimeMember.setComplatedStatus(2); + subTimeMember.setTaskSubTimeId(subTimeId.getId()); + subTimeMember.setMemberId(member.getId()); + subTimeMember.setRealFinishTime(System.currentTimeMillis()); + proSubTimeMemberDao.insertSelective(subTimeMember); + } + } + } + /** + * 该成员是否完成了此任务 + */ + private ProSubTimeMember isFinishTask(Long memberId, Long subTimeId){ + ProSubTimeMember subTimeMember = null; + ProSubTimeMemberExample subTimeMemberExample = new ProSubTimeMemberExample(); + subTimeMemberExample.createCriteria().andMemberIdEqualTo(memberId) + .andTaskSubTimeIdEqualTo(subTimeId); + List subTimeMemberList = proSubTimeMemberDao.selectByExample(subTimeMemberExample); + if(CollectionUtil.isNotEmpty(subTimeMemberList)){ + subTimeMember = subTimeMemberList.get(0); + } + return subTimeMember; + } + /** + * 开始任务 + * @param currentUserId + * @param startTaskDto + * @throws Exception + */ + @Override + public void startTask(Long currentUserId, TaskDto.StartTask startTaskDto) throws Exception { + ProTaskSubTime taskSubTime = taskSubTimeDao.selectByPrimaryKey(startTaskDto.getId()); + Long now = System.currentTimeMillis(); + if(ObjectUtil.isNotNull(taskSubTime)){ + taskSubTime.setRealBeginTime(now); + taskSubTime.setComplatedStatus(1); + taskSubTimeDao.updateByPrimaryKeySelective(taskSubTime); + + //发送同步消息 + SysProject project = sysProjectDao.selectByPrimaryKey(startTaskDto.getProjectId()); + //已发布的项目才同步 + if (ObjectUtil.isNotNull(project.getPublished()) && project.getPublished() == 1) { + messageService.sendSyncMessageWithStart(currentUserId, startTaskDto.getProjectId(), startTaskDto.getRoleId(), taskSubTime.getTaskDetailId(), now, + taskSubTime.getEndTime() - taskSubTime.getBeginTime()); + } + //3.添加记录 + proLogService.addNewProLog(now, taskSubTime.getId(), + WebConstant.TASK_Execute_Type.Start.value, + WebConstant.TASK_Execute_Type.Start.phase, currentUserId); + }else { + throw new BaseException(CodeEnum.NOT_TASK); + } + } + + /** + * 添加清单(任务) + */ + @Override + public TaskVo.NormalTask addTask(Long currentUserId, TaskDto.AddTask addTask) { + ProTaskDetail detail = new ProTaskDetail(); + detail.setId(snowflake.nextId()); + detail.setName(addTask.getTaskName()); + detail.setDescription(addTask.getDescription()); + detail.setCycle(addTask.getCycle()); + detail.setParentId(addTask.getParentTaskId()); + detail.setExecutorRole(addTask.getExecutorId()); + + if(ObjectUtil.isNotNull(addTask.getProjectId())){ + SysProject project = sysProjectDao.selectByPrimaryKey(addTask.getProjectId()); + if (ObjectUtil.isNotNull(project)) { + detail.setProjectId(addTask.getProjectId()); + detail.setBeginTime(project.getBeginTime()); + detail.setEndTime(project.getEndTime()); + detail.setLevel((byte) 2); + }else { + throw new BaseException("项目信息不正确"); + } + } + if(ObjectUtil.isNotNull(addTask.getParentTaskId())){ +// ProTaskSubTime subTime = taskSubTimeDao.selectByPrimaryKey(addTask.getParentTaskId()); +// if(ObjectUtil.isNotNull(subTime)) { + ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(addTask.getParentTaskId()); + if (ObjectUtil.isNotNull(taskDetail)) { + detail.setParentId(taskDetail.getId()); + detail.setBeginTime(taskDetail.getBeginTime()); + detail.setEndTime(taskDetail.getEndTime()); + detail.setLevel((byte) (taskDetail.getLevel() + 1)); + if(taskDetail.getLevel() == 1){ + detail.setBeginTime(System.currentTimeMillis()); + detail.setEndTime(com.ccsens.util.DateUtil.getYMD(DateUtil.tomorrow()).getTime()); + } +// taskDetail.setHasGroup((byte) 1); +// taskDetailDao.updateByPrimaryKeySelective(taskDetail); + } else { + throw new BaseException("任务信息不正确"); + } +// } + } + if(ObjectUtil.isNotNull(addTask.getBeginTime())){ + detail.setBeginTime(addTask.getBeginTime()); + } + if(ObjectUtil.isNotNull(addTask.getEndTime())){ + detail.setEndTime(addTask.getEndTime()); + } + taskDetailDao.insertSelective(detail); + //TaskSubTime + if(ObjectUtil.isNotNull(detail.getProjectId())){ + //cycle为空,只加一条数据 + if (StrUtil.isEmpty(detail.getCycle())) { + ProTaskSubTime proTaskSubTime = new ProTaskSubTime(); + proTaskSubTime.setId(snowflake.nextId()); + proTaskSubTime.setTaskDetailId(detail.getId()); + proTaskSubTime.setBeginTime(detail.getBeginTime()); + proTaskSubTime.setEndTime(detail.getEndTime()); + taskSubTimeDao.insertSelective(proTaskSubTime); + } else { + Date startDate = new Date(detail.getBeginTime()); + Date endDate = new Date(detail.getEndTime()); + List taskDateList = + NatureToDate.generateDates(detail.getCycle(), startDate, endDate); + if (CollectionUtil.isNotEmpty(taskDateList)) { + for (CronConstant.TaskDate taskDate : taskDateList) { + ProTaskSubTime proTaskSubTime = new ProTaskSubTime(); + proTaskSubTime.setId(snowflake.nextId()); + proTaskSubTime.setTaskDetailId(detail.getId()); + proTaskSubTime.setBeginTime(taskDate.getStartDate().getTime()); + proTaskSubTime.setEndTime(taskDate.getEndDate().getTime()); + taskSubTimeDao.insertSelective(proTaskSubTime); + } + } + } + } + //交付物 + if(ObjectUtil.isNotNull(addTask.getTaskDeliver())){ + ProTaskDeliver deliver = new ProTaskDeliver(); + deliver.setId(snowflake.nextId()); + deliver.setTaskDetailId(detail.getId()); + deliver.setIsInput(0); + taskDeliverDao.insertSelective(deliver); + } + //插件 + if(CollectionUtil.isNotEmpty(addTask.getPluginList())){ + for(Long pluginId:addTask.getPluginList()){ + ProTaskPlugin plugin = new ProTaskPlugin(); + plugin.setId(snowflake.nextId()); + plugin.setTaskDetailId(detail.getId()); + plugin.setPluginId(pluginId); + plugin.setMemberRoleId(addTask.getExecutorId()); + taskPluginDao.insertSelective(plugin); + } + } + //返回 + TaskVo.NormalTask taskDetail = taskDetailDao.selectTaskByTaskId(addTask.getProjectId(), detail.getId()); + return taskDetail; + } +} diff --git a/tall/src/main/resources/mapper_dao/ProRoleDao.xml b/tall/src/main/resources/mapper_dao/ProRoleDao.xml index 21542d57..84f49d7f 100644 --- a/tall/src/main/resources/mapper_dao/ProRoleDao.xml +++ b/tall/src/main/resources/mapper_dao/ProRoleDao.xml @@ -1,129 +1,129 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tall/src/main/resources/mapper_dao/SysProjectDao.xml b/tall/src/main/resources/mapper_dao/SysProjectDao.xml index c8cb894f..f428c205 100644 --- a/tall/src/main/resources/mapper_dao/SysProjectDao.xml +++ b/tall/src/main/resources/mapper_dao/SysProjectDao.xml @@ -1,80 +1,82 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tall/src/main/resources/mapper_dao/TaskDetailDao.xml b/tall/src/main/resources/mapper_dao/TaskDetailDao.xml index 214ba00c..102df3e1 100644 --- a/tall/src/main/resources/mapper_dao/TaskDetailDao.xml +++ b/tall/src/main/resources/mapper_dao/TaskDetailDao.xml @@ -1,251 +1,253 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tall/src/main/resources/mapper_raw/ProSubTimeMemberMapper.xml b/tall/src/main/resources/mapper_raw/ProSubTimeMemberMapper.xml new file mode 100644 index 00000000..be861de8 --- /dev/null +++ b/tall/src/main/resources/mapper_raw/ProSubTimeMemberMapper.xml @@ -0,0 +1,259 @@ + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, task_sub_time_id, member_id, complated_status, real_finish_time, created_at, + updated_at, rec_status + + + + + delete from t_pro_sub_time_member + where id = #{id,jdbcType=BIGINT} + + + delete from t_pro_sub_time_member + + + + + + insert into t_pro_sub_time_member (id, task_sub_time_id, member_id, + complated_status, real_finish_time, created_at, + updated_at, rec_status) + values (#{id,jdbcType=BIGINT}, #{taskSubTimeId,jdbcType=BIGINT}, #{memberId,jdbcType=BIGINT}, + #{complatedStatus,jdbcType=INTEGER}, #{realFinishTime,jdbcType=BIGINT}, #{createdAt,jdbcType=TIMESTAMP}, + #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}) + + + insert into t_pro_sub_time_member + + + id, + + + task_sub_time_id, + + + member_id, + + + complated_status, + + + real_finish_time, + + + created_at, + + + updated_at, + + + rec_status, + + + + + #{id,jdbcType=BIGINT}, + + + #{taskSubTimeId,jdbcType=BIGINT}, + + + #{memberId,jdbcType=BIGINT}, + + + #{complatedStatus,jdbcType=INTEGER}, + + + #{realFinishTime,jdbcType=BIGINT}, + + + #{createdAt,jdbcType=TIMESTAMP}, + + + #{updatedAt,jdbcType=TIMESTAMP}, + + + #{recStatus,jdbcType=TINYINT}, + + + + + + update t_pro_sub_time_member + + + id = #{record.id,jdbcType=BIGINT}, + + + task_sub_time_id = #{record.taskSubTimeId,jdbcType=BIGINT}, + + + member_id = #{record.memberId,jdbcType=BIGINT}, + + + complated_status = #{record.complatedStatus,jdbcType=INTEGER}, + + + real_finish_time = #{record.realFinishTime,jdbcType=BIGINT}, + + + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{record.recStatus,jdbcType=TINYINT}, + + + + + + + + update t_pro_sub_time_member + set id = #{record.id,jdbcType=BIGINT}, + task_sub_time_id = #{record.taskSubTimeId,jdbcType=BIGINT}, + member_id = #{record.memberId,jdbcType=BIGINT}, + complated_status = #{record.complatedStatus,jdbcType=INTEGER}, + real_finish_time = #{record.realFinishTime,jdbcType=BIGINT}, + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{record.recStatus,jdbcType=TINYINT} + + + + + + update t_pro_sub_time_member + + + task_sub_time_id = #{taskSubTimeId,jdbcType=BIGINT}, + + + member_id = #{memberId,jdbcType=BIGINT}, + + + complated_status = #{complatedStatus,jdbcType=INTEGER}, + + + real_finish_time = #{realFinishTime,jdbcType=BIGINT}, + + + created_at = #{createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{recStatus,jdbcType=TINYINT}, + + + where id = #{id,jdbcType=BIGINT} + + + update t_pro_sub_time_member + set task_sub_time_id = #{taskSubTimeId,jdbcType=BIGINT}, + member_id = #{memberId,jdbcType=BIGINT}, + complated_status = #{complatedStatus,jdbcType=INTEGER}, + real_finish_time = #{realFinishTime,jdbcType=BIGINT}, + created_at = #{createdAt,jdbcType=TIMESTAMP}, + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{recStatus,jdbcType=TINYINT} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/tall/src/main/resources/mapper_raw/ProTaskDetailMapper.xml b/tall/src/main/resources/mapper_raw/ProTaskDetailMapper.xml index 04c66aa1..93660639 100644 --- a/tall/src/main/resources/mapper_raw/ProTaskDetailMapper.xml +++ b/tall/src/main/resources/mapper_raw/ProTaskDetailMapper.xml @@ -1,528 +1,543 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - id, project_id, name, description, begin_time, end_time, cycle, parent_id, sub_task, - sub_project_id, sub_project, executor_role, checker_role, money, delay, delay_time, - loop_to, loop_times, virtual, level, has_group, all_member, created_at, updated_at, - rec_status - - - - - delete from t_pro_task_detail - where id = #{id,jdbcType=BIGINT} - - - delete from t_pro_task_detail - - - - - - insert into t_pro_task_detail (id, project_id, name, - description, begin_time, end_time, - cycle, parent_id, sub_task, - sub_project_id, sub_project, executor_role, - checker_role, money, delay, - delay_time, loop_to, loop_times, - virtual, level, has_group, - all_member, created_at, updated_at, - rec_status) - values (#{id,jdbcType=BIGINT}, #{projectId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, - #{description,jdbcType=VARCHAR}, #{beginTime,jdbcType=BIGINT}, #{endTime,jdbcType=BIGINT}, - #{cycle,jdbcType=VARCHAR}, #{parentId,jdbcType=BIGINT}, #{subTask,jdbcType=VARCHAR}, - #{subProjectId,jdbcType=BIGINT}, #{subProject,jdbcType=VARCHAR}, #{executorRole,jdbcType=BIGINT}, - #{checkerRole,jdbcType=BIGINT}, #{money,jdbcType=BIGINT}, #{delay,jdbcType=TINYINT}, - #{delayTime,jdbcType=BIGINT}, #{loopTo,jdbcType=BIGINT}, #{loopTimes,jdbcType=INTEGER}, - #{virtual,jdbcType=TINYINT}, #{level,jdbcType=TINYINT}, #{hasGroup,jdbcType=TINYINT}, - #{allMember,jdbcType=TINYINT}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, - #{recStatus,jdbcType=TINYINT}) - - - insert into t_pro_task_detail - - - id, - - - project_id, - - - name, - - - description, - - - begin_time, - - - end_time, - - - cycle, - - - parent_id, - - - sub_task, - - - sub_project_id, - - - sub_project, - - - executor_role, - - - checker_role, - - - money, - - - delay, - - - delay_time, - - - loop_to, - - - loop_times, - - - virtual, - - - level, - - - has_group, - - - all_member, - - - created_at, - - - updated_at, - - - rec_status, - - - - - #{id,jdbcType=BIGINT}, - - - #{projectId,jdbcType=BIGINT}, - - - #{name,jdbcType=VARCHAR}, - - - #{description,jdbcType=VARCHAR}, - - - #{beginTime,jdbcType=BIGINT}, - - - #{endTime,jdbcType=BIGINT}, - - - #{cycle,jdbcType=VARCHAR}, - - - #{parentId,jdbcType=BIGINT}, - - - #{subTask,jdbcType=VARCHAR}, - - - #{subProjectId,jdbcType=BIGINT}, - - - #{subProject,jdbcType=VARCHAR}, - - - #{executorRole,jdbcType=BIGINT}, - - - #{checkerRole,jdbcType=BIGINT}, - - - #{money,jdbcType=BIGINT}, - - - #{delay,jdbcType=TINYINT}, - - - #{delayTime,jdbcType=BIGINT}, - - - #{loopTo,jdbcType=BIGINT}, - - - #{loopTimes,jdbcType=INTEGER}, - - - #{virtual,jdbcType=TINYINT}, - - - #{level,jdbcType=TINYINT}, - - - #{hasGroup,jdbcType=TINYINT}, - - - #{allMember,jdbcType=TINYINT}, - - - #{createdAt,jdbcType=TIMESTAMP}, - - - #{updatedAt,jdbcType=TIMESTAMP}, - - - #{recStatus,jdbcType=TINYINT}, - - - - - - update t_pro_task_detail - - - id = #{record.id,jdbcType=BIGINT}, - - - project_id = #{record.projectId,jdbcType=BIGINT}, - - - name = #{record.name,jdbcType=VARCHAR}, - - - description = #{record.description,jdbcType=VARCHAR}, - - - begin_time = #{record.beginTime,jdbcType=BIGINT}, - - - end_time = #{record.endTime,jdbcType=BIGINT}, - - - cycle = #{record.cycle,jdbcType=VARCHAR}, - - - parent_id = #{record.parentId,jdbcType=BIGINT}, - - - sub_task = #{record.subTask,jdbcType=VARCHAR}, - - - sub_project_id = #{record.subProjectId,jdbcType=BIGINT}, - - - sub_project = #{record.subProject,jdbcType=VARCHAR}, - - - executor_role = #{record.executorRole,jdbcType=BIGINT}, - - - checker_role = #{record.checkerRole,jdbcType=BIGINT}, - - - money = #{record.money,jdbcType=BIGINT}, - - - delay = #{record.delay,jdbcType=TINYINT}, - - - delay_time = #{record.delayTime,jdbcType=BIGINT}, - - - loop_to = #{record.loopTo,jdbcType=BIGINT}, - - - loop_times = #{record.loopTimes,jdbcType=INTEGER}, - - - virtual = #{record.virtual,jdbcType=TINYINT}, - - - level = #{record.level,jdbcType=TINYINT}, - - - has_group = #{record.hasGroup,jdbcType=TINYINT}, - - - all_member = #{record.allMember,jdbcType=TINYINT}, - - - created_at = #{record.createdAt,jdbcType=TIMESTAMP}, - - - updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, - - - rec_status = #{record.recStatus,jdbcType=TINYINT}, - - - - - - - - update t_pro_task_detail - set id = #{record.id,jdbcType=BIGINT}, - project_id = #{record.projectId,jdbcType=BIGINT}, - name = #{record.name,jdbcType=VARCHAR}, - description = #{record.description,jdbcType=VARCHAR}, - begin_time = #{record.beginTime,jdbcType=BIGINT}, - end_time = #{record.endTime,jdbcType=BIGINT}, - cycle = #{record.cycle,jdbcType=VARCHAR}, - parent_id = #{record.parentId,jdbcType=BIGINT}, - sub_task = #{record.subTask,jdbcType=VARCHAR}, - sub_project_id = #{record.subProjectId,jdbcType=BIGINT}, - sub_project = #{record.subProject,jdbcType=VARCHAR}, - executor_role = #{record.executorRole,jdbcType=BIGINT}, - checker_role = #{record.checkerRole,jdbcType=BIGINT}, - money = #{record.money,jdbcType=BIGINT}, - delay = #{record.delay,jdbcType=TINYINT}, - delay_time = #{record.delayTime,jdbcType=BIGINT}, - loop_to = #{record.loopTo,jdbcType=BIGINT}, - loop_times = #{record.loopTimes,jdbcType=INTEGER}, - virtual = #{record.virtual,jdbcType=TINYINT}, - level = #{record.level,jdbcType=TINYINT}, - has_group = #{record.hasGroup,jdbcType=TINYINT}, - all_member = #{record.allMember,jdbcType=TINYINT}, - created_at = #{record.createdAt,jdbcType=TIMESTAMP}, - updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, - rec_status = #{record.recStatus,jdbcType=TINYINT} - - - - - - update t_pro_task_detail - - - project_id = #{projectId,jdbcType=BIGINT}, - - - name = #{name,jdbcType=VARCHAR}, - - - description = #{description,jdbcType=VARCHAR}, - - - begin_time = #{beginTime,jdbcType=BIGINT}, - - - end_time = #{endTime,jdbcType=BIGINT}, - - - cycle = #{cycle,jdbcType=VARCHAR}, - - - parent_id = #{parentId,jdbcType=BIGINT}, - - - sub_task = #{subTask,jdbcType=VARCHAR}, - - - sub_project_id = #{subProjectId,jdbcType=BIGINT}, - - - sub_project = #{subProject,jdbcType=VARCHAR}, - - - executor_role = #{executorRole,jdbcType=BIGINT}, - - - checker_role = #{checkerRole,jdbcType=BIGINT}, - - - money = #{money,jdbcType=BIGINT}, - - - delay = #{delay,jdbcType=TINYINT}, - - - delay_time = #{delayTime,jdbcType=BIGINT}, - - - loop_to = #{loopTo,jdbcType=BIGINT}, - - - loop_times = #{loopTimes,jdbcType=INTEGER}, - - - virtual = #{virtual,jdbcType=TINYINT}, - - - level = #{level,jdbcType=TINYINT}, - - - has_group = #{hasGroup,jdbcType=TINYINT}, - - - all_member = #{allMember,jdbcType=TINYINT}, - - - created_at = #{createdAt,jdbcType=TIMESTAMP}, - - - updated_at = #{updatedAt,jdbcType=TIMESTAMP}, - - - rec_status = #{recStatus,jdbcType=TINYINT}, - - - where id = #{id,jdbcType=BIGINT} - - - update t_pro_task_detail - set project_id = #{projectId,jdbcType=BIGINT}, - name = #{name,jdbcType=VARCHAR}, - description = #{description,jdbcType=VARCHAR}, - begin_time = #{beginTime,jdbcType=BIGINT}, - end_time = #{endTime,jdbcType=BIGINT}, - cycle = #{cycle,jdbcType=VARCHAR}, - parent_id = #{parentId,jdbcType=BIGINT}, - sub_task = #{subTask,jdbcType=VARCHAR}, - sub_project_id = #{subProjectId,jdbcType=BIGINT}, - sub_project = #{subProject,jdbcType=VARCHAR}, - executor_role = #{executorRole,jdbcType=BIGINT}, - checker_role = #{checkerRole,jdbcType=BIGINT}, - money = #{money,jdbcType=BIGINT}, - delay = #{delay,jdbcType=TINYINT}, - delay_time = #{delayTime,jdbcType=BIGINT}, - loop_to = #{loopTo,jdbcType=BIGINT}, - loop_times = #{loopTimes,jdbcType=INTEGER}, - virtual = #{virtual,jdbcType=TINYINT}, - level = #{level,jdbcType=TINYINT}, - has_group = #{hasGroup,jdbcType=TINYINT}, - all_member = #{allMember,jdbcType=TINYINT}, - created_at = #{createdAt,jdbcType=TIMESTAMP}, - updated_at = #{updatedAt,jdbcType=TIMESTAMP}, - rec_status = #{recStatus,jdbcType=TINYINT} - where id = #{id,jdbcType=BIGINT} - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, project_id, name, description, begin_time, end_time, cycle, parent_id, sub_task, + sub_project_id, sub_project, executor_role, checker_role, money, delay, delay_time, + loop_to, loop_times, virtual, level, has_group, finish_need_all, all_member, created_at, + updated_at, rec_status + + + + + delete from t_pro_task_detail + where id = #{id,jdbcType=BIGINT} + + + delete from t_pro_task_detail + + + + + + insert into t_pro_task_detail (id, project_id, name, + description, begin_time, end_time, + cycle, parent_id, sub_task, + sub_project_id, sub_project, executor_role, + checker_role, money, delay, + delay_time, loop_to, loop_times, + virtual, level, has_group, + finish_need_all, all_member, created_at, + updated_at, rec_status) + values (#{id,jdbcType=BIGINT}, #{projectId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, + #{description,jdbcType=VARCHAR}, #{beginTime,jdbcType=BIGINT}, #{endTime,jdbcType=BIGINT}, + #{cycle,jdbcType=VARCHAR}, #{parentId,jdbcType=BIGINT}, #{subTask,jdbcType=VARCHAR}, + #{subProjectId,jdbcType=BIGINT}, #{subProject,jdbcType=VARCHAR}, #{executorRole,jdbcType=BIGINT}, + #{checkerRole,jdbcType=BIGINT}, #{money,jdbcType=BIGINT}, #{delay,jdbcType=TINYINT}, + #{delayTime,jdbcType=BIGINT}, #{loopTo,jdbcType=BIGINT}, #{loopTimes,jdbcType=INTEGER}, + #{virtual,jdbcType=TINYINT}, #{level,jdbcType=TINYINT}, #{hasGroup,jdbcType=TINYINT}, + #{finishNeedAll,jdbcType=TINYINT}, #{allMember,jdbcType=TINYINT}, #{createdAt,jdbcType=TIMESTAMP}, + #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}) + + + insert into t_pro_task_detail + + + id, + + + project_id, + + + name, + + + description, + + + begin_time, + + + end_time, + + + cycle, + + + parent_id, + + + sub_task, + + + sub_project_id, + + + sub_project, + + + executor_role, + + + checker_role, + + + money, + + + delay, + + + delay_time, + + + loop_to, + + + loop_times, + + + virtual, + + + level, + + + has_group, + + + finish_need_all, + + + all_member, + + + created_at, + + + updated_at, + + + rec_status, + + + + + #{id,jdbcType=BIGINT}, + + + #{projectId,jdbcType=BIGINT}, + + + #{name,jdbcType=VARCHAR}, + + + #{description,jdbcType=VARCHAR}, + + + #{beginTime,jdbcType=BIGINT}, + + + #{endTime,jdbcType=BIGINT}, + + + #{cycle,jdbcType=VARCHAR}, + + + #{parentId,jdbcType=BIGINT}, + + + #{subTask,jdbcType=VARCHAR}, + + + #{subProjectId,jdbcType=BIGINT}, + + + #{subProject,jdbcType=VARCHAR}, + + + #{executorRole,jdbcType=BIGINT}, + + + #{checkerRole,jdbcType=BIGINT}, + + + #{money,jdbcType=BIGINT}, + + + #{delay,jdbcType=TINYINT}, + + + #{delayTime,jdbcType=BIGINT}, + + + #{loopTo,jdbcType=BIGINT}, + + + #{loopTimes,jdbcType=INTEGER}, + + + #{virtual,jdbcType=TINYINT}, + + + #{level,jdbcType=TINYINT}, + + + #{hasGroup,jdbcType=TINYINT}, + + + #{finishNeedAll,jdbcType=TINYINT}, + + + #{allMember,jdbcType=TINYINT}, + + + #{createdAt,jdbcType=TIMESTAMP}, + + + #{updatedAt,jdbcType=TIMESTAMP}, + + + #{recStatus,jdbcType=TINYINT}, + + + + + + update t_pro_task_detail + + + id = #{record.id,jdbcType=BIGINT}, + + + project_id = #{record.projectId,jdbcType=BIGINT}, + + + name = #{record.name,jdbcType=VARCHAR}, + + + description = #{record.description,jdbcType=VARCHAR}, + + + begin_time = #{record.beginTime,jdbcType=BIGINT}, + + + end_time = #{record.endTime,jdbcType=BIGINT}, + + + cycle = #{record.cycle,jdbcType=VARCHAR}, + + + parent_id = #{record.parentId,jdbcType=BIGINT}, + + + sub_task = #{record.subTask,jdbcType=VARCHAR}, + + + sub_project_id = #{record.subProjectId,jdbcType=BIGINT}, + + + sub_project = #{record.subProject,jdbcType=VARCHAR}, + + + executor_role = #{record.executorRole,jdbcType=BIGINT}, + + + checker_role = #{record.checkerRole,jdbcType=BIGINT}, + + + money = #{record.money,jdbcType=BIGINT}, + + + delay = #{record.delay,jdbcType=TINYINT}, + + + delay_time = #{record.delayTime,jdbcType=BIGINT}, + + + loop_to = #{record.loopTo,jdbcType=BIGINT}, + + + loop_times = #{record.loopTimes,jdbcType=INTEGER}, + + + virtual = #{record.virtual,jdbcType=TINYINT}, + + + level = #{record.level,jdbcType=TINYINT}, + + + has_group = #{record.hasGroup,jdbcType=TINYINT}, + + + finish_need_all = #{record.finishNeedAll,jdbcType=TINYINT}, + + + all_member = #{record.allMember,jdbcType=TINYINT}, + + + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{record.recStatus,jdbcType=TINYINT}, + + + + + + + + update t_pro_task_detail + set id = #{record.id,jdbcType=BIGINT}, + project_id = #{record.projectId,jdbcType=BIGINT}, + name = #{record.name,jdbcType=VARCHAR}, + description = #{record.description,jdbcType=VARCHAR}, + begin_time = #{record.beginTime,jdbcType=BIGINT}, + end_time = #{record.endTime,jdbcType=BIGINT}, + cycle = #{record.cycle,jdbcType=VARCHAR}, + parent_id = #{record.parentId,jdbcType=BIGINT}, + sub_task = #{record.subTask,jdbcType=VARCHAR}, + sub_project_id = #{record.subProjectId,jdbcType=BIGINT}, + sub_project = #{record.subProject,jdbcType=VARCHAR}, + executor_role = #{record.executorRole,jdbcType=BIGINT}, + checker_role = #{record.checkerRole,jdbcType=BIGINT}, + money = #{record.money,jdbcType=BIGINT}, + delay = #{record.delay,jdbcType=TINYINT}, + delay_time = #{record.delayTime,jdbcType=BIGINT}, + loop_to = #{record.loopTo,jdbcType=BIGINT}, + loop_times = #{record.loopTimes,jdbcType=INTEGER}, + virtual = #{record.virtual,jdbcType=TINYINT}, + level = #{record.level,jdbcType=TINYINT}, + has_group = #{record.hasGroup,jdbcType=TINYINT}, + finish_need_all = #{record.finishNeedAll,jdbcType=TINYINT}, + all_member = #{record.allMember,jdbcType=TINYINT}, + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{record.recStatus,jdbcType=TINYINT} + + + + + + update t_pro_task_detail + + + project_id = #{projectId,jdbcType=BIGINT}, + + + name = #{name,jdbcType=VARCHAR}, + + + description = #{description,jdbcType=VARCHAR}, + + + begin_time = #{beginTime,jdbcType=BIGINT}, + + + end_time = #{endTime,jdbcType=BIGINT}, + + + cycle = #{cycle,jdbcType=VARCHAR}, + + + parent_id = #{parentId,jdbcType=BIGINT}, + + + sub_task = #{subTask,jdbcType=VARCHAR}, + + + sub_project_id = #{subProjectId,jdbcType=BIGINT}, + + + sub_project = #{subProject,jdbcType=VARCHAR}, + + + executor_role = #{executorRole,jdbcType=BIGINT}, + + + checker_role = #{checkerRole,jdbcType=BIGINT}, + + + money = #{money,jdbcType=BIGINT}, + + + delay = #{delay,jdbcType=TINYINT}, + + + delay_time = #{delayTime,jdbcType=BIGINT}, + + + loop_to = #{loopTo,jdbcType=BIGINT}, + + + loop_times = #{loopTimes,jdbcType=INTEGER}, + + + virtual = #{virtual,jdbcType=TINYINT}, + + + level = #{level,jdbcType=TINYINT}, + + + has_group = #{hasGroup,jdbcType=TINYINT}, + + + finish_need_all = #{finishNeedAll,jdbcType=TINYINT}, + + + all_member = #{allMember,jdbcType=TINYINT}, + + + created_at = #{createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{recStatus,jdbcType=TINYINT}, + + + where id = #{id,jdbcType=BIGINT} + + + update t_pro_task_detail + set project_id = #{projectId,jdbcType=BIGINT}, + name = #{name,jdbcType=VARCHAR}, + description = #{description,jdbcType=VARCHAR}, + begin_time = #{beginTime,jdbcType=BIGINT}, + end_time = #{endTime,jdbcType=BIGINT}, + cycle = #{cycle,jdbcType=VARCHAR}, + parent_id = #{parentId,jdbcType=BIGINT}, + sub_task = #{subTask,jdbcType=VARCHAR}, + sub_project_id = #{subProjectId,jdbcType=BIGINT}, + sub_project = #{subProject,jdbcType=VARCHAR}, + executor_role = #{executorRole,jdbcType=BIGINT}, + checker_role = #{checkerRole,jdbcType=BIGINT}, + money = #{money,jdbcType=BIGINT}, + delay = #{delay,jdbcType=TINYINT}, + delay_time = #{delayTime,jdbcType=BIGINT}, + loop_to = #{loopTo,jdbcType=BIGINT}, + loop_times = #{loopTimes,jdbcType=INTEGER}, + virtual = #{virtual,jdbcType=TINYINT}, + level = #{level,jdbcType=TINYINT}, + has_group = #{hasGroup,jdbcType=TINYINT}, + finish_need_all = #{finishNeedAll,jdbcType=TINYINT}, + all_member = #{allMember,jdbcType=TINYINT}, + created_at = #{createdAt,jdbcType=TIMESTAMP}, + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{recStatus,jdbcType=TINYINT} + where id = #{id,jdbcType=BIGINT} + \ No newline at end of file diff --git a/tall/tall.iml b/tall/tall.iml index 23ea2faa..ff211489 100644 --- a/tall/tall.iml +++ b/tall/tall.iml @@ -4,15 +4,6 @@ - - - - - - - - - @@ -20,7 +11,6 @@ - @@ -127,6 +117,7 @@ + @@ -207,7 +198,6 @@ - @@ -219,8 +209,6 @@ - - diff --git a/tall/target/classes/application-common.yml b/tall/target/classes/application-common.yml new file mode 100644 index 00000000..32d3f3e1 --- /dev/null +++ b/tall/target/classes/application-common.yml @@ -0,0 +1,30 @@ +logging: + level: + com: + favorites: DEBUG + org: + hibernate: ERROR + springframework: + web: DEBUG +mybatis: + config-location: classpath:mybatis/mybatis-config.xml + mapper-locations: classpath*:mapper_*/*.xml + type-aliases-package: com.ccsens.ht.bean +server: + tomcat: + uri-encoding: UTF-8 +spring: + http: + encoding: + charset: UTF-8 + enabled: true + force: true + log-request-details: true + servlet: + multipart: + max-file-size: 10MB + max-request-size: 100MB + snowflake: + datacenterId: 1 + workerId: 1 + diff --git a/tall/target/classes/application-dev.yml b/tall/target/classes/application-dev.yml new file mode 100644 index 00000000..b60791d4 --- /dev/null +++ b/tall/target/classes/application-dev.yml @@ -0,0 +1,28 @@ +server: + port: 8080 + servlet: + context-path: /v1.0 +spring: + application: + name: tall + datasource: + type: com.alibaba.druid.pool.DruidDataSource + rabbitmq: + host: api.ccsens.com + password: 111111 + port: 5672 + username: admin + redis: + database: 0 + host: 127.0.0.1 + jedis: + pool: + max-active: 200 + max-idle: 10 + max-wait: -1ms + min-idle: 0 + password: '' + port: 6379 + timeout: 1000ms +swagger: + enable: true diff --git a/tall/target/classes/application-test.yml b/tall/target/classes/application-test.yml new file mode 100644 index 00000000..46ba7501 --- /dev/null +++ b/tall/target/classes/application-test.yml @@ -0,0 +1,26 @@ +server: + port: 8081 +spring: + application: + name: tall + datasource: + type: com.alibaba.druid.pool.DruidDataSource + rabbitmq: + host: api.ccsens.com + password: 111111 + port: 5672 + username: admin + redis: + database: 0 + host: 127.0.0.1 + jedis: + pool: + max-active: 200 + max-idle: 10 + max-wait: -1ms + min-idle: 0 + password: '' + port: 6379 + timeout: 1000ms +swagger: + enable: true diff --git a/tall/target/classes/application.yml b/tall/target/classes/application.yml new file mode 100644 index 00000000..1d881c2f --- /dev/null +++ b/tall/target/classes/application.yml @@ -0,0 +1,4 @@ +spring: + profiles: + active: dev + include: util-dev,common \ No newline at end of file diff --git a/tall/target/classes/business.yml b/tall/target/classes/business.yml new file mode 100644 index 00000000..eb60c4ba --- /dev/null +++ b/tall/target/classes/business.yml @@ -0,0 +1,9 @@ +business: + packet: + ## 红包默认过期时间(ms) + expiretime: 7*24*3600*1000 + ## 发红包手续费率 + rate: 0.01 + ## 发红包手续费率 + toplimit: 500.0 +name: zs \ No newline at end of file diff --git a/tall/target/classes/com/ccsens/tall/TallApplication.class b/tall/target/classes/com/ccsens/tall/TallApplication.class new file mode 100644 index 0000000000000000000000000000000000000000..90c2c858b2cb5dd5918ba47db2008caa1c89f0ac GIT binary patch literal 1422 zcmah}Yi|=r6g`uKY+?+A1d;{{A@r4)*3$=+7Sl*33J=M&A&!y)AEMdKV213@x;tYC zANx1@FWL{KYNh^w{-&zxnRSE%7@^h9-Fs*5xvw+(&wqdZ4d60XDwxDlgyl)paH)b3 zd>WR|!cvbQEBG8=MEEkoR|4bLjWvEnV03ADOJHm@-_-&qTE^<{ds(cDO%21DmsLk8M4jXc1nC~^CEj|!FPXL+$F<2?8B znU1B?#nV)K+3w5LJnQCGTYnJf>QHZ&Jl4Ct^tBAvY#3Y9J+}!{Tp8+F##KF^C%JuO zI=w>6c3J8TCiLnwryOg&@k*VQL7i0`MU{;x2YoQE2v@538dt;KH&uL#YgIIGO<>_2 z+=+0#iZl35U}`{|AL1uE@f=K;%h3L@S(&oCfyW%I)#T62!2cyb1kN6c-}5Gw+d5t) zalEn&@ZO!fw|3T>o40q?H`Z?6`EjRxyScHpb8jQuhymUKkp)gKy=e{f9@qPvIqAS_ z_JC@(M@k1~y|sXT>kqYEAU+JfnkwfSL$1s6(BX2XUhjL!(#qMEbQs)Fn!|Pji-`F5 z;FaO8WR#MVg%rpKO!kon%&fz?t5N5Uyg;O|9 z?I`6e_c<(T6A=GmE~4kp^qk?z5dI3^5dMw47Y_lFVP)PtRzi~-bQz=eKAq2%5a+Q# ad6Cu&v@bq{aMV7a?L)pF(e`m^`{aLHxp2M! literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/DeliverDto$CheckDeliver.class b/tall/target/classes/com/ccsens/tall/bean/dto/DeliverDto$CheckDeliver.class new file mode 100644 index 0000000000000000000000000000000000000000..8d623b250c240b954d3174b89843236b332ccc89 GIT binary patch literal 1645 zcmb7ETTj$L6h5=Jx=>hLU=_R~s0%1X#4E-GAtog2B|>7PyWh^r{Mxg6a-V}U^&2ool4K{9? zmY{-LrbD1V!!6BuOmjJAYqa9g#+Ug$3wa;f)-tojQ{;)RP$SO>G#3l&#hur?uRh6y zF+rV0x#%wL?37mDm)>raKd+b9wtuf}mcMN6zIo2k*{shqeQ_G|<}qt~Rgrfr%V5+* zezpAJS^3?^-PP^Vi!A~X!JY^L$*S0CVRN^ogcn*Y6iVwa%ilM!j9c8~;x>VBx_=hI z6IeWfM24H}ets#->=}x^OFB!Z#w@kD-1{FRVxD7J>VzzE(i0Q6Q>Mx634=NgL+?mN zx0Wp9AjpD5nFNXQtV09 zS%avErAUw~P)AL~zC@~1les-zpIFKi$DsYxxUNZ^s)p=kmMBG{+}xejA%1EZ(KK!4 zZJpiaQu0Jao*_A$1bY58bz>@|;D`!`Ag)5IG;MHLg?8vr;5vcf|2+x37nN)AAiKbH zoUGmkSfB?lnu7N*0wGxqU~jl<#Q*BTe2l|&15i`6}n{Jl=FFRNOE;W8ZU?oI`UpN^a3}mTgVe#kkuk*kSr}NmX;s? zy#JaK#w^*qK@Xct%gZYdp07N8RerNre)Q$nqfh0xpMO5ND{wKH*vjI)^2b*UT9j*Cxj}NW!n8a|MN6m>&0r~sDUsJ?t7u?3y$+eTJW@k$J1|Os z@{8N$XD>@jOAMOkgvuwiIXw>N7^EgOjT;$NHcgI(jICl*^m$29Os<)dC9A45%VkZ< zS-LdgxISU&eHF$u2GmGzuZ6hE3Dk;#0qqrbPi2|{JN)gvRj9Ohr_1bxhnPYHNz7EWC9@j! zpRN#R^ORmR6i&3bC94~HFC8Kbdj54fq*JgBwx=Kg%_&$*!#Ze7!3JngK_|4w;XH%= z_0;9ts_1I<5W6&cohx_>?5>BV(sTwp>IjD(JVl%Eq>Vy^BmkO>Z%MqT@M}U|&7Xo(7-h;XKhLXgBB>jISA3^hvz;13^)z-)zernkF!-79EKyV!`WJ0QQ~Q+*%^P+MLV0p zQH*xBTnzX6Mx1f%KZZ}o!!yL{%|M@qKSL*Uc^OV%m1)c#ff4(&p^xAszHh;+4QDsQ O1b$rfb2I^ckoW`mfAv!U literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/DeliverDto$fileInfo.class b/tall/target/classes/com/ccsens/tall/bean/dto/DeliverDto$fileInfo.class new file mode 100644 index 0000000000000000000000000000000000000000..035b0d8ac03f8349558a2509cbf17b4d6a8fadc2 GIT binary patch literal 1281 zcmb7CT~8B16g{*3*a9nH3n+dgsBQTeO?(n#LLeqhDi~4Tr`w?p+0K&PEyi~fpGb?Jl>E(^Je7p73rxR z8LUM9%pbaO*pg9=idZaH4ms+U(I#*;wmWtN{%bf-0Z)v{T$sp|%Ka+Fq)lj|GkzHF z%9w~eMZ`jb>wYJ2<$W?pRq5rtV0z3j^{?hFIw+##z(&ErDGWOp#jp*|F!w)|p{eQ( z)mmdqx)Hi~&A>8AfMI}6L$nXlHx$AlfD$_nj1WM{9tTd75OoM8TE|F? z)6QtmRrkQ&(~pI5TJ!PcEGFpRNdj;N=jg<69v5gmO8x+Aw~suZO1_9oDdbE)nWvI3 zr;@Y%10l-lk|&WCS50c eQk|r|8C;9&emx!y)3zIQo}|x=NDgy2i-F%(qwzri literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/DeliverDto.class b/tall/target/classes/com/ccsens/tall/bean/dto/DeliverDto.class new file mode 100644 index 0000000000000000000000000000000000000000..b3283ad14ee2af9ecf2abc9535d0ce030bca7da5 GIT binary patch literal 553 zcma)3O-}+b5Pief!U}@;&CRHZ8e=u_rttzXAt8EDxpzyEh0>bch5zNr#DhP;A7z{+ zBS8F zWfZ3IQY<8+FeV)Ll$#2rVr^rQNMl5xr4@t3iDjQo;%*53lbc0K-}8mJ#p>u{Ea$R{ zHBG2d1gGc%oS!i>&O#crACPnQ2%`1E5CpGd-qNG)i!~U zv%Z3>BvVB;cgk;H5Qqw{FAG{kw7o{wykqf-uwIv_yz#O8`sM!a29o~z`eA?f83Dzi z_HqX6iT>Q#DL;QFOH-UD+#Vbua51Z!MNQXjCTz{2hN0yc6zT#63AARpU~{Enj#ZId;aIyDxl#bxX*hNLL0{9xmZcx+;r z5rSE>2DNR5=vY&`57u%>zisA73p$cD=2gyA%8VeoP;ow#%*cfnT$npFysI|Jb6kEE zlWCr};exwCdooqO1M(y2@&}VCJlhtGtMr{mQVvfvCX+n&_`F%Nbat0Z?-B>K;lT{c z4ka+~zt)>np$B?Z=z}R0Vh~rM6%s16Lx&1o5RbrZ0;A1z!VzOpOZA34$SpD5A%G>K zH-pWP!2sU5DBjC31f(iJYcOiTS;gm=4aX5crHw!v0;s+b=tKZ3Y6Q9y3F!gy#}Mp; z6FBx`G>r)Xoa5=CEgU&9`_jV9|O{! z9t~&dXgK{1f?x2Z*5D_f~g e?(s`Obrm0E=D%(L6WDf+)R(nst+KER>V7VVe>gnWgsFLS$7_w6D z$G!~rWD@ASELzz(AY-%d$A_Nprz%RlOopL1R5J2LS?nEYKg{ASim5jf8S=(jtA8Nh zN-vbrzV~c+p!{sB{X#&{V152bz>c%AN(2@Mne<=n%GbFAPAlO0GJ2%B+>T{BE+*hO zJqji&orD>|Ox!FUWJwV13#_)uk^5TF zfF&$5qamzt)t6&-n~aTa=L2kO+Wi6JJ#2H@{SIUIX6G}^Jhi55GUvb>#pM!A4C**T z^cp)?DQ0j7IyD{l7nU5X!_rSwir;56cy4P|EimtVy=XWVu!+?I0_SkP#M~<}mbIPR v{2#?CDF&Gra51M`!sU{3E6+J(-TL@XE5#$4$B-*|*HyTT`Y$TPIuL&VdU>W6 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/MemberRoleDto$ProMemberRoleDto.class b/tall/target/classes/com/ccsens/tall/bean/dto/MemberRoleDto$ProMemberRoleDto.class new file mode 100644 index 0000000000000000000000000000000000000000..fcf051f2f07a9fc9301c30111160a0a58c5382d9 GIT binary patch literal 1140 zcmbVK&ubGw6#gc^*2LAuq-l)xSG3k7f_o7}D?+IVg|td5xlcAjoU)lIyPJx4FCGLD zLGb9sgD5JB=t1xP9ai&Kh;Md-ZPI{6mYI2P-}~Nt-<$XS_m{5#E}@Y_8fUXeVa{yl zES$GcV@SvjL%zAex47eR)peR$br%>aYkd{Uo@mKHwmq?^ln!|)wF(&OO{tyW9`AOA z@9>?7v$!c&bVqo%eZ49C@IKW^Z*i|L7|MeeuYP=c^YiKFU(X*5UOpK-d{2hCJf(P# z5(>LGtcSjgSj4}Ye@yOOlziR+3m$!ppZH$u%|FDoVdC65Pzpo}X`SN9y(4TK7ukb9of7F;=< zP&*^Qx$#OyeOH9bq_I$|?~*rcu|>hvNc;3i_^WbvKP&RGgSZek_$GbkhhV6Wy8iH3w4Ie|Je}g_RgH$YHtWPWSHMyF;r=4 z(=^Hn`iKn}4v=?{&Md85KxV=)+#5JdI2sG&X+J_3hfYRky739@T~x9_dnWo>LXm7c zPQWzE&l@7veSbIEp>yxn5FbK&aI zFW^;;hJ=G3z%L@7!Z_PDLC{1!?99&2{APYTGv9uke+BRm%^HfhTSWo)D!5<45<{eV z3{%OWI2K$BlkvowY>Q#xU|_uJ%Z_rYtL3&a)(fw!aSZK5S?*qoER#7Gmma=-r1ou3 z>gTyVlDU6Fc}mAZ4uorHqrN6IMwn4!>WcNmI0gkqRXl#x#d{jSVk z3M$IbNNg%}N8~ElKd@WWJ+?bCTY9lG;8`Qzwn%UTDp`QW)Oz zmha1uJK%P`eK5iYj+yi!QKQxVy%8lha?Z4_`vUXY3p>bD`9uxbUdg`^ddkrJTeG%e z)Dg!hpGr{P`B?pgOxrk-Kt-%_ASn^2_9pfw2PNmt0Klb)bcb*NDQ%?>fi z8|31o8R^pM8Q4d5q%)%ui)k%!E?Ah25(Yy uM40mG+80FEOD_)5bEAlH=|F4rsRHJQ)fR@|3uNz*-JnyWdjX4>M)fBg(6KlG literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/MemberRoleDto.class b/tall/target/classes/com/ccsens/tall/bean/dto/MemberRoleDto.class new file mode 100644 index 0000000000000000000000000000000000000000..30d14a8b464e1ba498d10f6d4d2c1b7423ecb482 GIT binary patch literal 828 zcma)3O-mb56g@YYWXxo0V*IGBtshV&26Q%psKrf07)VR0B6R0u@~|V5_he=w{wOzs zrQpIJ;ExjTOJb6VF0y&|gLBS3_uZ%GherTAShZl_a{*Z_nfPMjtBGYo{^0b=4At zQX`P!XGfDyy=KUrN<;Zxc;-ccuKP_R`5VN9YQtA;$M<6)V<+*#&}j-!I;})GDFX+D z`9S)SXtRfU%1Y@%jCI%#+bhN6eWU7Xqt=P)M7}r@2wlBSF&xVZ;HY^kg8t-t7DB^*Fl|;!|VzVp!vI8+?93Mz6w|!8vcn?=)8qN8*^P{RiD~ zl0k{ze79LdnRB}bzzix}5oQPEJr>vGV(rg8GRFBoWQGzJOM%5K78%ME2QqV*XL8yD ztK2ea)Pp@j&JD;5_}C}!Gg=SI*OpS_dmHHCz(NnvXY1|sSLiQU>`waxlVgSJ9B-6I K0aF|cD7*jx_^F=& literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/MessageDto$AckMessage.class b/tall/target/classes/com/ccsens/tall/bean/dto/MessageDto$AckMessage.class new file mode 100644 index 0000000000000000000000000000000000000000..609ccbbc44a2b4c17b056c9d2fb797073270e4c0 GIT binary patch literal 1217 zcmb7D-A+?M5dOCG-@{*vC@Knq*cQWj;guK@f-xZ}XpnHfJ>47^PtVq~Ta-)hdFn&zd^7XS%=!N7>o)+maHEI}t`(5Rk`vc+sOC^( zD70g}Cw;roWSFS$iG9IC5e2-iqhOU`X1fzv)snl)s75H)qDWg|m5vNUwXQTb&qNT& zn2Vl;ueH^tZp!dstlKiS2NWl>FT##w$p3u(<;SZxF56O)?KvllY9=wcPjPK5RAdd` z(srv8hJ?+vq%k5O^z@%%=aiX?<)IFLu85VpcOTRCv7)vV*Ze1& z#}#`UQ6%H_P#7c0cC+s57WaK4Bg3r-L*9@g;!Uf07jn<)#a;kn?*-CQBadfPs#H%- zDNjC|M+`mF=U%Q1dOKcua_agQAL&l)%lpdF8t)ac;#PrS{$Dd*^-#u?hb(d)CXmZv znPKJsSkmV87VkmBQDs;-MGVZ-DracFQ}m+>NapD_MP~st34=56NEtO4!#G(+!OG}8 zrCh})L6gTGrIVl%c6AuQ|gkVfaN;Q<=dAgl!2e&i0GmCQf?8%cR z+`Ma|G4UXG{|}YF!uWP6)*^{|*f%@x*Y|z%-j^SrJ_ERkt7YVHxr8jLMO-OjnxW*k zh1N1$Z7~ejw#1I$q0j+uxJc<>iD7&_)=qWgrn0IT%4MyM6HXaz8RlxraQjpQfs8n{ zIg0S*ZM9}vGJF`BZ5g>;>XY9QVJsOY9?53I_>ZMK*nj!;_1^ba&ky$ZzP)&pFu0a7 zc*ZGLwNe!B6OxOB($4a_arHP1savrltrY?F8~Y`os%$lqPhu6x)&j$1Kk<#-?SArw z+e#~Ummxblx5dvI-zfw>H zAN&FSDDloV8uIZ_S@zD(opbIzXZHU3{o^Nq13avtfOZ*qY`SpY$F`3L4CV7wpNYsG z#SFFX8Nc9R!qqVBYBhYy&^#F{D@UR)jT|K6g;LsbE44BVI~n|Ac)=4HXUQ<41DkTG ztOGM>&{Un*U?`P z3(O3Btuv2y{z?Rz;4AO+IE}FiafLiXK{3{XWaKoNd`75F}O7#{z>3!01RSiBjy zVPV+1LLF?{MQ zou80S&*|KI^bOv;?)8k_xI|2JJ5TOHo!!>*I=QRXahJ`g`rXX(Jv3;oP$rKp+(h{g D_jT4@ literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/MessageDto$NodeMessage.class b/tall/target/classes/com/ccsens/tall/bean/dto/MessageDto$NodeMessage.class new file mode 100644 index 0000000000000000000000000000000000000000..c7cd28681c05818c351aed83f6c6aec82da36a69 GIT binary patch literal 1763 zcmb7DT~pIQ6uleTriCETLKPK7K`ft<55JIc#=+5Hrc_6e_iefp7t;+UTL%7>&geMf zgFnC@<#=xzNLunxA98oId(ORQ&))s>_t$R#*n*v5D8fbwOxUEbMd2}pClsEV@Z5xL z28E82pT#+Ya{ZW}a@*s|wGVV4mHUFh^oNepvMr8eD4U*mrIfF^mc9xZEJTDe`;>dK z6)oBhZs>qZr9->n>qf`(Fp1d~VaQ#(Z1NrM9q~ZYf4rE}pCmdm(m>Mw#bK>Ir9`mn@h}v)xn6ht zw(U5fP@%24=h;ocmEF?59aCOwe?FA~#g$y4KgRbnSzAmU;PQqnguGAuDfggahfKsA zMqU(g_O@%sR1Y#SgdqD}PfB4@eyVo0IvHglCRM+ZhDGHGWFjaQfU{UYH4VL}Pv|0I zVg&Zdg!)VGG7#!h#CTCSl5gDomJw24YA4m*?1E$t!r* zq^@HyH$W1&hmWd=4=)b}DZ)5{eH5kK%QD7BFmJAYp68%Ks?e(5K$ZxQS!#zM5X3b$}hf=K9XxQio$Srp$-{tm`h+%zB| z+nMD1Fqc6d>L;&flIJrk=laPTndAqskWo3`Pu|QVKg^U}=qGPwl54OSSKda44D_k6 zwEP2%e!Ev9cD0L$?WU`s{-9f0g5|6{Lxbj_-l04z*?Mw==Api#JgcyVk-DhoT=_xs hP+w9WJNsOPLGw^wGj#1y)Pd`82S-w9!ZVnG(mzkfF$@3z literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/MessageDto$UserMessage.class b/tall/target/classes/com/ccsens/tall/bean/dto/MessageDto$UserMessage.class new file mode 100644 index 0000000000000000000000000000000000000000..472e711866e1175dbad68f90d4c78202702872ca GIT binary patch literal 1588 zcmb7D+iuf95IviwF-~22Nn0pTNH4Tb3pIrT5+Ed0gj6XM)Y}VB8)p@^IO}3>s`jry z0wM9h2k=pdS;sUtKZFO*ddKI?<;?i^pP#<~Y~yJW7B+1Z;2HD4m@Q)-TG+Pmn4!>8 z@{_n=n694iGwuakHM|2IN!57HFu&hYS~kV8jAbnluapWk*D_Qw!)ih}_s)1A>xt9z z>4T2AR66$dLcP}t0t#X^MI7^nU?{bdm1SIx#OIcbM17NCp*P9l#c6LM`!otqgs*q& z43k||R>P#mxy#Rear0W7YX&}n2!-!isX2|b^bt-kDDwWu4 zHESX|8en*Is zTgi~ZjyqXr-NB?rABQkqX-nO(B&z{g1WNPLTUXv0cOb377Z1W#{qb zpz+h=#2Cj_a*TtO+U~@aGc^xlrv|Z8gre3cM9y?ar%iFGce2;$=F!RM99{nb_BDZB zCtFCIOPHs3rwzajEYOYNHtvw^C4WQiOCNb9lU$~b2gxJ-33e&1j9#YjCsTj0_vcjNQbkWY?1) oHjY^d6K5S8WX&vl`WhWJj#(*2-QG)ve;>E#ERv^yN4N?5FS`#TZU6uP literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/MessageDto.class b/tall/target/classes/com/ccsens/tall/bean/dto/MessageDto.class new file mode 100644 index 0000000000000000000000000000000000000000..756f3ffcc06477ba17deec83bb6f4b2d33d0c3be GIT binary patch literal 707 zcma)4+e*Vg5Ixg2jcuc?^?p}W&^~lQd{cx{5rta8OW!x?(x#>fWK;jkC&33lz>g9q zq4e^WES$4*CTAwh@y3MaxoVd-A#XC=E6?SN2hIPa69`D@pAqZ>l@?7TzBHMt_8+;V-@ z9t~|3zDnC;rP>M{>2+l2#_?FpMSWKjPFqee6po{nuSFz1PuNQOq8kNb+~+n5uDJ0_ zFbW-Y=f(xg(^P#RKcs~+Dum+{r3jVSAw22##FITxPDBtXj3;yROy!uFaLOJtDlqfgF1b6kswhFc+AMj3s7^d69Vug?~G_yC47n literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/PluginDto$BatchDevice.class b/tall/target/classes/com/ccsens/tall/bean/dto/PluginDto$BatchDevice.class new file mode 100644 index 0000000000000000000000000000000000000000..ac9f81f446ae9b20fb53bb2c1c70912e74c6a8fd GIT binary patch literal 1083 zcmb7DO>fgc5Pj>!c9XhI8fc+>r?e$4QkMfKijYbxBqUQ%gL2=vD|ahr7ulQgw?G0R zao`8=qY$%BL?BqA96U3gnKycG#{T}}>o)+8(Q6{Wy#{=Ao!M~aeu%9Q+YFvI44wE~ zTnL^Co$|iTl}`5=>ROB>xk3ud5Ij{{*=G#3-p+ushvt-utypP!JRS{Y{#Fb#%5-9r zh-@Ho<=&^sx;;|`!{T#cld~gvp%UthUTQ7#!%P%~q~fDEF(aNNh13PNBFp$t3e8Wg z;cv2Ws`QaHo4*YphJGsTG10%;+o=)|x^k((Mg3BSUrZpYy}uDoSLo^!3`G-6vv0u-Y9t4$P^9=kYh#5~Mw6y)tPC&Si!_xv7qbdKc&A>`0<--H zi-;nGScuSYriq0R4;c3TZyOBl*$H0{&t*b4+xYhkbm?OV=rgIob1W$G9Ffu!7xE$K za)`(-(Hkev$osorz&@63%VdKx*+PqA*Gdg&;|h5?4_3+k3H}7{0~I~Y!0k%#S|zwP z4_>JRU#kSy=fRyy@O7+DX+I&J9{o?t;=H>Vp^)#F&t*O2F(Z=@~jhlc9&q^kV!3|AEB# zZiprtBZ+)~AF}!t#_HV->@8u#!&G0YPSvSXJ-`1Q9sziWg??l(lS3M_*4(w`UKTuy z`wW>V4CKlt!%%5k>-cz3Ro(L+Ep|ASkXZ7N+*;Yb>i%K%{6Oj#H=c_u%NyuLGj;RB2_NF(eDcGDB*a*fZoyO3T-k9alzg1vSqwTnarAltrZM zxpA2?TZ)J{tu*I*;nfTwRykjqwZ<%l3&qZ9*ns7RYI)i>;~5?i?>rLIPG~YI=F~Y2U+wvIA={BBUwCP z;62FD+QZPv%YWl;OV2RO_mHIZVKGdej===|dl~vGlSo+VAbIIDKx;pJ12G(OP&=KD zL2^)wosJ8Xh*>enUZP~2Rz_=j<_FkU+9Yt9Y^HWOi80zc^#EMKH99d|#|^Tr;BQEL zX#-Dn1>funPPT)myMo6_kZZA^FLlj=23eY{EBsp(#*JqedR7OOug(VE!(0YL)rAivQob0TKXzvsMe)#hi|y+iooW* zFZS}TeCD@=w-NZeBG7LsPkN7g9l>zs$HBqRckc~b!O(6Bt)+6am}3~*-rnjRF<9$L ziD1R!VJL|1e%l-n zlKL@2vQlj@q*h2K!+2dP@x0S+ieQUVl? z&K2667!yjB>Pgd!-GHt+42u-?AI0aw9#Oe6$YTsBb|a3M9#sCF$Rx^d`klZLYtpz^ zJi3p0(@+f4r*+Dbg%ZjZGRRu6FptD7?n;sYjdBG7}WhF zLQhhRsU+5IROt+I|$aa?O&SJRX&4Wjk zix+PmH4#lP(YyZ#75@q2o83a&1p^_?&g{&7-+SNt-b{b}-TeUo_u+0D;xLhd7)+|+ zRuZO?pcCkpwxm|kbExFDAdoGs(G99wRG4~MI$W4D1csh_Lh?GRaFXj^yT;b{#`f1gZ-3_N z+_F>xw?H6SV;kIH7&;SZ@g%qO5_cs=NR_!MsPr6`ggXSf7N|5B`_hOEJi_eR15CTE#Uq<%GArXAku;D$sz^DPM(ClY zz9y(8NkMX*9&WB5`1mjkKZ96bL)rEmgFWJ^V?BpwU`pKp0;4A#>=_OEVL*cfBsI{W zI|rqG2w3x!XUnD0RV>JBCZIGz$F|z z$zLGyDMTJVmV6nmptvwO8YYh%Lk=psin&K&tf}Au28$@Y6O%g-3G2`KQE~yIsbAF= zSV!O*j5o!U+T%o3oG7$>_+K35G=b}g4m?WWoW-3$=?#o=(>EpWcR_ht!1Z~2vY4+I OZbJqe7sGiNQvU$wEor|1 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/PluginDto$__TaskSetting.class b/tall/target/classes/com/ccsens/tall/bean/dto/PluginDto$__TaskSetting.class new file mode 100644 index 0000000000000000000000000000000000000000..7e62ee6a27ef9c5dafa7caccd13f4b2badf81a3e GIT binary patch literal 2350 zcmb7GTTc@~6h6~?O9iZg;2lJ50aIqWQuGf!GR`1M@9%i#@K_%FHQItR{h6(blQC zK^-przl$+ZG}?w}52YEg%%ktlM=*XAijSbmvi1#^k6G7&vZv z=Cg1CE@q(vvRODO%_(Vmq&Xu^zcl9{n}k&YY#oJ9a@ z5(dsg7cOE&(O$xYHGC3$#)m%x`G7AGxQsU8Eso(S!BfEi7=)|n5x54|(KeGmLgYPy zjpT79Ijd00t~2gx%^@`#e02$E-&A@c6IzIBQT}bNwllu4<*6>9CD6AbxyXct3?@Kr+2U-(v8V^EDOo*C5xRPe*K;zJpFb)6Z$;5*n;71vY z2{CYj?&Q6$SM@6C>i+rt`UY@|vovDZbFlB=z`-FQ)0E+RLs_d$kKjHVqefL*6Yta4o(QUc6(7f<;IaxQxokeLh@c4Z664+%c~Y4UJbge=Ih$1 zm+`QpMoroASt-^7Px>u6($jb*#%*7Rgi_rLhQjkgWkO-4?~9I-Ms#f;-u!V-o0<*o z2h2_5wc3TTwDR>C@iE? zl<6r$p}BX(ptqxeV6eL~6c<_Ginz~RpE|W}u(gkh)aMSht8`ERBvC>N50V5s-oQj1T)(%yq~Nd9#!GzTWI8mu4@@Vo#h) z<;0rKWA46}xqTT3Y|&rp^tTL}lBZ0koVL+hp~|7i zC>C2EV6T*DFzGdh%?hfNTcZJr3sf;I=I|kjE4bRaeuJjpyhEEvm?Q;4Oadk{)m+BL z62Y?`Nacl~X%FTUT+HER)W+};O{+ylYjbA(=z{W)Zj2_zw7O1xg*tp?xNY?pLOyZg literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/ProjectDto$ProjectIdDto.class b/tall/target/classes/com/ccsens/tall/bean/dto/ProjectDto$ProjectIdDto.class new file mode 100644 index 0000000000000000000000000000000000000000..f48dd404a4d28264e4ab7f5f5da428827388be8a GIT binary patch literal 845 zcmb7CTWeE65dQY$)}%+%i`Ld#4f>E&aHWV3R)kU!3daj7dEcBY$1Nwj;q0d3ZxEk+ z6hUA6P!uY)KKKLt9UApdh_gvBZ57mqo!Qx$Z@!t?`Sjz%M*vq)t00e4W#n+WgtH|q zGL*ZS*^seYZ!=6q8)8%NROp09Mkgx_3-^24sg7(at6HgC)!I1Wl+l)<5h=s%W052> z<6`XLt6g>5v}JlPGhLavCzPkKDbk)~nD4*Z>p$E6@_g&_`>pS<_rAW^?mylAw)2vq zcwK4bZZPEPjV42WjZ!dFBcsrffEfv;E@-9cQ>F_wVQd{msn(~$unzx`y_JhlzB*o`}8P_x(E|`-g_w|3G-9|<+p!MW?vmXt#+!+HH1S|! z;>SS`UW|x|#^6Ek{tgTHCyejxR_Mnj*2BI#Gtc`x^UgEx?vLMJzX6!Ur8qR4Z9@#> zD(EVlQ{lXZ3mPUFLbAZnkzL_yTsOE`)U%dZoM!01SvFl+63fz&IYVSj({i~hEz@Bb z$x2Ii?($+$*gD@s^vtTfW)*~S!?sq1?cO7u=o&Z5f}wBc&AXr9*SDT-Za;tc>-FaL zi**{P%_Al+Q9@@;4NI;qy($I*S(PV`EAO8%v=@Yvx8a6M%C+*`Smw4=^Xg*6 zy(4LdB%OanF6#u3_T~fsTW*JuQG`> zTrZ-mEDCpl4C_pf)Oc0BFO9%O&&cjNc-P7#CCu0Q6{m&FUsIxvuiceylvXZig!ErNO;4lt&plBq)MTn7G+yGQ!}`7>}u>3@d+%D z5I@mvK_Da+d;tG}=vN@F(?sD>iO0hC`p!Ma=iY12=WicB0l0&uDvG#PK>^oe%*VLF zP&A?^85-?tF0_|&qS8VoQrXW zuOFxfc2DX@xjm4%e@^F=4u$TMNOE%Y`sBsiFRxyHJvwG6uPLMaU4}xl)uBo@h{jNF zDn^nxKXxK?!AsmH+RCVRC%m54)lD7>f-2ACF{M z{0jya=*1Q31u{gTbn-DpHS*_ZRUE1WpqoTO_B^FHc}Bjp`~mC@Z6ZvN4NPDXb+Q3U z0E%YFGtA;5*`LYp5FJzUM{?s#@+Hg-$t#48h*Ms^^&Zi$(h~#r>?vX>9m+aws({M_ cwJU@6La|pVzCf!%j42vJ1L5bJ!Za%10e6Gf-T(jq literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/ProjectDto$RoleInfoDto.class b/tall/target/classes/com/ccsens/tall/bean/dto/ProjectDto$RoleInfoDto.class new file mode 100644 index 0000000000000000000000000000000000000000..eb265d8969f12b5611c68d8b7b57e754fd1486e0 GIT binary patch literal 1555 zcmbtT%}*0i5dXb?(y|B^MZix4wFTvgdIEwW7!s2D5j0%Mwtdt`w(pVMEyklqW4!3m zn8?Y51AYX9c+k6l2Uh$ijPu%(mbQryve|iWcIG!TznR&ef4_YPa0@r%h+sH|Fh-2H zYQ(iDcof$e+UK<+=G2nD<7)@{<-vGYj^W4Lu|#>%OdN~Q6+7E*0z7Y z*^qP%xkQIyGM&{0p3QnfdEB=hhi8PXc+S_H(ij}k9oi#i?lqc}->T%=`LR}d_JJWX zDV6l67=p>v0_B*Yav3_)Qi*%TLPofcY+}ohNb9WaEZD9zdi7(-e=Ldq*kLQ8GCK0Y zpRMb7BAIILxkXM@PNo-8QVlPLDe^v27dpKC>ARDS*-bYr@~Y2IY9;^e5rb9mIMo@TY9qrVUl3>{9WSGMDjrqRrXiI9FbuVh6Fg{~%DfmZ;c}~b kLI;gg8E+6*%6(6kSHp}gMS2^(W(C3+rFqBb2_uf!Ke&8Y1ONa4 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/ProjectDto$TaskInfoDto$__TaskInfo.class b/tall/target/classes/com/ccsens/tall/bean/dto/ProjectDto$TaskInfoDto$__TaskInfo.class new file mode 100644 index 0000000000000000000000000000000000000000..b766f61ac6a63bc80dc1aef4ee80870a17ec73b5 GIT binary patch literal 917 zcmbVL+iFum6kT(2IVL%pHoa)Q)wV&B7CJ9JwM8fup%AOslGidh9gkB_X3CjK#a}20 z{(?`wR!{^Bet_R$@h`+ZX+pddygba_GiR^0*WP>PeE#-Q{%biG5-jPD{J!d#oyDwu$De6PK-;dbTMwm#q)t}a6qj}!ELOTRZ zHGYr#9?RRNm&NkF@_kiDqRW2z40C@P>S}}vq6h^P8CL$k8-}sbeLw8@)(+gw>eCgyvI#tMDpjEOc6M$|K5!s6r;^Z0m!r}+8x3mdxiL7S=byUfE zC;>2rDe?@{xJ>qE@;d~_6#S8V`&{xB%nZmYgbs*PTwHpO;8*GSK70BMF_89Uoi&xi d)xO%betW*y>vW!=RU^hYjiCnr^NnK?rSBO}*hc^W literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/ProjectDto$TaskInfoDto.class b/tall/target/classes/com/ccsens/tall/bean/dto/ProjectDto$TaskInfoDto.class new file mode 100644 index 0000000000000000000000000000000000000000..de1d93f4797710d2eb418fd39a1425805025fd82 GIT binary patch literal 1546 zcmbtTTTc@~6#k}HT8dy%1TP4J+7@I*eFB0Z7!s0t2@+n(v-U|rzyJLB3E&oPMiD|Pf*^*B7&hWs z7*-h98CvJL`*>C@>pPxih|MY`oN1f8u5iN`Wr!{=?s?E<+0ps(b%~)Py~5YHWpkCY z(pu%l8G7al%9DAqAYGZU#gtOoN0!hYcBRpEF~ zDNk^X+XcbUU3~Yw`0B&%n~j}s8#~+EyD!#@FSkmYZy7?4w#6*9(NcQ z7KVv*R_Cp3))mUNJZ{@oMsQ^DiLAQ4Jd|5ay=FWZSKL^or(I=hKdMz{VPs-rTFc{acY~q(TBR=WW|g$ zw6@nqHe&XTq5pr2G#*12&cx7)SPUnP=)|coZZKF!WQCTzw&V9RW_1|Gj+kWMb}w|}z2KNyojgJVt%`sM}C#=qr5npnJ>FT@{ZiXhTS401Si8^Y{;&r!p^w%ed04pTJ@B hRL1Ma)iUpi@@kl|CF$NmuUUa0MrhsRObKy literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/ProjectDto.class b/tall/target/classes/com/ccsens/tall/bean/dto/ProjectDto.class new file mode 100644 index 0000000000000000000000000000000000000000..4f9b9c6ea1c486a8a19a93a5e6c89860f2da4fda GIT binary patch literal 636 zcmb7B%Sr<=6g}xHeT;3b@7KZ?s0$b&doi!=W;ps>-*yqz!|ox$YYsfg=3XtjiG)Q*`W&Jj(N0Kv1RZ&#;B;RrE|)0 ztP?XW8BhVo21BhU-OEJ5u}Q?e)#|rJ=^`{?e94eMIP5bN+IFBA8r{&SoAJn3QBV4s zm{!*YQuk#PCi#Rc#LuB)*zX2*B!a*x<3udA7QT{33}P!L4Kg6l^0$ zn@3hue2rUE2T|C3!OMaJgsA=j$NSa zV8;enfe;&n)NU#P5=|vQ2sTAx$qI=TEB-`FIcM%T@#7+;l6CHxbH4BR-t)LKzyJHg z&j6mm`w2XZ3vrlulf_#sF0yc0EV3vVSW3|9v3Q&D%d8by_$)55xXhx&-W3Do1hTkb zqQdK{i7O_mCe}>UOw>(WW%D}*-WAYR>IZy*?93(is+%vl<>mZbt?HMTCk3oUTBj@Z z`T9w}F3@wW==vw?ZuwNDyu9Ft)@-Zws9!!P(7jym0A`wP5*FL*m;KsH0@2}-Gqjie zl_gIgJ>!?XWA&9quX@^DERiKUQz^KmGj7%A=g_FtivF6wo|!^rC0{74dF8cy%`KJk zi=JD~FV!mfxmAD3tLFC?Y0t~&yhHV~@+fpPW7(_C1}EK z4u?ElFWIL%^U%{~mSAJ8v7y{>=YBXlX+pH^h%D+IbvVKukzKW;Hgi}U?@HY*QHEPK zbbRrWSEx;nEC`57Yu|(}0liWydR2iqS7=B!SR$~658Z*IwY#zs&}tkAfUO-C_MI*9 zN?*T%CJ!~BVo6tDKx%H%@Spl6N8!nJP{L514CzSD)!f46S$8$)VVdh;2F-$7KFG-y zFpKV5QH}x4#1YEniBm^rX`%$_v8uOLFV)Bx<}o?cny%geYgG$mgl->lmzEe2G|i98Xwy1UoDYvUrrmP8N@`7{U&L-48sp7LH-k z!Z;=@IIQhrEzja97Q0zI&Ehyt2=uq#XZz}YiEab(bZmQ=TXf38d$>kpHa^&#)G0dW z_@E-KKxT8ta+0Xv?&_*nUJ{s4-3cAnM0mtW z%D74I0U(A5*MYPMmm*lH8o^2h30A5}uu@rQ?S|m;k$jS#^0W$C_0ii9-vzK?k}+w- z2XQh_T5%n@Ik?2ns^dhr8i$*U z<2UDQ)^g49y=Gd<=zknXSIra<8+40eJ#Dhmt6350#INHQ-=(4pt=)M7K!q(Q&)j(K| zP7uq9**arlcaXh-q^;YrCQ#Bb2$Xb8+hC9xf(+Yi0;QZdfl^Mwjx#6`g5q|f36yra z2$Xg#yNf|q2qLWslyQ;-$~Y-I$)HpSO4_LgNV`erkD~oX`CR5@qf75%FQzDKIsAi{ z=$47l8{|*COtvUt{=h4wX_&?>yh@smS$ufth>gGcZd(Q{2OV zRO1h%(!S}XCOd+9Oa$|(b1QIaA|0ub1FUbPMyG^uY6QRYWSGcd;>C%5Ju|sin+n=z zduFmo&0}W9ZorsWNB2dxTaLyKTMIoVx0G}x9X)VSHw7fq)*G&r6AN6i4Hxy8WThP= za8Y}OETiGdIA-87H(b$~k`t z%>Rh&x!dT;_O2tx%|%PLPwF)Nxop4GldKO&od!OawWXeB{UNDmSl>os9oySqcY4$7 OZa(Y-fj5GwIR76hcG27b literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/Spider/GuDongXinXi$guQuanRongZi.class b/tall/target/classes/com/ccsens/tall/bean/dto/Spider/GuDongXinXi$guQuanRongZi.class new file mode 100644 index 0000000000000000000000000000000000000000..d6f024ff1393cb74e441d8c84d954d9c19a9f683 GIT binary patch literal 1090 zcmbVK%We}f6g{3KGs$E^+cXL9N1>p!mGGtuR1ll;5GVrCL{-(DGqI+wCLS~ozN?i$ zNL}y&d=%n(CZ%bZMPYNVeSOdIIoJOA>+A=BZ9H*d<6Z+b+&AHY32P1>Iap_?r%`sO z_M~QL501qb!9$?~K1^e!gXaux9O>Xty;u4*LnChCmG&U=MYu0wW%jdTH9b-ZgBN6o`B1t5j?hO2B z%6&hPI^n4ZLq3*5^GO=<;b%3GF@KxABItqA2WowuigY&vnU4Ng>-0Cu%(bYgxV-S^ zor4OC&19aV+y9%wIB!wcC6aSgLE;XhEcWFaWrndlr}(LvwudG>4-V=c8YZ}?J9y0S z?0>z}B^S^5aeOTOlws>1*swv^K5OfMu*wX6T?x@iO=;tP?u4Z~^X=f_tUl$|AU13cg+nt}cRmrQjR5 zIg`CZIxSLbZ*F~qwP?DXqkBci%(NMZnWmZ5t#Y2qRe8*77@phZJk_i6nAc>a@=iYY PyJ%B(sZzs3tf2857#F=5 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/Spider/GuDongXinXi$zhaiQuanRongZi.class b/tall/target/classes/com/ccsens/tall/bean/dto/Spider/GuDongXinXi$zhaiQuanRongZi.class new file mode 100644 index 0000000000000000000000000000000000000000..29ec78f532343f566a5d0a0763ef5ecd9d9805b7 GIT binary patch literal 909 zcmbVK$w~u35Ph9(Oq>|^eFYCu!M=D>@e&u5plC$ITW8WFEn|<&;=!*{Py`QtfFC7R zPXv=V2bF>9s+xM$?^X5t$Lkw_4J;Lq#dIDS%osCkVcx<5L&0f9M@sGs-DDW9UW+@y zT?%+D^p$RIQHAg6=9M~9dXFKut+Wbv7}DjH3x-U^YeHa2q1Mu`xFQH7{ok%S-VJx0Kp!gYCF3e6j# z$7{E$A$@)j?Gp4-=}WcT-HiAan=-6)h#D=gB*`*mZ31m&#h@EDR{n`Hl1*JFu2AzL z-;w*u$R6xqwr*x=BaecO94s4suq-SxZ2n&!-SEAkllrxELWZ?J^urP@KT9tnMIW(> zJt9VD7R-<(+fNavlbP)53)o{^W|Pgu$r%*Mx7!66zz{{WbBvJf20tP7&;y=L1dk?y z)4kxiMDQ5Kzi!@)g%QuywP&Pyc~8gaajG#&+PsZt24Un*B=<@GwvQPkqwbTjGFQ6qMmBq3wmJ4F32t!ptErt{f6?O5v zsNya0yrkl?iYqGKR`HHdysO|n1@B8pURl!36Lq~bT`n!onG&>#Qpu?7FY48*!Rd zLqgtX9?KWX=d*=E)hJc7HN9BO&Kr6uyHG1)sm~XwN$1N2y?9EmnBv`0hHFbELmXKP4a~b^(Wp)M%G1?95LBQPq3$~Jv~&aM zuF_PCa-Fs5v|{v^Crzza$AFHn^Xz~cC3()QyG$L`R?52jTNx8IOcCqjtkZ!uDHFgR zZ%r>RH|l!K4__CV;;2q5elK+_CAD51={&K%!&}%C$0vD^htG&{p{^Hsnuo+=^Jk4h zZFFExf>ahg-y9i^NrGIiEg2PNBznKkKV`ZsYl}KqO|Ag@z3nru;VM344#T~krm*xMv0;XL{Zx&!ONV=X zWKo$M?sd^cg*2dH9y_>sGcvoUCFIsXfv+$UcCE$Poff-9UtTs!3;citO)}Tz^H9hS zhzH-ewD-lc_6q;%0Az$jA5aR3R)B;jEO{&6*%g+|##q%4P|qHrzMVR@5!VsEW%-o& zlm~A@`p$CO#x-Ioqcj7W4Zu@)ns1V58LnRE9}xQ1=Nu1oW|uJ%zjK@4SqpHs6MU9u zvr7Xa2>Ull1Z=`02Sy$leThSJIy_m_6A29e$Yro zCyGe-1xG4BXry*0yCdz#z-pxXDIExoH1eR4in}2qGc@=$5g^q8DH+uTO5~yhC33M$RDfa*D4L16K*?O3pkz+V#05xm zK$IGw@QuJGxn`%l+H7}l7)MA*H-5(i?|+CR<$D~Zu8rg58@xyPx*U< zOCmzlB1T@s%`dmHI*`lrh5k(0)ef)KPr|mGEWZLiv=I{!Wknu5Ir4%CdSMeGXY~!t8!t0d6 zyrq+PgObdIx8n?@2x`~>oswdeoDlkrwwx6D43`x=_zlHlq-_? literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/Spider/HeXinTuanDui.class b/tall/target/classes/com/ccsens/tall/bean/dto/Spider/HeXinTuanDui.class new file mode 100644 index 0000000000000000000000000000000000000000..070bc497559d5fac88c35fb30872a63b51c77130 GIT binary patch literal 4489 zcmb_eS&tlN6+P8URdsdsIx}_(8<;p_n5D;^0AZ=I4LI>6He<(RjANTEH9dv9oOXAo zmynp9u!fNJ0VxkWVhLGd5t)cZC_E4(9uX2^dEsXu5zM*uRj*TqK|(XSb-sJgz4a~U zeqF!+*Drnz;5~TR!d+-(V4*GMaWNe+T`@f|eKAjn`K*B_Ek2(Tb6qk&C+PEHz98m{ zV!kBi%VNGF=BvVc+Q8Q=>_f}M*X8*Q6W=uPEfe21@r;S@n0VI2cTGGe!RHOUpdr=t zuK60u8&|z2ylTU1Ua4;OIzjWwnucW8e^P_F6?A&_ZSN@!`t^G7h#zRkUhfAFc&&?l ze}kiZ(A^079GqsJI5I)^Qr~NC)``>YdaKDd=tqNQ&^ykmi%S>y-uqhH^cFUPrhm47 zZOiYR_qH10OjY|U8~k=UBB6__Pj=;y5)P#>UOVH-E0Tj zey94Ne=%sD=ezIk2V8-1#qXUB7dX4P6t_g3giTpxmf*y2p&5=YM{CUs9$#*Wj#E=B zwnN`=(I$uI)VhuCU#Z$a)}XZ}B@l&pdaYjF@9;$B02Y*1tk4$?%rFoNC8PWy&V}xga`GxR za%4loKu@*`4~9h*oLF$g828PDv}y6pD(191ACZUqQyB1u9xJ3odd;eEG|FxEyxL=D zymlx^HfY#9X3cA!l&xi#)V*$9X_^8*#hp9%@ToH=xwXW4$M5zVJvyUZOD(7!TNrJK zu`pP@y)e;Tg@x&*So91htuI7VG z#Jp3?qL?Ky%VJi;Q6O{U^wlFjMlTx>EsB_=sDot%$NK8E8_vP-cgL>0>`uObnz zl6{H+r4mt)$W+Aj!T37Kz19(#OPvqJ*GcWQjAQ`7zRrTOeu1Ejk4u6(dr?DUOk5-4aQ&ZrLdbsT`3?PI*8| z-DD>wakum%_m@|9*uAf-9Ukc@R`zbAv9c7~Z6vbO~q$m?jqcostxA=n5I3bQXqz8lnCpGDcX!;m! z#GLjQG{6mwU~C@Ve|C1&ChN4d8RN9opW(nl5k6C)~;y?v2Uo&Q2&DQbe> z#HwHL3Uwh@SNoUPcj-0kFW<2PN7{yu@>>+<)#;QEC|nSHP+{JdPWi10mju5}VP23< k`RxkN2%cAXR`8uPJ2*7`;iIlj^?}=tG_2uTcn>uH4VwD*9RL6T literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/Spider/JiBenXinXi$info.class b/tall/target/classes/com/ccsens/tall/bean/dto/Spider/JiBenXinXi$info.class new file mode 100644 index 0000000000000000000000000000000000000000..b5d025bf8c9e88339d00ec7ba718bcb691a0332a GIT binary patch literal 1020 zcmb7BU279T6g{)q>?Uz-+S(6mwOadO62U>}Q!75SASh`SQi89O%`}~|nJv3pf0u=d z;DbM)KdN}|CM6j6A;NI)%$;)%=iYmJ_v<%+J?z%tVWWyNo^yD?VbjN!k8J_hs-YHG zY+tBvN=C{KWG73E9UKUhFVAC3pYBkZNWgn%tjXRBlp4)0RgdC6eb(E?>XWNsPba6U z7v)-UsG_b)48O-kH#;{ek&Hcy1%i*(>f|U=X{xFEwjIVp8HTC0smxRq$(~kL_On=a zE=^x2@{>8#_N$?@%?f1BAL#5P_rBC<7P+qw;LE51#vbQA_~|`sx$!TF+o}-ao<`RZ zt=5UJl2Csz++TfS<_%9RzykyUd{hEdIn+?`u_GY=vnzr5$re8ME_9d)v}PBbyvJb&-DL$l^q%0_xTR$PLbJ!e3FE74Ao$d@J0Os+CvcM9SDgI5q zf%Ba{9ZblLLh?!>xin2~7Lr#B$?i0{RY-n}wXyAe^68LUul4!|oav@_bN0#zF>aa% r!qengJt@{H&8oxOV4d}19d}k8-liazPxHAy!y@GxRmymY1yuh4b%LSO literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/Spider/JiBenXinXi$zhuanLi.class b/tall/target/classes/com/ccsens/tall/bean/dto/Spider/JiBenXinXi$zhuanLi.class new file mode 100644 index 0000000000000000000000000000000000000000..cb3f26b42ec44be946700bbe57cd8860d539cda1 GIT binary patch literal 1481 zcmb7C%Wl&^6g`udo5W2*Y0ImxlmbZ#H9}nhVnL;6*>0==pt5Cp5#VP6= z&y&HCYloqvABSDXpID9)N-wk`+jXshv^{GW`Bv{z4P{`xRj;M@UeULgiclrBk&Hgf z*Sp$k>nfh}ONy=&@#I?F%QLCCbo0t1slFCwBCWOl4a9w!b4)`KGZSj2m4v$TNJ3S5 z{xoppvEpvlXLTR&C{5JSFi}RuM3up0SZ1i9V!#r3_W!LEXw3HHY;Yl+NT9R04w|%r zOSGm%e(%wA7C(suJGc&3XAISUa`)uUZ=RI h4(}!F+}G=r7S-Xs7Sy%9cmp3`oh-i?c#Jia{{k@u=R*Jh literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/Spider/JiBenXinXi.class b/tall/target/classes/com/ccsens/tall/bean/dto/Spider/JiBenXinXi.class new file mode 100644 index 0000000000000000000000000000000000000000..ef208c4384e1118e08ac32b84ebcc7a4300acc71 GIT binary patch literal 8758 zcmd5=d7Kpxo7X4Ffp6#h9wXWI)|8qBpY@E$s(}9gUM#tZJ5l4of!nY zQM?fm1i||v9#IZqIpt6e#amGn1VQmu@V-FttJkl0dO97L3g_$~+k9;5HGxR1pTSp1O1{VaaO;>Ro=VDTV}pRjm{#ltLq%Hk0Y^=O2C z7NZ>9rqR!Nd`zQXX!J{sex=c`HTsQ4zt!k>8vS0QKd}9Ajh@ixj~e|+qd#l(7mfbP z>c2(k?-BZkprBPcbw-drQYsZ@Hx%>ba-kfde+r76GhNM>MlDcE`8@?e+0oPTXXb~C z`O?(zcxBcqO|6FCSypLcrZlxNZ;j*i^pr(OkC*ad>nAwf+DSXhvw(6c;h1uityNWUyGn4t^3He!z z=Smr@Oj~%?p#?0CB_mUX$~KwdmVsq{IZlCq@8L=_Yqr#7It|V7^~u(u8mZ+wA*Z#J zv&Tq%)|s-?m3R&Fjdt#%fSXkMkHBLtya4!dMr$>|uP{fG1sYFQpz&q}DtA`o)Rh%EuiJ|WsOqwU zxsw$@Co8K47Mv7*4ILreX~EQ!7O8QkMJndgf>|vs&FW*-vchY$jn-|Jv-dh1X2eT> zj``w6!i6)c`65cAE@8*+I;}8SS-othAb~dP?xD(r{x(yYF3h5#@b=Bw%{C@=YLbzL zv+A~B)+W>|ZDM^7Rz#0dM)Y*&W;>)uo0L>n<4)N$w?`vs0~oKKVa($QRXfYbT%w0&6M z}XUSaCo**t`;j$s)9=7>gy(vt1pja&Qk=joGaaNOlo;eVpf;ac+Q=s za84y9l5;W;%elUFf`hpZV;ytX=Zs?Ne5EJ{R$oY~%-DAj+!e-WsjKzj-}%SEpPnj z(PuISF$*TMV`ej7LzP?Q$eRwSxoVCnuW#UG&)_UPt#`v zwR#J4~S07weYM)?$o5@<8{zd=Bry1&ZXML^IxbqH8dZ@oH^HAwS{qwoUG{I9R z`?g12{%uOF0x;Kx`eh9OMu+Mga46x%F-Q@sHk~Q-M0Y#h@c1hSXrzkKJ z%XGShPR4uGzK-2y1r0ZzH+g3iboc^1)I(se<@fF_ly(bR;dgEyaFna8;Tl%QcaDvN z@@Wx%5FCl0FDVLebpr*sz~zVgiCvml;oB$b?$|#)(tlI=Si6$@;ygwl8 zov)?9RUYTKuQRrkk8_jPS@(6uR`hWWdYu!#&e*~}&LOXJ($^VV-^V%Zbx!#@qh)hh&j8^L7tb3hX zeVx&QeVh|s=Qdwwv~C~gq}RFK*BLF}$2sM7?(lWSQGu4=-BoF?v*F`x@9ZMh-a{qz z1SWz7cq1<#yp96?8@tVBsEy5=o;wrwgBkxgO^wFk&c<=}`o{@28izY0$2r44PN>m1 z+*vu!tbd$vqj9)1bDXk&oJgZ_xU+Mdihmrf(KviEaGa`toM@wQ_+;TYXZpv9H5!Lc zCXVweIt!AExvmc5jmF`VjpLl{A4hLA4xfx1=N$j{N;DdWPgaieYX3ONM&t0w%yC}h zA1Bpl96s4O&THv)s%eb6_j{V-G?DipKXAX>H-p!MZ6ESs+?jVE?sjMb^adc@gCUX0 z;50OgpdJ}qeg%bs`v>o!%;gkn+CO+ZWyXe<&rw!R0h+fBL72f6_fXsj-c6Z(q^~f7 zbJXH6TFnqBt!CH=F(-UCW%p6S2pM4)sm+Xl)Mjc%gh`qrMGVbFYB!@GwVN>`%A}Yg zMU9w?)M3U!>M(U9&LmxtfLtWQOn_vVNh86eq#`AZq>I#Pra z%z)HoW{nJ!vWk>3vMy4$*$h&**@|9r)T>B6Mz4#s*z5yovDt6*F{xjX`iy>u6x{Duq+--AGUreVjL@6t%_zavz$!Wq zH_!m(0!!#E&^6KWKp(voC`g+F0eTxyh{nWI^md>y6~#mJ4xk9liu>uEKpI^rZlHGo zMd?y;4V@1Zqd9RAy&EV_w}|uU0wA3p6eW5OP=X#6({v$F68mk0-V2lxVX=WO0!oV| zB1abkWyGN9rS}14#a4QnE&*y5$KjXUr9drWh902z1GS1O-A9)JwTX-AI=URFU0hCA z(g%P##En?>gFuG34bT1|pic2HZU!F)>JpFPUi1;5?m!cM1b-B$ClEy|_!v-cU;tn4 z<3N3ZL#c~C0n|^Q#5cZ@4vT0{Q8GfG`VX~5=nDL4;y=`3!|4ATL^|<1-0nK~%_NX= z{667!!xa-aNLvdz6@wZ$5AV+H5x>0cFyRN_mn9OHrB|;Bu9YpSJH2`u4N6N7?xVlDG&b9-(~L?JdYbZzI;Ji&CQY$<6FQyk)osS52~AFU#T`?RsY{bSZ_*u8ubGf0 zbUo#ja7=w>Qks(UCiFskt$s5lO=yG4E9ICLnQ3WC&zsO3ZLh^=)^aY?GtrI7s=(!n8h@c))VwapeWsiO?fR)j2@vIu`Rh7Jc&&=2c(NOw4m#O5@IF(w{rtf z5^ZV>Ol}5KbU57vlosbwJKYSF;cXY3qTZ*W2x8j_fvrYDJdMY!%>%4xrI15#IKg_A zqJ>?w8q=#)UsNYSEsZrvfIPEnqEXLsS)(+qtYOxIe?6th%6V{*ACz@Kj^LYfrua2em}H;U#LT zEX+qOlv&6^wY3)Prk2YtaJkxw&&3mqq8;LYsP;KWkE10DoRW9mOu32cX-W2ZbF`F? zI}F(Y8@DoEW@B6Z!y>kY;@AQ|JbxHNmHjk_2R+Zgx5rP;%5 z+%rcjvxnOlSHhLqBW&EqoK-f)EpTb}`8Hm}_ysmz%={Mu&(Vv#|N3zMH}Xz(Bn0S7 Z@=kCot-+YZ+nZ>=tI^WeVq8bj{{iYa_3i)w literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/Spider/ShangYeJiHuaShu.class b/tall/target/classes/com/ccsens/tall/bean/dto/Spider/ShangYeJiHuaShu.class new file mode 100644 index 0000000000000000000000000000000000000000..8c4e3bb8977a6dc3ee64e788b9be80036126d47e GIT binary patch literal 2417 zcmb7E?^7FP5Psg|E_VsXuNa_FRHY^#!6QBx0OG_w{wo1owJi-mR8WK!${`e#M z5BLYj7e45W(ixp`^h=%bZ?e{B?*b&@KGd1azWeU`?B4FPoBjLWUw;QMk53XvVL1*R zD*Su{{AzpE}J@-M)TUCfHxK+2g zq!68)y04(E)b<#qf5WXho8G~$Q@?BPR{XfNl3lrP*Il`{j9RnoHWaRGlxhdrQmNro z8`-8^sbqH@yPDl=*0RMzch9M3i)H4sTKX$^ zl{Y1%QFc22jL45&&PJ#+c@A-ob~~G)&g@T!v)1h#4|Sfv>n-OTIf+P-)0tlo2`_p$ zKp-eu2oW}gt2e^qM4vZ~bVK6286HP_-Z;`tiNo=wWINO~<{W2Tk22FgK-Z2le?tEr zdh|H+2lT?s^a*1Am5Q-BLy^;F|3Xh%dxF6uShH#E1m-Csp3@15=VEDHFtH~{9-%j_ zr(u#6#miy6*Y1QT#EOIwsL zCCpLNa06=`*bGO!fDiB%wHPX#i7V6$)JeisY9`+1H#4vd^B?pXn17041Ml!>s;9UV zsPT4{p}7tM7V$n$nGRj(lk6iGvJZwsKg(Wc&XT>78r%(U)5jfRuD6nwCiRutQ;CC7Ah zY#~oAf&^}3fvHBh>aJpunuaCrhb3ydPun+$J)=P*ZAy_UDD{l+^Ls=LL(oqFrx>l% z)Plv@VCTqgE5S^Yt1#dWpEFfiO7p+L+IfuLWZwz;g+d<5fk2OoJ{af;(UTM>c%ge4 R=xxhjzD14V^hjSn{0}APtYx15Pi-k2}>LL1udmCr9e_pec?nAQdNXhDSW6wxjP$cakcSAyG{{D4jczM>S553{*y3h$c<>xYsX-F8jd@Q^#WZRi&dY#bjxi!B*wa?EuI0U{H_3hUKe4J9Om(WeXnbYhAT( z$WT1#an>A+qu?NetOEzi&>>EDYn!qI!9K=wRgIPHw~^vV~ok1^#0*-ZR%9+Px-x&fHN40#L}aFOhB z@FyhphrkOX!Lyhf0ZtBs7e|6GVZH~x6PHdpS8jerVp#WFjGmzwTS-^9J#|~fa2X4u gc#@~(>2@}WD{;w-ar14*isVnz%F{W8Yt*^iUyhOAb^rhX literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/SpiderDto$RecommendList.class b/tall/target/classes/com/ccsens/tall/bean/dto/SpiderDto$RecommendList.class new file mode 100644 index 0000000000000000000000000000000000000000..2ff6a508b0072db13ee7f71111a4113903195acc GIT binary patch literal 1106 zcmbVLZHv=D5Pml8HMW=B)t*+*_j{#xiYwx`9*1W|5Te3W`hA-&agTIUl8xfOQcwgx z_yhb=;%rlMwhB@S*RA#yi^}dR%*> z6q=7r!uu07lIc^E?3QrdV@g&#Qd*f~hDzsPz)x!eXUwzb4 z%POhz2lz+wFD$!vLIUelu@C9#neOkK?%wXnpTEC;1Hc1V%|Z@lGmwQj63?@&IW6p3)ALvKoY44GNOOZELuBp z3?FxChe1vnImtkXtQ!dKjsiio6A0?vKyV`i$(Eg_Tjk4w%HPu|*fez>gR#?EYF38} za8U;x&gd`zgE|b87$I?%#5oe9B+kR21}oU6kv|tsKz9J%RAdduPlv-8j#3V%FAXt@ z44bwGcR5^p@z>`;KN>LF{|!TEzzoy|%t~#*Ow|U=UTwgNs0~;pm7yOGvCt?lVI~Hy z4AVl@eS~f|FrzNeP}*f>UAex)MC41Z!dNh7x>B2~LN>n@aF)B{&lXZz;jkL37Y| zp24n&;hLJ9`T?ocK`qY literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/SpiderDto$SpiderHtml.class b/tall/target/classes/com/ccsens/tall/bean/dto/SpiderDto$SpiderHtml.class new file mode 100644 index 0000000000000000000000000000000000000000..d0e15924bf0762d927fc05c9f15ac0be2ad73d86 GIT binary patch literal 2486 zcmb7FTT|0O6h7Nq+7bb|DP93l+j0paA_AgVM8JZKWq429r7n{uog~HK(HUQz@xdov zeAGuAb#&D62lzX1`Y#;MCcPPUhWOBvv-|D$xQk`%+M_Y$qX|T>$zGiQd3czh_YB_>qdcUo2F5wroE3k;XPHW;7jDAA1{u+ z9{hg&s`~DbK!6npbhf-WV>qvEuYUYq{rrkk(YoqKGM(yiro}d5h|nVyl{_ z2iclE97xw4lB{|?y@})HaMQxLf)~`?iaYgiG|JIhMVK}#!a=Pf zKJ8Y7S+gP>G%CWpQBgc=RLneGX8gmnH*6f|ZAxJ9r0$!O;SyYy;S{vX&<#B@^zrO0 z5B)rxp0NN!6&_WT=jg$B(Fb?1r6@21B zhH&Z&kPnyy&?KbL$zwut#7mwQlE;N)$xEIQk`*C2>Lt$#$rD0y%uAjZl5Ysf zaW8p6NS=h7weLKOT@k?Eh@?h7L%`c&DTm$XuBf#bZ$I}C68tZ{CDIA{)p5@(foX9) zA-_8A5hrk4tP}RDANAj!V-Zunh#X3>HI_~vEU{0(P^Q+_D mW(4NNI&r@`?&TMRyUwk&;9TeYQoD!atN4p!-Ue$h46(l)_+j1v literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/SpiderDto$SpiderHtmlList.class b/tall/target/classes/com/ccsens/tall/bean/dto/SpiderDto$SpiderHtmlList.class new file mode 100644 index 0000000000000000000000000000000000000000..f25d182131029c399cb587c9ab359aaf4b5246d6 GIT binary patch literal 1126 zcmbVLZEF)j5PtTO=1h7`npC6py|qeO(M9xIN+G0(!l__NzHctex#hAK?)DV_m4YJp z!5`p{5@&O#u~$JN$L+AQ^E~s+?Ckd+U%vr(f_n{AajT9BZoAlZafhLq&ec>V&&(|H zRcaVE{ZsK)@XV-)TTh>%K2o6;CQGD?J%+~UH-y1^uC+{tkw{aSG7L)SLqCXTJP1;$ zQ*J~Q@re|gPfg5omSYp|E&2LKl&*HDv@%BwmEQiCp*oDGlA+}*EnjA{iA+w!BqC48 zj{^~nMWXD!a8}J5MLL>G&b+M0s|hJ8Z->&9nL54wQjw&2c+UAhmABLL>9%_1Y_=)g zv$emU|EmAE9KN~^%ikEqSrW*n$~L-aCSBD-I~xq!uQP4bOpaBmsPzM_VFLk0nP1$m1r1t z{~eDVdMQg54wV~chS z7jcP*&VoO|`9Oybmf+T3z`2GlkzB@=g2X555Vm%3|1%sbq4Ecdw_xe!5rqURFRy8v pqH}rHvrfEuhO5MJZK3BnZdh(Qxk#%?BoHX~mV%NZ*caYX3RMvjk^zaJylIImVQ7sDcLx8t)-pYeMV85o;ZZGeF9?%455r9Aj2jWh zd@6%CFHrrD^Rct;{|{V=$aBG!K)RWLOWBmM`=9RHkplG$y1QB%z2W zB2{)@flc#Pkp{2iD@)-@0z zUF(y&``PkaZf~6AX(*p5+t9T?*YUvKJ;UbfTpKl)6O}1y@qyNf5k@7NI=mIAglF$X z6v>o};}d?cP%r4l;*k#@9Um)bxwyk{f9WZx2C$gFSm=nqnjXoJW^%YR1;h6LeX&K; z-=x2R!Lc&Qy0mk!N;r)*I<&44!pSnSE4yF8J{2zOwAujRA~tCCO9z}sk9G_f2zP41 zpW%F@LkGvf{eJ|P8u~zF~4p*`7%p^-Eg9+!{Ctu+ufy+wC&U*~77`?+hAJu@8U zs2?vqTk76_S{U+Al-VEUu>bp=(L#ZKv*coQ)2<0;DKgR+DDS?3y^>JC9ASlIK*Kzt ro<5hcfWM28oLOeyR5^IFh#5!@6xJFzjZb1D8@OR4Z literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/TaskDto$AddTask.class b/tall/target/classes/com/ccsens/tall/bean/dto/TaskDto$AddTask.class new file mode 100644 index 0000000000000000000000000000000000000000..5a3918b179188f667c40f07b8a2329e4a0ca5624 GIT binary patch literal 3395 zcma)7=~En45bw7f%N~H?Qp7}pge*iE?;{{efGD~l7!dDccJ{fMILvI#%wqT!OD!u& zQFv9w@+c~0sv=)BmYBrFfz@uI8zS3J^mQaxqFxwdE; zNp9Nf$kVbWYbnm4Bm2p(g%7{lyZU?n+n?yna8fq8ZZFH$`?MTz{rPV`&g|}HFI`pR zkvO+yRhy5GGHA0gY(ZW{qOPi3muypYvJJbS>}MPK>o*u2bz;s-c(xjMvX&Ig+%{!Z zw=HSGu;*5jPI~@TZdq~yd3(zgncEwMkN(WuPUpAN3=Y;7VtGATTZ~YgTZ*YBsWx~k zmnFBkS@;_h3G(w?N!f-;R}2+)whB8xWYTFBS0nr8xRBB`tYBB+=UaOhF6J(8m+{!W z7*DABGBya$%>Hp9d;N0m%FVqiI}H3>j~5;J-7jxr~_27l(b)B0tnrvAd9b-|&Sd|pT;<_c-vZhHfF6&aVh2L{bni=!Pk=BfliXP>C_ zF-Y!G@7i!NxX8O1pg52|B*7Rz3LU78P`) zm~S~;P#Pi#E*U9P;U`t+wQ(}Ajd7Zl3=Z!%1Si7qAUqU?4(JR+51Br=GYkjG+)K;* z$Q&Val=eo+9E1D)kYEsLRKoaTR%Z9<80nb7;C^U0jGuyb{Eh^{M+pMb;3|aA1NiH* zpc@^SbiJb&9e5G6gy_L%5pfsvWAxn?48T3;X$RH~l`S7#yq@h4;;|U@Y=fAh!!}gK zR^IYa@#@)zkp~M}?-)S`7P;OLK?fGT-Z6#_YzEo~@G?Fa_ZCQkUPNJs(LRhJ5{11@{TTlkl|Q zwVi$P11Lz^-ynVyB;j=ZpP5j$}U4<=C;`z~|NJ0f(i}jVS7rH0+KD z2J>Q`rbc<(iNfFocu|y3bE7;ofarCLig{WZ<#A^cgHz&rwKmE_BaHG{5cBvO<#DGP zgVSQ3wnll}A;@4+T%SOrJnqb7@RFD(*eH)XVi}x)rJ|Ul)jA9jPZLz;<^SoBCNhI% pjCN;fE6(U~+;NruGIFdq!}AqqTGQ-(71vMTFNpuc5QoPh@E;p+fvErh literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/TaskDto$ChangeBeginTime.class b/tall/target/classes/com/ccsens/tall/bean/dto/TaskDto$ChangeBeginTime.class new file mode 100644 index 0000000000000000000000000000000000000000..d563c3f14951597a56c80649e9f66732a5c6d757 GIT binary patch literal 1763 zcmb7ETTc@~6h2dWVQUejTm(gnBDSC`BHqB5D8_`OqQQpuX*(%{+ugc5MfnN(Xkv^S z6N!nw88u#_B>L{}@B)9rc+R#3y1NPZ(6eV|&iBnZ-<;DQf4_bMfJvB&Lkv!75QPac zr^!r`ITM3(F*wgatJv0(D5%*YgO2PHU*@{O&61wA%+fT2zWJ)DWLYdoN9GN2*)%Q1 zm9$KUK_)9L-MPz4C1LA)>qNg?k=L!FFmBpbMc8Tuc_Pc)s0s$H8>?UbJbOd84ZFA9 z)A2+WT~57#yvpX%RE|Dpsky3QAU0MOj>Aic?%7N>C7qNl?o_2Mien50n$yg!RGL$b z+Lj^c($@9Y57+O%CpTH!^DspfcW%3pKiAfNJy>-kYkQtZEiX#a%%M0861Cvpk3VfZ z`p%%cShd}X8W3B$X+|$fQ>sf0TGE*X2H_c0i9vf-nqsb6&I>!oQDg?4S*yT}1#U}P z*EhpzQKIVYGmH2>;>xzmXH8SsGX{4YfdLcQf>qWF1xJ{UuDD_7dBIJ+s4P8)wOv)# zkcR>_PLzbg=W299XFB8W1r1~7>pGH8Y$Ok1x2NMYQ6dwNa)dEo|fJ6P-hX(iC~`aZh5HLi05Q5Ph__|)PMNr a2xIQ!>+YaX?~LR62>#;eN8v1vl=crN;!OVl literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/TaskDto$ChangeTaskDuration.class b/tall/target/classes/com/ccsens/tall/bean/dto/TaskDto$ChangeTaskDuration.class new file mode 100644 index 0000000000000000000000000000000000000000..f58e03c3e976b621f8757a94364dd79356620351 GIT binary patch literal 1769 zcmbVMTTc@~6h2dWrwF!O1VxJ?wjdo55CvmGFeW4w4HDj`?W7EBck9j+n2 zQF1tG5qXu(gsCK5vD8Y-=TYKn*PQ#f5L?M=dq&9upoPt;cZV;IM51nvKT2pebpv5APK8grNaOfg9 zlR*gRYS6}U)r;Rwzy z+rjT4@Wut6@&%9if;-&c8DH=vUvSV3p7RA~e8C|%c-|MBh4IFn=TV`6R%m?U0|eZP zO*-iQdPYMrt)^}xE%byxPsee2bZ2Rv%l#;@JfY+A=>Eh1NXR*lPn|*0 Ty>kWE=kXUuKMdD!q+)*oQT$Ba literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/TaskDto$ChangeTaskInfo.class b/tall/target/classes/com/ccsens/tall/bean/dto/TaskDto$ChangeTaskInfo.class new file mode 100644 index 0000000000000000000000000000000000000000..a4d02bae559de826b8c1dabb1371d2c09ab24dfa GIT binary patch literal 2781 zcmb7EU31$+6uojBJ9d<`Bu!|5(iBQb(l(+{zS@#Dv70un>y{)0UN`dMY>}lPtvlpj z!3+#DJn#efQ4HsYAL=wmdo^;I&!FX8b>dsulG6*oo~GquY?zfu&imI}9T&w2H#Sp=&1n7w?q_RL5+3KK{_LP@zt|cBI?=AOK0VCzC{Ur9;cZYO5+) zjpfgM70b@1Lzl934$n@rwJLEGNbYfQFv-CyS|mU5-{nyBP-kIG$$^fQ(K6eSi65&| zZXd#9=^sE#A4IsiCFPE-7M=9g(CBf6MP43 zLRk1CI&k;GP{xfwBndZhtK~;M&-W7%)O9-4egyrLUY_so9J) z^MT(pSUwwAe(`nfNz>gVBW`gmuZ=%N4M{_Fm=D!qK2Wzbj!VTcavm93c}z8um#Jse zF{;Wn2Kq1?>U%v;^yf5?Z7S*q9?{kw#l3mNS{VJej+UET{%WiG`aH+RX_0W`qM~gb8MZ z4`zfF7?;ooY(%_@m50&6IKA;FIlq~-j}R+n^FCd}+#Mv)$FzZ!L)YmBVix>6m43~E zx2@otR`66F+^~W-t>AJV+_Zu{`oz-qbRPWB3ch6pSMuOpEBI6T%u>0U2S2icZ(G4L zdGKQ^_;agawLEyw3jV?huIIr|tl%%{D~smYJou><{59Q4!FO=XOMD(TuKz)${Q2B6 zXucABVh87wXMFMaSl_ktOcmwfOUXR<>^$Y7JbYo9=NsBWd4FFf3d9d75^fdQl#JFq!8e?IKS2 cGh390A6y5g^O1QPAJaO8BQkT1a+~>ZZ$|&VZgdz8&hkG}#@gbW2Mv*Xln- z+v#|qQk(4SJ&G6cAo1l%ptU<0&#vCyfrTjtc@!+HG3@+H9G!4{!E>)GeZ{cx*Av*J z-^kJLFc_McB9mg$LDr^>lV{}fjTf*-3Jes<7KX)ZOjGQP2FRBvBORD0`yKoQ<6#1P w^DDTFN(SC1DnnB>wx3~4QeO?x)zL&ot!3#Q^eziSwnfa6FH*(CGG<_Z0--&FEdT%j literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/TaskDto$DeleteTask.class b/tall/target/classes/com/ccsens/tall/bean/dto/TaskDto$DeleteTask.class new file mode 100644 index 0000000000000000000000000000000000000000..ea2397b9afbccf99919e23a83374d0c6e6b5cc34 GIT binary patch literal 1253 zcmb7C+invv5IxRiw@J68BoHW2NTHNmp!>oTASBcZsZtbBsq*e@tl)HGm$g&DUx5Td z;(-s~qY&dHG)l4(<-z0ec+T;h@%;Mz<0pWpcwB^s-2(D>=**rok9;(IG#LtKi5`l` z9`zYE+e3cN!V5nZaR+FZdh!10#i2gpq_ToDypUxKF@)8{jS7T-BEWtg? z&8fTgUPvYFONMN{(PhXT=srDLYD*7VT&_1( zdt9KLNHD%iv)u_%80v%6>*7Gfrf)^$nS2(ftX!I?b4gb`5dA q;(Ap}=gD4{$NiY&*-7WgU6#lFCZj6vPx}4W{@y#} zfo#W4&&MAo;!+vyHAB$XI+!%-Xt#YX7!V3$Xd z&WST`-bhSYs4FcZL-Y*R#^)b~;|1J~Fk8b$6)VffTjgNPcA^sPw-QNcPgzNx8UjyM zxvNJKmn!MJq=$n+gUm6Y-wg8q&+JuBlbBcwuftyCi%m(&x=CAVG@&kBg3B(P0mp@D zGUv$@Vb+F63|7V#IFuG=emL^4TJ#VYRL2qwW`jX_Tre!)bF=X^<{?K{Mq9wsSzz(! zYM6p^=$Hal>bqlCjw(AIJ99jC2BS~_q{xv5xH`y<3Zb3DlZPwAb+Y;s*taEG6J4C}fTls;>NiTw1ZC7(LsMNE9PAskJ2Zoot?olk!m8iKmjylRqgBjRf&5 mLlrIca-^=wlk(6=F|2kaZvHA<#I=a$65NLin8U(#9-MzoDmt_P literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/TaskDto$MoveTask.class b/tall/target/classes/com/ccsens/tall/bean/dto/TaskDto$MoveTask.class new file mode 100644 index 0000000000000000000000000000000000000000..97c4b1571e2a8ab1928e8ef9c20e0bb2ec7625b1 GIT binary patch literal 1431 zcma)4+invv5FO{X-LR!0fk1&m3Z>)%S&(=FgoKKaDuqy$D(}w53T`)cx^^P?E091) zJn#X06k=u*Qf0FedD!uI_MBs%@%;Yt^A`X-gQrDspzcBe8WfroS`;2R(00IQ;Ep4G zDgt{rU{LCu@+tR2u7-X`tKka<+s6}S0sR7yk#AvZ?gpH?T(BR>d?P{y}B4E?^~${$$m6aJ0Wd;hrT-x~^h zbkXK=y|LP87cs|kkCc-P`Jnu0?#VMtI+c1-hMc+xS_omj5Q@pO<`h5ZNfd~;k~-kc zZ``KG_n-n-J=g%(gDnbID3rl<;0c4q+OBb!E@tU{pC*h!?SFLG#nE(da&wTOJ76s0 z?h>&0^9*dlWh`t0tIW!ADMMFX#gFlNJ{{ob5@Uj2^ literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/TaskDto$StartTask.class b/tall/target/classes/com/ccsens/tall/bean/dto/TaskDto$StartTask.class new file mode 100644 index 0000000000000000000000000000000000000000..7f8cd74edd8e7a08a57c31a64fa1028a7658ced9 GIT binary patch literal 1481 zcma)+%}*0S6u{qXKNnX)id9q;6tOMH`gIaxLNF#I1rZudyiK>0I=J1fJF_TvFPM1I z1BrU!q$i^WHA?gk@b9n!|Ag_)wm{f!0*AhNGxL6L-q-f`zaPH<;5uCEfFum-kbn^- zE-5jZg3BqmLO`#3?gF#qWQ9Oiae*#U)22?)b<&H^w#S4jW-|EYeT_nPffhx zmB6QIpsMZDdn5CIqb_o!tqxpNoEvJ@&cBDx(DY_J&zns_zXo>A5yj zkES=@z1&>>tkg{NEaXY!cs1~6eZBE~wej|SO0fzBd#*tB0OGp|Ikj0C!iu0`#6>T$Ji9meHDj&;@N zB=uwo-4ie-9fx@nHWh;5)kx8DYo=uh<_J?#+cwLLI%Y+>rn0{+-N79gD`!-h#3pR_ zw>y__@34+Gv#shRP*=GbVh@+eg)xI&?bbA8WZceu*YXoWPYrV5L?-?)q! za2!q;kb<-UN0sP-bPBE#C>%U%oZ{UfzFStQ6X@TMhXMR1lK8d6KvVCd)N$8?YX=ZG zB*1{fs2mZ{30-)Dn@k{^N1BSa9qQhOGVM?X%`v}r=-4)tZHKZL98pz5*^6PAxDs3w zg>OJUp`yV_l*!=m9-KnmXd1w2IEy>11?C!t*FgIif=iL`xkxw`hVMth=Of{G7=925 z55k33*f%gqO(j_v{sLM!>6w7eHZ597tAePes#*<2`-vUYkLt7Xb1~Xa{GfhR>+xR# ZazWkm!MLfm6>xtBe`@R!*xx?T{{v|ACAG?{W3L;G zM4M>rwv-}ng*-_FwU1pt8ack72$?u34@1WjTsr+Uauo0~jSlAqkSb#!QZ=butN)a2 zB(r9vw%Ah}Se?rA zaBfMTXdr1niLl4Hnt_v^c>s#rEt0`4VNM18ZdG!B5a07QnB+ ug3G96;8UW~6jkHs8QLQC%M@Lmy~wDQEVYB$Wqr!Fffe!=Rdj5jh{6|)?tl6K literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/TaskDto$UpdateTask.class b/tall/target/classes/com/ccsens/tall/bean/dto/TaskDto$UpdateTask.class new file mode 100644 index 0000000000000000000000000000000000000000..b2c4a4983b17338c00e19bdaf1c28aa91a0bf080 GIT binary patch literal 2198 zcmb7FSx*yD82xVdmI}zGxZ_$t821fa5Jb_6Mv(Vuds7G788S1)@Mhu~S7KbAF>y;w z)WjuGqwoF>+vuM#o;y=$X>VeEm~ZBO=brDLd+z<(AAdf7Bcfe&Dnb!D9HuZG5n(`t zqaqB7FeJh;5r%_wB1j{QJX(rTV|-GbR+WsZr_7y0$(dEv@6M&SfcYx+18qEeCc^>Y5j z?ZT6fzn{Fvf~lP82wtEHvIO_P^vIt&qx*ijT78#7h(UPfk0$;E&gwbi&Ht{*+S_LCumfv!9G{-7s z2%CaHT_LUIcu|L#QI8pml^{{BMBpVQ7|knjh|Zz;Vk4qdWX#B!Nj|KJbBGpQ>lK%q zQOCb-ZC{ku(z+d(=_I4>|2QmkSgFCzBqn*%X0+~K z1*ij!8bMnJ$sNf??}l#QrZ4W@;xcJS4s|4l4qr4MM@4$q*hXs>)<{#xs}UB+miyiTCjI&M=k+ApsYthJ8Y!;B74UzN`*KTxRFI&RB* bso%LB2c4fJ(aMJ~-i#-L?=T&wO%(nMS_gV) literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/TaskDto$__TaskDto.class b/tall/target/classes/com/ccsens/tall/bean/dto/TaskDto$__TaskDto.class new file mode 100644 index 0000000000000000000000000000000000000000..6ebed3ea118e50750c14d88e05a5e553574a986f GIT binary patch literal 601 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 HDMkJVx>BWz literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/UserDto$Account.class b/tall/target/classes/com/ccsens/tall/bean/dto/UserDto$Account.class new file mode 100644 index 0000000000000000000000000000000000000000..ebd0b4d37c491de03d47d591514a2a437d479e95 GIT binary patch literal 1284 zcma)4OKTHR6#j1BkFl*uTdmJlt0t*-M2bi&LZ}FZREyQ@Zzh*`%jDiLGih<@M%)N4 z`~fcAsh|{G_yhbOwf{mqHxrvQ9cUK!dCvEp^PO{k|NZ$3zzXi>kU}YoB+6#1m~API zJ83L4#AK6Usea79%q9q>SEZ?%MH z^MS>#cI2jR3U|xX9pMG9i6^$;l978J%XhUzPvsB^oA}ErINuThIpx5XGpA5NQTLpRN`s3-4NajP8l0=?Qplw zJ!#(k&qVM_l7w{CaWpApur`zu-nvV11Q{wdN4IUq@rCm3fV-~U5M0^KK-(`V?Z<&$ z>_d&XmIyW|wL+;pB&1)#JQ)onR62dk+B%Y$^h3U4X_U?g&69ONI5X_i=lkz9 zV9agnuIGp+(iFt%D_Az&W>`3_jcXPPC|XD(W8n-YEKFe{4V$4fZjorV2BYMFz^~q+yZ_l;ugoSt6oNp-B5Qk=b-II+K-s zuy1sUVTSfp?{fvSbhknWoWlirFq2#K+|c`^B&r&660HCv0yV ZH+pry*&7Yhwp;X`qh&@UiQ71j>_613@P_~Z literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/UserDto$UpdatePassword.class b/tall/target/classes/com/ccsens/tall/bean/dto/UserDto$UpdatePassword.class new file mode 100644 index 0000000000000000000000000000000000000000..efe15283b94c6bcec7527cf5f3621db4c51102da GIT binary patch literal 3067 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 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/UserDto$UserSignup.class b/tall/target/classes/com/ccsens/tall/bean/dto/UserDto$UserSignup.class new file mode 100644 index 0000000000000000000000000000000000000000..0e3eb74e0f0b9e0b7af5b159569151b5dc468cef GIT binary patch literal 3705 zcmbtWX>$}+6uobzd%9-{gg}C$pr}!^4HF}xOhAc7TlXlWD=^m$hSVS!? zmlDOT)S}A5DlJQJK~W2X#{G*{`8&wMC;x!kxxGy?85PT_vrJu3Q~w@qpO!6ZW+6M|lnt}cD=59KVmijSK5W>=NKx-IP0P_7 z!!m6_?fr(8wfAdjnKlNzmfmSMR)L&9&EEzw7?dL+c)E6?D<;sWY?Ry*BmCd($7k zJM+#bGjBc}zD>}|`IXpyur$9Kial;`Le|Lf+=oYIPdz#F_LG8ILVa$$s|6`qK5wD6 zh-mioakm~zJ*5WNvU{hNd89A1qdT*1^#hq*hkCktx;fl_4}R{A@24h@pF8%%)Uo$_ z9`ETs`_&8Qj-LMYnkHT}u+*q=FhT##DQ zYXfe(!)*a(jj=&ApD) zyk>6Zq)_oO%^vgGjv3g3mtfsU=hXi&0hrvqGFx{G> z^|T>Hx3G2tYd5mk$l@NlSJ3j>oB5`SQ5@y&rGv<;quS>760VQZW5}~>m0y(&?!vDN z7RjzvL1nNK?J0VYpfpzB<;{wqRsWU`nxK_Rx{13ZQ*WRb%(x$aFI|d{)pC67B#Lk~ zAuq)0GK$hgBxr?AE9qh=m)Nul*a%%_)8)Ksr7M72Ns*-#0-(-^M7TFTJOoER3VG8ix;w@MJ8c%m$R*0p-<9*|U(cyGrRp z5Hyb<r(UcC4;t~1U=9cQ`Ld3RmsKDxESB$I4 z1ImToRG%k$zC1jY%yV;n9_f5}cu<*VbA2B9e0g{}nFsd|BxXW9irkZ^&*z;T$4Qn> zcK%4QH%X43?EHaZ16>^xq_|5c>eeoZoRs;Ql4)km`e!v^ocr%EbXnkuU|BZ?_pF literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/UserDto.class b/tall/target/classes/com/ccsens/tall/bean/dto/UserDto.class new file mode 100644 index 0000000000000000000000000000000000000000..69ba208ea525e8a994f20452118f0476fa499c5e GIT binary patch literal 673 zcma)4%Sr<=6g^j4W810K`hGufp;gSrogzp@5Q+-5?$b=DBV!`-(C>03xbOq~DDlov zp{~XR&dEJF_a@xr>-*yqz%jO}7{`*pvcQVKDxunoP1FqrHhm^|SJs-S9jZ7svA`N( zs`u=x#N4v->LOoYogmJ&cBxGSHVCz$;lWuWu=!hX5ZJ&HCQg}?Gs5`Z{ym}8cD^Ar zI)OFU=~LfCcd8$<((E{`!h013Sv(X=$wLqmb~@TUNv&gJW0|NhlzpSD^b;quyI&;k zgir0dG}7iW$f|im{peA>C=U%x6Sj(q5T-M`43! zjA5?{hlSRWm-zS1^LN5F#`s%ggLrbk7-u+=c?^_W@1Qpp#?WM(U>T@mmeI@CWz1nd i-(Sdakv%{QWt2Flj0yzvBy)wi%2;FenCr|_sQduS6ot>E|1q`NYW>{^F4_v6g}PA@q(u-?T`1j8(;=p&31m{AOFG1p800x{p0lwzyY>RWKl06gS7%S3fN@Gjg@;bWLUCC;$CoH1TMG3 zz&&QjpLl^6pE6_`%|1i66AmRq#r6VuIT;URbRz~nb*gsg2){2PPuJ6CHoo-~4Ru8< z7_5sRkWt4MN=fP-+DehI3L=DdQzybdRkBhS5r`^O$_eSQlC6fNYCFJOyd{~wrim9v|?8jPe9 zGqnF^gdKXKEIk>ck6Cm0W8_#LAB3xt7{M74@VT1~RaU>#+Y FJ^@BHiA(?h literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/message/AckMessageDto.class b/tall/target/classes/com/ccsens/tall/bean/dto/message/AckMessageDto.class new file mode 100644 index 0000000000000000000000000000000000000000..14f343f2e82540cd7d93574c29e55ac8bcd22ed7 GIT binary patch literal 3009 zcmbtWYjYE26n-|@WRtLzUT7gus7lo|p#%j48;XTcwAd7+1q4Odrb`;wCLz12;tlWj zas2ELkS}~d2LmHBj(*V@f0K&O+1)hT4#Ulv_U!wfea~~Ab9v9^uYZ5}6~In>lfVE9 zaZKTeh@%Pg;FUOzVOoT{ok`$0P9$&=ugcp~A_^i-i+D}L>j`v-rUPe0^G2NFtcG*4 zF+|KJP{f=FQ^WZL)}s(ZNuKi}$}wD!=S2;c0`;Kb7z*@>O2w?_EyK1=o7y>7yKAyo zUC0)Twpp>Wj$v8ZS<|Rw=bUPG!L)6oWM=mlFBZJzL8m$>U^xZRz2!>T*{2|!8ahF= ze09!Lux7GcF{c^}vu1t9n6;?so~#xP>x5A+%idS2&U~2^wm+oroQ4Gjt9&xYZL_Z6 zTx#-yv1nv1qf*LFRx734{Xq{Hwi$>hfR|edCb7k9_38z)=uFHh=v;Y#nPBSXgv#ju z@~j}TV3)*)!hfw~I$qg!r-ts2d)E?ab_-)q>X9HM_^5fQVOT6yZ!pnEW+frHq0?kr zl_Ixm;J;!xRcBt(5|?5Rdfk?Ab^d1cv}3TfjGEgOY;O$}1+k)085f^i&Kvf;*I4Yb z2|^w{Hc=R-Pp+eN({5M}l|Ed|sZKlfa;2nTEpygp$0FX;@Rn%a*71&P-qrCQ-q&zN#|QXO$4B^B$0s5_#b*k3Ji>j_ z@wwPPhuu1!z!nAD9u7pu0X(mB`0Qc|b?lK%9tRbyTbYFejk4u7YtORqQ&OH$9be!} z5nnOILpmmKSV8u_RF+>S1-XZ`7z|uM-mo@huaz`>tsoV^Y&c~rd(xcES1Yz-RGgOm z*_q2VP8{8b^S5CJsvsS_0QUr7pG0bGJa=}rxhyr2+$zt}vK!&Qmn$>;AY94n?D(Qt zVFP!y2nTf82jaVAK+-Yt@&N-WoW5*3CWmHMu~Dzn+e~@EER-!v#xL&_>)X+eQN|}n z&!S;9%p>O&^rQ|4?~yxQ`Cbx07JzyKME{{QM$20URx@V~i({?p>&{E}l zP9&e3oR&01(l^k3oeM9}sH^M@1QuBejN{NZ9^q+m5lv@)Mt7UKXB~5``@9oN6r*l6 z#3{$2k8_=8BtiL1`UgbRYnk8C^F1QrYnk8BQ`nkrVy(O7qIZg^>m5;t|HP`K`UkqM zLLZjQ^|>e1YlI2AwF;8(@|0g9k;e#fbl%H+?Pa|}%+dfxsS9(L#6GT6yg;m8M77x8 z=+H3s5BfCh=US*xUP%BJB93@!1K4^hy71tY_CIyEinkQAjq?-@S?JCN{5ZA1`+AUiACa nLU`HD&?GM?*a|B9x`*8yM}`&H%I6fSxHOjJkMb%mk0t*DXfnaU literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/message/AuthMessageDto$Data.class b/tall/target/classes/com/ccsens/tall/bean/dto/message/AuthMessageDto$Data.class new file mode 100644 index 0000000000000000000000000000000000000000..f1e08b149203dc8301a0c37ea66c2edf3058b1e3 GIT binary patch literal 941 zcmbVKO;6iE5Pj=>VPn1mq4WdVv>XCR-Alv)s!CN*B_y{!&~o26tHhCGOWsX?SCK%K zIPe4bQHU8Qsza1RTUnZ&9lv?=-tOK%+};6bW8XssyDrMuA6;l0?V+yFT;#!e&tpsD6l&$bJ+kwGJ)?%AK^Q1=fNn(O<`- zuFk%zZcLSWkcKM0R9VFPX|Zevk)ftDWtD(`PLr}utc=lAJr2TjB*W0?#7L{+Sa!8a zWY4B@q>WL1EkBLz;L9XGv*|w5ux6v}kEx~2){N-f6RY$I(J72IWU`8}Vw4-d;es;K!`f?LBof%gBHrz`taxm&V09*cW)Dh`6k_*u^b-S!1f}Z(%6|_1+I+>Y7j=B3gpU=u zl*T8xtjHA|MjD$?Nnu`ntBNe7V5;v`9g70malUQ(Exqr6tpKjYYF`wB^;N1OB*IA5qrE1(Js>$MOyf#B-zPXs%pe zFa0Z$ zvp61+XT7FHjRKTxxn{GnAkY&z_wNgIRci*5VXNaz1-gNqb8858qTEhNw#LVwV=4HbcH5QpQ%hw(kJ<3({x+5M`dU(<<)~E z3iL5+ol32yHa%N!HLKmL#HkKqDj7ikd&~Za)TnSGJEs14( zs^g}_Eqo^NIc^K=eVJaC_yV^jzC=Uf4ZJDwDz*!hUeJ`pVZ0@=8+({Q$rV819UKwZ z^mGo6wJdu<)ueB2@HthT35h%SN|CRb;Zcc6oOm8E#|+o(%qW|_<2C379p4D#B0;r0 z%PyTa=gW1+^$f=w37=n{yVYQ2GV=^5xEgN*axZ>2M(x zqc2yo7cmy7!uDctYwoWsi)Y;5@{B5QC^Gz)1_;E|fRIa(=cJPEq;v^!a=?!KLx}uO zh&@2O4UJsl0g`R#`A0}SLRTBSJRtDyf!zd-? zDj&MK$=4cnS-M*H81lkHte+_s+UPFsYGXsb*hWvs#}JadJH!`TXfummY^9fNl!kpj z`M_4_hgMO*F5h<+MU2sxL=Q^Dr2^!9hbT(?s(=&u2k5;|CI~6%D|;g$BvwPobUhTh)GIP?z&bWHFs#oq~PPlo6Z@T;)N&2Ye8+dHABKCz4`~yAsM((J8Us!B6z)Q2KMY)%$o_wTLHUQn z0OKtGQ5>V;1Y4#|E`~HiIqnCj!rFn@6LzS^u!LYp5aJ1A@5nKs&~a^t=uXgt>XYna zY+|Qw&J4COq(HW@C6guJ#@46XCx|_mfNTgYhIjo8y@yx$9imUkksOBleQDwPkwN~j Jw9q^<_#X&hTM7UG literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/message/BaseMessageDto$MessageUser.class b/tall/target/classes/com/ccsens/tall/bean/dto/message/BaseMessageDto$MessageUser.class new file mode 100644 index 0000000000000000000000000000000000000000..4aa660fa3afbcf62407ae836a91fcfd315c03a38 GIT binary patch literal 3530 zcmbtWTXR!Y6#h$XcJH4*FV4f24Dgo zMez{MM_}TuC_ zPb)P(9kHD@)1BYE|#JzPl2T zU?S8u&!gNruRn+ngl`cQI55g(^F(#zoH*5;%jmdR=v4xtQzcgpBxxC_C za#?TY?b0Dhh{2GvD;_mj+!@Au{N&8sAtppwuQ=89VvQ7bqcw&bp+$yUQACFW=b5## zS6Btnh4OkO?;I`&$@|)wxJNFWg~#!Pg<(8qVHX~@FeJkx*lpoa>^AV8g315Ea0|z= z-@=o4%EHScJuT8Rn6U7y4A0?t3ny?=!M4`*_kusLUMMa}({^=)9k@Uvg{3JA*YLg! zACPvLA+I`9qKWiY4+Nh zQzFmCyU{&xKihKUd(eh&Q2RdkoxB?NRI`sJ-()~TNV-cYBn@_F_Sl`-W_Kn9I47V8 zBRGz5wU>B>b2NPeN;-2&y#-&eY&|xoP%z5 zAy<<8B*H-#-ZySIrnxoegQA~#yM6<%Bs7qYqiR&Sj4p+@DR}b0r_xB@L zPW4fORY(en>c`JCf<)9aF8!Xh@YWvafo|i66#AF zrljHsuJUi1cYY2P9HpeAhy~10GPpB`S16hIf*xL_6v0<)$tnu-&Gs0QBrvk z4&!x78qU)4EG6Bo{VhcA@bOkzdqrWrp(uA~*jk5VqaRuW(7>qeTRuz=z*@-8T_0?; zgIoA63Ywf?Ap8gMZX@cb;J*f54{?PxkZ;HAuh??-29n9XI<`tH>*!Aoc(Nt(HcyUm xN^bY$xX39_?yX}mxr1^YJ3HTUk5S&&bk^@h2ygJz5Z=T%=O|+^kw*rRe*q@~b4maJ literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/message/BaseMessageDto.class b/tall/target/classes/com/ccsens/tall/bean/dto/message/BaseMessageDto.class new file mode 100644 index 0000000000000000000000000000000000000000..421dcf9ffbf0173e13b818f7778c283789dfd292 GIT binary patch literal 4367 zcmbtW-ESP#75~k8zIHvkb~drYLP(roisO$g0b1xdP9Pr?({;Wa(uAfhF(G&r-hn%_87^_oq;sX-4aE53%o(s}QKSFC!qrDCaGTbdTjbE~xEW0v`#Q3-8^ zf5EQ>8q%wc`gy+`%r0s$n|^Ik-Y`=t*H?<=GUv@=;8m-|1>dU`7lV3nMMY9P=r#Q) zs>4BjG!`IVoNoAKzjDEEFuW+PwV+ZhmMYCa%=49{nis4!7~C-xT-&^FL$BV?-OYWK zS|!-8p>J&WX^L>DzR33slqxm<=-SGH-#FzhR6|+nWv_bLYgA+&E$YE?g+cGV)hPI0 zYsn8zg{jDo?T$$vB_lM4`PkBBZfC@%{}GiGhwykOFKJHaqtqOr^Tv`Ro1g6DryXoN z1w6}%R*3DzjpxN`w)ELN)+>)BDzt|J4aMz|KEklMLrWpTxI&z^6nc1ULjuW*9Bvnr zs17!-Hq(E0&8xCByTm!RAa{3q_mdj5diPC_Od5=O zuq>B4Eu}rGnnfmDizbmFl)hz9lh7k-6#dF2n&m=Mtal73b8MwQq_kR!qwKAz@{hHN z$UnA{oe#Y7GjrZ*C@b46yCG|!?A4Bl6okuOb6MSPUiDd?^!Ulyxg(T<*lhUCwJIB& z5uK9H@KEMxbcD=kELdx_6;Kwq!vNnx<4rZ|5frkYR zTRYzX75BllN;PchTe>42lRB7j@H+k`!yCMQlOrO~40W9x2_+(QCP&&LahjeSQ8Fo0 zTPRL7p0J9C*zY?bs1npLeT#>Ve@&Q4Z*`T;Ps3DFTZna%t`oC~b@5v_<%WFh(9l0>4EnWK{&Tz%>*^cVE2*mN1rR6$=ye~aO` z1}Tnf77XE-SCPMrY{4j)F;dpGNXoi)!4i@kk*tCpBjwyQNjW!DNDCf7{f4#2nC|%n1dksf%jH(Uczc|i5 zBu(#IoZwm?_5B7XiF8)LrZJsjMr{|I@428ejhe>PLDRnHW}SIT7KUK72rZ7@ zy%f>R7_GzXU5&_AH@U-4Fhnl)buJyRWLxBzPIBz{-q1{U>doIvs;ck;HJ8?R=5yrF zeumBYE$bMP;#$XWeyhT~{X_ZN6wV4RD9j5#oWEV+0l{}DJScb@@jCA8{UFAFew>Nw VAcd9iR@8Vk!3xl@gV`KG`v2$rW8we+ literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/message/BatchSettingMessageWithAnswerDto$Data.class b/tall/target/classes/com/ccsens/tall/bean/dto/message/BatchSettingMessageWithAnswerDto$Data.class new file mode 100644 index 0000000000000000000000000000000000000000..715263e8f0acaa10e8b1f0ad8d1ec5fa5a46a02b GIT binary patch literal 1213 zcmb_a%Wl&^6g}fOF)?n_rVk$F-4>h_;SDQ5NTpRpr2vbdB6T-*Mu{uOmh1`q6bq1A zA+g{C_$b7^j++EG5|vWA%14^i}#^`cY0!0vR32G~|78XzD>o*O>cKO9AIFj#auB$t+WJ`nnS& zLoWz26=$B7QRMkb#$Hb+UNMsQid}S-)-=nT@t7Y%J=l%2Pb%Hl$rcNfBRf+%$Fk!U zcg9Cd$C5-Bwv#pdMxuWlD)MwTUwkUj2hJ3D)i= zqcl(lA*Z+fH>XedFFIJjq5}(89MoYuxC+O@j=;hHNs?a6^s&72PgI}cVT1?mdg;~D2F^6p6L4L(1R;hC!Rk&C| F{Wq9uxLQ4?{t+b?oq=Hltw&~IY(oM;3iueoh zw?6soA0RJ0po4*t8Ao4q#=l9$@9b{d1sPxlW-=%DoO|y%-*?WrC;98&Uw#F!6W=D$ zgM1Svaa6>yB-(Mj32)$p2v02}F@-miIEhoT`<95jj?+mP$cva3@wSL}WbaH9#k)Gr zigHebnZyi=B4%}1NpvBfz=Vz?ilsQwOr7d4Anw67gtt@(A)Z9{; zsB%vahe-O;`3vTvnXQ=iTsB{|=Z2?4hJsrolVQQA&j`2iS%ucn0q+JkoqDlIz6xrZ zT96LGzv4Xb#Uu2g&snaY>xp##(-T?BtL`khJ(7M_UWI(zx>PqSq}LHn*Rh!kR?!{q zCuLQ=pKP$D5UaW+tESK-MeFq&De2h)rMcjm#fy{Xf>&L3u8xXAqG;Nq5|hi4>6H8i zVYiIaYl;4a}-{X{FQWo93e{$!zAuNAGavNYJ%$93#>@nE1A zTXon57I4Wx4Lb}taCOuTT*i9_u88u!fe-MZj*kp{jH?Dd!8L`kXY*zZe2QxZK7(uE zb9`ao73?zbJhmttc?4*Fg`dm_~KS@_>HCG8-;YpPu(q7vZt(>T-A15({_7<>u0B~ zEU?VR18Nw(LMHrF9_fh#BeuYPq)T~fzVrLuL}+5{dJ=qLBxgq#Et|c(ehKZvHsk&< zRoMMRsQ>SR91_GH#0sUhaK&-0d4)B_daXtvQ{{PUvRtXiu;t5}P-t1HgA6_m2fP*%}-X<7~69r}@>CZPs` zP~Y*k-0NegRd->WzK!M~Eu{@K(2~*y8(5vvx*KTCq_hUstVG)cowqhHS~r@pk%TrO zMN&O@jx;uVQFr>DgQ$#wZ5Z^B^kF-)j4ZYnv4eD*dHW@%LgPNCNPsTOZ%ITfa|>-Z zx$vpRJ!4ylT5Opbr&@4%h^Hk)JTve!+E$?Zw-es&PXEL*#JE=v3Ca-`__@h5lA_!| z<_E;I8w0fsHwJz~`{cGv18Y5%i;kn)D2BAbKd~yM{ed;tVGK&CHL|S$ literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/message/DeliverMessageWithCheckerDto$Data.class b/tall/target/classes/com/ccsens/tall/bean/dto/message/DeliverMessageWithCheckerDto$Data.class new file mode 100644 index 0000000000000000000000000000000000000000..f6e225b19947a524eefc84d182430daa1f837902 GIT binary patch literal 2434 zcmbtWTT|0e5Z)6?OWIIMON)0!Q41*Xe&eFjiq@&<2!qdQdZq-@#7P3bOJ{JL@xdS9 zk8<2SNog9+IGN#PFNgiUv)^Vba|Y!Yd^_+gK~OOFxOwn7VwpV2LWnBz9gE@vtS+%Dp#+Lpt&4*MPM?HCw#h0dIzu6yMe3sx$hf2t~W#3AHwvD73@XbHUoE_NU=f9=fS7p zJS+8>3^7n@Tg9TmJSg6Y220@R5}Ivsn1-{e#@V9z5+4kCOiCH&c8f2jjS$VH&nHGeUNd-9yjhn-;Ce-2Xo3GCczg&cg)_CZVXo6qyp4X)FXpIllVS_9%)l=m}{mWS4ec$Vb-sA+j<4T;M1& literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/message/DeliverMessageWithCheckerDto.class b/tall/target/classes/com/ccsens/tall/bean/dto/message/DeliverMessageWithCheckerDto.class new file mode 100644 index 0000000000000000000000000000000000000000..758c24ba3732500fbaf42fe43a5204e36b7857f1 GIT binary patch literal 3410 zcmb_f+jA3j6#llkY_i>!($Yd`p#nwIq$MJVK&fDFSnN$&p`ZxcbZJ7ftG74oQt5FQKS7#_IVEITNJ_|z zkhGl41W9I9oE9M~B&WebUdWt^Cp4_bcmPkz^Nf(E0(e@U&!~7-fw#x73;#*`WBF;mGoGdt*rhm%&K zJ7LDB&1{dAX%XKY3jBML>7;eP0#CU05S@2tCQSt^29jxWC_gh{X2*<)6g9O2nYfWU zWMq>fyGpN>ND|TBNij4jTGCb zzP$Lu6O!tV)}xFiBW+honER6gU&cz9S*AnUuf-V$&DOa>)u?5}rw5H$yH7cPDxOmi zh#To%xszn>nroMI_h#f+8^&6iLc&E&Ij zvo9&5vSF#Y+ajlRL=aW+yp9*~l8%?LQ^zYfr{Yx|uj36JZ;J4ij<@lSig$IK$9p>7 z#{~sl%b$83AK-$H4~2Xr*D~OcO%aTsG2Ys__ zOnQ@fbNntC4!7TAdbZvUG#AA2-Z?YPey%TKT%=d$m&&%=0=wWiQ3r_Dy`n6Sqi1rK zIip}@JfF?-epz9I$y7?-7#z9-3aU#&kbA z{i`HJCyW=d$~oiuK!vs?j$hB3+#(aatZs!CHey!_$9KLpF|2OWU|Qx$a5!= zwoy6;4>@2{${wC`zFfp*dc_(&V!MH8yA4r}-w zvk}eMLapw&LkxFQlB>2lS1HvzT}j;tud2KO{m3;`?bbqCw1Dc6)>goZkk(#6O-KuQ z3s}jAuYg)U2&0Y>bqZ9h>C6Q|&wb+Ea(i4yl%b>n{G(de5C(#Z{PMh4(VuciZdreh!0;vl&Smc1UMc7PJrCRE(SYIqrzqA(;V%1y>zk}DKJ$2Xmeu8%IH zPnvFEJ?E#n_KpHJ2*?69)@~wSK+EFxabkDovdM*3fkSqN4s$|4a30QWh%+MpES<#* N`$Aj{XYty;&_BXNFiije literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/message/DeliverMessageWithDeleteDto$Data.class b/tall/target/classes/com/ccsens/tall/bean/dto/message/DeliverMessageWithDeleteDto$Data.class new file mode 100644 index 0000000000000000000000000000000000000000..ee445b033abed97ada18e3ef78a940dc10f036a9 GIT binary patch literal 2133 zcmbtT+iuf95S?{Xr%s&a(hGNJp+J&C&86JhP$-FzDusgDQl2--Ds}7F$aec(Ac2s0 z-~;$5#LU{t#jKE}zMPp^&pDo%o&Eji=Pv+Qhc`LM!xIB?@RZ;g!E=Ha1RDgK1Py|h zS$LI&*9?r$zIQCT;ZBc1seR1PxaDxSZ?!$QzsW%NJx9&&U2Q z9|#7OG5UV!+fpEhDIydHHf89iK}6JjG2s3Qo-}ON4!0OgRcnU~GEJ|CdBwKvirv#e zNB9T4<4A3<%bi2++Z4x#nefOCkksNKXJGEQuJD@<4+4Rw&34xtSlwKiT0Co?x-9&|4u*?B5JT_+d1mx$0Ptazs?Mfk}JuoX9_j zM@8iLA2hAmQ5X$uVO%Yq80i(F#NpUT^J6?Y`LB3*W`Cl%O0|}(4r{}lVQuISYeRp$ zwow?>Ha{UYyv{+A=U23F1YJEVK;mbo~dguQKftqAm{$a2b6wN`NbH9U}%eUq9zKbzeqW9a=xqsX-laa{0c2_5~M7 zgVFNMDwl6nNuElQi%Rl6B{`EMmz3oDO7e7)Tvn3TpLtS8A8CHaB!&)Fn-PDy^K kB+n$t^Gfm~W!XlOyr3X!@K|2xI$T4W!yC`R7F-46FD$b?<^TWy literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/message/DeliverMessageWithDeleteDto.class b/tall/target/classes/com/ccsens/tall/bean/dto/message/DeliverMessageWithDeleteDto.class new file mode 100644 index 0000000000000000000000000000000000000000..a15bc27a35b84335dfeff33d95c8fffb0e06c0fc GIT binary patch literal 3255 zcmb_f+jA3j6#h21O~SU6mRDzX?Z@Q;+%p&uWsuKv{W{0SUskm z&l`Da#~p3YKsq;_OsDfkHlMV0(@c&TdNw(3=aSP#KCe$0$zH?E%o^69D;~|*lhhct z(QD^g#B`^EP**0Kv3D!*$6Jrkc292HP_S|!lQo74(_@A;qK}!>R1f6Rx_LymG9r7* zfIXQZpxw(tLJ$|@184MEJ!$IMiR3^oJJGoedDylx|ILDTL*kFjSh+Js+D?rts9Fqy z*|Kt`A@4%Ao}UsXGVbPB_!S;Mq)$5;E5+n_P!Q!27GNYJCqjk1VL8?;V_LVS6ezT! zP8haZ_r7@RvNAhYV>Lf#u|NJl7?eDPjI#yZWbJFqOLuTga@W~`B97;-q(4+*Xb{I!~w=w)OPXpg!X?8D~euvkJm#J=-Tf$xiC|Nw-hgv?-cAbT~EG zN1xau$^8eZ3MQG_=%yot9|yshCKysP0oTvD)i*#oQLGA?O&U&seSJ{0m1 zE@=2zxKD(9D&lTDtl>Vy6?84ftA+#EtDy_stb&F;B0P!#1@(&)xv!8h$EC0vmdIdS z>fNp3Gkh-O3TxJ?;V~Rmko;Ge`}Dlwtuih!&SwdN+g&QYP!KP(Q?N5;@~AP^lgs99 zJ!`jk*H4a|n_;cBg`(;KSCA;5k|m9Bc?D)k-}K%DHGHL`5u z+BuAi^dZVzBnr0Q71jl}2|7%$o`4Ig^y{xIhjA_b}=cpY}P+7{k z>}f_ltD6Pm;AsUl@dM@K<*acpE6%p7Dc=;%TUjI;fgCFB+z7?P-i{T1#9Om+%!@%5 zW@Slqmu-csm|v}OchuXij!kdDhV+>kBTEbI8OnTFo_wEl5%lSND6ae&y{bbt$@9aU0sPo2clB#3F4) zRK_Bki&znoi^Kv&tl}eBL^U6TQNxE?#A-gmMbsu@1XNc7w2f{-2mv&sg7Mbi zUc%diCdRypQMVJu4#wQcnD;S+{nQB9(=H$nETLg5wmAW$u$`Pw;PU1+W=XgQ$ORnk zLF{yrkitXMg&f^3a;n31@NJk#y67>E2rY80d1*-UDH#tYZlL};88@dPM_FH%!{B@l zxnaG_9Xu_dLW#C-QC~`cdpqLXu5(Y!2NiM(FHX5rJv-NVMrzp8miP+6z_qp?(QpMp z|FyOs&@i|;QAErU$*dV-Y1VWE+JDB1Sl}nDx(cmbDzw%)5x7P(ey1(ULF{nN&x7b; z-h1f0mYQC+hL2ThLLYU0)+L61asfO-TeS$O;onfHV*l@`Q<36dn4gRC^WdT1#iwK; zD6qwUc?!#uFqc9erC0H<$Zv{g<}&X|HJhqBy8_)#sEt*flMFOm)pivso3Zg!cjMm& zm~gLp0s1)sgBYUWAZOwrIqCIU9C8Abu$tk!gL(uQmZC5uD9RniUXp!^pyLmehpwL{ zq)!@eV;x83p6aF|)(glYHdJpUUqtib_Hko(N3hX@=EJa)p%G332+q%0Y2bWB_#er6 QJijN#e?`vY)jhF40Xg{qpa1{> literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/message/DeliverMessageWithUploadDto$Data.class b/tall/target/classes/com/ccsens/tall/bean/dto/message/DeliverMessageWithUploadDto$Data.class new file mode 100644 index 0000000000000000000000000000000000000000..0e51d03bf9489ac6b065660bcca25b98fc3a2899 GIT binary patch literal 2590 zcmb7GTT|0e5Z=?4rlsLlprCj`K`j@F7raqKpcSnaa0Kx=Z4V`wCQOntG=N82o zKi*TDoI$n=e&AS|OOR@v>84ue7K1@AJk%&Tajfa+{4HCKrYjZAc5ut|fz~ior)6;o zDhyJTST>GL26EXjxK-3u+vYZdO>e&dyI!f8O{G?|xnV1gs_ROXtAEEnzO+mo?ke^qKal6iyEnD2H$HntK2$Nt5jyTV%AjsNVPOt`yUg|iH2n) zN~)tWDE8mI$!%M0@OBlu-tx2NoP2V{p|Xes3zBW_eCTv!Jm00M+Y%}>jY%Kw_3d_8OHQ}nkB z(l6a0qL&*zie&Q(VM$OB%n1a+I1mKmZb3RrPmqZovS4O2nAfF8u=4f5wWmi=OK?K$ z;C7oc_;~4K<5f8@TUL#G+syh$5Y5dB-B=l}!F3sA7?NR_%m|rLGGmaHVVt4~GLw*# zV3)yG-SguFCT#u5u9#wNa3I`0P+;|36Wh6P;8~8;*&(IGn{si{jO}U9S>3$rA zS&U^b0ZW;~6@z)WgOnA72BPv%8;EBC7SaBvPckYGwUKz1#Pvu~d1wrXXIadXipoP{L_GIl1$#;7 zs&w}~O+0bvOijPOdt<0zwl`5pywNkr>kZ}uj2^-xw7p|_0kLlgiFIu-CLGJhLU23` z&I-Y+LU1As9v6b22*Cqk@PrWj6rKsroD72}h2ZDHoux21Cj`F`f>UAeln}fI1%DVi mFUSR?!{BKF*z5N?!e6?L-GHm;v$&py_izR1FWy_Y4e5VS`ppRd literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/message/DeliverMessageWithUploadDto.class b/tall/target/classes/com/ccsens/tall/bean/dto/message/DeliverMessageWithUploadDto.class new file mode 100644 index 0000000000000000000000000000000000000000..4e008a1e0385f5a8f5bf8886ad64cab7c094fd58 GIT binary patch literal 3698 zcmc&%>vI!T6#s2ro21)PTG|q*yjmemTOxueq^&?&wAcdD0`d~J>9!4Qlag$z_!dRQ zC%#be{p1TD(1F0njH6$4#=l9$-`U+ZX$6GA83#D`+`IRl^E>bG`(Ho)1Yixm4WkMB zLfDT3LLLpH0S7}k1YL-|9SS3b;V=x0$k$OJ`&5jDp<$npw2;F>jtDV@j0?#K$qJbW z@zGHgIeDBHVuew_q>#r{JRU|P_62cF)+dBK8N^evKCR*z1-@?G(iLdEnT(N3ntDEO z zZWVF_bMgO=$t_zTF;qtl%PE_lXv_6oa0?}(=BFfXj{XM%1!TZDTF_0FPF=Z|w+%`1 zC0h0}?hI&6Sq8eF6!^2&nB-4LO0U`J1Y!Hk-Bb=(dg@5OK4I4=TaSw8nI|bd(<3^` zj_LU^r_5RNy%f29M{j=*b&?O{jC{egc<71?T3IK370jbQuaVT@fovg{GB(>OyyONg zXQe#W5JiiM7c`u}OB!CrS`Dw@q>5KHypA_CyeXTvG@QcQD&EoXF5c7dK29sxc-#F> z!v{F6;X@%G2{|L=W1Q6RiEy6^`3#?HSdJA6I&MdyhV6Jj!zLsd01caE^DuTOXqfH8 zO@*{MEHPbr1Ls90)SVi>z?VY4Vz^o~?8YMs;{OVBlb$!+A;6kf@wI}s>pr?hb6{&K zfp$_+#WxC~WkT$}v)dR-W;1z9&sfc_!h?fsSe#)qx2mf}L9D!_ZYYEe%0I#6r8Fr? zNA8RQavQBw*s7a>=7KobGihX)^L0}gXPpO}si|P~O<|q!nxKOO>uM--72*IXN9u2q$`&S;skCW)_M{3r3g8%HT!kFb7R`vfSm}UlpWobbDno3rpeaWckuhpwf=&J zGw^%Qwf>BT{zC=%=hY1k~Uks8X@@Pt>c}#=k-S;FRIyqF={V zyx_yS-D>pg_H+eHKS+IY~$8bi}aVGYAld@9}x zURjm%SQ$HJ=q4)D!d9hZ7|vbq`aBmp>fj7w0Xo3?ia@-?#D{Y zm(_G4%Qs?@6S5K)smPB+sa!q-LwlmgNq8WvV2EC5EzA8}7$XUN9;d~Wr>T+Ja4Yhh zPo&WN*cN;$jS-pThr(D{CYCIlLyx^x_T+UX%d-Pp3|(FF*fG*3e(2TF+*o7hdhols zvv-#UH|FUJU%{2=WIuYWj5g<+Fg*GLTv&>smlRc*%4f>G+VC$EZo6L?p^ILGCR%Mg zWO({to{jdSUXS{JznYxN)G|Ez*V0(0O$=!>83JdRVwfr9w^|Qw%7!wjO^%;M5IbU#g>8J@AZ~+TD3O*NNvV wJETK(y}=vwHNeeThoAO7BKSa(;Fkvd1@?TATg1Cvv+rPuqMNpX`{<+l9Y}ZHtpET3 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/message/MasterStatusMessageWithQueryDto.class b/tall/target/classes/com/ccsens/tall/bean/dto/message/MasterStatusMessageWithQueryDto.class new file mode 100644 index 0000000000000000000000000000000000000000..5ee6c6d3429a61b360e4d77cb09e3ff01ae029b3 GIT binary patch literal 2937 zcmb_eYjYE26n@^^HVsQ@3vDSB0V$FuE%AZ~w8hd=urcA53W6eR)1_J1Zc27jtoPdw z@UuTazVHDZ42;Y;`bB5_O)5TTchiQ#05dR?dGGIYp7XrtoXy|={rVe#efTbgZOFIb zT@<7#rqGEKZ8(Wj()iQUDV#wmg&DjjyJw}zYdDvJj=VJQ%gXsSHWxH}Ad?TJxtPL7 zxFpSG4Mqw*$R{x?eOa2hBuweAXqZ=s9W^{dL7#RUvo>iPu4}qno%2_Z7s}OzT)FI; zj+^rg+s@6JhLfA~s<{Qzb&Yv5S2SGDtd%^&tGmTu?VRORPS?%a@=>okAn+p!iBZe3 zyu%97^x#?IPgdtlg$)JEF;CPNX3g4+F>7MKCZ3xOiEK<4 zt{O{5uI^cOu3)*|i13NKrs2^<$J$K=HK)+?FstRoCbNMx=SPFNZ8-C}l2@~w`H{mk z+E%jW9V%3#hkMo%c9+P7{|`>IzlYZOUdc_0Y9l)n~E)-$@w*NVoX9}bLk4HboC*>I-B zCWjTntppLp@R}y%sWa2XDca;XQ8V4T?Qt=LOM2DdX%se5*HuR0gDIp+)q1UL9V>43 zjxRB&;|=W7u>(65#-A5f$J^Mi<2AfaxpllLlW`nT=v}MWMBTFIMXIzs?wF3R z@U=AG@PWwr7>+CCo=SJZaLus5u&yvwS7`)Mrr}$KbPJB3;^)lS$*SXehT{!{*DuX5 zfm!m_PFpIOLZ&r0o`}T!jxRC-3E3LoE72qg7g&5KHNt(#o&C>3x>egtQ%k19klxaC z;c=UBzXmHDcqUICMWA0vQV&hF$X!}y$zM?DEZ1u_@|dv}%%Wx6QlpuFd4=}Xw<%N| zer2>J!>*eruSosPx8|H|(~z$bVOHz2UnBfoQAmiCf)brD78gy2MR~Zj&@|P2B%QYEpHw)7f&ToCft6(R;v)lL~SBOZyag^kkMS$%9XBQFW2-uam3zhj9kvoVs5aTF* z2Z;u>%snLUp{;?`PdpaEZniy$v)zOky3x+rX7mzrGhX4U9>8G_(wvE@LEaKmH`qtn z_tMn5`_Rwd#ron$kL3Cbr_<5 z5eyS2AR&8uxtHTg1g~<$BEeS3Jr>e`L}z56Dvd$zWid86)MEJ%`>9pWH$37;;~!VKhXID;?Y~#-_cnd$~4gB zPdV6lf*Nf+6dV2v>-u7UqVp#7;l5Y{oBR{8TZ9SJYbCKSfL|doiMMco#=EJ@K|YW? z%yt~&T9jJ#VT7X?Mv2vpgqHjV?Hb1ZMURHV{3ZE+NQ!O9{vdl%AuhDVeh?h3_5%@` z67ndmihY)S90_5*=e-zjZ|@ixjg9%P_IHd_=xDMddlTAl1KpR$`XBFLCb$|p7-hgr zV3NRbY{5~EB1qAdDc?bHYZoF97&9@tr4(I)QV;0+>O7)^9ZP-4?ie8?PWtbohXLE$ zwYh;lA=$u|uB{w5(7!f(f&d6&us@_0!8^V})6^Rz7iEk}T+4rI3)jZ`_-ERJJKpy{ Dc9Xe~ literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/message/NodeMessageWithChangeStatusDto$Data.class b/tall/target/classes/com/ccsens/tall/bean/dto/message/NodeMessageWithChangeStatusDto$Data.class new file mode 100644 index 0000000000000000000000000000000000000000..ddda011ae0d54c25fd3111b2978c9aa4b474a01b GIT binary patch literal 1183 zcmb_a+iuf95IyTSHVJN%CN$hHr5BPS;TN6&!9$`-kxY?j)jn^WmE+>rlD*-(KmsB0 zzz6VAh#AKrAy}vqJY;5eea_i4lllJR>o)*T(W}G4P7PH&!wL~1w| zXnGg&y>ufP2dYdIgnZkIKwzrX+M%#rs(#_^OLFT`#T&75b5JieT?~Ci|3a z&>CQa;wGJ3%7SwB@C(F8DhxCzTKVNBnp8V;0Jd4I@`(F zojIalvohP_N3WObR4%K-ZL!V`+@$!2AM>(0JQmiuh1-SBawwl*e4qwbhten=%AHbj jWu4qCCEvxpl9$bO@>U7i!2R6c1GFjENv4W@v{3sAvkTn5 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/message/NodeMessageWithChangeStatusDto.class b/tall/target/classes/com/ccsens/tall/bean/dto/message/NodeMessageWithChangeStatusDto.class new file mode 100644 index 0000000000000000000000000000000000000000..021e6edd5aa1e2097045306fd0e62af2da516844 GIT binary patch literal 3824 zcmcInYjYE26n-{MvPoDEWQX}OhFifzHRfJG6u>5>G}q+~Z$yx{$Q zL-C6DFY<*C=wM)E#?dc2<41phzeL67>~6@my`A%%>$~~w?;m~yunAvB zuofd>9Kpjv9*H1|qhUOXV?yld@d$K`Mv%go>>5Hwgq#qP7LrksjbMQ+FThD5r-bBW zZ#+zrS5c73gpkt_6k!UnRFooEj*$>1WqeG?;~|`p@d*`AD)8^oEnR`uo6j4?uAFX~ zhRM}2d$p%8RTxjCQl^nN6PBLKB}NTBpBS?WiE+a;^|X-~D2y5X4u3dnWx6tYK5YzH zx>YjwScPVho>UO*$mX-wb_F#pt%oSSi?Q5@Dsb6lzKE2Q+?A-$ND zxx47MGFf8UHCHf66;COc=b}Am8bt-?Tl!AwlX@aY*onSEKApU^mfgBpF(@};fZ45q>-|E#}w2}2S{%+9%F*Ob53BXr)Z>% z?4(hodtE(M?9@{%g!#dodV8c9UwJ*?}z*@lFk&;|n2QGHR_F4uUzAxFy)B ztyn?wKi=>*Z??dy4Ni8d_)0;GN2c8!4;!Ohg*-c9-m2U`Hq1W9SJZtA+^JtIR}lAB z*^CmHdw~fiGcS2dEBUT2+Kb?A&~8RH5Trb@*k)emRKjs9#dC(k=8cb|gVY6zq;vIS1+xstK}1fQIi zeco!d`zH6rB@`q3o?5nd#UUE^4^&^%FsDQA>$!6l?Qd#=Rl+Ub4)#MW(g&+=Xa#~D zWcvd^Ac)RE_azm6*nLcGEbe<6^@8_40YQCYf_N3Qdrwp%?y=Zea;uIJm~y_-hi5py ze1^=y8h%!;6akz1u>`eP%D)(uEJGVtHAfuQqn$HRwUM_()gK%~9Jf%_ym(s~T6}#O z^W*Jh)LzGek*lcNrpDBmzl?<(0%g>5AcjTpm|DhS(O+Zhk0U~U1^ifvFjf)6YAhmx zMl|uSnP=AFE*iU;+6B{~qu0em1l+yb#<>Oe@LS&}sBkatqkQ2ubJuTkTgZv6Td)<| z5Tu4iBq>=%2Ui_iuZs&>*J1Cb;mQ-v`a1{3j;#bgc**+i+4BCr}Jq`=pbQoK{ zdwCnh3AA9m?Rzv--S6Cv*tet3iJPVc?I?>*HlCv8QB~4lpE3xB1(D#k`pR7c9I8tz9A#vrqUhQH&Dgvu;jcD%Fk-wljA zS6u^Zm;?_pso3+G^h4x)OvnZd+XjkRP4L}dZTM-HqR=EL$_?6Ho%<9)$G6f&*FzDK zCym#!oQ2R>zoLwl0i_@% literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/message/NodeMessageWithPostCommentDto$Data.class b/tall/target/classes/com/ccsens/tall/bean/dto/message/NodeMessageWithPostCommentDto$Data.class new file mode 100644 index 0000000000000000000000000000000000000000..5de1654b8b24979fa8b3db3afdb4e9051e6d454f GIT binary patch literal 1419 zcmb_a+iuf95Ivil>)!9!+t*XNv>IhmiozW)I57?0{O&@)j(Ux$GXTRPk~ux-F*s3`G4 zF|YQ4tDlj2|+j74o;_C7i5C-Tmn+U-?MW%3 zq0i%3(ChP&69%^9#6rfl;=XT>1()_jg?1p~n7hJ0pkn*!`K_l;UWc(7hCv{t+EwAE zR;4M7Sg51Kf=(|tNalfVdWjG(QzN>0$jpfuW>n^mVpgwy7)~QcyzsQs8-I0WTW^7d2AUR@U|Oi-f&~l9 z7FJ*yc*rpP55CjVoUPld@u_fV1$X{U80)mw25o(Xe$+cf==PIL6C|02plpJ65KW4! zbh9Zl%GJR)u+MZTp+&KlJX&be*-8Oe!$rC=T*76Fn*4;&C5;|zeMM=WT~FBE6p^vD zvTjcoy@IPnI^{)m^mtn58m<@VR2J3I_Gq0O#dB2`)zS89otwBtag}^IGxrNhpXecP z?sB2I>)0qDm*>eVh2-1VEFf3r$&Ettox--O^WQfMJiZY^q>Qi6&~8;X@spxBm5F9?dTO_wx~OUZ63;1%z8 z@rvSi`N9WuFfcOX=og)F#($*Zb9Ogm3rwj4)AsCn-+j+H&$+(aKmYyt7XVxET?B0y z4`TucgghHT3l4^H2+s+zm(NFV7%xO{1V`nqE@WKDq>!|VsR$ZmrvZkLV?r`QrsY63 zOmbYs30dTXGH1&*;7%om3Lk@o+YfX<7O)FK*=Z%83 z(<*KdZP`NB+OD83)-gftDGDiAJeVyQ!{z*>Q5w@HbKGefET;9`gkH+Z+THY9 z(^*35yGJZZ6{i%`yI99fqom+`Z1A`~t0!`LA(I#^7Bb1Z8`+_oRfokxkG|w>%4*67 z3YL*EO5P)*Rw*kMYlqw&2~l{aR6K5^t$`^8jh-VmNCuP{nGz3r?+LJiK;F!VjXahS$)o;dPu<@rH)C@V16`Wbv+s_wc@o4>Wv; zk2HLYPc(cgo)2>F&7>(KBF_A5x-73$o%p&)Yn#nWGHZ25~AUM)L%bSCpS4HRDtoK|l3N|kYYE7PiLj>v?@WgNQv}qZ6 z1xwQ9Qi;~bvUy`Do6E_i!~Wc>prICQnZNXSR?n45gYRB2**qJsoSm zmFc4q$VhF#hq)Ye2YTNEX58FTswP&hw4`Xat=j`z9Nz5=_7*RY>SUMGa%RZ61O&&p zJI#ao%nTtZ=<*6ybLw%**>XFGL7sEII#B01ziOV^zp`ECH^CPS5Q}hpIqPyf)%LoYY1IKxPr(JJmy23v;_guX86f9U^!Osrwvhb za#wTIVI#V@5>uO9Q-4u9#Jz5ss*iV8pv5;clX2n{ zv^SS};u5$S7Y=DxxQC|&Krr6<6PjyII?^Fqy2Uwh(}AF!Ofkx#?CQD9GXgc$8UG#u z|E12~&~gERx=WqEqGf1fyn^NSlFW)>Mt(()zv~awNBzHJ$wg>g685Nl!heZs>g-f| zL2Pl<-vp7u4y0(j8Jn<^>Gm<|Ythd=k&R*(IX`w&S2KcY=x;Qr*z*rsR1EMp#IGW` zUtILvd`c7o0$c2RL+A}cHH17$t72b~OUYGpj&hQ@wT;Pb{$AVF*2d&C9St>hUW63Y z%A>ulcXlxDh`J8evA~8fOvM4L#6EI9mR&POYzM`ycKB|vBK&kqQRosB4u>RKaaeQ~$s?~+&!>AphF-9D$NIyHE ag>b^mL>m%(PT&k)?u+tYq%(N4FZv%f*h0Mk literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/message/NodeMessageWithUploadDeliverDto$Data$Deliver.class b/tall/target/classes/com/ccsens/tall/bean/dto/message/NodeMessageWithUploadDeliverDto$Data$Deliver.class new file mode 100644 index 0000000000000000000000000000000000000000..a8841d5f41df36663a2085be70a244ed3d7e218d GIT binary patch literal 1453 zcmb_c+iuf95IyT8HVLLlleXL`g#bwkHAp-GLP!ZnmD2Q~v^;N|RqD#Ik-h16fdoS0 zfe+xL5Hq$Zsbz^s^kpudIcGd)*Z%qI`wsxm@vH_5kE$@yVbf*PW3z4Hv4tlBhBpyt z3{T{#bbJ|1onaVEUka21Ia317h01}Byrfo|N4|jNMoQ{15-?wRfu~;!lserbg7(7+ zLF+>=P^0;5tfKdF>?dTQEBzxGd7Nht%lg=hEjWZ5NG%2I-5^j=-K{~XO8Q}Du^8|ecu@?88{OiIx`i=a;lsWP2Nl651u|g{OE^rk`WAa*yaiCET<(a zQ>Axl|7NGVuxF-#Ma5Af!rHm=nG7a19I_HM3i^MZ7iy$r0a|IjFUS| z>PT5BIAg6Hg!9N%?>yGA{f{+w_%v;-pl;(5sy1r4Y{O=A1yzB)3)PXX&)?g#KR!{e zw(wNo?S)Jcc=NwJ*rE$>(f3e>!Fo_+uq25mRT59akgr0pY-AghIphWTO79!Q=cH|w zteHHlqe-!yHlT%TlnGqN4YKFKUtoO7fg6S3o48c~F6F_ih2YzT;Bp?^ECk;veC2JBe~UjP6A literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/message/NodeMessageWithUploadDeliverDto$Data.class b/tall/target/classes/com/ccsens/tall/bean/dto/message/NodeMessageWithUploadDeliverDto$Data.class new file mode 100644 index 0000000000000000000000000000000000000000..9c6f1450cfd46f007a87e5b2c4a44cf133c27a8e GIT binary patch literal 1471 zcmb_b+iuf95IyT$OpKvzN>lDo2;ig$zwiVIAvJ(1xvg4C`@FGNsf%MHd)w~<353K0 zAHYW;W)e3+#uAmVEYHlY=ggcvv;O((`wsw5@z_EW_giS7%jN-_hb9~oJ%Rc_YAIlE z#<5B_BAI0>Gtn0?2Pz6rRVvU-lSpj_0*l_UJe6)F9B8)@* zQlRGa4v6vw!37q)Fjm_qwL4WkHSpgZ8fZjO)FD+FIQyQ zDN4cwIb%Q9#iDqos-eTvVZZZpSKRn!gX%qR$gZ= z$`=@)=zxEUvQjF_?NV^92=0`E@8E7p=Xw#mS^_p`;>_t*a_5|o z^D&s17n0MFk6{P0QCRZ4AY>tmMR^u&2EGTSeTx%Bjy9`lmwpc0UtfK{~ z_TCM;XTK;g(1Ttbj)7%dHc&#@fQyQb6$9_!ih*}!@t%SA@qvyH4Sa-;4Sa&D3S*m6 zy#_wTRRf<1`5e~_JdP(6h96b8ftT^3foE}$F*opnEJlz~*l~Z@Mk)n6FKOJnLA(-@ z;UNQG;7cK2F-v_0UI9~;+R)q)v%EUVIJguhH$$lr%d8e-{ZbQng=BrBJx~LyFTBihrciyetd*v8uaC5@&w_Jl z#QhIrteACfY{hce7j3I1*Kanhdr2r9cqk8Q8t6xqrUnpoVV%8FcC96a)?B4jBK}-q z$(k(Kw!A#pyb}t|wH(N}=fqku?TR&hL19~BqP}6hw}C&=M2(!+wX=6B5ox3$Gr>F; zelD2bG4gA#nVC%*hHEq28;a)gvgL4;57ZmBnyflo{jH#f7`t`%SBK~W?(cd)(m4v+ z_%Q=0gk&s`i<0NSBHhc?Su~IXdXl%Hl0PDJ3k_9h7c}ffGu7`zH&yS!Q`|Ltbx5F(D}mY$n7E2mb)-c-$v7*7T5Z#XpU?9 zs@NLW2C8VO;dCOx`#r?zMH9{4M)WvQx~W~T4*L26ENaF8_7hFG6uFSc9l+CcvWe2q z&`OQx9BHKDeu_`IA5Pvv>rFDggAs4Dv(BOLnnTaw`9OG(w*?}S?EeX^HM4!`s3+aw z-&iv-;$=ZVIZp#UH+e?_lj%=>kFa*5|2MRKhj7D<{$JUk`;t{`^Oj_`Pccs02epAe zuqCejj@Iii2I5*3?cNRT2GulpIjT3pk5gvNhzt&4kl^i%QJQ%QF}~e6%)JIA8Q~#v z8jes`J0g1YFEs0T>2GxC80Ig^&qH}N1lAwoQ=$+Svjx9Cg!MsK4I!@*Rq*-Ah)kg7 zTgqva?rupR)`mP+yIRtVbTr!1e;qn2qvQNg*Z(`1^hE;)8(5m77^C7aI&qX-2r;^H z%yUrO>OtrpzpypBr4(I)QupY4Z5>i#9bZg=bw{Z}>ZI!~cCc=Dw#BRH6eFwH)z(G6 xirx2@kMFzR4_$$2AxwA?dX*IluNnDO2}ZnfXxE77;=dYI|GJg|6V)@9t#z6KULu= zL%tcQ$g~(T_5B-$Y&#uDhO!?ic`-`*a(FHJF-sP-lT%4O;Z z4=WVy@(HOOt8N^;z?t86$J@1uV!CaeErva`g6h;~2JsB%kqm!AEdB!FV0Elo!xCke KY%O2yL-YT5W9r+X{kW*`|+VVY4aOO%;Fs z3x4(wkS}~d2LmHBj(*V@|0WgB+ub&yGL2!cn|Yx@TbKj&f$C#7x2D%yP$>{9g9gAm{G%$@_f+2;i8U9YVx5P zE+=sXAF1JE9aod+!%PC7sOPd8t|efq=ZcP!fOgjOOaWuoab$hUHeFY`^sf5eQ}d-- zwNNU#(s2u(Y1@SrX*z{fuU4o^*EP$suwXgmVqjmgyvl+!SI>I2A%!|75FfW3%R40y z%?@8A>{M-43hbG;9C@x$U6J)AbH%2od%jjO?TcpJQuENMc@>LXPVAHf+#}tiN)h*Ai3Z%Ba6cBXlW$6W~OlF678hk?m-Q55?oqawm#XK%=HB6hL z^tLBujV$L)2 z8ugN#u~Y#JJiU&NsC@=r#GsDr1}d-&+`vr(HmW)t18cZtpspsa0S^rw>jpl>X9jL# zSYZ5l>es;M7&cJAQ3Ho?Sm5{$(F}~?H3OqKLQM_4swU%@5a{13%bA8{uc~9pJYA2h zI=Be~U*JnMd`0oe@C>E|3ja&)jOohos`84m{9Dn3GSTt1K(-C1;aPU!l3bapIj(0q z-cY!GdFl2V56yUTswvI_x%M*O7J)?&TVqxE4WLD4vqIF}2_ijF?%{iNAC5c=Sw(Ak zdR;m!&+ZM%?M_W~ErFxYM7*_;^b=$lBDblzc-!@4RiLZXsMi^G$*RhtW!tKo@#@S8 zbhffpU5Pzs-LxC>{B_l`=Gw1|-?aE%NkNz(WHIPpadT}=I%GcD-VHY7`OlpTi;J|M zSijLdwpl;0jm$XAznla7PZNl!YeFkQn^%_O5NB5rr3DP;9zf)NMC3lAO=z@Y_YrSG z&pkxqAv&5!{=j7syu`5&F^=8P(1T9w#Xj^BvJWrQYXoq31zFBisNpb_tZ=y3d(!`#v@M*&DC)@xt$PoO14}U0t2;m8a9P$icU>8Q1UxYTVau~9} zr^+styN}d88Ug>f?@YDvjcxK}LkTyZ z#JR^cO0TJW?t8?vyZPVH^&Mi-yZK+yRUFAR(d|!Z^qiv-Jtwu%Kd>vU{f@3XFhcc7O{E}*AsuC zQ^$$F(Wm1ie+hmGsFoPAKf$L`A*N`n`0Wz5i?AUfmoln~&km1?5awI%)42O!YHVDa z@KepC#wtuSk;>nJKH5a@wTaBr6U+r$!vv!&hf{c)z%drcB&`UNOy#tnph{~Hk;kkI zjcEzNlpw@o=H8k|gks0e9I~4sgsPLwBlNK>`@8owkya#|*xx-syNS%!@(FSe$~_ZO gi{PxU&@}Z1$wgV0U3dZNBT}L~ndaA{L~SztFK3HcMgRZ+ literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/message/RingMessageWithSendDto$Data.class b/tall/target/classes/com/ccsens/tall/bean/dto/message/RingMessageWithSendDto$Data.class new file mode 100644 index 0000000000000000000000000000000000000000..86adc537018353ec018ccee12191d09a06b971b7 GIT binary patch literal 955 zcmbtST}vB56g{)~*d(sT#?RJPYwJT)=)4GpR(w$k!m7}SK2J8oy0V#tol*Q*Em#VD z=nv?RlHQpOCWd{GmW4Za?!D*CIWzm`;n!~fd)R8BhBr-Av2MeLk4+!%7-~Zu9}gJj z!)tLXcq&xP!%W4W8LCF!8HUb8r)ToS_3HbHO3VR6rMrDWqlei*GPJ`)$26PR5CioKhQ%lC$LneJvYR}TUlMxmmELj zS^ru_^n@S(krA8ptJLWK@#rIsE+d(=*1)WEiUI97t;|+;eu8~>W3v?Nt~iT1%7bD6 zZFFeIuz*F17W~Q4)AY{n4|vn)8HZk`8Ov9oZD!@zLzl2z##4DNkF{fYR n_l=JAFg7z+YUU+gm4GYL;C2bv!^5*kX9oRQ>xDL&gna!$nulKD`Q z^GSS!3zA$^p(n8or36;wvn)v^0Yg47si+DlM|D>h&`P##v}P^caSVsjiYGlhUvAV3 z<+5YgPQleJtFU6|cA?@n3U$MA^r}%fW!lvR|9r-DYfFY*IqEjXq}8H8eA2W{_pm@T zGk%(8XB!nmV9UH|8;kAwiqTruS1d|W^Nq4@oz`2Xa9#8Gl-+ zYxz>0HDgCI&t^+T6*sQ7b&Dw+45#75%4MVM7RS#Ke`9@M!7JvY;ns|nK#wfJnBNRZ zPZltnmt4JkWkGLxwPN?Fs0k#>x;-a-@>tWInqO|#zC@EJPn8zt=#%Go%W&Ejvl**Ip(b{W~Y>n5b0hTRxbaan_fx&|8)8X9P-xT?W{tD!BK zRSh5Gnu_ZhKEbCNKEn-x$!FyB&G1^UbFR*P8 zN;TgcG8iW(U1bAT*Ql*fmZqys_o1D=i_MGqTnD}Ry&Y`H<~!)?`q+Uu?~YI-O`AK> z&oG8CO3Cw{pR8{y@I$M}VXx;qjXWmkOG6(D#3cjdpa&=le9C}h**oaJ&4V9O+!Llk zA;cbrz;zQSAL8u@b>i9F&*<-h^|gCE?IHihLtt?)@6su^Okn3W@5mI+=CVH^rrgT? zj@0*vMQ`PPB`vurd)gz$gw<7G-^gafl}cMcNufTuuCqUKNx7U`WLje+ho3<-!cm zALLVJAtqr<|KSvdldzUTUZq#*U&t*RnE8%+vL8nKij&He7izk%SYx1xzT8cy?1!O? zQ|XNZ^vgdQ1Q=!ck6?y|W7vUNo+3yxl%rmNGOXQ*JYbh93`+=x1R)+U_AVb05*_z; zfbJMg$UaHm$2NBA_SA3(J0!>sMp9{>JJ|VX`}nc@6Oay|MevrFp|{z$Ah;;|GR54> RzosUxOb_!vsfpI~@P989ah?DG literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/message/SyncMessageWithAddDto$Data.class b/tall/target/classes/com/ccsens/tall/bean/dto/message/SyncMessageWithAddDto$Data.class new file mode 100644 index 0000000000000000000000000000000000000000..043251d6af906249ffb70ce868acf7ce5c35d70a GIT binary patch literal 708 zcmbu6&r1S96vw}_nzp8CT2|I2=%5D8B|2mUp#;KKkYVR>chHq}7Iw#=|Eiz}I`jwh zM@4T`Fr-r*_Whdgd-K^hpI`4E0FJPmK@w#f32dgZokoQr6@`Ipdkh6{h4gz9rA zRQ(2>o%+hx=M0Hzt;>*XhMr`|JHC?F<55pWccK?irRapN2)ZKjO+G6o^}vs*sU@^v z$hMV|Q8N&6EU9|txZ#MqZY)*IwFm;30)V6#uf$0m>_H8ZK=zVG|K z?}8urpdO4IIme@4)Z;h5`)Byk?RRG;Chci!j~ox>&VBdYckl1r?X^Gu`OUWgHsiAx zx?n{yhOChB7}{Y+aT_Ltc*|T2c^r!2Fbc9eDZ~;|6jBm0CFFJk;IrWlNK(Y}T=hPRg|kh18gB6;tDGDK%+3jx}MYGDnKpVV^&ccXOAI zkMDF#U1Bs%Gp^+vR#-Q`nNcc?W~Znd-jXlo-K`3tME8Ck-BB9170wvS7wtWj$uYY; zYK;{rX&owMt-^k*oR@VV)ZAR2urHb4(Smr>1|Cyb65Qij$1W?plo&c>Oc9}a_qo}M4`c6+Ba5l^M%w<-f@HVVvN^9BvFY@l}m^0tUEZa&@vkzW5`5} z3;0DOZUL)@CFH9x0|b#`v%zj|YOjS1WJ`|+|w_xwi|tmRtoi7m0M(6x}QntKJqsX5=4 zI4$2&sAA0be$E2MYR=_E*uK4D6QYrQlK+_|dz3vk|wHam)GQgu)8Oz7E-!vXEn$Ql*@=ugJ?p>zH$fZjxgr zda%*JlO~?VGbWzJb0(h03kF^^@iJa9@v1CdGx0j!Fz}{{xA3-!ckr%>_k_HU4@`WB zk4#*Ns}$0wG0shVEEad+3KJWUFwu>q!bShhqKRv<+r;JA&WM{Bl*JD0G_fBC6jsiT z*!D`k;LWwpIYX6@oDZ1z1fL2y%JSQ|Mp7}rM0K0E8Mi2;{uSxWiMW_(%{RQ> zm+&jqz%hkH0}5}V9Up&;)+dvv!#b3O9%ZnGMutwP1#dz-@Y#O}s^^q%!#Ska8^ zH*~AFD{(LhWMBQ^jdGa@9@@o>%K57#U9&z?e{O3K>hG;6iO-SX(G6QuQ*^J;+laQ7 zw}uP&qM&&g&>8x*$-01k=K}f1TK=Bd#ou+C_>c3z<2VxdjX}xSBJJhsW`xKA>yuwY zCBH<|352T9$mu5#uEI#3MC2r*Rm8sVjBFxphfcZ@8djkhancT~Lnl&{n!Y*o;XJOy z)n-BvS3mJ<@Y_dMOOicRn8}S*EKT-S(VUFyRh)4OE!TgIW&PoJIIdOEnv4^{a`792 z_&pa<(zEFIY;tSpdo7mJbDURQhjTddHV{L?!*P}GE5JdoxDXe4*!plWE+H0?U5b9% z7B0l9G`+$Kkfwhuh{n%t;>{?k5(xO*q-}6;{-<%{qM^2|sC$1qE#t7}NLDY!+j%EXyKhSPqls^&m z2UhuPlz$P)n;AslQhp^Px?El0HF@RR2+vPQtrnr}I{kcl2wr5!Zs9h=h<^tLF~QX5VTMnh@LJI$TemI$Puha!s5O zeYlZ$LRil>zlogYg<&_ezohRO2Bmm)DD@YW>gy&Ev_Y>a)O56&BC63JAO7H`BlIcF zlQ@OdoB(IGo>j%!a^Wi0w668}4&m34uVVe|7V(SRZ_-3?uO=MyB7ZB#2H4IT|2}W$ bkci@Zrv3tc$M6K6+7{MeZSlVW@3QqV literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/message/SyncMessageWithChangeBeginTimeDto$Data.class b/tall/target/classes/com/ccsens/tall/bean/dto/message/SyncMessageWithChangeBeginTimeDto$Data.class new file mode 100644 index 0000000000000000000000000000000000000000..ea820087666797e0ac834d4de9d4a47ad0fcc266 GIT binary patch literal 1133 zcmb_aO>fgc5Pj<;b{$NUrck~=3T>4ZiM?tC2XMUuU)Qr-prsDI|r1phCqrZJ1&>ZArs&>NE=ru7?fv|ui1o{qXR!5Gy^ne50WKj3;9)6%&!LSa51Rt7{?kC{ zcF!*NZFHn#E3o_T%8+C}PXSLQAnNS4G&SOS_P6N_JC4#ryq= zcg5Q``N9WuFfcOX=og*wi~qo1qT+LQH%;1cXdQ6cIq!LI=RD{7ZhrgwhaUlK#McR| zz>zqP;+T*}5@^JuaU92ELcHmT1Wv+8U=Uf^9TIXxh$-ZhkYNoY3DnAREi56Yg`APS zT%2T7gDsQ1kg){Lq9DZ4;3lvbM`9?-I4bvto1+d@h`1v6_}<7R>G z4fIriQ%@nEGX+D`HJmfT#0Sg4RZyHaPL9{Pv2x6Mr?_F;Z6V#x6pHs-!?xiT3rv&W z|JRV+F4n05n{F-<*M?2kFUEb%Ez|pI#)YRjWx3tWcTB7Rj+$qSMvi&YP#ufjK}p+8 z%Q2=$Udp+W+`*PYB=3$$^2VjCSNXjr;jIOe+5N7OJ=0^1dG*icrr~LYSk|z2iB7U3 zhBM-~5cZQUiagNQ)w7E_$wv#OQ_Q(s48+CUe7{?;>|urZ^lb%^zsl4~^yiC(thw8g z7PMws->w%CI@Y3D!!tUb!}B^`z>7Lw!pj<7(eWBy*YSo--qi6H-q!Grj(2fE$9s5R z#|J__#78*@Ovptc528cIYOGP{xP28mdazT+1K7c6=;)Nme)K9V znCj4uqLuTy)7oi0*(}j-*YP>N5b`A>*rHUAYXR3y; z6q>7KdY$pGIoO%E9oMkk^8FJ7YekorSztVNN9q@)ENzjvKk6*?UT1Ui04S;`JVC?u%C_M)s>p+uIeN z=-fY0c}(M+_6LvWju|w>$vIYzxO_Kc%F_EPPiPr}7iaJBmqVhnFL+3W9|+!3fj052 z#J**WjS-nbTeTtO@K)L8F9lUbUr#z;Zos!VzxWnug5~^#T)~f5g^;ukaxwC3b)+qv z9Y+m0U}fqWRO&l~uA-)dFuBN8L`%?8*AcspcnOJbc`Sq!X(J*Y4Pyc3U?KmKRI&)I zT-AMXScf*wMAZh~5>l`!W9YL8w+-BvBBCBr4mM zo&zz=OC_}u=8OIsPk#yt@=FlLU5H~TF)YJ8B51-&{;lGf)wr9+ZlZR<)aUCBFcATF z@9}VM#=ZQm4+$#Vhx;jCxJ}#*d)#JnV(VsXAs3~FCTyi-4H>Tbw#vsJP$1o$ziq`X?q# zi+WKOrR?Z|oGUydMs&8OzCk2>x%Fo>UPPqka_diM>{*v8VSzU#vv5B{vT$p-?N`i7 zhJV4_OVHaSB1!K=_%g-#F{lQy(HB1fq7%EYo5~xo9($MvA;x4W9^#tZO`?lj7<(zJ z0Z}dXC+29__ZJ#9bn`#P-xKmU1?abM6fZ;sw&?eBuv)+Ggt7~Hlv+i9MG}SLD;VuDL!qWO>S%Z2~| literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/message/SyncMessageWithChangeDurationDto$Data.class b/tall/target/classes/com/ccsens/tall/bean/dto/message/SyncMessageWithChangeDurationDto$Data.class new file mode 100644 index 0000000000000000000000000000000000000000..651e8a1d4fffeeb175179fe8e847e2e4da75834c GIT binary patch literal 1126 zcmb_aU279T6g{&^c9V2%(p2mBN41r-g7e~&iXaKa!m40PeV%NFWb0-Ib|-@WNxF-U&{@#f|ePG90pc5rVznITP zIy+XQlq$W*#wtBgS;G6GSa;JTC(uwiB@iAOqq9M(@?2B(SrprujN@FJTsoDea-@}! zV`t?|=ee3_dGyZ2&zI}hiJK0lBvua#Z9`{wn3#mOa_wFfzBc=1W2~Dyjth5dwEjs# zCzBPn*WW9Hmkqz5)VzYWkL)~)^+Cb|*!`Q>`#kRuYY0OGXohHUXrmcmSK#3P41?}< zb*(Q)r#f~5Pyd-4+w_KfdR;a8NIXTb{zWDWlmiI%M)4f&BxOOlvHuz311&tPQ}h?b zb#!RWt<-=nHYp37#|4TEen{OOWq<$PCwOIaxIk|$I|?*2vn>AURy9xUtUPRsc`jD- z)X&PpV_}|4xJ>cSp?rk*o(%pzluqSPu2h0+WpK9=e6FM~HKz#gtG^j$}fa+?e^ Ja2p$F{Q!2H%k2OF literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/message/SyncMessageWithChangeDurationDto.class b/tall/target/classes/com/ccsens/tall/bean/dto/message/SyncMessageWithChangeDurationDto.class new file mode 100644 index 0000000000000000000000000000000000000000..a4dc6893e5c7e67dbac03676c5aec994caebc8a9 GIT binary patch literal 3793 zcmcInYjYE26n-{MvPoDZCG~7(Q~=fkfB?tVJDv&Gi+NQF;WAQR<_UMkC@JAW>mLEjGe`T z?wEONr;}eR^3w{!ou*|v+Z5C!S`Je|CO>Q_SkP-)#{S~ikWm=ahjLu0@6BiR++n?7 z%G_TJI-@30W#$eit>P&K^L)gIY@?vyLZbJKKB1>_gr4fnTO;Y&_3Y4X!xth(R>@0y z!itWWOZA$zNeI@IvRDfNo;~MF-3gOLvL|Cdu#r zYsBV?b!NO~n@hme5ySB+ac`n!c3<6Y)v0z_?7qaEk}7b+#<`-NW70HKN8-Scn$;%VkxR=0MEPO_uA zJ?ga&_L3foJlNmUw~IQ-hYN;X%sE{2#YLR_fKxE75e19s*$N_Wm5CJ_$QKJ)W49^o zXWeX`-6#??+>L~aXEZ#A=QX^57d5PUG@8W`n_wc@k z4}^S(k2HLYPZaFFGYwY5ry}<=As2;g#|{nauwKFTIcw0+hn*T8L^ngBAtRIhIG|w3 zOmFTenmM;Gt)I<}35k4{hR^YZkS`g%77c?qq#!jb;OWg*LHa-5sBYKndlf6ZELHK9 zf<%=}w!|YUz@+UMV+s~# zi-iIK44Pv`pP9?aqs|)MtDv?L1bKnk5GV9p(Kv8g!J@?8>bi9wXzq(sC`R_Hs@mNZ zmuTESSb0RFoDTSpX7_Eh!s#hi4!C?Tq|4I#D^F(`f*WS{(U(J_v)_L}g&*|a(0Sy` zUr6j&`uI43DQK&hb+o@_^vb6*)xuJyl$+i+|Z(zZ(YpCl`<7zxu!a@$A z66!e+!=hwdEn%_fuW|J!5hK3>LEMEXnu%d077;-c*6?pF&#c2eGdqc^qXt?4Y5C?|c#l=+)3r#tU9p1m(L2&{toNWCb4Hfr$w`1<@M(@Ow zX<;|YqLl62mve<@#E495@*9MLms@{E<3)sOF1P-K#=Z^75|+4AGE4U}BuhJjZNFk( zJopP1UV_#p5sAAef|n`Ai$OJr&7Sxv5E<;kZYpoUMm)qk2rwqi*uyos8%GbhAofyL z1Hx+LPt>Z|_ZJ#f^zuK#UlH;$`RKQD6fcAXw&?eAuv)+8gt7~Hlv+i literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/message/SyncMessageWithMoveDto$Data.class b/tall/target/classes/com/ccsens/tall/bean/dto/message/SyncMessageWithMoveDto$Data.class new file mode 100644 index 0000000000000000000000000000000000000000..ad4b65027db3384a6847a946a1404a2c0751026f GIT binary patch literal 1080 zcmbtST~E|N6g|`3ZRuLsWl{XVFBHgviSuG&qJ$TS2}w~S1fOTSlcm_5G3~I4|4I{$ zi4Xn&f0XgwQbn6S5Pj&mcV_N6z30w+|MB%3fX7(x!pEHu9o%KO$FLIML4Z{OKew6Q z8w>Q~6E#yZQ)VJ#YbMX=%&FonpZV`{Ju8!~)TC}(pf%h$5@_$(u@>mXsnIV^rz4#o zs!>KegV-i2J5qVd>uR&@j?;ojyUHnnXwMj(?_{bdH0^H3iJi(MDYPl1Q&}cQS{XTZ zR!((MsEL*b?@h9QmcL2e@xGnuU1wKWj+zY%?Os=27Ke2++$~oeR*pD-RhbGW=gh%y zqfR9v75pYr{)^Z>u%~&VpQmhjxw*YZJkovX`S1 zoj8Ff|EP!+dKEssmll20C?UAlGE%z~0|@p(c$rp`qM+E>`~vZj5)bo)ez`f19_3t0 z1?XduqQDhgC1mnbs`e=Qn-4$3tFxn$y>wPlv00hh;-4-x>$EPa!?sxGTC-03qB=Yl z*13)wgntj^6TA;(@Xw+28i#VTk=&}2`;Fw~MsmAOUT7eDxK;Ld8v}}6GSI<&EFk;| D_8z$R literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/message/SyncMessageWithMoveDto.class b/tall/target/classes/com/ccsens/tall/bean/dto/message/SyncMessageWithMoveDto.class new file mode 100644 index 0000000000000000000000000000000000000000..d7ad7005bb77b71af5d97191f385a9d51ed1730e GIT binary patch literal 3699 zcmcInYf~F#6n-{rvPrrHN=w=lD!nR%(p0UM5bhj3*YCzQ?dkPl%XSCNJR%%iF1R zyf0lsd}Z_I;*`)-E_>Qc+Pz~6s^_Dl3+enZf!?tsq|}o$lV)n#%+aTwo)U2C z$z{`~UBQ!HrjMBh7AG9wCW+#&-G@KgG7$*rLC1@DNyp20MZ>E)UdJ0c-jvB(I^M=R8s63M9?t7{A0O!WP{>F4 zSjQ*$R6+Yvnx&4H@AH%Nc_heVa*+#}L-aj$Irp1@e>)+l~6^j+b%ByEV3Cu136qA*r%1dE3@uVbOO>?Tq z+m|xib}L{7)`^~JGsCQ}DMBt^ROP8vu>F>Rmo5^1kO)1=W!@Z~v21fv!HQ%)m!sN| z)TG&;N~h%sW<~B-P+4-lyqs)h(?&XP4xCc3vT=WT6*>g;!7 zVJT=Sx1t!(GQ->@ubAlQIp>RQbb<4A3nT_M@SEL6ey3F6leR!ENS?imw28Chs2~Sy zid}^g`yRe4s3<@s=f8qL0b1-Dg4Yl#Ap9MV`4A(G!0%8Mt5JzH{6wi_EtY2lpv#F~FVZOQ%a?XYt@;+~i_E#O31l(KPq zaxU|X7}4Dv`xbunQu8l}T!6pgQuEJ<^lyz7u-ciDS#y9PS<|Mr{Dx&w^;fL82)#uj z5_L|fmng=KK{<#WuJ~CH-RQwSDzC*hJjguoF(wUoh--2;ie7Rm_ET0Z0$T7dRBCwm zZ$vco@h`}4{PG5Q=y!1xFZczv=y!9lT)*ptq6>MHT1CGi50@wAJnu$oSYKLQL zeRX1jh6byfFG6D$u07dNe{%z4?p4pg3MRoI9-&}AlYWStj|o|eVaGr*YZH7oSQ{$M zQWTm5MY%!SOLLzh==cB=QJ+&SmYIdk{+?&dduFIcXjg82w#yyNgb#D@@z0@cFidcQ5u zNY2!ylDRS+nOM`=pfj)BIiFQGGn4r(fl_njRG_?L+ghNWWJVue^jf+&QLUURQ;AJg zeyWO$_rqe@cQZ$%UFDTPyl;#yc5>yMrs{T*+MY~Pr;U?d<+*HWWn|l1+0)Lcj+V#Y zO?oiMzh%CAqz~++-u3n)Hzbvj)Bb2^V!Ao%g7q@uWN0PoJff$XE2D4%6W{?{JGK`^ zs`oNBx9~S1pZVcpM5x86B8>3@VTdJxt^e~zGkF}z*VdU%y};VDdt#a9UZI~MppSG? z1WTn@0r^Ia;sos^t%9qozaXwD2@q4P_KTBvNqIZ~U=purM}x;SMJBHkx_`myr=JK$ z*>RseJCrbBb7z*rm%bj~r}VFV*beuZ!7Rl;&HO-cMFO9isgE`DW-PfhN^XoH2bk+$ P@fHnQ`9aHAKpoLN6ep|# literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/message/SyncMessageWithReMoveDto.class b/tall/target/classes/com/ccsens/tall/bean/dto/message/SyncMessageWithReMoveDto.class new file mode 100644 index 0000000000000000000000000000000000000000..128b6f85a83eca3a0dfde469f9a81eaf180ba62a GIT binary patch literal 3633 zcmcIn>sJ$35dUpRvPoP4!GKYewpts45N+*40+fQ-VnHlHsJ2#@utGE>nBCCQr+vR$ z`)=*``o#~n$3{;*r;jh~Y5%6S_BXp55;zs8oF2&BxpVKG`OVy!xyc`Y|L`M#z4$tW z+c6fzI35>rG=wmY1@Q!)6k<=0hwv0mgm4nNtWF3S6Os}#Da255Dufyl*I-J>w20F| zlG7^A$Rs0VCWI_x}_`72C`Wr-4+4!WDi_aLQsZSa4E;<>6n+{OU&Z`v={km&xZ1fUbluF3U@|?G)vZFF8SvBpdM#_ky7ZEk&gE9s zDZ_HgsW;lPa%@&A9n~zU>x-^co51rMXA63UnGmjw^zeivVxr|3FFz-BSWZ`WNr5kC zO-nikr5<-Uy&+`F+{yZ+rKipe>9cm>vKgtER}e_)*?zG}c3L;5o!Vz37@*3-BLhSI zv`OBdH_SrDqR>?ruyRQ&pUzGx*vLqh5jj#OPAHix5Sb^w%sgJQMuGE z4PW3(Az$%gS~QFxsUW^0z{M?y{rW$isBEX~Q)To{0;;&6AX=f*ZeiobL|-mzT6)$h zoj)`KMRaV17?nzxbmKGI~yDpX1z8bIs>qP&Y zk!9l7l^|CN{UgQD+<+Kl~8D0KU{w7f}AGZ$E{}- zU2Sn{l`dM|@kB}cNco8?L9nmaevD<4*c@>mI^jp%x6ZH6&Jv1(wo2rsYpig_5xGUg z;4a!<>YvN(-?B_P@S9 zr+-Z}zny0;L^V#-D?#ja)GvVOLm&3jco^;I=aoyA zHRAwfRRkTu!{ofY3rQEh8u$~{DhB>SgNlRv5AZ9yJTor(eH zso2NgG>6G~AU}d0vmF$-w!?FSCE%r7ib9v5C^zVPdG1jJ9p5?^-2tkQJZZX)&CK~N zbxlQV6_7=2t7|4-#BEE{$4LMu2b)}I9*o)%Izk9w{(Je8EzB{9HdaJC$8kK1=X)aj L5%?@#>xujW>a>!3 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/message/SyncMessageWithStartDto$Data.class b/tall/target/classes/com/ccsens/tall/bean/dto/message/SyncMessageWithStartDto$Data.class new file mode 100644 index 0000000000000000000000000000000000000000..882938dc06ee0bb33b2fa4ff58069f79c07b1e16 GIT binary patch literal 1476 zcmbu7+iuf95QhKF$#G(u6O>aq6bd9M)Ld|ZI7&1iRZ2l3QMukYtJKA@C3}O!TY&^Z z;(`a@p%61pAi-Ls2re=+JDLCU%ZMxW%T;ro*PoX4k?U3wr{k zI11FkSfJiNk?*7%$Z+EJqj2(2pgK|$KOD;BEf?4-9RG?7+Mg7WA>7kf9{r*W1}0_Sj^EQ=pdb&jjMyPuKEs-0B5Ij>l#napkSM=zK;`E@xwCUY*DIfZpO zye8&snK{LEIlN}(TrzV?>vH&-m~$Cd$Tn!d%S-x%+y_dmUQ*3?Nmq^Hd{$gHinop8 pLRQ=`imw^P#jLn#6kj)rOIdNtAkJYY-OLSalIIm#xQ#Qge*$i?Y>$ne_MD#fOM6cLO#eW)=gv$>psgFH=WydMq;aQWaA1c#4(F|h1{p&SR5;{FN*tReL%>AQ9LB;!zvz85Za-;x&m#$vJAU7 zr#p_}@N~jE-8PubPp7k4$FQ8VtLJj*aYMJ#6K*~|Z8(lTX{1MwS=k|<-)p*4qpohd zJKX#_5t~sE*w*^;tcg)2+$$VBVU{oL_v8?ihg(v8_U0#urv_ z&0KoWblhNHA$*~-i`4BcI zVbo*ibB18388;?PYfN{J$Sy|hB|hYu(~M?xqG0Q;nYR=uywNm2xW{Hn0Ulo9y)BC} zU@P-2Hfl~8qFpi7eOQNWghU?e!P09B2`|>=st2!lVJ;_B16L1mZ zXhF|0wHhnqGCVGsooT;|sgjpIP_B>QlY(&Gos#^HNk3TUx2Cvv7HlqK+sPgo(r3KJ z!Ct81F=k;_xB5gU*(u$b@_P>((Evs69vK+wqfYV>+i(gwmxqD4sGA>kZPS`mu#A2z zBl1s~X7SN{!Oj}}ru44X|M25Rd8nZsDHTs>cnVKzcm~gEcn;62ctOKUcv-_MvN^8d zRlKI+bq#OeO$~41Z4K`Tc^4-%yodK$-HYnQ8a@zl9}4+M$j3tZ(63=Vk_v9PROuRS z!z~(mv4c+6aIHUE*_BRgHU`PbpkeI9>Rar;p zl)xkl&oFB#s~8e6>Pd7>q+gJWl4olp?ci=ds>uOusWVVg-=OL=s*4Db3!g@$2sL#U(X)sZ z5&xRks<45y31QL}gpfcjmXlk7wP-~rPc>g0HX_ZPsM^d|RHa0@#(CCHRW+%OBDB>h3&)`mR_amIxKGgiE-H1}?;~l#5!#GA_{~8dC|PX%aNm9-7V639KfX zHHZ;ME!waYR}jyY_wR54jsVUTCl^j`u){ftcfbCvjd?pV<=X z_DpT9&rH$KXnn_5P?@i-2fJJU-N2OpG%&E5X)uP{DLBkB*+WiBpb>jL1I4U1RQ-i! zglLwc&?G3zU$nivuTlgZXK8@0pCTkrTEE9imdxc1tBP1HAd6Vju$FugZ41-KPXNC% tTLWlSxXbg<-K-L@YC`$;&%wai)6^2Yt`DY!58TU@y3m%Hd=WZPN z`wZEGAPV#$L#n#fVo2BHj$|mgK_t)ny|zrQMLVQQ*^NCBwnP$`d{j*9ZlI{CA+%s{ z&Z0;r^-w4!se0^sagTeRl9A$CgduNB5%G?Wc~2@Oe93Q=Oq#>^HqhNup)RH9G<3Xa zCK6p&s8Vk4R7B65|pc3lL`j=D()wqJPFJl)_*;3$Lz&H4tWO|WOG<$IQl0( zt$V!fi}s!LG{fHChhl@CG)+&;=p#t7DT;}iY=JUPe(e}`*tjTVB&|MiSM%`wz!7zuGF*lkshIoSYKm)%+6n}uQFh5W& OV4A#5V^UZ`5rt1kbexO; literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/message/UserMessageWithHasReadDto.class b/tall/target/classes/com/ccsens/tall/bean/dto/message/UserMessageWithHasReadDto.class new file mode 100644 index 0000000000000000000000000000000000000000..be58b66ae2342b6a76635ec1c6bf8bb2ab3f63c8 GIT binary patch literal 3119 zcmbtXZF3V<6n<{9$tGbbrKN>HX;rGGDJ7`**0fNX7AZCbX#qhIw&~Ia(xhZJReXPc z*YUGIK)&z+9Sn@jIQm6r{7ou8XLs9dJ3`UUv}f-<_nvc}^SYZq{{HD_0Q>M&0$s?* zF@d8(jwR5F7veaMNg?ibDuEL?nZPN$D5s}|c9p`0Z z3YkuzfEgi{jtdEFLq3LCdCmzb#&A)dmvodAv=P%W6^yZR*{bGBrfpj`xic>J;CP`j zpD7ek<5V*9mTjA}R_26lRrB8ZRMD9`Y}&^yb7sV;bc^DwLUf>5 zE;{=a!l|B<)SRo#SPGlQi)Cw~Ha~4ur_AXRIW6Orf>}CgR*SOtnVK_KB%FbD;K=Hj zSJ>cV6u1iKQ{xxSMKe<}%d?sBN_jTBwt->OwtOYxT|i%UwKDNDzEG`Pvs>Q-y1k@tB(-jJ5|pTQxn`D_(6(R# zj!sLUvOQ<$MMVmsksJSrZdRN*30GVSqT8#^gv;|c8z&vJa4BytxRt|p&{0;170mLe z*yM7~wCB9yVBI$E{tTFD{PR~K_ClTNi*o>kbwST+!OT-J4BvQn!S ztV2a9-p;$ma*v1_=*Gi377SEj8*orFu!vW6yk_8aykX!?*}P@oZM>u7T?6moeFGoh zLjxZP`52!l99U;B8u(OnJ%y(YJcL~e{r_K~fnhvraG*WOFdKMAHaUzaY+W6x;aaie z7JAoRLzI$q4jT9jp9}edDd{mVh9e4@H6gBSONH!zln6F5JGBAdD?J@wDx?BBYfiD0 zIb}`fDrMU-%g&Pgxv47)ECj=!3;tH~=1n@-J@?eW!ip@gQr&^r0JB_m(vqH~6)ohS zOONfjAFu-J+~}fJX34iKK@Ku?e~>Hey)WzyS$Ys7NMCs%pp#c@$Koj7T&Pv6v^-Uu zxAMhONd`PSlG$!*I4nb%18vbP)vTiz6k1b9f?ep&Y@SOrs7B5MJ?frHEDW9>Ys}#| zx0C+d9lDQ+wz9UCGA*uVMZ36}_oi>uTv(uDg}xw;rK|*?c`Uyv7^)Tbmj>ZI?(euq zcJUxz{$2dePzXtfa~0#7qlfen?#?326|gIP6Ds`!LN^euL*puP1JOG4^ex10Aznw~ zdtM9SQPOrqNL!#$c@wtq!=a7J+mRyI@YJCPY3{^SpKt1GN{d`KO>Ic`)?uV~*Rk<7 znoi%urhYA{_0`dwPHJ^*ZrJLCPMIWaZATnCXm2OBqLZ|X?mXby+~?`_ZPEhvAmifb z#$G%|yTW^%yf9@q;t5J>Jm;+PvB_--LnM6zE!Vm59F4ln=73|7Wyd%)ec^uI78B8Q z?~iC{K=-6$u5`P1V;N%9&4w7|p!D@z=N$=9t~dQ1BHFdyU(xz4BH?Sjzo0e0J6*>X zcgscF1Vh)>ul4*_j{@uZ}C+a&GMh8Z5h>9aD zp69p)0V6 z>*#3N$#or_tINmp-Rp}EA6f{{yAc{^gMy`?v94QL&2jWH1H1X0Kn0hFlKcr!!Ih!p EKdyG|LjV8( literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/message/UserMessageWithUserDto$Data.class b/tall/target/classes/com/ccsens/tall/bean/dto/message/UserMessageWithUserDto$Data.class new file mode 100644 index 0000000000000000000000000000000000000000..14b1fc59bdc650a315772fb9c50f8c17b27a2849 GIT binary patch literal 896 zcmbtSO;6iE5Pj=>xK3S?QlKB{7ZQg+rS1g@38GvQRjQP>ha~j8F)Op+tR?TJf`8RY zAS4d`0sT>kStk;Z_)xV6&(4hAn|*J`e{QaS1K7o84Hdi!P)5^**FN6*c*jtkYIQ2l z8CLrz;)mdg&@ms_OzHT5p={-uB~V*wWjhR|*7hNFyXlc+sP~nYU#F9?%!Xo|P-nHD zMj|;BnR4~KS+>W@5UD4uURdX`~1z zlVSz*fT&S?Ocke-x$e#t*e^;vgcPfJa|KT*4`%?Z;3-wKa6F^v$oquOFWC8T32%`d z=Io8Rgc;jSc5>XMYsGU)e>=z7adXzOLGhuP3wS?C;C(aoLNm_`$)!bdqk!z;MSjIg OH0X2>TE-jH5!?bXSgOnb literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/dto/message/UserMessageWithUserDto.class b/tall/target/classes/com/ccsens/tall/bean/dto/message/UserMessageWithUserDto.class new file mode 100644 index 0000000000000000000000000000000000000000..5d0a40baa79a5324c4fdc8d27ec2794bd4c71765 GIT binary patch literal 3612 zcmcIn`*Raj6#h0%vPoFl(vp@ypel%IN*hoVY1&#SMT;#(S}33h+jMCc(xfDt3gQ#- z{ld5M2gon{fDQ&mW*i-7bo6gh@jJU4vV~4TI!@ZN_ny7?JKuTSbCW;+`SB+Jn{gq6 z`!N>A0UQ)@D1s=S4dXc+7GY1HkKhQ7MxbL{-eyFMiI@;!h&ZNVGJ-l$*I`P8DeB{4 ziW4fbGMN^Uiy)5~5hqm?B3OyB5Q_4&M3h39mFEj8PATy3&@EkoHjv91g}$s_EE+{> zCv0ucU?xAE%4CX0u9&j)Y&JD+=(*H{l}}9@#iBlGr1lk!!jLl_Gp#9^?y&Of1U0Q7 z*k$HSt4BdiqIExE`|=Zpg1SL7XY4Lbj~j(ieLPD|!(cw6XZPy`Q|7MHZ%vuxvh`j` zq*a_&u*792%oLnU3?A2K^;A~RO{NC(xykgM(YNbG!vzu7Ja}mbtYn$l)Sy|k+_?=t zViin*ubOi;5{U3jA%EP+SOXIZ>OD(rMhqJRJ|T3w7sZZt3P#2-XN>~m=-R20Wj-w9 zlqJ!>jU+jga^?wx0aVDbX>NW_&s1_Wd`kqn7Dc#+B@-SoCv&=0DzGem{a>@SSgyB6 z?RJeMTb(p4=als(TJId6g-?`PtblDxEDlSk1&xy>JahS#t~!|OP!;tkQfso^b|yshCKysP3p4e#Rv4Ikno4Ihg*k54pwiq8~uEv7wc z_#9_7d?BJ2+cd1hg9^6XBcz5w^l9k96O6Nl?J^m{ZUxP^hH87s%-YQ*K7Wi7lFV)m zU*anfUo#=C8b&axAazG_b9<$N^ncvp?XGNDRqjsVsrW`g!h>mdvoT}5FP|$~dd{ls zKQhW5#cR!N*6!5rTmnh&!C4T2{U|WQIwh1GJO^~nS@AUWj=SL{436~A8ae5^6?R_b z#=9a{-9d^WQgb0a5gR#Ow2Wy5%QB@xf%ZntX=BLDX5~)hf!n2^wi;f!cN7JWqM+T&yOKMPD~`%NA`I=E^_9N3!1`4S)BwK(M)?mY z@X2B4D8wHj1Sev{GCHXykS5Q-ipQFGP1j|s9*ATjfa2b*BxXg!E$|eLT zqwsT7i)O6g=K;i!q*im_(1s11iK!HKiK##MRQcRQQ%jO*8GI8p%yxTk=~3{FmB(LG%IwHJ93cMs#RHvWzBs%0csPM!&h!-~Kz6#QeWu z*+ppW68shR3jZa-I8pbK*zCaHB+-W*=%?{0I6-7`D z{e@Z;yZ%O#il_M(;`c$hL|pb;`IIOGgtpjs%FS!v2|^`=TuQ5AUy+-~g*nfClF63( zbeF%|b~Rp~o}#0n`nHQuS#YtV-SPPyOgdX#2Wwac!`MUM0Drzb!;ug2duOlhpt!Xb zz8gFOe!8V7bP0-bgT7biK1JB^E_2!KB!tvS{5n>$=2tbu%UCTW%UILU!f_e*-C90Q t0XQ`ncd7ZX&yLW3QUL4U&tGRzKEr6|iRj?-0M6j$-WY%Hox!=@*uQU?jbs1- literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProLog.class b/tall/target/classes/com/ccsens/tall/bean/po/ProLog.class new file mode 100644 index 0000000000000000000000000000000000000000..584e54134e851b099ec9f13fba0e66a0bf0725e0 GIT binary patch literal 3315 zcmaJ?YjYE26n-{sl1;j8X(=EVAt-7ufq*g!LaVeDDTZq=fPk<~mUi3R$Zk+jyx|=$ zpZx`VaK_OA%8btV)fs=3`kZ~Y$!2FmKAf}Xyyv{{^PcmZH~;+m$6o*r;-@s8!?hH4 zIqH8?yHxV2x#xT6*~ z4u{tSQa@AY+UnfT_;ycHV!YxfWlepF&+A0{p?)vCKySJ2SZ`I1?PL0Muw6rK(3=hG zn-P2>)!_bQ!NHGuMp&b!T3PT`aN19 za;$7L-{Oko1Wm4d{~{y! z)tAi#MwO0KHlqfU-$pjmoK0mmXHl8WaipnTHSjJtfjgf*Bb?mUUC%78SOw1gkms_i zxmjE`=U)}RY(N~Xi1+}K7}&&e+Jw+`{+dYLk7mun^Kv?;Gw!mQP- z3P*Ks6px=m0DYOISI-CEk{Jy%Jfet`~83N=j9H$JoCLRWIFcQeyIN>L^wI&`0a)>|i|UF5dpFg2_zi`G8YNtLNt(c7|2BexzquOJY)joVkE75 z!a%M>0=X1T>z*)>>jYwU03t7`0O6k;CFe`qxL2rI+bPauL=wHKz3uA)= zN)1xczi|yibZ!!hFXb9G)7qk}E@eHVtZrp(RaRVC+mw}{V%~OT>1u6H~6=(gzZ@7MQ#2$tnevWW&2AkNf}jCaF_BvYWNv9 d@c?!F3MWvkhdz&W{DRB4;uY&E_m1Jc{{a+4M)Lpw literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProLogExample$Criteria.class b/tall/target/classes/com/ccsens/tall/bean/po/ProLogExample$Criteria.class new file mode 100644 index 0000000000000000000000000000000000000000..51534e98c1193ef76170965445d2da1cccafef19 GIT binary patch literal 11924 zcmbuF2Y4LC8HQ(NS+eDGle>*^2U|8iH!vV$kR{s)4%yhU08`JpMLzp!;;zP-KK+0(CmeiZyX?`db|-QAh_cXtX8Jb2&z#+Yqh zwarw`e~1T({{o&NJfex1L^KnVi58-jm_ke?+K6dHikME!AZ8M?h}lFtF^8B-%p>L# z3y6ipB4RPIggA{@N}NtCBbE~@h?T@DVl}abID6NiWa;tJwQ;ws`WaW!!baV>EjaXoPZktL20gG7$-i5rO_;wX_P zjuFR+0x?V!TfLE1?}TSscI1os>Q2v0TDxw*GtJ$lobQ>LnS9aj8y!C4m;19v3P@?s zlm@effowU?<1n$gdNg10%#`kOzUm{#GpXKU(JyxwvXzRDoK2a*(r|iku;Ldh>1wu6 zNFVXD#q>xiy}w+_l!kWSk{uo?_^azD==99|Y%zDhA3RviR!1v+rRpxfdb95rJ#%1f z=2-ToY`Tyw4yAXUtooge$Lk*Y)#kWYvzMCfrs5uYars^0 zdDf+FLdLID`j2Ld`^vjdjAje{rRb_rr6+LJxza^Ev)oPITlTZ)!-mT*7^leCZnAeA zYf+mz&plBu`?YVhQ1Hx_wG*gMd&9|sGcj%sjpR^?Tvt_!o1o)*kRQfPbUcAuU@h&{ zVsT?r!?X2crWraBF6)9MXv6NH9l8;!}YwUJF8zm23KwKlRjjcsHzVr^to z8`{WC585bb=89kL&EdqhDPph1OsP2Jz7~Vy35547_EB&tdz~PT>sM#dNo9{UoB#zg z`Q!M~_Xu}9f%{|AIajQmds#!`*bg3G9`bMABg@t!+^HI)&du`7k}ySX z3bsGXJGq{5?$1`Tet$NBu|m_S?(`@rs%L(9Y(0?{uV<~0ttSp`J@NN=^>nhrdLqTC ziPJ7YJ>$7yJ&}lhu+<9ci8PxK)DsDf^{gcY^<+HtXDi2h{AxB|h`)FlscxRFH)F%i z2p_?q?VWS69XJGYiwf<*7?g^5W>rIu+&+9UyS`J(GeZ4r^EB4aW&}a%RwNqE@j-Gg zR)0Y}Oou=M7f$l%v5NC@I$+K^wZ&si`x!XP%7nnZI0&&)uPu0kOy)taviWDEIRFx5JY zdHTW9XnD}zlMkj>vH8$Oo-JiY%}puuD06GdJeqind2Gr&j(EIzLdx7m+)g}^coOks z;wk2-Df2Yq>E;M4y_R^Ld40;ffp{aeyNNfMH>b>7hH!9mG4$sg!va z@osAO5$`eYO_}!*_Y?0YK0ths_z>}7;v+o4M~RQI!9GrWf+zSS@c+82l~^2WbJe3{x;h_CV{zeaqW_y+M!;#3Ei;)g8qBjU%z zPl%rqKO=rl?H9x^sr`!hHMQRmzh#l%5x*z?K>U&T6Y*zieQ@yyLQ+KOKfzmq#o8Sh^F z(PVA`+wg0e?ljF!cbStoPSpyThnYtjGpmaaOL&6KW)l7x)7r6q!zt5rk3B^Tm8Lr! zz18Y?%tU>XPR9cp>YH$%xKq>8vHp~4PO@9<#qnfI_GF!nSAt}>=xn@8B)e5-<0T~7 zQ*<`oUXndkXXCXe*=;%-?@P&^rnB*)4ed03>*1P8k|*2l#tT}Ir|V?A*h4uU=QEP@ zD9-Uo5cQcl9UqfWkHz_{Bs+?8e1#-?w$8@qOS0Q_Hokk3Jx6EbgDKf_bvC}Vl08pn z;}b2}^K~}9?UKDfXJb$h+HRaLOp>EG$6!K`7wKdSLP9wn=Zll{D9$l_5%ncH9Rr_G zkHz_ENp=+H7%@rqQk{*VmSmr}5I|gFDGyuCp;JlajRqn`B3Ej?ukj zuhZF>7D#r7&c=K~ve)ZuOhhDmgU-ebMzYV+*_irB_C}qJIg@0kbv7njq3y=`rX)Fv zb4=0%d9zN&|Ub9FXm+md~r&c-xdvd`DqnBPlwr_RR0fMoB`*;rAK>mZ}NsrvU|n zgnBH_Z%neIILBU%WDn_VZ1PCtY92UM!~2><{9 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProLogExample$Criterion.class b/tall/target/classes/com/ccsens/tall/bean/po/ProLogExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..9154ec52ad2ae1af84e7f8e4c01c48426dfd5c8c GIT binary patch literal 2275 zcmb7E+iu)c6kX@cOgx@jOPdB#AX7q1Ce9?L5H6*qK!=uIhJrLDLcDnh{F>c4s$rd;YkihIXqQD4Nn_*rbLTl99jmB8#p0g_5y#^joiQ&*wsGo zTySj9@z?B5)OY>0!vcj1j<=~sKfcgCuX+)EEQgBmEAbJ-50aU9g}+e(PbE8*u8Lk) z%1@T2=Y~--FGp`~sFRMr>Z!g!Wlcq`fu_mEe3q(wD_A8_JKCvpdfDnGO%$Mfv2a(sIu zuwU#4?O^Tr8_xQMr}n2AsQ4l&O-dM5nc7pM6P;m)OgB9HpGUdIJh@bL!_KfzH8(sq z;#AoU+XJsSX8bju?m5`xSQfVw6bXwG#0GO z5SR3^dnr!vro4z5npffjsAHB^0{3G-#c{A42VcqrAIJpf#=(~}!4F_AgE@b3O!oVk z;6^66Fb@7O6Fi>@o)`yzoC&rv!NxfF(@gL}=2aEP4f`wuoTnCEObmOO`bCmYlhzfO z*1{HqCALts@>|Him-;t_0$uwT$jdKb%B!f!YuGKn(z&N%e9{J#N%x@uvn(Yn@6wq( zWoryrnp=?8B2hIzLFsLjnbCMBW-c&u4%~3F)Y*_<6Z1F3{4FtmN6g=2ulxbC@<+_c zpR@`q&Y!AiBr1qgzXz_d!B3m=+B7HC|4{P0fd>s7H1H5bP!3l8aH9G&t#Wj>Xe~6w z6_f{ll(=U3GYt8QX5SZ|OWBJldof|>yvs@6w+KysqJFCzIcu7H(DqLZ=w@IL-LGWA zZ)C#nWWpb0!gWl`8<>%QY6;76%2Yx!m%nu}C# rWgsA~_b(LX-$QPjDVdp)nJJl>kV!mBNhKbme-%(7vMQd%KA8Ukfhv=B literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProLogExample$GeneratedCriteria.class b/tall/target/classes/com/ccsens/tall/bean/po/ProLogExample$GeneratedCriteria.class new file mode 100644 index 0000000000000000000000000000000000000000..a3748fa0a6450199473836c2b585170758cbce5b GIT binary patch literal 18177 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 AMF0Q* literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProMemberExample$Criteria.class b/tall/target/classes/com/ccsens/tall/bean/po/ProMemberExample$Criteria.class new file mode 100644 index 0000000000000000000000000000000000000000..3c6bde73788f6edee1a76795c9549142226e5b43 GIT binary patch literal 17283 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 I2G*ti2f1eWod5s; literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProMemberExample$Criterion.class b/tall/target/classes/com/ccsens/tall/bean/po/ProMemberExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..1be2d5a611dc6c90ce14a735a383429dbd1f056c GIT binary patch literal 2287 zcmb7EOK;p%6#nkqnRq;}mNp5bK&FI3Ce9>=GCWF4fetNgNej}H2(j}_u7Zo>iEO99 zPv9r;3t+(lB%(@PRDuPIE?BT&!As&Pgai_A2_)d0YvY-?7D_kgK77CPedoL9`r6-D zt^(-btcf}v;&6n+!yJxsIL6@-4#zn>T0sMk8F;)xixV8W22L6{C14JQ{+b)PLtkLu z%0=grV|$LjZug?V_1BLIlrA~mmfHF8>HbAEi0ETARE%GZj~M?f7e+3IuBFD(a3jO|};DR293!H4?RF#r4(st&P44E;xNp z%N!0IZ`BE0UMHKy=mj^VTDyT8sX*6SJLCH*=z2~VD*Dt}84NeXLFH$4BJO|rE>M%CT0H*QtK z4NvSatLla;BfB``g>lCwj=8=Y9T%8tU2oOGs=$$){jrmY*0G)B@)=w2Mb6;GbIzu= zQg_Xhx^d=rm6TIFwX2h3^#3d9hKotEv64z}xD^c4DVIBCDtoib-2FA|!QL8f!oC{z zbC|?b4bvQM=5Py#89vg+X@Q1*F>ygT)u?~R)xRv5Y zq;(mlwYUvoiEWgv;x>wJr~XZ&MA!Z?it-bf@>4YAXV@=4*SV)-e9{J#N%x@uvn(ep zZ_t?{WowOC+S@2tOGMRv7nRpgWk%!mn7PEv65Mce)Y*_<5c8MB{1q{OP0ZimfczG7 z@;l7S@3jgm&Y!AiB`SzhzXz_d#SfhF+B7HC|4{OxfqM+xYv3?NP!3joU!wXftt6c- zTZ?UR8P$;=6|PzS07L$$*$>9&QucDnUQXCKZzsw7Dxt|wG_Q9wtr$oHw%O4 zej*coCKG-k6MiKVe#4CX9kcQeEuj;qOeHi^3C+}iCja`h)TXu~F8BUK*0Yp>FNxZq vy+rlaMgrn`|3q2-HRiUNl9?%)nUa|aSpg4F(gGf&e-%(6vO1o?L74vnQbn3N literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProMemberExample$GeneratedCriteria.class b/tall/target/classes/com/ccsens/tall/bean/po/ProMemberExample$GeneratedCriteria.class new file mode 100644 index 0000000000000000000000000000000000000000..1288ae2bd8a4d4dfee6a048e7e0f129b5458409a GIT binary patch literal 25714 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 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProMemberRole.class b/tall/target/classes/com/ccsens/tall/bean/po/ProMemberRole.class new file mode 100644 index 0000000000000000000000000000000000000000..2cc80cbbc88e76d9db07a6ab7d6b8e81b895fed8 GIT binary patch literal 2505 zcma)8-E!Mh5dP%Ymh31^NJ2^j6w}hyiQO2|(n8Y&8mA>rou9@{LMa7gTQ~}`o#4H-=tx`c$$lrU30)4tV8re?KDRoiNI(l!1mUh>8QzA3iTu*Bgk;%n687n;Vd;Ba#`##Qn`D`-+6_vpQF77) zW70b{2*$N)!)})v4Oh3^lBbzwsjh2QsbiN89DCP)?IAss9+GP59=~@szx40Mq+D@1 zmyg~tvPlXRxj4Zj`G#7C?zn>AO1kNPt7I>SogGvi?yXAxLq7fDp$ix1L`UHaIA&Po z^5IklWrpX%Awxd>GNB8XQ9QfmIfm7eFh9~EVWkEp+`5DdL;Vpqn_a_f>JB+%Yj)RZ z=no8kXe0e!VJfO9ps3`Sh(8a|7}VbwGBZ4){*0 z^i0JT?n}7xzZgdw624@=ex^5Qzvg|DVV7$DrWoG~f-B4wQ*(*Wb0fX?jnvucFje3; zMIkk#-7)n&txY?U);b;CB6eOMW^gdOVZx6zl~OCG)IPC!w1yQ4Z{#cgwE792zJC${{F6A~pF{)yBqq?gh^x3pv3cLNgmd&w3?g}*EG0T6 zI#bIpA^qaJtdLCm#xz|6s&K%&c#kv*tGGdOH27B}evSk$#0KBQ`$6yqy&%D*mJ2VC z2uo*u>mpM0VlKZRyn^x!jo;6xZ^Z(chyuA73*>e@kclXeO9bTd7$7_V2J%5HkYp6d z)mR`O#sf)4fh-e{!WbaT00wdgYb2wiNkxII!~(gC^&og;G^r?%RRVHj3=pOu1KEfL zl8yqo6$|8}cp&L0kUIoqZ440J0S59h?vadkM2-U4hy}8Vau7Vy5jhHElYo@R0O2KM zAoQabn9D4TiU`G}FhzFE~pS|t>DpdXf%QV1{ literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProMemberRoleExample$Criteria.class b/tall/target/classes/com/ccsens/tall/bean/po/ProMemberRoleExample$Criteria.class new file mode 100644 index 0000000000000000000000000000000000000000..1eb67a1fa00fea7ecd2e6f9024b6bdb408cccacc GIT binary patch literal 8246 zcmb`L2Y3`k6vy8}NFW?7G(iwh)DVyZ0TF{}2*uMQAOsYwo7@@>k2|=#Q0%?;-g_4n zY$z)BhP|L*@4a`$_WqmQ+1=x@-w@UB`-OeGzulR)?`CIa)!!>t647vjN~wl!1C|2I zfZKsPfIES^fV+X^z&*gdzzX0#;C|o%U?uP%@DT7Y@CfiI@EGto@C5KA@D%VgunKqv zcoujLcpi8GcoBFBco}#FcokR;yav1utO3>nZvbxsZvk%u?*Q)t?*Z=v9{?W$9|0c& zp8%f%p8=l(UjSbMUjbhO-vHkN-vQqPKL9@hKLI}jzW~1izX87kf0WRlCG?j;#iNty zWPXf6Ez1YYFsP_Hldufx5KpG9n#Q?xR<_oxOL3$uo~bueGt6uf$4;;)KRcN-sC9KV znYZ|iL6KNGZDp%dW-e#(nUV4O%-m>wea=efqIolwiq=_XIyx^Cos!K=vT*;YnUpnt zkvVr>%Ifdlr_!KqW;!v|s-KoO^NqQhOn$7DUuaorgJzb;=a>u3Xv$1CM8_`9Ta|^! z1DgHN&i;q0CwB5jxhXMjMa*eMV?LRR#*?{xW%Hlf-hY4Gyth9Pw{p4K*=BljcKrNC zGgX`M9`2=}`48_RJsD5 z{BD&M+|#}xYHIqt1otITm6vMDew*X?yi-%&ar0Y(KC6cYYDz_&nnE3@m|F)b5K;&K zM>A0e>piQf4pexC{i);r&nBNg6oj-*SPa-_}_=183g5u;GQ<9k1r}`1H-55`K~aip#6dFyMhWLr*6=f6}%o_*v<Y)vP1qKX;XVt z-%#tZgs)eqbvt19r)`6kcc(Z!qvFq-J(Ka~5C*m9OR7>S@2ZkyZibmkChQ5?ES@t@ z%QR-|tqDm?%6dq%sKK~tgeKFJ2<=HTBQy)xi}sGtKES@TUxfAtOrQ>^2NHlq2Slg= zm`%wD%>fRCmICHdIzky>9xxxs0y!WLtr1uNZ6UA-+G5}!TyijQ2yiHH7;rdn1hgZ8 zqv+@e9RnN-?Kt3gIw3+Q0w)0{1E&C|0;fSc9XJEpnZQ}l&IZoGCFcU?0p|l302cxm zLAw~Z1lpy*Wza4MuD~T%0#^Z71J?l80@p#i9=L&SjL=QM&9tP1{xN7ovnIX2xo#ZZjZKD|WgT)m>+Qcvf) zcl06LPHrg`R}5TEMPYWadN}`JB)gTK&A&9sF4nX8Co0(`dN%*ICA+nr&4Yqux6!kC zG?DC5J)4Ii$!@D>^Z4c1QU2?eYa~o=rCv9WdxG3fPv-H`k%M*KK1}!OoJU$w@1Upi z813kRI`0@}dv(r(yJUCLv-zta*=2e*e@-O3v!2c0A<6EdXY&V4vb*Zp{Nghb6aP&Z(_X@MU zI_HUqWcSvyc?Kido9Wp+^^xp8dN$9QB)hMk&66$3?x$z-EKRaE*Ry$gC)r!***q_F zY=52i50kw*=lP@{Z>cBqJk*hcb-q=Y?$tTZU`2gvJ)P&ijvlD<@-W-0bDlIy_5eMb zXWNopp=a|nU9t!2**w3O>_K`qFAOAm8$Fv>6p}qy&*r6wWJmREUc)%Hzs`q*$zGlF z+DDLw>dCxja^zs0ZyTn2b7kH9ALeJ)vp=58TXY-O$ zvPbIKycU)0?e%P4#7g!kJ)2j*lD&hT&C6!VuGF)6z3tfkIv*V-dv(t1bV1%xPv-T# zBM0kzOqlM~IqwXJ`c8T}?W zI6a#;TqJwEp3OTol08As<}Dt{o~UQ@-jHMa>wK3m*{gHjQxfEup3Hkug1oDq%zIdZ tyqliPdtZVaUlOv<sx|L?|-!eX)MC)iewc(wpb@X>p^5+6g}_xLzXQ&X_};UC~+Iw##Wq&k5F1#3e;_BOIjFQG7LM}c@tC=DPt)G zegZ#%UjPdhFhiy@ESO=-k72>0i!KWHJ_*@zHB8Iqz7M@~&$;K_r$3(l`Wt{v+%Zwd zMGluZyv^Y*51gA)kxQB-3|gZ>iKRIDf)DAYZ&f1!(pU?$cbIwcLvH0oc+-Gcog1M zOz=tQs~catd;7jRnE2;LwgV9jk^tfA^dAGa4ufW0#W-T1UoQ2~Y=CNR5 zk;4fNCpk3vNEf#R8v5lN#Gdc)HSz8ShfM>w1up!*<`S44KggtnBU{N82~Z1BVci!Y z!5R7qH0UQ%f#gbQCb?KWQoVYllJ!Vc>yZlABh{`)DxbzW1eWj;#Z$C$XcRP->|Y>$ z(#Kw=SmsUfCzfe$B?r*L3atcQ!C8vaU^xx`D;In&7hISIKh6c8$7&99@y99IPjbQS zTySX`{4^Kb$px3Ez*6Rd?Od=i4KC+`*K)6_GG&;o=75XT(CevTpHaU^@@d|F1k+wS zgs{aSDt7S@#h)|(7Ez+cYM>}*V9HrEgE`S?ug*qE@ftVMG`2;baB<3cT~to8*JGzdWW}hCy`a$b|D`!YY~2 zCKEbnN*l{^O-tBJQf3lbnS@qmK#PBYT53yMk(B#pD(h3qz?VdA&|Rl`t+9Zl-VIcw iGvT(Gk(n8pnUR?(nZyN3D)AQmtAHwz)o~rCVg3V(j*IO8 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProMemberRoleExample$GeneratedCriteria.class b/tall/target/classes/com/ccsens/tall/bean/po/ProMemberRoleExample$GeneratedCriteria.class new file mode 100644 index 0000000000000000000000000000000000000000..abe7069e94a5a9fbd450e671bf040f768e527ee7 GIT binary patch literal 13025 zcmb`Md0Yr8BdbDptkTCnA}yl!NQ}-pXWx zDb$=uIH~#ZNILDLnU)mnY;1`pI~tRA=!`q#6?j$?be1*760uAZQ}M(}YnV#rC)=TYU`s6FEbEe6S4Z07kc3;3(MWtv z1h!-B3rjK^VlZg%Vh8p`GETeChI?~%&!`>*m{uN3uZhHC?XGRdG7VUji9}CX8tL@4 zSFd+6bK~)x&hW%Z1)%|@rH62j;#CEuIgO!6d)8-pP{SsA`s0zr`i51RR4lQ6mW*me zG?{3RWnywoxaSh4nTCzpy5(&fooHs3Ceh%fna0%#p6(%3(`!SKz}kcg43(cLX#Pf8*&8;Pwk4t zS0|a8b*EaAGT!~x?p3w4Qh_)h^MxzZ<)RRBko8DAc#ER1ftCeIhT~HI^AI ze)61@E4i4KUfwD#IjONefdzP4q|s(~NeOG6mF<{1oUR*0#wMQ1dbc zWc-yti@%boP!#&1CfuImMDY}u=}PNWxKb19F;a3Bqihwr_xO2R{vTDCLwQxGlolR= zn&@!^rWq}kZnw<3n12LnXI89jbK6~ZTQ60ZbD*~>)K~3U6)KyxEKo9a*x4$~>D6xh zdw6m(!<0r?p_EpxN_M59&Z3xn;~8msdpb})V}~e7olHY=FK}~HsmK=j78jxzZ7kJhk0GGc)OEgs>~S?;?;aKo_Pyx;5B><4B@qK*$-8X z`_P|uZI@H60L9vCVrk#%FVNXc)B0mFULC7_62c&3fR|DTW-}GV+C%gOI*+Lof=0Zv z$_f0)VG|a}VWU5bp%ll^dMfZMV=Awum2KX`rDSdOw0RNtA2|nixUbCX8L)Gj%s7+s6LdAYGcAEeBOZ1+lZ08N#pkvjEX2h%OSxX9g3aNpn=p(X^cYN9?H-rjF>jlX+Cc;ekCtl`v8^fpi-u5sl4PCDk;7L z(qfXtGIvFbMhg3+EtoB(qCs;cPVpY|Khi#|fwNKE9Tzbhr z2N89^t%Q~xRlZ`Ti%polESMB9X(Q&V^flj_MTnAV1I?W|{ z8C0zzQH_JT1T3aYP0Z1D=9yrg6~MgA#2jO1o(txA0nD$PnETk7Tfw|AfcXs*b6-32 zA}}uwU|w!w*4UYsf_Yg0a~oZO)0Ry|_6Gml$L2G=4&o)^HZZTSFt2nw{5Qe!I&(E$ zNmn5cygqm}uC6g@8)w&cHMCvRZ*AYAZ$qc_?I={Mtiyq|;r;6BWm1nfCG~YwN!PpT zYP{ttsR!b~Wl{ryqP_%ylD8BCe*a$ZHv)fCpYhk33i|*{Vc&+rzTHK8q0jY)>rI#m z7R+71+-<~s$CP^$>%x;P{o#I`+ygGj-XFeeV%FN34}rNOfO&(7S!ZWH3g%-0%o|P2 zdOPzeFrN-!-eh7&++|`OYG-}~=EnidyG_g) zcIGEwej32M$HbgzXMP6e=K;)nP0YirOfIGhE(u`XXJXE>GX&{V)pC}1SDsXy=ts^q;~b$#g%+fDexd%=$eeoUY7 z-KN5xV=inSOJzLHMHlvmhfJ8c7R&*_OfX`0(8K<-nD%}#uP!{_+#k3OCs*&1O#NXe zSWJ(Ym<#O8gTR~;z^)3^>r5F5K;9Fg9`htJfRM<-`g?$1F`$QLA z*dKmq!Ys33+JNys^b}&AGv(g$y6_51e^`%`+h94l^U3QE&zqP>*_m-LI|7(5n3yZ= z%u~Tk1u$PUF<04{o50*0!2FSkx!TS=1I#l6m_If#kG3<<0rT7d=1ZoEU6aq$`@;ob zZnZFj`@_p7ZO7QPeFfSs>bJI6Oa;6a1&pLN_J>PQz?Zt}`cl9@G2vT#!Cwyiwm##3 zYAWnwErop*3j1moU0B#ZGhvRiV6Fw`IwR&)yytnnR(pOpzAk)%r9a$&le^I+nVuhB z1B>YwCgzED=B;4f7QpI02wBzrT_o{ literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProMemberRoleExample.class b/tall/target/classes/com/ccsens/tall/bean/po/ProMemberRoleExample.class new file mode 100644 index 0000000000000000000000000000000000000000..42d05eccd947cfc7aff49d5976bb037cfa47f83e GIT binary patch literal 2316 zcmbtWe{b7V6g@9>n#A?eG|f7?mTs`Y(xj__ts7lRw*J^gwzNeQ4YB`R$0{DKUD*y| zd=x$de}F`p$|ODjp9vw(vz^3E%O5GK^xpH!z2}~L?!8a_>z_aV1aKF-DvD_2u%;q| zMgf=bnOvH3c{qVbSXX)4kf+TYwp6HS$dAW4Jjvl{4xbAYHhnv^eA{ycw3h2y{-$FD zffWeklb?(nS^`r~E&gbPR;PC@aLMyKmcQ|uF5SQqD7Rl3-y6DPxCi=P=-ci=gD@RC z2yNF41;k4R@%%JIDR$|GwxhRcNQc6nec&2l*C%3Y=;yVz=^g5(8CY(hhlbO$`t>H?qe2(-kvTeK8PFH$< zW$Zgq7M^K1FAU$7-^ryCerr>c<&okuXeqG5-P0;vuAY@i5-J^>F|AY=&)N!15Ok}r zs#1L^-Bmjn+%ZLJJsBaU7i7k6- z_Pq97meZo)T`UMpN0Sp(W!?9U*K!s#%;Kts%b3w{1@GkWOv7`uHQdJ?4cpieSh-M& z8a|aVmqu}Be-4IwcmI_o2m0P92)!c9r=~fQ<2g@HaiEu!ibHL5Is&I=D`we{lb{6l zk1PYnqJ{VPC>HsEjzN*y@}x+4qn(07V2i4bOD zs|11e5o^At_z<@eES@PfIaGmRTba^F3B-0sIWE*PW9#@RVX#FoDWFCvl==yB z8GJpQ(=C>^n#xJ*i>u*dd_p9Ncqc*JNf67m-;r;pVCw^pap~*SYKeuvox(0B*jct+ z5BqK(+exq&`q(EZ2>gWNaGbHIqGdK0h?6DDDWc3{B^7I-A8R&=wL(DU@{Wx|If!F$GA*@6{G`~(`iLa?uE9FbH{ x#r&Hn;2{U)5!-w{iV%-UC5e#1Dv>gbKE?ei$7+)5mFOk^qbYNr=3Y^>e*t@q-kJaa literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProRole.class b/tall/target/classes/com/ccsens/tall/bean/po/ProRole.class new file mode 100644 index 0000000000000000000000000000000000000000..2d0bf65fbb8697d48b4e52b52eadeec38ec1f9a8 GIT binary patch literal 3443 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 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProRoleExample$GeneratedCriteria.class b/tall/target/classes/com/ccsens/tall/bean/po/ProRoleExample$GeneratedCriteria.class new file mode 100644 index 0000000000000000000000000000000000000000..33f44442760b72e3188c6c5d4b88604d7dcf4c32 GIT binary patch literal 18813 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 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProRoleExeclude.class b/tall/target/classes/com/ccsens/tall/bean/po/ProRoleExeclude.class new file mode 100644 index 0000000000000000000000000000000000000000..4497820edc70c2c922f2d2dc05e8af27ce7f9a78 GIT binary patch literal 2523 zcma);-E!Mh5Xb*={2{xF6B3is0L8S>+OZo$T3TqDK;xvushgy6lTb&hPAp#()0(+aCaKpqs&~*hym% z_gU0gJYccQVvogs3J)`ovBRzh88q;S)k7IaGLG5!3G0t#e9G$+8K22`D&un*UU zhRWt<3R()S6m$tOqa|UsexiP(R!r4uSL(LaUX_q^Y*Vk%-Z|Ut=+1$!r8P%aUA=YJ z9Y*zC!>nwQk)qQ5ZtHA2?dV#=Ro#AX=;~dt@tx;7+tVFGHIHj_E>|49UN$FK}{UBXnMcqAcSwOfQgQ#UMqw}0ByokwcZB+Fdg*63K3 z4kz6=#@&uV7{$6~pH?)jr(3;>tD0t|sjF6{YghIio1eJ#t*)8<7C$A?)?I%8T%q{y z>?C?(bG{JXW41Jf4iiS6Xa8r(z8B19mNv%>3VBpV86Msp%&|g20iQF3kqaa6L5HJS za7<8Tz)^LE*97asApxJWYep`7jqKVD*Dop}@2xLj@Z1fGYr90%1 zY1n;7)9)Evyj-Xb%iNa=N+>IM9Tye6!6MJ%O*Uw+3QU~xhD9|m=Z)4HD>hZJoOisgUz3n6=L2Iv2Bn-IPJ&Q} zoiEg3^OGt)Rj`RI30MDT`_aIRp0n3H(KQ;koM$rZO2Zo*<9pHXGPjJW_Ncw*$4cNC zDZw+NqkO+<3TYUpT~psxPbuq3wcFJ#>h){EcJ@mc?EbOL($R8PgPbFTYFB+YS6k=R|`Vz#r1-zBIz+0&iyp?*vTd5srUBne!rPzXJDxmi&uIL9roI^oG8G277zuJK8e}RAa*04LPXOTp zFv$CnAn`EBl}L~eqCw(ekR<{sO#tBzV36BbB^fSFA`G$|333N(e(+dn5@C=P0=Yf` zgj41LDnNdHc<70$1;)%gKQ8; zbpi+vA%oCo&p+!gzww{_4*Bs5r0b=n0Wt%e8$dZO%}t9XOAFa&2ACz|ORUk54KPRA zywIkEmJ?cBXfF#bA+!adC53igXept+LfUa@fD5B!tkAFnAJZ?RZRAj+3EV*u_i+n# o!hb-&vUZ_j4>tDk10Lch90Z>I%%4#iKjI#p!q49Jz6!N}0LfIy7XSbN literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProRoleExecludeExample$Criteria.class b/tall/target/classes/com/ccsens/tall/bean/po/ProRoleExecludeExample$Criteria.class new file mode 100644 index 0000000000000000000000000000000000000000..bc7783f7c6f2eb50253830727fba452cbe0e9b89 GIT binary patch literal 8308 zcmb`L2Xquw6o&6WNGMD1AW}pP0a*|fF^E7Yt}Fo|pn`44j%0DN3tK4m-h1!8iwZUr z6??;8P_XyjyQ1j*C$n#6lFOWj5zhH0b7#JpH}BnjZOz72tBGj1K`p70ZU>eFD}XzI zJAu1^yMcRvmB78geZVT5CUwBfvL0!yLV!Bm5BWLFF*~)ZooRwQ_St*0&l*Z?qi_EBPrshS*EzMcw_0I=1 z;n3h#*n+C)fjU;v&i)6*(BzeQ+cv1Yv@svn zq25!SMmq%H*NNJZ<_kw5O#Q8zB{)Le~~LBAVI z@Y7X&1bWnXIyKMVqdMn}$$GS;@5Sn^Xd7SLZHIQjC|aU-FeJ1^p(}R!!bTSuy@Rh{ zh4&fMFL*(2-R_&b$)JX95NJ!^OH~}*t1s?rWh7wmiqp=h)`m@tYORZ^`gca0LN1`5 zTd8|+)H9TEz1(9t@q?k2mWus14sT*0#O7N|M=GrkzYU)4JI_)1Hye zXR57%5$&5cx;5G(zFQeMSDkRHZX_wiO{~lezbpt4ggGGE>I050E-Tc&^(}q zk`bB@90bhVDz%{_Nz;(d&&~5;3q?;miGjIznE1`c38u1?|%m$6wOmmXO zGj+^>ytHXA#0GEPW2rAq;q?Xn#iDfGtNp@#Fo5w%N?xJV&z$w{X z^=uw-UE81M-NIxq&v~R4%<~>$x|ioXHxTundOFW4Ts@HITZGwOp7V4> zvU};-Jdcs=E%j`k07-UlJ)37vlHEto<|&tC_tmp`t|r<2^lYBwN%mHHHqQ=S+n?wC z!(=bdc~&XNTkFX@8+GMio^KPTdwI_DSW(|rPv;r1s|WJDG|cw$oTtu`JwVUqIk#k& z>DfG4m+XOhHqY`Udyt;Z%LB>YPS56bg=7!bvw1-x*-<^4S2C{c&+{Q+vX|$)0utn* zdNQw^TsfHM+lT31p7WYZ)Q9QmyjpYhK%Nf|v%Ng$Wu9d3pl9>?P_lQ_vw2}D*(3C9 zUXe=nPI@*kWhHy0p3Q4u$=+Gd=EbvQm+RTQ>UM2^o{tKXy*%gDx*+eOC-W-bm4kUc zI!yQSoc9MreOEo5cNSbdkmqBe;-PA=%^fY~BQs>hA literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProRoleExecludeExample$Criterion.class b/tall/target/classes/com/ccsens/tall/bean/po/ProRoleExecludeExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..383349e7ddd726c6391474ad625960315f4174ff GIT binary patch literal 2311 zcmbVM%W@k<6g}N~j7Bdzj_t%wuo9ER(pc8;Fpw7kq9o+uJPHLD#cm{bnF-?=mu3{; z6Ziza02VBu3RkLFP{o#yVZkDcECToT3?o^Yq7pW@AJgZab5Gx%Kc4^k8-PvRHc`WQ z4i`9FSWdycw+_0{m9)AzK@VBmP$&d}v` zvYC&*a6_uKJ9Hy8)U{S``Mw%&&edYM}eqcWs2A>3; zy8g8qc%vN}oxOceok>%X3nh}A)N)vE>QkLg^d_w`-SFPOX62eKva9BXy-CCBZg};O zWfeEv8k@!$A5QvKyzKgJbVXpH`J!R1ZGj6J`x7S{8uLUY$iB24St#lK8Ljo=KPOSvY%yw zo0;IkH28TYxRnVmPJyM&1Y4P4V;Wq{1g~daRcXpFSu07^#rE1 zegI*K1C*@%0rEem{w<WUaTw6I8~2 zl(}Yk8irie?5E;$DSIhpFD2}pcQeWREuqOzG+uNgXDyKr+Wz90ZUqL>oh1{_kqK*L zLX%8rVM$t8k?UH*W}GsW&`2dTQUeI$)mt44i0kd3 jB<%^e&6Lbc$;_0@OvohOrKA$?(Z32P6Il({a0=!>#BPsK literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProRoleExecludeExample$GeneratedCriteria.class b/tall/target/classes/com/ccsens/tall/bean/po/ProRoleExecludeExample$GeneratedCriteria.class new file mode 100644 index 0000000000000000000000000000000000000000..5fbf2126a2c491103a7626006fed6486f2937733 GIT binary patch literal 13150 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 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProRoleExecludeExample.class b/tall/target/classes/com/ccsens/tall/bean/po/ProRoleExecludeExample.class new file mode 100644 index 0000000000000000000000000000000000000000..d33486f6f8bd83543e9798b9f109f0f0fbceb36f GIT binary patch literal 2338 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 M|BY$2x3<&&KT-)WK>z>% literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProRolePowerExample$Criterion.class b/tall/target/classes/com/ccsens/tall/bean/po/ProRolePowerExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..79645060e1eb3c960ec761f57f6d1e128c8458a8 GIT binary patch literal 2299 zcmbVMU31$+6g|7PBgs4;ORAtqL6Vae zX5g8hz%PIY9$==K&hWqtuly+B-j$FYSHrZt-2Kp=d(J(3SAYKX+wTCDv2LP{H#l78 z@Fs^V9IkSBi^B?sw<~Di9Ru%HXtBznW8j*BH3739_}gym2EM?lja}!!u|3D%vAc2T z`a4$yN(YWNP{%)h)Z114m_Ak`#rUn{h~Wq6Ox)pbl)zKzPOYcnL#6z5X?kuHr}Juj ze_vg9{B2K#0<|3#cZQlKTl0CUik)DaM4i}heYH8*>#6Xz)AO{qO)1{4muxI!Ck@6!uc0AASDaW_>1N&we+zLE(GdNV? zwR_IqzNao^dB}n?=}ikct~E2MK_|MSKACQ``L9!j);xJtccbp8TMai_J?2-{jW&jk zamL%DrcGRReK%eaIMaI6t@$m1%Q^caCsVB>JL&y1w%(1M{+Ay*``S(2IPdG;nR~3H zoZ^GWIyplBpMsvam^2$JsdR%u*jH;VH_O?a%U$9(P{RqFtl=q~s^K(;Nt~%+io??! z&T^RMBW+w4Xy|t{h+WU-TjJd%4$B5^2wePMttD`B_!^S}j%_6uBtQ*BWi31b2cD-N zK!biDWk{}*W|B+QBUP(MDp-$HvmU8zJyPX*q~d9;L*N{qq4+GVY#IfPCF=piFZ$SX z6eoC7u3(1dwd4Srn5C7#3%EdW94yDdtGVD8bHRmi@LDeTCCue87k?g;y`Bqh<$_D& z;LTj{d@gum9DFMmY~_NDaqw0ycp>+y%HxLJ$pIIsoflKXKB0b*OhqeI zL7e(MaE&c~=9Jf_IjR1ek{1oUY~U3GuTli%VAZdss@G{%ptEIbp)DSwI`pH$HOsGH z$WXJNPtIlR<&3?YvUA?$H1GF>CO^@9)Qy5QO+IM*Cx&!0Foz-)ITTNyA`z)cY;U^1BhY f&5X><$jpq)Ovxl(r=${>=wAg?h^&tHa31DAJDHEd literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProRolePowerExample$GeneratedCriteria.class b/tall/target/classes/com/ccsens/tall/bean/po/ProRolePowerExample$GeneratedCriteria.class new file mode 100644 index 0000000000000000000000000000000000000000..92801ee41808fadf3449c97afdd2d3695e36ebdc GIT binary patch literal 15315 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 HM%4cwSD3LV literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProRolePowerExample.class b/tall/target/classes/com/ccsens/tall/bean/po/ProRolePowerExample.class new file mode 100644 index 0000000000000000000000000000000000000000..ae31381b3e473690f2f704fb907494e2ffac1c6c GIT binary patch literal 2305 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 Tv+oSiI8EpO@i^pM*y;WkUW!{Z literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProSubTimeMemberExample$Criterion.class b/tall/target/classes/com/ccsens/tall/bean/po/ProSubTimeMemberExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..9a859b0bc4f64d494d91f1523e42bce33456fc8a GIT binary patch literal 2315 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 CLAEpi literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProSubTimeMemberExample.class b/tall/target/classes/com/ccsens/tall/bean/po/ProSubTimeMemberExample.class new file mode 100644 index 0000000000000000000000000000000000000000..24482cd357159195987a5bba64cc6abd0156c176 GIT binary patch literal 2349 zcmbtWZEw?76n<{%yw;>?8p@zqf$^3mfX9H1k`m|(u(GtB6vQ;XIgZttxprkc)7Veh zZ`g-TT8BEM{ebm%eWbl-qCgA9T&uon5UHc$Txv4WPsRBh>%fU@rP7-XhxIp%g> zdcD-Uc9@83==Lk!v*dStsRZ9yl;zH(6d1SUo59XetYD>p$1*QqQ zG1OM6y_W6;%OBk_ODaASA|^#I4*-+0Zy&q-pJJz6PvB8)Qn^MIllkO~s6Taqho?sp zSYdXjZXJQ5;hF6HK{K)SJArO|zoqYo&B5ssm_KT>>2R(b-4;k2wy9H#LdWfUhWX5r zEmr+N!`_x7q~c>N3e1J$6c%aK^YpiJKvbN^1r=v8ui_j&%HoBJuh3TU1@5ZY!nVMJ z(?kvj9FNU6h};zMA8=M<`#=9!h^dXYD4^bp)j^>+~U_eg#F z4pRqEehaNHaV^q9t_o)OS7IbUjePJ4uJB9XDz3$NEyhUkE>mwDAU#5n&pj}QG%6v& zd}I|P&^~0%=N8v-BgWFWOK$1 zWK;NNJf|BhZ7q?LIuuvM9ehS4iFh|g+>Q~;^*@knCtw>Rj#23w)aoV+e=C7qjpDjy y(Nhus7V>z^L3zS9UkxKfV^WDDq_9k+6r;~_zreAYp?W2H$$xpu+~>Gg6!kw5ux|Wo+bS+SJb`dOp?j0iNeD^`OevApWmFlXHWV4@1K4F zunu=4Xv3jeJdGS1i;c}DAHggR^RGAA9AR^m&0B2VW^;_qaW*Gpyc0nq4so=1BX|!d zS)NjGTEQ8fJj?o=g7Z9HP;gPfB?XriTv2dU!8HZf72Hs8Q^73-?<@F#9Y2)uk&N3i zK9&$NQWEA3PHD4REUlRnvB8Wvu}OkzYu0q1Zfiz5P9Cyh^&6&^meAtyjhnVUq36iG z+SF!r3C*6xgq<^-P<1KYO6H8LZDdRdilraQ>t>R?>yndtaynsacHW`|!y3t^GnzOp zZf5hggxX|I*K9qtg?_t~dD}?G`e>4lt<7gsh2`3uo-D-jK2XmQ$90~i=L{`9s^=`? z7>V~ukOm~w_hwAX)=Ya;OXu}4Wsm76mllPT1YlkL{BIK_O+6h=7A_r`G7IYd3>DLK7e%R1NPRO1~94HUS~TPh6{sBEH+ zJQAhyq2-d|-M!v=;@xEvygOd3u{v5VDRDn;(TRI-h01YDMOe&_w+vN2s^n8hQ^|!N zngflL%9ZzcC9MvZ3b=TT^G>=Y%v(G@g=0!Ce2ije#7)z?ZH-G<(XWQisHX+dL|tdJ(1paZrxA(eLN6la1a*pm zgxVP`b|fK-9Z1Mx6Cx??Q<287gcT3h2B^iAE@{X3l%Axn*Xm3enOMT`!6 zna)VX>5NpL&PXNdj8vu0NQLT*RIAQNcwVl+xLhTHE$ z`oVGOC0pZ6)}W7mtHJ>PaqpAfN;ey$g3C*015j+HU@$uu*=;%>87Tsz2i5?(p|_MbEvt8 zFf&zw3q)k88}sm@hpDNUr6z8!6mEok7a<d2q@cT-%UXi!2QdjGQvrlO1`KjA5TxD@k_!Zx z2nMP5gUk}h;R+!9HDZuS7-ao7(%=U<8VE9lX?JtkjWqZ{juXg<3LyMBWDxpGM#Pdv z+&=fp&EpGiqsgj?G>d9 z9zZj7DLw9##P+KHQd8>{E8d+ c12^#(Zh5Zwf!mlA{D~Qu&J}0qoDj1A0%}9+@Bjb+ literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProTaskDeliverExample$Criteria.class b/tall/target/classes/com/ccsens/tall/bean/po/ProTaskDeliverExample$Criteria.class new file mode 100644 index 0000000000000000000000000000000000000000..01788d77e7b0c38d70327f257ed0274168732d4c GIT binary patch literal 15914 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 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProTaskDeliverExample$Criterion.class b/tall/target/classes/com/ccsens/tall/bean/po/ProTaskDeliverExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..afa4e5de2cdaa2b8991c95873a591b3a7e8c2edd GIT binary patch literal 2307 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 LYOd0~DO~#(AbV)t literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProTaskDeliverPostLogCheckerExample$Criteria.class b/tall/target/classes/com/ccsens/tall/bean/po/ProTaskDeliverPostLogCheckerExample$Criteria.class new file mode 100644 index 0000000000000000000000000000000000000000..d2eb998c9229f7cc49f5c70e93761c5a0423d053 GIT binary patch literal 11463 zcmcJV2Y3|6702HSp#!lr(R(pALSPOIuEN+tqR2i31{ph$wn%H~tkWI7TVXrB+3CIa z-krowBXJU^H>daBd+$AQ^8S0fGrOm!{oeQa0^j#LZgzjWvomjIXWnu5J$K$kL_3`$ z?KDb11AY$t0{A8HE8y3_Z-CzdzXN^``~mnQ@F(EUz+ZsB0)GSk4*Uc7C-5)e-@t!> zdw~Bk90DAm1(*i30@HyuAP39mR;%pS zE&whBE&?tFE&;lMUBIQlZs0QDa-av;1M~uYz+PY6k;Uy_I3#p}B=(*&mn~Kj~Koy^|#_=_pi&ywWkRTEzFLur(Mh)*PDA zTP+4YA92X-FPHslZ^^6Gd_J+?&+ z(|+}Er4|$_BfX>k(3oG{dy_YQs^o8oFWc?VVy`@W#2-2uc)>(%pc3rygByLn?9gau z;d<}1moItck^G*U1HZfR`=(~qVL`GErULVmrChUquGF$MtG>sv(NL)+Q=Brnqs?=q zTHll|N?xcRkufk)DmiqZvuRJ+(Qu3K`iRG?PYv^<4fh06JceE0$H$|1wBMUnF|>%O zLn44yaYIkz+U7v2`Aun}`Au2e{H8!?ezeh~Rrm?)953x8Enf!s|;6)ZGR{{k4xWIS%UY=7!@ArMk!TvTZL@RDbKiPxSd* zQ_Hx!O|bga{^4Ygr`BbKO1i(p?@en&-n2^G(`c&nYCYZI zh~UQKrZX_}G#=#op$kxn#zQFIAe6_=l<1)q8K*h4Q8+3$>gwz>>!H$E&twxz&u?0K zrEv8`gJaTeyms8~7<1{CcEb|Ww(ao=XtiAU1^>dxw1JgqF-$%7fJ3acot51 zHt-zaxxn*)=L0W*_CnxA^kSD@0=yL3%Yc{DD_nXd@G9Wdz-xfl08UthnPuBJ=XH~0uhQAP;F9dsI-6H&lD$S} z^Ab<8*XnFu8%p*%oz06%$zHFsc{M88XX$KS#zuBB&NpPqHqLqZE68W-WL`E$ayrh> z$nm+VbCn>PoN-KDd6S0UM(bvAEDBzud_=6#H0 zpR2QZ10>m7bvEyuBs;IOdCL{q$vEGZCEGaXt(qWj*U7xai{x~ipO>ZEIOolwsPE9} zyseD%RGjb3vTdC6epIs0*V(+0mFx?2Ht&EX`$C<~TW86>NN4k&Te2_K*}Peo>`Qbu z@A4(PTW526K(cq~Y|bl4_N6+T6B3b~9Amq)WIM(10lTL~?qJU7n@eF~+GA zQSZ^|oOFrw)EL{7W!o{v*&502)!Cfpk?cO5&G{k8-m9}Yu_W31bT((CBzwQk=2Vts zAJEyH1C#82oz2O!$WF%j66(r*ncZ(o=Ch zkY(FA=ggvHAJW;Jl9cSjI-7Hul6{rV<|L?OAJN&IJ(cXEI-Aq3l0B%iIbSQ;SLnH}k=I6t0c+c@VexMZKu z*_=L??EC6$&bv$Y{d6`b>?QmDI-4{7lKlXk%|8)H_5*b`|F$66p3deUB_cZ+=O?pd z8|VCEh9D2=Wd0FEkcV|L|9B$EzE0*JT?F~M+cJJLh@P2~{67iL`YD~_&kp`R;vA$3 O&E)^OdeAxC>i!R6GW1#i literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProTaskDeliverPostLogCheckerExample$Criterion.class b/tall/target/classes/com/ccsens/tall/bean/po/ProTaskDeliverPostLogCheckerExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..8d422ada5683c5708df3b5e115ec3adc55a977b7 GIT binary patch literal 2363 zcmb_cOK;p%6#jf?CLYhLrA-4VkSU>%i8G0Lghxp!wA1v(P%2G`5IfK0Ds|)7Biji@ zV!?t1NGy0sP(TO?q_$9`RwAmz0*Ng@3OMK5cqUT|1;OUrhwpd3?|k?8{{F`=zXDjq z1p`$)&*2z{7dR|&IL_fk4ktLgR6-3e>o{4W#VHOg9m_h-XfS%dx8_8S?`b&DzG83N zmTPIQEQ-SyfK@lD&O+gNYuWzbXquNSDU$xAu-)2I(`t00Gwhq;gctvI zF4veP@2XDN8FsJcgr|1-S9Zeoz(LNqGHl}5amRC_6B-UR?sac=Rl~82{h^bI)}fuG z9~fKhM0RiERlBd;RgH93_0r6ql5&by_H=TH{vQSX>td2@tfbWOw}PHL<8bpd_Hfw? z{Et+y5Bn>)4+knZ$YC6ZDwyDKKZgf6O!AQ?&S|Kr|7t68T#IjwcNaJ;>Nu}q`G09W z4f_XwZ(QK6t@r{pP=is~OaFlrkI(~BqX(!6!9LJTuoY?~H`GXmsF6HTBiW)xaz>40 z4vkf4IE)7=K13^vMvcaT`7^ZJ>e#~+$9PlpF-7xAd;oP!(@MjmI7)F8EJndmCit;T zaBdWQH52?eW-^%bw?<^YlL>BQf(xVIcQe7Wnc%Te@OznHGZUs&t+a!an!I6 zGr)Oj_xZ%IH>h6(`800cg<;O^Kr^)+6wUk&@^@1ICQzVj{|I^UF%0nuYT{EI6rZWw z6EQw%1IncOPy@3pBrG@ROrEke1}x1T2y>pOn!llR4P|E3ugA;IMx5aH8%Jepu85%N%fzUJg?&k9Z%|b ziXtcntA09BeSuavI$Jd7n%Z5I2Y!^eX7L?#@x5X{5}!-iiz$0CVduPyN!||#O@5+& zuNygYl6+A1j}7RipcCD7GT{c9aFa~S!Kq{$q zWkp=>Gl{I%DFa^;wLx>9>a7d}#P!}rQQR4F+epcbl*~xUjD$?!SxPGK9KBUQiO8xr IjUzDr0y?^{G5`Po literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProTaskDeliverPostLogCheckerExample$GeneratedCriteria.class b/tall/target/classes/com/ccsens/tall/bean/po/ProTaskDeliverPostLogCheckerExample$GeneratedCriteria.class new file mode 100644 index 0000000000000000000000000000000000000000..c4170d77228f3bfe8c2bdd3bed8cde6d3345cde9 GIT binary patch literal 17788 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 XS~`kdhZFoO@p)@ioQ=lkgRJ&%sNiz% literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProTaskDeliverPostLogCheckerExample.class b/tall/target/classes/com/ccsens/tall/bean/po/ProTaskDeliverPostLogCheckerExample.class new file mode 100644 index 0000000000000000000000000000000000000000..32ed150dcf4398e1c2638414d4b998c73c7fde74 GIT binary patch literal 2481 zcmb_e?M@p<6g^|s*qDtm#vx6htgYAAbV4hxHutsAVvpLkhJK zoWn!C)b;Xc6pyix<7rW!mNIDMkV8#BEN8Hi!IKQ03XClIcBp*Ya|O(%>neZAkwKsW zfo%LrX3!KEf1>zOhN|7Y7C7hmZRIb%qso4u1d6RU@~x~o(%r6Zgud-=*9g z3*UPwgPn$Q?6=B);RRvK+g^IDtR3Yq{~&kw9Cf41yjG`~;d$G&!@9swdG?invE;RB zaI9s!YHfdaOZhM5mJ>PUS<-nWeOo`rmqz&7W{4i1h7LIt0u`Za)*Geg%JL}yyXB(?;Oc2`PMDAReynwvIcj9P zEpVj8J3iEOLmGkoBQwhGY~m^>cb-#z2!_rJPlirSv@=-{nBqBwX^isB%yPZVn?-5} z?uE*Gh{^|~zJHIQ0~o(X(pR|VDWO*bWBe6p2{1c4xQ6R|61ag+V!S$SqQkP>V_G&SK5Gh6LQ?t;QI=0=4wt Mt|Ipd?j^(g7xLsFsQ>@~ literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProTaskDeliverPostLogExample$Criteria.class b/tall/target/classes/com/ccsens/tall/bean/po/ProTaskDeliverPostLogExample$Criteria.class new file mode 100644 index 0000000000000000000000000000000000000000..6865aae8f821b84b90dd1bcfc79b2183e5982fe4 GIT binary patch literal 16003 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 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProTaskDeliverPostLogExample$Criterion.class b/tall/target/classes/com/ccsens/tall/bean/po/ProTaskDeliverPostLogExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..785f97803cd2825092e4b1c363e3dc4e15a2166d GIT binary patch literal 2335 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 HqNe`?kSYR| literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProTaskDetail.class b/tall/target/classes/com/ccsens/tall/bean/po/ProTaskDetail.class new file mode 100644 index 0000000000000000000000000000000000000000..8f7d22735d35775a387945db0ea883601fd58940 GIT binary patch literal 7500 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 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProTaskDetailExample$Criteria.class b/tall/target/classes/com/ccsens/tall/bean/po/ProTaskDetailExample$Criteria.class new file mode 100644 index 0000000000000000000000000000000000000000..4696a6c4692c87e1fe0215b23488bc86b1fabb70 GIT binary patch literal 32470 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 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProTaskDetailExample$GeneratedCriteria.class b/tall/target/classes/com/ccsens/tall/bean/po/ProTaskDetailExample$GeneratedCriteria.class new file mode 100644 index 0000000000000000000000000000000000000000..706696713154489a653b8d74ea63d9b8934e56b5 GIT binary patch literal 47120 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∓_6rudlTMwtv zf~O6yrUZGTx1J7S?J(*WN>BNsVp0MxSD`pmDxz^H1?6a*yiHvN^v7K!%6<1&Mx#rh6djg;(`dP*B~VksOVB~A9Y#x_^t1$qPai=p z;y!)ov+{qhrCp$W(sqH8sm1m`g#>oBbC>^dzu;*(2l z?V&SqU8v_s$wN6((rAv9qC<{2jTS8BNKFansDoHLjB=#(evXtt%aM|)R8WqT6lW?$ z$*iXKmfGyZdV0>R7hcHh@XXrA^kh?+y}x|`UTz8=n;X;8l378|&Xw8A?Bzwyk}{{! z!H0r+2M~Lv8k=kylkIFe0qs2 z9be=$+tyb3Jh#-;Smx~QwAfaUzz_F!`q=jRhPo_jN&+X!oK~j|&o`q!IPK0-bi`SP zA$zInBOkSDmA;c|IfClz`qa02ULR*4Z(CdD<1#+5*U2Mc8Yl<&C?E>9wXIZrU73BH zeUfbzpkO3EDM$+ZL&H%xfrcYJEe=UskNvY4|58rrHF-JDeWZt2r@7YLjC&9Iq?_I6 zZffXoHz0h6hzON$WtswQ7JI`f_^e>LrXp|ksW{ZtFCSX>Rha7E<5D?-n`Stu%&^Bd%?t#bLA z9B{|(EQ+L5X=vnnrM!2&3i;ioE_iSwaKA@Xs-h^@HRx5THpcbWMsibyrelPm2^45( z0>&GfKucAjBi(4b>Y^YCp+hP9baWmGLjkMIgaQsFC_RrJxTv9a6Xd6RM5xkJrYUI6 z`qTl{ZipM?3-JG4=0r}zzyonS~S)ik#=c0o1Vz zuZm0aHxye%Yx}&KHhkV7Sf#EZk&3KDiP4E79MHK0`l`fo$Egv;7!2@`;CR|`N+k

vP!bh$5J)KG?le<-vr+Gfy%~iHUnWXBidF*W&+wmV#qy6F zPWgx)g`(&*TJY#J%usY1f z@O?yAQZ_=faU7aJc?eCwB!nhV2J}REwJlfKTNrs-6xDEDWbi zbPbFATts41*@(mz%175)_x5xo9X&gURW>?>R2W66CvbDoIi#jkgb$$Hgr-m;!c#C0 z;VG1cu!OSEC4}*l5DrM?ARJIA1?5ZV#(J<7Dub~Ky2zEG9|iIizB9NI3eZ#HD^Exv zc|wfEpNT^6C3#=w9`C#DIidXZoCrHwM|ZFz|lahWO&Yqjz-Rdx<`b{`=~i zH6~tHQ&9StBCFI6_rud&SMlhshgPI>1KvrkX=@7Bq>C<5Ar|{m^rDbn)Aw^qd?7`q zX5ee3pqP{b15yf#Mhz&GPCmjAG4+~~V$p^aPes7>W77OpacTaBV(T$q-mt1^#5-0s znFeh+*5WiO&dR73Ju7!*-pwyO!->wJz&jj>vJMj|2^}V4DmqN0gme&6TDnJV`^o7L zuu4&ffJ2E&V{&Si$lFlCF6bT+s`Qj;3Usj;hwd#b%#x;}gy>UosH-Urx|%wRel)7} zF~wb}>HUy(*HyH->)}9a-CIdD8N6bkF3&}TL7^1g(&q7h*bsHUJmap>ODK-V;t3{)Fap!$#k)y5R4 zKBPdku?$ojt3Wkb5U3^$1v=_KT@df^MRaVY!DW2+E75o=65NEK`ww`jwzYmA{E&oS zqMu@0ga3;~JP5x;9{KLL_toox_^tQCOmj0{-LkDA`m;Ui>v@51p<4|2SQ4}~xgz{5 z<$niWJ}>GWYg-#JMD1ZA-wFHz`+xp^x;obBYq#4=@%L9SM|79Qvh5W(O4<9_Q&57p zbWn02O2%3O=U7(7pw*T==q@WYceN#Mvz(jc?1S*%PB_D|CRvU(+3IXfu@A;knR|?V zh8cW_-~<{QLT~EF3CO;wFOqH zVl+bRqwJ&6VRCY)2Q47zjVMTIoEaLYz~i{F9)pl$bA!x|fjD^YH za)?O#1p7oZLpi`T>4eLK_kTRQD={sE88�wLaOs%PPZ_Do=M>Wpy5c|D`MNpH)_6 z$eY2dtu*gW4bt|q`djm?t*u(=&LEes+!^M&LpJS`?Ng+)!|YShMd7>HU%Ggj=i=qK zt_3)K)Zj<0q9JRn{<@o8(7Rra(a#~Pt**SI^DVFzSOcwkYg=oPbaV^XigI+6a&(lv z(sOi_eLB9PeLG6J>`0e!>7WmKdxm|M=kst3i*{@2pmeuYR`)^oTRnp9g}+yXswEg! zqqaLrJ;SzrHizkHz_cKymBpN6pX+%u5to2Wb{drKRh90&%36zaXqi=PEte#B2X#`J z=!6S(9+irHKF3_!%-j!|`zJ6j;F#-}nFk~DkObz19CKYW^9W=fnZUe=W3Fdr9*fN5 z5||fr%syu3Nyt1ofq992sn_19H+bvbH_UW9h`SM2BJ*?u^D^1tFUP&(cIHm@W%d=g z58OU@CBC|fv)0dS?QFDmPTtn8wy*K_^p04qREM1hrPr?-Oq;qtx2Z3%N~{Z|xjyc6 zwW&K}QPZYI1QzvqRIv879Dais{H2J$ENA?6Tw!l$DD11Su&XEk4cy)vP?a8N=nuEx%H1kS=KgRa#~fs4-j2*W5|}q}%qlbU9%SB|z`U7b4mL9% zMCL;Y%v(6-5HoWPG9OD|-pVmIHZz|>=F|i#y`n5 zps{=dva75@d$2@D``A+)W}E@D31T*7F;8=QZ+umH0^i5%Epg?xk|c8nu~lOudiofy_M(%;Y}y3TJJa+1fm`=3dC@ zn3ZH}uX2rMIyM?CKDLi7z(%uB2A4}8dyT`-h`~1?eo4;w*SQ9?qoD!qjSZ+pqN9E6 z4GuHYfLV%|Wh~}R?z6zGs`P9_AKMpKZa+!txN`pWoVPgUPG;so$UHcK`8LO#V`d(X z%p($*?{LhW&CFwvd29mnU5>ennRy~IPfB3E$1&%cnWrIhWdieku3~o$Gxh#(7BbH^ zFu95iU(fk~v$mVr+WBbhg1oJL$bF#N9SayYHQOI9!2-Tin&bLI^m@)m9Da`&{FR8m zDrfx1Tw(8NDD3O7u&8Uz z9DY#@{v*VHoHPD=uCNyy3j1>`>@Orb+8=)4FbxLGH;DO`#r(*fyDq6pHyZlGkGOI_ zNfOr|-0L|%am*$&^EYJvp1}N>V>X+aenuydOs$Wl)D;;bz*TkC_?`sQuzZ|;N2a%?nMd|V$(ZD5t8Hk9VLJ{G;6^ACq#5rZFu_^O=o z|8fmzAHD&lhT{KtXA_Bz^fA1_#@rs?*MQjqFfip*&Veim}f zL(I&X$efkHEaEEm&@fZ)4?81s7Xy>)524RN*r}Pj=!coD?T*&=$lF>mcOr5)7BFsV zwm)RBfaghbTz`ms4oa19_#7u14f}PO1~fJl4$I2budOFgtV19Y)d z44)HC-7QI6A9K%h*5;UJo0<0`^MM5BIvn#HGxHH-KAON>mt&r5W9VTy<%a(7E3VvclEn1~_dI6+$GpPK{0o_XCol(c%qxvdfnP@v zsRZUAj(L@tS%}P{1ZEY-yxPnxMP^w7b1=ue#>}ihW@Q3%2*uW*(2s6B3vcIp!KO^Au#Bn!udIRqSJ7rrsaUK<1eS zW^#X+%vpQfZ0%gMc3$4rrf>!P1QsxEYPLUIgav%DG?z<%*q*~b8H2wZ@mJ)G-+?Ra zrwoOC4Hovb5*_Ui)g0z&1Lj7=+{9w0a(nNYs`Rsl{%{+v+$u>j_lId5^Eor~PGsJd zz?{x8pEon_L+1Sn%o!Z>1vB$uWImF>+>v9xXl6c+%qJ3ug| z!%V$Dyok(~49w*IFq^aXirLz0Xzlg9t?k4W@T*wBxT)Fx@HQ6kJJMV({b3G=e=P?8 z0pdT*8NV}E*smK3`%^6J&m=n9A9mp|Zx}FNA?9lqGdH!X_gxC@drWUurQb62hwpLa zevl-lKcse}?=huz=a_GsnZF?O*97Js9P=GB^G{^{mB8GSW4>!-;x7RdJ9YxIhGV{G zW)>i`FoC%j$9&(+EJ0>z0yD!^><3|{)*qbC$gD6hnf{QPhr3FCKPXj;JED%W_MzEY zSG3kGZ)@4q{Epub`UndcH#OHEoL*Lm(_5Nj`h(om^7}#f3Ln!*E#UAU$KcmR{CYX# z7jlLD318UG`c|RSU!tS^p`OEhYQPLY%s>{ih(*Z?m=I(Ax2NTRVU& z;D4}yaZ|JX;bbh}Q>3|E`on=7{@)n<>4-lgXZ%5`u(zSp75a6WL0xRiP}%3;?}VKz z*=~a<^M7b5bui1Z4V(*+a}moqBz35FHa6M&#hnWDCsozO7KR>inN{jsE?I7ms8Byk zQ(>Q+I!u1XIGm+AG1RM(dQAfL2$ot9L%jj1HzrVzWT}NQ)LW5yTLSecmRb};#ozjJ z?o6N_%~BzTdM{G%OQ0U3>UURd4-`kJdcSxGsSg{d(SA{3UzR#necm_@PtlKO?UlsX zdkpP8p0~XdQh1Y6{%GDT@0XVPY z-ZeVo3gS=halg>!ypJpRfn;%A!@V+b8cVH=p?-qYPZOvsS!z0l`Xy4oN}!(3QoF=Z zzeDQx3Dh%KYS$R*&q)0xfqEuO?G{7*1F3%|P|sqkxO;@Eca49o(gMps<+?`rD#h8X zy&h(J1rFLP$lKmI>Oz9vHF{D}<0j|2MnSPvR!|}ha$SQqx!X0|D;4Lm271LA=!6D3 z=WO6Sw%YOM=D2Dv=wcNWbd~IA*EpZ$tYzTzL{2Z3a{;>#*TxlGhwmB%>);BmD_Q2Q zaUn}xH-_2|sp}_DFJh_d#ZWgw>VO35#VoZ?40SM4ha^xhVX1v%sGA~nvjpm;EVW+@ zbt|N9oj|>et>X0~RIO_ij6mv012ws8T+Z6-A7gJc+8dL%y(`$F#@}I-o1E<$6R@Z! zN`tv{jVoCL8^#&f9u4e}vw^GFYB&5wW5IN+_8F2L?HX6JoB@WeF&jBMv7BqzeK-(T zaFC&E%*7SlRkF-o<64$l6+_(sadG7-}t2>k_Efv(zCm)P+c`PoUnwQa6sF zEP>7FZxW&EU1J$imm8?bUE^lf-lj43_CtI7=WXv6wy5#f z8RaHtyT-v-)Q3oexpa+NSp%EL88`wB9GSC$+t_M1{BmQ#u~_ZLNp`ertYSG^8oI_w z$T^witY-J&R=9#&8@k3yT*1>N%iJ|?XQ{(tsAnVfoCN9}EOmGc^#Y_`m_WUgrEU{L zy%edJB~b5TsUu>jS0VN41nS)^bz}_ndZgZvK)r{p;%y^Ty=&Zp)LRYI ze2diY4AkVV@dRschZuW5p}n8;w)Z4k)YVkfxXIbB@jDjvAJSkhUE?X%z|=Sc|Db_? zb2jiaTkX^Mu2CqgqC!Wqqg~?}mNVVJ0pt|3oM%(dG51hr;0odoE^=2x3(Kw2!cLOK zb&cocJ(L$%>dY8w8mV0ps4ueASuxZeNbQ+GeTk*cj-jrN)O8Z5FSFF0VyJzQ+Ao3n z3QL_6L){Rm8zoR*Wvh7S2vzGEg;hu$Y@l*o<27{;<#oK}@CIvdml%7SpuJ7=w)bZ0 zE#@A|Tq_iE_#@*c|DtbtwQ3~Yl2M&xYZ9k$wcGgSL_ zSnZ=FJK8ngWjVVWIOCBsf#tl%?!!HB1@UJX*{(4KS8#jDGIx#lS!zuTbsAEqCs03N zse8pxXCZZV0`)_dnu($Ag4DSQ)Q?!|ycp^pNZm7m`Y}tbjiJs%YHb4b6Sj)$B2>L= zEI{f)12ws8e9GF(#@K5>drR`R_ZeH%^QowDle1l8Z!GE-X)u?r@i}W?L7ai5Xkb~+ z2EJgceW9V+_r+@8PqL$3<4cxPZ{Qq+oP$};SL`|OB3wcIaYnXl9F8k^gk*7D!@cwR zHA`)Xp&oATVNz$Z^u?gEYAt^C+!bg%iai9`Ws^;HdujnSr8ttyD zrjOER=#N$^jcBAkK%c3qdS-WRFNXdw71GS?_}+8RJ@?)bfBo~vp8)P)M@JsD4Ayj{ zP|M*0zEn$HEe|H}5bHWm8|t)~!IlmkHTCf*gU1;>$>1x2+@@y-mS=Zd0i)r%mbd9h z-?w~$Z2XhVpdm2z#Nv-Ku-d(AfeRh4ZFw7S>C*KrfnxKu{9c-lbob5Oz_Z=`8e!VD zAJ}dy5D>2zq~j$a3Xw}UupP5WLptPk?R{4UU5|*3p`X{9tTfxprl`fV~%cKYu_D`9X%8RFM1tti( z)mK$3zf$hH?GNslBDJ0j5tDKkdw@y7pPjn=KQgB}p1}R`NJ0$?r83F3qMnoj_s$6; zu*#&)*DC_~mS?fkd)>oE-wkBz&2xDeb^~WgVCJMv!{rpY(h*3v97|FHeYex~TGnG* z_0;TH?YXR`#lVMH5SR`pC#=f4=gGHf77WbdvVn`3F>nbVWbo9$Gc*m{!)*i4u`RH2 zt`rS?p<*tL;>`XW4EN67YfBCE-BA#FMOIHueI&;-o}TRSyPjs z`Sy=21IMC)YkU;*d_c#bDQ$Vul)T|i!67ima|-jA;F;CodWAO|^bp(&m3I)8_eg#F z4r52qehsa!a?R61tr{lzS70Q-hWq=%-FT&Xg!BMKz2?9)(kO)p zGm%w{K>Lt2UsHU7n=zKjU2#iSena{f9#XiS*@BA61;pcGp5 z7?~8l8P4e@OIuFlWc0-~@EJZQl0v*4BW}lt#meu8^>Cqbr#}p%x7?y zzI;03tTy7v`g`c?>3KhauE*$EdiFBmLlWaX<*jPLk|KT#gIyum*A#4XgYuAVz8*%1#-tQSNMV&oDMp{-ewkx6N%ac!QvcBuxleO1X~w^PVcu>4 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProTaskHardware.class b/tall/target/classes/com/ccsens/tall/bean/po/ProTaskHardware.class new file mode 100644 index 0000000000000000000000000000000000000000..acc7a15375cc97548683dc55478914f370ad0bb4 GIT binary patch literal 3676 zcma)-`E%1o6vw}EVoSD_<|LG(t)Uchfy+_aAtWtHnqmln;v^I(w6ZM{C5~il83^p9%$o>rD*jY9DcyZiPX`_bFC&wu~(+n)gT;Z6$MFrUQJ zSm41(VG&EbD)X?+gUN%%LxqQnJXCq8$*@ys!#u~Rr*H|ES-hfPMZs0xyvFi%1vhxU zso*UIZ!365!Mh6HQ}Dim4-|Z;;3EYev&kniK9zAx#%B^@MoB`))S`At%a%2BK09TZ z^TQHaO>J41&=t_+?W!Sk_DY3x-2q+BwDoztN{)(Y6qkgvYHPKn3EkF=a*j?()N6W` z7s+L-ZrU>jACN3obqsFPK_n71{%Uh_;H;;|LSw1c7> zT6s>d)(p#>%}q#pidsIS8U;i9^@VHeXp7trj z)Tisq1-&|>70ONutRjWgC^*UPW~;qm5Jvx0(OS+Hi#6S>Wo@lo&K7jd%vP-IiK;b2 zUw>GumM&{m{*?HK)yAhe(g~7UD09Vf; z+9-3yrDIyf`2eQ?Zi~P(&SkD^3hZAeM-~>n!N?5*4xMH?@6ywZ;z{kK<2?9P(9Qvy zc9LW>+b9jvHr6WbAM-0kB~?%)?YLh%URHzE!!7}vMsj@<#^+;Z{VHRhph()2e%*P; z1S^kS0yd3fd=oxKu`O{O^yX>>2^#_zEfiyQqg-;{P%3ZLt3`d%;QH$cmC`PLt11p) zSjBeiP|=5e8Mjq@j!6{*7*sKYeib`ew~L1?56@z^iak8+#Xbq^{TJVKx{5FGrHrps ze9hs$!MDVlIZLH-SgS2$MlveC!}qNCfl7KPW0Xc%_>l~TGW_gEoE3KnTBT{vtp$?W zhcdyAKs(8yjA#n9R);cPUl5|#8ieSz0wH?cfJEt>iUKAj?0CfYNFBsa!12POUZnoh z<7^pLHt%#2wo)rxraR>tENeCD1l>*V$JwMe-|ipc+O?5O-dL`bb@5&k zTBV|!)E0IIpO-jiIM^tfZizxG3v?f%XHf&oN!Z+%dzgJweDTE(iH|Mx&$A5@oO_k z9;BTt%@WP=f%}ktc1%WSOgNhfjM7>a26z!KktE>|#%OGI{spn0NEw6g{A8r_I3`@@ zQL>JaPhw#39%BB{DQ9;p;*=9UzE@be$1@t|hpAu2WCTb{7-V}S$SXMPIxn~&odbh^ zL6+`99$ZE1J+v@Wi}OW-X#gE`6FyU?$JFWEm4qC5Y(Ok0H3MQSQbAoWb1jyW`x=M1m+`kjY4p*=P_Y4041( zj;;a151&EiB0-X2km*Q}Q_&#FFvv*)$*%#zorghQ!)Y4BEg=;KnTrHDgR`!4Q(33N zAZG~V>>424`WWQ(NRV_GJKu6d^q!q@<9Z6jDk^PYEe4q>PYM zA#EY)6t(89eiFy1s{j@hRM3Nq*n}$ek{bQj+4S#Fr@FmFsk}@US8xL>xP_~@gKM~p d>$pcdf8b^yeGl9|so+<--;$F)o#MxE;XkGkkgos$ literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProTaskHardwareExample$Criteria.class b/tall/target/classes/com/ccsens/tall/bean/po/ProTaskHardwareExample$Criteria.class new file mode 100644 index 0000000000000000000000000000000000000000..17a5f4a97e0774ee75399a09c8ba9d5273a93797 GIT binary patch literal 13529 zcmb`O2bdH^7RRfXWfztv=OiGgBpDDCaS?$fjVueof(j}&JMA(sJG0Ep5{!U3=ZNX_ z@_Bc9i97Gk%gM|6ywl4$=X`qa-&0*(J^SeId2^rN_gm(5{kp5GURQTjeLny4v(G7| z7C4VLsl(2AU;;1^I1ZQuOa`U^#{*M=X}}4|YzDRf=K|*e=L1`TZNLS^$oP&L+?vh%Z9QE({9?PeBS(>8t%VLRx5X=F@mmM$%R93rNA+td zX3IVuag>|R=lxqtKP==qUO5QmX9ba;Y7@mrr#UQX7hecCWO1jaSU< z^NRk;{a#mh&Yu>Zso7DZynJS(-?6Fem3vBUh4OO0ywCUZj@mZ8b(go-OXa+LXKML@ zvfo_&dqxeH9d2LNTyv-$rOKqK9&2?yddk^csx@0GH`j9ALG~4J`iXX+)i0IWcY68t z#g%({yj*)Bx_s0OwOoD#cQr>%w!^E7zDNCBRgclfDAKzJP1R#4W_u24d_ohZu+w&$j++%#JSCZ zSc{ve)#4@=wzvr}Esi$ob-dC>CVcER;)+z-$Q-F|BXc0uMkZR-Mt0n^(YiuUzTBSe z^6A{BHDcpwYa!ohkEg-!T65l9)?5?gsfk)WU}9kpm;loQ;Q$h%=%>o*!h@9;QzgbXM=*E<*Rzg0Dpp@}%TawzD0spH-)e%vrXmy!?td&r@CmWP zFMHWsycICM+s8~>pl3@#^D>IBIIu5vwIEA5CxjRw+j@ z_h*`@`u@y;F;!=@S`Y)OeX+0|5pT9jRq#Ku3pHHa&!d z2!pzJ23jHXjO|g8*6eQjKwZaFx0cEw;lg@Ut}wxl^!^@0ej7m_cGM&*YIU!b1nA4q zvr0Iss$)za+qZ9mNbK+|R;MGet#I(*1j&A&JN6Fn?AA-?%YLU{v|j^ZsFoJRIMhzp zHC^rMfbQo0`X{;q*z{BbhS3L?m2JLa+HR=gh zJqf%PcpdP1;0?eVp}h%sGqkq=PeFSt@HP~AJMc8{4Db%%oxr=Gy&HIsI_j$T0`G(N zEbxBy0atwxcn8mtX`?TbQseJV43}s?-UfpTc6m>`)ro~#N4yt-QQOZ%* z(y#gSm)cbIoq1F_&(J^W)OExr`m5?*RP}W)sq5*tTPdV&P&X?zWEq}DeS&$a5B;Z9 zu=-$`PH!u%$MSqgk{#taz2-Q3sLZDKBWDkj+4N%N z?BOz--pHIiLT1yeoU=#DZ2AV^>`^kCJ{~xGw9KZj4sF|cJ|;F^Xb7eBES!+4|jGdRHN6#3ocC-5VGM(1RwH|xMwkFxpGe!&SoV`tE z)5<(&Um&w-NuRSXl-aZwz}XkcY}!QN?Cmm}b{{zVVwp|b7M$(LY})V8ww>oYlH@4Q zX`h6VJ7hBLuV^`*=b0ou%5&P8VRc`o)1HpjV|ji_k{#taZ3c06r_82ZB+lL`vuXQ@ zv$G-_`&OL2OJ>uC7iaI5*|bx}**Td_TWp-&C9`R7jO`0yCAb^H&EO5GuE9X zn`aEWh>W~PCe!YtmgCP@F-bSi81^k$y(H6V$5ZREXRMrLn`aDLrJUU(vuTf&v-iqu z+MMO=eKMPNbvb*#%%<&N&ORWsX&;%hFO}J}0nOQ$$!yxW*0!DJmnX?lp3{yuBVQqt zX{Vf#uawEO!_LT8$z^5+6g|(+wk&_ON>Y%jUihy>rjG=iR5@U;OebfDPO?QNtw; zmpNSFaFxR~4j*#3&f%jn>bPOxW|MI^Ll={_&IkV>O8AV?W^dSQhu^DJvWS! zc_sS#Ky5nyuBQTl>Yj?aBTX~SR+g%KceqQUPHefpdUUwoSHZT^_q5F6!0~pRz~yza znUB77L#nkKxRDBUt<`(JuY#`UgrTBOSGESjeS0tnl^@!X<9T*pIlg@`v_B1o+fMjo z(+PH;If1(Um9u}~sk3P+a-l?$lUk0;O?|4#!AY);bAaPcUA*y^L(U@O@X?8J%^F&*?dvF+u^Wb;GV#x|Jz^!Cr8gRF5}o%d`$w>MpRtq z^=NR0eg<{=nUs*@YH60^g7ru>>ygUVBUP?PDqfFNzaGf~8fy?(z#_#{w6bXwG#0F% zA%4`yPE#!MX6_Fx(YzWTKm#kZ5_lVDDNcfOli)uy!RIo;auWPkCipy7Gnn%~Ovrwb z32tVB3lm_O%LKPF!No~%F%xWMf{jUVITO5=c~zwe!(=@JoTsK-X&g3au zbHvgD{>jDaz(4K z;{2(KW}<>P^?TqNoBY@*uT67O{Wm4g8+gaSy9O>$1m$4W7ZcU@X(j1w$y#fR=ctVQ zD09v791MA0voFWzQub2HUP{>q6~N~$A(?~_U=dKn8W0r{FltdzFv=xFLr_2j1#y!sVPV+~n+=CYy|o_o zsA4@TShZgDK8T3oRl$1HqaLl=s;%0p^=Q>rZPmUv-}lWo-e~ml2qDJBO3K7Fu&@Lcm5CTEEEOBz*gmirjw^wLgvK&a3{54FEEA>BMDisi z&{8JKVWEVj^fx788U0;OE7B5H(BF)NY#EYTOJJphoP;(Bc@nfsSS4Y#gf$Y@N;qD^ z2@+0}a1u@aNW#eyPLXh`gwrIPF5wIbXG%Cr!r2mjEa4mp=SnzF!ub+@BH;oF7fQHD z!o?DPD&Z0dmr7VC;W7z7lW@6&D{Pk4Sh_!ebI1m+)%|Pe|A*VVi^}CHzLhQxcw*@Qj3KCHz*xa}u7H@PdRF zCHzjpOA=m|@QQ?2CH!8(A0)gc;dKdbNcf|KKS_8~!dnvFmhfi@f06Kxgm)#pC*iLW z{wCpl2_H!KP{Q9Od?evx37<&#RKh;#_!@+4%BAwj zTq*&gfBmw=szgnDK9#PiPqpPIfGC}lYRM$>?YShrp5m;`W|4I1@LYCoqHXz%M6P*tBA1-DCb6P5ogAsr z6KYXw@x)Xnm9GWSYt-m@Ad04Bn^Awi`cx*_(7vKEnVXwvOrs=TpKVH{=Oxg39J|7z z{L&PfG+=rXEllK-%`O`qocw*w>cl|fN>Xj}66sX4vhHXQedpv8P0ME{T3!7WEy?_( zblTS%A2m7@9;7sM6811=eNe5hvpmu4`Ayq3Xq00?I+1CqnUl|@GA$D*vZYPgOmixq zqBZf(OF-<;JZP+&)wnF#l%HTo40!KViFCW#C6!i6xBCF5U287en#|?bf;jB^>L{qS zSZUo0lSsYT8$_Q(rn#=UuC1XxokqoekS5?BbT3a6xPuiQHk)_In>p|&j$mX@m{z@`Em&CNs&0U(nUELupnw8Vb`>MJ6WLulFc5q;9 zEG$tIb%^u!%I^_9amv{uEY`unLSEbI74rxuwY0j4MyjbWP`g;=dwEESNg}<^Gff-40_{OA z4saEisTX%;f#lnr%{kw|AygPB2f znS8P(nd?zI8)*3H@$fy{H7%T2WJ{;S3JHx|p~RxuU}BjPV=-k8O;P6TS|D>gD=Br3 zE0j9^!k*?1nPub-4fQT2xE*1F+7la$?a+Ev?WdZSXN(@S9fq*Mmw8#FT7oOqnKZ~) zYi={W_jruJR`1MD7&|!7SmAH^Fh*)Tq?(UwoYO)~bI~$KsM@XP8fJ)Ux9-^88uK|F zrjVNfIh}u}Ci96@+CP<0=L^ZbFj8d9DIH3BYd0s%a1IU41wy)uebR`~kkBeWw3U__ z<6)ILrk@x)N|TViRCHngbgUTv^c-#9k!{JGA3@p%E%9PU+vNy#)F@jVkr^+t&5;Ho zwG$@}x#>LSM~6Zmlo=1u+n6&+uG2e$Gjemuw^w@_uvbgT+nL$+Onz?4KMPROnL;lL zgwS#w2#ULwnz5jb*Aszo(8hB!hJzGHy~Ga+1+tUac#I;U=P5LlKw98NC*X$;Mc5BL zK{1-5&ce-;^4_~0#mE$zG177!qrh=@DxRu)^rmNizE&_N`L){cCg_Pyo50N&(WFh# zOM;uwNo+huo1o`u6D+51bl=( ztyXoO)@HhD2OHU!f^Kk12$$5dDH9`kBZ zKVa;Dmg!K0{m>H>quI$Oyei4Jx0$tQ3e6a4xsH)ni|VvIdF}tF7JZmgi&|}X6ZAx< zP2gsXXwoL=C0?{aP($n_HXfr*(DMaq(RZLwEt;!(T8r8$BNMbtZ@5>BzGmZa+T-1$ zJkvVS4z0FqPPRSQlsqIw*MmFqmyLVSbyT^yQQQP#pnu~zDVIyErEAY}@e6Tn3H+xV z{tMrL80z0%&Bixee7~KxrYYI#T$+u*tHAbT<&tc!QeUN2HYGBdY`(HFS((8rC(_hW z0^fod-@VJGY^EH(iwO`zd`q0qhLhV<>E>h(M44|!c?@DPyc`N!5$hEzLQ`VB(P=ka zmFkA9O<7M<#Ry6@SEkxryElps5c_q{XuNH$a9J1%iUZ!`qToOfu~c)p*eD(V(HjL5 z@tT(=@DB}ZaRCh{y0bVWaSGp!O7Snnm0pvbjm{kmv9>tcoT$4uGv)LV#d8Kv?s};0 zDOMs|e7SG^_!oUyZtOzop*XyjPsn(kQ@ zv^$TV^9;N7(6?KO$ZmRp7OAnaTfHK?ofl-cGwF#YqR5$4wy8-ksO4(p+omUdQO5o3 zTo&@$|a2`L$EN)KH2e!qOicWc8V_+t<|NTRgXm&Y?ybpeO!VRsUc!ZxqQFs}} zCcF$I6kbMg3d_jvK_RW)-iN)^Q3-n)h)utC{0tTd%0N@1qfzQf(W+v4U58(vlzBq( zT(7{_dV+k_6X>L#An){m+^Xa4h{*mALYgb*`|i{ z5e$>km?DSFr8qRF$t`mlJu|0OiW@ZYZ-6oOTr^GBUYe!{9c^+x3N21x2lY~Ta7gGo zYD|!$?r>5bO*N*JqsEvVHHYM=F(yaNAx@iP<)|^Q9W`XWqlPf(XuETE4LTYU`i>eC ze~S(RG5w>H z^X(zF4FBjyr#^f)ZA%@Gg^b@h*MZpM`{~5T@Eh0A7p?C1l%w%W;^IVWYchii#+vuG z`i9@PE^x5Jt7e(cIwHJ3^S&}xXKMFZ5W6!(poF*ms))b{#$`7gqV&` z%@F-Wo%j`w%AIG#t>ShZfw)85>GG!IU*g59?iEFwL~ju5MM=?(qNvxcDD5SPSgcmm z8>F~PBCWketpC9Txm(Fbpv?V0iU5(RZ^bUJx(o5b|NNYqKa_P~9QQHi(2fH)k=@juRtAqu5V0DRZhEzBXsPYYyrZo5h35*zw{aG_jXw;z(uU z7T3fZa9?|)iM3<4ijuM0#7NW3foR>64t9>G_Xx3$XTB4sjeovcJ_9~FO@mt(&YH!pV+zye3h|tH z0rSA=gD>K%-*MVT*tK1W+OF!hwwJ`qsFQp<0;`qkuwPYtm+CQ;)FZj1-XO~G?TX%7 zDxKvzsrzA3Q&J-Wi+URd3dAcMe%Au{>kWrw z7R>F4xr4?0LA>V1(&!JPs^gksq}1LAd#S!HM5kIYRG%r`h@wVnA8 zGPgu9|Hv`N*qM(Z^YIAgpE%}NJ98T{pNwF>$uak^GoL}`vk}a@T~6EHc5QE=wzs>j?LF~V z)EVkyKg33Z#mDxscd^mDr_^zMjEc|cW1CbT`x}QJR{;M3;y>&%{(Y_i?PF;`pI`&} zRH4It>;n$7uLbitV!mK8ABw-bu{8SFe%0~umOl0s?%dak#PzX{kOksnj=8^``7JWP zi(r1jF%PgZp%?yuz9@qEDaV{(XG&z2Mlk=uF(=xYeUVua!Tcx3JkZXJBXeK`^E0ku zYlBRqKfn-VZf{|7{o!-W1E)WHfv^6>X*l*96V^3y$ueUSj zBXdE7okd({nHgl7eQXgjkF_wlJ{CCVKyOZ4gI!xAYI81fI!7g1TQPSKnT3r8i;wMN zE!b$5D(AR97CPrZ35P$t06vZQ6 z#@!XnsgBRJ^sy6g=T20l&O7Jc=RhBhd8D0r3NlZPV3u>td3NTR$UG~8*_UG;WoMp? z%=03c6&!QEop~WLFN$FHj+wMGpGM|05zHMq<`O&ed1Ss2!5qd_Y)g=7_J@~| z`HF=Z-5+-1v@Nx3dkwX{-fe9^;0ic}1&m3}_J=pIfZtN;y3!wZ=J3l3;NL;~yIsat za)rIzQrPcfVSk{|;r=k3!=x>kj}h|;iy6V?-iqpY#?l`?!=3wFk?j3p7mk^=GrvUU zR}svS9JAHV{05odMlg5fm@BQ!SWJ}0dPOjI; ze2{7Mhu8pQ#x2a~{xF);)^67}7_|-Qwzev+fLCDwV^VYdA-1C^iw#riy3!x2IsEDZ z_)5eN?=pT2SJ-R#!jA1KietMebhtl^ zK(4UQv=nv%3%gOF!~LO_!<=QoEI~{Qi#dqPy|b(1KeqIT<+yWcMY8AK!5s4(JF^v; zD-3f`@^9YW4g`J7N6OBC> z!JN%8ue38CLFS_o%sE`eUKM1T{ox5@ZnZGE{xDacACAPg+p%M?kGaUnwcHnd+xdC-aE=)|NQYMfV$$z>a>={dI1GA)W@SN9%u0+i>CtlHO~r6&vG3BeZz4~Z_Spz zZ~6kc_$QgghQQ<#lRwJ9?DVb$&beO4^j6=}rR$pl<<@KYoiuFe>=`?OXE}Qf!gMS@ zu$*=vAYL(u>m?ydkxMtQY@6o_D#n(0%_aEt|=Yk zz%{<|+!xY+^Hh4B@1JfJL*j-uy|%5 zfd*4MYu5-A+n&j;@AVOzekYLaH=FVx>v>t)`o(nD}B)!sqW-XrzR zJB%Gd`!%$_!nH^XwQ88)Ux|?bJ@UavxW+Gm>-advYcfWPcbQuK5a|JmdgFm9q)`bG zrX#Buf%YM5zOncOH)1S3wl^e2UMAq!91Kh+8pYx%NA9tpsd+z%eR)om$;w;cq3d%Q1GE zZP&xT+sC$J?72Sn5%K~*p*S38EUajm%?0A5$#Rk?v$&UtHP?@IF^+YQ);Wm3F`LEb z^yL#0XSEtfF1$y9ojl%3WD~XEB0axIpci8F96fuP@HvU`p7B<-U_}u>g3hiG?CTmw zB+*k5|0eQy$U#|Vo3DfsqA{t&5mHzrQi{vG#v5dP%Ymh31^NJ2^j6w}hyiQO2|(n8Y&8mA>rolE0fD5ZdG3rDFec`TV3 znBfOA{OQ}k47f8e(+B9A@DdEWI*xTgX2_2{`S$GY`SzyqtH1wv3E(C=S-gp@4Ce8W zMU}-iiyaobEcRqP%0j^wo9<^(!vVuX1xE^wS@}8R#|pmS^NE5l6+Bh&m4dGoe4{{P zbzMe7MpK3^Az?HnOjS>{@3fMsS*=plwpuF^R9ADJZRoCMm=&^6+IqXLclqB;qpNGK z-n{1y9eb`}mNrO9j+tJkd3K%Y>W!MKxjkoS>bG62|fiM-q}{yGa>LRt-zv=`pV2{`(U~~42Z^F+gu3dAxhSicV8>*JjQZW-wUBZPxt;EfG&oG;M zmkhEsyVq^#4-Bt?pHIR=)CI z_M!M9ua(jE)Z=;ju2EFTNbmsA#~{Ho;GHxE-bs_-oiq&IN%KJGJg(vz`Q|;{0?yI@ zG)E+_lcq$cL}zO81*Bg+lO>XAPno7`KotgfA0H5su#6id!_L1U@k_*cF4p-bJ{&l& zQ3eTqYO(M;68_U!PdkqkWz5gd39G^LOpWtr*0*Abj75oDj3shAp2%2~$R#3jc?1z| z02BErmPj&66XqeK>oNMQsKo&Y9t2P-6_tw}|REX5MJi`9X1s5Pl5k!2!s zV+0W%K_;>mOC%j7ax0d|C-FqmQ6hJU$jS&JyaP<+Q`{pNt%w{YvKC8Z9p!;@s3LNd z$T|@zk08QJ$VBL)H;DDuVDO*+3FYw%WU7V5KC*p`_n{sarYFR4jt7;2q#y;631d-~-@8;3ME;;1l3e z;4|QJ;0xeO;49#3;2Ypu;5*=Z;0NGG;3wc`;1}Rm;5XoR;1A%>68fuz{~tL8-C$96UOZz_^YU~& z>+lhaLXl+BNtY+=Ovd3OqoY-+ns8NB#z|(vSv!#k&voo%xHc7@mQGdLnFUiETw~%A zyQVhb^v}0bYEc(E8Jq4@&B)r>x=ckXJKo7IcATU|vj;@y+l%aQ!cJC)$1lw~rG?)I zHu|C+^^2-2w%4P4D-phnhqhHtsuhE|IWk%z(x} zR)>N%a}A=VX4b~|Sz={bsitzhIf0M6HRXM8{GH&L)kS?ZrJ`<4p$=3mUk54>PzV3V zZK4h~x>iFSsPLxiKsu$N4%88TNY&%MoTw=3K%K7D0s2yptG+DH)n!3nqHT4+mv0r- z@~vX|e5-(vZ{%pB;|)1d;Z5gAI;9~;>PTUZ)B#_PRJ0&RdOVjSB(!0Gjl{TVl?>ky z8ciju^&vF(z47Ia&dOg?U9g=Nbd%p&3nBMCweLde^W$x9$or4ChziNyV*XMV_12d)gTm735iUmYxe0L=oj%(K-+>87-XazwR8vOLBsfwc`nYAL3^8V=C8ZUq9gH z8|~|1kg?os^gsh-=y#oyo5{bzfK<)dE@$4!W(tqp?_oJQ> zZ-Pind$LyfK<;^3RXf@IREcM1{F=e5xtq&Oyb-KE*sP&68%sWdG_d(-R?%>nkIeM7V#usQqFG@wIBeG~u{x*U?E&gmasGh79{6`a-&TPq_WUZwl zYaPwt@1cg1sFL;~YFCCDbQ>5>P5D1j$)LeQ>Z!?c)kHBAYmKItD4nZU)SH^=T=%X% zjPH~0l!^xpuBW0PyI5VEe=w5W%*^Irnq(K7+58ig>=HAZf7_DX+|1@dL9$zz**uy^ zc1tsxhat&sWoGmE<=SEX%$I8@NN%ROo5wvtZfz#>cutW;VZ0B)g-T&F>+}?qp{33rw;*o7w#4lk6^LHor0@ zyQ`Va?^@T^>%3c#?A1BHqXoIUnauBYSN7L=k09NvbDkB5`W9w7&nH~nSLZ#0Y_HCF zA|lzn%xs>)NcNUyHcx#dySJImb0*2|V`lSYOS1c#**r^=?5)gfp594zKQo)>g|4mF zdH*2Ut8<=D3i8%wGS5R@*8sw?(6ElIv)^Zdv(r}X2~9CX7g-Y zvIm*jJWZGE!Dcqk?hxSDI(cnGn>~iuC3Skuprs1b6)!h z@^CYm*G#VLuk-DLbg#~NwI%8!%yeF-xw@~;M+Vtmo$~@uvPYTOyfT#R9n5TAQcCt{ zGn?0Q}ONGP8NvEZL=IHm|o`Td(u6L9$opyiOP7oy}xk-@CHE z&c_AmUY+yKfT-_crt_YHtNZGF*C5-gbKZ=Q>@qW(cQGV;yqV40ACg^eX7j#@WKS@& zdBa7rCz{#3QzO}v%xvD`k?hH4Ht!9&wqEDE1<78W^PZ9*N6cj2ixTAB&1Bxg668J1 rWZwG{1-enn^8qCu%)yC<^@xh8#5` literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProTaskMemberExample$Criterion.class b/tall/target/classes/com/ccsens/tall/bean/po/ProTaskMemberExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..64b5cf6fcc44e83e1c846d0984aa00f60c5bd345 GIT binary patch literal 2303 zcmbVMO>^5+6g}_xLzXQ&X_};UC~+Iw##Wq&k5F1#3e>c;B`wT2WEgg`^CqZOg z_zC<3egQ04zzmtruwaHQKZXSh7F`tXeG;pj4%axm!{IuIcdKaNJp=DoX>o%?&%jLsw*<`LDA@I4Zxjg3Z9Q-wxsLA! zdrm(NyY!PukV+q8rBy zt9jAZ*fP$zJ?UEcniqKSb%BNUvvzfM1g_-lPn=A(PVA%&z}R{}c83q|xd+-#-8moX z=2?BNq@3cT=Q=q-|DS?hxR^8>E2;KJhv87&^0-@?dAGa4ufW0#W-Xk+oQ0Dd=CNR5 zk;5qtr#UqFNEf#S8v5lN#-8u+HSz8ShfM=_1TOu*<`S44KggtnV_V4;2~Z1BVci!Y z!8!T~H0UQ%f#gbQCb?KWQoVYllJ!Vc>yZlABh{`)DxbzW1eWj;#WS>WXcRP-?4Kci z)W=??SmsUf2bO7WB?r*L3atcQ!Fh_)U^xx`GZ%az7hISI|CI~Ah}9hC;tx}@pX7qu zx!}??_-QVfswq1RKxKBIn-TV^C@CJP0UR!$tA4FGgy_&T7{kD z&s4Ni6~w9E1J~H*hfaANnv?3kDS6Srs|H>(@H$0M4p#j}s`@Ui3Usz&uXV*^)W&{P zxn_9|hFsC?XOnXodnIG9r0kq`GtK)Ap~+9Qo^_*OH^~QWe|b!|41?${kO>#bgjF)3 zO(t~Els1;-nwGGcq|79=G6}8BfEND(wbYijA}ROHRMw}IfiH>Lpu0}>T4Mo8y&I@V iXTohWBQrBHGb1xoGKou+RN^iAR{>QbtK$Qlh4~MmwTtlp literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProTaskMemberExample$GeneratedCriteria.class b/tall/target/classes/com/ccsens/tall/bean/po/ProTaskMemberExample$GeneratedCriteria.class new file mode 100644 index 0000000000000000000000000000000000000000..4fe2a9c80e24870f3b9016b5b245ee990d6a206d GIT binary patch literal 13187 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 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProTaskMemberExample.class b/tall/target/classes/com/ccsens/tall/bean/po/ProTaskMemberExample.class new file mode 100644 index 0000000000000000000000000000000000000000..d04fd5f8a0065984dee06a93929d917aa9b361ad GIT binary patch literal 2316 zcmbtW?M@p<6g^|spKOdV4k>|>r1>&7!EFqF9B&ibvm55R`|AzI7ZnEs6-F4OU zQTh!1(MqKejnoI|GgVd3tk?Ep=nqpN&CHJPJ@?#m?;Y{iKY#oQ;2w5z$fKUdY7Pn1 zv$%jS)zVPQqj5aOT8^i6b=pW{Glv}N>f=coPt$mo##aK_4bKWp&vG3Bz3Dinw_!`) zH+_Lj^pi}ZDKPoWG-BVvGqoNFKf1R_G`O=XF205U&};_2LkPu1hDd>{^S4bja>n`;H7c9ub>EKd-h7_n>ANzUlb2K-zX~&y-H> z(5-##xi6*vcFR22GrcE2$b&=MywRgtZxA=NYB^TW5Ev^jyb{nh+%_Xjv@FNm?kKO9 za?cL4a1Cj{lAfi$qf0IL&Y~tuBgJRXf^P;pCsn#wJ}r|XRMgBUqcooDc!8FV2e_+a3)=$A=Soq> z7b@oBD9-H9!Eo>Fy)o55-ya2`S7i0nG)8hf zW#CveagC2+o)734G^H(1nvyr%DL4dXc}`#s<2J zvZ=roR3of7k<`yaM6R4kWD$2rS1BBK)`qjVeui_mP)m$m!>190O@b)_bxNUCkC9H` zo8g>pv$W+{PI_Nl9iQQIA}PeX5#n})SgibxOe+Rk9dPWHzDlhYS@=6K>|%tSWZU(y z@Aa|m2z$PdeT=NYPsk6)84D{~WOIQyNwSDmQA+>SLpdLhMtSiGxY3b!iOZnd(KLr7YZlwvS}#t;e=TG+>v1Hg$^rFZy>QP+6Wj3!UxT@e94_;^chJu^i z-%{|Fg0~gCqu^Zy?vUbgIg2W2Cm9H69 z+o+fn($X*1bu&-i!yfOnY3oJ3Mtk<;Yr1CZg#&gAscsvk)GQ71biG<=PWROGeAd?N zy47-Z=%=qbt^<}{GqlozUbATHlj&Ir(qRd`GZoXaHPc?uN_9Oi5U z@jmWV_0zm>gnW*+-5>k3kI3XR=UnPY8(`~NWm+N}R(T;C^NiU`cavW}s#Tp7IdZ!r zp^pO3dKJ+}f!YT6c-fXpR<&*K>V%K&dX0J+nobO%Qm`3UQLSuyHKkH0k54n{u1hn} zNmqNk#%t0x^R60O+j#ZJOFTZ!ZCn@LMzJd*h4d<|oP;$V0f>p|x=|`PPbHeI)N6VD zpy8;pO<+6tEvwjv2^CwgRmB)L+qfC$CV`}kJ1Ra$M#Xj{RqQ}Y#k1I{Viz~Nu}8vc zw<5Idt>O!ODdQ^@U-SBJ@Ga5C&q|OFY1U$VGOpq~e9sd1`$B-m)S_yp@GU=x2(mIW>K9OZd0{0NHw9~ z-K62y%WuIbS4+BhYZ0wl)lGW!+r5Gp`%HKXN!xu;;U{ZxS}O`)MRay+nO@`~jq&9hXUJBhFw1Q}kOE4tNnSktN{(rm1aT{0l-q z(PRkj;thd|XE57XJVo9iS`!&h+(*dWI_ivWLYQ*G+m8yb#`cWH`C;mp13|j{AX@@K z4hDmC`9a1BB+&tcFNi^22?Xi(gX{IXSPAZI&(aOq=^*8@RfevtElAm@TXVt$Yuf#f@YaP4J~^LT?={{v9{AQu8b z-h|dz+;%mpA7qI@mOFrO@n;bFOp933&c>hOg|$vt5$b5&dSNNTdQwBUz{D{cm!U$j=_AKtUBFxQKPA(SKR!c;woO7~lE(x+4W5H9=&3O1qS literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProTaskPluginExample$Criteria.class b/tall/target/classes/com/ccsens/tall/bean/po/ProTaskPluginExample$Criteria.class new file mode 100644 index 0000000000000000000000000000000000000000..67c7ca8dc5be707000b7894bc00603724fe6891c GIT binary patch literal 13645 zcmb`O2bdH^7RRfXWfztv=Oj^Gf(!_VxQN0M92pj57Zen+*=d)7*_mZ#mS6 z=ZPkD#F+?80wx0|08@aez%*bwFawwgoCur*oD4Jrvw+#a9AGYR3NQ~y0P}$bz^TAO zU=gqwI1N|=oDM7n&H!3~Wx$!ha^NiBY+wbj5@-ch0jq&Ez*^uOAPJlctOHWOdY}#1 z0Bi)#12zHeKnJiH*aDmnTmWnZwgDFc7XjOWi-8@$C4dL)1Ui8<-~*QeUBE6N1MCL& z09l|L$N_nv2iOY~fFe)=dVzhwe&7Ib5V#Du9Jm6w61WPu8aMZK@_iW7ec4cy_ z4|v@@S$}45oEAro@p9=+erJ2hEAc6qrCh1Gj| zy=+H5Jb4&`+D|@;JC~!T+Qn-NzDNCAbroa#XmWhtnG27^*OZR750pe_xAkVTj#}DW z`)!S=I%fHR$f?aeX}Xv6iV~Mo<=$LH^*X1*-?d)}?%A9)l2fKs=M?h5lm&TU3S#o$ z|8befgX7Ls$pcf|cOGy}DtTaP=q62%M`B`1kq4%^l?UicyWI3;YdJ5g`Vz-B6_I$G zQY+r3EQq%$VB(D!9amq8ktyywMqHChj7&{+j7&u&My9kXMs|5QMhIxTzqi-Vb^3H@ z6O0}9BQ%*S`CWd&eu@S~wI@BgEI6|{?J%oQcfnw*2t6>#`ptAeio5XIuM(*eTxD=J zM@_Lx`QF5HB=D>jj;ac{=`}kXrV!Z_9L4HMylt%Faz~D%vQ>Vuvyka2W%4<@FSpwv zX)hHrxh}gabxG|p!Yx^+Hl2ysS>?Jv(ZyCNy0q#5)G(FVLmw3DmI#4m0$8Q*=T>`Ja%2APwWb-Pwe8LPwXC*=*RVF;m>)Wi#pWy1+I^HMQq^3!VO&4Auh1bCdUZIH;?x zQP;ZaR&|@JZU^pAce?5>;BIw~tL_Ev1MUYN03HM$QV+Z8DDa4S)K!lGk3)L`c$Ip! zt6l@V7I+=-df*Mf8=<`kcr&!O08c`DEATcnc{}hF@HFra;GMv`puHP-k2>b6_X6*O z_6+cT^#NCX5O@~&5b$B(Bfv+YeGK@x`h=@K3499Lr-9F?=Unw!;B&y|fiD1G1il1( z8Tbkg@KxYzIKbC|Z{Psm1ipnP&ja5Ez5~1fya;?3_#W_m9N-7Q57m!c^<&^CIKWSV zpQ)d_>KDK-fnNc?27Uwl7TWKC-$VNY@JDEW0{)C9e*yjq{0;a!@DJdh(EbJd8`^(> zm!Q2&a1=Fh9H0*92h;=ofd^)nhCvM_ot1 z7Sdmers_ZYm~x(`f7Ge#iB0rZ)xDtV>t0kh&~LZWNZqJzQEJ!!d4H4YTJQQ}uCngE=`pG&sAz%%-Oe zXE(@fdQ5S4qs*q~8)pxY+4NxK?13_yo~WGNB(v#J%-MrvHa)|&ouI!#y1H?4f79Lc z>}TY`GMU~PT8`%VkT^Zeb9&pb`cRop?F>R5^RP%%)FV&YmH&>DyS_cAn3SlfyixZ)!$9Q6|&3xR#@Neo~ws<~e=E zv--(0oxcCI9?A3OI6KU9nmBOwESXI+4$ht}vuUcr*>hwz&2cz;uFR&%5oezwvuRev z+4E#JO~*JpA+u>7r)@jW=f}xmp40q~kr&8hnm1}Wn&+p+>0zGJjFZ(D%5<8mYCV$Y zi{k7s&uNm&*^6a1&5k+yG?`7)YR+CFvuQrg*{92Fn#gnZQkhLF0Gxe>%%-IS&Tf&} zwC2Fs%Vah!R&e&2GMiR8v~7>E<#BR2#%Ohfktr^q0czVGW2rbf9AmV0$jIwuGOamkIXcGL;`DHg(P|~D zZ;M_x65o=%jN72nN5qpoV{6Q)9Nv2 zZ;{!w?9AEc%WPV&*0!DJ7sSb7p3^!vBX5<-v_7uoXr6D2)5AQcm33CXP^QzGyw)Rm zeo>qq<~c3qbM|(bO}hY`eX-1@?E}u*|cH7*`Ca%oes|4DYI#dgtI$k zHtnrw+s^ZJoE+vk?a45*FOz96N6XPXzcfw{^PF~pSiMW8)BcgxBYD0n&JOdOHl8>; zBeJn$#o4=MHf?or_8yr{dt{uQmD#kp#@XF6n|9?mJ14VgJCC#TGMn}RwQc8lPn>M> z9Q%iiyjLdEzN40-d0vRqO`c=NlGTeco%TAl9?A1koNe+Po1~oGE3;{Lm9zKBY}%IP z?ENyE_H#M=fXt?iV9q`$vuOvJvoDj`wDru{m&w8vp&UmzPCa9a~?+DsJKI|M-H>rX2zpos19;XCjbBd literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProTaskPluginExample$Criterion.class b/tall/target/classes/com/ccsens/tall/bean/po/ProTaskPluginExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..af3dd44ae763801ef65c2f2daddcbdc6c50f8420 GIT binary patch literal 2303 zcmbVMO>^5+6g^MRwk&_O z;3x14V8H@r$aIDUGi>=eELgB8-1{VC$JH<`oBKZW&OPUzcb|TL@yo9OHgVrV6_+?% z=I{ZBD;%zJ_>jXj4j+|J!*vrkO0>Aip=08fiQ58Je-P|?kv9kgX11QV&s@iMgFUAk z4ZUFRia`FE>yOmYkDv6OsD4Br%b{ZYPJF}+2FXl(&fh43uaccgPeorU6(mc`_rfTd zm!q!_)Ll2&_0>?IvZtcXSkqjym8B}z8SIj%V_ROJ9*y>UYPjw8d@Xa(cl{lA=#A=TO$dXXCHS}XU0Kn**-8-|KLUE1mo_MLt|R6*!OuJ1cNIGhOO<=zHvR$nmfy){D6DJd`6FW%*Ft*x_-2T&t?t!*bcg`K% zJgcvilv6x-rIQo%|0(FTi%GJvl2Ugt8ury~kGrLwb-Nq<3Mx2;;}yJtnF?k(%wfKQ z1rBd=c#A`wkF;@Dpr&8WDDr%VuZedzIBc4@CvfrqHJ8Bg@q>&@IIhrk;s24vm7wy!|u8 zkNVgtiUr;@{=gE=EAas|utF<=w{eEzG}xF1|CtFsn+cZF;J-4#=dhZ=ocm!)_KQq# zGZUPj0!t$k+{y$Oron|wu$>7ur@^I6@LJ|o6{if7wG42M8hSl3>@(^YgM6B^pTn}( z4k2uDh@zc4MDC~5zXjw0IfI;>g(c@ulk=FB3p)2gj8EEtGU+}PV3v)9<$F4lqioGF zOZyOpy-rl^-%$D%Wo9(Li<$GxEWr)8LY)m+C+0N}ewJVNACKljvGxf=wo@kqK=w zVI6h3fhFl^37c`sR6-+_&`1qv@GnqHZD=dva^Fj2eM%YllBf;Z>r`)LEFiA;Jc{zd hgxgk1W~F3SN@gWw1};)k1Mkzn3Mdg-6(3_6)<2u1i|zmb literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProTaskPluginExample$GeneratedCriteria.class b/tall/target/classes/com/ccsens/tall/bean/po/ProTaskPluginExample$GeneratedCriteria.class new file mode 100644 index 0000000000000000000000000000000000000000..611c3c9728c4593e262e46cf125fdd554371bfd4 GIT binary patch literal 20757 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 As{jB1 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProTaskPluginExample.class b/tall/target/classes/com/ccsens/tall/bean/po/ProTaskPluginExample.class new file mode 100644 index 0000000000000000000000000000000000000000..a77f59a4d83cf3f719aff4a49412c92b37e6fd68 GIT binary patch literal 2316 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 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProTaskSubTimeExample$Criterion.class b/tall/target/classes/com/ccsens/tall/bean/po/ProTaskSubTimeExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..2fbbd0fb30fa4666d99dd2648cd9f389d58f619f GIT binary patch literal 2307 zcmbVMO>^5+6g^LpEz6eOHciqdg}8)59L0(F2$a%Npr)lQp)li+Vc5yeo1j*aGLl^2 zC-4*a1+ZWNGh{l$f*H2_2o@|@bislJ3l=T+J_*@zHB8Iqz7M@~&$;K_r(YiY_!EFl z+_ccdYaA|cc%8#V4wpE*!QnE8H|uEOEfa6oX>o-^&%{*|*95F#6z=+|AB6%lTerQt zo*Q`Kp4(4jKis=0P`T>`BYE`W2ZP&kn9|2aA{oDv9WlcwpNUWS8zl&2zGDw$`k9nr zzO({AN%MIl{o+7g_rl#k#sc=9OnYNZvz^s4RYot`B~iz={7~K+?GI$U?F|AYGa7oq zju-p9&Nq$pQ$L|vd$FI&Sk-FZ2tyh70xwA#1C;F34S$=ZsU$6AeD!JA4lm4V% zEkC((#Ic5-Y>hqRjN6m8RWJFWpI#Q2>pbe$>JC*{vOjS$*E+G2cK~CX{nQ)YdEYxw zeyY}aS9Q*MZ3HtvO^u)#F*;q-vAC2OnyykPeES6sH2EPLv$8g-n3C!3y z$zc|AHs(2;;&7V70w3w(x(%MyCeZ> zA}VeDiCFLq{Rmq0BdI~-T4|m99prUX5e`jZKi1I79I%TDdd| z8Y|8Z5Z|d|PgAV&ruHkAXl`c*(8e;Y1fIn?iql|i8vI)+__StrB_v(Htg>but6=oo*VWt^@~P6 z%{upBIctXyjyOckF%DsTU-&nV3SIjH7}`TvI?&PuPU@Pg_(75!!1*1L$AQltHf*)bB&lSEb4VE>o!*O zmQvwl`3n`DTm^Be_rNuF_^DG~m*%AUAtg6VykO!*6E9H&=c;egii#yoYh7^< zjje|1c^1e56I$b@+^ z;S`y0noL;0g1(3){fv^ZnWZcwvFo)(t%A%d$gG0Q%E>gmN=Y@Gr+*btC$c8q!C6@U0K%V;lmGw# literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProTaskSubTimeExample$GeneratedCriteria.class b/tall/target/classes/com/ccsens/tall/bean/po/ProTaskSubTimeExample$GeneratedCriteria.class new file mode 100644 index 0000000000000000000000000000000000000000..8360885e94767cbc9221083045e855e5924c3b00 GIT binary patch literal 20324 zcmb`Pd0u1H&XtCLk_#sY_kz zQpLL4x@%oQiHN(cSeI69)mClQR&CW*ZPm7RvEMoOy?5VzZ_b?;lJAc)bI-l+cb0q3 znfLCCeg2zA9v4DPf`62X>tJCq99=46u&_j23yb=~VpviP$4FROD*C{(VpvfsN?;ku zk1dAdN<|qgl(3RMkC$))eKydF6D1_*vr$4*DUzCtAt_;%gcb>_NsyATM#5SNX$k8j zWF)joXp^v>CbJUSCFCS@NZ24@qlA+rY?5%Ygi|D(D&aH<-( zgmWaEE8#o|-<5E_gbO5GDB&Ur-;;2$gi9n`D&aB--m*z+;RXpeO8B9KA4#}L!p#zHk#MVo+a%mB;SLFRO1MkHk0snK;T{S1O1MwL z{SqFKutmaF2@gtmNWwM=of00FuwB9<5_U*DpR&q?^1gy$u^AmK#`FG={hgkMN_S;8w4UX}1m3BQu?nuOOSydmM&5`H7$O$l#F zcw546CHzjpI}+ZN@ScR*qYzJ{<=*sE!O|9!{ znwr{^nf97oBAu>jOeQilZLKv6v#m=K?Q0izG%iW4OU^whv92wh9HYt8YEfyQ>8VUA zR|}%oxbaIt6wPjJM)m#cQ<>y~j&+U6?2<%d8YS`i)}};yX#$PMu`4Xftxlmu1Lq~t zz(g+D?6T3nnY(CJ9s+GEPPH#hq*KkxxMM-|TbxTYt(~7}bJdr(By%&I^0WpQS z&{%g=K3%-w8jBSGB2CNl+P|%oxnXE78V_q)yw;-x%y;#yR)_;Fg6wztBE?q zc|Q5=p$9%W`-62_5v<`&ZC)LZcJfMVn{MQpiUM_tm2R91t?Gf5rOJ5>Gx_gq@vLNS zV={@uWAnB+Y+w%*>;2X02BRs|IOimDiB#Ip=%M*?FDGeF%}ey=Q(~ACW*!X>%>^=Q zFZ-mCGDAYE{4A@q%orCB3@xF^4+_cL4GH_FW5xKV=i3k-m(AMFG?TH&OvVbST1p=n3j2 zb1_AX2ob>-dGR4#u2e^d{BUJvY$(L8I1rgVSh?XKZJ2wZAC(dLLgNyuRQD2!2o;lW zkryLZqMZ)ft;H0iMae{3ht$g%O0w{T7Z*x|z?_Z_l~-WKj1hSim<&W}Oo3U$d1?p& zh#$34wkhLs3U}agiWhBOK1^PwrTDGkyv^9Eg$m7MMFmoi1dc zu`?jX7MwT2Pq`NYd7A`+e!?u127)p)w2JCr?*jKEo}YAE(opEO#9!Eh8w9GAkb!Pa zG5f5O=R|IwnZ4?PVf-d*3#h%!&eBb4^UR!=xKswF&`Vh=8ZFn!8n_RggQT8hs`<#P zSa?TjYBdv7#oV(!kec-Kt_?M2!WrdV?5Cqj`morzjDFrVnNrYlTdZz?l>>!ti_KL% z*kk(H*G9Q%7uYMk-QG>Iuh^)dp6*?EqqJ5^vSZqs^OMXJnn|YRI?0HwrQsyd6UJ79 zpd{dCjNPQRqL&1dAWv*uMoFOOz55p}Fg8HTbST1p=n3a{zA5+%;`|=@LNi8-lCE6G z$SXwkU^;8l|4SkIET<5)*6<$aiM&1FW{hAuHy^Gq!9CDddSc@;+5j*?8PL^HJ3(#5SE*{0-SDLSni&K~{kOUFZH;%0FR z-X!_Qk2AB`#3nj}EECs@8;aqRGWaw61tI=v(xQ$`P8}gOCEJ`stkHNf*O9DT)tar; zM_ZLmiA<(7SJ{}X%-|6aY1�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 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProTodo.class b/tall/target/classes/com/ccsens/tall/bean/po/ProTodo.class new file mode 100644 index 0000000000000000000000000000000000000000..412c8afefad632cf949f5190ab13ef872b12ef86 GIT binary patch literal 3571 zcmai$`E%1o6vw~o#FlI;%|U>26bz*_Bmoy_VM<8a98dx#&^Uwwg;usjqQtR`C38dX zi{9r<{{nt(XCO?E=?p)0rhio1_q4JtY2-FP?CR~lxBJ<5Ie-2A>mLA~#}6s&Kq-l* zVeoJ{g#|3~m&wBt56e81d0640!h^*_Rl$`Mx=`XXYAM)oSgfnKs^S_iUT67+ikm#& zQgK_w9Tj&~yrtr874N8cSH*iO-dFJft9+>7BLyET_(ULPmIQioOZrtkTh=QJ*_>5b z7!gp4R>d(YjzFJpGw;+)cRN|FSxZLInI>z^(e33a!_mz$i>hf~HY=vR7(934hGWpV z$zsjW9izmW3EQZ+AC1Lvy3S*%J7zgMMVf3=ua?+`x05xan0IuiZj-8Q)J(lRZ`5ql zs+^gg5)j7)x+blP?dTO}UN6^;I0b5pR6K za2?Y(u*>H=&#`e^Zmt;!?=e$~ObK6lzCU2!^nHp>XzHx>ALFU;L0#me;_^wo>f*Zr zzek~>+t6HOhok-m2G%#!-{gO7k*g4;Pz;7ja0#PCTn&0J{|2)9@*dXc**`As&XY zTf-jy%JT3W_G;M2!+z`*Sl=qyz^xiS!{-XV(C{T6_Z7Y-&ddd>=wrIQm>JDz_y*td z#&?vd!x^(Q%EI>qJDl-~ew1K`Gu1|-kk~z(@mD#mq{-9^vQ%#tHi^mMjI8az*0>|Z zW;si-SHCpEGa>Q$VE zW!*CxrSE^-WMqi<*CiH5RQdMAgR3-jLZm5eC57~mKA59Bv z9+>v`i$GKfC2+oc@ko1pY@?r!9T0d1X~a0ss0YS4)!dn~%$+IG+?jICohjYinKI6u zDe2sq^3I(p^=RHmKWQ(}*$3RUgIGu3l+HAc&`OqOL34cY5ya1~%3&H4?qUL?^sPw+ zjNv7c1YX8CjX~oFi2W2Y-V$j%fl1GJj9wVys|JT2BG$S(<*sf=oP5I9uajEd^^C^; zVd^Oyi2&&cgY1k1If_?2<3$gocW~%WDB?bpp;dG~L8xWgTF#Qji#%NY>yg3V;i1b}NjJzijIT!7_c-VLQ$anjFoQWo9f;*P$yOWV1 zi7?24NRXLmkVF{d5P^)e0pVokAfCc$FAl9#d;ld3G8PH)DrP<7KsG61kO=~rYy-m8 z#31=dkEmggqmdwU(H>F5Ajb*hL>mw;X9hVF36czh%tV6BM}s88AhQILZv(>pgh9^Y zH5$W(o(hA^M}nNgdCxcynp7C%Jb_$j1HuiBK`umsq{ASWB0*k{21$oO3ItMY1Hv7Z zK`urns}=^i90_tMI$5q}i63zb_i-B!Y2|m^^||k{*Zoxdf;Y*I-B+OVV<`R$*DiH^ literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProTodoExample$Criteria.class b/tall/target/classes/com/ccsens/tall/bean/po/ProTodoExample$Criteria.class new file mode 100644 index 0000000000000000000000000000000000000000..d6dd48b397a8d80d61b6c798a3443a85db3f0b71 GIT binary patch literal 13147 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 A^8f$< literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/ProTodoExample$Criterion.class b/tall/target/classes/com/ccsens/tall/bean/po/ProTodoExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..8624b74ab64e3fec1258b87a87017e0f08b013b5 GIT binary patch literal 2279 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 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/SysAuthExample$Criterion.class b/tall/target/classes/com/ccsens/tall/bean/po/SysAuthExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..5ec47be64c19e267f81b891d2eb095e2333215a1 GIT binary patch literal 2279 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 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/SysBalanceLog.class b/tall/target/classes/com/ccsens/tall/bean/po/SysBalanceLog.class new file mode 100644 index 0000000000000000000000000000000000000000..ff389ebdc6f766af1ca1bdb85edb283d19b9fb90 GIT binary patch literal 3371 zcma)9YjYE26n-{svYW7#-T=8MK|y+hfZ_;3E3_2}rrde~1e8s>ZMURJNH%Cuyo(pS zfAbgc!5K#fDKk3bS7-cD>T~wpB%7VBV?Uhpp7%YMC+B_6yVJk^{_PI{hwyz0Pa&Vg zE)+z}i?Bs3h*%V{l!Ak0S=|s(6tSYCl!A%8gqKsO;HH>W12qG#Y}UoTW#CQGZy8uM zaNEG!2Hr7n$H2P=-ZSvNfe+;TLmeOK_*lm$8e-18hVI<5b<4^Wt}r;0dfwuG!Pd|h@XD54d(p0nV|ihrX1f|X-PH=c;*}+Wa%Ot9Hm=%~D@*s{i?%Dx>m3*j zw83v}ob8gszJc(WAWJfI*6)3io{e>i`+f}#o7(cWE+fT&rqkwN{)SJZ#99B=q(oz_ zv&4*di8^=H%HZBPb))@lMVohO(AW3a6s+hwNWm^%WZ}k?Rq^`ivG1-1lc^_Kd}#J6 z$Ox0k13rzGwOk~Njy}YIzM?1J|bx z#_LXT-kXZlbh%zF*e4y2Q*HFvFSBOi1spc98+%MVBVsQGObm(`5;2Ss9d}K9iYXKO zu-`;R!~q=Cu%$JuZDmb-hR=0;Vd9=deTlCKG<}65e9EdVrAN~yzQ#9l@GTiSl6K}t z#rTe#8%e8iAJvc=N&6E|g9mE7xz4SbA*-IoMM{VH51n` zrD4zinj_AA>zAI*FWUva8vWju!;$mm-?^>EHsIN~qfS0LD+DVnD_S+qZ(kdMy-m*Q z##RyEuZtnm&Pt_dpRrc>CM2v%#V&DT_eJshKUiRJaF*0d!)GU}VaGr=_#m`hAEC76 zSHJk^`u_Yd?Bdg};c2806E5+oiwT`PO-6Z|r1CU*z)`ME<$z-trKMpEFHyD!|BBepq2L{n z!N+mJ4<6$$i%F@W;fIK|O3N5HHqj|9>Y2C_R6$V4=djxdk` z0vTKfh+K>SnZ(PK;f{2Mfs8}~If+;N;I@u*hJhR)kb~<05oQRGQ;|U8VIYShfn=kB z#KS-i6UdQufCx1O$mvKRi7=33kw9LJ29gK^IZhxa)&U~3AwY7Nq6}Y+9tJWQ3FHjU z`oT*+S$l?t|AemHhd#Up;~{jx)Bzb8#oJTpMmB({r^(wM`2;ZCIr?rzEUV-EKMajg z>$uR=8m2K50XZ3loQs4!i#b2IjZMjL@6NGz=L0wsO`Hk&Ix&Zai;+N5VIVV+KrTfC zNri!2B9P1L0Fj4GfLz9Fl;KO<5C(EJ637)?^@H0wvLOuQI)Pa00Fjqefbd(Va%nq# zLOl2#=H*A|$_)>#;juMrTtoN8;ocslda1bIw}yUhZW4E9mZ5UYKXJHZBvBbB| z;pbtQ^Lv9#EV3mlD5Hcsl=t|5$`81S`>5h4)B??V;M2#zk9Zw#c+I-b+%Z`H0*2XG AK>z>% literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/SysBalanceLogExample$Criteria.class b/tall/target/classes/com/ccsens/tall/bean/po/SysBalanceLogExample$Criteria.class new file mode 100644 index 0000000000000000000000000000000000000000..9f0eb24064f5e1990f211b0555bb9fdd1eb1a869 GIT binary patch literal 12086 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 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/SysBalanceLogExample$Criterion.class b/tall/target/classes/com/ccsens/tall/bean/po/SysBalanceLogExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..a543f401e1d9a7dfbe2633c19369e621f694473a GIT binary patch literal 2303 zcmbVM+in|G6kX?doblLWx3p;>1>zD4aVAcNODHWZ1!7v-V#% zegdDs7r;XwiqxnGAp{Z+sNyDZ6+!}uy9B=g?0se!JMIXzyzFzCv-VnhoqguoUvIw) zU>RpDRB@QY5e|=VILhG|hetUa=kQn=H9T(Oi83u#IJ8WhFmY1A>h;4lKlb~fz@GMb z?}FzBUbyad;(;Ho9~CHG@PaM1^W(GK^Qsrq$4aCaznUB|!+tswFYq@?5U6y=?yC4@ zrNVS+1%4E#^GbYiQ=Rg{wLlF7>~$5lhMFcD^LeU_R)38|?P~j>I=i*eRfBV0H_$Ts zJug`G20pLTO(TBMkEqtxz>n2H*J_^*Lp5jxUKA<%bhzE?Z@9f)q{7IJy&!PA$_w4i zzT3GNt$1WfPqq8&CtmS3HUo7qOGF-&NN`%oPO+IwH9FB5HOlg%v;SIEXv~vYRX^&C z+Ew$Tl^upv{HQ&&j5D4ab#3C9ANuiefqjkZ?V4W|IFhqJax&FAvXeFdW2>Fm>%H`h zx2f&ao%57#p1B)J$|;_{p_3!@|0(FEi%GMwl5(fNHR!36K6lG>-t8{&E3mN(yKUTp zJvR1on8ZFCQygyPa2tndKGMV~ftr3fTd^Owd`-N `UQX@Nukuek(v4IsIcbEkl-%*3DoE(Qi9}4X(qW?JyN}Tq>}YWRqK%o*CW-gM=GDjDg^f9c8Yh< z%B4}zSahyHT-L|#q&UHw@)BlfZYKv&$1JS`?#4li<6t=szMKobCl_282Vcnr-;22% zX5-SB?6-2kja+bX9Q;l$cs>_AF%Et&7wqJM&2jJtx!{G|t168f_F)d#poU&d4SSyY zMUqdG&Q(~>!Zw5>wo!77Z5VH6{!O7s*ZvU<`7tc{32O3F?3JJC+*1iYZ3D`r`%r*c zmQt2C=!`+x8bg-mHl(viRL%EMehn37G+$4ci_BaAH{2|BHst5T`~@+8Nz7jn^Virf zzrn2h7IX4Dt-?w2XDS-03gXo7fop8=L#Mnh%}Mp&l-w|JpNacTJU|hYgH=D6sy;)j z0-Y^63r%qqm7yPHu33H$Q~sdY4#5LX)4UU++f2nI<2!{S!mF z8JI-(Bbo3Mnea22@C%vnE2iadn32D03Cl^!OhP@AP|pmg^Dj_Kt!pciavw@%Jx3Y% xlBf-ui&U>Y6p+;W2TJnK5x1?3%*x2DjLb^OBo0whiHGT51(b=biYIXZ)<1;Io?-w1 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/SysBalanceLogExample$GeneratedCriteria.class b/tall/target/classes/com/ccsens/tall/bean/po/SysBalanceLogExample$GeneratedCriteria.class new file mode 100644 index 0000000000000000000000000000000000000000..a78711ddb8aab58eb5ec1294b1f0fa257da8fd65 GIT binary patch literal 18394 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 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/SysBalanceLogExample.class b/tall/target/classes/com/ccsens/tall/bean/po/SysBalanceLogExample.class new file mode 100644 index 0000000000000000000000000000000000000000..4f1433f054e5e80ba08e33534c50dc3a2a42ac5e GIT binary patch literal 2316 zcmbtWT~8ZF6g^|spKOdV4k>|>v`G_V6Wlf-DKT||AxWJ$@Zcy_^ERwk?xxEc?XIiR zpVHsZhgK?$Xr%st{-&zxnf2OU41F*a(#-7m-gD1A_udhI{qx740PbNggDk2^Y-SKc zHH}O7QY|&LJetO1Y-M<=tJ8K8I~in9RUc21c$&nsB)$?zZ@ZRnx>nZ_&>N0py4$w& zJkt|Mg+Iw88UnM=O#Uc+vpu*LxYTvqrdvOvOV2X}^3AvMds(ri)2Xz4*K#^l!n7^V zw;aP45N{Zy>qa4ReV3kZ*_9>@>5y(&9Y^{-mxztApEsLE_n=}Jp6PfMU)pwM-;_?} zuv=*zd3DLihS}_Pp8OyW4sG-1fNHfy+{C8kSbj}ls<`r6K-=!N8DXYrIp%KfVBd6K z$$dM>qH9R|wRA1@9bRhww-z;7ndGepgTiV zwc;D)p0T{q9aE&%GXY{$?)(5SD)@^tm;XoRSl1PJSe!_xQK3{ODWl($QsBV_VFWgq z)Wv#5AZxfLJAKeSZ1k2djqhH{!=M{DO9Jz!Z5j@z$dR@{+^|ha2{Ns2&o#`amg=d6 z^V)MwO^c2Xu`DnbOioahE!UMtY8G@X;Hr+xnAdRyA0+Wy#|t!dJiuKYFR?4IexVd~ ze4%2lPU6h|91Zv0{##QG^!-T?21Qm+O>H8_bDo~;NG~N7hg!DV0;guH&$6l}LG!F1 zSq6?p10V5G%<=)9f~K_PNmKF$I|YZpBF`}_VVY-FhwC-o)afC(=SuG&O79W-<{hSv zq5T?IU+0>og<3Vt@Gr+mfZq4P$GE{Sft&aw#H%qzjCYAr`55sLih9j~ImA&25a#<< zAp-3K)_hHI3%5h83U|dVUiuC3UwDY&I@d&Sc_l(5J|t4aO6WWyvUrTdIFUsXS^5tm zN;Va^gmQ=#C6f4gjL5ZfiLBxd=_-Yz&f0huH_mbH7ix{MEBG{IutP8bG5%ZL8KU?&vL)Yv6`WJIeMx8X!6|WxED12UyT;sz5oCK literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/SysCommitedFile.class b/tall/target/classes/com/ccsens/tall/bean/po/SysCommitedFile.class new file mode 100644 index 0000000000000000000000000000000000000000..36ef2cf3252f6a54cfcd6ff1c3937d1e8b80d515 GIT binary patch literal 3684 zcma)-S#uLd5Xb*3TiUg}4!$tq2oZ#UFHks>!q^EmaS#|o5SRdgWF;-u8fhh@6=1HA z`yk}L_yoKrRl!t_N)=D3%7;qQJ+soTwpL(0Oi%ap^!(J*J^RnUzyAeb7w*Ne3G*Fz z4tXA|I2Le`X9XULJlH&xcqsF5iH8agRTWMgU6|(>wKy*03aeK&ENZyM#_O!#&~TIG zEe-EzxUJz`4ex1qU&99)KGg7$hL1IT!Y-ex_)Nte6`w1JSUCmVGYiILBUv!)`Q%K= zo*z@tZW~2YL9cHm?NlteRyLfxg0^CAH#t`G#&!~p#s1N3sb)J0`h5FRwqwql6$;vs zt(b;m=Ju0^duGkC3dsXx|GnQ@6)`}Uka>B?I z#Q!a2DXc-kNq3FyPTnGnp_y!{n9OFYrd>@sMxl_*n1-D!my+ql>Qt#%wCJx*TLu0r z(RtHJQD%DwhkTiEa~rM7#lFGd8ndaibyg(5ziD$L{VHvj4lDfu+;tAoMVZT9JYtl^ z9}u^FR|Y;NZjK|!S&R-l!q*rhlbG=FX>q0O<<7`YO2-`cDyngezovML&!>Kj=fcNm zPDv)3TBn*(u-bQpa$&M&6>_57aJX;r9q}g4QV|?9 zs`HPGd|MW0;`1 zE*yQL z>S-|bh`Umdq8+OdNvSyWA8n10RB^Z=70iSpM}x@QLXnR=5jh$}-a*JaTOe~;EdzNr z6gd_|-V=&^^ohu^Ao5;99&3Tj9k2}KW1+}u5P2dL`Sm9vt3l*RLY``Y%+0zC*AiZ~UVz)2c|-Q5ucnGFS*!zp)jQ+Ia+ zL5>qhx&;WoW(@KMPKSWRgCKLEAZKtk3?v=|IYS_4TY&I$${=rsf^-H!&WD1W3kT^8 zf@BCJ+X95&a|St&w`dGrjUEKK5DM}(40m(W)#yQx1p>L)0)#&(3_>4&8B5vjzMYT$ zK-cMqcxq;3cnK?((7lA7QzN~-QuL7^d;bzvl5v1F`d}$r~_ctDmvam$y!M{bL0_>Jy2C(>t%w!H8^ D&!T*? literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/SysCommitedFileExample$Criteria.class b/tall/target/classes/com/ccsens/tall/bean/po/SysCommitedFileExample$Criteria.class new file mode 100644 index 0000000000000000000000000000000000000000..feb60d09e838a68a640d41771c4db9571966fd5a GIT binary patch literal 13641 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 WEu8Ol_NyCJfBN54_B+qkCjJYIBA34a literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/SysCommitedFileExample$Criterion.class b/tall/target/classes/com/ccsens/tall/bean/po/SysCommitedFileExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..e6e2dedd1a13376c686f118d14552e530cb38102 GIT binary patch literal 2311 zcmbVMU31$+6g}&;Ez4gmX&OihaY;*KD~{C`Q<}6*+nA;wg!15$VR)0BouDF18A~bj zC-4*a1@OQF%#i5}56tk&j{@#p3E6QqOxu^cAKG)zxo7X{ufKo)13(v#Ow@3l!v=>< z4mUX5$}mGz}e=@hPCztHZu07P9|EXc9IrgY^@(T!*4!w4z;1Wckb)nj#iZdMMakh#D4sUaK zhr=QtY2$%FUB8~A$n|W#DBkUG=o)w^aQ#giOyKn7S;l3Y*ov=7fZB+P>%1Nf-lv~I zoqi@Iye7rBh{}*vVg`K1eS1);=8o6X%sXTtluDh(Z}AS zSmaGv#4^pR@c}fjLMwp_xJYppoSOxgGr=EZg5@l@o(aB$)ePqR&oi>;GQrJEaA6j_ zkO^*Of{U}@rA)Au2{vZI%bDP{%&RKR8n%)F&QnvbCx(4V{gNY}=B*bnt+itaOB|zQ z<&Tm7HT7=+1-kZ2$jeojvWdEE;f%C&?u8hiv;k$(eJH>zorL8lI+Let%?V5U7&&X5 zsM>#``~xb?X#5y67noUs8*YU<8*-hPJH%`g^JQYbf+cwsE3%7Kc}=UZ;{2(KW}<>P z^?TqNoBY@*uT67O{SPJ28@O!Xih-*XK{;6Uhl%P(w32kTWUaNu3sfe4l(}ZP0Yh$T z_Ve+%l)aR)mlAf)+fDL*PiXQJjhEe!)*|_!?JrK~mSGUxEiz$?Ot?)Z+#wV0Vo`2m zS@yJqZk#fe&`2dTQUeJV)mxnii0j=!N#37w+f2#K cl*~-Y%!Dk5Ym_vHkLh0pl!>f{PjDXQzsZ=5asU7T literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/SysCommitedFileExample$GeneratedCriteria.class b/tall/target/classes/com/ccsens/tall/bean/po/SysCommitedFileExample$GeneratedCriteria.class new file mode 100644 index 0000000000000000000000000000000000000000..e690f7739f9f4aa3a8095a8cb65ea8c28f8ea0de GIT binary patch literal 20406 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 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/SysCommitedFileExample.class b/tall/target/classes/com/ccsens/tall/bean/po/SysCommitedFileExample.class new file mode 100644 index 0000000000000000000000000000000000000000..918148fd3bc172d10cf0c6f30b0a60441ca39248 GIT binary patch literal 2338 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 JVdsWc_rE3Qlga=9 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/SysGradeExample$Criterion.class b/tall/target/classes/com/ccsens/tall/bean/po/SysGradeExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..96c1dd63e5eb33d25a0860025ae94934a6fc8da8 GIT binary patch literal 2283 zcmb7EO>^5+6g}_Rjx1YtOPdB#ATDVkj^ad=hL6%xpr)UMvT(^T>}2OnP*LQJr4+hn z0W&OEuz(pBEP!@~Qd*{&Fnkm`0~>x6<=!VDJF13BH}`$$oqNtb?>_zg&(C)NEaJS0 z8eZUVl*5Z0j&V57;Ux|yIJ{gz9j_R8wL*)N9NGp>88|Iq_WHq!7kT|aV9(Me_pt{o|Y6OR5*q$7-k;zZ@Sif_^d+@9;ND;HzZE>Z<5{rGjK> z`d%0%^J;WuU7dA<6<-YmtW_1YhnmKlvw5nD?fwdh+O^~b>cYlaR}C(@U0=)W_gsJ3 z9eBJ>HjB}_UP!gJ2VSHGx>oC45U4@hcf(N8rz1n6< z;hBNEqE3C_uC4p(P@03vFO$}!i0wL4gX(mmGwPA)g%|#FsnDDypK4y%8Fi}eg(tUp zRrSK9pP^#3d9fs0A9v64!szcJ{k(;hdVULBq9LBNF z!UTthIXuE)l8>}-R-mrm%SPn+4&M;(E^t^ha8BUx1GkjG?%@lJg>T!6FGheGhsv4R zVSYS8557)6j4~wGM>EMK>XE9{BNeJgs#T9vt{$mkJyOv$)*!GSk5YV$Rt}AV#*%#- z;-)_KIK?sElpkV>=2m+IEcmlr@N6!4EDQcT7i{N(jV$=fT<~1(Rh6@beU$?)QX9`FhP_SwBFU$5dkdyL zw+Ug3O_c58CW^OG|0YnPYyTQW`3+3@E$Z?r_R4EI_e6|O+JG|YJ``Y*)khN5=V?`-vt@g(CALr< z`cdJUPfKlRE8=pWO=P`A8TgW@4O;V5uQe19 o*ZU{R@~;uM&6Lbc$;_0@Ovogjqofkg)4vL+5Lpec;Q-8k0SGdYx&QzG literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/SysGradeExample$GeneratedCriteria.class b/tall/target/classes/com/ccsens/tall/bean/po/SysGradeExample$GeneratedCriteria.class new file mode 100644 index 0000000000000000000000000000000000000000..09e6b741859e07614a6f62de30b168d7fe81ba52 GIT binary patch literal 17498 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 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/SysPlugin.class b/tall/target/classes/com/ccsens/tall/bean/po/SysPlugin.class new file mode 100644 index 0000000000000000000000000000000000000000..84fc273b2673a0f2ce272fd20468c5252a197636 GIT binary patch literal 2904 zcma);`*Raj6vw|eZL-_2E%d>ofSAg|(53_x5T!+E3laVlk>RgpMU@QJAgCzHjN`# z8o*0fmdi>Scd;rz-IL3jT<*(dT`nJJ_%Mw$mZZ~1X_zQWv7)1@!;;F6rM#hIQ|`8o z2Ra_=sOi|!;pnLAXvmXKG&D818a#o7T@~0dyQ-F3Y1$3Xt~&xrw_-Uo4F{Qf>{$#lP-$AGXH_rrqTsmY*|q!vmGZdNsBRw* zG_6X>Grg8eQ`c(RW^LJOy1Zejupl6=3k=TJ9oI7*Z`rK1tRxdC|Aatl#&&G)qCj8v zs9jXF4~TDv$a*Wns>}{&Hpm>3d5QVPB~Eadz&`zJX);OxAK*WYdLP-Gi$Yc z*)pAcqnQU&lD5)a#f(K>N=@6Xvu=~gIVuJzZ zyQS;|2^Z5~kdV!GpsvYwprvlnrB7JoHH+Ogkf$M0_v$JaY+AQ0FdoXXI+$zOwW`%* zozkUxt68zG+Oq6JoeG|kZEoN+UNexvgn?IZR71G{&cGl`O*U?j?cUpln2Yt5LI5qo>S9!*V!J z({UaDANAEYnP4^MocV&l;cOv1kv(N1N>6X7P9S ziNCW|{GHw6?`#-Be#W_j>Z{j@HUguws_$lIiAlCUUyd5}S0mC z>m{1ZgQUKInHZ41C`cw2WEK|#=gk0Qcyj6wXyQj`Q*HD=L!V^ogG`5FI>y``4>1jQ zn1=nD2)skvaU=>FF8xE-1a}RWJG;PKEOIi6oQ*}Ee<5-*iku_z^bW|fef|gX0u4i-Mew1-Xv*;y|=0$P7Vd zcL0&|B|(a@AbJ$!QY^@gco01bvOth4JAlXmmmoJ|OEVA!xfTm@E50-XQIH}*ZtMUe zUl<9(_nxbK68;K?>FIAsuRh1F;?!gtMjL}|46RI!>{ix zlKPb8J|!iUv|mXnWqCkJnv%wqq$}y5k_MD?h|&tD`fxWj=P*dz_xZ3cVhkl5!X5t7 vF7b6+W>#0IxyyfSS5e13{&=q8JKV<)SPv!QY0#rOzGs|8KM^IyOyJJHGt3Dj literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/SysPluginExample$Criteria.class b/tall/target/classes/com/ccsens/tall/bean/po/SysPluginExample$Criteria.class new file mode 100644 index 0000000000000000000000000000000000000000..c5204140c160efdb435c86e05acdaef418702cc3 GIT binary patch literal 9844 zcmbuF2Y4LC702Jovd)&*P43vn1sf!}oQ)v`6B1iC&LtN?kZpRB_1#8ZINgc66W}yb zAOX^QuMkL~CtyMn(i`c$_X_E~lf3`l-0bY>dB2Ci-}gK1?EYqF-@MtKnU8z!zw2%y zI>9@>m!3dh2EGD(75EzPb>JJoH-T>f-v+(|d>8m0@O|J1zz=~R0Y3(Q0{j&C8Sr!9 z7r-xpUjg?5_W{2Kegpg#_#N<% z_#eX~zyrE~X+SqH9q0jazzkp}&C&mth^}WG?3YYX1Yo(yFKd47IHig~IgHgky8AJ7`8S)vA{6e)F z)`u!VqY?6%ZN*Y;EMF=$!fGSm3@VlUfiS4%$7}hKLyglb6Qfae_oczucqLrdu4B7L zi-T(UjIcD)44M;-;aYQN*t{eRs~+v^FJ2H_9ONrObu_>8P&3@#c|0(s8!m8fXzw=P zE#+nuxCOgS3nrRTC0~ph&FxdW;~ckcRJ_tHD29#3-h)B)wEFIgCW6Y|T5{v$(WiFf zh0=XITJ09^sfPjgXGaT`9O075{bd`SimNSM!>fT3^}xK zyv)y0-qDnDDDJ^seBR_xay+$G;92brQ#oWyO%9>&ZCShTZ9zugKiDRs?HLRE%tCM~vL^I7SHENGasEwey~w+b*=RncXfiap`Rz zBPPq*2SPmNb)NHRMY~9j13D*ek#m~AAMH~2`E5Jxv*Vo`%g%FSytK>WXI{z$yTV4P z9*sAnTGf5>v)wPmNV6VQN8N9PDVf>`NA5bewXwwmJLM+A2%J-jICoUQ7Z#%n`P;fj zX!O*Yh$uTZZB@Ujqj2)a1usiiGgo-DHhseBQRmZy^l@zGB9A6_mF?<|XxMUmXPoMs zM8McgpNZ1}IWruLrA7d924%LB{Ny5Z#Y}UEzuVW^{+MM>w!();KvlxvK>oU?JX&r_ zoFF)nLigZ$=d4Fg^KA^;O|k{ZCYVk%Fr-aU90oL|P<97HYPwXcrH4X%Jhd!CEDL2D zTD(i*8zY#x_yB()sS0HwYVA2xJe7G6%|HN>8?;_yg|ZV{C-R72>KxB;<06ii4RY(b z>>)a#POcc%0uywxPnQ6f z(jlLo0z4Jk(}1VbGkm%XcqZ^H;Mu@)fXks>0X!Gl^MEU%T?Jf?OP&wB0C*wrBH+cq zOQ5|Jco~}ea^MxvUJ1MkO?x%)8sN3S>wwn-Z-Dkj;7#;qpWXtz724Z?Yv@{^-VR&` zTo1ehcqi~K;N8FtsNhE6CRA`Ua0@E96}SzTya#wMa651Za2U7~cpq>VDtJHe0s5d% zcLN_n1s?`JLLc?%W5CCOPXM0;J_URl+Gl`!=(9e34){EMA?I!NXzK%B5_xoz+S$WX zfjVZrNz%<1%KEhx(i%FS7sUAQJnBX+l1Bj_ZR1~$f2R)~Chu1Mql*qOd-<2T`l-8X zfJ%Jqw=SYGjS|h{|VdG)yy2Vz}1Ep)dqvx#7BS6%r>2w}DM&H8i zDb^i-bD z%d(R^=MRKr&)3=fWs&SYoz0&l$zGtd`CBI03w1Vs1SNZs&gQSDWG~j){MnW4B|4kG z*T#19d})@P^%Rr=Pg^Zf3ZWul0?F^5kto?G>TF(JO7=r^HZMyh`=L6U*RzuS zFrCc{Vaa~D&gK=gWS^w7dFd_L+jTat*(LjAoz07V$$o^+=3N3~yJPH>EIAotyt^RC zkJQP$D`DjH7<*Kfo{TZx&k*$;I-PeyjGh`}JG1O$jPVwVWDn_V-g}YkT{@dLZ6tfQ z&gR`7$v#zQ^EQ!W@6p-3za-g@*4ex{TQ9iTVay@Se?y#XvTKOSTRdZ z#u)Ft3G(A~GVj?LIX%XPv-D()@ot}}pQh7!pU~*3F?M>Eos2QwV3h2~>ulbcl;CtFw6%RkHW#Y~Fp9?EN~Mw{0c+Or6d9y~cL){H!cF$#dQ(7UZ*a zGVd=7@;N%0_oW5-T%FAO*@ArD4H^5m=9zip^^5UUU!o`TZyz6@?`@)xX7c};w8`7j G?f)PAR2`xK literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/SysPluginExample$Criterion.class b/tall/target/classes/com/ccsens/tall/bean/po/SysPluginExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..76f986ffea78d634b7a3c3f88a8d65d2c76aa8e0 GIT binary patch literal 2287 zcmb7EU31$+6g|7PBgtCSxvP0tO&cwP>V z4%7|D-}Tf`pwd@id#q`?v6Q7M-yZCes54uxueL|~T{XPrbUiI|&~v;UXXx@e-pq%0 z+<&96;RZ>pz z!KqG8(EqQX$1Wz$#!5<^!D!f18!mUsO!{V5x%(?PgR>PpfpZm{=P-?#3T8Px$>Avu zb9|(U8v-@`Vn(6s*?dL3yUL+u;HJRk$8Rcuv*Sk?Nk6d_U5x;>4i(fmEdidRM_;3# zMiG)Lq?zO*^+Xp@H{S2OoL?_yq*buArqWSgEun4FJdu+Isa=)_GTuykqIuO!P}YO zrA+Wt8vIEn*vbSOY4A=acscW`ifO}cXMpq6$Sbj7pHaU^@@d+70MlANhOopjidOy@ z`QH=&W>KJP{~USw1x)!RYSO`Z+10scBYfNjlu7rY0JE&dEWgm1JY{Q)S(?X?)(TNI z|3c{}l$p`^Ibtp_a}L~a3)I<=ikQD5<~}jsA!ZjB#$9|N!X88>aIn?YI zqjL#+F<~#p?3}k1=lzk;Lpt(ZzR>lINdcQ|e{xIRTnUI+Y bnVFE8F`2|`lvLt%`d0xZBCFy(T!i@$m-LG+ literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/SysPluginExample$GeneratedCriteria.class b/tall/target/classes/com/ccsens/tall/bean/po/SysPluginExample$GeneratedCriteria.class new file mode 100644 index 0000000000000000000000000000000000000000..c3a5f099322ba6b43f3a138e8e3ad878b5113d0f GIT binary patch literal 15249 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 Lie};WUTXduGr5%W literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/SysPluginExample.class b/tall/target/classes/com/ccsens/tall/bean/po/SysPluginExample.class new file mode 100644 index 0000000000000000000000000000000000000000..343e91aade73b1bda0ccd0a66323d5bf4f759bc3 GIT binary patch literal 2272 zcmbVO?QR=I6g}gtzcyRPah#MkAuY5}$8Ni{X$q}F+I%&nxCxR`5&bt=ugsRsI@(<$ z!lUpE`~Znig-SdC&x8CjPEAKO_x$zmsqF9hTe5N==d$$-#BJSH?RdtjhFHVX}Z#Do6XR7ymp;1Ehh*a z&k6;^3nuCKNr+-Eq#HV}+2BD26u3z zvw0kR<#yYSxBa6$JaX;peVX+(VrEty&k5HACMrwM1+>jhi|A7g$FujkhX=O*wLEa6 z3Obf_pG)6S-|?mve&e#uNuo&3k{+sH|R?f-JQX1(WiIsrlS1#D*?d=dQypL6er0TdhL@u%$XPuPN`d8ffDl+=A#d*s zfr91RbadY-G;}kR*7wikQFQa{8G*Ss&+K~a7EihYY0I@G%hsEnu5Z~-9Oa+cQ5)V? z9bw>oEDFp--4Wfuy6?+l<#z*@aM{2t<_uiKds#d+@Ff}sKE<+uXV??C^VX#q_)O)i zj2lP~4jXs>;H9ma_3pUQ{mWEO$iuON&UsD>Lw%GqY*yK7QPX7K^w`yv%eBDyiIUUu zyZC?)U4f6{1T>{3SDKPDnkg^@=DAK`0h3(wHaK44&ITg{=VJ90MD;aN-@d}c3AEp$ z(^okbctVXDrubK6Ccx;$;6q&Fm%w#=6yvQiM~ZuyYV8E+A&PpTff=Mxju7U0r(y)2 zk681C#K*W1W0{;4w{-P)q<`fig{vGh(dNYjk@SE_1xs=8kjVTAGNVN1No3)Fh$z`q z;wow}R+32Omk}aY&Lwgaw@6nhoD9}RtGISfaPOjSGq;IPVg_3TQvw>4LaUu3o5DAv zHQnIVRuVNC191)9!CfLL#N`-qFGeg?|3I#hfUONV_O8B0t#0z-ZzZrxF?O1^>to*= zV7oE);sE;;d4Zo%7|k;g-DrvC0&&u0IZc!WtR!+R4suva`7nX5$LKjm_ABAz5#v4OuCicR5kG}NR|xvL$`(m@s>go~ tc|2mHJf_XpqYS+^DaRR7ctE5Svrlur%(j}MdPPR5|58evXE>KN<3EJr&c6Tv literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/SysProject.class b/tall/target/classes/com/ccsens/tall/bean/po/SysProject.class new file mode 100644 index 0000000000000000000000000000000000000000..601278f5c8badca36585db0c0ae210e816c7da09 GIT binary patch literal 4580 zcma)=*>l@e6vjU}iLE$FoU~;rtJ%}U)GTFdX`x9eq=ZtMGy%#c+agix*v66zEqmGb zec!jTuS3HO%<#ekGraK^@E7pF3@^L@-_ccUS#wRv!?`;5o_p_4_k22%^UL4g{|I0W zzDXm8+j=pIy<+x>xn0a1V(v`iF5E3w_lUVy%ziQViMe0Q17aQ&^N^T_Q+OneA>1bG zKAOg3cwF2kOgw4gDd~J#{AWx&EA4Y8o;UG=i5E@0Wa4ELub6n%#A_yAH}QsvH%+`{ z;%yV}Ncg)cyqCiJDSTic;g$>xPVTbz*!i+unafXBD|71%^cL%m?N{p)9JXq9-KqG~ zwzpf{lvi{rj$CzD>;=cbvdHu)zwQPL^pza1Sa)l_Tdi=pf-~nvlWZfmS17>nZ(SCB7Rl8_*`9FA;Ul9Y@z9a(W(OJeOu9g0l0iNv&>cn~7D z)W?OUn_}$al$O`bhLT@%lc+vrlORPZW@(dF$WmH&v~(daa_;s#Ci)G#9V~6299VInl=~_T{om)kzHoIFerFHVcw+n>C59alHi( zvj$E)bfI7gYn|Pd1*shdRs>xx3rbMk+Y$U7 z$h0;I%Yc-yXfzx$Q{eP&#I9n z*Et?1@V%J>ry+xc$d-jXA<7L}iZ^Jf-=L+0gO=(IS_(L5so|idjDwa+4qA#iXsPF* zrKE$Fs%Co>F2+XgJr?wh<2YXP>7l)pJ$beU+n$l{V0;~fTt=G=I+K{-wWR{E1((w^ zFo`Q@+b4gE#87aK6Jv=kn{%{o)ZZBwZenP!X z3(^$_S*-=RN)OT%2RVx%XLkUR1PaJ@El779pFmlf&^q*3(^w@ z*`Nj4p$F-SgNzYmyaR|xSU_elOB>fnG7hp?3vxBC2`A5o8W|cH{TV6aL!?F*kvfQ^ zFm*wcs^qc-gH&frE<;VZ49OdT%U#RZl}Jpau=5{IO|VVjx@K$OdM&aUN8YMMzTuF_ zW*m7tk*7K!%ai{Xes*=9ofqMZCQ)7^a(1p3q(2U_M+>q`57Hk8*+-DuJAlZ0Oh9&{ zOdCIufjG!rT95@)!pUtXG7tyZPmudMfXItfK&o1hOdRAvEl5odl8J*nN|47ofXJI% zKyJ~dW-t!&q!y&EPt9N)r&pa%Ij9%amwpa-to#yvf;d}@=WEO zpuAocd7|>t$~#GUeJb)~w_^og zE-!)q-Qd+LI2x~F6<*_Sj@S96^#-f_o2-y;QBH5;PQ1fxzssoi_!H%Q9K;9s2?y{i hz2Epl<9B?FKk-Q<4S$98*2Ew1(FoG8hx;XP>%X&bBq9I+ literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/SysProjectExample$Criteria.class b/tall/target/classes/com/ccsens/tall/bean/po/SysProjectExample$Criteria.class new file mode 100644 index 0000000000000000000000000000000000000000..71b2e7e2d10560f024b473314b2076649c6cdb16 GIT binary patch literal 18132 zcmbuH1#}z77KUf-Bn~LdjBP`WL&cQBb?c^SlcsHoimfI}6gjozwkb0+Gc$9_%*@Qp z%=rFa8qLnyH+$}LPtW-r-JNf>d*|+IcV0-Cbl&<2m28F68jPR69*6n z5(g0n6NeCo5{D6o6Gsq75=Rk76UPw862}q86DJTS5+@NS6Q>ZT5~mTT6K4=-5@!)- z6Xy`;66X=;6BiH{5*HB{6PFN|5|h=++sh)0RXh{uU1h$o4sh^L8Xh-ZoC zi06qHh!=^Mh?j|1h*yc%h}VfXh&PG1h_{J%hwX+h);>nh|h^H zh%bq+h_8unh;NDSi0_FXh#!fch@XjHh+m1{h~J4nh(C$Hh`)({h<|}HLj*(_QBJfV zS`w{@3Zga9hG60 zO$DZ7bvm1x)v$Cys(x;AK?ad7)pa$=%)DfMnxAd3MSf8_7ns&l>(luZwge_omCdH= zr)HA5TnbwzR@c-mt*oiZrLwuod@_@%T#!m;E0@((&RL$DU0=62Rg<5-M{?=1OlnwZ zCzArxBblw;GF3AtpUgMpX4U1Vr1HC`QrW=F8(zIQxm&U_lguuxoU%Nhn$-C7h~|A` zSN|K`*LC)zIF2eD!VG%|4f%AYvO1m1Pip2@cJO!3J@@wm)u~)=?xJLN^ZMz#HY781 z>%wmiPrjMo+)etTzzp)kGwV}H^l76*=(&<6O}oq;btJPc+TGt#75jKrLnafLHHSCz zoVqmHVPS8qqpgc~ZH9kKgetknH35Yzqt z`54*#O}?nu{Vu%n?w6VryWefW8M=;+B*aD8{jRy!{p>|Q?s{=*p&T3aBKPe!M3U{I zUb0=Rlx!CelFb}7*KFz~xvb|V4F6^DW zXY%$cH7VAP+kyjgxrm&Hi!zv2c{lJSKLuJ*MKm`+9+?qc?gwY&y_iFShPNbi(gj9qSb;dL!9>M-g$b~>(!^wP*ZA@UGaT^H@v!slit zkOynOFVd;uF|ZfesW!roOtSqbTuY^=t->?Ue>pbxR->;e_LdELo#9=O?5(B^ioIpy z{>A7eAktg5X`|i>qwZEUCABb}ZQNh%Z@0lEmfz)~_IhCjyIAQ~Ko%MVlRntK^yhxzeBj(Q$2Fp%Ln)4ZE|sb zs~5MK;??3snX5)SK*Qo)fCu6=Ee82h=LehK9{5uyv(eewZ=7e)=&XNrmSl?+{8&0yDIcET^l_ z%3B3SI6s%9#^>iYu#o+O_EN~cX|$=3NA9ce{9acdO(J{3ZEzW6s$A5jkEQHl%pHdg zT%eQ{?{|#d&}6&!I>SSeQ^u4#(`(|r&e-#CIfQBVJ6=*aCd_@r{pNv$d60O>Je)9(5RVd%5swp35Ko$?66R^* z8S`wyJV!iF?FHgR^HRdROuRz8O1wtAPP{?wP2w$TZxioOdzW~RP2MLyAU-5MB0eTQ zq4p{984ve!;tOhD5?}Gqz9zmQz9qgRz9)X5_9O8VwV#P!sQpU(#wNcLe-M8Xe-VEZ z|4{oE2uu(pf-<5UTF`=M8MI0S6+~;I4bhfpMdTg>ju>r9mu@Nzum_ke?rf~<;i5WbF znZ(B2K^3tH4|h|dn%In(MQl#YrnUvKCAB%kTxwep^Vno-VjE&xVm`4Qu|2gNh#jfz zMC?p0Ni1NK8lsj+5xWoziAB`X#A0eohzzx*M3znJh-JjCL_Lus^3)oL-Gbc{!5+l& zV9$!O34s~^|BrSDW|Cf-i6@bIj%J2;iOxc7gnEx=u(`?HjJY^tZZs`;^Du!~flm|g zH^ASPBUhN<2K=MU+y=JAUsL{yX;J>FxgDPq#YW~1bGI>_CiBK)cQDSB<3D36MvfZ2 z!jxU_cF~GT`HP-j;dI=xM7><6<7Q{|u{cf~scAKG)C$ug&Ti$t9Ct~{ZmF|zdzI`~ zIve+8$*$1ZxS>mSYn_c>0?BTpv+)xm*==<;etRUlozBLOmbEMKw^Xi)IJu?kZv5B@ za(kVOA4w}m>%2pp9@aU2UPZm5PR9?k)gyJ@Db5b-9KYz2-C1YjQ9!c0=xjVgNOo79 zjfW4(?xwTx)FRp4bv7P%B)f;s#&eQn_te>Vz_PYq=e^?Ou+H&dCdj>YG9Kux9If*{ zae7$icoY=%zB(Nbkyek?dA~S2taChlN_KypjmK8W9-y=FyeruQbv7Q9C3}$0#uK(= z57yauG?(llIvdaQl08&s<7L3wew`1Clfyd4ON1b=qLcCRVdZF@uNtR^b&l5-QD04` zTJBYTHCMlv2k)(=Xl{2Kp2G3?x}SQs*1R*{;qx0wvj#bvA~s zBzua^#+a96Pu1BNER*bMIvb;Gl098#V|Y%oXXtE<>q+)Zos9uO$=+CJV)n59jAxa7zRs4eKVboVOFb0uCZBhc6g0pd{(kI z*V!1@mF(F%8zaJ!y@k%kP_krisk1Q#E!lH)HU_UHd#=vLsJCQqrL!?yZf(EL=f%lk zonx3?khj*!7@oIsw9dDQ)5AK)z`m$&tJ5(hVD(6y&yTaiI>%gsWN)XlF$p2r+v{x1 zUP$&1Ivdj-lD(tO#(arn@1(Oa(IVM9>uk)>NOn?ZV`|6Rew{Cflfyd4l#n3T=wwVK zSvgwgwQ+h_=a_^N^^{J>^p({kb-qiS9o9MKy(D{~&c=k9WG~X$m}!&jw9dv9on$Z8 z*_hjt>?JxIlY)|+(bZxzm)7cosEf4Yx~#OvN$=s#xP+j$h+!f zOte}#dX3e`>EShoDOyp_>2yr)T0L@&<>Tz|8pEuxWH;z+OeahBZaN$D(2~8o&c+0` zWbdJ~G4n0i%XK!U%q4qIosGG6$=*w6W0GF7_tx2%-IwfrbT*a+SlhqG_KlOnYYfW? z1bIK5jAaN`j$UK?$LZlUh6N0wet=HL(g&+YuCW8-?C=`HnhD81NM~cQg=8PBv$0A; zvJcVOSl%Johw5ys3z6)@bT$^0NcQ168!J&H`v{$lB`ntV>-@+#IjnOmeG%lNbTXFA zSUFnfN5|=5onx_$s2`)#u}sJ6kvcy%&JODw>w6^oIGv4!L6UvE&c=!&$v#16V=0nk zpQy93hDowd(%D%2B-tnHY^<7+>{E0$mRniduk%ym$C5IuN9z2{I6JI!tVNUTvvf8Vu}SvXIvcCsB>Nnljb(F^eXh>NdOOKJ zPiJGHo@Ae|v$4WYvM0);Sh2iuxrw z9m^lB9;x$7ujvll^5+6g|&=jx1YtLX)^nC~=ymjjcEl&=e>w1?sl6B@|{{G7LM}c@tC=DPt*x z{sevkzW^32V1`U*STMtu-@<|g3lRxo~m|ImZ z+8+7E86S;XHg&@by!fWTeCwoF?Hz$@Is0QLQ>|k=>FqPN){EW2r|-E3+DqLw@9551 zJ5^Fn@$RWkj?w?Cp#NMIppMEtR>he zUZ6O|o5f$SL~|=SfF@RGC2$d|6eq!jN${_^;7hsS;w1RDT<~SA4Cf@YDoYA{T7uf{jVA%muIKUR8O*Fj>w4OKRnf)Uc1JUkc>Yoc#=@y?z8? zizAe6c?9`g=3fIPKw6Np22<8im(!S)Gdg!8!KZCNnRFitFw17j@->|y6VMv5bdFH4 zH;Ah96DnV#%8bTW33G{=i{OS^q0WY!CFVI|o+su8F`vbvJckvzh&6d$tFV*&nTl4b zf;jbi;2K-}#3`>sb5i{mC6@+XH1LvvmnjmFR(&N^{eV_QI$O5aJK`CtBR?u!vuwhU z%bI;TIhV1QGxl=I&Ted_dA}eu`HAL9H;VQG`JnBe8qqDmAi9fW!YY|?iA=amCahsW zwy-4ITEbS6GLz8EBs4Pvn*8(AQk&X}q};2itPd#zUlO%JXM^gsMgo$0J1EPIF}KZ( e%*@EljLb~Q3V4N*7Vs+ltAGlT)o>fjF#iU0MTgA* literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/SysProjectExample$GeneratedCriteria.class b/tall/target/classes/com/ccsens/tall/bean/po/SysProjectExample$GeneratedCriteria.class new file mode 100644 index 0000000000000000000000000000000000000000..e6dd7dfdd24ceecf8e9aa81389e244b84034194f GIT binary patch literal 26844 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 ArvLx| literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/SysProjectExample.class b/tall/target/classes/com/ccsens/tall/bean/po/SysProjectExample.class new file mode 100644 index 0000000000000000000000000000000000000000..5756dd3401ab2c74035d6698dedfffe5588d4660 GIT binary patch literal 2283 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 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/SysSceneExample$Criterion.class b/tall/target/classes/com/ccsens/tall/bean/po/SysSceneExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..f4840c1f3f89c47d325d72f240a695816ae742db GIT binary patch literal 2283 zcmb7EU31$+6g|6^Bg1zrcz_u)o#_KJyz--fdsjksTn&@H-2Kp=d(J(3SAYHe_zwWfShrBaTO6)( zc$>pD4%a!n!(oNPyJghzo{9I%v{>cPHgUtmnt;{o2isok^#g%38@uj->-cW4<81OUw77IGtDG z!+mwj4Yqw13RHJg+#YJ0Y|iJYGTQxZ5_M|B3)JRdudBklZr9f``#sm+azl^T>826i z_adsb9eS|}b*96??#cLPggd2{XM7Gi&PLfvFrOzSGj?+-*-BPQKzQ@b>pGC zx9_WqSq>_{L|W4#j_b?}s?&+is7IC;ZT{y{p*c@J)x4-P>Qvo}R*!jA@uH2PTb%Lk zs9_V=y}*lC1kN>|bZUM};A+nP$jMae$WD6qjIDKIxA)Z@cV9cHo93qOo4FGuhlQ>t!6o+RyJjY?0 zkF;=0pswG`AohHRZ-{r7I4qmEEpYj%TT0;c@C7Eqk8LFvBS4Kq<;yf#xG;C*K@(mTySw5yqOE0 z&jnA6gFns%+qqzK9K4kaUdX+w(zs#wa=-?)@nUM&r_?W!e44Z$!Lk>QAZ&4jl5HHp z_$~8q3Prm1&tS;UVaYF0moCoAuFgG`;L|psOu7#Rm}Mzt`I*ibl&v{rX&ph@i$vA> z6XhRKVMg<(gt^Gf1#rX7QfEUdV*ZktcZm5uF?%>KcQGq{%*jBju#^0mie{>UIQ4tr z8k_vQDX&9wQvDAlH%z>0;MN=0by^kZY{_0|iASgm{U~$I@@tqf)a)0M za~XRnV=txboOe0R`valLPc)u%qhL>y58D2TA>9m2q8pG22V}wnGT|YaaENL74QAxG zTEcRYGLz8ABs4Mu8vNtaQXATeq}wjtcDM80oK1STZtwB literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/SysSceneExample$GeneratedCriteria.class b/tall/target/classes/com/ccsens/tall/bean/po/SysSceneExample$GeneratedCriteria.class new file mode 100644 index 0000000000000000000000000000000000000000..ad22012bfc723f0d2d077a0c9a17eacd0c78a13d GIT binary patch literal 15623 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 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/SysSceneExample.class b/tall/target/classes/com/ccsens/tall/bean/po/SysSceneExample.class new file mode 100644 index 0000000000000000000000000000000000000000..f164d436d770b1aba5d20eed1b13ae5748bbb039 GIT binary patch literal 2261 zcmbVO?M@p<6g^|sU(3cA(c9P8pw56sbe1w$5fgi3?HUEb7if+2B(eAn` zeUv^!f3#9*L?iV9`b<^TGwZdz7$TVpX=Zjj_uO;OoIB$0fB*aoz#?{a6j0A%MMnzt zJTBo&HLR-P@i?AfP3LM|tv0gQ)S;uUKAvW=mBq6xz7oi9_)cj1PTLbOwmr}GH(VJ6 zb|8?8f09{j3rs$<`J)W&R&QJ2QrmCY{`wI^I)N=vYP^v@NYj%EBuFZKK^H_(a3;?48cRp6!1v_uQy} zwk6$H(s$H%ys3rXIh12z)YQyZ4D4|Cv^JM3XT?!miu-4dmMaTq&kBqabhEFeR(Y+$ zbtf3?u{tU|5g{f;F7*JDGH;#P{GZ~c+P=V2WmI_vH>3FHtgip0z{86p2rROS3tK{< zVEHz^+%pNS+zh4l{Y!ZmT{^o(VEXi#ZI6B8Nmn3kxwd4@db8c}EqlvR)+rAe@SbV~ z10P~eU@B^hNc=V5mq*Iz2Cm|ofyByC)q>N^Y3xOG~Q<%j#*Srai*SWLK2*J5neG5^2ht#)kF?I~?x9Ic@ zjs>1jqlO9o6`2Vzx-s||H~A%S3%6suRpv->FH@}@BRxP-&oVHDG|CaeboW$@!1EDn zK8yGS^D&mmS#e8Oe@FUPE>gI`F%xZGNf1f*iBzx<2M>tM93wMKWQIg$-$O*nrV>|C zi?NbKGQSKFxqdE@JGe`_O5tR%HeAKcbAr1Ub&t7C+>aS-5=;qbPztSff@})k4A(Tz ztF0tzGWy~gcz}mQQizXY#GM$iRQ&_FMgq1r;Ml$T8nwE^i@%$|F2&es+OCJa*vEEb z?72Sn3GxCzqcEIjEV|JW%?0A5$#Rk?vsg;xn(ODf8s}Q#=^VsAn9br-#`2knt6GmU z>+hh`$>WVgHC+oXGxCcBx*ntF7}=|YFGq~`oV&_`Wkvi123;ZO>nd9$;i)eFRpjxQ qjq-#xUyCwy+oT+4NMV^sDQ2JKe2r~2LG_A^QvaHiI8SjdYsP;|Imsyi literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/SysUser.class b/tall/target/classes/com/ccsens/tall/bean/po/SysUser.class new file mode 100644 index 0000000000000000000000000000000000000000..a1955cf138cadd44671418af1053e488eca1fbef GIT binary patch literal 5205 zcma)=Yj+#P8OQ%CUv?$0<4Y1~xHJmT*0D`QfrdgzO6-teY8)D4n}h;g%Zt5+ZsE@s z{$k;;7T&OM!ouGyylLSr3vXL^$HKc7-m~z&3_5Azl!*^ad}tu$Eg0yZJm?&Das|g< z%uN>k#cc-6#j>;DPOvl0uD~hJlnVw1V~*27*$Z7Q-^(BJon_ZR_oC}BxaH;<$BqWB z%$P4${h)l*fK@6N4|{%|13L3wAT6?V)mdaqS81u}%T!0){E`!}!CiJdu5Hdc^pZj8 zeA#sZcVQ=cBlK$E6>_`S$c56?(n75}U3T-+ffH0Kbgj5$&ne8h<%(DIXC`(TFm5)` zJ6`lFf#V0WPNC{{@qFdaAi?#X?*%&ybPR2tCF*!_fs6M|dcHeVU7mN#w>k3#whT@d z^PJY<6-9R>aaAtOuC*H=B2^XqxhVdGv{o1I8&x=pcT|;A7^?-Rkk*Bq z!gwQC>pKw-S2=^2Pi-?AF0vUi(M%((WlUVMcV8pWr8g$6ps3E0Z+m6lz=l{PsgAL# zSKw>QSj(tHnFO`NuI2K#MXgRM5ck85pQ zC$(*2t{1ai%nmU>5Oaf=oicn3<2H7Qxe?bIIKPpBnwV^?;H-&{YG+Iq(rDIO*e>E9e3a2_l*6|3QAV@%G)CDonyn=*sx&>rP-LB> zqCBPCYN?9KWEbN}wbv3Bl{K0Ta~7+dNu@2-9A++7Icb!v1*gKywYDi^ zgpG`kzQ!VvUoVGDd&{MQJEg7wr&Qu*8n|4SO#V;kSxY=nm1CK3Ck$LPG!ajTO<_Tl zruo$qZ)@$3O}t#MfPwE~04WJ$Ci#>^a#%8$!;*0vmJH>vWHg5*13D}j(_zW54ogOM zSTeZ7lJOmu4DqmJl!qk)JuDgPEHA)r>>fBWI9mES(8kx1ft` zviy0B3?nq}6nq$W(<`CkrA zu{3d4y)kJLH21u?rFPsR&wuVxp#9hrucD7&RE6XEoza|N#p}s z=U`z0$DDNRUj{Gk?kaMS&QtqMYfa3hlzZo1+v_4t3WPlk$aQK$F#_$w#dCn zFy9k7|(v{pH#x zoT=DF_BgZc6EV(sww13M$+lG-rcGY1{Yj9gv>-=tZ#1|m?e`}^o+HTfEkNY6NQHKx0LEp>f1`$N_|JEUZsYVTBFov zrTWx*hmfALF0=wfQB^;Vb?Q{TiR*-~1t(=I_sbeBL-J XV}10^Vi~=-kEu(J>X+f0_rU)EHWzo$ literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/SysUserExample$Criteria.class b/tall/target/classes/com/ccsens/tall/bean/po/SysUserExample$Criteria.class new file mode 100644 index 0000000000000000000000000000000000000000..60c764dadac89f46c65a45a0f4f879299b4600e7 GIT binary patch literal 21225 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 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/SysUserExample$Criterion.class b/tall/target/classes/com/ccsens/tall/bean/po/SysUserExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..1964ff521caa00c9aea557549b15cf7922738b3c GIT binary patch literal 2279 zcmb7EU2has7=F&~+0M@H?1HpZi`s>XbUWR45bFnms4O60#fyc;csIK}se{wmW@n1> z6Z{F@d0`?KTwp?jF~*3R2xyFnCVnUSN5J4oS1Gbvx6BbzE-*cvpd>V?OL ztSWoqa^Eb@cz)2Yv7=t#MaKko*Y7uKZbjg5#{R&`MC-s#a`lX@v?90j&g<@mHd6P@ ztGaDwx0RGrytb{A1N8qZ=z)t#vaymOjQ;~XZi z+rlJ=hdDgLVTzA5a9W_MU(06X`3_$Y?=Es!GH^!V;Da`lz|Q{ji)9aO#n&Q0Z9~Nz z*j{?MqDqaLYDJyNB5q+<0*_3DvIrm+HnJ$RJjW3+N;6f_p> z>k!xUvBxQn@uvI`(=@l@1E^t!Rsv68KgCgSZWR1cCiuxraDEhgB@=uAvl-0t>WJ*C znc#XRxG)O7mIH%(Bx-}k0@Z8v q1;q9KjiUT#z-==nGgC4%B{LJU9G<15IXp-IDxgGU6`a6cnEwJ<_>^V< literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/SysUserExample$GeneratedCriteria.class b/tall/target/classes/com/ccsens/tall/bean/po/SysUserExample$GeneratedCriteria.class new file mode 100644 index 0000000000000000000000000000000000000000..069e53ba7fa96d293d8670d34f06f8f8f680c1a9 GIT binary patch literal 30877 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 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/UserAttention.class b/tall/target/classes/com/ccsens/tall/bean/po/UserAttention.class new file mode 100644 index 0000000000000000000000000000000000000000..c1869c5cd2f4b9076389a2f976dd068170a6ab60 GIT binary patch literal 2509 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 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/UserAttentionExample$Criterion.class b/tall/target/classes/com/ccsens/tall/bean/po/UserAttentionExample$Criterion.class new file mode 100644 index 0000000000000000000000000000000000000000..d1b23f53f091ce59101ec78a266b91abed7e6f07 GIT binary patch literal 2303 zcmbVMO>^5+6g}@*wk%tA(lklyP~tYUjjcElAEC6gl(wd&AE7MVW*By|^CqY$a>h~$ z`~-dizW^32V1`U*STMtuAH#wL3l=T+KB=UxND(? ziySU-c%Q>%4p%sQz~L%~4=bqSnu+TbTHN5!HF49#EdgsV40rt4ABF;RTaUcQo*Q`K zuG@=8ez<#Cp!nDe4%E?)pY|WAK};X3kz)LIa>NXW=}dgi-zY(#(jB|6;;)nn)1?*o zQJl`J@i+VGwioUMY9wIqs<=DWG~a6HsWQ659TGLO<%jD2!CqgD9(esg%N!28VA~t{ zyiPZb_zORxTDv1ZRwG@jeJ2dns2g}ur0CPdt-)~59SkBBMsDl{f!kMJ=oIr_VxpHHcLbvlu2+}$x*SHOLaQYn>5Puqx;XTDzw^UR?UxklXlhp=*AJl zs(!RJwv01Am~^dl#Si`Xs=z|)MZ4PD0+(|3Cr+kXCw9^XU~H`ydxI}O@%FWyx^q6( z&9nMaNjb&6mpVB?|DS?hxtKH?E2;E`2cvil=Dh(kN&wI=?{t zq>sH$vBaC=Pb|~iP7a`n6S1$NmF1Roa{yP_Z9;-Rb#*b67|H%cn za>2!E@Y7syI~QD<0!x_-c5=byG`N%tUdz3z@|0n+k^?rVq1RKxKBIn-qOQ09hL7;Wk&P+gt^Gf1#rWyP-jCf5c482pCIOw#N5D=T*8Vxg;lw%RX9oh zOhqeIL7e(MaE&c~=#btZm(Al!H))7xo9s5z? zn&laoaz(SBPR?cQ<&3?YvUA?eH1D^BCO^@9(T#%BARn~-r7_(yOrkqSCY&b|R>_1G znb1ZtD*>jMV@D literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/UserAttentionExample$GeneratedCriteria.class b/tall/target/classes/com/ccsens/tall/bean/po/UserAttentionExample$GeneratedCriteria.class new file mode 100644 index 0000000000000000000000000000000000000000..c2aa38af6246393ed1c4e5287154c0916321bc32 GIT binary patch literal 13050 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 P$p_R~7N+6&#r*sqDC@ep literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/po/UserAttentionExample.class b/tall/target/classes/com/ccsens/tall/bean/po/UserAttentionExample.class new file mode 100644 index 0000000000000000000000000000000000000000..e587ed5683741c00e5dbe1df103536677e1c878c GIT binary patch literal 2316 zcmbtWT~pge6g_KXYzxI0z_aV1aJ>KI`XJxu%;u0 zS`HWRxmxOKc{G8?Sl4;lP^Zldwsh#IsgEZaJk8))244u|Hhm|weW&dS7!A*}{Y_T} zfgK2B$ny&z7Ef z*fzfkY=1orZ7*alPkxXGhpv62N3~Wb?)aMHIbmI3ti1S2K-+A$7-6#Mc=mSZV9)ly zlzVQJMcb0@E9pDxJHFJyZyjo~JW_lHEd+MBb5f;?<lHvR1bzrND!8!U(J~ zsq^)UK;H6gc6zUS*yy{Vw7z>O52J42ED6k9-X%uJn=U}*Z_TJcPpzn`@&?~ZfYU(37p7HeL2YM-~IMlM$5;!qiU6wU930mO% z$TDy&8o0(sG0z8d44TrGCr!y4?GzjWb3CUoj|rYx9j;e+vq2BRy-;}vQF)KlH}5cZ z1nt+z`YP8vE!3)El79t80*tN?KEic=3EaTV7_ZJ4Dc+4&sz*o! ziVw&-DYXaiJXkSxCTDKr$kbScVoou7_nIS9oc3AwmRV0Eq#?*EwS)-64=EUJI%K1 zVc+XxyD|1cANv?NfuE2cjx!cjw8-WHanfWtMU;80Bw{V}W6j2~R%o4t_#5*X+@~*} zjyS80II{j8Iy-rynaHNwf~)j=m_XNK^ejDlneZWr@t*TmwO~mRKZe1s5bWy;MwZet_RW`|2MU_jCqY+DYicoZH%KuYK0p^XK2rZvYdx8ATYQ5ri;i z599W5%^oJgxDm!ALquNX@;W!tD-7|>npBcRRnqceM%VH)41G&Q%~A?HtC&ho<@1`R zTau;dn#qvLD7t7ql=69Qh*Av^=QotQ`U+R?8~O$}tVfh5Sd!EtC%MYI$CWo9_I7p{ z+Fa>HsX$0)o%ph4C{_86gYfdlSLLluhIW^hiyTUitospjkyztT_gMGL>ZrEYL+LE~99C zu~^7)JXA0B5 z7J$z#0t`{wwb5*Uf{AtlsIX=rP5>3#40I7d7ib20s`=@@1f3)mk!D77aOfx4H(L16 zM`NgZIE7QR7MuX|<1FnM&S8MY!{i_EeQh95dy*44??LuAl4m{17cl5S4t!})p7SJM z^i&QuD&O)XU&3Wqd72#Zkzij}1+$LTRYu2!F5q}sT4?})TNLtm8EAza64ME(QDOG9P= literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/vo/DeliverVo$DFile.class b/tall/target/classes/com/ccsens/tall/bean/vo/DeliverVo$DFile.class new file mode 100644 index 0000000000000000000000000000000000000000..17a2f23493a015b6bc16bb42718b30c5108db270 GIT binary patch literal 1265 zcma)4T~8B16g{);c4=7wTR`y}MQMw&KKLZYgwU8YsYpcoJ}r|vWIIcCw>3U#4ACbO zpZp6xiit|12|vK!A?mL%-q~%SluhWv-r1RZ&$;*9dw>4>z6anAZs(9eF$)tVZOYm# zSh!_jk-?A~3=_3Y-sO(VRm-V)s2q0rJD4d;5l!# zgzxY}kF&fbA9@?YUGu#y;fF7X$Lw;qBN#@0e|Y=r$G2*QA+30uUh;iO*F#@MY3(>{ z|NXl^A9om19p7c>J^tPOw7<8_khv$74DXY-SgI4<3Z-NiuSq3VJMD(>pKz*JC-9ow zt#e=Md+#wFK9eNDtUQo9#;z(Q{1ul6frykfy|&YA20{f+$X(ZI2(Fy2=Tw9%yTY$~ za}iQ2Yl*N*&C3@{eM)-mv&gv`$(%gmJ`kFrfTvoV8N@V&;vkC_XOTDNndO^V>pisWRHTsz}Oi8zfJ^S#H9pqY7o4g2)>*MP7i|L zB!aI{JL9tNl1M{~EH8Y8F(~?Fgr1HgdZKkh;sG#R#kC}!)UZ79ycp(^dD6r3#N$oj ZderwD(Q4?i&C`8`KD{C)ZsIJm{{fSz?4AGs literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/vo/DeliverVo$DProject.class b/tall/target/classes/com/ccsens/tall/bean/vo/DeliverVo$DProject.class new file mode 100644 index 0000000000000000000000000000000000000000..be0fe14c2318d25a221360e99dc7ae99bdb3fa2e GIT binary patch literal 1067 zcma))U279T6o%hPve_oCZA?G3en+b&QJfpEY!OO}P*|&2$+eU1uuj>`l-*6lA0c?} zl~>+L1x572AJG3H#XljQ*^O-)11-zW*O}+c`<|KoKR?1P8_MGhMAVlIQ@=laKY0IXgH9`H(W906$e~+ltg>UheA};gZx251 zF_c%7R_P;#VzbpDa*eVx%=k*n&3>;d;}?R&*<23krKw0ZK%7I8hZ+{lV= SD|UnC3-niMT*7V4qw*KO>7>SH-Fq$}O!;A`)eE%+Tm4!{fIi2xP>?sfBMH zs265mhOZ)XAfx0R#c@U=97={u$A_Pe-+yVh7z$bp=%hMv>0T14^ja@-`~C65pTi@D z;!~wn@{A#0Z*+;=rsxdw9i`>YaL|*{YeC7`SjHD&S47J0$A^XFjiPLw)~>NWUR!G! zZHFR`Wh%lq1Md5=)G<#)81kMJnvV=`$xw}C)HQ1-k{tA1(KH5T*?bYNTmg-C=^7iyl>paZ0oEm+exYT10*DV zfhS&z1VW+`AHa7|@fV0$J2Yvq)I50Bvoq(+neq7NpYJ~a%;R1WCT0p?xI)1}`#luJhZyKJx$(^mxS6u?^r{u4=$`1rpHigw+u0<=e}`lPwX{{HYkJN8yS{_dimubhX}|w@Ja(crIf{ z!kx)b!lTYKisU~2*I+J8m`BUK#JXRTq6zhQcf8H4Gc3yJ<|g-$ySU~z14lfOdP0MT zUCrr@VJIE93JVs-Fm7Q01q*{1vT#bjjiO*;p5aEHRz+I5qD zg)9s$0Sra*PSB|zE5u0(kgWd$!xSK??LeN+5keYTdC#5psYkLClws4!=*&%j1N$69 zPLtIHK!`JBtt0`HI8PqK1zaS16#NCo9t90_z|BS#Z+7NeQMI6R`b&{Ut#o4EQrw)Nk)5OdYZ|{WVnXwX*`*Jd6I8WiVDDh%axo?O2?$$Di_i9h~yysmn8X2?HBPm$j9xQ(+Y`~~F!4x#`6 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/vo/DeliverVo$DeliverFile.class b/tall/target/classes/com/ccsens/tall/bean/vo/DeliverVo$DeliverFile.class new file mode 100644 index 0000000000000000000000000000000000000000..d52fe7fcb4023defd9e4fa7d4c05893d0c45d5ab GIT binary patch literal 2738 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 I`7}lT1AJ5o5dZ)H literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/vo/DeliverVo$FilePath.class b/tall/target/classes/com/ccsens/tall/bean/vo/DeliverVo$FilePath.class new file mode 100644 index 0000000000000000000000000000000000000000..98f520b2c5cc427e3e746c32b12bef27ec98a3b3 GIT binary patch literal 4014 zcmbVOTXWM^5Z;rE9VbelK*GI{0woCqap{#nxFn^R8b}GG_lx2j90f&kB{?l`%oGS= zhL-7c3e$(SGv(HHN`P{kz|i;p4%;zL{DV$+C0Ul0Lt}XGN=Li?D0SUPCWvE zSHP}^CK!xCBP2--k>Dhbl1PylCZUoTA#sd^Mq)GyMikNvB1ct?$A=iqO^hgGimWMm zN=_Jhs*AzmLmAyxNBMwise>BdrR#>R*s7sh4B8W_AzNQ6sT4P5rKFK}rPck$5ZC%l zBh5|wIO5cfDO!dzsLTH_o_%mP-pe4CHY__~q$qM{B591uM-|KF=2xSdJfb9zS%w}! zmG|K~p3)7IBV5A}x00rsrc4;j3*_Bzo2rxf((Kfw?1PKb6TcNEujIcz_2l81+@IoM2ExMKM^Ey?-|Q@E6~7`p1*`3wIx1xXqwCV`>bVeO2N5-;Xa`FWj5VJvxcW ztJYrCvJLY%gEje!lezO(NPcrV_w6m;W#uOPwsK?k{yBU)K0U)cd5oJ3<_A*VZ5SF? zbS!IQVe<0y_t)}g?iI#=FHHU61Lyy| zQ}H3JH)GLfr(UUOc0i%J=lF)X^XI0o-atZ3Ou}!0jIC;N0t>{XV*P4LSL}?*qwodp zWbYxzQi|(3H+wY2vN$$Fms^nUxXszoWYXfgCEJRo$%9yh|DS>Qn4t z2J0(eplD4rr?^c^+Q)fq?ScOAj-rGHeWfGQgv;LGDOgbE9g8ghErx9%u{z2XY zYmayQ;__as!DqOO5L(I`_ISG3wB24z-~3rNgpivsa@m&bd>+Koju2*jzmYMMoX!FU z@TbKFx|D?u}fg|JA1CG@t8-d-fJ5?Uo#Mc>xYaxJt;AVXUe z@CaRaJwCw+s>VS_DLE~6en`5I!#_+x$|wPx`E0nC^@eXI(G}5tHaK%LgyW@QxLf(?7T|o zyh|9lHtf7c=)7APITChWD|GG=I!D9K?Ly~XcuP=oUD$b@(0Pxr=2+OdQ|SD*Fzx!V zvn+Jp3vuj*aFaBIoi_=b-PYcRRlg$yk-{Kbo(hscko|DLBXBEbRE1p{=~#CMs>02_ z%t2{!Excx@gW%2*1_#AB)s^D7qlZBsyerD5rcxYtTroH#&Zo9g9Cx}g=ojY`sT9W@ zh71miaiW#txU-YN5f~8hQ&%aDJ8BucC*~(sDULgt8N4s9tG-ekcaSsq06z3iL?YOS z4TMu2n43@QLz?>xK0<4EAV=^f=)^DXarqeEJ`qQdDvdxFM|lJpHv17i#VkK_X8h;Q fr9xMPg6sA8TY|a{&|w|KU?V;^;jV&lS--5tVK0 zbwgd-TFap2i!hXQa;xK+0r$L6>X1`^pZBEDd}R0o>8p_px@PeJOx(+TX z4$Gy)wXvXbIDxCyQ(%!kmog6lORHuWc=Dl&B$oejx*c5*L+z-sFS#hA;-Y|}3m3&A zt}`@`FPUL_{1l$_Hl$~%>ydcW=yB!g#bxND-k>X>Xo^;c{!&P8CgSt|!AZiAQdG!J z6Nb~uXw5gjfPIQfo+4X_H@7fDzMCXq7FCKE&fqNBf5D%T*`5HuO$E=Vg0qw0cd6iW zIKSWdZY-U6HgE1AGs*i+jIL5nq$J@TdC904E~MAV9=A?1*(@%`k}t)>k0y4R;yLc1wC-o@C`e6zFvj7FaEpT9S^06sxiF^jhf+X_1h?*#Kbb8e60pH5Iej$@m& zBa@~!Rd_EbcaFlyD(rgq%%qnJd)_^DKH6kaAcFaq(Z%)Sa{_nLh{sqKDP*6fC{{dRpdu*sPj zM2xI-U0|ZVNkV@f2TR#7Oa}nr}2;QxkxUN%j6Ssg?vh` OlF!KJ_cR!59@xjW<=MPrH3jc1Ymh$*nBTxPv&*_|=6@6(qsJn5ozL9vG7YLR z)^_N-lBc6kX#2aqhuU0dP>W?Xc*r`;NBP|0zTl`)+GBy^yN97GIEo(#m+!bFo?mgf z8$Q=yq(0lyAiE~^aJJHPIomoSLpyfclO}{?do9~{>A5$V4fowZ1LK{v-r%3mhuPqq z`D>mX1Ps>}nvUpNjuS8*SfTBCR-4(}Iu=$$YKfTvn+$hYNbg^*&&FP;S1cVDcYF1! z;5cHQl&pj^Tm7m{3<>n>W@6Inpmem|7P_7s${y6Oi0dDs5|(ke9Pg>JR~=XT&T*V@jxz)2lW~Qfandj`D{h@gXniW4e&U?+i4(HVlXP%c12gZcmX>Ub^& z$KrkafH|QC)Bh5Ht9ZOjJeE3S$R3U|KnGNNZ0(Kf~!X!N#- z7x2l#sA0^_{Q&K&OuLAfmyMcG-@Bu}wpGZ^!8^WPzpY_XzbPemEM7Nho~UZ>8yqt+Qot3zjnbndEk zvT1ebtdY(=xQ}@1y>e-F=&X{?l3FL9R)@|y={$gkh^PD%((2G%K{}7reu`;z=&m81 p$7&rttq$E)r1M1my^ORvbl2fO19l(Xn9DGY(ZHD!Y`_)J{{nlQKT7}r literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/vo/MemberVo.class b/tall/target/classes/com/ccsens/tall/bean/vo/MemberVo.class new file mode 100644 index 0000000000000000000000000000000000000000..15d1051e0c23dabeff01f94c65800773805fa637 GIT binary patch literal 390 zcmah_%TB{E5S(qBhK7`u!Uq82z(c|pZXhm|kSYZ@fO2-_`3Id(I2F;20aVv=HqklpA-rR$k{@`QZmoUW%=2|s`({-xD|KDRD y9iB~G#GAV^4mc8R3?wISpjRe3$Qb)fN8Du0+k3+2u+49^IN~h0mM6!W1cPtKMp{h( literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/vo/PluginVo$PluginInfo.class b/tall/target/classes/com/ccsens/tall/bean/vo/PluginVo$PluginInfo.class new file mode 100644 index 0000000000000000000000000000000000000000..eb9ef3d21de49f798eb13542cf1e5662781d96b9 GIT binary patch literal 1291 zcmb7C$!-%t5Pj`!VtZmIb{q(60s*{`3ZR(v>Q`0Ye}Dc8;4bcDkU}|)Br4iewW%4{FtEuG zlP!jY`XTRg%i*eR)m_!zVpw_FQ-SP=hV*6A5!*_+0S~0Be1=M0x|aWvx7)(A_}F7@ zcjaTZC7gZF?Fuh=MLfwqcY1u89ZQ!mn#io+o6mM`MOkMuh(e`?-{2LYkt?}PJ??=-$##$ z;DsawnSH0%mTFf$cNxrGrG&TRaNif?+o;=a$Fgl-DBlXW<5*3>mDP8x5Y%wj$7rpv zErMN=RVY^`6phMgkaKS+cWKJ~PjHR`9!}~^`XODhJjW$QiI0YX4Ct8nN+&J!u{aJ78En zjR0#jsVSP_IAZz(U`W#~OM8Y^)`v+B`qW8Bo*eYila56qqF$j$c8SO=+8OQ1>L;*w zbcmruHZ^?AW0}ro7=UxQKsSbqxI}gu{2sBR8Sr8x_%g0Ufa9~^VkG!#Bseh(E=7V@ zshr`r?~%xu7Fn%*Kx|fYZirqEBSxZiLBa+wT*LJ!p7>dL!hSKVNAo1k$`iIXjvK?e W-yDvHZrd%ouh7yXlEiJCNBR%pGxA{o literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/vo/PluginVo.class b/tall/target/classes/com/ccsens/tall/bean/vo/PluginVo.class new file mode 100644 index 0000000000000000000000000000000000000000..8a97065b4c63caca88fc84b278a3c15d03e55933 GIT binary patch literal 901 zcmaix%Wl&^6o&utC3cL{($JPWByB;t0N$_wwPI6&6e$Iype)!;%#gTsXTX;}3=hC6 z3)q0f0>PGNLWncA35bBYnKS3ineYG4%(ow(J_ERmn;vYm9JDyFBOA7kWwW3F;7#GGSv1W8D$R`%uaXAVC}0Hf?;(SN%1&8o`~cbpTtyY4pqqG zF;60$S4AtEMa0+|hUz#7!&JyL$aowF6TxM0qJmO*taeFAyv}({-5Z_ZAwS_k%;hwA zGC34sw%dKqz{p&4`G~<**-Ru1jZwzKqXYh`P^UQ=+>pzMnoHXmPiLij8f8F&iAeJ} zBQPayrbby3$tlBnr~8LWStWnoNaaZ=9z}ZE#xLV{v{fHetrHrg# zjaGeGQMXC4-S54HZO!{%VZ4ED&ih|r9Ng-CfLWy0oSMufaI3srfeC{q&JlWpI@d|e zpdHAm>A2sq;$Rb&ewj-AK1GAhZLO*WmYr{w4GRIAuv&oO0xnjVdlkmA_6nQ-qgWNi qAm$}pE+|)UwW8cEavHK}z5Az?@)6Ai zt+FaRQ&tvPSXP50@9#SHBjNH{9_#)0V*0Hm)wLU-^0MkMGv*T^E$ChjLLCbgWXfXZ306ddm57 z*3@TY^^$8_G4lE;oXa)Kb`)4=rwvP*NL8Rj?E&z{wXYtmd=v2yRH$B5)l16Zgu)8e zJ;T&1hU)>NFlN*&>D3)1dN@clQuoIa_X|G2LHiBM@CJ}_sb>N;8bT=r?W-7;8m-Sx zD(9R;C%9^MRhkphG58z`)80h`e2XWQY0QI@HEp9LWy?~|kSSePL8<#ys8(HNxwkrH6B1;AmNC2TRMoJ-w`FhC+v7asf)4F8y?q)Tq31N}q$dS+^5BG5#*cem zO%CA|@TBD-#f@t>f`QZMAhkoVzWjSbu$T5}bb#75dW@H+=^2d<(cv6@hJlR1?tBw5 zUz-oq=}Eq-$YVzcMAPst66GjGU_-#csfhhid~Gi6hXM?@D>|S6>+Ooip+KhF6;D8c ziiL_S_NNdl#c6Lh?t%iP!1}Cj)a?^%I5AOl0PFM6>evPLOz$#@JHB}dD;pEtq#mqV zU_iZe3@1UyeJ6IFLI}3&>RqJNk5uSwOD_QlhxBzmWrI`ZH`weU#_gaC))mz39%{FW zRPQ6NzhZH^!Z) zw?hUDmICW+@6jd7HQ$mOJ__GyzBj=w;lE%e1P#zTNjUl4;shfk=-p(T!ftVbi4!!K zjFZ_dPB5T?-lL&yd37#PYPUGSJPSHW?=q|@0|X7z2Vv7I@qQH8wjdPJDy`&wk`8goW~S_JB7O6<4}$mu zR7B`&D~jNQKfwP{?XM8O*@aMiMFTD9gFrdK=4mu*p(o@_W`UMcN!UuxwsRBBS&-V5Gp z3D@Sm9eaLLF6(vSJazS^aQ!XfNp`u@5e)gC+b{R`-X83{IoSSWa-J~BS9qKDihb$V zd{+hq6#D`DuV4Mz*`4DoWM&X8E7Yz$*Hsl-aB-4O0GPQ@BV-Q-T4yV9(q zp9%lD^wO9mz01M`dkb4s>4s?f4AzoT!d-N@=LwRST@Vf#u}U>EJgPNy+io^Jp*-8? zj$=0jS9Vw15xlNT!;GaK0lAQA3EyxT;l*;LPj6&*E(!<@nHUH;v?Sy8SjNl4B*u_j z6cN%)_QymlCMvt8J8n}vmPTCuP{VC=2^eOMJKZ@8V<=ciA#K6JNrngiECc~Y7XQk?o1!0EXK$0Ftj6Tu;x{I{R(U_r@^=KM1x{hw-2}jor1?o=`#-@?c zn5=#U+Y2a*)Te@G0FXB=J zz86TRI;*o^5F4)hU4WjV7^5Vt+ss0%7%r26p@IRP_}}t`&c<;ikbE^T-#AvH^=WEF Q$~=iGrsy~lG&_ULA4u30U;qFB literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/vo/ProjectVo$MembersByProject.class b/tall/target/classes/com/ccsens/tall/bean/vo/ProjectVo$MembersByProject.class new file mode 100644 index 0000000000000000000000000000000000000000..fa088fdb3e8b019a0537f98780f1cec4c0f0a96f GIT binary patch literal 3365 zcmb_dTT>iG6h6Jc-V-88(0Grc0=Z0#@fHXQXq31R!VvNkkzyG!I8xb8NBTGBz zY=-i*z~XflZ?Jfi#ak@iX7LV-cUip0;{6oqDJlutHEmQ&hU-nN%(~8^QT7Gpr)=AB zCoSFc3@=4xLD>nza_q{SV;O>yHP3LT&H-9j)R%S5((Q^?fO%QsOo}fd8vQyPQ)IHyDKdD;UqF(;Ub8JlyjkHtPPgQKkHNcgwHaz2-h6<*m zc^~VQis44=J#Bo+oOaF`7JOeaTz>_yo@L#t!OisMg|+&nt0v&xwqC_aU&P;{@0tyd z^U|z-{Yri9OQ4s|J2q@Ho2y@JUfZaDeM?YEFP9y}h0I9ft@R%oiY||x%hi9m`R7l+ z{;{#ayB=?*aanJ8+N4f<<4vBHvPqTnX640wAui%UwiL;KkoKByT3W&Me8ik7niX63 zYc4!LBclw}qm8te%bsC-ny*`yRx)&3TXwXd;0w+`yaxta^&S}me|~fI)B26?x2|8_ zTD^%57&UFv9~0CyIJAKDPND>YdJCp)%+$D>=5-XG6Yi9CYe9ES-Uo->{&^GKaO_{W z#gSGF|7_5IeS<@hiUu8+gMkc(tC7M^)??2$FrE)CPYxE5j9@3j*&DSE62kUrSTs|D zWf*W08<`Sb1S#QVXu-aODZx6LlBRF1jPPCk+dE`sso5p-fpekxf6o=)mn}Lqw``m= zxjlD=AHZQAWPZ9Fx>Su8;-Iu2aSUkjHKc79ytH)S8!D5JpQ-n@B z%H!|OzC+B|)`&e_lH>Wro%2M#XGD2hJi^H1uR@fi1jkB(_F$L9doSJz4m~)_;e9ur zdpz0)1=7*3xE~6ns9o_O6i8dU;$bL|%67#gP$0eSiUBB)@^;1JP@oL$ia{t)8ps2U zm<~2#jKp&Y!3wT7XI#?cK&&=ai=Tc=zcd`$tCojZX_Ptr?4 zy^n(|0kY)qfuAW6@6*p3EdA0V=u_@t`IQTLS+z~XT=1F$SBgd4WQ|kPrI^~g5P0(v7bbl(LT&EPgi8*{Zk+EL>4p)YdK4kn9&DuB0K#IIOd>BP%-=?&12t-rw^xj P`ha#)hIV0f7iIni1u}%)B4p``(-JZ~y)9 z6M#8f3nPl95ENXH!*URp!kjP5At%qSNa<}U<%1}M5yp~+6**s(!>WdNG^|N+J%|l~ zfnvQ{HEnm*D47Ds^4E<$BV94YRm?@(c3i`?9J?kk zlee67?Ng&f)wIz$NiXhN1!vo=tX7>}v+90EKkA-QsWXax@5it1eevbr-`=|a^$mfL zOLr9yKN{Izb;BSUfoR?-8kJ3>YRPqL zQ*p}{;c3!s&i=?@)SPXb)uoD2tC>8R%@>`Wbg@`7?OK}gE9ouMu+w`^nuxEPMR(Jg zZW|MOq-45F-BgXmXZn(*Q*on{P^5OmZam({Oy;Lkv&%4Geo{9o1UlAjaCJ*U%g%ft zAed9M%UA1&G&^qDtO^WE3Z{GNJJLMr-HSBUx@s`wDRu1(uDeF@&04+UGQ-}$;pwgrn(M5)Rm(03jP@|=?Xm*l zb*Ek}ninlu^T=V5PRWiHIQh6f%<6a=lRA!JR7VV>LA)!Fc=8_5@fwmkrtyM~gp^*C z((8CbV4`zrJhbQQR%Kh3;6w*zyO-i!1zFIsiTC92KG~U_I^<)4%+2UHhc{Wqj(4xb zO!l#`$-1$-YueiasqX%1vDw|aJ&?(BkAAz~y85hFA1C?VMEN%P_#wAo!*Vsid7QtA z8jkaTd_Q{d6hho&Q8+$Bn>1&^SxwxAxY>01EXP1|^ADV$ta}QW!t-1SSq+Z8#^1wt zjqm`41@1QCN$zPy+1J!?!{25ANHqn6ETv7OVq!t*@>&nt*}2u~#_2~Wry-E#9g?NnN4hO_g^LX)n^;cS^?X~W5V1XB%! zK9u`fMv(_GrFEi73VAfypPD((Yb&;&5zivSm@3X7OUcJS=hK)c9zThizyc+uNy8N= z54oX`1|gU_gm_4$&e|t8#-O$p+B!<_7S$M!uS+Y_HO3UoG=2x+Yqv2F)f*U;2{#al r4tcUBd@{0{8&S0K*utnKaYNZp4$J2U5e-?`16{pY`pzX9MW zs25-ej^&{QRT9TZoFGvn@g|A4NW4vAfy6r`-X-x~4nD}ihYWJ|3BkRYMFu04Wn*Gys7Ek5Nqu5b9J>j(xDm4<8U9~r{u-Y2%DFB^@M!gX|` zXQUs&{Y=wwJ&s%@;TtFUl4~tWcWIlPj#W%o7pIM8lY1ek(5FtBv+g3d<~{cm_xv-+ zkXbdX70zI=eQvFF@v@2Vj6G-Acr+S{z3O{rCwfiVwSKtNTD!m?-^tYJ*axbc*RQs| zUT2WC=a*aud4?sVeg3QV_ZuBmT2Pq9)*ruZ{{H8`8ymFC2QV8~N3R3HXyfx*7kUzb|vFKmAEWBc5C`|`Ec+EtV{uU(N*ZhrS=>&mz7vp@CN zFp~qOWBLafq|0M91_RSrLrkk;I(%-$u5<6WfsLesxeddr8Jvh+GP9DUW*5w*-4e$Cw-!eiSCP43TjFWG2$ zEYzytnvI}E_14>wB@oqmkQTDsTW`Vk+uY@sWzW+#s57xtyDU}7qS0BuOJrUR%uA*S zh0&=YcA+3b@oy2Njph*Zx9aBZnP>*VH_@q&#vqGMG`zVKU0N=p<C>mb^PO{g^3y+G ze+ys&r7om#CItnHa(E?))&P`n>B} z)mg`^)vTJpOvmxbLeaZy6pJ;>tr@=QIL4}Fy2cgHh`g+LLv8-@)4VUURCj&*vbAE@ z>{Z8_ab3?hecN;Cf4E?KM(usGRI;ju+1fE?D)xf6W;t|Lv8w)6`cbc#PTeBJKR@~E zkB>k5{ku=@eDJw|RxwMK3^<8Zt`?(}z}R-MM%Hvsw>R&6c%$JqF=@NDKP?c?4zCC( zvqVFJ3$|;Wu3uiYs%K3GBakk5MblX^tF~N6O2seRj4mBfG2=LMmT%gQwI*aAh-SWOBn+NH08@X@snXYXCcUQI(tt59~BZpTj z4Ibw@%^y4t>Azb-X+~mXA0!ZYK4HCAHytLlKf>dfZpk>aDqAf-d|p6!vJiq!Yu{qc zdVble3hb5zF;r=FTA025V0*K^Cp2$D?v3o4ik@ZPEWW#7R)T`#yAia%Ry5sX5-R(k zY}U$Q&9Z>!iDYqUe&HCQQchH@THTSa!{)0~Lydl-6W?3*tF~KW0F9Cg;tRE`w60~Z zUM*V3S=s`v#l%NfZSpwozuA`a{Q29MLg~F&&4c zbP$G)SnYceb2Ex?h~)^XX6Y)$D{gC&QHtf;XA4VtFN>9CGdc$s{* zt_rJzcWgTv`GyIMY{R};27~uCX0pvn#d7)ZjJFqWl)>onXiI8D4s*M~zESLLMZST| zJO=rxO7pW8;}7%6u|HU4u#a;$1Rmnw{u&C4HC1N)^4*#;n;SlXOov?H`b~=f7I{9@ACjy7? zbcCS5IVSOrjNU{{;*X;f|3GLF;g_*V>I9ylbr_q}WT*+@Jxgf<&qeTZ?Ki}?W@z&b zA@}?c;Yj4?FZxOH#`5UMr%;vaqd!3T2x|QL==V?-#zxkm21^Qw(_nw%TXJzS#L(oTjOXz}5cx84%x{c^ zF^4>LajvE@NlC#8R?-wD6$>n|X-WyaNdE_rN@{hx`Y?|k5s8mcq&23WBl9_R#-2;@tn%jxxW0QG8NFZzb{`VSz6!dH6+K^ zk-8xDT27H08711$B!%4Czcn=zq1Wi{IAI^dao(x26i!fz@jt*rI7vKl_Rk*7Q&IvN zPC>axg+dyHVCWFy9*tV-m{jybZ5T9cl#MEy@jgCsQKU<}Q}$-|8+4t!h3>Szjvg8C zI(pMPLRph?ALVuI>};O)_RTiqDg?|g1P_C3^V3}K<=;L+9>5XOfKVF!Z1?* E0$ie$dUT*RWFolTAM^9%IKJ()lr7W&qWZ(h>HUc zU)xm=&9)35M`l+>$%yheLlF)n!?C^BpT56(vq9BLTJ-6rK2~%qiBwv)l7)SH`GTQ* zM`@MZWhgdVU4pGsYKGa4(sFaq@5$(?AZ9j^@kQ7bk+ODvSxTNMqUsTq9qA|cMi1nO z%nhw&v>u8$mgK$J@lBumek^s&6A^~ICxzxi!*f{IERQF!dIFhP5%p$kjDOxVmzDV5`t2Zw6l&_vdIEQQb0w$d~t()jhLMa>YI$L*uA-S@kfBnuju6 z4<1gqXfdq(Uk_+n4u<7X&o-ATADIIUnmUI@u|OZy2aN<-$7!$7UybQlu$=yO%n**= z9W`1{5{A>xXm{El!QQ1Q>$H~B%O9AdvzG;69;e7+IE^J*4};&M@OA?Hb1L`@&Q1Xr zC&9m_g3sZ64!)gAC!XyaA5fU&y_cdFDaIE}B$yP51xY0C5L`+nc|dw<{W zG2!ihUwRY3UHE$m%J8Ki_TkF{Js-q=9FXOOAijcwLEaq_>|ue9l;9}(WjPkai#RSE zUzOttS-$4SH{|A2czOf*d;iO!hlI654-;(7eSzeaqj32KAF&8HTcvbe-M9qLe zuLp2e4&M&oob2ZV7!2TofI|UX4B(Q0mjk#W`x^ngDf?AneJgG!l;{x*|L++6a=oHxHx+BRnbYdqq`wPorCIbUmk~|~SCeJo@EiMwckdlN zaC)Tg!f^lTk^VEbT~s@I+P8aejl^~3x4 zDzT&%H4S0ilEXT3=(XW}C%I;IQsHpl(c#ON#(JNogI$`rdE%>ts;XUXIO$hd&pc8v ztw~R4E$QwKEx9?$G?c6{V$pbeG^xwkxhyod>5SeK=G}HJW;Q0a8Vc0LL_$l}$D^r~ zgf`L?GrA+OSV~KzB20^Tq(h4)B0G$T!_{sqbn!EcrEO+3_DFNI$I%j`?WC~Zf7S%6 z$1}hmODB_B!t~=BlU92)9gS1@tSXm_8#~0vmDP-$&*<1bu@W34Lu;^mux_?RQ`_ud z_^PV;QpKzEgl?`TZ&h_WACX2ivZ(yrTdca8Il;1QWr_7`Gu5Q>ux`AL1lN!$fdCJi z>~zdNO*Z2gmPHx)*~|Zuh9aodPO%a_RiDWj+D*@kQnuYQ+>x;!U%c`YYkM;xa*i`X z5hTU9J3P4DDdRCG$%H)Xp&YUgS?)F<^Nyk+Kq@B=86&eEuM~pviK)1&CzFng9g$gb z&j4j~I3X&mYRveR4OL;)7K_R>Y|rU-n~_e&wDr2w!qjZ$-Y)%HLFNBy%qvwiV7VVZ zQt@MSs#q(BYbxHxPgMLAKl9_~Dt;k{N71h0mqL?7yC1(+@f*CWVg*|L_^r_XPQ`ur zkc!{S^&jxAAAeME+y7N#D&CLfDjq>x#VXvb;vQKx;C>Yw(W+t-+EmnIxq{i_^U03H zy0jkel;%}29s>uG>aWr}Dd|1@Nkz9f@*e)oq^b+c5&_?E}R`M zce7X3g(nOUl05)Py}Gb7FG$2gkKGf9ei)x*-qeMyZq9QGrggR&Ezdi!U2OS_#pX0o zUhl+Xa{X5peYJ``VoKS#!*)mDYmZ+^ohVokOGLJ%O~Z&sVn$MnSm|a{KfnRP(V?eW z46`L27dTFyc6%1H0yi)m)@0teRl$s^4IVAnWkTDol&N(qnC>(;nU&3)v(j{nse~H* z_!~bAT+eS=^PtvI&rb$3nlKkOv^TVDezEmH>s+X0?T5>hqOjXn8hR1sJq{e<3WVT2rw=`C|?DifF^fTJiLkpSX?uL=+NG@#? z5|jo`pm*B4+qzu(c@vG#M{l_i_gt4Nxv@hfzX6x=Lo|p2DLp9o08dl6e~`ZwDXb)d zm6(rMO$4hmAF+lAc9DFIfI&1km@FHf^oJH^)rVK$nkJ3|!2x$i0Z=t8U&}Af_mOaz_(s8R7p@hmK z@M8)87Fde;xD$2!^Jf(k_#xoxQ9jUQVPwcbzsQc?6T%=M!~S+GF7 zjxm&WNcWISB2!sYdlE&3XKJsZ$akjpEtECWl<9T+S@*s(B(g(!GXjL~K@rx_uyxGL zdXzF*LRe1&@54=Kv4*Xy+a1G}J8xYo zW-xj)5$f&}BMPkdEG8My;(EtYN0B0<$`KObE_6jT7clen9Og0?b5WL=lPHgw7RZ~p zHP7&5=E(A3o|Vfy%afVY&4al-mwC1)Grt5pn0>j-6`suec<^Ahs>ki~d{1VMPew+{ zb3EGTFgsUsr3bU!DALr;nd@P}oZR=m#Y2c9li7p0BA5AAPv%|tl*7D&Zb+>c*VLZJ zbnk4ji>x@C)5T7QR`6+j#!Jqu$;z=Cx`NMo%PF6%9J~K3_?)+2zRAk5$AyB=d&_y> zWaZe?MM1B(9A&a{>|vzfaXjG_=hDf_v1gZpC-Ib%woUGLpDl9iK4-TWyG!K1yNo&o zPm|gnBgGtk&AhR5`U`}fL0_JwbI)VWWG%I4rGnjf)=N&sWaZeSRgq6tN6uM#EN!vx zGUh&X0rNuh2eE)t>ZU=2LzOmsGq=z!HoQ>aTWy$wE*x59!;1y3vSCiRaH!gbDJmS| zG!&V20^erCw+|u`T4KXX2XRN}PQrt@E4Np;J9D2?Yd$e7T#HqOM^biHfst^<8U z@X$)M3N1nv4@f+ef`k-Ws49$rcYa5lpV(b0&ZNUHpTH zo}&*tNuhUR6sH+sW`&s(=Cm+rVa^Eio-k*HnUB)@Q98#cq%Sermt57>G}X||teUjU z>@cJKGX>Mtb3Cm(`l7+dOw)2TSGP=u(O^=yROcfto8`8u)jaB0UQby|+?cklJh$D8 z;Avmei~?uWwORapyLfBo*0r6>cf_7yQ_Eq#yKd`Q*Vetw_tq~itzW@0^EpOro>9lv zjg8X!che~_b3C`mZNyxbsNm{`n$#T^p~YtPtf{#L zn@8yb?189L-tx4?NSQQEZjT$9<8Z*oWSCX>NHSyP)J(?VrlY!=VW^8-Gu1Uq1Tc2z|iM(cW)18Et$2_)W&2hQ?an4Xzwaf*_GV5}q zp2T=EYg#r3Q#@~5GnT=pWD3fo3GQTUJui~XC^Dj(x;x6KEisse*5k-4qrFK;K2;E! z%xNeKkv}V=8EMVd#kf2fc2{%+-68gvG?yXA(H7#ZtQJ+1a) z26wf5!n!k!a>2<_FcIBJd3CZ!cV_FWpc6DQUpQ)YqiTk5it!44b@KnDEslMrtEuV| zqk8rGY7-3!Xm_LpJqf=8A|FwBr3QWV{;~vOg}@6H!io6`KN zK=(Ih`C`73>5200)#d+PA;BLPhplNOMhzO(CK@#AoV5yehM&+yC3XQKZ_aVi&CnQj zYg5At4bqT8d#FpH9_m%7pYB&^zc2@cd6*ti=n3IHEW8Qojna8WL%ZMIN-d*t)LQGQ zMR7h{*WK}mrPfOZc3n>c=;;dHf*6HFIE1T;Q5@fW_}%AFHyjAD+0h3F!ftjv00*RK zc033N=mSvW><=mq@;RRJMbB319rH>mgm#0WAWT-{j zNi>MgIF?qEjk;l##b*ps$ujfYCc%z|&?&>=q)Vyg%JS3d#r-^^@dK_4)GV{TJ?Da=7|tsru?meKk^9TiblQ?yeXjS2aU(t}z5t z=`7VdNoQhc&1eRnE*Ep$npMdXaRM{1>RHv&#Jav2a_(p(9-sA8BTpFyww4@_CyZw&JL|uH?9CC<~@S=FRiGlQsLAQwTE)+z}2YQt1Xq>Nh44I9+qLvkBhv zHbw!I+_ki;DQ4T$b_#0NC0W~*?MQi5g*_6Xu5MQ&UY8XSF^bp{?rseFrz@h`DaxxH zn=#8)o?q95-SI7F21UCv^zPP&<1)H&Kt>CqGU8~J(T;?SP9!8;Vi@}0E1;LM{ZMY^ z#5GYByJkTzy*P;;WC#IK3&;{$?W4c=WE=Ylp!#+KZ3IxwJAn=Y=o~wNu3CONHbDnT zMWH{Vf4Khx*a}So=%F!E+x&(@G?(1~9L6zPF&syd#%A(+1m1bbKYYo(IN?JMddWY1 z$tTh0Lk@Y#zkJE3e92)i`L{3mG|tqOuaH9l;ZXm;Dgs`|zSh{?ZbaQN;ih}73@N1j z@&xyq$L#`!ehm2K3GFqH+cXSk{quzPn#b+2AkNh;f3ViLqIVQpAEhrw^9U~B2%>)h D3H?@< literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/vo/ProjectVo.class b/tall/target/classes/com/ccsens/tall/bean/vo/ProjectVo.class new file mode 100644 index 0000000000000000000000000000000000000000..899feccfb53fe811aae8059bdef47fbdfa763558 GIT binary patch literal 1000 zcma)*T~E_s6vzJuHp<2vFyG&upu$vY40jq6fta8}iICktD+erj*2lEnl6@?%OuX;| z_@RvdZpBP*+BP}Ap69&v^ql_s{o^NqZ9J=E9uGXUJv{WVCTJYS?p%X(XZ%6ORQIDu z<6Uc#L=z9|g2h8~ru)&U^YBQ}%H7{uyQirMt)6&zENC9<;Hx#M9;GH7GV+OFX-{o9 z(s&xYAy_%kL0{u!XPjs8ut_&6Q$vq6I;{BF*}US@sX2SWEQ?^_br^-|8^Qd>W=~Mr zbtfuV?uLjrM%2SK7y;-|)1zpp0pN6yb* ztLI(`>PK!E2l|dJvc12St#dOn4P3_!LAx*yd(QlQYoas%Q$OoNuvHkgo|nsq(kT&; z4@t0H!g)IKnHdUR6o>sgV!`v`keLk-ye#(re?dwWnb{vfiEnkWUS*SCY#-W~AoMeLv;P1@2&QX`U~6zFkmYCZOT8iqH7Bz?Vf8mWqoiF7chM zV2L4OEiklaFB;2+ZW~TP&$><_!;m^rasq3~%vruQZ<}L|;|4}xxsK1!o3&iszhV>$ zrl%Y07JaN}O}h)GJ?pte(+jRr9(mcYOD2Q*;P&l@UtgP|YLa6tktSJFbT06$u&gHB z9)7#>X!QmG3k?6#5!1GoP4Dp4>D+7;Ybmg7J!|;^)riko1;+?Vo~ghgkCRP7+LYs% z-neb}zDWld7p1E?hO>EhNzdnf)A9Adux)+bG#q`|)p@F%+ufKkGfHK539Ju(x%Sr= zKRmwk<%3(_Ji4_il#lOx#Sj~|94i=Qi1zg6=-lJP4a1hK<(M<2rFqjkX%MxX2{&)p zIm5H~zO0mjMT?-uCoRtpczuSxjbK)NIq?NE;A|&*dTWR-cUK|fOxT5Ob>?axI>@2% z&^5WL%u%6#S!*u?<{lm7(G0ngtqLx~eY@%zzgn!Y zK3Ps)b$_0-@Cq^Wa>=l%fpu_?&tEk2L8kW%19R)2K-ol%bAv_GqZ9KB(9NHx8fro@ z9xBBHN(i;sbcTkY>E?F{r)I;ZxxmO@nl_5zeWQ62jsrDsI1?N>Rb4dvMR8^6{!S6F z*%MRK6NH@Pm}mMWJD{r_!jiiMimlzvh19?mU1CVgxg{@ePFnodxAA7>+*so!fOK;$ShBq;!VHz_G+t;U{ zKzz7l*$ccE+sat0sd}u15e-FL<_mAuz;4dK2wlU0-HjZOmi1~lg#$F4)@z84Gw2)O z=e6r+;I99Up!OKWqUq4p8Eo}fYTj4fIq5Oi`B!f1GySoL{@!%bU#Tb}yfI+dLAy5k zrs(&Aj~B^6&1yF6A_Fy$);$yv!QRHm*TOW^a*FLG7oEP0zH;A9uph&iK3Zd;@-F&G z)`SBFu#a{`EcVk{AN&&{HyVQPwG5`a(IPn782nqyV7gOurpC%rWAN`Sf(0FKQSGwgVdB9ns&A(byO5A!;0brj$@YK$h3Y)zX%dIMp{nltMpRm zNRsIOY{yBG9bTUc(kn;TqbLTZJ5_PckXw1lMz5=@c%KK!yw}S0=-9^od5s; literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/vo/TaskVo$GlobalTask.class b/tall/target/classes/com/ccsens/tall/bean/vo/TaskVo$GlobalTask.class new file mode 100644 index 0000000000000000000000000000000000000000..f287fcfc8ba694bfe960b2f87e178f0f0e3f4c9f GIT binary patch literal 2931 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 po;6SMR19>5?v_yCK;W@DqN} zah%}?$Tz--9~hMxDKj$T%NLyScTi^d4RE(R>>7;8$V|(8mY2tSGUh=4w3 z+h*}#-YAt!?u|B_9vRO%3#n|jWZI>aYvl8(S<|pni%v@3IOFsLwlaHoRq|NbcC7_- z#wuB}d2_#QJFekcj!oNruT{LnzvzRi1oz(tF#JH0+@-s%!lIx06apx^k*+i;j0;FpKgX=mIpy^M0&UAyc`BjtX?Q6(9 zfqPdepS2w1RRP2PRnK8HFySSsiB_xp3JlQ8r%y(EX?5@$dK+VxiRoO)|K&n82m2b~ z&&GZrt*H|$*M=t^~s z5fCi3gwIs{79XqQ&YSE-8)R|zG&ZD--tH>354LM>*C(L@Zd5mWmJ7A#*W%j@6wTAF zkv%_Q6ufuB?&>v1Eo<0^WK?{+^G0dje`lSUhfgE#FXl+9?;a=3z@d=_bEv?vfo^VB32AFr#AtgE~6V zrDK~MUO`_Jivs=Y6@2jEbxh%)jyEu@bQtYa=6Tz9^AT;s!;|!xV1_aSE5hHNwAXIf;;{CVnbagqM%`|kDaU) zmB7w*>`v8cYRms4StUlHVA^v6L-h}&lIcqOT+JhEU1mrB@5CCj1)=xGGJ%q^A-(G4g2Ju@sWZVl0BinHLX_TPcH z<=wW6W5iP?xDEc`@BnxfuX812LDBlk!@nT(bHm||H4gjXyh$Uh#WjqC8;x{5(a760 z!dm9o=!w#3B)NtWfiyA|55_r%WYGNsw-J&ggwaSsr;n(RAPJHQ5*Q)cCrE0#sqteR zrL<@58^TX}gUs;C8@8dRcEesu`>>y*Bp_WMgR*uaSI6L&h>-2Uw~?K8!I+DkezZ`;;Qc^D%uuiJuN^#yBO7yI>F2quM`ciDL2*I-@ws zKTSNsCSQ!zi!{x4TgiqjOIcB>q)&PudO|^|HSbmWCA}B2Is0bBE}o0<^oh32h%)L? z-rbg&C*fM#zzsx)me6!Y>SJj|ZX}h;jwaLKZ^hH9x5W&2hqR>XZFR3r>K^~Xid$j2 zGL7SOM`d&;D1{IwRWo!oj2$HTBT5P@y$c^xlB9wkg~($n6w)RHse%xX2@lpGspx=O z1ynK0N>v3Gse=W`MlHc~lOGwMJDjGgvTqIFg?{o5niDNcXq6N$p)Jww%P}b@d^s-V z4V0I#v9W>F_rc*BHJ^HUJ>_*+*)KoidNcpGlaM54@dE2}JLesocXICKta5%0vHt-5 CJ}W)| literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/vo/TaskVo$ProTaskInfoByMVP.class b/tall/target/classes/com/ccsens/tall/bean/vo/TaskVo$ProTaskInfoByMVP.class new file mode 100644 index 0000000000000000000000000000000000000000..22d74bf78ea48bf84c202d9485961ec4795b9b63 GIT binary patch literal 2834 zcmb7G+jA3D82_DQHc zpTHY0_JtXBMuJkt%L~rp!=C0I(P3 z9;9$G4h2(kc{7Tc9`2{)@|L`tmDJmkdMAq0J?O#77|zK3UAep$!}~FOAjuD-I4jV1 z&TQDuDc!zMFl|R5Svap>(zT{zRyE1V3&dy4vZXuCh7pC%YnuJBUM?FAP4C`l`|D=0Hg8m?8nwF7a4yr1dP%P~4S`K}7Z>k+aqaGp z*M9%>tNXXF-2Lv8KW;7Dzx}yDtge@hN$XrKiaDO9{FC&v3gosZ{Uq*P`RvbYH$3|S zkulRUoe6<(W@uJGIY?LnYYL`ioM>L0Ga9FKMkSCc)Jl4FR&SW{>@yXoVlvDm!;ra= z&<R<%sc7Q?IgW8+;s9-70G*=gu1?CqHyX zK-6Tl-GN$q#SX1G6{EpRS@prd2(EK4gWNt>wBBjdeov~)=$mo$(uJa4cRPv?gFD}` zl5QQAFxll5-L7~|$qt<)imB;kbBt|dTRSh~OyN)h z$MFUyuj|8W1cA&d5p)JsVCO2LQ=Rf}{eMXoRIk?!YhGYMiBpiC*k9lvB}g4yg+F$Hpxko(3e)zk+zU>eZ^cH^DuOBQNgQt&5e8p zIo3DC#yEsLd10O=Fh)wjQFhWeDHTOF*aWEv_R;<}#G|pl(I3U@4=@nLe*VYA18nlh zIKP+W1L0>t`jNF#W#|%K=s!xOcHpT5CDnv{Q+zYOQBS3IE}0)w#@%#nN#-j|RxFua zKykv>n6MAy2z{z-g`=cG{28|!$A~A)`Pqm` zQi_{~<4_)wp)d_XFmwp2npUs3kfN2I2$1~hnT*fzz HA;kX$bzFW3 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/vo/TaskVo$ProjectCheckList.class b/tall/target/classes/com/ccsens/tall/bean/vo/TaskVo$ProjectCheckList.class new file mode 100644 index 0000000000000000000000000000000000000000..e7399e32bf27ac50778f9465a56dce4830711104 GIT binary patch literal 1079 zcmb7CTWb?R6#gc+wdrbOdeM51R!t%}2tHX6Nk>b64NY|Aid zZOL#aP&Q%kSGAULD-za9intbprpLq3N^N-}qKJ2-(0pL{hOj$rvoxN;@#@ONk*U@j zBRq!UdE{J6NzNT`|Dsv68G5!p4t6v>@@DY)QU4I_BFgKgABXa`a^$D8F0Z;bWT^e^ zah83|pyHzh&xeo09vTe%KNTQZ_ebV#$LY&(=Fdq`qrofEH0J1|>Y%Bh(=_c<^p`D} zIoHwejw6JlcSnWRqlDqKGun&Ik6`c8lvP?w>E#Q|lI>>!n8PtTF&xJttp~yHk$XD^ zemN0*0w*Vc^W)%G6Tzo&dI-LeQl~zfS3V#&-uLqqy+ARJN!GWsGO0*joSl>>|F3y6 bW%D?fQm&=qJH^h^d4c{i*#%s}Jf?mE#Qffw literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/vo/TaskVo$RoleCheckList.class b/tall/target/classes/com/ccsens/tall/bean/vo/TaskVo$RoleCheckList.class new file mode 100644 index 0000000000000000000000000000000000000000..c2fe9a7af56978be75fd02a01719d1b9e173a9e7 GIT binary patch literal 1070 zcmb7C+iuf95IvilN$S#&UZC6q1(JZeFFa9%R7FCnWD07lyl>o9x~;QY*-j9jzylKE zC;9{m6$pt3K7ju~^eYgvc0`j9agpWOnVmT^b7tr3kI!EK+()B?JZ=_|!-^HR9NckG zW5}pohO)OW`ho{ScerPCXN_TbtEXetl`R#ib|BZaHnE76(Gf%4Q-(*+MW-V}E>1ms z{ZKtIyE1qdnnM}JFDOsGFM^(AICFCJ=H%t^235;x(WRTpNYU*$R7qJk4g2=`)%T+T zL*b#)Dt^R}t<_tEY*KcHIZtW1+3U7txFe`Jo6GnjXo*l+dw7|P_Y`$IyJZ5|+>`!+ zr=pm_-OyTw%|JwvB=@T4n=beLNa~2kA_#a}3eEe5?}+H2Wmd-EmQhE>mPVykA7L;Y zn?ugcgx(RY6bknksrXWGTO1zkwfIdi7xeDj^}bmr%;Z{Gn-;7$ffjHQvlbv2Bq za3h7A45uvHsc>_NyU%s$dJG-<3SZ?~&6B34RwfzJi?VESujYspZZTx$|D-VF<}6D% zvnF?4;WFHdWKZdaUC|7~6_%@c+%&b4;Fh*(Yih@$JrrV1PSaL>PimGYE21b}Su(|p zW!WD0q-_y)L6^4XzToAua5Nr%(Ppahk^NMd3yxhCj<-fQ$yILF1ku}D|FHjZV`qDN z_w6P_Yn7M9ob}93;Wl{-bx&b8;du~B*ty*|ulF~%c7AN`z52+|G9@kPO*6#vg(5>@ zmZ&ha>(UbQwMt1iOPnfU=+bS2n?>$O<<}Pz-m;|9+LRiz%fhHPVZ0fghIr!CSr%R> zWzfm4d?C^e3cP=4@uV%v(pCp*FpLu3@ull@57X?kuc6g+ zKK4`(Q!I*nc$&r*&?mXS@4dWB=pAQ zFNl4LB)>Z%IbeHwb1m5K-r^ zYE#lNT&3usHnpN=0ljN98%DlP@9y6_#G?xRYllGlI10WfBYqc@rlaI%>Fp<;X%as} OV;9+OvI(;1k^T+Z;Dl}f literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/vo/TaskVo$TaskDeliverByMVP$DeliverInfoByMVP.class b/tall/target/classes/com/ccsens/tall/bean/vo/TaskVo$TaskDeliverByMVP$DeliverInfoByMVP.class new file mode 100644 index 0000000000000000000000000000000000000000..65a5f1aafc39c1f857b2dcd6c4d9a34b73892e3b GIT binary patch literal 3755 zcmbtWX>S`v7=Fgt^{(wr8eG!WP@n|^Icx62X@RD+5J*bt5okF#&NkWB*$qAd;l{`_8<_Gc*3~ z&(FUEa19P6aXzLJFyKnDM~b~t6s4Fp;3fI>rI?YXk4RLKqAW#4imFu18hA8`PE472 zOn&!C@wka6Ogw4gDHBhdct+0cH*i28=1vH7j_k2#?Of6JCUYacH#sPf*;@4~?zA)J zmfi89v)=Rkid}JiuPo3r;`+JrqxR&aQ_9&3n%w#schsM7id#zlj8m%Y<2w4RU936+ zsZ*c7bLzyAGcUbA%ndcqp5|n_Vc%_)k{j&2q;7fo@T+Hzek9OVEfodgza9VZ^p^(- z%8aDSIIQ`%_s_re?wOb8=Jzv|_-@y;i=1EDuQ^k`dQ)Hdm*|ozixjHIVW81-m$Ams~jxC$-9yTQ=|< z%edVx@4eM2y0cDcXy54A7KS+Nc}{6V(Jq%AM%Ec>hrQi?XfZTW@TYTyLfP@kxr$vZ z=EfOsZr0Dq)yDj6>!R7#HDr}1orf#f#7S}Hi3TuJGaV%Zvb0SK)A zx05|+p&tVlR^kE+7vmBOmr8ND6g}t_xaI${*}_iTZsB^|VBt22ZbaU~pcHGRScjV| z?81El%NH&!mD*6%El$YZ_J>Ke9-TF0r6n+2V6mHDFa-I>o^jULX^$UpCa~Ai}R0>&SYJL zb6czPPm#`KYlO4b>il!0Gg%(tthYM<66ws-5#bzfbv_m8d^2tdo%1YjOqRE|?=!@r z%e_olgyoj4P-GEUkD;h_+RkLV&ezxl< zq6>MgsddCxtYJIr{C!{Vd(gFGeP6?P1A5!BzOP`6_V>=g42A@W&HWU4ZQxs^GTKR; za}?G&jW|7M4G)d*-8C}}MPa=I3?HN52Z!og*292z|nK7i185$WGv%#o6pP*5D zKAA~Kqhx55$Rrz#I`SzRb>yu~N*Y2H6 zZ4rX4fDnIiiG^`YPIN)98PsgF=Bdyu-e9(1**Y5<8_mWG_7RHE#a!gF;1#W-Bg@2J z531vsWvS%jHgW=;JCEa>bb1a;W#i{?Zn{h16hG-@3iE_5O)potUE&oAcS!pT@f^-; oz49C1$dP)>oPedfgBM=DrIQ?A!~ZlRx(d(YYMvv5=vpNH2C0PNC;$Ke literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/vo/TaskVo$TaskDeliverByMVP.class b/tall/target/classes/com/ccsens/tall/bean/vo/TaskVo$TaskDeliverByMVP.class new file mode 100644 index 0000000000000000000000000000000000000000..00f3763a0cdd38155718e64da9dd6811c9b90bd2 GIT binary patch literal 5074 zcmbVO{c~JZ8Gi0&@7}w+cat=bl%=%>jGE6bMFiQjl{OR!B&8-bw1~*f<~F(Q=5E-J zVEy7tM5;&;fr4m_0Xoif1ZPTc5(o7c9397T7{_tOpPWh4`acx$IrrTCy1AuUXOgq; zIq&m+ocDdsIrq>1U49q9O<0U!8y<;5$D?9+Obm~U;R!K(M+{GDcq+!>SB?ppZSq^^v3IyqU_H&U9)d z=S&YONRE}9qCIO(*adqsYwdBIT+uArIj5kYXT;8>3J;sp(^fuZRyC0Y?BZ?(P2D{cY}F9ksi0-VcC7uS*-0yZ z&?Fl~^Kuz8J7MN+G4~e3#TlD%c3i1K{+$S#Ok2faa-*%gr-l|D7d0yPyPUbYPF-P* zPJrkigI63>I#2I=%Vw3u|AP)O25|`{Sa1V9Hbf`|aoT$=W1bU@r{phNFae?rGwgL- zEy$`~)$K2;Xs$-BENgqM-m9uW=tOvRExV{xa8Lj`>S=I%u1tj?&tnDNaKVN97~@w; zzN5RbiVFvEI;htC-iDLfNXbQ?xMUpV{+M>xQe`_e_U$3nc=D`S64zRt8-Ufy^@-xzPb>1 z0pnexWi#f?u(queW%4e)QY;iNiMb9R3+r^8< zJMT(Q)u4ev>@@HRbQ$PDuYrCH82AisGH|nyZpDCx(+W~oIPQL`7|7v%1A8%K;LAd~ z9s3O2fiD;s#$5*P7SgB~=J1e$&D9rJZfkGJ&Q1w7Z1Fba572E-?K1FlEQsM3WKDmk zsNpUazQ5D0BE?vLr&mW#;{BcFN^%zM@07Kqtn?W82H2X`Y8sN3d`TPJ__}LJLH`w8 zjMcy0+ddjj@|bgTmc#Qg5Oi_X+;w%O%0FCWRv;&C0n$F}hsFM^OD2o!vhvp9c0 z#s5zi&`kwNvtH3h1&PFQJ1s)k;kUezizL~4%g<6l;#Dkf@mqe5Dw6W@fHXGIEm_TR z7o(^6tMFIteFw^~-E?+yjJS(`!sjU)5`f#VhciBy7~)uOd=8?;B9VXZ!vD{S~N9XZwB+eYC%K z2~l@SA-2DtLpnV0N5qri_ps>gF#7>IG&uazl@D-@6r&A^%$pw+k`cWB74D5!x}bt6P3SVm zPpyU6j^uv<~hJ?{ew0wRLcYy&iSM&)`KA95kgHYy5R2Sxdi&Z_f}SZIe@29z=3`Xvt*sex6I{#6gG)q|_}0EK6w zuQRDy1?xP+Xpmvm_Ofc4v)=rCl&r$zthxB!IJAPc!|&j#wyT%WF37cnj<(HG=IL*5 zyGF_hv7VGN4}3@4wNh>o@)jw#3VAE#C49{Ph}M3>9IEi(o9?OjmizT2K6Sp$c_;s` XW$Sc&7au2Y#P{9x{7rFw1ET)}V)9AZ literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/vo/TaskVo$TaskDetailByKey.class b/tall/target/classes/com/ccsens/tall/bean/vo/TaskVo$TaskDetailByKey.class new file mode 100644 index 0000000000000000000000000000000000000000..7618f350dc4c5ff8b8841c60283f12b02a9a7444 GIT binary patch literal 2214 zcmb7FT~ixX7=BK&o85$^(6m6)Vx<-}5Fn^%ZTL{WYH1USfN1r`CG3!G!!BkwIQ#`? zoblQ_Z{&uHI%CrrnQ`={&iEU=wBtDAc;%(FK4&*Tg7Ir$&w0=L{XXw|PQL%+tFHl! z;k^Wsn2$rjHMzW@VIjf&hFoq+Szb~FNiAx)l|TaXI+o=Ard*bFtms&k^yN^wDQBn&OyS|k+&UdvAVTxRaQ+VCw;j^v%F?jYVLRc6bk=UG%3%@^IRY_aHBj+gb#ayh$hnND`c%}UEPxBr9# zS=FZHFR+wkdZ3|-I&>O^i$RHJo5V*&s$OV)CVkRa7O7Dhns+tI>(){uW_?gK%gnq< z;nw;ctLTppyelBwW_ar&=I#0=tHKx(nts^~J>UdnJYa^+Nrde1(7xiE#k&P_I{=m= z7fg;`G@W^w2%VHnuN3x%jap!wrR9afJQE=ut5{yO?6ZeK6tzEes{3wOl0ag`tyYTG zHCwi_Ed+f;PNcx4e;c)N1HE|4z!{u1kivNlZwrk4zlIvPiV*|P;yDAul6oF#139qK zJ;xU#%yy<~mp3GY=j(Z%7>=~PF=^l(+?ESlp$+xPdMAm+fPrbGdE1VChK&)p_|FLw zM00!Fa@eooRx{BsMon3=fF}LJ5&2tvT;l7I`MjvS-RAA74o`h@w*Jk4{5xGZU1joj|v@~YV zS{O%98vokTcmRWS<6KZW^Bm0FN2GP$-PDnlgn3IUgi0WTp;msP|J6^3EW3u0x}V<| zOJlTBX7F>U%6{fsD4#-&?q|M%QWzSnK@E;1Vv9pua?0>`XiF&%ae5ENa7w8`JJir~ zDpmAcETu}F*h3`u(4JCLu|p+gpRuA1V27Q$9_DaVaf$66Wrkf?!3*qOgx?%qBri%N zr|=Rf{yI^AjFgH3F5qQSF}yMF5%42kEc$NRUc#Lx)8RtVUZ)6>TtK22t zsw`cm*EkDddSOGa;_pko zo>QbCrPL+5gpi`%*3gWFUhA==xPl2xGN#Icr$|NkQ#*>+_(gFUJ$Rjz62Nc+$`dja z!XN}ohY(MwbbO9TMisnMF0mHq)$ literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/vo/TaskVo.class b/tall/target/classes/com/ccsens/tall/bean/vo/TaskVo.class new file mode 100644 index 0000000000000000000000000000000000000000..508267285029a659e2a26ce0606395cd65e50f0c GIT binary patch literal 1689 zcma)6+fvg|6kVrHNhuW+1@8!o(w0lSprYW7o5NU;5vLEnoyH>#ghZ2+8GgkN@QDX~ z(HS2cef66h$90kdMU*m~IV*c-@3rAHM$jXHV=sJH&D4~=UUtIB#N#AzP1#YC_Xz`aZj)RnyB zjO{6u*W{+OTJ*k;cJZpuLLrFR8s+OVI`9G`l5UrYxD17U$*q-G%p`( zGOQ)FvylY~1}dz(5s7JJBY!0d9B)tb z@9+-u7{w5ElEgxhf92n;2#g)hF{qRGjhl6(guU4lD747folAjMjV7o^7$S6Ib}0PXaKAtF#2JVTh+r_8FZf4h)w*AY*I~|3KiH7(+ zVv6rGT2%`ith_e~*cHf-Rts=#;>L9k6Ac=}n2O8%AB)joNs;q9Zp17%af_%~Mq`^z zb{il6SxRz=>0OfXIO;aC#47u3Bdv*c{!;9?9Ua6x@ffj_*hM@}JVERxo+O?k_7HoC Vr-^5XXNl*C=ZP1H7m0mn{{sT&|v literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/vo/UserVo$Account.class b/tall/target/classes/com/ccsens/tall/bean/vo/UserVo$Account.class new file mode 100644 index 0000000000000000000000000000000000000000..617625a2993e1908735be8e32426a0723ea8e766 GIT binary patch literal 1277 zcma)4$!-%t5Pj`^8IoWpfv^MuA=nONK!6YgAz6`-A~_Hd@Vz~0nU2QY*38%uM=pp9 z5(hqjBR4<-MdH8*@E;+6fvEPF*l|YSL$6iuRlTbE`TP410Jm`?hZIU#BvCe7#ca!I zTu)<#AttvOrfNI9%Wapdrd`vjxyms2w4(yq5_RdzhAXN{>3|1PE1#iUliK!od9x`z zn-45@wJkUFws1E+-4;eIzwWOLNZL&q!N!it%mTPamv_`Ylpja z?n(3ReYD3ym~^y`-=qd|l^r;oTCDm6}uC9Pvn+a^yn+E2h;93;*lks)YiI7ShOAIDrWZQ^}pLNr!`se01b5e`** z{@++E&}^n?YU7BR$Y99QD^F*RR^Eq22Fm8RVUi4#;c>%BBBCatNc%LA*>o~Gla)QN zFLa4vhW1qN^A=|5ZiNmwg){VGIE!<%9|eC!?DGitP9*p|<|DxIQSjYJ@P$ZlVibHY z5`2-$8K!-oM8=HB%JMhFMn&K3p=U#nzGzdBumKF0a5;)6J}yt#FNVcvp2WC3VSD4a Z(yRMYZ!}EXuF`vsmKl*GuHiJYe*kN>?aKfF literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/vo/UserVo$SmsCode.class b/tall/target/classes/com/ccsens/tall/bean/vo/UserVo$SmsCode.class new file mode 100644 index 0000000000000000000000000000000000000000..137f1b40b3a03f78c65bd7a8db44ceb412944301 GIT binary patch literal 1359 zcma)5OHWfl6h70}ZOc_2g(^N!lt&A~xNs%Lgb+)@tH9<*O_yhbO*7zrkXL?I1^hQ|pOi$1GzWL5Kr$7H5{s4e`a5oJJ$fY0-c@q{) zShQftf@K2n#+H(tz*w=yT8z3(R%yxigsiR*n0(%pzNquE(4ykO61)$QFIemc=R?8QVJZY1Jq=zA1>Xq0Id&Sn z6binHP6o2?qs|DbO)M;agUIQjXFKR@(9s>*7!r6-;1=8tq~nxeBcXVmrb)zkL$v{T93E1vxDoIB=CIi-UYZ_cUsXSj~GV3+0{0rQWK zK3_h&BzH6HV$tL30@;Rr5BU{0*jfMc>vLD$Ut;Loj8|r8a`~P2mOuMe&H3I*r!0`E zI4@M3>df(QoW62)Y5C)e;Yi=@mR#v*{SR;+108;SMO-io6Q%CRi|9d`*x|6pCm26 z;N_20oyvsQRS%T~n0EXTW}WTsX~;ILa*EF3S~WH_G3xa&$vLPhAz`pKTShqETm!AD zcIxPE-AEQ8MQ?qp&PGbOlO&lW)%GH+?M2wKm+qXJw@a)=(@F;>PdG(?u;-Y7@S58j zx>yg-pK&Twfh=>E)Pot!1keg5>-xwjPko#U+@UPe${CK7%U9|MUEwGjM70Q}Lq)gD zW)Asw@#L627ifW(F1RCR(Jt?k`SPqYc6CO{iP{=rItRx`#`ZB^Vx5YdFHzTVl~-5& z;CfehOuZ{SR9jce)~4^NMzB?fy!lGedDxX2O)E{^CU2;~_W!$jgBE(xXJHGrTDS>2 zEZi*3tzqZ3fg{dpXXD^L-j5}d`S?)0IeQO zcH%Z-OA$!DlOrJoK-(PrHDVWAf^(6<)J#Nhyft`pWH7ZB5u9iZ-WnN9jYb4(t-&`& z22D@2E*V2%NvvB?d|&pvFLJdRE)6PvK2}!0=qF3wN8Ak>nLpr+#kJ8 zVy){aDGEFgy^gllb(C@i9*kZ`U+X$b=t91fRDHyctYL2B&%TN3`sIWl94kTNSQ*Cq)Z`|OG;8IBqejH22xugO;TII%B3aA3Q0sYQsM$r zi?6z;Z>f~)!nusSc!&k*#Lw8ryBk9nzQV(ti}MBW1s)+v(0+hNi8PGiU5pUvDB&a? zBjS%oICz}M#D|O=B}(EGHf)S2g+;!y_7kP?J>P5xh%6lB*@lrd%)iiP;EAi)XkeUw zrnrjh6iog<UWg7G+I4(jTy__h5R6?WyJ4{Ga3C}`{3@x zP|*4%~T);%xh(}jd|Sque+!Z z71dTS0vDwbMj3%?OLQa0)iJ|l;y8;5Jjo<9yp5-bVl4feILZX$e8tb;7*T?^dJIn! zY4qHQXNYw8*o0?^jG!&QA$5%t3ARNDwgN(2;}R?5n4IW@RwL9niRP)0rZ>=5n60xR z*=Q!O@FN^yh`B0cB`Vs-K$eL=1XRbdz*5PN+vs;_Ke~kV+3X@ZWaAgHA={~Nnvd*8 zg?Ym|vYQmnNPL~bZ4&2b7IA&+E5Gp@Ia+Vo@j#`|2VZ#kEwwqmga0XFgDtxq$$tRl CWQ;BV literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/vo/UserVo$UserSign.class b/tall/target/classes/com/ccsens/tall/bean/vo/UserVo$UserSign.class new file mode 100644 index 0000000000000000000000000000000000000000..4e263ea9c14a9f8ed60b0772d24f9578ccf1c3f1 GIT binary patch literal 1007 zcma)4TWb?R6#gc+?WSuIQ?1rZHCk;_!Fln?iVzAyAzrXH@00DYowAuJdx`kyo8YU@ zKKbC2T2KlK{s8}nw!cC=vq=f2LCZ2{&e=KNIp6tae*FIW9l#wdmr=x37X>t|x#nQW z!3~B|8p~*Xi=o!p5d*$a*^=Rt$n44}c|moG0}-Z@Vdmh?`(Lm2ZMTw0lWpr%4nMp*{P^-<@7vF} zud|bTN~`2PL%!MSG8ERR7(=zAw0xBIdop?^hzmo#V|)>IMWk#z`dLV}6_K0Sq@gxc zpc%Y%t!1!Y(jf9 zhZ~QR=bDqbb`qO$lwIC1Y2?cX%1$ynY<=76&(Qdvu&W*_sCp>D@!-L6aFb#Agk#Y? zkFWW0Z%6tG!{WceXwZWx(ksf*M_oYzQ#4DvORF4{o3l)gADki_-7%_UYlPvnGun$Q z`(S%n$sB9jWvym4w@vUN4C_YQ8Onw2^aR%-m DJoUt< literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/bean/vo/UserVo.class b/tall/target/classes/com/ccsens/tall/bean/vo/UserVo.class new file mode 100644 index 0000000000000000000000000000000000000000..49c422af56293c342c94083b17ae1d619dcda82e GIT binary patch literal 568 zcmah`%Sr<=6g}y~bf%-N_5DOew7M`GcZ#3|K`6Rt?LHGjojOfmGVOo45?uHJew27; ztX;Oba8B;IFLLw!^Z5nf5_>+1Sm)T_*yPw^;I~TIkx3bX2V->7iluYfaconpGjuKc zqB(XLysmxI=1xn)vCB|-b~@=qeZ#PD9hoS-VJJ4wdJLtkgrU}sjD8#qL!ESG7?aXy zTP5S3Orp%6h^6#3atsG;Wrsp3r;QV-jAIefBr&!ko71yb41ULs5~c5>tXK6Hz&GB?O^AabUVrb6kINc({>73O64dW06`nBvZ zGI}gwjXaV2K>7Rw?45)H>Vyj<13s1sgZy4b11ouaHODo|0gg~2E1(PyoVY^l5&MKy H;sD++n^lXq literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/config/BeanConfig.class b/tall/target/classes/com/ccsens/tall/config/BeanConfig.class new file mode 100644 index 0000000000000000000000000000000000000000..9b179b1ae4dd85c1337e76b5dec4c0095f6b8e52 GIT binary patch literal 1317 zcmb_cTTc@~6#k|y6zXDY6$I}HYFnV|h4_Lo5ezZ9Q39q(*mcP{lj4?XLlZ<20TY3pzFeD=3gqC;UeA|8re6>SUMi<@YnDR#~!WO#m>F|+%f zh~eqbkS%J=_&YqbO7Hi(ZSqcZTrc&w-uvkwpaN$$li13RXh9lnRVxaZ+M9x%-Qb*ULj z4st)@aoc~@+7qE=n5+Z?<(75pz2a_`XN2wNr=iy>Z+M^O<{`2#j*ufh5-jAtV6>S%LcUoZJH+_b0SdK+ z1DrX4SNljF8MrJ{7$I85809HZ{CUc-NLrV5ifrg9!!%|{D&ZO~;WAZng(O$qRpJ@a LI(q#?djt3Zd(?Yg literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/config/BusinessProps.class b/tall/target/classes/com/ccsens/tall/config/BusinessProps.class new file mode 100644 index 0000000000000000000000000000000000000000..d5fa8942ba789ff2aa681de4ea84b067f44d4f35 GIT binary patch literal 1313 zcma)6X-^bE5PiKIy9@(zD5sz(;sVNe;0a;`*F>@r0!ZS=-mzI4W~V1Ty$CV>Crt<# zO^l!YQO4>Sj)moe$xdHY_4?JT>izTg$1ecWcc`Yd0Bofd|Bba3`74)H8ip!)@3Y9 zfp`^$%5Wo97&A;4l`ea6q-9v%(7Yl(DZTBL1P^0xgZoD5J&&IRc1!W3#5=f`U}7gfSIBSVJHVkzGA-iAi# zNDCS%+9~Y%B1*K+;z^3OTvNloW3>7zw$jCGCz?8|s;YhQMka}!AvtB+fMMdo%ErV) zD6N#ibUFm&e^YeACAVT4|nOE0p49v@`{5`}iHG5v4bae%-)nitJDQwI!Tn05@;aGktt@OzpwG!Okm z=EETxijx!jXgomEZ#2{I0NL-zeIXOK^Lk0+AbOD2GSaQ-RW literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/exception/GetCurrentPartiException.class b/tall/target/classes/com/ccsens/tall/exception/GetCurrentPartiException.class new file mode 100644 index 0000000000000000000000000000000000000000..f44151ba61d0eda54d3ec37bd9147c84b614ebe2 GIT binary patch literal 495 zcmb7BO-sZu5Phk2t9AX_^(yGe^#cpCw~7ZBm4zb0%HFeasF606G!_4rC&7b1z#k<} z*In(!g9%LLz0BmjBp;t|?*RJP3bBCA0G$9`f!3)u+MNmXddY))l2Im28V!x3lx*Cf zM$T%J#`|Lde^A_!zM@3~7UFzD~ z_Fp2$b!Qts76nfJ?@?f{(NsCzyx6%c>E|}sg~v}{55bcKIkp%LnXUQY;PB`b;)PQW l0mqP6V2O*CIRZQ1WsE{b+<+Cd`H(tW#Tr-huQ2kk@dfG@fr2`^K%ag`~KfoVl zoFXELda#pr`d()`Z`!x_msbD>sJW4wf8L848C|Npr+dt+)LT)eD9+5e7D-(u&KZyHY5F|n+p5amC ziHAVk8yPF_Oqf=xwNU0N5&GndZ&ImXScZ>eo%L?|?aGvHAwE^da;+n8u(6hS@L z>%Y(w)c7Z`i7fq`9gHlG0<8`qpZF|!cf0lsw)2F{BcTkYEJq%gCUa>58=sMcW(e8y TB4+6xyPHFaq8a81Wl;VAPxz86 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/exception/GetTaskException.class b/tall/target/classes/com/ccsens/tall/exception/GetTaskException.class new file mode 100644 index 0000000000000000000000000000000000000000..cd578f04d11e0f60a7944087659eff1533789d26 GIT binary patch literal 471 zcma)2Jx{|h5Pc4zfl$6$*kPiS3NLIy3?M+2B9>O&U1J49;-J_;{4FLV27UlP3UMwi zL`>My`QFpJyXX7(e0v9Qf}I#k*pASN&}C?yYNOp5L$8a!{Vww}vNlPj6iKw*4b24;y+A<7MSr%MMtBmDNZKX-5)bV7uB6&SkJUk*L68j_Et;^V!Bx+MKKmu2RtJqf3F<_&tz3{DV;Kodr=fz zJxlfIb!GUCuwG|XuFd6~OKFUpj_EZ_%zZJ$rE*T>)1kkn zDC!`>BE#{&oH6V*^tIQ`o16=$e(r!>wCJtFVzg-%#WtZKv4M{d4v${JUMOuLrkKzP gERkrLBCzut<8 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/exception/SmsException.class b/tall/target/classes/com/ccsens/tall/exception/SmsException.class new file mode 100644 index 0000000000000000000000000000000000000000..c357e583baf55c48d61ead3637e94802182fef5c GIT binary patch literal 1014 zcma)5-A)rx5dKbEx=UFp6tLE!fuxH zza$1)TC-?5bla-Xw4z$QPK&}Y8=Sz+@&?zv+*F{)ovrD%gl6{#zPnQY!polBK`{(x zP6BfnryW*k?-^2}RiuSUr}2;+Bx?~N`he(kwgvWvv=9;`W4^Z!Jrq4e_UR4^!x$lp z@Z{+y4#Ab|a;*_}nC_(M>`V)x<79CP8t}=+I!A=4(5QhH(vbv%ODk@y`UD4M>s(us*-4n60`VFH_FMnu@fhk&TTI65-n+t>6iPAWbSIWL#pBv`Lmf&Ekgl+7U zuz)%P|7R);`x%easBH4*BAF%4P?@!?9U3{5F@rM}I+ZuKlb$v+g-k7|RL`4(Gw8Sd z*h8Ma%MNM`)l;P1A~6?@L&rIQF!P MGFdaMk(NW{3n1=|X#fBK literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/exception/UnAuthenticationException.class b/tall/target/classes/com/ccsens/tall/exception/UnAuthenticationException.class new file mode 100644 index 0000000000000000000000000000000000000000..c6419701a26d925a4c3983772744506443b7c1a6 GIT binary patch literal 522 zcmbVJKT88K9DQkPubx+Ht5#hEC$A3PpiUJ*MWIl1sCG}!*ha27x#o(i;Na-sB#sW^ zpg2_=`~ZHCwx2@$9sZ%9E++8ud++y>ypY$o=NACWm@$#TSPEGaL&zBzH!#7FT$M`d zHHNrds4^rr{R6>}DN7}G!e&hbd%Wh6k}LZz_o_UQ5&skux*=N(D`nSjIGDX}`sx%J%!(fduGp5*1+#xT7ms+G8<@0^#}p;$Uf=ca zZ~70Xy{og{2#ceuKBfcVLEW6vXkksyij6MO_38Mw@$~ z*ga&(+oeMJhl8GJ+rP*IQbh++)r*BH=8&Mji3X#Ygh7}hRz#dCAia=f7f)chSO@V( c5@Hx8G-(AHEn+5B)`uA*R7FRn31b+22LzXp)&Kwi literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/exception/UnAuthorizationException.class b/tall/target/classes/com/ccsens/tall/exception/UnAuthorizationException.class new file mode 100644 index 0000000000000000000000000000000000000000..d798bb6e43009c20a572a2f8993ac0355fe41658 GIT binary patch literal 519 zcmb7BJxc>Y6r4?BE}j=-qDCz&th`uwAn784ibCMfBAR}4u5snEC-)J=R*O`EU?tj% zomIrbAK(wU{0s3Neh^R#cj4{KyxGSr`}+3$0-%aH9R*C}P}DJkl7>kQQw-Tvsbsju zkTxq#hRmjSAQ%d^RAMLUw1mIMTP`Uj+jF?vUgSGsTPE}8|1vHg^DfsgZJ>-9$`Ri_#FxGJ z?tE}_F}S{udwm00%rdO}KLo?#(4{Dp!^t;zAim==6q6j5%T?Q|t5CFs&!Ba=8;RXR zhO$|&*gqWfNYng99+DcNFIBr%X<`8x`j})f+F58+bHr*$69V!}MRxTBR!a4eek37< ZQK~wfAfrJ{CuDq>F-9mEm8Y7*_&dUukCy-d literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/exception/UserLoginException.class b/tall/target/classes/com/ccsens/tall/exception/UserLoginException.class new file mode 100644 index 0000000000000000000000000000000000000000..d68ca0e9a422334a3cd110c19e9bda0b63b9f87e GIT binary patch literal 555 zcmb7>zfQw25XL|EUmz4p3$#ENm`G98ENn##Ado6WFciAG!33k!L5WlGT1+4Y9)O2J zoI@#*%7Rbw`F=k8KA%56-`)Wnp>3mq4I3qFTG+DCWT+fVCG`nI(;0XVe9GOBtH2%V zSgN4k88MX3qFcdG^Q01&>0~V8Yd#K%G`z^?;fTl5#4}jZ_cCGVd44o;eLoQ@aWxM^ zS3LRRQOiiVH;IV7D3I#>2lc6npH*Q425Tacga=uL1w{<@FiK-zTu7s#wRl<2oUzcV zVjDYEl(Eau{f`=kgIs#5WnTO#PsCg|L;Y9aKxq+(nDkG1n2M{rtf!q^Q)e0UTF3bV z=g_?U*hi7R%M3_TX$kT?SZH*{1H5mgXTi0GZcER&rbkL*cMu13KDI22+?hY*FI zpPsDGmOsDVKLFqwPFgr>;kbp7gVCd`)$?75?BHxBR;JS3zOwIGCnQ%Z+K_|u`8t&_ z@Kdm`j66YKg2+}(r~7-AnPX_!-n-Y^L{tdIB>96Yrp;j Qsyo=}AvCo&HE#jF0TF;*9{>OV literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/persist/dao/ProLogDao.class b/tall/target/classes/com/ccsens/tall/persist/dao/ProLogDao.class new file mode 100644 index 0000000000000000000000000000000000000000..dfa74c619baeaa2c5c3da3a2629d835a4d6a4439 GIT binary patch literal 264 zcmZ{fy-Gtt5QWeBb8n0wwmyKBkZJ6!1hI-J5$q@Hc-gpjXW7{(c{K|kz=smoAa*I{ z%nzLNF<;*wp8zg#++)(?sK?Y{`l##TzG?~N2T+2X~OGv{@;ZfeTypmNZqIHvn7LwIM)v~#AIQKe|_a@1xa*ULvSg=aZ ytn`m{IQ<1vA~^ows8k`+R-$q*1C?=>^U(Ad*G>F!yxzvhD< z;71v2W+DS?l=x8TuIf6cs!sKfpWnU%zL=}A)>K2A@az2?g}8=360 zCpXR_*c320rXpd_Tv`Fcu`%QhGBRAU86`1`Ns?F8eOFE|*whdPPzt9QG2s z1lgdNY;l6RA_4vK_h!w_4Yj#m3InPtd46VFfS-?`a^pm9iGXi%1hAyyVqK@FW@gsO4 zU}qNdkFO!%^?lhr0RraO=J}7$EeKeE2kiCPTd%_dwuc^u-SrVCJ%%R?TB;$i+$0Zc do}1)(c-p)@gB3n|{Itqv#8#&)!Uo6szW|Tp{igr` literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/persist/dao/ProMemberRoleDao.class b/tall/target/classes/com/ccsens/tall/persist/dao/ProMemberRoleDao.class new file mode 100644 index 0000000000000000000000000000000000000000..fb8bc72288380521b784787255bbf191be8778bd GIT binary patch literal 285 zcmZ{fy-ou$5QNA4+(Bq)D0l`?Rzh@CNQjCEbV&3*vpG4~UTf`u@@f=301t&Q=|G~G z-O&`^Xg^*a4=FD;a{QdPC0KUMv2ZtUUd2meN*zkb+_F8CTD=OfZy|PyK zcvGzBW&Or*U91!Md{(+=T}A^Yo3x~4GdFq8_AfeC1hgcK%@IgeMN=}{(VW1|e-m7k zeATADZ@4tnvLK)}&Lj;L#R6TWxv!YxsM3*EwE3+tq89Kn)2z)c*Lf+GWmYI@2%MIb zZc-L9|Bh2p!)rs?7(k;aBwOjSpo7IG!=VHO5}knrdwrp*+*h*h@|&1cSjbd^Q;K+S zN?_H67G*;bNEM~zx)3m9I96F+$S_BeZX}7D*{wPm(nsoK`ZX7r<|S^7`xYxYHs7nM z+>7RWF$r+fIOyk_R40}w-A9zw1J{>52mFo$Ban_4P_KbdI_lp8Td@~u@>NBjI*1X$tbz;;(meR6Ms!0u!3 zJ+j<~$Z{rhjWnDmACzuUgU;m2_Cii8JXA(lrF*DbX42{**9QBdbvCj)<|VK-euY13 zZsG(!&Wmlc5NU?5ECP4A(Yxvk51#g)O{>47`ElKkm(+ AYybcN literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/persist/dao/ProRoleExecludeDao.class b/tall/target/classes/com/ccsens/tall/persist/dao/ProRoleExecludeDao.class new file mode 100644 index 0000000000000000000000000000000000000000..7948d743280e10b918381daeaa58741c7d049019 GIT binary patch literal 291 zcmZ{gu}%Xq5Jbli?jSUDh;Km3HtDF4l2jnjA<=J~<>cV=TDA|!uTk&;d=$c@1X0ZH zXo|P1`TTnS05HdCi{ln2Ev5$32OX1@mGfe7exI~cFUvQve%#1{b++XfHn`}kzbXaT>D0<&CDEa!fAtPl*S4)$~lcND?i(DAY;R?24w{mBGyFK-OjnnF@PP zQBrof(1w-%-Zwb=`G7o!p6=FLvBhBiA7kKHalbLQ`?N7IIH)?TC7`;=ejcHzyQz5# Fd;_Y>SmXcz literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/persist/dao/ProSubTimeMemberDao.class b/tall/target/classes/com/ccsens/tall/persist/dao/ProSubTimeMemberDao.class new file mode 100644 index 0000000000000000000000000000000000000000..599242f4ba29c648684c5dcb7e6f76f438b2320b GIT binary patch literal 294 zcmZ{gJx&BM4256#nSrIDgfk%F1}Z8fM8yiUi?+`MGs=?0k&^-K)hIXsheCvHfx`CF zSA2T%=hyoOfD0V;IOuWMV`ea0%A}5OePDx=2bJYCJo?CUjsxqBmGiZIwFak)Db>bT zzW5>VbxKlg^^%Ig*`4S}C96;4v)agSqAye`D@)yErUhpyzKU+H49H0&=L)An)rLTs zwfIu$$qM~Zz~K0&0tK5!x*yi;s=?)dl4x`D{qoGWxHB-=X|vn@fR^^Qdmml9UE@9Q E4ayx^*8l(j literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/persist/dao/ProTaskDeliverPostLogDao.class b/tall/target/classes/com/ccsens/tall/persist/dao/ProTaskDeliverPostLogDao.class new file mode 100644 index 0000000000000000000000000000000000000000..fb979103eb05728964e38dafe17506416132a081 GIT binary patch literal 309 zcmZ{gJx&8b423=X>_TX0DL4TVZc;&o6j22c1(ep+p579N6v$FVZV4U+HmRxjqA7C7%#~6)^ zp;OK{uv#+5HxfM5BEaQe56o0Ld|s|NdVsq_q@IQf{U7$Uzcm2@9Mw6lZ-MGg_Ie6U J-A&C~fM0fhU?l(m literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/persist/dao/SysAuthDao.class b/tall/target/classes/com/ccsens/tall/persist/dao/SysAuthDao.class new file mode 100644 index 0000000000000000000000000000000000000000..4c485561cdb236521105b41214590b9ea78d63e2 GIT binary patch literal 267 zcmZ`!yGjH>5UlaBt7o98KVYKRiJ8%X7%9RXn9q&vI_K{6Fx{){uNn9Oev~*Kh|vYz z^?>T4zrH^{0bJpz#X*b17Bh$0QpOVaHumgryqt7C+RKfX%e8;=4yTJTSseH=YFza^ zPf5&Ml%x*lcTzgiTw>~;iy!!1$}6dHVX-MQEjWutlQLa9oCO&u1m&b;zV9h>(WpjG zUg*Eq;pDfOdY?LaSgkpj!^O7j;B!6m7r)=A#=&8y&Tf4cmF;czKAMV6^;_TvDbY`9 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/persist/dao/SysCommitedFileDao.class b/tall/target/classes/com/ccsens/tall/persist/dao/SysCommitedFileDao.class new file mode 100644 index 0000000000000000000000000000000000000000..69949e8cbc3abdcaef0b805c45b9b8aec356d1c6 GIT binary patch literal 291 zcmZ{gy-q_h3`W23b1#&I4e<;}_0o+AftWx@t;C+D<|-wLqr?T>S7YD-cql~Lk*b63 zPiHu`{PX+u4Pb_g9%ntydrS-_3)vLMk3O)$)ncso5~EjMZOMa`>Dqo+gX{SwsgL~X zt6v7bOG(tKmsAaIo}>&^bMa|-D>m|{ly|Dig+<5AH0LbUtCaE9VCp22bCpviwINXE zQhilgS)u*?2AA6lDA+X6%W}<54Q7WN(dMT6uX*0l&cNWP)p2_QS~}VFQ*>>1jrYJG Dt9e-A literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/persist/dao/SysPluginDao.class b/tall/target/classes/com/ccsens/tall/persist/dao/SysPluginDao.class new file mode 100644 index 0000000000000000000000000000000000000000..47e6259a08c1e398fab33d3874ab0a3006812b66 GIT binary patch literal 902 zcmah|+invv5IycC+mt}sP%h1pPl6Yx64?=4` zmcsC<#n|&7kieax?nbN|fJhmq7-EtXWhhgnECBw;oA@#-z z(Lc6EwluYOmYbj^a-_T(Yk4Z1n8+Yq-xwQ2P}WfQ`>}N?7nw-DNUp||_FT*hc!{D8 zSEoYflA#euX>d+YI<&b<RaU7X+p61NYh2?)MGi;QbP(J#n@g*$^!*LyYA~GVH6P%QB zgcl4)iJ7mD(8!^Q&&=vH5eF{=q%IUv9!Xlf>nwdMTB*V@1R9r sRoun~%q;Hd{&4Aw?c4G)YyMc;LYo#cx} z(;YJCyy%^ZiQu770qrr$9OEQ9E5lvj2NRs^HwSCgp*oX20J}%0xlxqpCFe5 zy0%;t4m?8<+2TZmG38&2^Ul<*6UH48KLZcd@O-y!F{BoDk|P{Pp>WuzNO2mcTz6MF z4A8VM^~!^144SjpMpr2`??PcM64lr1P+ifbiRO8Wj`j9*oUCU}H zP77vACoeOd*eES;lnUvaHfP+DoKU+YLVk#mw$f>nkXm+UB^sfzGz@$w$}*+U3|5K( z`#ebJj{(05J{A!%m4yB&yYOI#!K+zNHWq(*a0YwxA?0Q=*qRHdF-1Rla8vNiI0Om;O}6peQGt-|1ideqRgP>N#W~Ra8U-J~MF6V zhcq7f^XvTszy%I^?Dg31F>{zLbX~mMgeVS&i^(2L$~EixieK5`c)m_GjPe*PETded zq?K#XWDcjdS_ZOQLK>b6kMgGFg{(>uty317OI8b2%XH~*;&mkNO_EXN7%5A!V3nR& y>95z}=%<+?r-AO5EAiFg?7!^Dxt;lq-)&Uq;IP$ZyFH7>b~bw#UBj;VJ@5@ZS5J@t literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/persist/dao/TaskDeliverDao.class b/tall/target/classes/com/ccsens/tall/persist/dao/TaskDeliverDao.class new file mode 100644 index 0000000000000000000000000000000000000000..c92e41d0e316fe5ccd0985c78dfab271988b5596 GIT binary patch literal 1469 zcmb_c+invv5FM8^+q3~%N(tpwnqKGyumrpXAyF!%NI^tR=`+s8-MZb_E882CU*mxf z;G+=ZO*WegX@uaxn)T?+neoh-{rT(r4*+-r&pp`mpzOgGffd6;?%Sj8F%LzD>uQTY zd9QZKI*f))2DGMRP}%P}Vk<&g6UJ5u6dEFs%*L8~utQ)ejhE+&K(Q(%*B?S=3^xQC zGYQ|;eATADZ@4tnvM{7g&Lr(9TG#3l3p`WXLm4XXu!8bQEUjqsGhswC`}^}G^k+W<|#JF&2%v5M(Xom@82eqWgVZ)TCZ_^ z_fhwYal-OoKhudT^gpL}l*zmEagvX~VnfB+=e=C3r_5aSOFCxirIR>;^-&RxXy-7| zj)}C8!MPLHH>IzrL5Xo?yAh`+JW@tjrMsx0gK-5%TpQdK+G2{1<|eS5E!gL#(>H_29w)^-feo~Iq<@OGfTxVbdaw-(cw2#8xP$f{T6bSZ`v3~R E0dQciD*ylh literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/persist/dao/TaskDetailDao.class b/tall/target/classes/com/ccsens/tall/persist/dao/TaskDetailDao.class new file mode 100644 index 0000000000000000000000000000000000000000..f59f94c1d496f35307d208592336e229a399a038 GIT binary patch literal 2559 zcmcImZBG+H5S|t2Q9z3od65?tL8%CBuNs6<0-m9&I!#_Y9gJ-FUpcJCnlEeNl+-t9UUD};gLQf+sgK)USIJQjqKTkwLwfB_~j zwB>nRzIB;WToL$w>G-b;6;Y>^isGK40drkybLP6jkvUcONhF5mE~8?IaAb(>2Bw=bNdc1};>?8kox z>6Vz3#8l`64kC$hGW05&%$ClX-YlN!eXfgZf&8h^*5qj0sh|lml0-(vo20Is13Rj* zWQly~TB+OgjmF-VF_7qDy_X{Nbv*eqq0ez$+zT7&5RWhDwiMcB?Kx5q6=~Y$HOGs~ zC6lD#18)%6?8cdLARTOTCrZGAH3At8yvYORxcNq8``{96cL>$Aq&Czjli1KQ6F7CY!q=$K6m3~)aJXZhbeQJkdk~uJG@nG!JoSX%rk?1u^Qz$3egjX_)e5X zC@cJ(<6?Wvnw)Ghv8)S-z{K%heXK<LPZf4@E`o;7X^HznIf0N3 zY}C2-N5aQei?0{0viPBhF9AXm7&b5DCtG)Q0xO-=>&!<>M^`vDQjGR2czFtJ$G3^V zayv$wtVvMws?PjdAw__|75sYe2cf^0Kri&+I)$q%FaU!%F7@K^5Pnw`Tr<;*nGT!j zbu^KM8!Zzfk%_fFBatw1)9j9#X`8h%7{@d1$e8xC>Bxkc-a^Ppm})^zpAb$!W>9zr zZnuQ*M8dN@##|z}7UmCPOl-?5kP$06vsBZX*^J zIXQfgbI9k{`v(AA!eI}S9u9h#I+#AnT0P%}$PSL5$W}8>1M3aR`I27A!O47`Ye@VY zEDVvabCyaqNHzy&ccLR&(U8Z5QsOt!6~p+g;;5 Fz&EI*Q}h4; literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/persist/dao/TaskPluginDao.class b/tall/target/classes/com/ccsens/tall/persist/dao/TaskPluginDao.class new file mode 100644 index 0000000000000000000000000000000000000000..60cb7849daa471921d9a8ddaeb04ca775cbc8050 GIT binary patch literal 279 zcmZ{fy-EZ@5QJ;|**(uh%zOk9Y!EXeL5viSQ_TCuzGd!ar=JuzT#JQIGK;BgkGM5 zg+-L>l(cXOn#|$sPIE^#-qIq-WaO$-u?@f|X;TUO< zY{3e>u+pDuhohfzikv!nSggbshl~Htdmd^M&9eT6+;3Uq;ILC?w?2;Q_O`l@rtYTl G7Wf9tp;S2l literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/persist/dao/TaskSubTimeDao.class b/tall/target/classes/com/ccsens/tall/persist/dao/TaskSubTimeDao.class new file mode 100644 index 0000000000000000000000000000000000000000..ef9fbf0c48bf785ccdfb9fa983f19e33d64b32ad GIT binary patch literal 282 zcmZ{fy-ou$5QNA4+(BrNsCWgCvITThNQepqN+S9_vpG5Oc`e%q%BxZE06Y}Jq#^~y z?yNp(X0%`5AD;lOanj^0V%91uIJfLJL)#PpkWJZ#*vv+PWiyqbj%;6sU@jheJj$vDzKw|;PM(zO)Qq!5$v0jumj2B5A?8DaxjO>{|uuqP4-)Izh#|+!%nN+_CDISx9$7r+Uy$dfggE~ BR|fz9 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/persist/mapper/ProLogMapper.class b/tall/target/classes/com/ccsens/tall/persist/mapper/ProLogMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..d5c80328755fddcb8b59f62e406f988f2f1bbd92 GIT binary patch literal 1058 zcmbVL(P|Vi6g^qnUE6A>-CA3%wnY(I1q0HTG9oA_SVvr3@TE`L*)XQeBtw!}++Xv- z5AdU;ceA_Qp?w(XL%8AQoSS=3PX7M;{RhAa4m;TI;DBL0HI?=s#vgx)qRb`3%cCSU z1y55awc}poIUh)&d1-jhn#5!?WPE(a5DjH6y}T9uGedVy?^#s{JN_ca3|mLZg%}B* z3!U-A=qx@aXj^F~t!H@N)L(!{Q+S`+OT8M=T#*a=TC1l`m98e8HdJ|)^F%oxGpzJg zriHI8RX)FMowp52$M5K-?!521MsIFv)KrUMw&YDJu8_HivMNjqYJ2^@f z@`rM2kjtL1q9Bvl_gWh-yfWG`yhx1AxF|*XQ*t$+wBup{;DJTsFONiCk;rW;Q)7n= z9XWSubZs7ny?JJ#Rc*-b%~OWezNu^~KdFiLH>VE&D#}vY*Ao{qyt@7y=*W=?co9&u zPcfx1Y%Hw%ZE!)}Ycnvk=+6ObOAL3g1W;T?JH!s|hPZ;&5Z7k$9_|xwomeeIgx|ns nIPYSM@((D#)1u8bt%nXfi|sCfAN>#L@$9C(NhJQ0aM#mIpd>M= literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/persist/mapper/ProMemberMapper.class b/tall/target/classes/com/ccsens/tall/persist/mapper/ProMemberMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..da90a368cb2239cf5b9374c1409019d0fa1d2e27 GIT binary patch literal 1091 zcmbtT%We}f6g>`YLR;vxX`zMk5)!CgwBEpKDkP9V0;VD&5_`|Y3a)1Ck?o1dud(0* z_$b7U^O#Y)=m-|pwXW~EkK=QH|M~d~z$-lK;Yklq8MZT1Y5#8e{)Z^aTr!*9NKIy5O=!T#g?ppn^A^cgBhTBayvli^oR1kc zhH9*ZuPh}O|B>qaX5!;FRIk4rpvl+k>wL9H$8cDcBhmQ222q0+v&1(SSuscd_xvk~ zO%?K+aw^T`Kv+?bcGqwif#<@n49tl=f__@GQ7hW0d7+xmEj<_gA_FHn5lG<^xbl?F+Gg%#ryrMm{ zt;~!aGIZpE=+Tw#7aS#4O8`fB+rjG&-Y{(Dwld*(a&j(;QcH$U2U%_l zp66Z~&x6pK52P@>w7lo+snzo2T;{qOl8lh_@CQROlv)OPzc}9+y7M?arwZXFKjnmB z`ye|LW5KmBBc53^N)O4kt&Ep0FnnlSal|DvT%QWggBnxIiI4wU@yCrr-jXmYu?kA_ zO!<&9to7B%h)_97QQSM==cZ#xzfkV(yrnvi>0KTh2W8l;%Au%@xJKaL#@(e&6W;Pl zlYVzfE2;|lM|m~SvL~DqYrXV#6lC`JBHay1~e=VIZ&BZ`<=9SdF2 zMA}Z~)(sgta=!Y>QilxtbIpRrTHD>bR)+Pytz0g@sp&E8EuG9SQI^tuoNhD2(ej;< z${we8qTJ(8F@43g$;=4=EFPb>*-DKLIO2WU4xn5lZxZ7Fb literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/persist/mapper/ProRoleMapper.class b/tall/target/classes/com/ccsens/tall/persist/mapper/ProRoleMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..60e5cec2ac4ed53cdea026cc1ede6c8de0614f50 GIT binary patch literal 1069 zcmbVL%We}f6g>`YLLYR>6zB^mLLjvQ;RUQ1gai^ug+WA(#EykCv4X1^dt`ee@@p*k z06q$F<7ApqyBO4kb*<}jU&rVE`TOfPfLD0b!^0kq7`8G~Y5#uu;io9dTrxa6PBT;R zEOSyj?nR#Sp%j{zhWD*GGr3$qlao&j(Maaf%j?CTGQ@R!->O2`>1R1**f~zm#YFI2 z=rK=?9w#RR?JDi0^$bs1I}G?}jvr8inO74UEpp-BX!dn$s*7RgEmdCSJXOvo3~K{5 z*1}hoQh&d8qBm`HCvT}%T({oj>E%_PT9YyCRpm%DzN|q|+B!wjR^Wm!`mx7nBrR3Q zZ_24*F8jiYg2ZCqX>Gjl%4o;%G&Oe2MJci$lB*%P9T!Ug4^hOx>O|xfG2OK?Gj_z# zleJ`{OA|31)}AF@jWOe^uMF!0Q`t;@RI??B7gGNs%2L`FGc__izq}Xpsm7R7B*R0k2^w{bhX m$JinN9rEvX=yI3NJ%`=pb&tUN{{uQ$R63klioYLfJ@^ODRW^hG literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/persist/mapper/ProRolePowerMapper.class b/tall/target/classes/com/ccsens/tall/persist/mapper/ProRolePowerMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..2a5e752e8fb42a4d942f6112c7adc1a096ab0db4 GIT binary patch literal 1124 zcmbtTU279T6g?B$#J1Y4shVoliXb#EjzS-V6-7ZoT`@G!_sM2hr|ixwGqchBwLbI* z^hb#|lcZVOmxVqIcewZ5?{hEyo}B|Y!t)NEb#TD2otjGfPt(tTL{a9F;q_sXnu4dP zliG1F@|=&P(7ZH!V9l|~<-q)wc7c!k-x#8?%%zt%2=bMoy9_e0st|ViT}~Nx50g_d z5j+<<%B!3w%K4aK zW2iDMd}S$qcC%>j8tox|Pg%RmPU^FJdwq7zA~Nh%!ksV)aeOMP)n zJXD1|QBIABWWtJqNM%22ZM^WxXvgp}F*f6(6zMO?)ri!Nixq$eFB-`DMC28%plxMp z?3ke=m;8>d^v1Bi)U2jgYq)#e%CI>!l}+UrHM^Kz{VslpvXu7KjI|7Ju3i$E91(>V z0rlTO%^ewbR)qgKIwh{Q85ml0wZPUI!!4`oq literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/persist/mapper/ProSubTimeMemberMapper.class b/tall/target/classes/com/ccsens/tall/persist/mapper/ProSubTimeMemberMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..c6c9dca5215c0aa7c30d51d9e42f0194d39585c2 GIT binary patch literal 1168 zcmbtTO>Yx15Pc49LR;vzDbPZIA|#~tP<$z;t&jkL1Z+h_5Jx2M#tN=>?Un6~$Y0~Y z58y{3CQj0q<6h)BPo>bjG`w%kph~}~LSD)um3EGaPd_n4Lzzo2Zy4w!Lw6CVZ&e}evcybJ-VG6tr~qjn>8suZ(sKFA`%%T$CdFDY;5X?YLMv@PHz6Hpe2b zXe@0jGh>Gg9l5xHXr)Jn-a@lvvetNa-O8{%FqO^Z2Q|H_-sogS&*= vB~%L$`R`#r*t<9&{XNnjw&-)8-UElj<@bo3A2xA%G|$wVO2R)5xt{z78Q@)9 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/persist/mapper/ProTaskDeliverMapper.class b/tall/target/classes/com/ccsens/tall/persist/mapper/ProTaskDeliverMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..f97288a9c351a3ef2f66cac497949274cef91b17 GIT binary patch literal 1146 zcmbtTO>Yx15Pc49LR)Cs6lhEN5>lmBNLT_+EJ7**Bw!H{K^%H>Hdb)!wO6(`B7cno zKY$;Fm^ewZq?eU?u*RC1Hy>|i{`~#*8^8-ZYT-c(4;eNyTbl4@{O+g73oRL*9i^Gg zd6s!;JP$%^-j~Ag!t$=O--JJZE43O)H$x=H9~s&Msb!E?3iE-XGY`{sDi?12NsbwI zj?yzR5?l*2ruH`pf0F%AODroPwGazU|?Ec8I#3m;p>&kt{HpO@)tpH3nlg9h{Zu)8d6~nyF&XyCVjwERt&n$Gx3#2Zx(iBa z#E-wyW~y9%S6=nC>R3-GHGb=NsQ%>W|@Iu32zcX}WXS%CO$ErOV`dHMybv|1agUC<^JGPPUlg`SNv< z$#V+)k+mw^OLV zX9n7JDi?0_4Mz;tx6@-W6kH3F@zk0u*`d&;G9F!Euv>4I2-2Q_^k@_rXkHr2$8%+@ zgL?SqTuquUgVH=zJ|qm5dMYy_l#c5Cx?c3XTJM^?p{_c!$*bIdzRZ2S3Jf;OVjwCD zQz3m=kA$RFE9VbGOZ5B)=|bgrsJ!ZH>d0IrC$EYg>KLKK}HW%PQ|CqGWWWb<7e;I(41qL@@0f6ixG^1_7 z&1jckIog$}y#==^Z`YLR)A`3barj6%tar!4hHvgOG{<@fbuz5PN50Oz#mAnzL{KBZ;W zZWWZ~sq!IVSR1I^h)_8yG`Xa-FPlAD@{0QCErzV~dvu=PhN&5Lt8yf2GN=)I+;HBc zS@BcWNfVF0lCV`FzbmhXTK0t#1&Pxg8DoP8${Nq`IJGY4q7>P&2R&rHj(x9}{9tx?cBf6K5wu$9Z?J2hRw{RH9@ghcDysEPd3|q?$`Z7Er&9@mCTJ&Q8HdYv}U(Oq^ z?KNB{+$Nz~=u-R^Zp8Z@w#k2!{5vf=+@kNc$IkM&OTl;kC+P0H(%#e({$8wg{~y@q Bbb0^) literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/persist/mapper/ProTaskDetailMapper.class b/tall/target/classes/com/ccsens/tall/persist/mapper/ProTaskDetailMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..e7506103da3ee5ed30b72fc44e5667674f3235d1 GIT binary patch literal 1135 zcmbtTO>fgc5PcikgtkzZ6lkD)2??p?zzW0#86iM`1Q-z!gt$(eRoG(hTD$9r{51~z z0Dcr=;v|jRUM%&nn$^s_`F!*D-|s&Fp5k5ycRIK$u$|h{gxAxzzbG#9eW!DB(~oK@uzQdk z(S&41W-JqH#_=J$wzcuf1%ZbRtF2Jc95vu#)1W8ZY~-tdt?-u(10J_OFRu(blZo~r z7T6f*v7t~pPN2^j?s>Ci#4k8+ciBvRe$UR%uVF}mURjK&w$|Fk?ODZV+p`;$N+DlqF$O^?XS)Wi=@*dhw zrPhrEI%-Mu=u~$C`%BGgfVGypXRQL816#UOz076)`PgE4jJ({ss;K}KmVv}dO z$h`78d0KO%z|M;KpNB`x*|vZ{iw_vsS`)Z{HGt(h+Li3!VkI}QS;?)1yoAe)+h$Y? s5&Q4pN@ee2m-Sa!zt`f=HGbDU_Ez5>JKt#HbaRnuefgc5PcikgtkzZ6liIIA|#|%LhOOwjF6}V;=_oDAWmE+&MIuNcdgxZAb*Vm zKY$;Fm^ever58&*tY$ScZ$944{QdX)4}eoV>fm7qM*`caEloI^y#7Ubktu=a$4P2) znWkPDF9T(n94Iofu(Idu7xF*ek{kXcr{<9O70VUvlp5qNO^I@ns$x2Nl>aiy_rUTqE#XxcamDlRI&9DMH%Uk#~IOiR13kbCMtbwgHfooU;Sgxa8$quepas!){+?vZ9xXHL} vMzs*J{|;_d_AYi=f1CAtE&kl$ch_TY`Q2yddrh1U=9vzslJWPeTo3*Ow#!-J literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/persist/mapper/ProTaskMemberMapper.class b/tall/target/classes/com/ccsens/tall/persist/mapper/ProTaskMemberMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..3ca37915f3cd4f65ea34d43686c47dfbd9e8cb36 GIT binary patch literal 1135 zcmbtT+invv5Is)Yq!;Lx6lkE_goM=cfK|i`T7&=zBw#Bdf)KCXjTKyW?Un6~nqT9A z58$H^6DMi5?aNAiu*RC1GuJbJ|NZ_0-~}Fa@SuZ-4BMHhw0}2we=3SHmkdV-NoES3 zWln0xy~uN(N}+jac;A|D!u>jyMJnwa5FdVGh=wwkUS1{2M~3bqO5dtN*vV%(Vc0!L zPQ+O7T<8%`j2^{@}7a<@utY+ zh%UScUguA1hGf`TGXG0@LY!?gFtq4^fvr`B6|4dz*U%2KgY_Ucuo>jmTwcRhrQ*uN6vSeINhCR+Mi0o-wV0!{|9*$P?-P# literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/persist/mapper/ProTaskPluginMapper.class b/tall/target/classes/com/ccsens/tall/persist/mapper/ProTaskPluginMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..27cffe9b98586ed74f5d7be2d0e2dd128bfd4e02 GIT binary patch literal 1135 zcmbtTO>Yx15PeSDgtpKvDbPUq5)x9&0jm`kv5u{##&sw_R97~&0pid z58y{3CYz+$wwIN9u*RC1H=l3*{`>t0zzaO?;9&=k7`9Sdn(%J&{#4|JmJEmcNosSR zrd}G)gV34}r7*m(yzlIH;eYjYnJF^|#0Q@kqLI`x$g4#8$k1Ix={uDRH~B0l3_JVD zi5Ls6g~@ngO%@-JYg-vFU0`_Du-Xb0%}@g>HVtY_%|^cZ*9w2rFyLAHv+~NIG*6Td zF~j;mWk!V3Q37?vaIcyzBYsVJyNhP(^Lu%Dehou1^vYr+YHO_x?zmxJakFG+)1=)# z`9_3Px%{EL8fw`WPUJ)`_tqF2L{QdvhNp>j85e~}e@d=~r1o4a9e9PJnXHY4E@=;K zCsXT23>~>3dUT;XhP{PmIlx-W-OE;nje#v)DnF>{>GaMW$QMx*(mkKDm*ME*O_9kH zU3gx3oj-5#_zwUxQI-Gz literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/persist/mapper/ProTaskSubTimeMapper.class b/tall/target/classes/com/ccsens/tall/persist/mapper/ProTaskSubTimeMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..6cb1e85597160e5e8d4dd543ee5cf9dabc941a76 GIT binary patch literal 1146 zcmbtT-)j>=5dJo{iEXvlrfOTORs^A?;DY+(iBLg7Ju#T#gKvA6C2o7Sd+hE7^RM~f zAK)J)PBuw%rY{G5SZ0}-Z+?6;^XKoc-vD0XaR-k&IAqw&Or`zX@w=a*D09j1{3yvx z!L!Us?YI|t&QmEgFAeWmb0*wHze>+kA!msA_#;C!kh%2oT46pgbmw7uRu#gIKglt} z&QWqMMuO);4|!trFg_;Nw$e^o&v4ST-T;fHus)TWc{QSbBNzU)(odU4ykuZnVC7ZL z6Xkr&u+~>YEqrAu!^L&uy>2*>_zh+5&ikoz`06T$O=B|bRpmg`hFc@=d(+n9hUqRT zr4c{*N}EZG_DwmJ=CUWOC}_#-sn*5|uZ(sKPZMK@T$CdFA-PIP?YLMt@PHy(R!1VQ zXc%oPGh+t~9Xa3lXsJJjgSlqGVXf)zRV%}K-&8h}@73gn_W!?>&!Q})eKy%*h8N4% zMJ7i}!;9dxbYxQ~!`9*izNF{0yKM%B7Tq$ivBGczD*(w=w1e#6W{_)G4{~EBZ{arK wHVM^2ME+aY4)!i~NPma)yDj?MrFYL^ck$gL=lv#5_h*?7CX(``VhX*}8WZ2G3rTx3<`(L6cbII`RFwIQC zv&>2DxEFcOhf-)>8s4|&yBV1UG&%aj5RGImy}VldM~1kL?^{&}JN+!D47-Qvsh9|! z3q9tk(c|QZpk1Y%w4UKfYli_J&G7?jF!O3cqeU*<8_m9IO?5u(yrs&koTtk9gkfW# z##;EwQtFc{CwkpRck+g6#dYgVo{lf`)S8T8zbZ$f@nsEy($*=GwgTsT(T_d;M$%G+ z{Gps0=CUuWC`c^!t=7g1uZ(sKPg7&ZT$CdFDY+Vw+i|f3@DN1|tW88-5z}2OGh;^# zJy}aOx-b#LLG4-6)fh9r{K~L7FqO^Z2Q^!Qcp>#KqAaC-F;gSM^NV{yPmZL(i-4-v zV;;k>v()g{;VEgb%fQf~^#it68CI|gkX=JJ*dEq{-N0tBTMK&)*C}qBqB@8Ozk?g$ nJ;pBiZ<2qnLzi20ZaeHPuloeP^FN@wi%JJGOY!$Yt^5A~Iu16l literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/persist/mapper/SysAuthMapper.class b/tall/target/classes/com/ccsens/tall/persist/mapper/SysAuthMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..73d790d16d2f998391689e8823ea01d5c5bd2da2 GIT binary patch literal 1069 zcmbVLT~8D-6g^#FS3nsUR8ahikpv>45BlU76HGKw$4K17Hy^sQ%~CScPTJ0f{cAq> z1N>3OyWJgj0uN(&Xl`?R?$_zLfBydZ4d6AN_3)&JrwkjJskDDT`EVhMGM5Z557NvO zJjA4sS zo(nzVsnMh4kf2?qowT0eMQeuvAI@X`&QohLhTWD>Gw< z3_V#(Ho7tq!(Q!K(A5|-zW&Ov);E>S@qNPX#IfoWrigz17ugw4Yr3{!LDL0*!8)+jXM;#K~WtCojKo%;?ui|a0dAN&vK;k?q`)KdJTQ0wtOMzuE{ literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/persist/mapper/SysBalanceLogMapper.class b/tall/target/classes/com/ccsens/tall/persist/mapper/SysBalanceLogMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..185285efa4c3fc64b969a3003d3340c088a812a7 GIT binary patch literal 1135 zcmbtTU279T6g?B$#J1Y4soH4$LJ(RX928$9+uan8JPT8GVW@dx=Yd-h` z{88e~Bx$zo%R(Q9JKTHE{XF;Yzu$iVyu_m(9`x{#VO!eTgrn*EU!trE#qj(fleXki zdSyHhqA2)C3BxPPhf{wf3Sp$mY`y@bho2adu_{zhmx=O`p}&lB>~tyI^s|~W>>gw% zVj?)D&3R@`o*t5GR~xTfV0hZH+K5W#s38?AgPu^ciI4wA;cr_8JZ*noULAD7Gwnml zurbuR5utXJKwmQ4>vqdX-%#HEvYF=mUR|7D%a9C%x*ChdS{sA=(Xy|!U9!_@(rzDr zBSPv@eb-)(3Uw@;D2ZI|oiR3upsn!?PcrLrE-E2^Dy~PQ_FSwSctp`m)+eH~$;IoBP-{!+6VV58;!MJvPR(AG|>4|;YwgEI&6MO2k?&t~jpcya!w$mEGG zyo_FFPiu~3*jX|E>*$0y+ht(r&;bKmYYbPg29R7wH_9HaM!A8_D7O~!8m<#=n@}Aj r2H#LuS1_(^lp3Xt-b?tzSG9(?jqCvOcMTH%ys`iETm7e literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/persist/mapper/SysCommitedFileMapper.class b/tall/target/classes/com/ccsens/tall/persist/mapper/SysCommitedFileMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..24bd88bcc42c607e8b482509b20e6d5f43908336 GIT binary patch literal 1157 zcmbtTOKTKC5dL~ic1@z0xQQkvz7T{2#6FnYh+srP9Wl7z$xH8Svv%mm(A~3S|5^_I zfc&VC+S%Rgu(=H6&{R`ZUp>C6y1csh58xQDI(X5+ONPzdl{TJ?znlwGXvy&YFw33c zc^;$i-iNPP{hpYNa&I# z()KcUe!$R?^VLt5I%GJQYZf%t+V0-AGOYJp>2o=YBAue+-!z8Wp`$onGNQz`QQ)m zM~OF^Y_hZuD}5O5aOd2wGw1&K`|CG=6FlnSK@SfFc2irL@Ot*SxsvyW;fFgQxiXi738 zGm(ikllYjSU2VK_LEuSyk5xdl2pDpUY0y)iF7nmA(Qe$HYc=npsWRwHCfbKsU~8x+ zhC=B$_xHx{F1Bn>+YLeom}LqJ)6KmS&XUiaSf6_w+|AxmROO-ANTkxYfR_r zoA!E?sZ(;4vuNBaV{D+Ht?~S+iFFf61*Jcf)FXC#No#O2RSG;izajkOSr9U>P^(2* z1PSb|#r$P-##-zO2y}Q8ft?M3E7$00? m`xvnQCj0k0e7VKvw#WYZdcfd2{{yb^jk~t~#Uu literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/persist/mapper/SysPluginMapper.class b/tall/target/classes/com/ccsens/tall/persist/mapper/SysPluginMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..b2d1447020c26cfe9670dccd0e9b0763b7dcdbbc GIT binary patch literal 1091 zcmbtTO>fjN5Pe?SUD`s^ZVN3GC_DUWBHLN9e~kk_ zfFFgJ^?oF34~^hpjWwP(AJ1=o|M~d~z)L*s;Ykn24BKf@8UJ?r?uW=rEg4>%CTWrL zG}rGnp}#B z;98iBCxyx4GYai0GCO&>m_4>;JntZ*w&R2_c42M-Y7LD&~5H)BqOMG*Y6?61|&%Tn_ zR4%_Mr$$;1gcUi7$G$P9@WQLYIELp*VKXjDk$#t4jmYh|r~`OF5fAGVp)2CNYh_y4 zF+)!-MI2q3is5MKsYz>$+Q0tFusJL$o67fUwif#<@qZR&Ded`8oebw!cZHrD$%5x0 zs$Q8nieaZ#^_S5lX|l_}(4nOSw$>PKVGSU=j&86$+zxgFo55}^>>b=C+%};)h$wys oyWzc$J@W69|DZ#cdvxwQ9MsoC3VzTg=;5N$(aaM5QKYx15Pc49LR;vzDW!!1MM$XarM@683rHY=1S}$IB<_x51y{TF%JxR&uW{f9 z@S_kDC+V)*%L)$GSmXER<9X)ypP#<~yui~Qp7e0cuq|z6!n@h~AEGF8#c+O_Nn3C! zy)vE$k>`A*gyE&-!qTKz&^gbv4=KaO zP*02qm80nLe`39Ap?>;?GWJ(JG&Os9Q?oYl7!Ip)EE=EK5bL5%J86qFSMt#}KD(f) z(}nt`y&mOiAe<;@h}>IaY!E?P;~Ac3)=ju5h5W9#9+BH~Q3H5nkreAwkyj*q*C}b; zn4zau)0|xEi{WVHsdZ~K+rRnBusO7qlj?(>@5g?<1z$v2DtA7gQU-o~Yv{?-aPT6c z8q2ewG3?ai{dF|osxAXVhxQZLT4T6{HGu3oy3zJD>1?sIP|ve$WQ=aGB|7Zi)XW=6d`W@oYsl literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/persist/mapper/SysSceneMapper.class b/tall/target/classes/com/ccsens/tall/persist/mapper/SysSceneMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..c93655942844a8af3f8fcba65b656a492beeb5fe GIT binary patch literal 1080 zcmbVLU2oGc6g}>?mTj<%7T93G5E9ZR!ThqfAS94L0s>4#;uX2BRXin5WINUR*Y>~< z;71{D-KLGUhoC)J*SbFU>-gM1e=mOnIK{Ibp7wCaup^7g_;=Iy7a}h+#qjbdkwwm> zbjmpHMV9fQ5{8!rPp2-G%BTf4KK{fIjZ~(*x?zHk4E;L6nbo>lt3O_ZR}Ac|b}nO0Oq0UF5>O(Qe$HYdP<{smkk&C))X#VKdcZ zBYb5k_s^SWdfm!-{D!La>+YLeonGgvJsZP*RgOgC;~FG=Z673VEwLnxKJNK<(wNTG z5AF0YQ)j}8oJ3>a8dG@TbzvNRYEsxS7p0KD6xTy?J1$lL9-@eZjfu!AqPuIAEbNG( zr)up+S7u^3s68vj8iV$)zcOs4MP;S>pl91Ks5SpZl%=vKGgUIYy1F6spp=W{txKUqSC?4QvBmk>&ZWpkvkm# literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/persist/mapper/SysUserMapper.class b/tall/target/classes/com/ccsens/tall/persist/mapper/SysUserMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..5a800577639e49c18c09a4ed056d5342a2d9cd6d GIT binary patch literal 1069 zcmbVLT~8D-6g^#GS3nsYR8ahifdrzl5Afs|6HPQx$4K1h8xP&tW-Xa%Cv9ir{xu)? z0sbiB-R=%Mfrl|XG`G1u_v`fBzvq9>036|24^Mh{%CMf9O8fVd55GlG=91yXewvwr zXPJ}QaWC?m52Vn%G`v4?Kb*94XmaqGAsWhDdU?J0PYiJ#e{5AD?Bt7_Fl_Fpr(!I4 zF7$|}MvsyMf_9ar;+|o*wZnjqX81len0Ym((IOY_jb>lBrn(q*)>7qF&Qs-l!m!d; zBQ1PoDfP*<6TNApJ9$gB;=1)FPls1|YE8zlU6n)8__78;Y3me8TY(F{=*OOaCuyld z{!~s4a(OJQC`c^!oz}(+uZ(sKd#SM_E=rO8l3WeQ?YLL~c!(kfmd7Hmi0Q7CnXyBL zo~$JsU7Cntr}ix9YK$3QePvkfo62VLqna*3JeT@cQI^uanyQiE<>kGgCr47?ML^Z- zF^gf?SZMg$;FL7jWnk#g`T=W83^%X@kX=SM*dA^MyMonV*XH&XZd2SkMRgDnegk*H ndyGx;-zEQ6hc5T%+;`YoT(=4Q;D105=aqJ*mf|0UT95w$qjxv0 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/persist/mapper/UserAttentionMapper.class b/tall/target/classes/com/ccsens/tall/persist/mapper/UserAttentionMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..31adcaa066322b26dd9e3a84c349d509785e1e76 GIT binary patch literal 1135 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 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/service/IExcludeRoleService.class b/tall/target/classes/com/ccsens/tall/service/IExcludeRoleService.class new file mode 100644 index 0000000000000000000000000000000000000000..469082c09fdc5b493e7524d733fd501d3f897bad GIT binary patch literal 216 zcmZvWF$%&!6h!C8n5d1G9zjvu#?Cr|ASedxH|s|d)~sZckh58M01qW*wGpuy24>zc zkLT?UV2OT+Fhq|qw6f-?QMx+u!DuGTCtGDMLMh9+6{XZ#BrJ1rHDX^F*NGZ__gB*+ zVGx_DP`pkZJKlUv#az^>;zcHFNtpeP+D|P0AcT>FgqHbP?2?RC84w6w`yC*k(1Gt9 Ix~+N$Uh#205&!@I literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/service/IMessageService.class b/tall/target/classes/com/ccsens/tall/service/IMessageService.class new file mode 100644 index 0000000000000000000000000000000000000000..98674059530d12b959ff346ea73d02371cbe2030 GIT binary patch literal 673 zcmb_aJx{|h5PdG8f$&v61_qcZ3tred0R;&uh#>-I*EzK*u3g1$1b>ZzAHa`7I7&;a zh%ObAeb0CI?%wm)_s1uIOB{sQ3(;aYv82;3sjQ&*g=g$n$?VF^r%Z#=m_8E>#%H&@JQRiC zO6We1jqZ2;J1z%0{d?z|0m)a&8Ln4adRji)dWo=JEONA}uvPVpB1+68mvomY-|*;u zDrZ7@kx9BJg=9FZ+h?n1UQ1_a&6R)b4M}=C4(HIXhfM~ChW|uB5HPGE@bP*X`LpSf W5F0gQ6HyJ>!uBHK?>oLj1G_&BQ_2ni literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/service/IProLogService.class b/tall/target/classes/com/ccsens/tall/service/IProLogService.class new file mode 100644 index 0000000000000000000000000000000000000000..86a19ff0a8cc4774784355fd7c90cfdf550dc567 GIT binary patch literal 229 zcmX^0Z`VEs1_l!bPId-%b_Nbc2A;%}6u;E+fTDb#{B%YJHw~Yx#Ii*FoW#6zeV_ci zbZd0JCz3#LNl_*iC7NN33|ztarA5i9Zkai$j10n_5c7jmi^?*SQ}sYrFfynm=jZAt zCl{yY73-HI=H%!XL!|XlRWmXOAe`i%l$DxX!p6wJ$iM{j2m=En3nK$F0}F`7zzQUp G7}x+dO+k17 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/service/IProMemberRoleService.class b/tall/target/classes/com/ccsens/tall/service/IProMemberRoleService.class new file mode 100644 index 0000000000000000000000000000000000000000..10ff0dc9e0db05e3095f820a56b8135ac0818b74 GIT binary patch literal 217 zcmZvWF$%&!6h!C8n5czVdjb{oH+J@dpeP3HH_Jy7Hd)z?Ih=(D@K9ocg(x<|z|0%w z@x0vuEYXh<$LJA;Ue&UbA{BSEMhLUXR@;KL_ELJTlrfx&D*0mh;OwWlnw|)Q#9p12 zb=H#O%~v52S7%xlxvCXm{yXa5G5>`KqZVVM$}{iNTyzx?2tjimppei(*gA9@4G_Hm D7h^t1 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/service/IProMemberService.class b/tall/target/classes/com/ccsens/tall/service/IProMemberService.class new file mode 100644 index 0000000000000000000000000000000000000000..60acf590913030a3a31994dd332d67f1df2b8127 GIT binary patch literal 1475 zcmb7E+iuf95Is{u-Goxo7D_3XrlpibNLZ@iDF~@S1w{%f5H;e}akjygyRN);1i!`u zAHYW;X1&BseSz?__RQ>=GjnG4=dbTS0K7oc!nTD5p{AUPcrVU}A|&iLdv0)UyRH&a z*^%S>_E0#|z6k6OVPK-#tpQ_2{cBE+Q|G%EAtz+V{rNiQ-ULcuc5gfeFi9DMk3kca#!}@cExvUKN)z zNlMXV2fg77kzt)#}J=uW_w9LZ4IrcD}zn{=XaM~8AW z)2)Mfk!QPi^52(AnqhR+^peUOV-ck~&xp#D4R;GqSUc0Tt~?D0$8%6A94Xep;G{BW zK|Vhf5O&I<|18gdhp$l63%_A)H SxyJuB?BWJ=2fe7|V9xfAC#NsMcDxKQwJy zNl%%fa9y(}g=e1oW?a*#cL|k&4CA;t;g?fshgSc<>z^nYSbf6tTI*Ddh3N`!V77d3 z&`8GhX<`&QuGw-_*dP=-&cGAlC}1Kd{|xZ@O6L3AW0RTdqpEb?#iI*bo`;U_DFeF( zs)R*dZh4=5Ldo(x863JoDX9pb{ujq_q^=gR>sNobYiPP#nywV?J2~vhAW59C`v-*- zUE5a{WoVbptE{BUbld({88j!F*LyMKYg>z3&9Aj?5nd&;8T~Fz*?vQRxG`;`@tc#w zFVa3c4vsFQJqrE6z+=L)-ikK#3=!U>95r>I`Dh=7I*aw5A+Y2nmi)kt6(_v-Tf|G` z3FSWP6Ur&^nL+0I%zdHlRP6Ypz?N?vZNYUbc2-9QW5<@yw2=sV$z!n7^tPEOC#=k! zcihuM#ck)Q*?=3^BRol>Ms82NcLO!T)2#Y5F$p_a<*_7PHdQ67W(v7LAmsR;1uW(X z*N_Kzy^aOW8=TEW`2xo|6gkdwektC$$(1X(HLG0Zcn#~bxXkfw+=~$JV4cNyxMC*lLwpZA2}VZ`uw zyXUK8*Y~xM+BH0i+ylX-d!pQTvC4LK+WQQvfiM=*-O+m$32(sgb-Q=O6YfS_25wKu zpmUD@o-`s5@pQ@(s6AEr?ZJ`oO^2cO@{2D{OsJ%GaF3xmq2S3w)g4(f-oU{oZG5BR zV;)(AVabzH#JdsKT4;ukrzY8+eXEIbZGnBYl~toA>smzAu3hSd+Bn!^Shjz=pM;-6 z4ByIn=$kmqU;WvT(%YS>lZ;WWUm~@hC)FL1p6pNMy{PZU0Sst29ld$EF3&wSh2Npb&_+a^L(B-3spNW zsI#?foHR-v3u)~8ZwyGfCbg8z6q^4uY2BmNSHsvBufj+$w7i_X^hKP6zSyx|!tk^x zH9cN-XC5M7$}DL7@adgr&|e2|@Q|Th%$?d@Cgbd3GCY~HH>V7So&VUL8|Fs&fkg&} z1u}5pQib6HDgeccSR~vbv_jFYRIyw@>bO!s8fX@fHC!d+8s%BQ4a(A@EH?j5+)A30K56kAlihWofowN@yuQe3Ba9o0Xn;{Hhh literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/service/IProjectService.class b/tall/target/classes/com/ccsens/tall/service/IProjectService.class new file mode 100644 index 0000000000000000000000000000000000000000..164564ebb616543fe96e7c9b34fec8fdc355f431 GIT binary patch literal 1845 zcmbVN*>2NN5Iwhqnyf8d*tagw1ZZ5OzNJEHC=n4+0U7%4I@93Fu_OB?!av3X4}1V0 zg%~HMb{uDcmy9wqcg{U$Zccvv{_zvQAzmpcE2s$MJ$*nQUFVVvDX>>=8BSL<43BJ2 zmAYlA=cLM=N7VgOy-UY-`-?|zvn}wh+`7~Ux@zfm zN7bZj+MQY~({lKGWf4$;+}m#k^`z<8o`UBBr4GsPN=^I15jc!v4JXHtLhQ;Y)t9EF zwoFgf1hSghv31#ZNx@52WNc=kY1`z!v2@QPPk{ad;wYWoz)?e_GiNu3S$oZQDt(RC za-#bQ9T((wG)X_0y*92}-4FKkX%?|rTbfFPm1LmL)a_aPP#Cs6p}m5Aruw%bIh>exHKSFU?rkk_urGRKouy2e1{o3?w*V9}0@siM zI9?CqG8C@g;A)0rmMb~rx&JDI0@s$X%9Wd`l{K!cVP+~wYTc$nyYG`06} uD&jUz*}-mN%2Un+H+?qz+`|gTZDv)(3zU$>ZH{+1-skv$;}ecs$o>JF${U&h literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/service/ISysPluginService.class b/tall/target/classes/com/ccsens/tall/service/ISysPluginService.class new file mode 100644 index 0000000000000000000000000000000000000000..eb3f0b916d2d48ff48a5189debcda53324973311 GIT binary patch literal 402 zcmah_O-lnY5Pef?}}rs^}pZjF^$VB z-!__`jb*}RQGJG7!l-XF#gVYBrtkJ8N|@BS90o&;NU{K5f+!r=SI`eZNsVQ zW!I?{ON9t&1eUFrEk7s{Mk-d#F@lCCG;9zi6^et4Pp2n@v6ABm@6a}UU-%j}*(oM0 zIbYq_sdhQpPWsK7t}Z!G-F%WdpQI`7vf%MX-FA&?e5PTWFm&|MvIXH-6;TO1i|?$| zAVvzAI^vuxB}~X{J)Nx@xOyCT6u9}Ww8dyG} zErM|=v(nwL*x8j!XHN3UN1=h`OvL_jup~(M)lW>x2}DhJ>a?XmnIoxO<0?ZMm9Qm| zRgan9gxT5<8g>{tR1kvSdx_L_lNe7mNuTM=s_{&f*HqA2a?yS&RSDBQYUENI@A4*W z^>``eik?_)?^Sb+~ocJ=vYq);my}!IzE#xQNufe zp3D)h?Cixx*uP?g`rN~ft6`V0l$Awkge-uDJ;Fw+bE45*dq~4RVKp_3@0PlXxTl>8 zwRcjVEQ-?3LdX)!tUdm%=_jnGDotEaon*p%YDl|rgoP}JwhsO~o9ffe+b2`Ij>81P z0RM9UMFZH(;%wlK+d8ZU5*?F?SwHrxA* QOS{1KG2176{uCqs0dG6ZM*si- literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/service/ITaskMemberService.class b/tall/target/classes/com/ccsens/tall/service/ITaskMemberService.class new file mode 100644 index 0000000000000000000000000000000000000000..c4c9856a3e04f358efe25d8f92506c89faf4d381 GIT binary patch literal 211 zcmZXOF$%&!6h!C8n5c!=c?GrbH+J@dpeRJ_H_Jy7H(A+@Ih=(D@K9ocML?TjU}hfk zdOw~3Rv5;JV+;smuWC6df89%wiX$v$J8cWr+DqxVQpRv9s^pvHqqALeJwFphiM=~5 zo6HDdy6w_LT%BoI=Bic=^OxwqG5;?JlXk;Kl@~swx#%h)5Q645Kp~-ruyyD+8X)=r DQZhT_ literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/service/ITaskPluginService.class b/tall/target/classes/com/ccsens/tall/service/ITaskPluginService.class new file mode 100644 index 0000000000000000000000000000000000000000..705ecb9b9cc9654381fefbde5d4bb31aadb9629f GIT binary patch literal 573 zcmb7BO-lnY5Pef?x2@Gy>&MNLVC%s^@wVbYQ79}}sPyI`4Pi-Lld{P!`qw=81N>29 zwu=^85j=#+yf?|bdGqo4_730zhXFbPb_q?(b2&<~SZTspFB0aN31OwS%<&{)Q^_@( z8#YSK1Gi6QW!Rq(+Oc$Hdi`2Zgh4Nw@tm`S>zGAG$Kh(;FM-Udghk4_&wX$g=2?sob6bh%-L{)svH?iF4Y!p0^` zg}hUVBpeNw(~o7EDn{kMr9b!6nG}xDT|z%j1UMj^u712&#kyF+ w@!yp-0-@s94pgdy4O9UiH&OFw;L)n*>u3}_w*A>z+}ddQ*z{ZzU2LK81&k%8Z2$lO literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/service/ITaskSubTimeService.class b/tall/target/classes/com/ccsens/tall/service/ITaskSubTimeService.class new file mode 100644 index 0000000000000000000000000000000000000000..2f09bcccfb49ba32cb91b46221d2165787ed840b GIT binary patch literal 950 zcmbVL+fKqj5Iv)4MezpS@3#lggnjXi2V+nZ5~3y;-j}jswRBCl5Wmd_KfsSNPN@_m zH6*_DbY{++)1B#le!YJHILEPt4GWuutdU)H@9PI?UTU322!ykI)z)oc+eUdt1k!ay zLrG7(YB5B0+NxBj6J{SB&oNJ7tA%aCd|!(Rl_num@jT_1U1^LmgmS+6EW1*;(rbyT z_FAQ6vu2=0sB{(RlV6IF>GhkfUIRya#=;IEZ35{B(KqaJSnG#`i+>o#?L9L~Hk*<3 z9>Kco2M2uiTkW@{8x{$ze;ECUl?us2=teWB>yv>|iEV4T?KlSxoHAnf^QL!N)aZJ;updc(wv_Svy5|`$zX9LvxHTyPhhS0 cT*nOK5%Z_91&jOV85bCr8MBNz>|+J#Z$6k8i~s-t literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/service/IUserAttentionService.class b/tall/target/classes/com/ccsens/tall/service/IUserAttentionService.class new file mode 100644 index 0000000000000000000000000000000000000000..f89e295ede5b5756d47310dc59bb4d7c30fa6b8c GIT binary patch literal 380 zcmaiwK}!QM5QX2=+O^e!7cU+?wSwm2ZAH+7bYVeZ(R-R5mz0>uCcDtT=D{D}j}j9V zMNvG>@aE0%y?K6ld;)NSX@>0#JA|p1J)eibHfU!FhqF?-d!dwP>qU^ph$Txa9-O%G z+k?u2E7R37 fMII3dgZNKiFeGeX2*kRHQPi`fVk>szw{G$Z=$LUD literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/service/IUserService.class b/tall/target/classes/com/ccsens/tall/service/IUserService.class new file mode 100644 index 0000000000000000000000000000000000000000..fa817b66892cfde1f1be9940eb220e7893e0c4c5 GIT binary patch literal 2652 zcmb_e+ji4N6x~B1ij$BAl9o~^P-;TVO{LJQ(?IMbMbxA$9Ih`cMV>mMM)H!zhWtx^ zqc45v2k=o{-I5h)EQ{Ez)t8*;%sG3`+2=BT_wV2T0Jx291FHsp7MKd%w&!{V?g-4* z8`kFb&dZ(W4>twoEYFicy<>-=3=P~BIBsq5*xGs?TNtPbOg|1~&?JPwUn>pAe{DKW zD810^DYs)jmAiG{3zhAuvW8tf)NtsMYU7pNx6O|2waumqT(3QmrlQ}V>`uqrm9}U0 zeKU&piC;blyDBiV`PPwL=G2;Uw<04-0ikMbvHkYV)ldD$A?e&K{#) zT+!}o_^f5+g}_2vswg$fYrYQaeoGo)_Zi8Dz^d+*^uSo+5^vHrOZceTwSB84a7zap zgizcnUEgf(hmj*O<^tJfA~J}+4gA8UIcT6>SK!%DHL`YVsX@POsI1|76IA^GJGyz- z^;+!uhkL$92Jel8uQB@G`KXKQu{bl2&|8w6f--- zN(NA^JR#!mOn2RJ{GO)-F6)SC<+Gux`F@8pNt&iZyD!&!YLDYPh%x~&V6m4{#Oo7O zDlv}ZnNL#Y4t(PWEd%!j=98=woxtr0K!<%|?8Q)axD%pcTdmrDQ7sB`j(b*MY2cj1 zntCsfVJrbm{SPjGL?WZ{xTyOl;}P>6udD`VfMhe@tOkWf`c8=r*623V^m~CLx7-dJ z`GgfWxeWTQBX2}-0%h&_h=+*GM8~FX%YBhuKG;qMer2y{&WF7{0+quohaMjTjbY$y zv`1eOuD2|(^hps|(XK1wKHr_g$#P`LlgQpW^ zPKun4%NflhUnzle+Gzn@0v8GmwAiKu1di}m4zO@k;3LfPdyZd6DUVY#j}tskH8{z$ zBUt3g5CcFHtU2UZcED`8DNDl>P%>SqaJj literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/service/MessageService.class b/tall/target/classes/com/ccsens/tall/service/MessageService.class new file mode 100644 index 0000000000000000000000000000000000000000..a1eec176eb2950f2b570f556ef643e86cb960812 GIT binary patch literal 5362 zcmcIo>3`f-6+Ie{EzgXyIdPhC64%W_ZO68t(309|5-%xnu${zPNDM6+S+Nz*NK=jE z#APY_zLcG?uPr-iD0bXHDLWMS#&`Y?er)GSnivW1iv(i1{*gjA5>CZUM+9+p$Mj4LUu;7Rd# zi;TA=aR6@@(@!NRy(5Kp;$2C+8}AX)d&SrH$#{PfZTNs#@Ie_LYQ~3?_y|6l!pHFO z1fIqx68I!OmBgp<85y6I@i`fvm$2E7`*UTBSX2Hy4jX}$@UClLZt03WUO;s5~vkK}(O?Pc) zMb%0h)Ira+FPn}rPqmwJMlNGGQ--r_>O^&DOt*8Yt``jMb+v3(Ed-y`(KC)c9$n1c zO-D@2bdO4C=hlU=ycb0JlzdH%@CY~WB_Z_x@b#KMlH*5hO=6sU{HIiVr6!tF~O3$Y^#Be zS^Gd)*+AC@X#VPX*H&`@Hg!lV7@>&~S8Vnn3tYq-TPC31+Dht}B;rtY;M*g$ci%RI z)>@R2mwlaMm$YR~^;|Qnj+q6Q&Q?wERF`co-MaCE62Zt7J1dWOC0{(^V^v#^)b^$h z7e`6q>D$wAn|uh3o2Fb%UmDl)ei+KQD&q?h5>w`arMaHNXnnexn>&SFO=X?^cK~`9 z@8kT`ilv7EcFuGc>4)P=&_lFY&00{$Y-?d4pzMG5F0OWy03a?~!ZCEiTs9n@dot(e z0}(zFT;cWIhU21~+@wW}YYZ6IXO2?%SB zd{@Eu@O|bt1wX(KndB7w2tQVE4bREA&PrbsTkTY=u-`hY;3s%q!6Ed>_^E)0Xu=iHPuG1Nu9edSo@iR`_U=kU_^;up;*N(nhWZr-$RX`9rj;&qt1GU zXFNV=t%xp4#?KYJh+oKfNx?7iD;d95@EiPA#_tuJ#vf(8tl&?Au~$U&S2Q`52hZ%| zQ|l+6(;1O-B-~$b?`ZYr&E<0mQe;bcVw7Q{u`w&2o^PU*k|eMPtZc(>5jheX7Ysim zwseN&Cz>)F3&F?j8;XTUObKo+=Gz2U7UdM@Cro|GVt2~!t3vUVD=25ePH{tdQESvd zxJH;zsA_OoW67FvvV7&H$ZMx=sf+AN?QGEd>UK6uvf16L!zFQstqL!yS(vch6S=&* z!lpP{smm(|x-PH)m?esL7Loh0RHUBR(T6LxN4?+HpWGZBf;xZ1V z*s(AlMa_gdBUXxrc?ToOY-)vdE5~@XJqCYku->%QGrZI;l^9xXK*pb0^f<{f?Rtz- z|7U65%M`qfddAC4d70CmoA=xU)2x2HJi*XCcDq{`0YT}iG|X!$eiXY|a=8CCbm2b! z58gm{GOj{As@V31Obdw`uB#j0Z% zE`1x}+zHNZM(m$xm+`2K*ZrL~PjW7XQLa0M*HfaW(g}$F;sA5q&!e^H&^mTDpkGeQ zH*n8Yoa|1^^rgR9>QDIJ*Rd;x{$zJLxrTIq;wIY8_oSQCiQaTvN;jsP*08%j#g%(n z+S92UxOW{L4G>`v5YUGdj;IF@^7&fAdKi;DmKly0cqoF9Ckbya zJEAeZH*5d-^azDal=1*_52|bnakA$pZe?U+0TH+_>2gptz$8mZ*M1F=D#6$Fb#OEP6==PF-?RX52(^}N>o1ul4 z9}6wF(K2JVY*)P0w0hEKavK9<2N_M1Z^3?GwXI~ejZ9~%tm>G*YpZ8ybrRcnLOVF7 vc|P^58WmO>aFOU@SSaPEMZQ18zczZ_!c_7gPb-E?j4JV8#NXi$$J74-p?%!{ literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/service/ProMemberRoleService.class b/tall/target/classes/com/ccsens/tall/service/ProMemberRoleService.class new file mode 100644 index 0000000000000000000000000000000000000000..0906fc51292d28a6bb2d8c3b44061ad828965fb7 GIT binary patch literal 1104 zcma)5+invv5Ix=|Y@39(DNqRaa%%`szwm%4LaIoSB86L0!n3n+gUjxE<#kf^vyhMw zJn#X06k@y$4Na4(4?DAC&zzY#GyeVO=Pv+Hv0gwPHx`h?%_45$wvRO*cYNGsSWb+7 zBcrY~Egj0b&RKu0_XQW>Y*iZJAfG^t80?+MM{Pxx;#R9b`Bsz`QJs=A@vieqhs zRXR=?o;9`U^E5Fk?(Z5A$$f3U@U9euy(frj0eov<^}aH)N3iE!s94#T40F|o z9fsU1-IEMUO%=h1@wCmRT~jfYWZN>N zY-&iuIr}y=utx7K587k;Jl8qt1$vLpE|B&}6DcImlf_9h()rqVu&>$mB1z{Aa$3q{ z=743C$)d%_1(GhfPGFw%sC|R?=m+LJd>UgEvb!=RTgh-%4}C{C4*eo75t4^h!tii8 SE3-_0SIDl=%~gqOxc(PT{WNX> literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/service/ProMemberService.class b/tall/target/classes/com/ccsens/tall/service/ProMemberService.class new file mode 100644 index 0000000000000000000000000000000000000000..7dbeeeeb16284d1628ef875de3fe8085757435a1 GIT binary patch literal 9650 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 G&;JXgB`DSa literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/service/ProRoleService.class b/tall/target/classes/com/ccsens/tall/service/ProRoleService.class new file mode 100644 index 0000000000000000000000000000000000000000..d8ebbdadcaf9e428e031b355fa03b0c2f6d873be GIT binary patch literal 8207 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 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/service/ProjectService.class b/tall/target/classes/com/ccsens/tall/service/ProjectService.class new file mode 100644 index 0000000000000000000000000000000000000000..71d8560cdd848cff06d066372273174bce0f5f0f GIT binary patch literal 23880 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 Xmirm_4QjdX#IHKb{c`+3Gw%Nf1j4jf literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/service/SysPluginService.class b/tall/target/classes/com/ccsens/tall/service/SysPluginService.class new file mode 100644 index 0000000000000000000000000000000000000000..f2153eac03502b3f310e44dc62b6bd965d6e72cd GIT binary patch literal 1158 zcmb7D+invv5Is&)mZYH`R7)SZVn(8}_7qD<~Vo<=7-5?Fy@ce-bSFcZ$+a_u-^HREa$8p;H7XVQnCNp+P%M ziMP>=55%G1nO7-~sd>W8k8+Xrbl-#s!{Rii{%1kQqoSw?4TfrwAe^U!ds<7on+oS7 z75i+0YI|x3K{tMActO%N8>ehrJ5*hzqXt^|%#tkasq+7yui7!0P2>v|bY2;c{Y0|I zK^=z1nIm>yT4_8r&wnXg!yIZgM7S8CSwjoUba?Wfoi`s+Iv++V^nkzW9ms^lZ=QF0 zZ?e`1n+%(i@W1GJMrr3g0lJhB1`ud%R~|mcgZUSMC%huUogWEZ+;+u z27#lR?=6yD%6aMq_Jk+wUcm}6)B^+AB66MnZcwCzo5XV~|GPbI;12n#^i>IU6%TO@ Fm7iUDHl6?g literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/service/TaskDeliverService.class b/tall/target/classes/com/ccsens/tall/service/TaskDeliverService.class new file mode 100644 index 0000000000000000000000000000000000000000..183f7ae38ec40d40be55b388979b977a53a4f2a4 GIT binary patch literal 30142 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 RT%*4mWN*^VO^I8${TK5NEkpnS literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/service/TaskPluginService.class b/tall/target/classes/com/ccsens/tall/service/TaskPluginService.class new file mode 100644 index 0000000000000000000000000000000000000000..0e953b72afd9684575f775153b040a591ff3fe6a GIT binary patch literal 3713 zcmb7H>2DNe82`<7yR)4g1PW9a4+KTFQo`SjX7349hpc#h*@UQ?D#Kt2E9>rra9+&Zij3W|e`MP&-tCi21_9oqt zu)HVZjA)sRXV{+R>z1YE4A(O~UmMmPZJ-+5AtBk9w|#TO7&JX|$TB)@+wpbZbZk$; zZ9R^g)x4Z*+Sz@sK4Khl+=JSXp;PfbJ>xrWLDS0uT4&yO4w% zK?%_=XP7!>_n5ZPn-_WqbP^?@xyQ-q)}Zd1VqRQ~`uj~XH#G*O6D#}|&EtuRr;i$; zzY^L~Q@j<7YdJ@wu@&(SVVqKly@X{m6r?j*!w=8fSP&W|+?47$ppWXBrQ2Dp$FZ{= zwe!|+A@7@(*28QPOyz>ClMoM;4Kn-Gv~3%1m!*52K_Xh~+cX*`;-GVVNs{WKt|NF| zTwf&gzmE_?sE=ba#bsUxPq>QIz zJRPwey4NcQ~i?3l)|Y1~r!oxGbdHk%^;EtMQEmdGlR zni5iV+mYuRuHpD(SgTZ2dtIpSvU9O-vAb3Gt%1t2Zjr78J4jB?23>HvCOC~MR%l65 zq(@)(w(aS@?oBF|A*JGKTqEOI70=;$3G;$_3-X}Tb@hVC8x@POM8*p$Uc^f(mf{A+ zNX5%ICgT+quVRgg>u|k{<0@{#YcgI}@di#XmMY%FTa2cPxABgOcQGd8BvZNeDhOK1 z)F?<;R2NxEBo*%oD~_soA0Mdr5XV$}gcB-0#wRL1#b+`;SMdc-vF2-4u?R&YuDW}Q zkzy@Yy3Tz=2aF8Mvu!%@^pwPqa9KrObgj}txx6GStyNdkO-ohZT!}}TDW&svD+MWN ziskaCnj^YfxYsC1xP40L zPScVr_e;6Gsp6V&9T67MM4MB^JD_q&)G@FW>?v0(b1XDa^l)!uVLOrO;ZA$F>WEZr zu&SA@zUU<^spD8Bgrb^QfvJqG?dNBSV`&-3HTbZCIIsb9m51ATrLq5+Ua#YKkK}x^ zmMkg{@~DFBXx+uCHp}VJQeq^)mC}ai%KLS%*Eq~<=0^l&qINKuU&03rh6zvfHML$} zTBYp841{1!M4`!Io)79)o~cCT_ef~uuGo=HuV{XQKFs-oYKDr331ej9d-*jd;Zl40 zeet13d#Z{uT;r1Qa9+2(bk-(~UAjl%OVk%-TX(U8E#xP$gsb=&91$&#<3;>dj`4jh z-x1N{rmV56O<806t66K{oSl@tf>IY!NL1np6d<13QU2{cVYX+V1;7ZTi5xfx5w&SKUWPA6lNxJ*L3oRlXq zTf!JV5u-U0zQx@3c(O5oy_9SWVNFRY3t)%DD1bG$E6Ml-=1pLJQklR4zTZ5Fft6>` zGKSeJlkrJhPEW_tSvo9{Ocb@O5~Jc_YEqrR6++b&6G)CBHeM}#@yGFt&yHW*z4A-? z8--xKmyCnKiIa=@Tve1!j%(b>?Aomg+u^l;CJ)|tnY(D%vJoGwU&$@;oqm*h*YTWING@u7i^bfa-JI21@S(QJ2;APUue9O z@tMyvHlUNXF2(oQ$hAh=at>V_#h43VoEwVxZjM6K<}#|AsJn>jM*Jeh<1+4+kq&G#Xpev6Oq4Y*nLzLrKwx7jiU(NZ9so88VG7- bF4wkmK1j?CgZ}O$Q=sP({{TKr=9>Nm-i8Id literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/service/TaskSubTimeService.class b/tall/target/classes/com/ccsens/tall/service/TaskSubTimeService.class new file mode 100644 index 0000000000000000000000000000000000000000..ca1787d89e747f8e78bb290b633cfe8cd67adb96 GIT binary patch literal 14625 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 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/service/UserAttentionService.class b/tall/target/classes/com/ccsens/tall/service/UserAttentionService.class new file mode 100644 index 0000000000000000000000000000000000000000..0e3ef7717e5a4bff0a1ede04ab50568edbf280ba GIT binary patch literal 3138 zcmbVPYjYD-7=BKgcH4AIDU@owa1$lHu7Xsch?LSoBn{9Tf{LCdr|Ckn8+JE^ct?K) zzre3L;{cTz$FKU6{2)GOb8FMIR;M#(&z^lR&-=WWlm7YlufG9!7eB->fSE2Fz~ydS zLDIm7F+?$=m#Zc(w+9K$F0 zR7>44@R@vdtOcAT>vJ2)@UmKa zmX)_42~=QT%FW39lJso-UOkKkt2U8urGb&J*%`H&g89lJo%Z;0P1UIp7)orxtmC$d zO(afeh&`o^yb2uOrLMq%72C;HqfcfpmUV)XS%IU8)LpqIt-N${R?2m96N8n5Qefw; z6!WP$_Up_E9NX4sgI^tIrsR37mztx!&3**BtEtmo1gZiX{q}DPclx0$6m>qfa^8}$ zsywmuZL(8wH?TRWE+C>6*VXI5}44sJ@bLg+?$ofu)4yoTQ-nk zHydD3oAAKq-ygP4Sh16yC(F9Bm^BjtO3a&y zH9Ro!5M_ZkcjeQ>Yk1wn7x>b^S0=v3HwL~n@f{wS_#Tg1KxZXwJ8jrgjo!Yttf!>F zXfu$Sg=DMz3+!o_(Bq+YP;XO?#|8^YR)plVZUJpGoC@l<8cT7LRCt{U3^wz+u@oD3R`>&AUyaJ^o?Vb$`Kn?_ z-5!D8 z(R;Ros(a%dPtdoHeN;E%#xv}H409xItfQZ(e|+)B$WQbeC8fX#VguuhFwz)N?kCPe zM0uPzEes=#5!}HjuZ=NI{RB!DT!{7ut0h(PdPf+%cs{R2!+! z{Q#r!O-+a~h7a%;{1@Xo1p?&(F_~HGtaHv@v-i2ouRlLF01P4Y%h|UOk@kG~_c$dmaKPAjI>q3v$iS#>nYQVT z2{iOYX9fImr(_7Uq)pq%R+r`tx1h~i>}gFqx@OI4t||3aXLH`u^hIV{(_93BP~NG! zx{)+xPHSR;d^j7PFI0ZvMHUdjeeta8i&F=-o9@ z?q+QFZr1I{p*q#HqFGh>@ymVD$LRx_jBp!^YfH-l(f^YUqdvyQ5N~oL9A};Nl{odKZ+{8>_YT#LMjXSs9Hq3jDK;v}T zv3VRD6HA)O0+k6}cd9lw@Z>)AgwOHz9_5|)h1=z^0?0g}>=6jy1lq|R6pzrr7V!By z#KzCiH~7BFr(qp_f9@mv4{NfCvT;W$lubJ_K&jN^cLZxDp|9X`XdUXd31u_owh857 z%54+M7RpVNT5Omyu=NR!9-$0x&i;ZBf~@HT8d*gbddR&Pzz}(uH*1od#T=fHpQ4OK zvV~Q=Aiu;bye7ZFTf8H`#|L~OH=vVi5Q2~R8wrfzBwJFQ;yZ}8qJq=N)WdAO+!@Wv n0eYUPd7Q;LvLEM(Lwq|q(n>}+z<=#c+#c`XZ}cV-;~jqiSF2V| literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/service/UserService.class b/tall/target/classes/com/ccsens/tall/service/UserService.class new file mode 100644 index 0000000000000000000000000000000000000000..4ffa2a4c8495713eabf6b2af832dca3ffca0be62 GIT binary patch literal 20464 zcmb_^34B!5z5nlbvfRmVfe;WK5JWav5~6HMK!k))f+1kSB5rX=hGa0A36lwnYjLL_ zDz2cl?zmJzzz{&iYU_fvT5YXMZC{_V*uFknTid$9`~J?kbLUPn0sMddK<;wpoZtEF z+ZnR=(5@GVXsr69pIUj1pSJN@Ki|ab{M4Usme*TysEu#+({Fgayxu04+vReHT<(<1 zU4FisH(0#UPu&DYH@+ta^Y4|*kNtcf|HRMt^8<2uFbDG=>cS86BYu9AH+A91_;HJ$ zkf~4lsSp2DW<6!`WwcQgdu8km8T(}yev^MC z;IMxmenURM{(TH4Z^_f!Lcy;se#cM60;rAO_0v1NJ`230tf3c>exSyW&BMkkUn7fu z41E2(BjW>=wkk}9~ZFZF9Pj<sIICTB(J)6QMsyzT=Fc{(@#Hw_;J}H6M8|Z)Ny{E z4c_x?)!VO*S0~6*CU~y`AY1hjoqgZ0`l=IU&wf7D-=|LUsR4dIU!5$Mfr7>$dBUnU z)nK0*;^#UctPY>ylIc@Jed-jS8fK~Ce%i!qEH%PUj|)ZuoL`Msr^}o(EH%MWMV6Y#WS2!Ep;$>nu(>(Z%#_g(tz*h7kH+c> zn;RC7T~b&ct*Z;gFw<&j4#lPgqfEofYod*XH8stlNONI4*w9ee6pA&6o8yJG!DwOC z%I0}yCKd%MTO#prV`zT3IlQPLG&K^5#)I*2G=ja(FuOFx!jZbgv0!6pc{FxO;i6Cw zP!|Vl;?da3!l1jLaB53Dx;z{U)e0`bmU#WK;eur{6N_>hLye0Z5=I=6ggLS3ti)U_ z>}nQPMjJwU&r!#=*qJXoH%Fq&7dHei2{D~iUK1&-2QATt!kTC-RM-%V)D>1GCdh2i z7;c^y4>vIN^={RIp~A|5gPHOAFr+ZVyMq=cgtshQ6DkxbR+(qnt2ta32}dk7iK$CTd0A=2-0Hat z=agFNOmL`d8s5vMFVsU!KD`zTn4V417EQu}(4rD(Ks*?U5B5Ns=*6VN#FQN-mM;k| z3p%Weivk_f$Z+otnpV-a!evoS>-^~81lpk2U(*l{MdEW;Hi3aD3p=3Zr2!TduEo0W z;+1CUNbjBLD8hp&mYiWLXo&TSQ!7`FvPt3cg1nv};v7 zSaZp&V3XDh1T?@ZT~QNi(q?KYsF$z0+DM=2(j$vAm7b3HcO3aXsP?F?4%XHRk>N;X z2-Z`}RB>d4yt3)Ixo4z23MCRN$`;>J2FSVXKLul&>Z6emTw)lSJ$smELRDv4_ z*1WP={8j0SU}KXQZVGKlIW}o8>zOHDL(ndV6F$wwTx**Q;bULoV>r)veMr_ao$S@k zbl|bDi!5{z%F+yg!8bQH&kx0*<;LgqE{}RW42;I{GGh#nTvR3U5vwe9mZhd3 z-$Jqmwuc&n;Rc88-Svxib30g56GfbHCiuh>B8VrTx(RU&VFl96S-t{1HIh3sjpV+M zoHA>)qxCNj)zk;$;xsHZ6=*JS-yM!nb@yWvC7! zV;XntNGA0G;4+2$qsUfJmZ>6J2(vDP93U7E&5d3Xf@0_Bdof%i)3Ov5?BKsTF|XN+ zmV|2Jj!)K$;9n*lmBsG9z%46okm(u=Eslkn>#LpjF2?0m$F*a&np^Z%sm{{bUdw-F zc{EsyIM>~yh=L5r)DR7s9rJ;9k->|atrwQAXp(G%si%XXp5l&C&f zn3lqYq_ax5%)iXzn)1Y0=LZ|YwZITTBO=<+(<6?uNIYaxTs^gP1ZCK4$L*3`p4_4E>9?BP6U z_9769#C(oqOiVL6O!AOA|!9>h=yCsn_fCqN)kV#=_$|hsggbtI^nqK>D zCyFZ_!35202XuG`fbAy8uD(e~A5G81UlnbM)r6*prO?V1aa5UR$0%7R`G#(SwQEl` z$3wADRFcm^XF8x3rJWj&p_7F^7P?*DKGxjiaIgW3yFd(0!8+X)>#Ql(2`I=pu~KNO zEInslS!L-ooA%NhHtnYamMXK=Om()c%GE5J4$^0~s!+3SHAkIeb0%lm^gr}hn-1f` zESE)GgYa#uN>#-)v@?;Q$0r`o(HUFKRr77NfIhO-xoV-M&a>6|>HR7ZYJ~o$U6afQwMdaj z*(#!&YSR8DIB{UuDS zo}=e2b%U*LRI6?EBelj>YgJ5MZ-NmVg~x7LWUF;*Hq-G*n=}5exFy_Bi_O)|>J}!F z`>nQGFVx?ruC>(dwz`8pw$z=rx=Y<{(`)oPJW3LZ_zO#Iu+>I&kEQOl)sNMEw)%-6 zc)z;GRu9P2gB-WjL+ar)8k-a?0;(%nTRlP_BL_YWe{A(A=i6$NTpr`Nr5?A{6Y88a zu-cV`PK37AlY+xfHS*?*~(Ew3}tu{9b zGq%ZPJ1%@Sm)ks6CL=ir_j4B}>v zF?7i2;5EPEfY4oNY!Zf%uC}o~-od(A=n+-R`j^FM*nu_VwxjH6Xv03ikv*$jM}rJMRM}v zyy>6QJsXayGY3V3WG0eP=M8gGLVd#KB=%zmS1k|6YwFPg6zv*pPB90|X6VW;a?hpO z30a+AhT;j0XHcG(#KPcm7(d<-Dz<ZIuHz$`ShlSU&=hGob>;VGXaBTI+*})2G@BNwV3DRFgmbklP$8en z%!G-im~ledn0ta}JBK5+q0&eTvi{tvSyj~~v!|8fQdwDAGMA~3*QipaLm>T9q?!7u zv=VXn5iju^srE|o8V*jdFHEZnHb4#?aI2~h$D(J4@sY0dB3k;SmbiAOUTO>}a7>giMF0-TG1zHqaniT&DXaO(FH&`gMgR%k)O z-^~m^{ODth7oLMKuqfDsBR!Chc5E^fC&H9x$Ozo2k)W(8 z^Ap-|g!#UB)XaieHK0;*B2ixt;~e3;kqtH4%ms6+rG<~RW-gDoD;s%Xp=cCPpw(?V*TxwvqLLq1tUS6 z$uRYR-RUAzH=Aqm5tQnfxC(X#+S8-K8;UZZ4{+CBP${%%L>-aM6ff+<0*wh=0FbIQ z$CB-F%f&3`qr{12FL52{LxkmkOt;Q871{N{X8n-X31Y(@rLkBvR$T>6nj4Ky56a;~ zf9HI$+MIt^%i&mcSp<`ugRK+w2AzJ~-HVIf-IFUi2Vo#J9Em%sBvd>3haZnl%?q=~ zi-U{jSgp60or!Zb@v?b|C_5(>ZVbj&8V(=;>TIreYG_L=Y$u+?a2nmh4t}95aR4bV zZssZ;z7l~k+GrejyFltl9WGGl(=J~8>l`;R&1kG0hsK6Gp!97QO*Pig4C93QdSy{kA4Cg!X-ga`x<$PAP@Cv-H@p@iQ8Q zH*pn&i2Bp7aJ9_@dW+u18`H1pcR*eiZ=*~Q1Rz|LJtDs#khz0YQFb7^jWRY+pFnmi zW$MT7BSr?Y^lK~Oz6DD%NVe&%zXv}WZ)2$|jiUi{I_1*@z3mJG+SyhxeV;zis1(wN z^bt^yvES3jSS?R~z*DAv`XipQFq%*QMSlV*|BX=}@wb$3(I@mN-ZBAaA0Xh&#v$bu z%$Ll-LE{CjBvy{rt&h}8pa{dI|MNmS8P}f1i3qAX>yC1u(W)fz~eoTL+zko?fj<5{V z_*1;+;IqA4F=8b6V7F4&4YZw$GPx*gH+5UMgSv}8v{LR?>am^jZf&EUt<(z)K5oH? z?bJJvy_1etRFoNjqMWdSqJhkeofJ?wz3P*MUGmGAgh&5Y^8n%ie;eq0zM7p zq}|jXTc1=>;7l8!A5LzifdyN3)1ZZUgLlx7J^E>A;%O_LvV(?+5oT)DJP*oAR0B$D zsT(b(9#luYsGj;!81h>J1-OK!QUh4qNb@N|)fA;>YNAVNDcwLZx|!m17q!s+w2U67 z<@6-2q-W`JnE6$j=NEu;)mZtz^f?s$1}N6w=v9`rPQfu~ID_9Xp-{s~p?M-S4M zm?uiO*Ok&<`WIv)TCtb@t)--Jo+B!sLI1&MZ{Tj=e&xdb3UI|7Mo`9KfX}h$Ym2_o z|30zkTZ_K4=#c*REzwt$^B-X8H5i;+Iw~~D48Lx4zrf-1x)Wuf0*eakb zI;G?Y)X}5{%ob0wjw{k@k4N^MYR`-m?a3G650}e`HX6Bs26V0!o9KA03{YW5Envq( z_7sTa8f};kxe%=Zwre4eo50VTF>(teb1My|^>7Wh!F}CMXVM+8P4{8t{hBkzv8{7CvyPP`$90_H$Z@SB$1GayXoHWgceJ4gUEyehNLjqInU#<& zIDZ(MT4`lVl#?P+IhA%~Ai6I8=?b1TvW-Sn6l|wLZOQQN31d!};;9}}%yg~UvBRuD zRvVqRfx3;5h%mY+dlTgbvXX`kXxct!<%?^884u78VxRd*mKRelkl6&J9*1f?f%xzg zMxLggw3$w%Eil4oV1!#?gxg?*+i5N$Y!IDr3KubbHT*nG@g6FTV)V)9{0i> zfkzDmbD>k5xtofCcS%B@w$d~pSE{4zLckXmRG%CYY(@TVegb}P+krE_#JsN70bZ8W#Y0)OV^zew}j zXhFadZ&BHc&TVX^^A-d$CGMQ>q%*~7AwhprA+^y303*YxU@i<~CRO`NItlc>2jBWW zRN@2bj&x=$;`t;*+q0lbKR}u?6A4Ns5|s0hqFjhT9zy(WL3jepqRVp8_4xrKt2SB-_a*v?dR~c|HA!ihR=oii$o>Oy^?gy#a^dIgI%(6homwXbQvRwl)^CcFD zft*0rAsTD($rca9KfgaO?;9%n23e467CZ>^6c2_L4dGL;BeV!!F-yn3FwYWk!8={l zO4V>MyXoSETPe7M7VXKasn|-jMVVVERFvh+T8xymmFlh&X(kqG>6@Y5R1e(<&&r1? zF3B%wrAzVwqLmu77cv>@c=!Z@ohm4KE)={k*wi1a7{q;O7#J~;PoxSSi2tfNh|UMv z7xNIRP!y1Gg$#jWM*Q}W^awjz^sCyelHqc-RYCZVQHi|mRo7V&r0JRk`gB`SV zkB3m5ienqah13<`d+}*Bj>l+1Oe{a$CFFE`_7~W!!i>?{`bD}L)o~WqxY7iwWBGK0 zDlZ0clEJJ4s=y(JpXNl)*yse93P>SWK157ONf~vb2S4U!i-<2H1x&n^T8a>Hka}(; zTSk`6+C*J-JYOzRJn^!^y!4Py6j+kC(&d0B#`8pQ;7m||7M;jbU>{Ry6c>Ze5{P9Q zmGN|{;vYcNGpLr&rU=iXrCdRm;R{n&@;S7Yt6b4nL0Qh=2@ueU$n+$C%RsOya^gAo z;PP`F7hzxFr-}Q@wI4G-5!nY*_F<%>*%DxQ60Fu_Y8DWtuPH|%VN+dGxQ{Qkm=ME{ zV|U^HmrjUDjUZ=8tN_z5g_%qMn?0dMl5>o@(P&a26GD<`6Ua3DpAyK-&2FR1TIq5< zbcI+QlCCRT>8bz>GMT%b1wg$6nI;@Lp-hCA3O_3WKg%FBC6MLS1p_220mMlq%o=18 z&;-dOM#zAy-$6grYHkAGMRYvu`2zCsh18obf-P6ma1PRFUIYQx&`hp{fJ1a4)HT9& zNQUZZH7}v{d!Cpm37zEBUgJBew2P3Q3GZyJ;1i)zxAk*C3i*D+X~L zBz3)~d@2^!-heMif~7m@Muvkgl&959R>LY*uZL+m)K+Jp$V@RZ1RZ9HLPcmq}^DGe>`o)hyrGGR#2|sK73w zGcwv}-7K#Q@hV-i-1Pd76R<=gvT^f$1Z%#9viMebzx8wy-v$?dJ31S8YWl{SeO#)} zfZa>&m4*N8E;g00$tlqElB3kVt%)@(XAWE)^>Lb(mf2V_YAFv2_|grHV8Q>;Zf8D6yFC4 z{{(*Oej3UTPys(k6Zj!2;fL`H2p&aH+eFpy9GCEuE*B=iR3y)nY^}lNM+48|O3>wl zdlFBlXegq(aKY4~k}R8%uP`FfLd&+?abWaa-q*l~xr*mvt+Xtva7VsDy@0+%`~`^k z8_CMtM41^s#ki51t~hzK#!l*8%y)6>r8^d^cY{&oP2m*RIFIL>t<*CR1JYqWSGGdv zTr9~2pD8J}^Ll$L-O);SZs75WLI_SVO;^L|N5BdtPU$)bU5!OzgJPCwg*aweE>GGl z`xNP#>MjWX&JC1|PIpUmO2n!}_}+lOcptcXO%Ot_) z?f6X~&%(TRP(HWOS-cYpw~OZRZaSBrqviZOUBfSctQTnq|AKb$EA%|SO0V#1^Z~z) zFOu%1Kl2;(1^*JQ%eOd(-$ru!YwpkQAa8n?$MA1>0{<2+=6#-lUv)8`f3MY}2@1BH z&eY0laSlz=PdP}K*YE-;YBuV{8+D~;;j6n>@wrfAA21APh0dfoxSNU)nvzg5K9?8j zR7l2*d&3h_Y{}^oO&GJoSJ=V8NYslH$ajc>i5NcfTPj5V2Yd|KM$cy+l;D(Rf<&)7y;4TgP(hy{EC$xX{8^F8$oLLr-Zf`J%)JurMOJ( zcqE#5_4x6WA|BxHlR{^>Tuh7Q$^=x?CNNMveLn-WUAJy}z?XDs&^$risape3De+oR zMkli^@(288g3eR|{+;v_iCs>@ryDq41-##wNK((WMkc*r47nNcpD2$%ffxLg2J(Iy z$p?_uAH;7``3$k{&!}+!f;jhATEU;=mzMkuiurfCo4=q(_#gBXe+dQs7lQb|=`H?> zKH{(GQ~rkj#@`_wI7Hu};3B2Co66)KDvM82maB}rP%%ru&q4KfoK6S)w2Goy@ho}- zrNKo|OYx{1bc&FT2=k7kjI*6CVHWkpKGje`6ahTIRm%acS`Ogz_+scsLKzKQ=?EGa z31u8c)?u_Db=OF$v!K*y(hHR41#}LbK=n0sP0>9i|9`>g9{OIUg;6N6xI$bfoVNC) z)K9t@&TGPxk`EoZ#df+7E>Z^3d%!m6RMk)as-n zi$-t=f!G8WU5XS)UhFMJ7IWAj3-4i);g6uA59o0DE}kCLPp?Z2@qoN0ij$}G2#iPS zDl`>tanxKFD=B6J)ifa>CDYhI=cIHd0sA3IQ{Cp|Mj8~5Tvv}ei8EN%TjGZ3e?q+< z_SQ3ly)Tb=Umlg0q>k%Ow(3j0)QL1y^`k=7pT?_`XtEkWW$I*_qXyDkHHa=&gQ;E( zp%!#)R;yEJqZ)?abu$9L!6u(tRRO)I3h8BaD!r*j)7xqceW=E3;YgX=LX)*S&BE!% z)w-vhK^Nn%$%6{%KAi_8#SvB_yMmu3Eb4-kivcByu8TK;O}1V|7S|@Ktw*m=8dVq>81S zlI22Wj#4Ef#^-r-58c*To))V zm$Fh6J(B$@1a9dBD5OslHH~uU7HF6KnvsND(egY*C9XU{W;4ePnaCg$rvTD{MqYcp z*V2xO+PR4kq+0^HskEn$axgN9a{Am-^DEnpN6-K-zlv}YMCu~&s~VbjG4)VE@M{sB zqH1UiqVGf%qG@U|1yvm^sUDUTrYqDETB{h8yJ#Wn3V}GYX`U%2?O}M3}vb5qm|(<=XFbW(t+Zt)J%eRB^sg!M!ZWZTs zc&|t0blIVn!HAYqu37<=TS-IIrSSBZQMtODE>Krcjk=N=)KwH!t2EoBgMR_KZ&F-Z zR6{vh>3lda9l$GiC5Q(}u5vErOLa!(qcC3vV^iqT2l;Zo0?IW6WzCfsGXrJYA0|H$X}^hIlpqh<4)R7}Tr{cgpqAJNzNNJ0*bMRQDnM z7We-Av^0+K>+4=b4x57{r6u?V3iEqld ziEqnvcgyO&x8k-HcgpwyckOQ4iWw_@v>x|P;65I>m~}Dd;vqw+mFPe>=Y?jt8iabA zhhZw?lp7I6yd{%VrG__z=1=wwry2aG?bxVoxu#OJ9?97_)rznA4G|ih>~ZnVfzP&$-c^ZgP}ou$>)nk=Y)OU-K^XH*y3`R5bs~8r z;wG=}8<4d#qhe+5F$`2E)))pK>IV4@2P&4!?d^4$tO~-$a5~VTh}J}+?76EPG@FXR z_LrQ>WJiUP=e*SO6J_&6qp>V^a~2pDs=-UKBXU%Mj+@g*&$S*!-B>pIOfuM(M~0I< z)>$~J&xmxZ)}YGFUW-gvjiK1u6lqq|LH2HNvTGA~^2?z!T1lfk8=#?kIvBHoE|>MSr_vje!_x_M;;bY^RR@+ z9s(wsm}E#uuAH0=8#R#p%mGzO)*3P=Vclus%4)q!$>cZ z?qpfR5*a=thAoOd=8yd*2)~NS!_;L&tg9UYIadAHNKVx775!7EK<}15t%B`2?MLVb zbZGsI)`A_OJ{^5ZI7iwq$b!?#Xe~~@2Kzm8`I4j!0F*IG(#s8S9vA3DZ-vt4&i`Qm zF6nB2qwwN22JSk(Gx-MwJ1D+^(}C+d*E{&ccdm6%@}1FFZ&2>wgzxxd;?Yv<;8SuK z@|{01T)^`K0OKf8;L{{4RKXcaK7z|s(-c*7i!?J-!y;8-0WRhsx&R3dE@3PKT_c|{ oV!`UJV4UFE-BnaEnC&L$wn#Z1U=r7;=mM^jzJMF=Seydh0@c)#@c;k- literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/util/TaskUtil$Task.class b/tall/target/classes/com/ccsens/tall/util/TaskUtil$Task.class new file mode 100644 index 0000000000000000000000000000000000000000..9f82ab8e4a13424581ddaffb5de66c2adf66605f GIT binary patch literal 2458 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 YG?~XJ5AnaBt5WdW=#Uhi!k3WvFVNOkv;Y7A literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/web/DeliverController.class b/tall/target/classes/com/ccsens/tall/web/DeliverController.class new file mode 100644 index 0000000000000000000000000000000000000000..833707b24cc19b3865b10a7e8da0ed50c6ff2cd4 GIT binary patch literal 9512 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 literal 0 HcmV?d00001 diff --git a/tall/target/classes/com/ccsens/tall/web/ExcelController.class b/tall/target/classes/com/ccsens/tall/web/ExcelController.class new file mode 100644 index 0000000000000000000000000000000000000000..aff82000672cd1b793de047def1dece7b249d947 GIT binary patch literal 3594 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