Jelajahi Sumber

维修备件更换直接修改库存

xiongchao 3 tahun lalu
induk
melakukan
f0243998b1
31 mengubah file dengan 431 tambahan dan 379 penghapusan
  1. 0 7
      .gitignore
  2. 0 111
      platform-common/platform-common.iml
  3. 0 150
      platform-dao/platform-dao.iml
  4. 11 3
      platform-dao/src/main/java/com/platform/dao/dto/check/CheckJobDTO.java
  5. 13 0
      platform-dao/src/main/java/com/platform/dao/dto/check/CheckStandardDTO.java
  6. 6 1
      platform-dao/src/main/java/com/platform/dao/dto/part/PartInfoDTO.java
  7. 9 0
      platform-dao/src/main/java/com/platform/dao/dto/sb/SbModelSpareBomDTO.java
  8. 13 5
      platform-dao/src/main/java/com/platform/dao/entity/check/CheckJob.java
  9. 8 0
      platform-dao/src/main/java/com/platform/dao/entity/check/CheckStandard.java
  10. 4 0
      platform-dao/src/main/java/com/platform/dao/entity/sb/SbModelSpareBom.java
  11. 12 4
      platform-dao/src/main/java/com/platform/dao/vo/query/check/CheckJobVO.java
  12. 8 1
      platform-dao/src/main/java/com/platform/dao/vo/query/check/CheckStandardVO.java
  13. 8 0
      platform-dao/src/main/java/com/platform/dao/vo/query/sparepartmanage/SparePartInfoVO.java
  14. 12 0
      platform-dao/src/main/java/com/platform/dao/vo/sb/SbModelSpareBomVO.java
  15. 7 3
      platform-dao/src/main/resources/mapper/check/CheckJobMapper.xml
  16. 4 0
      platform-dao/src/main/resources/mapper/check/CheckStandardMapper.xml
  17. 13 7
      platform-dao/src/main/resources/mapper/sb/SbModelSpareBomMapper.xml
  18. 7 3
      platform-dao/src/main/resources/mapper/sqarepartmanage/SparePartInfoMapper.xml
  19. 0 33
      platform-office/platform-office.iml
  20. 17 5
      platform-rest/src/main/java/com/platform/rest/controller/check/CheckStandardController.java
  21. 12 0
      platform-rest/src/main/java/com/platform/rest/controller/part/PartInfoController.java
  22. 13 0
      platform-rest/src/main/java/com/platform/rest/controller/sb/SbModelSpareBomController.java
  23. 5 2
      platform-service/src/main/java/com/platform/service/check/CheckStandardService.java
  24. 6 7
      platform-service/src/main/java/com/platform/service/check/impl/CheckJobServiceImpl.java
  25. 102 6
      platform-service/src/main/java/com/platform/service/check/impl/CheckStandardServiceImpl.java
  26. 2 0
      platform-service/src/main/java/com/platform/service/part/PartInfoService.java
  27. 59 0
      platform-service/src/main/java/com/platform/service/part/impl/PartInfoServiceImpl.java
  28. 2 0
      platform-service/src/main/java/com/platform/service/sb/SbModelSpareBomService.java
  29. 8 8
      platform-service/src/main/java/com/platform/service/sb/impl/SbInfoServiceImpl.java
  30. 70 2
      platform-service/src/main/java/com/platform/service/sb/impl/SbModelSpareBomServiceImpl.java
  31. 0 21
      spring-boot-sb-base.iml

+ 0 - 7
.gitignore

@@ -685,10 +685,3 @@ fabric.properties
 /platform-activiti/target/
 /platform-common/target/
 /.idea/
-/platform-rest/platform-rest.iml
-/platform-dao/platform-dao.iml
-/platform-service/platform-service.iml
-/platform-activiti/platform-activiti.iml
-/platform-common/platform-common.iml
-
-

+ 0 - 111
platform-common/platform-common.iml

@@ -1,111 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
-  <component name="FacetManager">
-    <facet type="Spring" name="Spring">
-      <configuration />
-    </facet>
-  </component>
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
-    <output url="file://$MODULE_DIR$/target/classes" />
-    <output-test url="file://$MODULE_DIR$/target/test-classes" />
-    <content url="file://$MODULE_DIR$">
-      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
-      <excludeFolder url="file://$MODULE_DIR$/target" />
-    </content>
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="library" name="Maven: cn.hutool:hutool-all:4.5.0" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.security:spring-security-crypto:5.1.5.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-web:5.1.8.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-beans:5.1.8.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-core:5.1.8.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.1.8.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-context:5.1.8.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-aop:5.1.8.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-expression:5.1.8.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: javax.validation:validation-api:2.0.1.Final" level="project" />
-    <orderEntry type="library" name="Maven: org.hibernate.validator:hibernate-validator:6.0.17.Final" level="project" />
-    <orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.3.2.Final" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.4.0" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-redis:2.1.6.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.1.6.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.1.6.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.11.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.11.2" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.26" level="project" />
-    <orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.3.2" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.23" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-redis:2.1.9.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-keyvalue:2.1.9.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.1.9.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-tx:5.1.8.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-oxm:5.1.8.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-context-support:5.1.8.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: io.lettuce:lettuce-core:5.1.7.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-common:4.1.36.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-handler:4.1.36.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-buffer:4.1.36.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-codec:4.1.36.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-transport:4.1.36.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-resolver:4.1.36.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.projectreactor:reactor-core:3.2.10.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.reactivestreams:reactive-streams:1.0.2" level="project" />
-    <orderEntry type="library" name="Maven: javax.servlet:javax.servlet-api:4.0.1" level="project" />
-    <orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.53" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.9.9" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.9.9" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.9.9" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.9.9" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.9.0" level="project" />
-    <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper:5.1.2" level="project" />
-    <orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:1.0" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.security.oauth:spring-security-oauth2:2.3.5.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.1.8.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.security:spring-security-core:5.1.5.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.security:spring-security-config:5.1.5.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.security:spring-security-web:5.1.5.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.11" level="project" />
-    <orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-mapper-asl:1.9.13" level="project" />
-    <orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-core-asl:1.9.13" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.security.oauth.boot:spring-security-oauth2-autoconfigure:2.1.2.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-core:2.3.0.1" level="project" />
-    <orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-impl:2.3.0.1" level="project" />
-    <orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
-    <orderEntry type="library" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.1.6.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.1.6.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.security:spring-security-jwt:1.0.9.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.bouncycastle:bcpkix-jdk15on:1.56" level="project" />
-    <orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk15on:1.56" level="project" />
-    <orderEntry type="library" name="Maven: org.jvnet.hudson.dom4j:dom4j:1.6.1-hudson-3" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.1" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.11" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.poi:poi:3.14" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml-schemas:3.13" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:2.6.0" level="project" />
-    <orderEntry type="library" name="Maven: stax:stax-api:1.0.1" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml:3.14" level="project" />
-    <orderEntry type="library" name="Maven: com.github.virtuald:curvesapi:1.03" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.poi:ooxml-schemas:1.3" level="project" />
-    <orderEntry type="library" name="Maven: com.aliyun:aliyun-java-sdk-core:4.0.3" level="project" />
-    <orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.5" level="project" />
-    <orderEntry type="library" name="Maven: javax.activation:activation:1.1.1" level="project" />
-    <orderEntry type="library" name="Maven: com.itextpdf:itextpdf:5.5.11" level="project" />
-    <orderEntry type="library" name="Maven: com.itextpdf.tool:xmlworker:5.5.11" level="project" />
-    <orderEntry type="library" name="Maven: org.freemarker:freemarker:2.3.19" level="project" />
-    <orderEntry type="library" name="Maven: org.xhtmlrenderer:flying-saucer-pdf:9.1.5" level="project" />
-    <orderEntry type="library" name="Maven: com.lowagie:itext:2.1.7" level="project" />
-    <orderEntry type="library" name="Maven: org.bouncycastle:bcmail-jdk14:1.38" level="project" />
-    <orderEntry type="library" name="Maven: org.bouncycastle:bctsp-jdk14:1.38" level="project" />
-    <orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk14:1.38" level="project" />
-    <orderEntry type="library" name="Maven: org.xhtmlrenderer:flying-saucer-core:9.1.5" level="project" />
-    <orderEntry type="library" name="Maven: org.xhtmlrenderer:flying-saucer-pdf-itext5:9.1.5" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.18.6" level="project" />
-    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
-    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.26" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.26" level="project" />
-    <orderEntry type="library" name="Maven: commons-lang:commons-lang:2.6" level="project" />
-  </component>
-</module>

+ 0 - 150
platform-dao/platform-dao.iml

@@ -1,150 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
-  <component name="FacetManager">
-    <facet type="Spring" name="Spring">
-      <configuration />
-    </facet>
-  </component>
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
-    <output url="file://$MODULE_DIR$/target/classes" />
-    <output-test url="file://$MODULE_DIR$/target/test-classes" />
-    <content url="file://$MODULE_DIR$">
-      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
-      <excludeFolder url="file://$MODULE_DIR$/target" />
-    </content>
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="module" module-name="platform-common" />
-    <orderEntry type="library" name="Maven: cn.hutool:hutool-all:4.5.0" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.security:spring-security-crypto:5.1.5.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-web:5.1.8.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-context:5.1.8.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-expression:5.1.8.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: javax.validation:validation-api:2.0.1.Final" level="project" />
-    <orderEntry type="library" name="Maven: org.hibernate.validator:hibernate-validator:6.0.17.Final" level="project" />
-    <orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.3.2.Final" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.4.0" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-redis:2.1.6.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-redis:2.1.9.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-keyvalue:2.1.9.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-oxm:5.1.8.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: io.lettuce:lettuce-core:5.1.7.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-common:4.1.36.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-handler:4.1.36.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-buffer:4.1.36.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-codec:4.1.36.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-transport:4.1.36.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-resolver:4.1.36.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.projectreactor:reactor-core:3.2.10.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.reactivestreams:reactive-streams:1.0.2" level="project" />
-    <orderEntry type="library" name="Maven: javax.servlet:javax.servlet-api:4.0.1" level="project" />
-    <orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.53" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.9.9" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.9.9" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.9.0" level="project" />
-    <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper:5.1.2" level="project" />
-    <orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:1.0" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.security.oauth:spring-security-oauth2:2.3.5.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.1.8.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.security:spring-security-core:5.1.5.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.security:spring-security-config:5.1.5.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.security:spring-security-web:5.1.5.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.11" level="project" />
-    <orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-mapper-asl:1.9.13" level="project" />
-    <orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-core-asl:1.9.13" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.security.oauth.boot:spring-security-oauth2-autoconfigure:2.1.2.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-core:2.3.0.1" level="project" />
-    <orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-impl:2.3.0.1" level="project" />
-    <orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
-    <orderEntry type="library" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.1.6.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.1.6.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.security:spring-security-jwt:1.0.9.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.bouncycastle:bcpkix-jdk15on:1.56" level="project" />
-    <orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk15on:1.56" level="project" />
-    <orderEntry type="library" name="Maven: org.jvnet.hudson.dom4j:dom4j:1.6.1-hudson-3" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.9" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.11" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.poi:poi:3.14" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml-schemas:3.13" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml:3.14" level="project" />
-    <orderEntry type="library" name="Maven: com.github.virtuald:curvesapi:1.03" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.poi:ooxml-schemas:1.3" level="project" />
-    <orderEntry type="library" name="Maven: com.aliyun:aliyun-java-sdk-core:4.0.3" level="project" />
-    <orderEntry type="library" name="Maven: javax.activation:activation:1.1.1" level="project" />
-    <orderEntry type="library" name="Maven: com.itextpdf:itextpdf:5.5.11" level="project" />
-    <orderEntry type="library" name="Maven: com.itextpdf.tool:xmlworker:5.5.11" level="project" />
-    <orderEntry type="library" name="Maven: org.freemarker:freemarker:2.3.28" level="project" />
-    <orderEntry type="library" name="Maven: org.xhtmlrenderer:flying-saucer-pdf:9.1.5" level="project" />
-    <orderEntry type="library" name="Maven: com.lowagie:itext:2.1.7" level="project" />
-    <orderEntry type="library" name="Maven: org.bouncycastle:bcmail-jdk14:1.38" level="project" />
-    <orderEntry type="library" name="Maven: org.bouncycastle:bctsp-jdk14:1.38" level="project" />
-    <orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk14:1.38" level="project" />
-    <orderEntry type="library" name="Maven: org.xhtmlrenderer:flying-saucer-core:9.1.5" level="project" />
-    <orderEntry type="library" name="Maven: org.xhtmlrenderer:flying-saucer-pdf-itext5:9.1.5" level="project" />
-    <orderEntry type="module" module-name="platform-office" />
-    <orderEntry type="library" name="Maven: org.dom4j:dom4j:2.0.0" level="project" />
-    <orderEntry type="library" name="Maven: jaxen:jaxen:1.1.6" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:2.6.0" level="project" />
-    <orderEntry type="library" name="Maven: stax:stax-api:1.0.1" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.poi:poi-scratchpad:3.9" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.8.1" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.1.6.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.1.6.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.1.6.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.11.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.11.2" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.26" level="project" />
-    <orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.3.2" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.23" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-aop:5.1.8.RELEASE" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.aspectj:aspectjweaver:1.9.4" level="project" />
-    <orderEntry type="library" name="Maven: mysql:mysql-connector-java:8.0.15" level="project" />
-    <orderEntry type="library" name="Maven: org.mybatis:mybatis-typehandlers-jsr310:1.0.2" level="project" />
-    <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:2.0.1" level="project" />
-    <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:2.0.1" level="project" />
-    <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.1" level="project" />
-    <orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.0.1" level="project" />
-    <orderEntry type="library" name="Maven: tk.mybatis:mapper-spring-boot-starter:2.1.5" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.1.6.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.2.0" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.1.8.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: tk.mybatis:mapper-core:1.1.5" level="project" />
-    <orderEntry type="library" name="Maven: tk.mybatis:mapper-base:1.1.5" level="project" />
-    <orderEntry type="library" name="Maven: tk.mybatis:mapper-weekend:1.1.5" level="project" />
-    <orderEntry type="library" name="Maven: tk.mybatis:mapper-spring:1.1.5" level="project" />
-    <orderEntry type="library" name="Maven: tk.mybatis:mapper-extra:1.1.5" level="project" />
-    <orderEntry type="library" name="Maven: tk.mybatis:mapper-spring-boot-autoconfigure:2.1.5" level="project" />
-    <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-starter:1.2.3" level="project" />
-    <orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-autoconfigure:1.2.3" level="project" />
-    <orderEntry type="library" name="Maven: com.alibaba:druid-spring-boot-starter:1.1.17" level="project" />
-    <orderEntry type="library" name="Maven: com.alibaba:druid:1.1.17" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.26" level="project" />
-    <orderEntry type="library" name="Maven: javax.persistence:persistence-api:1.0" level="project" />
-    <orderEntry type="library" name="Maven: org.json:json:20180130" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.1.6.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-core:5.1.8.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.1.8.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-beans:5.1.8.RELEASE" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.18.6" level="project" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: javax.servlet:servlet-api:2.5" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-quartz:2.1.6.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-context-support:5.1.8.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-tx:5.1.8.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.quartz-scheduler:quartz:2.3.1" level="project" />
-    <orderEntry type="library" name="Maven: com.mchange:mchange-commons-java:0.2.15" level="project" />
-    <orderEntry type="library" name="Maven: com.google.guava:guava:23.0" level="project" />
-    <orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:1.3.9" level="project" />
-    <orderEntry type="library" name="Maven: com.google.errorprone:error_prone_annotations:2.0.18" level="project" />
-    <orderEntry type="library" name="Maven: com.google.j2objc:j2objc-annotations:1.1" level="project" />
-    <orderEntry type="library" name="Maven: org.codehaus.mojo:animal-sniffer-annotations:1.14" level="project" />
-    <orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.2" level="project" />
-    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
-    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.26" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.9.9" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.9.9" level="project" />
-    <orderEntry type="library" name="Maven: commons-lang:commons-lang:2.6" level="project" />
-  </component>
-</module>

+ 11 - 3
platform-dao/src/main/java/com/platform/dao/dto/check/CheckJobDTO.java

@@ -9,6 +9,7 @@ import lombok.experimental.Accessors;
 import javax.validation.constraints.*;
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 
 /**
@@ -35,7 +36,14 @@ public class CheckJobDTO extends BaseDTO implements Serializable {
      * 行驶里程
      */
     private Double miles;
-
+    /**
+     * 标准工时
+     */
+    private String standardHours;
+    /**
+     * 实际工时
+     */
+    private String realHours;
     /**
      * 行驶小时
      */
@@ -91,11 +99,11 @@ public class CheckJobDTO extends BaseDTO implements Serializable {
     /**
      * 任务开始时间结束
      */
-    private LocalDateTime startTimeEnd;
+    private LocalDate startTimeEnd;
     /**
      * 任务结束时间
      */
-    private LocalDateTime endTime;
+    private LocalDate endTime;
     /**
      * 任务结束时间开始
      */

+ 13 - 0
platform-dao/src/main/java/com/platform/dao/dto/check/CheckStandardDTO.java

@@ -33,6 +33,11 @@ public class CheckStandardDTO extends BaseDTO implements Serializable {
      * 设备id
      */
     private String sbId;
+    /**
+     * 被复制设备id
+     */
+    @Transient
+    private String copySbId;
     /**
      * 标准名称
      */
@@ -81,6 +86,14 @@ public class CheckStandardDTO extends BaseDTO implements Serializable {
      * 设备部位
      */
     private String part;
+    /**
+     * 标准工时
+     */
+    private String standardHours;
+    /**
+     * 实际工时
+     */
+    private String realHours;
     /**
      * 要求
      */

+ 6 - 1
platform-dao/src/main/java/com/platform/dao/dto/part/PartInfoDTO.java

@@ -6,6 +6,7 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 
+import javax.persistence.Transient;
 import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 import java.time.LocalDate;
@@ -52,7 +53,11 @@ public class PartInfoDTO extends BaseDTO implements Serializable {
      * 所属设备id
      */
     private String sbId;
-
+    /**
+     * 被复制设备id
+     */
+    @Transient
+    private String copySbId;
     /**
      * 状态
      */

+ 9 - 0
platform-dao/src/main/java/com/platform/dao/dto/sb/SbModelSpareBomDTO.java

@@ -47,6 +47,15 @@ public class SbModelSpareBomDTO extends BaseDTO implements Serializable {
      * 设备id
      */
     private String sbId;
+    /**
+     * 被复制设备id
+     */
+    @Transient
+    private String copySbId;
+    /**
+     * 设备部位id
+     */
+    private String sbPartId;
     /**
      * 计划周期
      */

+ 13 - 5
platform-dao/src/main/java/com/platform/dao/entity/check/CheckJob.java

@@ -6,6 +6,7 @@ import javax.persistence.Id;
 import javax.persistence.Table;
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 
 import lombok.experimental.Accessors;
@@ -37,7 +38,14 @@ public class CheckJob implements Serializable {
      * 任务名称
      */
     private String name;
-
+    /**
+     * 标准工时
+     */
+    private String standardHours;
+    /**
+     * 实际工时
+     */
+    private String realHours;
     /**
      * 计划id
      */
@@ -86,13 +94,13 @@ public class CheckJob implements Serializable {
      */
     private String checkUserName;
     /**
-     * 任务开始时间
+     * 任务开始日期
      */
-    private LocalDateTime startTime;
+    private LocalDate startTime;
     /**
-     * 任务结束时间
+     * 任务结束日期
      */
-    private LocalDateTime endTime;
+    private LocalDate endTime;
     /**
      * 实际开始时间
      */

+ 8 - 0
platform-dao/src/main/java/com/platform/dao/entity/check/CheckStandard.java

@@ -89,6 +89,14 @@ public class CheckStandard implements Serializable{
      * 设备部位
      */
     private String part;
+    /**
+     * 标准工时
+     */
+    private String standardHours;
+    /**
+     * 实际工时
+     */
+    private String realHours;
     /**
      * 备注
      */

+ 4 - 0
platform-dao/src/main/java/com/platform/dao/entity/sb/SbModelSpareBom.java

@@ -35,6 +35,10 @@ public class SbModelSpareBom implements Serializable {
      * 设备id
      */
     private String sbId;
+    /**
+     * 设备部位id
+     */
+    private String sbPartId;
     /**
      * 數量
      */

+ 12 - 4
platform-dao/src/main/java/com/platform/dao/vo/query/check/CheckJobVO.java

@@ -9,6 +9,7 @@ import javax.persistence.Table;
 import javax.persistence.Transient;
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 
 /**
@@ -37,7 +38,14 @@ public class CheckJobVO implements Serializable{
      * 行驶里程
      */
     private Double miles;
-
+    /**
+     * 标准工时
+     */
+    private String standardHours;
+    /**
+     * 实际工时
+     */
+    private String realHours;
     /**
      * 行驶小时
      */
@@ -81,11 +89,11 @@ public class CheckJobVO implements Serializable{
     /**
      * 任务开始时间
      */
-    private LocalDateTime startTime;
+    private LocalDate startTime;
     /**
-     * 任务结束时间
+     * 任务截止时间
      */
-    private LocalDateTime endTime;
+    private LocalDate endTime;
     /**
      * 实际开始时间
      */

+ 8 - 1
platform-dao/src/main/java/com/platform/dao/vo/query/check/CheckStandardVO.java

@@ -72,7 +72,14 @@ public class CheckStandardVO extends BaseVO implements Serializable{
      * 设备部位Id
      */
     private String part;
-
+    /**
+     * 标准工时
+     */
+    private String standardHours;
+    /**
+     * 实际工时
+     */
+    private String realHours;
     /**
      * 设备部位名称
      */

+ 8 - 0
platform-dao/src/main/java/com/platform/dao/vo/query/sparepartmanage/SparePartInfoVO.java

@@ -55,10 +55,18 @@ public class SparePartInfoVO extends BaseVO implements Serializable {
      * 设备id
      */
     private String sbId;
+    /**
+     * 设备部位id
+     */
+    private String sbPartId;
     /**
      * 设备图片
      */
     private String image;
+    /**
+     * 设备部位
+     */
+    private String sbPartName;
     /**
      * 二维码
      */

+ 12 - 0
platform-dao/src/main/java/com/platform/dao/vo/sb/SbModelSpareBomVO.java

@@ -36,6 +36,18 @@ public class SbModelSpareBomVO extends BaseVO implements Serializable {
      */
     @Id
     private String id;
+    /**
+     * 设备id
+     */
+    private String sbId;
+    /**
+     * 设备部位id
+     */
+    private String sbPartId;
+    /**
+     * 设备部位
+     */
+    private String sbPartName;
     /**
      * 设备型号库id
      */

+ 7 - 3
platform-dao/src/main/resources/mapper/check/CheckJobMapper.xml

@@ -4,6 +4,8 @@
     <sql id="Base_Column_List">
                              checkjob.id,
                                      checkjob.plan_id,
+                                     checkstandard.standard_hours,
+                                     checkstandard.real_hours,
                                      checkjob.start_time,
                                      checkjob.end_time,
                                      checkjob.type,
@@ -20,7 +22,9 @@
                                      checkjob.update_time
                         </sql>
     <sql id="Ref_Column_List">
-                                                                         checkjob.plan_id,
+                                     checkjob.plan_id,
+                                     checkstandard.standard_hours,
+                                     checkstandard.real_hours,
                                      checkjob.start_time,
                                      checkjob.type,
                                      checkjob.check_user_id,
@@ -31,8 +35,8 @@
                                      checkjob.abnormal_num,
                                      checkjob.check_num,
                                      checkjob.status,
-                                     checkjob.sb_status,
-                                                                                                                                                                                                                                                                                                </sql>
+                                     checkjob.sb_status
+    </sql>
     <sql id="List_Condition">
         <if test="id != null and id != ''">
             and checkjob.id = #{id}

+ 4 - 0
platform-dao/src/main/resources/mapper/check/CheckStandardMapper.xml

@@ -4,6 +4,8 @@
     <sql id="Base_Column_List">
                                      checkstandard.id,
                                      checkstandard.sb_id,
+                                     checkstandard.standard_hours,
+                                     checkstandard.real_hours,
                                      checkstandard.check_user_id,
                                      checkstandard.name,
                                      checkstandard.no,
@@ -24,6 +26,8 @@
                         </sql>
     <sql id="Ref_Column_List">
                                      checkstandard.sb_id,
+                                     checkstandard.standard_hours,
+                                     checkstandard.real_hours,
                                      checkstandard.check_user_id,
                                      checkstandard.name,
                                      checkstandard.no,

+ 13 - 7
platform-dao/src/main/resources/mapper/sb/SbModelSpareBomMapper.xml

@@ -3,14 +3,16 @@
 <mapper namespace="com.platform.dao.mapper.sb.SbModelSpareBomMapper">
 
     <sql id="Left_Column">
-        bom.id, bom.period, bom.period_type, bom.num, bom.model_id, bom.sb_id, bom.spare_id, model.name, model.model, model.name_model
+        bom.id, bom.period, bom.period_type, bom.num, bom.model_id, bom.sb_id, bom.sb_part_id,
+        bom.spare_id, model.name, model.model, model.name_model, part.name as sbPartName
     </sql>
 
     <select id="selectExportList" parameterType="com.platform.dao.dto.sb.SbModelSpareBomDTO"
             resultType="com.platform.dao.vo.sb.SbModelSpareBomVO">
         select
-        bom.id, bom.model_id, bom.sb_id, bom.spare_id,model.name,model.model
+        bom.id, bom.model_id, bom.sb_id, bom.sb_part_id, bom.spare_id,model.name,model.model, part.name as sbPartName
         from t_sb_model_spare_bom bom, t_sb_model model
+        LEFT JOIN t_part_info part on bom.sb_part_id = part.id
         where
         bom.model_id = model.id
         GROUP BY bom.spare_id
@@ -22,11 +24,15 @@
         <include refid="Left_Column"/>
         from t_sb_model_spare_bom bom
         LEFT JOIN t_sb_model model ON bom.model_id = model.id
-        where
-        1 = 1
-        <if test="spareId != null">
-            and bom.spare_id = #{spareId}
-        </if>
+        LEFT JOIN t_part_info part on bom.sb_part_id = part.id
+        <where>
+            <if test="spareId != null">
+                and bom.spare_id = #{spareId}
+            </if>
+            <if test="sbId != null">
+                and bom.sb_id = #{sbId}
+            </if>
+        </where>
     </select>
 
     <update id="updateBatch" parameterType="java.util.List">

+ 7 - 3
platform-dao/src/main/resources/mapper/sqarepartmanage/SparePartInfoMapper.xml

@@ -149,9 +149,11 @@
         tcpsr.id as id,
         tcpsr.period,
         tcpsr.period_type as periodType,
-        tcpsr.sb_id as sbId, tcpsr.num as num
+        tcpsr.sb_id as sbId, tcpsr.num as num,
+               part.name as sbPartName
         from t_spare_part_info spare
         left join t_sb_model_spare_bom tcpsr on tcpsr.spare_id=spare.id
+        LEFT JOIN t_part_info part on tcpsr.sb_part_id = part.id
         where tcpsr.model_id = #{id}
     </select>
 
@@ -173,9 +175,11 @@
                tcpsr.id as id,
                tcpsr.period,
                tcpsr.period_type as periodType,
-               tcpsr.model_id as modelId, tcpsr.num as num
+               tcpsr.model_id as modelId, tcpsr.num as num,
+               part.name as sbPartName
         from t_spare_part_info spare
-                 left join t_sb_model_spare_bom tcpsr on tcpsr.spare_id=spare.id
+        left join t_sb_model_spare_bom tcpsr on tcpsr.spare_id=spare.id
+        LEFT JOIN t_part_info part on tcpsr.sb_part_id = part.id
         where tcpsr.sb_id = #{id}
     </select>
 

+ 0 - 33
platform-office/platform-office.iml

@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
-    <output url="file://$MODULE_DIR$/target/classes" />
-    <output-test url="file://$MODULE_DIR$/target/test-classes" />
-    <content url="file://$MODULE_DIR$">
-      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
-      <excludeFolder url="file://$MODULE_DIR$/target" />
-    </content>
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.18.6" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.26" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.26" level="project" />
-    <orderEntry type="library" name="Maven: javax.servlet:javax.servlet-api:4.0.1" level="project" />
-    <orderEntry type="library" name="Maven: com.google.guava:guava:23.0" level="project" />
-    <orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:1.3.9" level="project" />
-    <orderEntry type="library" name="Maven: com.google.errorprone:error_prone_annotations:2.0.18" level="project" />
-    <orderEntry type="library" name="Maven: com.google.j2objc:j2objc-annotations:1.1" level="project" />
-    <orderEntry type="library" name="Maven: org.codehaus.mojo:animal-sniffer-annotations:1.14" level="project" />
-    <orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.poi:poi:3.9" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml:3.9" level="project" />
-    <orderEntry type="library" name="Maven: org.dom4j:dom4j:2.0.0" level="project" />
-    <orderEntry type="library" name="Maven: jaxen:jaxen:1.1.6" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml-schemas:3.9" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:2.6.0" level="project" />
-    <orderEntry type="library" name="Maven: stax:stax-api:1.0.1" level="project" />
-    <orderEntry type="library" name="Maven: xerces:xercesImpl:2.9.1" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.poi:poi-scratchpad:3.9" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.2.1" level="project" />
-  </component>
-</module>

+ 17 - 5
platform-rest/src/main/java/com/platform/rest/controller/check/CheckStandardController.java

@@ -81,16 +81,28 @@ public class CheckStandardController {
       return new R<>();
   }
 
+    /**
+     * 复制某个设备的bom记录
+     *
+     * @param checkStandardDTO 设备Id
+     * @return R
+     */
+    @SysLog("复制某个设备的bom记录")
+    @PutMapping("copy")
+    public R copy(@RequestBody CheckStandardDTO checkStandardDTO) {
+        return new R<>(checkStandardService.copyFormSb(checkStandardDTO));
+    }
+
     /**
      * 通过标准直接生成任务
      *
-     * @param id 点检标准DTO
+     * @param checkJobDTO 点检标准DTO
      * @return R
      */
-    @SysLog("修改点检标准")
-    @PutMapping("generate/{id}")
-    public R generate(@PathVariable("id") String id) {
-        checkStandardService.generate(id);
+    @SysLog("插入check任务")
+    @PutMapping("generate")
+    public R generate(@RequestBody CheckJobDTO checkJobDTO) {
+        checkStandardService.generate(checkJobDTO);
         return new R<>();
     }
 

+ 12 - 0
platform-rest/src/main/java/com/platform/rest/controller/part/PartInfoController.java

@@ -72,6 +72,18 @@ public class PartInfoController {
         return new R<>();
     }
 
+    /**
+     * 复制某个设备的bom记录
+     *
+     * @param id 设备Id
+     * @return R
+     */
+    @SysLog("复制某个设备的bom记录")
+    @PutMapping("copy")
+    public R copy( @RequestBody PartInfoDTO partInfoDTO) {
+        return new R<>(partInfoService.copyFormSb(partInfoDTO));
+    }
+
     /**
      * 通过id删除一条记录
      *

+ 13 - 0
platform-rest/src/main/java/com/platform/rest/controller/sb/SbModelSpareBomController.java

@@ -8,6 +8,7 @@ import com.platform.common.util.R;
 import com.platform.common.util.StringUtils;
 import com.platform.common.validation.group.AddGroup;
 import com.platform.common.validation.group.UpdateGroup;
+import com.platform.dao.dto.check.CheckStandardDTO;
 import com.platform.dao.dto.lubricationmanage.LubricationPlanStandardRelationDTO;
 import com.platform.dao.dto.sb.SbModelSpareBomDTO;
 import com.platform.dao.dto.sqarepartmanage.SparePartInfoDTO;
@@ -151,6 +152,18 @@ public class SbModelSpareBomController {
       return new R<>();
   }
 
+    /**
+     * 复制某个设备的bom记录
+     *
+     * @param sbModelSpareBomDTO 设备Id
+     * @return R
+     */
+    @SysLog("复制某个设备的bom记录")
+    @PutMapping("copy")
+    public R copy(@RequestBody SbModelSpareBomDTO sbModelSpareBomDTO) {
+        return new R<>(sbModelSpareBomService.copyFormSb(sbModelSpareBomDTO));
+    }
+
   /**
    * 通过id删除一条记录
    *

+ 5 - 2
platform-service/src/main/java/com/platform/service/check/CheckStandardService.java

@@ -1,5 +1,6 @@
 package com.platform.service.check;
 
+import com.platform.dao.dto.check.CheckJobDTO;
 import com.platform.dao.dto.check.CheckStandardDTO;
 import com.platform.dao.entity.check.CheckStandard;
 import com.platform.dao.entity.sqarepartmanage.SparePartInfo;
@@ -39,7 +40,9 @@ public interface CheckStandardService extends IBaseService<CheckStandard, CheckS
     /**
      * 生成某一個保养标准的保养任务
      *
-     * @param id
+     * @param checkJobDTO
      */
-    public void generate(String id);
+    public void generate(CheckJobDTO checkJobDTO);
+
+    String copyFormSb(CheckStandardDTO model);
 }

+ 6 - 7
platform-service/src/main/java/com/platform/service/check/impl/CheckJobServiceImpl.java

@@ -390,9 +390,9 @@ public class CheckJobServiceImpl extends BaseServiceImpl<CheckJobMapper, CheckJo
         weekend.weekendCriteria().andIn(CheckJob::getStatus, Arrays.asList(status));
         List<CheckJob> checkJobs = mapper.selectByExample(weekend);
         // 2.判断当前时间是否大于结束时间是则设置状态未已过期
-        LocalDateTime now = LocalDateTime.now();
+        LocalDate now = LocalDate.now();
         checkJobs.forEach(job -> {
-            LocalDateTime endTime = job.getEndTime();
+            LocalDate endTime = job.getEndTime();
             if (now.isAfter(endTime)) {
                 job.setStatus(CheckJobStatusEnum.OUT_OF_DATE.getValue());
                 mapper.updateByPrimaryKeySelective(job);
@@ -434,7 +434,7 @@ public class CheckJobServiceImpl extends BaseServiceImpl<CheckJobMapper, CheckJo
 
     private void calcTime(CheckJob checkJob, LocalDateTime currentDate, int validaTime, int validTimeType) {
         LocalDate endDate = null;
-        checkJob.setStartTime(currentDate);
+        checkJob.setStartTime(currentDate.toLocalDate());
         if (CheckPlanPeriodTypeEnum.DAY.getValue() == validTimeType) {
             endDate = DateUtils.plus(currentDate.toLocalDate(), validaTime, ChronoUnit.DAYS);
         }
@@ -451,12 +451,11 @@ public class CheckJobServiceImpl extends BaseServiceImpl<CheckJobMapper, CheckJo
             endDate = DateUtils.plus(currentDate.toLocalDate(), validaTime, ChronoUnit.YEARS);
         }
         endDate = DateUtils.plus(endDate, -1, ChronoUnit.DAYS);
-        checkJob.setEndTime(LocalDateTime.of(endDate, LocalTime.of(18, 0)));
-
+        checkJob.setEndTime(endDate);
     }
     private void calcTime(CheckJob checkJob, LocalDateTime currentDate, CheckStandard checkStandard) {
         LocalDate endDate = null;
-        checkJob.setStartTime(currentDate);
+        checkJob.setStartTime(currentDate.toLocalDate());
         if (CheckPlanPeriodTypeEnum.DAY.getValue().equals(checkStandard.getPeriodType())) {
             endDate = DateUtils.plus(currentDate.toLocalDate(), checkStandard.getPeriod(), ChronoUnit.DAYS);
         }
@@ -473,7 +472,7 @@ public class CheckJobServiceImpl extends BaseServiceImpl<CheckJobMapper, CheckJo
             endDate = DateUtils.plus(currentDate.toLocalDate(), checkStandard.getPeriod(), ChronoUnit.YEARS);
         }
         endDate = DateUtils.plus(endDate, -1, ChronoUnit.DAYS);
-        checkJob.setEndTime(LocalDateTime.of(endDate, LocalTime.of(18, 0)));
+        checkJob.setEndTime(endDate);
 
     }
 

+ 102 - 6
platform-service/src/main/java/com/platform/service/check/impl/CheckStandardServiceImpl.java

@@ -2,12 +2,16 @@ package com.platform.service.check.impl;
 import cn.hutool.core.collection.CollectionUtil;
 import com.platform.common.bean.AbstractPageResultBean;
 import com.github.pagehelper.PageHelper;
+import com.platform.common.exception.BusinessException;
+import com.platform.common.util.BeanConverterUtil;
 import com.platform.common.util.DateUtils;
 import com.platform.common.util.IdGeneratorUtils;
 import com.platform.common.util.ListUtils;
 import com.platform.dao.bean.MyPage;
+import com.platform.dao.dto.check.CheckJobDTO;
 import com.platform.dao.dto.check.CheckStandardDTO;
 import com.platform.dao.dto.check.CheckStandardParamDTO;
+import com.platform.dao.dto.part.PartInfoDTO;
 import com.platform.dao.dto.sb.SbInfoDTO;
 import com.platform.dao.entity.check.CheckJob;
 import com.platform.dao.entity.check.CheckProjectStandardRelation;
@@ -15,7 +19,9 @@ import com.platform.dao.entity.check.CheckStandard;
 import com.platform.dao.entity.check.CheckStandardParam;
 import com.platform.dao.entity.maintain.MaintainProjectStandardRelation;
 import com.platform.dao.entity.maintain.MaintainStandardParam;
+import com.platform.dao.entity.part.PartInfo;
 import com.platform.dao.entity.sqarepartmanage.SparePartInfo;
+import com.platform.dao.entity.store.InStoreDetail;
 import com.platform.dao.entity.upms.SysFile;
 import com.platform.dao.enums.CheckJobStatusEnum;
 import com.platform.dao.enums.CheckPlanPeriodTypeEnum;
@@ -25,10 +31,12 @@ import com.platform.dao.mapper.check.CheckProjectStandardRelationMapper;
 import com.platform.dao.mapper.check.CheckStandardMapper;
 import com.platform.dao.mapper.check.CheckStandardParamMapper;
 import com.platform.dao.mapper.maintain.MaintainProjectStandardRelationMapper;
+import com.platform.dao.mapper.part.PartInfoMapper;
 import com.platform.dao.mapper.upms.SysFileMapper;
 import com.platform.dao.vo.query.check.CheckStandardVO;
 import com.platform.service.check.CheckStandardParamService;
 import com.platform.service.check.CheckStandardService;
+import com.platform.service.part.PartInfoService;
 import org.springframework.stereotype.Service;
 import com.platform.service.base.impl.BaseServiceImpl;
 import org.springframework.transaction.annotation.Transactional;
@@ -40,7 +48,9 @@ import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
 import java.time.temporal.ChronoUnit;
+import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * @Description 点检标准 service 实现类
@@ -55,6 +65,7 @@ public class CheckStandardServiceImpl extends BaseServiceImpl<CheckStandardMappe
     private CheckProjectStandardRelationMapper relationMapper;
     private CheckStandardParamMapper paramMapper;
     private CheckJobMapper checkJobMapper;
+    private PartInfoService partInfoService;
     private final SysFileMapper sysFileMapper;
     @Override
     public boolean cascadingDeleteByKey(String id) {
@@ -105,6 +116,13 @@ public class CheckStandardServiceImpl extends BaseServiceImpl<CheckStandardMappe
     @Transactional(rollbackFor = Exception.class)
     @Override
     public CheckStandard saveModelByDTO(CheckStandardDTO model) {
+        Weekend<CheckStandard> weekendExsit = new Weekend<>(CheckStandard.class);
+        weekendExsit.weekendCriteria().andEqualTo(CheckStandard::getSbId, model.getSbId()).andEqualTo(CheckStandard::getName, model.getName());
+        Integer exsitCount = mapper.selectCountByExample(weekendExsit);
+        if(exsitCount>0){
+            throw new BusinessException("名称已存在,请重新命名");
+        }
+
         // 设置编码
         Weekend<CheckStandard> weekend = new Weekend<>(CheckStandard.class);
         weekend.weekendCriteria().andIsNotNull(CheckStandard::getId);
@@ -124,6 +142,13 @@ public class CheckStandardServiceImpl extends BaseServiceImpl<CheckStandardMappe
     @Transactional(rollbackFor = Exception.class)
     @Override
     public void modModelByDTO(CheckStandardDTO model) {
+        Weekend<CheckStandard> weekendExsit = new Weekend<>(CheckStandard.class);
+        weekendExsit.weekendCriteria().andEqualTo(CheckStandard::getSbId, model.getSbId()).andEqualTo(CheckStandard::getName, model.getName());
+        Integer exsitCount = mapper.selectCountByExample(weekendExsit);
+        if(exsitCount>0){
+            throw new BusinessException("名称已存在,请重新命名");
+        }
+
         super.modModelByDTO(model);
         // 删掉参数后插入
         Weekend<CheckStandardParam> weekend = new Weekend<>(CheckStandardParam.class);
@@ -194,14 +219,19 @@ public class CheckStandardServiceImpl extends BaseServiceImpl<CheckStandardMappe
 
 
     @Override
-    public void generate(String id) {
+    public void generate(CheckJobDTO checkJobDTO) {
         LocalDateTime currentDate = LocalDateTime.now();
-        CheckStandard standard = super.getModelById(id);
+        CheckStandard standard = super.getModelById(checkJobDTO.getStandardId());
         CheckJob checkJob = new CheckJob();
         checkJob.setSbId(standard.getSbId());
         checkJob.setStatus(CheckJobStatusEnum.NOT_EXECUTE.getValue());
-        // 计算计划开始时间和结束时间
-        calcTime(checkJob, currentDate, standard);
+        if(checkJobDTO.getStartTime() == null){
+            // 计算计划开始时间和结束时间
+            calcTime(checkJob, currentDate, standard);
+        } else {
+            // 计算计划开始时间和结束时间
+            calcTime(checkJob, checkJobDTO.getStartTime(), standard);
+        }
         checkJob.setCreatedTime(currentDate);
         checkJob.setUpdateTime(currentDate);
         checkJob.setUpdateUserId(standard.getCheckUserId());
@@ -216,9 +246,75 @@ public class CheckStandardServiceImpl extends BaseServiceImpl<CheckStandardMappe
         checkJobMapper.insert(checkJob);
     }
 
+    /**
+     * 从一个设备复制保养内容,保养内容是关联到设备的,不会重复,所以不需要判断重复,而备件需要判断是否重复了
+     *
+     * 注意:保养是关联的部位,如果设备还没有部位,则同时新建部位。如果部位名称已经存在了,则不新增。
+     *
+     * @param model
+     * @return
+     */
+    @Override
+    public String copyFormSb(CheckStandardDTO model) {
+        PartInfoDTO partInfoDTO = new PartInfoDTO();
+        partInfoDTO.setSbId(model.getSbId());
+        partInfoDTO.setCopySbId(model.getCopySbId());
+        String addPartResult = partInfoService.copyFormSb(partInfoDTO);
+
+        CheckStandardDTO record = new CheckStandardDTO();
+        record.setSbId(model.getSbId());
+        List<CheckStandardVO> list = mapper.selectList(record);
+
+        CheckStandardDTO copyRecord = new CheckStandardDTO();
+        copyRecord.setSbId(model.getCopySbId());
+        List<CheckStandardVO> copyList = mapper.selectList(copyRecord);
+        List<CheckStandardVO> addList = new ArrayList<CheckStandardVO>();
+
+        // 复制保养内容,刨除已经存在的:根据名称判断
+        for(CheckStandardVO copyCheckStandardVO:copyList){
+            boolean find = false;
+            for(CheckStandardVO checkStandardVO:list){
+                if(copyCheckStandardVO.getName().equals(checkStandardVO.getName())){
+                    find = true;
+                    break;
+                }
+            }
+            if(!find){
+                CheckStandardVO checkStandardVO = copyCheckStandardVO;
+                checkStandardVO.setId(IdGeneratorUtils.getObjectId());
+                checkStandardVO.setSbId(model.getSbId());
+                addList.add(checkStandardVO);
+            }
+        }
+
+        // 设置新增保养内容的部位,根据部位名称进行判断
+        PartInfoDTO partDTO = new PartInfoDTO();
+        partDTO.setSbId(model.getSbId());
+        List<PartInfo> partList = partInfoService.getModelListByDTO(partDTO);
+
+        PartInfoDTO copyDTO = new PartInfoDTO();
+        copyDTO.setSbId(model.getCopySbId());
+        List<PartInfo> copyPartList = partInfoService.getModelListByDTO(copyDTO);
+        if(CollectionUtil.isNotEmpty(addList)){
+            for(CheckStandardVO copyCheckStandardVO:addList){
+                for(PartInfo copyPart:copyPartList){
+                    if(copyPart.getId().equals(copyCheckStandardVO.getPart())){
+                        for(PartInfo part:partList){
+                            if(part.getName().equals(copyPart.getName())){
+                                copyCheckStandardVO.setPart(part.getId());
+                            }
+                        }
+                    }
+                }
+            }
+            mapper.insertListforComplex(BeanConverterUtil.copyListProperties(addList, CheckStandard.class));
+        }
+        return addPartResult + ",复制保养内容:" + addList.size() + "个";
+    }
+
     private void calcTime(CheckJob checkJob, LocalDateTime currentDate, CheckStandard checkStandard) {
         LocalDate endDate = null;
-        checkJob.setStartTime(currentDate);
+        checkJob.setStartTime(currentDate.toLocalDate());
         if (CheckPlanPeriodTypeEnum.DAY.getValue().equals(checkStandard.getPeriodType())) {
             endDate = DateUtils.plus(currentDate.toLocalDate(), checkStandard.getPeriod(), ChronoUnit.DAYS);
         }
@@ -235,7 +331,7 @@ public class CheckStandardServiceImpl extends BaseServiceImpl<CheckStandardMappe
             endDate = DateUtils.plus(currentDate.toLocalDate(), checkStandard.getPeriod(), ChronoUnit.YEARS);
         }
         endDate = DateUtils.plus(endDate, -1, ChronoUnit.DAYS);
-        checkJob.setEndTime(LocalDateTime.of(endDate, LocalTime.of(18, 0)));
+        checkJob.setEndTime(endDate);
 
     }
 }

+ 2 - 0
platform-service/src/main/java/com/platform/service/part/PartInfoService.java

@@ -21,4 +21,6 @@ public interface PartInfoService extends IBaseService<PartInfo, PartInfoDTO> {
      * @return :
      */
     int batchDelete(List<String> ids);
+
+    String copyFormSb(PartInfoDTO dto);
 }

+ 59 - 0
platform-service/src/main/java/com/platform/service/part/impl/PartInfoServiceImpl.java

@@ -1,12 +1,16 @@
 package com.platform.service.part.impl;
 
+import cn.hutool.core.collection.CollectionUtil;
 import com.github.pagehelper.PageHelper;
 import com.platform.common.bean.AbstractPageResultBean;
+import com.platform.common.exception.BusinessException;
 import com.platform.common.util.IdGeneratorUtils;
 import com.platform.dao.bean.MyPage;
+import com.platform.dao.dto.check.CheckStandardDTO;
 import com.platform.dao.dto.part.PartInfoDTO;
 import com.platform.dao.entity.part.PartInfo;
 import com.platform.dao.mapper.part.PartInfoMapper;
+import com.platform.dao.vo.query.check.CheckStandardVO;
 import com.platform.service.base.impl.BaseServiceImpl;
 import com.platform.service.part.PartInfoService;
 import lombok.AllArgsConstructor;
@@ -14,6 +18,7 @@ import org.springframework.stereotype.Service;
 import tk.mybatis.mapper.weekend.Weekend;
 import tk.mybatis.mapper.weekend.WeekendCriteria;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -34,6 +39,43 @@ public class PartInfoServiceImpl extends BaseServiceImpl<PartInfoMapper, PartInf
         return 1;
     }
 
+    /**
+     * 复制某个设备的部位,要去除已经存在的名称相同的
+     * @param dto
+     * @return
+     */
+    @Override
+    public String copyFormSb(PartInfoDTO model) {
+        PartInfoDTO record = new PartInfoDTO();
+        record.setSbId(model.getSbId());
+        List<PartInfo> partList = getModelListByDTO(record);
+
+        PartInfoDTO copyRecord = new PartInfoDTO();
+        copyRecord.setSbId(model.getCopySbId());
+        List<PartInfo> copyPartList = getModelListByDTO(copyRecord);
+        List<PartInfo> addPartList = new ArrayList<PartInfo>();
+        for(PartInfo copyPart:copyPartList){
+            boolean find = false;
+            for(PartInfo part:partList){
+                if(copyPart.getName().equals(part.getName())){
+                    find = true;
+                    break;
+                }
+            }
+            if(!find){
+                PartInfo partInfo = copyPart;
+                partInfo.setId(IdGeneratorUtils.getObjectId());
+                partInfo.setSbId(model.getSbId());
+                addPartList.add(partInfo);
+            }
+        }
+        if(CollectionUtil.isNotEmpty(addPartList)){
+            mapper.insertListforComplex(addPartList);
+        }
+
+        return "复制部位:" +addPartList.size() + "个";
+    }
+
     @Override
     public AbstractPageResultBean<PartInfo> selectPageInfo(PartInfoDTO record, int pageNum, int pageSize) {
         PageHelper.startPage(pageNum, pageSize);
@@ -55,6 +97,13 @@ public class PartInfoServiceImpl extends BaseServiceImpl<PartInfoMapper, PartInf
 
     @Override
     public PartInfo saveModelByDTO(PartInfoDTO model) {
+
+        Weekend<PartInfo> weekendExsit = new Weekend<>(PartInfo.class);
+        weekendExsit.weekendCriteria().andEqualTo(PartInfo::getSbId, model.getSbId()).andEqualTo(PartInfo::getName, model.getName());
+        Integer exsitCount = mapper.selectCountByExample(weekendExsit);
+        if(exsitCount>0){
+            throw new BusinessException("名称已存在,请重新命名");
+        }
         Weekend<PartInfo> weekend = new Weekend<>(PartInfo.class);
         weekend.weekendCriteria().andIsNotNull(PartInfo::getId);
         Integer count = mapper.selectCountByExample(weekend);
@@ -62,4 +111,14 @@ public class PartInfoServiceImpl extends BaseServiceImpl<PartInfoMapper, PartInf
         return super.saveModelByDTO(model);
     }
 
+    @Override
+    public void modModelByDTO(PartInfoDTO model) {
+        Weekend<PartInfo> weekendExsit = new Weekend<>(PartInfo.class);
+        weekendExsit.weekendCriteria().andEqualTo(PartInfo::getSbId, model.getSbId()).andEqualTo(PartInfo::getName, model.getName());
+        Integer exsitCount = mapper.selectCountByExample(weekendExsit);
+        if(exsitCount>0){
+            throw new BusinessException("名称已存在,请重新命名");
+        }
+        super.modModelByDTO(model);
+    }
 }

+ 2 - 0
platform-service/src/main/java/com/platform/service/sb/SbModelSpareBomService.java

@@ -70,4 +70,6 @@ public interface SbModelSpareBomService extends IBaseService<SbModelSpareBom, Sb
     List<SbModelSpareBomVO> selectVOList(SbModelSpareBomDTO dto);
 
     List<SbModelSpareBomVO> selectExportList(SparePartInfoDTO sparePartInfoDTO);
+
+    String copyFormSb(SbModelSpareBomDTO dto);
 }

+ 8 - 8
platform-service/src/main/java/com/platform/service/sb/impl/SbInfoServiceImpl.java

@@ -254,7 +254,7 @@ public class SbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, SbInfo, SbI
         List<SysFile> list = ListUtils.newArrayList();
         if (CollectionUtil.isNotEmpty(repairFileList)) {
             repairFileList.forEach(item -> {
-                item.setType(1);
+                item.setType(SysFileTypeEnum.SB_WX_FILE.getValue());
                 item.setId(IdGeneratorUtils.getObjectId());
                 item.setTargetId(model.getId());
                 list.add(item);
@@ -262,7 +262,7 @@ public class SbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, SbInfo, SbI
         }
         if (CollectionUtil.isNotEmpty(useFileList)) {
             useFileList.forEach(item -> {
-                item.setType(2);
+                item.setType(SysFileTypeEnum.SB_USE_FILE.getValue());
                 item.setId(IdGeneratorUtils.getObjectId());
                 item.setTargetId(model.getId());
                 list.add(item);
@@ -270,7 +270,7 @@ public class SbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, SbInfo, SbI
         }
         if (CollectionUtil.isNotEmpty(recheckFileList)) {
             recheckFileList.forEach(item -> {
-                item.setType(3);
+                item.setType(SysFileTypeEnum.SB_WB_FILE.getValue());
                 item.setId(IdGeneratorUtils.getObjectId());
                 item.setTargetId(model.getId());
                 list.add(item);
@@ -278,7 +278,7 @@ public class SbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, SbInfo, SbI
         }
         if (CollectionUtil.isNotEmpty(sbFileList)) {
             sbFileList.forEach(item -> {
-                item.setType(4);
+                item.setType(SysFileTypeEnum.SB_IMG.getValue());
                 item.setId(IdGeneratorUtils.getObjectId());
                 item.setTargetId(model.getId());
                 list.add(item);
@@ -451,16 +451,16 @@ public class SbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, SbInfo, SbI
         List<SysFile> recheckFileList = ListUtils.newArrayList();
         List<SysFile> sbFileList = ListUtils.newArrayList();
         sysFiles.forEach(item -> {
-            if (item.getType() == 1) {
+            if (item.getType().equals( SysFileTypeEnum.SB_WX_FILE.getValue())) {
                 repairFileList.add(item);
             }
-            if (item.getType() == 2) {
+            if (item.getType().equals( SysFileTypeEnum.SB_USE_FILE.getValue())) {
                 useFileList.add(item);
             }
-            if (item.getType() == 3) {
+            if (item.getType().equals( SysFileTypeEnum.SB_WB_FILE.getValue())) {
                 recheckFileList.add(item);
             }
-            if (item.getType() == 4) {
+            if (item.getType().equals( SysFileTypeEnum.SB_IMG.getValue())) {
                 sbFileList.add(item);
             }
         });

+ 70 - 2
platform-service/src/main/java/com/platform/service/sb/impl/SbModelSpareBomServiceImpl.java

@@ -1,16 +1,22 @@
 package com.platform.service.sb.impl;
 
+import cn.hutool.core.collection.CollectionUtil;
 import com.github.pagehelper.PageHelper;
 import com.platform.common.bean.AbstractPageResultBean;
 import com.platform.common.exception.BusinessException;
 import com.platform.common.model.UserInfo;
+import com.platform.common.util.BeanConverterUtil;
 import com.platform.common.util.IdGeneratorUtils;
 import com.platform.common.util.SecurityUtils;
 import com.platform.dao.bean.MyPage;
 import com.platform.dao.dto.check.CheckProjectStandardRelationDTO;
+import com.platform.dao.dto.check.CheckStandardDTO;
+import com.platform.dao.dto.part.PartInfoDTO;
 import com.platform.dao.dto.sb.SbModelSpareBomDTO;
 import com.platform.dao.dto.sqarepartmanage.SparePartInfoDTO;
 import com.platform.dao.entity.check.CheckProjectStandardRelation;
+import com.platform.dao.entity.check.CheckStandard;
+import com.platform.dao.entity.part.PartInfo;
 import com.platform.dao.entity.purchase.PurchaseDemandPlanList;
 import com.platform.dao.entity.sb.SbModelSpareBom;
 import com.platform.dao.entity.sqarepartmanage.SparePartInfo;
@@ -18,9 +24,11 @@ import com.platform.dao.mapper.check.CheckProjectStandardRelationMapper;
 import com.platform.dao.mapper.sb.SbModelSpareBomMapper;
 import com.platform.dao.util.CustomExcelImportUtil;
 import com.platform.dao.vo.query.check.CheckProjectStandardRelationVO;
+import com.platform.dao.vo.query.check.CheckStandardVO;
 import com.platform.dao.vo.sb.SbModelSpareBomVO;
 import com.platform.service.base.impl.BaseServiceImpl;
 import com.platform.service.check.CheckProjectStandardRelationService;
+import com.platform.service.part.PartInfoService;
 import com.platform.service.sb.SbModelSpareBomService;
 import com.platform.service.sqarepartmanage.SparePartInfoService;
 import lombok.AllArgsConstructor;
@@ -44,6 +52,7 @@ import java.util.List;
 @Service("sbModelSpareBomService")
 public class SbModelSpareBomServiceImpl extends BaseServiceImpl<SbModelSpareBomMapper, SbModelSpareBom, SbModelSpareBomDTO> implements SbModelSpareBomService {
     private final  SparePartInfoService sparePartInfoService;
+    private PartInfoService partInfoService;
     @Override
     public int batchDelete(List<String> ids) {
         Weekend<SbModelSpareBom> weekend = new Weekend<>(SbModelSpareBom.class);
@@ -56,7 +65,7 @@ public class SbModelSpareBomServiceImpl extends BaseServiceImpl<SbModelSpareBomM
     @Override
     public AbstractPageResultBean<SbModelSpareBomVO> selectPageList(SbModelSpareBomDTO record, int pageNum, int pageSize) {
         PageHelper.startPage(pageNum, pageSize);
-        return new MyPage(mapper.selectList(record));
+        return new MyPage(mapper.selectVOList(record));
     }
 
     /**
@@ -134,10 +143,69 @@ public class SbModelSpareBomServiceImpl extends BaseServiceImpl<SbModelSpareBomM
         return mapper.selectExportList(sparePartInfoDTO);
     }
 
+
+    @Override
+    public String copyFormSb(SbModelSpareBomDTO model) {
+        PartInfoDTO partInfoDTO = new PartInfoDTO();
+        partInfoDTO.setSbId(model.getSbId());
+        partInfoDTO.setCopySbId(model.getCopySbId());
+        String addPartResult = partInfoService.copyFormSb(partInfoDTO);
+
+        SbModelSpareBomDTO record = new SbModelSpareBomDTO();
+        record.setSbId(model.getSbId());
+        List<SbModelSpareBomVO> list = mapper.selectVOList(record);
+
+        SbModelSpareBomDTO copyRecord = new SbModelSpareBomDTO();
+        copyRecord.setSbId(model.getCopySbId());
+        List<SbModelSpareBomVO> copyList = mapper.selectVOList(copyRecord);
+        List<SbModelSpareBomVO> addList = new ArrayList<SbModelSpareBomVO>();
+
+        // 复制保养内容,刨除已经存在的:根据名称判断
+        for(SbModelSpareBomVO copyCheckStandardVO:copyList){
+            boolean find = false;
+            for(SbModelSpareBomVO checkStandardVO:list){
+                if(copyCheckStandardVO.getSpareId().equals(checkStandardVO.getSpareId())){
+                    find = true;
+                    break;
+                }
+            }
+            if(!find){
+                SbModelSpareBomVO checkStandardVO = copyCheckStandardVO;
+                checkStandardVO.setId(IdGeneratorUtils.getObjectId());
+                checkStandardVO.setSbId(model.getSbId());
+                addList.add(checkStandardVO);
+            }
+        }
+
+        // 设置新增保养内容的部位,根据部位名称进行判断
+        PartInfoDTO partDTO = new PartInfoDTO();
+        partDTO.setSbId(model.getSbId());
+        List<PartInfo> partList = partInfoService.getModelListByDTO(partDTO);
+
+        PartInfoDTO copyDTO = new PartInfoDTO();
+        copyDTO.setSbId(model.getCopySbId());
+        List<PartInfo> copyPartList = partInfoService.getModelListByDTO(copyDTO);
+        if(CollectionUtil.isNotEmpty(addList)){
+            for(SbModelSpareBomVO copyCheckStandardVO:addList){
+                for(PartInfo copyPart:copyPartList){
+                    if(copyPart.getId().equals(copyCheckStandardVO.getSbPartId())){
+                        for(PartInfo part:partList){
+                            if(part.getName().equals(copyPart.getName())){
+                                copyCheckStandardVO.setSbPartId(part.getId());
+                            }
+                        }
+                    }
+                }
+            }
+            mapper.insertListforComplex(BeanConverterUtil.copyListProperties(addList, SbModelSpareBom.class));
+        }
+        return addPartResult + ",复制备件Bom:" + addList.size() + "个";
+    }
+
     @Override
     public AbstractPageResultBean<SbModelSpareBom> selectPageInfo(SbModelSpareBomDTO record, int pageNum, int pageSize) {
         PageHelper.startPage(pageNum, pageSize);
-        return new MyPage(mapper.selectList(record));
+        return new MyPage(mapper.selectVOList(record));
     }
 
 }

+ 0 - 21
spring-boot-sb-base.iml

@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
-    <output url="file://$MODULE_DIR$/target/classes" />
-    <output-test url="file://$MODULE_DIR$/target/test-classes" />
-    <content url="file://$MODULE_DIR$">
-      <excludeFolder url="file://$MODULE_DIR$/target" />
-    </content>
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.18.6" level="project" />
-    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
-    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.26" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.26" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: com.fasterxml.jackson.core:jackson-core:2.9.9" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.9.9" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.9.0" level="project" />
-    <orderEntry type="library" name="Maven: commons-lang:commons-lang:2.6" level="project" />
-  </component>
-</module>