Merge remote-tracking branch 'origin/master'

# Conflicts:
#	.gitignore
This commit is contained in:
Penknife
2025-10-31 08:50:01 +08:00
121 changed files with 10974 additions and 36 deletions

8
.idea/.gitignore generated vendored Normal file
View File

@@ -0,0 +1,8 @@
# 默认忽略的文件
/shelf/
/workspace.xml
# 基于编辑器的 HTTP 客户端请求
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

6
.idea/ApifoxUploaderProjectSetting.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ApifoxUploaderProjectSetting">
<option name="apiAccessToken" value="APS-ThHUv5iFpDHiUtL7G8Mt61iGqI7Lg12c" />
</component>
</project>

20
.idea/compiler.xml generated Normal file
View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<annotationProcessing>
<profile default="true" name="Default" enabled="true" />
<profile name="Maven default annotation processors profile" enabled="true">
<sourceOutputDir name="target/generated-sources/annotations" />
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" />
<module name="ruoyi-framework" />
<module name="ruoyi-system" />
<module name="business" />
<module name="ruoyi-common" />
<module name="ruoyi-generator" />
<module name="ruoyi-quartz" />
<module name="process-control-dev" />
</profile>
</annotationProcessing>
</component>
</project>

446
.idea/dbnavigator.xml generated Normal file
View File

@@ -0,0 +1,446 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DBNavigator.Project.DDLFileAttachmentManager">
<mappings />
<preferences />
</component>
<component name="DBNavigator.Project.DatabaseAssistantManager">
<assistants />
</component>
<component name="DBNavigator.Project.DatabaseFileManager">
<open-files />
</component>
<component name="DBNavigator.Project.Settings">
<connections />
<browser-settings>
<general>
<display-mode value="TABBED" />
<navigation-history-size value="100" />
<show-object-details value="false" />
<enable-sticky-paths value="true" />
<enable-quick-filters value="false" />
</general>
<filters>
<object-type-filter>
<object-type name="SCHEMA" enabled="true" />
<object-type name="USER" enabled="true" />
<object-type name="ROLE" enabled="true" />
<object-type name="PRIVILEGE" enabled="true" />
<object-type name="CHARSET" enabled="true" />
<object-type name="TABLE" enabled="true" />
<object-type name="VIEW" enabled="true" />
<object-type name="JSON_VIEW" enabled="true" />
<object-type name="MATERIALIZED_VIEW" enabled="true" />
<object-type name="NESTED_TABLE" enabled="true" />
<object-type name="COLUMN" enabled="true" />
<object-type name="INDEX" enabled="true" />
<object-type name="CONSTRAINT" enabled="true" />
<object-type name="DATASET_TRIGGER" enabled="true" />
<object-type name="DATABASE_TRIGGER" enabled="true" />
<object-type name="SYNONYM" enabled="true" />
<object-type name="SEQUENCE" enabled="true" />
<object-type name="PROCEDURE" enabled="true" />
<object-type name="FUNCTION" enabled="true" />
<object-type name="PACKAGE" enabled="true" />
<object-type name="TYPE" enabled="true" />
<object-type name="TYPE_ATTRIBUTE" enabled="true" />
<object-type name="ARGUMENT" enabled="true" />
<object-type name="JAVA_CLASS" enabled="true" />
<object-type name="JAVA_FIELD" enabled="true" />
<object-type name="JAVA_METHOD" enabled="true" />
<object-type name="JAVA_RESOURCE" enabled="true" />
<object-type name="DIMENSION" enabled="true" />
<object-type name="CLUSTER" enabled="true" />
<object-type name="DBLINK" enabled="true" />
<object-type name="CREDENTIAL" enabled="true" />
<object-type name="AI_PROFILE" enabled="true" />
</object-type-filter>
</filters>
<sorting>
<object-type name="COLUMN" sorting-type="NAME" />
<object-type name="FUNCTION" sorting-type="NAME" />
<object-type name="PROCEDURE" sorting-type="NAME" />
<object-type name="ARGUMENT" sorting-type="POSITION" />
<object-type name="TYPE ATTRIBUTE" sorting-type="POSITION" />
</sorting>
<default-editors>
<object-type name="VIEW" editor-type="SELECTION" />
<object-type name="PACKAGE" editor-type="SELECTION" />
<object-type name="TYPE" editor-type="SELECTION" />
</default-editors>
</browser-settings>
<navigation-settings>
<lookup-filters>
<lookup-objects>
<object-type name="SCHEMA" enabled="true" />
<object-type name="USER" enabled="false" />
<object-type name="ROLE" enabled="false" />
<object-type name="PRIVILEGE" enabled="false" />
<object-type name="CHARSET" enabled="false" />
<object-type name="TABLE" enabled="true" />
<object-type name="VIEW" enabled="true" />
<object-type name="JSON VIEW" enabled="true" />
<object-type name="MATERIALIZED VIEW" enabled="true" />
<object-type name="INDEX" enabled="true" />
<object-type name="CONSTRAINT" enabled="true" />
<object-type name="DATASET TRIGGER" enabled="true" />
<object-type name="DATABASE TRIGGER" enabled="true" />
<object-type name="SYNONYM" enabled="false" />
<object-type name="SEQUENCE" enabled="true" />
<object-type name="PROCEDURE" enabled="true" />
<object-type name="FUNCTION" enabled="true" />
<object-type name="PACKAGE" enabled="true" />
<object-type name="TYPE" enabled="true" />
<object-type name="JAVA CLASS" enabled="true" />
<object-type name="INNER CLASS" enabled="true" />
<object-type name="JAVA FIELD" enabled="true" />
<object-type name="JAVA METHOD" enabled="true" />
<object-type name="JAVA PARAMETER" enabled="true" />
<object-type name="JAVA RESOURCE" enabled="true" />
<object-type name="DIMENSION" enabled="false" />
<object-type name="CLUSTER" enabled="false" />
<object-type name="DBLINK" enabled="false" />
<object-type name="CREDENTIAL" enabled="false" />
</lookup-objects>
<force-database-load value="false" />
<prompt-connection-selection value="true" />
<prompt-schema-selection value="true" />
</lookup-filters>
</navigation-settings>
<dataset-grid-settings>
<general>
<enable-zooming value="true" />
<enable-column-tooltip value="true" />
</general>
<sorting>
<nulls-first value="true" />
<max-sorting-columns value="4" />
</sorting>
<audit-columns>
<column-names value="" />
<visible value="true" />
<editable value="false" />
</audit-columns>
</dataset-grid-settings>
<dataset-editor-settings>
<text-editor-popup>
<active value="false" />
<active-if-empty value="false" />
<data-length-threshold value="100" />
<popup-delay value="1000" />
</text-editor-popup>
<values-actions-popup>
<show-popup-button value="true" />
<element-count-threshold value="1000" />
<data-length-threshold value="250" />
</values-actions-popup>
<general>
<fetch-block-size value="100" />
<fetch-timeout value="30" />
<trim-whitespaces value="true" />
<convert-empty-strings-to-null value="true" />
<select-content-on-cell-edit value="true" />
<large-value-preview-active value="true" />
</general>
<filters>
<prompt-filter-dialog value="true" />
<default-filter-type value="BASIC" />
</filters>
<qualified-text-editor text-length-threshold="300">
<content-types>
<content-type name="Text" enabled="true" />
<content-type name="Properties" enabled="true" />
<content-type name="XML" enabled="true" />
<content-type name="DTD" enabled="true" />
<content-type name="HTML" enabled="true" />
<content-type name="XHTML" enabled="true" />
<content-type name="CSS" enabled="true" />
<content-type name="Java" enabled="true" />
<content-type name="SQL" enabled="true" />
<content-type name="PL/SQL" enabled="true" />
<content-type name="JPA QL" enabled="true" />
<content-type name="JavaScript" enabled="true" />
<content-type name="JSON" enabled="true" />
<content-type name="JSON5" enabled="true" />
<content-type name="JSP" enabled="true" />
<content-type name="JSPx" enabled="true" />
<content-type name="Groovy" enabled="true" />
<content-type name="FTL" enabled="true" />
<content-type name="VTL" enabled="true" />
<content-type name="YAML" enabled="true" />
<content-type name="Manifest" enabled="true" />
</content-types>
</qualified-text-editor>
<record-navigation>
<navigation-target value="VIEWER" />
</record-navigation>
</dataset-editor-settings>
<code-editor-settings>
<general>
<show-object-navigation-gutter value="false" />
<show-spec-declaration-navigation-gutter value="true" />
<enable-spellchecking value="true" />
<enable-reference-spellchecking value="false" />
</general>
<confirmations>
<save-changes value="false" />
<revert-changes value="true" />
<exit-on-changes value="ASK" />
</confirmations>
</code-editor-settings>
<code-completion-settings>
<filters>
<basic-filter>
<filter-element type="RESERVED_WORD" id="keyword" selected="true" />
<filter-element type="RESERVED_WORD" id="function" selected="true" />
<filter-element type="RESERVED_WORD" id="parameter" selected="true" />
<filter-element type="RESERVED_WORD" id="datatype" selected="true" />
<filter-element type="RESERVED_WORD" id="exception" selected="true" />
<filter-element type="OBJECT" id="schema" selected="true" />
<filter-element type="OBJECT" id="role" selected="true" />
<filter-element type="OBJECT" id="user" selected="true" />
<filter-element type="OBJECT" id="privilege" selected="true" />
<user-schema>
<filter-element type="OBJECT" id="table" selected="true" />
<filter-element type="OBJECT" id="view" selected="true" />
<filter-element type="OBJECT" id="json view" selected="true" />
<filter-element type="OBJECT" id="materialized view" selected="true" />
<filter-element type="OBJECT" id="index" selected="true" />
<filter-element type="OBJECT" id="constraint" selected="true" />
<filter-element type="OBJECT" id="trigger" selected="true" />
<filter-element type="OBJECT" id="synonym" selected="false" />
<filter-element type="OBJECT" id="sequence" selected="true" />
<filter-element type="OBJECT" id="procedure" selected="true" />
<filter-element type="OBJECT" id="function" selected="true" />
<filter-element type="OBJECT" id="package" selected="true" />
<filter-element type="OBJECT" id="type" selected="true" />
<filter-element type="OBJECT" id="dimension" selected="true" />
<filter-element type="OBJECT" id="cluster" selected="true" />
<filter-element type="OBJECT" id="dblink" selected="true" />
</user-schema>
<public-schema>
<filter-element type="OBJECT" id="table" selected="false" />
<filter-element type="OBJECT" id="view" selected="false" />
<filter-element type="OBJECT" id="json view" selected="false" />
<filter-element type="OBJECT" id="materialized view" selected="false" />
<filter-element type="OBJECT" id="index" selected="false" />
<filter-element type="OBJECT" id="constraint" selected="false" />
<filter-element type="OBJECT" id="trigger" selected="false" />
<filter-element type="OBJECT" id="synonym" selected="false" />
<filter-element type="OBJECT" id="sequence" selected="false" />
<filter-element type="OBJECT" id="procedure" selected="false" />
<filter-element type="OBJECT" id="function" selected="false" />
<filter-element type="OBJECT" id="package" selected="false" />
<filter-element type="OBJECT" id="type" selected="false" />
<filter-element type="OBJECT" id="dimension" selected="false" />
<filter-element type="OBJECT" id="cluster" selected="false" />
<filter-element type="OBJECT" id="dblink" selected="false" />
</public-schema>
<any-schema>
<filter-element type="OBJECT" id="table" selected="true" />
<filter-element type="OBJECT" id="view" selected="true" />
<filter-element type="OBJECT" id="json view" selected="true" />
<filter-element type="OBJECT" id="materialized view" selected="true" />
<filter-element type="OBJECT" id="index" selected="true" />
<filter-element type="OBJECT" id="constraint" selected="true" />
<filter-element type="OBJECT" id="trigger" selected="true" />
<filter-element type="OBJECT" id="synonym" selected="true" />
<filter-element type="OBJECT" id="sequence" selected="true" />
<filter-element type="OBJECT" id="procedure" selected="true" />
<filter-element type="OBJECT" id="function" selected="true" />
<filter-element type="OBJECT" id="package" selected="true" />
<filter-element type="OBJECT" id="type" selected="true" />
<filter-element type="OBJECT" id="dimension" selected="true" />
<filter-element type="OBJECT" id="cluster" selected="true" />
<filter-element type="OBJECT" id="dblink" selected="true" />
</any-schema>
</basic-filter>
<extended-filter>
<filter-element type="RESERVED_WORD" id="keyword" selected="true" />
<filter-element type="RESERVED_WORD" id="function" selected="true" />
<filter-element type="RESERVED_WORD" id="parameter" selected="true" />
<filter-element type="RESERVED_WORD" id="datatype" selected="true" />
<filter-element type="RESERVED_WORD" id="exception" selected="true" />
<filter-element type="OBJECT" id="schema" selected="true" />
<filter-element type="OBJECT" id="user" selected="true" />
<filter-element type="OBJECT" id="role" selected="true" />
<filter-element type="OBJECT" id="privilege" selected="true" />
<user-schema>
<filter-element type="OBJECT" id="table" selected="true" />
<filter-element type="OBJECT" id="view" selected="true" />
<filter-element type="OBJECT" id="json view" selected="true" />
<filter-element type="OBJECT" id="materialized view" selected="true" />
<filter-element type="OBJECT" id="index" selected="true" />
<filter-element type="OBJECT" id="constraint" selected="true" />
<filter-element type="OBJECT" id="trigger" selected="true" />
<filter-element type="OBJECT" id="synonym" selected="true" />
<filter-element type="OBJECT" id="sequence" selected="true" />
<filter-element type="OBJECT" id="procedure" selected="true" />
<filter-element type="OBJECT" id="function" selected="true" />
<filter-element type="OBJECT" id="package" selected="true" />
<filter-element type="OBJECT" id="type" selected="true" />
<filter-element type="OBJECT" id="dimension" selected="true" />
<filter-element type="OBJECT" id="cluster" selected="true" />
<filter-element type="OBJECT" id="dblink" selected="true" />
</user-schema>
<public-schema>
<filter-element type="OBJECT" id="table" selected="true" />
<filter-element type="OBJECT" id="view" selected="true" />
<filter-element type="OBJECT" id="json view" selected="true" />
<filter-element type="OBJECT" id="materialized view" selected="true" />
<filter-element type="OBJECT" id="index" selected="true" />
<filter-element type="OBJECT" id="constraint" selected="true" />
<filter-element type="OBJECT" id="trigger" selected="true" />
<filter-element type="OBJECT" id="synonym" selected="true" />
<filter-element type="OBJECT" id="sequence" selected="true" />
<filter-element type="OBJECT" id="procedure" selected="true" />
<filter-element type="OBJECT" id="function" selected="true" />
<filter-element type="OBJECT" id="package" selected="true" />
<filter-element type="OBJECT" id="type" selected="true" />
<filter-element type="OBJECT" id="dimension" selected="true" />
<filter-element type="OBJECT" id="cluster" selected="true" />
<filter-element type="OBJECT" id="dblink" selected="true" />
</public-schema>
<any-schema>
<filter-element type="OBJECT" id="table" selected="true" />
<filter-element type="OBJECT" id="view" selected="true" />
<filter-element type="OBJECT" id="json view" selected="true" />
<filter-element type="OBJECT" id="materialized view" selected="true" />
<filter-element type="OBJECT" id="index" selected="true" />
<filter-element type="OBJECT" id="constraint" selected="true" />
<filter-element type="OBJECT" id="trigger" selected="true" />
<filter-element type="OBJECT" id="synonym" selected="true" />
<filter-element type="OBJECT" id="sequence" selected="true" />
<filter-element type="OBJECT" id="procedure" selected="true" />
<filter-element type="OBJECT" id="function" selected="true" />
<filter-element type="OBJECT" id="package" selected="true" />
<filter-element type="OBJECT" id="type" selected="true" />
<filter-element type="OBJECT" id="dimension" selected="true" />
<filter-element type="OBJECT" id="cluster" selected="true" />
<filter-element type="OBJECT" id="dblink" selected="true" />
</any-schema>
</extended-filter>
</filters>
<sorting enabled="true">
<sorting-element type="RESERVED_WORD" id="keyword" />
<sorting-element type="RESERVED_WORD" id="datatype" />
<sorting-element type="OBJECT" id="column" />
<sorting-element type="OBJECT" id="table" />
<sorting-element type="OBJECT" id="view" />
<sorting-element type="OBJECT" id="json view" />
<sorting-element type="OBJECT" id="materialized view" />
<sorting-element type="OBJECT" id="index" />
<sorting-element type="OBJECT" id="constraint" />
<sorting-element type="OBJECT" id="trigger" />
<sorting-element type="OBJECT" id="synonym" />
<sorting-element type="OBJECT" id="sequence" />
<sorting-element type="OBJECT" id="procedure" />
<sorting-element type="OBJECT" id="function" />
<sorting-element type="OBJECT" id="package" />
<sorting-element type="OBJECT" id="type" />
<sorting-element type="OBJECT" id="dimension" />
<sorting-element type="OBJECT" id="cluster" />
<sorting-element type="OBJECT" id="dblink" />
<sorting-element type="OBJECT" id="schema" />
<sorting-element type="OBJECT" id="role" />
<sorting-element type="OBJECT" id="user" />
<sorting-element type="RESERVED_WORD" id="function" />
<sorting-element type="RESERVED_WORD" id="parameter" />
</sorting>
<format>
<enforce-code-style-case value="true" />
</format>
</code-completion-settings>
<execution-engine-settings>
<statement-execution>
<fetch-block-size value="100" />
<execution-timeout value="20" />
<debug-execution-timeout value="600" />
<focus-result value="false" />
<prompt-execution value="false" />
</statement-execution>
<script-execution>
<command-line-interfaces />
<execution-timeout value="300" />
</script-execution>
<method-execution>
<execution-timeout value="30" />
<debug-execution-timeout value="600" />
<parameter-history-size value="10" />
</method-execution>
</execution-engine-settings>
<operation-settings>
<transactions>
<uncommitted-changes>
<on-project-close value="ASK" />
<on-disconnect value="ASK" />
<on-autocommit-toggle value="ASK" />
</uncommitted-changes>
<multiple-uncommitted-changes>
<on-commit value="ASK" />
<on-rollback value="ASK" />
</multiple-uncommitted-changes>
</transactions>
<session-browser>
<disconnect-session value="ASK" />
<kill-session value="ASK" />
<reload-on-filter-change value="false" />
</session-browser>
<compiler>
<compile-type value="KEEP" />
<compile-dependencies value="ASK" />
<always-show-controls value="false" />
</compiler>
</operation-settings>
<ddl-file-settings>
<extensions>
<mapping file-type-id="VIEW" extensions="vw" />
<mapping file-type-id="TRIGGER" extensions="trg" />
<mapping file-type-id="PROCEDURE" extensions="prc" />
<mapping file-type-id="FUNCTION" extensions="fnc" />
<mapping file-type-id="PACKAGE" extensions="pkg" />
<mapping file-type-id="PACKAGE_SPEC" extensions="pks" />
<mapping file-type-id="PACKAGE_BODY" extensions="pkb" />
<mapping file-type-id="TYPE" extensions="tpe" />
<mapping file-type-id="TYPE_SPEC" extensions="tps" />
<mapping file-type-id="TYPE_BODY" extensions="tpb" />
<mapping file-type-id="JAVA_SOURCE" extensions="sql" />
</extensions>
<general>
<lookup-ddl-files value="true" />
<create-ddl-files value="false" />
<synchronize-ddl-files value="true" />
<use-qualified-names value="false" />
<make-scripts-rerunnable value="true" />
</general>
</ddl-file-settings>
<assistant-settings>
<credential-settings>
<credentials />
</credential-settings>
</assistant-settings>
<general-settings>
<regional-settings>
<date-format value="MEDIUM" />
<number-format value="UNGROUPED" />
<locale value="SYSTEM_DEFAULT" />
<use-custom-formats value="false" />
</regional-settings>
<environment>
<environment-types>
<environment-type id="development" name="Development" description="Development environment" color="-2430209/-12296320" readonly-code="false" readonly-data="false" />
<environment-type id="integration" name="Integration" description="Integration environment" color="-2621494/-12163514" readonly-code="true" readonly-data="false" />
<environment-type id="production" name="Production" description="Productive environment" color="-11574/-10271420" readonly-code="true" readonly-data="true" />
<environment-type id="other" name="Other" description="" color="-1576/-10724543" readonly-code="false" readonly-data="false" />
</environment-types>
<visibility-settings>
<connection-tabs value="true" />
<dialog-headers value="true" />
<object-editor-tabs value="true" />
<script-editor-tabs value="false" />
<execution-result-tabs value="true" />
</visibility-settings>
</environment>
</general-settings>
</component>
</project>

21
.idea/encodings.xml generated Normal file
View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/business/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/business/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ruoyi-admin/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ruoyi-admin/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ruoyi-common/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ruoyi-common/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ruoyi-framework/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ruoyi-framework/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ruoyi-generator/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ruoyi-generator/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ruoyi-quartz/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ruoyi-quartz/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ruoyi-system/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/ruoyi-system/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
</component>
</project>

25
.idea/jarRepositories.xml generated Normal file
View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="public" />
<option name="name" value="aliyun nexus" />
<option name="url" value="https://maven.aliyun.com/repository/public" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Central Repository" />
<option name="url" value="https://repo.maven.apache.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
</component>
</project>

12
.idea/misc.xml generated Normal file
View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="MavenProjectsManager">
<option name="originalFiles">
<list>
<option value="$PROJECT_DIR$/pom.xml" />
</list>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="JDK1.8" project-jdk-type="JavaSDK" />
</project>

6
.idea/vcs.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

View File

@@ -0,0 +1,93 @@
package com.fizz.business.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.fizz.business.service.IPdiSetupService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.fizz.business.domain.PdiSetups;
import com.fizz.business.service.IPdiSetupService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 生产计划的参数详情Controller
*
* @author Joshi
* @date 2025-09-25
*/
@RestController
@RequestMapping("/business/setup")
public class PdiSetupController extends BaseController
{
@Autowired
private IPdiSetupService pdiSetupService;
/**
* 查询生产计划的参数详情列表
*/
@PostMapping("/list")
public TableDataInfo list(@RequestBody PdiSetups pdiSetup)
{
startPage();
List<PdiSetups> list = pdiSetupService.selectPdiSetupList(pdiSetup);
return getDataTable(list);
}
/**
* 导出生产计划的参数详情列表
*/
@Log(title = "生产计划的参数详情", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, PdiSetups pdiSetup)
{
List<PdiSetups> list = pdiSetupService.selectPdiSetupList(pdiSetup);
ExcelUtil<PdiSetups> util = new ExcelUtil<PdiSetups>(PdiSetups.class);
util.exportExcel(response, list, "生产计划的参数详情数据");
}
/**
* 获取生产计划的参数详情详细信息
*/
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(pdiSetupService.selectPdiSetupByid(id));
}
/**
* 新增生产计划的参数详情
*/
@Log(title = "生产计划的参数详情", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody PdiSetups pdiSetup)
{
return toAjax(pdiSetupService.insertPdiSetup(pdiSetup));
}
/**
* 修改生产计划的参数详情
*/
@Log(title = "生产计划的参数详情", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody PdiSetups pdiSetup)
{
return toAjax(pdiSetupService.updatePdiSetup(pdiSetup));
}
/**
* 删除生产计划的参数详情
*/
@Log(title = "生产计划的参数详情", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(pdiSetupService.deletePdiSetupByids(ids));
}
}

View File

@@ -45,4 +45,10 @@ public class ProStoppageController {
public R<List<ProStoppage>> list(@RequestBody ProStoppageForm form) {
return R.ok(proStoppageService.listAll(form));
}
//计算停机次数停机时长 作业率
@PostMapping("/calc")
@Operation(summary ="计算停机次数停机时长 作业率")
public R<List<Object>> calc(@RequestBody ProStoppageForm form) {
return R.ok(proStoppageService.calc(form));
}
}

View File

@@ -0,0 +1,104 @@
package com.fizz.business.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.fizz.business.domain.SetupFurTemp;
import com.fizz.business.service.ISetupFurTempService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 炉火段工艺参数Controller
*
* @author ruoyi
* @date 2025-09-29
*/
@RestController
@RequestMapping("/business/fur")
public class SetupFurTempController extends BaseController
{
@Autowired
private ISetupFurTempService setupFurTempService;
/**
* 查询炉火段工艺参数列表
*/
@PreAuthorize("@ss.hasPermi('business:fur:list')")
@GetMapping("/list")
public TableDataInfo list(SetupFurTemp setupFurTemp)
{
startPage();
List<SetupFurTemp> list = setupFurTempService.selectSetupFurTempList(setupFurTemp);
return getDataTable(list);
}
/**
* 导出炉火段工艺参数列表
*/
@PreAuthorize("@ss.hasPermi('business:fur:export')")
@Log(title = "炉火段工艺参数", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, SetupFurTemp setupFurTemp)
{
List<SetupFurTemp> list = setupFurTempService.selectSetupFurTempList(setupFurTemp);
ExcelUtil<SetupFurTemp> util = new ExcelUtil<SetupFurTemp>(SetupFurTemp.class);
util.exportExcel(response, list, "炉火段工艺参数数据");
}
/**
* 获取炉火段工艺参数详细信息
*/
@PreAuthorize("@ss.hasPermi('business:fur:query')")
@GetMapping(value = "/{steelGrade}")
public AjaxResult getInfo(@PathVariable("steelGrade") String steelGrade)
{
return success(setupFurTempService.selectSetupFurTempBySteelGrade(steelGrade));
}
/**
* 新增炉火段工艺参数
*/
@PreAuthorize("@ss.hasPermi('business:fur:add')")
@Log(title = "炉火段工艺参数", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody SetupFurTemp setupFurTemp)
{
return toAjax(setupFurTempService.insertSetupFurTemp(setupFurTemp));
}
/**
* 修改炉火段工艺参数
*/
@PreAuthorize("@ss.hasPermi('business:fur:edit')")
@Log(title = "炉火段工艺参数", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody SetupFurTemp setupFurTemp)
{
return toAjax(setupFurTempService.updateSetupFurTemp(setupFurTemp));
}
/**
* 删除炉火段工艺参数
*/
@PreAuthorize("@ss.hasPermi('business:fur:remove')")
@Log(title = "炉火段工艺参数", businessType = BusinessType.DELETE)
@DeleteMapping("/{steelGrades}")
public AjaxResult remove(@PathVariable String[] steelGrades)
{
return toAjax(setupFurTempService.deleteSetupFurTempBySteelGrades(steelGrades));
}
}

View File

@@ -0,0 +1,95 @@
package com.fizz.business.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.fizz.business.form.TensionDeleteForm;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.fizz.business.domain.SetupTension;
import com.fizz.business.service.ISetupTensionService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 全线张力Controller
*
* @author ruoyi
* @date 2025-09-26
*/
@RestController
@RequestMapping("/business/tension")
public class SetupTensionController extends BaseController
{
@Autowired
private ISetupTensionService setupTensionService;
/**
* 查询全线张力列表
*/
@GetMapping("/list")
public TableDataInfo list(SetupTension setupTension)
{
startPage();
List<SetupTension> list = setupTensionService.selectSetupTensionList(setupTension);
return getDataTable(list);
}
/**
* 导出全线张力列表
*/
@Log(title = "全线张力", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, SetupTension setupTension)
{
List<SetupTension> list = setupTensionService.selectSetupTensionList(setupTension);
ExcelUtil<SetupTension> util = new ExcelUtil<SetupTension>(SetupTension.class);
util.exportExcel(response, list, "全线张力数据");
}
/**
* 获取全线张力详细信息
*/
@GetMapping()
public AjaxResult getInfo(@RequestParam Long thick ,@RequestParam Long yieldStren)
{
return success(setupTensionService.selectSetupTensionByThick(thick, yieldStren));
}
/**
* 新增全线张力
*/
@Log(title = "全线张力", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody SetupTension setupTension)
{
return toAjax(setupTensionService.insertSetupTension(setupTension));
}
/**
* 修改全线张力
*/
@Log(title = "全线张力", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody SetupTension setupTension)
{
return toAjax(setupTensionService.updateSetupTension(setupTension));
}
/**
* 删除全线张力
*/
@Log(title = "全线张力", businessType = BusinessType.DELETE)
@DeleteMapping("/tension") // 建议添加路径区分不同删除接口
public AjaxResult removeTension(@RequestBody TensionDeleteForm form) {
return toAjax(setupTensionService.deleteSetupTensionByThicks(
form.getThicks(),
form.getYieldStrens()
));
}
}

View File

@@ -0,0 +1,96 @@
package com.fizz.business.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.fizz.business.form.TlDeleteForm;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.fizz.business.domain.SetupTl;
import com.fizz.business.service.ISetupTlService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 拉矫机参数Controller
*
* @author ruoyi
* @date 2025-09-26
*/
@RestController
@RequestMapping("/business/tl")
public class SetupTlController extends BaseController
{
@Autowired
private ISetupTlService setupTlService;
/**
* 查询拉矫机参数列表
*/
@GetMapping("/list")
public TableDataInfo list(SetupTl setupTl)
{
startPage();
List<SetupTl> list = setupTlService.selectSetupTlList(setupTl);
return getDataTable(list);
}
/**
* 导出拉矫机参数列表
*/
@Log(title = "拉矫机参数", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, SetupTl setupTl)
{
List<SetupTl> list = setupTlService.selectSetupTlList(setupTl);
ExcelUtil<SetupTl> util = new ExcelUtil<SetupTl>(SetupTl.class);
util.exportExcel(response, list, "拉矫机参数数据");
}
/**
* 获取拉矫机参数详细信息
*/
@GetMapping()
public AjaxResult getInfo(@RequestParam String steelGrade,
@RequestParam Long yieldStren,
@RequestParam Long thick)
{
return success(setupTlService.selectSetupTlBySteelGrade(steelGrade, yieldStren, thick));
}
/**
* 新增拉矫机参数
*/
@Log(title = "拉矫机参数", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody SetupTl setupTl)
{
return toAjax(setupTlService.insertSetupTl(setupTl));
}
/**
* 修改拉矫机参数
*/
@Log(title = "拉矫机参数", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody SetupTl setupTl)
{
return toAjax(setupTlService.updateSetupTl(setupTl));
}
// 拉矫机参数删除接口
@Log(title = "拉矫机参数", businessType = BusinessType.DELETE)
@DeleteMapping("/tl") // 不同路径区分
public AjaxResult removeTl(@RequestBody TlDeleteForm form) {
return toAjax(setupTlService.deleteSetupTlBySteelGrades(
form.getSteelGrades(),
form.getYieldStrens(),
form.getThicks()
));
}
}

View File

@@ -0,0 +1,96 @@
package com.fizz.business.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.fizz.business.form.TmBendforceDeleteForm;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.fizz.business.domain.SetupTmBendforce;
import com.fizz.business.service.ISetupTmBendforceService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 光整机弯辊力Controller
*
* @author Joshi
* @date 2025-09-26
*/
@RestController
@RequestMapping("/business/bendforce")
public class SetupTmBendforceController extends BaseController
{
@Autowired
private ISetupTmBendforceService setupTmBendforceService;
/**
* 查询光整机弯辊力列表
*/
@GetMapping("/list")
public TableDataInfo list(SetupTmBendforce setupTmBendforce)
{
startPage();
List<SetupTmBendforce> list = setupTmBendforceService.selectSetupTmBendforceList(setupTmBendforce);
return getDataTable(list);
}
/**
* 导出光整机弯辊力列表
*/
@Log(title = "光整机弯辊力", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, SetupTmBendforce setupTmBendforce)
{
List<SetupTmBendforce> list = setupTmBendforceService.selectSetupTmBendforceList(setupTmBendforce);
ExcelUtil<SetupTmBendforce> util = new ExcelUtil<SetupTmBendforce>(SetupTmBendforce.class);
util.exportExcel(response, list, "光整机弯辊力数据");
}
/**
* 获取光整机弯辊力详细信息
*/
@GetMapping()
public AjaxResult getInfo(@RequestParam Long width,
@RequestParam Long rollForce)
{
return success(setupTmBendforceService.selectSetupTmBendforceByWidth(width,rollForce));
}
/**
* 新增光整机弯辊力
*/
@Log(title = "光整机弯辊力", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody SetupTmBendforce setupTmBendforce)
{
return toAjax(setupTmBendforceService.insertSetupTmBendforce(setupTmBendforce));
}
/**
* 修改光整机弯辊力
*/
@Log(title = "光整机弯辊力", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody SetupTmBendforce setupTmBendforce)
{
return toAjax(setupTmBendforceService.updateSetupTmBendforce(setupTmBendforce));
}
/**
* 删除光整机弯辊力
*/
@Log(title = "光整机弯辊力", businessType = BusinessType.DELETE)
@DeleteMapping("/tm/bendforce")
public AjaxResult removeTmBendforce(@RequestBody TmBendforceDeleteForm form) {
return toAjax(setupTmBendforceService.deleteSetupTmBendforceByWidths(
form.getWidths(),
form.getRollForces()
));
}
}

View File

@@ -0,0 +1,98 @@
package com.fizz.business.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.fizz.business.form.TmMeshDeleteForm;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.fizz.business.domain.SetupTmMesh;
import com.fizz.business.service.ISetupTmMeshService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 光整机插入量Controller
*
* @author Joshi
* @date 2025-09-26
*/
@RestController
@RequestMapping("/business/mesh")
public class SetupTmMeshController extends BaseController
{
@Autowired
private ISetupTmMeshService setupTmMeshService;
/**
* 查询光整机插入量列表
*/
@GetMapping("/list")
public TableDataInfo list(SetupTmMesh setupTmMesh)
{
startPage();
List<SetupTmMesh> list = setupTmMeshService.selectSetupTmMeshList(setupTmMesh);
return getDataTable(list);
}
/**
* 导出光整机插入量列表
*/
@Log(title = "光整机插入量", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, SetupTmMesh setupTmMesh)
{
List<SetupTmMesh> list = setupTmMeshService.selectSetupTmMeshList(setupTmMesh);
ExcelUtil<SetupTmMesh> util = new ExcelUtil<SetupTmMesh>(SetupTmMesh.class);
util.exportExcel(response, list, "光整机插入量数据");
}
/**
* 获取光整机插入量详细信息
*/
@GetMapping()
public AjaxResult getInfo(@RequestParam String steelGrade,
@RequestParam Long yieldStren,
@RequestParam Long thick)
{
return success(setupTmMeshService.selectSetupTmMeshBySteelGrade(steelGrade, yieldStren, thick));
}
/**
* 新增光整机插入量
*/
@Log(title = "光整机插入量", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody SetupTmMesh setupTmMesh)
{
return toAjax(setupTmMeshService.insertSetupTmMesh(setupTmMesh));
}
/**
* 修改光整机插入量
*/
@Log(title = "光整机插入量", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody SetupTmMesh setupTmMesh)
{
return toAjax(setupTmMeshService.updateSetupTmMesh(setupTmMesh));
}
/**
* 删除光整机插入量
*/
@Log(title = "光整机插入量", businessType = BusinessType.DELETE)
@DeleteMapping("/tm/mesh")
public AjaxResult removeTmMesh(@RequestBody TmMeshDeleteForm form) {
return toAjax(setupTmMeshService.deleteSetupTmMeshBySteelGrades(
form.getSteelGrades(),
form.getYieldStrens(),
form.getThicks()
));
}
}

View File

@@ -0,0 +1,100 @@
package com.fizz.business.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.fizz.business.form.TmRollforceDeleteForm;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.fizz.business.domain.SetupTmRollforce;
import com.fizz.business.service.ISetupTmRollforceService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 光整机轧制力Controller
*
* @author Joshi
* @date 2025-09-26
*/
@RestController
@RequestMapping("/business/rollforce")
public class SetupTmRollforceController extends BaseController
{
@Autowired
private ISetupTmRollforceService setupTmRollforceService;
/**
* 查询光整机轧制力列表
*/
@GetMapping("/list")
public TableDataInfo list(SetupTmRollforce setupTmRollforce)
{
startPage();
List<SetupTmRollforce> list = setupTmRollforceService.selectSetupTmRollforceList(setupTmRollforce);
return getDataTable(list);
}
/**
* 导出光整机轧制力列表
*/
@Log(title = "光整机轧制力", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, SetupTmRollforce setupTmRollforce)
{
List<SetupTmRollforce> list = setupTmRollforceService.selectSetupTmRollforceList(setupTmRollforce);
ExcelUtil<SetupTmRollforce> util = new ExcelUtil<SetupTmRollforce>(SetupTmRollforce.class);
util.exportExcel(response, list, "光整机轧制力数据");
}
/**
* 获取光整机轧制力详细信息
*/
@GetMapping()
public AjaxResult getInfo(@RequestParam String steelGrade,
@RequestParam Long yieldStren,
@RequestParam Long thick,
@RequestParam Long elong)
{
return success(setupTmRollforceService.selectSetupTmRollforceBySteelGrade(steelGrade, yieldStren, thick, elong));
}
/**
* 新增光整机轧制力
*/
@Log(title = "光整机轧制力", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody SetupTmRollforce setupTmRollforce)
{
return toAjax(setupTmRollforceService.insertSetupTmRollforce(setupTmRollforce));
}
/**
* 修改光整机轧制力
*/
@Log(title = "光整机轧制力", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody SetupTmRollforce setupTmRollforce)
{
return toAjax(setupTmRollforceService.updateSetupTmRollforce(setupTmRollforce));
}
/**
* 删除光整机轧制力
*/
@Log(title = "光整机轧制力", businessType = BusinessType.DELETE)
@DeleteMapping("/tm/rollforce")
public AjaxResult removeTmRollforce(@RequestBody TmRollforceDeleteForm form) {
return toAjax(setupTmRollforceService.deleteSetupTmRollforceBySteelGrades(
form.getSteelGrades(),
form.getThicks(),
form.getYieldStrens(),
form.getElongs()
));
}
}

View File

@@ -58,7 +58,7 @@ public class SteelGradeInfoController {
queryWrapper.eq(StdAlloy::getGradeid, gradeid); // 只查询 gradeId 和 name 字段
// 查询 StdAlloy 数据
StdAlloy stdAlloyList = steelGradeInfoService.getById(queryWrapper);
StdAlloy stdAlloyList = steelGradeInfoService.getById(gradeid);
// 返回结果
return R.ok(stdAlloyList);

View File

@@ -0,0 +1,166 @@
package com.fizz.business.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import java.io.Serializable;
/**
* 生产计划的参数详情对象 pdi_setup
*
* @author Joshi
* @date 2025-09-25
*/
@Data
@TableName("pdi_setup")
public class PdiSetups implements Serializable
{
private static final long serialVersionUID = 1L;
/** 主键ID */
@TableId(value = "ID", type = IdType.AUTO)
private Long id;
/** 钢卷号 */
@Excel(name = "钢卷号")
@TableField("COILID")
private String coilid;
/** 计划号 */
@Excel(name = "计划号")
@TableField("PLANID")
private String planid;
/** 开卷机张力 */
@Excel(name = "开卷机张力")
@TableField("POR_TENSION")
private Long porTension;
/** 入口活套张力 */
@Excel(name = "入口活套张力")
@TableField("CEL_TENSION")
private Long celTension;
/** 清洗段张力 */
@Excel(name = "清洗段张力")
@TableField("CLEAN_TENSION")
private Long cleanTension;
/** 炉区张力 */
@Excel(name = "炉区张力")
@TableField("FUR_TENSION")
private Long furTension;
/** 冷却塔张力 */
@Excel(name = "冷却塔张力")
@TableField("TOWER_TENSION")
private Long towerTension;
/** 光整机不投张力 */
@Excel(name = "光整机不投张力")
@TableField("TM_NONE_TENSION")
private Long tmNoneTension;
/** 光整机入口张力 */
@Excel(name = "光整机入口张力")
@TableField("TM_ENTRY_TENSION")
private Long tmEntryTension;
/** 光整机出口张力 */
@Excel(name = "光整机出口张力")
@TableField("TM_EXIT_TENSION")
private Long tmExitTension;
/** 光整机轧制力 */
@Excel(name = "光整机轧制力")
@TableField("TM_ROLLFORCE")
private Long tmRollforce;
/** 光整机弯辊力 */
@Excel(name = "光整机弯辊力")
@TableField("TM_BENDFORCE")
private Long tmBendforce;
/** 光整机防皱辊插入量 */
@Excel(name = "光整机防皱辊插入量")
@TableField("TM_ACR_MESH")
private Long tmAcrMesh;
/** 光整机防颤辊插入量 */
@Excel(name = "光整机防颤辊插入量")
@TableField("TM_BR_MESH")
private Long tmBrMesh;
/** 拉矫机不投张力 */
@Excel(name = "拉矫机不投张力")
@TableField("TL_NONE_TENSION")
private Long tlNoneTension;
/** 拉矫机出口张力 */
@Excel(name = "拉矫机出口张力")
@TableField("TL_EXIT_TENSION")
private Long tlExitTension;
/** 拉矫机延伸率 */
@Excel(name = "拉矫机延伸率")
@TableField("TL_ELONG")
private Long tlElong;
/** 拉矫机矫直辊插入量1 */
@Excel(name = "拉矫机矫直辊插入量1")
@TableField("TL_LVL_MESH1")
private Long tlLvlMesh1;
/** 拉矫机矫直辊插入量2 */
@Excel(name = "拉矫机矫直辊插入量2")
@TableField("TL_LVL_MESH2")
private Long tlLvlMesh2;
/** 拉矫机防横弓插入量 */
@Excel(name = "拉矫机防横弓插入量")
@TableField("TL_ACB_MESH")
private Long tlAcbMesh;
/** 后处理张力 */
@Excel(name = "后处理张力")
@TableField("COAT_TENSION")
private Long coatTension;
/** 出口活套张力 */
@Excel(name = "出口活套张力")
@TableField("CXL_TENSION")
private Long cxlTension;
/** 卷取机张力 */
@Excel(name = "卷取机张力")
@TableField("TR_TENSION")
private Long trTension;
/** 类型,或可用于记录更改次数 */
@Excel(name = "类型,或可用于记录更改次数")
@TableField("TYPE")
private Long type;
/** 预热段出口板温 */
@Excel(name = "预热段出口板温")
@TableField("PREHEATING_SECTION")
private Float preheatingSection;
/** 加热段出口板温 */
@Excel(name = "加热段出口板温")
@TableField("HEATING_SECTION")
private Float heatingSection;
/** 冷却段出口板温 */
@Excel(name = "冷却段出口板温")
@TableField("COOLING_SECTION")
private Float coolingSection;
}

View File

@@ -0,0 +1,172 @@
package com.fizz.business.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 炉火段工艺参数对象 setup_fur_temp
*
* @author ruoyi
* @date 2025-09-29
*/
public class SetupFurTemp extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private String steelGrade;
/** 预热段出口板温 */
@Excel(name = "预热段出口板温")
private Long value1;
/** 加热段出口板温 */
@Excel(name = "加热段出口板温")
private Long value2;
/** 冷却段出口板温 */
@Excel(name = "冷却段出口板温")
private Long value3;
/** $column.columnComment */
private Long value4;
/** $column.columnComment */
private Long value5;
/** $column.columnComment */
private Long value6;
/** $column.columnComment */
private Long value7;
/** $column.columnComment */
private Long value8;
/** $column.columnComment */
private Long value9;
/** $column.columnComment */
private Long value10;
public void setSteelGrade(String steelGrade)
{
this.steelGrade = steelGrade;
}
public String getSteelGrade()
{
return steelGrade;
}
public void setValue1(Long value1)
{
this.value1 = value1;
}
public Long getValue1()
{
return value1;
}
public void setValue2(Long value2)
{
this.value2 = value2;
}
public Long getValue2()
{
return value2;
}
public void setValue3(Long value3)
{
this.value3 = value3;
}
public Long getValue3()
{
return value3;
}
public void setValue4(Long value4)
{
this.value4 = value4;
}
public Long getValue4()
{
return value4;
}
public void setValue5(Long value5)
{
this.value5 = value5;
}
public Long getValue5()
{
return value5;
}
public void setValue6(Long value6)
{
this.value6 = value6;
}
public Long getValue6()
{
return value6;
}
public void setValue7(Long value7)
{
this.value7 = value7;
}
public Long getValue7()
{
return value7;
}
public void setValue8(Long value8)
{
this.value8 = value8;
}
public Long getValue8()
{
return value8;
}
public void setValue9(Long value9)
{
this.value9 = value9;
}
public Long getValue9()
{
return value9;
}
public void setValue10(Long value10)
{
this.value10 = value10;
}
public Long getValue10()
{
return value10;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("steelGrade", getSteelGrade())
.append("value1", getValue1())
.append("value2", getValue2())
.append("value3", getValue3())
.append("value4", getValue4())
.append("value5", getValue5())
.append("value6", getValue6())
.append("value7", getValue7())
.append("value8", getValue8())
.append("value9", getValue9())
.append("value10", getValue10())
.append("updateTime", getUpdateTime())
.append("createTime", getCreateTime())
.toString();
}
}

View File

@@ -0,0 +1,262 @@
package com.fizz.business.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 全线张力对象 setup_tension
*
* @author ruoyi
* @date 2025-09-26
*/
public class SetupTension extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Long thick;
/** 强度 */
private Long yieldStren;
/** 开卷机张力 */
@Excel(name = "开卷机张力")
private Long value1;
/** 入口活套 */
@Excel(name = "入口活套")
private Long value2;
/** 清洗段 */
@Excel(name = "清洗段")
private Long value3;
/** 炉区张力 */
@Excel(name = "炉区张力")
private Long value4;
/** 冷却塔 */
@Excel(name = "冷却塔")
private Long value5;
/** 光整机-不投 */
@Excel(name = "光整机-不投")
private Long value6;
/** 光整机入口 */
@Excel(name = "光整机入口")
private Long value7;
/** 光整机出口 */
@Excel(name = "光整机出口")
private Long value8;
/** 拉矫机-不投 */
@Excel(name = "拉矫机-不投")
private Long value9;
/** 拉矫机出口 */
@Excel(name = "拉矫机出口")
private Long value10;
/** 后处理 */
@Excel(name = "后处理")
private Long value11;
/** 出口活套 */
@Excel(name = "出口活套")
private Long value12;
/** 卷取机 */
@Excel(name = "卷取机")
private Long value13;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long value14;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long value15;
public void setThick(Long thick)
{
this.thick = thick;
}
public Long getThick()
{
return thick;
}
public void setYieldStren(Long yieldStren)
{
this.yieldStren = yieldStren;
}
public Long getYieldStren()
{
return yieldStren;
}
public void setValue1(Long value1)
{
this.value1 = value1;
}
public Long getValue1()
{
return value1;
}
public void setValue2(Long value2)
{
this.value2 = value2;
}
public Long getValue2()
{
return value2;
}
public void setValue3(Long value3)
{
this.value3 = value3;
}
public Long getValue3()
{
return value3;
}
public void setValue4(Long value4)
{
this.value4 = value4;
}
public Long getValue4()
{
return value4;
}
public void setValue5(Long value5)
{
this.value5 = value5;
}
public Long getValue5()
{
return value5;
}
public void setValue6(Long value6)
{
this.value6 = value6;
}
public Long getValue6()
{
return value6;
}
public void setValue7(Long value7)
{
this.value7 = value7;
}
public Long getValue7()
{
return value7;
}
public void setValue8(Long value8)
{
this.value8 = value8;
}
public Long getValue8()
{
return value8;
}
public void setValue9(Long value9)
{
this.value9 = value9;
}
public Long getValue9()
{
return value9;
}
public void setValue10(Long value10)
{
this.value10 = value10;
}
public Long getValue10()
{
return value10;
}
public void setValue11(Long value11)
{
this.value11 = value11;
}
public Long getValue11()
{
return value11;
}
public void setValue12(Long value12)
{
this.value12 = value12;
}
public Long getValue12()
{
return value12;
}
public void setValue13(Long value13)
{
this.value13 = value13;
}
public Long getValue13()
{
return value13;
}
public void setValue14(Long value14)
{
this.value14 = value14;
}
public Long getValue14()
{
return value14;
}
public void setValue15(Long value15)
{
this.value15 = value15;
}
public Long getValue15()
{
return value15;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("thick", getThick())
.append("yieldStren", getYieldStren())
.append("value1", getValue1())
.append("value2", getValue2())
.append("value3", getValue3())
.append("value4", getValue4())
.append("value5", getValue5())
.append("value6", getValue6())
.append("value7", getValue7())
.append("value8", getValue8())
.append("value9", getValue9())
.append("value10", getValue10())
.append("value11", getValue11())
.append("value12", getValue12())
.append("value13", getValue13())
.append("value14", getValue14())
.append("value15", getValue15())
.append("createTime", getCreateTime())
.append("updateTime", getUpdateTime())
.toString();
}
}

View File

@@ -0,0 +1,205 @@
package com.fizz.business.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 拉矫机参数对象 setup_tl
*
* @author ruoyi
* @date 2025-09-26
*/
public class SetupTl extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private String steelGrade;
/** $column.columnComment */
private Long yieldStren;
/** $column.columnComment */
private Long thick;
/** 延伸率 */
@Excel(name = "延伸率")
private Long value1;
/** 矫直辊插入量1 */
@Excel(name = "矫直辊插入量1")
private Long value2;
/** 矫直辊插入量2 */
@Excel(name = "矫直辊插入量2")
private Long value3;
/** 防横弓插入量 */
@Excel(name = "防横弓插入量")
private Long value4;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long value5;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long value6;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long value7;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long value8;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long value9;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long value10;
public void setSteelGrade(String steelGrade)
{
this.steelGrade = steelGrade;
}
public String getSteelGrade()
{
return steelGrade;
}
public void setYieldStren(Long yieldStren)
{
this.yieldStren = yieldStren;
}
public Long getYieldStren()
{
return yieldStren;
}
public void setThick(Long thick)
{
this.thick = thick;
}
public Long getThick()
{
return thick;
}
public void setValue1(Long value1)
{
this.value1 = value1;
}
public Long getValue1()
{
return value1;
}
public void setValue2(Long value2)
{
this.value2 = value2;
}
public Long getValue2()
{
return value2;
}
public void setValue3(Long value3)
{
this.value3 = value3;
}
public Long getValue3()
{
return value3;
}
public void setValue4(Long value4)
{
this.value4 = value4;
}
public Long getValue4()
{
return value4;
}
public void setValue5(Long value5)
{
this.value5 = value5;
}
public Long getValue5()
{
return value5;
}
public void setValue6(Long value6)
{
this.value6 = value6;
}
public Long getValue6()
{
return value6;
}
public void setValue7(Long value7)
{
this.value7 = value7;
}
public Long getValue7()
{
return value7;
}
public void setValue8(Long value8)
{
this.value8 = value8;
}
public Long getValue8()
{
return value8;
}
public void setValue9(Long value9)
{
this.value9 = value9;
}
public Long getValue9()
{
return value9;
}
public void setValue10(Long value10)
{
this.value10 = value10;
}
public Long getValue10()
{
return value10;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("steelGrade", getSteelGrade())
.append("yieldStren", getYieldStren())
.append("thick", getThick())
.append("value1", getValue1())
.append("value2", getValue2())
.append("value3", getValue3())
.append("value4", getValue4())
.append("value5", getValue5())
.append("value6", getValue6())
.append("value7", getValue7())
.append("value8", getValue8())
.append("value9", getValue9())
.append("value10", getValue10())
.append("updateTime", getUpdateTime())
.append("createTime", getCreateTime())
.toString();
}
}

View File

@@ -0,0 +1,108 @@
package com.fizz.business.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 光整机弯辊力对象 setup_tm_bendforce
*
* @author Joshi
* @date 2025-09-26
*/
public class SetupTmBendforce extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 宽度 */
private Long width;
/** 轧制力 */
private Long rollForce;
/** 弯辊力 */
@Excel(name = "弯辊力")
private Long value1;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long value2;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long value3;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long value4;
public void setWidth(Long width)
{
this.width = width;
}
public Long getWidth()
{
return width;
}
public void setRollForce(Long rollForce)
{
this.rollForce = rollForce;
}
public Long getRollForce()
{
return rollForce;
}
public void setValue1(Long value1)
{
this.value1 = value1;
}
public Long getValue1()
{
return value1;
}
public void setValue2(Long value2)
{
this.value2 = value2;
}
public Long getValue2()
{
return value2;
}
public void setValue3(Long value3)
{
this.value3 = value3;
}
public Long getValue3()
{
return value3;
}
public void setValue4(Long value4)
{
this.value4 = value4;
}
public Long getValue4()
{
return value4;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("width", getWidth())
.append("rollForce", getRollForce())
.append("value1", getValue1())
.append("value2", getValue2())
.append("value3", getValue3())
.append("value4", getValue4())
.append("updateTime", getUpdateTime())
.append("createTime", getCreateTime())
.toString();
}
}

View File

@@ -0,0 +1,205 @@
package com.fizz.business.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 光整机插入量对象 setup_tm_mesh
*
* @author Joshi
* @date 2025-09-26
*/
public class SetupTmMesh extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private String steelGrade;
/** $column.columnComment */
private Long yieldStren;
/** $column.columnComment */
private Long thick;
/** 防皱辊插入量 */
@Excel(name = "防皱辊插入量")
private Long value1;
/** 防颤辊插入量 */
@Excel(name = "防颤辊插入量")
private Long value2;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long value3;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long value4;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long value5;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long value6;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long value7;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long value8;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long value9;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long value10;
public void setSteelGrade(String steelGrade)
{
this.steelGrade = steelGrade;
}
public String getSteelGrade()
{
return steelGrade;
}
public void setYieldStren(Long yieldStren)
{
this.yieldStren = yieldStren;
}
public Long getYieldStren()
{
return yieldStren;
}
public void setThick(Long thick)
{
this.thick = thick;
}
public Long getThick()
{
return thick;
}
public void setValue1(Long value1)
{
this.value1 = value1;
}
public Long getValue1()
{
return value1;
}
public void setValue2(Long value2)
{
this.value2 = value2;
}
public Long getValue2()
{
return value2;
}
public void setValue3(Long value3)
{
this.value3 = value3;
}
public Long getValue3()
{
return value3;
}
public void setValue4(Long value4)
{
this.value4 = value4;
}
public Long getValue4()
{
return value4;
}
public void setValue5(Long value5)
{
this.value5 = value5;
}
public Long getValue5()
{
return value5;
}
public void setValue6(Long value6)
{
this.value6 = value6;
}
public Long getValue6()
{
return value6;
}
public void setValue7(Long value7)
{
this.value7 = value7;
}
public Long getValue7()
{
return value7;
}
public void setValue8(Long value8)
{
this.value8 = value8;
}
public Long getValue8()
{
return value8;
}
public void setValue9(Long value9)
{
this.value9 = value9;
}
public Long getValue9()
{
return value9;
}
public void setValue10(Long value10)
{
this.value10 = value10;
}
public Long getValue10()
{
return value10;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("steelGrade", getSteelGrade())
.append("yieldStren", getYieldStren())
.append("thick", getThick())
.append("value1", getValue1())
.append("value2", getValue2())
.append("value3", getValue3())
.append("value4", getValue4())
.append("value5", getValue5())
.append("value6", getValue6())
.append("value7", getValue7())
.append("value8", getValue8())
.append("value9", getValue9())
.append("value10", getValue10())
.append("updateTime", getUpdateTime())
.append("createTime", getCreateTime())
.toString();
}
}

View File

@@ -0,0 +1,218 @@
package com.fizz.business.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 光整机轧制力对象 setup_tm_rollforce
*
* @author Joshi
* @date 2025-09-26
*/
public class SetupTmRollforce extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private String steelGrade;
/** $column.columnComment */
private Long thick;
/** $column.columnComment */
private Long yieldStren;
/** 延伸率 */
private Long elong;
/** 轧制力 */
@Excel(name = "轧制力")
private Long value1;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long value2;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long value3;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long value4;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long value5;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long value6;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long value7;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long value8;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long value9;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long value10;
public void setSteelGrade(String steelGrade)
{
this.steelGrade = steelGrade;
}
public String getSteelGrade()
{
return steelGrade;
}
public void setThick(Long thick)
{
this.thick = thick;
}
public Long getThick()
{
return thick;
}
public void setYieldStren(Long yieldStren)
{
this.yieldStren = yieldStren;
}
public Long getYieldStren()
{
return yieldStren;
}
public void setElong(Long elong)
{
this.elong = elong;
}
public Long getElong()
{
return elong;
}
public void setValue1(Long value1)
{
this.value1 = value1;
}
public Long getValue1()
{
return value1;
}
public void setValue2(Long value2)
{
this.value2 = value2;
}
public Long getValue2()
{
return value2;
}
public void setValue3(Long value3)
{
this.value3 = value3;
}
public Long getValue3()
{
return value3;
}
public void setValue4(Long value4)
{
this.value4 = value4;
}
public Long getValue4()
{
return value4;
}
public void setValue5(Long value5)
{
this.value5 = value5;
}
public Long getValue5()
{
return value5;
}
public void setValue6(Long value6)
{
this.value6 = value6;
}
public Long getValue6()
{
return value6;
}
public void setValue7(Long value7)
{
this.value7 = value7;
}
public Long getValue7()
{
return value7;
}
public void setValue8(Long value8)
{
this.value8 = value8;
}
public Long getValue8()
{
return value8;
}
public void setValue9(Long value9)
{
this.value9 = value9;
}
public Long getValue9()
{
return value9;
}
public void setValue10(Long value10)
{
this.value10 = value10;
}
public Long getValue10()
{
return value10;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("steelGrade", getSteelGrade())
.append("thick", getThick())
.append("yieldStren", getYieldStren())
.append("elong", getElong())
.append("value1", getValue1())
.append("value2", getValue2())
.append("value3", getValue3())
.append("value4", getValue4())
.append("value5", getValue5())
.append("value6", getValue6())
.append("value7", getValue7())
.append("value8", getValue8())
.append("value9", getValue9())
.append("value10", getValue10())
.append("updateTime", getUpdateTime())
.append("createTime", getCreateTime())
.toString();
}
}

View File

@@ -1,36 +1,83 @@
package com.fizz.business.domain;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class StdAlloy {
private Integer gradeid; // GRADEID
private String name; // NAME
private Integer origin; // ORIGIN
private Float sigma0; // SIGMA0
private Float firstSigma0; // FIRST_SIGMA0
private Float initSigma; // INIT_SIGMA
private Float ro; // RO
private Integer classId; // CLASSID
private Float a; // A
private Float b; // B
private Float c; // C
private Float d; // D
private Float kc0; // KC0
private Float kc1; // KC1
private Float kc2; // KC2
private Float kc3; // KC3
private Float kc4; // KC4
private Float nu; // NU
private Float e; // E
private Float chal; // CHAL
private Float temp0; // TEMP0
private Float strength; // STRENGTH
private Integer weldCode; // WELD_CODE
private LocalDateTime insDate; // INSDATE
@TableId("GRADEID")
private Integer gradeid; // 对应数据库字段 GRADEID
@TableField("NAME")
private String name; // 对应数据库字段 NAME
@TableField("ORIGIN")
private Integer origin; // 对应数据库字段 ORIGIN
@TableField("SIGMA0")
private Float sigma0; // 对应数据库字段 SIGMA0
@TableField("FIRST_SIGMA0")
private Float firstSigma0; // 对应数据库字段 FIRST_SIGMA0
@TableField("INIT_SIGMA")
private Float initSigma; // 对应数据库字段 INIT_SIGMA
@TableField("RO")
private Float ro; // 对应数据库字段 RO
@TableField("CLASSID")
private Integer classId; // 对应数据库字段 CLASSID
@TableField("A")
private Float a; // 对应数据库字段 A
@TableField("B")
private Float b; // 对应数据库字段 B
@TableField("C")
private Float c; // 对应数据库字段 C
@TableField("D")
private Float d; // 对应数据库字段 D
@TableField("KC0")
private Float kc0; // 对应数据库字段 KC0
@TableField("KC1")
private Float kc1; // 对应数据库字段 KC1
@TableField("KC2")
private Float kc2; // 对应数据库字段 KC2
@TableField("KC3")
private Float kc3; // 对应数据库字段 KC3
@TableField("KC4")
private Float kc4; // 对应数据库字段 KC4
@TableField("NU")
private Float nu; // 对应数据库字段 NU
@TableField("E")
private Float e; // 对应数据库字段 E
@TableField("CHAL")
private Float chal; // 对应数据库字段 CHAL
@TableField("TEMP0")
private Float temp0; // 对应数据库字段 TEMP0
@TableField("STRENGTH")
private Float strength; // 对应数据库字段 STRENGTH
@TableField("WELD_CODE")
private Integer weldCode; // 对应数据库字段 WELD_CODE
@TableField("INSDATE")
private LocalDateTime insDate; // 对应数据库字段 INSDATE
}

View File

@@ -0,0 +1,12 @@
package com.fizz.business.form;
import lombok.Data;
/**
* 全线张力删除参数封装类
*/
@Data
public class TensionDeleteForm {
private Long[] thicks;
private Long[] yieldStrens;
}

View File

@@ -0,0 +1,13 @@
package com.fizz.business.form;
import lombok.Data;
/**
* 拉矫机参数删除参数封装类
*/
@Data
public class TlDeleteForm {
private String[] steelGrades;
private Long[] yieldStrens;
private Long[] thicks;
}

View File

@@ -0,0 +1,12 @@
package com.fizz.business.form;
import lombok.Data;
/**
* 光整机弯辊力删除参数封装类
*/
@Data
public class TmBendforceDeleteForm {
private Long[] widths;
private Long[] rollForces;
}

View File

@@ -0,0 +1,13 @@
package com.fizz.business.form;
import lombok.Data;
/**
* 光整机插入量删除参数封装类
*/
@Data
public class TmMeshDeleteForm {
private String[] steelGrades;
private Long[] yieldStrens;
private Long[] thicks;
}

View File

@@ -0,0 +1,14 @@
package com.fizz.business.form;
import lombok.Data;
/**
* 光整机轧制力删除参数封装类
*/
@Data
public class TmRollforceDeleteForm {
private String[] steelGrades;
private Long[] thicks;
private Long[] yieldStrens;
private Long[] elongs;
}

View File

@@ -0,0 +1,63 @@
package com.fizz.business.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.fizz.business.domain.PdiSetups;
/**
* 生产计划的参数详情Mapper接口
*
* @author Joshi
* @date 2025-09-25
*/
public interface PdiSetupMapper extends BaseMapper<PdiSetups>
{
/**
* 查询生产计划的参数详情
*
* @param id 生产计划的参数详情主键
* @return 生产计划的参数详情
*/
public PdiSetups selectPdiSetupById(Long id);
/**
* 查询生产计划的参数详情列表
*
* @param pdiSetup 生产计划的参数详情
* @return 生产计划的参数详情集合
*/
public List<PdiSetups> selectPdiSetupList(PdiSetups pdiSetup);
/**
* 新增生产计划的参数详情
*
* @param pdiSetup 生产计划的参数详情
* @return 结果
*/
public int insertPdiSetup(PdiSetups pdiSetup);
/**
* 修改生产计划的参数详情
*
* @param pdiSetup 生产计划的参数详情
* @return 结果
*/
public int updatePdiSetup(PdiSetups pdiSetup);
/**
* 删除生产计划的参数详情
*
* @param id 生产计划的参数详情主键
* @return 结果
*/
public int deletePdiSetupById(Long id);
/**
* 批量删除生产计划的参数详情
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deletePdiSetupByIds(Long[] ids);
}

View File

@@ -0,0 +1,61 @@
package com.fizz.business.mapper;
import java.util.List;
import com.fizz.business.domain.SetupFurTemp;
/**
* 炉火段工艺参数Mapper接口
*
* @author ruoyi
* @date 2025-09-29
*/
public interface SetupFurTempMapper
{
/**
* 查询炉火段工艺参数
*
* @param steelGrade 炉火段工艺参数主键
* @return 炉火段工艺参数
*/
public SetupFurTemp selectSetupFurTempBySteelGrade(String steelGrade);
/**
* 查询炉火段工艺参数列表
*
* @param setupFurTemp 炉火段工艺参数
* @return 炉火段工艺参数集合
*/
public List<SetupFurTemp> selectSetupFurTempList(SetupFurTemp setupFurTemp);
/**
* 新增炉火段工艺参数
*
* @param setupFurTemp 炉火段工艺参数
* @return 结果
*/
public int insertSetupFurTemp(SetupFurTemp setupFurTemp);
/**
* 修改炉火段工艺参数
*
* @param setupFurTemp 炉火段工艺参数
* @return 结果
*/
public int updateSetupFurTemp(SetupFurTemp setupFurTemp);
/**
* 删除炉火段工艺参数
*
* @param steelGrade 炉火段工艺参数主键
* @return 结果
*/
public int deleteSetupFurTempBySteelGrade(String steelGrade);
/**
* 批量删除炉火段工艺参数
*
* @param steelGrades 需要删除的数据主键集合
* @return 结果
*/
public int deleteSetupFurTempBySteelGrades(String[] steelGrades);
}

View File

@@ -0,0 +1,62 @@
package com.fizz.business.mapper;
import java.util.List;
import com.fizz.business.domain.SetupTension;
import org.apache.ibatis.annotations.Param;
/**
* 全线张力Mapper接口
*
* @author ruoyi
* @date 2025-09-26
*/
public interface SetupTensionMapper
{
/**
* 查询全线张力
*
* @param thick 全线张力主键
* @return 全线张力
*/
public SetupTension selectSetupTensionByThick(@Param("thick") Long thick,@Param("yieldStren") Long yieldStren);
/**
* 查询全线张力列表
*
* @param setupTension 全线张力
* @return 全线张力集合
*/
public List<SetupTension> selectSetupTensionList(SetupTension setupTension);
/**
* 新增全线张力
*
* @param setupTension 全线张力
* @return 结果
*/
public int insertSetupTension(SetupTension setupTension);
/**
* 修改全线张力
*
* @param setupTension 全线张力
* @return 结果
*/
public int updateSetupTension(SetupTension setupTension);
/**
* 删除全线张力
*
* @param thick 全线张力主键
* @return 结果
*/
public int deleteSetupTensionByThick(Long thick);
/**
* 批量删除全线张力
*
* @param thicks 需要删除的数据主键集合
* @return 结果
*/
public int deleteSetupTensionByThicks(@Param("thicks") Long[] thicks,@Param("yieldStrens") Long[] yieldStrens);
}

View File

@@ -0,0 +1,62 @@
package com.fizz.business.mapper;
import java.util.List;
import com.fizz.business.domain.SetupTl;
import org.apache.ibatis.annotations.Param;
/**
* 拉矫机参数Mapper接口
*
* @author ruoyi
* @date 2025-09-26
*/
public interface SetupTlMapper
{
/**
* 查询拉矫机参数
*
* @param steelGrade 拉矫机参数主键
* @return 拉矫机参数
*/
public SetupTl selectSetupTlBySteelGrade(@Param("steelGrade") String steelGrade,@Param("yieldStren") Long yieldStren,@Param("thick") Long thick);
/**
* 查询拉矫机参数列表
*
* @param setupTl 拉矫机参数
* @return 拉矫机参数集合
*/
public List<SetupTl> selectSetupTlList(SetupTl setupTl);
/**
* 新增拉矫机参数
*
* @param setupTl 拉矫机参数
* @return 结果
*/
public int insertSetupTl(SetupTl setupTl);
/**
* 修改拉矫机参数
*
* @param setupTl 拉矫机参数
* @return 结果
*/
public int updateSetupTl(SetupTl setupTl);
/**
* 删除拉矫机参数
*
* @param steelGrade 拉矫机参数主键
* @return 结果
*/
public int deleteSetupTlBySteelGrade(String steelGrade);
/**
* 批量删除拉矫机参数
*
* @param steelGrades 需要删除的数据主键集合
* @return 结果
*/
public int deleteSetupTlBySteelGrades(@Param("steelGrades") String[] steelGrades,@Param("yieldStrens") Long[] yieldStrens,@Param("thicks") Long[] thicks);
}

View File

@@ -0,0 +1,62 @@
package com.fizz.business.mapper;
import java.util.List;
import com.fizz.business.domain.SetupTmBendforce;
import org.apache.ibatis.annotations.Param;
/**
* 光整机弯辊力Mapper接口
*
* @author Joshi
* @date 2025-09-26
*/
public interface SetupTmBendforceMapper
{
/**
* 查询光整机弯辊力
*
* @param width 光整机弯辊力主键
* @return 光整机弯辊力
*/
public SetupTmBendforce selectSetupTmBendforceByWidth(@Param("width") Long width,@Param("rollForce") Long rollForce);
/**
* 查询光整机弯辊力列表
*
* @param setupTmBendforce 光整机弯辊力
* @return 光整机弯辊力集合
*/
public List<SetupTmBendforce> selectSetupTmBendforceList(SetupTmBendforce setupTmBendforce);
/**
* 新增光整机弯辊力
*
* @param setupTmBendforce 光整机弯辊力
* @return 结果
*/
public int insertSetupTmBendforce(SetupTmBendforce setupTmBendforce);
/**
* 修改光整机弯辊力
*
* @param setupTmBendforce 光整机弯辊力
* @return 结果
*/
public int updateSetupTmBendforce(SetupTmBendforce setupTmBendforce);
/**
* 删除光整机弯辊力
*
* @param width 光整机弯辊力主键
* @return 结果
*/
public int deleteSetupTmBendforceByWidth(Long width);
/**
* 批量删除光整机弯辊力
*
* @param widths 需要删除的数据主键集合
* @return 结果
*/
public int deleteSetupTmBendforceByWidths(@Param("widths") Long[] widths,@Param("rollForces") Long[] rollForces);
}

View File

@@ -0,0 +1,64 @@
package com.fizz.business.mapper;
import java.util.List;
import com.fizz.business.domain.SetupTmMesh;
import org.apache.ibatis.annotations.Param;
/**
* 光整机插入量Mapper接口
*
* @author Joshi
* @date 2025-09-26
*/
public interface SetupTmMeshMapper
{
/**
* 查询光整机插入量
*
* @param steelGrade 光整机插入量主键
* @return 光整机插入量
*/
public SetupTmMesh selectSetupTmMeshBySteelGrade(@Param("steelGrade") String steelGrade,@Param("yieldStren") Long yieldStren,@Param("thick") Long thick);
/**
* 查询光整机插入量列表
*
* @param setupTmMesh 光整机插入量
* @return 光整机插入量集合
*/
public List<SetupTmMesh> selectSetupTmMeshList(SetupTmMesh setupTmMesh);
/**
* 新增光整机插入量
*
* @param setupTmMesh 光整机插入量
* @return 结果
*/
public int insertSetupTmMesh(SetupTmMesh setupTmMesh);
/**
* 修改光整机插入量
*
* @param setupTmMesh 光整机插入量
* @return 结果
*/
public int updateSetupTmMesh(SetupTmMesh setupTmMesh);
/**
* 删除光整机插入量
*
* @param steelGrade 光整机插入量主键
* @return 结果
*/
public int deleteSetupTmMeshBySteelGrade(String steelGrade);
/**
* 批量删除光整机插入量
*
* @param steelGrades 需要删除的数据主键集合
* @return 结果
*/
public int deleteSetupTmMeshBySteelGrades(@Param("steelGrades") String[] steelGrades,
@Param("yieldStrens") Long[] yieldStrens,
@Param("thicks") Long[] thicks);
}

View File

@@ -0,0 +1,65 @@
package com.fizz.business.mapper;
import java.util.List;
import com.fizz.business.domain.SetupTmRollforce;
import org.apache.ibatis.annotations.Param;
/**
* 光整机轧制力Mapper接口
*
* @author Joshi
* @date 2025-09-26
*/
public interface SetupTmRollforceMapper
{
/**
* 查询光整机轧制力
*
* @param steelGrade 光整机轧制力主键
* @return 光整机轧制力
*/
public SetupTmRollforce selectSetupTmRollforceBySteelGrade(@Param("steelGrade") String steelGrade,@Param("yieldStren") Long yieldStren,@Param("thick") Long thick,@Param("elong") Long elong);
/**
* 查询光整机轧制力列表
*
* @param setupTmRollforce 光整机轧制力
* @return 光整机轧制力集合
*/
public List<SetupTmRollforce> selectSetupTmRollforceList(SetupTmRollforce setupTmRollforce);
/**
* 新增光整机轧制力
*
* @param setupTmRollforce 光整机轧制力
* @return 结果
*/
public int insertSetupTmRollforce(SetupTmRollforce setupTmRollforce);
/**
* 修改光整机轧制力
*
* @param setupTmRollforce 光整机轧制力
* @return 结果
*/
public int updateSetupTmRollforce(SetupTmRollforce setupTmRollforce);
/**
* 删除光整机轧制力
*
* @param steelGrade 光整机轧制力主键
* @return 结果
*/
public int deleteSetupTmRollforceBySteelGrade(String steelGrade);
/**
* 批量删除光整机轧制力
*
* @param steelGrades 需要删除的数据主键集合
* @return 结果
*/
public int deleteSetupTmRollforceBySteelGrades(@Param("steelGrades") String[] steelGrades,
@Param("thicks") Long[] thicks,
@Param("yieldStrens") Long[] yieldStrens,
@Param("elongs") Long[] elongs);
}

View File

@@ -0,0 +1,65 @@
package com.fizz.business.service;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fizz.business.domain.PdiSetups;
import com.fizz.business.domain.ProStoppage;
import com.fizz.business.domain.msg.PdiSetup;
/**
* 生产计划的参数详情Service接口
*
* @author Joshi
* @date 2025-09-25
*/
public interface IPdiSetupService extends IService<PdiSetups>
{
/**
* 查询生产计划的参数详情
*
* @param id 生产计划的参数详情主键
* @return 生产计划的参数详情
*/
public PdiSetups selectPdiSetupByid(Long id);
/**
* 查询生产计划的参数详情列表
*
* @param pdiSetup 生产计划的参数详情
* @return 生产计划的参数详情集合
*/
public List<PdiSetups> selectPdiSetupList(PdiSetups pdiSetup);
/**
* 新增生产计划的参数详情
*
* @param pdiSetup 生产计划的参数详情
* @return 结果
*/
public Boolean insertPdiSetup(PdiSetups pdiSetup);
/**
* 修改生产计划的参数详情
*
* @param pdiSetup 生产计划的参数详情
* @return 结果
*/
public Boolean updatePdiSetup(PdiSetups pdiSetup);
/**
* 批量删除生产计划的参数详情
*
* @param ids 需要删除的生产计划的参数详情主键集合
* @return 结果
*/
public Boolean deletePdiSetupByids(Long[] ids);
/**
* 删除生产计划的参数详情信息
*
* @param id 生产计划的参数详情主键
* @return 结果
*/
public Boolean deletePdiSetupByid(Long id);
}

View File

@@ -0,0 +1,61 @@
package com.fizz.business.service;
import java.util.List;
import com.fizz.business.domain.SetupFurTemp;
/**
* 炉火段工艺参数Service接口
*
* @author ruoyi
* @date 2025-09-29
*/
public interface ISetupFurTempService
{
/**
* 查询炉火段工艺参数
*
* @param steelGrade 炉火段工艺参数主键
* @return 炉火段工艺参数
*/
public SetupFurTemp selectSetupFurTempBySteelGrade(String steelGrade);
/**
* 查询炉火段工艺参数列表
*
* @param setupFurTemp 炉火段工艺参数
* @return 炉火段工艺参数集合
*/
public List<SetupFurTemp> selectSetupFurTempList(SetupFurTemp setupFurTemp);
/**
* 新增炉火段工艺参数
*
* @param setupFurTemp 炉火段工艺参数
* @return 结果
*/
public int insertSetupFurTemp(SetupFurTemp setupFurTemp);
/**
* 修改炉火段工艺参数
*
* @param setupFurTemp 炉火段工艺参数
* @return 结果
*/
public int updateSetupFurTemp(SetupFurTemp setupFurTemp);
/**
* 批量删除炉火段工艺参数
*
* @param steelGrades 需要删除的炉火段工艺参数主键集合
* @return 结果
*/
public int deleteSetupFurTempBySteelGrades(String[] steelGrades);
/**
* 删除炉火段工艺参数信息
*
* @param steelGrade 炉火段工艺参数主键
* @return 结果
*/
public int deleteSetupFurTempBySteelGrade(String steelGrade);
}

View File

@@ -0,0 +1,61 @@
package com.fizz.business.service;
import java.util.List;
import com.fizz.business.domain.SetupTension;
/**
* 全线张力Service接口
*
* @author ruoyi
* @date 2025-09-26
*/
public interface ISetupTensionService
{
/**
* 查询全线张力
*
* @param thick 全线张力主键
* @return 全线张力
*/
public SetupTension selectSetupTensionByThick(Long thick,Long yieldStren);
/**
* 查询全线张力列表
*
* @param setupTension 全线张力
* @return 全线张力集合
*/
public List<SetupTension> selectSetupTensionList(SetupTension setupTension);
/**
* 新增全线张力
*
* @param setupTension 全线张力
* @return 结果
*/
public int insertSetupTension(SetupTension setupTension);
/**
* 修改全线张力
*
* @param setupTension 全线张力
* @return 结果
*/
public int updateSetupTension(SetupTension setupTension);
/**
* 批量删除全线张力
*
* @param thicks 需要删除的全线张力主键集合
* @return 结果
*/
public int deleteSetupTensionByThicks(Long[] thicks,Long[] yieldStrens );
/**
* 删除全线张力信息
*
* @param thick 全线张力主键
* @return 结果
*/
public int deleteSetupTensionByThick(Long thick);
}

View File

@@ -0,0 +1,61 @@
package com.fizz.business.service;
import java.util.List;
import com.fizz.business.domain.SetupTl;
/**
* 拉矫机参数Service接口
*
* @author ruoyi
* @date 2025-09-26
*/
public interface ISetupTlService
{
/**
* 查询拉矫机参数
*
* @param steelGrade 拉矫机参数主键
* @return 拉矫机参数
*/
public SetupTl selectSetupTlBySteelGrade(String steelGrade,Long yieldStren,Long thick);
/**
* 查询拉矫机参数列表
*
* @param setupTl 拉矫机参数
* @return 拉矫机参数集合
*/
public List<SetupTl> selectSetupTlList(SetupTl setupTl);
/**
* 新增拉矫机参数
*
* @param setupTl 拉矫机参数
* @return 结果
*/
public int insertSetupTl(SetupTl setupTl);
/**
* 修改拉矫机参数
*
* @param setupTl 拉矫机参数
* @return 结果
*/
public int updateSetupTl(SetupTl setupTl);
/**
* 批量删除拉矫机参数
*
* @param steelGrades 需要删除的拉矫机参数主键集合
* @return 结果
*/
public int deleteSetupTlBySteelGrades(String[] steelGrades,Long[] yieldStrens,Long[] thicks);
/**
* 删除拉矫机参数信息
*
* @param steelGrade 拉矫机参数主键
* @return 结果
*/
public int deleteSetupTlBySteelGrade(String steelGrade);
}

View File

@@ -0,0 +1,61 @@
package com.fizz.business.service;
import java.util.List;
import com.fizz.business.domain.SetupTmBendforce;
/**
* 光整机弯辊力Service接口
*
* @author Joshi
* @date 2025-09-26
*/
public interface ISetupTmBendforceService
{
/**
* 查询光整机弯辊力
*
* @param width 光整机弯辊力主键
* @return 光整机弯辊力
*/
public SetupTmBendforce selectSetupTmBendforceByWidth(Long width,Long rollForce);
/**
* 查询光整机弯辊力列表
*
* @param setupTmBendforce 光整机弯辊力
* @return 光整机弯辊力集合
*/
public List<SetupTmBendforce> selectSetupTmBendforceList(SetupTmBendforce setupTmBendforce);
/**
* 新增光整机弯辊力
*
* @param setupTmBendforce 光整机弯辊力
* @return 结果
*/
public int insertSetupTmBendforce(SetupTmBendforce setupTmBendforce);
/**
* 修改光整机弯辊力
*
* @param setupTmBendforce 光整机弯辊力
* @return 结果
*/
public int updateSetupTmBendforce(SetupTmBendforce setupTmBendforce);
/**
* 批量删除光整机弯辊力
*
* @param widths 需要删除的光整机弯辊力主键集合
* @return 结果
*/
public int deleteSetupTmBendforceByWidths(Long[] widths,Long[] rollForces);
/**
* 删除光整机弯辊力信息
*
* @param width 光整机弯辊力主键
* @return 结果
*/
public int deleteSetupTmBendforceByWidth(Long width);
}

View File

@@ -0,0 +1,61 @@
package com.fizz.business.service;
import java.util.List;
import com.fizz.business.domain.SetupTmMesh;
/**
* 光整机插入量Service接口
*
* @author Joshi
* @date 2025-09-26
*/
public interface ISetupTmMeshService
{
/**
* 查询光整机插入量
*
* @param steelGrade 光整机插入量主键
* @return 光整机插入量
*/
public SetupTmMesh selectSetupTmMeshBySteelGrade(String steelGrade,Long yildStren,Long thick);
/**
* 查询光整机插入量列表
*
* @param setupTmMesh 光整机插入量
* @return 光整机插入量集合
*/
public List<SetupTmMesh> selectSetupTmMeshList(SetupTmMesh setupTmMesh);
/**
* 新增光整机插入量
*
* @param setupTmMesh 光整机插入量
* @return 结果
*/
public int insertSetupTmMesh(SetupTmMesh setupTmMesh);
/**
* 修改光整机插入量
*
* @param setupTmMesh 光整机插入量
* @return 结果
*/
public int updateSetupTmMesh(SetupTmMesh setupTmMesh);
/**
* 批量删除光整机插入量
*
* @param steelGrades 需要删除的光整机插入量主键集合
* @return 结果
*/
public int deleteSetupTmMeshBySteelGrades(String[] steelGrades,Long[] yildStrens,Long[] thicks);
/**
* 删除光整机插入量信息
*
* @param steelGrade 光整机插入量主键
* @return 结果
*/
public int deleteSetupTmMeshBySteelGrade(String steelGrade);
}

View File

@@ -0,0 +1,61 @@
package com.fizz.business.service;
import java.util.List;
import com.fizz.business.domain.SetupTmRollforce;
/**
* 光整机轧制力Service接口
*
* @author Joshi
* @date 2025-09-26
*/
public interface ISetupTmRollforceService
{
/**
* 查询光整机轧制力
*
* @param steelGrade 光整机轧制力主键
* @return 光整机轧制力
*/
public SetupTmRollforce selectSetupTmRollforceBySteelGrade(String steelGrade,Long yieldStren,Long thick,Long elong);
/**
* 查询光整机轧制力列表
*
* @param setupTmRollforce 光整机轧制力
* @return 光整机轧制力集合
*/
public List<SetupTmRollforce> selectSetupTmRollforceList(SetupTmRollforce setupTmRollforce);
/**
* 新增光整机轧制力
*
* @param setupTmRollforce 光整机轧制力
* @return 结果
*/
public int insertSetupTmRollforce(SetupTmRollforce setupTmRollforce);
/**
* 修改光整机轧制力
*
* @param setupTmRollforce 光整机轧制力
* @return 结果
*/
public int updateSetupTmRollforce(SetupTmRollforce setupTmRollforce);
/**
* 批量删除光整机轧制力
*
* @param steelGrades 需要删除的光整机轧制力主键集合
* @return 结果
*/
public int deleteSetupTmRollforceBySteelGrades(String[] steelGrades,Long[] yieldStrens,Long[] thicks,Long[] elongs);
/**
* 删除光整机轧制力信息
*
* @param steelGrade 光整机轧制力主键
* @return 结果
*/
public int deleteSetupTmRollforceBySteelGrade(String steelGrade);
}

View File

@@ -16,4 +16,5 @@ public interface ProStoppageService extends IService<ProStoppage> {
boolean deleteProStoppage(Long stopid);
List<Object> calc(ProStoppageForm form);
}

View File

@@ -18,6 +18,7 @@ import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
@@ -40,12 +41,15 @@ public class RedisCacheManager {
RedisTemplate<String, SegmentDTO> segmentRedisTemplate;
@Autowired
@Qualifier("redisTemplateOfMatmap")
RedisTemplate<String, MatmapDTO> matmapRedisTemplate;
@Autowired
@Qualifier("redisTemplateOfHead")
RedisTemplate<String, CoilHeadDTO> headRedisTemplate;
@Autowired
@Qualifier("redisTemplateOfCoilPos")
RedisTemplate<String, CoilPositionDTO> coilPosRedisTemplate;
@Autowired
@@ -144,7 +148,39 @@ public class RedisCacheManager {
}
public List<MatmapDTO> getMatmapList() {
return matmapRedisTemplate.opsForList().range(COIL_MATMAP_LIST_KEY, 0, -1);
List<MatmapDTO> rawList = matmapRedisTemplate.opsForList().range(COIL_MATMAP_LIST_KEY, 0, -1);
if (rawList == null) {
return null;
}
List<MatmapDTO> result = new ArrayList<>();
for (Object item : rawList) {
if (item == null) {
result.add(null);
continue;
}
// 如果是LinkedHashMap转换为MatmapDTO
if (item instanceof java.util.LinkedHashMap) {
try {
MatmapDTO dto = BeanUtil.toBean((java.util.LinkedHashMap<?, ?>) item, MatmapDTO.class);
result.add(dto);
} catch (Exception e) {
log.error("Failed to convert LinkedHashMap to MatmapDTO: {}", e.getMessage());
result.add(null);
}
}
// 如果已经是MatmapDTO直接添加
else if (item instanceof MatmapDTO) {
result.add((MatmapDTO) item);
}
else {
log.warn("Unexpected type in Redis list: {}", item.getClass().getName());
result.add(null);
}
}
return result;
}
public void setMatmap(int index, MatmapDTO matmap) {
@@ -152,7 +188,28 @@ public class RedisCacheManager {
}
public MatmapDTO getMatmap(int index) {
return matmapRedisTemplate.opsForList().index(COIL_MATMAP_LIST_KEY, index);
Object result = matmapRedisTemplate.opsForList().index(COIL_MATMAP_LIST_KEY, index);
if (result == null) {
return null;
}
// 如果是LinkedHashMap转换为MatmapDTO
if (result instanceof java.util.LinkedHashMap) {
try {
return BeanUtil.toBean((java.util.LinkedHashMap<?, ?>) result, MatmapDTO.class);
} catch (Exception e) {
log.error("Failed to convert LinkedHashMap to MatmapDTO: {}", e.getMessage());
return null;
}
}
// 如果已经是MatmapDTO直接返回
if (result instanceof MatmapDTO) {
return (MatmapDTO) result;
}
log.warn("Unexpected type in Redis: {}", result.getClass().getName());
return null;
}
public List<CoilHeadDTO> getHeadList() {

View File

@@ -153,10 +153,15 @@ public class CrmPdiPlanServiceImpl extends ServiceImpl<CrmPdiPlanMapper, CrmPdiP
public void changeStatus(ChangePlanStatusForm build) {
CrmPdiPlan pdiPlan = baseMapper.selectById(build.getId());
if (pdiPlan == null) {
log.error("未找到ID为{}的计划记录", build.getId());
return;
}
pdiPlan.setStatus(build.getOperation());
log.info("计划状态更新成功ID: {}, 新状态: {}", build.getId(), build.getOperation());
}
}

View File

@@ -0,0 +1,97 @@
package com.fizz.business.service.impl;
import java.util.Arrays;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.fizz.business.mapper.PdiSetupMapper;
import com.fizz.business.domain.PdiSetups;
import com.fizz.business.service.IPdiSetupService;
/**
* 生产计划的参数详情Service业务层处理
*
* @author Joshi
* @date 2025-09-25
*/
@Service
public class PdiSetupServiceImpl extends ServiceImpl<PdiSetupMapper, PdiSetups> implements IPdiSetupService {
/**
* 查询生产计划的参数详情
*
* @param id 生产计划的参数详情主键
* @return 生产计划的参数详情
*/
@Override
public PdiSetups selectPdiSetupByid(Long id)
{
return baseMapper.selectById(id);
}
/**
* 查询生产计划的参数详情列表
*
* @param pdiSetup 生产计划的参数详情
* @return 生产计划的参数详情
*/
@Override
public List<PdiSetups> selectPdiSetupList(PdiSetups pdiSetup)
{
QueryWrapper<PdiSetups> queryWrapper = new QueryWrapper<>(pdiSetup);
queryWrapper.orderByDesc("create_time");
return baseMapper.selectList(queryWrapper);
}
/**
* 新增生产计划的参数详情
*
* @param pdiSetup 生产计划的参数详情
* @return 结果
*/
@Override
public Boolean insertPdiSetup(PdiSetups pdiSetup)
{
return this.save(pdiSetup);
}
/**
* 修改生产计划的参数详情
*
* @param pdiSetup 生产计划的参数详情
* @return 结果
*/
@Override
public Boolean updatePdiSetup(PdiSetups pdiSetup)
{
return this.updateById(pdiSetup);
}
/**
* 批量删除生产计划的参数详情
*
* @param ids 需要删除的生产计划的参数详情主键
* @return 结果
*/
@Override
public Boolean deletePdiSetupByids(Long[] ids)
{
return this.removeByIds(Arrays.asList(ids));
}
/**
* 删除生产计划的参数详情信息
*
* @param id 生产计划的参数详情主键
* @return 结果
*/
@Override
public Boolean deletePdiSetupByid(Long id)
{
return this.removeById(id);
}
}

View File

@@ -1,5 +1,6 @@
package com.fizz.business.service.impl;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fizz.business.domain.ProStoppage;
@@ -10,6 +11,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@@ -45,4 +47,40 @@ public class ProStoppageServiceImpl extends ServiceImpl<ProStoppageMapper, ProSt
public boolean deleteProStoppage(Long stopid) {
return this.deleteProStoppage(stopid);
}
@Override
public List<Object> calc(ProStoppageForm form) {
// 构建查询条件,筛选指定时间范围内的停机记录
QueryWrapper<ProStoppage> queryWrapper = new QueryWrapper<>();
queryWrapper.ge("start_date", form.getStartDate() + " 00:00:00")
.le("end_date", form.getEndDate() + " 23:59:59");
// 查询符合条件的停机记录列表
List<ProStoppage> stoppageList = baseMapper.selectList(queryWrapper);
// 计算停机次数
int stopCount = stoppageList.size();
// 计算停机总时长(单位:小时,保留两位小数)
BigDecimal totalStopDuration = BigDecimal.ZERO;
for (ProStoppage stoppage : stoppageList) {
totalStopDuration = totalStopDuration.add(stoppage.getDuration().divide(BigDecimal.valueOf(3600), 2, BigDecimal.ROUND_HALF_UP));
}
// 计算总时长(查询时间范围的时长,单位:小时)
long totalTimeMillis = DateUtil.parse(form.getEndDate() + " 23:59:59").getTime() - DateUtil.parse(form.getStartDate() + " 00:00:00").getTime();
BigDecimal totalDuration = BigDecimal.valueOf(totalTimeMillis).divide(BigDecimal.valueOf(3600 * 1000), 2, BigDecimal.ROUND_HALF_UP);
// 计算作业率(保留两位小数,百分比形式)
BigDecimal operationRate = BigDecimal.ONE.subtract(totalStopDuration.divide(totalDuration, 4, BigDecimal.ROUND_HALF_UP))
.multiply(BigDecimal.valueOf(100)).setScale(2, BigDecimal.ROUND_HALF_UP);
// 创建List来承载结果
List<Object> resultList = new ArrayList<>();
resultList.add(stopCount);
resultList.add(totalStopDuration);
resultList.add(operationRate);
return resultList;
}
}

View File

@@ -0,0 +1,96 @@
package com.fizz.business.service.impl;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.fizz.business.mapper.SetupFurTempMapper;
import com.fizz.business.domain.SetupFurTemp;
import com.fizz.business.service.ISetupFurTempService;
/**
* 炉火段工艺参数Service业务层处理
*
* @author ruoyi
* @date 2025-09-29
*/
@Service
public class SetupFurTempServiceImpl implements ISetupFurTempService
{
@Autowired
private SetupFurTempMapper setupFurTempMapper;
/**
* 查询炉火段工艺参数
*
* @param steelGrade 炉火段工艺参数主键
* @return 炉火段工艺参数
*/
@Override
public SetupFurTemp selectSetupFurTempBySteelGrade(String steelGrade)
{
return setupFurTempMapper.selectSetupFurTempBySteelGrade(steelGrade);
}
/**
* 查询炉火段工艺参数列表
*
* @param setupFurTemp 炉火段工艺参数
* @return 炉火段工艺参数
*/
@Override
public List<SetupFurTemp> selectSetupFurTempList(SetupFurTemp setupFurTemp)
{
return setupFurTempMapper.selectSetupFurTempList(setupFurTemp);
}
/**
* 新增炉火段工艺参数
*
* @param setupFurTemp 炉火段工艺参数
* @return 结果
*/
@Override
public int insertSetupFurTemp(SetupFurTemp setupFurTemp)
{
setupFurTemp.setCreateTime(DateUtils.getNowDate());
return setupFurTempMapper.insertSetupFurTemp(setupFurTemp);
}
/**
* 修改炉火段工艺参数
*
* @param setupFurTemp 炉火段工艺参数
* @return 结果
*/
@Override
public int updateSetupFurTemp(SetupFurTemp setupFurTemp)
{
setupFurTemp.setUpdateTime(DateUtils.getNowDate());
return setupFurTempMapper.updateSetupFurTemp(setupFurTemp);
}
/**
* 批量删除炉火段工艺参数
*
* @param steelGrades 需要删除的炉火段工艺参数主键
* @return 结果
*/
@Override
public int deleteSetupFurTempBySteelGrades(String[] steelGrades)
{
return setupFurTempMapper.deleteSetupFurTempBySteelGrades(steelGrades);
}
/**
* 删除炉火段工艺参数信息
*
* @param steelGrade 炉火段工艺参数主键
* @return 结果
*/
@Override
public int deleteSetupFurTempBySteelGrade(String steelGrade)
{
return setupFurTempMapper.deleteSetupFurTempBySteelGrade(steelGrade);
}
}

View File

@@ -0,0 +1,96 @@
package com.fizz.business.service.impl;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.fizz.business.mapper.SetupTensionMapper;
import com.fizz.business.domain.SetupTension;
import com.fizz.business.service.ISetupTensionService;
/**
* 全线张力Service业务层处理
*
* @author ruoyi
* @date 2025-09-26
*/
@Service
public class SetupTensionServiceImpl implements ISetupTensionService
{
@Autowired
private SetupTensionMapper setupTensionMapper;
/**
* 查询全线张力
*
* @param thick 全线张力主键
* @return 全线张力
*/
@Override
public SetupTension selectSetupTensionByThick(Long thick,Long yieldStren)
{
return setupTensionMapper.selectSetupTensionByThick(thick,yieldStren);
}
/**
* 查询全线张力列表
*
* @param setupTension 全线张力
* @return 全线张力
*/
@Override
public List<SetupTension> selectSetupTensionList(SetupTension setupTension)
{
return setupTensionMapper.selectSetupTensionList(setupTension);
}
/**
* 新增全线张力
*
* @param setupTension 全线张力
* @return 结果
*/
@Override
public int insertSetupTension(SetupTension setupTension)
{
setupTension.setCreateTime(DateUtils.getNowDate());
return setupTensionMapper.insertSetupTension(setupTension);
}
/**
* 修改全线张力
*
* @param setupTension 全线张力
* @return 结果
*/
@Override
public int updateSetupTension(SetupTension setupTension)
{
setupTension.setUpdateTime(DateUtils.getNowDate());
return setupTensionMapper.updateSetupTension(setupTension);
}
/**
* 批量删除全线张力
*
* @param thicks 需要删除的全线张力主键
* @return 结果
*/
@Override
public int deleteSetupTensionByThicks(Long[] thicks,Long[] yieldStrens)
{
return setupTensionMapper.deleteSetupTensionByThicks(thicks,yieldStrens);
}
/**
* 删除全线张力信息
*
* @param thick 全线张力主键
* @return 结果
*/
@Override
public int deleteSetupTensionByThick(Long thick)
{
return setupTensionMapper.deleteSetupTensionByThick(thick);
}
}

View File

@@ -0,0 +1,96 @@
package com.fizz.business.service.impl;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.fizz.business.mapper.SetupTlMapper;
import com.fizz.business.domain.SetupTl;
import com.fizz.business.service.ISetupTlService;
/**
* 拉矫机参数Service业务层处理
*
* @author ruoyi
* @date 2025-09-26
*/
@Service
public class SetupTlServiceImpl implements ISetupTlService
{
@Autowired
private SetupTlMapper setupTlMapper;
/**
* 查询拉矫机参数
*
* @param steelGrade 拉矫机参数主键
* @return 拉矫机参数
*/
@Override
public SetupTl selectSetupTlBySteelGrade(String steelGrade, Long yieldStren, Long thick)
{
return setupTlMapper.selectSetupTlBySteelGrade(steelGrade, yieldStren, thick);
}
/**
* 查询拉矫机参数列表
*
* @param setupTl 拉矫机参数
* @return 拉矫机参数
*/
@Override
public List<SetupTl> selectSetupTlList(SetupTl setupTl)
{
return setupTlMapper.selectSetupTlList(setupTl);
}
/**
* 新增拉矫机参数
*
* @param setupTl 拉矫机参数
* @return 结果
*/
@Override
public int insertSetupTl(SetupTl setupTl)
{
setupTl.setCreateTime(DateUtils.getNowDate());
return setupTlMapper.insertSetupTl(setupTl);
}
/**
* 修改拉矫机参数
*
* @param setupTl 拉矫机参数
* @return 结果
*/
@Override
public int updateSetupTl(SetupTl setupTl)
{
setupTl.setUpdateTime(DateUtils.getNowDate());
return setupTlMapper.updateSetupTl(setupTl);
}
/**
* 批量删除拉矫机参数
*
* @param steelGrades 需要删除的拉矫机参数主键
* @return 结果
*/
@Override
public int deleteSetupTlBySteelGrades(String[] steelGrades,Long[] yieldStres,Long[] thicks)
{
return setupTlMapper.deleteSetupTlBySteelGrades(steelGrades, yieldStres, thicks);
}
/**
* 删除拉矫机参数信息
*
* @param steelGrade 拉矫机参数主键
* @return 结果
*/
@Override
public int deleteSetupTlBySteelGrade(String steelGrade)
{
return setupTlMapper.deleteSetupTlBySteelGrade(steelGrade);
}
}

View File

@@ -0,0 +1,96 @@
package com.fizz.business.service.impl;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.fizz.business.mapper.SetupTmBendforceMapper;
import com.fizz.business.domain.SetupTmBendforce;
import com.fizz.business.service.ISetupTmBendforceService;
/**
* 光整机弯辊力Service业务层处理
*
* @author Joshi
* @date 2025-09-26
*/
@Service
public class SetupTmBendforceServiceImpl implements ISetupTmBendforceService
{
@Autowired
private SetupTmBendforceMapper setupTmBendforceMapper;
/**
* 查询光整机弯辊力
*
* @param width 光整机弯辊力主键
* @return 光整机弯辊力
*/
@Override
public SetupTmBendforce selectSetupTmBendforceByWidth(Long width,Long rollForce)
{
return setupTmBendforceMapper.selectSetupTmBendforceByWidth(width,rollForce);
}
/**
* 查询光整机弯辊力列表
*
* @param setupTmBendforce 光整机弯辊力
* @return 光整机弯辊力
*/
@Override
public List<SetupTmBendforce> selectSetupTmBendforceList(SetupTmBendforce setupTmBendforce)
{
return setupTmBendforceMapper.selectSetupTmBendforceList(setupTmBendforce);
}
/**
* 新增光整机弯辊力
*
* @param setupTmBendforce 光整机弯辊力
* @return 结果
*/
@Override
public int insertSetupTmBendforce(SetupTmBendforce setupTmBendforce)
{
setupTmBendforce.setCreateTime(DateUtils.getNowDate());
return setupTmBendforceMapper.insertSetupTmBendforce(setupTmBendforce);
}
/**
* 修改光整机弯辊力
*
* @param setupTmBendforce 光整机弯辊力
* @return 结果
*/
@Override
public int updateSetupTmBendforce(SetupTmBendforce setupTmBendforce)
{
setupTmBendforce.setUpdateTime(DateUtils.getNowDate());
return setupTmBendforceMapper.updateSetupTmBendforce(setupTmBendforce);
}
/**
* 批量删除光整机弯辊力
*
* @param widths 需要删除的光整机弯辊力主键
* @return 结果
*/
@Override
public int deleteSetupTmBendforceByWidths(Long[] widths,Long[] rollForces)
{
return setupTmBendforceMapper.deleteSetupTmBendforceByWidths(widths,rollForces);
}
/**
* 删除光整机弯辊力信息
*
* @param width 光整机弯辊力主键
* @return 结果
*/
@Override
public int deleteSetupTmBendforceByWidth(Long width)
{
return setupTmBendforceMapper.deleteSetupTmBendforceByWidth(width);
}
}

View File

@@ -0,0 +1,96 @@
package com.fizz.business.service.impl;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.fizz.business.mapper.SetupTmMeshMapper;
import com.fizz.business.domain.SetupTmMesh;
import com.fizz.business.service.ISetupTmMeshService;
/**
* 光整机插入量Service业务层处理
*
* @author Joshi
* @date 2025-09-26
*/
@Service
public class SetupTmMeshServiceImpl implements ISetupTmMeshService
{
@Autowired
private SetupTmMeshMapper setupTmMeshMapper;
/**
* 查询光整机插入量
*
* @param steelGrade 光整机插入量主键
* @return 光整机插入量
*/
@Override
public SetupTmMesh selectSetupTmMeshBySteelGrade(String steelGrade, Long yieldStren, Long thick)
{
return setupTmMeshMapper.selectSetupTmMeshBySteelGrade(steelGrade, yieldStren, thick);
}
/**
* 查询光整机插入量列表
*
* @param setupTmMesh 光整机插入量
* @return 光整机插入量
*/
@Override
public List<SetupTmMesh> selectSetupTmMeshList(SetupTmMesh setupTmMesh)
{
return setupTmMeshMapper.selectSetupTmMeshList(setupTmMesh);
}
/**
* 新增光整机插入量
*
* @param setupTmMesh 光整机插入量
* @return 结果
*/
@Override
public int insertSetupTmMesh(SetupTmMesh setupTmMesh)
{
setupTmMesh.setCreateTime(DateUtils.getNowDate());
return setupTmMeshMapper.insertSetupTmMesh(setupTmMesh);
}
/**
* 修改光整机插入量
*
* @param setupTmMesh 光整机插入量
* @return 结果
*/
@Override
public int updateSetupTmMesh(SetupTmMesh setupTmMesh)
{
setupTmMesh.setUpdateTime(DateUtils.getNowDate());
return setupTmMeshMapper.updateSetupTmMesh(setupTmMesh);
}
/**
* 批量删除光整机插入量
*
* @param steelGrades 需要删除的光整机插入量主键
* @return 结果
*/
@Override
public int deleteSetupTmMeshBySteelGrades(String[] steelGrades, Long[] yieldStrens, Long[] thicks)
{
return setupTmMeshMapper.deleteSetupTmMeshBySteelGrades(steelGrades, yieldStrens, thicks);
}
/**
* 删除光整机插入量信息
*
* @param steelGrade 光整机插入量主键
* @return 结果
*/
@Override
public int deleteSetupTmMeshBySteelGrade(String steelGrade)
{
return setupTmMeshMapper.deleteSetupTmMeshBySteelGrade(steelGrade);
}
}

View File

@@ -0,0 +1,96 @@
package com.fizz.business.service.impl;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.fizz.business.mapper.SetupTmRollforceMapper;
import com.fizz.business.domain.SetupTmRollforce;
import com.fizz.business.service.ISetupTmRollforceService;
/**
* 光整机轧制力Service业务层处理
*
* @author Joshi
* @date 2025-09-26
*/
@Service
public class SetupTmRollforceServiceImpl implements ISetupTmRollforceService
{
@Autowired
private SetupTmRollforceMapper setupTmRollforceMapper;
/**
* 查询光整机轧制力
*
* @param steelGrade 光整机轧制力主键
* @return 光整机轧制力
*/
@Override
public SetupTmRollforce selectSetupTmRollforceBySteelGrade(String steelGrade, Long yieldStren, Long thick, Long elong)
{
return setupTmRollforceMapper.selectSetupTmRollforceBySteelGrade(steelGrade, yieldStren, thick, elong);
}
/**
* 查询光整机轧制力列表
*
* @param setupTmRollforce 光整机轧制力
* @return 光整机轧制力
*/
@Override
public List<SetupTmRollforce> selectSetupTmRollforceList(SetupTmRollforce setupTmRollforce)
{
return setupTmRollforceMapper.selectSetupTmRollforceList(setupTmRollforce);
}
/**
* 新增光整机轧制力
*
* @param setupTmRollforce 光整机轧制力
* @return 结果
*/
@Override
public int insertSetupTmRollforce(SetupTmRollforce setupTmRollforce)
{
setupTmRollforce.setCreateTime(DateUtils.getNowDate());
return setupTmRollforceMapper.insertSetupTmRollforce(setupTmRollforce);
}
/**
* 修改光整机轧制力
*
* @param setupTmRollforce 光整机轧制力
* @return 结果
*/
@Override
public int updateSetupTmRollforce(SetupTmRollforce setupTmRollforce)
{
setupTmRollforce.setUpdateTime(DateUtils.getNowDate());
return setupTmRollforceMapper.updateSetupTmRollforce(setupTmRollforce);
}
/**
* 批量删除光整机轧制力
*
* @param steelGrades 需要删除的光整机轧制力主键
* @return 结果
*/
@Override
public int deleteSetupTmRollforceBySteelGrades(String[] steelGrades, Long[] thicks, Long[] yieldStrens, Long[] elongs)
{
return setupTmRollforceMapper.deleteSetupTmRollforceBySteelGrades(steelGrades, thicks, yieldStrens, elongs);
}
/**
* 删除光整机轧制力信息
*
* @param steelGrade 光整机轧制力主键
* @return 结果
*/
@Override
public int deleteSetupTmRollforceBySteelGrade(String steelGrade)
{
return setupTmRollforceMapper.deleteSetupTmRollforceBySteelGrade(steelGrade);
}
}

View File

@@ -27,6 +27,7 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@@ -65,18 +66,45 @@ public class TrackServiceImpl implements TrackService {
public ReturnInfoVO getReturnInfo(int posIdx) {
MatmapDTO matmap = MatmapUtil.getMatmap(posIdx);
if (MatmapUtil.notReady(matmap)) {
log.warn("Matmap not ready for position index: {}", posIdx);
return ReturnInfoVO.builder()
.returnWeight(0.0)
.returnType(null)
.entryMatId(null)
.planId(null)
.build();
}
CrmPdiPlanVO planVO = crmPdiPlanService.getByCoilIdAndOperId(matmap.getPlanId());
if (planVO == null) {
log.warn("Plan not found for planId: {}", matmap.getPlanId());
return ReturnInfoVO.builder()
.returnWeight(0.0)
.returnType(null)
.entryMatId(matmap.getMatId())
.planId(Long.valueOf(matmap.getPlanId()))
.build();
}
String returnType = null;
double returnWt = 0;
if (Objects.equals(planVO.getStatus(), PlanStatusEnum.PRODUCING.name())) {
double coiledLength = redisCacheManager.getStripLocation();
double calcCoilWeight = CalcUtil.calcCoilWeight(coiledLength, planVO.getEntryThick(), planVO.getEntryWidth());
returnWt = planVO.getEntryWeight().divide(BigDecimal.valueOf(calcCoilWeight)).setScale(2, RoundingMode.HALF_UP).doubleValue();
if (planVO.getEntryWeight() != null && calcCoilWeight > 0) {
returnWt = planVO.getEntryWeight().divide(BigDecimal.valueOf(calcCoilWeight)).setScale(2, RoundingMode.HALF_UP).doubleValue();
} else {
log.warn("Invalid entry weight or calc coil weight: entryWeight={}, calcCoilWeight={}", planVO.getEntryWeight(), calcCoilWeight);
returnWt = 0.0;
}
returnType = HALF_RETURN.name();
} else if (Objects.equals(planVO.getStatus(), PlanStatusEnum.ONLINE.name())) {
returnWt = planVO.getEntryWeight().doubleValue();
if (planVO.getEntryWeight() != null) {
returnWt = planVO.getEntryWeight().doubleValue();
} else {
log.warn("Entry weight is null for planId: {}", planVO.getId());
returnWt = 0.0;
}
returnType = ALL_RETURN.name();
} else {
log.error("invalid plan status[{}], planId={}", planVO.getStatus(), planVO.getId());
@@ -133,6 +161,13 @@ public class TrackServiceImpl implements TrackService {
Integer currPosIdx = currDevice.getIdx();
MatmapDTO target = MatmapUtil.getMatmap(targetPosIdx);
MatmapDTO curr = MatmapUtil.getMatmap(currPosIdx);
if (curr == null || target == null) {
log.warn("Matmap is null - curr: {}, target: {}, currPosIdx: {}, targetPosIdx: {}",
curr, target, currPosIdx, targetPosIdx);
return;
}
if (Objects.equals(curr.getMatId(), target.getMatId())) {
return;
}
@@ -208,9 +243,18 @@ public class TrackServiceImpl implements TrackService {
@Override
public CoilPositionDTO getCoilPosition() {
CoilPositionDTO position = redisCacheManager.getCoilPosition();
if (position == null) {
log.warn("CoilPosition not found in Redis, creating empty position");
position = new CoilPositionDTO();
}
List<MatmapDTO> matmapList = redisCacheManager.getMatmapList();
if (matmapList == null) {
log.warn("MatmapList not found in Redis, using empty list");
matmapList = new ArrayList<>();
}
position.setMatMapList(matmapList);
return position;
}

View File

@@ -0,0 +1,181 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.fizz.business.mapper.PdiSetupMapper">
<resultMap type="PdiSetup" id="PdiSetupResult">
<result property="ID" column="ID" />
<result property="COILID" column="COILID" />
<result property="PLANID" column="PLANID" />
<result property="porTension" column="POR_TENSION" />
<result property="celTension" column="CEL_TENSION" />
<result property="cleanTension" column="CLEAN_TENSION" />
<result property="furTension" column="FUR_TENSION" />
<result property="towerTension" column="TOWER_TENSION" />
<result property="tmNoneTension" column="TM_NONE_TENSION" />
<result property="tmEntryTension" column="TM_ENTRY_TENSION" />
<result property="tmExitTension" column="TM_EXIT_TENSION" />
<result property="tmRollforce" column="TM_ROLLFORCE" />
<result property="tmBendforce" column="TM_BENDFORCE" />
<result property="tmAcrMesh" column="TM_ACR_MESH" />
<result property="tmBrMesh" column="TM_BR_MESH" />
<result property="tlNoneTension" column="TL_NONE_TENSION" />
<result property="tlExitTension" column="TL_EXIT_TENSION" />
<result property="tlElong" column="TL_ELONG" />
<result property="tlLvlMesh1" column="TL_LVL_MESH1" />
<result property="tlLvlMesh2" column="TL_LVL_MESH2" />
<result property="tlAcbMesh" column="TL_ACB_MESH" />
<result property="coatTension" column="COAT_TENSION" />
<result property="cxlTension" column="CXL_TENSION" />
<result property="trTension" column="TR_TENSION" />
<result property="createTime" column="CREATE_TIME" />
<result property="updateTime" column="UPDATE_TIME" />
<result property="TYPE" column="TYPE" />
</resultMap>
<sql id="selectPdiSetupVo">
select ID, COILID, PLANID, POR_TENSION, CEL_TENSION, CLEAN_TENSION, FUR_TENSION, TOWER_TENSION, TM_NONE_TENSION, TM_ENTRY_TENSION, TM_EXIT_TENSION, TM_ROLLFORCE, TM_BENDFORCE, TM_ACR_MESH, TM_BR_MESH, TL_NONE_TENSION, TL_EXIT_TENSION, TL_ELONG, TL_LVL_MESH1, TL_LVL_MESH2, TL_ACB_MESH, COAT_TENSION, CXL_TENSION, TR_TENSION, CREATE_TIME, UPDATE_TIME, TYPE from pdi_setup
</sql>
<select id="selectPdiSetupList" parameterType="PdiSetup" resultMap="PdiSetupResult">
<include refid="selectPdiSetupVo"/>
<where>
<if test="COILID != null and COILID != ''"> and COILID = #{COILID}</if>
<if test="PLANID != null and PLANID != ''"> and PLANID = #{PLANID}</if>
<if test="porTension != null "> and POR_TENSION = #{porTension}</if>
<if test="celTension != null "> and CEL_TENSION = #{celTension}</if>
<if test="cleanTension != null "> and CLEAN_TENSION = #{cleanTension}</if>
<if test="furTension != null "> and FUR_TENSION = #{furTension}</if>
<if test="towerTension != null "> and TOWER_TENSION = #{towerTension}</if>
<if test="tmNoneTension != null "> and TM_NONE_TENSION = #{tmNoneTension}</if>
<if test="tmEntryTension != null "> and TM_ENTRY_TENSION = #{tmEntryTension}</if>
<if test="tmExitTension != null "> and TM_EXIT_TENSION = #{tmExitTension}</if>
<if test="tmRollforce != null "> and TM_ROLLFORCE = #{tmRollforce}</if>
<if test="tmBendforce != null "> and TM_BENDFORCE = #{tmBendforce}</if>
<if test="tmAcrMesh != null "> and TM_ACR_MESH = #{tmAcrMesh}</if>
<if test="tmBrMesh != null "> and TM_BR_MESH = #{tmBrMesh}</if>
<if test="tlNoneTension != null "> and TL_NONE_TENSION = #{tlNoneTension}</if>
<if test="tlExitTension != null "> and TL_EXIT_TENSION = #{tlExitTension}</if>
<if test="tlElong != null "> and TL_ELONG = #{tlElong}</if>
<if test="tlLvlMesh1 != null "> and TL_LVL_MESH1 = #{tlLvlMesh1}</if>
<if test="tlLvlMesh2 != null "> and TL_LVL_MESH2 = #{tlLvlMesh2}</if>
<if test="tlAcbMesh != null "> and TL_ACB_MESH = #{tlAcbMesh}</if>
<if test="coatTension != null "> and COAT_TENSION = #{coatTension}</if>
<if test="cxlTension != null "> and CXL_TENSION = #{cxlTension}</if>
<if test="trTension != null "> and TR_TENSION = #{trTension}</if>
<if test="createTime != null "> and CREATE_TIME = #{createTime}</if>
<if test="updateTime != null "> and UPDATE_TIME = #{updateTime}</if>
<if test="TYPE != null "> and TYPE = #{TYPE}</if>
</where>
</select>
<select id="selectPdiSetupById" parameterType="Long" resultMap="PdiSetupResult">
<include refid="selectPdiSetupVo"/>
where ID = #{id}
</select>
<insert id="insertPdiSetup" parameterType="PdiSetup" useGeneratedKeys="true" keyProperty="ID">
insert into pdi_setup
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="COILID != null">COILID,</if>
<if test="PLANID != null">PLANID,</if>
<if test="porTension != null">POR_TENSION,</if>
<if test="celTension != null">CEL_TENSION,</if>
<if test="cleanTension != null">CLEAN_TENSION,</if>
<if test="furTension != null">FUR_TENSION,</if>
<if test="towerTension != null">TOWER_TENSION,</if>
<if test="tmNoneTension != null">TM_NONE_TENSION,</if>
<if test="tmEntryTension != null">TM_ENTRY_TENSION,</if>
<if test="tmExitTension != null">TM_EXIT_TENSION,</if>
<if test="tmRollforce != null">TM_ROLLFORCE,</if>
<if test="tmBendforce != null">TM_BENDFORCE,</if>
<if test="tmAcrMesh != null">TM_ACR_MESH,</if>
<if test="tmBrMesh != null">TM_BR_MESH,</if>
<if test="tlNoneTension != null">TL_NONE_TENSION,</if>
<if test="tlExitTension != null">TL_EXIT_TENSION,</if>
<if test="tlElong != null">TL_ELONG,</if>
<if test="tlLvlMesh1 != null">TL_LVL_MESH1,</if>
<if test="tlLvlMesh2 != null">TL_LVL_MESH2,</if>
<if test="tlAcbMesh != null">TL_ACB_MESH,</if>
<if test="coatTension != null">COAT_TENSION,</if>
<if test="cxlTension != null">CXL_TENSION,</if>
<if test="trTension != null">TR_TENSION,</if>
<if test="createTime != null">CREATE_TIME,</if>
<if test="updateTime != null">UPDATE_TIME,</if>
<if test="TYPE != null">TYPE,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="COILID != null">#{COILID},</if>
<if test="PLANID != null">#{PLANID},</if>
<if test="porTension != null">#{porTension},</if>
<if test="celTension != null">#{celTension},</if>
<if test="cleanTension != null">#{cleanTension},</if>
<if test="furTension != null">#{furTension},</if>
<if test="towerTension != null">#{towerTension},</if>
<if test="tmNoneTension != null">#{tmNoneTension},</if>
<if test="tmEntryTension != null">#{tmEntryTension},</if>
<if test="tmExitTension != null">#{tmExitTension},</if>
<if test="tmRollforce != null">#{tmRollforce},</if>
<if test="tmBendforce != null">#{tmBendforce},</if>
<if test="tmAcrMesh != null">#{tmAcrMesh},</if>
<if test="tmBrMesh != null">#{tmBrMesh},</if>
<if test="tlNoneTension != null">#{tlNoneTension},</if>
<if test="tlExitTension != null">#{tlExitTension},</if>
<if test="tlElong != null">#{tlElong},</if>
<if test="tlLvlMesh1 != null">#{tlLvlMesh1},</if>
<if test="tlLvlMesh2 != null">#{tlLvlMesh2},</if>
<if test="tlAcbMesh != null">#{tlAcbMesh},</if>
<if test="coatTension != null">#{coatTension},</if>
<if test="cxlTension != null">#{cxlTension},</if>
<if test="trTension != null">#{trTension},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="TYPE != null">#{TYPE},</if>
</trim>
</insert>
<update id="updatePdiSetup" parameterType="PdiSetup">
update pdi_setup
<trim prefix="SET" suffixOverrides=",">
<if test="COILID != null">COILID = #{COILID},</if>
<if test="PLANID != null">PLANID = #{PLANID},</if>
<if test="porTension != null">POR_TENSION = #{porTension},</if>
<if test="celTension != null">CEL_TENSION = #{celTension},</if>
<if test="cleanTension != null">CLEAN_TENSION = #{cleanTension},</if>
<if test="furTension != null">FUR_TENSION = #{furTension},</if>
<if test="towerTension != null">TOWER_TENSION = #{towerTension},</if>
<if test="tmNoneTension != null">TM_NONE_TENSION = #{tmNoneTension},</if>
<if test="tmEntryTension != null">TM_ENTRY_TENSION = #{tmEntryTension},</if>
<if test="tmExitTension != null">TM_EXIT_TENSION = #{tmExitTension},</if>
<if test="tmRollforce != null">TM_ROLLFORCE = #{tmRollforce},</if>
<if test="tmBendforce != null">TM_BENDFORCE = #{tmBendforce},</if>
<if test="tmAcrMesh != null">TM_ACR_MESH = #{tmAcrMesh},</if>
<if test="tmBrMesh != null">TM_BR_MESH = #{tmBrMesh},</if>
<if test="tlNoneTension != null">TL_NONE_TENSION = #{tlNoneTension},</if>
<if test="tlExitTension != null">TL_EXIT_TENSION = #{tlExitTension},</if>
<if test="tlElong != null">TL_ELONG = #{tlElong},</if>
<if test="tlLvlMesh1 != null">TL_LVL_MESH1 = #{tlLvlMesh1},</if>
<if test="tlLvlMesh2 != null">TL_LVL_MESH2 = #{tlLvlMesh2},</if>
<if test="tlAcbMesh != null">TL_ACB_MESH = #{tlAcbMesh},</if>
<if test="coatTension != null">COAT_TENSION = #{coatTension},</if>
<if test="cxlTension != null">CXL_TENSION = #{cxlTension},</if>
<if test="trTension != null">TR_TENSION = #{trTension},</if>
<if test="createTime != null">CREATE_TIME = #{createTime},</if>
<if test="updateTime != null">UPDATE_TIME = #{updateTime},</if>
<if test="TYPE != null">TYPE = #{TYPE},</if>
</trim>
where ID = #{ID}
</update>
<delete id="deletePdiSetupById" parameterType="Long">
delete from pdi_setup where ID = #{id}
</delete>
<delete id="deletePdiSetupByIds" parameterType="String">
delete from pdi_setup where ID in
<foreach item="ID" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

View File

@@ -0,0 +1,104 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.fizz.business.mapper.SetupFurTempMapper">
<resultMap type="SetupFurTemp" id="SetupFurTempResult">
<result property="steelGrade" column="steel_grade" />
<result property="value1" column="value1" />
<result property="value2" column="value2" />
<result property="value3" column="value3" />
<result property="value4" column="value4" />
<result property="value5" column="value5" />
<result property="value6" column="value6" />
<result property="value7" column="value7" />
<result property="value8" column="value8" />
<result property="value9" column="value9" />
<result property="value10" column="value10" />
<result property="updateTime" column="update_time" />
<result property="createTime" column="create_time" />
</resultMap>
<sql id="selectSetupFurTempVo">
select steel_grade, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, update_time, create_time from setup_fur_temp
</sql>
<select id="selectSetupFurTempList" parameterType="SetupFurTemp" resultMap="SetupFurTempResult">
<include refid="selectSetupFurTempVo"/>
<where>
<if test="value1 != null "> and value1 = #{value1}</if>
<if test="value2 != null "> and value2 = #{value2}</if>
<if test="value3 != null "> and value3 = #{value3}</if>
</where>
</select>
<select id="selectSetupFurTempBySteelGrade" parameterType="String" resultMap="SetupFurTempResult">
<include refid="selectSetupFurTempVo"/>
where steel_grade = #{steelGrade}
</select>
<insert id="insertSetupFurTemp" parameterType="SetupFurTemp">
insert into setup_fur_temp
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="steelGrade != null">steel_grade,</if>
<if test="value1 != null">value1,</if>
<if test="value2 != null">value2,</if>
<if test="value3 != null">value3,</if>
<if test="value4 != null">value4,</if>
<if test="value5 != null">value5,</if>
<if test="value6 != null">value6,</if>
<if test="value7 != null">value7,</if>
<if test="value8 != null">value8,</if>
<if test="value9 != null">value9,</if>
<if test="value10 != null">value10,</if>
<if test="updateTime != null">update_time,</if>
<if test="createTime != null">create_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="steelGrade != null">#{steelGrade},</if>
<if test="value1 != null">#{value1},</if>
<if test="value2 != null">#{value2},</if>
<if test="value3 != null">#{value3},</if>
<if test="value4 != null">#{value4},</if>
<if test="value5 != null">#{value5},</if>
<if test="value6 != null">#{value6},</if>
<if test="value7 != null">#{value7},</if>
<if test="value8 != null">#{value8},</if>
<if test="value9 != null">#{value9},</if>
<if test="value10 != null">#{value10},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="createTime != null">#{createTime},</if>
</trim>
</insert>
<update id="updateSetupFurTemp" parameterType="SetupFurTemp">
update setup_fur_temp
<trim prefix="SET" suffixOverrides=",">
<if test="value1 != null">value1 = #{value1},</if>
<if test="value2 != null">value2 = #{value2},</if>
<if test="value3 != null">value3 = #{value3},</if>
<if test="value4 != null">value4 = #{value4},</if>
<if test="value5 != null">value5 = #{value5},</if>
<if test="value6 != null">value6 = #{value6},</if>
<if test="value7 != null">value7 = #{value7},</if>
<if test="value8 != null">value8 = #{value8},</if>
<if test="value9 != null">value9 = #{value9},</if>
<if test="value10 != null">value10 = #{value10},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="createTime != null">create_time = #{createTime},</if>
</trim>
where steel_grade = #{steelGrade}
</update>
<delete id="deleteSetupFurTempBySteelGrade" parameterType="String">
delete from setup_fur_temp where steel_grade = #{steelGrade}
</delete>
<delete id="deleteSetupFurTempBySteelGrades" parameterType="String">
delete from setup_fur_temp where steel_grade in
<foreach item="steelGrade" collection="array" open="(" separator="," close=")">
#{steelGrade}
</foreach>
</delete>
</mapper>

View File

@@ -0,0 +1,146 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.fizz.business.mapper.SetupTensionMapper">
<resultMap type="SetupTension" id="SetupTensionResult">
<result property="thick" column="thick" />
<result property="yieldStren" column="yield_stren" />
<result property="value1" column="value1" />
<result property="value2" column="value2" />
<result property="value3" column="value3" />
<result property="value4" column="value4" />
<result property="value5" column="value5" />
<result property="value6" column="value6" />
<result property="value7" column="value7" />
<result property="value8" column="value8" />
<result property="value9" column="value9" />
<result property="value10" column="value10" />
<result property="value11" column="value11" />
<result property="value12" column="value12" />
<result property="value13" column="value13" />
<result property="value14" column="value14" />
<result property="value15" column="value15" />
<result property="createTime" column="create_time" />
<result property="updateTime" column="update_time" />
</resultMap>
<sql id="selectSetupTensionVo">
select thick, yield_stren, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15, create_time, update_time from setup_tension
</sql>
<select id="selectSetupTensionList" parameterType="SetupTension" resultMap="SetupTensionResult">
<include refid="selectSetupTensionVo"/>
<where>
<if test="thick != null "> and thick = #{thick}</if>
<if test="yieldStren != null "> and yield_stren = #{yieldStren}</if>
<if test="value1 != null "> and value1 = #{value1}</if>
<if test="value2 != null "> and value2 = #{value2}</if>
<if test="value3 != null "> and value3 = #{value3}</if>
<if test="value4 != null "> and value4 = #{value4}</if>
<if test="value5 != null "> and value5 = #{value5}</if>
<if test="value6 != null "> and value6 = #{value6}</if>
<if test="value7 != null "> and value7 = #{value7}</if>
<if test="value8 != null "> and value8 = #{value8}</if>
<if test="value9 != null "> and value9 = #{value9}</if>
<if test="value10 != null "> and value10 = #{value10}</if>
<if test="value11 != null "> and value11 = #{value11}</if>
<if test="value12 != null "> and value12 = #{value12}</if>
<if test="value13 != null "> and value13 = #{value13}</if>
<if test="value14 != null "> and value14 = #{value14}</if>
<if test="value15 != null "> and value15 = #{value15}</if>
</where>
</select>
<select id="selectSetupTensionByThick" parameterType="Long" resultMap="SetupTensionResult">
<include refid="selectSetupTensionVo"/>
<where>
<if test="thick != null ">and thick = #{thick}</if>
<if test="yieldStren != null ">and yield_stren = #{yieldStren}</if>
</where>
</select>
<insert id="insertSetupTension" parameterType="SetupTension">
insert into setup_tension
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="thick != null">thick,</if>
<if test="yieldStren != null">yield_stren,</if>
<if test="value1 != null">value1,</if>
<if test="value2 != null">value2,</if>
<if test="value3 != null">value3,</if>
<if test="value4 != null">value4,</if>
<if test="value5 != null">value5,</if>
<if test="value6 != null">value6,</if>
<if test="value7 != null">value7,</if>
<if test="value8 != null">value8,</if>
<if test="value9 != null">value9,</if>
<if test="value10 != null">value10,</if>
<if test="value11 != null">value11,</if>
<if test="value12 != null">value12,</if>
<if test="value13 != null">value13,</if>
<if test="value14 != null">value14,</if>
<if test="value15 != null">value15,</if>
<if test="createTime != null">create_time,</if>
<if test="updateTime != null">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="thick != null">#{thick},</if>
<if test="yieldStren != null">#{yieldStren},</if>
<if test="value1 != null">#{value1},</if>
<if test="value2 != null">#{value2},</if>
<if test="value3 != null">#{value3},</if>
<if test="value4 != null">#{value4},</if>
<if test="value5 != null">#{value5},</if>
<if test="value6 != null">#{value6},</if>
<if test="value7 != null">#{value7},</if>
<if test="value8 != null">#{value8},</if>
<if test="value9 != null">#{value9},</if>
<if test="value10 != null">#{value10},</if>
<if test="value11 != null">#{value11},</if>
<if test="value12 != null">#{value12},</if>
<if test="value13 != null">#{value13},</if>
<if test="value14 != null">#{value14},</if>
<if test="value15 != null">#{value15},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateTime != null">#{updateTime},</if>
</trim>
</insert>
<update id="updateSetupTension" parameterType="SetupTension">
update setup_tension
<trim prefix="SET" suffixOverrides=",">
<if test="value1 != null">value1 = #{value1},</if>
<if test="value2 != null">value2 = #{value2},</if>
<if test="value3 != null">value3 = #{value3},</if>
<if test="value4 != null">value4 = #{value4},</if>
<if test="value5 != null">value5 = #{value5},</if>
<if test="value6 != null">value6 = #{value6},</if>
<if test="value7 != null">value7 = #{value7},</if>
<if test="value8 != null">value8 = #{value8},</if>
<if test="value9 != null">value9 = #{value9},</if>
<if test="value10 != null">value10 = #{value10},</if>
<if test="value11 != null">value11 = #{value11},</if>
<if test="value12 != null">value12 = #{value12},</if>
<if test="value13 != null">value13 = #{value13},</if>
<if test="value14 != null">value14 = #{value14},</if>
<if test="value15 != null">value15 = #{value15},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where thick = #{thick} and yield_stren = #{yieldStren}
</update>
<delete id="deleteSetupTensionByThick" parameterType="Long">
delete from setup_tension where thick = #{thick}
</delete>
<delete id="deleteSetupTensionByThicks" parameterType="String">
delete from setup_tension
where
<foreach item="item" index="index" collection="thicks" open="(" separator=") OR (" close=")">
thick = #{thicks[${index}]}
AND yield_stren = #{yieldStrens[${index}]}
</foreach>
</delete>
</mapper>

View File

@@ -0,0 +1,128 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.fizz.business.mapper.SetupTlMapper">
<resultMap type="SetupTl" id="SetupTlResult">
<result property="steelGrade" column="steel_grade" />
<result property="yieldStren" column="yield_stren" />
<result property="thick" column="thick" />
<result property="value1" column="value1" />
<result property="value2" column="value2" />
<result property="value3" column="value3" />
<result property="value4" column="value4" />
<result property="value5" column="value5" />
<result property="value6" column="value6" />
<result property="value7" column="value7" />
<result property="value8" column="value8" />
<result property="value9" column="value9" />
<result property="value10" column="value10" />
<result property="updateTime" column="update_time" />
<result property="createTime" column="create_time" />
</resultMap>
<sql id="selectSetupTlVo">
select steel_grade, yield_stren, thick, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, update_time, create_time from setup_tl
</sql>
<select id="selectSetupTlList" parameterType="SetupTl" resultMap="SetupTlResult">
<include refid="selectSetupTlVo"/>
<where>
<if test="steelGrade != null "> and steel_grade = #{steelGrade}</if>
<if test="yieldStren != null "> and yield_stren = #{yieldStren}</if>
<if test="thick != null "> and thick = #{thick}</if>
<if test="value1 != null "> and value1 = #{value1}</if>
<if test="value2 != null "> and value2 = #{value2}</if>
<if test="value3 != null "> and value3 = #{value3}</if>
<if test="value4 != null "> and value4 = #{value4}</if>
<if test="value5 != null "> and value5 = #{value5}</if>
<if test="value6 != null "> and value6 = #{value6}</if>
<if test="value7 != null "> and value7 = #{value7}</if>
<if test="value8 != null "> and value8 = #{value8}</if>
<if test="value9 != null "> and value9 = #{value9}</if>
<if test="value10 != null "> and value10 = #{value10}</if>
</where>
</select>
<select id="selectSetupTlBySteelGrade" parameterType="String" resultMap="SetupTlResult">
<include refid="selectSetupTlVo"/>
<where>
<if test="steelGrade != null ">and steel_grade = #{steelGrade}</if>
<if test="yieldStren != null ">and yield_stren = #{yieldStren}</if>
<if test="thick != null ">and thick = #{thick}</if>
</where>
</select>
<insert id="insertSetupTl" parameterType="SetupTl">
insert into setup_tl
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="steelGrade != null">steel_grade,</if>
<if test="yieldStren != null">yield_stren,</if>
<if test="thick != null">thick,</if>
<if test="value1 != null">value1,</if>
<if test="value2 != null">value2,</if>
<if test="value3 != null">value3,</if>
<if test="value4 != null">value4,</if>
<if test="value5 != null">value5,</if>
<if test="value6 != null">value6,</if>
<if test="value7 != null">value7,</if>
<if test="value8 != null">value8,</if>
<if test="value9 != null">value9,</if>
<if test="value10 != null">value10,</if>
<if test="updateTime != null">update_time,</if>
<if test="createTime != null">create_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="steelGrade != null">#{steelGrade},</if>
<if test="yieldStren != null">#{yieldStren},</if>
<if test="thick != null">#{thick},</if>
<if test="value1 != null">#{value1},</if>
<if test="value2 != null">#{value2},</if>
<if test="value3 != null">#{value3},</if>
<if test="value4 != null">#{value4},</if>
<if test="value5 != null">#{value5},</if>
<if test="value6 != null">#{value6},</if>
<if test="value7 != null">#{value7},</if>
<if test="value8 != null">#{value8},</if>
<if test="value9 != null">#{value9},</if>
<if test="value10 != null">#{value10},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="createTime != null">#{createTime},</if>
</trim>
</insert>
<update id="updateSetupTl" parameterType="SetupTl">
update setup_tl
<trim prefix="SET" suffixOverrides=",">
<if test="value1 != null">value1 = #{value1},</if>
<if test="value2 != null">value2 = #{value2},</if>
<if test="value3 != null">value3 = #{value3},</if>
<if test="value4 != null">value4 = #{value4},</if>
<if test="value5 != null">value5 = #{value5},</if>
<if test="value6 != null">value6 = #{value6},</if>
<if test="value7 != null">value7 = #{value7},</if>
<if test="value8 != null">value8 = #{value8},</if>
<if test="value9 != null">value9 = #{value9},</if>
<if test="value10 != null">value10 = #{value10},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="createTime != null">create_time = #{createTime},</if>
</trim>
where steel_grade = #{steelGrade} and yield_stren = #{yieldStren} and thick = #{thick}
</update>
<delete id="deleteSetupTlBySteelGrade" parameterType="String">
delete from setup_tl where steel_grade = #{steelGrade}
</delete>
<delete id="deleteSetupTlBySteelGrades" parameterType="String">
DELETE FROM setup_tl
WHERE
<foreach item="item" index="index" collection="steelGrades" open="(" separator=") OR (" close=")">
steel_grade = #{steelGrades[${index}]}
AND yield_stren = #{yieldStrens[${index}]}
AND thick = #{thicks[${index}]}
</foreach>
</delete>
</mapper>

View File

@@ -0,0 +1,90 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.fizz.business.mapper.SetupTmBendforceMapper">
<resultMap type="SetupTmBendforce" id="SetupTmBendforceResult">
<result property="width" column="width" />
<result property="rollForce" column="roll_force" />
<result property="value1" column="value1" />
<result property="value2" column="value2" />
<result property="value3" column="value3" />
<result property="value4" column="value4" />
<result property="updateTime" column="update_time" />
<result property="createTime" column="create_time" />
</resultMap>
<sql id="selectSetupTmBendforceVo">
select width, roll_force, value1, value2, value3, value4, update_time, create_time from setup_tm_bendforce
</sql>
<select id="selectSetupTmBendforceList" parameterType="SetupTmBendforce" resultMap="SetupTmBendforceResult">
<include refid="selectSetupTmBendforceVo"/>
<where>
<if test="value1 != null "> and value1 = #{value1}</if>
<if test="value2 != null "> and value2 = #{value2}</if>
<if test="value3 != null "> and value3 = #{value3}</if>
<if test="value4 != null "> and value4 = #{value4}</if>
</where>
</select>
<select id="selectSetupTmBendforceByWidth" parameterType="Long" resultMap="SetupTmBendforceResult">
<include refid="selectSetupTmBendforceVo"/>
<where>
<if test="width != null ">and width = #{width}</if>
<if test="rollForce != null ">and roll_force = #{rollForce}</if>
</where>
</select>
<insert id="insertSetupTmBendforce" parameterType="SetupTmBendforce">
insert into setup_tm_bendforce
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="width != null">width,</if>
<if test="rollForce != null">roll_force,</if>
<if test="value1 != null">value1,</if>
<if test="value2 != null">value2,</if>
<if test="value3 != null">value3,</if>
<if test="value4 != null">value4,</if>
<if test="updateTime != null">update_time,</if>
<if test="createTime != null">create_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="width != null">#{width},</if>
<if test="rollForce != null">#{rollForce},</if>
<if test="value1 != null">#{value1},</if>
<if test="value2 != null">#{value2},</if>
<if test="value3 != null">#{value3},</if>
<if test="value4 != null">#{value4},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="createTime != null">#{createTime},</if>
</trim>
</insert>
<update id="updateSetupTmBendforce" parameterType="SetupTmBendforce">
update setup_tm_bendforce
<trim prefix="SET" suffixOverrides=",">
<if test="value1 != null">value1 = #{value1},</if>
<if test="value2 != null">value2 = #{value2},</if>
<if test="value3 != null">value3 = #{value3},</if>
<if test="value4 != null">value4 = #{value4},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="createTime != null">create_time = #{createTime},</if>
</trim>
where width = #{width} and roll_force = #{rollForce}
</update>
<delete id="deleteSetupTmBendforceByWidth" parameterType="Long">
delete from setup_tm_bendforce where width = #{width}
</delete>
<delete id="deleteSetupTmBendforceByWidths" parameterType="String">
DELETE FROM setup_tm_bendforce
WHERE
<foreach item="item" index="index" collection="widths" open="(" separator=") OR (" close=")">
width = #{widths[${index}]}
AND roll_force = #{rollForces[${index}]}
</foreach>
</delete>
</mapper>

View File

@@ -0,0 +1,125 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.fizz.business.mapper.SetupTmMeshMapper">
<resultMap type="SetupTmMesh" id="SetupTmMeshResult">
<result property="steelGrade" column="steel_grade" />
<result property="yieldStren" column="yield_stren" />
<result property="thick" column="thick" />
<result property="value1" column="value1" />
<result property="value2" column="value2" />
<result property="value3" column="value3" />
<result property="value4" column="value4" />
<result property="value5" column="value5" />
<result property="value6" column="value6" />
<result property="value7" column="value7" />
<result property="value8" column="value8" />
<result property="value9" column="value9" />
<result property="value10" column="value10" />
<result property="updateTime" column="update_time" />
<result property="createTime" column="create_time" />
</resultMap>
<sql id="selectSetupTmMeshVo">
select steel_grade, yield_stren, thick, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, update_time, create_time from setup_tm_mesh
</sql>
<select id="selectSetupTmMeshList" parameterType="SetupTmMesh" resultMap="SetupTmMeshResult">
<include refid="selectSetupTmMeshVo"/>
<where>
<if test="value1 != null "> and value1 = #{value1}</if>
<if test="value2 != null "> and value2 = #{value2}</if>
<if test="value3 != null "> and value3 = #{value3}</if>
<if test="value4 != null "> and value4 = #{value4}</if>
<if test="value5 != null "> and value5 = #{value5}</if>
<if test="value6 != null "> and value6 = #{value6}</if>
<if test="value7 != null "> and value7 = #{value7}</if>
<if test="value8 != null "> and value8 = #{value8}</if>
<if test="value9 != null "> and value9 = #{value9}</if>
<if test="value10 != null "> and value10 = #{value10}</if>
</where>
</select>
<select id="selectSetupTmMeshBySteelGrade" parameterType="String" resultMap="SetupTmMeshResult">
<include refid="selectSetupTmMeshVo"/>
<where>
<if test="steelGrade != null ">and steel_grade = #{steelGrade}</if>
<if test="yieldStren != null ">and yield_stren = #{yieldStren}</if>
<if test="thick != null ">and thick = #{thick}</if>
</where>
</select>
<insert id="insertSetupTmMesh" parameterType="SetupTmMesh">
insert into setup_tm_mesh
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="steelGrade != null">steel_grade,</if>
<if test="yieldStren != null">yield_stren,</if>
<if test="thick != null">thick,</if>
<if test="value1 != null">value1,</if>
<if test="value2 != null">value2,</if>
<if test="value3 != null">value3,</if>
<if test="value4 != null">value4,</if>
<if test="value5 != null">value5,</if>
<if test="value6 != null">value6,</if>
<if test="value7 != null">value7,</if>
<if test="value8 != null">value8,</if>
<if test="value9 != null">value9,</if>
<if test="value10 != null">value10,</if>
<if test="updateTime != null">update_time,</if>
<if test="createTime != null">create_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="steelGrade != null">#{steelGrade},</if>
<if test="yieldStren != null">#{yieldStren},</if>
<if test="thick != null">#{thick},</if>
<if test="value1 != null">#{value1},</if>
<if test="value2 != null">#{value2},</if>
<if test="value3 != null">#{value3},</if>
<if test="value4 != null">#{value4},</if>
<if test="value5 != null">#{value5},</if>
<if test="value6 != null">#{value6},</if>
<if test="value7 != null">#{value7},</if>
<if test="value8 != null">#{value8},</if>
<if test="value9 != null">#{value9},</if>
<if test="value10 != null">#{value10},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="createTime != null">#{createTime},</if>
</trim>
</insert>
<update id="updateSetupTmMesh" parameterType="SetupTmMesh">
update setup_tm_mesh
<trim prefix="SET" suffixOverrides=",">
<if test="value1 != null">value1 = #{value1},</if>
<if test="value2 != null">value2 = #{value2},</if>
<if test="value3 != null">value3 = #{value3},</if>
<if test="value4 != null">value4 = #{value4},</if>
<if test="value5 != null">value5 = #{value5},</if>
<if test="value6 != null">value6 = #{value6},</if>
<if test="value7 != null">value7 = #{value7},</if>
<if test="value8 != null">value8 = #{value8},</if>
<if test="value9 != null">value9 = #{value9},</if>
<if test="value10 != null">value10 = #{value10},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="createTime != null">create_time = #{createTime},</if>
</trim>
where steel_grade = #{steelGrade} and yield_stren = #{yieldStren} and thick = #{thick}
</update>
<delete id="deleteSetupTmMeshBySteelGrade" parameterType="String">
delete from setup_tm_mesh where steel_grade = #{steelGrade}
</delete>
<delete id="deleteSetupTmMeshBySteelGrades" parameterType="String">
DELETE FROM setup_tm_mesh
WHERE
<foreach item="item" index="index" collection="steelGrades" open="(" separator=") OR (" close=")">
thick = #{thicks[${index}]}
AND steel_grade = #{steelGrades[${index}]}
AND yield_stren = #{yieldStrens[${index}]}
</foreach>
</delete>
</mapper>

View File

@@ -0,0 +1,129 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.fizz.business.mapper.SetupTmRollforceMapper">
<resultMap type="SetupTmRollforce" id="SetupTmRollforceResult">
<result property="steelGrade" column="steel_grade" />
<result property="thick" column="thick" />
<result property="yieldStren" column="yield_stren" />
<result property="elong" column="elong" />
<result property="value1" column="value1" />
<result property="value2" column="value2" />
<result property="value3" column="value3" />
<result property="value4" column="value4" />
<result property="value5" column="value5" />
<result property="value6" column="value6" />
<result property="value7" column="value7" />
<result property="value8" column="value8" />
<result property="value9" column="value9" />
<result property="value10" column="value10" />
<result property="updateTime" column="update_time" />
<result property="createTime" column="create_time" />
</resultMap>
<sql id="selectSetupTmRollforceVo">
select steel_grade, thick, yield_stren, elong, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, update_time, create_time from setup_tm_rollforce
</sql>
<select id="selectSetupTmRollforceList" parameterType="SetupTmRollforce" resultMap="SetupTmRollforceResult">
<include refid="selectSetupTmRollforceVo"/>
<where>
<if test="value1 != null "> and value1 = #{value1}</if>
<if test="value2 != null "> and value2 = #{value2}</if>
<if test="value3 != null "> and value3 = #{value3}</if>
<if test="value4 != null "> and value4 = #{value4}</if>
<if test="value5 != null "> and value5 = #{value5}</if>
<if test="value6 != null "> and value6 = #{value6}</if>
<if test="value7 != null "> and value7 = #{value7}</if>
<if test="value8 != null "> and value8 = #{value8}</if>
<if test="value9 != null "> and value9 = #{value9}</if>
<if test="value10 != null "> and value10 = #{value10}</if>
</where>
</select>
<select id="selectSetupTmRollforceBySteelGrade" parameterType="String" resultMap="SetupTmRollforceResult">
<include refid="selectSetupTmRollforceVo"/>
<where>
<if test="steelGrade != null">and steel_grade = #{steelGrade}</if>
<if test="thick != null">and thick = #{thick}</if>
<if test="yieldStren != null">and yield_stren = #{yieldStren}</if>
</where>
</select>
<insert id="insertSetupTmRollforce" parameterType="SetupTmRollforce">
insert into setup_tm_rollforce
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="steelGrade != null">steel_grade,</if>
<if test="thick != null">thick,</if>
<if test="yieldStren != null">yield_stren,</if>
<if test="elong != null">elong,</if>
<if test="value1 != null">value1,</if>
<if test="value2 != null">value2,</if>
<if test="value3 != null">value3,</if>
<if test="value4 != null">value4,</if>
<if test="value5 != null">value5,</if>
<if test="value6 != null">value6,</if>
<if test="value7 != null">value7,</if>
<if test="value8 != null">value8,</if>
<if test="value9 != null">value9,</if>
<if test="value10 != null">value10,</if>
<if test="updateTime != null">update_time,</if>
<if test="createTime != null">create_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="steelGrade != null">#{steelGrade},</if>
<if test="thick != null">#{thick},</if>
<if test="yieldStren != null">#{yieldStren},</if>
<if test="elong != null">#{elong},</if>
<if test="value1 != null">#{value1},</if>
<if test="value2 != null">#{value2},</if>
<if test="value3 != null">#{value3},</if>
<if test="value4 != null">#{value4},</if>
<if test="value5 != null">#{value5},</if>
<if test="value6 != null">#{value6},</if>
<if test="value7 != null">#{value7},</if>
<if test="value8 != null">#{value8},</if>
<if test="value9 != null">#{value9},</if>
<if test="value10 != null">#{value10},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="createTime != null">#{createTime},</if>
</trim>
</insert>
<update id="updateSetupTmRollforce" parameterType="SetupTmRollforce">
update setup_tm_rollforce
<trim prefix="SET" suffixOverrides=",">
<if test="value1 != null">value1 = #{value1},</if>
<if test="value2 != null">value2 = #{value2},</if>
<if test="value3 != null">value3 = #{value3},</if>
<if test="value4 != null">value4 = #{value4},</if>
<if test="value5 != null">value5 = #{value5},</if>
<if test="value6 != null">value6 = #{value6},</if>
<if test="value7 != null">value7 = #{value7},</if>
<if test="value8 != null">value8 = #{value8},</if>
<if test="value9 != null">value9 = #{value9},</if>
<if test="value10 != null">value10 = #{value10},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="createTime != null">create_time = #{createTime},</if>
</trim>
where steel_grade = #{steelGrade} and thick = #{thick} and yield_stren = #{yieldStren} and elong = #{elong}
</update>
<delete id="deleteSetupTmRollforceBySteelGrade" parameterType="String">
delete from setup_tm_rollforce where steel_grade = #{steelGrade}
</delete>
<delete id="deleteSetupTmRollforceBySteelGrades" parameterType="String">
DELETE FROM setup_tm_rollforce
WHERE
<foreach item="item" index="index" collection="steelGrades" open="(" separator=") OR (" close=")">
thick = #{thicks[${index}]}
AND steel_grade = #{steelGrades[${index}]}
AND yield_stren = #{yieldStrens[${index}]}
AND elong = #{elongs[${index}]}
</foreach>
</delete>
</mapper>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.fizz.business.mapper.CrmPdiPlanMapper">
</mapper>

View File

@@ -0,0 +1,141 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.fizz.business.mapper.CrmPdoExcoilMapper">
<select id="getReportSummary" resultType="com.fizz.business.vo.ReportSummaryVO">
SELECT
-- 总计
SUM(exit_width) AS totalExitWidth,
SUM(exit_length) AS totalExitLength,
SUM(theory_weight) AS totalTheoryWeight,
SUM(actual_weight) AS totalActualWeight,
SUM(exit_thickness) AS totalExitThickness,
-- 平均
AVG(exit_width) AS avgExitWidth,
AVG(exit_length) AS avgExitLength,
AVG(theory_weight) AS avgTheoryWeight,
AVG(actual_weight) AS avgActualWeight,
AVG(exit_thickness) AS avgExitThickness,
-- 总数
COUNT(DISTINCT exit_mat_id) AS coilCount,
-- 原料总重(去重 entry_mat_id
(SELECT SUM(t.entry_weight)
FROM (
SELECT entry_mat_id, MAX(entry_weight) AS entry_weight
FROM crm_pdo_excoil
WHERE del_flag = 0
<if test="groupNo != null and groupNo != ''">
AND group_no = #{groupNo}
</if>
<if test="shiftNo != null and shiftNo != ''">
AND shift_no = #{shiftNo}
</if>
<if test="startTime != null">
AND end_time <![CDATA[ >= ]]> #{startTime}
</if>
<if test="endTime != null">
AND end_time <![CDATA[ <= ]]> #{endTime}
</if>
GROUP BY entry_mat_id
) t
) AS totalEntryWeight,
-- 成材率
CASE
WHEN (SELECT SUM(tt.entry_weight)
FROM (
SELECT entry_mat_id, MAX(entry_weight) AS entry_weight
FROM crm_pdo_excoil
WHERE del_flag = 0
<if test="groupNo != null and groupNo != ''">
AND group_no = #{groupNo}
</if>
<if test="shiftNo != null and shiftNo != ''">
AND shift_no = #{shiftNo}
</if>
<if test="startTime != null">
AND end_time <![CDATA[ >= ]]> #{startTime}
</if>
<if test="endTime != null">
AND end_time <![CDATA[ <= ]]> #{endTime}
</if>
GROUP BY entry_mat_id
) tt
) > 0
THEN SUM(actual_weight) /
(SELECT SUM(tt.entry_weight)
FROM (
SELECT entry_mat_id, MAX(entry_weight) AS entry_weight
FROM crm_pdo_excoil
WHERE del_flag = 0
<if test="groupNo != null and groupNo != ''">
AND group_no = #{groupNo}
</if>
<if test="shiftNo != null and shiftNo != ''">
AND shift_no = #{shiftNo}
</if>
<if test="startTime != null">
AND end_time <![CDATA[ >= ]]> #{startTime}
</if>
<if test="endTime != null">
AND end_time <![CDATA[ <= ]]> #{endTime}
</if>
GROUP BY entry_mat_id
) tt
)
ELSE 0
END AS yieldRate
FROM crm_pdo_excoil
WHERE del_flag = 0
<if test="groupNo != null and groupNo != ''">
AND group_no = #{groupNo}
</if>
<if test="shiftNo != null and shiftNo != ''">
AND shift_no = #{shiftNo}
</if>
<if test="startTime != null">
AND end_time <![CDATA[ >= ]]> #{startTime}
</if>
<if test="endTime != null">
AND end_time <![CDATA[ <= ]]> #{endTime}
</if>
</select>
<select id="getReportDetails" resultType="com.fizz.business.vo.ReportDetailVO">
SELECT
exit_mat_id AS exitMatId,
entry_mat_id AS entryMatId,
group_no AS groupNo,
shift_no AS shiftNo,
steel_grade AS steelGrade,
exit_width AS exitWidth,
exit_length AS exitLength,
theory_weight AS theoryWeight,
actual_weight AS actualWeight,
exit_thickness AS exitThickness,
online_time AS onlineTime,
end_time AS endTime
FROM crm_pdo_excoil
WHERE del_flag = 0
<if test="groupNo != null and groupNo != ''">
AND group_no = #{groupNo}
</if>
<if test="shiftNo != null and shiftNo != ''">
AND shift_no = #{shiftNo}
</if>
<if test="startTime != null">
AND end_time <![CDATA[ >= ]]> #{startTime}
</if>
<if test="endTime != null">
AND end_time <![CDATA[ <= ]]> #{endTime}
</if>
ORDER BY end_time ASC
</select>
</mapper>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.fizz.business.mapper.DeviceDefineMapper">
</mapper>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.fizz.business.mapper.HalfReturnMapper">
</mapper>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.fizz.business.mapper.LogDataMapper">
</mapper>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.fizz.business.mapper.PdoExcoilMapper">
</mapper>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.fizz.business.mapper.PdoExcoilSubMapper">
</mapper>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.fizz.business.mapper.PdoStripvalueMapper">
</mapper>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.fizz.business.mapper.PlantConfigMapper">
</mapper>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.fizz.business.mapper.ProMatmapMapper">
<update id="flushMatmap">
insert into track_ca1_romtb_matmap (
pos_idx, mat_id, plan_no, plan_id
)
values
<foreach collection="list" item="item" index="index" separator=",">
(#{item.posIdx}, #{item.matId}, #{item.planNo}, #{item.planId})
</foreach>
on duplicate key update
mat_id = VALUES(mat_id),plan_no = VALUES(plan_no),plan_id = VALUES(plan_id)
</update>
</mapper>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.fizz.business.mapper.ProStoppageMapper">
</mapper>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.fizz.business.mapper.RollChangeCycleMapper">
</mapper>

View File

@@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.fizz.business.mapper.SegmentMapper">
<select id="getStripValue" resultType="com.fizz.business.domain.PdoStripvalue">
select
sum(val1avg) as val1sum, max(val1avg) as val1max, min(val1avg) as val1min, sum(val9cnt) as val1cnt, avg(val1avg) as val1avg,
sum(val2avg) as val2sum, max(val2avg) as val2max, min(val2avg) as val2min, sum(val9cnt) as val2cnt, avg(val2avg) as val2avg,
sum(val3avg) as val3sum, max(val3avg) as val3max, min(val3avg) as val3min, sum(val9cnt) as val3cnt, avg(val3avg) as val3avg,
sum(val4avg) as val4sum, max(val4avg) as val4max, min(val4avg) as val4min, sum(val9cnt) as val4cnt, avg(val4avg) as val4avg,
sum(val5avg) as val5sum, max(val5avg) as val5max, min(val5avg) as val5min, sum(val9cnt) as val5cnt, avg(val5avg) as val5avg,
sum(val6avg) as val6sum, max(val6avg) as val6max, min(val6avg) as val6min, sum(val9cnt) as val6cnt, avg(val6avg) as val6avg,
sum(val7avg) as val7sum, max(val7avg) as val7max, min(val7avg) as val7min, sum(val9cnt) as val7cnt, avg(val7avg) as val7avg,
sum(val8avg) as val8sum, max(val8avg) as val8max, min(val8avg) as val8min, sum(val9cnt) as val8cnt, avg(val8avg) as val8avg,
sum(val9avg) as val9sum, max(val9avg) as val9max, min(val9avg) as val9min, sum(val9cnt) as val9cnt, avg(val9avg) as val9avg,
sum(val10avg) as val10sum, max(val10avg) as val10max, min(val10avg) as val10min, sum(val10cnt) as val10cnt, avg(val10avg) as val10avg,
sum(val11avg) as val11sum, max(val11avg) as val11max, min(val11avg) as val11min, sum(val11cnt) as val11cnt, avg(val11avg) as val11avg,
sum(val12avg) as val12sum, max(val12avg) as val12max, min(val12avg) as val12min, sum(val12cnt) as val12cnt, avg(val12avg) as val12avg,
sum(val13avg) as val13sum, max(val13avg) as val13max, min(val13avg) as val13min, sum(val13cnt) as val13cnt, avg(val13avg) as val13avg,
sum(val14avg) as val14sum, max(val14avg) as val14max, min(val14avg) as val14min, sum(val14cnt) as val14cnt, avg(val14avg) as val14avg,
sum(val15avg) as val15sum, max(val15avg) as val15max, min(val15avg) as val15min, sum(val15cnt) as val15cnt, avg(val15avg) as val15avg,
sum(val16avg) as val16sum, max(val16avg) as val16max, min(val16avg) as val16min, sum(val16cnt) as val16cnt, avg(val16avg) as val16avg,
sum(val17avg) as val17sum, max(val17avg) as val17max, min(val17avg) as val17min, sum(val17cnt) as val17cnt, avg(val17avg) as val17avg,
sum(val18avg) as val18sum, max(val18avg) as val18max, min(val18avg) as val18min, sum(val18cnt) as val18cnt, avg(val18avg) as val18avg,
sum(val19avg) as val19sum, max(val19avg) as val19max, min(val19avg) as val19min, sum(val19cnt) as val19cnt, avg(val19avg) as val19avg,
sum(val20avg) as val20sum, max(val20avg) as val20max, min(val20avg) as val20min, sum(val20cnt) as val20cnt, avg(val20avg) as val20avg,
sum(val21avg) as val21sum, max(val21avg) as val21max, min(val21avg) as val21min, sum(val21cnt) as val21cnt, avg(val21avg) as val21avg,
sum(val22avg) as val22sum, max(val22avg) as val22max, min(val22avg) as val22min, sum(val22cnt) as val22cnt, avg(val22avg) as val22avg,
sum(val23avg) as val23sum, max(val23avg) as val23max, min(val23avg) as val23min, sum(val23cnt) as val23cnt, avg(val23avg) as val23avg,
sum(val24avg) as val24sum, max(val24avg) as val24max, min(val24avg) as val24min, sum(val24cnt) as val24cnt, avg(val24avg) as val24avg,
sum(val25avg) as val25sum, max(val25avg) as val25max, min(val25avg) as val25min, sum(val25cnt) as val25cnt, avg(val25avg) as val25avg,
sum(val26avg) as val26sum, max(val26avg) as val26max, min(val26avg) as val26min, sum(val26cnt) as val26cnt, avg(val26avg) as val26avg,
sum(val27avg) as val27sum, max(val27avg) as val27max, min(val27avg) as val27min, sum(val27cnt) as val27cnt, avg(val27avg) as val27avg,
sum(val28avg) as val28sum, max(val28avg) as val28max, min(val28avg) as val28min, sum(val28cnt) as val28cnt, avg(val28avg) as val28avg,
sum(val29avg) as val29sum, max(val29avg) as val29max, min(val29avg) as val29min, sum(val29cnt) as val29cnt, avg(val29avg) as val29avg,
sum(val30avg) as val30sum, max(val30avg) as val30max, min(val30avg) as val30min, sum(val30cnt) as val30cnt, avg(val30avg) as val30avg,
sum(val31avg) as val31sum, max(val31avg) as val31max, min(val31avg) as val31min, sum(val31cnt) as val31cnt, avg(val31avg) as val31avg,
sum(val32avg) as val32sum, max(val32avg) as val32max, min(val32avg) as val32min, sum(val32cnt) as val32cnt, avg(val32avg) as val32avg,
sum(val33avg) as val33sum, max(val33avg) as val33max, min(val33avg) as val33min, sum(val33cnt) as val33cnt, avg(val33avg) as val33avg,
sum(val34avg) as val34sum, max(val34avg) as val34max, min(val34avg) as val34min, sum(val34cnt) as val34cnt, avg(val34avg) as val34avg,
sum(val35avg) as val35sum, max(val35avg) as val35max, min(val35avg) as val35min, sum(val35cnt) as val35cnt, avg(val35avg) as val35avg,
sum(val36avg) as val36sum, max(val36avg) as val36max, min(val36avg) as val36min, sum(val36cnt) as val36cnt, avg(val36avg) as val36avg,
sum(val37avg) as val37sum, max(val37avg) as val37max, min(val37avg) as val37min, sum(val37cnt) as val37cnt, avg(val37avg) as val37avg,
sum(val38avg) as val38sum, max(val38avg) as val38max, min(val38avg) as val38min, sum(val38cnt) as val38cnt, avg(val38avg) as val38avg,
sum(val39avg) as val39sum, max(val39avg) as val39max, min(val39avg) as val39min, sum(val39cnt) as val39cnt, avg(val39avg) as val39avg,
sum(val40avg) as val40sum, max(val40avg) as val30max, min(val40avg) as val40min, sum(val40cnt) as val40cnt, avg(val40avg) as val40avg,
sum(val41avg) as val41sum, max(val41avg) as val41max, min(val41avg) as val41min, sum(val41cnt) as val41cnt, avg(val41avg) as val41avg,
sum(val42avg) as val42sum, max(val42avg) as val42max, min(val42avg) as val42min, sum(val42cnt) as val42cnt, avg(val42avg) as val42avg,
sum(val43avg) as val43sum, max(val43avg) as val43max, min(val43avg) as val43min, sum(val43cnt) as val43cnt, avg(val43avg) as val43avg,
sum(val44avg) as val44sum, max(val44avg) as val44max, min(val44avg) as val44min, sum(val44cnt) as val44cnt, avg(val44avg) as val44avg,
sum(val45avg) as val45sum, max(val45avg) as val45max, min(val45avg) as val45min, sum(val45cnt) as val45cnt, avg(val45avg) as val45avg,
sum(val46avg) as val46sum, max(val46avg) as val46max, min(val46avg) as val46min, sum(val46cnt) as val46cnt, avg(val46avg) as val46avg,
sum(val47avg) as val47sum, max(val47avg) as val47max, min(val47avg) as val47min, sum(val47cnt) as val47cnt, avg(val47avg) as val47avg,
sum(val48avg) as val48sum, max(val48avg) as val48max, min(val48avg) as val48min, sum(val48cnt) as val48cnt, avg(val48avg) as val48avg,
sum(val49avg) as val49sum, max(val49avg) as val49max, min(val49avg) as val49min, sum(val49cnt) as val49cnt, avg(val49avg) as val49avg,
sum(val50avg) as val50sum, max(val50avg) as val50max, min(val50avg) as val50min, sum(val50cnt) as val50cnt, avg(val50avg) as val50avg
from cpg_segment
where entry_mat_id = #{entryMatId} and start_position >= #{startPos} and end_position &lt; #{endPos}
</select>
<select id="getLatestRecord" resultType="com.fizz.business.domain.Segment">
SELECT * FROM cpg_segment where id=(SELECT max(id) FROM cpg_segment)
</select>
<select id="queryParamByEnCoilId" resultType="com.fizz.business.vo.SegmentParamVO">
SELECT seg_no AS segNo,
JSON_UNQUOTE(JSON_EXTRACT(total_values_json, CONCAT('$.', #{paramField}, '_avg'))) AS value
FROM cpl_segment_total
WHERE en_coil_id = #{enCoilID}
ORDER BY seg_no
</select>
</mapper>

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.fizz.business.mapper.SegmentTotalMapper">
<select id="getLatestRecord" resultType="com.fizz.business.domain.SegmentTotal">
SELECT * FROM cpg_segment_total where id=(SELECT max(id) FROM cpg_segment_total)
</select>
</mapper>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.fizz.business.mapper.ShiftHistoryMapper">
</mapper>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.fizz.business.mapper.SteelGradeInfoMapper">
</mapper>

View File

View File

@@ -0,0 +1 @@
restart.include.json=/com.alibaba.fastjson2.*.jar

View File

@@ -0,0 +1,69 @@
# 数据源配置
spring:
# 数据源配置
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
druid:
# 主库数据源
master:
url: jdbc:mysql://140.143.206.120:3306/cgldb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: klp
password: KeLunPu123@
# url: jdbc:mysql://47.109.139.82:3306/cgldb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
# username: cgldb
# password: cgldb@123456
# url: jdbc:mysql://127.0.0.1:3306/ngcrm?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
# username: root
# password: root
# 从库数据源
slave:
# 从数据源开关/默认关闭
enabled: false
url:
username:
password:
# 初始连接数
initialSize: 5
# 最小连接池数量
minIdle: 10
# 最大连接池数量
maxActive: 20
# 配置获取连接等待超时的时间
maxWait: 60000
# 配置连接超时时间
connectTimeout: 30000
# 配置网络超时时间
socketTimeout: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 300000
# 配置一个连接在池中最大生存的时间,单位是毫秒
maxEvictableIdleTimeMillis: 900000
# 配置检测连接是否有效
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
webStatFilter:
enabled: true
statViewServlet:
enabled: true
# 设置白名单,不填则允许所有访问
allow:
url-pattern: /druid/*
# 控制台管理用户名和密码
login-username: admin
login-password: 123456
filter:
stat:
enabled: true
# 慢SQL记录
log-slow-sql: true
slow-sql-millis: 1000
merge-sql: true
wall:
config:
multi-statement-allow: true

View File

@@ -0,0 +1,9 @@
Application Version: ${ruoyi.version}
Spring Boot Version: ${spring-boot.version}
________ ___ ________ ________
|\ _____\|\ \ |\_____ \ |\_____ \
\ \ \__/ \ \ \ \|___/ /| \|___/ /|
\ \ __\ \ \ \ / / / / / /
\ \ \_| \ \ \ / /_/__ / /_/__
\ \__\ \ \__\|\________\|\________\
\|__| \|__| \|_______| \|_______|

View File

@@ -0,0 +1,38 @@
#错误消息
not.null=* 必须填写
user.jcaptcha.error=验证码错误
user.jcaptcha.expire=验证码已失效
user.not.exists=用户不存在/密码错误
user.password.not.match=用户不存在/密码错误
user.password.retry.limit.count=密码输入错误{0}次
user.password.retry.limit.exceed=密码输入错误{0}次,帐户锁定{1}分钟
user.password.delete=对不起,您的账号已被删除
user.blocked=用户已封禁,请联系管理员
role.blocked=角色已封禁,请联系管理员
login.blocked=很遗憾访问IP已被列入系统黑名单
user.logout.success=退出成功
length.not.valid=长度必须在{min}到{max}个字符之间
user.username.not.valid=* 2到20个汉字、字母、数字或下划线组成且必须以非数字开头
user.password.not.valid=* 5-50个字符
user.email.not.valid=邮箱格式错误
user.mobile.phone.number.not.valid=手机号格式错误
user.login.success=登录成功
user.register.success=注册成功
user.notfound=请重新登录
user.forcelogout=管理员强制退出,请重新登录
user.unknown.error=未知错误,请重新登录
##文件上传消息
upload.exceed.maxSize=上传的文件大小超出限制的文件大小!<br/>允许的文件最大大小是:{0}MB
upload.filename.exceed.length=上传的文件名最长{0}个字符
##权限
no.permission=您没有数据的权限,请联系管理员添加权限 [{0}]
no.create.permission=您没有创建数据的权限,请联系管理员添加权限 [{0}]
no.update.permission=您没有修改数据的权限,请联系管理员添加权限 [{0}]
no.delete.permission=您没有删除数据的权限,请联系管理员添加权限 [{0}]
no.export.permission=您没有导出数据的权限,请联系管理员添加权限 [{0}]
no.view.permission=您没有查看数据的权限,请联系管理员添加权限 [{0}]

View File

@@ -0,0 +1,93 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 日志存放路径 -->
<property name="log.path" value="/usr/bin/l2dev/logs" />
<!-- 日志输出格式 -->
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
<!-- 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
<!-- 系统日志输出 -->
<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/sys-info.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>7</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>INFO</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/sys-error.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/sys-error.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>7</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>ERROR</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 用户访问日志输出 -->
<appender name="sys-user" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/sys-user.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 按天回滚 daily -->
<fileNamePattern>${log.path}/sys-user.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>7</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
<!-- 系统模块日志级别控制 -->
<logger name="com.ruoyi" level="info" />
<!-- Spring日志级别控制 -->
<logger name="org.springframework" level="warn" />
<root level="info">
<appender-ref ref="console" />
</root>
<!--系统操作日志-->
<root level="info">
<appender-ref ref="file_info" />
<appender-ref ref="file_error" />
</root>
<!--系统用户操作日志-->
<logger name="sys-user" level="info">
<appender-ref ref="sys-user"/>
</logger>
</configuration>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 全局参数 -->
<settings>
<!-- 使全局的映射器启用或禁用缓存 -->
<setting name="cacheEnabled" value="true" />
<!-- 允许JDBC 支持自动生成主键 -->
<setting name="useGeneratedKeys" value="true" />
<!-- 配置默认的执行器.SIMPLE就是普通执行器;REUSE执行器会重用预处理语句(prepared statements);BATCH执行器将重用语句并执行批量更新 -->
<setting name="defaultExecutorType" value="SIMPLE" />
<!-- 指定 MyBatis 所用日志的具体实现 -->
<setting name="logImpl" value="SLF4J" />
<!-- 使用驼峰命名法转换字段 -->
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
</configuration>

View File

@@ -158,7 +158,7 @@ public class Constants
/**
* 自动识别json对象白名单配置仅允许解析的包名范围越小越安全
*/
public static final String[] JSON_WHITELIST_STR = { "org.springframework", "com.ruoyi" };
public static final String[] JSON_WHITELIST_STR = { "org.springframework", "com.ruoyi", "com.fizz" };
/**
* 定时任务白名单配置(仅允许访问的包名,如其他需要可以自行添加)

View File

@@ -111,7 +111,7 @@ public class SecurityConfig
.authorizeHttpRequests((requests) -> {
permitAllUrl.getUrls().forEach(url -> requests.antMatchers(url).permitAll());
// 对于登录login 注册register 验证码captchaImage 允许匿名访问
requests.antMatchers("/login", "/register", "/captchaImage", "/roller/**","/pdi/**","/pdo/**").permitAll()
requests.antMatchers("/login", "/register", "/captchaImage", "/roller/**","/pdi/**","/pdo/**","/track/**","/business/**").permitAll()
// 静态资源,可匿名访问
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
.antMatchers("/doc.html","/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/v3/api-docs/**", "/druid/**").permitAll()

View File

@@ -0,0 +1,10 @@
# 代码生成
gen:
# 作者
author: ruoyi
# 默认生成包路径 system 需改成自己的模块名称 如 system monitor tool
packageName: com.ruoyi.system
# 自动去除表前缀默认是false
autoRemovePre: false
# 表前缀(生成类名不会包含表前缀,多个用逗号分隔)
tablePrefix: sys_

View File

@@ -0,0 +1,127 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.generator.mapper.GenTableColumnMapper">
<resultMap type="GenTableColumn" id="GenTableColumnResult">
<id property="columnId" column="column_id" />
<result property="tableId" column="table_id" />
<result property="columnName" column="column_name" />
<result property="columnComment" column="column_comment" />
<result property="columnType" column="column_type" />
<result property="javaType" column="java_type" />
<result property="javaField" column="java_field" />
<result property="isPk" column="is_pk" />
<result property="isIncrement" column="is_increment" />
<result property="isRequired" column="is_required" />
<result property="isInsert" column="is_insert" />
<result property="isEdit" column="is_edit" />
<result property="isList" column="is_list" />
<result property="isQuery" column="is_query" />
<result property="queryType" column="query_type" />
<result property="htmlType" column="html_type" />
<result property="dictType" column="dict_type" />
<result property="sort" column="sort" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
<sql id="selectGenTableColumnVo">
select column_id, table_id, column_name, column_comment, column_type, java_type, java_field, is_pk, is_increment, is_required, is_insert, is_edit, is_list, is_query, query_type, html_type, dict_type, sort, create_by, create_time, update_by, update_time from gen_table_column
</sql>
<select id="selectGenTableColumnListByTableId" parameterType="Long" resultMap="GenTableColumnResult">
<include refid="selectGenTableColumnVo"/>
where table_id = #{tableId}
order by sort
</select>
<select id="selectDbTableColumnsByName" parameterType="String" resultMap="GenTableColumnResult">
select column_name, (case when (is_nullable = 'no' <![CDATA[ && ]]> column_key != 'PRI') then '1' else '0' end) as is_required, (case when column_key = 'PRI' then '1' else '0' end) as is_pk, ordinal_position as sort, column_comment, (case when extra = 'auto_increment' then '1' else '0' end) as is_increment, column_type
from information_schema.columns where table_schema = (select database()) and table_name = (#{tableName})
order by ordinal_position
</select>
<insert id="insertGenTableColumn" parameterType="GenTableColumn" useGeneratedKeys="true" keyProperty="columnId">
insert into gen_table_column (
<if test="tableId != null and tableId != ''">table_id,</if>
<if test="columnName != null and columnName != ''">column_name,</if>
<if test="columnComment != null and columnComment != ''">column_comment,</if>
<if test="columnType != null and columnType != ''">column_type,</if>
<if test="javaType != null and javaType != ''">java_type,</if>
<if test="javaField != null and javaField != ''">java_field,</if>
<if test="isPk != null and isPk != ''">is_pk,</if>
<if test="isIncrement != null and isIncrement != ''">is_increment,</if>
<if test="isRequired != null and isRequired != ''">is_required,</if>
<if test="isInsert != null and isInsert != ''">is_insert,</if>
<if test="isEdit != null and isEdit != ''">is_edit,</if>
<if test="isList != null and isList != ''">is_list,</if>
<if test="isQuery != null and isQuery != ''">is_query,</if>
<if test="queryType != null and queryType != ''">query_type,</if>
<if test="htmlType != null and htmlType != ''">html_type,</if>
<if test="dictType != null and dictType != ''">dict_type,</if>
<if test="sort != null">sort,</if>
<if test="createBy != null and createBy != ''">create_by,</if>
create_time
)values(
<if test="tableId != null and tableId != ''">#{tableId},</if>
<if test="columnName != null and columnName != ''">#{columnName},</if>
<if test="columnComment != null and columnComment != ''">#{columnComment},</if>
<if test="columnType != null and columnType != ''">#{columnType},</if>
<if test="javaType != null and javaType != ''">#{javaType},</if>
<if test="javaField != null and javaField != ''">#{javaField},</if>
<if test="isPk != null and isPk != ''">#{isPk},</if>
<if test="isIncrement != null and isIncrement != ''">#{isIncrement},</if>
<if test="isRequired != null and isRequired != ''">#{isRequired},</if>
<if test="isInsert != null and isInsert != ''">#{isInsert},</if>
<if test="isEdit != null and isEdit != ''">#{isEdit},</if>
<if test="isList != null and isList != ''">#{isList},</if>
<if test="isQuery != null and isQuery != ''">#{isQuery},</if>
<if test="queryType != null and queryType != ''">#{queryType},</if>
<if test="htmlType != null and htmlType != ''">#{htmlType},</if>
<if test="dictType != null and dictType != ''">#{dictType},</if>
<if test="sort != null">#{sort},</if>
<if test="createBy != null and createBy != ''">#{createBy},</if>
sysdate()
)
</insert>
<update id="updateGenTableColumn" parameterType="GenTableColumn">
update gen_table_column
<set>
<if test="columnComment != null">column_comment = #{columnComment},</if>
<if test="javaType != null">java_type = #{javaType},</if>
<if test="javaField != null">java_field = #{javaField},</if>
<if test="isInsert != null">is_insert = #{isInsert},</if>
<if test="isEdit != null">is_edit = #{isEdit},</if>
<if test="isList != null">is_list = #{isList},</if>
<if test="isQuery != null">is_query = #{isQuery},</if>
<if test="isRequired != null">is_required = #{isRequired},</if>
<if test="queryType != null">query_type = #{queryType},</if>
<if test="htmlType != null">html_type = #{htmlType},</if>
<if test="dictType != null">dict_type = #{dictType},</if>
<if test="sort != null">sort = #{sort},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
update_time = sysdate()
</set>
where column_id = #{columnId}
</update>
<delete id="deleteGenTableColumnByIds" parameterType="Long">
delete from gen_table_column where table_id in
<foreach collection="array" item="tableId" open="(" separator="," close=")">
#{tableId}
</foreach>
</delete>
<delete id="deleteGenTableColumns">
delete from gen_table_column where column_id in
<foreach collection="list" item="item" open="(" separator="," close=")">
#{item.columnId}
</foreach>
</delete>
</mapper>

View File

@@ -0,0 +1,210 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.generator.mapper.GenTableMapper">
<resultMap type="GenTable" id="GenTableResult">
<id property="tableId" column="table_id" />
<result property="tableName" column="table_name" />
<result property="tableComment" column="table_comment" />
<result property="subTableName" column="sub_table_name" />
<result property="subTableFkName" column="sub_table_fk_name" />
<result property="className" column="class_name" />
<result property="tplCategory" column="tpl_category" />
<result property="tplWebType" column="tpl_web_type" />
<result property="packageName" column="package_name" />
<result property="moduleName" column="module_name" />
<result property="businessName" column="business_name" />
<result property="functionName" column="function_name" />
<result property="functionAuthor" column="function_author" />
<result property="genType" column="gen_type" />
<result property="genPath" column="gen_path" />
<result property="options" column="options" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="remark" column="remark" />
<collection property="columns" javaType="java.util.List" resultMap="GenTableColumnResult" />
</resultMap>
<resultMap type="GenTableColumn" id="GenTableColumnResult">
<id property="columnId" column="column_id" />
<result property="tableId" column="table_id" />
<result property="columnName" column="column_name" />
<result property="columnComment" column="column_comment" />
<result property="columnType" column="column_type" />
<result property="javaType" column="java_type" />
<result property="javaField" column="java_field" />
<result property="isPk" column="is_pk" />
<result property="isIncrement" column="is_increment" />
<result property="isRequired" column="is_required" />
<result property="isInsert" column="is_insert" />
<result property="isEdit" column="is_edit" />
<result property="isList" column="is_list" />
<result property="isQuery" column="is_query" />
<result property="queryType" column="query_type" />
<result property="htmlType" column="html_type" />
<result property="dictType" column="dict_type" />
<result property="sort" column="sort" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
<sql id="selectGenTableVo">
select table_id, table_name, table_comment, sub_table_name, sub_table_fk_name, class_name, tpl_category, tpl_web_type, package_name, module_name, business_name, function_name, function_author, gen_type, gen_path, options, create_by, create_time, update_by, update_time, remark from gen_table
</sql>
<select id="selectGenTableList" parameterType="GenTable" resultMap="GenTableResult">
<include refid="selectGenTableVo"/>
<where>
<if test="tableName != null and tableName != ''">
AND lower(table_name) like lower(concat('%', #{tableName}, '%'))
</if>
<if test="tableComment != null and tableComment != ''">
AND lower(table_comment) like lower(concat('%', #{tableComment}, '%'))
</if>
<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
AND date_format(create_time,'%Y%m%d') &gt;= date_format(#{params.beginTime},'%Y%m%d')
</if>
<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
AND date_format(create_time,'%Y%m%d') &lt;= date_format(#{params.endTime},'%Y%m%d')
</if>
</where>
</select>
<select id="selectDbTableList" parameterType="GenTable" resultMap="GenTableResult">
select table_name, table_comment, create_time, update_time from information_schema.tables
where table_schema = (select database())
AND table_name NOT LIKE 'qrtz\_%' AND table_name NOT LIKE 'gen\_%'
AND table_name NOT IN (select table_name from gen_table)
<if test="tableName != null and tableName != ''">
AND lower(table_name) like lower(concat('%', #{tableName}, '%'))
</if>
<if test="tableComment != null and tableComment != ''">
AND lower(table_comment) like lower(concat('%', #{tableComment}, '%'))
</if>
<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
AND date_format(create_time,'%Y%m%d') &gt;= date_format(#{params.beginTime},'%Y%m%d')
</if>
<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
AND date_format(create_time,'%Y%m%d') &lt;= date_format(#{params.endTime},'%Y%m%d')
</if>
order by create_time desc
</select>
<select id="selectDbTableListByNames" resultMap="GenTableResult">
select table_name, table_comment, create_time, update_time from information_schema.tables
where table_name NOT LIKE 'qrtz\_%' and table_name NOT LIKE 'gen\_%' and table_schema = (select database())
and table_name in
<foreach collection="array" item="name" open="(" separator="," close=")">
#{name}
</foreach>
</select>
<select id="selectTableByName" parameterType="String" resultMap="GenTableResult">
select table_name, table_comment, create_time, update_time from information_schema.tables
where table_comment <![CDATA[ <> ]]> '' and table_schema = (select database())
and table_name = #{tableName}
</select>
<select id="selectGenTableById" parameterType="Long" resultMap="GenTableResult">
SELECT t.table_id, t.table_name, t.table_comment, t.sub_table_name, t.sub_table_fk_name, t.class_name, t.tpl_category, t.tpl_web_type, t.package_name, t.module_name, t.business_name, t.function_name, t.function_author, t.gen_type, t.gen_path, t.options, t.remark,
c.column_id, c.column_name, c.column_comment, c.column_type, c.java_type, c.java_field, c.is_pk, c.is_increment, c.is_required, c.is_insert, c.is_edit, c.is_list, c.is_query, c.query_type, c.html_type, c.dict_type, c.sort
FROM gen_table t
LEFT JOIN gen_table_column c ON t.table_id = c.table_id
where t.table_id = #{tableId} order by c.sort
</select>
<select id="selectGenTableByName" parameterType="String" resultMap="GenTableResult">
SELECT t.table_id, t.table_name, t.table_comment, t.sub_table_name, t.sub_table_fk_name, t.class_name, t.tpl_category, t.tpl_web_type, t.package_name, t.module_name, t.business_name, t.function_name, t.function_author, t.gen_type, t.gen_path, t.options, t.remark,
c.column_id, c.column_name, c.column_comment, c.column_type, c.java_type, c.java_field, c.is_pk, c.is_increment, c.is_required, c.is_insert, c.is_edit, c.is_list, c.is_query, c.query_type, c.html_type, c.dict_type, c.sort
FROM gen_table t
LEFT JOIN gen_table_column c ON t.table_id = c.table_id
where t.table_name = #{tableName} order by c.sort
</select>
<select id="selectGenTableAll" parameterType="String" resultMap="GenTableResult">
SELECT t.table_id, t.table_name, t.table_comment, t.sub_table_name, t.sub_table_fk_name, t.class_name, t.tpl_category, t.tpl_web_type, t.package_name, t.module_name, t.business_name, t.function_name, t.function_author, t.options, t.remark,
c.column_id, c.column_name, c.column_comment, c.column_type, c.java_type, c.java_field, c.is_pk, c.is_increment, c.is_required, c.is_insert, c.is_edit, c.is_list, c.is_query, c.query_type, c.html_type, c.dict_type, c.sort
FROM gen_table t
LEFT JOIN gen_table_column c ON t.table_id = c.table_id
order by c.sort
</select>
<insert id="insertGenTable" parameterType="GenTable" useGeneratedKeys="true" keyProperty="tableId">
insert into gen_table (
<if test="tableName != null">table_name,</if>
<if test="tableComment != null and tableComment != ''">table_comment,</if>
<if test="className != null and className != ''">class_name,</if>
<if test="tplCategory != null and tplCategory != ''">tpl_category,</if>
<if test="tplWebType != null and tplWebType != ''">tpl_web_type,</if>
<if test="packageName != null and packageName != ''">package_name,</if>
<if test="moduleName != null and moduleName != ''">module_name,</if>
<if test="businessName != null and businessName != ''">business_name,</if>
<if test="functionName != null and functionName != ''">function_name,</if>
<if test="functionAuthor != null and functionAuthor != ''">function_author,</if>
<if test="genType != null and genType != ''">gen_type,</if>
<if test="genPath != null and genPath != ''">gen_path,</if>
<if test="remark != null and remark != ''">remark,</if>
<if test="createBy != null and createBy != ''">create_by,</if>
create_time
)values(
<if test="tableName != null">#{tableName},</if>
<if test="tableComment != null and tableComment != ''">#{tableComment},</if>
<if test="className != null and className != ''">#{className},</if>
<if test="tplCategory != null and tplCategory != ''">#{tplCategory},</if>
<if test="tplWebType != null and tplWebType != ''">#{tplWebType},</if>
<if test="packageName != null and packageName != ''">#{packageName},</if>
<if test="moduleName != null and moduleName != ''">#{moduleName},</if>
<if test="businessName != null and businessName != ''">#{businessName},</if>
<if test="functionName != null and functionName != ''">#{functionName},</if>
<if test="functionAuthor != null and functionAuthor != ''">#{functionAuthor},</if>
<if test="genType != null and genType != ''">#{genType},</if>
<if test="genPath != null and genPath != ''">#{genPath},</if>
<if test="remark != null and remark != ''">#{remark},</if>
<if test="createBy != null and createBy != ''">#{createBy},</if>
sysdate()
)
</insert>
<update id="createTable">
${sql}
</update>
<update id="updateGenTable" parameterType="GenTable">
update gen_table
<set>
<if test="tableName != null">table_name = #{tableName},</if>
<if test="tableComment != null and tableComment != ''">table_comment = #{tableComment},</if>
<if test="subTableName != null">sub_table_name = #{subTableName},</if>
<if test="subTableFkName != null">sub_table_fk_name = #{subTableFkName},</if>
<if test="className != null and className != ''">class_name = #{className},</if>
<if test="functionAuthor != null and functionAuthor != ''">function_author = #{functionAuthor},</if>
<if test="genType != null and genType != ''">gen_type = #{genType},</if>
<if test="genPath != null and genPath != ''">gen_path = #{genPath},</if>
<if test="tplCategory != null and tplCategory != ''">tpl_category = #{tplCategory},</if>
<if test="tplWebType != null and tplWebType != ''">tpl_web_type = #{tplWebType},</if>
<if test="packageName != null and packageName != ''">package_name = #{packageName},</if>
<if test="moduleName != null and moduleName != ''">module_name = #{moduleName},</if>
<if test="businessName != null and businessName != ''">business_name = #{businessName},</if>
<if test="functionName != null and functionName != ''">function_name = #{functionName},</if>
<if test="options != null and options != ''">options = #{options},</if>
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
<if test="remark != null">remark = #{remark},</if>
update_time = sysdate()
</set>
where table_id = #{tableId}
</update>
<delete id="deleteGenTableByIds" parameterType="Long">
delete from gen_table where table_id in
<foreach collection="array" item="tableId" open="(" separator="," close=")">
#{tableId}
</foreach>
</delete>
</mapper>

View File

@@ -0,0 +1,115 @@
package ${packageName}.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import ${packageName}.domain.${ClassName};
import ${packageName}.service.I${ClassName}Service;
import com.ruoyi.common.utils.poi.ExcelUtil;
#if($table.crud || $table.sub)
import com.ruoyi.common.core.page.TableDataInfo;
#elseif($table.tree)
#end
/**
* ${functionName}Controller
*
* @author ${author}
* @date ${datetime}
*/
@RestController
@RequestMapping("/${moduleName}/${businessName}")
public class ${ClassName}Controller extends BaseController
{
@Autowired
private I${ClassName}Service ${className}Service;
/**
* 查询${functionName}列表
*/
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')")
@GetMapping("/list")
#if($table.crud || $table.sub)
public TableDataInfo list(${ClassName} ${className})
{
startPage();
List<${ClassName}> list = ${className}Service.select${ClassName}List(${className});
return getDataTable(list);
}
#elseif($table.tree)
public AjaxResult list(${ClassName} ${className})
{
List<${ClassName}> list = ${className}Service.select${ClassName}List(${className});
return success(list);
}
#end
/**
* 导出${functionName}列表
*/
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:export')")
@Log(title = "${functionName}", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ${ClassName} ${className})
{
List<${ClassName}> list = ${className}Service.select${ClassName}List(${className});
ExcelUtil<${ClassName}> util = new ExcelUtil<${ClassName}>(${ClassName}.class);
util.exportExcel(response, list, "${functionName}数据");
}
/**
* 获取${functionName}详细信息
*/
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:query')")
@GetMapping(value = "/{${pkColumn.javaField}}")
public AjaxResult getInfo(@PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField})
{
return success(${className}Service.select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaField}));
}
/**
* 新增${functionName}
*/
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:add')")
@Log(title = "${functionName}", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody ${ClassName} ${className})
{
return toAjax(${className}Service.insert${ClassName}(${className}));
}
/**
* 修改${functionName}
*/
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:edit')")
@Log(title = "${functionName}", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ${ClassName} ${className})
{
return toAjax(${className}Service.update${ClassName}(${className}));
}
/**
* 删除${functionName}
*/
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:remove')")
@Log(title = "${functionName}", businessType = BusinessType.DELETE)
@DeleteMapping("/{${pkColumn.javaField}s}")
public AjaxResult remove(@PathVariable ${pkColumn.javaType}[] ${pkColumn.javaField}s)
{
return toAjax(${className}Service.delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaField}s));
}
}

View File

@@ -0,0 +1,105 @@
package ${packageName}.domain;
#foreach ($import in $importList)
import ${import};
#end
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
#if($table.crud || $table.sub)
import com.ruoyi.common.core.domain.BaseEntity;
#elseif($table.tree)
import com.ruoyi.common.core.domain.TreeEntity;
#end
/**
* ${functionName}对象 ${tableName}
*
* @author ${author}
* @date ${datetime}
*/
#if($table.crud || $table.sub)
#set($Entity="BaseEntity")
#elseif($table.tree)
#set($Entity="TreeEntity")
#end
public class ${ClassName} extends ${Entity}
{
private static final long serialVersionUID = 1L;
#foreach ($column in $columns)
#if(!$table.isSuperColumn($column.javaField))
/** $column.columnComment */
#if($column.list)
#set($parentheseIndex=$column.columnComment.indexOf(""))
#if($parentheseIndex != -1)
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
#else
#set($comment=$column.columnComment)
#end
#if($parentheseIndex != -1)
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
#elseif($column.javaType == 'Date')
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "${comment}", width = 30, dateFormat = "yyyy-MM-dd")
#else
@Excel(name = "${comment}")
#end
#end
private $column.javaType $column.javaField;
#end
#end
#if($table.sub)
/** $table.subTable.functionName信息 */
private List<${subClassName}> ${subclassName}List;
#end
#foreach ($column in $columns)
#if(!$table.isSuperColumn($column.javaField))
#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]"))
#set($AttrName=$column.javaField)
#else
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
#end
public void set${AttrName}($column.javaType $column.javaField)
{
this.$column.javaField = $column.javaField;
}
public $column.javaType get${AttrName}()
{
return $column.javaField;
}
#end
#end
#if($table.sub)
public List<${subClassName}> get${subClassName}List()
{
return ${subclassName}List;
}
public void set${subClassName}List(List<${subClassName}> ${subclassName}List)
{
this.${subclassName}List = ${subclassName}List;
}
#end
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
#foreach ($column in $columns)
#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]"))
#set($AttrName=$column.javaField)
#else
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
#end
.append("${column.javaField}", get${AttrName}())
#end
#if($table.sub)
.append("${subclassName}List", get${subClassName}List())
#end
.toString();
}
}

View File

@@ -0,0 +1,91 @@
package ${packageName}.mapper;
import java.util.List;
import ${packageName}.domain.${ClassName};
#if($table.sub)
import ${packageName}.domain.${subClassName};
#end
/**
* ${functionName}Mapper接口
*
* @author ${author}
* @date ${datetime}
*/
public interface ${ClassName}Mapper
{
/**
* 查询${functionName}
*
* @param ${pkColumn.javaField} ${functionName}主键
* @return ${functionName}
*/
public ${ClassName} select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField});
/**
* 查询${functionName}列表
*
* @param ${className} ${functionName}
* @return ${functionName}集合
*/
public List<${ClassName}> select${ClassName}List(${ClassName} ${className});
/**
* 新增${functionName}
*
* @param ${className} ${functionName}
* @return 结果
*/
public int insert${ClassName}(${ClassName} ${className});
/**
* 修改${functionName}
*
* @param ${className} ${functionName}
* @return 结果
*/
public int update${ClassName}(${ClassName} ${className});
/**
* 删除${functionName}
*
* @param ${pkColumn.javaField} ${functionName}主键
* @return 结果
*/
public int delete${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField});
/**
* 批量删除${functionName}
*
* @param ${pkColumn.javaField}s 需要删除的数据主键集合
* @return 结果
*/
public int delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaType}[] ${pkColumn.javaField}s);
#if($table.sub)
/**
* 批量删除${subTable.functionName}
*
* @param ${pkColumn.javaField}s 需要删除的数据主键集合
* @return 结果
*/
public int delete${subClassName}By${subTableFkClassName}s(${pkColumn.javaType}[] ${pkColumn.javaField}s);
/**
* 批量新增${subTable.functionName}
*
* @param ${subclassName}List ${subTable.functionName}列表
* @return 结果
*/
public int batch${subClassName}(List<${subClassName}> ${subclassName}List);
/**
* 通过${functionName}主键删除${subTable.functionName}信息
*
* @param ${pkColumn.javaField} ${functionName}ID
* @return 结果
*/
public int delete${subClassName}By${subTableFkClassName}(${pkColumn.javaType} ${pkColumn.javaField});
#end
}

View File

@@ -0,0 +1,61 @@
package ${packageName}.service;
import java.util.List;
import ${packageName}.domain.${ClassName};
/**
* ${functionName}Service接口
*
* @author ${author}
* @date ${datetime}
*/
public interface I${ClassName}Service
{
/**
* 查询${functionName}
*
* @param ${pkColumn.javaField} ${functionName}主键
* @return ${functionName}
*/
public ${ClassName} select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField});
/**
* 查询${functionName}列表
*
* @param ${className} ${functionName}
* @return ${functionName}集合
*/
public List<${ClassName}> select${ClassName}List(${ClassName} ${className});
/**
* 新增${functionName}
*
* @param ${className} ${functionName}
* @return 结果
*/
public int insert${ClassName}(${ClassName} ${className});
/**
* 修改${functionName}
*
* @param ${className} ${functionName}
* @return 结果
*/
public int update${ClassName}(${ClassName} ${className});
/**
* 批量删除${functionName}
*
* @param ${pkColumn.javaField}s 需要删除的${functionName}主键集合
* @return 结果
*/
public int delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaType}[] ${pkColumn.javaField}s);
/**
* 删除${functionName}信息
*
* @param ${pkColumn.javaField} ${functionName}主键
* @return 结果
*/
public int delete${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField});
}

View File

@@ -0,0 +1,169 @@
package ${packageName}.service.impl;
import java.util.List;
#foreach ($column in $columns)
#if($column.javaField == 'createTime' || $column.javaField == 'updateTime')
import com.ruoyi.common.utils.DateUtils;
#break
#end
#end
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
#if($table.sub)
import java.util.ArrayList;
import com.ruoyi.common.utils.StringUtils;
import org.springframework.transaction.annotation.Transactional;
import ${packageName}.domain.${subClassName};
#end
import ${packageName}.mapper.${ClassName}Mapper;
import ${packageName}.domain.${ClassName};
import ${packageName}.service.I${ClassName}Service;
/**
* ${functionName}Service业务层处理
*
* @author ${author}
* @date ${datetime}
*/
@Service
public class ${ClassName}ServiceImpl implements I${ClassName}Service
{
@Autowired
private ${ClassName}Mapper ${className}Mapper;
/**
* 查询${functionName}
*
* @param ${pkColumn.javaField} ${functionName}主键
* @return ${functionName}
*/
@Override
public ${ClassName} select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField})
{
return ${className}Mapper.select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaField});
}
/**
* 查询${functionName}列表
*
* @param ${className} ${functionName}
* @return ${functionName}
*/
@Override
public List<${ClassName}> select${ClassName}List(${ClassName} ${className})
{
return ${className}Mapper.select${ClassName}List(${className});
}
/**
* 新增${functionName}
*
* @param ${className} ${functionName}
* @return 结果
*/
#if($table.sub)
@Transactional
#end
@Override
public int insert${ClassName}(${ClassName} ${className})
{
#foreach ($column in $columns)
#if($column.javaField == 'createTime')
${className}.setCreateTime(DateUtils.getNowDate());
#end
#end
#if($table.sub)
int rows = ${className}Mapper.insert${ClassName}(${className});
insert${subClassName}(${className});
return rows;
#else
return ${className}Mapper.insert${ClassName}(${className});
#end
}
/**
* 修改${functionName}
*
* @param ${className} ${functionName}
* @return 结果
*/
#if($table.sub)
@Transactional
#end
@Override
public int update${ClassName}(${ClassName} ${className})
{
#foreach ($column in $columns)
#if($column.javaField == 'updateTime')
${className}.setUpdateTime(DateUtils.getNowDate());
#end
#end
#if($table.sub)
${className}Mapper.delete${subClassName}By${subTableFkClassName}(${className}.get${pkColumn.capJavaField}());
insert${subClassName}(${className});
#end
return ${className}Mapper.update${ClassName}(${className});
}
/**
* 批量删除${functionName}
*
* @param ${pkColumn.javaField}s 需要删除的${functionName}主键
* @return 结果
*/
#if($table.sub)
@Transactional
#end
@Override
public int delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaType}[] ${pkColumn.javaField}s)
{
#if($table.sub)
${className}Mapper.delete${subClassName}By${subTableFkClassName}s(${pkColumn.javaField}s);
#end
return ${className}Mapper.delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaField}s);
}
/**
* 删除${functionName}信息
*
* @param ${pkColumn.javaField} ${functionName}主键
* @return 结果
*/
#if($table.sub)
@Transactional
#end
@Override
public int delete${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField})
{
#if($table.sub)
${className}Mapper.delete${subClassName}By${subTableFkClassName}(${pkColumn.javaField});
#end
return ${className}Mapper.delete${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaField});
}
#if($table.sub)
/**
* 新增${subTable.functionName}信息
*
* @param ${className} ${functionName}对象
*/
public void insert${subClassName}(${ClassName} ${className})
{
List<${subClassName}> ${subclassName}List = ${className}.get${subClassName}List();
${pkColumn.javaType} ${pkColumn.javaField} = ${className}.get${pkColumn.capJavaField}();
if (StringUtils.isNotNull(${subclassName}List))
{
List<${subClassName}> list = new ArrayList<${subClassName}>();
for (${subClassName} ${subclassName} : ${subclassName}List)
{
${subclassName}.set${subTableFkClassName}(${pkColumn.javaField});
list.add(${subclassName});
}
if (list.size() > 0)
{
${className}Mapper.batch${subClassName}(list);
}
}
}
#end
}

View File

@@ -0,0 +1,76 @@
package ${packageName}.domain;
#foreach ($import in $subImportList)
import ${import};
#end
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* ${subTable.functionName}对象 ${subTableName}
*
* @author ${author}
* @date ${datetime}
*/
public class ${subClassName} extends BaseEntity
{
private static final long serialVersionUID = 1L;
#foreach ($column in $subTable.columns)
#if(!$table.isSuperColumn($column.javaField))
/** $column.columnComment */
#if($column.list)
#set($parentheseIndex=$column.columnComment.indexOf(""))
#if($parentheseIndex != -1)
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
#else
#set($comment=$column.columnComment)
#end
#if($parentheseIndex != -1)
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
#elseif($column.javaType == 'Date')
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "${comment}", width = 30, dateFormat = "yyyy-MM-dd")
#else
@Excel(name = "${comment}")
#end
#end
private $column.javaType $column.javaField;
#end
#end
#foreach ($column in $subTable.columns)
#if(!$table.isSuperColumn($column.javaField))
#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]"))
#set($AttrName=$column.javaField)
#else
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
#end
public void set${AttrName}($column.javaType $column.javaField)
{
this.$column.javaField = $column.javaField;
}
public $column.javaType get${AttrName}()
{
return $column.javaField;
}
#end
#end
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
#foreach ($column in $subTable.columns)
#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]"))
#set($AttrName=$column.javaField)
#else
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
#end
.append("${column.javaField}", get${AttrName}())
#end
.toString();
}
}

View File

@@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询${functionName}列表
export function list${BusinessName}(query) {
return request({
url: '/${moduleName}/${businessName}/list',
method: 'get',
params: query
})
}
// 查询${functionName}详细
export function get${BusinessName}(${pkColumn.javaField}) {
return request({
url: '/${moduleName}/${businessName}/' + ${pkColumn.javaField},
method: 'get'
})
}
// 新增${functionName}
export function add${BusinessName}(data) {
return request({
url: '/${moduleName}/${businessName}',
method: 'post',
data: data
})
}
// 修改${functionName}
export function update${BusinessName}(data) {
return request({
url: '/${moduleName}/${businessName}',
method: 'put',
data: data
})
}
// 删除${functionName}
export function del${BusinessName}(${pkColumn.javaField}) {
return request({
url: '/${moduleName}/${businessName}/' + ${pkColumn.javaField},
method: 'delete'
})
}

View File

@@ -0,0 +1,22 @@
-- 菜单 SQL
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('${functionName}', '${parentMenuId}', '1', '${businessName}', '${moduleName}/${businessName}/index', 1, 0, 'C', '0', '0', '${permissionPrefix}:list', '#', 'admin', sysdate(), '', null, '${functionName}菜单');
-- 按钮父菜单ID
SELECT @parentId := LAST_INSERT_ID();
-- 按钮 SQL
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('${functionName}查询', @parentId, '1', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:query', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('${functionName}新增', @parentId, '2', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:add', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('${functionName}修改', @parentId, '3', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:edit', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('${functionName}删除', @parentId, '4', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:remove', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('${functionName}导出', @parentId, '5', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:export', '#', 'admin', sysdate(), '', null, '');

View File

@@ -0,0 +1,505 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
#foreach($column in $columns)
#if($column.query)
#set($dictType=$column.dictType)
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
#set($parentheseIndex=$column.columnComment.indexOf(""))
#if($parentheseIndex != -1)
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
#else
#set($comment=$column.columnComment)
#end
#if($column.htmlType == "input")
<el-form-item label="${comment}" prop="${column.javaField}">
<el-input
v-model="queryParams.${column.javaField}"
placeholder="请输入${comment}"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
#elseif(($column.htmlType == "select" || $column.htmlType == "radio") && "" != $dictType)
<el-form-item label="${comment}" prop="${column.javaField}">
<el-select v-model="queryParams.${column.javaField}" placeholder="请选择${comment}" clearable>
<el-option
v-for="dict in dict.type.${dictType}"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
#elseif(($column.htmlType == "select" || $column.htmlType == "radio") && $dictType)
<el-form-item label="${comment}" prop="${column.javaField}">
<el-select v-model="queryParams.${column.javaField}" placeholder="请选择${comment}" clearable>
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
#elseif($column.htmlType == "datetime" && $column.queryType != "BETWEEN")
<el-form-item label="${comment}" prop="${column.javaField}">
<el-date-picker clearable
v-model="queryParams.${column.javaField}"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择${comment}">
</el-date-picker>
</el-form-item>
#elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
<el-form-item label="${comment}">
<el-date-picker
v-model="daterange${AttrName}"
style="width: 240px"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
#end
#end
#end
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['${moduleName}:${businessName}:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="info"
plain
icon="el-icon-sort"
size="mini"
@click="toggleExpandAll"
>展开/折叠</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table
v-if="refreshTable"
v-loading="loading"
:data="${businessName}List"
row-key="${treeCode}"
:default-expand-all="isExpandAll"
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
>
#foreach($column in $columns)
#set($javaField=$column.javaField)
#set($parentheseIndex=$column.columnComment.indexOf(""))
#if($parentheseIndex != -1)
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
#else
#set($comment=$column.columnComment)
#end
#if($column.pk)
#elseif($column.list && $column.htmlType == "datetime")
<el-table-column label="${comment}" align="center" prop="${javaField}" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.${javaField}, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
#elseif($column.list && $column.htmlType == "imageUpload")
<el-table-column label="${comment}" align="center" prop="${javaField}" width="100">
<template slot-scope="scope">
<image-preview :src="scope.row.${javaField}" :width="50" :height="50"/>
</template>
</el-table-column>
#elseif($column.list && "" != $column.dictType)
<el-table-column label="${comment}" align="center" prop="${javaField}">
<template slot-scope="scope">
#if($column.htmlType == "checkbox")
<dict-tag :options="dict.type.${column.dictType}" :value="scope.row.${javaField} ? scope.row.${javaField}.split(',') : []"/>
#else
<dict-tag :options="dict.type.${column.dictType}" :value="scope.row.${javaField}"/>
#end
</template>
</el-table-column>
#elseif($column.list && "" != $javaField)
#if(${foreach.index} == 1)
<el-table-column label="${comment}" prop="${javaField}" />
#else
<el-table-column label="${comment}" align="center" prop="${javaField}" />
#end
#end
#end
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['${moduleName}:${businessName}:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-plus"
@click="handleAdd(scope.row)"
v-hasPermi="['${moduleName}:${businessName}:add']"
>新增</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['${moduleName}:${businessName}:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<!-- 添加或修改${functionName}对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
#foreach($column in $columns)
#set($field=$column.javaField)
#if($column.insert && !$column.pk)
#if(($column.usableColumn) || (!$column.superColumn))
#set($parentheseIndex=$column.columnComment.indexOf(""))
#if($parentheseIndex != -1)
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
#else
#set($comment=$column.columnComment)
#end
#set($dictType=$column.dictType)
#if("" != $treeParentCode && $column.javaField == $treeParentCode)
<el-form-item label="${comment}" prop="${treeParentCode}">
<treeselect v-model="form.${treeParentCode}" :options="${businessName}Options" :normalizer="normalizer" placeholder="请选择${comment}" />
</el-form-item>
#elseif($column.htmlType == "input")
<el-form-item label="${comment}" prop="${field}">
<el-input v-model="form.${field}" placeholder="请输入${comment}" />
</el-form-item>
#elseif($column.htmlType == "imageUpload")
<el-form-item label="${comment}" prop="${field}">
<image-upload v-model="form.${field}"/>
</el-form-item>
#elseif($column.htmlType == "fileUpload")
<el-form-item label="${comment}" prop="${field}">
<file-upload v-model="form.${field}"/>
</el-form-item>
#elseif($column.htmlType == "editor")
<el-form-item label="${comment}">
<editor v-model="form.${field}" :min-height="192"/>
</el-form-item>
#elseif($column.htmlType == "select" && "" != $dictType)
<el-form-item label="${comment}" prop="${field}">
<el-select v-model="form.${field}" placeholder="请选择${comment}">
<el-option
v-for="dict in dict.type.${dictType}"
:key="dict.value"
:label="dict.label"
#if($column.javaType == "Integer" || $column.javaType == "Long")
:value="parseInt(dict.value)"
#else
:value="dict.value"
#end
></el-option>
</el-select>
</el-form-item>
#elseif($column.htmlType == "select" && $dictType)
<el-form-item label="${comment}" prop="${field}">
<el-select v-model="form.${field}" placeholder="请选择${comment}">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
#elseif($column.htmlType == "checkbox" && "" != $dictType)
<el-form-item label="${comment}" prop="${field}">
<el-checkbox-group v-model="form.${field}">
<el-checkbox
v-for="dict in dict.type.${dictType}"
:key="dict.value"
:label="dict.value">
{{dict.label}}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
#elseif($column.htmlType == "checkbox" && $dictType)
<el-form-item label="${comment}" prop="${field}">
<el-checkbox-group v-model="form.${field}">
<el-checkbox>请选择字典生成</el-checkbox>
</el-checkbox-group>
</el-form-item>
#elseif($column.htmlType == "radio" && "" != $dictType)
<el-form-item label="${comment}" prop="${field}">
<el-radio-group v-model="form.${field}">
<el-radio
v-for="dict in dict.type.${dictType}"
:key="dict.value"
#if($column.javaType == "Integer" || $column.javaType == "Long")
:label="parseInt(dict.value)"
#else
:label="dict.value"
#end
>{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
#elseif($column.htmlType == "radio" && $dictType)
<el-form-item label="${comment}" prop="${field}">
<el-radio-group v-model="form.${field}">
<el-radio label="1">请选择字典生成</el-radio>
</el-radio-group>
</el-form-item>
#elseif($column.htmlType == "datetime")
<el-form-item label="${comment}" prop="${field}">
<el-date-picker clearable
v-model="form.${field}"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择${comment}">
</el-date-picker>
</el-form-item>
#elseif($column.htmlType == "textarea")
<el-form-item label="${comment}" prop="${field}">
<el-input v-model="form.${field}" type="textarea" placeholder="请输入内容" />
</el-form-item>
#end
#end
#end
#end
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${BusinessName}, update${BusinessName} } from "@/api/${moduleName}/${businessName}";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
name: "${BusinessName}",
#if(${dicts} != '')
dicts: [${dicts}],
#end
components: {
Treeselect
},
data() {
return {
// 遮罩层
loading: true,
// 显示搜索条件
showSearch: true,
// ${functionName}表格数据
${businessName}List: [],
// ${functionName}树选项
${businessName}Options: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 是否展开,默认全部展开
isExpandAll: true,
// 重新渲染表格状态
refreshTable: true,
#foreach ($column in $columns)
#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
// $comment时间范围
daterange${AttrName}: [],
#end
#end
// 查询参数
queryParams: {
#foreach ($column in $columns)
#if($column.query)
$column.javaField: null#if($foreach.count != $columns.size()),#end
#end
#end
},
// 表单参数
form: {},
// 表单校验
rules: {
#foreach ($column in $columns)
#if($column.required)
#set($parentheseIndex=$column.columnComment.indexOf(""))
#if($parentheseIndex != -1)
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
#else
#set($comment=$column.columnComment)
#end
$column.javaField: [
{ required: true, message: "$comment不能为空", trigger: #if($column.htmlType == "select" || $column.htmlType == "radio")"change"#else"blur"#end }
]#if($foreach.count != $columns.size()),#end
#end
#end
}
};
},
created() {
this.getList();
},
methods: {
/** 查询${functionName}列表 */
getList() {
this.loading = true;
#foreach ($column in $columns)
#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
this.queryParams.params = {};
#break
#end
#end
#foreach ($column in $columns)
#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
if (null != this.daterange${AttrName} && '' != this.daterange${AttrName}) {
this.queryParams.params["begin${AttrName}"] = this.daterange${AttrName}[0];
this.queryParams.params["end${AttrName}"] = this.daterange${AttrName}[1];
}
#end
#end
list${BusinessName}(this.queryParams).then(response => {
this.${businessName}List = this.handleTree(response.data, "${treeCode}", "${treeParentCode}");
this.loading = false;
});
},
/** 转换${functionName}数据结构 */
normalizer(node) {
if (node.children && !node.children.length) {
delete node.children;
}
return {
id: node.${treeCode},
label: node.${treeName},
children: node.children
};
},
/** 查询${functionName}下拉树结构 */
getTreeselect() {
list${BusinessName}().then(response => {
this.${businessName}Options = [];
const data = { ${treeCode}: 0, ${treeName}: '顶级节点', children: [] };
data.children = this.handleTree(response.data, "${treeCode}", "${treeParentCode}");
this.${businessName}Options.push(data);
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
#foreach ($column in $columns)
#if($column.htmlType == "checkbox")
$column.javaField: []#if($foreach.count != $columns.size()),#end
#else
$column.javaField: null#if($foreach.count != $columns.size()),#end
#end
#end
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
#foreach ($column in $columns)
#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
this.daterange${AttrName} = [];
#end
#end
this.resetForm("queryForm");
this.handleQuery();
},
/** 新增按钮操作 */
handleAdd(row) {
this.reset();
this.getTreeselect();
if (row != null && row.${treeCode}) {
this.form.${treeParentCode} = row.${treeCode};
} else {
this.form.${treeParentCode} = 0;
}
this.open = true;
this.title = "添加${functionName}";
},
/** 展开/折叠操作 */
toggleExpandAll() {
this.refreshTable = false;
this.isExpandAll = !this.isExpandAll;
this.$nextTick(() => {
this.refreshTable = true;
});
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
this.getTreeselect();
if (row != null) {
this.form.${treeParentCode} = row.${treeParentCode};
}
get${BusinessName}(row.${pkColumn.javaField}).then(response => {
this.form = response.data;
#foreach ($column in $columns)
#if($column.htmlType == "checkbox")
this.form.$column.javaField = this.form.${column.javaField}.split(",");
#end
#end
this.open = true;
this.title = "修改${functionName}";
});
},
/** 提交按钮 */
submitForm() {
this.#[[$]]#refs["form"].validate(valid => {
if (valid) {
#foreach ($column in $columns)
#if($column.htmlType == "checkbox")
this.form.$column.javaField = this.form.${column.javaField}.join(",");
#end
#end
if (this.form.${pkColumn.javaField} != null) {
update${BusinessName}(this.form).then(response => {
this.#[[$modal]]#.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
add${BusinessName}(this.form).then(response => {
this.#[[$modal]]#.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
this.#[[$modal]]#.confirm('是否确认删除${functionName}编号为"' + row.${pkColumn.javaField} + '"的数据项?').then(function() {
return del${BusinessName}(row.${pkColumn.javaField});
}).then(() => {
this.getList();
this.#[[$modal]]#.msgSuccess("删除成功");
}).catch(() => {});
}
}
};
</script>

Some files were not shown because too many files have changed in this diff Show More