chenlu
2024-01-23 3ad02364ce97ab8188d18c52695c8b57b1e47ea6
Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override
40个文件已修改
20个文件已添加
1189 ■■■■ 已修改文件
north-glass-erp/.idea/.gitignore 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/.idea/compiler.xml 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/.idea/dataSources.local.xml 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/.idea/dataSources.xml 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/.idea/encodings.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/.idea/google-java-format.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/.idea/jarRepositories.xml 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/.idea/misc.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/.idea/north-glass-erp.iml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/.idea/sqldialects.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/.idea/uiDesigner.xml 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/.idea/vcs.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/package-lock.json 158 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/package.json 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/layout/MainErpView.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/router/index.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/stores/sd/product/productGlassType.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/ReturnToStorageCreate.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/mainProductStock/CreateProductStock.vue 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedGoodsIssue.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedProductOut.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedProductRework.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/mainProductStock/OrderAllocation.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/ProductionScheduling.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectProcessCard.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/OrderPlanDecomposition.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/ProcessCardProgress.vue 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/ProductionSchedule.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/SplittingDetailsOutside.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/TeamOutput.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/SelectReportingWorks.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/rework/AddRework.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/rework/SelectRework.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/product/Product.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/product/SelectProduct.vue 91 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/vite.config.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/pom.xml 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/controller/OrderController.java 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/controller/sd/ProductController.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/entity/Order.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/entity/mm/FinishedGoodsInventory.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/entity/mm/FinishedOperateLog.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/entity/sd/Product.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/OrderMapper.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/mm/FinishedGoodsInventoryMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/mm/FinishedOperateLogMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/sd/ProductMapper.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/IOrderService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/impl/OrderServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/sd/BasicGlassTypeServise.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/sd/ProductService.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/mm/FinishedGoodsInventory.xml 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/sd/Product.xml 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/test/java/com/example/erp/service/IOrderServiceTest.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/target/classes/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/target/classes/mapper/sd/Product.xml 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/.idea/.gitignore
New file
@@ -0,0 +1,8 @@
# 默认忽略的文件
/shelf/
/workspace.xml
# 基于编辑器的 HTTP 客户端请求
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
north-glass-erp/.idea/compiler.xml
New 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="erp" />
      </profile>
    </annotationProcessing>
  </component>
  <component name="JavacSettings">
    <option name="ADDITIONAL_OPTIONS_OVERRIDE">
      <module name="erp" options="-parameters" />
      <module name="north-glass-erp" options="-parameters" />
    </option>
  </component>
</project>
north-glass-erp/.idea/dataSources.local.xml
New file
@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="dataSourceStorageLocal" created-in="IU-232.9559.62">
    <data-source name="@localhost" uuid="521b6701-da00-48a8-bf4f-cf6bbb7d685d">
      <database-info product="MySQL" version="8.0.22" jdbc-version="4.2" driver-name="MySQL Connector/J" driver-version="mysql-connector-java-8.0.25 (Revision: 08be9e9b4cba6aa115f9b27b215887af40b159e0)" dbms="MYSQL" exact-version="8.0.22" exact-driver-version="8.0">
        <extra-name-characters>#@</extra-name-characters>
        <identifier-quote-string>`</identifier-quote-string>
        <jdbc-catalog-is-schema>true</jdbc-catalog-is-schema>
      </database-info>
      <case-sensitivity plain-identifiers="lower" quoted-identifiers="lower" />
      <secret-storage>master_key</secret-storage>
      <user-name>root</user-name>
      <schema-mapping>
        <introspection-scope>
          <node kind="schema">
            <name qname="@" />
            <name qname="erp_user_info" />
            <name qname="mm" />
            <name qname="pp" />
            <name qname="sd" />
          </node>
        </introspection-scope>
      </schema-mapping>
    </data-source>
    <data-source name="@10.153.19.150" uuid="2f24a638-142d-4401-9e71-359f1be8d502">
      <database-info product="MySQL" version="8.0.19" jdbc-version="4.2" driver-name="MySQL Connector/J" driver-version="mysql-connector-java-8.0.25 (Revision: 08be9e9b4cba6aa115f9b27b215887af40b159e0)" dbms="MYSQL" exact-version="8.0.19" exact-driver-version="8.0">
        <extra-name-characters>#@</extra-name-characters>
        <identifier-quote-string>`</identifier-quote-string>
        <jdbc-catalog-is-schema>true</jdbc-catalog-is-schema>
      </database-info>
      <case-sensitivity plain-identifiers="lower" quoted-identifiers="lower" />
      <secret-storage>master_key</secret-storage>
      <user-name>root</user-name>
      <schema-mapping>
        <introspection-scope>
          <node kind="schema">
            <name qname="@" />
            <name qname="erp_user_info" />
            <name qname="mm" />
            <name qname="pp" />
            <name qname="sd" />
          </node>
        </introspection-scope>
      </schema-mapping>
    </data-source>
  </component>
</project>
north-glass-erp/.idea/dataSources.xml
New file
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="DataSourceManagerImpl" format="xml" multifile-model="true">
    <data-source source="LOCAL" name="@localhost" uuid="521b6701-da00-48a8-bf4f-cf6bbb7d685d">
      <driver-ref>mysql.8</driver-ref>
      <synchronize>true</synchronize>
      <jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver>
      <jdbc-url>jdbc:mysql://localhost:3306</jdbc-url>
      <working-dir>$ProjectFileDir$</working-dir>
    </data-source>
    <data-source source="LOCAL" name="@10.153.19.150" uuid="2f24a638-142d-4401-9e71-359f1be8d502">
      <driver-ref>mysql.8</driver-ref>
      <synchronize>true</synchronize>
      <jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver>
      <jdbc-url>jdbc:mysql://10.153.19.150:3306</jdbc-url>
      <working-dir>$ProjectFileDir$</working-dir>
    </data-source>
  </component>
</project>
north-glass-erp/.idea/encodings.xml
New file
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="Encoding">
    <file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
  </component>
</project>
north-glass-erp/.idea/google-java-format.xml
New file
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="GoogleJavaFormatSettings">
    <option name="enabled" value="false" />
  </component>
</project>
north-glass-erp/.idea/jarRepositories.xml
New file
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="RemoteRepositoriesConfiguration">
    <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="Central Repository" />
      <option name="url" value="http://maven.aliyun.com/nexus/content/repositories/central/" />
    </remote-repository>
    <remote-repository>
      <option name="id" value="nexus-aliyun" />
      <option name="name" value="nexus-aliyun" />
      <option name="url" value="http://maven.aliyun.com/nexus/content/groups/public/" />
    </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>
north-glass-erp/.idea/misc.xml
New file
@@ -0,0 +1,14 @@
<project version="4">
  <component name="ExternalStorageConfigurationManager" enabled="true" />
  <component name="JavaScriptSettings">
    <option name="languageLevel" value="FLOW" />
  </component>
  <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="corretto-1.8" project-jdk-type="JavaSDK" />
</project>
north-glass-erp/.idea/north-glass-erp.iml
New file
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$" />
    <orderEntry type="inheritedJdk" />
    <orderEntry type="sourceFolder" forTests="false" />
  </component>
</module>
north-glass-erp/.idea/sqldialects.xml
New file
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="SqlDialectMappings">
    <file url="PROJECT" dialect="MySQL" />
  </component>
</project>
north-glass-erp/.idea/uiDesigner.xml
New file
@@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="Palette2">
    <group name="Swing">
      <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
      </item>
      <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
      </item>
      <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
      </item>
      <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
        <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
      </item>
      <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
        <initial-values>
          <property name="text" value="Button" />
        </initial-values>
      </item>
      <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
        <initial-values>
          <property name="text" value="RadioButton" />
        </initial-values>
      </item>
      <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
        <initial-values>
          <property name="text" value="CheckBox" />
        </initial-values>
      </item>
      <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
        <initial-values>
          <property name="text" value="Label" />
        </initial-values>
      </item>
      <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
          <preferred-size width="150" height="-1" />
        </default-constraints>
      </item>
      <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
          <preferred-size width="150" height="-1" />
        </default-constraints>
      </item>
      <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
          <preferred-size width="150" height="-1" />
        </default-constraints>
      </item>
      <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
      </item>
      <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
          <preferred-size width="200" height="200" />
        </default-constraints>
      </item>
      <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
          <preferred-size width="200" height="200" />
        </default-constraints>
      </item>
      <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
      </item>
      <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
      </item>
      <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
      </item>
      <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
      </item>
      <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
          <preferred-size width="-1" height="20" />
        </default-constraints>
      </item>
      <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
      </item>
      <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
      </item>
    </group>
  </component>
</project>
north-glass-erp/.idea/vcs.xml
New file
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="VcsDirectoryMappings">
    <mapping directory="$PROJECT_DIR$/.." vcs="Git" />
  </component>
</project>
north-glass-erp/northglass-erp/package-lock.json
@@ -18,7 +18,8 @@
        "vue": "^3.3.4",
        "vue-router": "^4.2.4",
        "vxe-table": "^4.5.15",
        "xe-utils": "^3.5.14"
        "xe-utils": "^3.5.14",
        "xlsx": "^0.18.5"
      },
      "devDependencies": {
        "@types/sortablejs": "^1.15.7",
@@ -778,6 +779,14 @@
        "node": ">=0.4.0"
      }
    },
    "node_modules/adler-32": {
      "version": "1.3.1",
      "resolved": "https://registry.npmmirror.com/adler-32/-/adler-32-1.3.1.tgz",
      "integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==",
      "engines": {
        "node": ">=0.8"
      }
    },
    "node_modules/anymatch": {
      "version": "3.1.3",
      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
@@ -842,6 +851,18 @@
        "node": ">=8"
      }
    },
    "node_modules/cfb": {
      "version": "1.2.2",
      "resolved": "https://registry.npmmirror.com/cfb/-/cfb-1.2.2.tgz",
      "integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==",
      "dependencies": {
        "adler-32": "~1.3.0",
        "crc-32": "~1.2.0"
      },
      "engines": {
        "node": ">=0.8"
      }
    },
    "node_modules/chokidar": {
      "version": "3.5.3",
      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
@@ -868,6 +889,14 @@
        "fsevents": "~2.3.2"
      }
    },
    "node_modules/codepage": {
      "version": "1.15.0",
      "resolved": "https://registry.npmmirror.com/codepage/-/codepage-1.15.0.tgz",
      "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==",
      "engines": {
        "node": ">=0.8"
      }
    },
    "node_modules/combined-stream": {
      "version": "1.0.8",
      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
@@ -877,6 +906,17 @@
      },
      "engines": {
        "node": ">= 0.8"
      }
    },
    "node_modules/crc-32": {
      "version": "1.2.2",
      "resolved": "https://registry.npmmirror.com/crc-32/-/crc-32-1.2.2.tgz",
      "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==",
      "bin": {
        "crc32": "bin/crc32.njs"
      },
      "engines": {
        "node": ">=0.8"
      }
    },
    "node_modules/csstype": {
@@ -1015,6 +1055,14 @@
      },
      "engines": {
        "node": ">= 6"
      }
    },
    "node_modules/frac": {
      "version": "1.1.2",
      "resolved": "https://registry.npmmirror.com/frac/-/frac-1.1.2.tgz",
      "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==",
      "engines": {
        "node": ">=0.8"
      }
    },
    "node_modules/fsevents": {
@@ -1337,6 +1385,17 @@
        "node": ">=0.10.0"
      }
    },
    "node_modules/ssf": {
      "version": "0.11.2",
      "resolved": "https://registry.npmmirror.com/ssf/-/ssf-0.11.2.tgz",
      "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==",
      "dependencies": {
        "frac": "~1.1.2"
      },
      "engines": {
        "node": ">=0.8"
      }
    },
    "node_modules/to-fast-properties": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
@@ -1474,10 +1533,46 @@
      "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz",
      "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw=="
    },
    "node_modules/wmf": {
      "version": "1.0.2",
      "resolved": "https://registry.npmmirror.com/wmf/-/wmf-1.0.2.tgz",
      "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==",
      "engines": {
        "node": ">=0.8"
      }
    },
    "node_modules/word": {
      "version": "0.3.0",
      "resolved": "https://registry.npmmirror.com/word/-/word-0.3.0.tgz",
      "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==",
      "engines": {
        "node": ">=0.8"
      }
    },
    "node_modules/xe-utils": {
      "version": "3.5.14",
      "resolved": "https://registry.npmjs.org/xe-utils/-/xe-utils-3.5.14.tgz",
      "integrity": "sha512-Xq6mS8dWwHBQsQUEBXcZYSaBV0KnNLoVWd0vRRDI3nKpbNxfs/LSCK0W21g1edLFnXYfKqg7hh5dakr3RtYY0A=="
    },
    "node_modules/xlsx": {
      "version": "0.18.5",
      "resolved": "https://registry.npmmirror.com/xlsx/-/xlsx-0.18.5.tgz",
      "integrity": "sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==",
      "dependencies": {
        "adler-32": "~1.3.0",
        "cfb": "~1.2.1",
        "codepage": "~1.15.0",
        "crc-32": "~1.2.1",
        "ssf": "~0.11.2",
        "wmf": "~1.0.1",
        "word": "~0.3.0"
      },
      "bin": {
        "xlsx": "bin/xlsx.njs"
      },
      "engines": {
        "node": ">=0.8"
      }
    }
  },
  "dependencies": {
@@ -1924,6 +2019,11 @@
      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz",
      "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw=="
    },
    "adler-32": {
      "version": "1.3.1",
      "resolved": "https://registry.npmmirror.com/adler-32/-/adler-32-1.3.1.tgz",
      "integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A=="
    },
    "anymatch": {
      "version": "3.1.3",
      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
@@ -1976,6 +2076,15 @@
        "fill-range": "^7.0.1"
      }
    },
    "cfb": {
      "version": "1.2.2",
      "resolved": "https://registry.npmmirror.com/cfb/-/cfb-1.2.2.tgz",
      "integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==",
      "requires": {
        "adler-32": "~1.3.0",
        "crc-32": "~1.2.0"
      }
    },
    "chokidar": {
      "version": "3.5.3",
      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
@@ -1991,6 +2100,11 @@
        "readdirp": "~3.6.0"
      }
    },
    "codepage": {
      "version": "1.15.0",
      "resolved": "https://registry.npmmirror.com/codepage/-/codepage-1.15.0.tgz",
      "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA=="
    },
    "combined-stream": {
      "version": "1.0.8",
      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
@@ -1998,6 +2112,11 @@
      "requires": {
        "delayed-stream": "~1.0.0"
      }
    },
    "crc-32": {
      "version": "1.2.2",
      "resolved": "https://registry.npmmirror.com/crc-32/-/crc-32-1.2.2.tgz",
      "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ=="
    },
    "csstype": {
      "version": "3.1.2",
@@ -2103,6 +2222,11 @@
        "combined-stream": "^1.0.8",
        "mime-types": "^2.1.12"
      }
    },
    "frac": {
      "version": "1.1.2",
      "resolved": "https://registry.npmmirror.com/frac/-/frac-1.1.2.tgz",
      "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA=="
    },
    "fsevents": {
      "version": "2.3.3",
@@ -2294,6 +2418,14 @@
      "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
      "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
    },
    "ssf": {
      "version": "0.11.2",
      "resolved": "https://registry.npmmirror.com/ssf/-/ssf-0.11.2.tgz",
      "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==",
      "requires": {
        "frac": "~1.1.2"
      }
    },
    "to-fast-properties": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
@@ -2369,10 +2501,34 @@
      "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz",
      "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw=="
    },
    "wmf": {
      "version": "1.0.2",
      "resolved": "https://registry.npmmirror.com/wmf/-/wmf-1.0.2.tgz",
      "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw=="
    },
    "word": {
      "version": "0.3.0",
      "resolved": "https://registry.npmmirror.com/word/-/word-0.3.0.tgz",
      "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA=="
    },
    "xe-utils": {
      "version": "3.5.14",
      "resolved": "https://registry.npmjs.org/xe-utils/-/xe-utils-3.5.14.tgz",
      "integrity": "sha512-Xq6mS8dWwHBQsQUEBXcZYSaBV0KnNLoVWd0vRRDI3nKpbNxfs/LSCK0W21g1edLFnXYfKqg7hh5dakr3RtYY0A=="
    },
    "xlsx": {
      "version": "0.18.5",
      "resolved": "https://registry.npmmirror.com/xlsx/-/xlsx-0.18.5.tgz",
      "integrity": "sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==",
      "requires": {
        "adler-32": "~1.3.0",
        "cfb": "~1.2.1",
        "codepage": "~1.15.0",
        "crc-32": "~1.2.1",
        "ssf": "~0.11.2",
        "wmf": "~1.0.1",
        "word": "~0.3.0"
      }
    }
  }
}
north-glass-erp/northglass-erp/package.json
@@ -18,7 +18,8 @@
    "vue": "^3.3.4",
    "vue-router": "^4.2.4",
    "vxe-table": "^4.5.15",
    "xe-utils": "^3.5.14"
    "xe-utils": "^3.5.14",
    "xlsx": "^0.18.5"
  },
  "devDependencies": {
    "@types/sortablejs": "^1.15.7",
north-glass-erp/northglass-erp/src/layout/MainErpView.vue
@@ -12,7 +12,6 @@
const router = useRouter()
const userStore = useUserInfoStore()
const user = userStore.user.userName
store.createWebSocket();
function quit(){
  userStore.$patch({
north-glass-erp/northglass-erp/src/router/index.js
@@ -52,6 +52,7 @@
              component: () => import('../views/sd/product/testSort.vue')
            },
            {
              name: 'product',
              path: '',
              redirect:'/main/product/selectProduct'
            }
north-glass-erp/northglass-erp/src/stores/sd/product/productGlassType.js
@@ -3,7 +3,7 @@
export  default defineStore("productGlassType",{
    state: () =>{
        let GlassType=$ref('')
        let GlassType=$ref(['',''])
        return {
            GlassType
        }
north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/ReturnToStorageCreate.vue
@@ -56,16 +56,6 @@
  ],//表头按钮
  toolbarConfig: {
    buttons: [
      {
        'name': '清除',
         'code':'add',
        status: 'primary',
      },
      {
        'name': '确定',
         'code':'add',
        status: 'primary',
      },
    ],
    import: false,
    export: true,
@@ -144,15 +134,14 @@
          </el-select>
        </el-col>
        <el-col  :span="2"><el-text>订单编号:</el-text></el-col>
        <el-col  :span="4"><el-input/></el-col>
        <el-col  :span="4"><el-text /></el-col>
        <el-col  :span="2"><el-text>项目名称:</el-text></el-col>
        <el-col  :span="4"><el-input/></el-col>
        <el-col  :span="4"><el-text /></el-col>
        <el-col  :span="2"><el-text>批次号:</el-text></el-col>
        <el-col  :span="4"><el-input/></el-col>
        <el-col  :span="4"><el-text /></el-col>
      </el-row>
    </div>
    <div class="order-detail">
      <vxe-grid
          max-height="97%"
          class="mytable-scrollbar"
@@ -160,7 +149,6 @@
          v-bind="gridOptions"
          v-on="gridEvents"
      >
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
@@ -171,6 +159,10 @@
      </vxe-grid>
      <el-row justify="center">
          <el-button  id="searchButton" type="primary" :icon="Search" style="margin-right:20px;">清除</el-button>
          <el-button  id="searchButton" type="primary" :icon="save" style="margin-left:20px;">确定</el-button>
      </el-row>
    </div>
  </div>
</template>
north-glass-erp/northglass-erp/src/views/mm/mainProductStock/CreateProductStock.vue
@@ -5,9 +5,9 @@
let router=useRouter()
const getTableRow = (row,type) =>{
  switch (type) {
    case 'add' :{
      alert('入库成功后,跳转到库存查询页面,库存数据增加一条!!!')
      router.push({path: '/main/productStock/ProductStockList', query: { id: row.id }})
    case 'edit' :{
      //alert('我接收到子组件传送的编辑信息')
      router.push({path: '/main/productStock/OrderAllocation', query: { id: row.id }})
      break
    }
    case 'back':{
@@ -201,10 +201,8 @@
    if ($grid) {
      switch (code) {
        case 'add': {
          alert('入库成功后,跳转到库存查询页面,库存数据增加一条!!!')
          router.push({path: '/main/productStock/ProductStockList'})
          alert('我接收到子组件传送的编辑信息')
          return;
          break
        }
      }
north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedGoodsIssue.vue
@@ -31,9 +31,9 @@
    if($grid){
      switch (code){
        case 'verify':{
          alert('领出成功,返回库存查询页面,库存数据减少一条!!!')
          router.push({path: '/main/productStock/ProductStockList'});
          return;
          alert('我接收到子组件传送的编辑信息')
          // router.push({path: '/main/productStock/OrderAllocation'});
          // return;
          break
        }
        case 'out':{
north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedProductOut.vue
@@ -29,9 +29,9 @@
    if($grid){
      switch (code){
        case 'ver':{
          alert('出库成功后,跳转到库存查询页面,数据减少一条!!!')
          router.push({path: '/main/productStock/ProductStockList'});
          return;
          alert('我接收到子组件传送的编辑信息')
          // router.push({path: '/main/productStock/OrderAllocation'});
          // return;
          break
        }
        case 'record':{
north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedProductRework.vue
@@ -32,9 +32,9 @@
    if($grid){
      switch (code){
        case 'ver':{
          alert('返工成功!!!')
          // router.push({path: '/main/productStock/ProductStockList'});
          return;
          alert('我接收到子组件传送的编辑信息')
          // router.push({path: '/main/productStock/OrderAllocation'});
          // return;
          break
        }
        case 'record':{
north-glass-erp/northglass-erp/src/views/mm/mainProductStock/OrderAllocation.vue
@@ -9,20 +9,17 @@
const getTableRow = (row,type) =>{
  switch (type) {
    case 'edit' :{
      alert('调拨成功后,跳转回库存查询页面')
      router.push({path: '/main/productStock/ProductStockList'});
      return;
      alert('我接收到子组件传送的编辑信息')
      // router.push({path: '/main/productStock/OrderAllocation', query: { id: row.id }})
      break
    }
    case 'back':{
      router.push({path: '/main/productStock/FinishedProductRework', query: { id: row.id }})
      return;
      break
    }
    case 'out' :{
      //alert('我接收到子组件传送的编辑信息')
      router.push({path: '/main/productStock/FinishedGoodsIssue', query: { id: row.id }})
      return;
      break
    }
  }
@@ -177,9 +174,9 @@
    if($grid){
      switch (code){
        case 'edit':{
          alert('调拨成功后,跳转回库存查询页面')
          router.push({path: '/main/productStock/ProductStockList'});
          return;
          alert('我接收到子组件传送的编辑信息')
          // router.push({path: '/main/productStock/OrderAllocation'});
          // return;
          break
        }
        case 'record':{
north-glass-erp/northglass-erp/src/views/pp/processCard/ProductionScheduling.vue
@@ -67,13 +67,13 @@
    { type: 'checkbox',fixed:"left", title: '选择', width: 80 },
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    {field: '排产编号', title: '排产编号', sortable: true, width: 120 },
    {field: '销售单号', title: '销售单号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, width: 100 },
    {field: '客户名称', title: '客户名称', filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, width: 110},
    {field: '项目名称', title: '项目名称', filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, width: 120},
    {field: '销售单号', title: '销售单号',slots: { filter: 'num1_filter' }, sortable: true, width: 100 },
    {field: '客户名称', title: '客户名称', sortable: true, width: 110},
    {field: '项目名称', title: '项目名称', sortable: true , width: 100},
    {field: '序号', title: '序号', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }, width: 90},
    {field: '产品名称', title: '产品名称', filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, width: 140},
    {field: '宽', title: '宽', filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, width: 90},
    {field: '高', title: '高',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true , width: 90},
    {field: '产品名称', title: '产品名称', sortable: true, width: 140},
    {field: '宽', title: '宽', sortable: true , width: 70},
    {field: '高', title: '高', sortable: true , width: 70},
    {field: '数量', title: '数量', sortable: true , width: 70},
    {field: '面积', title: '面积', sortable: true , width: 90},
    {field: '排产数量' , width: 120,editRender: { name: 'input', attrs: { placeholder: '' } }, title: '排产数量', sortable: true},
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectProcessCard.vue
@@ -68,7 +68,7 @@
    {field: '流程卡号', width: 120, title: '流程卡号', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: '产品编号', title: '产品编号', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: '产品名称', title: '产品名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: '项目名称', title: '项目名称', filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: '项目名称', title: '项目名称', sortable: true,showOverflow:"ellipsis"},
    {field: '总数量', title: '总数量', sortable: true},
    {field: '总面积', title: '总面积', sortable: true},
    {field: '分箱数', title: '分箱数', sortable: true,showOverflow:"ellipsis"},
north-glass-erp/northglass-erp/src/views/pp/report/OrderPlanDecomposition.vue
@@ -69,7 +69,7 @@
    {field: '4',width: 120, title: '数量',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: '5', width: 100,title: '面积', sortable: true,showOverflow:"ellipsis"},
    {field: '6', width: 100,title: '订单交接时间', sortable: true},
    {field: '7',width: 100, title: '销售单号', filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: '7',width: 100, title: '销售单号', sortable: true},
    {field: '8',width: 120, title: '开始切割时间', sortable: true,showOverflow:"ellipsis"},
    {field: '9', width: 120,title: '流转工序', sortable: true},
    {field: '10', width: 120,title: '完工数量', sortable: true},
north-glass-erp/northglass-erp/src/views/pp/report/ProcessCardProgress.vue
@@ -37,7 +37,7 @@
  keepSource: true,//保持源数据
  align: 'center',//文字居中
  stripe:true,//斑马纹
  rowConfig: {isCurrent: true, isHover: true,height: 50},//鼠标移动或选择高亮
  rowConfig: {isCurrent: true, isHover: true,height: 30},//鼠标移动或选择高亮
  id: 'CustomerList',
  showFooter: true,//显示脚
  printConfig: {},
@@ -127,20 +127,20 @@
    },
  ],//table body实际数据
  //脚部求和
  footerMethod ({ columns, data }) {//页脚函数
    let footList=['7','8','9','10']
    return[
      columns.map((column, columnIndex) => {
        if (columnIndex === 0) {
          return '合计:'
        }
        if (footList.includes(column.field)) {
          return sumNum(data, column.field)
        }
        return ''
      })
    ]
  }
  // footerMethod ({ columns, data }) {//页脚函数
  //   let footList=['7','8','9','10']
  //   return[
  //     columns.map((column, columnIndex) => {
  //       if (columnIndex === 0) {
  //         return '合计:'
  //       }
  //       if (footList.includes(column.field)) {
  //         return sumNum(data, column.field)
  //       }
  //       return ''
  //     })
  //   ]
  // }
})
@@ -184,17 +184,17 @@
</script>
<template>
  <div class="main-div-customer">
  <div class="main-div-customer" >
    <div id="selectForm">
      <el-row :gutter="0">
        <el-input placeholder="销售单号" v-model="form.name" style="width: 150px"/>
        <el-input placeholder="销售单号" v-model="form.name" value="NG23110102" style="width: 150px"/>
        &nbsp;&nbsp;
        <el-button type="primary">查询</el-button>
      </el-row>
    </div>
    <vxe-grid
        max-height="100%"
       height="400px"
        @filter-change="filterChanged"
        class="mytable-scrollbar"
        ref="xGrid"
north-glass-erp/northglass-erp/src/views/pp/report/ProductionSchedule.vue
@@ -2,6 +2,7 @@
import {reactive, ref} from "vue";
import {useRouter} from  'vue-router'
let router=useRouter()
const getTableRow = (row,type) =>{
  switch (type) {
@@ -272,7 +273,6 @@
  { row: 0, col: 4, rowspan: 3, colspan: 0},
  { row: 3, col: 4, rowspan: 3, colspan: 0},
])
north-glass-erp/northglass-erp/src/views/pp/report/SplittingDetailsOutside.vue
@@ -67,7 +67,7 @@
    {field: '2',width: 100, title: '序号', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: '3', width: 100,title: '落架顺序', sortable: true,},
    {field: '4',width: 120, title: '项目名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: '5', width: 100,title: '批次', filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: '5', width: 100,title: '批次', sortable: true,showOverflow:"ellipsis"},
    {field: '6', width: 100,title: '楼层编号', sortable: true},
    {field: '7',width: 90, title: '宽', sortable: true},
    {field: '8',width: 90, title: '高', sortable: true,showOverflow:"ellipsis"},
north-glass-erp/northglass-erp/src/views/pp/report/TeamOutput.vue
@@ -67,7 +67,7 @@
    {field: '2',width: 120, title: '工序', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: '3', width: 130,title: '班组名称', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: '4',width: 120, title: '项目名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: '5', width: 100,title: '流程卡号', filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: '5', width: 100,title: '流程卡号', sortable: true,showOverflow:"ellipsis"},
    {field: '6', width: 100,title: '产品大类', sortable: true},
    {field: '7',width: 100, title: '产品小类', sortable: true},
    {field: '8',width: 120, title: '在制品名称', sortable: true,showOverflow:"ellipsis"},
north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue
@@ -67,7 +67,7 @@
    {field: '2',width: 120, title: '流程卡号', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: '3', width: 130,title: '客户名称', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: '4',width: 120, title: '项目名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: '5', width: 100,title: '批次', filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: '5', width: 100,title: '批次', sortable: true,showOverflow:"ellipsis"},
    {field: '6', width: 100,title: '序号', sortable: true},
    {field: '7',width: 100, title: '形状', sortable: true},
    {field: '8',width: 120, title: '楼层编号', sortable: true,showOverflow:"ellipsis"},
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/SelectReportingWorks.vue
@@ -68,7 +68,7 @@
    {field: 'reportingWorkTime',width: 120, title: '报工时间', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'processCard', width: 130,title: '流程卡号', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'entryName',width: 120, title: '项目名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'batch', width: 100,title: '批次', filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'batch', width: 100,title: '批次', sortable: true,showOverflow:"ellipsis"},
    {field: 'device', width: 100,title: '设备', sortable: true},
    {field: 'thisProcess',width: 100, title: '本工序', sortable: true},
    {field: 'finishedNumber',width: 120, title: '本工序完工', sortable: true,showOverflow:"ellipsis"},
north-glass-erp/northglass-erp/src/views/pp/rework/AddRework.vue
@@ -70,7 +70,7 @@
    {field: 'salesOrderNo',width: 120, title: '销售单号', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'processCardNo',width: 120, title: '流程卡号', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'entryName', width: 120,title: '项目名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'batch',width: 100, title: '批次', filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'batch',width: 80, title: '批次', sortable: true,showOverflow:"ellipsis"},
    {field: 'serialNumber',width: 80, title: '序号', sortable: true},
    {field: 'singlePieceName',width: 120, title: '单片名称', sortable: true},
    {field: 'marking',width: 80, title: '标记', sortable: true,showOverflow:"ellipsis"},
north-glass-erp/northglass-erp/src/views/pp/rework/SelectRework.vue
@@ -83,7 +83,7 @@
    {field: 'salesOrderNo',width: 120, title: '销售单号', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'processCardNo',width: 120, title: '流程卡号', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'entryName', width: 120,title: '项目名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'batch',width: 100, title: '批次', filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'batch',width: 80, title: '批次', sortable: true,showOverflow:"ellipsis"},
    {field: 'serialNumber',width: 80, title: '序号', sortable: true},
    {field: 'singlePieceName',width: 120, title: '单片名称', sortable: true},
    {field: 'marking',width: 80, title: '标记', sortable: true,showOverflow:"ellipsis"},
north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
@@ -1,8 +1,9 @@
<script setup>
  import {Search} from "@element-plus/icons-vue"
  import {useRouter} from "vue-router"
  import {reactive} from "vue";
  import {reactive, ref} from "vue";
  const router = useRouter()
  import ProcessCardProgress from '@/views/pp/report/ProcessCardProgress.vue'
  const getTableRow = (row,type) =>{
    switch (type) {
@@ -138,9 +139,11 @@
    }
  })
  const dialogTableVisible = ref(false)
const cellClickEvent =()=>{
    dialogTableVisible.value = true
}
@@ -156,6 +159,7 @@
    />
    <el-button style="margin-top: -5px"  id="searchButton" type="primary" :icon="Search">查询</el-button>
    <vxe-grid
        @cell-dblclick="cellClickEvent"
        max-height="97%"
        class="mytable-scrollbar"
        ref="xGrid"
@@ -191,7 +195,9 @@
      </template>
    </vxe-grid>
    <el-dialog v-model="dialogTableVisible" title="流程卡进度" style="width: 80%;height:75% ">
      <ProcessCardProgress style="width: 100%;height: 100%" />
    </el-dialog>
  </div>
</template>
north-glass-erp/northglass-erp/src/views/sd/product/Product.vue
@@ -21,7 +21,7 @@
       <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/product/selectProduct' }">产品首页</el-breadcrumb-item>
       <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/product/createProduct' }">创建</el-breadcrumb-item>
<!--       <el-breadcrumb-item :to="{ path: '/main/product/test' }">测试</el-breadcrumb-item>-->
       <el-breadcrumb-item :to="{ path: '/main/product/testSort' }">测试</el-breadcrumb-item>
<!--       <el-breadcrumb-item :to="{ path: '/main/product/testSort' }">测试</el-breadcrumb-item>-->
       <el-breadcrumb-item v-show="false" :to="{ path: '/main/product/test1' }">测试</el-breadcrumb-item>
     </el-breadcrumb>
north-glass-erp/northglass-erp/src/views/sd/product/SelectProduct.vue
@@ -13,10 +13,19 @@
let productGlassTypeStore = useProductGlassTypeStore()
let router=useRouter()
//监听玻璃类型改变
let productList = ref([])
let glassType = ref([])
watch(productGlassTypeStore,(newVal,oldVal) => {
  let list = productList.filter( product=>{
    return  product.glassType==newVal.GlassType
  request.post("/product/1/100/"+productGlassTypeStore.GlassType,filterData.value).then((res) => {
    if(res.code==200){
      xGrid.value.loadData(res.data)
      gridOptions.loading=false
    }else{
      ElMessage.warning(res.msg)
    }
  })
})
let scrollTop =ref(null)
@@ -28,7 +37,11 @@
  scrollHeight.value = row.$event.target.scrollHeight
  clientHeight.value = row.$event.target.clientHeight
}
let filterData = ref({
  basicGlassType:{
    typeName:''
  }
})
let produceList = ref([])
let pageNum=$ref(1)
@@ -67,7 +80,7 @@
  }
  if(pageState!==null){
    gridOptions.loading=true
    request.get(`/product/${pageNum}/100`).then((res) => {
    request.post(`/product/${pageNum}/100/${productGlassTypeStore.GlassType}`,filterData.value).then((res) => {
      try{
        if(res.code==200){
          if(pageState){
@@ -93,23 +106,16 @@
  }
    //后端获取有多少页,超过多少页不再请求
    /*if(pageNum>5){
      console.log(newVal.pageNum)
      return
    }*/
})
request.get("/product/1/100").then((res) => {
request.post("/product/1/100/"+productGlassTypeStore.GlassType,filterData.value).then((res) => {
  if(res.code==200){
    console.log(res.data)
    produceList = produceList.value.concat(deepClone(res.data))
    xGrid.value.reloadData(produceList)
    gridOptions.loading=false
  }else{
    ElMessage.warning(res.msg)
    router.push("/login")
  }
})
@@ -167,17 +173,18 @@
    showStatus: true
  },
  columns:[
    {type:'expand',fixed:"left",slots: { content:'content' },width: 50},
    {type:'expand',fixed:"left",slots: { content:'content' },width: 60},
    {type: 'seq',fixed:"left", title: '自序', width: 80 },
    {title: '操作', width: 110, slots: { default: 'button_slot' },fixed:"left"},
    {field: 'id', title: '编号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'product', title: '名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'glassTypes.typeName', title: '所属类别',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'query', title: '快速查询',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'remarks', title: '备注',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'creator', title: '创建人',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'createTime', title: '创建时间',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}
    {field: 'id', title: '编号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: false},
    {field: 'productName', title: '名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: false},
    {field: 'basicGlassType.typeName', title: '所属类别',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: false},
    {field: 'query', title: '快速查询',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: false},
    {field: 'remarks', title: '备注',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: false},
    {field: 'creator', title: '创建人',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: false},
    {field: 'createTime', title: '创建时间',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: false}
  ],//表头参数
  data:null,//表格数据
  toolbarConfig: {
    buttons: [],
    import: false,
@@ -190,7 +197,7 @@
    return[
      columns.map((column, columnIndex) => {
        if (columnIndex === 0) {
          return '合计:'
          return '页数:'
        }
        return ''
      })
@@ -199,7 +206,7 @@
})
//表格拖拽
let sortable2: any
const columnDrop2 = () => {
@@ -250,6 +257,39 @@
  }
})
const changeFilterEvent = (event, option, $panel,) => {
  // 手动触发筛选
  $panel.changeOption(event, !!option.data, option)
}
function filterChanged(column){
  gridOptions.loading=true
  //筛选条件发生变化条件发生变化
  let value = column.datas[0]!=undefined?column.datas[0]:''
  value = value.trim()
  //判断是否存在外键
  if (column.property.indexOf('.')>-1){
    const  columnArr = column.property.split('.')
    filterData.value[columnArr[0]] = {
      [columnArr[1]]:value
    }
  }else{
    filterData.value[column.property] = value
  }
  request.post("/product/1/100/"+productGlassTypeStore.GlassType,filterData.value).then((res) => {
    if(res.code==200){
      produceList = deepClone(res.data)
      xGrid.value.loadData(produceList)
      gridOptions.loading=false
    }else{
      ElMessage.warning(res.msg)
    }
  })
}
const hasDecimal = (value) => {
  const regex = /\./; // 定义正则表达式,查找小数点
  return regex.test(value); // 返回true/false
  }
</script>
@@ -264,6 +304,7 @@
    <vxe-grid
        @filter-change="filterChanged"
        max-height="100%"
        class="mytable-scrollbar"
        ref="xGrid"
@@ -278,7 +319,9 @@
        <ul class="expand-wrapper">
          <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{item.title+':  '}}</span>
            <span>{{ row[item.field] }}</span>
            <span v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span>
            <span v-else>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
north-glass-erp/northglass-erp/vite.config.js
@@ -28,6 +28,4 @@
      }
    }
  }
})
north-glass-erp/pom.xml
@@ -120,11 +120,6 @@
            <version>1.2.24</version>
            <scope>import</scope>
        </dependency>
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-api</artifactId>
            <version>7.0</version>
        </dependency>
    </dependencies>
@@ -146,7 +141,7 @@
    </build>
    <repositories>
    <!--<repositories>
        <repository>
            <id>nexus-aliyun</id>
            <name>nexus-aliyun</name>
@@ -172,5 +167,5 @@
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>
    </pluginRepositories>-->
</project>
north-glass-erp/src/main/java/com/example/erp/controller/OrderController.java
@@ -15,26 +15,26 @@
    @Autowired
    private OrderMapper orderMapper;
    @GetMapping //查询order表结果集
    public Result index(){
        return Result.seccess(orderMapper.findAll());
    }
    @PostMapping  //插入
    public Integer save(@RequestBody Order order) {
        return orderMapper.insert(order);
    }
    @PostMapping("/update")
    public Integer updateOrder(@RequestBody Order order) {
        return orderMapper.update(order.getId(),order.getOrderid());
    }
    @DeleteMapping("/{id}") //删除数据
    public Integer delete(@PathVariable Integer id) {
        return orderMapper.deleteById(id);
    }
//    @GetMapping //查询order表结果集
//    public Result index(){
//        return Result.seccess(orderMapper.findAll());
//
//    }
//
//    @PostMapping  //插入
//    public Integer save(@RequestBody Order order) {
//        return orderMapper.insert(order);
//    }
//
//    @PostMapping("/update")
//    public Integer updateOrder(@RequestBody Order order) {
//        return orderMapper.update(order.getId(),order.getOrderid());
//    }
//
//    @DeleteMapping("/{id}") //删除数据
//    public Integer delete(@PathVariable Integer id) {
//        return orderMapper.deleteById(id);
//    }
    
}
north-glass-erp/src/main/java/com/example/erp/controller/sd/ProductController.java
@@ -1,9 +1,13 @@
package com.example.erp.controller.sd;
import com.example.erp.common.Result;
import com.example.erp.entity.sd.Product;
import com.example.erp.service.sd.ProductService;
import org.apache.ibatis.annotations.Delete;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/product")
@@ -11,8 +15,9 @@
    @Autowired
    ProductService productService;
    @GetMapping("/{pageNum}/{pageSize}")
    public Result defaultDateProduct(@PathVariable Integer pageNum, @PathVariable Integer pageSize){
        return Result.seccess(productService.defaultDateProduct(pageNum,pageSize));
    @PostMapping  ("/{pageNum}/{pageSize}/{glassType}")
    public Result defaultDateProduct(@PathVariable Integer pageNum, @PathVariable Integer pageSize, @PathVariable List<String> glassType, @RequestBody Product product){
        return Result.seccess(productService.defaultDateProduct(pageNum,pageSize,glassType,product));
    }
}
north-glass-erp/src/main/java/com/example/erp/entity/Order.java
@@ -2,23 +2,25 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@Data  //lombok 简写java代码 实体类的get与set
@TableName("`order`")
public class Order {
    @TableId(type = IdType.AUTO)
    private  Integer id;
    private  String orderid;
    private  String recipeno;
    private  String largeglassno;
    private  String largeglasscompleted;
    private  String smallglassno;
    private  String smallglasscompleted;
    private  String smallglassprocessing;
    private  String smallglassworn;
    private  String orderstatus;
    private  String ordermaker;
    private  String maketime;
    private  String updatetime;
    private  String orderId;
    private  String recipeNo;
    private  String largeglassNo;
    private  String largeglassCompleted;
    private  String smallglassNo;
    private  String smallglassCompleted;
    private  String smallglassProcessing;
    private  String smallglassWorn;
    private  String orderStatus;
    private  String orderMaker;
    private  String makeTime;
    private  String updateTime;
}
north-glass-erp/src/main/java/com/example/erp/entity/mm/FinishedGoodsInventory.java
@@ -13,28 +13,18 @@
    @TableId(type = IdType.AUTO)
    private Long id;
    private Integer deliveryState;
    private Integer stockState;
    private String deliveryId;
    private String project;
    private String customerName;
    private LocalDate deliveryDate;
    private String payMethod;
    private LocalDate payDate;
    private String salaManId;
    private String salaMan;
    private String createrId;
    private String creator;
    private String contacts;
    private String contactNumber;
    private String deliveryAddress;
    private String orderId;
    private Integer orderNumber;
    private Integer inventory    ;
    private Double actualSignalArea;
    private Double area;
    private Integer quantity;
    private Double money;
    private String remarks;
    private LocalDate createTime;
    private Integer quantityAvailable;
    private String warehouseNumber;
    private LocalDate storageRegion;
    private Integer status;
    private LocalDate enterStorageTime;
    private String remark;
    private LocalDate updateTime;
    private Order order;
    private Customer customer;
    private LocalDate endTime;
}
north-glass-erp/src/main/java/com/example/erp/entity/mm/FinishedOperateLog.java
New file
@@ -0,0 +1,22 @@
package com.example.erp.entity.mm;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.time.LocalDate;
@Data
public class FinishedOperateLog {
    @TableId(type = IdType.AUTO)
    private Long id;
    private String operationOrderNumber;
    private Long productNumber;
    private Integer operationNumber    ;
    private String operateType;
    private String operator;
    private LocalDate operateTime;
}
north-glass-erp/src/main/java/com/example/erp/entity/sd/Product.java
@@ -4,8 +4,6 @@
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.time.LocalDate;
@Data
@@ -22,6 +20,6 @@
    private String creator;
    private LocalDate createTime;
    private LocalDate updateTime;
    private BasicGlassType basicGlassType;
}
north-glass-erp/src/main/java/com/example/erp/mapper/OrderMapper.java
@@ -1,23 +1,23 @@
package com.example.erp.mapper;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.erp.entity.Order;
import org.apache.ibatis.annotations.*;
import java.util.List;
@Mapper
@DS("gmms")
public interface OrderMapper {
public interface OrderMapper extends BaseMapper<Order> {
    @Select("select * from `order`")
    List<Order> findAll();
    @Insert("INSERT `order`(order_id)VALUES(#{order_id})")
    Integer insert(Order order);
    @Delete("delete from `order` where id=#{id}")
    Integer deleteById(@Param("id") Integer id);
    @Update("update `order` set order_id=#{order_id} where id=#{id}")
    Integer update(@Param("id") Integer id,@Param("order_id") String order_id);
//    @Select("select * from `order`")
//    List<Order> findAll();
//
//    @Insert("INSERT `order`(order_id)VALUES(#{order_id})")
//    Integer insert(Order order);
//
//    @Delete("delete from `order` where id=#{id}")
//    Integer deleteById(@Param("id") Integer id);
//
//    @Update("update `order` set order_id=#{order_id} where id=#{id}")
//    Integer update(@Param("id") Integer id,@Param("order_id") String order_id);
}
north-glass-erp/src/main/java/com/example/erp/mapper/mm/FinishedGoodsInventoryMapper.java
New file
@@ -0,0 +1,12 @@
package com.example.erp.mapper.mm;
import com.example.erp.entity.mm.FinishedGoodsInventory;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface FinishedGoodsInventoryMapper {
    List<FinishedGoodsInventory> defaultProduct(@Param("offset") Integer offset, @Param("pageSize") Integer pageSize);
}
north-glass-erp/src/main/java/com/example/erp/mapper/mm/FinishedOperateLogMapper.java
New file
@@ -0,0 +1,12 @@
package com.example.erp.mapper.mm;
import com.example.erp.entity.mm.FinishedOperateLog;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface FinishedOperateLogMapper {
    List<FinishedOperateLog> defaultProduct(@Param("offset") Integer offset, @Param("pageSize") Integer pageSize);
}
north-glass-erp/src/main/java/com/example/erp/mapper/sd/ProductMapper.java
@@ -8,5 +8,8 @@
@Mapper
public interface ProductMapper {
    List<Product> defaultProduct(@Param("offset") Integer offset, @Param("pageSize") Integer pageSize);
    List<Product> defaultProduct(@Param("offset") Integer offset,
                                 @Param("pageSize") Integer pageSiz,
                                 @Param("glassTypeId") String glassTypeId,
                                 @Param("product") Product product);
}
north-glass-erp/src/main/java/com/example/erp/service/IOrderService.java
New file
@@ -0,0 +1,2 @@
package com.example.erp.service;public interface IOrderService {
}
north-glass-erp/src/main/java/com/example/erp/service/impl/OrderServiceImpl.java
New file
@@ -0,0 +1,13 @@
package com.example.erp.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.erp.entity.Order;
import com.example.erp.mapper.OrderMapper;
import com.example.erp.service.IOrderService;
import org.springframework.stereotype.Service;
@Service
@DS("erp_sd")
public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements IOrderService {
}
north-glass-erp/src/main/java/com/example/erp/service/sd/BasicGlassTypeServise.java
@@ -10,7 +10,7 @@
import java.util.*;
@Service
@DS("erp_sd")
@DS("sd")
public class BasicGlassTypeServise {
    @Autowired
    BasicGlassTypeMapper basicGlassTypeMapper;
north-glass-erp/src/main/java/com/example/erp/service/sd/ProductService.java
@@ -6,15 +6,25 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
@DS("erp_sd")
@DS("sd")
public class ProductService {
    @Autowired
    ProductMapper productMapper;
    public List<Product> defaultDateProduct(Integer pageNum,Integer pageSize) {
    public Map<String,Object> defaultDateProduct(Integer pageNum, Integer pageSize, List<String> glassType, Product product) {
        Integer offset = (pageNum-1)*pageSize;
        return productMapper.defaultProduct(offset,pageSize);
        String glassTypeId = null;
        if(glassType.size()>1){
            glassTypeId = glassType.get(1);
        }
        Map<String,Object> map = new HashMap<>();
        map.put("list",productMapper.defaultProduct(offset,pageSize,glassTypeId,product));
        map.put("pageNum",pageNum);
        return map;
    }
}
north-glass-erp/src/main/resources/application.yml
@@ -14,7 +14,7 @@
          username: root
          password: beibo.123/
          driver-class-name: com.mysql.cj.jdbc.Driver
        erp_sd:
        sd:
          url: jdbc:mysql://10.153.19.150:3306/sd?serverTimezone=GMT%2b8
          username: root
          password: beibo.123/
north-glass-erp/src/main/resources/mapper/mm/FinishedGoodsInventory.xml
New file
@@ -0,0 +1,29 @@
<?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.example.erp.mapper.sd.ProductMapper">
    <select id="defaultProduct">
        select
            a.id,
            prodID,
            product,
            glassType,
            typeName,
            totalThickness,
            thickness,
            Query,
            remarks,
            state,
            creator,
            date(a.createTime) as 'createTime',
            updateTime
        from
            product as a
        left join basic_glass_type bgt on bgt.typeID = a.glassType
        order by id desc
        limit #{offset},#{pageSize}
        ;
    </select>
</mapper>
north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml
New file
@@ -0,0 +1,29 @@
<?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.example.erp.mapper.sd.ProductMapper">
    <select id="defaultProduct">
        select
            a.id,
            prodID,
            product,
            glassType,
            typeName,
            totalThickness,
            thickness,
            Query,
            remarks,
            state,
            creator,
            date(a.createTime) as 'createTime',
            updateTime
        from
            product as a
        left join basic_glass_type bgt on bgt.typeID = a.glassType
        order by id desc
        limit #{offset},#{pageSize}
        ;
    </select>
</mapper>
north-glass-erp/src/main/resources/mapper/sd/Product.xml
@@ -3,42 +3,73 @@
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.erp.mapper.sd.ProductMapper">
    <resultMap id="productmap" type="com.example.erp.entity.sd.Product" >
        <id column="id" property="id"/>
<<<<<<< HEAD
        <result column="product_name" property="productName"/>
=======
        <result column="product" property="product"/>
>>>>>>> 2bf272a9d41a2b6c67910b23371af9537a9153a5
        <result column="total_thickness" property="totalThickness"/>
        <result column="thickness" property="thickness"/>
        <result column="query" property="query"/>
        <result column="remarks" property="remarks"/>
        <result column="state" property="state"/>
        <result column="creator" property="creator"/>
        <result column="create_time" property="createTime"/>
        <result column="update_time" property="updateTime"/>
<<<<<<< HEAD
        <association property="basicGlassType" javaType="com.example.erp.entity.sd.BasicGlassType">
            <result column="type_id" property="typeID"/>
=======
        <association property="glassType" javaType="com.example.erp.entity.sd.GlassType">
            <result column="type_id" property="typeId"/>
>>>>>>> 2bf272a9d41a2b6c67910b23371af9537a9153a5
            <result column="type_name" property="typeName"/>
        </association>
        <!--<result column="g_typeId" property="glassTypes.typeId"/>
        <result column="g_type" property="glassTypes.type"/>-->
<resultMap id="productmap" type="com.example.erp.entity.sd.Product" >
    <id column="id" property="id"/>
    <result column="product" property="product"/>
    <result column="total_thickness" property="totalThickness"/>
    <result column="thickness" property="thickness"/>
    <result column="query" property="query"/>
    <result column="remarks" property="remarks"/>
    <result column="state" property="state"/>
    <result column="creator" property="creator"/>
    <result column="create_time" property="createTime"/>
    <result column="update_time" property="updateTime"/>
    <association property="glassTypes" javaType="com.example.erp.entity.sd.GlassType">
        <result column="type_id" property="typeId"/>
        <result column="type_name" property="typeName"/>
    </association>
    <!--<result column="g_typeId" property="glassTypes.typeId"/>
    <result column="g_type" property="glassTypes.type"/>-->
</resultMap>
    </resultMap>
    <select id="defaultProduct" resultMap="productmap">
        select a.id                as id,
               a.product,
               a.total_thickness,
               a.thickness,
               a.query,
               a.remarks,
               a.state,
               a.creator,
               date(a.create_time) as create_time,
               a.update_time       as update_time,
               bgt.type_id         as type_id,
               bgt.type            as type
        select a.id as id,
        a.product_name,
        a.total_thickness,
        a.thickness,
        a.query,
        a.remarks,
        a.state,
        a.creator,
        date(a.create_time) as create_time,
        a.update_time       as update_time,
        a.type_id         as type_id,
        bgt.type_name
        from product as a
                 left join glass_type bgt on bgt.type_id = a.type_id
        left join basic_glass_type bgt on bgt.type_id = a.type_id
        <where>
            <if test="glassTypeId != null and glassTypeId != ''">
                and a.type_id regexp #{glassTypeId}
            </if>
            <if test="product.id != null and product.id != ''">
                and a.id regexp #{product.id}
            </if>
            <if test="product.productName != null and product.productName != ''">
                and a.product_name regexp #{product.productName}
            </if>
            <if test="product.basicGlassType.typeName != null and product.basicGlassType.typeName!= ''">
                and bgt.type_name regexp #{product.basicGlassType.typeName}
            </if>
            <if test="product.query != null and product.query != ''">
                and a.query regexp #{product.query}
            </if>
            <if test="product.creator != null and product.creator != ''">
                and a.creator regexp #{product.creator}
            </if>
            <if test="product.createTime != null and product.createTime != ''">
                and date(a.create_time) regexp #{product.createTime}
            </if>
        </where>
        order by id desc
        limit #{offset},#{pageSize}
north-glass-erp/src/test/java/com/example/erp/service/IOrderServiceTest.java
New file
@@ -0,0 +1,16 @@
package com.example.erp.service;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class IOrderServiceTest {
    @Autowired
    private IOrderService iOrderService;
    @Test
    void  testGetOrderList() {
        // 测试获取订单列表的方法
    }
}
north-glass-erp/target/classes/application.yml
@@ -14,7 +14,7 @@
          username: root
          password: beibo.123/
          driver-class-name: com.mysql.cj.jdbc.Driver
        erp_sd:
        sd:
          url: jdbc:mysql://10.153.19.150:3306/sd?serverTimezone=GMT%2b8
          username: root
          password: beibo.123/
north-glass-erp/target/classes/mapper/sd/Product.xml
@@ -3,42 +3,64 @@
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.erp.mapper.sd.ProductMapper">
    <resultMap id="productmap" type="com.example.erp.entity.sd.Product" >
        <id column="id" property="id"/>
        <result column="product_name" property="productName"/>
        <result column="total_thickness" property="totalThickness"/>
        <result column="thickness" property="thickness"/>
        <result column="query" property="query"/>
        <result column="remarks" property="remarks"/>
        <result column="state" property="state"/>
        <result column="creator" property="creator"/>
        <result column="create_time" property="createTime"/>
        <result column="update_time" property="updateTime"/>
        <association property="basicGlassType" javaType="com.example.erp.entity.sd.BasicGlassType">
            <result column="type_id" property="typeID"/>
            <result column="type_name" property="typeName"/>
        </association>
        <!--<result column="g_typeId" property="glassTypes.typeId"/>
        <result column="g_type" property="glassTypes.type"/>-->
<resultMap id="productmap" type="com.example.erp.entity.sd.Product" >
    <id column="id" property="id"/>
    <result column="product" property="product"/>
    <result column="total_thickness" property="totalThickness"/>
    <result column="thickness" property="thickness"/>
    <result column="query" property="query"/>
    <result column="remarks" property="remarks"/>
    <result column="state" property="state"/>
    <result column="creator" property="creator"/>
    <result column="create_time" property="createTime"/>
    <result column="update_time" property="updateTime"/>
    <association property="glassTypes" javaType="com.example.erp.entity.sd.GlassType">
        <result column="type_id" property="typeId"/>
        <result column="type_name" property="typeName"/>
    </association>
    <!--<result column="g_typeId" property="glassTypes.typeId"/>
    <result column="g_type" property="glassTypes.type"/>-->
</resultMap>
    </resultMap>
    <select id="defaultProduct" resultMap="productmap">
        select a.id                as id,
               a.product,
               a.total_thickness,
               a.thickness,
               a.query,
               a.remarks,
               a.state,
               a.creator,
               date(a.create_time) as create_time,
               a.update_time       as update_time,
               bgt.type_id         as type_id,
               bgt.type            as type
        select a.id as id,
        a.product_name,
        a.total_thickness,
        a.thickness,
        a.query,
        a.remarks,
        a.state,
        a.creator,
        date(a.create_time) as create_time,
        a.update_time       as update_time,
        a.type_id         as type_id,
        bgt.type_name
        from product as a
                 left join glass_type bgt on bgt.type_id = a.type_id
        left join basic_glass_type bgt on bgt.type_id = a.type_id
        <where>
            <if test="glassTypeId != null and glassTypeId != ''">
                and a.type_id regexp #{glassTypeId}
            </if>
            <if test="product.id != null and product.id != ''">
                and a.id regexp #{product.id}
            </if>
            <if test="product.productName != null and product.productName != ''">
                and a.product_name regexp #{product.productName}
            </if>
            <if test="product.basicGlassType.typeName != null and product.basicGlassType.typeName!= ''">
                and bgt.type_name regexp #{product.basicGlassType.typeName}
            </if>
            <if test="product.query != null and product.query != ''">
                and a.query regexp #{product.query}
            </if>
            <if test="product.creator != null and product.creator != ''">
                and a.creator regexp #{product.creator}
            </if>
            <if test="product.createTime != null and product.createTime != ''">
                and date(a.create_time) regexp #{product.createTime}
            </if>
        </where>
        order by id desc
        limit #{offset},#{pageSize}