Bladeren bron

inbound代码

plg-xiongt 2 maanden geleden
bovenliggende
commit
dc6c2fa72b
100 gewijzigde bestanden met toevoegingen van 23928 en 0 verwijderingen
  1. 23 0
      upcloud-base-wh-inbound/.gitignore
  2. 73 0
      upcloud-base-wh-inbound/.gitlab-ci.yml
  3. 11 0
      upcloud-base-wh-inbound/Dockerfile
  4. 68 0
      upcloud-base-wh-inbound/deploy.yml
  5. 23 0
      upcloud-base-wh-inbound/docker/Dockerfile
  6. 6 0
      upcloud-base-wh-inbound/docker/Entrypoint.sh
  7. 51 0
      upcloud-base-wh-inbound/docker/up-for-docker.sh
  8. 78 0
      upcloud-base-wh-inbound/funcflow-category.yaml
  9. 10 0
      upcloud-base-wh-inbound/pipeline_control.yaml
  10. 69 0
      upcloud-base-wh-inbound/pom.xml
  11. 73 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/pom.xml
  12. 288 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/constant/BizConstant.java
  13. 387 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/constant/BussinessConstant.java
  14. 54 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/constant/InboundBizConstant.java
  15. 63 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/constant/OperationConstant.java
  16. 10 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/constant/VaildateConstant.java
  17. 21 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/constant/ValidatorGroup.java
  18. 831 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/BillDTO.java
  19. 987 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/BillLineDTO.java
  20. 196 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/CargoChangeIn.java
  21. 329 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/CargoChangeInDetails.java
  22. 40 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/EisWmsRequestResponseDTO.java
  23. 71 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/ErpInfCgddBillDto.java
  24. 28 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/ErpReportDto.java
  25. 144 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/HostLocatorInfo.java
  26. 322 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/InterfaceRqcBillDTO.java
  27. 129 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/IsSuperviseDTO.java
  28. 26 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/OmsAsnBillSaveByOmsDTO.java
  29. 28 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/OmsAsnBillSaveDTO.java
  30. 49 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/PageParam.java
  31. 199 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/RcvCommonLine.java
  32. 134 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/ReceiveAsnDTO.java
  33. 89 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/ReceiveAsnDetailDTO.java
  34. 28 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/ReceiveSupervisionDTO.java
  35. 37 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/RelationCodeResult.java
  36. 36 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/RelationCodeResultDTO.java
  37. 35 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/ScanCodeResultDTO.java
  38. 61 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/SearchPageParam.java
  39. 41 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/SearchParam.java
  40. 269 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/Supervise4CargoChange.java
  41. 434 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/Supervise4CargoChangeDetail.java
  42. 88 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/SuperviseResultDTO.java
  43. 192 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/WhAreaCategoryContext.java
  44. 44 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/failure/ExceptionCascadeDTO.java
  45. 276 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/failure/ExceptionHQueryDTO.java
  46. 171 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/failure/ExceptionHQueryVO.java
  47. 172 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/failure/ExceptionHeadersDTO.java
  48. 602 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/failure/ExceptionLineQueryDTO.java
  49. 153 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/failure/ExceptionLineQueryVO.java
  50. 536 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/failure/ExceptionLinesDTO.java
  51. 523 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/failure/ExceptionLogDTO.java
  52. 473 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/failure/ExceptionLogQueryDTO.java
  53. 175 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/failure/ExceptionLogQueryVO.java
  54. 38 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/failure/RcvErrorDTO.java
  55. 161 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/failure/RcvErrorQueryVO.java
  56. 278 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/print/InstockTaskPrintDTO.java
  57. 36 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/print/RcvLinesHeadPrintDTO.java
  58. 83 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/print/RcvLinesHeadPrintNewDTO.java
  59. 67 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/print/RcvLinesPrintDTO.java
  60. 133 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/print/RcvLinesPrintNewDTO.java
  61. 114 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/print/RqcHzHeadPrintDTO.java
  62. 177 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/print/RqcHzPrintDTO.java
  63. 158 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/print/RqcLinesHeadPrintDTO.java
  64. 235 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/print/RqcLinesPrintDTO.java
  65. 61 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/CallbackInstockTaskDTO.java
  66. 87 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/CompleteInstockTaskDTO.java
  67. 27 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/DeleteTobeConfirmed.java
  68. 76 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/EisInStockWmsResponseDTO.java
  69. 47 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/EisInStockWmsResponseDetailDTO.java
  70. 79 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/RcvDTO.java
  71. 120 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/RcvDetailsDTO.java
  72. 33 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/RcvHAndPDTO.java
  73. 832 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/RcvHDTO.java
  74. 618 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/RcvHeadersDTO.java
  75. 109 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/RcvHeadersPicDTO.java
  76. 624 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/RcvHeadersProfilesDTO.java
  77. 175 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/RcvHeadersSrcBillsDTO.java
  78. 407 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/RcvInstockLinesDTO.java
  79. 19 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/RcvLineAndProDTO.java
  80. 141 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/RcvLineDetailsDTO.java
  81. 1459 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/RcvLinesDTO.java
  82. 168 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/RcvLinesPicDTO.java
  83. 881 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/RcvLinesProfilesDTO.java
  84. 710 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/RcvRejectLinesDTO.java
  85. 67 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/WmsToEisTaskRecord.java
  86. 47 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rqc/RcvLineParam.java
  87. 25 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rqc/RcvLineResult.java
  88. 81 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rqc/RqcDTO.java
  89. 458 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rqc/RqcHeadersDTO.java
  90. 261 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rqc/RqcLinePicDTO.java
  91. 1853 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rqc/RqcLinesDTO.java
  92. 35 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rqc/RqcReDTO.java
  93. 318 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rqc/RqcReHeadersDTO.java
  94. 1187 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rqc/RqcReLinesDTO.java
  95. 122 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rqc/RqcRechekHeadersDTO.java
  96. 231 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rqc/RqcRechekLinesDTO.java
  97. 262 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rqc/RqcStDTO.java
  98. 586 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rqc/WmsInRqcSampleDTO.java
  99. 156 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rqc/WmsInRqcStRuleDTO.java
  100. 830 0
      upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/task/TaskExceptionDetailDTO.java

+ 23 - 0
upcloud-base-wh-inbound/.gitignore

@@ -0,0 +1,23 @@
+target
+**/target
+.classpath
+**/.classpath
+.project
+**/.project
+.settings
+**/.settings
+.svn
+**/.svn
+bin
+**/bin
+.idea/**
+*.iml
+**/*.iml
+rebel.xml
+.factorypath
+**/.factorypath
+.tmp
+**/.tmp
+.log
+**/.log
+basic

+ 73 - 0
upcloud-base-wh-inbound/.gitlab-ci.yml

@@ -0,0 +1,73 @@
+
+stages:
+  - compile
+  - build
+  - deploy
+
+variables:
+  PROJECT_NAME: ${CI_PROJECT_NAME}
+  K8S_FILE: "deploy.yml"
+  PROJECT_IMAGE: harbor.cloud.prolog.org/test/${CI_PROJECT_NAME}
+before_script:
+  - PROJECT_IMAGE_TAG=${PROJECT_IMAGE}:${CI_COMMIT_SHA:0:5}
+#开始构建jar包
+compile:
+  image: harbor.cloud.prolog.org/base-solution/maven:3-openjdk-8
+  stage: compile
+  only:
+    refs:
+     - dev   #对应分支代码分支
+  script:
+     - mvn -q clean package -Dmaven.test.skip=true
+  artifacts:
+    expire_in: 1 day  #工作目录保存时间
+    paths:
+      - ./upcloud-base-wh-inbound-service/target/*.jar #获取构建的jar包,此路径随对应项目修改
+#  when: manual  #手动执行,注释后会自动在每次提交变更后执行
+
+#开始构建镜像并上传至harbor
+build:
+  stage: build
+  image: harbor.cloud.prolog.org/base-solution/drone-kaniko:bate
+  variables:
+    PLUGIN_REPO: "test/${CI_PROJECT_NAME}"      #此处为上传harbor时候的容器名称
+    PLUGIN_REGISTRY: "harbor.cloud.prolog.org"
+    PLUGIN_USERNAME: "$DOCKER_USERNAME"       #项目设置里面cicd 配置变量
+    PLUGIN_PASSWORD: "$DOCKER_PASSWORD"       #项目设置里面cicd 配置变量
+    PLUGIN_SKIP_TLS_VERIFY: "true"
+    PLUGIN_SKIP_TLS_VERIFY_PULL: "true"
+    PLUGIN_CACHE: "false"
+    PLUGIN_TAGS: "${CI_COMMIT_SHA:0:5}"
+  script:
+    - PLUGIN_TAGS="${CI_COMMIT_SHA:0:5}"
+    - /kaniko/plugin.sh
+  only:
+    refs:
+     - dev   #对应分支代码分支
+  when: manual  #手动执行,注释后会自动在每次提交变更后执行
+
+#发布流程
+k8s-deploy:
+  stage: deploy
+  variables:
+    PROJECT_PORT: 8080          #配置文件里面的端口需要和deployment容器端口一致 次端口只能在k8s内部访问
+    PROJECT_NODEPORT: 30823    #nodeport 为该服务在k8s集群外访问端口
+    PROJECT_NAME: ${CI_PROJECT_NAME} #启用变量配。
+    PROJECT_NAMESPACE: test           # k8s集群内部的命名空间namespaces
+    PROJECT_ACTIVE: k8s               # 项目对应的环境配置文件
+  image: harbor.cloud.prolog.org/base-solution/kubectl:v1
+  script:
+    - kubectl get nodes
+    - kubectl version
+    - sed -i "s#{PROJECT_NAME}#$PROJECT_NAME#g;
+      s#{PROJECT_NODEPORT}#$PROJECT_NODEPORT#g;
+      s#{PROJECT_PORT}#$PROJECT_PORT#g;
+      s#{PROJECT_NAMESPACE}#$PROJECT_NAMESPACE#g;
+      s#{PROJECT_IMAGE}#$PROJECT_IMAGE_TAG#g;
+      s#{PROJECT_ACTIVE}#$PROJECT_ACTIVE#g" ./deploy.yml
+    - cat ./deploy.yml
+    - kubectl apply -f ./deploy.yml
+  only:
+    refs:
+     - dev   #对应分支代码分支
+  when: manual  #手动执行,注释后会自动在每次提交变更后执行

+ 11 - 0
upcloud-base-wh-inbound/Dockerfile

@@ -0,0 +1,11 @@
+FROM harbor.cloud.prolog.org/base-solution/jar:v2
+ENV LANG=zh_CN.UTF-8
+ENV JAVA_OPTS="-XX:MetaspaceSize=56m -XX:MaxMetaspaceSize=128m -Xms128m -Xmx512m -Xmn110m -Xss256k -XX:SurvivorRatio=8 -Djava.security.egd=file:/dev/./urandom -Duser.timezone=GMT+08"
+RUN mkdir /usr/local/apps
+RUN mkdir /usr/local/logs
+
+COPY ./*/target/*.jar /usr/local/apps/app.jar
+
+WORKDIR /usr/local/apps
+
+CMD java ${JAVA_OPTS} -jar /usr/local/apps/app.jar

+ 68 - 0
upcloud-base-wh-inbound/deploy.yml

@@ -0,0 +1,68 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  namespace: {PROJECT_NAMESPACE}
+  name: {PROJECT_NAME}
+spec:
+  selector:
+    matchLabels:
+      app: {PROJECT_NAME}
+  replicas: 1
+  template:
+    metadata:
+      namespace: {PROJECT_NAMESPACE}
+      labels:
+        app: {PROJECT_NAME}
+    spec:
+      containers:
+      - name: {PROJECT_NAME}
+        image: {PROJECT_IMAGE}
+        imagePullPolicy: Always
+        env:
+        - name: SPRING_PROFILES_ACTIVE
+          value: {PROJECT_ACTIVE}
+        ports:
+        - containerPort: {PROJECT_PORT}
+        readinessProbe:
+          tcpSocket:
+            port: {PROJECT_PORT}
+          initialDelaySeconds: 30
+          periodSeconds: 10
+          successThreshold: 1
+          timeoutSeconds: 10
+          failureThreshold: 3
+        livenessProbe:
+          tcpSocket:
+            port: {PROJECT_PORT}
+          initialDelaySeconds: 30
+          periodSeconds: 10
+          successThreshold: 1
+          timeoutSeconds: 10
+          failureThreshold: 3
+        volumeMounts:
+        - name: spring-log
+          mountPath: /user/local/logs
+        - name: host-time
+          mountPath: /etc/localtime
+      volumes:
+      - name: host-time
+        hostPath:
+         path: "/etc/localtime"
+      - name: spring-log
+        persistentVolumeClaim:
+          claimName: log-pvc
+---
+#service
+apiVersion: v1
+kind: Service
+metadata:
+  namespace: {PROJECT_NAMESPACE}
+  name: {PROJECT_NAME}
+spec:
+  ports:
+  - port: {PROJECT_PORT}
+    targetPort: {PROJECT_PORT}
+    nodePort: {PROJECT_NODEPORT}
+  type: NodePort
+  selector:
+    app: {PROJECT_NAME}

+ 23 - 0
upcloud-base-wh-inbound/docker/Dockerfile

@@ -0,0 +1,23 @@
+# FROM 192.168.1.60:5000/public/plg-jdkj9:1.0.0
+FROM 192.168.1.60:5000/oracle/serverjre:1.8.0_241-b07
+MAINTAINER www.prolog-int.com
+ARG RUN_ENV
+ENV RUN_ENV=$RUN_ENV
+
+
+RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
+RUN echo 'Asia/Shanghai' >/etc/timezone
+
+RUN mkdir /usr/local/apps
+RUN mkdir /usr/local/logs
+
+COPY ./*.jar /usr/local/apps
+
+COPY ./Entrypoint.sh /usr/local
+
+RUN chmod +x /usr/local/Entrypoint.sh
+
+WORKDIR /usr/local
+
+ENTRYPOINT ["/usr/local/Entrypoint.sh"]
+CMD ["${RUN_ENV}"]

+ 6 - 0
upcloud-base-wh-inbound/docker/Entrypoint.sh

@@ -0,0 +1,6 @@
+#!/bin/bash
+#echo "success"
+#nohup java -Xms1g -Xmx1g -Xmn512m -Xss256k
+env=$1
+#java -Xms1g -Xmx2g -Xmn512m -Xss256k -Djava.security.egd=file:/dev/./urandom -jar /usr/local/apps/*.jar --spring.profiles.active=$env
+java -Xms1g -Xmx2g -Xmn512m -Xss256k -Djava.security.egd=file:/dev/./urandom -jar /usr/local/apps/*.jar --spring.profiles.active=$env

+ 51 - 0
upcloud-base-wh-inbound/docker/up-for-docker.sh

@@ -0,0 +1,51 @@
+#!/bin/bash
+# Program:
+#   This program show docker image status.
+# Parameters:
+#   $1 container-name,such as plg-wms-basic
+#   $2 image-name,such as plg-eureka:1.0.0
+
+containerName=$1
+version=$2
+env=$3
+
+existContainer=`docker ps --format "{{.Names}}" | grep -w "$containerName" | head -n 1`
+if [ -n "$existContainer" ]; then
+  imageName=`docker ps --format "{{.Image}} {{.Names}}" | grep -w "$containerName" | awk '{ print $1 }' `
+  echo '=== Exist container '"$existContainer : $imageName"
+  docker stop "$existContainer"
+fi
+
+existStopContainer=`docker ps -a --format "{{.Names}}" | grep -w "$containerName" | head -n 1`
+if [ -n "$existStopContainer" ]; then
+  echo "=== Remove container ""$existStopContainer"
+  docker rm "$existStopContainer"
+fi
+
+if [ -n "$imageName" ]; then
+  existImage=`docker images --format "{{.Repository}}:{{.Tag}}" | grep -w "$imageName" | head -n 1`
+  if [ -n "$existImage" ]; then
+    echo "=== Remove image ""$existImage"
+    docker rmi "$imageName"
+  fi
+fi
+
+existNewImage=`docker images --format "{{.Repository}}:{{.Tag}}" | grep -w "$containerName":"$version" | head -n 1`
+if [ -n "$existNewImage" ]; then
+  echo "=== Remove new image which exist ""$existNewImage"
+  docker rmi "$existNewImage"
+fi
+
+existNewImage=`docker images --format "{{.Repository}}:{{.Tag}}" | grep -w "$containerName":"$version" | head -n 1`
+if [ -z "$existNewImage" ]; then
+  docker build --build-arg RUN_ENV="$env" -t "$containerName":"$version" .
+fi
+
+existNewImage=`docker images --format "{{.Repository}}:{{.Tag}}" | grep -w "$containerName":"$version" | head -n 1`
+if [ -n "$existNewImage" ]; then
+  echo "=== Run image ""$version"
+  docker run --network host --restart=always --name "$containerName" -v /data/logs:/usr/local/logs -v /data/upload:/usr/local/upload -d "$containerName":"$version"
+fi
+
+echo "=== over ==="
+exit 0

+ 78 - 0
upcloud-base-wh-inbound/funcflow-category.yaml

@@ -0,0 +1,78 @@
+root/验收:
+  index: 1
+  description: ''
+root/收货/收货暂存:
+  index: 2
+  description: ''
+root/收货/货主转换:
+  index: 5
+  description: ''
+root/验收/验收异常:
+  index: 1
+  description: ''
+root/验收/抽检:
+  index: 5
+  description: ''
+root/验收/级联新增:
+  index: 0
+  description: |-
+    功能点:
+    1. 验收数据日志打印以及校验
+    2. 自动单据的处理
+    3. 保存验收头部数据以及头部相关数据
+    4. 验收明细数据校验以及初始化
+    5. 验收明细不同结论的处理
+    6. 持久化验收明细数据
+    7. 容器占用
+    8. 根据结论往下推送任务
+    8. 校验验收明细/验收单是否超收
+    9. 整单拒收回传
+    10. 自动打印单据处理
+root/验收/待质检头表,明细查看:
+  index: 0
+  description: ''
+root/复检:
+  index: 2
+  description: ''
+root/验收/质检任务拆分:
+  index: 2
+  description: ''
+root/收货:
+  index: 0
+  description: ''
+root/异常处理:
+  index: 5
+  description: ''
+root/上架:
+  index: 4
+  description: ''
+root/收货/暂存查询:
+  index: 3
+  description: ''
+root/验收/验收结论,库别选择策略:
+  index: 0
+  description: ''
+root/收货/收货异常处理:
+  index: 4
+  description: ''
+root/收货/提取asn表,明细/查询asn头表:
+  index: 0
+  description: ''
+root:
+  index: 0
+  description: ''
+root/收货/级联新增:
+  index: 1
+  description: ''
+root/收货/提取asn表,明细:
+  index: 0
+  description: ''
+root/验收/监管码:
+  index: 6
+  description: ''
+root/收货/收货异常查询:
+  index: 3
+  description: ''
+root/收货/提取asn表,明细/查询asn明细:
+  index: 0
+  description: ''

+ 10 - 0
upcloud-base-wh-inbound/pipeline_control.yaml

@@ -0,0 +1,10 @@
+#代码缓存开关 true开 false关
+BUILD_CACHE=true
+#代码编辑开关  ture开  false关
+BUILD_CODE=true
+#代码扫描开关 true扫描 false不扫描
+SONAR_SCAN=false
+#构建镜像开关 true构建 false不构建
+BUILD_IMAGE=true
+#发布开关 true发布 False不发布
+DEPLOY=true

+ 69 - 0
upcloud-base-wh-inbound/pom.xml

@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<groupId>com.prolog.upcloud</groupId>
+	<artifactId>upcloud-base-wh-inbound</artifactId>
+	<version>1.0.0.QINGNIU-SNAPSHOT</version>
+	<packaging>pom</packaging>
+	<modules>
+		<module>upcloud-base-wh-inbound-service</module>
+		<module>upcloud-base-wh-inbound-facade</module>
+	</modules>
+	<properties>
+        <!-- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> -->
+
+        <prolog.wms.version>2.0.1.std.RELEASE</prolog.wms.version>
+		<skipTests>true</skipTests>
+    </properties>
+	<dependencyManagement>
+		<dependencies>
+			<dependency>
+				<groupId>com.prolog.framework</groupId>
+				<artifactId>plg-fx-parent</artifactId>
+				<version>2.1.0.release</version>
+				<type>pom</type>
+				<scope>import</scope>
+			</dependency>
+			<dependency>
+				<groupId>com.prolog.upcloud</groupId>
+				<artifactId>upcloud-base-wh-inbound-facade</artifactId>
+				<version>${project.version}</version>
+			</dependency>
+			<dependency>
+				<groupId>com.prolog.wms</groupId>
+				<artifactId>prolog-common-base</artifactId>
+				<version>${prolog.wms.version}</version>
+			</dependency>
+			<dependency>
+                <groupId>com.prolog.upcloud</groupId>
+                <artifactId>base-wh-control-facade</artifactId>
+				<version>3.0.1-SNAPSHOT</version>
+            </dependency>
+            <dependency>
+                <groupId>com.prolog.upcloud</groupId>
+                <artifactId>base-chain-facade</artifactId>
+				<version>1.0.0-SNAPSHOT</version>
+            </dependency>
+		</dependencies>
+	</dependencyManagement>
+
+	<distributionManagement>
+		<repository>
+			<id>releases</id>
+			<url>http://192.168.0.167:8081/repository/releases/</url>
+		</repository>
+		<snapshotRepository>
+			<id>snapshots</id>
+			<url>http://192.168.0.167:8081/repository/snapshots/</url>
+		</snapshotRepository>
+	</distributionManagement>
+	<!-- cp /data/docker/* /data/project/kzy-oms/upcloud-base-wh-inbound
+cd /data/project/kzy-oms/upcloud-base-wh-inbound
+sh /data/project/kzy-oms/upcloud-base-wh-inbound/up-for-docker.sh upcloud-base-wh-inbound 1.0.0 prod -->
+<!-- cp /home/std/docker/* /home/std/project/kzy-oms/upcloud-base-wh-inbound
+cd /home/std/project/kzy-oms/upcloud-base-wh-inbound
+sh /home/std/project/kzy-oms/upcloud-base-wh-inbound/up-for-docker.sh upcloud-base-wh-inbound 1.0.0 prod -->
+</project>

+ 73 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/pom.xml

@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<parent>
+		<artifactId>upcloud-base-wh-inbound</artifactId>
+		<groupId>com.prolog.upcloud</groupId>
+		<version>1.0.0.QINGNIU-SNAPSHOT</version>
+	</parent>
+	<modelVersion>4.0.0</modelVersion>
+
+	<artifactId>upcloud-base-wh-inbound-facade</artifactId>
+
+	<dependencies>
+		<dependency>
+			<groupId>com.prolog.framework</groupId>
+			<artifactId>plg-fx-core</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>com.prolog.cs</groupId>
+			<artifactId>bpm-consume</artifactId>
+			<version>1.0-SNAPSHOT</version>
+		</dependency>
+		<dependency>
+			<groupId>com.prolog.framework</groupId>
+			<artifactId>plg-fx-microservice</artifactId>
+		</dependency>
+		<!-- <dependency> <groupId>com.prolog.cs</groupId> <artifactId>upcloud-base-wh-control-facade</artifactId> 
+			<version>1.0.0.beta</version> </dependency> -->
+		<dependency>
+			<groupId>com.prolog.upcloud</groupId>
+			<artifactId>item-facade</artifactId>
+			<version>${project.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>com.prolog.upcloud</groupId>
+			<artifactId>wh-facade</artifactId>
+			<version>3.0.1-SNAPSHOT</version>
+		</dependency>
+		<dependency>
+			<groupId>com.prolog.upcloud</groupId>
+			<artifactId>common-facade</artifactId>
+			<version>1.0.0-SNAPSHOT</version>
+		</dependency>
+		<dependency>
+			<groupId>com.prolog.upcloud</groupId>
+			<artifactId>strategy-facade</artifactId>
+			<version>${project.version}</version>
+<!-- 			<version>1.0.0-SNAPSHOT</version> -->
+		</dependency>
+		<dependency>
+			<groupId>com.prolog.framework</groupId>
+			<artifactId>plg-bz-starter</artifactId>
+			<!-- <version>1.0-SNAPSHOT</version> -->
+			<version>1.0.0.beta</version>
+		</dependency>
+		<dependency>
+			<groupId>com.prolog</groupId>
+			<artifactId>wms2eis</artifactId>
+			<version>qingniu</version>
+		</dependency>
+	</dependencies>
+	<distributionManagement>
+		<repository>
+			<id>releases</id>
+			<url>http://192.168.0.167:8081/repository/releases/</url>
+		</repository>
+		<snapshotRepository>
+			<id>snapshots</id>
+			<url>http://192.168.0.167:8081/repository/snapshots/</url>
+		</snapshotRepository>
+	</distributionManagement>
+</project>

+ 288 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/constant/BizConstant.java

@@ -0,0 +1,288 @@
+package com.prolog.cs.biz.inbound.constant;
+
+import org.apache.commons.collections4.map.HashedMap;
+
+import java.util.Map;
+
+public class BizConstant {
+
+	public final static String ACCESS_LEAVEL = "9"; // 数据等级默认9
+
+	public final static String STATUS = "1"; // 状态默认1
+
+	public final static Integer PAGE_SIZE = 15; // 默认1
+
+	public final static Integer PAGE_NUM = 1; // 默认1
+
+	public final static String ASN_STATUS = "20";//ASN初始状态默认10
+	public final static String ASND_STATUS = "20";//ASN初始状态默认10
+
+	// ========================异常单节点常量===========================
+	// 收货异常
+	public final static String WMS_EXCEPTION_NODE_RCV = "10";
+	// 质检异常
+	public final static String WMS_EXCEPTION_NODE_RQC = "20";
+	// 复检异常
+	public final static String WMS_EXCEPTION_NODE_RERQC = "30";
+	// 上架异常
+	public final static String WMS_EXCEPTION_NODE_INSTOCK = "40";
+
+	// ========================异常单节点常量===========================
+
+	// =========================收货类型常量=============================
+	/**
+	 * 收货类型全部 0
+	 */
+	public final static String ALL_IN = "0";
+
+	/**
+	 * 采购入库 1
+	 */
+	public final static String PURCHASE_IN = "1";
+	/**
+	 * 销售退回 2
+	 */
+	public final static String SALE_RETURN_IN = "2";
+
+	/**
+	 * 调拨入库 3
+	 */
+	public final static String ALLOT_IN = "3";// 没有客户,没有供应商,跨配送中心
+
+	/**
+	 * 移库入库 4
+	 */
+	public final static String MOVE_IN = "4"; // 外部仓库 同3
+	/**
+	 * 调账入库 5
+	 */
+	public final static String ACCOUNT_REG_IN = "5"; // 空入有实物 ,库内有实物,刷单
+	/**
+	 * 越库入库 6
+	 */
+	public final static String OVERSTEP_IN = "6"; // 指定固定的货位,正常采购流程
+	/**
+	 * 直调入库 7
+	 */
+	public final static String STRAIGHT_IN = "7"; // 供应商-客户,不走仓库 人工质检,自动上架
+	/**
+	 * 代管入库 8
+	 */
+	public final static String HOSTED_IN = "8";
+	/**
+	 * 待检入库 9
+	 */
+	public final static String WAIT_CHECK_IN = "9";
+	/**
+	 * 器械入库 10
+	 */
+	public final static String INSTRUMENT_IN = "10"; // 一模一样采购入库
+	/**
+	 * 赠品入库 11
+	 */
+	public final static String FREE_IN = "11"; // pass
+	/**
+	 * 空入入库(有实物) 12
+	 */
+	public final static String BLANK_ENTITY_IN = "12"; // 调账
+	/**
+	 * 空入入库(无实物) 13
+	 */
+	public final static String BLANK_IN = "13"; // 空入,自动生成质检,上架;货位无限制 不合法的直调
+	/**
+	 * 空退入库(有实物) 14 有实物必须先出再入
+	 */
+	public final static String BLANK_RETURN_ENTITY_IN = "14"; // 调账的一种类型
+	/**
+	 * 空退入库(无实物) 15
+	 */
+	public final static String BLANK_RETURN_IN = "15"; // 销售退回的一种,物品损坏退回
+	/**
+	 * 厂家维修入库
+	 */
+	
+	public final static String FACTORY_MAINTENANCE_IN ="65";
+	/**
+	 * 客户维修入库
+	 */
+	
+	public final static String CUSTORM_MAINTENANCE_IN ="60";
+
+	// =========================收货类型常量=============================
+
+	// ========================结论常量===========================
+	// 合格
+	public final static String QUALIFIED = "0";
+	// 不合格
+	public final static String UN_QUALIFIED = "1";
+	// 待处理
+	public final static String PENDING = "2";
+	// 拒收
+	public final static String REJECT = "3";
+
+	// ========================质检结论常量===========================
+	
+	// 库别常量
+	/**
+	 * 暂存区
+	 */
+	public final static String ZCQ = "ZCQ";
+	/**
+	 * 零货库
+	 */
+	public final static String LHK = "LHK";
+	/**
+	 * 整件库
+	 */
+	public final static String ZJK = "ZJK";
+	/**
+	 * 立体库
+	 */
+	public final static String LTK = "LTK";
+	/**
+	 * 备货库
+	 */
+	public final static String BHK = "BHK";
+	/**
+	 * 不合格品库
+	 */
+	public final static String NHK = "NHK";
+	/**
+	 * 退货库
+	 */
+	public final static String THK = "THK";
+	/**
+	 * 盘点库
+	 */
+	public final static String PDK = "PDK";
+	/**
+	 * 待检库
+	 */
+	public final static String DYK = "DYK";
+	/**
+	 * 整散合一库
+	 */
+	public final static String HYK = "HYK";
+	/**
+	 * 待处理库
+	 */
+	public final static String CLK = "CLK";
+	/**
+	 * 调整库
+	 */
+	public final static String ADJ = "ADJ";
+	/**
+	 * 代管库
+	 */
+	public final static String DGK = "DGK";
+	/**
+	 * 越库区
+	 */
+	public final static String YKQ = "YKQ";
+	/**
+	 * 空入库
+	 */
+	public final static String KRK = "KRK";
+	/**
+	 * 箱体库
+	 */
+	public final static String XTK = "XTK";
+	/**
+	 * 直调库
+	 */
+	public final static String ZDK = "ZDK";
+	/**
+	 * 自动化库
+	 */
+	public final static String SBK = "SBK";
+	/**
+	 * 维修库
+	 */
+	public final static String WXK = "WXK";
+	/**
+	 * 次品库
+	 */
+	public final static String CPK = "CPK";
+
+	/**
+	 * AGV库
+	 */
+	public final static String AGVK = "AGVK";
+	
+	/**
+	 * 业务参数编码(待处理复检代管入)
+	 */
+	public final static String INBOUND_PEND_RERQC_HOSTIN = "INBOUND_PEND_RERQC_HOSTIN";
+	/**
+	 * 业务参数编码(复检待处理erp二次审核)
+	 */
+	public final static String INBOUND_RERQC_PEND_TOERP = "INBOUND_RERQC_PEND_TOERP";
+	
+	/**
+	 * 业务参数编码(复检待处理erp二次审核)
+	 */
+	public final static String ENABLE_USE_SAMPLE_STRATEGY = "ENABLE_USE_SAMPLE_STRATEGY";
+	
+	/**
+	 * 业务参数编码(自动单据间隔时间)
+	 */
+	public final static String AUTO_BILL_INTERVAL_TIME = "AUTO_BILL_INTERVAL_TIME";
+	
+	/**
+	 * 业务参数编码(是否校验容器)
+	 */
+	public final static String ENABLE_VAILDATE_CONTAINER = "ENABLE_VAILDATE_CONTAINER";
+
+	/**
+	 * pda上架是否校验货位限定
+	 */
+	public final static String ENABLE_PDA_MATCH_LOCATOR_LIMIT = "ENABLE_PDA_MATCH_LOCATOR_LIMIT";
+	
+	/**
+	 * 业务参数编码(是否校验结论)
+	 */
+	public final static String ENABLE_VAILDATE_CONCLUSION = "ENABLE_VAILDATE_CONCLUSION";
+
+	
+	/**
+	 * 货位拣货方式
+	 */
+	/**
+	 * 默认拣货
+	 */
+	public final static String PICK_MODE_DEFAULT = "DEFAULT";
+	/**
+	 * 纸单拣货
+	 */
+	public final static String PICK_MODE_PAPER = "Paper";
+	/**
+	 * 设备拣货
+	 */
+	public final static String PICK_MODE_DEVICE = "Device";
+
+	
+	public static Map<String, String> getAreaCodeAndNameList(){
+		Map<String,String> map = new HashedMap<String, String>();
+		map.put(ZCQ, "暂存区");
+		map.put(LHK, "零货库");
+		map.put(ZJK, "整件库");
+		map.put(LTK, "立体库");
+		map.put(BHK, "备货库");
+		map.put(NHK, "不合格品库");
+		map.put(THK, "退货库");
+		map.put(PDK, "盘点库");
+		map.put(DYK, "待检库");
+		map.put(HYK, "整散合一库");
+		map.put(CLK, "待处理库");
+		map.put(ADJ, "调整库");
+		map.put(DGK, "代管库");
+		map.put(YKQ, "越库区");
+		map.put(KRK, "空入库");
+		map.put(XTK, "箱体库");
+		map.put(ZDK, "直调库");
+		map.put(SBK, "自动化库");
+		map.put(WXK, "维修库");
+		map.put(CPK, "次品库");
+		return map;
+	}
+}

+ 387 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/constant/BussinessConstant.java

@@ -0,0 +1,387 @@
+package com.prolog.cs.biz.inbound.constant;
+
+/**
+ * 常量类
+ * 
+ * @author Administrator
+ *
+ */
+public class BussinessConstant {
+	
+	// 默认创建人
+	public static final String OMS_CREATEBY = "SYSTEM";
+
+	// 数据字典-采购订单主表状态
+	public static final String SYS_REFDATA_OMS_PO_BILL_H_STATUS = "OMS_PO_BILL_H_STATUS";
+	// 数据字典-到货方式
+	public static final String SYS_REFDATA_ARRIVAL_MODE = "ARRIVAL_MODE";
+	// 数据字典-订单紧急等级
+	public static final String SYS_REFDATA_PRIORITY_LEVEL = "PRIORITY_LEVEL";
+	// 数据字典-运输条件
+	public static final String SYS_REFDATA_PUB_TRANSLINE_TRANS_TYPE = "PUB_TRANSLINE_TRANS_TYPE";
+	// 数据字典-采购订单明细状态
+	public static final String SYS_REFDATA_OMS_PO_BILL_D_STATUS = "OMS_PO_BILL_D_STATUS";
+	// 数据字典-销售订单主表状态
+	public static final String SYS_REFDATA_OMS_ORDER_BILL_H_STATUS = "OMS_ORDER_BILL_H_STATUS";
+	// 数据字典-销售订单明细状态
+	public static final String SYS_REFDATA_OMS_ORDER_BILL_D_STATUS = "OMS_ORDER_BILL_D_STATUS";
+	// 数据字典-交货单状态
+	public static final String SYS_REFDATA_OMS_DO_BILL_STATUS = "OMS_DO_BILL_STATUS";
+	// 数据字典-调拨订单状态
+	public static final String SYS_REFDATA_OMS_ALLOT_BILL_H_STATUS = "OMS_ALLOT_BILL_H_STATUS";
+	// 数据字典-调拨订单明细状态
+	public static final String SYS_REFDATA_OMS_ALLOT_BILL_D_STATUS = "OMS_ALLOT_BILL_D_STATUS";
+	// 数据字典-库存状态
+	public static final String SYS_REFDATA_OMS_STOCK_STATUS = "OMS_STOCK_STATUS";
+	// 数据字典-货主转换单状态
+	public static final String SYS_REFDATA_OMS_CNS_CONVERSION_STATUS = "OMS_CNS_CONVERSION_STATUS";
+	
+	// 数据字典-损溢单状态
+	public static final String SYS_REFDATA_GSP_GAINSLOSSES_BILL_STATUS = "GSP_GAINSLOSSES_BILL_STATUS";
+	// 数据字典-损溢单类型
+	public static final String SYS_REFDATA_GSP_GAINSLOSSES_BILL_TYPE = "GSP_GAINSLOSSES_BILL_TYPE";
+	// 数据字典-养护计划主表状态
+	public static final String SYS_REFDATA_GSP_MAINTENANCE_PLAN_H_STATUS = "GSP_MAINTENANCE_PLAN_H_STATUS";
+	// 数据字典-养护计划明细表状态
+	public static final String SYS_REFDATA_GSP_MAINTENANCE_PLAN_D_STATUS = "GSP_MAINTENANCE_PLAN_D_STATUS";
+	// 数据字典-养护计划养护商品类别
+	public static final String SYS_REFDATA_GSP_MAINTENANCE_PLAN_H_ITEM_TYPE = "GSP_MAINTENANCE_PLAN_H_ITEM_TYPE";
+	// 数据字典-养护计划执行方式
+	public static final String SYS_REFDATA_GSP_MAINTENANCE_PLAN_H_RUN_MODE = "GSP_MAINTENANCE_PLAN_H_RUN_MODE";
+	// 数据字典-养护计划来源类型
+    public static final String SYS_REFDATA_GSP_MAINTENANCE_PLAN_H_REF_BILLTYPE = "GSP_MAINTENANCE_PLAN_H_REF_BILLTYPE";
+    // 数据字典-停售申请单状态
+    public static final String SYS_REFDATA_GSP_STOPSELLBILL_STATUS = "GSP_STOPSELLBILL_STATUS";
+    // 数据字典-停售申请单类型
+    public static final String SYS_REFDATA_GSP_STOPSELLBILL_TYPE = "GSP_STOPSELLBILL_TYPE";
+    // 申请复查单据类别
+    public static final String SYS_REFDATA_REQUEST_BILLTYPE = "REQUEST_BILLTYPE";
+			
+	// 单据来源类型分组1(1 ERP对接2 SAP对接3 OMS录入 )
+	// 单据来源类型分组2(1 销售订单2 采购退货订单3 调拨订单4 其他出库订单 )
+	public static final String REF_BILLTYPE_ERP = "1";
+	public static final String REF_BILLTYPE_SAP = "2";
+	public static final String REF_BILLTYPE_OMS = "3";
+	public static final String REF_BILLTYPE_XSDD = "1";
+	public static final String REF_BILLTYPE_CGTHDD = "2";
+	public static final String REF_BILLTYPE_DBDD = "3";
+	public static final String REF_BILLTYPE_QTCHDK = "4";
+
+	// 采购订单主表状态0 作废10 录入15 异常待处理20 审核25 部分预约30 全部预约99 已过账
+	public static final String OMS_PO_BILL_H_STATUS_ZF = "0";
+	public static final String OMS_PO_BILL_H_STATUS_LR = "10";
+	public static final String OMS_PO_BILL_H_STATUS_YC = "15";
+	public static final String OMS_PO_BILL_H_STATUS_SH = "20";
+	public static final String OMS_PO_BILL_H_STATUS_BFYY = "25";
+	public static final String OMS_PO_BILL_H_STATUS_QBYY = "30";
+	public static final String OMS_PO_BILL_H_STATUS_YGZ = "99";
+
+	// 采购订单明细状态0 作废10 录入
+	public static final String OMS_PO_BILL_D_STATUS_ZF = "0";
+	public static final String OMS_PO_BILL_D_STATUS_LR = "10";
+
+	// 审核状态1 未审核2 审核中3 已通过4 已驳回5 待仲裁
+	public static final String AUDIT_STATE_WSH = "1";
+	public static final String AUDIT_STATE_SHZ = "2";
+	public static final String AUDIT_STATE_YTG = "3";
+	public static final String AUDIT_STATE_YBH = "4";
+	public static final String AUDIT_STATE_DZC = "5";
+
+	// 销售订单主表状态0 作废10 录入15 异常待处理20 审核25 部分预约30 全部预约 60出库完成 70已发货 80已签收 99 已过账
+	public static final String OMS_ORDER_BILL_H_STATUS_ZF = "0";
+	public static final String OMS_ORDER_BILL_H_STATUS_LR = "10";
+	public static final String OMS_ORDER_BILL_H_STATUS_YC = "15";
+	public static final String OMS_ORDER_BILL_H_STATUS_SH = "20";
+	public static final String OMS_ORDER_BILL_H_STATUS_BFYY = "25";
+	public static final String OMS_ORDER_BILL_H_STATUS_QBYY = "30";
+	public static final String OMS_ORDER_BILL_H_STATUS_CKWC = "60";
+	public static final String OMS_ORDER_BILL_H_STATUS_YFH = "70";
+	public static final String OMS_ORDER_BILL_H_STATUS_YQS = "80";
+	public static final String OMS_ORDER_BILL_H_STATUS_YGZ = "99";
+
+	// 销售订单明细状态0 作废10 录入
+	public static final String OMS_ORDER_BILL_D_STATUS_ZF = "0";
+	public static final String OMS_ORDER_BILL_D_STATUS_LR = "10";
+
+	// 取号标识-采购订单ID
+	public static final String CODEENGINE_OMS_PO_BILL_H_BILLID = "OMS_PO_BILL_H_BILLID";
+	// 取号标识-采购订单明细ID
+	public static final String CODEENGINE_OMS_PO_BILL_D_LINEID = "OMS_PO_BILL_D_LINEID";
+	// 取号标识-销售订单ID
+	public static final String CODEENGINE_OMS_ORDER_BILL_H_BILLID = "OMS_ORDER_BILL_H_BILLID";
+	// 取号标识-销售订单明细ID
+	public static final String CODEENGINE_OMS_ORDER_BILL_D_LINEID = "OMS_ORDER_BILL_D_LINEID";
+	// 取号标识-交货单ID
+	public static final String CODEENGINE_OMS_DO_BILL_H_BILLID = "OMS_DO_BILL_H_BILLID";
+	// 取号标识-交货单明细ID
+	public static final String CODEENGINE_OMS_DO_BILL_D_LINEID = "OMS_DO_BILL_D_LINEID";
+	// 取号标识-ASN单汇总ID
+	public static final String CODEENGINE_OMS_ASN_BILL_H_ID = "OMS_ASN_BILL_H_ID";
+	// 取号标识-ASN单明细ID
+	public static final String CODEENGINE_OMS_ASN_BILL_D_LINEID = "OMS_ASN_BILL_D_LINEID";
+	// 取号标识-调拨订单ID
+	public static final String CODEENGINE_OMS_ALLOT_BILL_H_BILLID = "OMS_ALLOT_BILL_H_BILLID";
+	// 取号标识-调拨订单明细ID
+	public static final String CODEENGINE_OMS_ALLOT_BILL_D_LINEID = "OMS_ALLOT_BILL_D_LINEID";
+	// 取号标识-库存调整单id
+	public static final String CODEENGINE_INV_STOCK_ADJUST_RECORD_ID = "INV_STOCK_ADJUST_RECORD_ID";
+	// 取号标识-损溢单ID
+	public static final String CODEENGINE_GSP_GAINSLOSSES_BILL_BILLID = "GSP_GAINSLOSSES_BILL_BILLID";
+	// 取号标识-养护计划主表ID
+	public static final String CODEENGINE_GSP_MAINTENANCE_PLAN_H_BILLID = "GSP_MAINTENANCE_PLAN_H_BILLID";
+	// 取号标识-养护计划明细ID
+	public static final String CODEENGINE_GSP_MAINTENANCE_PLAN_D_LINEID = "GSP_MAINTENANCE_PLAN_D_LINEID";
+	// 取号标识-销毁单ID
+    public static final String CODEENGINE_GSP_DESTROY_REQUEST_ID = "GSP_DESTROY_REQUEST_ID";
+    // 取号标识-货主转换单ID
+    public static final String CODEENGINE_CNS_CONVERSION_ID = "OMS_CNS_CONVERSION_ID";
+    // 取号标识-停售申请单ID
+    public static final String CODEENGINE_GSP_STOPSELLBILL_ID = "GSP_STOPSELLBILL_ID";
+    // 取号标识-质量复查单汇总ID
+    public static final String CODEENGINE_GSP_QUALITY_REVIEWH_ID = "GSP_QUALITY_REVIEWH_ID";
+    // 取号标识-质量复查单明细ID
+    public static final String CODEENGINE_GSP_QUALITY_REVIEWD_ID = "GSP_QUALITY_REVIEWD_ID";
+	// 取号标识-盘点损益单ID
+	public static final String CODEENGINE_OMS_INVENTORY_ORDER_ID = "OMS_INVENTORY_ORDER_ID";
+	// 取号标识-盘点损益单审核ID
+	public static final String CODEENGINE_OMS_INVENTORY_AUDIT_ID = "OMS_INVENTORY_AUDIT_ID";
+	// 取号标识-批号日期调整单ID
+	public static final String CODEENGINE_OMS_LOT_STOCK_ADJUSTMENT_ID = "OMS_LOT_STOCK_ADJUSTMENT_ID";
+	// 取号标识-批号日期调整回传单ID
+	public static final String CODEENGINE_OMS_LOT_STOCK_ADJUST_RETURN_ID = "OMS_LOT_STOCK_ADJUST_RETURN_ID";
+	// 取号标识-运输节点记录ID
+    public static final String CODEENGINE_TRANSPORT_NODE_RECORD_ID = "TRANSPORT_NODE_RECORD_ID";
+    // 取号标识-运输费用记录ID
+    public static final String CODEENGINE_TRANSPORT_COST_ID = "TRANSPORT_COST_ID";
+    // 取号标识-电子监管码ID
+    public static final String CODEENGINE_SUPERVISION_CODE_ID = "SUPERVISION_CODE_ID";
+    // 取号标识-养护记录ID
+    public static final String CODEENGINE_MAINTENANCE_RECORD_ID = "MAINTENANCE_RECORD_ID";
+
+	// 单据审核结果类型(11 采购订单12 ASN单13 销售订单14 交货单15 采购退货单16 销售退回单17 调拨订单18 停售申请单19 损溢单20
+	// 质量复查单21 销毁单)
+	public static final String OMS_AUDIT_TYPE_CGDD = "11";
+	public static final String OMS_AUDIT_TYPE_ASND = "12";
+	public static final String OMS_AUDIT_TYPE_XSDD = "13";
+	public static final String OMS_AUDIT_TYPE_JHD = "14";
+	public static final String OMS_AUDIT_TYPE_CGTH = "15";
+	public static final String OMS_AUDIT_TYPE_XSTH = "16";
+	public static final String OMS_AUDIT_TYPE_DBDD = "17";
+	public static final String OMS_AUDIT_TYPE_TSSQ = "18";
+	public static final String OMS_AUDIT_TYPE_SYD = "19";
+	public static final String OMS_AUDIT_TYPE_ZLFC = "20";
+	public static final String OMS_AUDIT_TYPE_XHD = "21";
+
+	// 单据审核结果状态0 作废10 录入
+	public static final String OMS_AUDIT_STATUS_ZF = "0";
+	public static final String OMS_AUDIT_STATUS_LR = "10";
+
+	// ASN单主状态 0-作废 10-录入 15 异常待处理 20-审核 25-已预约 30-已经进场 40-开始收货 60-全部到货 70-上架完成
+	// 90已下发 99-已过账
+	public static final String OMS_ASN_BILL_H_STATUS_ZF = "0";
+	public static final String OMS_ASN_BILL_H_STATUS_LR = "10";
+	public static final String OMS_ASN_BILL_H_STATUS_YC = "15";
+	public static final String OMS_ASN_BILL_H_STATUS_SH = "20";
+	public static final String OMS_ASN_BILL_H_STATUS_YY = "25";
+	public static final String OMS_ASN_BILL_H_STATUS_JC = "30";
+	public static final String OMS_ASN_BILL_H_STATUS_SS = "40";
+	public static final String OMS_ASN_BILL_H_STATUS_DH = "60";
+	public static final String OMS_ASN_BILL_H_STATUS_SJ = "70";
+	public static final String OMS_ASN_BILL_H_STATUS_YXF = "90";
+	public static final String OMS_ASN_BILL_H_STATUS_GZ = "99";
+
+	// ASN单明细状态 0-作废 10-录入 90已下发
+	public static final String OMS_ASN_BILL_D_STATUS_ZF = "0";
+	public static final String OMS_ASN_BILL_D_STATUS_LR = "10";
+	public static final String OMS_ASN_BILL_D_STATUS_YXF = "10";
+
+	// ASN单审核状态1 未审核 2 已驳回 3 已通过 4 待仲裁 5 已仲裁
+	public static final String OMS_ASN_BILL_H_EXAMINE_STATE_WSH = "1";
+	public static final String OMS_ASN_BILL_H_EXAMINE_STATE_YBH = "2";
+	public static final String OMS_ASN_BILL_H_EXAMINE_STATE_YTG = "3";
+	public static final String OMS_ASN_BILL_H_EXAMINE_STATE_DZC = "4";
+	public static final String OMS_ASN_BILL_H_EXAMINE_STATE_YZC = "5";
+
+	// ASN单类型 1 采购入库 2 销售退货 3 调拨入库 4 移库入库 5 调账入库 6 越库入库 7 直调入库 8 代管入库 9 待检入库 10 器械入库
+	// 11 赠品入库
+	public static final String OMS_ASN_BILL_H_BILLTYPE_CGRK = "1";
+	public static final String OMS_ASN_BILL_H_BILLTYPE_XSTH = "2";
+	public static final String OMS_ASN_BILL_H_BILLTYPE_DBRK = "3";
+	public static final String OMS_ASN_BILL_H_BILLTYPE_YKRK = "4";
+	public static final String OMS_ASN_BILL_H_BILLTYPE_TZRK = "5";
+	public static final String OMS_ASN_BILL_H_BILLTYPE_EKRK = "6";
+	public static final String OMS_ASN_BILL_H_BILLTYPE_ZDRK = "7";
+	public static final String OMS_ASN_BILL_H_BILLTYPE_DGRK = "8";
+	public static final String OMS_ASN_BILL_H_BILLTYPE_DJRK = "9";
+	public static final String OMS_ASN_BILL_H_BILLTYPE_QXRK = "10";
+	public static final String OMS_ASN_BILL_H_BILLTYPE_ZPRK = "11";
+
+	// ASN单来源单据类型 1 采购订单 2 销售退货订单 3 调拨订单 4 其他入库订单
+	public static final String OMS_ASN_BILL_H_REFBILLTYPE_CG = "1";
+	public static final String OMS_ASN_BILL_H_REFBILLTYPE_XSTH = "2";
+	public static final String OMS_ASN_BILL_H_REFBILLTYPE_DB = "3";
+	public static final String OMS_ASN_BILL_H_REFBILLTYPE_QT = "4";
+
+	// 交货单类型(0 全部1 销售出库2 采购退货3 调拨出库4 移库出库5 调账出库6 越库出库7 直调出库8 代管出库9 待检出库10 器械出库11
+	// 赠品出库)
+	public static final String OMS_DO_BILL_TYPE_QB = "0";
+	public static final String OMS_DO_BILL_TYPE_XSCK = "1";
+	public static final String OMS_DO_BILL_TYPE_CGTH = "2";
+	public static final String OMS_DO_BILL_TYPE_DBCK = "3";
+	public static final String OMS_DO_BILL_TYPE_YKCK = "4";
+	public static final String OMS_DO_BILL_TYPE_DZCK = "5";
+	public static final String OMS_DO_BILL_TYPE_YUEKCK = "6";
+	public static final String OMS_DO_BILL_TYPE_ZDCK = "7";
+	public static final String OMS_DO_BILL_TYPE_DGCK = "8";
+	public static final String OMS_DO_BILL_TYPE_DJCK = "9";
+	public static final String OMS_DO_BILL_TYPE_QXCK = "10";
+	public static final String OMS_DO_BILL_TYPE_ZPCK = "11";
+
+	// 交货单状态(0 作废10 录入15 异常待处理20 审核60 出库完成70 已发货80 已签收90 已下发99 已过账)
+	public static final String OMS_DO_BILL_STATUS_ZF = "0";
+	public static final String OMS_DO_BILL_STATUS_LR = "10";
+	public static final String OMS_DO_BILL_STATUS_YCCL = "15";
+	public static final String OMS_DO_BILL_STATUS_SH = "20";
+	public static final String OMS_DO_BILL_STATUS_CKWC = "60";
+	public static final String OMS_DO_BILL_STATUS_YFH = "70";
+	public static final String OMS_DO_BILL_STATUS_YQS = "80";
+	public static final String OMS_DO_BILL_STATUS_YXF = "90";
+	public static final String OMS_DO_BILL_STATUS_YGZ = "99";
+	
+	//运输节点记录状态  10 创建
+	public static final String TRANSPORT_NODE_RECORD_YCJ = "10";
+	
+	//运输费用状态  10 创建
+    public static final String TRANSPORT_COST_YCJ = "10";
+    
+    //电子监管码状态  10 创建
+    public static final String SUPERVISION_CODE_YCJ = "10";
+
+	// 交货单明细状态0 作废10 录入 90已下发
+	public static final String OMS_DO_BILL_D_STATUS_ZF = "0";
+	public static final String OMS_DO_BILL_D_STATUS_LR = "10";
+	public static final String OMS_DO_BILL_D_STATUS_YXF = "10";
+
+	// 交货单审核状态1 未审核 2 已驳回 3 已通过 4 待仲裁 5 已仲裁
+	public static final String OMS_DO_BILL_H_EXAMINE_STATE_WSH = "1";
+	public static final String OMS_DO_BILL_H_EXAMINE_STATE_YBH = "2";
+	public static final String OMS_DO_BILL_H_EXAMINE_STATE_YTG = "3";
+	public static final String OMS_DO_BILL_H_EXAMINE_STATE_DZC = "4";
+	public static final String OMS_DO_BILL_H_EXAMINE_STATE_YZC = "5";
+
+	// 业务单位类型(1 客户2 供应商3 收货仓库)
+	public static final String COMPANY_TYPE_KH = "1";
+	public static final String COMPANY_TYPE_GYS = "2";
+	public static final String COMPANY_TYPE_CK = "3";
+
+	// 调拨订单状态(0 作废10 录入20 审核30 出库完成40 已发货50-已经进场60-开始收货70-全部到货80-上架完成99 已过账)
+	public static final String OMS_ALLOT_BILL_H_STATUS_ZF = "0";
+	public static final String OMS_ALLOT_BILL_H_STATUS_LR = "10";
+	public static final String OMS_ALLOT_BILL_H_STATUS_SH = "20";
+	public static final String OMS_ALLOT_BILL_H_STATUS_CKWC = "30";
+	public static final String OMS_ALLOT_BILL_H_STATUS_YFH = "40";
+	public static final String OMS_ALLOT_BILL_H_STATUS_YJJC = "50";
+	public static final String OMS_ALLOT_BILL_H_STATUS_KSSH = "60";
+	public static final String OMS_ALLOT_BILL_H_STATUS_QBDH = "70";
+	public static final String OMS_ALLOT_BILL_H_STATUS_SJWC = "80";
+	public static final String OMS_ALLOT_BILL_H_STATUS_YGZ = "99";
+
+	// 调拨订单明细状态0 作废10 录入
+	public static final String OMS_ALLOT_BILL_D_STATUS_ZF = "0";
+	public static final String OMS_ALLOT_BILL_D_STATUS_LR = "10";
+	
+	//库存调整单据状态0作废10已创建20审核30过账
+	public static final String OMS_STOCK_ADJUST_BILL_STATUS_ZF = "0";
+	public static final String OMS_STOCK_ADJUST_BILL_STATUS_CJ = "10";
+	public static final String OMS_STOCK_ADJUST_BILL_STATUS_SH = "20";
+	public static final String OMS_STOCK_ADJUST_BILL_STATUS_GZ = "30";
+	//库存调整审核状态1通过/0不通过
+	public static final String OMS_STOCK_ADJUST_AUDIT_STATUS_TG = "1";
+	public static final String OMS_STOCK_ADJUST_AUDIT_STATUS_BTG = "0";
+	
+	// 货主转换单状态(0 作废10 录入20 已下传99 已过账)
+	public static final String OMS_CNS_CONVERSION_STATUS_ZF = "0";
+	public static final String OMS_CNS_CONVERSION_STATUS_LR = "10";
+	public static final String OMS_CNS_CONVERSION_STATUS_YXC = "20";
+	public static final String OMS_CNS_CONVERSION_STATUS_YGZ = "99";
+
+	//库存帐页交易类型销售出库1 销售退回2 采购入库3 采退出库4 调拨出库5 调拨入库6 其他出库7 其他入库8
+	public static final String INV_BOOK_RECORD_TRANS_TYPE_XSCK = "1";
+	public static final String INV_BOOK_RECORD_TRANS_TYPE_XSTH = "2";
+	public static final String INV_BOOK_RECORD_TRANS_TYPE_CGRK = "3";
+	public static final String INV_BOOK_RECORD_TRANS_TYPE_CTCK = "4";
+	public static final String INV_BOOK_RECORD_TRANS_TYPE_DBCK = "5";
+	public static final String INV_BOOK_RECORD_TRANS_TYPE_DBRK = "6";
+	public static final String INV_BOOK_RECORD_TRANS_TYPE_QTCK = "7";
+	public static final String INV_BOOK_RECORD_TRANS_TYPE_QTRK = "8";
+	
+	//损溢单状态已作废0 已创建10 审核中20 已驳回30 已审核40
+	public static final String GSP_GAINSLOSSES_BILL_STATUS_YZF = "0";
+	public static final String GSP_GAINSLOSSES_BILL_STATUS_YCJ = "10";
+	public static final String GSP_GAINSLOSSES_BILL_STATUS_SHZ = "20";
+	public static final String GSP_GAINSLOSSES_BILL_STATUS_YBH = "30";
+	public static final String GSP_GAINSLOSSES_BILL_STATUS_YSH = "40";
+	
+	//停售申请单状态  已作废0 已创建10 审核中20 已驳回30 已审核40
+	public static final String GSP_STOPSELLBILL_STATUS_ZF = "0";
+	public static final String GSP_STOPSELLBILL_STATUS_CJ = "10";
+    public static final String GSP_STOPSELLBILL_STATUS_YBH = "20";
+    
+    //质量复查单状态  已作废0 已创建10 审核中20 已驳回30 已审核40
+    public static final String GSP_QUALITY_REVIEW_H_STATUS_ZF = "0";
+    public static final String GSP_QUALITY_REVIEW_H_STATUS_LR = "10";
+    public static final String GSP_QUALITY_REVIEW_H_STATUS_YBH = "30";
+    
+    //质量复查单明细状态  已作废0 已创建10 审核中20 已驳回30 已审核40
+    public static final String GSP_QUALITY_REVIEW_D_STATUS_ZF = "0";
+    public static final String GSP_QUALITY_REVIEW_D_STATUS_LR = "10";
+    
+    //质量复查单数据来源  OMSINPUT OMS录入
+    public static final String GSP_QUALITY_REVIEW_REFBILLTYPE_OMSINPUT = "OMSINPUT";
+    
+    //停售申请单数据来源  OMSINPUT OMS录入
+    public static final String GSP_STOPSELLBILL_REFBILLTYPE_OMSINPUT = "OMSINPUT";
+	
+	//损溢单类型报损单1 报溢单2
+	public static final String GSP_GAINSLOSSES_BILL_TYPE_BSD = "1";
+	public static final String GSP_GAINSLOSSES_BILL_TYPE_BYD = "2";
+	
+	//损溢打印ID
+	public static final String GSP_GAINSLOSSES_BILL_PRINT_TEMPID = "1111";
+	
+	//养护计划主表状态0 作废 10 录入 50 业务处理中 90 处理结束
+	public static final String GSP_MAINTENANCE_PLAN_H_STATUS_ZF = "0";
+	public static final String GSP_MAINTENANCE_PLAN_H_STATUS_LR = "10";
+	public static final String GSP_MAINTENANCE_PLAN_H_STATUS_YWCL = "50";
+	public static final String GSP_MAINTENANCE_PLAN_H_STATUS_CLJS= "90";
+	
+	//养护计划明细状态0 作废 10 录入 50 业务处理中 90 处理结束
+	public static final String GSP_MAINTENANCE_PLAN_D_STATUS_ZF = "0";
+	public static final String GSP_MAINTENANCE_PLAN_D_STATUS_LR = "10";
+	public static final String GSP_MAINTENANCE_PLAN_D_STATUS_YWCL = "50";
+	public static final String GSP_MAINTENANCE_PLAN_D_STATUS_CLJS= "90";
+	
+	// 销毁单状态0 作废10 录入30 已驳回
+    public static final String GSP_DESTROY_REQUEST_STATUS_ZF = "0";
+    public static final String GSP_DESTROY_REQUEST_STATUS_LR = "10";
+    public static final String GSP_DESTROY_REQUEST_STATUS_BH = "30";
+    
+	// 盘点损益单状态(0 作废10 创建 20审核中 30已驳回 40已审核)
+	public static final String OMS_INVENTORY_ORDER_STATUS_ZF = "0";
+	public static final String OMS_INVENTORY_ORDER_STATUS_LR = "10";
+	public static final String OMS_INVENTORY_ORDER_STATUS_SHZ = "20";
+	public static final String OMS_INVENTORY_ORDER_STATUS_YBH = "30";
+	public static final String OMS_INVENTORY_ORDER_STATUS_YSH = "40";
+	
+	// 盘点损益单审核状态(0 作废10 创建 20审核中 30已驳回 40已审核)
+	public static final String OMS_INVENTORY_AUDIT_STATUS_ZF = "0";
+	public static final String OMS_INVENTORY_AUDIT_STATUS_LR = "10";
+	public static final String OMS_INVENTORY_AUDIT_STATUS_SHZ = "20";
+	public static final String OMS_INVENTORY_AUDIT_STATUS_YBH = "30";
+	public static final String OMS_INVENTORY_AUDIT_STATUS_YSH = "40";
+	
+	// 接口状态(N:未处理 E:处理异常 Y:处理完成)
+	public static final String INF_STATUS_N = "N";
+	public static final String INF_STATUS_E = "E";
+	public static final String INF_STATUS_Y = "Y";
+}

+ 54 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/constant/InboundBizConstant.java

@@ -0,0 +1,54 @@
+package com.prolog.cs.biz.inbound.constant;
+
+/**
+ * 入库业务常用类
+ * 
+ * @author Xiong
+ *
+ */
+public class InboundBizConstant {
+
+	/**
+	 * 默认复检次数不超过2
+	 */
+	public final static Integer DEFAULT_RECHECK_TIMES = 2;  // 复检2次
+	
+	/**
+	 * 合格
+	 */
+	public final static String QUALIFIED = "0";
+	/**
+	 * 不合格
+	 */
+	public final static String UN_QUALIFIED = "1";
+	/**
+	 * 待处理
+	 */
+	public final static String PENDING = "2";
+	/**
+	 * 拒收
+	 */
+	public final static String REJECT = "3";
+
+	/**
+	 * 下传默认值
+	 */
+	public final static String CREATE_BY = "admin";//默认创建人
+
+	public final static String WAREHOUSE_ID = "759131791285161984";//默认仓id
+	public final static String WAREHOUSE_CODE = "siyuan2022";//默认仓code
+
+	public final static String WAREHOUSE_NAME = "思源华中仓";//默认仓名称
+
+	public final static String P_ENTERPRISEID = "900356013474058240";//默认企业id
+	public final static String P_ENTERPRISE_NAME = "江西青牛";//默认企业id
+
+	public final static String ATTAIN_DATE = "9999-12-31";//默认到货日期
+
+	public final static String SHIPPER_TYPE = "2";//发货类型
+
+	public final static String[] EIS_DEVICE_AREA_CODES = {"AGVL", "AGVSP", "AGVQX", "AGVZ", "MJK","AGVZY"};
+
+	public final static String[] EIS_PAPER_AREA_CODES = {"ZJK", "ZYK", "WLK", "NHK"};
+
+}

+ 63 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/constant/OperationConstant.java

@@ -0,0 +1,63 @@
+package com.prolog.cs.biz.inbound.constant;
+
+public class OperationConstant {
+
+	public final static String SUCCECC_MSG = "成功!";
+
+	public final static String FAILURE_MSG = "失败!";
+
+	public final static String ADD_OPERATION = "添加操作";
+	public final static String BATCH_ADD_OPERATION = "批量添加操作";
+	public final static String EDIT_OPERATION = "编辑操作";
+	public final static String BATCH_EDIT_OPERATION = "批量编辑操作";
+	public final static String DEL_OPERATION = "删除操作";
+	public final static String BATCH_DEL_OPERATION = "批量删除操作";
+	public final static String PAGE_QUERY_OPERATION = "条件分页查询操作";
+	public final static String ALL_QUERY_OPERATION = "条件查询全部操作";
+	public final static String INFO_QUERY_OPERATION = "详情查询操作";
+
+	// ----------------------------------------------------------------------------------
+	public final static String QUERY_SUCCESS_MSG = "查询成功!";
+
+	public final static String QUERY_OBJ_NULL_MSG = "查询对象为空!";
+
+	public final static String QUERY_ERROR_MSG = "查询失败!";
+
+	public final static String OPERATION_ERROR_MSG = "操作失败!";
+
+	public final static String OPERATION_SUCCESS_MSG = "操作成功!";
+
+	public final static String OBJ_NULL_MSG = "对象为空!";
+
+	public final static String COLLECTION_NULL_MSG = "集合对象为空!";
+
+	public final static String PK_NULL_MSG = "主键id为空!";
+
+	public final static String PKS_NULL_MSG = "主键id集合为空!";
+
+	// ----------------------------------------------------
+	public final static String ADD_SUCCECC_MSG = "添加成功!";
+
+	public final static String EDIT_SUCCECC_MSG = "修改成功!";
+
+	public final static String ADD_ERROR_MSG = "添加失败!";
+
+	public final static String EDIT_ERROR_MSG = "修改失败!";
+
+	public final static String BATCH_ADD_SUCCECC_MSG = "批量添加成功!";
+
+	public final static String BATCH_EDIT_SUCCECC_MSG = "批量修改成功!";
+
+	public final static String BATCH_ADD_ERROR_MSG = "批量添加集合对象不可为空!";
+
+	public final static String BATCH_EDIT_ERROR_MSG = "批量修改集合对象不可为空!";
+
+	public final static String BATCH_DELTE_ERROR_MSG = "删除主键id集合为空!";
+
+	public final static String BATCH_DELTE_SUCCESS_MSG = "删除主键id集合成功!";
+
+	public final static String PAGE_QUERY_SUCCESS_MSG = "条件分页查询成功!";
+
+	public final static String ALL_QUERY_SUCCESS_MSG = "条件查询全部成功!";
+
+}

+ 10 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/constant/VaildateConstant.java

@@ -0,0 +1,10 @@
+package com.prolog.cs.biz.inbound.constant;
+
+public class VaildateConstant {
+
+	public final static String ERROR_ROW_FORMAT = "第%d行参数校验失败!原因:\r\n";
+	public final static String ERROR_ROW_FORMAT2 = "服务[%s]第%d行参数校验失败!原因:\r\n";
+	public final static String ERROR_FIELD_FORMAT = "错误字段:%s\r\n";
+	public final static String ERROR_MSG_FORMAT = "错误原因:%s";
+
+}

+ 21 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/constant/ValidatorGroup.java

@@ -0,0 +1,21 @@
+package com.prolog.cs.biz.inbound.constant;
+
+public class ValidatorGroup {
+
+	public interface validAdd {
+
+	}
+
+	public interface validEdit {
+
+	}
+	
+	public interface validDelete {
+
+	}
+
+	public interface validSelect {
+
+	}
+	
+}

+ 831 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/BillDTO.java

@@ -0,0 +1,831 @@
+package com.prolog.cs.biz.inbound.dto;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 采购订单DTO
+ * 
+ * @author Xiong
+ *
+ */
+public class BillDTO implements Serializable {
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 1966442509571143601L;
+	private String billid;
+	private String billno;
+	private List<BillLineDTO> billLineList;
+
+	private String shipmentProvinceName;
+	private String shipLineId;
+	private String agent;
+	private String mtlOwnerName;
+	private BigDecimal pieceQty;
+	private BigDecimal taTe;
+	private Date createdate;
+	private String vendorId;
+	private String itemCategoryCode;
+	private Date shipArriveTime;
+	private String vendorCode;
+	private String shipperType;
+	private BigDecimal remainqty;
+	private String carrierName;
+	private String saleBillNo;
+	private String needUser;
+	private String mtlOwnerNum;
+	private String asnAutoBillNum;
+	private String saleBillType;
+	private String examineState;
+	private BigDecimal totWeight;
+	private Date lastmodifydate;
+	private String shipmentCountryName;
+	private String srcBillId;
+	private String delivererContactTel;
+	private String rcvType;
+	private String shipperid;
+	private String orgName;
+	private Date attainDate;
+	private String orgnId;
+	private String branchareaid;
+	private String orgnNum;
+	private String customerNum;
+	private String shipmentDistrictNo;
+	private Date billDate;
+	private String shipmentTownName;
+	private String vendorName;
+	private String buyerMane;
+	private String srcBillType;
+	private String customerName;
+	private String asnRemark;
+	private String shipmentCommunityNo;
+	private String warehouseId;
+	private String shipmentCityNo;
+	private String shipType;
+	private String returnType;
+	private String status;
+	private String shipmentAddress;
+	private String shipmentProvinceNo;
+	private String warehouseAreaCode;
+	private String shipFromAdd;
+	private String branchAddress;
+	private String asnHeaderId;
+	private String remark;
+	private String warehouseName;
+	private String lastmodifyby;
+	private String warehouseCode;
+	private String arrivalMode;
+	private String shipmentCityName;
+	private String bizUser;
+	private String createby;
+	private BigDecimal totVolume;
+	private String priorityLevel;
+	private String customerId;
+	private String shippername;
+	private String pEnterprisename;
+	private String department;
+	private String shipperZjm;
+	private Date auditDate;
+	private String shippercode;
+	private String shipmentDistrictName;
+	private Integer onPassageDays;
+	private String closedReason;
+	private String shipmentCommunityName;
+	private String rtReason;
+	private String shipmentTownNo;
+	private String shipmentCountryNo;
+	private String mtlOwnerId;
+	private String needDept;
+	private String srcAutoBillNum;
+	private Date expirationdate;
+	private String transportationParty;
+	private BigDecimal taTi;
+	private BigDecimal caseQty;
+	private String buyerNum;
+	private String enterpriseId;
+	private String carrierId;
+
+	public String getBillid() {
+		return billid;
+	}
+
+	public void setBillid(String billid) {
+		this.billid = billid;
+	}
+
+	public String getBillno() {
+		return billno;
+	}
+
+	public void setBillno(String billno) {
+		this.billno = billno;
+	}
+
+	public List<BillLineDTO> getBillLineList() {
+		return billLineList;
+	}
+
+	public void setBillLineList(List<BillLineDTO> billLineList) {
+		this.billLineList = billLineList;
+	}
+
+	public String getShipmentProvinceName() {
+		return shipmentProvinceName;
+	}
+
+	public void setShipmentProvinceName(String shipmentProvinceName) {
+		this.shipmentProvinceName = shipmentProvinceName;
+	}
+
+	public String getShipLineId() {
+		return shipLineId;
+	}
+
+	public void setShipLineId(String shipLineId) {
+		this.shipLineId = shipLineId;
+	}
+
+	public String getAgent() {
+		return agent;
+	}
+
+	public void setAgent(String agent) {
+		this.agent = agent;
+	}
+
+	public String getMtlOwnerName() {
+		return mtlOwnerName;
+	}
+
+	public void setMtlOwnerName(String mtlOwnerName) {
+		this.mtlOwnerName = mtlOwnerName;
+	}
+
+	public BigDecimal getPieceQty() {
+		return pieceQty;
+	}
+
+	public void setPieceQty(BigDecimal pieceQty) {
+		this.pieceQty = pieceQty;
+	}
+
+	public BigDecimal getTaTe() {
+		return taTe;
+	}
+
+	public void setTaTe(BigDecimal taTe) {
+		this.taTe = taTe;
+	}
+
+	public Date getCreatedate() {
+		return createdate;
+	}
+
+	public void setCreatedate(Date createdate) {
+		this.createdate = createdate;
+	}
+
+	public String getVendorId() {
+		return vendorId;
+	}
+
+	public void setVendorId(String vendorId) {
+		this.vendorId = vendorId;
+	}
+
+	public String getItemCategoryCode() {
+		return itemCategoryCode;
+	}
+
+	public void setItemCategoryCode(String itemCategoryCode) {
+		this.itemCategoryCode = itemCategoryCode;
+	}
+
+	public Date getShipArriveTime() {
+		return shipArriveTime;
+	}
+
+	public void setShipArriveTime(Date shipArriveTime) {
+		this.shipArriveTime = shipArriveTime;
+	}
+
+	public String getVendorCode() {
+		return vendorCode;
+	}
+
+	public void setVendorCode(String vendorCode) {
+		this.vendorCode = vendorCode;
+	}
+
+	public String getShipperType() {
+		return shipperType;
+	}
+
+	public void setShipperType(String shipperType) {
+		this.shipperType = shipperType;
+	}
+
+	public BigDecimal getRemainqty() {
+		return remainqty;
+	}
+
+	public void setRemainqty(BigDecimal remainqty) {
+		this.remainqty = remainqty;
+	}
+
+	public String getCarrierName() {
+		return carrierName;
+	}
+
+	public void setCarrierName(String carrierName) {
+		this.carrierName = carrierName;
+	}
+
+	public String getSaleBillNo() {
+		return saleBillNo;
+	}
+
+	public void setSaleBillNo(String saleBillNo) {
+		this.saleBillNo = saleBillNo;
+	}
+
+	public String getNeedUser() {
+		return needUser;
+	}
+
+	public void setNeedUser(String needUser) {
+		this.needUser = needUser;
+	}
+
+	public String getMtlOwnerNum() {
+		return mtlOwnerNum;
+	}
+
+	public void setMtlOwnerNum(String mtlOwnerNum) {
+		this.mtlOwnerNum = mtlOwnerNum;
+	}
+
+	public String getAsnAutoBillNum() {
+		return asnAutoBillNum;
+	}
+
+	public void setAsnAutoBillNum(String asnAutoBillNum) {
+		this.asnAutoBillNum = asnAutoBillNum;
+	}
+
+	public String getSaleBillType() {
+		return saleBillType;
+	}
+
+	public void setSaleBillType(String saleBillType) {
+		this.saleBillType = saleBillType;
+	}
+
+	public String getExamineState() {
+		return examineState;
+	}
+
+	public void setExamineState(String examineState) {
+		this.examineState = examineState;
+	}
+
+	public BigDecimal getTotWeight() {
+		return totWeight;
+	}
+
+	public void setTotWeight(BigDecimal totWeight) {
+		this.totWeight = totWeight;
+	}
+
+	public Date getLastmodifydate() {
+		return lastmodifydate;
+	}
+
+	public void setLastmodifydate(Date lastmodifydate) {
+		this.lastmodifydate = lastmodifydate;
+	}
+
+	public String getShipmentCountryName() {
+		return shipmentCountryName;
+	}
+
+	public void setShipmentCountryName(String shipmentCountryName) {
+		this.shipmentCountryName = shipmentCountryName;
+	}
+
+	public String getSrcBillId() {
+		return srcBillId;
+	}
+
+	public void setSrcBillId(String srcBillId) {
+		this.srcBillId = srcBillId;
+	}
+
+	public String getDelivererContactTel() {
+		return delivererContactTel;
+	}
+
+	public void setDelivererContactTel(String delivererContactTel) {
+		this.delivererContactTel = delivererContactTel;
+	}
+
+	public String getRcvType() {
+		return rcvType;
+	}
+
+	public void setRcvType(String rcvType) {
+		this.rcvType = rcvType;
+	}
+
+	public String getShipperid() {
+		return shipperid;
+	}
+
+	public void setShipperid(String shipperid) {
+		this.shipperid = shipperid;
+	}
+
+	public String getOrgName() {
+		return orgName;
+	}
+
+	public void setOrgName(String orgName) {
+		this.orgName = orgName;
+	}
+
+	public Date getAttainDate() {
+		return attainDate;
+	}
+
+	public void setAttainDate(Date attainDate) {
+		this.attainDate = attainDate;
+	}
+
+	public String getOrgnId() {
+		return orgnId;
+	}
+
+	public void setOrgnId(String orgnId) {
+		this.orgnId = orgnId;
+	}
+
+	public String getBranchareaid() {
+		return branchareaid;
+	}
+
+	public void setBranchareaid(String branchareaid) {
+		this.branchareaid = branchareaid;
+	}
+
+	public String getOrgnNum() {
+		return orgnNum;
+	}
+
+	public void setOrgnNum(String orgnNum) {
+		this.orgnNum = orgnNum;
+	}
+
+	public String getCustomerNum() {
+		return customerNum;
+	}
+
+	public void setCustomerNum(String customerNum) {
+		this.customerNum = customerNum;
+	}
+
+	public String getShipmentDistrictNo() {
+		return shipmentDistrictNo;
+	}
+
+	public void setShipmentDistrictNo(String shipmentDistrictNo) {
+		this.shipmentDistrictNo = shipmentDistrictNo;
+	}
+
+	public Date getBillDate() {
+		return billDate;
+	}
+
+	public void setBillDate(Date billDate) {
+		this.billDate = billDate;
+	}
+
+	public String getShipmentTownName() {
+		return shipmentTownName;
+	}
+
+	public void setShipmentTownName(String shipmentTownName) {
+		this.shipmentTownName = shipmentTownName;
+	}
+
+	public String getVendorName() {
+		return vendorName;
+	}
+
+	public void setVendorName(String vendorName) {
+		this.vendorName = vendorName;
+	}
+
+	public String getBuyerMane() {
+		return buyerMane;
+	}
+
+	public void setBuyerMane(String buyerMane) {
+		this.buyerMane = buyerMane;
+	}
+
+	public String getSrcBillType() {
+		return srcBillType;
+	}
+
+	public void setSrcBillType(String srcBillType) {
+		this.srcBillType = srcBillType;
+	}
+
+	public String getCustomerName() {
+		return customerName;
+	}
+
+	public void setCustomerName(String customerName) {
+		this.customerName = customerName;
+	}
+
+	public String getAsnRemark() {
+		return asnRemark;
+	}
+
+	public void setAsnRemark(String asnRemark) {
+		this.asnRemark = asnRemark;
+	}
+
+	public String getShipmentCommunityNo() {
+		return shipmentCommunityNo;
+	}
+
+	public void setShipmentCommunityNo(String shipmentCommunityNo) {
+		this.shipmentCommunityNo = shipmentCommunityNo;
+	}
+
+	public String getWarehouseId() {
+		return warehouseId;
+	}
+
+	public void setWarehouseId(String warehouseId) {
+		this.warehouseId = warehouseId;
+	}
+
+	public String getShipmentCityNo() {
+		return shipmentCityNo;
+	}
+
+	public void setShipmentCityNo(String shipmentCityNo) {
+		this.shipmentCityNo = shipmentCityNo;
+	}
+
+	public String getShipType() {
+		return shipType;
+	}
+
+	public void setShipType(String shipType) {
+		this.shipType = shipType;
+	}
+
+	public String getReturnType() {
+		return returnType;
+	}
+
+	public void setReturnType(String returnType) {
+		this.returnType = returnType;
+	}
+
+	public String getStatus() {
+		return status;
+	}
+
+	public void setStatus(String status) {
+		this.status = status;
+	}
+
+	public String getShipmentAddress() {
+		return shipmentAddress;
+	}
+
+	public void setShipmentAddress(String shipmentAddress) {
+		this.shipmentAddress = shipmentAddress;
+	}
+
+	public String getShipmentProvinceNo() {
+		return shipmentProvinceNo;
+	}
+
+	public void setShipmentProvinceNo(String shipmentProvinceNo) {
+		this.shipmentProvinceNo = shipmentProvinceNo;
+	}
+
+	public String getWarehouseAreaCode() {
+		return warehouseAreaCode;
+	}
+
+	public void setWarehouseAreaCode(String warehouseAreaCode) {
+		this.warehouseAreaCode = warehouseAreaCode;
+	}
+
+	public String getShipFromAdd() {
+		return shipFromAdd;
+	}
+
+	public void setShipFromAdd(String shipFromAdd) {
+		this.shipFromAdd = shipFromAdd;
+	}
+
+	public String getBranchAddress() {
+		return branchAddress;
+	}
+
+	public void setBranchAddress(String branchAddress) {
+		this.branchAddress = branchAddress;
+	}
+
+	public String getAsnHeaderId() {
+		return asnHeaderId;
+	}
+
+	public void setAsnHeaderId(String asnHeaderId) {
+		this.asnHeaderId = asnHeaderId;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public String getWarehouseName() {
+		return warehouseName;
+	}
+
+	public void setWarehouseName(String warehouseName) {
+		this.warehouseName = warehouseName;
+	}
+
+	public String getLastmodifyby() {
+		return lastmodifyby;
+	}
+
+	public void setLastmodifyby(String lastmodifyby) {
+		this.lastmodifyby = lastmodifyby;
+	}
+
+	public String getWarehouseCode() {
+		return warehouseCode;
+	}
+
+	public void setWarehouseCode(String warehouseCode) {
+		this.warehouseCode = warehouseCode;
+	}
+
+	public String getArrivalMode() {
+		return arrivalMode;
+	}
+
+	public void setArrivalMode(String arrivalMode) {
+		this.arrivalMode = arrivalMode;
+	}
+
+	public String getShipmentCityName() {
+		return shipmentCityName;
+	}
+
+	public void setShipmentCityName(String shipmentCityName) {
+		this.shipmentCityName = shipmentCityName;
+	}
+
+	public String getBizUser() {
+		return bizUser;
+	}
+
+	public void setBizUser(String bizUser) {
+		this.bizUser = bizUser;
+	}
+
+	public String getCreateby() {
+		return createby;
+	}
+
+	public void setCreateby(String createby) {
+		this.createby = createby;
+	}
+
+	public BigDecimal getTotVolume() {
+		return totVolume;
+	}
+
+	public void setTotVolume(BigDecimal totVolume) {
+		this.totVolume = totVolume;
+	}
+
+	public String getPriorityLevel() {
+		return priorityLevel;
+	}
+
+	public void setPriorityLevel(String priorityLevel) {
+		this.priorityLevel = priorityLevel;
+	}
+
+	public String getCustomerId() {
+		return customerId;
+	}
+
+	public void setCustomerId(String customerId) {
+		this.customerId = customerId;
+	}
+
+	public String getShippername() {
+		return shippername;
+	}
+
+	public void setShippername(String shippername) {
+		this.shippername = shippername;
+	}
+
+	public String getpEnterprisename() {
+		return pEnterprisename;
+	}
+
+	public void setpEnterprisename(String pEnterprisename) {
+		this.pEnterprisename = pEnterprisename;
+	}
+
+	public String getDepartment() {
+		return department;
+	}
+
+	public void setDepartment(String department) {
+		this.department = department;
+	}
+
+	public String getShipperZjm() {
+		return shipperZjm;
+	}
+
+	public void setShipperZjm(String shipperZjm) {
+		this.shipperZjm = shipperZjm;
+	}
+
+	public Date getAuditDate() {
+		return auditDate;
+	}
+
+	public void setAuditDate(Date auditDate) {
+		this.auditDate = auditDate;
+	}
+
+	public String getShippercode() {
+		return shippercode;
+	}
+
+	public void setShippercode(String shippercode) {
+		this.shippercode = shippercode;
+	}
+
+	public String getShipmentDistrictName() {
+		return shipmentDistrictName;
+	}
+
+	public void setShipmentDistrictName(String shipmentDistrictName) {
+		this.shipmentDistrictName = shipmentDistrictName;
+	}
+
+	public Integer getOnPassageDays() {
+		return onPassageDays;
+	}
+
+	public void setOnPassageDays(Integer onPassageDays) {
+		this.onPassageDays = onPassageDays;
+	}
+
+	public String getClosedReason() {
+		return closedReason;
+	}
+
+	public void setClosedReason(String closedReason) {
+		this.closedReason = closedReason;
+	}
+
+	public String getShipmentCommunityName() {
+		return shipmentCommunityName;
+	}
+
+	public void setShipmentCommunityName(String shipmentCommunityName) {
+		this.shipmentCommunityName = shipmentCommunityName;
+	}
+
+	public String getRtReason() {
+		return rtReason;
+	}
+
+	public void setRtReason(String rtReason) {
+		this.rtReason = rtReason;
+	}
+
+	public String getShipmentTownNo() {
+		return shipmentTownNo;
+	}
+
+	public void setShipmentTownNo(String shipmentTownNo) {
+		this.shipmentTownNo = shipmentTownNo;
+	}
+
+	public String getShipmentCountryNo() {
+		return shipmentCountryNo;
+	}
+
+	public void setShipmentCountryNo(String shipmentCountryNo) {
+		this.shipmentCountryNo = shipmentCountryNo;
+	}
+
+	public String getMtlOwnerId() {
+		return mtlOwnerId;
+	}
+
+	public void setMtlOwnerId(String mtlOwnerId) {
+		this.mtlOwnerId = mtlOwnerId;
+	}
+
+	public String getNeedDept() {
+		return needDept;
+	}
+
+	public void setNeedDept(String needDept) {
+		this.needDept = needDept;
+	}
+
+	public String getSrcAutoBillNum() {
+		return srcAutoBillNum;
+	}
+
+	public void setSrcAutoBillNum(String srcAutoBillNum) {
+		this.srcAutoBillNum = srcAutoBillNum;
+	}
+
+	public Date getExpirationdate() {
+		return expirationdate;
+	}
+
+	public void setExpirationdate(Date expirationdate) {
+		this.expirationdate = expirationdate;
+	}
+
+	public String getTransportationParty() {
+		return transportationParty;
+	}
+
+	public void setTransportationParty(String transportationParty) {
+		this.transportationParty = transportationParty;
+	}
+
+	public BigDecimal getTaTi() {
+		return taTi;
+	}
+
+	public void setTaTi(BigDecimal taTi) {
+		this.taTi = taTi;
+	}
+
+	public BigDecimal getCaseQty() {
+		return caseQty;
+	}
+
+	public void setCaseQty(BigDecimal caseQty) {
+		this.caseQty = caseQty;
+	}
+
+	public String getBuyerNum() {
+		return buyerNum;
+	}
+
+	public void setBuyerNum(String buyerNum) {
+		this.buyerNum = buyerNum;
+	}
+
+	public String getEnterpriseId() {
+		return enterpriseId;
+	}
+
+	public void setEnterpriseId(String enterpriseId) {
+		this.enterpriseId = enterpriseId;
+	}
+
+	public String getCarrierId() {
+		return carrierId;
+	}
+
+	public void setCarrierId(String carrierId) {
+		this.carrierId = carrierId;
+	}
+
+}

+ 987 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/BillLineDTO.java

@@ -0,0 +1,987 @@
+package com.prolog.cs.biz.inbound.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 采购订单明细DTO
+ * 
+ * @author Xiong
+ *
+ */
+public class BillLineDTO implements Serializable {
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 3395008237581176233L;
+	private String itemid;
+	private String itemcode;
+	private String itemname;
+	private BigDecimal itemQty;
+	private String billid;
+
+	public String getBillid() {
+		return billid;
+	}
+
+	public void setBillid(String billid) {
+		this.billid = billid;
+	}
+
+	public String getItemid() {
+		return itemid;
+	}
+
+	public void setItemid(String itemid) {
+		this.itemid = itemid;
+	}
+
+	public String getItemcode() {
+		return itemcode;
+	}
+
+	public void setItemcode(String itemcode) {
+		this.itemcode = itemcode;
+	}
+
+	public String getItemname() {
+		return itemname;
+	}
+
+	public void setItemname(String itemname) {
+		this.itemname = itemname;
+	}
+
+	public BigDecimal getItemQty() {
+		return itemQty;
+	}
+
+	public void setItemQty(BigDecimal itemQty) {
+		this.itemQty = itemQty;
+	}
+
+	private String BRANCHID;
+	private String ITEM_HEALTH_CATEGORY;
+	private String TYPE_NAME;
+	private String allowDecimal;
+	private String approvalNumber;
+	private String asnAutoBillNum;
+	private String asnHeaderId;
+	private String asnLineId;
+	private String asnLineRemark;
+	private String barCode;
+	private Date batchExpiredDate;
+	private String batchId;
+	private String batchNum;
+	private Date batchProductionDate;
+	private BigDecimal caseConversionRate;
+	private String categoryCode;
+	private String categoryId;
+	private String categoryName;
+	private String commonName;
+	private BigDecimal conversionRate;
+	private String countryOriginId;
+	private BigDecimal freeQty;
+	private BigDecimal inStoreDay;
+	private String industry;
+	private Integer isBacteria;
+	private Integer isCaseOrPiece;
+	private Integer isDelegate;
+	private Integer isHosted;
+	private Integer isInstrument;
+	private Integer isLock;
+	private Integer isRetrospect;
+	private Integer isSupervise;
+	private String itemAssistantCode;
+	private String itemHealthCommonName;
+	private Integer itemHealthIsDouble;
+	private String itemHealthListedLicensor;
+	private String itemHealthProduceLicense;
+	private String itemHealthRegisterNbr;
+	private String itemHealthStoreCategory;
+	private String itemHealthStorenote;
+	private Integer itemHealthTwovoteflag;
+	private String itemId;
+	private Integer itemIsImported;
+	private Integer itemIsRecheck;
+	private Integer itemIsSpecial;
+	private String itemName;
+	private String itemNum;
+	private BigDecimal itemVolume;
+	private BigDecimal itemWeight;
+	private String itemZjm;
+	private String managementExpiredDate;
+	private String manufactureCode;
+	private String manufacturer;
+	private String manufacturerId;
+	private String manufacturerLotNum;
+	private String manufacturerName;
+	private String mtlOwnerId;
+	private BigDecimal oddCaseQty;
+	private BigDecimal oddPieceQty;
+	private String pieceBarCode;
+	private BigDecimal pieceConversionRate;
+	private BigDecimal piecePriceTe;
+	private BigDecimal piecePriceTi;
+	private BigDecimal pieceQty;
+	private String poAuditOpinion;
+	private BigDecimal preQty;
+	private String productionPlace;
+	private String qcMode;
+	private String rcvRtReason;
+	private BigDecimal receivedQty;
+	private String recordNbr;
+	private String registerNbr;
+	private String registerNbrEn;
+	private BigDecimal rejectQty;
+	private BigDecimal remainShelfStockCount;
+	private BigDecimal remainStackStockCount;
+	private BigDecimal shelfLifeDays;
+	private BigDecimal shelfLifeNum;
+	private String shelfLifeUnit;
+	private BigDecimal shelfStockCount;
+	private String showExpiredDate;
+	private String showProductionDate;
+	private String specification;
+	private BigDecimal stackStockCount;
+	private String storeTemperature;
+	private String tempControlScope;
+	private String uom;
+	private String warehouseId;
+
+	private String warehouseName;
+	private String mtlOwnerName;
+
+	private boolean changeMatchFlag; // 货主转换是否匹配成功标识
+	// 货位id
+	@ApiModelProperty(value = "货位id")
+	private String whLocatorId;
+	// 货位编码
+	@ApiModelProperty(value = "货位编码")
+	private String whLocatorCode;
+	// 库区编码
+	@ApiModelProperty(value = "库区编码")
+	private String whAreaCode;
+	// 库别编码
+	@ApiModelProperty(value = "库别编码")
+	private String whAreaCategoryCode;
+	// 来源明细id
+	@ApiModelProperty(value = "来源明细id")
+	private String refLineId;
+	// 来源明细备注
+	@ApiModelProperty(value = "来源明细备注")
+	private String refLineRemark;
+	// 额外字段1
+	@ApiModelProperty(value = "来源明细额外字段1")
+	private String refLineAttr1;
+	// 额外字段2
+	@ApiModelProperty(value = "来源明细额外字段2")
+	private String refLineAttr2;
+
+	@ApiModelProperty(value = "结论(0合格/1不合格/2待处理/3拒绝)")
+	private String stockStatus;
+
+	public String getStockStatus() {
+		return stockStatus;
+	}
+
+	public void setStockStatus(String stockStatus) {
+		this.stockStatus = stockStatus;
+	}
+
+	public String getWhLocatorId() {
+		return whLocatorId;
+	}
+
+	public void setWhLocatorId(String whLocatorId) {
+		this.whLocatorId = whLocatorId;
+	}
+
+	public String getWhLocatorCode() {
+		return whLocatorCode;
+	}
+
+	public void setWhLocatorCode(String whLocatorCode) {
+		this.whLocatorCode = whLocatorCode;
+	}
+
+	public String getWhAreaCode() {
+		return whAreaCode;
+	}
+
+	public void setWhAreaCode(String whAreaCode) {
+		this.whAreaCode = whAreaCode;
+	}
+
+	public String getWhAreaCategoryCode() {
+		return whAreaCategoryCode;
+	}
+
+	public void setWhAreaCategoryCode(String whAreaCategoryCode) {
+		this.whAreaCategoryCode = whAreaCategoryCode;
+	}
+
+	public String getRefLineId() {
+		return refLineId;
+	}
+
+	public void setRefLineId(String refLineId) {
+		this.refLineId = refLineId;
+	}
+
+	public String getRefLineRemark() {
+		return refLineRemark;
+	}
+
+	public void setRefLineRemark(String refLineRemark) {
+		this.refLineRemark = refLineRemark;
+	}
+
+	public String getRefLineAttr1() {
+		return refLineAttr1;
+	}
+
+	public void setRefLineAttr1(String refLineAttr1) {
+		this.refLineAttr1 = refLineAttr1;
+	}
+
+	public String getRefLineAttr2() {
+		return refLineAttr2;
+	}
+
+	public void setRefLineAttr2(String refLineAttr2) {
+		this.refLineAttr2 = refLineAttr2;
+	}
+
+	public boolean getChangeMatchFlag() {
+		return changeMatchFlag;
+	}
+
+	public void setChangeMatchFlag(boolean changeMatchFlag) {
+		this.changeMatchFlag = changeMatchFlag;
+	}
+
+	public String getWarehouseName() {
+		return warehouseName;
+	}
+
+	public void setWarehouseName(String warehouseName) {
+		this.warehouseName = warehouseName;
+	}
+
+	public String getMtlOwnerName() {
+		return mtlOwnerName;
+	}
+
+	public void setMtlOwnerName(String mtlOwnerName) {
+		this.mtlOwnerName = mtlOwnerName;
+	}
+
+	public String getBRANCHID() {
+		return BRANCHID;
+	}
+
+	public void setBRANCHID(String bRANCHID) {
+		BRANCHID = bRANCHID;
+	}
+
+	public String getITEM_HEALTH_CATEGORY() {
+		return ITEM_HEALTH_CATEGORY;
+	}
+
+	public void setITEM_HEALTH_CATEGORY(String iTEM_HEALTH_CATEGORY) {
+		ITEM_HEALTH_CATEGORY = iTEM_HEALTH_CATEGORY;
+	}
+
+	public String getTYPE_NAME() {
+		return TYPE_NAME;
+	}
+
+	public void setTYPE_NAME(String tYPE_NAME) {
+		TYPE_NAME = tYPE_NAME;
+	}
+
+	public String getAllowDecimal() {
+		return allowDecimal;
+	}
+
+	public void setAllowDecimal(String allowDecimal) {
+		this.allowDecimal = allowDecimal;
+	}
+
+	public String getApprovalNumber() {
+		return approvalNumber;
+	}
+
+	public void setApprovalNumber(String approvalNumber) {
+		this.approvalNumber = approvalNumber;
+	}
+
+	public String getAsnAutoBillNum() {
+		return asnAutoBillNum;
+	}
+
+	public void setAsnAutoBillNum(String asnAutoBillNum) {
+		this.asnAutoBillNum = asnAutoBillNum;
+	}
+
+	public String getAsnHeaderId() {
+		return asnHeaderId;
+	}
+
+	public void setAsnHeaderId(String asnHeaderId) {
+		this.asnHeaderId = asnHeaderId;
+	}
+
+	public String getAsnLineId() {
+		return asnLineId;
+	}
+
+	public void setAsnLineId(String asnLineId) {
+		this.asnLineId = asnLineId;
+	}
+
+	public String getAsnLineRemark() {
+		return asnLineRemark;
+	}
+
+	public void setAsnLineRemark(String asnLineRemark) {
+		this.asnLineRemark = asnLineRemark;
+	}
+
+	public String getBarCode() {
+		return barCode;
+	}
+
+	public void setBarCode(String barCode) {
+		this.barCode = barCode;
+	}
+
+	public Date getBatchExpiredDate() {
+		return batchExpiredDate;
+	}
+
+	public void setBatchExpiredDate(Date batchExpiredDate) {
+		this.batchExpiredDate = batchExpiredDate;
+	}
+
+	public String getBatchId() {
+		return batchId;
+	}
+
+	public void setBatchId(String batchId) {
+		this.batchId = batchId;
+	}
+
+	public String getBatchNum() {
+		return batchNum;
+	}
+
+	public void setBatchNum(String batchNum) {
+		this.batchNum = batchNum;
+	}
+
+	public Date getBatchProductionDate() {
+		return batchProductionDate;
+	}
+
+	public void setBatchProductionDate(Date batchProductionDate) {
+		this.batchProductionDate = batchProductionDate;
+	}
+
+	public BigDecimal getCaseConversionRate() {
+		return caseConversionRate;
+	}
+
+	public void setCaseConversionRate(BigDecimal caseConversionRate) {
+		this.caseConversionRate = caseConversionRate;
+	}
+
+	public String getCategoryCode() {
+		return categoryCode;
+	}
+
+	public void setCategoryCode(String categoryCode) {
+		this.categoryCode = categoryCode;
+	}
+
+	public String getCategoryId() {
+		return categoryId;
+	}
+
+	public void setCategoryId(String categoryId) {
+		this.categoryId = categoryId;
+	}
+
+	public String getCategoryName() {
+		return categoryName;
+	}
+
+	public void setCategoryName(String categoryName) {
+		this.categoryName = categoryName;
+	}
+
+	public String getCommonName() {
+		return commonName;
+	}
+
+	public void setCommonName(String commonName) {
+		this.commonName = commonName;
+	}
+
+	public BigDecimal getConversionRate() {
+		return conversionRate;
+	}
+
+	public void setConversionRate(BigDecimal conversionRate) {
+		this.conversionRate = conversionRate;
+	}
+
+	public String getCountryOriginId() {
+		return countryOriginId;
+	}
+
+	public void setCountryOriginId(String countryOriginId) {
+		this.countryOriginId = countryOriginId;
+	}
+
+	public BigDecimal getFreeQty() {
+		return freeQty;
+	}
+
+	public void setFreeQty(BigDecimal freeQty) {
+		this.freeQty = freeQty;
+	}
+
+	public BigDecimal getInStoreDay() {
+		return inStoreDay;
+	}
+
+	public void setInStoreDay(BigDecimal inStoreDay) {
+		this.inStoreDay = inStoreDay;
+	}
+
+	public String getIndustry() {
+		return industry;
+	}
+
+	public void setIndustry(String industry) {
+		this.industry = industry;
+	}
+
+	public Integer getIsBacteria() {
+		return isBacteria;
+	}
+
+	public void setIsBacteria(Integer isBacteria) {
+		this.isBacteria = isBacteria;
+	}
+
+	public Integer getIsCaseOrPiece() {
+		return isCaseOrPiece;
+	}
+
+	public void setIsCaseOrPiece(Integer isCaseOrPiece) {
+		this.isCaseOrPiece = isCaseOrPiece;
+	}
+
+	public Integer getIsDelegate() {
+		return isDelegate;
+	}
+
+	public void setIsDelegate(Integer isDelegate) {
+		this.isDelegate = isDelegate;
+	}
+
+	public Integer getIsHosted() {
+		return isHosted;
+	}
+
+	public void setIsHosted(Integer isHosted) {
+		this.isHosted = isHosted;
+	}
+
+	public Integer getIsInstrument() {
+		return isInstrument;
+	}
+
+	public void setIsInstrument(Integer isInstrument) {
+		this.isInstrument = isInstrument;
+	}
+
+	public Integer getIsLock() {
+		return isLock;
+	}
+
+	public void setIsLock(Integer isLock) {
+		this.isLock = isLock;
+	}
+
+	public Integer getIsRetrospect() {
+		return isRetrospect;
+	}
+
+	public void setIsRetrospect(Integer isRetrospect) {
+		this.isRetrospect = isRetrospect;
+	}
+
+	public Integer getIsSupervise() {
+		return isSupervise;
+	}
+
+	public void setIsSupervise(Integer isSupervise) {
+		this.isSupervise = isSupervise;
+	}
+
+	public String getItemAssistantCode() {
+		return itemAssistantCode;
+	}
+
+	public void setItemAssistantCode(String itemAssistantCode) {
+		this.itemAssistantCode = itemAssistantCode;
+	}
+
+	public String getItemHealthCommonName() {
+		return itemHealthCommonName;
+	}
+
+	public void setItemHealthCommonName(String itemHealthCommonName) {
+		this.itemHealthCommonName = itemHealthCommonName;
+	}
+
+	public Integer getItemHealthIsDouble() {
+		return itemHealthIsDouble;
+	}
+
+	public void setItemHealthIsDouble(Integer itemHealthIsDouble) {
+		this.itemHealthIsDouble = itemHealthIsDouble;
+	}
+
+	public String getItemHealthListedLicensor() {
+		return itemHealthListedLicensor;
+	}
+
+	public void setItemHealthListedLicensor(String itemHealthListedLicensor) {
+		this.itemHealthListedLicensor = itemHealthListedLicensor;
+	}
+
+	public String getItemHealthProduceLicense() {
+		return itemHealthProduceLicense;
+	}
+
+	public void setItemHealthProduceLicense(String itemHealthProduceLicense) {
+		this.itemHealthProduceLicense = itemHealthProduceLicense;
+	}
+
+	public String getItemHealthRegisterNbr() {
+		return itemHealthRegisterNbr;
+	}
+
+	public void setItemHealthRegisterNbr(String itemHealthRegisterNbr) {
+		this.itemHealthRegisterNbr = itemHealthRegisterNbr;
+	}
+
+	public String getItemHealthStoreCategory() {
+		return itemHealthStoreCategory;
+	}
+
+	public void setItemHealthStoreCategory(String itemHealthStoreCategory) {
+		this.itemHealthStoreCategory = itemHealthStoreCategory;
+	}
+
+	public String getItemHealthStorenote() {
+		return itemHealthStorenote;
+	}
+
+	public void setItemHealthStorenote(String itemHealthStorenote) {
+		this.itemHealthStorenote = itemHealthStorenote;
+	}
+
+	public Integer getItemHealthTwovoteflag() {
+		return itemHealthTwovoteflag;
+	}
+
+	public void setItemHealthTwovoteflag(Integer itemHealthTwovoteflag) {
+		this.itemHealthTwovoteflag = itemHealthTwovoteflag;
+	}
+
+	public String getItemId() {
+		return itemId;
+	}
+
+	public void setItemId(String itemId) {
+		this.itemId = itemId;
+	}
+
+	public Integer getItemIsImported() {
+		return itemIsImported;
+	}
+
+	public void setItemIsImported(Integer itemIsImported) {
+		this.itemIsImported = itemIsImported;
+	}
+
+	public Integer getItemIsRecheck() {
+		return itemIsRecheck;
+	}
+
+	public void setItemIsRecheck(Integer itemIsRecheck) {
+		this.itemIsRecheck = itemIsRecheck;
+	}
+
+	public Integer getItemIsSpecial() {
+		return itemIsSpecial;
+	}
+
+	public void setItemIsSpecial(Integer itemIsSpecial) {
+		this.itemIsSpecial = itemIsSpecial;
+	}
+
+	public String getItemName() {
+		return itemName;
+	}
+
+	public void setItemName(String itemName) {
+		this.itemName = itemName;
+	}
+
+	public String getItemNum() {
+		return itemNum;
+	}
+
+	public void setItemNum(String itemNum) {
+		this.itemNum = itemNum;
+	}
+
+	public BigDecimal getItemVolume() {
+		return itemVolume;
+	}
+
+	public void setItemVolume(BigDecimal itemVolume) {
+		this.itemVolume = itemVolume;
+	}
+
+	public BigDecimal getItemWeight() {
+		return itemWeight;
+	}
+
+	public void setItemWeight(BigDecimal itemWeight) {
+		this.itemWeight = itemWeight;
+	}
+
+	public String getItemZjm() {
+		return itemZjm;
+	}
+
+	public void setItemZjm(String itemZjm) {
+		this.itemZjm = itemZjm;
+	}
+
+	public String getManagementExpiredDate() {
+		return managementExpiredDate;
+	}
+
+	public void setManagementExpiredDate(String managementExpiredDate) {
+		this.managementExpiredDate = managementExpiredDate;
+	}
+
+	public String getManufactureCode() {
+		return manufactureCode;
+	}
+
+	public void setManufactureCode(String manufactureCode) {
+		this.manufactureCode = manufactureCode;
+	}
+
+	public String getManufacturer() {
+		return manufacturer;
+	}
+
+	public void setManufacturer(String manufacturer) {
+		this.manufacturer = manufacturer;
+	}
+
+	public String getManufacturerId() {
+		return manufacturerId;
+	}
+
+	public void setManufacturerId(String manufacturerId) {
+		this.manufacturerId = manufacturerId;
+	}
+
+	public String getManufacturerLotNum() {
+		return manufacturerLotNum;
+	}
+
+	public void setManufacturerLotNum(String manufacturerLotNum) {
+		this.manufacturerLotNum = manufacturerLotNum;
+	}
+
+	public String getManufacturerName() {
+		return manufacturerName;
+	}
+
+	public void setManufacturerName(String manufacturerName) {
+		this.manufacturerName = manufacturerName;
+	}
+
+	public String getMtlOwnerId() {
+		return mtlOwnerId;
+	}
+
+	public void setMtlOwnerId(String mtlOwnerId) {
+		this.mtlOwnerId = mtlOwnerId;
+	}
+
+	public BigDecimal getOddCaseQty() {
+		return oddCaseQty;
+	}
+
+	public void setOddCaseQty(BigDecimal oddCaseQty) {
+		this.oddCaseQty = oddCaseQty;
+	}
+
+	public BigDecimal getOddPieceQty() {
+		return oddPieceQty;
+	}
+
+	public void setOddPieceQty(BigDecimal oddPieceQty) {
+		this.oddPieceQty = oddPieceQty;
+	}
+
+	public String getPieceBarCode() {
+		return pieceBarCode;
+	}
+
+	public void setPieceBarCode(String pieceBarCode) {
+		this.pieceBarCode = pieceBarCode;
+	}
+
+	public BigDecimal getPieceConversionRate() {
+		return pieceConversionRate;
+	}
+
+	public void setPieceConversionRate(BigDecimal pieceConversionRate) {
+		this.pieceConversionRate = pieceConversionRate;
+	}
+
+	public BigDecimal getPiecePriceTe() {
+		return piecePriceTe;
+	}
+
+	public void setPiecePriceTe(BigDecimal piecePriceTe) {
+		this.piecePriceTe = piecePriceTe;
+	}
+
+	public BigDecimal getPiecePriceTi() {
+		return piecePriceTi;
+	}
+
+	public void setPiecePriceTi(BigDecimal piecePriceTi) {
+		this.piecePriceTi = piecePriceTi;
+	}
+
+	public BigDecimal getPieceQty() {
+		return pieceQty;
+	}
+
+	public void setPieceQty(BigDecimal pieceQty) {
+		this.pieceQty = pieceQty;
+	}
+
+	public String getPoAuditOpinion() {
+		return poAuditOpinion;
+	}
+
+	public void setPoAuditOpinion(String poAuditOpinion) {
+		this.poAuditOpinion = poAuditOpinion;
+	}
+
+	public BigDecimal getPreQty() {
+		return preQty;
+	}
+
+	public void setPreQty(BigDecimal preQty) {
+		this.preQty = preQty;
+	}
+
+	public String getProductionPlace() {
+		return productionPlace;
+	}
+
+	public void setProductionPlace(String productionPlace) {
+		this.productionPlace = productionPlace;
+	}
+
+	public String getQcMode() {
+		return qcMode;
+	}
+
+	public void setQcMode(String qcMode) {
+		this.qcMode = qcMode;
+	}
+
+	public String getRcvRtReason() {
+		return rcvRtReason;
+	}
+
+	public void setRcvRtReason(String rcvRtReason) {
+		this.rcvRtReason = rcvRtReason;
+	}
+
+	public BigDecimal getReceivedQty() {
+		return receivedQty;
+	}
+
+	public void setReceivedQty(BigDecimal receivedQty) {
+		this.receivedQty = receivedQty;
+	}
+
+	public String getRecordNbr() {
+		return recordNbr;
+	}
+
+	public void setRecordNbr(String recordNbr) {
+		this.recordNbr = recordNbr;
+	}
+
+	public String getRegisterNbr() {
+		return registerNbr;
+	}
+
+	public void setRegisterNbr(String registerNbr) {
+		this.registerNbr = registerNbr;
+	}
+
+	public String getRegisterNbrEn() {
+		return registerNbrEn;
+	}
+
+	public void setRegisterNbrEn(String registerNbrEn) {
+		this.registerNbrEn = registerNbrEn;
+	}
+
+	public BigDecimal getRejectQty() {
+		return rejectQty;
+	}
+
+	public void setRejectQty(BigDecimal rejectQty) {
+		this.rejectQty = rejectQty;
+	}
+
+	public BigDecimal getRemainShelfStockCount() {
+		return remainShelfStockCount;
+	}
+
+	public void setRemainShelfStockCount(BigDecimal remainShelfStockCount) {
+		this.remainShelfStockCount = remainShelfStockCount;
+	}
+
+	public BigDecimal getRemainStackStockCount() {
+		return remainStackStockCount;
+	}
+
+	public void setRemainStackStockCount(BigDecimal remainStackStockCount) {
+		this.remainStackStockCount = remainStackStockCount;
+	}
+
+	public BigDecimal getShelfLifeDays() {
+		return shelfLifeDays;
+	}
+
+	public void setShelfLifeDays(BigDecimal shelfLifeDays) {
+		this.shelfLifeDays = shelfLifeDays;
+	}
+
+	public BigDecimal getShelfLifeNum() {
+		return shelfLifeNum;
+	}
+
+	public void setShelfLifeNum(BigDecimal shelfLifeNum) {
+		this.shelfLifeNum = shelfLifeNum;
+	}
+
+	public String getShelfLifeUnit() {
+		return shelfLifeUnit;
+	}
+
+	public void setShelfLifeUnit(String shelfLifeUnit) {
+		this.shelfLifeUnit = shelfLifeUnit;
+	}
+
+	public BigDecimal getShelfStockCount() {
+		return shelfStockCount;
+	}
+
+	public void setShelfStockCount(BigDecimal shelfStockCount) {
+		this.shelfStockCount = shelfStockCount;
+	}
+
+	public String getShowExpiredDate() {
+		return showExpiredDate;
+	}
+
+	public void setShowExpiredDate(String showExpiredDate) {
+		this.showExpiredDate = showExpiredDate;
+	}
+
+	public String getShowProductionDate() {
+		return showProductionDate;
+	}
+
+	public void setShowProductionDate(String showProductionDate) {
+		this.showProductionDate = showProductionDate;
+	}
+
+	public String getSpecification() {
+		return specification;
+	}
+
+	public void setSpecification(String specification) {
+		this.specification = specification;
+	}
+
+	public BigDecimal getStackStockCount() {
+		return stackStockCount;
+	}
+
+	public void setStackStockCount(BigDecimal stackStockCount) {
+		this.stackStockCount = stackStockCount;
+	}
+
+	public String getStoreTemperature() {
+		return storeTemperature;
+	}
+
+	public void setStoreTemperature(String storeTemperature) {
+		this.storeTemperature = storeTemperature;
+	}
+
+	public String getTempControlScope() {
+		return tempControlScope;
+	}
+
+	public void setTempControlScope(String tempControlScope) {
+		this.tempControlScope = tempControlScope;
+	}
+
+	public String getUom() {
+		return uom;
+	}
+
+	public void setUom(String uom) {
+		this.uom = uom;
+	}
+
+	public String getWarehouseId() {
+		return warehouseId;
+	}
+
+	public void setWarehouseId(String warehouseId) {
+		this.warehouseId = warehouseId;
+	}
+
+}

+ 196 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/CargoChangeIn.java

@@ -0,0 +1,196 @@
+package com.prolog.cs.biz.inbound.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 货主转换入库
+ * 
+ * @author Xiong
+ *
+ */
+@ApiModel
+public class CargoChangeIn implements Serializable {
+
+	private static final long serialVersionUID = -6621569678993054864L;
+	// 采购订单id
+	@ApiModelProperty(value = "采购订单id",required = true)
+	private String poBillId;
+	// 采购订单编号
+	@ApiModelProperty(value = "采购订单编号",required = true)
+	private String poBillNo;
+	// 仓库id(暂时和仓库编码一致,需要根据编码找到仓库id)
+	@ApiModelProperty(value = "仓库id(暂时和仓库编码一致,需要根据编码找到仓库id)",required = true)
+	private String warehouseId;
+	// 仓库编码
+	@ApiModelProperty(value = "仓库编码")
+	private String warehouseCode;
+	// 仓库名称
+	@ApiModelProperty(value = "仓库名称")
+	private String warehouseName;
+	// 货主id(暂时和code一样,需要转)
+	@ApiModelProperty(value = "货主id(暂时和code一样,需要转)",required = true)
+	private String destCargoOwnerId;
+	// 货主编码(需要获取)
+	@ApiModelProperty(value = "货主编码(需要获取)")
+	private String destCargoOwnerCode;
+	// 货主名称
+	@ApiModelProperty(value = "货主名称")
+	private String destCargoOwnerName;
+	// 关联单id(来源)
+	@ApiModelProperty(value = "关联单id(来源)")
+	private String refBillId;
+	// 关联单编号
+	@ApiModelProperty(value = "关联单编号")
+	private String refBillNo;
+	// 关联单备注
+	@ApiModelProperty(value = "关联单备注")
+	private String refBillRemark;
+	// 关联单状态 (1未转/2待转/3完成/4取消/5错误)
+	@ApiModelProperty(value = "关联单状态 (1未转/2待转/3完成/4取消/5错误)")
+	private String refBillStatus;
+	// 关联单数据来源 (WMS/ERP)
+	@ApiModelProperty(value = " 关联单数据来源 (WMS/ERP)")
+	private String sourceType;
+	// 商品明细集合
+	@ApiModelProperty(value = " 商品明细集合")
+	private List<CargoChangeInDetails> details;
+	// 关联单额外字段1
+	@ApiModelProperty(value = " 关联单额外字段1")
+	private String refBillAttr1;
+	// 关联单额外字段2
+	@ApiModelProperty(value = " 关联单额外字段2")
+	private String refBillAttr2;
+
+	public String getRefBillAttr1() {
+		return refBillAttr1;
+	}
+
+	public void setRefBillAttr1(String refBillAttr1) {
+		this.refBillAttr1 = refBillAttr1;
+	}
+
+	public String getRefBillAttr2() {
+		return refBillAttr2;
+	}
+
+	public void setRefBillAttr2(String refBillAttr2) {
+		this.refBillAttr2 = refBillAttr2;
+	}
+
+	public String getSourceType() {
+		return sourceType;
+	}
+
+	public void setSourceType(String sourceType) {
+		this.sourceType = sourceType;
+	}
+
+	public String getPoBillId() {
+		return poBillId;
+	}
+
+	public void setPoBillId(String poBillId) {
+		this.poBillId = poBillId;
+	}
+
+	public String getPoBillNo() {
+		return poBillNo;
+	}
+
+	public void setPoBillNo(String poBillNo) {
+		this.poBillNo = poBillNo;
+	}
+
+	public String getWarehouseId() {
+		return warehouseId;
+	}
+
+	public void setWarehouseId(String warehouseId) {
+		this.warehouseId = warehouseId;
+	}
+
+	public String getWarehouseCode() {
+		return warehouseCode;
+	}
+
+	public void setWarehouseCode(String warehouseCode) {
+		this.warehouseCode = warehouseCode;
+	}
+
+	public String getWarehouseName() {
+		return warehouseName;
+	}
+
+	public void setWarehouseName(String warehouseName) {
+		this.warehouseName = warehouseName;
+	}
+
+	public String getDestCargoOwnerId() {
+		return destCargoOwnerId;
+	}
+
+	public void setDestCargoOwnerId(String destCargoOwnerId) {
+		this.destCargoOwnerId = destCargoOwnerId;
+	}
+
+	public String getDestCargoOwnerCode() {
+		return destCargoOwnerCode;
+	}
+
+	public void setDestCargoOwnerCode(String destCargoOwnerCode) {
+		this.destCargoOwnerCode = destCargoOwnerCode;
+	}
+
+	public String getDestCargoOwnerName() {
+		return destCargoOwnerName;
+	}
+
+	public void setDestCargoOwnerName(String destCargoOwnerName) {
+		this.destCargoOwnerName = destCargoOwnerName;
+	}
+
+	public String getRefBillId() {
+		return refBillId;
+	}
+
+	public void setRefBillId(String refBillId) {
+		this.refBillId = refBillId;
+	}
+
+	public String getRefBillNo() {
+		return refBillNo;
+	}
+
+	public void setRefBillNo(String refBillNo) {
+		this.refBillNo = refBillNo;
+	}
+
+	public String getRefBillRemark() {
+		return refBillRemark;
+	}
+
+	public void setRefBillRemark(String refBillRemark) {
+		this.refBillRemark = refBillRemark;
+	}
+
+	public String getRefBillStatus() {
+		return refBillStatus;
+	}
+
+	public void setRefBillStatus(String refBillStatus) {
+		this.refBillStatus = refBillStatus;
+	}
+
+	public List<CargoChangeInDetails> getDetails() {
+		return details;
+	}
+
+	public void setDetails(List<CargoChangeInDetails> details) {
+		this.details = details;
+	}
+
+}

+ 329 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/CargoChangeInDetails.java

@@ -0,0 +1,329 @@
+package com.prolog.cs.biz.inbound.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 货主转换商品明细
+ * 
+ * @author Xiong
+ *
+ */
+@ApiModel
+public class CargoChangeInDetails implements Serializable {
+
+	private static final long serialVersionUID = -3775558158304353123L;
+	// 商品id
+	@ApiModelProperty(value = "商品id", required = true)
+	private String destItemId;
+	// 商品编号
+	@ApiModelProperty(value = "商品编号")
+	private String destItemCode;
+	// 商品名称
+	@ApiModelProperty(value = "商品名称")
+	private String destItemName;
+	// 批次id
+	@ApiModelProperty(value = "批次id", required = true)
+	private String batchId;
+	// 批次num
+	@ApiModelProperty(value = "批次num")
+	private String batchNum;
+	// 批号
+	@ApiModelProperty(value = "批号")
+	private String manufacturerLotNum;
+	// 显示生产日期
+	@ApiModelProperty(value = "显示生产日期")
+	private String showProductionDate;
+	// 显示有效期至
+	@ApiModelProperty(value = "显示有效期至")
+	private String showExpiredDate;
+	// 生产日期(日期格式,非必填)
+	@ApiModelProperty(value = "生产日期(日期格式,非必填)")
+	private Date productionDate;
+	// 有效期至(日期格式,非必填)
+	@ApiModelProperty(value = "有效期至(日期格式,非必填)")
+	private Date expiredDate;
+	@ApiModelProperty(value = "质检报告单号", required = true)
+	private String rqcReportNo;
+	// 数量
+	@ApiModelProperty(value = "数量", required = true)
+	private BigDecimal quantity;
+	// 单位
+	@ApiModelProperty(value = "单位")
+	private String uom;
+	// 包装含量
+	@ApiModelProperty(value = "包装含量")
+	private BigDecimal conversionRate;
+	// 件数(非必填)
+	@ApiModelProperty(value = "件数(非必填)")
+	private BigDecimal oddCaseQty;
+	// 零散(非必填)
+	@ApiModelProperty(value = "件数(非必填)")
+	private BigDecimal oddPieceQty;
+	// 货位id
+	@ApiModelProperty(value = "货位id", required = true)
+	private String whLocatorId;
+	// 货位编码
+	@ApiModelProperty(value = "货位编码")
+	private String whLocatorCode;
+	// 库区编码
+	@ApiModelProperty(value = "库区编码")
+	private String whAreaCode;
+	// 库别编码
+	@ApiModelProperty(value = "库别编码")
+	private String whAreaCategoryCode;
+	// 来源明细id
+	@ApiModelProperty(value = "来源明细id")
+	private String refLineId;
+	// 来源明细备注
+	@ApiModelProperty(value = "来源明细备注")
+	private String refLineRemark;
+	// 额外字段1
+	@ApiModelProperty(value = "来源明细额外字段1")
+	private String refLineAttr1;
+	// 额外字段2
+	@ApiModelProperty(value = "来源明细额外字段2")
+	private String refLineAttr2;
+
+
+	@ApiModelProperty(value = "抽样整件数", required = true, position = -1)
+	private BigDecimal qcOddCaseQty;
+
+	@ApiModelProperty(value = "抽样零散数", required = true, position = -1)
+	private BigDecimal qcOddPieceQty;
+
+	@ApiModelProperty(value = "抽样实际整件数")
+	private BigDecimal qcOddCaseActQty;
+
+	@ApiModelProperty(value = "抽检实际零散")
+	private BigDecimal qcOddPieceActQty;
+
+	public BigDecimal getQcOddCaseQty() {
+		return qcOddCaseQty;
+	}
+
+	public void setQcOddCaseQty(BigDecimal qcOddCaseQty) {
+		this.qcOddCaseQty = qcOddCaseQty;
+	}
+
+	public BigDecimal getQcOddPieceQty() {
+		return qcOddPieceQty;
+	}
+
+	public void setQcOddPieceQty(BigDecimal qcOddPieceQty) {
+		this.qcOddPieceQty = qcOddPieceQty;
+	}
+
+	public BigDecimal getQcOddCaseActQty() {
+		return qcOddCaseActQty;
+	}
+
+	public void setQcOddCaseActQty(BigDecimal qcOddCaseActQty) {
+		this.qcOddCaseActQty = qcOddCaseActQty;
+	}
+
+	public BigDecimal getQcOddPieceActQty() {
+		return qcOddPieceActQty;
+	}
+
+	public void setQcOddPieceActQty(BigDecimal qcOddPieceActQty) {
+		this.qcOddPieceActQty = qcOddPieceActQty;
+	}
+
+	public String getRqcReportNo() {
+		return rqcReportNo;
+	}
+
+	public void setRqcReportNo(String rqcReportNo) {
+		this.rqcReportNo = rqcReportNo;
+	}
+
+	public String getBatchNum() {
+		return batchNum;
+	}
+
+	public void setBatchNum(String batchNum) {
+		this.batchNum = batchNum;
+	}
+
+	public String getDestItemId() {
+		return destItemId;
+	}
+
+	public void setDestItemId(String destItemId) {
+		this.destItemId = destItemId;
+	}
+
+	public String getDestItemCode() {
+		return destItemCode;
+	}
+
+	public void setDestItemCode(String destItemCode) {
+		this.destItemCode = destItemCode;
+	}
+
+	public String getDestItemName() {
+		return destItemName;
+	}
+
+	public void setDestItemName(String destItemName) {
+		this.destItemName = destItemName;
+	}
+
+	public String getBatchId() {
+		return batchId;
+	}
+
+	public void setBatchId(String batchId) {
+		this.batchId = batchId;
+	}
+
+	public String getManufacturerLotNum() {
+		return manufacturerLotNum;
+	}
+
+	public void setManufacturerLotNum(String manufacturerLotNum) {
+		this.manufacturerLotNum = manufacturerLotNum;
+	}
+
+	public String getShowProductionDate() {
+		return showProductionDate;
+	}
+
+	public void setShowProductionDate(String showProductionDate) {
+		this.showProductionDate = showProductionDate;
+	}
+
+	public String getShowExpiredDate() {
+		return showExpiredDate;
+	}
+
+	public void setShowExpiredDate(String showExpiredDate) {
+		this.showExpiredDate = showExpiredDate;
+	}
+
+	public Date getProductionDate() {
+		return productionDate;
+	}
+
+	public void setProductionDate(Date productionDate) {
+		this.productionDate = productionDate;
+	}
+
+	public Date getExpiredDate() {
+		return expiredDate;
+	}
+
+	public void setExpiredDate(Date expiredDate) {
+		this.expiredDate = expiredDate;
+	}
+
+	public BigDecimal getQuantity() {
+		return quantity;
+	}
+
+	public void setQuantity(BigDecimal quantity) {
+		this.quantity = quantity;
+	}
+
+	public String getUom() {
+		return uom;
+	}
+
+	public void setUom(String uom) {
+		this.uom = uom;
+	}
+
+	public BigDecimal getConversionRate() {
+		return conversionRate;
+	}
+
+	public void setConversionRate(BigDecimal conversionRate) {
+		this.conversionRate = conversionRate;
+	}
+
+	public BigDecimal getOddCaseQty() {
+		return oddCaseQty;
+	}
+
+	public void setOddCaseQty(BigDecimal oddCaseQty) {
+		this.oddCaseQty = oddCaseQty;
+	}
+
+	public BigDecimal getOddPieceQty() {
+		return oddPieceQty;
+	}
+
+	public void setOddPieceQty(BigDecimal oddPieceQty) {
+		this.oddPieceQty = oddPieceQty;
+	}
+
+	public String getWhLocatorId() {
+		return whLocatorId;
+	}
+
+	public void setWhLocatorId(String whLocatorId) {
+		this.whLocatorId = whLocatorId;
+	}
+
+	public String getWhLocatorCode() {
+		return whLocatorCode;
+	}
+
+	public void setWhLocatorCode(String whLocatorCode) {
+		this.whLocatorCode = whLocatorCode;
+	}
+
+	public String getWhAreaCode() {
+		return whAreaCode;
+	}
+
+	public void setWhAreaCode(String whAreaCode) {
+		this.whAreaCode = whAreaCode;
+	}
+
+	public String getWhAreaCategoryCode() {
+		return whAreaCategoryCode;
+	}
+
+	public void setWhAreaCategoryCode(String whAreaCategoryCode) {
+		this.whAreaCategoryCode = whAreaCategoryCode;
+	}
+
+	public String getRefLineId() {
+		return refLineId;
+	}
+
+	public void setRefLineId(String refLineId) {
+		this.refLineId = refLineId;
+	}
+
+	public String getRefLineRemark() {
+		return refLineRemark;
+	}
+
+	public void setRefLineRemark(String refLineRemark) {
+		this.refLineRemark = refLineRemark;
+	}
+
+	public String getRefLineAttr1() {
+		return refLineAttr1;
+	}
+
+	public void setRefLineAttr1(String refLineAttr1) {
+		this.refLineAttr1 = refLineAttr1;
+	}
+
+	public String getRefLineAttr2() {
+		return refLineAttr2;
+	}
+
+	public void setRefLineAttr2(String refLineAttr2) {
+		this.refLineAttr2 = refLineAttr2;
+	}
+
+}

+ 40 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/EisWmsRequestResponseDTO.java

@@ -0,0 +1,40 @@
+package com.prolog.cs.biz.inbound.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+@Data
+public class EisWmsRequestResponseDTO implements Serializable{
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 1L;
+
+	@ApiModelProperty(value = "仓库编号")
+	private String warehouseId;
+
+	@ApiModelProperty(value = "货主编号")
+	private String ownerId;
+
+	@ApiModelProperty(value = "单据编号")
+	private String billNo;
+
+	@ApiModelProperty(value = "行号")
+	private String seqNo;
+
+	@ApiModelProperty(value = "作业类型")
+	private String workType;
+
+	@ApiModelProperty(value = "业务类型")
+	private String businessType;
+
+
+	@ApiModelProperty(value = "容器编号")
+	private String containerNo;
+	/**
+	 * EIS请求入库任务时,WMS创建并返回的,回告时带过来
+	 */
+	@ApiModelProperty(value = "指令ID(每行唯一)")
+	private String msgId;
+}

+ 71 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/ErpInfCgddBillDto.java

@@ -0,0 +1,71 @@
+package com.prolog.cs.biz.inbound.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class ErpInfCgddBillDto {
+
+    @ApiModelProperty("单位id")
+    private String dwid;
+
+    @ApiModelProperty("采购单号")
+    private String djbh;
+
+    @ApiModelProperty("ydhrq")
+    private String ydhrq;
+
+    @ApiModelProperty("货主id")
+    private String yzid;
+
+    @ApiModelProperty("dmrq datetime")
+    private String dmrq;
+
+    @ApiModelProperty("bmid")
+    private String bmid;
+
+    @ApiModelProperty("件数")
+    private BigDecimal js;
+
+    @ApiModelProperty("生产日期")
+    private String rq_sc;
+
+    @ApiModelProperty("下传标识")
+    private String wmflg;
+
+    @ApiModelProperty("商品id")
+    private String spid;
+
+    @ApiModelProperty("零散数")
+    private BigDecimal lss;
+
+    @ApiModelProperty("有效期至")
+    private String yxqz;
+
+    @ApiModelProperty("单据类型")
+    private String rktype;
+
+    @ApiModelProperty("采购员")
+    private String cgy;
+
+    @ApiModelProperty("单据行号")
+    private String dj_sort;
+
+    @ApiModelProperty("批号")
+    private String ph;
+
+    @ApiModelProperty("数量 decimal")
+    private BigDecimal sl;
+
+    @ApiModelProperty("开票日期")
+    private String rq;
+
+    @ApiModelProperty("灭菌批号")
+    private String mjph;
+
+    @ApiModelProperty("进口药品注册证号")
+    private String jkzczh;
+
+}

+ 28 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/ErpReportDto.java

@@ -0,0 +1,28 @@
+package com.prolog.cs.biz.inbound.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+@Data
+public class ErpReportDto {
+
+    @ApiModelProperty(value = "修改标识")
+    private String wmflg;
+
+    @ApiModelProperty(value = "单据编号")
+    private String djbh;
+
+    @ApiModelProperty(value = "业主id")
+    private String yzid;
+
+    @ApiModelProperty(value = "单据行号")
+    private String djSort;
+
+    @ApiModelProperty(value = "修改时间")
+    private String xgtime;
+
+}

+ 144 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/HostLocatorInfo.java

@@ -0,0 +1,144 @@
+package com.prolog.cs.biz.inbound.dto;
+
+import java.math.BigDecimal;
+
+/**
+ * 代管货位信息
+ * 
+ * @author Xiong
+ *
+ */
+public class HostLocatorInfo {
+
+	// 货位id
+	private String locatorId;
+	// 货位编码
+	private String locatorCode;
+	// 商品id
+	private String itemId;
+	// 商品编号
+	private String itemCode;
+	// 原数量
+	private BigDecimal preQty;
+	// 已绑定总数量
+	private BigDecimal totalBindQty;
+	// 当前商品绑定数量
+	private BigDecimal bindQty;
+	// 货主id
+	private String mtlOwnerId;
+	// 仓库id
+	private String warehouseId;
+	// 批次id
+	private String batchId;
+	// 批号
+	private String manufacturerLotNum;
+	// 生产日期
+	private String showProductionDate;
+	// 有效期至
+	private String showExpiredDate;
+
+	public String getLocatorId() {
+		return locatorId;
+	}
+
+	public void setLocatorId(String locatorId) {
+		this.locatorId = locatorId;
+	}
+
+	public String getLocatorCode() {
+		return locatorCode;
+	}
+
+	public void setLocatorCode(String locatorCode) {
+		this.locatorCode = locatorCode;
+	}
+
+	public String getItemId() {
+		return itemId;
+	}
+
+	public void setItemId(String itemId) {
+		this.itemId = itemId;
+	}
+
+	public String getItemCode() {
+		return itemCode;
+	}
+
+	public void setItemCode(String itemCode) {
+		this.itemCode = itemCode;
+	}
+
+	public BigDecimal getPreQty() {
+		return preQty;
+	}
+
+	public void setPreQty(BigDecimal preQty) {
+		this.preQty = preQty;
+	}
+
+	public BigDecimal getTotalBindQty() {
+		return totalBindQty;
+	}
+
+	public void setTotalBindQty(BigDecimal totalBindQty) {
+		this.totalBindQty = totalBindQty;
+	}
+
+	public BigDecimal getBindQty() {
+		return bindQty;
+	}
+
+	public void setBindQty(BigDecimal bindQty) {
+		this.bindQty = bindQty;
+	}
+
+	public String getMtlOwnerId() {
+		return mtlOwnerId;
+	}
+
+	public void setMtlOwnerId(String mtlOwnerId) {
+		this.mtlOwnerId = mtlOwnerId;
+	}
+
+	public String getWarehouseId() {
+		return warehouseId;
+	}
+
+	public void setWarehouseId(String warehouseId) {
+		this.warehouseId = warehouseId;
+	}
+
+	public String getBatchId() {
+		return batchId;
+	}
+
+	public void setBatchId(String batchId) {
+		this.batchId = batchId;
+	}
+
+	public String getManufacturerLotNum() {
+		return manufacturerLotNum;
+	}
+
+	public void setManufacturerLotNum(String manufacturerLotNum) {
+		this.manufacturerLotNum = manufacturerLotNum;
+	}
+
+	public String getShowProductionDate() {
+		return showProductionDate;
+	}
+
+	public void setShowProductionDate(String showProductionDate) {
+		this.showProductionDate = showProductionDate;
+	}
+
+	public String getShowExpiredDate() {
+		return showExpiredDate;
+	}
+
+	public void setShowExpiredDate(String showExpiredDate) {
+		this.showExpiredDate = showExpiredDate;
+	}
+
+}

+ 322 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/InterfaceRqcBillDTO.java

@@ -0,0 +1,322 @@
+package com.prolog.cs.biz.inbound.dto;
+
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validAdd;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validEdit;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @Description WMS质检接口表 WMS支持3种质检模式,通过新增的质检参数rqc_process进行区分(到货主,到仓库):
+ *              1-ERP抽样ERP质检, 2-WMS抽样ERP质检, 3-WMS抽样WMS质检。
+ * 
+ *              该数据由ERP下发
+ * 
+ *              抽样/质检
+ * 
+ * 
+ *              ?
+ *              当rqc_process=1时,抽样质检由ERP完成。WMS上架确认后回传收货信息给ERP,ERP抽样质检完成后下传质检结果给WMS,WMS根据ERP下传的质检结果处理库存和单据。
+ *              ?
+ *              当rqc_process=2时,抽样由WMS完成,质检由ERP完成。WMS上架确认后回传收货信息给ERP,ERP根据WMS回传的收货信息下传抽样信息。
+ *              n
+ *              若需要质检,则WMS根据ERP下传的抽样信息生成质检单,进行抽样送检作业,送检完成后等待ERP下传质检结果,WMS根据ERP下传的质检结果处理库存和单据。
+ *              n 若不需要质检,则WMS根据ERP下传的收货结论处理库存和单据。 ?
+ *              当rqc_process=3时,抽样质检由WMS完成。若需要质检,则WMS上架确认后生成质检单,WMS抽样质检完成后回传质检结果给ERP。
+ * 
+ * @Author Xiong
+ * @Date 2021-04-02
+ */
+
+@ApiModel
+public class InterfaceRqcBillDTO implements Serializable {
+	private static final long serialVersionUID = 7615800533667901772L;
+	@ApiModelProperty(value = "ID(主键雪花id)", required = true)
+	@NotBlank(message = "ID(主键雪花id) can not blank!", groups = validEdit.class)
+	private String interfaceRqcId;
+
+	@ApiModelProperty(value = "货主id", required = true)
+	@NotBlank(message = "货主id can not blank!", groups = validAdd.class)
+	private String mtlOwnerId;
+
+	@ApiModelProperty(value = "仓库ID", required = true)
+	@NotBlank(message = "仓库ID can not blank!", groups = validAdd.class)
+	private String warehouseId;
+
+	@ApiModelProperty(value = "来源单类型")
+	private String srcBillType;
+
+	@ApiModelProperty(value = "来源单头ID")
+	private String srcHeaderId;
+
+	@ApiModelProperty(value = "来源单行ID")
+	private String srcLineId;
+
+	@ApiModelProperty(value = "ASN头ID")
+	private String asnHeaderId;
+
+	@ApiModelProperty(value = "ASN行ID")
+	private String asnLineId;
+
+	@ApiModelProperty(value = "收货单头ID")
+	private String rcvHeaderId;
+
+	@ApiModelProperty(value = "收货行ID")
+	private String rcvLineId;
+
+	@ApiModelProperty(value = "库位编码")
+	private String locatorNum;
+
+	@ApiModelProperty(value = "商品ID", required = true)
+	@NotBlank(message = "商品ID can not blank!", groups = validAdd.class)
+	private String itemId;
+
+	@ApiModelProperty(value = "数量")
+	private BigDecimal qty;
+
+	@ApiModelProperty(value = "抽样数量")
+	private BigDecimal checkQty;
+
+	@ApiModelProperty(value = "包装单位", required = true)
+	@NotBlank(message = "包装单位 can not blank!", groups = validAdd.class)
+	private String uom;
+
+	@ApiModelProperty(value = "包装含量", required = true)
+	@NotNull(message = "包装含量 can not blank!", groups = validAdd.class)
+	private BigDecimal conversionRate;
+
+	@ApiModelProperty(value = "批次ID")
+	private String batchId;
+
+	@ApiModelProperty(value = "单品数量", required = true)
+	@NotNull(message = "单品数量 can not blank!", groups = validAdd.class)
+	private BigDecimal pieceQuantity;
+
+	@ApiModelProperty(value = "单品数量(抽样)", required = true)
+	@NotNull(message = "单品数量(抽样) can not blank!", groups = validAdd.class)
+	private BigDecimal checkPieceQuantity;
+
+	@ApiModelProperty(value = "批次号")
+	private String batchNum;
+
+	@ApiModelProperty(value = "批号")
+	private String vendorBatchNum;
+
+	@ApiModelProperty(value = "生产商批号")
+	private String manufacturerLotNum;
+
+	@ApiModelProperty(value = "是否允许作业标识", required = true)
+	@NotBlank(message = "是否允许作业标识 can not blank!", groups = validAdd.class)
+	private String activeFlag;
+
+	@ApiModelProperty(value = "状态")
+	private String status;
+
+	@ApiModelProperty(value = "执行者")
+	private String executor;
+
+	public String getInterfaceRqcId() {
+		return interfaceRqcId;
+	}
+
+	public void setInterfaceRqcId(String interfaceRqcId) {
+		this.interfaceRqcId = interfaceRqcId;
+	}
+
+	public String getMtlOwnerId() {
+		return mtlOwnerId;
+	}
+
+	public void setMtlOwnerId(String mtlOwnerId) {
+		this.mtlOwnerId = mtlOwnerId;
+	}
+
+	public String getWarehouseId() {
+		return warehouseId;
+	}
+
+	public void setWarehouseId(String warehouseId) {
+		this.warehouseId = warehouseId;
+	}
+
+	public String getSrcBillType() {
+		return srcBillType;
+	}
+
+	public void setSrcBillType(String srcBillType) {
+		this.srcBillType = srcBillType;
+	}
+
+	public String getSrcHeaderId() {
+		return srcHeaderId;
+	}
+
+	public void setSrcHeaderId(String srcHeaderId) {
+		this.srcHeaderId = srcHeaderId;
+	}
+
+	public String getSrcLineId() {
+		return srcLineId;
+	}
+
+	public void setSrcLineId(String srcLineId) {
+		this.srcLineId = srcLineId;
+	}
+
+	public String getAsnHeaderId() {
+		return asnHeaderId;
+	}
+
+	public void setAsnHeaderId(String asnHeaderId) {
+		this.asnHeaderId = asnHeaderId;
+	}
+
+	public String getAsnLineId() {
+		return asnLineId;
+	}
+
+	public void setAsnLineId(String asnLineId) {
+		this.asnLineId = asnLineId;
+	}
+
+	public String getRcvHeaderId() {
+		return rcvHeaderId;
+	}
+
+	public void setRcvHeaderId(String rcvHeaderId) {
+		this.rcvHeaderId = rcvHeaderId;
+	}
+
+	public String getRcvLineId() {
+		return rcvLineId;
+	}
+
+	public void setRcvLineId(String rcvLineId) {
+		this.rcvLineId = rcvLineId;
+	}
+
+	public String getLocatorNum() {
+		return locatorNum;
+	}
+
+	public void setLocatorNum(String locatorNum) {
+		this.locatorNum = locatorNum;
+	}
+
+	public String getItemId() {
+		return itemId;
+	}
+
+	public void setItemId(String itemId) {
+		this.itemId = itemId;
+	}
+
+	public BigDecimal getQty() {
+		return qty;
+	}
+
+	public void setQty(BigDecimal qty) {
+		this.qty = qty;
+	}
+
+	public BigDecimal getCheckQty() {
+		return checkQty;
+	}
+
+	public void setCheckQty(BigDecimal checkQty) {
+		this.checkQty = checkQty;
+	}
+
+	public String getUom() {
+		return uom;
+	}
+
+	public void setUom(String uom) {
+		this.uom = uom;
+	}
+
+	public BigDecimal getConversionRate() {
+		return conversionRate;
+	}
+
+	public void setConversionRate(BigDecimal conversionRate) {
+		this.conversionRate = conversionRate;
+	}
+
+	public String getBatchId() {
+		return batchId;
+	}
+
+	public void setBatchId(String batchId) {
+		this.batchId = batchId;
+	}
+
+	public BigDecimal getPieceQuantity() {
+		return pieceQuantity;
+	}
+
+	public void setPieceQuantity(BigDecimal pieceQuantity) {
+		this.pieceQuantity = pieceQuantity;
+	}
+
+	public BigDecimal getCheckPieceQuantity() {
+		return checkPieceQuantity;
+	}
+
+	public void setCheckPieceQuantity(BigDecimal checkPieceQuantity) {
+		this.checkPieceQuantity = checkPieceQuantity;
+	}
+
+	public String getBatchNum() {
+		return batchNum;
+	}
+
+	public void setBatchNum(String batchNum) {
+		this.batchNum = batchNum;
+	}
+
+	public String getVendorBatchNum() {
+		return vendorBatchNum;
+	}
+
+	public void setVendorBatchNum(String vendorBatchNum) {
+		this.vendorBatchNum = vendorBatchNum;
+	}
+
+	public String getManufacturerLotNum() {
+		return manufacturerLotNum;
+	}
+
+	public void setManufacturerLotNum(String manufacturerLotNum) {
+		this.manufacturerLotNum = manufacturerLotNum;
+	}
+
+	public String getActiveFlag() {
+		return activeFlag;
+	}
+
+	public void setActiveFlag(String activeFlag) {
+		this.activeFlag = activeFlag;
+	}
+
+	public String getStatus() {
+		return status;
+	}
+
+	public void setStatus(String status) {
+		this.status = status;
+	}
+
+	public String getExecutor() {
+		return executor;
+	}
+
+	public void setExecutor(String executor) {
+		this.executor = executor;
+	}
+
+}

+ 129 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/IsSuperviseDTO.java

@@ -0,0 +1,129 @@
+package com.prolog.cs.biz.inbound.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+
+/**
+ * @Description 监管码/防窜码/唯一码记录表 
+ * @Author Xiong  
+ * @Date 2021-06-16 
+ */
+
+@ApiModel
+public class IsSuperviseDTO implements Serializable {
+	
+
+    private static final long serialVersionUID =  2291818160143936394L;
+
+	@ApiModelProperty(value = "仓库ID")
+	private String warehouseId;
+	
+	@ApiModelProperty(value = "入库、出库参考数据字典,作用如:代管出库8不需要扫描监管码")
+	private String billType;
+	
+	@ApiModelProperty(value = "商品ID") 
+	private String itemId;
+
+	@ApiModelProperty(value = "货主ID") 
+	private String consignorId;
+	
+	@ApiModelProperty(value = "收货单位(客户)id")
+	private String shipperId;
+
+	@ApiModelProperty(value = "小包装数")
+	private String minSu;
+
+	@ApiModelProperty(value = "中包装数")
+	private String middleSu;
+
+	@ApiModelProperty(value = "大包装数")
+	private String maxSu;
+	
+	@ApiModelProperty(value = "入参务必不填,是否监管码扫描(0否1是默认0)")
+	private Integer isSupervise;
+
+	@ApiModelProperty(value = "不扫码原因")
+	private String noSuperviseReason;
+
+	public String getNoSuperviseReason() {
+		return noSuperviseReason;
+	}
+
+	public void setNoSuperviseReason(String noSuperviseReason) {
+		this.noSuperviseReason = noSuperviseReason;
+	}
+
+	public String getWarehouseId() {
+		return warehouseId;
+	}
+
+	public void setWarehouseId(String warehouseId) {
+		this.warehouseId = warehouseId;
+	}
+
+	public String getMinSu() {
+		return minSu;
+	}
+
+	public void setMinSu(String minSu) {
+		this.minSu = minSu;
+	}
+
+	public String getMiddleSu() {
+		return middleSu;
+	}
+
+	public void setMiddleSu(String middleSu) {
+		this.middleSu = middleSu;
+	}
+
+	public String getMaxSu() {
+		return maxSu;
+	}
+
+	public void setMaxSu(String maxSu) {
+		this.maxSu = maxSu;
+	}
+
+	public String getBillType() {
+		return billType;
+	}
+
+	public void setBillType(String billType) {
+		this.billType = billType;
+	}
+
+	public String getItemId() {
+		return itemId;
+	}
+
+	public void setItemId(String itemId) {
+		this.itemId = itemId;
+	}
+
+	public String getConsignorId() {
+		return consignorId;
+	}
+
+	public void setConsignorId(String consignorId) {
+		this.consignorId = consignorId;
+	}
+
+	public String getShipperId() {
+		return shipperId;
+	}
+
+	public void setShipperId(String shipperId) {
+		this.shipperId = shipperId;
+	}
+
+	public Integer getIsSupervise() {
+		return isSupervise;
+	}
+
+	public void setIsSupervise(Integer isSupervise) {
+		this.isSupervise = isSupervise;
+	}
+}

+ 26 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/OmsAsnBillSaveByOmsDTO.java

@@ -0,0 +1,26 @@
+package com.prolog.cs.biz.inbound.dto;
+
+import com.prolog.cs.biz.inbound.model.OmsAsnBillD;
+import com.prolog.cs.biz.inbound.model.OmsAsnBillH;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @program: upcloud-base-wh-inbound
+ * @description:
+ * @author: Huanglh
+ * @create: 2021-12-21 14:41
+ **/
+@Data
+public class OmsAsnBillSaveByOmsDTO{
+
+    @ApiModelProperty(value = "明细列表")
+    OmsAsnBillH content;
+
+    @ApiModelProperty(value = "明细列表")
+    List<OmsAsnBillD> detailList;
+
+}

+ 28 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/OmsAsnBillSaveDTO.java

@@ -0,0 +1,28 @@
+package com.prolog.cs.biz.inbound.dto;
+
+import com.prolog.cs.biz.inbound.model.OmsAsnBillD;
+import com.prolog.cs.biz.inbound.model.OmsAsnBillH;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @program: upcloud-base-wh-inbound
+ * @description:
+ * @author: Huanglh
+ * @create: 2021-12-21 14:41
+ **/
+public class OmsAsnBillSaveDTO extends OmsAsnBillH {
+
+    @ApiModelProperty(value = "明细列表")
+    List<OmsAsnBillD> detailList = new ArrayList<>();
+
+    public List<OmsAsnBillD> getDetailList() {
+        return detailList;
+    }
+
+    public void setDetailList(List<OmsAsnBillD> detailList) {
+        this.detailList = detailList;
+    }
+}

+ 49 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/PageParam.java

@@ -0,0 +1,49 @@
+package com.prolog.cs.biz.inbound.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+
+@ApiModel(description = "条件分页查询参数类")
+public class PageParam implements Serializable {
+
+	private static final long serialVersionUID = 6594357847950086252L;
+
+	@ApiModelProperty(value = "当前页/页码 默认1", required = true)
+	private Integer pageNum;
+
+	@ApiModelProperty(value = "分页条数/页数 默认15", required = true)
+	private Integer pageSize;
+
+	@ApiModelProperty(value = "排序参数形如:age#desc,name#asc")
+	private String sorts;
+
+	public final static Integer DEFAULT_PAGE_NUM = 1;
+
+	public final static Integer DEFAULT_PAGE_SIZE = 15;
+
+	public Integer getPageNum() {
+		return pageNum;
+	}
+
+	public void setPageNum(Integer pageNum) {
+		this.pageNum = pageNum;
+	}
+
+	public Integer getPageSize() {
+		return pageSize;
+	}
+
+	public void setPageSize(Integer pageSize) {
+		this.pageSize = pageSize;
+	}
+
+	public String getSorts() {
+		return sorts;
+	}
+
+	public void setSorts(String sorts) {
+		this.sorts = sorts;
+	}
+}

+ 199 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/RcvCommonLine.java

@@ -0,0 +1,199 @@
+package com.prolog.cs.biz.inbound.dto;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+@ApiModel
+public class RcvCommonLine implements Serializable {
+
+	private static final long serialVersionUID = -5711665843557860019L;
+
+	@ApiModelProperty(value = "来源关联唯一id", required = true)
+	private String refId;
+
+	@ApiModelProperty(value = "仓库(id)", required = true)
+	private String warehouseId;
+
+	@ApiModelProperty(value = "货主id", required = true)
+	private String mtlOwnerId;
+
+	@ApiModelProperty(value = "包装含量")
+	private BigDecimal conversionRate;
+
+	@ApiModelProperty(value = "最小单位数量")
+	private BigDecimal pieceQty;
+
+	@ApiModelProperty(value = "批次生产日期")
+	private Date batchProductionDate;
+
+	@ApiModelProperty(value = "批次有效期")
+	private Date batchExpiredDate;
+
+	@ApiModelProperty(value = "收货结论(0合格/1不合格/2待处理/3拒绝)")
+	private String stockStatus;
+
+	@ApiModelProperty(value = "收货类型编码")
+	private String rcvType;
+
+	/**
+	 * 数据来源(0:收货1:质检2:复检)
+	 */
+//	private String dataSource;
+	@ApiModelProperty(value = "入库来源类型(0收货1质检2复检3asn)")
+	private Integer refType;
+	/**
+	 * 冷藏字段("常温""阴凉" "冷藏" "冷冻"))
+	 */
+	@ApiModelProperty(value = "冷藏字段(\"常温\"\"阴凉\" \"冷藏\" \"冷冻\"))")
+	private String storeTemperature;
+
+	@ApiModelProperty(value = "商品整散分离标识(0整散合一/1整散分开)")
+	private String itemIsPieceOrCase;
+
+	@ApiModelProperty(value = "商品大类编码")
+	private String categoryId;
+
+	@ApiModelProperty(value = "库别选择项")
+	private List<Map<String, String>> areaCategoryList;
+
+	@ApiModelProperty(value = "结论选择项")
+	private List<Map<String, String>> conclusionList;
+	
+	@ApiModelProperty(value = "商品编码")
+	private String itemId;
+	
+	public String getItemId() {
+		return itemId;
+	}
+
+	public void setItemId(String itemId) {
+		this.itemId = itemId;
+	}
+
+	public List<Map<String, String>> getAreaCategoryList() {
+		return areaCategoryList;
+	}
+
+	public void setAreaCategoryList(List<Map<String, String>> areaCategoryList) {
+		this.areaCategoryList = areaCategoryList;
+	}
+
+	public List<Map<String, String>> getConclusionList() {
+		return conclusionList;
+	}
+
+	public void setConclusionList(List<Map<String, String>> conclusionList) {
+		this.conclusionList = conclusionList;
+	}
+
+	public String getRefId() {
+		return refId;
+	}
+
+	public void setRefId(String refId) {
+		this.refId = refId;
+	}
+
+	public String getWarehouseId() {
+		return warehouseId;
+	}
+
+	public void setWarehouseId(String warehouseId) {
+		this.warehouseId = warehouseId;
+	}
+
+	public String getMtlOwnerId() {
+		return mtlOwnerId;
+	}
+
+	public void setMtlOwnerId(String mtlOwnerId) {
+		this.mtlOwnerId = mtlOwnerId;
+	}
+
+	public BigDecimal getConversionRate() {
+		return conversionRate;
+	}
+
+	public void setConversionRate(BigDecimal conversionRate) {
+		this.conversionRate = conversionRate;
+	}
+
+	public BigDecimal getPieceQty() {
+		return pieceQty;
+	}
+
+	public void setPieceQty(BigDecimal pieceQty) {
+		this.pieceQty = pieceQty;
+	}
+
+	public Date getBatchProductionDate() {
+		return batchProductionDate;
+	}
+
+	public void setBatchProductionDate(Date batchProductionDate) {
+		this.batchProductionDate = batchProductionDate;
+	}
+
+	public Date getBatchExpiredDate() {
+		return batchExpiredDate;
+	}
+
+	public void setBatchExpiredDate(Date batchExpiredDate) {
+		this.batchExpiredDate = batchExpiredDate;
+	}
+
+	public String getStockStatus() {
+		return stockStatus;
+	}
+
+	public void setStockStatus(String stockStatus) {
+		this.stockStatus = stockStatus;
+	}
+
+	public String getRcvType() {
+		return rcvType;
+	}
+
+	public void setRcvType(String rcvType) {
+		this.rcvType = rcvType;
+	}
+
+	public Integer getRefType() {
+		return refType;
+	}
+
+	public void setRefType(Integer refType) {
+		this.refType = refType;
+	}
+
+	public String getStoreTemperature() {
+		return storeTemperature;
+	}
+
+	public void setStoreTemperature(String storeTemperature) {
+		this.storeTemperature = storeTemperature;
+	}
+
+	public String getItemIsPieceOrCase() {
+		return itemIsPieceOrCase;
+	}
+
+	public void setItemIsPieceOrCase(String itemIsPieceOrCase) {
+		this.itemIsPieceOrCase = itemIsPieceOrCase;
+	}
+
+	public String getCategoryId() {
+		return categoryId;
+	}
+
+	public void setCategoryId(String categoryId) {
+		this.categoryId = categoryId;
+	}
+
+}

+ 134 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/ReceiveAsnDTO.java

@@ -0,0 +1,134 @@
+package com.prolog.cs.biz.inbound.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.prolog.cs.biz.inbound.model.OmsAsnBillD;
+import com.prolog.cs.biz.inbound.model.OmsAsnBillH;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @program: upcloud-base-wh-inbound
+ * @description:
+ * @author: Huanglh
+ * @create: 2021-12-21 14:41
+ **/
+@ApiModel
+@Data
+public class ReceiveAsnDTO {
+    @ApiModelProperty(value = "入库仓库编号 --CQN001")
+    private String branchCode;
+
+    @ApiModelProperty(value = "入库仓库名称 --青牛仓")
+    private String branchName;
+
+    @ApiModelProperty(value = "货主编码 --HQN001")
+    private String consignorCode;
+
+    @ApiModelProperty(value = "货主名称 --青牛")
+    private String consignorName;
+
+    @ApiModelProperty(value = "ASN单号")
+    private String billNo;
+
+    @ApiModelProperty(value = "ASN单类型")
+    private String billType;
+
+    @ApiModelProperty(value = "ASN单来源单据类型")
+    private String refBillType;
+
+    @ApiModelProperty(value = "来源单据号")
+    private String refBillNo;
+
+    @ApiModelProperty(value = "发货单位类型 1 客户 2 供应商 3 发货仓库")
+    private String shipperType;
+
+    @ApiModelProperty(value = "发货单位编号(根据类型来)")
+    private String shipperCode;
+
+    @ApiModelProperty(value = "运输条件")
+    private String shipTerm;
+
+    @ApiModelProperty(value = "到货方式")
+    private String arrivalMode;
+
+    @ApiModelProperty(value = "订单紧急等级")
+    private String priorityLevel;
+
+    @ApiModelProperty(value = "送货人联系方式")
+    private String delivererContactTel;
+
+    @ApiModelProperty(value = "运输路线ID")
+    private String shipLineId;
+
+    @ApiModelProperty(value = "承运商ID")
+    private String carrierCode;
+
+    @ApiModelProperty(value = "承运商名称")
+    private String carrierName;
+
+    @ApiModelProperty(value = "采购员名称")
+    private String buyerName;
+
+    @ApiModelProperty(value = "采购员联系电话")
+    private String buyerTel;
+
+    @ApiModelProperty(value = "制单日期")
+    private String billDate;
+
+    @ApiModelProperty(value = "预定到货日")
+    private String attainDate;
+
+    @ApiModelProperty(value = "审核状态")
+    private String examineState;
+
+    @ApiModelProperty(value = "作废原因")
+    private String closedReason;
+
+    @ApiModelProperty(value = "退货原因")
+    private String rtReason;
+
+    @ApiModelProperty(value = "备注")
+    private String remark;
+
+    @ApiModelProperty(value = "业务部门编码")
+    private String purorgCode;
+
+    @ApiModelProperty(value = "业务部门名称")
+    private String purorgName;
+
+    @ApiModelProperty(value = "运输方式")
+    private String shippingType;
+
+    @ApiModelProperty(value = "运输单位")
+    private String transportUnit;
+
+    @ApiModelProperty(value = "启运时间")
+    private String shipmentDate;
+
+    @ApiModelProperty(value = "发运地点")
+    private String shipmentPlace;
+
+    @ApiModelProperty(value = "在途时限")
+    private String transitTime;
+
+    @ApiModelProperty(value = "行业线")
+    private String itemHealthIndustry;
+
+    @ApiModelProperty(value = "单据状态 10创建 20修改 30取消")
+    private String billState;
+
+    @ApiModelProperty(value = "承运方")
+    private String carrierUnit;
+
+    @ApiModelProperty(value = "明细列表")
+    List<ReceiveAsnDetailDTO> detailList;
+
+    @ApiModelProperty(value = "监管码列表")
+    List<ReceiveSupervisionDTO> supervisionList;
+
+}

+ 89 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/ReceiveAsnDetailDTO.java

@@ -0,0 +1,89 @@
+package com.prolog.cs.biz.inbound.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.prolog.framework.core.annotation.Id;
+import com.prolog.framework.core.annotation.Table;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @Description  
+ * @Date 2021-04-11 
+ */
+
+@ApiModel
+@Data
+public class ReceiveAsnDetailDTO implements Serializable {
+
+	@ApiModelProperty(value = "明细行号")
+	private String seqNo;
+
+	@ApiModelProperty(value = "商品编码")
+	private String itemCode;
+
+	@ApiModelProperty(value = "商品名称")
+	private String itemName;
+
+	@ApiModelProperty(value = "含税单价")
+	private String price;
+
+	@ApiModelProperty(value = "未税单价")
+	private String tniPrice;
+
+	@ApiModelProperty(value = "含税金额")
+	private String amt;
+
+	@ApiModelProperty(value = "未税金额")
+	private String tniAmt;
+
+	@ApiModelProperty(value = "批准文号")
+	private String approvalNumber;
+
+	@ApiModelProperty(value = "商品大类ID")
+	private String categoryId;
+
+	@ApiModelProperty(value = "商品大类名称")
+	private String typeName;
+
+	@ApiModelProperty(value = "包装数量")
+	private String packSize;
+
+	@ApiModelProperty(value = "包装单位")
+	private String packUnits;
+
+	@ApiModelProperty(value = "件数")
+	private String itemPcs;
+
+	@ApiModelProperty(value = "零数")
+	private String itemOdd;
+
+	@ApiModelProperty(value = "数量")
+	private String itemQty;
+
+	@ApiModelProperty(value = "批号")
+	private String lotNo;
+
+	@ApiModelProperty(value = "批次号")
+	private String batchNo;
+
+	@ApiModelProperty(value = "灭菌批号")
+	private String sterilizelotno;
+
+	@ApiModelProperty(value = "生产日期")
+	private String pdateFrom;
+
+	@ApiModelProperty(value = "有效期至")
+	private String validUntil;
+
+	@ApiModelProperty(value = "退货原因")
+	private String rtReason;
+
+	@ApiModelProperty(value = "行备注")
+	private String lineRemark;
+}

+ 28 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/ReceiveSupervisionDTO.java

@@ -0,0 +1,28 @@
+package com.prolog.cs.biz.inbound.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Description  
+ * @Date 2021-04-11 
+ */
+
+@ApiModel
+@Data
+public class ReceiveSupervisionDTO implements Serializable {
+	@ApiModelProperty(value = "监管码")
+	private String supervisionCode;
+
+	@ApiModelProperty(value = "商品编码")
+	private String itemCode;
+
+	@ApiModelProperty(value = "批号")
+	private String lotNo;
+
+	@ApiModelProperty(value = "监管码类型  --大、中、小")
+	private String supervisionType;
+}

+ 37 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/RelationCodeResult.java

@@ -0,0 +1,37 @@
+package com.prolog.cs.biz.inbound.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description 监管码/防窜码/唯一码记录表 
+ * @Author Xiong  
+ * @Date 2021-06-16 
+ */
+@Data
+@ApiModel
+public class RelationCodeResult implements Serializable {
+
+    private static final long serialVersionUID =  2291818160143936395L;
+
+	@ApiModelProperty(value = "监管码平台返回的批号")
+	private String batchNo;
+
+	@ApiModelProperty(value = "监管码平台返回的有效期")
+	private Date expireDate;
+
+	@ApiModelProperty(value = "监管码平台返回的生产日期")
+	private Date produceDate;
+
+	@ApiModelProperty(value = "监管码平台返回的子码")
+	private String code;
+
+	@ApiModelProperty(value = "监管码平台返回的父码")
+	private String parentCode;
+
+
+}

+ 36 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/RelationCodeResultDTO.java

@@ -0,0 +1,36 @@
+package com.prolog.cs.biz.inbound.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import io.swagger.models.auth.In;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Description 监管码/防窜码/唯一码记录表 
+ * @Author Xiong  
+ * @Date 2021-06-16 
+ */
+@Data
+@ApiModel
+public class RelationCodeResultDTO implements Serializable {
+
+    private static final long serialVersionUID =  2291818160143936395L;
+
+	@ApiModelProperty(value = "监管码code")
+	private String supervisionCode;
+
+	@ApiModelProperty(value = "查询小码返回信息")
+	private String message;
+
+	@ApiModelProperty(value = "查询是否成功表示 1-成功 2-失败")
+	private Integer flag;
+
+	@ApiModelProperty(value = "监管码平台返回的关系集合")
+	private List<RelationCodeResult> relationCodeResults;
+
+
+}

+ 35 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/ScanCodeResultDTO.java

@@ -0,0 +1,35 @@
+package com.prolog.cs.biz.inbound.dto;
+
+import com.prolog.cs.biz.inbound.model.SupervisionCode;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @Description 监管码/防窜码/唯一码记录表 
+ * @Author Xiong  
+ * @Date 2021-06-16 
+ */
+@Data
+@ApiModel
+public class ScanCodeResultDTO implements Serializable {
+
+    private static final long serialVersionUID =  2291818160143936395L;
+
+	@ApiModelProperty(value = "监管码平台返回的批号")
+	private String batchNo;
+
+	@ApiModelProperty(value = "监管码平台返回的有效期")
+	private String expireDate;
+
+	@ApiModelProperty(value = "监管码平台返回的生产日期")
+	private String produceDate;
+
+	@ApiModelProperty(value = "监管码平台返回的药品名称")
+	private String physicName;
+
+
+}

+ 61 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/SearchPageParam.java

@@ -0,0 +1,61 @@
+package com.prolog.cs.biz.inbound.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.Map;
+
+/**
+ * @ClassName SearchPageParam
+ * @Description TODO
+ * @Author cheny
+ * @Date 2021/2/26 15:35
+ * @Version 1.0
+ * @Copyright: www.prolog-int.com Inc. All rights reserved.
+ **/
+@ApiModel
+public class SearchPageParam implements Serializable {
+	private static final long serialVersionUID = -4569763465586498945L;
+	@ApiModelProperty(value = "查询接口id")
+	private String id;
+	@ApiModelProperty(value = "查询所携带的参数")
+	private Map<String, Object> params;
+	@ApiModelProperty(value = "页码")
+	private Integer pageNum;
+	@ApiModelProperty(value = "每页条数")
+	private Integer pageSize;
+
+	public String getId() {
+		return id;
+	}
+
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	public Map<String, Object> getParams() {
+		return params;
+	}
+
+	public void setParams(Map<String, Object> params) {
+		this.params = params;
+	}
+
+	public Integer getPageNum() {
+		return pageNum;
+	}
+
+	public void setPageNum(Integer pageNum) {
+		this.pageNum = pageNum;
+	}
+
+	public Integer getPageSize() {
+		return pageSize;
+	}
+
+	public void setPageSize(Integer pageSize) {
+		this.pageSize = pageSize;
+	}
+
+}

+ 41 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/SearchParam.java

@@ -0,0 +1,41 @@
+package com.prolog.cs.biz.inbound.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.Map;
+
+/**
+ * @ClassName SearchParam
+ * @Description TODO
+ * @Author cheny
+ * @Date 2021/2/26 15:36
+ * @Version 1.0
+ * @Copyright: www.prolog-int.com Inc. All rights reserved.
+ **/
+@ApiModel
+public class SearchParam implements Serializable {
+
+	private static final long serialVersionUID = -797986717860187508L;
+	@ApiModelProperty(value = "查询接口定义的主键id")
+	private String id;
+	@ApiModelProperty(value = "查询所携带的参数")
+	private Map<String, Object> params;
+	
+	public String getId() {
+		return id;
+	}
+
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	public Map<String, Object> getParams() {
+		return params;
+	}
+
+	public void setParams(Map<String, Object> params) {
+		this.params = params;
+	}
+}

+ 269 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/Supervise4CargoChange.java

@@ -0,0 +1,269 @@
+package com.prolog.cs.biz.inbound.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @Description  
+ * @Date 2021-07-05 
+ */
+@ApiModel
+public class Supervise4CargoChange extends IsSuperviseDTO implements Serializable {
+	
+	private static final long serialVersionUID =  2291818160143936391L;
+
+	/**
+	 * 源单ID
+	 */
+	@ApiModelProperty("源单编号")
+	private String refBillNo;
+
+    /**
+     * 目标商品名称
+     */
+    @ApiModelProperty("目标商品名称")
+    private String destItemName;
+
+    /**
+     * 源货主ID
+     */
+    @ApiModelProperty("源货主ID")
+    private String srcCargoOwnerId;
+	/**
+	 * 源货主名称
+	 */
+	@ApiModelProperty("源货主名称")
+	private String srcCargoOwnerName;
+
+	/**
+	 * 目标货主ID
+	 */
+	private String destCargoOwnerId;
+
+	/**
+	 * 目标货主名称
+	 */
+	@ApiModelProperty("目标货主名称")
+	private String destCargoOwnerName;
+
+
+    /**
+     * 采购单ID
+     */
+    private String poBillId;
+
+    /**
+     * 销售单ID
+     */
+    private String orderBillId;
+
+	/**
+	 * 目的货位ID
+	 */
+	private String destLocatorId;
+
+    /**
+     * 货位
+     */
+    @ApiModelProperty("货位")
+    private String destLocatorName;
+
+    /**
+     * 件数
+     */
+    @ApiModelProperty("件数")
+    private Integer totalCount;
+
+    /**
+     * 源商品ID
+     */
+    @ApiModelProperty("源商品ID")
+    private String srcItemId;
+
+    /**
+     * 目标商品ID
+     */
+    @ApiModelProperty("目标商品ID")
+    private String destItemId;
+    
+    /**
+     * 已扫码数量
+     */
+    @ApiModelProperty("已扫码数量")
+    private Integer scanCount;
+
+    @ApiModelProperty("明细id")
+    private String resultId;
+
+    @ApiModelProperty(value = "批号")
+    private String manufacturerLotNum;
+    
+    @ApiModelProperty(value = "生产日期")
+    private String showProductionDate;
+
+    @ApiModelProperty(value = "有效期至日期")
+    private String showExpiredDate;
+    /**
+     * 转换数量
+     */
+    private BigDecimal quantity;
+
+    public String getManufacturerLotNum() {
+        return manufacturerLotNum;
+    }
+
+    public void setManufacturerLotNum(String manufacturerLotNum) {
+        this.manufacturerLotNum = manufacturerLotNum;
+    }
+
+    public String getShowProductionDate() {
+        return showProductionDate;
+    }
+
+    public void setShowProductionDate(String showProductionDate) {
+        this.showProductionDate = showProductionDate;
+    }
+
+    public String getShowExpiredDate() {
+        return showExpiredDate;
+    }
+
+    public void setShowExpiredDate(String showExpiredDate) {
+        this.showExpiredDate = showExpiredDate;
+    }
+
+    public static long getSerialVersionUID() {
+        return serialVersionUID;
+    }
+
+    public String getRefBillNo() {
+        return refBillNo;
+    }
+
+    public void setRefBillNo(String refBillNo) {
+        this.refBillNo = refBillNo;
+    }
+
+    public String getDestItemName() {
+        return destItemName;
+    }
+
+    public void setDestItemName(String destItemName) {
+        this.destItemName = destItemName;
+    }
+
+    public String getSrcCargoOwnerName() {
+        return srcCargoOwnerName;
+    }
+
+    public void setSrcCargoOwnerName(String srcCargoOwnerName) {
+        this.srcCargoOwnerName = srcCargoOwnerName;
+    }
+
+    public String getDestCargoOwnerName() {
+        return destCargoOwnerName;
+    }
+
+    public void setDestCargoOwnerName(String destCargoOwnerName) {
+        this.destCargoOwnerName = destCargoOwnerName;
+    }
+
+    public String getDestLocatorId() {
+        return destLocatorId;
+    }
+
+    public void setDestLocatorId(String destLocatorId) {
+        this.destLocatorId = destLocatorId;
+    }
+
+    public Integer getTotalCount() {
+        return totalCount;
+    }
+
+    public void setTotalCount(Integer totalCount) {
+        this.totalCount = totalCount;
+    }
+
+    public Integer getScanCount() {
+        return scanCount;
+    }
+
+    public void setScanCount(Integer scanCount) {
+        this.scanCount = scanCount;
+    }
+
+    public String getResultId() {
+        return resultId;
+    }
+
+    public void setResultId(String resultId) {
+        this.resultId = resultId;
+    }
+
+    public String getSrcCargoOwnerId() {
+        return srcCargoOwnerId;
+    }
+
+    public void setSrcCargoOwnerId(String srcCargoOwnerId) {
+        this.srcCargoOwnerId = srcCargoOwnerId;
+    }
+
+    public String getDestCargoOwnerId() {
+        return destCargoOwnerId;
+    }
+
+    public void setDestCargoOwnerId(String destCargoOwnerId) {
+        this.destCargoOwnerId = destCargoOwnerId;
+    }
+
+    public String getSrcItemId() {
+        return srcItemId;
+    }
+
+    public void setSrcItemId(String srcItemId) {
+        this.srcItemId = srcItemId;
+    }
+
+    public String getDestItemId() {
+        return destItemId;
+    }
+
+    public void setDestItemId(String destItemId) {
+        this.destItemId = destItemId;
+    }
+
+    public String getPoBillId() {
+        return poBillId;
+    }
+
+    public void setPoBillId(String poBillId) {
+        this.poBillId = poBillId;
+    }
+
+    public String getOrderBillId() {
+        return orderBillId;
+    }
+
+    public void setOrderBillId(String orderBillId) {
+        this.orderBillId = orderBillId;
+    }
+
+    public BigDecimal getQuantity() {
+        return quantity;
+    }
+
+    public void setQuantity(BigDecimal quantity) {
+        this.quantity = quantity;
+    }
+
+    public String getDestLocatorName() {
+        return destLocatorName;
+    }
+
+    public void setDestLocatorName(String destLocatorName) {
+        this.destLocatorName = destLocatorName;
+    }
+}

+ 434 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/Supervise4CargoChangeDetail.java

@@ -0,0 +1,434 @@
+package com.prolog.cs.biz.inbound.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @Description  
+ * @Date 2021-07-05 
+ */
+@ApiModel
+public class Supervise4CargoChangeDetail extends IsSuperviseDTO implements Serializable {
+	
+	private static final long serialVersionUID =  2291818160143936392L;
+
+	/**
+	 * 源单ID
+	 */
+	@ApiModelProperty("源单编号")
+	private String refBillNo;
+
+	/**
+	 * 仓库ID
+	 */
+	@ApiModelProperty("仓库ID")
+	private String warehouseId;
+
+	/**
+	 * 仓库名称
+	 */
+	@ApiModelProperty("仓库名称")
+	private String warehouseName;
+
+	/**
+	 * 仓库编号
+	 */
+	@ApiModelProperty("仓库编号")
+	private String warehouseCode;
+
+	/**
+	 * 采购单ID
+	 */
+	@ApiModelProperty("采购单ID")
+	private String poBillId;
+
+	/**
+	 * 采购单编号
+	 */
+	@ApiModelProperty("采购单编号")
+	private String poBillNo;
+
+	/**
+	 * 销售单ID
+	 */
+	@ApiModelProperty("销售单ID")
+	private String orderBillId;
+
+	/**
+	 * 销售单编号
+	 */
+	@ApiModelProperty("销售单编号")
+	private String orderBillNo;
+
+    /**
+     * 源商品ID
+     */
+    private String srcItemId;
+
+    /**
+     * 源商品名称
+     */
+    private String srcItemName;
+
+    /**
+     * 目标商品ID
+     */
+    private String destItemId;
+
+    /**
+     * 目标商品名称
+     */
+    @ApiModelProperty("目标商品名称")
+    private String destItemName;
+    
+	/**
+	 * 源货主ID
+	 */
+	private String srcCargoOwnerId;
+
+	/**
+	 * 源货主名称
+	 */
+	@ApiModelProperty("源货主名称")
+	private String srcCargoOwnerName;
+
+	/**
+	 * 目标货主ID
+	 */
+	private String destCargoOwnerId;
+
+	/**
+	 * 目标货主名称
+	 */
+	@ApiModelProperty("目标货主名称")
+	private String destCargoOwnerName;
+
+	/**
+	 * 目的货位ID
+	 */
+	private String destLocatorId;
+
+    /**
+     * 出库是否扫描监管码:0否1是
+     */
+    @ApiModelProperty("件数")
+    private Integer totalCount;
+    /**
+     * 出库是否扫描监管码:0否1是
+     */
+    @ApiModelProperty("已扫码数量")
+    private Integer scanCount;
+
+    @ApiModelProperty(value = "明细id")
+    private String resultId;
+
+    /**
+     * 转换数量
+     */
+    private BigDecimal quantity;
+
+    @ApiModelProperty(value = "生产厂家")
+    private String manufacturerName;
+
+    @ApiModelProperty(value = "商品规格")
+    private String specification;
+
+    @ApiModelProperty(value = "产地")
+    private String countryOriginName;
+
+    @ApiModelProperty(value = "单位")
+    private String caseUom;
+
+    @ApiModelProperty(value = "包装数量")
+    private BigDecimal caseConversionRate;
+
+    @ApiModelProperty(value = "批号")
+    private String manufacturerLotNum;
+
+    @ApiModelProperty(value = "生产日期")
+    private String showProductionDate;
+
+    @ApiModelProperty(value = "有效期至日期")
+    private String showExpiredDate;
+    
+    @ApiModelProperty(value = "源货位")
+    private String srcLocatorName;
+
+    @ApiModelProperty(value = "目的货位")
+    private String destLocatorName;
+    
+    @ApiModelProperty(value = "商品编码")
+    private String destItemCode;
+
+    @ApiModelProperty(value = "【3.JIANG_CD,监管码】监管码/防串码/唯一码   ")
+    private String supervisionCode;
+
+    public String getSupervisionCode() {
+        return supervisionCode;
+    }
+
+    public void setSupervisionCode(String supervisionCode) {
+        this.supervisionCode = supervisionCode;
+    }
+
+    public String getDestItemCode() {
+        return destItemCode;
+    }
+
+    public void setDestItemCode(String destItemCode) {
+        this.destItemCode = destItemCode;
+    }
+
+    public String getSrcLocatorName() {
+        return srcLocatorName;
+    }
+
+    public void setSrcLocatorName(String srcLocatorName) {
+        this.srcLocatorName = srcLocatorName;
+    }
+
+    public String getDestLocatorName() {
+        return destLocatorName;
+    }
+
+    public void setDestLocatorName(String destLocatorName) {
+        this.destLocatorName = destLocatorName;
+    }
+
+    public String getManufacturerLotNum() {
+        return manufacturerLotNum;
+    }
+
+    public void setManufacturerLotNum(String manufacturerLotNum) {
+        this.manufacturerLotNum = manufacturerLotNum;
+    }
+
+    public String getShowProductionDate() {
+        return showProductionDate;
+    }
+
+    public void setShowProductionDate(String showProductionDate) {
+        this.showProductionDate = showProductionDate;
+    }
+
+    public String getShowExpiredDate() {
+        return showExpiredDate;
+    }
+
+    public void setShowExpiredDate(String showExpiredDate) {
+        this.showExpiredDate = showExpiredDate;
+    }
+
+    public String getManufacturerName() {
+        return manufacturerName;
+    }
+
+    public void setManufacturerName(String manufacturerName) {
+        this.manufacturerName = manufacturerName;
+    }
+
+    public String getSpecification() {
+        return specification;
+    }
+
+    public void setSpecification(String specification) {
+        this.specification = specification;
+    }
+
+    public String getCountryOriginName() {
+        return countryOriginName;
+    }
+
+    public void setCountryOriginName(String countryOriginName) {
+        this.countryOriginName = countryOriginName;
+    }
+
+    public String getCaseUom() {
+        return caseUom;
+    }
+
+    public void setCaseUom(String caseUom) {
+        this.caseUom = caseUom;
+    }
+
+    public BigDecimal getCaseConversionRate() {
+        return caseConversionRate;
+    }
+
+    public void setCaseConversionRate(BigDecimal caseConversionRate) {
+        this.caseConversionRate = caseConversionRate;
+    }
+
+    public BigDecimal getQuantity() {
+        return quantity;
+    }
+
+    public void setQuantity(BigDecimal quantity) {
+        this.quantity = quantity;
+    }
+
+    public String getResultId() {
+        return resultId;
+    }
+
+    public void setResultId(String resultId) {
+        this.resultId = resultId;
+    }
+
+    public Integer getTotalCount() {
+        return totalCount;
+    }
+
+    public void setTotalCount(Integer totalCount) {
+        this.totalCount = totalCount;
+    }
+
+    public Integer getScanCount() {
+        return scanCount;
+    }
+
+    public void setScanCount(Integer scanCount) {
+        this.scanCount = scanCount;
+    }
+
+    public String getRefBillNo() {
+        return refBillNo;
+    }
+
+    public void setRefBillNo(String refBillNo) {
+        this.refBillNo = refBillNo;
+    }
+
+    @Override
+    public String getWarehouseId() {
+        return warehouseId;
+    }
+
+    @Override
+    public void setWarehouseId(String warehouseId) {
+        this.warehouseId = warehouseId;
+    }
+
+    public String getWarehouseName() {
+        return warehouseName;
+    }
+
+    public void setWarehouseName(String warehouseName) {
+        this.warehouseName = warehouseName;
+    }
+
+    public String getWarehouseCode() {
+        return warehouseCode;
+    }
+
+    public void setWarehouseCode(String warehouseCode) {
+        this.warehouseCode = warehouseCode;
+    }
+
+    public String getPoBillId() {
+        return poBillId;
+    }
+
+    public void setPoBillId(String poBillId) {
+        this.poBillId = poBillId;
+    }
+
+    public String getPoBillNo() {
+        return poBillNo;
+    }
+
+    public void setPoBillNo(String poBillNo) {
+        this.poBillNo = poBillNo;
+    }
+
+    public String getOrderBillId() {
+        return orderBillId;
+    }
+
+    public void setOrderBillId(String orderBillId) {
+        this.orderBillId = orderBillId;
+    }
+
+    public String getOrderBillNo() {
+        return orderBillNo;
+    }
+
+    public void setOrderBillNo(String orderBillNo) {
+        this.orderBillNo = orderBillNo;
+    }
+
+    public String getSrcCargoOwnerId() {
+        return srcCargoOwnerId;
+    }
+
+    public void setSrcCargoOwnerId(String srcCargoOwnerId) {
+        this.srcCargoOwnerId = srcCargoOwnerId;
+    }
+
+    public String getSrcCargoOwnerName() {
+        return srcCargoOwnerName;
+    }
+
+    public void setSrcCargoOwnerName(String srcCargoOwnerName) {
+        this.srcCargoOwnerName = srcCargoOwnerName;
+    }
+
+    public String getDestCargoOwnerId() {
+        return destCargoOwnerId;
+    }
+
+    public void setDestCargoOwnerId(String destCargoOwnerId) {
+        this.destCargoOwnerId = destCargoOwnerId;
+    }
+
+    public String getDestCargoOwnerName() {
+        return destCargoOwnerName;
+    }
+
+    public void setDestCargoOwnerName(String destCargoOwnerName) {
+        this.destCargoOwnerName = destCargoOwnerName;
+    }
+
+    public String getDestLocatorId() {
+        return destLocatorId;
+    }
+
+    public void setDestLocatorId(String destLocatorId) {
+        this.destLocatorId = destLocatorId;
+    }
+
+    public String getSrcItemId() {
+        return srcItemId;
+    }
+
+    public void setSrcItemId(String srcItemId) {
+        this.srcItemId = srcItemId;
+    }
+
+    public String getSrcItemName() {
+        return srcItemName;
+    }
+
+    public void setSrcItemName(String srcItemName) {
+        this.srcItemName = srcItemName;
+    }
+
+    public String getDestItemId() {
+        return destItemId;
+    }
+
+    public void setDestItemId(String destItemId) {
+        this.destItemId = destItemId;
+    }
+
+    public String getDestItemName() {
+        return destItemName;
+    }
+
+    public void setDestItemName(String destItemName) {
+        this.destItemName = destItemName;
+    }
+}

+ 88 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/SuperviseResultDTO.java

@@ -0,0 +1,88 @@
+package com.prolog.cs.biz.inbound.dto;
+
+import com.prolog.cs.biz.inbound.model.SupervisionCode;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @Description 监管码/防窜码/唯一码记录表 
+ * @Author Xiong  
+ * @Date 2021-06-16 
+ */
+@Data
+@ApiModel
+public class SuperviseResultDTO implements Serializable {
+
+    private static final long serialVersionUID =  2291818160143936395L;
+
+	@ApiModelProperty(value = "是否扫码完成")
+	private Boolean complete;
+
+	@ApiModelProperty(value = "是否解锁")
+	private Boolean isUnLock;
+
+	@ApiModelProperty(value = "【12.BZLB】包装级别(0大包装,1中包装,2小包装)【包装类别,BZLB】")
+	private String packLevel;
+
+	@ApiModelProperty(value = "已扫码监管码")
+	private List<String> superviseCodes;
+
+	@ApiModelProperty(value = "已扫描监管码列表")
+	private List<SupervisionCode> superviseCodesModal;
+
+	@ApiModelProperty("总记录数")
+	private long totalCount;
+
+	@ApiModelProperty("总页数")
+	private int pageCount;
+
+	@ApiModelProperty("当前页码")
+	private int pageNum;
+
+	@ApiModelProperty("每页大小")
+	private int pageSize;
+
+	@ApiModelProperty("当前页开始行")
+	private int startRow;
+
+	@ApiModelProperty("当前页结束行")
+	private int endRow;
+
+	@ApiModelProperty(value = "实扫大包装数")
+	private String maxScanedQty = "0";
+
+	@ApiModelProperty(value = "实扫中包装数")
+	private String middleScanedQty = "0";
+
+	@ApiModelProperty(value = "实扫小包装数")
+	private String minScanedQty = "0";
+
+	@ApiModelProperty(value = "所有订单行是否扫码完成")
+	private Boolean billComplete = false;
+
+	@ApiModelProperty(value = "当前扫描重复的监管码")
+	private List<String> repeatSuperviseCodes;
+
+	public SuperviseResultDTO() {
+	}
+
+	public SuperviseResultDTO(Boolean complete,Boolean isUnLock, String packLevel, List<String> superviseCodes, List<SupervisionCode> superviseCodesModal) {
+		this.complete = complete;
+		this.isUnLock = isUnLock;
+		this.packLevel = packLevel;
+		this.superviseCodes = superviseCodes;
+		this.superviseCodesModal = superviseCodesModal;
+	}
+
+	public static SuperviseResultDTO newInstance(Boolean complete,Boolean isUnLock, String packLevel, List<String> superviseCodes,List<SupervisionCode> superviseCodesModal) {
+		return new SuperviseResultDTO(complete,isUnLock, packLevel, superviseCodes,superviseCodesModal);
+	}
+
+	public Boolean isComplete() {
+		return complete;
+	}
+}

+ 192 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/WhAreaCategoryContext.java

@@ -0,0 +1,192 @@
+package com.prolog.cs.biz.inbound.dto;
+
+import com.prolog.framework.bz.core.util.ObjectUtils;
+import com.prolog.framework.utils.ArrayUtils;
+import com.prolog.upcloud.base.strategy.domain.core.SearchFactor;
+import com.prolog.upcloud.base.strategy.domain.core.StrategyContext;
+
+import java.util.List;
+
+public class WhAreaCategoryContext extends StrategyContext<String> {
+
+    private RcvLineData rcvLineData;
+
+    private List<String> targetAreaCategoryCodes; // 也可能是结论集合
+
+    @Override
+    public boolean completed() {
+        return ObjectUtils.isNotEmpty(targetAreaCategoryCodes);
+    }
+
+    @Override
+    public Object getMatchFieldValue(String fieldName) {
+        if ("billType".equals(fieldName)) {
+            return this.rcvLineData.billType;
+        } else if ("storageStatus".equals(fieldName)) {
+            return this.rcvLineData.storageStatus;
+        } else if ("isCase".equals(fieldName)) {
+            return this.rcvLineData.isCase;
+        } else if ("qty".equals(fieldName)) {
+            return this.rcvLineData.qty;
+        } else if ("isPieceOrCase".equals(fieldName)) {
+            return this.rcvLineData.isPieceOrCase;
+        } else if ("isExpiry".equals(fieldName)) {
+            return this.rcvLineData.isExpiry;
+        } else if ("conclusion".equals(fieldName)) {
+            return this.rcvLineData.conclusion;
+        } else if ("dataSource".equals(fieldName)) {
+            return this.rcvLineData.dataSource;
+        } else if ("storeTemperature".equals(fieldName)) {
+            return this.rcvLineData.storeTemperature;
+        }
+        return null;
+    }
+
+    /**
+     * 根据查询的因子查询结果
+     */
+    @Override
+    public List<String> search(List<SearchFactor> searchFactors) {
+        // TODO Auto-generated method stub
+        if (ObjectUtils.isNotEmpty(searchFactors)) {
+            SearchFactor sf = searchFactors.get(0);
+            String fieldName = sf.getFieldName();
+            if (sf.getValue() != null) {
+                String astr = (String) sf.getValue();
+                targetAreaCategoryCodes = ArrayUtils.toList(astr.split(","));
+                return targetAreaCategoryCodes;
+            }
+        }
+        return null;
+    }
+
+    public RcvLineData getRcvLineData() {
+        return rcvLineData;
+    }
+
+    public void setRcvLineData(RcvLineData rcvLineData) {
+        this.rcvLineData = rcvLineData;
+    }
+
+    public List<String> getTargetAreaCategoryCodes() {
+        return targetAreaCategoryCodes;
+    }
+
+    public void setTargetAreaCategoryCodes(List<String> targetAreaCategoryCodes) {
+        this.targetAreaCategoryCodes = targetAreaCategoryCodes;
+    }
+
+    public class RcvLineData {
+        /**
+         * 单据类型1 采购入库 2 销售退货 3 调拨入库 4 移库入库 5 调账入库 6 越库入库 7 直调入库 8 代管入库 9 待检入库 10 器械入库 11
+         * 赠品入库
+         */
+        private String billType;
+        /**
+         * 收货数是否0整/1全散/2整散
+         */
+        private String isCase;
+        /**
+         * 是否整散合一 true/false
+         */
+        private Boolean isPieceOrCase;
+        /**
+         * 库存状态(0合格/1不合格)
+         */
+        private String storageStatus;
+        /**
+         * 数量(包装)
+         */
+        private Double qty;
+        /**
+         * 是否过期
+         */
+        private Boolean isExpiry;
+
+        /**
+         * 结论(0合格/1不合格/2待处理/3拒绝)
+         */
+        private String conclusion;
+        /**
+         * 数据来源(0:收货1:质检2:复检)
+         */
+        private String dataSource;
+        /**
+         * 冷藏字段("常温""阴凉" "冷藏" "冷冻"))
+         */
+        private String storeTemperature;
+
+        public String getConclusion() {
+            return conclusion;
+        }
+
+        public void setConclusion(String conclusion) {
+            this.conclusion = conclusion;
+        }
+
+        public String getDataSource() {
+            return dataSource;
+        }
+
+        public void setDataSource(String dataSource) {
+            this.dataSource = dataSource;
+        }
+
+        public String getStoreTemperature() {
+            return storeTemperature;
+        }
+
+        public void setStoreTemperature(String storeTemperature) {
+            this.storeTemperature = storeTemperature;
+        }
+
+        public Boolean getIsExpiry() {
+            return isExpiry;
+        }
+
+        public void setIsExpiry(Boolean isExpiry) {
+            this.isExpiry = isExpiry;
+        }
+
+        public String getBillType() {
+            return billType;
+        }
+
+        public void setBillType(String billType) {
+            this.billType = billType;
+        }
+
+        public String getIsCase() {
+            return isCase;
+        }
+
+        public void setIsCase(String isCase) {
+            this.isCase = isCase;
+        }
+
+        public Boolean getIsPieceOrCase() {
+            return isPieceOrCase;
+        }
+
+        public void setIsPieceOrCase(Boolean isPieceOrCase) {
+            this.isPieceOrCase = isPieceOrCase;
+        }
+
+        public String getStorageStatus() {
+            return storageStatus;
+        }
+
+        public void setStorageStatus(String storageStatus) {
+            this.storageStatus = storageStatus;
+        }
+
+        public Double getQty() {
+            return qty;
+        }
+
+        public void setQty(Double qty) {
+            this.qty = qty;
+        }
+
+    }
+}

+ 44 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/failure/ExceptionCascadeDTO.java

@@ -0,0 +1,44 @@
+package com.prolog.cs.biz.inbound.dto.failure;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 
+ * @author Xiong
+ * 2021/4/21 19:00
+ */
+@ApiModel
+public class ExceptionCascadeDTO implements Serializable{
+	
+	private static final long serialVersionUID = -860398894076410943L;
+
+	@ApiModelProperty(value = "错误单头",required = true) 
+	private ExceptionHeadersDTO ExceptionHeader;
+
+	@ApiModelProperty(value = "错误行明细",required = true) 
+	private List<ExceptionLinesDTO> ExceptionLineList;
+
+	public ExceptionHeadersDTO getExceptionHeader() {
+		return ExceptionHeader;
+	}
+
+	public void setExceptionHeader(ExceptionHeadersDTO exceptionHeader) {
+		ExceptionHeader = exceptionHeader;
+	}
+
+	public List<ExceptionLinesDTO> getExceptionLineList() {
+		return ExceptionLineList;
+	}
+
+	public void setExceptionLineList(List<ExceptionLinesDTO> exceptionLineList) {
+		ExceptionLineList = exceptionLineList;
+	}
+	
+	
+	
+	
+}

+ 276 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/failure/ExceptionHQueryDTO.java

@@ -0,0 +1,276 @@
+package com.prolog.cs.biz.inbound.dto.failure;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 异常单查询返回对象
+ * 
+ * @author Xiong
+ *
+ */
+@ApiModel
+public class ExceptionHQueryDTO implements Serializable {
+	private static final long serialVersionUID = 4780122431365204304L;
+
+	@ApiModelProperty(value = "错误单头ID(主键雪花id)(隐藏字段)", position = 1)
+	private String exceptionHeaderId;
+
+	@ApiModelProperty(value = "收货单头ID(隐藏字段)", position = 1)
+	private String rcvHeaderId;
+
+	@ApiModelProperty(value = "货主ID(隐藏字段)", position = 1)
+	private String mtlOwnerId;
+
+	@ApiModelProperty(value = "仓库ID(隐藏字段)", position = 1)
+	private String warehouseId;
+
+	@ApiModelProperty(value = "来源单头ID(PO/XT/YC)(隐藏字段)", position = 1)
+	private String srcHeaderId;
+
+	@ApiModelProperty(value = "ASN行ID(隐藏字段)", position = 1)
+	private String asnHeaderId;
+
+	@ApiModelProperty(value = "异常单据流水号码")
+	private String autoBillNum;
+
+	@ApiModelProperty(value = "行号")
+	private BigDecimal lineNum;
+
+	@ApiModelProperty(value = "操作人")
+	private String executorUser;
+
+	@ApiModelProperty(value = "操作时间")
+	private Date executorDate;
+
+	@ApiModelProperty(value = "错误发现节点(收货10/验收20/质检30/上架40)")
+	private String nodeType;
+
+	@ApiModelProperty(value = "手工单号")
+	private String customBillNum;
+
+	@ApiModelProperty(value = "来源单类型")
+	private String srcBillType;
+
+	// -----------补充字段----------------------------
+
+	@ApiModelProperty(value = "收货单自动单号", position = 99)
+	private String rcvHAutoBillNum;
+	@ApiModelProperty(value = "收货时间(查询字段)", position = 100)
+	private Date rcvDate;
+	@ApiModelProperty(value = "收货类型(查询字段)", position = 101)
+	private String rcvType;
+	@ApiModelProperty(value = "运输方式(查询字段)", position = 102)
+	private String shipType;
+	@ApiModelProperty(value = "到货方式(查询字段)", position = 103)
+	private String arrivalMode;
+	@ApiModelProperty(value = "供应商名(查询字段)", position = 104)
+	private String vendorName;
+	@ApiModelProperty(value = "仓库名(查询字段)", position = 105)
+	private String warehouseName;
+	@ApiModelProperty(value = "采购人(查询字段)", position = 106)
+	private String buyerMane;
+	@ApiModelProperty(value = "客户名(查询字段)", position = 107)
+	private String customerName;
+	@ApiModelProperty(value = "货主名(查询字段)", position = 108)
+	private String mtlOwnerName;
+	@ApiModelProperty(value = "组织名(查询字段)", position = 109)
+	private String orgnName;
+
+	public String getExceptionHeaderId() {
+		return exceptionHeaderId;
+	}
+
+	public void setExceptionHeaderId(String exceptionHeaderId) {
+		this.exceptionHeaderId = exceptionHeaderId;
+	}
+
+	public String getRcvHeaderId() {
+		return rcvHeaderId;
+	}
+
+	public void setRcvHeaderId(String rcvHeaderId) {
+		this.rcvHeaderId = rcvHeaderId;
+	}
+
+	public String getMtlOwnerId() {
+		return mtlOwnerId;
+	}
+
+	public void setMtlOwnerId(String mtlOwnerId) {
+		this.mtlOwnerId = mtlOwnerId;
+	}
+
+	public String getWarehouseId() {
+		return warehouseId;
+	}
+
+	public void setWarehouseId(String warehouseId) {
+		this.warehouseId = warehouseId;
+	}
+
+	public String getSrcHeaderId() {
+		return srcHeaderId;
+	}
+
+	public void setSrcHeaderId(String srcHeaderId) {
+		this.srcHeaderId = srcHeaderId;
+	}
+
+	public String getAsnHeaderId() {
+		return asnHeaderId;
+	}
+
+	public void setAsnHeaderId(String asnHeaderId) {
+		this.asnHeaderId = asnHeaderId;
+	}
+
+	public String getAutoBillNum() {
+		return autoBillNum;
+	}
+
+	public void setAutoBillNum(String autoBillNum) {
+		this.autoBillNum = autoBillNum;
+	}
+
+	public BigDecimal getLineNum() {
+		return lineNum;
+	}
+
+	public void setLineNum(BigDecimal lineNum) {
+		this.lineNum = lineNum;
+	}
+
+	public String getExecutorUser() {
+		return executorUser;
+	}
+
+	public void setExecutorUser(String executorUser) {
+		this.executorUser = executorUser;
+	}
+
+	public Date getExecutorDate() {
+		return executorDate;
+	}
+
+	public void setExecutorDate(Date executorDate) {
+		this.executorDate = executorDate;
+	}
+
+	public String getNodeType() {
+		return nodeType;
+	}
+
+	public void setNodeType(String nodeType) {
+		this.nodeType = nodeType;
+	}
+
+	public String getCustomBillNum() {
+		return customBillNum;
+	}
+
+	public void setCustomBillNum(String customBillNum) {
+		this.customBillNum = customBillNum;
+	}
+
+	public String getSrcBillType() {
+		return srcBillType;
+	}
+
+	public void setSrcBillType(String srcBillType) {
+		this.srcBillType = srcBillType;
+	}
+
+	public String getRcvHAutoBillNum() {
+		return rcvHAutoBillNum;
+	}
+
+	public void setRcvHAutoBillNum(String rcvHAutoBillNum) {
+		this.rcvHAutoBillNum = rcvHAutoBillNum;
+	}
+
+	public Date getRcvDate() {
+		return rcvDate;
+	}
+
+	public void setRcvDate(Date rcvDate) {
+		this.rcvDate = rcvDate;
+	}
+
+	public String getRcvType() {
+		return rcvType;
+	}
+
+	public void setRcvType(String rcvType) {
+		this.rcvType = rcvType;
+	}
+
+	public String getShipType() {
+		return shipType;
+	}
+
+	public void setShipType(String shipType) {
+		this.shipType = shipType;
+	}
+
+	public String getArrivalMode() {
+		return arrivalMode;
+	}
+
+	public void setArrivalMode(String arrivalMode) {
+		this.arrivalMode = arrivalMode;
+	}
+
+	public String getVendorName() {
+		return vendorName;
+	}
+
+	public void setVendorName(String vendorName) {
+		this.vendorName = vendorName;
+	}
+
+	public String getWarehouseName() {
+		return warehouseName;
+	}
+
+	public void setWarehouseName(String warehouseName) {
+		this.warehouseName = warehouseName;
+	}
+
+	public String getBuyerMane() {
+		return buyerMane;
+	}
+
+	public void setBuyerMane(String buyerMane) {
+		this.buyerMane = buyerMane;
+	}
+
+	public String getCustomerName() {
+		return customerName;
+	}
+
+	public void setCustomerName(String customerName) {
+		this.customerName = customerName;
+	}
+
+	public String getMtlOwnerName() {
+		return mtlOwnerName;
+	}
+
+	public void setMtlOwnerName(String mtlOwnerName) {
+		this.mtlOwnerName = mtlOwnerName;
+	}
+
+	public String getOrgnName() {
+		return orgnName;
+	}
+
+	public void setOrgnName(String orgnName) {
+		this.orgnName = orgnName;
+	}
+
+}

+ 171 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/failure/ExceptionHQueryVO.java

@@ -0,0 +1,171 @@
+package com.prolog.cs.biz.inbound.dto.failure;
+
+import com.prolog.cs.biz.inbound.dto.PageParam;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 异常单条件查询对象
+ * 
+ * @author Xiong
+ *
+ */
+@ApiModel
+public class ExceptionHQueryVO extends PageParam implements Serializable {
+
+	private static final long serialVersionUID = -668675251945764053L;
+
+	@ApiModelProperty(value = "异常单主键id(查询单条时使用)")
+	private String exceptionHeaderId;
+
+	@ApiModelProperty(value = "企业id")
+	private String enterpriseId;
+
+	@ApiModelProperty(value = "自动单号(模糊)", hidden = true)
+	private String autoBillNum;
+
+	@ApiModelProperty(value = "手工单号(模糊)")
+	private String customBillNum;
+
+	@ApiModelProperty(value = "收货单id")
+	private String rcvHeaderId;
+
+	@ApiModelProperty(value = "状态", hidden = true)
+	private String status;
+
+	@ApiModelProperty(value = "包含主键id列表", hidden = true)
+	private List<String> includeIds;
+
+	@ApiModelProperty(value = "排除主键id列表", hidden = true)
+	private List<String> excludeIds;
+
+	@ApiModelProperty(value = "货主id")
+	private String mtlOwnerId;
+
+	@ApiModelProperty(value = "仓库id")
+	private String warehouseId;
+
+	@ApiModelProperty(value = "收货类型", hidden = true)
+	private String rcvType;
+
+	@ApiModelProperty(value = "收货10/验收20/质检30/上架40")
+	private String nodeType;
+
+//	@ApiModelProperty(value = "(*)收货单号", position = -1)
+//	private String rcvNo;
+//	// 单据编号
+//	@ApiModelProperty(value = "(*)单据编号", position = -1)
+//	private String billNo;
+//	// 商品助记码
+//	@ApiModelProperty(value = "(*)商品助记码", position = -1)
+//	private String itemZjm;
+//	// 单位助记码
+//	@ApiModelProperty(value = "(*)单位助记码(客户/供应商/其他仓(oms下发))", position = -1)
+//	private String shipperZjm;
+//
+//	@ApiModelProperty(value = "(*)开始时间", position = -1)
+//	private Date startTime;
+//
+//	@ApiModelProperty(value = "(*)结束时间", position = -1)
+//	private Date endTime;
+
+	public String getExceptionHeaderId() {
+		return exceptionHeaderId;
+	}
+
+	public void setExceptionHeaderId(String exceptionHeaderId) {
+		this.exceptionHeaderId = exceptionHeaderId;
+	}
+
+	public String getEnterpriseId() {
+		return enterpriseId;
+	}
+
+	public void setEnterpriseId(String enterpriseId) {
+		this.enterpriseId = enterpriseId;
+	}
+
+	public String getAutoBillNum() {
+		return autoBillNum;
+	}
+
+	public void setAutoBillNum(String autoBillNum) {
+		this.autoBillNum = autoBillNum;
+	}
+
+	public String getCustomBillNum() {
+		return customBillNum;
+	}
+
+	public void setCustomBillNum(String customBillNum) {
+		this.customBillNum = customBillNum;
+	}
+
+	public String getRcvHeaderId() {
+		return rcvHeaderId;
+	}
+
+	public void setRcvHeaderId(String rcvHeaderId) {
+		this.rcvHeaderId = rcvHeaderId;
+	}
+
+	public String getStatus() {
+		return status;
+	}
+
+	public void setStatus(String status) {
+		this.status = status;
+	}
+
+	public List<String> getIncludeIds() {
+		return includeIds;
+	}
+
+	public void setIncludeIds(List<String> includeIds) {
+		this.includeIds = includeIds;
+	}
+
+	public List<String> getExcludeIds() {
+		return excludeIds;
+	}
+
+	public void setExcludeIds(List<String> excludeIds) {
+		this.excludeIds = excludeIds;
+	}
+
+	public String getMtlOwnerId() {
+		return mtlOwnerId;
+	}
+
+	public void setMtlOwnerId(String mtlOwnerId) {
+		this.mtlOwnerId = mtlOwnerId;
+	}
+
+	public String getWarehouseId() {
+		return warehouseId;
+	}
+
+	public void setWarehouseId(String warehouseId) {
+		this.warehouseId = warehouseId;
+	}
+
+	public String getRcvType() {
+		return rcvType;
+	}
+
+	public void setRcvType(String rcvType) {
+		this.rcvType = rcvType;
+	}
+
+	public String getNodeType() {
+		return nodeType;
+	}
+
+	public void setNodeType(String nodeType) {
+		this.nodeType = nodeType;
+	}
+
+}

+ 172 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/failure/ExceptionHeadersDTO.java

@@ -0,0 +1,172 @@
+package com.prolog.cs.biz.inbound.dto.failure;
+
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validAdd;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validEdit;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @Description 收货异常单头 来源于异常任务池WMS_IN_TASK_EXCEPTION_DETAIL
+ * @Author Xiong
+ * @Date 2021-04-02
+ */
+
+@ApiModel
+public class ExceptionHeadersDTO implements Serializable {
+	private static final long serialVersionUID = 3242104474799239134L;
+
+	@ApiModelProperty(value = "错误单头ID(主键雪花id)", position = -1)
+	@NotBlank(message = "错误单头ID(主键雪花id) can not blank!", groups = validEdit.class)
+	private String exceptionHeaderId;
+
+	@ApiModelProperty(value = "收货单头ID", required = true, position = -1)
+	@NotBlank(message = "收货单头ID can not blank!", groups = validAdd.class)
+	private String rcvHeaderId;
+
+	@ApiModelProperty(value = "行号", required = true, position = -1)
+//	@NotNull(message = "行号 can not blank!", groups = validAdd.class)
+	private BigDecimal lineNum;
+
+	@ApiModelProperty(value = "货主ID", required = true, position = -1)
+//	@NotBlank(message = "货主ID can not blank!", groups = validAdd.class)
+	private String mtlOwnerId;
+
+	@ApiModelProperty(value = "仓库ID", required = true, position = -1)
+//	@NotBlank(message = "仓库ID can not blank!", groups = validAdd.class)
+	private String warehouseId;
+
+	@ApiModelProperty(value = "单据流水好")
+	private String autoBillNum;
+
+	@ApiModelProperty(value = "来源单头ID(PO/XT/YC)")
+	private String srcHeaderId;
+
+	@ApiModelProperty(value = "ASN行ID")
+	private String asnHeaderId;
+
+	@ApiModelProperty(value = "操作人")
+	private String executorUser;
+
+	@ApiModelProperty(value = "操作时间")
+	private Date executorDate;
+
+	@ApiModelProperty(value = "错误发现节点(收货/验收/质检/上架)")
+	@NotBlank(message = "错误发现节点不可为空!")
+	private String nodeType;
+
+	@ApiModelProperty(value = "手工单号")
+	private String customBillNum;
+
+	@ApiModelProperty(value = "来源单类型")
+	private String srcBillType;
+
+	public String getExceptionHeaderId() {
+		return this.exceptionHeaderId;
+	}
+
+	public void setExceptionHeaderId(String exceptionHeaderId) {
+		this.exceptionHeaderId = exceptionHeaderId;
+	}
+
+	public String getRcvHeaderId() {
+		return this.rcvHeaderId;
+	}
+
+	public void setRcvHeaderId(String rcvHeaderId) {
+		this.rcvHeaderId = rcvHeaderId;
+	}
+
+	public String getAutoBillNum() {
+		return this.autoBillNum;
+	}
+
+	public void setAutoBillNum(String autoBillNum) {
+		this.autoBillNum = autoBillNum;
+	}
+
+	public String getSrcHeaderId() {
+		return this.srcHeaderId;
+	}
+
+	public void setSrcHeaderId(String srcHeaderId) {
+		this.srcHeaderId = srcHeaderId;
+	}
+
+	public String getAsnHeaderId() {
+		return this.asnHeaderId;
+	}
+
+	public void setAsnHeaderId(String asnHeaderId) {
+		this.asnHeaderId = asnHeaderId;
+	}
+
+	public BigDecimal getLineNum() {
+		return this.lineNum;
+	}
+
+	public void setLineNum(BigDecimal lineNum) {
+		this.lineNum = lineNum;
+	}
+
+	public String getMtlOwnerId() {
+		return this.mtlOwnerId;
+	}
+
+	public void setMtlOwnerId(String mtlOwnerId) {
+		this.mtlOwnerId = mtlOwnerId;
+	}
+
+	public String getWarehouseId() {
+		return this.warehouseId;
+	}
+
+	public void setWarehouseId(String warehouseId) {
+		this.warehouseId = warehouseId;
+	}
+
+	public String getExecutorUser() {
+		return this.executorUser;
+	}
+
+	public void setExecutorUser(String executorUser) {
+		this.executorUser = executorUser;
+	}
+
+	public Date getExecutorDate() {
+		return this.executorDate;
+	}
+
+	public void setExecutorDate(Date executorDate) {
+		this.executorDate = executorDate;
+	}
+
+	public String getNodeType() {
+		return nodeType;
+	}
+
+	public void setNodeType(String nodeType) {
+		this.nodeType = nodeType;
+	}
+
+	public String getCustomBillNum() {
+		return this.customBillNum;
+	}
+
+	public void setCustomBillNum(String customBillNum) {
+		this.customBillNum = customBillNum;
+	}
+
+	public String getSrcBillType() {
+		return this.srcBillType;
+	}
+
+	public void setSrcBillType(String srcBillType) {
+		this.srcBillType = srcBillType;
+	}
+
+}

+ 602 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/failure/ExceptionLineQueryDTO.java

@@ -0,0 +1,602 @@
+package com.prolog.cs.biz.inbound.dto.failure;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 异常行查询返回对象
+ * 
+ * @author Xiong
+ *
+ */
+@ApiModel
+public class ExceptionLineQueryDTO implements Serializable {
+	private static final long serialVersionUID = -8561471807254448334L;
+
+	@ApiModelProperty(value = "行号")
+	private BigDecimal lineNum;
+
+	@ApiModelProperty(value = "容器编码")
+	private String containerCode;
+
+	@ApiModelProperty(value = "货格编码")
+	private String goodsCaseCode;
+
+	@ApiModelProperty(value = "旧批号ID")
+	private String batchIdOld;
+
+	@ApiModelProperty(value = "旧批号编码")
+	private String batchNumOld;
+
+	@ApiModelProperty(value = "旧生产日期")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date productionDateOld;
+
+	@ApiModelProperty(value = "旧有效期至")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date expiredDateOld;
+
+	@ApiModelProperty(value = "旧供应商批次号")
+	private String vendorBatchNumOld;
+
+	@ApiModelProperty(value = "旧生产商批号")
+	private String manufacturerLotNumOld;
+
+	@ApiModelProperty(value = "新批号")
+	private String batchIdNew;
+
+	@ApiModelProperty(value = "新批号编码")
+	private String batchNumNew;
+
+	@ApiModelProperty(value = "新生产日期")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date productionDateNew;
+
+	@ApiModelProperty(value = "新有效期至")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date expiredDateNew;
+
+	@ApiModelProperty(value = "新供应商批次号")
+	private String vendorBatchNumNew;
+
+	@ApiModelProperty(value = "新生产商批号")
+	private String manufacturerLotNumNew;
+
+	@ApiModelProperty(value = "旧数量")
+	private BigDecimal qtyOld;
+
+	@ApiModelProperty(value = "新数量")
+	private BigDecimal qtyNew;
+
+	@ApiModelProperty(value = "包装单位")
+	private String uom;
+
+	@ApiModelProperty(value = "包装单位类型(2019/2020)新老包装")
+	private String uomType;
+
+	@ApiModelProperty(value = "包装含量")
+	private BigDecimal conversionRate;
+
+	@ApiModelProperty(value = "旧数量(最小单位)")
+	private BigDecimal pieceQtyOld;
+
+	@ApiModelProperty(value = "新数量(最小单位)")
+	private BigDecimal pieceQtyNew;
+
+	@ApiModelProperty(value = "执行者(异常处理人)")
+	private String executorUser;
+
+	@ApiModelProperty(value = "操作时间")
+	private Date executorDate;
+
+	@ApiModelProperty(value = "错误发现节点(10收货错误/20质检错误/30复检错误/40上架错误)")
+	private String nodeType;
+
+	@ApiModelProperty(value = "错误节点的任务id(隐藏字段)", position = 1)
+	private String nodeTaskId;
+
+	@ApiModelProperty(value = "来源单类型(隐藏字段)", position = 1)
+	private String srcBillType;
+
+	@ApiModelProperty(value = "任务id(隐藏字段)", position = 1)
+	private String taskExceptionId;
+
+	@ApiModelProperty(value = "错误行ID(主键雪花id)(隐藏字段)", position = 1)
+	private String exceptionLineId;
+
+	@ApiModelProperty(value = "错误单头ID(隐藏字段)", position = 1)
+	private String exceptionHeaderId;
+
+	@ApiModelProperty(value = "收货单行ID(隐藏字段)", position = 1)
+	private String rcvLineId;
+
+	@ApiModelProperty(value = "收货单头ID(隐藏字段)", position = 1)
+	private String rcvHeaderId;
+
+	@ApiModelProperty(value = "来源单头ID(PO/XT/YC)(隐藏字段)", position = 1)
+	private String srcHeaderId;
+
+	@ApiModelProperty(value = "来源单ID(隐藏字段)", position = 1)
+	private String srcLineId;
+
+	@ApiModelProperty(value = "ASN行ID(隐藏字段)", position = 1)
+	private String asnHeaderId;
+
+	@ApiModelProperty(value = "ASN行ID(隐藏字段)", position = 1)
+	private String asnLineId;
+
+	@ApiModelProperty(value = "货主ID(隐藏字段)", position = 1)
+	private String mtlOwnerId;
+
+	@ApiModelProperty(value = "仓库ID(隐藏字段)", position = 1)
+	private String warehouseId;
+
+	@ApiModelProperty(value = "商品ID(隐藏字段)", position = 1)
+	private String itemId;
+
+	@ApiModelProperty(value = "状态(0已处理1未处理-默认)(隐藏字段)", position = 1)
+	private String status;
+
+	// ----------------额外关联字段----------------------------------------------------------------------
+	@ApiModelProperty(value = "商品条码(列表展示用)", position = 2)
+	private String itemBarcode;
+	@ApiModelProperty(value = "商品体积(列表展示用)", position = 2)
+	private BigDecimal itemVolume;
+	@ApiModelProperty(value = "商品重量(列表展示用)", position = 2)
+	private BigDecimal itemWeight;
+	@ApiModelProperty(value = "仓库名称(列表展示用)", position = 2)
+	private String warehouseName;
+	@ApiModelProperty(value = "库区名称(列表展示用)", position = 2)
+	private String warehouseAreaName;
+	@ApiModelProperty(value = "商品编码(列表展示用)", position = 2)
+	private String itemNum;
+	@ApiModelProperty(value = "商品名称(列表展示用)", position = 2)
+	private String itemName;
+	@ApiModelProperty(value = "商品分类名(列表展示用)", position = 2)
+	private String categoryName;
+	@ApiModelProperty(value = "商品助记码(展示)", position = -3)
+	private String itemZjm;
+	@ApiModelProperty(value = "商品批准文号(展示)", position = -3)
+	private String approvalNumber;
+	@ApiModelProperty(value = "商品产地(展示)", position = -3)
+	private String productionPlace;
+	@ApiModelProperty(value = "生产厂家名称(展示)", position = -3)
+	private String manufacturerName;
+	@ApiModelProperty(value = "注册证号(展示)", position = -3)
+	private String itemHealthRegisterNbr;
+
+	public String getItemZjm() {
+		return itemZjm;
+	}
+
+	public void setItemZjm(String itemZjm) {
+		this.itemZjm = itemZjm;
+	}
+
+	public String getApprovalNumber() {
+		return approvalNumber;
+	}
+
+	public void setApprovalNumber(String approvalNumber) {
+		this.approvalNumber = approvalNumber;
+	}
+
+	public String getProductionPlace() {
+		return productionPlace;
+	}
+
+	public void setProductionPlace(String productionPlace) {
+		this.productionPlace = productionPlace;
+	}
+
+	public String getManufacturerName() {
+		return manufacturerName;
+	}
+
+	public void setManufacturerName(String manufacturerName) {
+		this.manufacturerName = manufacturerName;
+	}
+
+	public String getItemHealthRegisterNbr() {
+		return itemHealthRegisterNbr;
+	}
+
+	public void setItemHealthRegisterNbr(String itemHealthRegisterNbr) {
+		this.itemHealthRegisterNbr = itemHealthRegisterNbr;
+	}
+
+	public BigDecimal getLineNum() {
+		return lineNum;
+	}
+
+	public void setLineNum(BigDecimal lineNum) {
+		this.lineNum = lineNum;
+	}
+
+	public String getContainerCode() {
+		return containerCode;
+	}
+
+	public void setContainerCode(String containerCode) {
+		this.containerCode = containerCode;
+	}
+
+	public String getGoodsCaseCode() {
+		return goodsCaseCode;
+	}
+
+	public void setGoodsCaseCode(String goodsCaseCode) {
+		this.goodsCaseCode = goodsCaseCode;
+	}
+
+	public String getBatchIdOld() {
+		return batchIdOld;
+	}
+
+	public void setBatchIdOld(String batchIdOld) {
+		this.batchIdOld = batchIdOld;
+	}
+
+	public String getBatchNumOld() {
+		return batchNumOld;
+	}
+
+	public void setBatchNumOld(String batchNumOld) {
+		this.batchNumOld = batchNumOld;
+	}
+
+	public Date getProductionDateOld() {
+		return productionDateOld;
+	}
+
+	public void setProductionDateOld(Date productionDateOld) {
+		this.productionDateOld = productionDateOld;
+	}
+
+	public Date getExpiredDateOld() {
+		return expiredDateOld;
+	}
+
+	public void setExpiredDateOld(Date expiredDateOld) {
+		this.expiredDateOld = expiredDateOld;
+	}
+
+	public String getVendorBatchNumOld() {
+		return vendorBatchNumOld;
+	}
+
+	public void setVendorBatchNumOld(String vendorBatchNumOld) {
+		this.vendorBatchNumOld = vendorBatchNumOld;
+	}
+
+	public String getManufacturerLotNumOld() {
+		return manufacturerLotNumOld;
+	}
+
+	public void setManufacturerLotNumOld(String manufacturerLotNumOld) {
+		this.manufacturerLotNumOld = manufacturerLotNumOld;
+	}
+
+	public String getBatchIdNew() {
+		return batchIdNew;
+	}
+
+	public void setBatchIdNew(String batchIdNew) {
+		this.batchIdNew = batchIdNew;
+	}
+
+	public String getBatchNumNew() {
+		return batchNumNew;
+	}
+
+	public void setBatchNumNew(String batchNumNew) {
+		this.batchNumNew = batchNumNew;
+	}
+
+	public Date getProductionDateNew() {
+		return productionDateNew;
+	}
+
+	public void setProductionDateNew(Date productionDateNew) {
+		this.productionDateNew = productionDateNew;
+	}
+
+	public Date getExpiredDateNew() {
+		return expiredDateNew;
+	}
+
+	public void setExpiredDateNew(Date expiredDateNew) {
+		this.expiredDateNew = expiredDateNew;
+	}
+
+	public String getVendorBatchNumNew() {
+		return vendorBatchNumNew;
+	}
+
+	public void setVendorBatchNumNew(String vendorBatchNumNew) {
+		this.vendorBatchNumNew = vendorBatchNumNew;
+	}
+
+	public String getManufacturerLotNumNew() {
+		return manufacturerLotNumNew;
+	}
+
+	public void setManufacturerLotNumNew(String manufacturerLotNumNew) {
+		this.manufacturerLotNumNew = manufacturerLotNumNew;
+	}
+
+	public BigDecimal getQtyOld() {
+		return qtyOld;
+	}
+
+	public void setQtyOld(BigDecimal qtyOld) {
+		this.qtyOld = qtyOld;
+	}
+
+	public BigDecimal getQtyNew() {
+		return qtyNew;
+	}
+
+	public void setQtyNew(BigDecimal qtyNew) {
+		this.qtyNew = qtyNew;
+	}
+
+	public String getUom() {
+		return uom;
+	}
+
+	public void setUom(String uom) {
+		this.uom = uom;
+	}
+
+	public String getUomType() {
+		return uomType;
+	}
+
+	public void setUomType(String uomType) {
+		this.uomType = uomType;
+	}
+
+	public BigDecimal getConversionRate() {
+		return conversionRate;
+	}
+
+	public void setConversionRate(BigDecimal conversionRate) {
+		this.conversionRate = conversionRate;
+	}
+
+	public BigDecimal getPieceQtyOld() {
+		return pieceQtyOld;
+	}
+
+	public void setPieceQtyOld(BigDecimal pieceQtyOld) {
+		this.pieceQtyOld = pieceQtyOld;
+	}
+
+	public BigDecimal getPieceQtyNew() {
+		return pieceQtyNew;
+	}
+
+	public void setPieceQtyNew(BigDecimal pieceQtyNew) {
+		this.pieceQtyNew = pieceQtyNew;
+	}
+
+	public String getExecutorUser() {
+		return executorUser;
+	}
+
+	public void setExecutorUser(String executorUser) {
+		this.executorUser = executorUser;
+	}
+
+	public Date getExecutorDate() {
+		return executorDate;
+	}
+
+	public void setExecutorDate(Date executorDate) {
+		this.executorDate = executorDate;
+	}
+
+	public String getNodeType() {
+		return nodeType;
+	}
+
+	public void setNodeType(String nodeType) {
+		this.nodeType = nodeType;
+	}
+
+	public String getNodeTaskId() {
+		return nodeTaskId;
+	}
+
+	public void setNodeTaskId(String nodeTaskId) {
+		this.nodeTaskId = nodeTaskId;
+	}
+
+	public String getSrcBillType() {
+		return srcBillType;
+	}
+
+	public void setSrcBillType(String srcBillType) {
+		this.srcBillType = srcBillType;
+	}
+
+	public String getTaskExceptionId() {
+		return taskExceptionId;
+	}
+
+	public void setTaskExceptionId(String taskExceptionId) {
+		this.taskExceptionId = taskExceptionId;
+	}
+
+	public String getExceptionLineId() {
+		return exceptionLineId;
+	}
+
+	public void setExceptionLineId(String exceptionLineId) {
+		this.exceptionLineId = exceptionLineId;
+	}
+
+	public String getExceptionHeaderId() {
+		return exceptionHeaderId;
+	}
+
+	public void setExceptionHeaderId(String exceptionHeaderId) {
+		this.exceptionHeaderId = exceptionHeaderId;
+	}
+
+	public String getRcvLineId() {
+		return rcvLineId;
+	}
+
+	public void setRcvLineId(String rcvLineId) {
+		this.rcvLineId = rcvLineId;
+	}
+
+	public String getRcvHeaderId() {
+		return rcvHeaderId;
+	}
+
+	public void setRcvHeaderId(String rcvHeaderId) {
+		this.rcvHeaderId = rcvHeaderId;
+	}
+
+	public String getSrcHeaderId() {
+		return srcHeaderId;
+	}
+
+	public void setSrcHeaderId(String srcHeaderId) {
+		this.srcHeaderId = srcHeaderId;
+	}
+
+	public String getSrcLineId() {
+		return srcLineId;
+	}
+
+	public void setSrcLineId(String srcLineId) {
+		this.srcLineId = srcLineId;
+	}
+
+	public String getAsnHeaderId() {
+		return asnHeaderId;
+	}
+
+	public void setAsnHeaderId(String asnHeaderId) {
+		this.asnHeaderId = asnHeaderId;
+	}
+
+	public String getAsnLineId() {
+		return asnLineId;
+	}
+
+	public void setAsnLineId(String asnLineId) {
+		this.asnLineId = asnLineId;
+	}
+
+	public String getMtlOwnerId() {
+		return mtlOwnerId;
+	}
+
+	public void setMtlOwnerId(String mtlOwnerId) {
+		this.mtlOwnerId = mtlOwnerId;
+	}
+
+	public String getWarehouseId() {
+		return warehouseId;
+	}
+
+	public void setWarehouseId(String warehouseId) {
+		this.warehouseId = warehouseId;
+	}
+
+	public String getItemId() {
+		return itemId;
+	}
+
+	public void setItemId(String itemId) {
+		this.itemId = itemId;
+	}
+
+	public String getStatus() {
+		return status;
+	}
+
+	public void setStatus(String status) {
+		this.status = status;
+	}
+
+	public String getItemBarcode() {
+		return itemBarcode;
+	}
+
+	public void setItemBarcode(String itemBarcode) {
+		this.itemBarcode = itemBarcode;
+	}
+
+	public BigDecimal getItemVolume() {
+		return itemVolume;
+	}
+
+	public void setItemVolume(BigDecimal itemVolume) {
+		this.itemVolume = itemVolume;
+	}
+
+	public BigDecimal getItemWeight() {
+		return itemWeight;
+	}
+
+	public void setItemWeight(BigDecimal itemWeight) {
+		this.itemWeight = itemWeight;
+	}
+
+	public String getWarehouseName() {
+		return warehouseName;
+	}
+
+	public void setWarehouseName(String warehouseName) {
+		this.warehouseName = warehouseName;
+	}
+
+	public String getWarehouseAreaName() {
+		return warehouseAreaName;
+	}
+
+	public void setWarehouseAreaName(String warehouseAreaName) {
+		this.warehouseAreaName = warehouseAreaName;
+	}
+
+	public String getItemNum() {
+		return itemNum;
+	}
+
+	public void setItemNum(String itemNum) {
+		this.itemNum = itemNum;
+	}
+
+	public String getItemName() {
+		return itemName;
+	}
+
+	public void setItemName(String itemName) {
+		this.itemName = itemName;
+	}
+
+	public String getCategoryName() {
+		return categoryName;
+	}
+
+	public void setCategoryName(String categoryName) {
+		this.categoryName = categoryName;
+	}
+
+}

+ 153 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/failure/ExceptionLineQueryVO.java

@@ -0,0 +1,153 @@
+package com.prolog.cs.biz.inbound.dto.failure;
+
+import com.prolog.cs.biz.inbound.dto.PageParam;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 异常行查询类
+ * 
+ * @author Xiong
+ *
+ */
+@ApiModel
+public class ExceptionLineQueryVO extends PageParam implements Serializable {
+
+	private static final long serialVersionUID = -2070800947341019589L;
+
+	@ApiModelProperty(value = "企业id(默认当前登录者id)")
+	private String enterpriseId;
+
+	@ApiModelProperty(value = "货主id")
+	private String mtlOwnerId;
+
+	@ApiModelProperty(value = "仓库id")
+	private String warehouseId;
+
+	@ApiModelProperty(value = "收货单头ID")
+	private String rcvHeaderId;
+
+	@ApiModelProperty(value = "收货行头ID")
+	private String rcvLineId;
+
+	@ApiModelProperty(value = "异常单主键id")
+	private String exceptionHeaderId;
+
+	@ApiModelProperty(value = "商品ID")
+	private String itemId;
+
+	@ApiModelProperty(value = "异常节点(收货10/验收20/质检30/上架40)")
+	private String nodeType;
+
+	@ApiModelProperty(value = "状态", hidden = true)
+	private String status;
+
+	@ApiModelProperty(value = "包含主键id列表", hidden = true)
+	private List<String> includeIds;
+
+	@ApiModelProperty(value = "排除主键id列表", hidden = true)
+	private List<String> excludeIds;
+
+	@ApiModelProperty(value = "自动单号(模糊)", hidden = true)
+	private String autoBillNum;
+
+	public String getEnterpriseId() {
+		return enterpriseId;
+	}
+
+	public void setEnterpriseId(String enterpriseId) {
+		this.enterpriseId = enterpriseId;
+	}
+
+	public String getMtlOwnerId() {
+		return mtlOwnerId;
+	}
+
+	public void setMtlOwnerId(String mtlOwnerId) {
+		this.mtlOwnerId = mtlOwnerId;
+	}
+
+	public String getWarehouseId() {
+		return warehouseId;
+	}
+
+	public void setWarehouseId(String warehouseId) {
+		this.warehouseId = warehouseId;
+	}
+
+	public String getRcvHeaderId() {
+		return rcvHeaderId;
+	}
+
+	public void setRcvHeaderId(String rcvHeaderId) {
+		this.rcvHeaderId = rcvHeaderId;
+	}
+
+	public String getRcvLineId() {
+		return rcvLineId;
+	}
+
+	public void setRcvLineId(String rcvLineId) {
+		this.rcvLineId = rcvLineId;
+	}
+
+	public String getExceptionHeaderId() {
+		return exceptionHeaderId;
+	}
+
+	public void setExceptionHeaderId(String exceptionHeaderId) {
+		this.exceptionHeaderId = exceptionHeaderId;
+	}
+
+	public String getItemId() {
+		return itemId;
+	}
+
+	public void setItemId(String itemId) {
+		this.itemId = itemId;
+	}
+
+	public String getNodeType() {
+		return nodeType;
+	}
+
+	public void setNodeType(String nodeType) {
+		this.nodeType = nodeType;
+	}
+
+	public String getStatus() {
+		return status;
+	}
+
+	public void setStatus(String status) {
+		this.status = status;
+	}
+
+	public List<String> getIncludeIds() {
+		return includeIds;
+	}
+
+	public void setIncludeIds(List<String> includeIds) {
+		this.includeIds = includeIds;
+	}
+
+	public List<String> getExcludeIds() {
+		return excludeIds;
+	}
+
+	public void setExcludeIds(List<String> excludeIds) {
+		this.excludeIds = excludeIds;
+	}
+
+	public String getAutoBillNum() {
+		return autoBillNum;
+	}
+
+	public void setAutoBillNum(String autoBillNum) {
+		this.autoBillNum = autoBillNum;
+	}
+
+}

+ 536 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/failure/ExceptionLinesDTO.java

@@ -0,0 +1,536 @@
+package com.prolog.cs.biz.inbound.dto.failure;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @Description 收货异常行ID
+ * @Author Xiong
+ * @Date 2021-04-02
+ */
+
+@ApiModel
+public class ExceptionLinesDTO implements Serializable {
+	private static final long serialVersionUID = 1268703677080659625L;
+	@ApiModelProperty(value = "错误行ID(主键雪花id)", position = -1)
+//	// @NotBlank(message = "错误行ID can not blank!", groups = validEdit.class)
+	private String exceptionLineId;
+
+	@ApiModelProperty(value = "错误单头ID", required = true, position = -1)
+//	// @NotBlank(message = "错误单头ID can not blank!", groups = validAdd.class)
+	private String exceptionHeaderId;
+
+	@ApiModelProperty(value = "收货单行ID", required = true, position = -1)
+	// @NotBlank(message = "收货单行ID can not blank!", groups = validAdd.class)
+	private String rcvLineId;
+
+	@ApiModelProperty(value = "收货单头ID", required = true, position = -1)
+	// @NotBlank(message = "收货单头ID can not blank!", groups = validAdd.class)
+	private String rcvHeaderId;
+
+	@ApiModelProperty(value = "错误发现节点(10收货错误/20质检错误/30复检错误/40上架错误)", required = true, position = -1)
+	// @NotBlank(message = "错误发现节点不可为空!", groups = validAdd.class)
+	private String nodeType;
+
+	@ApiModelProperty(value = "错误节点的任务id", required = true, position = -1)
+	// @NotBlank(message = "错误节点的任务id不可为空!", groups = validAdd.class)
+	private String nodeTaskId;
+
+	@ApiModelProperty(value = "任务id", required = true, position = -1)
+	// @NotBlank(message = "任务id不能为空!", groups = validAdd.class)
+	private String taskExceptionId;
+
+	@ApiModelProperty(value = "行号", required = true, position = -1)
+	// @NotNull(message = "行号 can not blank!", groups = validAdd.class)
+	private BigDecimal lineNum;
+
+	@ApiModelProperty(value = "货主ID", required = true, position = -1)
+	// @NotBlank(message = "货主ID can not blank!", groups = validAdd.class)
+	private String mtlOwnerId;
+
+	@ApiModelProperty(value = "仓库ID", required = true, position = -1)
+	// @NotBlank(message = "仓库ID can not blank!", groups = validAdd.class)
+	private String warehouseId;
+
+	@ApiModelProperty(value = "商品ID", required = true, position = -1)
+	// @NotBlank(message = "商品ID can not blank!", groups = validAdd.class)
+	private String itemId;
+
+	@ApiModelProperty(value = "包装单位", required = true, position = -1)
+	// @NotBlank(message = "包装单位 can not blank!", groups = validAdd.class)
+	private String uom;
+
+	@ApiModelProperty(value = "包装含量", required = true, position = -1)
+	// @NotNull(message = "包装含量 can not blank!", groups = validAdd.class)
+	private BigDecimal conversionRate;
+
+	@ApiModelProperty(value = "旧批次号ID", required = true, position = -2)
+	// @NotBlank(message = "旧批号ID不可为空!", groups = validAdd.class)
+	private String batchIdOld;
+
+	@ApiModelProperty(value = "旧批次编码", required = true, position = -2)
+	// @NotBlank(message = "旧批次编码不可为空!", groups = validAdd.class)
+	private String batchNumOld;
+
+	@ApiModelProperty(value = "旧生产日期", required = true, position = -2)
+	// @NotNull(message = "旧生产日期不可为空!", groups = validAdd.class)
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date productionDateOld;
+
+	@ApiModelProperty(value = "旧有效期至", required = true, position = -2)
+	// @NotNull(message = "旧有效期至不可为空!", groups = validAdd.class)
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date expiredDateOld;
+
+	@ApiModelProperty(value = "旧供应商批次号", required = true, position = -2)
+//	// @NotBlank(message = "旧供应商批次号不可为空!", groups = validAdd.class)
+	private String vendorBatchNumOld;
+
+	@ApiModelProperty(value = "旧生产商批号", required = true, position = -2)
+	// @NotBlank(message = "旧生产商批号不可为空!", groups = validAdd.class)
+	private String manufacturerLotNumOld;
+
+	@ApiModelProperty(value = "旧数量", required = true, position = -2)
+//	//@NotNull(message = "旧数量不可为空!", groups = validAdd.class)
+	private BigDecimal qtyOld;
+
+	@ApiModelProperty(value = "旧数量(最小单位)", required = true, position = -2)
+	// @NotNull(message = "旧数量(最小单位)不可为空!", groups = validAdd.class)
+	private BigDecimal pieceQtyOld;
+
+	@ApiModelProperty(value = "新批次号")
+	private String batchIdNew;
+
+	@ApiModelProperty(value = "新批次号编码")
+	private String batchNumNew;
+
+	@ApiModelProperty(value = "新生产日期")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date productionDateNew;
+
+	@ApiModelProperty(value = "新有效期至")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date expiredDateNew;
+
+	@ApiModelProperty(value = "新供应商批次号")
+	private String vendorBatchNumNew;
+
+	@ApiModelProperty(value = "新生产商批号")
+	private String manufacturerLotNumNew;
+
+	@ApiModelProperty(value = "新数量")
+	private BigDecimal qtyNew;
+
+	@ApiModelProperty(value = "包装单位类型(2019/2020)新老包装")
+	private String uomType;
+
+	@ApiModelProperty(value = "新数量(最小单位)")
+	private BigDecimal pieceQtyNew;
+
+	@ApiModelProperty(value = "执行者(异常处理人)")
+	private String executorUser;
+
+	@ApiModelProperty(value = "操作时间")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date executorDate;
+
+	@ApiModelProperty(value = "来源单类型")
+	private String srcBillType;
+
+	@ApiModelProperty(value = "来源单头ID(PO/XT/YC)")
+	private String srcHeaderId;
+
+	@ApiModelProperty(value = "来源单ID")
+	private String srcLineId;
+
+	@ApiModelProperty(value = "ASN行ID")
+	private String asnHeaderId;
+
+	@ApiModelProperty(value = "ASN行ID")
+	private String asnLineId;
+
+	@ApiModelProperty(value = "容器编码")
+	private String containerCode;
+
+	@ApiModelProperty(value = "货格编码")
+	private String goodsCaseCode;
+
+	@ApiModelProperty(value = "状态(0已处理1未处理-默认)")
+	private String status;
+
+	@ApiModelProperty(value = "新的显示生产日期", position = -4)
+	private String showProductionDateNew;
+
+	@ApiModelProperty(value = "新的显示有效期至", position = -4)
+	private String showExpiredDateNew;
+
+	@ApiModelProperty(value = "旧的显示生产日期", position = -4)
+	private String showProductionDateOld;
+
+	@ApiModelProperty(value = "旧的显示有效期至", position = -4)
+	private String showExpiredDateOld;
+
+	public String getShowProductionDateNew() {
+		return showProductionDateNew;
+	}
+
+	public void setShowProductionDateNew(String showProductionDateNew) {
+		this.showProductionDateNew = showProductionDateNew;
+	}
+
+	public String getShowExpiredDateNew() {
+		return showExpiredDateNew;
+	}
+
+	public void setShowExpiredDateNew(String showExpiredDateNew) {
+		this.showExpiredDateNew = showExpiredDateNew;
+	}
+
+	public String getShowProductionDateOld() {
+		return showProductionDateOld;
+	}
+
+	public void setShowProductionDateOld(String showProductionDateOld) {
+		this.showProductionDateOld = showProductionDateOld;
+	}
+
+	public String getShowExpiredDateOld() {
+		return showExpiredDateOld;
+	}
+
+	public void setShowExpiredDateOld(String showExpiredDateOld) {
+		this.showExpiredDateOld = showExpiredDateOld;
+	}
+
+	public String getExceptionLineId() {
+		return exceptionLineId;
+	}
+
+	public void setExceptionLineId(String exceptionLineId) {
+		this.exceptionLineId = exceptionLineId;
+	}
+
+	public String getExceptionHeaderId() {
+		return exceptionHeaderId;
+	}
+
+	public void setExceptionHeaderId(String exceptionHeaderId) {
+		this.exceptionHeaderId = exceptionHeaderId;
+	}
+
+	public String getRcvLineId() {
+		return rcvLineId;
+	}
+
+	public void setRcvLineId(String rcvLineId) {
+		this.rcvLineId = rcvLineId;
+	}
+
+	public String getRcvHeaderId() {
+		return rcvHeaderId;
+	}
+
+	public void setRcvHeaderId(String rcvHeaderId) {
+		this.rcvHeaderId = rcvHeaderId;
+	}
+
+	public String getNodeType() {
+		return nodeType;
+	}
+
+	public void setNodeType(String nodeType) {
+		this.nodeType = nodeType;
+	}
+
+	public String getNodeTaskId() {
+		return nodeTaskId;
+	}
+
+	public void setNodeTaskId(String nodeTaskId) {
+		this.nodeTaskId = nodeTaskId;
+	}
+
+	public String getTaskExceptionId() {
+		return taskExceptionId;
+	}
+
+	public void setTaskExceptionId(String taskExceptionId) {
+		this.taskExceptionId = taskExceptionId;
+	}
+
+	public BigDecimal getLineNum() {
+		return lineNum;
+	}
+
+	public void setLineNum(BigDecimal lineNum) {
+		this.lineNum = lineNum;
+	}
+
+	public String getMtlOwnerId() {
+		return mtlOwnerId;
+	}
+
+	public void setMtlOwnerId(String mtlOwnerId) {
+		this.mtlOwnerId = mtlOwnerId;
+	}
+
+	public String getWarehouseId() {
+		return warehouseId;
+	}
+
+	public void setWarehouseId(String warehouseId) {
+		this.warehouseId = warehouseId;
+	}
+
+	public String getItemId() {
+		return itemId;
+	}
+
+	public void setItemId(String itemId) {
+		this.itemId = itemId;
+	}
+
+	public String getUom() {
+		return uom;
+	}
+
+	public void setUom(String uom) {
+		this.uom = uom;
+	}
+
+	public BigDecimal getConversionRate() {
+		return conversionRate;
+	}
+
+	public void setConversionRate(BigDecimal conversionRate) {
+		this.conversionRate = conversionRate;
+	}
+
+	public String getBatchIdOld() {
+		return batchIdOld;
+	}
+
+	public void setBatchIdOld(String batchIdOld) {
+		this.batchIdOld = batchIdOld;
+	}
+
+	public String getBatchNumOld() {
+		return batchNumOld;
+	}
+
+	public void setBatchNumOld(String batchNumOld) {
+		this.batchNumOld = batchNumOld;
+	}
+
+	public Date getProductionDateOld() {
+		return productionDateOld;
+	}
+
+	public void setProductionDateOld(Date productionDateOld) {
+		this.productionDateOld = productionDateOld;
+	}
+
+	public Date getExpiredDateOld() {
+		return expiredDateOld;
+	}
+
+	public void setExpiredDateOld(Date expiredDateOld) {
+		this.expiredDateOld = expiredDateOld;
+	}
+
+	public String getVendorBatchNumOld() {
+		return vendorBatchNumOld;
+	}
+
+	public void setVendorBatchNumOld(String vendorBatchNumOld) {
+		this.vendorBatchNumOld = vendorBatchNumOld;
+	}
+
+	public String getManufacturerLotNumOld() {
+		return manufacturerLotNumOld;
+	}
+
+	public void setManufacturerLotNumOld(String manufacturerLotNumOld) {
+		this.manufacturerLotNumOld = manufacturerLotNumOld;
+	}
+
+	public BigDecimal getQtyOld() {
+		return qtyOld;
+	}
+
+	public void setQtyOld(BigDecimal qtyOld) {
+		this.qtyOld = qtyOld;
+	}
+
+	public BigDecimal getPieceQtyOld() {
+		return pieceQtyOld;
+	}
+
+	public void setPieceQtyOld(BigDecimal pieceQtyOld) {
+		this.pieceQtyOld = pieceQtyOld;
+	}
+
+	public String getBatchIdNew() {
+		return batchIdNew;
+	}
+
+	public void setBatchIdNew(String batchIdNew) {
+		this.batchIdNew = batchIdNew;
+	}
+
+	public String getBatchNumNew() {
+		return batchNumNew;
+	}
+
+	public void setBatchNumNew(String batchNumNew) {
+		this.batchNumNew = batchNumNew;
+	}
+
+	public Date getProductionDateNew() {
+		return productionDateNew;
+	}
+
+	public void setProductionDateNew(Date productionDateNew) {
+		this.productionDateNew = productionDateNew;
+	}
+
+	public Date getExpiredDateNew() {
+		return expiredDateNew;
+	}
+
+	public void setExpiredDateNew(Date expiredDateNew) {
+		this.expiredDateNew = expiredDateNew;
+	}
+
+	public String getVendorBatchNumNew() {
+		return vendorBatchNumNew;
+	}
+
+	public void setVendorBatchNumNew(String vendorBatchNumNew) {
+		this.vendorBatchNumNew = vendorBatchNumNew;
+	}
+
+	public String getManufacturerLotNumNew() {
+		return manufacturerLotNumNew;
+	}
+
+	public void setManufacturerLotNumNew(String manufacturerLotNumNew) {
+		this.manufacturerLotNumNew = manufacturerLotNumNew;
+	}
+
+	public BigDecimal getQtyNew() {
+		return qtyNew;
+	}
+
+	public void setQtyNew(BigDecimal qtyNew) {
+		this.qtyNew = qtyNew;
+	}
+
+	public String getUomType() {
+		return uomType;
+	}
+
+	public void setUomType(String uomType) {
+		this.uomType = uomType;
+	}
+
+	public BigDecimal getPieceQtyNew() {
+		return pieceQtyNew;
+	}
+
+	public void setPieceQtyNew(BigDecimal pieceQtyNew) {
+		this.pieceQtyNew = pieceQtyNew;
+	}
+
+	public String getExecutorUser() {
+		return executorUser;
+	}
+
+	public void setExecutorUser(String executorUser) {
+		this.executorUser = executorUser;
+	}
+
+	public Date getExecutorDate() {
+		return executorDate;
+	}
+
+	public void setExecutorDate(Date executorDate) {
+		this.executorDate = executorDate;
+	}
+
+	public String getSrcBillType() {
+		return srcBillType;
+	}
+
+	public void setSrcBillType(String srcBillType) {
+		this.srcBillType = srcBillType;
+	}
+
+	public String getSrcHeaderId() {
+		return srcHeaderId;
+	}
+
+	public void setSrcHeaderId(String srcHeaderId) {
+		this.srcHeaderId = srcHeaderId;
+	}
+
+	public String getSrcLineId() {
+		return srcLineId;
+	}
+
+	public void setSrcLineId(String srcLineId) {
+		this.srcLineId = srcLineId;
+	}
+
+	public String getAsnHeaderId() {
+		return asnHeaderId;
+	}
+
+	public void setAsnHeaderId(String asnHeaderId) {
+		this.asnHeaderId = asnHeaderId;
+	}
+
+	public String getAsnLineId() {
+		return asnLineId;
+	}
+
+	public void setAsnLineId(String asnLineId) {
+		this.asnLineId = asnLineId;
+	}
+
+	public String getContainerCode() {
+		return containerCode;
+	}
+
+	public void setContainerCode(String containerCode) {
+		this.containerCode = containerCode;
+	}
+
+	public String getGoodsCaseCode() {
+		return goodsCaseCode;
+	}
+
+	public void setGoodsCaseCode(String goodsCaseCode) {
+		this.goodsCaseCode = goodsCaseCode;
+	}
+
+	public String getStatus() {
+		return status;
+	}
+
+	public void setStatus(String status) {
+		this.status = status;
+	}
+
+}

+ 523 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/failure/ExceptionLogDTO.java

@@ -0,0 +1,523 @@
+package com.prolog.cs.biz.inbound.dto.failure;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @Description 收货异常日志 数据传输对象
+ * @Author Xiong
+ * @Date 2021-04-02
+ */
+
+@ApiModel
+public class ExceptionLogDTO implements Serializable {
+	private static final long serialVersionUID = 4568865395595120996L;
+	@ApiModelProperty(value = "错误行日志ID(主键雪花id)")
+	// @NotBlank(message = "错误行日志ID(主键雪花id) can not blank!", groups = validEdit.class)
+	private String exceptionLogId;
+
+	@ApiModelProperty(value = "错误行ID", required = true, position = -1)
+	// @NotBlank(message = "错误行ID can not blank!", groups = validAdd.class)
+	private String exceptionLineId;
+
+	@ApiModelProperty(value = "错误单头ID", required = true, position = -1)
+	// @NotBlank(message = "错误单头ID can not blank!", groups = validAdd.class)
+	private String exceptionHeaderId;
+
+	@ApiModelProperty(value = "收货行ID", required = true, position = -1)
+	// @NotBlank(message = "行ID can not blank!", groups = validAdd.class)
+	private String rcvLineId;
+
+	@ApiModelProperty(value = "收货头ID", required = true, position = -1)
+	// @NotBlank(message = "头ID can not blank!", groups = validAdd.class)
+	private String rcvHeaderId;
+
+	@ApiModelProperty(value = "行号", required = true, position = -1)
+	// @NotNull(message = "行号 can not blank!", groups = validAdd.class)
+	private BigDecimal lineNum;
+
+	@ApiModelProperty(value = "货主ID", required = true, position = -1)
+	// @NotBlank(message = "货主ID can not blank!", groups = validAdd.class)
+	private String mtlOwnerId;
+
+	@ApiModelProperty(value = "仓库ID", required = true, position = -1)
+	// @NotBlank(message = "仓库ID can not blank!", groups = validAdd.class)
+	private String warehouseId;
+
+	@ApiModelProperty(value = "商品ID", required = true, position = -1)
+	// @NotBlank(message = "商品ID can not blank!", groups = validAdd.class)
+	private String itemId;
+
+	@ApiModelProperty(value = "旧批号ID", required = true, position = -1)
+	// @NotBlank(message = "旧批号ID can not blank!", groups = validAdd.class)
+	private String batchIdOld;
+
+	@ApiModelProperty(value = "旧批号编码", required = true, position = -1)
+	// @NotBlank(message = "旧批号编码 can not blank!", groups = validAdd.class)
+	private String batchNumOld;
+
+	@ApiModelProperty(value = "旧生产日期", required = true, position = -1)
+	// @NotNull(message = "旧生产日期 can not blank!", groups = validAdd.class)
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date productionDateOld;
+
+	@ApiModelProperty(value = "旧有效期至", required = true, position = -1)
+	// @NotNull(message = "旧有效期至 can not blank!", groups = validAdd.class)
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date expiredDateOld;
+
+	@ApiModelProperty(value = "旧数量", required = true, position = -1)
+	// @NotNull(message = "旧数量 can not blank!", groups = validAdd.class)
+	private BigDecimal qtyOld;
+
+	@ApiModelProperty(value = "旧数量(最小单位)", required = true, position = -1)
+	// @NotNull(message = "旧数量(最小单位) can not blank!", groups = validAdd.class)
+	private BigDecimal pieceQtyOld;
+
+	@ApiModelProperty(value = "包装单位", required = true, position = -1)
+	// @NotBlank(message = "包装单位 can not blank!", groups = validAdd.class)
+	private String uom;
+
+	@ApiModelProperty(value = "包装含量", required = true, position = -1)
+	// @NotNull(message = "包装含量 can not blank!", groups = validAdd.class)
+	private BigDecimal conversionRate;
+
+	@ApiModelProperty(value = "错误发现节点(10收货错误/20质检错误/30复检错误/40上架错误)", required = true, position = -1)
+	// @NotBlank(message = "错误发现节点不可为空!", groups = validAdd.class)
+	private String nodeType;
+
+	@ApiModelProperty(value = "错误节点的任务id", required = true, position = -1)
+	// @NotBlank(message = "错误节点的任务id不可为空!", groups = validAdd.class)
+	private String nodeTaskId;
+
+	@ApiModelProperty(value = "旧供应商批次号")
+	private String vendorBatchNumOld;
+
+	@ApiModelProperty(value = "旧生产商批号")
+	private String manufacturerLotNumOld;
+
+	@ApiModelProperty(value = "容器编码")
+	private String containerCode;
+
+	@ApiModelProperty(value = "货格编码")
+	private String goodsCaseCode;
+
+	@ApiModelProperty(value = "新批号")
+	private String batchIdNew;
+
+	@ApiModelProperty(value = "新批号编码")
+	private String batchNumNew;
+
+	@ApiModelProperty(value = "新生产日期")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date productionDateNew;
+
+	@ApiModelProperty(value = "新有效期至")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date expiredDateNew;
+
+	@ApiModelProperty(value = "新供应商批次号")
+	private String vendorBatchNumNew;
+
+	@ApiModelProperty(value = "新生产商批号")
+	private String manufacturerLotNumNew;
+
+	@ApiModelProperty(value = "新数量")
+	private BigDecimal qtyNew;
+
+	@ApiModelProperty(value = "包装单位类型(2019/2020)新老包装")
+	private String uomType;
+
+	@ApiModelProperty(value = "新数量(最小单位)")
+	private BigDecimal pieceQtyNew;
+
+	@ApiModelProperty(value = "执行者(异常处理人)")
+	private String executorUser;
+
+	@ApiModelProperty(value = "操作时间")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date executorDate;
+
+	@ApiModelProperty(value = "来源单类型")
+	private String srcBillType;
+
+	@ApiModelProperty(value = "来源单头ID(PO/XT/YC)")
+	private String srcHeaderId;
+
+	@ApiModelProperty(value = "来源单ID")
+	private String srcLineId;
+
+	@ApiModelProperty(value = "ASN行ID")
+	private String asnHeaderId;
+
+	@ApiModelProperty(value = "ASN行ID")
+	private String asnLineId;
+
+	@ApiModelProperty(value = "新的显示生产日期", position = -4)
+	private String showProductionDateNew;
+
+	@ApiModelProperty(value = "新的显示有效期至", position = -4)
+	private String showExpiredDateNew;
+
+	@ApiModelProperty(value = "旧的显示生产日期", position = -4)
+	private String showProductionDateOld;
+
+	@ApiModelProperty(value = "旧的显示有效期至", position = -4)
+	private String showExpiredDateOld;
+
+	public String getShowProductionDateNew() {
+		return showProductionDateNew;
+	}
+
+	public void setShowProductionDateNew(String showProductionDateNew) {
+		this.showProductionDateNew = showProductionDateNew;
+	}
+
+	public String getShowExpiredDateNew() {
+		return showExpiredDateNew;
+	}
+
+	public void setShowExpiredDateNew(String showExpiredDateNew) {
+		this.showExpiredDateNew = showExpiredDateNew;
+	}
+
+	public String getShowProductionDateOld() {
+		return showProductionDateOld;
+	}
+
+	public void setShowProductionDateOld(String showProductionDateOld) {
+		this.showProductionDateOld = showProductionDateOld;
+	}
+
+	public String getShowExpiredDateOld() {
+		return showExpiredDateOld;
+	}
+
+	public void setShowExpiredDateOld(String showExpiredDateOld) {
+		this.showExpiredDateOld = showExpiredDateOld;
+	}
+
+	public String getExceptionLogId() {
+		return exceptionLogId;
+	}
+
+	public void setExceptionLogId(String exceptionLogId) {
+		this.exceptionLogId = exceptionLogId;
+	}
+
+	public String getExceptionLineId() {
+		return exceptionLineId;
+	}
+
+	public void setExceptionLineId(String exceptionLineId) {
+		this.exceptionLineId = exceptionLineId;
+	}
+
+	public String getExceptionHeaderId() {
+		return exceptionHeaderId;
+	}
+
+	public void setExceptionHeaderId(String exceptionHeaderId) {
+		this.exceptionHeaderId = exceptionHeaderId;
+	}
+
+	public String getRcvLineId() {
+		return rcvLineId;
+	}
+
+	public void setRcvLineId(String rcvLineId) {
+		this.rcvLineId = rcvLineId;
+	}
+
+	public String getRcvHeaderId() {
+		return rcvHeaderId;
+	}
+
+	public void setRcvHeaderId(String rcvHeaderId) {
+		this.rcvHeaderId = rcvHeaderId;
+	}
+
+	public BigDecimal getLineNum() {
+		return lineNum;
+	}
+
+	public void setLineNum(BigDecimal lineNum) {
+		this.lineNum = lineNum;
+	}
+
+	public String getMtlOwnerId() {
+		return mtlOwnerId;
+	}
+
+	public void setMtlOwnerId(String mtlOwnerId) {
+		this.mtlOwnerId = mtlOwnerId;
+	}
+
+	public String getWarehouseId() {
+		return warehouseId;
+	}
+
+	public void setWarehouseId(String warehouseId) {
+		this.warehouseId = warehouseId;
+	}
+
+	public String getItemId() {
+		return itemId;
+	}
+
+	public void setItemId(String itemId) {
+		this.itemId = itemId;
+	}
+
+	public String getBatchIdOld() {
+		return batchIdOld;
+	}
+
+	public void setBatchIdOld(String batchIdOld) {
+		this.batchIdOld = batchIdOld;
+	}
+
+	public String getBatchNumOld() {
+		return batchNumOld;
+	}
+
+	public void setBatchNumOld(String batchNumOld) {
+		this.batchNumOld = batchNumOld;
+	}
+
+	public Date getProductionDateOld() {
+		return productionDateOld;
+	}
+
+	public void setProductionDateOld(Date productionDateOld) {
+		this.productionDateOld = productionDateOld;
+	}
+
+	public Date getExpiredDateOld() {
+		return expiredDateOld;
+	}
+
+	public void setExpiredDateOld(Date expiredDateOld) {
+		this.expiredDateOld = expiredDateOld;
+	}
+
+	public BigDecimal getQtyOld() {
+		return qtyOld;
+	}
+
+	public void setQtyOld(BigDecimal qtyOld) {
+		this.qtyOld = qtyOld;
+	}
+
+	public BigDecimal getPieceQtyOld() {
+		return pieceQtyOld;
+	}
+
+	public void setPieceQtyOld(BigDecimal pieceQtyOld) {
+		this.pieceQtyOld = pieceQtyOld;
+	}
+
+	public String getUom() {
+		return uom;
+	}
+
+	public void setUom(String uom) {
+		this.uom = uom;
+	}
+
+	public BigDecimal getConversionRate() {
+		return conversionRate;
+	}
+
+	public void setConversionRate(BigDecimal conversionRate) {
+		this.conversionRate = conversionRate;
+	}
+
+	public String getNodeType() {
+		return nodeType;
+	}
+
+	public void setNodeType(String nodeType) {
+		this.nodeType = nodeType;
+	}
+
+	public String getNodeTaskId() {
+		return nodeTaskId;
+	}
+
+	public void setNodeTaskId(String nodeTaskId) {
+		this.nodeTaskId = nodeTaskId;
+	}
+
+	public String getVendorBatchNumOld() {
+		return vendorBatchNumOld;
+	}
+
+	public void setVendorBatchNumOld(String vendorBatchNumOld) {
+		this.vendorBatchNumOld = vendorBatchNumOld;
+	}
+
+	public String getManufacturerLotNumOld() {
+		return manufacturerLotNumOld;
+	}
+
+	public void setManufacturerLotNumOld(String manufacturerLotNumOld) {
+		this.manufacturerLotNumOld = manufacturerLotNumOld;
+	}
+
+	public String getContainerCode() {
+		return containerCode;
+	}
+
+	public void setContainerCode(String containerCode) {
+		this.containerCode = containerCode;
+	}
+
+	public String getGoodsCaseCode() {
+		return goodsCaseCode;
+	}
+
+	public void setGoodsCaseCode(String goodsCaseCode) {
+		this.goodsCaseCode = goodsCaseCode;
+	}
+
+	public String getBatchIdNew() {
+		return batchIdNew;
+	}
+
+	public void setBatchIdNew(String batchIdNew) {
+		this.batchIdNew = batchIdNew;
+	}
+
+	public String getBatchNumNew() {
+		return batchNumNew;
+	}
+
+	public void setBatchNumNew(String batchNumNew) {
+		this.batchNumNew = batchNumNew;
+	}
+
+	public Date getProductionDateNew() {
+		return productionDateNew;
+	}
+
+	public void setProductionDateNew(Date productionDateNew) {
+		this.productionDateNew = productionDateNew;
+	}
+
+	public Date getExpiredDateNew() {
+		return expiredDateNew;
+	}
+
+	public void setExpiredDateNew(Date expiredDateNew) {
+		this.expiredDateNew = expiredDateNew;
+	}
+
+	public String getVendorBatchNumNew() {
+		return vendorBatchNumNew;
+	}
+
+	public void setVendorBatchNumNew(String vendorBatchNumNew) {
+		this.vendorBatchNumNew = vendorBatchNumNew;
+	}
+
+	public String getManufacturerLotNumNew() {
+		return manufacturerLotNumNew;
+	}
+
+	public void setManufacturerLotNumNew(String manufacturerLotNumNew) {
+		this.manufacturerLotNumNew = manufacturerLotNumNew;
+	}
+
+	public BigDecimal getQtyNew() {
+		return qtyNew;
+	}
+
+	public void setQtyNew(BigDecimal qtyNew) {
+		this.qtyNew = qtyNew;
+	}
+
+	public String getUomType() {
+		return uomType;
+	}
+
+	public void setUomType(String uomType) {
+		this.uomType = uomType;
+	}
+
+	public BigDecimal getPieceQtyNew() {
+		return pieceQtyNew;
+	}
+
+	public void setPieceQtyNew(BigDecimal pieceQtyNew) {
+		this.pieceQtyNew = pieceQtyNew;
+	}
+
+	public String getExecutorUser() {
+		return executorUser;
+	}
+
+	public void setExecutorUser(String executorUser) {
+		this.executorUser = executorUser;
+	}
+
+	public Date getExecutorDate() {
+		return executorDate;
+	}
+
+	public void setExecutorDate(Date executorDate) {
+		this.executorDate = executorDate;
+	}
+
+	public String getSrcBillType() {
+		return srcBillType;
+	}
+
+	public void setSrcBillType(String srcBillType) {
+		this.srcBillType = srcBillType;
+	}
+
+	public String getSrcHeaderId() {
+		return srcHeaderId;
+	}
+
+	public void setSrcHeaderId(String srcHeaderId) {
+		this.srcHeaderId = srcHeaderId;
+	}
+
+	public String getSrcLineId() {
+		return srcLineId;
+	}
+
+	public void setSrcLineId(String srcLineId) {
+		this.srcLineId = srcLineId;
+	}
+
+	public String getAsnHeaderId() {
+		return asnHeaderId;
+	}
+
+	public void setAsnHeaderId(String asnHeaderId) {
+		this.asnHeaderId = asnHeaderId;
+	}
+
+	public String getAsnLineId() {
+		return asnLineId;
+	}
+
+	public void setAsnLineId(String asnLineId) {
+		this.asnLineId = asnLineId;
+	}
+
+}

+ 473 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/failure/ExceptionLogQueryDTO.java

@@ -0,0 +1,473 @@
+package com.prolog.cs.biz.inbound.dto.failure;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 异常日志查询返回对象
+ * 
+ * @author Xiong
+ *
+ */
+@ApiModel
+public class ExceptionLogQueryDTO implements Serializable {
+
+	private static final long serialVersionUID = -8014162012242130689L;
+
+	@ApiModelProperty(value = "错误行日志ID(主键雪花id)(隐藏字段)", position = 1)
+	private String exceptionLogId;
+
+	@ApiModelProperty(value = "错误行ID(隐藏字段)", position = 1)
+	private String exceptionLineId;
+
+	@ApiModelProperty(value = "错误单头ID(隐藏字段)", position = 1)
+	private String exceptionHeaderId;
+
+	@ApiModelProperty(value = "收货行ID(隐藏字段)", position = 1)
+	private String rcvLineId;
+
+	@ApiModelProperty(value = "收货头ID(隐藏字段)", position = 1)
+	private String rcvHeaderId;
+
+	@ApiModelProperty(value = "行号")
+	private BigDecimal lineNum;
+
+	@ApiModelProperty(value = "货主ID(隐藏字段)", position = 1)
+	private String mtlOwnerId;
+
+	@ApiModelProperty(value = "仓库ID(隐藏字段)", position = 1)
+	private String warehouseId;
+
+	@ApiModelProperty(value = "商品ID(隐藏字段)", position = 1)
+	private String itemId;
+
+	@ApiModelProperty(value = "旧批次ID")
+	private String batchIdOld;
+
+	@ApiModelProperty(value = "旧批次编码")
+	private String batchNumOld;
+
+	@ApiModelProperty(value = "旧生产日期")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date productionDateOld;
+
+	@ApiModelProperty(value = "旧有效期至")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date expiredDateOld;
+
+	@ApiModelProperty(value = "旧数量")
+	private BigDecimal qtyOld;
+
+	@ApiModelProperty(value = "包装单位")
+	private String uom;
+
+	@ApiModelProperty(value = "包装含量")
+	private BigDecimal conversionRate;
+
+	@ApiModelProperty(value = "错误发现节点(10收货错误/20质检错误/30复检错误/40上架错误)")
+	private String nodeType;
+
+	@ApiModelProperty(value = "错误节点的任务id(隐藏字段)", position = 1)
+	private String nodeTaskId;
+
+	@ApiModelProperty(value = "旧供应商批次号")
+	private String vendorBatchNumOld;
+
+	@ApiModelProperty(value = "旧生产商批号")
+	private String manufacturerLotNumOld;
+
+	@ApiModelProperty(value = "容器编码")
+	private String containerCode;
+
+	@ApiModelProperty(value = "货格编码")
+	private String goodsCaseCode;
+
+	@ApiModelProperty(value = "新批次id号")
+	private String batchIdNew;
+
+	@ApiModelProperty(value = "新批次编码")
+	private String batchNumNew;
+
+	@ApiModelProperty(value = "新生产日期")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date productionDateNew;
+
+	@ApiModelProperty(value = "新有效期至")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date expiredDateNew;
+
+	@ApiModelProperty(value = "新供应商批次号")
+	private String vendorBatchNumNew;
+
+	@ApiModelProperty(value = "新生产商批号")
+	private String manufacturerLotNumNew;
+
+	@ApiModelProperty(value = "新数量")
+	private BigDecimal qtyNew;
+
+	@ApiModelProperty(value = "包装单位类型(2019/2020)新老包装")
+	private String uomType;
+
+	@ApiModelProperty(value = "商品条码(列表展示用)", position = 2)
+	private String itemBarcode;
+
+	@ApiModelProperty(value = "旧数量(最小单位)")
+	private BigDecimal pieceQtyOld;
+
+	@ApiModelProperty(value = "新数量(最小单位)")
+	private BigDecimal pieceQtyNew;
+
+	@ApiModelProperty(value = "执行者(异常处理人)")
+	private String executorUser;
+
+	@ApiModelProperty(value = "操作时间")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date executorDate;
+
+	@ApiModelProperty(value = "来源单类型(隐藏字段)", position = 1)
+	private String srcBillType;
+
+	@ApiModelProperty(value = "来源单头ID(PO/XT/YC)(隐藏字段)", position = 1)
+	private String srcHeaderId;
+
+	@ApiModelProperty(value = "来源单ID(隐藏字段)", position = 1)
+	private String srcLineId;
+
+	@ApiModelProperty(value = "ASN行ID(隐藏字段)", position = 1)
+	private String asnHeaderId;
+
+	@ApiModelProperty(value = "ASN行ID(隐藏字段)", position = 1)
+	private String asnLineId;
+
+	public String getItemBarcode() {
+		return itemBarcode;
+	}
+
+	public void setItemBarcode(String itemBarcode) {
+		this.itemBarcode = itemBarcode;
+	}
+
+	public String getExceptionLogId() {
+		return exceptionLogId;
+	}
+
+	public void setExceptionLogId(String exceptionLogId) {
+		this.exceptionLogId = exceptionLogId;
+	}
+
+	public String getExceptionLineId() {
+		return exceptionLineId;
+	}
+
+	public void setExceptionLineId(String exceptionLineId) {
+		this.exceptionLineId = exceptionLineId;
+	}
+
+	public String getExceptionHeaderId() {
+		return exceptionHeaderId;
+	}
+
+	public void setExceptionHeaderId(String exceptionHeaderId) {
+		this.exceptionHeaderId = exceptionHeaderId;
+	}
+
+	public String getRcvLineId() {
+		return rcvLineId;
+	}
+
+	public void setRcvLineId(String rcvLineId) {
+		this.rcvLineId = rcvLineId;
+	}
+
+	public String getRcvHeaderId() {
+		return rcvHeaderId;
+	}
+
+	public void setRcvHeaderId(String rcvHeaderId) {
+		this.rcvHeaderId = rcvHeaderId;
+	}
+
+	public BigDecimal getLineNum() {
+		return lineNum;
+	}
+
+	public void setLineNum(BigDecimal lineNum) {
+		this.lineNum = lineNum;
+	}
+
+	public String getMtlOwnerId() {
+		return mtlOwnerId;
+	}
+
+	public void setMtlOwnerId(String mtlOwnerId) {
+		this.mtlOwnerId = mtlOwnerId;
+	}
+
+	public String getWarehouseId() {
+		return warehouseId;
+	}
+
+	public void setWarehouseId(String warehouseId) {
+		this.warehouseId = warehouseId;
+	}
+
+	public String getItemId() {
+		return itemId;
+	}
+
+	public void setItemId(String itemId) {
+		this.itemId = itemId;
+	}
+
+	public String getBatchIdOld() {
+		return batchIdOld;
+	}
+
+	public void setBatchIdOld(String batchIdOld) {
+		this.batchIdOld = batchIdOld;
+	}
+
+	public String getBatchNumOld() {
+		return batchNumOld;
+	}
+
+	public void setBatchNumOld(String batchNumOld) {
+		this.batchNumOld = batchNumOld;
+	}
+
+	public Date getProductionDateOld() {
+		return productionDateOld;
+	}
+
+	public void setProductionDateOld(Date productionDateOld) {
+		this.productionDateOld = productionDateOld;
+	}
+
+	public Date getExpiredDateOld() {
+		return expiredDateOld;
+	}
+
+	public void setExpiredDateOld(Date expiredDateOld) {
+		this.expiredDateOld = expiredDateOld;
+	}
+
+	public BigDecimal getQtyOld() {
+		return qtyOld;
+	}
+
+	public void setQtyOld(BigDecimal qtyOld) {
+		this.qtyOld = qtyOld;
+	}
+
+	public String getUom() {
+		return uom;
+	}
+
+	public void setUom(String uom) {
+		this.uom = uom;
+	}
+
+	public BigDecimal getConversionRate() {
+		return conversionRate;
+	}
+
+	public void setConversionRate(BigDecimal conversionRate) {
+		this.conversionRate = conversionRate;
+	}
+
+	public String getNodeType() {
+		return nodeType;
+	}
+
+	public void setNodeType(String nodeType) {
+		this.nodeType = nodeType;
+	}
+
+	public String getNodeTaskId() {
+		return nodeTaskId;
+	}
+
+	public void setNodeTaskId(String nodeTaskId) {
+		this.nodeTaskId = nodeTaskId;
+	}
+
+	public String getVendorBatchNumOld() {
+		return vendorBatchNumOld;
+	}
+
+	public void setVendorBatchNumOld(String vendorBatchNumOld) {
+		this.vendorBatchNumOld = vendorBatchNumOld;
+	}
+
+	public String getManufacturerLotNumOld() {
+		return manufacturerLotNumOld;
+	}
+
+	public void setManufacturerLotNumOld(String manufacturerLotNumOld) {
+		this.manufacturerLotNumOld = manufacturerLotNumOld;
+	}
+
+	public String getContainerCode() {
+		return containerCode;
+	}
+
+	public void setContainerCode(String containerCode) {
+		this.containerCode = containerCode;
+	}
+
+	public String getGoodsCaseCode() {
+		return goodsCaseCode;
+	}
+
+	public void setGoodsCaseCode(String goodsCaseCode) {
+		this.goodsCaseCode = goodsCaseCode;
+	}
+
+	public String getBatchIdNew() {
+		return batchIdNew;
+	}
+
+	public void setBatchIdNew(String batchIdNew) {
+		this.batchIdNew = batchIdNew;
+	}
+
+	public String getBatchNumNew() {
+		return batchNumNew;
+	}
+
+	public void setBatchNumNew(String batchNumNew) {
+		this.batchNumNew = batchNumNew;
+	}
+
+	public Date getProductionDateNew() {
+		return productionDateNew;
+	}
+
+	public void setProductionDateNew(Date productionDateNew) {
+		this.productionDateNew = productionDateNew;
+	}
+
+	public Date getExpiredDateNew() {
+		return expiredDateNew;
+	}
+
+	public void setExpiredDateNew(Date expiredDateNew) {
+		this.expiredDateNew = expiredDateNew;
+	}
+
+	public String getVendorBatchNumNew() {
+		return vendorBatchNumNew;
+	}
+
+	public void setVendorBatchNumNew(String vendorBatchNumNew) {
+		this.vendorBatchNumNew = vendorBatchNumNew;
+	}
+
+	public String getManufacturerLotNumNew() {
+		return manufacturerLotNumNew;
+	}
+
+	public void setManufacturerLotNumNew(String manufacturerLotNumNew) {
+		this.manufacturerLotNumNew = manufacturerLotNumNew;
+	}
+
+	public BigDecimal getQtyNew() {
+		return qtyNew;
+	}
+
+	public void setQtyNew(BigDecimal qtyNew) {
+		this.qtyNew = qtyNew;
+	}
+
+	public String getUomType() {
+		return uomType;
+	}
+
+	public void setUomType(String uomType) {
+		this.uomType = uomType;
+	}
+
+	public BigDecimal getPieceQtyOld() {
+		return pieceQtyOld;
+	}
+
+	public void setPieceQtyOld(BigDecimal pieceQtyOld) {
+		this.pieceQtyOld = pieceQtyOld;
+	}
+
+	public BigDecimal getPieceQtyNew() {
+		return pieceQtyNew;
+	}
+
+	public void setPieceQtyNew(BigDecimal pieceQtyNew) {
+		this.pieceQtyNew = pieceQtyNew;
+	}
+
+	public String getExecutorUser() {
+		return executorUser;
+	}
+
+	public void setExecutorUser(String executorUser) {
+		this.executorUser = executorUser;
+	}
+
+	public Date getExecutorDate() {
+		return executorDate;
+	}
+
+	public void setExecutorDate(Date executorDate) {
+		this.executorDate = executorDate;
+	}
+
+	public String getSrcBillType() {
+		return srcBillType;
+	}
+
+	public void setSrcBillType(String srcBillType) {
+		this.srcBillType = srcBillType;
+	}
+
+	public String getSrcHeaderId() {
+		return srcHeaderId;
+	}
+
+	public void setSrcHeaderId(String srcHeaderId) {
+		this.srcHeaderId = srcHeaderId;
+	}
+
+	public String getSrcLineId() {
+		return srcLineId;
+	}
+
+	public void setSrcLineId(String srcLineId) {
+		this.srcLineId = srcLineId;
+	}
+
+	public String getAsnHeaderId() {
+		return asnHeaderId;
+	}
+
+	public void setAsnHeaderId(String asnHeaderId) {
+		this.asnHeaderId = asnHeaderId;
+	}
+
+	public String getAsnLineId() {
+		return asnLineId;
+	}
+
+	public void setAsnLineId(String asnLineId) {
+		this.asnLineId = asnLineId;
+	}
+
+}

+ 175 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/failure/ExceptionLogQueryVO.java

@@ -0,0 +1,175 @@
+package com.prolog.cs.biz.inbound.dto.failure;
+
+import com.prolog.cs.biz.inbound.dto.PageParam;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 异常日志查询对象
+ * 
+ * @author Xiong
+ *
+ */
+@ApiModel
+public class ExceptionLogQueryVO extends PageParam {
+
+	private static final long serialVersionUID = -1008068976164707117L;
+
+	@ApiModelProperty(value = "企业id(默认当前登录者id)")
+	private String enterpriseId;
+
+	@ApiModelProperty(value = "货主id")
+	private String mtlOwnerId;
+
+	@ApiModelProperty(value = "仓库id")
+	private String warehouseId;
+
+	@ApiModelProperty(value = "收货单头ID")
+	private String rcvHeaderId;
+
+	@ApiModelProperty(value = "收货行ID")
+	private String rcvLineId;
+
+	@ApiModelProperty(value = "异常单主键id")
+	private String exceptionHeaderId;
+
+	@ApiModelProperty(value = "异常行主键id")
+	private String exceptionLineId;
+
+	@ApiModelProperty(value = "商品ID")
+	private String itemId;
+
+	@ApiModelProperty(value = "异常节点(收货10/验收20/质检30/上架40)")
+	private String nodeType;
+
+	@ApiModelProperty(value = "开始时间")
+	private Date startTime;
+
+	@ApiModelProperty(value = "结束时间")
+	private Date endTime;
+
+	@ApiModelProperty(value = "包含主键id列表", hidden = true)
+	private List<String> includeIds;
+
+	@ApiModelProperty(value = "排除主键id列表", hidden = true)
+	private List<String> excludeIds;
+
+	@ApiModelProperty(value = "异常单号(模糊)", hidden = true)
+	private String billNum;
+
+	public String getEnterpriseId() {
+		return enterpriseId;
+	}
+
+	public void setEnterpriseId(String enterpriseId) {
+		this.enterpriseId = enterpriseId;
+	}
+
+	public String getMtlOwnerId() {
+		return mtlOwnerId;
+	}
+
+	public void setMtlOwnerId(String mtlOwnerId) {
+		this.mtlOwnerId = mtlOwnerId;
+	}
+
+	public String getWarehouseId() {
+		return warehouseId;
+	}
+
+	public void setWarehouseId(String warehouseId) {
+		this.warehouseId = warehouseId;
+	}
+
+	public String getRcvHeaderId() {
+		return rcvHeaderId;
+	}
+
+	public void setRcvHeaderId(String rcvHeaderId) {
+		this.rcvHeaderId = rcvHeaderId;
+	}
+
+	public String getRcvLineId() {
+		return rcvLineId;
+	}
+
+	public void setRcvLineId(String rcvLineId) {
+		this.rcvLineId = rcvLineId;
+	}
+
+	public String getExceptionHeaderId() {
+		return exceptionHeaderId;
+	}
+
+	public void setExceptionHeaderId(String exceptionHeaderId) {
+		this.exceptionHeaderId = exceptionHeaderId;
+	}
+
+	public String getExceptionLineId() {
+		return exceptionLineId;
+	}
+
+	public void setExceptionLineId(String exceptionLineId) {
+		this.exceptionLineId = exceptionLineId;
+	}
+
+	public String getItemId() {
+		return itemId;
+	}
+
+	public void setItemId(String itemId) {
+		this.itemId = itemId;
+	}
+
+	public String getNodeType() {
+		return nodeType;
+	}
+
+	public void setNodeType(String nodeType) {
+		this.nodeType = nodeType;
+	}
+
+	public Date getStartTime() {
+		return startTime;
+	}
+
+	public void setStartTime(Date startTime) {
+		this.startTime = startTime;
+	}
+
+	public Date getEndTime() {
+		return endTime;
+	}
+
+	public void setEndTime(Date endTime) {
+		this.endTime = endTime;
+	}
+
+	public List<String> getIncludeIds() {
+		return includeIds;
+	}
+
+	public void setIncludeIds(List<String> includeIds) {
+		this.includeIds = includeIds;
+	}
+
+	public List<String> getExcludeIds() {
+		return excludeIds;
+	}
+
+	public void setExcludeIds(List<String> excludeIds) {
+		this.excludeIds = excludeIds;
+	}
+
+	public String getBillNum() {
+		return billNum;
+	}
+
+	public void setBillNum(String billNum) {
+		this.billNum = billNum;
+	}
+
+}

+ 38 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/failure/RcvErrorDTO.java

@@ -0,0 +1,38 @@
+package com.prolog.cs.biz.inbound.dto.failure;
+
+import com.prolog.cs.biz.inbound.model.failure.InReceivingAbnormalD;
+import com.prolog.cs.biz.inbound.model.failure.InReceivingAbnormalH;
+
+import java.util.List;
+
+/**
+ * 收货异常数据类
+ */
+public class RcvErrorDTO {
+
+    /**
+     * 头单
+     */
+    private InReceivingAbnormalH head;
+
+    /**
+     * 明细
+     */
+    private List<InReceivingAbnormalD> detailList;
+
+    public InReceivingAbnormalH getHead() {
+        return head;
+    }
+
+    public void setHead(InReceivingAbnormalH head) {
+        this.head = head;
+    }
+
+    public List<InReceivingAbnormalD> getDetailList() {
+        return detailList;
+    }
+
+    public void setDetailList(List<InReceivingAbnormalD> detailList) {
+        this.detailList = detailList;
+    }
+}

+ 161 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/failure/RcvErrorQueryVO.java

@@ -0,0 +1,161 @@
+package com.prolog.cs.biz.inbound.dto.failure;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 收货异常查询类
+ */
+public class RcvErrorQueryVO implements Serializable {
+
+	private static final long serialVersionUID = 8841644377665129443L;
+
+	/**
+	 * id集合
+	 */
+	private List<String> includeIds;
+
+	@ApiModelProperty(value = "异常入库单号")
+	private String billno;
+
+	@ApiModelProperty(value = "异常入库单类型")
+	private String billtype;
+
+	@ApiModelProperty(value = "仓库ID")
+	private String branchid;
+
+	@ApiModelProperty(value = "货主ID")
+	private String consignorid;
+
+	@ApiModelProperty(value = "关联业务单编号")
+	private String refbillcode;
+
+	@ApiModelProperty(value = "状态(10:刚生成     20:已审核   30:已下发)")
+	private String status;
+
+	@ApiModelProperty(value = "审核结果(0:驳回     1:通过)")
+	private String auditResult;
+
+	@ApiModelProperty(value = "供应商名称")
+	private String vendorname;
+
+	@ApiModelProperty(value = "开始时间")
+	private Date startDate;
+
+	@ApiModelProperty(value = "结束时间")
+	private Date endDate;
+
+	@ApiModelProperty(value = "页码")
+	private Integer pageNum;
+
+	@ApiModelProperty(value = "每页条数")
+	private Integer pageSize;
+
+	public List<String> getIncludeIds() {
+		return includeIds;
+	}
+
+	public void setIncludeIds(List<String> includeIds) {
+		this.includeIds = includeIds;
+	}
+
+	public String getBillno() {
+		return billno;
+	}
+
+	public void setBillno(String billno) {
+		this.billno = billno;
+	}
+
+	public String getBilltype() {
+		return billtype;
+	}
+
+	public void setBilltype(String billtype) {
+		this.billtype = billtype;
+	}
+
+	public String getBranchid() {
+		return branchid;
+	}
+
+	public void setBranchid(String branchid) {
+		this.branchid = branchid;
+	}
+
+	public String getConsignorid() {
+		return consignorid;
+	}
+
+	public void setConsignorid(String consignorid) {
+		this.consignorid = consignorid;
+	}
+
+	public String getRefbillcode() {
+		return refbillcode;
+	}
+
+	public void setRefbillcode(String refbillcode) {
+		this.refbillcode = refbillcode;
+	}
+
+	public String getStatus() {
+		return status;
+	}
+
+	public void setStatus(String status) {
+		this.status = status;
+	}
+
+	public String getAuditResult() {
+		return auditResult;
+	}
+
+	public void setAuditResult(String auditResult) {
+		this.auditResult = auditResult;
+	}
+
+	public String getVendorname() {
+		return vendorname;
+	}
+
+	public void setVendorname(String vendorname) {
+		this.vendorname = vendorname;
+	}
+
+	public Date getStartDate() {
+		return startDate;
+	}
+
+	public void setStartDate(Date startDate) {
+		this.startDate = startDate;
+	}
+
+	public Date getEndDate() {
+		return endDate;
+	}
+
+	public void setEndDate(Date endDate) {
+		this.endDate = endDate;
+	}
+
+	public Integer getPageNum() {
+		return pageNum;
+	}
+
+	public void setPageNum(Integer pageNum) {
+		this.pageNum = pageNum;
+	}
+
+	public Integer getPageSize() {
+		return pageSize;
+	}
+
+	public void setPageSize(Integer pageSize) {
+		this.pageSize = pageSize;
+	}
+
+}

+ 278 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/print/InstockTaskPrintDTO.java

@@ -0,0 +1,278 @@
+package com.prolog.cs.biz.inbound.dto.print;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 上架标签打印DTO
+ * 
+ * @author Xiong
+ *
+ */
+@ApiModel
+public class InstockTaskPrintDTO implements Serializable {
+
+	private static final long serialVersionUID = -8997598200089141399L;
+	// 商品名称
+	@ApiModelProperty(value = "商品名称")
+	private String itemName;
+	// 商品规格
+	@ApiModelProperty(value = "商品规格说明")
+	private String specification;
+	// 生产厂家
+	@ApiModelProperty(value = "生产厂家名称")
+	private String manufacturerName;
+	// 批号
+	@ApiModelProperty(value = "批号")
+	private String manufacturerLotNum;
+	// 生产日期
+	@ApiModelProperty(value = "生产日期(显示)")
+	private String productionDate;
+	// 有效期至
+	@ApiModelProperty(value = "有效期(显示)")
+	private String expiredDate;
+	// 标签号
+	@ApiModelProperty(value = "上架标签号")
+	private String instockLabel;
+	// 容器号
+	@ApiModelProperty(value = "容器号")
+	private String containerCode;
+	// 打印日期(后端给还是,grid生成)
+	@ApiModelProperty(value = "打印日期")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date printDate;
+	// 件数
+	@ApiModelProperty(value = "包装件数")
+	private BigDecimal caseQty;
+	// 零散数
+	@ApiModelProperty(value = "单品零散数")
+	private BigDecimal oddPieceQty;
+	// 货位楼层
+	@ApiModelProperty(value = "货位楼层")
+	private Integer locatorFloorNum;
+	// 库别名称
+	@ApiModelProperty(value = "库别名称")
+	private String whAreaCategoryName;
+	// 货位编号
+	@ApiModelProperty(value = "库位编码")
+	private String whLocatorCode;
+	// 商品大类
+	@ApiModelProperty(value = "商品分类名")
+	private String categoryName;
+	// 收货员
+	@ApiModelProperty(value = "收货员")
+	private String rcvUser; // 目前被质检员代替
+
+	@ApiModelProperty(value = "货主名")
+	private String mtlOwnerName;
+
+	@ApiModelProperty(value = "商品大类")
+	private String itemCategory;
+
+	@ApiModelProperty(value = "重打标识")
+	private String reFlag;
+	// 账期类型
+	@ApiModelProperty(value = "账期类型")
+	private String saleBillType;
+	// 业务员
+	@ApiModelProperty(value = "账期业务员")
+	private String bizUser;
+	// 部门
+	@ApiModelProperty(value = "部门")
+	private String orgName;
+	// 开票员
+	@ApiModelProperty(value = "开票员")
+	private String drawer;
+
+	public String getSaleBillType() {
+		return saleBillType;
+	}
+
+	public void setSaleBillType(String saleBillType) {
+		this.saleBillType = saleBillType;
+	}
+
+	public String getBizUser() {
+		return bizUser;
+	}
+
+	public void setBizUser(String bizUser) {
+		this.bizUser = bizUser;
+	}
+
+	public String getOrgName() {
+		return orgName;
+	}
+
+	public void setOrgName(String orgName) {
+		this.orgName = orgName;
+	}
+
+	public String getDrawer() {
+		return drawer;
+	}
+
+	public void setDrawer(String drawer) {
+		this.drawer = drawer;
+	}
+
+	public String getReFlag() {
+		return reFlag;
+	}
+
+	public void setReFlag(String reFlag) {
+		this.reFlag = reFlag;
+	}
+
+	public String getItemCategory() {
+		return itemCategory;
+	}
+
+	public void setItemCategory(String itemCategory) {
+		this.itemCategory = itemCategory;
+	}
+
+	public String getMtlOwnerName() {
+		return mtlOwnerName;
+	}
+
+	public void setMtlOwnerName(String mtlOwnerName) {
+		this.mtlOwnerName = mtlOwnerName;
+	}
+
+	public String getItemName() {
+		return itemName;
+	}
+
+	public void setItemName(String itemName) {
+		this.itemName = itemName;
+	}
+
+	public String getSpecification() {
+		return specification;
+	}
+
+	public void setSpecification(String specification) {
+		this.specification = specification;
+	}
+
+	public String getManufacturerName() {
+		return manufacturerName;
+	}
+
+	public void setManufacturerName(String manufacturerName) {
+		this.manufacturerName = manufacturerName;
+	}
+
+	public String getManufacturerLotNum() {
+		return manufacturerLotNum;
+	}
+
+	public void setManufacturerLotNum(String manufacturerLotNum) {
+		this.manufacturerLotNum = manufacturerLotNum;
+	}
+
+	public String getProductionDate() {
+		return productionDate;
+	}
+
+	public void setProductionDate(String productionDate) {
+		this.productionDate = productionDate;
+	}
+
+	public String getExpiredDate() {
+		return expiredDate;
+	}
+
+	public void setExpiredDate(String expiredDate) {
+		this.expiredDate = expiredDate;
+	}
+
+	public String getInstockLabel() {
+		return instockLabel;
+	}
+
+	public void setInstockLabel(String instockLabel) {
+		this.instockLabel = instockLabel;
+	}
+
+	public String getContainerCode() {
+		return containerCode;
+	}
+
+	public void setContainerCode(String containerCode) {
+		this.containerCode = containerCode;
+	}
+
+	public Date getPrintDate() {
+		return printDate;
+	}
+
+	public void setPrintDate(Date printDate) {
+		this.printDate = printDate;
+	}
+
+	public BigDecimal getCaseQty() {
+		return caseQty;
+	}
+
+	public void setCaseQty(BigDecimal caseQty) {
+		this.caseQty = caseQty;
+	}
+
+	public BigDecimal getOddPieceQty() {
+		return oddPieceQty;
+	}
+
+	public void setOddPieceQty(BigDecimal oddPieceQty) {
+		this.oddPieceQty = oddPieceQty;
+	}
+
+	public Integer getLocatorFloorNum() {
+		return locatorFloorNum;
+	}
+
+	public void setLocatorFloorNum(Integer locatorFloorNum) {
+		this.locatorFloorNum = locatorFloorNum;
+	}
+
+	public String getWhAreaCategoryName() {
+		return whAreaCategoryName;
+	}
+
+	public void setWhAreaCategoryName(String whAreaCategoryName) {
+		this.whAreaCategoryName = whAreaCategoryName;
+	}
+
+	public String getWhLocatorCode() {
+		return whLocatorCode;
+	}
+
+	public void setWhLocatorCode(String whLocatorCode) {
+		this.whLocatorCode = whLocatorCode;
+	}
+
+	public String getCategoryName() {
+		return categoryName;
+	}
+
+	public void setCategoryName(String categoryName) {
+		this.categoryName = categoryName;
+	}
+
+	public String getRcvUser() {
+		return rcvUser;
+	}
+
+	public void setRcvUser(String rcvUser) {
+		this.rcvUser = rcvUser;
+	}
+
+}

+ 36 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/print/RcvLinesHeadPrintDTO.java

@@ -0,0 +1,36 @@
+package com.prolog.cs.biz.inbound.dto.print;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 收货(验收)通知单打印报表头
+ * 
+ * @author Xiong
+ *
+ */
+@Data
+public class RcvLinesHeadPrintDTO implements Serializable {
+	private static final long serialVersionUID = 3557749111521296582L;
+	// 单据编号
+	private String autoBillNum;
+	// 采购单号
+	private String asnAutoBillNum;
+	// 货主
+	private String mtlOwnerName;
+	// 供货单位(暂定供应商)
+	private String vendorName;
+	// 供货单位(暂定供应商)
+	private String vendorNum;
+	// 收货日期
+	private String rcvDate;
+	// 收货员
+	private String executorUser;
+	//单据类型
+	private String rcvType;
+	//采购员
+	private String buyerMane;
+	//单据类型名称
+	private String billType;
+}

+ 83 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/print/RcvLinesHeadPrintNewDTO.java

@@ -0,0 +1,83 @@
+package com.prolog.cs.biz.inbound.dto.print;
+
+import java.io.Serializable;
+
+/**
+ * 收货(验收)通知单打印报表头
+ * 
+ * @author Xiong
+ *
+ */
+public class RcvLinesHeadPrintNewDTO implements Serializable {
+	private static final long serialVersionUID = 3557749111521296582L;
+	// 备注
+	private String remark;
+	// 公司名称
+	private String companyName;
+	// 收货单号
+	private String rcvNo;
+	// 仓名称
+	private String warehouseName;
+	// 打印时间
+	private String printDateTime;
+	// 供应商名称
+	private String vendorName;
+	// 联系人电话
+	private String vendorPhone;
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public String getCompanyName() {
+		return companyName;
+	}
+
+	public void setCompanyName(String companyName) {
+		this.companyName = companyName;
+	}
+
+	public String getRcvNo() {
+		return rcvNo;
+	}
+
+	public void setRcvNo(String rcvNo) {
+		this.rcvNo = rcvNo;
+	}
+
+	public String getWarehouseName() {
+		return warehouseName;
+	}
+
+	public void setWarehouseName(String warehouseName) {
+		this.warehouseName = warehouseName;
+	}
+
+	public String getPrintDateTime() {
+		return printDateTime;
+	}
+
+	public void setPrintDateTime(String printDateTime) {
+		this.printDateTime = printDateTime;
+	}
+
+	public String getVendorName() {
+		return vendorName;
+	}
+
+	public void setVendorName(String vendorName) {
+		this.vendorName = vendorName;
+	}
+
+	public String getVendorPhone() {
+		return vendorPhone;
+	}
+
+	public void setVendorPhone(String vendorPhone) {
+		this.vendorPhone = vendorPhone;
+	}
+}

+ 67 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/print/RcvLinesPrintDTO.java

@@ -0,0 +1,67 @@
+package com.prolog.cs.biz.inbound.dto.print;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 收货(验收)通知单明细打印table
+ * 
+ * @author Xiong
+ *
+ */
+@Data
+public class RcvLinesPrintDTO implements Serializable {
+	private static final long serialVersionUID = -6746023450751082673L;
+	// 商品编号
+	private String itemNum;
+	// 产品名称
+	private String itemName;
+	// 规格
+	private String specification;
+	// 生产厂家
+	private String manufacturerName;
+	// 数量
+	private String pieceQty;
+	// 件数
+	private String caseQty;
+	// 零散
+	private String oddPieceQty;
+	// 批号
+	private String manufacturerLotNum;
+	// 生产日期
+	private String productionDate;
+	// 有效期至
+	private String expiredDate;
+	// 收货结论
+	private String stockStatus;
+	// 容器编号
+	private String containerCode;
+	// 包装含量
+	private String conversionRate;
+	//剂型
+	private String itemHealthType;
+	//包装单位
+	private String uom;
+	//上市许可持有人
+	private String itemHealthListedLicensor;
+
+	//产地
+	private String productionPlace;
+
+	//批准文号
+	private String approvalNumber;
+
+	//到货数量
+	private BigDecimal attQty;
+
+	//存储条件
+	private String storeTemperature;
+
+	private String isSupervise;
+
+	private String whAreaCategoryCode;
+
+}

+ 133 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/print/RcvLinesPrintNewDTO.java

@@ -0,0 +1,133 @@
+package com.prolog.cs.biz.inbound.dto.print;
+
+import java.io.Serializable;
+
+/**
+ * 收货(验收)通知单明细打印table
+ * 
+ * @author Xiong
+ *
+ */
+public class RcvLinesPrintNewDTO implements Serializable {
+	private static final long serialVersionUID = -6746023450751082673L;
+	// 商品编号
+	private String itemNum;
+	// 商品名称
+	private String itemName;
+	// 商品规格
+	private String specification;
+	// 生产厂家
+	private String manufacturerName;
+	// 批号
+	private String manufacturerLotNum;
+	// 数量
+	private Double pieceQty;
+	// 件数
+	private Double oddCaseQty;
+	// 零散
+	private Double oddPieceQty;
+	// 生产日期
+	private String productionDate;
+	// 有效期至
+	private String expiredDate;
+	// 包装单位
+	private String uom;
+	// 包装数量
+	private Double conversionRate;
+
+	public String getItemNum() {
+		return itemNum;
+	}
+
+	public void setItemNum(String itemNum) {
+		this.itemNum = itemNum;
+	}
+
+	public String getItemName() {
+		return itemName;
+	}
+
+	public void setItemName(String itemName) {
+		this.itemName = itemName;
+	}
+
+	public String getSpecification() {
+		return specification;
+	}
+
+	public void setSpecification(String specification) {
+		this.specification = specification;
+	}
+
+	public String getManufacturerName() {
+		return manufacturerName;
+	}
+
+	public void setManufacturerName(String manufacturerName) {
+		this.manufacturerName = manufacturerName;
+	}
+
+	public String getManufacturerLotNum() {
+		return manufacturerLotNum;
+	}
+
+	public void setManufacturerLotNum(String manufacturerLotNum) {
+		this.manufacturerLotNum = manufacturerLotNum;
+	}
+
+	public Double getPieceQty() {
+		return pieceQty;
+	}
+
+	public void setPieceQty(Double pieceQty) {
+		this.pieceQty = pieceQty;
+	}
+
+	public Double getOddCaseQty() {
+		return oddCaseQty;
+	}
+
+	public void setOddCaseQty(Double oddCaseQty) {
+		this.oddCaseQty = oddCaseQty;
+	}
+
+	public Double getOddPieceQty() {
+		return oddPieceQty;
+	}
+
+	public void setOddPieceQty(Double oddPieceQty) {
+		this.oddPieceQty = oddPieceQty;
+	}
+
+	public String getProductionDate() {
+		return productionDate;
+	}
+
+	public void setProductionDate(String productionDate) {
+		this.productionDate = productionDate;
+	}
+
+	public String getExpiredDate() {
+		return expiredDate;
+	}
+
+	public void setExpiredDate(String expiredDate) {
+		this.expiredDate = expiredDate;
+	}
+
+	public String getUom() {
+		return uom;
+	}
+
+	public void setUom(String uom) {
+		this.uom = uom;
+	}
+
+	public Double getConversionRate() {
+		return conversionRate;
+	}
+
+	public void setConversionRate(Double conversionRate) {
+		this.conversionRate = conversionRate;
+	}
+}

+ 114 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/print/RqcHzHeadPrintDTO.java

@@ -0,0 +1,114 @@
+package com.prolog.cs.biz.inbound.dto.print;
+
+import java.io.Serializable;
+
+/**
+ * 入库验收汇总单头打印类
+ * 
+ * @author Xiong
+ *
+ */
+public class RqcHzHeadPrintDTO implements Serializable {
+	private static final long serialVersionUID = -105278235686560630L;
+	// 供货单位 (oms中的单位名称/这里先用供应商代替)
+	private String supplyUnit;
+	// 经办部门
+	private String department;
+	// 开票日期
+	private String billDate; // 默认当期时间
+	// 业务员
+	private String bizUser;
+	// 联系人
+	private String linkMan;
+	// 验收员
+	private String rqcMan;
+	// 货主
+	private String mtlOwnerName;
+	// 采购单号
+	private String poNo;
+	// 企业名称
+	private String enterpriseName;
+	// 单据类型
+	private String billType;
+
+	public String getBillType() {
+		return billType;
+	}
+
+	public void setBillType(String billType) {
+		this.billType = billType;
+	}
+
+	public String getSupplyUnit() {
+		return supplyUnit;
+	}
+
+	public void setSupplyUnit(String supplyUnit) {
+		this.supplyUnit = supplyUnit;
+	}
+
+	public String getDepartment() {
+		return department;
+	}
+
+	public void setDepartment(String department) {
+		this.department = department;
+	}
+
+	public String getBillDate() {
+		return billDate;
+	}
+
+	public void setBillDate(String billDate) {
+		this.billDate = billDate;
+	}
+
+	public String getBizUser() {
+		return bizUser;
+	}
+
+	public void setBizUser(String bizUser) {
+		this.bizUser = bizUser;
+	}
+
+	public String getLinkMan() {
+		return linkMan;
+	}
+
+	public void setLinkMan(String linkMan) {
+		this.linkMan = linkMan;
+	}
+
+	public String getRqcMan() {
+		return rqcMan;
+	}
+
+	public void setRqcMan(String rqcMan) {
+		this.rqcMan = rqcMan;
+	}
+
+	public String getMtlOwnerName() {
+		return mtlOwnerName;
+	}
+
+	public void setMtlOwnerName(String mtlOwnerName) {
+		this.mtlOwnerName = mtlOwnerName;
+	}
+
+	public String getPoNo() {
+		return poNo;
+	}
+
+	public void setPoNo(String poNo) {
+		this.poNo = poNo;
+	}
+
+	public String getEnterpriseName() {
+		return enterpriseName;
+	}
+
+	public void setEnterpriseName(String enterpriseName) {
+		this.enterpriseName = enterpriseName;
+	}
+
+}

+ 177 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/print/RqcHzPrintDTO.java

@@ -0,0 +1,177 @@
+package com.prolog.cs.biz.inbound.dto.print;
+
+import java.io.Serializable;
+
+/**
+ * 入库验收汇总table数据打印类
+ * 
+ * @author Xiong
+ *
+ */
+public class RqcHzPrintDTO implements Serializable {
+
+	private static final long serialVersionUID = 1142861088881285792L;
+
+	// 商品条码
+	private String itemCode;
+
+	// 商品名称
+	private String itemName;
+
+	// 商品规格
+	private String specification;
+
+	// 生产厂家
+	private String manufacturerName;
+
+	// 验收结果
+	private String stockStatus;
+
+	// 包装单位
+	private String uom;
+
+	// 包装含量
+	private String conversionRate;
+
+	// 单品总数量
+	private String pieceQty;
+
+	// 件数
+	private String caseQty;
+
+	// 零散
+	private String oddPieceQty;
+
+	// 批号
+	private String manufacturerLotNum;
+	// 生产日期
+	private String productionDate;
+	// 有效期至
+	private String expiredDate;
+	// 商品大类
+	private String categoryName;
+
+	// 退货原因
+	private String rcvRtReason;
+
+	public String getRcvRtReason() {
+		return rcvRtReason;
+	}
+
+	public void setRcvRtReason(String rcvRtReason) {
+		this.rcvRtReason = rcvRtReason;
+	}
+
+	public String getItemCode() {
+		return itemCode;
+	}
+
+	public void setItemCode(String itemCode) {
+		this.itemCode = itemCode;
+	}
+
+	public String getItemName() {
+		return itemName;
+	}
+
+	public void setItemName(String itemName) {
+		this.itemName = itemName;
+	}
+
+	public String getSpecification() {
+		return specification;
+	}
+
+	public void setSpecification(String specification) {
+		this.specification = specification;
+	}
+
+	public String getManufacturerName() {
+		return manufacturerName;
+	}
+
+	public void setManufacturerName(String manufacturerName) {
+		this.manufacturerName = manufacturerName;
+	}
+
+	public String getStockStatus() {
+		return stockStatus;
+	}
+
+	public void setStockStatus(String stockStatus) {
+		this.stockStatus = stockStatus;
+	}
+
+	public String getUom() {
+		return uom;
+	}
+
+	public void setUom(String uom) {
+		this.uom = uom;
+	}
+
+	public String getConversionRate() {
+		return conversionRate;
+	}
+
+	public void setConversionRate(String conversionRate) {
+		this.conversionRate = conversionRate;
+	}
+
+	public String getPieceQty() {
+		return pieceQty;
+	}
+
+	public void setPieceQty(String pieceQty) {
+		this.pieceQty = pieceQty;
+	}
+
+	public String getCaseQty() {
+		return caseQty;
+	}
+
+	public void setCaseQty(String caseQty) {
+		this.caseQty = caseQty;
+	}
+
+	public String getOddPieceQty() {
+		return oddPieceQty;
+	}
+
+	public void setOddPieceQty(String oddPieceQty) {
+		this.oddPieceQty = oddPieceQty;
+	}
+
+	public String getManufacturerLotNum() {
+		return manufacturerLotNum;
+	}
+
+	public void setManufacturerLotNum(String manufacturerLotNum) {
+		this.manufacturerLotNum = manufacturerLotNum;
+	}
+
+	public String getProductionDate() {
+		return productionDate;
+	}
+
+	public void setProductionDate(String productionDate) {
+		this.productionDate = productionDate;
+	}
+
+	public String getExpiredDate() {
+		return expiredDate;
+	}
+
+	public void setExpiredDate(String expiredDate) {
+		this.expiredDate = expiredDate;
+	}
+
+	public String getCategoryName() {
+		return categoryName;
+	}
+
+	public void setCategoryName(String categoryName) {
+		this.categoryName = categoryName;
+	}
+
+}

+ 158 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/print/RqcLinesHeadPrintDTO.java

@@ -0,0 +1,158 @@
+package com.prolog.cs.biz.inbound.dto.print;
+
+import java.io.Serializable;
+
+/**
+ * 质检行明细打印头数据
+ * 
+ * @author Xiong
+ *
+ */
+public class RqcLinesHeadPrintDTO implements Serializable {
+
+	private static final long serialVersionUID = -3918986380684148531L;
+
+	// 供货单位 (供应商?)
+	private String vendorName;
+
+	// 开票日期(质检日期?)
+	private String rqcDate;
+
+	// 联系人(货主下的联系人?)---需远程调用(暂时用采购员代替)
+	private String linkMan;
+
+	// 货主
+	private String mtlOwnerName;
+
+	// 经办部门 ---rqc头表缺失
+	private String orgnName;
+
+	// 业务员(收货员)
+	private String rcvUser;
+
+	// 验收员(质检员)
+	private String rqcUser;
+
+	// 采购单号(asn单号)
+	private String poNum;
+
+	// 企业名称
+	private String enterpriseName;
+
+	// 开票员(当前用户)
+	private String drawer;
+
+	// 账期类型
+	private String paymentType;
+
+	// 备注 收货备注+验收备注
+	private String remark;
+
+	// 单据类型
+	private String billType;
+
+	public String getBillType() {
+		return billType;
+	}
+
+	public void setBillType(String billType) {
+		this.billType = billType;
+	}
+
+	public String getDrawer() {
+		return drawer;
+	}
+
+	public void setDrawer(String drawer) {
+		this.drawer = drawer;
+	}
+
+	public String getPaymentType() {
+		return paymentType;
+	}
+
+	public void setPaymentType(String paymentType) {
+		this.paymentType = paymentType;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public String getEnterpriseName() {
+		return enterpriseName;
+	}
+
+	public void setEnterpriseName(String enterpriseName) {
+		this.enterpriseName = enterpriseName;
+	}
+
+	public String getVendorName() {
+		return vendorName;
+	}
+
+	public void setVendorName(String vendorName) {
+		this.vendorName = vendorName;
+	}
+
+	public String getRqcDate() {
+		return rqcDate;
+	}
+
+	public void setRqcDate(String rqcDate) {
+		this.rqcDate = rqcDate;
+	}
+
+	public String getLinkMan() {
+		return linkMan;
+	}
+
+	public void setLinkMan(String linkMan) {
+		this.linkMan = linkMan;
+	}
+
+	public String getMtlOwnerName() {
+		return mtlOwnerName;
+	}
+
+	public void setMtlOwnerName(String mtlOwnerName) {
+		this.mtlOwnerName = mtlOwnerName;
+	}
+
+	public String getOrgnName() {
+		return orgnName;
+	}
+
+	public void setOrgnName(String orgnName) {
+		this.orgnName = orgnName;
+	}
+
+	public String getRcvUser() {
+		return rcvUser;
+	}
+
+	public void setRcvUser(String rcvUser) {
+		this.rcvUser = rcvUser;
+	}
+
+	public String getRqcUser() {
+		return rqcUser;
+	}
+
+	public void setRqcUser(String rqcUser) {
+		this.rqcUser = rqcUser;
+	}
+
+	public String getPoNum() {
+		return poNum;
+	}
+
+	public void setPoNum(String poNum) {
+		this.poNum = poNum;
+	}
+
+}

+ 235 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/print/RqcLinesPrintDTO.java

@@ -0,0 +1,235 @@
+package com.prolog.cs.biz.inbound.dto.print;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+
+/**
+ * 质检明细打印数据类
+ * 
+ * @author Xiong
+ *
+ */
+public class RqcLinesPrintDTO implements Serializable {
+
+	private static final long serialVersionUID = 1142861084521285792L;
+
+	// 货位
+	private String locatorName;
+
+	// 托盘
+	private String trayBarcode; // 容器?
+
+	// 商品条码
+	private String itemCode;
+
+	// 商品名称
+	private String itemName;
+
+	// 商品规格
+	private String specification;
+
+	// 生产厂家
+	private String manufacturerName;
+
+	// 质检结论
+	private String stockStatus;
+
+	// 包装单位
+	private String uom;
+
+	// 包装含量
+	private String conversionRate;
+
+	// 单品总数量
+	private String pieceQty;
+
+	// 件数
+	private String caseQty;
+
+	// 零散
+	private String oddPieceQty;
+
+	// 批号
+	private String manufacturerLotNum;
+	// 生产日期
+	private String productionDate;
+	// 有效期至
+	private String expiredDate;
+
+	// 退货原因
+	private String rcvRtReason;
+
+	@ApiModelProperty(value = "库别编码", position = 9)
+	private String whAreaCategoryCode;
+
+	@ApiModelProperty(value = "上架任务推荐库区编码", position = -2)
+	private String whAreaCode;
+
+	@ApiModelProperty(value = "上架任务标签", position = -2)
+	private String instockLabel;
+
+	@ApiModelProperty(value = "上架任务推荐货位楼层", position = -2)
+	private String locatorFloorNum;
+
+	public String getWhAreaCode() {
+		return whAreaCode;
+	}
+
+	public void setWhAreaCode(String whAreaCode) {
+		this.whAreaCode = whAreaCode;
+	}
+
+	public String getInstockLabel() {
+		return instockLabel;
+	}
+
+	public void setInstockLabel(String instockLabel) {
+		this.instockLabel = instockLabel;
+	}
+
+	public String getLocatorFloorNum() {
+		return locatorFloorNum;
+	}
+
+	public void setLocatorFloorNum(String locatorFloorNum) {
+		this.locatorFloorNum = locatorFloorNum;
+	}
+
+	public String getWhAreaCategoryCode() {
+		return whAreaCategoryCode;
+	}
+
+	public void setWhAreaCategoryCode(String whAreaCategoryCode) {
+		this.whAreaCategoryCode = whAreaCategoryCode;
+	}
+
+	public String getRcvRtReason() {
+		return rcvRtReason;
+	}
+
+	public void setRcvRtReason(String rcvRtReason) {
+		this.rcvRtReason = rcvRtReason;
+	}
+
+	public String getManufacturerLotNum() {
+		return manufacturerLotNum;
+	}
+
+	public void setManufacturerLotNum(String manufacturerLotNum) {
+		this.manufacturerLotNum = manufacturerLotNum;
+	}
+
+	public String getProductionDate() {
+		return productionDate;
+	}
+
+	public void setProductionDate(String productionDate) {
+		this.productionDate = productionDate;
+	}
+
+	public String getExpiredDate() {
+		return expiredDate;
+	}
+
+	public void setExpiredDate(String expiredDate) {
+		this.expiredDate = expiredDate;
+	}
+
+	public String getLocatorName() {
+		return locatorName;
+	}
+
+	public void setLocatorName(String locatorName) {
+		this.locatorName = locatorName;
+	}
+
+	public String getTrayBarcode() {
+		return trayBarcode;
+	}
+
+	public void setTrayBarcode(String trayBarcode) {
+		this.trayBarcode = trayBarcode;
+	}
+
+	public String getItemCode() {
+		return itemCode;
+	}
+
+	public void setItemCode(String itemCode) {
+		this.itemCode = itemCode;
+	}
+
+	public String getItemName() {
+		return itemName;
+	}
+
+	public void setItemName(String itemName) {
+		this.itemName = itemName;
+	}
+
+	public String getSpecification() {
+		return specification;
+	}
+
+	public void setSpecification(String specification) {
+		this.specification = specification;
+	}
+
+	public String getManufacturerName() {
+		return manufacturerName;
+	}
+
+	public void setManufacturerName(String manufacturerName) {
+		this.manufacturerName = manufacturerName;
+	}
+
+	public String getStockStatus() {
+		return stockStatus;
+	}
+
+	public void setStockStatus(String stockStatus) {
+		this.stockStatus = stockStatus;
+	}
+
+	public String getUom() {
+		return uom;
+	}
+
+	public void setUom(String uom) {
+		this.uom = uom;
+	}
+
+	public String getConversionRate() {
+		return conversionRate;
+	}
+
+	public void setConversionRate(String conversionRate) {
+		this.conversionRate = conversionRate;
+	}
+
+	public String getPieceQty() {
+		return pieceQty;
+	}
+
+	public void setPieceQty(String pieceQty) {
+		this.pieceQty = pieceQty;
+	}
+
+	public String getCaseQty() {
+		return caseQty;
+	}
+
+	public void setCaseQty(String caseQty) {
+		this.caseQty = caseQty;
+	}
+
+	public String getOddPieceQty() {
+		return oddPieceQty;
+	}
+
+	public void setOddPieceQty(String oddPieceQty) {
+		this.oddPieceQty = oddPieceQty;
+	}
+
+}

+ 61 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/CallbackInstockTaskDTO.java

@@ -0,0 +1,61 @@
+package com.prolog.cs.biz.inbound.dto.rcv;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+
+/**
+ * 任务完成返回结果
+ * 
+ * @author Xiong
+ *
+ */
+@ApiModel
+public class CallbackInstockTaskDTO implements Serializable {
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 2767412557978770466L;
+	/**
+	 * 任务id
+	 */
+	@ApiModelProperty(value = "任务id")
+	private String taskId;
+	/**
+	 * 上架完成标识
+	 */
+	@ApiModelProperty(value = "上架完成标识")
+	private boolean completeFlag;
+	/**
+	 * 信息(错误)
+	 */
+	@ApiModelProperty(value = "上架完成标识")
+	private String message;
+
+	public String getTaskId() {
+		return taskId;
+	}
+
+	public void setTaskId(String taskId) {
+		this.taskId = taskId;
+	}
+
+	public boolean isCompleteFlag() {
+		return completeFlag;
+	}
+
+	public void setCompleteFlag(boolean completeFlag) {
+		this.completeFlag = completeFlag;
+	}
+
+	public String getMessage() {
+		return message;
+	}
+
+	public void setMessage(String message) {
+		this.message = message;
+	}
+
+}

+ 87 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/CompleteInstockTaskDTO.java

@@ -0,0 +1,87 @@
+package com.prolog.cs.biz.inbound.dto.rcv;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 完成上架任务类
+ * 
+ * @author Xiong
+ *
+ */
+@ApiModel
+public class CompleteInstockTaskDTO implements Serializable {
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 1354226377760170819L;
+	/**
+	 * 任务id
+	 */
+	@ApiModelProperty(value = "任务id")
+	private String taskId;
+	/**
+	 * 货位id/code
+	 */
+	@ApiModelProperty(value = "货位id")
+	private String locatorId;
+	/**
+	 * 任务状态
+	 */
+	@ApiModelProperty(value = "任务状态")
+	private String status;
+	/**
+	 * 上架数量(最小单位)
+	 */
+	@ApiModelProperty(value = "上架数量")
+	private BigDecimal quantity;
+
+	// 任务包id
+	@ApiModelProperty(value = " 任务包id")
+	private String upperSystemTaskId;
+
+	public String getUpperSystemTaskId() {
+		return upperSystemTaskId;
+	}
+
+	public void setUpperSystemTaskId(String upperSystemTaskId) {
+		this.upperSystemTaskId = upperSystemTaskId;
+	}
+
+	public String getTaskId() {
+		return taskId;
+	}
+
+	public void setTaskId(String taskId) {
+		this.taskId = taskId;
+	}
+
+	public String getLocatorId() {
+		return locatorId;
+	}
+
+	public void setLocatorId(String locatorId) {
+		this.locatorId = locatorId;
+	}
+
+	public String getStatus() {
+		return status;
+	}
+
+	public void setStatus(String status) {
+		this.status = status;
+	}
+
+	public BigDecimal getQuantity() {
+		return quantity;
+	}
+
+	public void setQuantity(BigDecimal quantity) {
+		this.quantity = quantity;
+	}
+
+}

+ 27 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/DeleteTobeConfirmed.java

@@ -0,0 +1,27 @@
+package com.prolog.cs.biz.inbound.dto.rcv;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * <p>
+ * Copyright: Copyright (C) 2020 prolog-int, Inc. All rights reserved.
+ * <p>
+ * Company: 湖北普罗格科技股份有限公司
+ *
+ * @author 刘溢沅
+ * @since 2022-08-22 12:15
+ */
+@Data
+@ApiModel("删除暂存明细入参")
+public class DeleteTobeConfirmed {
+
+    @ApiModelProperty("单据id")
+    private String billId;
+
+    @ApiModelProperty("明细行id")
+    private List<String> asnLineIdList;
+}

+ 76 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/EisInStockWmsResponseDTO.java

@@ -0,0 +1,76 @@
+package com.prolog.cs.biz.inbound.dto.rcv;
+
+import com.prolog.framework.core.annotation.AutoKey;
+import com.prolog.framework.utils.SnowFlakeUtils;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
+public class EisInStockWmsResponseDTO implements Serializable {
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 请求EIS入库任务时,WMS创建并返回的,回告时带过来
+	 */
+	@ApiModelProperty(value = "指令ID(每行唯一)")
+	private String msgId;
+
+	@ApiModelProperty(value = "仓库id")
+	private String warehouseId;
+
+	@ApiModelProperty(value = "企业id")
+	private String enterpriseId;
+
+	@ApiModelProperty(value = "容器编号")
+	private String containerNo;
+
+	@ApiModelProperty(value = "任务ID-推送时按容器生成唯一值,需要回写上架任务表/回库任务表")
+	private String taskId;
+
+	@ApiModelProperty(value = "作业类型")
+	private String workType;
+
+	@ApiModelProperty(value = "业务类型")
+	private String businessType;
+
+	/**
+	 * 四向库:MJZ
+	 * AGV整件药品托盘库:AGVZ
+	 * AGV整件食品托盘库:AGVSP
+	 * AGV整件器械托盘库:AGVQX
+	 * 拆零库:AGVL(包含食品、器械、药品)
+	 *
+	 */
+	@ApiModelProperty(value = "WMS货位(库区)")
+	private String wmslocationCode;
+
+	@ApiModelProperty(value = "源区域(WMS货位)")
+	private String originalArea;
+
+	@ApiModelProperty(value = "源点位(默认空)")
+	private String originalLocation;
+
+	@ApiModelProperty(value = "目标区域(默认空)")
+	private String targetArea;
+
+	@ApiModelProperty(value = "目标点位/支架号")
+	private String targetLocation;
+
+//	@ApiModelProperty(value = "支架号")
+//	private String palletNo;
+
+//	@ApiModelProperty(value = "容器类型")
+//	private String containerType;
+
+	@ApiModelProperty(value = "任务明细")
+	private List<EisInStockWmsResponseDetailDTO> subList;
+
+}

+ 47 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/EisInStockWmsResponseDetailDTO.java

@@ -0,0 +1,47 @@
+package com.prolog.cs.biz.inbound.dto.rcv;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+@Data
+public class EisInStockWmsResponseDetailDTO implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	@ApiModelProperty(value = "货主ID")
+	private String ownerId;
+
+	@ApiModelProperty(value = "物料ID")
+	private String itemId;
+
+	@ApiModelProperty(value = "批次ID")
+	private String lotId;
+
+	@ApiModelProperty(value = "包装ID")
+	private String packId;
+
+	@ApiModelProperty(value = "入库数量")
+	private BigDecimal qty;
+
+	@ApiModelProperty(value = "预留字段1")
+	private String attrStr1;
+
+	@ApiModelProperty(value = "预留字段2")
+	private String attrStr2;
+
+	@ApiModelProperty(value = "预留字段3")
+	private String attrStr3;
+
+	@ApiModelProperty(value = "预留字段4")
+	private String attrStr4;
+
+	@ApiModelProperty(value = "预留字段5")
+	private String attrStr5;
+
+
+
+
+}

+ 79 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/RcvDTO.java

@@ -0,0 +1,79 @@
+package com.prolog.cs.biz.inbound.dto.rcv;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 所有收货信息表
+ * 
+ * @author Xiong
+ *
+ */
+@ApiModel
+public class RcvDTO implements Serializable {
+
+	private static final long serialVersionUID = -1039882737836685734L;
+
+	@ApiModelProperty(value = "收货(入库)主表")
+	@NotNull(message = "主表model不能为空")
+	@Valid
+	private RcvHeadersDTO rcvHeadersDTO;
+
+//	@ApiModelProperty(value = "主表图片列表")
+//	private List<RcvHeadersPicDTO> rcvHeadersPicDTOList;
+
+	@ApiModelProperty(value = "主表拓展属性")
+	private RcvHeadersProfilesDTO rcvHeadersProfilesDTO;
+
+	@ApiModelProperty(value = "收货单对应的源单列表")
+	private List<RcvHeadersSrcBillsDTO> rcvHeadersSrcBillsDTOList;
+
+	@ApiModelProperty(value = "收货行明细列表")
+	private List<RcvLinesDTO> rcvLinesDTOList;
+
+	public RcvHeadersDTO getRcvHeadersDTO() {
+		return rcvHeadersDTO;
+	}
+
+	public void setRcvHeadersDTO(RcvHeadersDTO rcvHeadersDTO) {
+		this.rcvHeadersDTO = rcvHeadersDTO;
+	}
+
+//	public List<RcvHeadersPicDTO> getRcvHeadersPicDTOList() {
+//		return rcvHeadersPicDTOList;
+//	}
+//
+//	public void setRcvHeadersPicDTOList(List<RcvHeadersPicDTO> rcvHeadersPicDTOList) {
+//		this.rcvHeadersPicDTOList = rcvHeadersPicDTOList;
+//	}
+
+	public RcvHeadersProfilesDTO getRcvHeadersProfilesDTO() {
+		return rcvHeadersProfilesDTO;
+	}
+
+	public void setRcvHeadersProfilesDTO(RcvHeadersProfilesDTO rcvHeadersProfilesDTO) {
+		this.rcvHeadersProfilesDTO = rcvHeadersProfilesDTO;
+	}
+
+	public List<RcvHeadersSrcBillsDTO> getRcvHeadersSrcBillsDTOList() {
+		return rcvHeadersSrcBillsDTOList;
+	}
+
+	public void setRcvHeadersSrcBillsDTOList(List<RcvHeadersSrcBillsDTO> rcvHeadersSrcBillsDTOList) {
+		this.rcvHeadersSrcBillsDTOList = rcvHeadersSrcBillsDTOList;
+	}
+
+	public List<RcvLinesDTO> getRcvLinesDTOList() {
+		return rcvLinesDTOList;
+	}
+
+	public void setRcvLinesDTOList(List<RcvLinesDTO> rcvLinesDTOList) {
+		this.rcvLinesDTOList = rcvLinesDTOList;
+	}
+
+}

+ 120 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/RcvDetailsDTO.java

@@ -0,0 +1,120 @@
+package com.prolog.cs.biz.inbound.dto.rcv;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * <p>
+ * Copyright: Copyright (C) 2020 prolog-int, Inc. All rights reserved.
+ * <p>
+ * Company: 湖北普罗格科技股份有限公司
+ *
+ * @author 刘溢沅
+ * @since 2022-08-22 16:28
+ */
+@NoArgsConstructor
+@Data
+public class RcvDetailsDTO {
+    private Object examineState;
+    private Object shipmentDistrictNo;
+    private String mtlOwnerName;
+    private BigDecimal pieceQty;
+    private String pEnterprisename;
+    private Object shipmentCommunityNo;
+    private String createdate;
+    private Object itemCategoryCode;
+    private Object shipArriveTime;
+    private String vendorCode;
+    private BigDecimal remainqty;
+    private Object saleBillNo;
+    private Object closedReason;
+    private Object needUser;
+    private String asnAutoBillNum;
+    private String mtlOwnerNum;
+    private Object saleBillType;
+    private String id;
+    private Object srcBillId;
+    private String rcvType;
+    private BigDecimal totWeight;
+    private String shipperid;
+    private Object orgnId;
+    private Object branchareaid;
+    private Object orgnNum;
+    private Object palletPlacedRule;
+    private String buyerMane;
+    private String srcBillType;
+    private Object customerName;
+    private Object shipmentTownName;
+    private String warehouseId;
+    private String rcvTypeName;
+    private String billno;
+    private String returnType;
+    private String status;
+    private String branchid;
+    private String warehouseAreaCode;
+    private String shipFromAdd;
+    private String asnHeaderId;
+    private String warehouseName;
+    private Object shipmentDistrictName;
+    private String bizUser;
+    private Object delivererContactTel;
+    private String billid;
+    private Object customerId;
+    private Object shipmentProvinceNo;
+    private Object auditDate;
+    private String shippercode;
+    private BigDecimal onPassageDays;
+    private String mtlOwnerId;
+    private Object needDept;
+    private Object srcAutoBillNum;
+    private Object priorityLevel;
+    private String transportationParty;
+    private Object caozy;
+    private BigDecimal caseQty;
+    private Object branchAddress;
+    private Object attainDate;
+    private Object buyerNum;
+    private String enterpriseId;
+    private Object agent;
+    private Object billDate;
+    private BigDecimal taTe;
+    private String vendorId;
+    private Object shipmentCommunityName;
+    private String shipperType;
+    private Object shipmentProvinceName;
+    private Object shipmentTownNo;
+    private Object lastmodifydate;
+    private Object shipLineId;
+    private Object orgName;
+    private Object shipmentCountryName;
+    private Object customerNum;
+    private String vendorName;
+    private String asnRemark;
+    private Object shipmentCityNo;
+    private String consignorid;
+    private Object shipmentCityName;
+    private Object shipType;
+    private Object shipFromDate;
+    private Object shipmentAddress;
+    private Object carriername;
+    private String remark;
+    private String warehouseCode;
+    private Object lastmodifyby;
+    private Object arrivalMode;
+    private Object carrierId;
+    private String createby;
+    private BigDecimal totVolume;
+    private Object rtReason;
+    private String shippername;
+    private Object department;
+    private Object shipperZjm;
+    private String expirationdate;
+    private Object executorUser;
+    private Object shipmentCountryNo;
+    private BigDecimal taTi;
+
+    private List<RcvLineDetailsDTO> rcvLineDetailsDTOS;
+}

+ 33 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/RcvHAndPDTO.java

@@ -0,0 +1,33 @@
+package com.prolog.cs.biz.inbound.dto.rcv;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+@ApiModel
+public class RcvHAndPDTO {
+	
+	@ApiModelProperty(value = "收货(入库)主表")
+	private RcvHeadersDTO rcvHeadersDTO;
+
+	@ApiModelProperty(value = "主表拓展属性")
+	private RcvHeadersProfilesDTO rcvHeadersProfilesDTO;
+
+	public RcvHeadersDTO getRcvHeadersDTO() {
+		return rcvHeadersDTO;
+	}
+
+	public void setRcvHeadersDTO(RcvHeadersDTO rcvHeadersDTO) {
+		this.rcvHeadersDTO = rcvHeadersDTO;
+	}
+
+	public RcvHeadersProfilesDTO getRcvHeadersProfilesDTO() {
+		return rcvHeadersProfilesDTO;
+	}
+
+	public void setRcvHeadersProfilesDTO(RcvHeadersProfilesDTO rcvHeadersProfilesDTO) {
+		this.rcvHeadersProfilesDTO = rcvHeadersProfilesDTO;
+	}
+	
+	
+
+}

+ 832 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/RcvHDTO.java

@@ -0,0 +1,832 @@
+package com.prolog.cs.biz.inbound.dto.rcv;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 收货头列表展示类
+ * 
+ * @author Xiong
+ *
+ */
+@ApiModel
+public class RcvHDTO implements Serializable {
+
+	private static final long serialVersionUID = 6829236531872685503L;
+
+	@ApiModelProperty(value = "asn单号", hidden = true)
+	private String asnAutoBillNum;
+
+	@ApiModelProperty(value = "收货单号", position = -4)
+	private String rcvNo;
+
+	@ApiModelProperty(value = "收货日期")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date rcvDate;
+
+	@ApiModelProperty(value = "收货日期")
+	private String rcvDateStr;
+
+	@ApiModelProperty(value = "仓库名称(查询字段)", position = 1)
+	private String warehouseName;
+
+	@ApiModelProperty(value = "货主名称(查询字段)", position = 1)
+	private String mtlOwnerName;
+
+	@ApiModelProperty(value = "单位名称(查询字段)", position = 1)
+	private String vendorName;
+
+	@ApiModelProperty(value = "订单类型名称")
+	private String rcvTypeName;
+
+	@ApiModelProperty(value = "收货员", position = -4)
+	private String rcvUser;
+
+	@ApiModelProperty(value = "收货备注", position = -4)
+	private String rcvRemark;
+
+	@ApiModelProperty(value = "收货单头ID(主键雪花id)")
+	private String rcvHeaderId;
+
+	@ApiModelProperty(value = "自动单号")
+	private String autoBillNum;
+
+	@ApiModelProperty(value = "手工单号")
+	private String customBillNum;
+
+	@ApiModelProperty(value = "执行者(收货员)")
+	private String executorUser;
+
+	@ApiModelProperty(value = "收货类型")
+	private String rcvType;
+
+	@ApiModelProperty(value = "箱数")
+	private BigDecimal caseQty;
+
+	@ApiModelProperty(value = "单品数量", required = true)
+	private BigDecimal pieceQty;
+
+	@ApiModelProperty(value = "状态")
+	private String status;
+
+	@ApiModelProperty(value = "收货备注")
+	private String comments;
+
+	@ApiModelProperty(value = "审核时间")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date auditDate;
+
+	@ApiModelProperty(value = "打印次数")
+	private BigDecimal printCount;
+
+	@ApiModelProperty(value = "打印日期")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date printDate;
+
+	@ApiModelProperty(value = "审核人名称")
+	private String auditedName;
+
+	@ApiModelProperty(value = "打印人名称")
+	private String printedName;
+
+	@ApiModelProperty(value = "批准人名称")
+	private String confirmedName;
+
+	@ApiModelProperty(value = "批准时间")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date confirmDate;
+
+	@ApiModelProperty(value = "访问级别")
+	private String accessLevel;
+
+	@ApiModelProperty(value = "来源单ID列表(ASN)()", hidden = true)
+	private String asnHeaderId;
+
+	@ApiModelProperty(value = "仓库ID", hidden = true)
+	private String warehouseId;
+
+	@ApiModelProperty(value = "货主ID", hidden = true)
+	private String mtlOwnerId;
+
+	@ApiModelProperty(value = "供应商ID")
+	private String vendorId;
+
+	@ApiModelProperty(value = "来源单ID", hidden = true)
+	private String srcHeaderId;
+
+	@ApiModelProperty(value = "来源单类型", hidden = true)
+	private String srcBillType;
+	// =================================================================
+	// profile字段
+
+	@ApiModelProperty(value = "到货方式(查询字段)", position = 1)
+	private String arrivalMode;
+
+
+	@ApiModelProperty(value = "采购员名称(查询字段)", position = 1)
+	private String buyerMane;
+
+	@ApiModelProperty(value = "客户名称(查询字段)", position = 1)
+	private String customerName;
+
+
+	// ====================6.10新加字段============
+	@ApiModelProperty(value = "asn单备注说明", position = -4)
+	private String asnRemark;
+	@ApiModelProperty(value = "(新)要货部门", position = -4)
+	private String needDept;
+	@ApiModelProperty(value = "(新)要货业务员", position = -4)
+	private String needUser;
+	@ApiModelProperty(value = "(新)代理商", position = -4)
+	private String agent;
+	@ApiModelProperty(value = "(新)货主", position = -4)
+	private String mtlOwnerNum;
+	@ApiModelProperty(value = "(新)asn单号(原单据号)", position = -4)
+	private String asnBillNum;
+
+	@ApiModelProperty(value = "(新)供应商编码", position = -41)
+	private String vendorNum;
+
+	@ApiModelProperty(value = "(新)单位助记码", position = -41)
+	private String shipperZjm;
+
+	@ApiModelProperty(value = "(新)部门编码", position = -41)
+	private String orgnNum;
+
+	// ===============================7.8新加字段 =====================================
+	@ApiModelProperty(value = "(新)运输方", position = -4)
+	private String transportationParty;
+	@ApiModelProperty(value = "运输单位(承运商)")
+	private String carriername;
+	@ApiModelProperty(value = "起运日期")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date shipFromDate;
+	@ApiModelProperty(value = "发运地点")
+	private String shipFromAdd;
+	@ApiModelProperty(value = "(新)在途时限", position = -4)
+	private Integer onPassageDays;
+	@ApiModelProperty(value = "运输方式")
+	private String shipType;
+	@ApiModelProperty(value = "到货温度")
+	private BigDecimal shipArriveTemPerature;
+	@ApiModelProperty(value = "到货时间")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date shipArriveTime;
+	@ApiModelProperty(value = "(新)启运温度", position = -4)
+	private String shipTemPerature;
+	@ApiModelProperty(value = "(新)启运时间", position = -4)
+	private Date shipDate;
+	@ApiModelProperty(value = "(新)设备号,车牌号,冷藏箱号(三取1)", position = -4)
+	private String deviceNo;
+	@ApiModelProperty(value = "(新)温控方式", position = -4)
+	private String tempcontrolMode;
+	@ApiModelProperty(value = "(新)温控方式名称", position = -4)
+	private String tempcontrolModeName;
+	@ApiModelProperty(value = "(新)温控状态", position = -4)
+	private String tempcontrolStatus;
+	@ApiModelProperty(value = "(新)温控状态名称", position = -4)
+	private String tempcontrolStatusName;
+
+
+	@ApiModelProperty(value = "(新)质检单id", position = -4)
+	private String rqcHeaderId;
+	@ApiModelProperty(value = "(新)质检单编号", position = -4)
+	private String rqcNo;
+
+	@ApiModelProperty(value = "(新)质检单时间", position = -4)
+	private Date rqcDate;
+
+	@ApiModelProperty(value = "(新)质检单备注", position = -4)
+	private String rqcRemark;
+	@ApiModelProperty(value = "(新)质检人", position = -4)
+	private String rqcUser;
+	@ApiModelProperty(value = "(新)单位编码", position = -4)
+	private String shipperCode;
+	@ApiModelProperty(value = "(新)单位名称", position = -4)
+	private String shipperName;
+	@ApiModelProperty(value = "(新)质检人2", position = -4)
+	private String rqcUser2;
+
+	@ApiModelProperty(value = "(新)单位id", position = -4)
+	private String shipperid;
+
+	@ApiModelProperty(value = "(新)单位类型", position = -4)
+	private String shipperType;
+
+	@ApiModelProperty(value = "供应商电话", position = -4)
+	private String vendorPhone;
+
+	public String getVendorPhone() {
+		return vendorPhone;
+	}
+
+	public void setVendorPhone(String vendorPhone) {
+		this.vendorPhone = vendorPhone;
+	}
+
+	public String getShipperid() {
+		return shipperid;
+	}
+
+	public void setShipperid(String shipperid) {
+		this.shipperid = shipperid;
+	}
+
+	public String getShipperType() {
+		return shipperType;
+	}
+
+	public void setShipperType(String shipperType) {
+		this.shipperType = shipperType;
+	}
+
+	public String getRqcUser2() {
+		return rqcUser2;
+	}
+
+	public void setRqcUser2(String rqcUser2) {
+		this.rqcUser2 = rqcUser2;
+	}
+
+	public String getShipperCode() {
+		return shipperCode;
+	}
+
+	public void setShipperCode(String shipperCode) {
+		this.shipperCode = shipperCode;
+	}
+
+	public String getShipperName() {
+		return shipperName;
+	}
+
+	public void setShipperName(String shipperName) {
+		this.shipperName = shipperName;
+	}
+
+	public String getRcvRemark() {
+		return rcvRemark;
+	}
+
+	public void setRcvRemark(String rcvRemark) {
+		this.rcvRemark = rcvRemark;
+	}
+
+	public String getRqcHeaderId() {
+		return rqcHeaderId;
+	}
+
+	public void setRqcHeaderId(String rqcHeaderId) {
+		this.rqcHeaderId = rqcHeaderId;
+	}
+
+	public String getRqcNo() {
+		return rqcNo;
+	}
+
+	public void setRqcNo(String rqcNo) {
+		this.rqcNo = rqcNo;
+	}
+
+	public Date getRqcDate() {
+		return rqcDate;
+	}
+
+	public void setRqcDate(Date rqcDate) {
+		this.rqcDate = rqcDate;
+	}
+
+	public String getRqcRemark() {
+		return rqcRemark;
+	}
+
+	public void setRqcRemark(String rqcRemark) {
+		this.rqcRemark = rqcRemark;
+	}
+
+	public String getRqcUser() {
+		return rqcUser;
+	}
+
+	public void setRqcUser(String rqcUser) {
+		this.rqcUser = rqcUser;
+	}
+
+	public String getRcvNo() {
+		return rcvNo;
+	}
+
+	public void setRcvNo(String rcvNo) {
+		this.rcvNo = rcvNo;
+	}
+
+	public String getRcvUser() {
+		return rcvUser;
+	}
+
+	public void setRcvUser(String rcvUser) {
+		this.rcvUser = rcvUser;
+	}
+
+	public String getRcvHeaderId() {
+		return rcvHeaderId;
+	}
+
+	public void setRcvHeaderId(String rcvHeaderId) {
+		this.rcvHeaderId = rcvHeaderId;
+	}
+
+	public String getAutoBillNum() {
+		return autoBillNum;
+	}
+
+	public void setAutoBillNum(String autoBillNum) {
+		this.autoBillNum = autoBillNum;
+	}
+
+	public String getCustomBillNum() {
+		return customBillNum;
+	}
+
+	public void setCustomBillNum(String customBillNum) {
+		this.customBillNum = customBillNum;
+	}
+
+	public String getExecutorUser() {
+		return executorUser;
+	}
+
+	public void setExecutorUser(String executorUser) {
+		this.executorUser = executorUser;
+	}
+
+	public Date getRcvDate() {
+		return rcvDate;
+	}
+
+	public void setRcvDate(Date rcvDate) {
+		this.rcvDate = rcvDate;
+	}
+
+	public String getRcvType() {
+		return rcvType;
+	}
+
+	public void setRcvType(String rcvType) {
+		this.rcvType = rcvType;
+	}
+
+	public BigDecimal getCaseQty() {
+		return caseQty;
+	}
+
+	public void setCaseQty(BigDecimal caseQty) {
+		this.caseQty = caseQty;
+	}
+
+	public BigDecimal getPieceQty() {
+		return pieceQty;
+	}
+
+	public void setPieceQty(BigDecimal pieceQty) {
+		this.pieceQty = pieceQty;
+	}
+
+	public String getStatus() {
+		return status;
+	}
+
+	public void setStatus(String status) {
+		this.status = status;
+	}
+
+	public String getComments() {
+		return comments;
+	}
+
+	public void setComments(String comments) {
+		this.comments = comments;
+	}
+
+	public Date getAuditDate() {
+		return auditDate;
+	}
+
+	public void setAuditDate(Date auditDate) {
+		this.auditDate = auditDate;
+	}
+
+	public BigDecimal getPrintCount() {
+		return printCount;
+	}
+
+	public void setPrintCount(BigDecimal printCount) {
+		this.printCount = printCount;
+	}
+
+	public Date getPrintDate() {
+		return printDate;
+	}
+
+	public void setPrintDate(Date printDate) {
+		this.printDate = printDate;
+	}
+
+	public String getAuditedName() {
+		return auditedName;
+	}
+
+	public void setAuditedName(String auditedName) {
+		this.auditedName = auditedName;
+	}
+
+	public String getPrintedName() {
+		return printedName;
+	}
+
+	public void setPrintedName(String printedName) {
+		this.printedName = printedName;
+	}
+
+	public String getConfirmedName() {
+		return confirmedName;
+	}
+
+	public void setConfirmedName(String confirmedName) {
+		this.confirmedName = confirmedName;
+	}
+
+	public Date getConfirmDate() {
+		return confirmDate;
+	}
+
+	public void setConfirmDate(Date confirmDate) {
+		this.confirmDate = confirmDate;
+	}
+
+	public String getAccessLevel() {
+		return accessLevel;
+	}
+
+	public void setAccessLevel(String accessLevel) {
+		this.accessLevel = accessLevel;
+	}
+
+	public String getAsnHeaderId() {
+		return asnHeaderId;
+	}
+
+	public void setAsnHeaderId(String asnHeaderId) {
+		this.asnHeaderId = asnHeaderId;
+	}
+
+	public String getWarehouseId() {
+		return warehouseId;
+	}
+
+	public void setWarehouseId(String warehouseId) {
+		this.warehouseId = warehouseId;
+	}
+
+	public String getMtlOwnerId() {
+		return mtlOwnerId;
+	}
+
+	public void setMtlOwnerId(String mtlOwnerId) {
+		this.mtlOwnerId = mtlOwnerId;
+	}
+
+	public String getVendorId() {
+		return vendorId;
+	}
+
+	public void setVendorId(String vendorId) {
+		this.vendorId = vendorId;
+	}
+
+	public String getSrcHeaderId() {
+		return srcHeaderId;
+	}
+
+	public void setSrcHeaderId(String srcHeaderId) {
+		this.srcHeaderId = srcHeaderId;
+	}
+
+	public String getSrcBillType() {
+		return srcBillType;
+	}
+
+	public void setSrcBillType(String srcBillType) {
+		this.srcBillType = srcBillType;
+	}
+
+	public String getArrivalMode() {
+		return arrivalMode;
+	}
+
+	public void setArrivalMode(String arrivalMode) {
+		this.arrivalMode = arrivalMode;
+	}
+
+	public String getVendorName() {
+		return vendorName;
+	}
+
+	public void setVendorName(String vendorName) {
+		this.vendorName = vendorName;
+	}
+
+	public String getWarehouseName() {
+		return warehouseName;
+	}
+
+	public void setWarehouseName(String warehouseName) {
+		this.warehouseName = warehouseName;
+	}
+
+	public String getBuyerMane() {
+		return buyerMane;
+	}
+
+	public void setBuyerMane(String buyerMane) {
+		this.buyerMane = buyerMane;
+	}
+
+	public String getCustomerName() {
+		return customerName;
+	}
+
+	public void setCustomerName(String customerName) {
+		this.customerName = customerName;
+	}
+
+	public String getMtlOwnerName() {
+		return mtlOwnerName;
+	}
+
+	public void setMtlOwnerName(String mtlOwnerName) {
+		this.mtlOwnerName = mtlOwnerName;
+	}
+
+	public String getAsnAutoBillNum() {
+		return asnAutoBillNum;
+	}
+
+	public void setAsnAutoBillNum(String asnAutoBillNum) {
+		this.asnAutoBillNum = asnAutoBillNum;
+	}
+
+	public String getAsnRemark() {
+		return asnRemark;
+	}
+
+	public void setAsnRemark(String asnRemark) {
+		this.asnRemark = asnRemark;
+	}
+
+	public String getNeedDept() {
+		return needDept;
+	}
+
+	public void setNeedDept(String needDept) {
+		this.needDept = needDept;
+	}
+
+	public String getNeedUser() {
+		return needUser;
+	}
+
+	public void setNeedUser(String needUser) {
+		this.needUser = needUser;
+	}
+
+	public String getAgent() {
+		return agent;
+	}
+
+	public void setAgent(String agent) {
+		this.agent = agent;
+	}
+
+	public String getMtlOwnerNum() {
+		return mtlOwnerNum;
+	}
+
+	public void setMtlOwnerNum(String mtlOwnerNum) {
+		this.mtlOwnerNum = mtlOwnerNum;
+	}
+
+	public String getAsnBillNum() {
+		return asnBillNum;
+	}
+
+	public void setAsnBillNum(String asnBillNum) {
+		this.asnBillNum = asnBillNum;
+	}
+
+	public String getVendorNum() {
+		return vendorNum;
+	}
+
+	public void setVendorNum(String vendorNum) {
+		this.vendorNum = vendorNum;
+	}
+
+	public String getShipperZjm() {
+		return shipperZjm;
+	}
+
+	public void setShipperZjm(String shipperZjm) {
+		this.shipperZjm = shipperZjm;
+	}
+
+	public String getOrgnNum() {
+		return orgnNum;
+	}
+
+	public void setOrgnNum(String orgnNum) {
+		this.orgnNum = orgnNum;
+	}
+
+	public String getTransportationParty() {
+		return transportationParty;
+	}
+
+	public void setTransportationParty(String transportationParty) {
+		this.transportationParty = transportationParty;
+	}
+
+	public String getCarriername() {
+		return carriername;
+	}
+
+	public void setCarriername(String carriername) {
+		this.carriername = carriername;
+	}
+
+	public Date getShipFromDate() {
+		return shipFromDate;
+	}
+
+	public void setShipFromDate(Date shipFromDate) {
+		this.shipFromDate = shipFromDate;
+	}
+
+	public String getShipFromAdd() {
+		return shipFromAdd;
+	}
+
+	public void setShipFromAdd(String shipFromAdd) {
+		this.shipFromAdd = shipFromAdd;
+	}
+
+	public Integer getOnPassageDays() {
+		return onPassageDays;
+	}
+
+	public void setOnPassageDays(Integer onPassageDays) {
+		this.onPassageDays = onPassageDays;
+	}
+
+	public String getShipType() {
+		return shipType;
+	}
+
+	public void setShipType(String shipType) {
+		this.shipType = shipType;
+	}
+
+	public BigDecimal getShipArriveTemPerature() {
+		return shipArriveTemPerature;
+	}
+
+	public void setShipArriveTemPerature(BigDecimal shipArriveTemPerature) {
+		this.shipArriveTemPerature = shipArriveTemPerature;
+	}
+
+	public Date getShipArriveTime() {
+		return shipArriveTime;
+	}
+
+	public void setShipArriveTime(Date shipArriveTime) {
+		this.shipArriveTime = shipArriveTime;
+	}
+
+	public String getShipTemPerature() {
+		return shipTemPerature;
+	}
+
+	public void setShipTemPerature(String shipTemPerature) {
+		this.shipTemPerature = shipTemPerature;
+	}
+
+	public Date getShipDate() {
+		return shipDate;
+	}
+
+	public void setShipDate(Date shipDate) {
+		this.shipDate = shipDate;
+	}
+
+	public String getDeviceNo() {
+		return deviceNo;
+	}
+
+	public void setDeviceNo(String deviceNo) {
+		this.deviceNo = deviceNo;
+	}
+
+	public String getTempcontrolMode() {
+		return tempcontrolMode;
+	}
+
+	public void setTempcontrolMode(String tempcontrolMode) {
+		this.tempcontrolMode = tempcontrolMode;
+	}
+
+	public String getTempcontrolStatus() {
+		return tempcontrolStatus;
+	}
+
+	public void setTempcontrolStatus(String tempcontrolStatus) {
+		this.tempcontrolStatus = tempcontrolStatus;
+	}
+
+	public String getRcvTypeName() {
+		return rcvTypeName;
+	}
+
+	public void setRcvTypeName(String rcvTypeName) {
+		this.rcvTypeName = rcvTypeName;
+	}
+
+	public String getTempcontrolModeName() {
+		return tempcontrolModeName;
+	}
+
+	public void setTempcontrolModeName(String tempcontrolModeName) {
+		this.tempcontrolModeName = tempcontrolModeName;
+	}
+
+	public String getTempcontrolStatusName() {
+		return tempcontrolStatusName;
+	}
+
+	public void setTempcontrolStatusName(String tempcontrolStatusName) {
+		this.tempcontrolStatusName = tempcontrolStatusName;
+	}
+
+	public String getRcvDateStr() {
+		return rcvDateStr;
+	}
+
+	public void setRcvDateStr(String rcvDateStr) {
+		this.rcvDateStr = rcvDateStr;
+	}
+	//
+//	@ApiModelProperty(value = "来源单号列表")
+//	private String srcAutoBillNum;
+//
+//	@ApiModelProperty(value = "来源单号列表(ASN)")
+//	private String asnAutoBillNum;
+//	@ApiModelProperty(value = "采购员ID")
+//	private String buyerId;
+//	@ApiModelProperty(value = "打印人")
+//	private String printedBy;
+//	@ApiModelProperty(value = "audited_by")
+//	private String auditedBy;
+//	@ApiModelProperty(value = "批准人id")
+//	private String confirmedBy;
+//
+//	@ApiModelProperty(value = "status_as(辅助状态,外部系统对接 例如上传ERP)")
+//	private String statusAs;
+//
+//	@ApiModelProperty(value = "组织ID")
+//	private String orgnId;
+//	@ApiModelProperty(value = "客户ID(销退客户ID)XT")
+//	private String customerId;
+//
+//	@ApiModelProperty(value = "源组织ID(调拨组织ID)    YC")
+//	private String srcOrgnId;
+//
+//	@ApiModelProperty(value = "源仓库ID(调拨源仓ID)    YC")
+//	private String srcWarehouseId;
+//
+//	@ApiModelProperty(value = "源货主ID(移库入库的源货主ID)")
+//	private String srcMtlOwnerId;
+//	@ApiModelProperty(value = "access_level")
+//	private String accessLevel;
+
+}

+ 618 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/RcvHeadersDTO.java

@@ -0,0 +1,618 @@
+package com.prolog.cs.biz.inbound.dto.rcv;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validAdd;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validEdit;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @Description 收货单头信息
+ * @Author Xiong
+ * @Date 2021-04-02
+ */
+
+@ApiModel
+public class RcvHeadersDTO implements Serializable {
+	private static final long serialVersionUID = 5887242208659820034L;
+	@ApiModelProperty(value = "单头ID(主键雪花id)", required = true)
+	@NotBlank(message = "单头ID(主键雪花id) can not blank!", groups = validEdit.class)
+	private String rcvHeaderId;
+
+	@ApiModelProperty(value = "货主ID", required = true)
+	@NotBlank(message = "货主ID can not blank!", groups = validAdd.class)
+	private String mtlOwnerId;
+
+	@ApiModelProperty(value = "自动单号", required = true)
+//	@NotBlank(message = "自动单号 can not blank!", groups = validAdd.class)
+	private String autoBillNum;
+
+	@ApiModelProperty(value = "来源单ID列表")
+	private String srcHeaderId;
+
+	@ApiModelProperty(value = "来源单号列表")
+	private String srcAutoBillNum;
+
+	@ApiModelProperty(value = "来源单ID列表(ASN)")
+	private String asnHeaderId;
+
+	@ApiModelProperty(value = "来源单号列表(ASN)")
+	private String asnAutoBillNum;
+
+	@ApiModelProperty(value = "手工单号")
+	private String customBillNum;
+
+	@ApiModelProperty(value = "执行者(收货员)")
+	private String executorUser;
+
+	@ApiModelProperty(value = "收货日期", required = true)
+	@NotNull(message = "收货日期 can not blank!", groups = validAdd.class)
+	// @Past(message = "收货日期 can not greater than now!", groups = validAdd.class)
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date rcvDate;
+
+	@ApiModelProperty(value = "收货类型", required = true)
+	@NotBlank(message = "收货类型 can not blank!", groups = validAdd.class)
+	private String rcvType;
+
+	@ApiModelProperty(value = "状态")
+//	@NotBlank(message = "状态 can not blank!", groups = validAdd.class)
+	private String status;
+
+	@ApiModelProperty(value = "status_as(辅助状态,外部系统对接 例如上传ERP)")
+	private String statusAs;
+
+	@ApiModelProperty(value = "组织ID")
+	private String orgnId;
+
+	@ApiModelProperty(value = "供应商ID")
+//	@NotBlank(message = "供应商ID can not blank!", groups = validAdd.class)
+	private String vendorId;
+
+	@ApiModelProperty(value = "仓库ID", required = true)
+	@NotBlank(message = "仓库ID can not blank!", groups = validAdd.class)
+	private String warehouseId;
+
+	@ApiModelProperty(value = "采购员ID")
+	private String buyerId;
+
+	@ApiModelProperty(value = "客户ID(销退客户ID)XT")
+	private String customerId;
+
+	@ApiModelProperty(value = "源组织ID(调拨组织ID)    YC")
+	private String srcOrgnId;
+
+	@ApiModelProperty(value = "源仓库ID(调拨源仓ID)    YC")
+	private String srcWarehouseId;
+
+	@ApiModelProperty(value = "源货主ID(移库入库的源货主ID)")
+	private String srcMtlOwnerId;
+
+	@ApiModelProperty(value = "箱数", required = true)
+	@NotNull(message = "箱数 can not blank!", groups = validAdd.class)
+	private BigDecimal caseQty;
+
+	@ApiModelProperty(value = "单品数量", required = true)
+	@NotNull(message = "单品数量 can not blank!", groups = validAdd.class)
+	private BigDecimal pieceQty;
+
+	@ApiModelProperty(value = "access_level")
+//	@NotBlank(message = "access_level can not blank!", groups = validAdd.class)
+	private String accessLevel;
+
+	@ApiModelProperty(value = "备注")
+	private String comments;
+
+	@ApiModelProperty(value = "audit_date")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date auditDate;
+
+	@ApiModelProperty(value = "audited_by")
+	private String auditedBy;
+
+	@ApiModelProperty(value = "打印次数")
+	private BigDecimal printCount;
+
+	@ApiModelProperty(value = "打印日期")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date printDate;
+
+	@ApiModelProperty(value = "打印人")
+	private String printedBy;
+
+	@ApiModelProperty(value = "audited_name")
+	private String auditedName;
+
+	@ApiModelProperty(value = "printed_name")
+	private String printedName;
+
+	@ApiModelProperty(value = "批准人id")
+	private String confirmedBy;
+
+	@ApiModelProperty(value = "批准人名称")
+	private String confirmedName;
+
+	@ApiModelProperty(value = "批准时间")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date confirmDate;
+
+	@ApiModelProperty(value = "来源单类型")
+	private String srcBillType;
+
+	// ====================6.10新加字段============
+	@ApiModelProperty(value = "asn单备注说明", position = -4)
+	private String asnRemark;
+	@ApiModelProperty(value = "(新)要货部门", position = -4)
+	private String needDept;
+	@ApiModelProperty(value = "(新)要货业务员", position = -4)
+	private String needUser;
+	@ApiModelProperty(value = "(新)代理商", position = -4)
+	private String agent;
+
+	// ====================6.11新加字段============
+	// 销退入库专用字段
+	// 销售开票单号
+	@ApiModelProperty(value = "(新)销售开票单号", position = -4)
+	private String saleBillNo;
+	// 账期类型
+	@ApiModelProperty(value = "(新)账期类型", position = -4)
+	private String saleBillType;
+	// 部门
+	@ApiModelProperty(value = "(新)部门(名称)", position = -4)
+	private String department;
+	// 业务员、
+	@ApiModelProperty(value = "(新)业务员", position = -4)
+	private String bizUser;
+	// 退货类型
+	@ApiModelProperty(value = "(新)退货类型(码表-rcv_return_type)", position = -4)
+	private String returnType;
+	// 单位助记码
+	@ApiModelProperty(value = "(新)单位助记码", position = -4)
+	private String shipperZjm;
+
+	private boolean autoGen; // 是否自动生成数据
+
+	// 代管转正常标识
+	// 代管转待检标识
+	@ApiModelProperty(value = "(新)收货员1id", position = -40)
+	private String rcvUserId1;
+
+	@ApiModelProperty(value = "(新)收货员1名称", position = -40)
+	private String rcvUserName1;
+
+	@ApiModelProperty(value = "(新)收货员2id", position = -40)
+	private String rcvUserId2;
+
+	@ApiModelProperty(value = "(新)收货员2名称", position = -40)
+	private String rcvUserName2;
+
+	@ApiModelProperty(value = "到货方式", position = -40)
+	private String arrivalMode;
+
+	public String getRcvUserId1() {
+		return rcvUserId1;
+	}
+
+	public void setRcvUserId1(String rcvUserId1) {
+		this.rcvUserId1 = rcvUserId1;
+	}
+
+	public String getRcvUserName1() {
+		return rcvUserName1;
+	}
+
+	public void setRcvUserName1(String rcvUserName1) {
+		this.rcvUserName1 = rcvUserName1;
+	}
+
+	public String getRcvUserId2() {
+		return rcvUserId2;
+	}
+
+	public void setRcvUserId2(String rcvUserId2) {
+		this.rcvUserId2 = rcvUserId2;
+	}
+
+	public String getRcvUserName2() {
+		return rcvUserName2;
+	}
+
+	public void setRcvUserName2(String rcvUserName2) {
+		this.rcvUserName2 = rcvUserName2;
+	}
+
+	public boolean getAutoGen() {
+		return autoGen;
+	}
+
+	public void setAutoGen(boolean autoGen) {
+		this.autoGen = autoGen;
+	}
+
+	public String getShipperZjm() {
+		return shipperZjm;
+	}
+
+	public void setShipperZjm(String shipperZjm) {
+		this.shipperZjm = shipperZjm;
+	}
+
+	public String getSaleBillNo() {
+		return saleBillNo;
+	}
+
+	public void setSaleBillNo(String saleBillNo) {
+		this.saleBillNo = saleBillNo;
+	}
+
+	public String getSaleBillType() {
+		return saleBillType;
+	}
+
+	public void setSaleBillType(String saleBillType) {
+		this.saleBillType = saleBillType;
+	}
+
+	public String getDepartment() {
+		return department;
+	}
+
+	public void setDepartment(String department) {
+		this.department = department;
+	}
+
+	public String getBizUser() {
+		return bizUser;
+	}
+
+	public void setBizUser(String bizUser) {
+		this.bizUser = bizUser;
+	}
+
+	public String getReturnType() {
+		return returnType;
+	}
+
+	public void setReturnType(String returnType) {
+		this.returnType = returnType;
+	}
+
+	public String getNeedDept() {
+		return needDept;
+	}
+
+	public void setNeedDept(String needDept) {
+		this.needDept = needDept;
+	}
+
+	public String getNeedUser() {
+		return needUser;
+	}
+
+	public void setNeedUser(String needUser) {
+		this.needUser = needUser;
+	}
+
+	public String getAgent() {
+		return agent;
+	}
+
+	public void setAgent(String agent) {
+		this.agent = agent;
+	}
+
+	public String getAsnRemark() {
+		return asnRemark;
+	}
+
+	public void setAsnRemark(String asnRemark) {
+		this.asnRemark = asnRemark;
+	}
+
+	public String getRcvHeaderId() {
+		return this.rcvHeaderId;
+	}
+
+	public void setRcvHeaderId(String rcvHeaderId) {
+		this.rcvHeaderId = rcvHeaderId;
+	}
+
+	public String getMtlOwnerId() {
+		return this.mtlOwnerId;
+	}
+
+	public void setMtlOwnerId(String mtlOwnerId) {
+		this.mtlOwnerId = mtlOwnerId;
+	}
+
+	public String getAutoBillNum() {
+		return this.autoBillNum;
+	}
+
+	public void setAutoBillNum(String autoBillNum) {
+		this.autoBillNum = autoBillNum;
+	}
+
+	public String getSrcHeaderId() {
+		return this.srcHeaderId;
+	}
+
+	public void setSrcHeaderId(String srcHeaderId) {
+		this.srcHeaderId = srcHeaderId;
+	}
+
+	public String getSrcAutoBillNum() {
+		return this.srcAutoBillNum;
+	}
+
+	public void setSrcAutoBillNum(String srcAutoBillNum) {
+		this.srcAutoBillNum = srcAutoBillNum;
+	}
+
+	public String getAsnHeaderId() {
+		return this.asnHeaderId;
+	}
+
+	public void setAsnHeaderId(String asnHeaderId) {
+		this.asnHeaderId = asnHeaderId;
+	}
+
+	public String getAsnAutoBillNum() {
+		return this.asnAutoBillNum;
+	}
+
+	public void setAsnAutoBillNum(String asnAutoBillNum) {
+		this.asnAutoBillNum = asnAutoBillNum;
+	}
+
+	public String getCustomBillNum() {
+		return this.customBillNum;
+	}
+
+	public void setCustomBillNum(String customBillNum) {
+		this.customBillNum = customBillNum;
+	}
+
+	public String getExecutorUser() {
+		return this.executorUser;
+	}
+
+	public void setExecutorUser(String executorUser) {
+		this.executorUser = executorUser;
+	}
+
+	public Date getRcvDate() {
+		return this.rcvDate;
+	}
+
+	public void setRcvDate(Date rcvDate) {
+		this.rcvDate = rcvDate;
+	}
+
+	public String getRcvType() {
+		return this.rcvType;
+	}
+
+	public void setRcvType(String rcvType) {
+		this.rcvType = rcvType;
+	}
+
+	public String getStatus() {
+		return this.status;
+	}
+
+	public void setStatus(String status) {
+		this.status = status;
+	}
+
+	public String getStatusAs() {
+		return this.statusAs;
+	}
+
+	public void setStatusAs(String statusAs) {
+		this.statusAs = statusAs;
+	}
+
+	public String getOrgnId() {
+		return this.orgnId;
+	}
+
+	public void setOrgnId(String orgnId) {
+		this.orgnId = orgnId;
+	}
+
+	public String getVendorId() {
+		return this.vendorId;
+	}
+
+	public void setVendorId(String vendorId) {
+		this.vendorId = vendorId;
+	}
+
+	public String getWarehouseId() {
+		return this.warehouseId;
+	}
+
+	public void setWarehouseId(String warehouseId) {
+		this.warehouseId = warehouseId;
+	}
+
+	public String getBuyerId() {
+		return this.buyerId;
+	}
+
+	public void setBuyerId(String buyerId) {
+		this.buyerId = buyerId;
+	}
+
+	public String getCustomerId() {
+		return this.customerId;
+	}
+
+	public void setCustomerId(String customerId) {
+		this.customerId = customerId;
+	}
+
+	public String getSrcOrgnId() {
+		return this.srcOrgnId;
+	}
+
+	public void setSrcOrgnId(String srcOrgnId) {
+		this.srcOrgnId = srcOrgnId;
+	}
+
+	public String getSrcWarehouseId() {
+		return this.srcWarehouseId;
+	}
+
+	public void setSrcWarehouseId(String srcWarehouseId) {
+		this.srcWarehouseId = srcWarehouseId;
+	}
+
+	public String getSrcMtlOwnerId() {
+		return this.srcMtlOwnerId;
+	}
+
+	public void setSrcMtlOwnerId(String srcMtlOwnerId) {
+		this.srcMtlOwnerId = srcMtlOwnerId;
+	}
+
+	public BigDecimal getCaseQty() {
+		return this.caseQty;
+	}
+
+	public void setCaseQty(BigDecimal caseQty) {
+		this.caseQty = caseQty;
+	}
+
+	public BigDecimal getPieceQty() {
+		return this.pieceQty;
+	}
+
+	public void setPieceQty(BigDecimal pieceQty) {
+		this.pieceQty = pieceQty;
+	}
+
+	public String getAccessLevel() {
+		return this.accessLevel;
+	}
+
+	public void setAccessLevel(String accessLevel) {
+		this.accessLevel = accessLevel;
+	}
+
+	public String getComments() {
+		return this.comments;
+	}
+
+	public void setComments(String comments) {
+		this.comments = comments;
+	}
+
+	public Date getAuditDate() {
+		return this.auditDate;
+	}
+
+	public void setAuditDate(Date auditDate) {
+		this.auditDate = auditDate;
+	}
+
+	public String getAuditedBy() {
+		return this.auditedBy;
+	}
+
+	public void setAuditedBy(String auditedBy) {
+		this.auditedBy = auditedBy;
+	}
+
+	public BigDecimal getPrintCount() {
+		return this.printCount;
+	}
+
+	public void setPrintCount(BigDecimal printCount) {
+		this.printCount = printCount;
+	}
+
+	public Date getPrintDate() {
+		return this.printDate;
+	}
+
+	public void setPrintDate(Date printDate) {
+		this.printDate = printDate;
+	}
+
+	public String getPrintedBy() {
+		return this.printedBy;
+	}
+
+	public void setPrintedBy(String printedBy) {
+		this.printedBy = printedBy;
+	}
+
+	public String getAuditedName() {
+		return this.auditedName;
+	}
+
+	public void setAuditedName(String auditedName) {
+		this.auditedName = auditedName;
+	}
+
+	public String getPrintedName() {
+		return this.printedName;
+	}
+
+	public void setPrintedName(String printedName) {
+		this.printedName = printedName;
+	}
+
+	public String getConfirmedBy() {
+		return this.confirmedBy;
+	}
+
+	public void setConfirmedBy(String confirmedBy) {
+		this.confirmedBy = confirmedBy;
+	}
+
+	public String getConfirmedName() {
+		return this.confirmedName;
+	}
+
+	public void setConfirmedName(String confirmedName) {
+		this.confirmedName = confirmedName;
+	}
+
+	public Date getConfirmDate() {
+		return this.confirmDate;
+	}
+
+	public void setConfirmDate(Date confirmDate) {
+		this.confirmDate = confirmDate;
+	}
+
+	public String getSrcBillType() {
+		return srcBillType;
+	}
+
+	public void setSrcBillType(String srcBillType) {
+		this.srcBillType = srcBillType;
+	}
+
+	public String getArrivalMode() {
+		return arrivalMode;
+	}
+
+	public void setArrivalMode(String arrivalMode) {
+		this.arrivalMode = arrivalMode;
+	}
+}

+ 109 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/RcvHeadersPicDTO.java

@@ -0,0 +1,109 @@
+package com.prolog.cs.biz.inbound.dto.rcv;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validAdd;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validEdit;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description 收货单头图片 1:N
+ * @Author Xiong
+ * @Date 2021-04-02
+ */
+
+@ApiModel
+public class RcvHeadersPicDTO implements Serializable {
+	private static final long serialVersionUID = 383883544958768692L;
+	@ApiModelProperty(value = "上传ID(主键雪花id)")
+	@NotBlank(message = "上传ID(主键雪花id) can not blank!", groups = validEdit.class)
+	private String rcvHeaderPicId;
+
+	@ApiModelProperty(value = "收货单头ID(必填)")
+	@NotBlank(message = "收货单头ID can not blank!", groups = validAdd.class)
+	private String rcvHeaderId;
+
+	@ApiModelProperty(value = "图片名称(必填)")
+	@NotBlank(message = "图片名称 can not blank!", groups = validAdd.class)
+	private String picFilename;
+
+	@ApiModelProperty(value = "图片地址(必填)")
+	@NotBlank(message = "图片地址 can not blank!", groups = validAdd.class)
+	private String picFileurl;
+
+	@ApiModelProperty(value = "上传时间")
+//	@NotNull(message = "上传时间 can not blank!", groups = validAdd.class)
+//	@Past(message = "上传时间 can not greater than now!", groups = validAdd.class)
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date executorDate;
+
+	@ApiModelProperty(value = "上传人id")
+//	@NotBlank(message = "上传人id can not blank!", groups = validAdd.class)
+	private String executorUserid;
+
+	@ApiModelProperty(value = "上传人名称")
+	private String executorUserName;
+
+	public String getRcvHeaderPicId() {
+		return this.rcvHeaderPicId;
+	}
+
+	public void setRcvHeaderPicId(String rcvHeaderPicId) {
+		this.rcvHeaderPicId = rcvHeaderPicId;
+	}
+
+	public String getRcvHeaderId() {
+		return this.rcvHeaderId;
+	}
+
+	public void setRcvHeaderId(String rcvHeaderId) {
+		this.rcvHeaderId = rcvHeaderId;
+	}
+
+	public String getPicFilename() {
+		return this.picFilename;
+	}
+
+	public void setPicFilename(String picFilename) {
+		this.picFilename = picFilename;
+	}
+
+	public String getPicFileurl() {
+		return this.picFileurl;
+	}
+
+	public void setPicFileurl(String picFileurl) {
+		this.picFileurl = picFileurl;
+	}
+
+	public Date getExecutorDate() {
+		return this.executorDate;
+	}
+
+	public void setExecutorDate(Date executorDate) {
+		this.executorDate = executorDate;
+	}
+
+	public String getExecutorUserid() {
+		return this.executorUserid;
+	}
+
+	public void setExecutorUserid(String executorUserid) {
+		this.executorUserid = executorUserid;
+	}
+
+	public String getExecutorUserName() {
+		return this.executorUserName;
+	}
+
+	public void setExecutorUserName(String executorUserName) {
+		this.executorUserName = executorUserName;
+	}
+
+}

+ 624 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/RcvHeadersProfilesDTO.java

@@ -0,0 +1,624 @@
+package com.prolog.cs.biz.inbound.dto.rcv;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validAdd;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validEdit;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @Description 收货单头辅助表(冗余字段的存放,收货跨库查询的数据可以从该表出)
+ * @Author Xiong
+ * @Date 2021-04-02
+ */
+
+@ApiModel
+public class RcvHeadersProfilesDTO implements Serializable {
+	private static final long serialVersionUID = 2763718666181640161L;
+	@ApiModelProperty(value = "单头ID(主键雪花id)", required = true)
+	@NotBlank(message = "单头ID(主键雪花id) can not blank!", groups = { validAdd.class, validEdit.class })
+	private String rcvHeaderId;
+
+	@ApiModelProperty(value = "含税金额")
+//	@NotNull(message = "含税金额 can not blank!", groups = validAdd.class)
+	private BigDecimal taTi;
+
+	@ApiModelProperty(value = "不含税金额")
+//	@NotNull(message = "不含税金额 can not blank!", groups = validAdd.class)
+	private BigDecimal taTe;
+
+	@ApiModelProperty(value = "税额")
+//	@NotNull(message = "税额 can not blank!", groups = validAdd.class)
+	private BigDecimal taTax;
+
+	@ApiModelProperty(value = "作废人ID")
+	private String cancelledBy;
+
+	@ApiModelProperty(value = "作废人")
+	private String cancelledName;
+
+	@ApiModelProperty(value = "作废时间")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date cancelDate;
+
+	@ApiModelProperty(value = "库管")
+	private String warehouseManager;
+
+	@ApiModelProperty(value = "来源预订单ID(销售)")
+	private String orderHeaderId;
+
+	@ApiModelProperty(value = "来源预订单编码(销售)")
+	private String orderAutoNum;
+
+	@ApiModelProperty(value = "车牌号码")
+	private String licensePlateNumber;
+
+	@ApiModelProperty(value = "冷藏方式")
+	private String coldstoretype;
+
+	@ApiModelProperty(value = "冷藏状态")
+	private String cold;
+
+	@ApiModelProperty(value = "温控方式")
+	private String temperaturecType;
+
+	@ApiModelProperty(value = "到货方式")
+	private String arrivalMode;
+
+	@ApiModelProperty(value = "运输过程温度记录")
+	private String shipTemptrack;
+
+	@ApiModelProperty(value = "温控状况")
+	private String tempcinfo;
+
+	@ApiModelProperty(value = "组织编码")
+	private String orgnNum;
+
+	@ApiModelProperty(value = "组织名称")
+	private String orgnName;
+
+	@ApiModelProperty(value = "供应商编码")
+	private String vendorNum;
+
+	@ApiModelProperty(value = "供应商名称")
+	private String vendorName;
+
+	@ApiModelProperty(value = "仓库编码")
+	private String warehouseNum;
+	@ApiModelProperty(value = "仓库编码")
+	private String warehouseCode;
+
+	@ApiModelProperty(value = "仓库名称")
+	private String warehouseName;
+
+	@ApiModelProperty(value = "采购员编码")
+	private String buyerNum;
+
+	@ApiModelProperty(value = "采购员名称")
+	private String buyerMane;
+
+	@ApiModelProperty(value = "客户编码")
+	private String customerNum;
+
+	@ApiModelProperty(value = "客户名称")
+	private String customerName;
+
+	@ApiModelProperty(value = "货主编码", required = true)
+//	@NotBlank(message = "货主编码 can not blank!", groups = validAdd.class)
+	private String mtlOwnerNum;
+
+	@ApiModelProperty(value = "货主名称", required = true)
+	@NotBlank(message = "货主名称 can not blank!", groups = validAdd.class)
+	private String mtlOwnerName;
+
+	@ApiModelProperty(value = "组织编码(移库/调拨组织ID)")
+	private String srcOrgnNum;
+
+	@ApiModelProperty(value = "组织名称(移库/调拨组织ID)")
+	private String srcOrgnName;
+
+	@ApiModelProperty(value = "仓库编码(移库/调拨源仓ID)")
+	private String srcWarehouseNum;
+
+	@ApiModelProperty(value = "仓库名称(移库/调拨源仓ID)")
+	private String srcWarehouseName;
+
+	@ApiModelProperty(value = "货主ID(移库入库的源货主编码)")
+	private String srcMtlOwnerNum;
+
+	@ApiModelProperty(value = "货主ID(移库入库的源货主名称)")
+	private String srcMtlOwnerName;
+
+	// ===============================6.10新加字段 =====================================
+	@ApiModelProperty(value = "(新)运输方", position = -4)
+//	@NotBlank(message = "运输方不可为空(次要信息)!", groups = validAdd.class)
+	private String transportationParty;
+	@ApiModelProperty(value = "运输单位(承运商)")
+//	@NotBlank(message = "运输单位不可为空(次要信息)!", groups = validAdd.class)
+	private String carriername;
+	@ApiModelProperty(value = "起运日期")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+//	@NotNull(message = "起运时间不可为空(次要信息)!", groups = validAdd.class)
+	private Date shipFromDate;
+	@ApiModelProperty(value = "发运地点")
+//	@NotBlank(message = "发运地点不可为空(次要信息)!", groups = validAdd.class)
+	private String shipFromAdd;
+	@ApiModelProperty(value = "(新)在途时限", position = -4)
+//	@NotNull(message = "在途时限不可为空(次要信息)!", groups = validAdd.class)
+	private Integer onPassageDays;
+	@ApiModelProperty(value = "运输方式")
+//	@NotBlank(message = "运输方式不可为空(次要信息)!", groups = validAdd.class)
+	private String shipType;
+//	运输方式:可修改,下拉选项;-- 对应字段 收货头拓展 shipType  -- 字典项 transport_mode
+//	运输单位:可修改,选项;--收货头拓展 carriername  -- 字典项 transport_agency
+//	起运时间:可修改; -- 收货头拓展 发运日期 shipFromDate
+//	发运地点:不可修改;-- 收货头拓展 发运地点 shipFromAdd
+//	在途时限:可修改,天数,录入数字;-- 收货头拓展(新加) onPassageDays
+//	运输方:不可修改; -- 收货头拓展(新加) transportationParty
+//	字段未显示。 以上字段不可为空;
+
+//	8.冷藏品收货时按收货单汇总录入启运温度、启运时间、到货温度、到货时间、到货温度设备号
+//	(车牌号和冷藏箱号都录在此字段)、温控方式、温控状态,以上字段不可为空;
+//	冷藏药品收货时才为必填项目,如何控制?
+//	启运温度、到货时间、到货设备号、车牌号、冷藏箱号界面均无录入框。启运时间、到货时间需要选择日期,录入到时分
+//	订单冷藏品,字段到货设备号、车牌号、冷藏箱号,三个填一个即可
+//	启运冷藏 2-8度,待处理
+//	启运冷冻 -15-0度,待处理
+//	如何判断是否为冷藏品ASN?
+//	收货第8条:
+	// 启运温度 --- 收货头拓展 (新加) shipTemPerature
+	// 启运时间 -- 收货头拓展 (新加) shipDate
+	// 到货温度 -- shipArriveTemPerature (已有) 收货头拓展
+	// 到货时间 -- (已有) -- shipArriveTime-- 收货头拓展
+	// 到货设备号,车牌号,冷藏箱号 deviceNo 收货头拓展 (新加)
+	// 温控方式 -- 收货头拓展 (新加) tempcontrolMode 字典表 tempcontrol_mode
+	// 温控状态 -- 收货头拓展 (新加) tempcontrolStatus 字典表 tempcontrol_status
+	@ApiModelProperty(value = "到货温度")
+	private BigDecimal shipArriveTemPerature;
+	@ApiModelProperty(value = "到货时间")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date shipArriveTime;
+	@ApiModelProperty(value = "(新)启运温度", position = -4)
+	private String shipTemPerature;
+	@ApiModelProperty(value = "(新)启运时间", position = -4)
+	private Date shipDate;
+	@ApiModelProperty(value = "(新)设备号,车牌号,冷藏箱号(三取1)", position = -4)
+	private String deviceNo;
+	@ApiModelProperty(value = "(新)温控方式", position = -4)
+	private String tempcontrolMode;
+	@ApiModelProperty(value = "(新)温控状态", position = -4)
+	private String tempcontrolStatus;
+	@ApiModelProperty(value = "(新)供应商编码", position = -4)
+	private String vendorCode;
+	@ApiModelProperty(value = "(新)客户编码", position = -4)
+	private String customerCode;
+
+	@ApiModelProperty(value = "(新)单据类型", position = -4)
+	private String rcvType;
+
+	public String getRcvType() {
+		return rcvType;
+	}
+
+	public void setRcvType(String rcvType) {
+		this.rcvType = rcvType;
+	}
+
+	public String getCustomerCode() {
+		return customerCode;
+	}
+
+	public void setCustomerCode(String customerCode) {
+		this.customerCode = customerCode;
+	}
+
+	public String getVendorCode() {
+		return vendorCode;
+	}
+
+	public void setVendorCode(String vendorCode) {
+		this.vendorCode = vendorCode;
+	}
+
+	public String getWarehouseCode() {
+		return warehouseCode;
+	}
+
+	public void setWarehouseCode(String warehouseCode) {
+		this.warehouseCode = warehouseCode;
+	}
+
+	public String getShipTemPerature() {
+		return shipTemPerature;
+	}
+
+	public void setShipTemPerature(String shipTemPerature) {
+		this.shipTemPerature = shipTemPerature;
+	}
+
+	public Date getShipDate() {
+		return shipDate;
+	}
+
+	public void setShipDate(Date shipDate) {
+		this.shipDate = shipDate;
+	}
+
+	public String getDeviceNo() {
+		return deviceNo;
+	}
+
+	public void setDeviceNo(String deviceNo) {
+		this.deviceNo = deviceNo;
+	}
+
+	public String getTempcontrolMode() {
+		return tempcontrolMode;
+	}
+
+	public void setTempcontrolMode(String tempcontrolMode) {
+		this.tempcontrolMode = tempcontrolMode;
+	}
+
+	public String getTempcontrolStatus() {
+		return tempcontrolStatus;
+	}
+
+	public void setTempcontrolStatus(String tempcontrolStatus) {
+		this.tempcontrolStatus = tempcontrolStatus;
+	}
+
+	public String getTransportationParty() {
+		return transportationParty;
+	}
+
+	public void setTransportationParty(String transportationParty) {
+		this.transportationParty = transportationParty;
+	}
+
+	public Integer getOnPassageDays() {
+		return onPassageDays;
+	}
+
+	public void setOnPassageDays(Integer onPassageDays) {
+		this.onPassageDays = onPassageDays;
+	}
+
+	public String getRcvHeaderId() {
+		return this.rcvHeaderId;
+	}
+
+	public void setRcvHeaderId(String rcvHeaderId) {
+		this.rcvHeaderId = rcvHeaderId;
+	}
+
+	public BigDecimal getTaTi() {
+		return this.taTi;
+	}
+
+	public void setTaTi(BigDecimal taTi) {
+		this.taTi = taTi;
+	}
+
+	public BigDecimal getTaTe() {
+		return this.taTe;
+	}
+
+	public void setTaTe(BigDecimal taTe) {
+		this.taTe = taTe;
+	}
+
+	public BigDecimal getTaTax() {
+		return this.taTax;
+	}
+
+	public void setTaTax(BigDecimal taTax) {
+		this.taTax = taTax;
+	}
+
+	public String getCancelledBy() {
+		return this.cancelledBy;
+	}
+
+	public void setCancelledBy(String cancelledBy) {
+		this.cancelledBy = cancelledBy;
+	}
+
+	public String getCancelledName() {
+		return this.cancelledName;
+	}
+
+	public void setCancelledName(String cancelledName) {
+		this.cancelledName = cancelledName;
+	}
+
+	public Date getCancelDate() {
+		return this.cancelDate;
+	}
+
+	public void setCancelDate(Date cancelDate) {
+		this.cancelDate = cancelDate;
+	}
+
+	public String getWarehouseManager() {
+		return this.warehouseManager;
+	}
+
+	public void setWarehouseManager(String warehouseManager) {
+		this.warehouseManager = warehouseManager;
+	}
+
+	public String getOrderHeaderId() {
+		return this.orderHeaderId;
+	}
+
+	public void setOrderHeaderId(String orderHeaderId) {
+		this.orderHeaderId = orderHeaderId;
+	}
+
+	public String getOrderAutoNum() {
+		return this.orderAutoNum;
+	}
+
+	public void setOrderAutoNum(String orderAutoNum) {
+		this.orderAutoNum = orderAutoNum;
+	}
+
+	public String getLicensePlateNumber() {
+		return this.licensePlateNumber;
+	}
+
+	public void setLicensePlateNumber(String licensePlateNumber) {
+		this.licensePlateNumber = licensePlateNumber;
+	}
+
+	public String getColdstoretype() {
+		return this.coldstoretype;
+	}
+
+	public void setColdstoretype(String coldstoretype) {
+		this.coldstoretype = coldstoretype;
+	}
+
+	public String getCold() {
+		return this.cold;
+	}
+
+	public void setCold(String cold) {
+		this.cold = cold;
+	}
+
+	public String getShipFromAdd() {
+		return this.shipFromAdd;
+	}
+
+	public void setShipFromAdd(String shipFromAdd) {
+		this.shipFromAdd = shipFromAdd;
+	}
+
+	public Date getShipFromDate() {
+		return this.shipFromDate;
+	}
+
+	public void setShipFromDate(Date shipFromDate) {
+		this.shipFromDate = shipFromDate;
+	}
+
+	public String getShipType() {
+		return this.shipType;
+	}
+
+	public void setShipType(String shipType) {
+		this.shipType = shipType;
+	}
+
+	public String getTemperaturecType() {
+		return this.temperaturecType;
+	}
+
+	public void setTemperaturecType(String temperaturecType) {
+		this.temperaturecType = temperaturecType;
+	}
+
+	public Date getShipArriveTime() {
+		return this.shipArriveTime;
+	}
+
+	public void setShipArriveTime(Date shipArriveTime) {
+		this.shipArriveTime = shipArriveTime;
+	}
+
+	public String getArrivalMode() {
+		return this.arrivalMode;
+	}
+
+	public void setArrivalMode(String arrivalMode) {
+		this.arrivalMode = arrivalMode;
+	}
+
+	public BigDecimal getShipArriveTemPerature() {
+		return this.shipArriveTemPerature;
+	}
+
+	public void setShipArriveTemPerature(BigDecimal shipArriveTemPerature) {
+		this.shipArriveTemPerature = shipArriveTemPerature;
+	}
+
+	public String getShipTemptrack() {
+		return this.shipTemptrack;
+	}
+
+	public void setShipTemptrack(String shipTemptrack) {
+		this.shipTemptrack = shipTemptrack;
+	}
+
+	public String getTempcinfo() {
+		return this.tempcinfo;
+	}
+
+	public void setTempcinfo(String tempcinfo) {
+		this.tempcinfo = tempcinfo;
+	}
+
+	public String getCarriername() {
+		return this.carriername;
+	}
+
+	public void setCarriername(String carriername) {
+		this.carriername = carriername;
+	}
+
+	public String getOrgnNum() {
+		return this.orgnNum;
+	}
+
+	public void setOrgnNum(String orgnNum) {
+		this.orgnNum = orgnNum;
+	}
+
+	public String getOrgnName() {
+		return this.orgnName;
+	}
+
+	public void setOrgnName(String orgnName) {
+		this.orgnName = orgnName;
+	}
+
+	public String getVendorNum() {
+		return this.vendorNum;
+	}
+
+	public void setVendorNum(String vendorNum) {
+		this.vendorNum = vendorNum;
+	}
+
+	public String getVendorName() {
+		return this.vendorName;
+	}
+
+	public void setVendorName(String vendorName) {
+		this.vendorName = vendorName;
+	}
+
+	public String getWarehouseNum() {
+		return this.warehouseNum;
+	}
+
+	public void setWarehouseNum(String warehouseNum) {
+		this.warehouseNum = warehouseNum;
+	}
+
+	public String getWarehouseName() {
+		return this.warehouseName;
+	}
+
+	public void setWarehouseName(String warehouseName) {
+		this.warehouseName = warehouseName;
+	}
+
+	public String getBuyerNum() {
+		return this.buyerNum;
+	}
+
+	public void setBuyerNum(String buyerNum) {
+		this.buyerNum = buyerNum;
+	}
+
+	public String getBuyerMane() {
+		return this.buyerMane;
+	}
+
+	public void setBuyerMane(String buyerMane) {
+		this.buyerMane = buyerMane;
+	}
+
+	public String getCustomerNum() {
+		return this.customerNum;
+	}
+
+	public void setCustomerNum(String customerNum) {
+		this.customerNum = customerNum;
+	}
+
+	public String getCustomerName() {
+		return this.customerName;
+	}
+
+	public void setCustomerName(String customerName) {
+		this.customerName = customerName;
+	}
+
+	public String getMtlOwnerNum() {
+		return this.mtlOwnerNum;
+	}
+
+	public void setMtlOwnerNum(String mtlOwnerNum) {
+		this.mtlOwnerNum = mtlOwnerNum;
+	}
+
+	public String getMtlOwnerName() {
+		return this.mtlOwnerName;
+	}
+
+	public void setMtlOwnerName(String mtlOwnerName) {
+		this.mtlOwnerName = mtlOwnerName;
+	}
+
+	public String getSrcOrgnNum() {
+		return this.srcOrgnNum;
+	}
+
+	public void setSrcOrgnNum(String srcOrgnNum) {
+		this.srcOrgnNum = srcOrgnNum;
+	}
+
+	public String getSrcOrgnName() {
+		return this.srcOrgnName;
+	}
+
+	public void setSrcOrgnName(String srcOrgnName) {
+		this.srcOrgnName = srcOrgnName;
+	}
+
+	public String getSrcWarehouseNum() {
+		return this.srcWarehouseNum;
+	}
+
+	public void setSrcWarehouseNum(String srcWarehouseNum) {
+		this.srcWarehouseNum = srcWarehouseNum;
+	}
+
+	public String getSrcWarehouseName() {
+		return this.srcWarehouseName;
+	}
+
+	public void setSrcWarehouseName(String srcWarehouseName) {
+		this.srcWarehouseName = srcWarehouseName;
+	}
+
+	public String getSrcMtlOwnerNum() {
+		return this.srcMtlOwnerNum;
+	}
+
+	public void setSrcMtlOwnerNum(String srcMtlOwnerNum) {
+		this.srcMtlOwnerNum = srcMtlOwnerNum;
+	}
+
+	public String getSrcMtlOwnerName() {
+		return this.srcMtlOwnerName;
+	}
+
+	public void setSrcMtlOwnerName(String srcMtlOwnerName) {
+		this.srcMtlOwnerName = srcMtlOwnerName;
+	}
+
+}

+ 175 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/RcvHeadersSrcBillsDTO.java

@@ -0,0 +1,175 @@
+package com.prolog.cs.biz.inbound.dto.rcv;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validAdd;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validEdit;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description 收货单对应的源单列表(存类型是ASN+业务单) 与收货单头 1:N关系
+ * @Author Xiong
+ * @Date 2021-04-02
+ */
+
+@ApiModel
+public class RcvHeadersSrcBillsDTO implements Serializable {
+	private static final long serialVersionUID = 5311835744118134482L;
+	@ApiModelProperty(value = "收货来源单列表来源单单头ID")
+	private String rcvHeaderSrcBillId;
+
+	@ApiModelProperty(value = "单头ID", required = true)
+	@NotBlank(message = "单头ID can not blank!", groups = validEdit.class)
+	private String rcvHeaderId;
+
+	@ApiModelProperty(value = "批准人")
+	private String confirmedBy;
+
+	@ApiModelProperty(value = "来源单类型(CG XT YC)")
+	private String srcHeaderType;
+
+	@ApiModelProperty(value = "收货日期", required = true)
+	@NotNull(message = "收货日期 can not blank!", groups = validAdd.class)
+	//@Past(message = "收货日期 can not greater than now!", groups = validAdd.class)
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date rcvDate;
+
+	@ApiModelProperty(value = "收货类型", required = true)
+	@NotBlank(message = "收货类型 can not blank!", groups = validAdd.class)
+	private String rcvType;
+
+	@ApiModelProperty(value = "last_updated_name")
+	private String lastUpdatedName;
+
+	@ApiModelProperty(value = "批准人名称")
+	private String confirmedName;
+
+	@ApiModelProperty(value = "批准时间")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date confirmDate;
+
+	@ApiModelProperty(value = "来源单ID列表")
+	private String srcHeaderId;
+
+	@ApiModelProperty(value = "来源单号列表")
+	private String srcAutoBullNum;
+
+	@ApiModelProperty(value = "来源单ID列表(ASN)")
+	private String asnHeaderId;
+
+	@ApiModelProperty(value = "来源单号列表(ASN)")
+	private String asnAutoBillNum;
+
+	public String getRcvHeaderSrcBillId() {
+		return rcvHeaderSrcBillId;
+	}
+
+	public void setRcvHeaderSrcBillId(String rcvHeaderSrcBillId) {
+		this.rcvHeaderSrcBillId = rcvHeaderSrcBillId;
+	}
+
+	public String getRcvHeaderId() {
+		return rcvHeaderId;
+	}
+
+	public void setRcvHeaderId(String rcvHeaderId) {
+		this.rcvHeaderId = rcvHeaderId;
+	}
+
+	public String getConfirmedBy() {
+		return confirmedBy;
+	}
+
+	public void setConfirmedBy(String confirmedBy) {
+		this.confirmedBy = confirmedBy;
+	}
+
+	public String getSrcHeaderType() {
+		return srcHeaderType;
+	}
+
+	public void setSrcHeaderType(String srcHeaderType) {
+		this.srcHeaderType = srcHeaderType;
+	}
+
+	public Date getRcvDate() {
+		return rcvDate;
+	}
+
+	public void setRcvDate(Date rcvDate) {
+		this.rcvDate = rcvDate;
+	}
+
+	public String getRcvType() {
+		return rcvType;
+	}
+
+	public void setRcvType(String rcvType) {
+		this.rcvType = rcvType;
+	}
+
+	public String getLastUpdatedName() {
+		return lastUpdatedName;
+	}
+
+	public void setLastUpdatedName(String lastUpdatedName) {
+		this.lastUpdatedName = lastUpdatedName;
+	}
+
+	public String getConfirmedName() {
+		return confirmedName;
+	}
+
+	public void setConfirmedName(String confirmedName) {
+		this.confirmedName = confirmedName;
+	}
+
+	public Date getConfirmDate() {
+		return confirmDate;
+	}
+
+	public void setConfirmDate(Date confirmDate) {
+		this.confirmDate = confirmDate;
+	}
+
+	public String getSrcHeaderId() {
+		return srcHeaderId;
+	}
+
+	public void setSrcHeaderId(String srcHeaderId) {
+		this.srcHeaderId = srcHeaderId;
+	}
+
+	public String getSrcAutoBullNum() {
+		return srcAutoBullNum;
+	}
+
+	public void setSrcAutoBullNum(String srcAutoBullNum) {
+		this.srcAutoBullNum = srcAutoBullNum;
+	}
+
+	public String getAsnHeaderId() {
+		return asnHeaderId;
+	}
+
+	public void setAsnHeaderId(String asnHeaderId) {
+		this.asnHeaderId = asnHeaderId;
+	}
+
+	public String getAsnAutoBillNum() {
+		return asnAutoBillNum;
+	}
+
+	public void setAsnAutoBillNum(String asnAutoBillNum) {
+		this.asnAutoBillNum = asnAutoBillNum;
+	}
+
+}

+ 407 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/RcvInstockLinesDTO.java

@@ -0,0 +1,407 @@
+package com.prolog.cs.biz.inbound.dto.rcv;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validAdd;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validEdit;
+import com.prolog.cs.biz.inbound.dto.CargoChangeIn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @Description 上架单行 来源于上架任务池
+ * @Author Xiong
+ * @Date 2021-04-02
+ */
+
+@ApiModel
+@Data
+public class RcvInstockLinesDTO implements Serializable {
+    private static final long serialVersionUID = 7004538676229297929L;
+    @ApiModelProperty(value = "ASN单号")
+    private String asnNo;
+
+    @ApiModelProperty(value = "收货单号")
+    private String rcvNo;
+
+    @ApiModelProperty(value = "质检单号")
+    private String rqcNo;
+
+    @ApiModelProperty(value = "订单类型")
+    private String rcvType;
+
+    @ApiModelProperty(value = "订单类型")
+    private String rcvTypeName;
+
+    @ApiModelProperty(value = "单位名称")
+    private String shipperName;
+
+    @ApiModelProperty(value = "商品助记码")
+    private String itemZjm;
+
+    @ApiModelProperty(value = "商品编码")
+    private String itemNum;
+
+    @ApiModelProperty(value = "商品名称")
+    private String itemName;
+
+    @ApiModelProperty(value = "包装单位", required = true)
+    @NotBlank(message = "包装单位 can not blank!", groups = validAdd.class)
+    private String uom;
+
+    @ApiModelProperty(value = "包装含量", required = true)
+    @NotNull(message = "包装含量 can not blank!", groups = validAdd.class)
+    private BigDecimal conversionRate;
+
+    @ApiModelProperty(value = "库存状态", required = true)
+    private String stockStatus;
+
+    @ApiModelProperty(value = "批号")
+    private String manufacturerLotNum;
+
+    @ApiModelProperty(value = "显示生产日期", position = -3)
+    private String showProductionDate;
+
+    @ApiModelProperty(value = "显示有效期至", position = -3)
+    private String showExpiredDate;
+
+    @ApiModelProperty(value = "单品数量", required = true)
+    @NotNull(message = "单品数量 can not blank!", groups = validAdd.class)
+    private BigDecimal pieceQty;
+
+    @ApiModelProperty(value = "整箱数", required = true)
+    @NotNull(message = "整箱数 can not blank!", groups = validAdd.class)
+    private BigDecimal oddCaseQty;
+
+    @ApiModelProperty(value = "零散数", required = true)
+    @NotNull(message = "零散数 can not blank!", groups = validAdd.class)
+    private BigDecimal oddPieceQty;
+
+    @ApiModelProperty(value = "容器编码")
+    private String containerCode;
+
+    @ApiModelProperty(value = "库别编码")
+    private String whAreaCategoryCode;
+
+    @ApiModelProperty(value = "库区编码")
+    private String whAreaCode;
+
+    @ApiModelProperty(value = "库别编码")
+    private String whAreaCategoryName;
+
+    @ApiModelProperty(value = "库区编码")
+    private String whAreaName;
+
+
+    @ApiModelProperty(value = "实际货位")
+    private String whLocatorCode;
+
+    @ApiModelProperty(value = "推荐货位")
+    private String whLocatorCodeRecommend;
+
+    @ApiModelProperty(value = "上架人")
+    private String creatorName;
+
+    @ApiModelProperty(value = "上架时间")
+    private String gmtCreateTime;
+
+    @ApiModelProperty(value = "创建时间")
+    private String gmtCreate;
+
+    @ApiModelProperty(value = "行ID(雪花,主键id)")
+    @NotBlank(message = "行ID can not blank!", groups = validEdit.class)
+    private String inBoundLineId;
+
+    @ApiModelProperty(value = "收货单头ID")
+    private String rcvHeaderId;
+
+    @ApiModelProperty(value = "收货行头ID")
+    private String rcvLineId;
+
+    @ApiModelProperty(value = "行号")
+    //	@NotNull(message = "行号 can not blank!", groups = validAdd.class)
+    private BigDecimal lineNum;
+
+    @ApiModelProperty(value = "库位ID")
+    private String whLocatorId;
+
+    @ApiModelProperty(value = "库位名称")
+    private String whLocatorName;
+
+    @ApiModelProperty(value = "建筑物编码")
+    private String bldgCode;
+
+
+    @ApiModelProperty(value = "商品ID", required = true)
+    @NotBlank(message = "商品ID can not blank!", groups = validAdd.class)
+    private String itemId;
+
+    @ApiModelProperty(value = "包装单位类型(2019/2020)新老包装")
+    //	@NotBlank(message = "包装单位类型(2019/2020)新老包装 can not blank!", groups = validAdd.class)
+    private String uomType;
+
+    @ApiModelProperty(value = "batch_id", required = true)
+    @NotBlank(message = "batch_id can not blank!", groups = validAdd.class)
+    private String batchId;
+
+    @ApiModelProperty(value = "批次号")
+    //	@NotBlank(message = "批次号 can not blank!", groups = validAdd.class)
+    private String batchNum;
+
+    @ApiModelProperty(value = "批次生产日期")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date batchProductionDate;
+
+    @ApiModelProperty(value = "批次有效期")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date batchExpiredDate;
+
+    @ApiModelProperty(value = "供应商批次号")
+    private String vendorBatchNum;
+
+
+    @ApiModelProperty(value = "货格编码")
+    private String goodsCaseCode;
+
+    @ApiModelProperty(value = "备注(可填异常信息)")
+    private String comments;
+
+    @ApiModelProperty(value = "上架推荐库位算法(预留) A1.R1/A2.R2")
+    private String algorithmType;
+
+    @ApiModelProperty(value = "执行者(上架员)")
+    private String executorUser;
+
+
+    @ApiModelProperty(value = "任务池ID(来源TASK)")
+    //	@NotBlank(message = "任务池ID(来源TASK) can not blank!", groups = validAdd.class)
+    private String taskId;
+
+    @ApiModelProperty(value = "货主ID(冗余,关联收货单)")
+    private String mtlOwnerId;
+
+    @ApiModelProperty(value = "仓库ID(冗余,关联收货单)", required = true)
+    @NotBlank(message = "仓库ID(冗余,关联收货单) can not blank!", groups = validAdd.class)
+    private String warehouseId;
+
+    @ApiModelProperty(value = "来源单类型(冗余,关联收货单)")
+    private String srcBillType;
+
+    @ApiModelProperty(value = "来源单头ID(冗余,关联收货单)")
+    private String srcHeaderId;
+
+    @ApiModelProperty(value = "来源单行ID(冗余,关联收货单)")
+    private String srcLineId;
+
+    @ApiModelProperty(value = "ASN头ID(冗余,关联收货单)")
+    private String asnHeaderId;
+
+    @ApiModelProperty(value = "ASN行ID(冗余,关联收货单)")
+    private String asnLineId;
+
+    @ApiModelProperty(value = "商品条码(列表展示用)", position = 1)
+    private String itemBarcode;
+    @ApiModelProperty(value = "商品体积(列表展示用)", position = 2)
+    private BigDecimal itemVolume;
+    @ApiModelProperty(value = "商品重量(列表展示用)", position = 3)
+    private BigDecimal itemWeight;
+    @ApiModelProperty(value = "质检是否双票(列表展示用)", position = 4)
+    private Integer itemHealthTwovoflag;
+    @ApiModelProperty(value = "仓库名称(列表展示用)", position = 5)
+    private String warehouseName;
+    @ApiModelProperty(value = "库区名称(列表展示用)", position = 6)
+    private String warehouseAreaName;
+    @ApiModelProperty(value = "商品分类名(列表展示用)", position = 9)
+    private String categoryName;
+
+    // -------------------库存服务所需字段--------------------------------
+    // 供应商id
+    @ApiModelProperty(value = "供应商id(隐藏字段)", position = 9)
+    private String vendorId;
+    // 组织id
+    @ApiModelProperty(value = "组织id(隐藏字段)", position = 9)
+    private String orgId;
+    // erp
+    @ApiModelProperty(value = "erp批号(隐藏字段)", position = 9)
+    private String erpBatchNum;
+    // 产地
+    @ApiModelProperty(value = "商品产地(隐藏字段)", position = 9)
+    private String productionPlace;
+    // 单品含税额
+    @ApiModelProperty(value = "单品含税进价(隐藏字段)", position = 9)
+    private BigDecimal piecePriceTi;
+    // 单品不含税额
+    @ApiModelProperty(value = "单品不含税进价(隐藏字段)", position = 9)
+    private BigDecimal piecePriceTe;
+    // 税率
+    @ApiModelProperty(value = "税率(隐藏字段)", position = 9)
+    private BigDecimal taxRate;
+    @ApiModelProperty(value = "大类id")
+    private String categoryId;
+    @ApiModelProperty(value = "库别id")
+    private String whAreaCategoryId;
+    // ============5.12 新增字段==========================
+    @ApiModelProperty(value = "推荐库区编号(逗号分隔列表)", position = -1)
+    private String warehouseAreaCodes;
+    @ApiModelProperty(value = "商品整散分离标识(0整散合一/1整散分开)", position = -1)
+    private String itemIsPieceOrCase;
+    @ApiModelProperty(value = "推荐库别编号(逗号分隔列表)", position = -1)
+    private String warehouseAreaCategorys;
+    // ===============5.17 新加字段================
+    @ApiModelProperty(value = "商品规格说明(冗余)", position = -1)
+    private String specification;
+    @ApiModelProperty(value = "上市许可持有人(冗余)", position = -1)
+    private String itemHealthListedLicensor;
+    @ApiModelProperty(value = "生产企业许可证号(冗余)", position = -1)
+    private String itemHealthProduceLicense;
+    @ApiModelProperty(value = "存储分类(冗余)", position = -1)
+    private String itemHealthStoreCategory;
+    @ApiModelProperty(value = "商品是否进口(冗余)", position = -1)
+    private Integer itemIsImported;
+    @ApiModelProperty(value = "商品是否复检(0否1是)(冗余)", position = -1)
+    private Integer itemIsRecheck;
+    @ApiModelProperty(value = "商品是否器械(0否1是)(冗余)", position = -1)
+    private Integer isInstrument;
+
+    @ApiModelProperty(value = "收货时间(冗余)", position = -1)
+    private Date rcvDate;
+
+    // ========5.20新加==========================
+    // 商品通用名
+    @ApiModelProperty(value = "商品通用名(冗余)", position = -2)
+    private String itemHealthCommonName;
+    // 商品是否锁定
+    @ApiModelProperty(value = "商品是否锁定(0否1是)(冗余)", position = -2)
+    private Integer isLock;
+    // 商品是否代管
+    @ApiModelProperty(value = "商品是否代管(0否1是)(冗余)", position = -2)
+    private Integer isHosted;
+    // 生产厂家id
+    @ApiModelProperty(value = "生产厂家id(冗余)", position = -2)
+    private String manufacturerId;
+    // 生产厂家code
+    @ApiModelProperty(value = "生产厂家id(冗余)", position = -2)
+    private String manufacturerCode;
+    // 生产厂家name
+    @ApiModelProperty(value = "生产厂家id(冗余)", position = -2)
+    private String manufacturerName;
+    @ApiModelProperty(value = "入库预留保质天数(冗余)", position = -2)
+    private BigDecimal inStoreDay;
+    // 注册证号
+    @ApiModelProperty(value = "注册证号(冗余)", position = -2)
+    private String itemHealthRegisterNbr;
+    // 有效期天数(需转换)
+    @ApiModelProperty(value = "有效期天数(需转换)(冗余)", position = -2)
+    private BigDecimal shelfLifeDays;
+    // 保质期单位
+    @ApiModelProperty(value = "保质期单位(年/月/日,默认日)(冗余)", position = -2)
+    private String shelfLifeUnit;
+    // 是否特殊品
+    @ApiModelProperty(value = "商品是否特殊品(0否1是)(冗余)", position = -2)
+    private Integer itemIsSpecial;
+    // 是否无菌
+    @ApiModelProperty(value = "商品是否无菌(0否1是)(冗余)", position = -2)
+    private Integer isBacteria;
+    // 退货单位提供的商品售出期间储存、运输质量控制情况
+    @ApiModelProperty(value = "退货单位提供的商品售出期间储存、运输质量控制情况(冗余)", position = -2)
+    private String returnInfo;
+    // 退货冷藏品出库期质量
+    @ApiModelProperty(value = "退货冷藏品出库期质量(冗余)", position = -2)
+    private String returnColdQuality;
+    // 退货说明
+    @ApiModelProperty(value = "退货说明(冗余)", position = -2)
+    private String returnExplain;
+
+    // ================== 5.26 新加字段=======
+    @ApiModelProperty(value = "上架标签", position = -1)
+    private String instockLabel;
+
+    @ApiModelProperty(value = "上架任务池状态  1-初始状态 0-已生成上架单 2-已成功发送入库任务 3-eis上架任务已回告")
+    private String status;
+
+    @ApiModelProperty(value = "库存状态", position = -1)
+    private String inventoryStatus;
+
+    @ApiModelProperty(value = "实际货位名", position = -2)
+    private String realWhLocatorName;
+
+    @ApiModelProperty(value = "实际货位id", position = -2)
+    private String realWhLocatorId;
+
+    @ApiModelProperty(value = "实际货位编码", position = -2)
+    private String realWhLocatorCode;
+
+    @ApiModelProperty(value = "建筑物id", position = -2)
+    private String bldgId;
+
+    // ==============7.5新加=====================
+
+    @ApiModelProperty(value = "批准文号", position = -3)
+    private String approvalNumber;
+
+    // 来源行id
+    @ApiModelProperty(value = "来源行id(一般为质检行)", position = -5)
+    private String refLineId;
+    // 来源类型
+    @ApiModelProperty(value = "来源类型(0收货1质检2复检)", position = -5)
+    private Integer refType;
+    @ApiModelProperty(value = "来源头id(一般为质检头)", position = -5)
+    private String refBillId;
+    @ApiModelProperty(value = "来源头编码(一般为质检头)", position = -5)
+    private String refBillNo;
+    // 自动生成上架单据时间
+    @ApiModelProperty(value = "业务时间,可以为自动生成数据时间")
+    private Date autoTime;
+
+    @ApiModelProperty(value = "存储条件", position = -6)
+    private String storeTemperature;
+
+    @ApiModelProperty(value = "(新)库存子状态(1 正常/2 虚拟/ 3 实物/4 直调/5代管转正常/6代管转待检)", position = -7)
+    private String subStatus;
+
+    @ApiModelProperty(value = "(新)库存转换操作类型 0-代管转正常;1-代管转待检;2-待检转正常", position = -7)
+    private String inventoryOpType;
+
+    @ApiModelProperty(value = "(新)关联的代管货位id", position = -7)
+    private String hostLocatorId;
+
+    @ApiModelProperty(value = "(新)货主转换", position = -7)
+    private CargoChangeIn cargoChangeIn;
+
+    @ApiModelProperty(value = "二级库存(id&code)", position = -2000)
+    private String secondStatus;
+
+    /**
+     * 企业id
+     */
+    @ApiModelProperty(value = "企业id")
+    private String enterpriseId;
+
+    /**
+     * 创建人编码
+     */
+    @ApiModelProperty(value = "创建人编码")
+    private String creator;
+
+    @ApiModelProperty(value = "货主名称")
+    private String mtlOwnerName;
+
+    @ApiModelProperty(value = "供应商名称")
+    private String vendorName;
+
+    @ApiModelProperty(value = "实际上架数量")
+    private BigDecimal realQty;
+
+    /** 状态 **/
+    @ApiModelProperty(value = "eis推送状态任务状态 0-初始状态  1-已成功发送入库任务 2-eis上架任务已回告")
+    private String eisPushStatus;
+}

+ 19 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/RcvLineAndProDTO.java

@@ -0,0 +1,19 @@
+package com.prolog.cs.biz.inbound.dto.rcv;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+
+@Deprecated
+@ApiModel
+public class RcvLineAndProDTO implements Serializable {
+
+	
+	@ApiModelProperty(value = "收货(入库)主表")
+	private String RcvLin;
+
+
+	@ApiModelProperty(value = "主表拓展属性")
+	private RcvHeadersProfilesDTO rcvHeadersProfilesDTO;
+}

+ 141 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/RcvLineDetailsDTO.java

@@ -0,0 +1,141 @@
+package com.prolog.cs.biz.inbound.dto.rcv;
+
+import cn.hutool.core.date.DateUtil;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * <p>
+ * Copyright: Copyright (C) 2020 prolog-int, Inc. All rights reserved.
+ * <p>
+ * Company: 湖北普罗格科技股份有限公司
+ *
+ * @author 刘溢沅
+ * @since 2022-08-22 16:29
+ */
+@NoArgsConstructor
+@Data
+public class RcvLineDetailsDTO {
+    private Object itemVolume;
+    private double pieceConversionRate;
+    private double pieceQty;
+    private Integer shelfStockCount;
+    private Object itemZjm;
+    private Integer isCaseOrPiece;
+    private Object itemHealthListedLicensor;
+    private String itemName;
+    private String uom;
+    private Object recordNbr;
+    private Integer isBacteria;
+    private String asnAutoBillNum;
+    private String id;
+    private String branchid;
+    private double scanQty;
+    private Object tempControlScope;
+    private String rcvType;
+    private Integer isInstrument;
+    private double rejectQty;
+    private String itemId;
+    private double scanCaseQty;
+    private Object itemIsBatch;
+    private String warehouseId;
+    private Integer shelfLifeDays;
+    private String rcvTypeName;
+    private String itemHealthStoreCategory;
+    private Integer isDelegate;
+    private Integer isSupervise;
+    private Object registerNbr;
+    private double caseConversionRate;
+    private String asnHeaderId;
+    private Object industry;
+    private Object rcvRtReason;
+    private Integer remainShelfStockCount;
+    private String manufacturer;
+    private String itemNum;
+    private Object expiryDateTrackLevel;
+    private Object managementExpiredDate;
+    private Object itemWeight;
+    private String countryOriginId;
+    private String asnLineId;
+    private String shelfLifeUnit;
+    private String mtlOwnerId;
+    private Object manufacturerId;
+    private double oddPieceQty;
+    private String categoryCode;
+    private String itemAssistantCode;
+    private Integer itemIsRecheck;
+    private Object itemHealthStorenote;
+    private Object commonName;
+    private Object itemHealthProduceLicense;
+    private String manufacturerName;
+    private double preQty;
+    private Object srcLineId;
+    private String registerNbrEn;
+    private String allowDecimal;
+    private String itemHealthCategory;
+    private String manufacturerLotNum;
+    private Object manufactureCode;
+    private Integer remainStackStockCount;
+    private Integer itemIsUnpack;
+    private Integer isRetrospect;
+    private String itemBarcode;
+    private double freeQty;
+    private String mtlOwnerCode;
+    private String productionPlace;
+    private String poAuditOpinion;
+    private double receivedQty;
+    private Integer itemIsSpecial;
+    private Integer stackStockCount;
+    private Integer itemHealthIsBigDecimal;
+    private Object typeName;
+    private Object qcMode;
+    private Object srcHeaderId;
+    private String batchId;
+    private String categoryName;
+    private String warehouseCode;
+    private Integer isLock;
+    private String shippername;
+    private double oddCaseQty;
+    private Integer isHosted;
+    private Integer itemIsImported;
+    private String batchNum;
+    private String specification;
+    private Object itemHealthCommonName;
+    private String approvalNumber;
+    private double conversionRate;
+    private Object asnLineRemark;
+    private Integer piecePriceTi;
+    private Object itemHealthTwovoteflag;
+    private String storeTemperature;
+    private Integer piecePriceTe;
+    private Object itemHealthRegisterNbr;
+    private String batchExpiredDate;
+    private Integer shelfLifeNum;
+    private Object inStoreDay;
+    private String categoryId;
+    private String batchProductionDate;
+
+    @ApiModelProperty(value = "容器编码")
+    private String containerCode;
+
+    @ApiModelProperty(value = "显示生产日期", position = -4)
+    private String showProductionDate;
+
+    @ApiModelProperty(value = "显示有效期至", position = -4)
+    private String showExpiredDate;
+
+    @ApiModelProperty("待收数量")
+    private double tobeQty;
+
+    public String getShowProductionDate() {
+        return DateUtil.format(DateUtil.parse(batchProductionDate), "yyyy-MM-dd");
+    }
+
+    public String getShowExpiredDate() {
+        return DateUtil.format(DateUtil.parse(batchExpiredDate), "yyyy-MM-dd");
+    }
+}

+ 1459 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/RcvLinesDTO.java

@@ -0,0 +1,1459 @@
+package com.prolog.cs.biz.inbound.dto.rcv;
+
+import cn.hutool.core.date.DateUtil;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validAdd;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validEdit;
+import com.prolog.framework.utils.StringUtils;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Description 收货行数据, 数量,批次,容器,收货人,结论,原因
+ * <p>
+ * (收货异常处理日志 在上架前可做,只调整数量和批次信息 未上架,可以修改所有原单数据,保留日志)
+ * <p>
+ * 收货行数据=上架+拒收
+ * @Author Xiong
+ * @Date 2021-04-02
+ */
+
+@ApiModel
+public class RcvLinesDTO implements Serializable {
+    private static final long serialVersionUID = 5335730467723668610L;
+    @ApiModelProperty(value = "行ID(主键雪花id)", required = true)
+    @NotBlank(message = "行ID(主键雪花id) can not blank!", groups = validEdit.class)
+    private String rcvLineId;
+
+    @ApiModelProperty(value = "头ID", required = true)
+    @NotBlank(message = "头ID can not blank!", groups = validAdd.class)
+    private String rcvHeaderId;
+
+    @ApiModelProperty(value = "来源单ID列表")
+    private String srcHeaderId;
+
+    @ApiModelProperty(value = "来源单ID")
+    private String srcLineId;
+
+    @ApiModelProperty(value = "来源单ID列表(ASN)")
+    private String asnHeaderId;
+
+    @ApiModelProperty(value = "ASN行ID")
+    private String asnLineId;
+
+    @ApiModelProperty(value = "关联ASN行ID")
+    private String refAsnLineId;
+
+    @ApiModelProperty(value = "商品ID", required = true)
+    @NotBlank(message = "商品ID can not blank!", groups = validAdd.class)
+    private String itemId;
+
+    @ApiModelProperty(value = "包装单位", required = true)
+    @NotBlank(message = "包装单位 can not blank!", groups = validAdd.class)
+    private String uom;
+
+    @ApiModelProperty(value = "行号", required = true)
+//	@NotNull(message = "行号 can not blank!", groups = validAdd.class)
+    private Integer lineNum;
+
+    @ApiModelProperty(value = "包装单位类型(2019/2020)新老包装")
+    private String uomType;
+
+    @ApiModelProperty(value = "数量", required = true)
+    @NotNull(message = "数量 can not blank!", groups = validAdd.class)
+    private BigDecimal qty;
+
+    @ApiModelProperty(value = "包装含量", required = true)
+    @NotNull(message = "包装含量 can not blank!", groups = validAdd.class)
+    private BigDecimal conversionRate;//1箱50个
+
+    @ApiModelProperty(value = "最小单位数量", required = true)
+    @NotNull(message = "最小单位数量 can not blank!", groups = validAdd.class)
+    private BigDecimal pieceQty;//110
+
+    @ApiModelProperty(value = "整箱数", required = true)
+    @NotNull(message = "整箱数 can not blank!", groups = validAdd.class)
+    private BigDecimal oddCaseQty;//2箱
+
+    @ApiModelProperty(value = "零散数", required = true)
+    @NotNull(message = "零散数 can not blank!", groups = validAdd.class)
+    private BigDecimal oddPieceQty;//10个
+
+    @ApiModelProperty(value = "batch_id")
+//	@NotBlank(message = "batch_id can not blank!", groups = validAdd.class)
+    private String batchId;
+
+    @ApiModelProperty(value = "批次号")
+//	@NotBlank(message = "批次号 can not blank!", groups = validAdd.class)
+    private String batchNum;
+
+    @ApiModelProperty(value = "批次生产日期")
+//	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+//	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date batchProductionDate;
+
+    @ApiModelProperty(value = "批次有效期")
+//	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+//	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date batchExpiredDate;
+
+    @ApiModelProperty(value = "供应商批次号")
+    private String vendorBatchNum;
+
+    //	@ApiModelProperty(value = "生产商批号")
+    @ApiModelProperty(value = "批号")
+//	@NotNull(message = "批号不能为空!", groups = validAdd.class)
+    private String manufacturerLotNum;
+
+    @ApiModelProperty(value = "erp批号(预留字段)")
+    private String erpBatchNum;
+
+    @ApiModelProperty(value = "容器编码")
+    private String containerCode;
+
+    @ApiModelProperty(value = "货格编码")
+    private String goodsCaseCode;
+
+    @ApiModelProperty(value = "收货结论(0合格/1不合格/2待处理/3拒绝)")
+    private String stockStatus;
+
+    @ApiModelProperty(value = "处理原因")
+    private String rcvReason1;
+
+    @ApiModelProperty(value = "不足原因")
+    private String rcvReason2;
+
+    @ApiModelProperty(value = "不足原因补充")
+    private String rcvReason3;
+
+    @ApiModelProperty(value = "退货原因")
+    private String rcvRtReason;
+
+    @ApiModelProperty(value = "执行者(收货员)")
+    private String executorUser;
+
+    @ApiModelProperty(value = "备注")
+    private String comments;
+
+    @ApiModelProperty(value = "created_name")
+    private String createdName;
+
+    @ApiModelProperty(value = "last_updated_name")
+    private String lastUpdatedName;
+
+    @ApiModelProperty(value = "WMS已入库最小单位数量?")
+    private BigDecimal wmsPieceQty;
+
+    @ApiModelProperty(value = "辅助状态(做上传控制)")
+    private String statusAs;
+
+    @ApiModelProperty(value = "来源单类型")
+    private String srcBillType;
+
+    @ApiModelProperty(value = "货主id")
+    private String mtlOwnerId;
+
+    @ApiModelProperty(value = "双人业务类型(0:正常 1:双人验收,默认正常)")
+    private Integer itemHealthIsDouble;
+
+    @ApiModelProperty(value = "仓库(id)")
+    private String warehouseId;
+
+    @ApiModelProperty(value = "仓库(名称)")
+    private String warehouseName;
+
+    @ApiModelProperty(value = "货主名称")
+    private String mtlOwnerName;
+
+    @ApiModelProperty(value = "是否两票制")
+    private Integer itemHealthTwovoteflag;
+
+    @ApiModelProperty(value = "推荐库位(名称)")
+    private String warehouseLocator;
+
+//	@ApiModelProperty(value = "推荐库位(id)")
+//	private String warehouseLocatorId;
+
+    @ApiModelProperty(value = "推荐库房(名称)")
+    private String warehouseRoom;
+
+//	@ApiModelProperty(value = "推荐库房(id)")
+//	private String warehouseRoomId;
+
+    @ApiModelProperty(value = "推荐库别(名称)")
+    private String warehouseAreaCategory;
+
+    @ApiModelProperty(value = "赠品最小单位数量")
+    private BigDecimal freeQty;
+
+    @ApiModelProperty(value = "商品重量")
+    private BigDecimal itemWeight;
+
+    @ApiModelProperty(value = "商品体积")
+    private BigDecimal itemVolume;
+
+    @ApiModelProperty(value = "商品批准文号")
+    private String approvalNumber;
+
+    @ApiModelProperty(value = "商品产地")
+    private String productionPlace;
+
+    @ApiModelProperty(value = "商品编码(列表展示用)", position = Integer.MAX_VALUE - 1)
+    private String itemNum;
+    @ApiModelProperty(value = "商品名称(列表展示用)", position = Integer.MAX_VALUE - 2)
+    private String itemName;
+    @ApiModelProperty(value = "商品分类名(列表展示用)", position = Integer.MAX_VALUE - 3)
+    private String categoryName;
+    @ApiModelProperty(value = "商品条码(列表展示用)", position = Integer.MAX_VALUE - 4)
+    private String itemBarcode;
+
+    @ApiModelProperty(value = "数据版本号", hidden = true)
+    private Integer dataVersion;
+
+    @ApiModelProperty(value = "商品分类code名(展示用)", position = 9)
+    private String categoryId;
+    @ApiModelProperty(value = "仓库编码", position = 9)
+    private String warehouseCode;
+
+    // -------------------库存服务所需字段--------------------------------
+    // 供应商id
+    @ApiModelProperty(value = "供应商id(隐藏字段)", position = 9)
+    private String vendorId;
+    // 组织id
+    @ApiModelProperty(value = "组织id(隐藏字段)", position = 9)
+    private String orgId;
+    // 单品含税额
+    @ApiModelProperty(value = "单品含税进价(隐藏字段)", position = 9)
+    private BigDecimal piecePriceTi;
+    // 单品不含税额
+    @ApiModelProperty(value = "单品不含税进价(隐藏字段)", position = 9)
+    private BigDecimal piecePriceTe;
+    // 税率
+    @ApiModelProperty(value = "税率(隐藏字段)", position = 9)
+    private BigDecimal taxRate;
+
+//	@ApiModelProperty(value = "库别编码", position = 9)
+//	private String whAreaCategoryCode;
+
+    @ApiModelProperty(value = "商品大类", position = 9)
+    private String itemCategoryName;
+
+    // ============5.12 新增字段==========================
+
+    @ApiModelProperty(value = "库区编号(逗号分隔列表)", position = -1)
+    private String warehouseAreaCodes;
+    @ApiModelProperty(value = "商品整散分离标识(0整散合一/1整散分开)", position = -1)
+    private String itemIsPieceOrCase;
+    @ApiModelProperty(value = "商品整散分离标识2(0整散合一/1整散分开)", position = -1)
+    private String isCaseOrPiece;
+    @ApiModelProperty(value = "推荐库别编号(逗号分隔列表)", position = -1)
+    private String warehouseAreaCategorys;
+    @ApiModelProperty(value = "收货类型", position = -1)
+    private String rcvType;
+
+    // ===============5.17 新加字段================
+    @ApiModelProperty(value = "商品规格说明(冗余)", position = -1)
+    private String specification;
+    @ApiModelProperty(value = "上市许可持有人(冗余)", position = -1)
+    private String itemHealthListedLicensor;
+    @ApiModelProperty(value = "生产企业许可证号(冗余)", position = -1)
+    private String itemHealthProduceLicense;
+    @ApiModelProperty(value = "存储分类(冗余)", position = -1)
+    private String itemHealthStoreCategory;
+    @ApiModelProperty(value = "商品是否进口(冗余)", position = -1)
+    private Integer itemIsImported;
+    @ApiModelProperty(value = "商品是否复检(0否1是)(冗余)", position = -1)
+    private Integer itemIsRecheck;
+    @ApiModelProperty(value = "商品是否器械(0否1是)(冗余)", position = -1)
+    private Integer isInstrument;
+
+    // ========5.20新加==========================
+    // 商品通用名
+    @ApiModelProperty(value = "商品通用名(冗余)", position = -2)
+    private String itemHealthCommonName;
+    // 商品是否锁定
+    @ApiModelProperty(value = "商品是否锁定(0否1是)(冗余)", position = -2)
+    private Integer isLock;
+    // 商品是否代管
+    @ApiModelProperty(value = "商品是否代管(0否1是)(冗余)", position = -2)
+    private Integer isHosted;
+    // 生产厂家id
+    @ApiModelProperty(value = "生产厂家id(冗余)", position = -2)
+    private String manufacturerId;
+    // 生产厂家code
+    @ApiModelProperty(value = "生产厂家编码(冗余)", position = -2)
+    private String manufacturerCode;
+    // 生产厂家name
+    @ApiModelProperty(value = "生产厂家名称(冗余)", position = -2)
+    private String manufacturerName;
+    @ApiModelProperty(value = "入库预留保质天数(冗余)", position = -2)
+    private BigDecimal inStoreDay;
+    // 注册证号
+    @ApiModelProperty(value = "注册证号(冗余)", position = -2)
+    private String itemHealthRegisterNbr;
+    // 有效期天数(需转换)
+    @ApiModelProperty(value = "有效期天数(需转换)(冗余)", position = -2)
+    private BigDecimal shelfLifeDays;
+    // 保质期单位
+    @ApiModelProperty(value = "保质期单位(年/月/日,默认日)(冗余)", position = -2)
+    private String shelfLifeUnit;
+    // 是否特殊品
+    @ApiModelProperty(value = "商品是否特殊品(0否1是)(冗余)", position = -2)
+    private Integer itemIsSpecial;
+    // 是否无菌
+    @ApiModelProperty(value = "商品是否无菌(0否1是)(冗余)", position = -2)
+    private Integer isBacteria;
+    // 退货单位提供的商品售出期间储存、运输质量控制情况
+    @ApiModelProperty(value = "退货单位提供的商品售出期间储存、运输质量控制情况(冗余)", position = -2)
+    private String returnInfo;
+    // 退货冷藏品出库期质量
+    @ApiModelProperty(value = "退货冷藏品出库期质量(冗余)", position = -2)
+    private String returnColdQuality;
+    // 退货说明
+    @ApiModelProperty(value = "退货说明(冗余)", position = -2)
+    private String returnExplain;
+
+    @ApiModelProperty(value = "选择的库区名称", position = -3)
+    private String warehouseAreaName;
+    @ApiModelProperty(value = "选择的库区id", position = -3)
+    private String warehouseAreaId;
+    @ApiModelProperty(value = "选择的库区编号", position = -3)
+    private String warehouseAreaCode;
+    @ApiModelProperty(value = "选择的建筑物id", position = -3)
+    private String bldgId;
+    @ApiModelProperty(value = "选择的建筑物名称", position = -3)
+    private String bldgName;
+    @ApiModelProperty(value = "选择的建筑物编号", position = -3)
+    private String bldgCode;
+
+    // ==== 6.1 新加字段===========================================================
+    @ApiModelProperty(value = "是否委托生产(0否1是)", position = -4)
+    private Integer isDelegate;
+    @ApiModelProperty(value = "受托生产企业id(Oemid)", position = -4)
+    private String delegationPartyId;
+    @ApiModelProperty(value = "受托生产企业名称(Oem名称)", position = -4)
+    private String delegationPartyName;
+
+    // ==== 6.9 新加字段===========================================================
+    @ApiModelProperty(value = "显示生产日期", position = -4)
+    private String showProductionDate;
+    @ApiModelProperty(value = "显示有效期至", position = -4)
+    private String showExpiredDate;
+    @ApiModelProperty(value = "最小包装数", position = -4)
+    private BigDecimal pieceConversionRate;
+    @ApiModelProperty(value = "推荐库房列表", position = -4)
+    private String warehouseRoomCodes;
+
+    // ============6.10新加字段======================================================
+    @ApiModelProperty(value = "asn单行明细备注", position = -4)
+    private String asnLineRemark;
+
+    // ============6.11新加字段======================================================
+    @ApiModelProperty(value = "商品助记码", position = -4)
+    private String itemZjm;
+
+    // =============6.16新加字段========================================================
+    // 是否强制更新批号信息(只会更新库存中的批号表,暂不考虑更新所有的收货行及其关联信息)
+    // 是否新增还是更新
+    @ApiModelProperty(value = "更新标识(0新增,1修改,2不变)", position = -5)
+    private Integer editFlag;
+
+    @ApiModelProperty(value = "收货行拓展属性", notes = "新增极联用", position = Integer.MAX_VALUE)
+    private RcvLinesProfilesDTO rcvLinesProfilesDTO;
+
+    @ApiModelProperty(value = "收货行图片", notes = "新增极联用", position = Integer.MAX_VALUE)
+    private List<RcvLinesPicDTO> rcvLinesPicDTOList;
+
+    @ApiModelProperty(value = "是否追溯(0否1是)默认0", position = -5)
+    private Integer isRetrospect;
+
+    @ApiModelProperty(value = "质检报告单号(关联批次)", position = -6)
+    private String rqcReportNo;
+
+    // 8.27新加
+    @ApiModelProperty(value = "(新)货位id/用于调账选择", position = -7)
+    private String whLocatorId;
+    @ApiModelProperty(value = "(新)货位code/用于调账选择", position = -7)
+    private String whLocatorCode;
+    @ApiModelProperty(value = "(新)货位库区code/用于调账选择", position = -7)
+    private String whAreaCode;
+    @ApiModelProperty(value = "(新)货位库别code/用于调账选择", position = -7)
+    private String whAreaCategoryCode;
+    @ApiModelProperty(value = "(新)库存转换操作类型 0-代管转正常;1-代管转待检;2-待检转正常", position = -7)
+    private String inventoryOpType;
+
+    // 关联代管
+    @ApiModelProperty(value = "(新)关联的代管货位id", position = -7)
+    private String hostLocatorId;
+
+    // 批号校验标识
+    @ApiModelProperty(value = "(新)是否已经校验过批次(0否1是)", position = -8)
+    private Integer isCheckedBatch;
+
+    @ApiModelProperty(value = "(新)是否双人收货(0否1是)", position = -9)
+    private Integer isDoubleReceive;
+
+    @ApiModelProperty(value = "复检任务id", position = -2000)
+    private String taskRecheckId;
+
+    @ApiModelProperty(value = "是否打印(生成上架标签时)", position = -2000)
+    private Boolean printInstockLable;
+
+    @ApiModelProperty(value = "托盘码放规则")
+    private String palletPlacedRule;
+
+    @ApiModelProperty(value = "剂型", position = -2000)
+    private String itemHealthType;
+
+    @ApiModelProperty(value = "拼箱号", position = -2000)
+    private String locNo;
+
+    @ApiModelProperty(value = "库别校验集合", position = -7)
+    private List<String> whAreaCategoryCodeList;
+
+    @ApiModelProperty(value = "到货整件数")
+    @JsonProperty(value = "ATTR_NUM1")
+    private BigDecimal attrNum1;
+
+    @ApiModelProperty(value = "到货零散数")
+    @JsonProperty(value = "ATTR_NUM2")
+    private BigDecimal attrNum2;
+
+    public BigDecimal getAttrNum1() {
+        return attrNum1;
+    }
+
+    public void setAttrNum1(BigDecimal attrNum1) {
+        this.attrNum1 = attrNum1;
+    }
+
+    public BigDecimal getAttrNum2() {
+        return attrNum2;
+    }
+
+    public void setAttrNum2(BigDecimal attrNum2) {
+        this.attrNum2 = attrNum2;
+    }
+
+    public String getPalletPlacedRule() {
+        return palletPlacedRule;
+    }
+
+    public void setPalletPlacedRule(String palletPlacedRule) {
+        this.palletPlacedRule = palletPlacedRule;
+    }
+
+    public Boolean getPrintInstockLable() {
+        return printInstockLable;
+    }
+
+    public void setPrintInstockLable(Boolean printInstockLable) {
+        this.printInstockLable = printInstockLable;
+    }
+
+    public String getTaskRecheckId() {
+        return taskRecheckId;
+    }
+
+    public void setTaskRecheckId(String taskRecheckId) {
+        this.taskRecheckId = taskRecheckId;
+    }
+
+    public Integer getIsDoubleReceive() {
+        return isDoubleReceive;
+    }
+
+    public void setIsDoubleReceive(Integer isDoubleReceive) {
+        this.isDoubleReceive = isDoubleReceive;
+    }
+
+    public Integer getIsCheckedBatch() {
+        return isCheckedBatch;
+    }
+
+    public void setIsCheckedBatch(Integer isCheckedBatch) {
+        this.isCheckedBatch = isCheckedBatch;
+    }
+
+    public String getHostLocatorId() {
+        return hostLocatorId;
+    }
+
+    public void setHostLocatorId(String hostLocatorId) {
+        this.hostLocatorId = hostLocatorId;
+    }
+
+    public String getInventoryOpType() {
+        return inventoryOpType;
+    }
+
+    public void setInventoryOpType(String inventoryOpType) {
+        this.inventoryOpType = inventoryOpType;
+    }
+
+    // 8.27新加
+    public String getWhAreaCategoryCode() {
+        return whAreaCategoryCode;
+    }
+
+    public void setWhAreaCategoryCode(String whAreaCategoryCode) {
+        this.whAreaCategoryCode = whAreaCategoryCode;
+    }
+
+    public String getWhAreaCode() {
+        return whAreaCode;
+    }
+
+    public void setWhAreaCode(String whAreaCode) {
+        this.whAreaCode = whAreaCode;
+    }
+
+    public String getWhLocatorId() {
+        return whLocatorId;
+    }
+
+    public void setWhLocatorId(String whLocatorId) {
+        this.whLocatorId = whLocatorId;
+    }
+
+    public String getWhLocatorCode() {
+        return whLocatorCode;
+    }
+
+    public void setWhLocatorCode(String whLocatorCode) {
+        this.whLocatorCode = whLocatorCode;
+    }
+
+    public String getRqcReportNo() {
+        return rqcReportNo;
+    }
+
+    public void setRqcReportNo(String rqcReportNo) {
+        this.rqcReportNo = rqcReportNo;
+    }
+
+    public String getIsCaseOrPiece() {
+        return isCaseOrPiece;
+    }
+
+    public void setIsCaseOrPiece(String isCaseOrPiece) {
+        this.isCaseOrPiece = isCaseOrPiece;
+    }
+
+    public Integer getIsRetrospect() {
+        return isRetrospect;
+    }
+
+    public void setIsRetrospect(Integer isRetrospect) {
+        this.isRetrospect = isRetrospect;
+    }
+
+    public Integer getIsDelegate() {
+        return isDelegate;
+    }
+
+    public void setIsDelegate(Integer isDelegate) {
+        this.isDelegate = isDelegate;
+    }
+
+    public Integer getEditFlag() {
+        return editFlag;
+    }
+
+    public void setEditFlag(Integer editFlag) {
+        this.editFlag = editFlag;
+    }
+
+    public String getItemZjm() {
+        return itemZjm;
+    }
+
+    public void setItemZjm(String itemZjm) {
+        this.itemZjm = itemZjm;
+    }
+
+    public String getAsnLineRemark() {
+        return asnLineRemark;
+    }
+
+    public void setAsnLineRemark(String asnLineRemark) {
+        this.asnLineRemark = asnLineRemark;
+    }
+
+    public List<RcvLinesPicDTO> getRcvLinesPicDTOList() {
+        return rcvLinesPicDTOList;
+    }
+
+    public void setRcvLinesPicDTOList(List<RcvLinesPicDTO> rcvLinesPicDTOList) {
+        this.rcvLinesPicDTOList = rcvLinesPicDTOList;
+    }
+
+    public String getShowProductionDate() {
+        return showProductionDate;
+    }
+
+
+    public void setShowProductionDate(String showProductionDate) {
+        this.showProductionDate = showProductionDate;
+        if(showProductionDate.length()> 6){
+            if(!StringUtils.isEmpty(showProductionDate)&&!showProductionDate.equals("*")){
+                this.showProductionDate = DateUtil.format(DateUtil.parse(showProductionDate), "yyyyMMdd");
+            }
+        }
+    }
+
+    public String getShowExpiredDate() {
+        return showExpiredDate;
+    }
+
+
+    public void setShowExpiredDate(String showExpiredDate) {
+        this.showExpiredDate = showExpiredDate;
+        if(!StringUtils.isEmpty(showExpiredDate)&&!showExpiredDate.equals("*")){
+            if (showExpiredDate.length() == 6) {
+                this.showExpiredDate = DateUtil.parse(showExpiredDate, "yyyyMM").toString("yyyyMM");
+                return;
+            }
+            this.showExpiredDate = DateUtil.format(DateUtil.parse(showExpiredDate), "yyyyMMdd");
+        }
+    }
+
+    public BigDecimal getPieceConversionRate() {
+        return pieceConversionRate;
+    }
+
+    public void setPieceConversionRate(BigDecimal pieceConversionRate) {
+        this.pieceConversionRate = pieceConversionRate;
+    }
+
+    public String getWarehouseRoomCodes() {
+        return warehouseRoomCodes;
+    }
+
+    public void setWarehouseRoomCodes(String warehouseRoomCodes) {
+        this.warehouseRoomCodes = warehouseRoomCodes;
+    }
+
+    public String getDelegationPartyId() {
+        return delegationPartyId;
+    }
+
+    public void setDelegationPartyId(String delegationPartyId) {
+        this.delegationPartyId = delegationPartyId;
+    }
+
+    public String getDelegationPartyName() {
+        return delegationPartyName;
+    }
+
+    public void setDelegationPartyName(String delegationPartyName) {
+        this.delegationPartyName = delegationPartyName;
+    }
+
+    public String getWarehouseAreaCode() {
+        return warehouseAreaCode;
+    }
+
+    public void setWarehouseAreaCode(String warehouseAreaCode) {
+        this.warehouseAreaCode = warehouseAreaCode;
+    }
+
+    public String getBldgId() {
+        return bldgId;
+    }
+
+    public void setBldgId(String bldgId) {
+        this.bldgId = bldgId;
+    }
+
+    public String getBldgName() {
+        return bldgName;
+    }
+
+    public void setBldgName(String bldgName) {
+        this.bldgName = bldgName;
+    }
+
+    public String getBldgCode() {
+        return bldgCode;
+    }
+
+    public void setBldgCode(String bldgCode) {
+        this.bldgCode = bldgCode;
+    }
+
+    public String getItemHealthCommonName() {
+        return itemHealthCommonName;
+    }
+
+    public void setItemHealthCommonName(String itemHealthCommonName) {
+        this.itemHealthCommonName = itemHealthCommonName;
+    }
+
+    public Integer getIsLock() {
+        return isLock;
+    }
+
+    public void setIsLock(Integer isLock) {
+        this.isLock = isLock;
+    }
+
+    public Integer getIsHosted() {
+        return isHosted;
+    }
+
+    public void setIsHosted(Integer isHosted) {
+        this.isHosted = isHosted;
+    }
+
+    public String getManufacturerId() {
+        return manufacturerId;
+    }
+
+    public void setManufacturerId(String manufacturerId) {
+        this.manufacturerId = manufacturerId;
+    }
+
+    public String getManufacturerCode() {
+        return manufacturerCode;
+    }
+
+    public void setManufacturerCode(String manufacturerCode) {
+        this.manufacturerCode = manufacturerCode;
+    }
+
+    public String getManufacturerName() {
+        return manufacturerName;
+    }
+
+    public void setManufacturerName(String manufacturerName) {
+        this.manufacturerName = manufacturerName;
+    }
+
+    public BigDecimal getInStoreDay() {
+        return inStoreDay;
+    }
+
+    public void setInStoreDay(BigDecimal inStoreDay) {
+        this.inStoreDay = inStoreDay;
+    }
+
+    public String getItemHealthRegisterNbr() {
+        return itemHealthRegisterNbr;
+    }
+
+    public void setItemHealthRegisterNbr(String itemHealthRegisterNbr) {
+        this.itemHealthRegisterNbr = itemHealthRegisterNbr;
+    }
+
+    public BigDecimal getShelfLifeDays() {
+        return shelfLifeDays;
+    }
+
+    public void setShelfLifeDays(BigDecimal shelfLifeDays) {
+        this.shelfLifeDays = shelfLifeDays;
+    }
+
+    public String getShelfLifeUnit() {
+        return shelfLifeUnit;
+    }
+
+    public void setShelfLifeUnit(String shelfLifeUnit) {
+        this.shelfLifeUnit = shelfLifeUnit;
+    }
+
+    public Integer getItemIsSpecial() {
+        return itemIsSpecial;
+    }
+
+    public void setItemIsSpecial(Integer itemIsSpecial) {
+        this.itemIsSpecial = itemIsSpecial;
+    }
+
+    public Integer getIsBacteria() {
+        return isBacteria;
+    }
+
+    public void setIsBacteria(Integer isBacteria) {
+        this.isBacteria = isBacteria;
+    }
+
+    public String getReturnInfo() {
+        return returnInfo;
+    }
+
+    public void setReturnInfo(String returnInfo) {
+        this.returnInfo = returnInfo;
+    }
+
+    public String getReturnColdQuality() {
+        return returnColdQuality;
+    }
+
+    public void setReturnColdQuality(String returnColdQuality) {
+        this.returnColdQuality = returnColdQuality;
+    }
+
+    public String getReturnExplain() {
+        return returnExplain;
+    }
+
+    public void setReturnExplain(String returnExplain) {
+        this.returnExplain = returnExplain;
+    }
+
+    public String getSpecification() {
+        return specification;
+    }
+
+    public void setSpecification(String specification) {
+        this.specification = specification;
+    }
+
+    public String getItemHealthListedLicensor() {
+        return itemHealthListedLicensor;
+    }
+
+    public void setItemHealthListedLicensor(String itemHealthListedLicensor) {
+        this.itemHealthListedLicensor = itemHealthListedLicensor;
+    }
+
+    public String getItemHealthProduceLicense() {
+        return itemHealthProduceLicense;
+    }
+
+    public void setItemHealthProduceLicense(String itemHealthProduceLicense) {
+        this.itemHealthProduceLicense = itemHealthProduceLicense;
+    }
+
+    public String getItemHealthStoreCategory() {
+        return itemHealthStoreCategory;
+    }
+
+    public void setItemHealthStoreCategory(String itemHealthStoreCategory) {
+        this.itemHealthStoreCategory = itemHealthStoreCategory;
+    }
+
+    public Integer getItemIsImported() {
+        return itemIsImported;
+    }
+
+    public void setItemIsImported(Integer itemIsImported) {
+        this.itemIsImported = itemIsImported;
+    }
+
+    public Integer getItemIsRecheck() {
+        return itemIsRecheck;
+    }
+
+    public void setItemIsRecheck(Integer itemIsRecheck) {
+        this.itemIsRecheck = itemIsRecheck;
+    }
+
+    public Integer getIsInstrument() {
+        return isInstrument;
+    }
+
+    public void setIsInstrument(Integer isInstrument) {
+        this.isInstrument = isInstrument;
+    }
+
+    public String getRcvType() {
+        return rcvType;
+    }
+
+    public void setRcvType(String rcvType) {
+        this.rcvType = rcvType;
+    }
+
+    public String getWarehouseAreaCodes() {
+        return warehouseAreaCodes;
+    }
+
+    public void setWarehouseAreaCodes(String warehouseAreaCodes) {
+        this.warehouseAreaCodes = warehouseAreaCodes;
+    }
+
+    public String getItemIsPieceOrCase() {
+        return itemIsPieceOrCase;
+    }
+
+    public void setItemIsPieceOrCase(String itemIsPieceOrCase) {
+        this.itemIsPieceOrCase = itemIsPieceOrCase;
+    }
+
+    public String getWarehouseAreaCategorys() {
+        return warehouseAreaCategorys;
+    }
+
+    public void setWarehouseAreaCategorys(String warehouseAreaCategorys) {
+        this.warehouseAreaCategorys = warehouseAreaCategorys;
+    }
+
+    public String getItemCategoryName() {
+        return itemCategoryName;
+    }
+
+    public void setItemCategoryName(String itemCategoryName) {
+        this.itemCategoryName = itemCategoryName;
+    }
+
+    public String getCategoryId() {
+        return categoryId;
+    }
+
+    public void setCategoryId(String categoryId) {
+        this.categoryId = categoryId;
+    }
+
+    public String getWarehouseCode() {
+        return warehouseCode;
+    }
+
+    public void setWarehouseCode(String warehouseCode) {
+        this.warehouseCode = warehouseCode;
+    }
+
+    public String getVendorId() {
+        return vendorId;
+    }
+
+    public void setVendorId(String vendorId) {
+        this.vendorId = vendorId;
+    }
+
+    public String getOrgId() {
+        return orgId;
+    }
+
+    public void setOrgId(String orgId) {
+        this.orgId = orgId;
+    }
+
+    public BigDecimal getPiecePriceTi() {
+        return piecePriceTi;
+    }
+
+    public void setPiecePriceTi(BigDecimal piecePriceTi) {
+        this.piecePriceTi = piecePriceTi;
+    }
+
+    public BigDecimal getPiecePriceTe() {
+        return piecePriceTe;
+    }
+
+    public void setPiecePriceTe(BigDecimal piecePriceTe) {
+        this.piecePriceTe = piecePriceTe;
+    }
+
+    public BigDecimal getTaxRate() {
+        return taxRate;
+    }
+
+    public void setTaxRate(BigDecimal taxRate) {
+        this.taxRate = taxRate;
+    }
+
+    public Integer getDataVersion() {
+        return dataVersion;
+    }
+
+    public void setDataVersion(Integer dataVersion) {
+        this.dataVersion = dataVersion;
+    }
+
+    public String getRcvLineId() {
+        return rcvLineId;
+    }
+
+    public void setRcvLineId(String rcvLineId) {
+        this.rcvLineId = rcvLineId;
+    }
+
+    public String getRcvHeaderId() {
+        return rcvHeaderId;
+    }
+
+    public void setRcvHeaderId(String rcvHeaderId) {
+        this.rcvHeaderId = rcvHeaderId;
+    }
+
+    public String getSrcHeaderId() {
+        return srcHeaderId;
+    }
+
+    public void setSrcHeaderId(String srcHeaderId) {
+        this.srcHeaderId = srcHeaderId;
+    }
+
+    public String getSrcLineId() {
+        return srcLineId;
+    }
+
+    public void setSrcLineId(String srcLineId) {
+        this.srcLineId = srcLineId;
+    }
+
+    public String getAsnHeaderId() {
+        return asnHeaderId;
+    }
+
+    public void setAsnHeaderId(String asnHeaderId) {
+        this.asnHeaderId = asnHeaderId;
+    }
+
+    public String getAsnLineId() {
+        return asnLineId;
+    }
+
+    public void setAsnLineId(String asnLineId) {
+        this.asnLineId = asnLineId;
+    }
+
+    public String getItemId() {
+        return itemId;
+    }
+
+    public void setItemId(String itemId) {
+        this.itemId = itemId;
+    }
+
+    public String getUom() {
+        return uom;
+    }
+
+    public void setUom(String uom) {
+        this.uom = uom;
+    }
+
+    public Integer getLineNum() {
+        return lineNum;
+    }
+
+    public void setLineNum(Integer lineNum) {
+        this.lineNum = lineNum;
+    }
+
+    public String getUomType() {
+        return uomType;
+    }
+
+    public void setUomType(String uomType) {
+        this.uomType = uomType;
+    }
+
+    public BigDecimal getQty() {
+        return qty;
+    }
+
+    public void setQty(BigDecimal qty) {
+        this.qty = qty;
+    }
+
+    public BigDecimal getConversionRate() {
+        return conversionRate;
+    }
+
+    public void setConversionRate(BigDecimal conversionRate) {
+        this.conversionRate = conversionRate;
+    }
+
+    public BigDecimal getPieceQty() {
+        return pieceQty;
+    }
+
+    public void setPieceQty(BigDecimal pieceQty) {
+        this.pieceQty = pieceQty;
+    }
+
+    public BigDecimal getOddCaseQty() {
+        return oddCaseQty;
+    }
+
+    public void setOddCaseQty(BigDecimal oddCaseQty) {
+        this.oddCaseQty = oddCaseQty;
+    }
+
+    public BigDecimal getOddPieceQty() {
+        return oddPieceQty;
+    }
+
+    public void setOddPieceQty(BigDecimal oddPieceQty) {
+        this.oddPieceQty = oddPieceQty;
+    }
+
+    public String getBatchId() {
+        return batchId;
+    }
+
+    public void setBatchId(String batchId) {
+        this.batchId = batchId;
+    }
+
+    public String getBatchNum() {
+        return batchNum;
+    }
+
+    public void setBatchNum(String batchNum) {
+        this.batchNum = batchNum;
+    }
+
+    public Date getBatchProductionDate() {
+        return batchProductionDate;
+    }
+
+    public void setBatchProductionDate(Date batchProductionDate) {
+        this.batchProductionDate = batchProductionDate;
+    }
+
+    public Date getBatchExpiredDate() {
+        return batchExpiredDate;
+    }
+
+    public void setBatchExpiredDate(Date batchExpiredDate) {
+        this.batchExpiredDate = batchExpiredDate;
+    }
+
+    public String getVendorBatchNum() {
+        return vendorBatchNum;
+    }
+
+    public void setVendorBatchNum(String vendorBatchNum) {
+        this.vendorBatchNum = vendorBatchNum;
+    }
+
+    public String getManufacturerLotNum() {
+        return manufacturerLotNum;
+    }
+
+    public void setManufacturerLotNum(String manufacturerLotNum) {
+        this.manufacturerLotNum = manufacturerLotNum;
+    }
+
+    public String getErpBatchNum() {
+        return erpBatchNum;
+    }
+
+    public void setErpBatchNum(String erpBatchNum) {
+        this.erpBatchNum = erpBatchNum;
+    }
+
+    public String getContainerCode() {
+        return containerCode;
+    }
+
+    public void setContainerCode(String containerCode) {
+        this.containerCode = containerCode;
+    }
+
+    public String getGoodsCaseCode() {
+        return goodsCaseCode;
+    }
+
+    public void setGoodsCaseCode(String goodsCaseCode) {
+        this.goodsCaseCode = goodsCaseCode;
+    }
+
+    public String getStockStatus() {
+        return stockStatus;
+    }
+
+    public void setStockStatus(String stockStatus) {
+        this.stockStatus = stockStatus;
+    }
+
+    public String getRcvReason1() {
+        return rcvReason1;
+    }
+
+    public void setRcvReason1(String rcvReason1) {
+        this.rcvReason1 = rcvReason1;
+    }
+
+    public String getRcvReason2() {
+        return rcvReason2;
+    }
+
+    public void setRcvReason2(String rcvReason2) {
+        this.rcvReason2 = rcvReason2;
+    }
+
+    public String getRcvReason3() {
+        return rcvReason3;
+    }
+
+    public void setRcvReason3(String rcvReason3) {
+        this.rcvReason3 = rcvReason3;
+    }
+
+    public String getRcvRtReason() {
+        return rcvRtReason;
+    }
+
+    public void setRcvRtReason(String rcvRtReason) {
+        this.rcvRtReason = rcvRtReason;
+    }
+
+    public String getExecutorUser() {
+        return executorUser;
+    }
+
+    public void setExecutorUser(String executorUser) {
+        this.executorUser = executorUser;
+    }
+
+    public String getComments() {
+        return comments;
+    }
+
+    public void setComments(String comments) {
+        this.comments = comments;
+    }
+
+    public String getCreatedName() {
+        return createdName;
+    }
+
+    public void setCreatedName(String createdName) {
+        this.createdName = createdName;
+    }
+
+    public String getLastUpdatedName() {
+        return lastUpdatedName;
+    }
+
+    public void setLastUpdatedName(String lastUpdatedName) {
+        this.lastUpdatedName = lastUpdatedName;
+    }
+
+    public BigDecimal getWmsPieceQty() {
+        return wmsPieceQty;
+    }
+
+    public void setWmsPieceQty(BigDecimal wmsPieceQty) {
+        this.wmsPieceQty = wmsPieceQty;
+    }
+
+    public String getStatusAs() {
+        return statusAs;
+    }
+
+    public void setStatusAs(String statusAs) {
+        this.statusAs = statusAs;
+    }
+
+    public String getSrcBillType() {
+        return srcBillType;
+    }
+
+    public void setSrcBillType(String srcBillType) {
+        this.srcBillType = srcBillType;
+    }
+
+    public String getMtlOwnerId() {
+        return mtlOwnerId;
+    }
+
+    public void setMtlOwnerId(String mtlOwnerId) {
+        this.mtlOwnerId = mtlOwnerId;
+    }
+
+    public Integer getItemHealthIsDouble() {
+        return itemHealthIsDouble;
+    }
+
+    public void setItemHealthIsDouble(Integer itemHealthIsDouble) {
+        this.itemHealthIsDouble = itemHealthIsDouble;
+    }
+
+    public String getWarehouseId() {
+        return warehouseId;
+    }
+
+    public void setWarehouseId(String warehouseId) {
+        this.warehouseId = warehouseId;
+    }
+
+    public String getWarehouseName() {
+        return warehouseName;
+    }
+
+    public void setWarehouseName(String warehouseName) {
+        this.warehouseName = warehouseName;
+    }
+
+    public String getWarehouseAreaId() {
+        return warehouseAreaId;
+    }
+
+    public void setWarehouseAreaId(String warehouseAreaId) {
+        this.warehouseAreaId = warehouseAreaId;
+    }
+
+    public String getWarehouseAreaName() {
+        return warehouseAreaName;
+    }
+
+    public void setWarehouseAreaName(String warehouseAreaName) {
+        this.warehouseAreaName = warehouseAreaName;
+    }
+
+    public String getMtlOwnerName() {
+        return mtlOwnerName;
+    }
+
+    public void setMtlOwnerName(String mtlOwnerName) {
+        this.mtlOwnerName = mtlOwnerName;
+    }
+
+    public Integer getItemHealthTwovoteflag() {
+        return itemHealthTwovoteflag;
+    }
+
+    public void setItemHealthTwovoteflag(Integer itemHealthTwovoteflag) {
+        this.itemHealthTwovoteflag = itemHealthTwovoteflag;
+    }
+
+    public String getWarehouseLocator() {
+        return warehouseLocator;
+    }
+
+    public void setWarehouseLocator(String warehouseLocator) {
+        this.warehouseLocator = warehouseLocator;
+    }
+
+    public String getWarehouseRoom() {
+        return warehouseRoom;
+    }
+
+    public void setWarehouseRoom(String warehouseRoom) {
+        this.warehouseRoom = warehouseRoom;
+    }
+
+    public String getWarehouseAreaCategory() {
+        return warehouseAreaCategory;
+    }
+
+    public void setWarehouseAreaCategory(String warehouseAreaCategory) {
+        this.warehouseAreaCategory = warehouseAreaCategory;
+    }
+
+    public BigDecimal getFreeQty() {
+        return freeQty;
+    }
+
+    public void setFreeQty(BigDecimal freeQty) {
+        this.freeQty = freeQty;
+    }
+
+    public BigDecimal getItemWeight() {
+        return itemWeight;
+    }
+
+    public void setItemWeight(BigDecimal itemWeight) {
+        this.itemWeight = itemWeight;
+    }
+
+    public BigDecimal getItemVolume() {
+        return itemVolume;
+    }
+
+    public void setItemVolume(BigDecimal itemVolume) {
+        this.itemVolume = itemVolume;
+    }
+
+    public String getApprovalNumber() {
+        return approvalNumber;
+    }
+
+    public void setApprovalNumber(String approvalNumber) {
+        this.approvalNumber = approvalNumber;
+    }
+
+    public String getProductionPlace() {
+        return productionPlace;
+    }
+
+    public void setProductionPlace(String productionPlace) {
+        this.productionPlace = productionPlace;
+    }
+
+    public String getItemNum() {
+        return itemNum;
+    }
+
+    public void setItemNum(String itemNum) {
+        this.itemNum = itemNum;
+    }
+
+    public String getItemName() {
+        return itemName;
+    }
+
+    public void setItemName(String itemName) {
+        this.itemName = itemName;
+    }
+
+    public String getCategoryName() {
+        return categoryName;
+    }
+
+    public void setCategoryName(String categoryName) {
+        this.categoryName = categoryName;
+    }
+
+    public String getItemBarcode() {
+        return itemBarcode;
+    }
+
+    public void setItemBarcode(String itemBarcode) {
+        this.itemBarcode = itemBarcode;
+    }
+
+    public RcvLinesProfilesDTO getRcvLinesProfilesDTO() {
+        return rcvLinesProfilesDTO;
+    }
+
+    public void setRcvLinesProfilesDTO(RcvLinesProfilesDTO rcvLinesProfilesDTO) {
+        this.rcvLinesProfilesDTO = rcvLinesProfilesDTO;
+    }
+
+    public List<String> getWhAreaCategoryCodeList() {
+        return whAreaCategoryCodeList;
+    }
+
+    public void setWhAreaCategoryCodeList(List<String> whAreaCategoryCodeList) {
+        this.whAreaCategoryCodeList = whAreaCategoryCodeList;
+    }
+
+    public String getItemHealthType() {
+        return itemHealthType;
+    }
+
+    public void setItemHealthType(String itemHealthType) {
+        this.itemHealthType = itemHealthType;
+    }
+
+    public String getLocNo() {
+        return locNo;
+    }
+
+    public void setLocNo(String locNo) {
+        this.locNo = locNo;
+    }
+
+    public String getRefAsnLineId() {
+        return refAsnLineId;
+    }
+
+    public void setRefAsnLineId(String refAsnLineId) {
+        this.refAsnLineId = refAsnLineId;
+    }
+}

+ 168 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/RcvLinesPicDTO.java

@@ -0,0 +1,168 @@
+package com.prolog.cs.biz.inbound.dto.rcv;
+
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validAdd;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validEdit;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description 与收货单行图片 1:N
+ * @Author Xiong
+ * @Date 2021-04-02
+ */
+
+@ApiModel
+public class RcvLinesPicDTO implements Serializable {
+	private static final long serialVersionUID = 3194697483496216439L;
+	@ApiModelProperty(value = "上传ID(主键雪花id)", required = true)
+	@NotBlank(message = "上传ID(主键雪花id) can not blank!", groups = validEdit.class)
+	private String rcvHeaderPicId;
+
+	@ApiModelProperty(value = "收货单头ID", required = true)
+	@NotBlank(message = "收货单头ID can not blank!", groups = validAdd.class)
+	private String rcvHeaderId;
+
+	@ApiModelProperty(value = "采购单号")
+	private String srcHeaderId;
+
+	@ApiModelProperty(value = "采购单号")
+	private String srcAutoBullNum;
+
+	@ApiModelProperty(value = "企业ID")
+	private String entId;
+
+	@ApiModelProperty(value = "商品ID")
+	private String itemId;
+
+	@ApiModelProperty(value = "批次ID")
+	private String batchId;
+
+	@ApiModelProperty(value = "图片名称", required = true)
+	@NotBlank(message = "图片名称 can not blank!", groups = validAdd.class)
+	private String picFilename;
+
+	@ApiModelProperty(value = "图片地址", required = true)
+	@NotBlank(message = "图片地址 can not blank!", groups = validAdd.class)
+	private String picFileurl;
+
+	@ApiModelProperty(value = "上传时间")
+	private Date executorDate;
+
+	@ApiModelProperty(value = "上传人员id")
+	private String executorUserid;
+
+	@ApiModelProperty(value = "上传人员名称")
+	private String executorUserName;
+
+	@ApiModelProperty(value = "行ID(和rcv_line主键一致)")
+	private String rcvLineId;
+
+	public String getRcvLineId() {
+		return rcvLineId;
+	}
+
+	public void setRcvLineId(String rcvLineId) {
+		this.rcvLineId = rcvLineId;
+	}
+
+	public String getRcvHeaderPicId() {
+		return this.rcvHeaderPicId;
+	}
+
+	public void setRcvHeaderPicId(String rcvHeaderPicId) {
+		this.rcvHeaderPicId = rcvHeaderPicId;
+	}
+
+	public String getRcvHeaderId() {
+		return this.rcvHeaderId;
+	}
+
+	public void setRcvHeaderId(String rcvHeaderId) {
+		this.rcvHeaderId = rcvHeaderId;
+	}
+
+	public String getSrcHeaderId() {
+		return this.srcHeaderId;
+	}
+
+	public void setSrcHeaderId(String srcHeaderId) {
+		this.srcHeaderId = srcHeaderId;
+	}
+
+	public String getSrcAutoBullNum() {
+		return this.srcAutoBullNum;
+	}
+
+	public void setSrcAutoBullNum(String srcAutoBullNum) {
+		this.srcAutoBullNum = srcAutoBullNum;
+	}
+
+	public String getEntId() {
+		return this.entId;
+	}
+
+	public void setEntId(String entId) {
+		this.entId = entId;
+	}
+
+	public String getItemId() {
+		return this.itemId;
+	}
+
+	public void setItemId(String itemId) {
+		this.itemId = itemId;
+	}
+
+	public String getBatchId() {
+		return this.batchId;
+	}
+
+	public void setBatchId(String batchId) {
+		this.batchId = batchId;
+	}
+
+	public String getPicFilename() {
+		return this.picFilename;
+	}
+
+	public void setPicFilename(String picFilename) {
+		this.picFilename = picFilename;
+	}
+
+	public String getPicFileurl() {
+		return this.picFileurl;
+	}
+
+	public void setPicFileurl(String picFileurl) {
+		this.picFileurl = picFileurl;
+	}
+
+	public Date getExecutorDate() {
+		return this.executorDate;
+	}
+
+	public void setExecutorDate(Date executorDate) {
+		this.executorDate = executorDate;
+	}
+
+	public String getExecutorUserid() {
+		return this.executorUserid;
+	}
+
+	public void setExecutorUserid(String executorUserid) {
+		this.executorUserid = executorUserid;
+	}
+
+	public String getExecutorUserName() {
+		return this.executorUserName;
+	}
+
+	public void setExecutorUserName(String executorUserName) {
+		this.executorUserName = executorUserName;
+	}
+
+}

+ 881 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/RcvLinesProfilesDTO.java

@@ -0,0 +1,881 @@
+package com.prolog.cs.biz.inbound.dto.rcv;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validAdd;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validEdit;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @Description 收货单明细扩展表 (冗余字段的存放,收货跨库查询的数据可以从该表出) 运输信息,价格,医药信息等
+ * @Author Xiong
+ * @Date 2021-04-02
+ */
+
+@ApiModel
+public class RcvLinesProfilesDTO implements Serializable {
+	private static final long serialVersionUID = 3090317823321948129L;
+	@ApiModelProperty(value = "行ID(和rcv_line主键一致)", required = true)
+	@NotBlank(message = "行ID(和rcv_line主键一致) can not blank!", groups = { validAdd.class, validEdit.class })
+	private String rcvLineId;
+
+	@ApiModelProperty(value = "头ID", required = true)
+	@NotBlank(message = "头ID can not blank!", groups = validAdd.class)
+	private String rcvHeaderId;
+
+	@ApiModelProperty(value = "行号", required = true)
+//	@NotNull(message = "行号 can not blank!", groups = validAdd.class)
+	private BigDecimal lineNum;
+
+	@ApiModelProperty(value = "商品ID", required = true)
+	@NotBlank(message = "商品ID can not blank!", groups = validAdd.class)
+	private String itemId;
+
+	@ApiModelProperty(value = "商品编号(冗余)", required = true)
+	@NotBlank(message = "商品编号(冗余) can not blank!", groups = validAdd.class)
+	private String itemNum;
+
+	@ApiModelProperty(value = "商品名称(冗余)")
+	private String itemName;
+
+	@ApiModelProperty(value = "上级商品ID(冗余)")
+	private String parentitemid;
+
+	@ApiModelProperty(value = "行类型(预留)")
+	private String linetype;
+
+	@ApiModelProperty(value = "尺寸(冗余)")
+	private String sizecode;
+
+	@ApiModelProperty(value = "颜色(冗余)")
+	private String colorcode;
+
+	@ApiModelProperty(value = "版本(冗余)")
+	private String revision;
+
+	@ApiModelProperty(value = "供应商商品编码(冗余)")
+	private String vendoritemcode;
+
+	@ApiModelProperty(value = "商品分类(冗余)")
+	private String categoryId;
+
+	@ApiModelProperty(value = "单品含税进价", required = true)
+//	@NotNull(message = "单品含税进价 can not blank!", groups = validAdd.class)
+	private BigDecimal piecePriceTi;
+
+	@ApiModelProperty(value = "单品不含税进价", required = true)
+//	@NotNull(message = "单品不含税进价 can not blank!", groups = validAdd.class)
+	private BigDecimal piecePriceTe;
+
+	@ApiModelProperty(value = "含税进价", required = true)
+//	@NotNull(message = "含税进价 can not blank!", groups = validAdd.class)
+	private BigDecimal unitPriceTi;
+
+	@ApiModelProperty(value = "不含税进价", required = true)
+//	@NotNull(message = "不含税进价 can not blank!", groups = validAdd.class)
+	private BigDecimal unitPriceTe;
+
+	@ApiModelProperty(value = "含税金额", required = true)
+//	@NotNull(message = "含税金额 can not blank!", groups = validAdd.class)
+	private BigDecimal taTi;
+
+	@ApiModelProperty(value = "不含税金额", required = true)
+//	@NotNull(message = "不含税金额 can not blank!", groups = validAdd.class)
+	private BigDecimal taTe;
+
+	@ApiModelProperty(value = "税额", required = true)
+//	@NotNull(message = "税额 can not blank!", groups = validAdd.class)
+	private BigDecimal taTax;
+
+	@ApiModelProperty(value = "扣率")
+	private BigDecimal discountRate;
+
+	@ApiModelProperty(value = "税率")
+	private BigDecimal taxRate;
+
+	@ApiModelProperty(value = "参考进价(单品)")
+	private BigDecimal refPurchasePriceTi;
+
+	@ApiModelProperty(value = "冷藏方式")
+	private String coldstoretype;
+
+	@ApiModelProperty(value = "冷藏状态")
+	private String cold;
+
+	@ApiModelProperty(value = "发运地点")
+	private String shipfromadd;
+
+	@ApiModelProperty(value = "发运日期")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date shipfromdate;
+
+	@ApiModelProperty(value = "运输方式")
+	private String shiptype;
+
+	@ApiModelProperty(value = "温控方式")
+	private String temperaturectype;
+
+	@ApiModelProperty(value = "到货时间")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date shiparrivetime;
+
+	@ApiModelProperty(value = "到货温度")
+	private BigDecimal shiparrivetemperature;
+
+	@ApiModelProperty(value = "运输过程温度记录")
+	private String shiptemptrack;
+
+	@ApiModelProperty(value = "温控状况")
+	private String tempcinfo;
+
+	@ApiModelProperty(value = "运输单位")
+	private String carriername;
+
+	@ApiModelProperty(value = "灭菌批号")
+	private String sterilizelotno;
+
+	@ApiModelProperty(value = "进口注册证号")
+	private String imppaperno;
+
+	@ApiModelProperty(value = "中药分装批号")
+	private String cmpacklotno;
+
+	@ApiModelProperty(value = "评定原因")
+	private String rcvstockstatusreason;
+
+	@ApiModelProperty(value = "灭菌效期")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date sterilizeexpdate;
+
+	@ApiModelProperty(value = "灭菌序号")
+	private String sterilizesnno;
+
+	@ApiModelProperty(value = "Paper注册证号")
+	private String paperno;
+
+	@ApiModelProperty(value = "备注")
+	private String comments;
+
+	// 加入商品规格,助记码,批准文号
+	@ApiModelProperty(value = "批准文号")
+	private String itemHealthApprovalNbr;
+
+	@ApiModelProperty(value = "助记码")
+	private String itemAssistantCode;
+
+//	@ApiModelProperty(value = "商品规格") ?
+//	private String comments;
+
+	@ApiModelProperty(value = "整散标记(?到仓库 ,不能为通用属性 01整散合一/02整散分开)")
+	private String isCaseOrPiece;
+
+	@ApiModelProperty(value = "质量检查方式(不质检/质检方式1/质检方式2)")
+	private String qcMode;
+
+	@ApiModelProperty(value = "最大单位箱规")
+	private BigDecimal caseConversionRate;
+
+	@ApiModelProperty(value = "商品分类(冗余)")
+	private String categoryName;
+
+	@ApiModelProperty(value = "商品条码(冗余)")
+	private String itemBarcode;
+
+	@ApiModelProperty(value = "商品条码(冗余)")
+	private String pieceBarCode;
+
+	// ===============5.17 新加字段================
+	@ApiModelProperty(value = "商品规格说明(冗余)", position = -2)
+	private String specification;
+	@ApiModelProperty(value = "上市许可持有人(冗余)", position = -2)
+	private String itemHealthListedLicensor;
+	@ApiModelProperty(value = "生产企业许可证号(冗余)", position = -2)
+	private String itemHealthProduceLicense;
+	@ApiModelProperty(value = "存储分类(冗余)", position = -2)
+	private String itemHealthStoreCategory;
+	@ApiModelProperty(value = "商品是否进口(冗余)", position = -2)
+	private Integer itemIsImported;
+	@ApiModelProperty(value = "商品是否复检(0否1是)(冗余)", position = -2)
+	private Integer itemIsRecheck;
+	@ApiModelProperty(value = "商品是否器械(0否1是)(冗余)", position = -2)
+	private Integer isInstrument;
+
+	// ===============5.19新加字段
+	// 商品通用名
+	@ApiModelProperty(value = "商品通用名(冗余)", position = -2)
+	private String itemHealthCommonName;
+	// 商品是否锁定
+	@ApiModelProperty(value = "商品是否锁定(0否1是)(冗余)", position = -2)
+	private Integer isLock;
+	// 商品是否代管
+	@ApiModelProperty(value = "商品是否代管(0否1是)(冗余)", position = -2)
+	private Integer isHosted;
+	// 生产厂家id
+	@ApiModelProperty(value = "生产厂家id(冗余)", position = -2)
+	private String manufacturerId;
+	// 生产厂家code
+	@ApiModelProperty(value = "生产厂家code(冗余)", position = -2)
+	private String manufacturerCode;
+	// 生产厂家name
+	@ApiModelProperty(value = "生产厂家name(冗余)", position = -2)
+	private String manufacturerName;
+	@ApiModelProperty(value = "入库预留保质天数(冗余)", position = -2)
+	private BigDecimal inStoreDay;
+	// 注册证号
+	@ApiModelProperty(value = "注册证号(冗余)", position = -2)
+	private String itemHealthRegisterNbr;
+	// 有效期天数(需转换)
+	@ApiModelProperty(value = "有效期天数(需转换)(冗余)", position = -2)
+	private BigDecimal shelfLifeDays;
+	// 保质期单位
+	@ApiModelProperty(value = "保质期单位(年/月/日,默认日)(冗余)", position = -2)
+	private String shelfLifeUnit;
+	// 是否特殊品
+	@ApiModelProperty(value = "商品是否特殊品(0否1是)(冗余)", position = -2)
+	private Integer itemIsSpecial;
+	// 是否无菌
+	@ApiModelProperty(value = "商品是否无菌(0否1是)(冗余)", position = -2)
+	private Integer isBacteria;
+	// 退货单位提供的商品售出期间储存、运输质量控制情况
+	@ApiModelProperty(value = "退货单位提供的商品售出期间储存、运输质量控制情况(冗余)", position = -2)
+	private String returnInfo;
+	// 退货冷藏品出库期质量
+	@ApiModelProperty(value = "退货冷藏品出库期质量(冗余)", position = -2)
+	private String returnColdQuality;
+	// 退货说明
+	@ApiModelProperty(value = "退货说明(冗余)", position = -2)
+	private String returnExplain;
+	// 退货类型
+	@ApiModelProperty(value = "退货类型(码表)", position = -2)
+	private String returnType;
+
+	// ========================6.11 新增字段=========================================
+	// 存储条件
+	@ApiModelProperty(value = "存储条件(码表)", position = -2)
+	private String storeTemperature;
+	// 采购审核意见
+	@ApiModelProperty(value = "采购审核意见", position = -2)
+	private String poAuditOpinion;
+
+	@ApiModelProperty(value = "小数拆分标识(Y为允许,其他均不可)", position = -2)
+	private String allowDecimal;
+
+	public String getPieceBarCode() {
+		return pieceBarCode;
+	}
+
+	public void setPieceBarCode(String pieceBarCode) {
+		this.pieceBarCode = pieceBarCode;
+	}
+
+	public String getAllowDecimal() {
+		return allowDecimal;
+	}
+
+	public void setAllowDecimal(String allowDecimal) {
+		this.allowDecimal = allowDecimal;
+	}
+
+	public String getPoAuditOpinion() {
+		return poAuditOpinion;
+	}
+
+	public void setPoAuditOpinion(String poAuditOpinion) {
+		this.poAuditOpinion = poAuditOpinion;
+	}
+
+	public String getStoreTemperature() {
+		return storeTemperature;
+	}
+
+	public void setStoreTemperature(String storeTemperature) {
+		this.storeTemperature = storeTemperature;
+	}
+
+	public String getReturnType() {
+		return returnType;
+	}
+
+	public void setReturnType(String returnType) {
+		this.returnType = returnType;
+	}
+
+	public String getItemHealthCommonName() {
+		return itemHealthCommonName;
+	}
+
+	public void setItemHealthCommonName(String itemHealthCommonName) {
+		this.itemHealthCommonName = itemHealthCommonName;
+	}
+
+	public Integer getIsLock() {
+		return isLock;
+	}
+
+	public void setIsLock(Integer isLock) {
+		this.isLock = isLock;
+	}
+
+	public Integer getIsHosted() {
+		return isHosted;
+	}
+
+	public void setIsHosted(Integer isHosted) {
+		this.isHosted = isHosted;
+	}
+
+	public String getManufacturerId() {
+		return manufacturerId;
+	}
+
+	public void setManufacturerId(String manufacturerId) {
+		this.manufacturerId = manufacturerId;
+	}
+
+	public String getManufacturerCode() {
+		return manufacturerCode;
+	}
+
+	public void setManufacturerCode(String manufacturerCode) {
+		this.manufacturerCode = manufacturerCode;
+	}
+
+	public String getManufacturerName() {
+		return manufacturerName;
+	}
+
+	public void setManufacturerName(String manufacturerName) {
+		this.manufacturerName = manufacturerName;
+	}
+
+	public BigDecimal getInStoreDay() {
+		return inStoreDay;
+	}
+
+	public void setInStoreDay(BigDecimal inStoreDay) {
+		this.inStoreDay = inStoreDay;
+	}
+
+	public String getItemHealthRegisterNbr() {
+		return itemHealthRegisterNbr;
+	}
+
+	public void setItemHealthRegisterNbr(String itemHealthRegisterNbr) {
+		this.itemHealthRegisterNbr = itemHealthRegisterNbr;
+	}
+
+	public BigDecimal getShelfLifeDays() {
+		return shelfLifeDays;
+	}
+
+	public void setShelfLifeDays(BigDecimal shelfLifeDays) {
+		this.shelfLifeDays = shelfLifeDays;
+	}
+
+	public String getShelfLifeUnit() {
+		return shelfLifeUnit;
+	}
+
+	public void setShelfLifeUnit(String shelfLifeUnit) {
+		this.shelfLifeUnit = shelfLifeUnit;
+	}
+
+	public Integer getItemIsSpecial() {
+		return itemIsSpecial;
+	}
+
+	public void setItemIsSpecial(Integer itemIsSpecial) {
+		this.itemIsSpecial = itemIsSpecial;
+	}
+
+	public Integer getIsBacteria() {
+		return isBacteria;
+	}
+
+	public void setIsBacteria(Integer isBacteria) {
+		this.isBacteria = isBacteria;
+	}
+
+	public String getReturnInfo() {
+		return returnInfo;
+	}
+
+	public void setReturnInfo(String returnInfo) {
+		this.returnInfo = returnInfo;
+	}
+
+	public String getReturnColdQuality() {
+		return returnColdQuality;
+	}
+
+	public void setReturnColdQuality(String returnColdQuality) {
+		this.returnColdQuality = returnColdQuality;
+	}
+
+	public String getReturnExplain() {
+		return returnExplain;
+	}
+
+	public void setReturnExplain(String returnExplain) {
+		this.returnExplain = returnExplain;
+	}
+
+	public String getSpecification() {
+		return specification;
+	}
+
+	public void setSpecification(String specification) {
+		this.specification = specification;
+	}
+
+	public String getItemHealthListedLicensor() {
+		return itemHealthListedLicensor;
+	}
+
+	public void setItemHealthListedLicensor(String itemHealthListedLicensor) {
+		this.itemHealthListedLicensor = itemHealthListedLicensor;
+	}
+
+	public String getItemHealthProduceLicense() {
+		return itemHealthProduceLicense;
+	}
+
+	public void setItemHealthProduceLicense(String itemHealthProduceLicense) {
+		this.itemHealthProduceLicense = itemHealthProduceLicense;
+	}
+
+	public String getItemHealthStoreCategory() {
+		return itemHealthStoreCategory;
+	}
+
+	public void setItemHealthStoreCategory(String itemHealthStoreCategory) {
+		this.itemHealthStoreCategory = itemHealthStoreCategory;
+	}
+
+	public Integer getItemIsImported() {
+		return itemIsImported;
+	}
+
+	public void setItemIsImported(Integer itemIsImported) {
+		this.itemIsImported = itemIsImported;
+	}
+
+	public Integer getItemIsRecheck() {
+		return itemIsRecheck;
+	}
+
+	public void setItemIsRecheck(Integer itemIsRecheck) {
+		this.itemIsRecheck = itemIsRecheck;
+	}
+
+	public Integer getIsInstrument() {
+		return isInstrument;
+	}
+
+	public void setIsInstrument(Integer isInstrument) {
+		this.isInstrument = isInstrument;
+	}
+
+	public String getItemBarcode() {
+		return itemBarcode;
+	}
+
+	public void setItemBarcode(String itemBarcode) {
+		this.itemBarcode = itemBarcode;
+	}
+
+	public String getCategoryName() {
+		return categoryName;
+	}
+
+	public void setCategoryName(String categoryName) {
+		this.categoryName = categoryName;
+	}
+
+	public String getItemHealthApprovalNbr() {
+		return itemHealthApprovalNbr;
+	}
+
+	public void setItemHealthApprovalNbr(String itemHealthApprovalNbr) {
+		this.itemHealthApprovalNbr = itemHealthApprovalNbr;
+	}
+
+	public String getItemAssistantCode() {
+		return itemAssistantCode;
+	}
+
+	public void setItemAssistantCode(String itemAssistantCode) {
+		this.itemAssistantCode = itemAssistantCode;
+	}
+
+	public String getIsCaseOrPiece() {
+		return isCaseOrPiece;
+	}
+
+	public void setIsCaseOrPiece(String isCaseOrPiece) {
+		this.isCaseOrPiece = isCaseOrPiece;
+	}
+
+	public String getQcMode() {
+		return qcMode;
+	}
+
+	public void setQcMode(String qcMode) {
+		this.qcMode = qcMode;
+	}
+
+	public BigDecimal getCaseConversionRate() {
+		return caseConversionRate;
+	}
+
+	public void setCaseConversionRate(BigDecimal caseConversionRate) {
+		this.caseConversionRate = caseConversionRate;
+	}
+
+	public String getRcvLineId() {
+		return this.rcvLineId;
+	}
+
+	public void setRcvLineId(String rcvLineId) {
+		this.rcvLineId = rcvLineId;
+	}
+
+	public String getRcvHeaderId() {
+		return this.rcvHeaderId;
+	}
+
+	public void setRcvHeaderId(String rcvHeaderId) {
+		this.rcvHeaderId = rcvHeaderId;
+	}
+
+	public BigDecimal getLineNum() {
+		return this.lineNum;
+	}
+
+	public void setLineNum(BigDecimal lineNum) {
+		this.lineNum = lineNum;
+	}
+
+	public String getItemId() {
+		return this.itemId;
+	}
+
+	public void setItemId(String itemId) {
+		this.itemId = itemId;
+	}
+
+	public String getItemNum() {
+		return this.itemNum;
+	}
+
+	public void setItemNum(String itemNum) {
+		this.itemNum = itemNum;
+	}
+
+	public String getItemName() {
+		return this.itemName;
+	}
+
+	public void setItemName(String itemName) {
+		this.itemName = itemName;
+	}
+
+	public String getParentitemid() {
+		return this.parentitemid;
+	}
+
+	public void setParentitemid(String parentitemid) {
+		this.parentitemid = parentitemid;
+	}
+
+	public String getLinetype() {
+		return this.linetype;
+	}
+
+	public void setLinetype(String linetype) {
+		this.linetype = linetype;
+	}
+
+	public String getSizecode() {
+		return this.sizecode;
+	}
+
+	public void setSizecode(String sizecode) {
+		this.sizecode = sizecode;
+	}
+
+	public String getColorcode() {
+		return this.colorcode;
+	}
+
+	public void setColorcode(String colorcode) {
+		this.colorcode = colorcode;
+	}
+
+	public String getRevision() {
+		return this.revision;
+	}
+
+	public void setRevision(String revision) {
+		this.revision = revision;
+	}
+
+	public String getVendoritemcode() {
+		return this.vendoritemcode;
+	}
+
+	public void setVendoritemcode(String vendoritemcode) {
+		this.vendoritemcode = vendoritemcode;
+	}
+
+	public String getCategoryId() {
+		return this.categoryId;
+	}
+
+	public void setCategoryId(String categoryId) {
+		this.categoryId = categoryId;
+	}
+
+	public BigDecimal getPiecePriceTi() {
+		return this.piecePriceTi;
+	}
+
+	public void setPiecePriceTi(BigDecimal piecePriceTi) {
+		this.piecePriceTi = piecePriceTi;
+	}
+
+	public BigDecimal getPiecePriceTe() {
+		return this.piecePriceTe;
+	}
+
+	public void setPiecePriceTe(BigDecimal piecePriceTe) {
+		this.piecePriceTe = piecePriceTe;
+	}
+
+	public BigDecimal getUnitPriceTi() {
+		return this.unitPriceTi;
+	}
+
+	public void setUnitPriceTi(BigDecimal unitPriceTi) {
+		this.unitPriceTi = unitPriceTi;
+	}
+
+	public BigDecimal getUnitPriceTe() {
+		return this.unitPriceTe;
+	}
+
+	public void setUnitPriceTe(BigDecimal unitPriceTe) {
+		this.unitPriceTe = unitPriceTe;
+	}
+
+	public BigDecimal getTaTi() {
+		return this.taTi;
+	}
+
+	public void setTaTi(BigDecimal taTi) {
+		this.taTi = taTi;
+	}
+
+	public BigDecimal getTaTe() {
+		return this.taTe;
+	}
+
+	public void setTaTe(BigDecimal taTe) {
+		this.taTe = taTe;
+	}
+
+	public BigDecimal getTaTax() {
+		return this.taTax;
+	}
+
+	public void setTaTax(BigDecimal taTax) {
+		this.taTax = taTax;
+	}
+
+	public BigDecimal getDiscountRate() {
+		return this.discountRate;
+	}
+
+	public void setDiscountRate(BigDecimal discountRate) {
+		this.discountRate = discountRate;
+	}
+
+	public BigDecimal getTaxRate() {
+		return this.taxRate;
+	}
+
+	public void setTaxRate(BigDecimal taxRate) {
+		this.taxRate = taxRate;
+	}
+
+	public BigDecimal getRefPurchasePriceTi() {
+		return this.refPurchasePriceTi;
+	}
+
+	public void setRefPurchasePriceTi(BigDecimal refPurchasePriceTi) {
+		this.refPurchasePriceTi = refPurchasePriceTi;
+	}
+
+	public String getColdstoretype() {
+		return this.coldstoretype;
+	}
+
+	public void setColdstoretype(String coldstoretype) {
+		this.coldstoretype = coldstoretype;
+	}
+
+	public String getCold() {
+		return this.cold;
+	}
+
+	public void setCold(String cold) {
+		this.cold = cold;
+	}
+
+	public String getShipfromadd() {
+		return this.shipfromadd;
+	}
+
+	public void setShipfromadd(String shipfromadd) {
+		this.shipfromadd = shipfromadd;
+	}
+
+	public Date getShipfromdate() {
+		return this.shipfromdate;
+	}
+
+	public void setShipfromdate(Date shipfromdate) {
+		this.shipfromdate = shipfromdate;
+	}
+
+	public String getShiptype() {
+		return this.shiptype;
+	}
+
+	public void setShiptype(String shiptype) {
+		this.shiptype = shiptype;
+	}
+
+	public String getTemperaturectype() {
+		return this.temperaturectype;
+	}
+
+	public void setTemperaturectype(String temperaturectype) {
+		this.temperaturectype = temperaturectype;
+	}
+
+	public Date getShiparrivetime() {
+		return this.shiparrivetime;
+	}
+
+	public void setShiparrivetime(Date shiparrivetime) {
+		this.shiparrivetime = shiparrivetime;
+	}
+
+	public BigDecimal getShiparrivetemperature() {
+		return this.shiparrivetemperature;
+	}
+
+	public void setShiparrivetemperature(BigDecimal shiparrivetemperature) {
+		this.shiparrivetemperature = shiparrivetemperature;
+	}
+
+	public String getShiptemptrack() {
+		return this.shiptemptrack;
+	}
+
+	public void setShiptemptrack(String shiptemptrack) {
+		this.shiptemptrack = shiptemptrack;
+	}
+
+	public String getTempcinfo() {
+		return this.tempcinfo;
+	}
+
+	public void setTempcinfo(String tempcinfo) {
+		this.tempcinfo = tempcinfo;
+	}
+
+	public String getCarriername() {
+		return this.carriername;
+	}
+
+	public void setCarriername(String carriername) {
+		this.carriername = carriername;
+	}
+
+	public String getSterilizelotno() {
+		return this.sterilizelotno;
+	}
+
+	public void setSterilizelotno(String sterilizelotno) {
+		this.sterilizelotno = sterilizelotno;
+	}
+
+	public String getImppaperno() {
+		return this.imppaperno;
+	}
+
+	public void setImppaperno(String imppaperno) {
+		this.imppaperno = imppaperno;
+	}
+
+	public String getCmpacklotno() {
+		return this.cmpacklotno;
+	}
+
+	public void setCmpacklotno(String cmpacklotno) {
+		this.cmpacklotno = cmpacklotno;
+	}
+
+	public String getRcvstockstatusreason() {
+		return this.rcvstockstatusreason;
+	}
+
+	public void setRcvstockstatusreason(String rcvstockstatusreason) {
+		this.rcvstockstatusreason = rcvstockstatusreason;
+	}
+
+	public Date getSterilizeexpdate() {
+		return this.sterilizeexpdate;
+	}
+
+	public void setSterilizeexpdate(Date sterilizeexpdate) {
+		this.sterilizeexpdate = sterilizeexpdate;
+	}
+
+	public String getSterilizesnno() {
+		return this.sterilizesnno;
+	}
+
+	public void setSterilizesnno(String sterilizesnno) {
+		this.sterilizesnno = sterilizesnno;
+	}
+
+	public String getPaperno() {
+		return this.paperno;
+	}
+
+	public void setPaperno(String paperno) {
+		this.paperno = paperno;
+	}
+
+	public String getComments() {
+		return this.comments;
+	}
+
+	public void setComments(String comments) {
+		this.comments = comments;
+	}
+
+}

+ 710 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/RcvRejectLinesDTO.java

@@ -0,0 +1,710 @@
+package com.prolog.cs.biz.inbound.dto.rcv;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validAdd;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validEdit;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Past;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @Description 收货拒收单行 来源于拒收任务池
+ * @Author Xiong
+ * @Date 2021-04-02
+ */
+@ApiModel
+public class RcvRejectLinesDTO implements Serializable {
+	private static final long serialVersionUID = 7647045788296885663L;
+	@ApiModelProperty(value = "行ID(主键雪花id)", required = true)
+	@NotBlank(message = "行ID(主键雪花id) can not blank!", groups = validEdit.class)
+	private String inRejectLineId;
+
+	@ApiModelProperty(value = "收货单头ID")
+	private String rcvHeaderId;
+
+	@ApiModelProperty(value = "收货行头ID")
+	private String rcvLineId;
+
+	@ApiModelProperty(value = "行号", required = true)
+	@NotNull(message = "行号 can not blank!")
+	private BigDecimal lineNum;
+
+	@ApiModelProperty(value = "库位ID", required = true)
+	@NotBlank(message = "库位ID can not blank!")
+	private String warehouseLocatorId;
+
+	@ApiModelProperty(value = "商品ID", required = true)
+	@NotBlank(message = "商品ID can not blank!", groups = validAdd.class)
+	private String itemId;
+
+	@ApiModelProperty(value = "单品数量", required = true)
+	@NotNull(message = "单品数量 can not blank!", groups = validAdd.class)
+	private BigDecimal pieceQty;
+
+	@ApiModelProperty(value = "包装单位", required = true)
+	@NotBlank(message = "包装单位 can not blank!", groups = validAdd.class)
+	private String uom;
+
+	@ApiModelProperty(value = "包装单位类型(2019/2020)新老包装")
+	private String uomType;
+
+	@ApiModelProperty(value = "包装含量", required = true)
+	@NotNull(message = "包装含量 can not blank!", groups = validAdd.class)
+	private BigDecimal conversionRate;
+
+	@ApiModelProperty(value = "整箱数", required = true)
+	@NotNull(message = "整箱数 can not blank!", groups = validAdd.class)
+	private BigDecimal oddCaseQty;
+
+	@ApiModelProperty(value = "零散数", required = true)
+	@NotNull(message = "零散数 can not blank!", groups = validAdd.class)
+	private BigDecimal oddPieceQty;
+
+	@ApiModelProperty(value = "batch_id", required = true)
+	@NotBlank(message = "batch_id can not blank!", groups = validAdd.class)
+	private String batchId;
+
+	@ApiModelProperty(value = "批次号", required = true)
+	@NotBlank(message = "批次号 can not blank!", groups = validAdd.class)
+	private String batchNum;
+
+	@ApiModelProperty(value = "批次生产日期", required = true)
+	@NotNull(message = "批次生产日期 can not blank!", groups = validAdd.class)
+	@Past(message = "批次生产日期 can not greater than now!", groups = validAdd.class)
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date batchProductionDate;
+
+	@ApiModelProperty(value = "批次有效期", required = true)
+	@NotNull(message = "批次有效期 can not blank!", groups = validAdd.class)
+	@Past(message = "批次有效期 can not greater than now!", groups = validAdd.class)
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date batchExpiredDate;
+
+	@ApiModelProperty(value = "供应商批次号")
+	private String vendorBatchNum;
+
+	@ApiModelProperty(value = "生产商批号")
+	private String manufacturerLotNum;
+
+	@ApiModelProperty(value = "容器编码")
+	private String containerCode;
+
+	@ApiModelProperty(value = "货格编码")
+	private String goodsCaseCode;
+
+	@ApiModelProperty(value = "备注")
+	private String comments;
+
+	@ApiModelProperty(value = "结论(拒收)")
+	private String result;
+
+	@ApiModelProperty(value = "原因")
+	private String reason;
+
+	@ApiModelProperty(value = "执行者")
+	private String executorUser;
+
+	@ApiModelProperty(value = "任务池ID(来源TASK)", required = true)
+	@NotBlank(message = "任务池ID(来源TASK) can not blank!", groups = validAdd.class)
+	private String taskId;
+
+	@ApiModelProperty(value = "货主ID(冗余,关联收货单)")
+	private String mtlOwnerId;
+
+	@ApiModelProperty(value = "仓库ID(冗余,关联收货单)", required = true)
+	@NotBlank(message = "仓库ID(冗余,关联收货单) can not blank!", groups = validAdd.class)
+	private String warehouseId;
+
+	@ApiModelProperty(value = "来源单类型(冗余,关联收货单)")
+	private String srcBillType;
+
+	@ApiModelProperty(value = "来源单头ID(冗余,关联收货单)")
+	private String srcHeaderId;
+
+	@ApiModelProperty(value = "来源单行ID(冗余,关联收货单)")
+	private String srcLineId;
+
+	@ApiModelProperty(value = "ASN头ID(冗余,关联收货单)")
+	private String asnHeaderId;
+
+	@ApiModelProperty(value = "ASN行ID(冗余,关联收货单)")
+	private String asnLineId;
+
+	@ApiModelProperty(value = "数据版本")
+	private Integer dataVersion;
+
+	@ApiModelProperty(value = "商品编码(列表展示用)", position = 1)
+	private String itemNum;
+	@ApiModelProperty(value = "商品名称(列表展示用)", position = 1)
+	private String itemName;
+	@ApiModelProperty(value = "商品分类名(列表展示用)", position = 1)
+	private String categoryName;
+	@ApiModelProperty(value = "(新)商品规格说明(冗余)", position = 1)
+	private String specification;
+	@ApiModelProperty(value = "(新)上市许可持有人(冗余)", position = 1)
+	private String itemHealthListedLicensor;
+	@ApiModelProperty(value = "(新)生产企业许可证号(冗余)", position = 1)
+	private String itemHealthProduceLicense;
+	@ApiModelProperty(value = "(新)存储分类(冗余)", position = 1)
+	private String itemHealthStoreCategory;
+	@ApiModelProperty(value = "(新)商品是否进口(冗余)", position = 1)
+	private Integer itemIsImported;
+	@ApiModelProperty(value = "(新)商品是否复检(0否1是)(冗余)", position = 1)
+	private Integer itemIsRecheck;
+	@ApiModelProperty(value = "(新)商品是否器械(0否1是)(冗余)", position = 1)
+	private Integer isInstrument;
+	@ApiModelProperty(value = "(新)商品通用名(冗余)", position = 1)
+	private String itemHealthCommonName;
+	@ApiModelProperty(value = "(新)商品是否锁定(0否1是)(冗余)", position = 1)
+	private Integer isLock;
+	@ApiModelProperty(value = "(新)商品是否代管(0否1是)(冗余)", position = 1)
+	private Integer isHosted;
+	@ApiModelProperty(value = "(新)生产厂家id(冗余)", position = 1)
+	private String manufacturerId;
+	@ApiModelProperty(value = "(新)生产厂家id(冗余)", position = 1)
+	private String manufacturerCode;
+	@ApiModelProperty(value = "(新)生产厂家id(冗余)", position = 1)
+	private String manufacturerName;
+	@ApiModelProperty(value = "(新)入库预留保质天数(冗余)", position = 1)
+	private BigDecimal inStoreDay;
+	@ApiModelProperty(value = "(新)注册证号(冗余)", position = 1)
+	private String itemHealthRegisterNbr;
+	@ApiModelProperty(value = "(新)有效期天数(需转换)(冗余)", position = 1)
+	private BigDecimal shelfLifeDays;
+	@ApiModelProperty(value = "(新)保质期单位(年/月/日,默认日)(冗余)", position = 1)
+	private String shelfLifeUnit;
+	@ApiModelProperty(value = "(新)商品是否特殊品(0否1是)(冗余)", position = 1)
+	private Integer itemIsSpecial;
+	@ApiModelProperty(value = "(新)商品是否无菌(0否1是)(冗余)", position = 1)
+	private Integer isBacteria;
+	@ApiModelProperty(value = "(新)退货单位提供的商品售出期间储存、运输质量控制情况(冗余)", position = 1)
+	private String returnInfo;
+	@ApiModelProperty(value = "(新)退货冷藏品出库期质量(冗余)", position = 1)
+	private String returnColdQuality;
+	@ApiModelProperty(value = "(新)退货说明(冗余)", position = 1)
+	private String returnExplain;
+	@ApiModelProperty(value = "(新)显示生产日期", position = 1)
+	private String showProductionDate;
+	@ApiModelProperty(value = "(新)显示有效期至", position = 1)
+	private String showExpiredDate;
+	@ApiModelProperty(value = "(新)商品助记码", position = 1)
+	private String itemZjm;
+	@ApiModelProperty(value = "(新)商品批准文号", position = 1)
+	private String approvalNumber;
+	@ApiModelProperty(value = "商品产地(展示)", position = 1)
+	private String productionPlace;
+
+	public Integer getDataVersion() {
+		return dataVersion;
+	}
+
+	public void setDataVersion(Integer dataVersion) {
+		this.dataVersion = dataVersion;
+	}
+
+	public String getItemNum() {
+		return itemNum;
+	}
+
+	public void setItemNum(String itemNum) {
+		this.itemNum = itemNum;
+	}
+
+	public String getItemName() {
+		return itemName;
+	}
+
+	public void setItemName(String itemName) {
+		this.itemName = itemName;
+	}
+
+	public String getCategoryName() {
+		return categoryName;
+	}
+
+	public void setCategoryName(String categoryName) {
+		this.categoryName = categoryName;
+	}
+
+	public String getSpecification() {
+		return specification;
+	}
+
+	public void setSpecification(String specification) {
+		this.specification = specification;
+	}
+
+	public String getItemHealthListedLicensor() {
+		return itemHealthListedLicensor;
+	}
+
+	public void setItemHealthListedLicensor(String itemHealthListedLicensor) {
+		this.itemHealthListedLicensor = itemHealthListedLicensor;
+	}
+
+	public String getItemHealthProduceLicense() {
+		return itemHealthProduceLicense;
+	}
+
+	public void setItemHealthProduceLicense(String itemHealthProduceLicense) {
+		this.itemHealthProduceLicense = itemHealthProduceLicense;
+	}
+
+	public String getItemHealthStoreCategory() {
+		return itemHealthStoreCategory;
+	}
+
+	public void setItemHealthStoreCategory(String itemHealthStoreCategory) {
+		this.itemHealthStoreCategory = itemHealthStoreCategory;
+	}
+
+	public Integer getItemIsImported() {
+		return itemIsImported;
+	}
+
+	public void setItemIsImported(Integer itemIsImported) {
+		this.itemIsImported = itemIsImported;
+	}
+
+	public Integer getItemIsRecheck() {
+		return itemIsRecheck;
+	}
+
+	public void setItemIsRecheck(Integer itemIsRecheck) {
+		this.itemIsRecheck = itemIsRecheck;
+	}
+
+	public Integer getIsInstrument() {
+		return isInstrument;
+	}
+
+	public void setIsInstrument(Integer isInstrument) {
+		this.isInstrument = isInstrument;
+	}
+
+	public String getItemHealthCommonName() {
+		return itemHealthCommonName;
+	}
+
+	public void setItemHealthCommonName(String itemHealthCommonName) {
+		this.itemHealthCommonName = itemHealthCommonName;
+	}
+
+	public Integer getIsLock() {
+		return isLock;
+	}
+
+	public void setIsLock(Integer isLock) {
+		this.isLock = isLock;
+	}
+
+	public Integer getIsHosted() {
+		return isHosted;
+	}
+
+	public void setIsHosted(Integer isHosted) {
+		this.isHosted = isHosted;
+	}
+
+	public String getManufacturerId() {
+		return manufacturerId;
+	}
+
+	public void setManufacturerId(String manufacturerId) {
+		this.manufacturerId = manufacturerId;
+	}
+
+	public String getManufacturerCode() {
+		return manufacturerCode;
+	}
+
+	public void setManufacturerCode(String manufacturerCode) {
+		this.manufacturerCode = manufacturerCode;
+	}
+
+	public String getManufacturerName() {
+		return manufacturerName;
+	}
+
+	public void setManufacturerName(String manufacturerName) {
+		this.manufacturerName = manufacturerName;
+	}
+
+	public BigDecimal getInStoreDay() {
+		return inStoreDay;
+	}
+
+	public void setInStoreDay(BigDecimal inStoreDay) {
+		this.inStoreDay = inStoreDay;
+	}
+
+	public String getItemHealthRegisterNbr() {
+		return itemHealthRegisterNbr;
+	}
+
+	public void setItemHealthRegisterNbr(String itemHealthRegisterNbr) {
+		this.itemHealthRegisterNbr = itemHealthRegisterNbr;
+	}
+
+	public BigDecimal getShelfLifeDays() {
+		return shelfLifeDays;
+	}
+
+	public void setShelfLifeDays(BigDecimal shelfLifeDays) {
+		this.shelfLifeDays = shelfLifeDays;
+	}
+
+	public String getShelfLifeUnit() {
+		return shelfLifeUnit;
+	}
+
+	public void setShelfLifeUnit(String shelfLifeUnit) {
+		this.shelfLifeUnit = shelfLifeUnit;
+	}
+
+	public Integer getItemIsSpecial() {
+		return itemIsSpecial;
+	}
+
+	public void setItemIsSpecial(Integer itemIsSpecial) {
+		this.itemIsSpecial = itemIsSpecial;
+	}
+
+	public Integer getIsBacteria() {
+		return isBacteria;
+	}
+
+	public void setIsBacteria(Integer isBacteria) {
+		this.isBacteria = isBacteria;
+	}
+
+	public String getReturnInfo() {
+		return returnInfo;
+	}
+
+	public void setReturnInfo(String returnInfo) {
+		this.returnInfo = returnInfo;
+	}
+
+	public String getReturnColdQuality() {
+		return returnColdQuality;
+	}
+
+	public void setReturnColdQuality(String returnColdQuality) {
+		this.returnColdQuality = returnColdQuality;
+	}
+
+	public String getReturnExplain() {
+		return returnExplain;
+	}
+
+	public void setReturnExplain(String returnExplain) {
+		this.returnExplain = returnExplain;
+	}
+
+	public String getShowProductionDate() {
+		return showProductionDate;
+	}
+
+	public void setShowProductionDate(String showProductionDate) {
+		this.showProductionDate = showProductionDate;
+	}
+
+	public String getShowExpiredDate() {
+		return showExpiredDate;
+	}
+
+	public void setShowExpiredDate(String showExpiredDate) {
+		this.showExpiredDate = showExpiredDate;
+	}
+
+	public String getItemZjm() {
+		return itemZjm;
+	}
+
+	public void setItemZjm(String itemZjm) {
+		this.itemZjm = itemZjm;
+	}
+
+	public String getApprovalNumber() {
+		return approvalNumber;
+	}
+
+	public void setApprovalNumber(String approvalNumber) {
+		this.approvalNumber = approvalNumber;
+	}
+
+	public String getProductionPlace() {
+		return productionPlace;
+	}
+
+	public void setProductionPlace(String productionPlace) {
+		this.productionPlace = productionPlace;
+	}
+
+	public String getInRejectLineId() {
+		return inRejectLineId;
+	}
+
+	public void setInRejectLineId(String inRejectLineId) {
+		this.inRejectLineId = inRejectLineId;
+	}
+
+	public String getRcvHeaderId() {
+		return rcvHeaderId;
+	}
+
+	public void setRcvHeaderId(String rcvHeaderId) {
+		this.rcvHeaderId = rcvHeaderId;
+	}
+
+	public String getRcvLineId() {
+		return rcvLineId;
+	}
+
+	public void setRcvLineId(String rcvLineId) {
+		this.rcvLineId = rcvLineId;
+	}
+
+	public BigDecimal getLineNum() {
+		return lineNum;
+	}
+
+	public void setLineNum(BigDecimal lineNum) {
+		this.lineNum = lineNum;
+	}
+
+	public String getWarehouseLocatorId() {
+		return warehouseLocatorId;
+	}
+
+	public void setWarehouseLocatorId(String warehouseLocatorId) {
+		this.warehouseLocatorId = warehouseLocatorId;
+	}
+
+	public String getItemId() {
+		return itemId;
+	}
+
+	public void setItemId(String itemId) {
+		this.itemId = itemId;
+	}
+
+	public BigDecimal getPieceQty() {
+		return pieceQty;
+	}
+
+	public void setPieceQty(BigDecimal pieceQty) {
+		this.pieceQty = pieceQty;
+	}
+
+	public String getUom() {
+		return uom;
+	}
+
+	public void setUom(String uom) {
+		this.uom = uom;
+	}
+
+	public String getUomType() {
+		return uomType;
+	}
+
+	public void setUomType(String uomType) {
+		this.uomType = uomType;
+	}
+
+	public BigDecimal getConversionRate() {
+		return conversionRate;
+	}
+
+	public void setConversionRate(BigDecimal conversionRate) {
+		this.conversionRate = conversionRate;
+	}
+
+	public BigDecimal getOddCaseQty() {
+		return oddCaseQty;
+	}
+
+	public void setOddCaseQty(BigDecimal oddCaseQty) {
+		this.oddCaseQty = oddCaseQty;
+	}
+
+	public BigDecimal getOddPieceQty() {
+		return oddPieceQty;
+	}
+
+	public void setOddPieceQty(BigDecimal oddPieceQty) {
+		this.oddPieceQty = oddPieceQty;
+	}
+
+	public String getBatchId() {
+		return batchId;
+	}
+
+	public void setBatchId(String batchId) {
+		this.batchId = batchId;
+	}
+
+	public String getBatchNum() {
+		return batchNum;
+	}
+
+	public void setBatchNum(String batchNum) {
+		this.batchNum = batchNum;
+	}
+
+	public Date getBatchProductionDate() {
+		return batchProductionDate;
+	}
+
+	public void setBatchProductionDate(Date batchProductionDate) {
+		this.batchProductionDate = batchProductionDate;
+	}
+
+	public Date getBatchExpiredDate() {
+		return batchExpiredDate;
+	}
+
+	public void setBatchExpiredDate(Date batchExpiredDate) {
+		this.batchExpiredDate = batchExpiredDate;
+	}
+
+	public String getVendorBatchNum() {
+		return vendorBatchNum;
+	}
+
+	public void setVendorBatchNum(String vendorBatchNum) {
+		this.vendorBatchNum = vendorBatchNum;
+	}
+
+	public String getManufacturerLotNum() {
+		return manufacturerLotNum;
+	}
+
+	public void setManufacturerLotNum(String manufacturerLotNum) {
+		this.manufacturerLotNum = manufacturerLotNum;
+	}
+
+	public String getContainerCode() {
+		return containerCode;
+	}
+
+	public void setContainerCode(String containerCode) {
+		this.containerCode = containerCode;
+	}
+
+	public String getGoodsCaseCode() {
+		return goodsCaseCode;
+	}
+
+	public void setGoodsCaseCode(String goodsCaseCode) {
+		this.goodsCaseCode = goodsCaseCode;
+	}
+
+	public String getComments() {
+		return comments;
+	}
+
+	public void setComments(String comments) {
+		this.comments = comments;
+	}
+
+	public String getResult() {
+		return result;
+	}
+
+	public void setResult(String result) {
+		this.result = result;
+	}
+
+	public String getReason() {
+		return reason;
+	}
+
+	public void setReason(String reason) {
+		this.reason = reason;
+	}
+
+	public String getExecutorUser() {
+		return executorUser;
+	}
+
+	public void setExecutorUser(String executorUser) {
+		this.executorUser = executorUser;
+	}
+
+	public String getTaskId() {
+		return taskId;
+	}
+
+	public void setTaskId(String taskId) {
+		this.taskId = taskId;
+	}
+
+	public String getMtlOwnerId() {
+		return mtlOwnerId;
+	}
+
+	public void setMtlOwnerId(String mtlOwnerId) {
+		this.mtlOwnerId = mtlOwnerId;
+	}
+
+	public String getWarehouseId() {
+		return warehouseId;
+	}
+
+	public void setWarehouseId(String warehouseId) {
+		this.warehouseId = warehouseId;
+	}
+
+	public String getSrcBillType() {
+		return srcBillType;
+	}
+
+	public void setSrcBillType(String srcBillType) {
+		this.srcBillType = srcBillType;
+	}
+
+	public String getSrcHeaderId() {
+		return srcHeaderId;
+	}
+
+	public void setSrcHeaderId(String srcHeaderId) {
+		this.srcHeaderId = srcHeaderId;
+	}
+
+	public String getSrcLineId() {
+		return srcLineId;
+	}
+
+	public void setSrcLineId(String srcLineId) {
+		this.srcLineId = srcLineId;
+	}
+
+	public String getAsnHeaderId() {
+		return asnHeaderId;
+	}
+
+	public void setAsnHeaderId(String asnHeaderId) {
+		this.asnHeaderId = asnHeaderId;
+	}
+
+	public String getAsnLineId() {
+		return asnLineId;
+	}
+
+	public void setAsnLineId(String asnLineId) {
+		this.asnLineId = asnLineId;
+	}
+
+}

+ 67 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rcv/WmsToEisTaskRecord.java

@@ -0,0 +1,67 @@
+package com.prolog.cs.biz.inbound.dto.rcv;
+
+import com.prolog.framework.core.annotation.Column;
+import com.prolog.framework.core.annotation.Id;
+import com.prolog.framework.core.annotation.Ignore;
+import com.prolog.framework.core.annotation.Table;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
+@Table("wms_to_eis_task_record")
+public class WmsToEisTaskRecord implements Serializable {
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 1L;
+
+	@Id
+	@ApiModelProperty(value = "上架任务池ID")
+    @Column("task_id")
+	private String taskId;
+
+	@ApiModelProperty(value = "容器号")
+	@Column("container_code")
+	private String containerCode;
+
+	@ApiModelProperty(value = "商品ID")
+	@Column("item_id")
+	private String itemId;
+
+	@ApiModelProperty(value = "数量")
+	private BigDecimal qty;
+
+	@ApiModelProperty(value = "库别")
+	@Column("wh_area_category_code")
+	private String whAreaCategoryCode;
+
+	@ApiModelProperty(value = "库区")
+	@Column("wh_area_code")
+	private String whAreaCode;
+
+	@ApiModelProperty(value = "货位")
+	@Column("location_code")
+	private String locationCode;
+
+	@ApiModelProperty(value = "状态")
+	private String status;
+
+	@ApiModelProperty(value = "调用次数")
+	private Integer count;
+
+	@ApiModelProperty(value = "调用消息")
+	private String message;
+
+    @ApiModelProperty(value = "任务类型: 0-入库任务推送 1-容器借道下发")
+    @Column("task_type")
+    private Integer taskType;
+
+    @ApiModelProperty(value = "新增/修改")
+    @Ignore
+    private String type;
+}

+ 47 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rqc/RcvLineParam.java

@@ -0,0 +1,47 @@
+package com.prolog.cs.biz.inbound.dto.rqc;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @Description
+ * 根据条件获取入库库别
+ * @Author liuTao
+ * @Date 2022-07-12
+ */
+@Data
+@ApiModel(value ="根据条件获取入库库别")
+public class RcvLineParam implements Serializable {
+	private static final long serialVersionUID = 5335730467723668610L;
+
+	@ApiModelProperty(value = "企业(id)")
+	private String enterpriseId;
+
+	@ApiModelProperty(value = "仓库(id)")
+	private String warehouseId;
+
+	@ApiModelProperty(value = "货主id")
+	private String mtlOwnerId;
+
+	@ApiModelProperty(value = "数据来源")
+	private String dataSource;
+
+	@ApiModelProperty(value = "单据类型")
+	private String billType;
+
+	@ApiModelProperty(value = "质量状态")
+	private String qualityStatus;
+
+	@ApiModelProperty(value = "单品数量")
+	private BigDecimal pieceQty;
+
+	@ApiModelProperty(value = "包装含量")
+	private BigDecimal conversionRate;
+
+	@ApiModelProperty(value = "是否异型(0否,1是)")
+	private Integer abnormal;
+}

+ 25 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rqc/RcvLineResult.java

@@ -0,0 +1,25 @@
+package com.prolog.cs.biz.inbound.dto.rqc;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Description
+ * 根据条件获取入库库别结果集
+ * @Author liuTao
+ * @Date 2022-07-12
+ */
+@Data
+@ApiModel(value ="根据条件获取入库库别结果集")
+public class RcvLineResult implements Serializable {
+	private static final long serialVersionUID = 5335730467723668610L;
+
+	@ApiModelProperty(value = "推荐库别(名称)")
+	private String warehouseRoomName;
+
+	@ApiModelProperty(value = "推荐库别(code)")
+	private String warehouseRoomCode;
+}

+ 81 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rqc/RqcDTO.java

@@ -0,0 +1,81 @@
+package com.prolog.cs.biz.inbound.dto.rqc;
+
+import com.prolog.cs.biz.inbound.model.SupervisionCode;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+@ApiModel
+public class RqcDTO implements Serializable {
+	private static final long serialVersionUID = -5979117959176082478L;
+
+	@ApiModelProperty(value = "质检单主表", required = true)
+	private RqcHeadersDTO rqcHeadersDTO;
+
+	@ApiModelProperty(value = "质检单明细列表")
+	private List<RqcLinesDTO> rqcLinesDTOList;
+
+	@ApiModelProperty(value = "质检采集监管码")
+	private List<SupervisionCode> supervisionCodeList;
+
+
+	@ApiModelProperty(value = "业务时间,可以为自动生成数据时间")
+	private Date autoTime;
+
+	@ApiModelProperty(value = "业务自动时间的间隔")
+	private String autoTimeInterval;
+
+//	@ApiModelProperty(value = "质检单图片列表")
+//	private List<RqcLinePicDTO> RqcLinePicDTO;
+
+	public RqcHeadersDTO getRqcHeadersDTO() {
+		return rqcHeadersDTO;
+	}
+
+	public String getAutoTimeInterval() {
+		return autoTimeInterval;
+	}
+
+	public void setAutoTimeInterval(String autoTimeInterval) {
+		this.autoTimeInterval = autoTimeInterval;
+	}
+
+	public void setRqcHeadersDTO(RqcHeadersDTO rqcHeadersDTO) {
+		this.rqcHeadersDTO = rqcHeadersDTO;
+	}
+
+	public List<RqcLinesDTO> getRqcLinesDTOList() {
+		return rqcLinesDTOList;
+	}
+
+	public void setRqcLinesDTOList(List<RqcLinesDTO> rqcLinesDTOList) {
+		this.rqcLinesDTOList = rqcLinesDTOList;
+	}
+
+//	public List<RqcLinePicDTO> getRqcLinePicDTO() {
+//		return RqcLinePicDTO;
+//	}
+//
+//	public void setRqcLinePicDTO(List<RqcLinePicDTO> rqcLinePicDTO) {
+//		RqcLinePicDTO = rqcLinePicDTO;
+//	}
+
+	public Date getAutoTime() {
+		return autoTime;
+	}
+
+	public void setAutoTime(Date autoTime) {
+		this.autoTime = autoTime;
+	}
+
+	public List<SupervisionCode> getSupervisionCodeList() {
+		return supervisionCodeList;
+	}
+
+	public void setSupervisionCodeList(List<SupervisionCode> supervisionCodeList) {
+		this.supervisionCodeList = supervisionCodeList;
+	}
+}

+ 458 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rqc/RqcHeadersDTO.java

@@ -0,0 +1,458 @@
+package com.prolog.cs.biz.inbound.dto.rqc;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validAdd;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validEdit;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description 质检单汇总 关联收货单,可以查询出所有编码,名称信息
+ * @Author Xiong
+ * @Date 2021-04-02
+ */
+
+@ApiModel
+public class RqcHeadersDTO implements Serializable {
+	private static final long serialVersionUID = 7865945647588730014L;
+	@ApiModelProperty(value = "单据id(主键雪花id)", required = true)
+	@NotBlank(message = "单据id(主键雪花id) can not blank!", groups = validEdit.class)
+	private String rqcHeaderId;
+
+	@ApiModelProperty(value = "手工单号")
+	private String customBillNum;
+
+	@ApiModelProperty(value = "单据自动号")
+	private String autoBillNum;
+
+	@ApiModelProperty(value = "货主ID(冗余)")
+	private String mtlOwnerId;
+
+	@ApiModelProperty(value = "仓库ID(冗余)", required = true)
+	@NotBlank(message = "仓库ID(冗余) can not blank!", groups = validAdd.class)
+	private String warehouseId;
+
+	@ApiModelProperty(value = "供应商ID(冗余)")
+	private String vendorId;
+
+	@ApiModelProperty(value = "来源单类型(冗余)")
+	private String srcBillType;
+
+	@ApiModelProperty(value = "来源单头ID(冗余)")
+	private String srcHeaderId;
+
+	@ApiModelProperty(value = "ASN头ID(冗余)")
+	private String asnHeaderId;
+
+	@ApiModelProperty(value = "收货单头ID")
+	private String rcvHeaderId;
+
+	@ApiModelProperty(value = "单据日期", required = true)
+	@NotNull(message = "单据日期 can not blank!", groups = validAdd.class)
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date billDate;
+
+	@ApiModelProperty(value = "状态", required = true)
+	@NotBlank(message = "状态 can not blank!", groups = validAdd.class)
+	private String status;
+
+	@ApiModelProperty(value = "备注")
+	private String remark;
+
+	@ApiModelProperty(value = "工作台")
+	private String workBench;
+
+	@ApiModelProperty(value = "质检员1")
+	private String qcOperator1;
+
+	@ApiModelProperty(value = "质检员2")
+	private String qcOperator2;
+
+	@ApiModelProperty(value = "数据生成方式(系统自动/人工)部分类型的单据自动生成质检单")
+	private String dataSrcType;
+
+	@ApiModelProperty(value = "收货时间(查询字段)", position = 100)
+	private Date rcvDate;
+	@ApiModelProperty(value = "收货类型(查询字段)", position = 101)
+	private String rcvType;
+	@ApiModelProperty(value = "运输方式(查询字段)", position = 102)
+	private String shipType;
+	@ApiModelProperty(value = "到货方式(查询字段)", position = 103)
+	private String arrivalMode;
+	@ApiModelProperty(value = "供应商名(查询字段)", position = 104)
+	private String vendorName;
+	@ApiModelProperty(value = "仓库名(查询字段)", position = 105)
+	private String warehouseName;
+	@ApiModelProperty(value = "采购人(查询字段)", position = 106)
+	private String buyerMane;
+	@ApiModelProperty(value = "客户名(查询字段)", position = 107)
+	private String customerName;
+	@ApiModelProperty(value = "货主名(查询字段)", position = 108)
+	private String mtlOwnerName;
+	@ApiModelProperty(value = "组织名(查询字段)", position = 109)
+	private String orgnName;
+
+	// ===========6.2号新加字段=====================================================
+	@ApiModelProperty(value = "(新)是否打印上架标签(0否1是)", position = -1109)
+	private Integer isInstockPrint;
+
+	// =============6.11新加字段=============================================
+	// asn单号
+	@ApiModelProperty(value = "(新)asn单号", position = -1109)
+	private String asnBillNo;
+	// 单位助记码
+	@ApiModelProperty(value = "(新)单位助记码", position = -1109)
+	private String shipperZjm;
+	// 收货单号
+	@ApiModelProperty(value = "(新)收货单号", position = -1109)
+	private String rcvBillNo;
+
+	@ApiModelProperty(value = "(新)供应商编码", position = -1109)
+	private String vendorNum;
+	@ApiModelProperty(value = "(新)货主编号", position = -1109)
+	private String mtlOwnerNum;
+	@ApiModelProperty(value = "(新)收货员", position = -1109)
+	private String rcvUser;
+	@ApiModelProperty(value = "(新)更新者", position = -1109)
+	private String modifierName;
+	@ApiModelProperty(value = "(新)操作员", position = -1109)
+	private String excuteUser;
+	@ApiModelProperty(value = "(新)验收温度", position = -1110)
+	private String rqcTemperature;
+
+	private boolean autoGen; // 是否自动生成数据
+
+	@ApiModelProperty(value = "业务自动时间的间隔")
+	private String autoTimeInterval;
+
+	@ApiModelProperty(value = "单据类型")
+	private String billType;
+
+
+	public String getAutoTimeInterval() {
+		return autoTimeInterval;
+	}
+
+	public void setAutoTimeInterval(String autoTimeInterval) {
+		this.autoTimeInterval = autoTimeInterval;
+	}
+
+	public boolean getAutoGen() {
+		return autoGen;
+	}
+
+	public void setAutoGen(boolean autoGen) {
+		this.autoGen = autoGen;
+	}
+
+	public String getRqcTemperature() {
+		return rqcTemperature;
+	}
+
+	public void setRqcTemperature(String rqcTemperature) {
+		this.rqcTemperature = rqcTemperature;
+	}
+
+	public String getModifierName() {
+		return modifierName;
+	}
+
+	public void setModifierName(String modifierName) {
+		this.modifierName = modifierName;
+	}
+
+	public String getExcuteUser() {
+		return excuteUser;
+	}
+
+	public void setExcuteUser(String excuteUser) {
+		this.excuteUser = excuteUser;
+	}
+
+	public String getVendorNum() {
+		return vendorNum;
+	}
+
+	public void setVendorNum(String vendorNum) {
+		this.vendorNum = vendorNum;
+	}
+
+	public String getMtlOwnerNum() {
+		return mtlOwnerNum;
+	}
+
+	public void setMtlOwnerNum(String mtlOwnerNum) {
+		this.mtlOwnerNum = mtlOwnerNum;
+	}
+
+	public String getRcvUser() {
+		return rcvUser;
+	}
+
+	public void setRcvUser(String rcvUser) {
+		this.rcvUser = rcvUser;
+	}
+
+	public String getAsnBillNo() {
+		return asnBillNo;
+	}
+
+	public void setAsnBillNo(String asnBillNo) {
+		this.asnBillNo = asnBillNo;
+	}
+
+	public String getShipperZjm() {
+		return shipperZjm;
+	}
+
+	public void setShipperZjm(String shipperZjm) {
+		this.shipperZjm = shipperZjm;
+	}
+
+	public String getRcvBillNo() {
+		return rcvBillNo;
+	}
+
+	public void setRcvBillNo(String rcvBillNo) {
+		this.rcvBillNo = rcvBillNo;
+	}
+
+	public Integer getIsInstockPrint() {
+		return isInstockPrint;
+	}
+
+	public void setIsInstockPrint(Integer isInstockPrint) {
+		this.isInstockPrint = isInstockPrint;
+	}
+
+	public Date getRcvDate() {
+		return rcvDate;
+	}
+
+	public void setRcvDate(Date rcvDate) {
+		this.rcvDate = rcvDate;
+	}
+
+	public String getRcvType() {
+		return rcvType;
+	}
+
+	public void setRcvType(String rcvType) {
+		this.rcvType = rcvType;
+	}
+
+	public String getShipType() {
+		return shipType;
+	}
+
+	public void setShipType(String shipType) {
+		this.shipType = shipType;
+	}
+
+	public String getArrivalMode() {
+		return arrivalMode;
+	}
+
+	public void setArrivalMode(String arrivalMode) {
+		this.arrivalMode = arrivalMode;
+	}
+
+	public String getVendorName() {
+		return vendorName;
+	}
+
+	public void setVendorName(String vendorName) {
+		this.vendorName = vendorName;
+	}
+
+	public String getWarehouseName() {
+		return warehouseName;
+	}
+
+	public void setWarehouseName(String warehouseName) {
+		this.warehouseName = warehouseName;
+	}
+
+	public String getBuyerMane() {
+		return buyerMane;
+	}
+
+	public void setBuyerMane(String buyerMane) {
+		this.buyerMane = buyerMane;
+	}
+
+	public String getCustomerName() {
+		return customerName;
+	}
+
+	public void setCustomerName(String customerName) {
+		this.customerName = customerName;
+	}
+
+	public String getMtlOwnerName() {
+		return mtlOwnerName;
+	}
+
+	public void setMtlOwnerName(String mtlOwnerName) {
+		this.mtlOwnerName = mtlOwnerName;
+	}
+
+	public String getOrgnName() {
+		return orgnName;
+	}
+
+	public void setOrgnName(String orgnName) {
+		this.orgnName = orgnName;
+	}
+
+	public String getRqcHeaderId() {
+		return this.rqcHeaderId;
+	}
+
+	public void setRqcHeaderId(String rqcHeaderId) {
+		this.rqcHeaderId = rqcHeaderId;
+	}
+
+	public String getCustomBillNum() {
+		return this.customBillNum;
+	}
+
+	public void setCustomBillNum(String customBillNum) {
+		this.customBillNum = customBillNum;
+	}
+
+	public String getAutoBillNum() {
+		return this.autoBillNum;
+	}
+
+	public void setAutoBillNum(String autoBillNum) {
+		this.autoBillNum = autoBillNum;
+	}
+
+	public String getMtlOwnerId() {
+		return this.mtlOwnerId;
+	}
+
+	public void setMtlOwnerId(String mtlOwnerId) {
+		this.mtlOwnerId = mtlOwnerId;
+	}
+
+	public String getWarehouseId() {
+		return this.warehouseId;
+	}
+
+	public void setWarehouseId(String warehouseId) {
+		this.warehouseId = warehouseId;
+	}
+
+	public String getVendorId() {
+		return this.vendorId;
+	}
+
+	public void setVendorId(String vendorId) {
+		this.vendorId = vendorId;
+	}
+
+	public String getSrcBillType() {
+		return this.srcBillType;
+	}
+
+	public void setSrcBillType(String srcBillType) {
+		this.srcBillType = srcBillType;
+	}
+
+	public String getSrcHeaderId() {
+		return this.srcHeaderId;
+	}
+
+	public void setSrcHeaderId(String srcHeaderId) {
+		this.srcHeaderId = srcHeaderId;
+	}
+
+	public String getAsnHeaderId() {
+		return this.asnHeaderId;
+	}
+
+	public void setAsnHeaderId(String asnHeaderId) {
+		this.asnHeaderId = asnHeaderId;
+	}
+
+	public String getRcvHeaderId() {
+		return this.rcvHeaderId;
+	}
+
+	public void setRcvHeaderId(String rcvHeaderId) {
+		this.rcvHeaderId = rcvHeaderId;
+	}
+
+	public Date getBillDate() {
+		return this.billDate;
+	}
+
+	public void setBillDate(Date billDate) {
+		this.billDate = billDate;
+	}
+
+	public String getStatus() {
+		return this.status;
+	}
+
+	public void setStatus(String status) {
+		this.status = status;
+	}
+
+	public String getRemark() {
+		return this.remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public String getWorkBench() {
+		return this.workBench;
+	}
+
+	public void setWorkBench(String workBench) {
+		this.workBench = workBench;
+	}
+
+	public String getQcOperator1() {
+		return this.qcOperator1;
+	}
+
+	public void setQcOperator1(String qcOperator1) {
+		this.qcOperator1 = qcOperator1;
+	}
+
+	public String getQcOperator2() {
+		return this.qcOperator2;
+	}
+
+	public void setQcOperator2(String qcOperator2) {
+		this.qcOperator2 = qcOperator2;
+	}
+
+	public String getDataSrcType() {
+		return this.dataSrcType;
+	}
+
+	public void setDataSrcType(String dataSrcType) {
+		this.dataSrcType = dataSrcType;
+	}
+
+	public String getBillType() {
+		return billType;
+	}
+
+	public void setBillType(String billType) {
+		this.billType = billType;
+	}
+}

+ 261 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rqc/RqcLinePicDTO.java

@@ -0,0 +1,261 @@
+package com.prolog.cs.biz.inbound.dto.rqc;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validAdd;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validEdit;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Past;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @Description 质检单图片
+ * @Author Xiong
+ * @Date 2021-04-02
+ */
+
+@ApiModel
+public class RqcLinePicDTO implements Serializable {
+	private static final long serialVersionUID = 4404250084369384200L;
+	@ApiModelProperty(value = "唯一行号ID(主键雪花id)", required = true)
+	@NotBlank(message = "唯一行号ID(主键雪花id) can not blank!", groups = validEdit.class)
+	private String rqcPicLineId;
+
+	@ApiModelProperty(value = "ID(来源RQC_TASK)(必填)")
+	@NotBlank(message = "ID(来源RQC_TASK) can not blank!", groups = validAdd.class)
+	private String taskRqcId;
+
+	@ApiModelProperty(value = "质检单据id(必填)")
+	@NotBlank(message = "单据id can not blank!", groups = validAdd.class)
+	private String rqcHeaderId;
+
+	@ApiModelProperty(value = "收货单头ID")
+	private String rcvHeaderId;
+
+	@ApiModelProperty(value = "收货行头ID")
+	private String rcvLineId;
+
+	@ApiModelProperty(value = "货主ID")
+	private String mtlOwnerId;
+
+	@ApiModelProperty(value = "仓库ID(必填)")
+	@NotBlank(message = "仓库ID can not blank!", groups = validAdd.class)
+	private String warehouseId;
+
+	@ApiModelProperty(value = "来源单类型")
+	private String sourceBillTyp;
+
+	@ApiModelProperty(value = "来源单头ID")
+	private String sourceHeaderId;
+
+	@ApiModelProperty(value = "来源单行ID")
+	private String sourceLineId;
+
+	@ApiModelProperty(value = "ASN头ID")
+	private String asnHeaderId;
+
+	@ApiModelProperty(value = "ASN行ID")
+	private String asnLineId;
+
+	@ApiModelProperty(value = "商品ID(必填)")
+	@NotBlank(message = "商品ID can not blank!", groups = validAdd.class)
+	private String itemId;
+
+	@ApiModelProperty(value = "行号")
+	@NotNull(message = "行号 can not blank!", groups = validAdd.class)
+	private BigDecimal lineNum;
+
+	@ApiModelProperty(value = "批号(必填)")
+	@NotBlank(message = "批号 can not blank!", groups = validAdd.class)
+	private String batchId;
+
+	@ApiModelProperty(value = "图片名称(必填)")
+	@NotBlank(message = "图片名称 can not blank!", groups = validAdd.class)
+	private String picFileName;
+
+	@ApiModelProperty(value = "图片地址(必填)")
+	@NotBlank(message = "图片地址 can not blank!", groups = validAdd.class)
+	private String picFileUrl;
+
+	@ApiModelProperty(value = "上传时间")
+	@NotNull(message = "上传时间 can not blank!", groups = validAdd.class)
+	@Past(message = "上传时间 can not greater than now!", groups = validAdd.class)
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date opDate;
+
+	@ApiModelProperty(value = "上传人员")
+	@NotBlank(message = "上传人员 can not blank!", groups = validAdd.class)
+	private String opUserid;
+
+	@ApiModelProperty(value = "采购单号(必填)")
+	@NotBlank(message = "采购单号 can not blank!", groups = validAdd.class)
+	private String refbillno;
+
+	public String getRqcPicLineId() {
+		return this.rqcPicLineId;
+	}
+
+	public void setRqcPicLineId(String rqcPicLineId) {
+		this.rqcPicLineId = rqcPicLineId;
+	}
+
+	public String getTaskRqcId() {
+		return this.taskRqcId;
+	}
+
+	public void setTaskRqcId(String taskRqcId) {
+		this.taskRqcId = taskRqcId;
+	}
+
+	public String getRqcHeaderId() {
+		return this.rqcHeaderId;
+	}
+
+	public void setRqcHeaderId(String rqcHeaderId) {
+		this.rqcHeaderId = rqcHeaderId;
+	}
+
+	public String getRcvHeaderId() {
+		return this.rcvHeaderId;
+	}
+
+	public void setRcvHeaderId(String rcvHeaderId) {
+		this.rcvHeaderId = rcvHeaderId;
+	}
+
+	public String getRcvLineId() {
+		return this.rcvLineId;
+	}
+
+	public void setRcvLineId(String rcvLineId) {
+		this.rcvLineId = rcvLineId;
+	}
+
+	public String getMtlOwnerId() {
+		return this.mtlOwnerId;
+	}
+
+	public void setMtlOwnerId(String mtlOwnerId) {
+		this.mtlOwnerId = mtlOwnerId;
+	}
+
+	public String getWarehouseId() {
+		return this.warehouseId;
+	}
+
+	public void setWarehouseId(String warehouseId) {
+		this.warehouseId = warehouseId;
+	}
+
+	public String getSourceBillTyp() {
+		return this.sourceBillTyp;
+	}
+
+	public void setSourceBillTyp(String sourceBillTyp) {
+		this.sourceBillTyp = sourceBillTyp;
+	}
+
+	public String getSourceHeaderId() {
+		return this.sourceHeaderId;
+	}
+
+	public void setSourceHeaderId(String sourceHeaderId) {
+		this.sourceHeaderId = sourceHeaderId;
+	}
+
+	public String getSourceLineId() {
+		return this.sourceLineId;
+	}
+
+	public void setSourceLineId(String sourceLineId) {
+		this.sourceLineId = sourceLineId;
+	}
+
+	public String getAsnHeaderId() {
+		return this.asnHeaderId;
+	}
+
+	public void setAsnHeaderId(String asnHeaderId) {
+		this.asnHeaderId = asnHeaderId;
+	}
+
+	public String getAsnLineId() {
+		return this.asnLineId;
+	}
+
+	public void setAsnLineId(String asnLineId) {
+		this.asnLineId = asnLineId;
+	}
+
+	public String getItemId() {
+		return this.itemId;
+	}
+
+	public void setItemId(String itemId) {
+		this.itemId = itemId;
+	}
+
+	public BigDecimal getLineNum() {
+		return this.lineNum;
+	}
+
+	public void setLineNum(BigDecimal lineNum) {
+		this.lineNum = lineNum;
+	}
+
+	public String getBatchId() {
+		return this.batchId;
+	}
+
+	public void setBatchId(String batchId) {
+		this.batchId = batchId;
+	}
+
+	public String getPicFileName() {
+		return this.picFileName;
+	}
+
+	public void setPicFileName(String picFileName) {
+		this.picFileName = picFileName;
+	}
+
+	public String getPicFileUrl() {
+		return this.picFileUrl;
+	}
+
+	public void setPicFileUrl(String picFileUrl) {
+		this.picFileUrl = picFileUrl;
+	}
+
+	public Date getOpDate() {
+		return this.opDate;
+	}
+
+	public void setOpDate(Date opDate) {
+		this.opDate = opDate;
+	}
+
+	public String getOpUserid() {
+		return this.opUserid;
+	}
+
+	public void setOpUserid(String opUserid) {
+		this.opUserid = opUserid;
+	}
+
+	public String getRefbillno() {
+		return this.refbillno;
+	}
+
+	public void setRefbillno(String refbillno) {
+		this.refbillno = refbillno;
+	}
+
+}

+ 1853 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rqc/RqcLinesDTO.java

@@ -0,0 +1,1853 @@
+package com.prolog.cs.biz.inbound.dto.rqc;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validAdd;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validEdit;
+import com.prolog.framework.core.annotation.Column;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Description 质检单明细 关联收货单,可以查询出所有信息
+ * 
+ *              (结论:合格/不合格/待处理) 合格/不合格 :上架任务池 待处理:复检任务池
+ * @Author Xiong
+ * @Date 2021-04-02
+ */
+
+@ApiModel
+public class RqcLinesDTO implements Serializable {
+	private static final long serialVersionUID = 563826982236189844L;
+	@ApiModelProperty(value = "唯一行号ID(主键雪花id)", required = true)
+	@NotBlank(message = "唯一行号ID(主键雪花id) can not blank!", groups = validEdit.class)
+	private String rqcLineId;
+
+	@ApiModelProperty(value = "单据id", required = true)
+	@NotBlank(message = "单据id can not blank!", groups = validAdd.class)
+	private String rqcHeaderId;
+
+	@ApiModelProperty(value = "单据code")
+	private String rqcHeaderNo;
+
+	@ApiModelProperty(value = "质检任务池ID(来源RQC_TASK)", required = true)
+	@NotBlank(message = "质检任务池ID(来源RQC_TASK) can not blank!", groups = validAdd.class)
+	private String taskRqcId;
+
+	@ApiModelProperty(value = "收货单头ID")
+	private String rcvHeaderId;
+
+	@ApiModelProperty(value = "收货行头ID")
+	private String rcvLineId;
+
+	@ApiModelProperty(value = "货主ID(冗余,关联收货单)")
+	private String mtlOwnerId;
+
+	@ApiModelProperty(value = "仓库ID(冗余,关联收货单)", required = true)
+	@NotBlank(message = "仓库ID(冗余,关联收货单) can not blank!", groups = validAdd.class)
+	private String warehouseId;
+
+	@ApiModelProperty(value = "来源单类型(冗余,关联收货单)")
+	private String srcBillType;
+
+	@ApiModelProperty(value = "来源单头ID(冗余,关联收货单)")
+	private String srcHeaderId;
+
+	@ApiModelProperty(value = "来源单行ID(冗余,关联收货单)")
+	private String srcLineId;
+
+	@ApiModelProperty(value = "ASN头ID(冗余,关联收货单)")
+	private String asnHeaderId;
+
+	@ApiModelProperty(value = "ASN行ID(冗余,关联收货单)")
+	private String asnLineId;
+
+	@ApiModelProperty(value = "商品ID", required = true)
+	@NotBlank(message = "商品ID can not blank!", groups = validAdd.class)
+	private String itemId;
+
+	@ApiModelProperty(value = "容器编码(冗余,关联收货单行)")
+	private String containerCode;
+
+	@ApiModelProperty(value = "货格编码(冗余,关联收货单行)")
+	private String goodsCaseCode;
+
+	@ApiModelProperty(value = "批次ID", required = true)
+	@NotBlank(message = "批次ID can not blank!", groups = validAdd.class)
+	private String batchId;
+
+	@ApiModelProperty(value = "包装单位", required = true)
+	@NotBlank(message = "包装单位 can not blank!", groups = validAdd.class)
+	private String uom;
+
+	@ApiModelProperty(value = "包装单位类型(2019/2020)新老包装")
+//	@NotBlank(message = "包装单位类型(2019/2020)新老包装 can not blank!", groups = validAdd.class)
+	private String uomType;
+
+	@ApiModelProperty(value = "包装含量", required = true)
+	@NotNull(message = "包装含量 can not blank!", groups = validAdd.class)
+	private BigDecimal conversionRate;
+
+	@ApiModelProperty(value = "最小单位数量", required = true)
+	@NotNull(message = "最小单位数量 can not blank!", groups = validAdd.class)
+	private BigDecimal pieceQty;
+
+	@ApiModelProperty(value = "质检整箱数", required = true)
+	@NotNull(message = "质检整箱数 can not blank!", groups = validAdd.class)
+	private BigDecimal oddCaseQty;
+
+	@ApiModelProperty(value = "质检零散数", required = true)
+	@NotNull(message = "质检零散数 can not blank!", groups = validAdd.class)
+	private BigDecimal oddPieceQty;
+
+	@ApiModelProperty(value = "抽样整箱数")
+//	@NotNull(message = "抽样整箱数 can not blank!", groups = validAdd.class)
+	private BigDecimal qcOddCaseQty;
+
+	@ApiModelProperty(value = "抽样零散数")
+	private BigDecimal qcOddPieceQty;
+
+	@ApiModelProperty(value = "实际抽样整箱数")
+	private BigDecimal qcOddCaseActQty;
+
+	@ApiModelProperty(value = "实际抽样零散数")
+	private BigDecimal qcOddPieceActQty;
+
+	@ApiModelProperty(value = "行备注(可写异常信息)")
+	private String lineRemark;
+
+	@ApiModelProperty(value = "质检状态(初始/确认)")
+	private String qcStatus1;
+
+	@ApiModelProperty(value = "质检结论1(0合格/1不合格/2待处理/3拒绝)")
+	private String qcResult1;
+
+	@ApiModelProperty(value = "质检原因1")
+	private String qcReason1;
+
+	@ApiModelProperty(value = "质检等级1")
+	private String qcGrade1;
+
+	@ApiModelProperty(value = "质检员1")
+	private String qcOpcode1;
+
+	@ApiModelProperty(value = "质检时间1")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date qcDate1;
+
+	@ApiModelProperty(value = "质检状态2(初始/确认)")
+	private String qcStatus2;
+
+	@ApiModelProperty(value = "质检结论2(0合格/1不合格/2待处理/3拒绝)")
+	private String qcResult2;
+
+	@ApiModelProperty(value = "质检原因2")
+	private String qcReason2;
+
+	@ApiModelProperty(value = "质检等级2")
+	private String qcGrade2;
+
+	@ApiModelProperty(value = "质检员2")
+	private String qcOpcode2;
+
+	@ApiModelProperty(value = "质检状态2(初始/确认)")
+	private String qcStatus3;
+
+	@ApiModelProperty(value = "质检结论2(0合格/1不合格/2待处理/3拒绝)")
+	private String qcResult3;
+
+	@ApiModelProperty(value = "质检原因3")
+	private String qcReason3;
+
+	@ApiModelProperty(value = "质检等级3")
+	private String qcGrade3;
+
+	@ApiModelProperty(value = "质检员3")
+	private String qcOpcode3;
+
+	@ApiModelProperty(value = "质检时间2")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date qcDate2;
+
+	@ApiModelProperty(value = "质检时间3")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date qcDate3;
+
+	@ApiModelProperty(value = "(质检结论状态)")
+	private String stockStatus;
+
+	@ApiModelProperty(value = "货品标志")
+	private String itemFlag;
+
+	@ApiModelProperty(value = "质检次数")
+	private Integer times;
+
+	@ApiModelProperty(value = "双人业务类型(0:正常 1:双人验收,默认正常)")
+	private Integer itemHealthIsDouble;
+
+	@ApiModelProperty(value = "商品条码(列表展示用)")
+	private String itemBarcode;
+	@ApiModelProperty(value = "商品体积(列表展示用)")
+	private BigDecimal itemVolume;
+	@ApiModelProperty(value = "商品重量(列表展示用)")
+	private BigDecimal itemWeight;
+	@ApiModelProperty(value = "质检是否双票(列表展示用)")
+	private Integer itemHealthTwovoflag;
+	@ApiModelProperty(value = "仓库名称(列表展示用)")
+	private String warehouseName;
+	@ApiModelProperty(value = "库区名称(列表展示用)")
+	private String warehouseAreaName;
+	@ApiModelProperty(value = "商品编码(列表展示用)")
+	private String itemNum;
+	@ApiModelProperty(value = "商品名称(列表展示用)")
+	private String itemName;
+	@ApiModelProperty(value = "商品分类名(列表展示用)")
+	private String categoryName;
+
+	@ApiModelProperty(value = "生产商批号")
+	private String manufacturerLotNum;
+
+	@ApiModelProperty(value = "批次号")
+	private String batchNum;
+
+	@ApiModelProperty(value = "批次生产日期(列表展示用)", position = 9)
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date batchProductionDate;
+	@ApiModelProperty(value = "批次有效期(列表展示用)", position = 9)
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date batchExpiredDate;
+	@ApiModelProperty(value = "商品分类code名(展示用)", position = 9)
+	private String categoryId;
+	@ApiModelProperty(value = "仓库编码", position = 9)
+	private String warehouseCode;
+
+	// -------------------库存服务所需字段--------------------------------
+	// 供应商id
+	@ApiModelProperty(value = "供应商id(隐藏字段)", position = 9)
+	private String vendorId;
+	// 组织id
+	@ApiModelProperty(value = "组织id(隐藏字段)", position = 9)
+	private String orgId;
+	// erp
+	@ApiModelProperty(value = "erp批号(隐藏字段)", position = 9)
+	private String erpBatchNum;
+	// 产地
+	@ApiModelProperty(value = "商品产地(隐藏字段)", position = 9)
+	private String productionPlace;
+	// 单品含税额
+	@ApiModelProperty(value = "单品含税进价(隐藏字段)", position = 9)
+	private BigDecimal piecePriceTi;
+	// 单品不含税额
+	@ApiModelProperty(value = "单品不含税进价(隐藏字段)", position = 9)
+	private BigDecimal piecePriceTe;
+	// 税率
+	@ApiModelProperty(value = "税率(隐藏字段)", position = 9)
+	private BigDecimal taxRate;
+
+	@ApiModelProperty(value = "库别编码", position = 9)
+	private String whAreaCategoryCode;
+
+	// =================== 5.12 新增=========================================
+	@ApiModelProperty(value = "(新)库区编号(逗号分隔列表)", position = -1)
+	private String warehouseAreaCodes;
+	@ApiModelProperty(value = "(新)商品整散分离标识(0整散合一/1整散分开)", position = -1)
+	private String itemIsPieceOrCase;
+	@ApiModelProperty(value = "(新)推荐库别编号(逗号分隔列表)", position = -1)
+	private String warehouseAreaCategorys;
+
+	// ================新增字段5.12=================================
+	@ApiModelProperty(value = "(新)实际库别", position = -1)
+	private String whAreaCategory;
+
+	@ApiModelProperty(value = "(新)实际库区编号(逗号分隔集合)", position = -1)
+	private String whAreaCodes;
+
+	@ApiModelProperty(value = "(新)收货类型", position = -1)
+	private String rcvType;
+
+	// ===============5.17 新加字段================
+	@ApiModelProperty(value = "(新)商品规格说明(冗余)", position = -1)
+	private String specification;
+	@ApiModelProperty(value = "(新)上市许可持有人(冗余)", position = -1)
+	private String itemHealthListedLicensor;
+	@ApiModelProperty(value = "(新)生产企业许可证号(冗余)", position = -1)
+	private String itemHealthProduceLicense;
+	@ApiModelProperty(value = "(新)存储分类(冗余)", position = -1)
+	private String itemHealthStoreCategory;
+	@ApiModelProperty(value = "(新)商品是否进口(冗余)", position = -1)
+	private Integer itemIsImported;
+	@ApiModelProperty(value = "(新)商品是否复检(0否1是)(冗余)", position = -1)
+	private Integer itemIsRecheck;
+	@ApiModelProperty(value = "(新)商品是否器械(0否1是)(冗余)", position = -1)
+	private Integer isInstrument;
+
+	// 处理意见
+	@ApiModelProperty(value = "(新)处理意见", position = -2)
+	private String handlingSuggestion;
+	// 不足原因
+	@ApiModelProperty(value = "(新)不足原因", position = -2)
+	private String defReason;
+	// 抽样日期
+	@ApiModelProperty(value = "抽样日期", position = -2)
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date sampleDate;
+
+	// ========5.20新加==========================
+	// 商品通用名
+	@ApiModelProperty(value = "(新)商品通用名(冗余)", position = -2)
+	private String itemHealthCommonName;
+	// 商品是否锁定
+	@ApiModelProperty(value = "(新)商品是否锁定(0否1是)(冗余)", position = -2)
+	private Integer isLock;
+	// 商品是否代管
+	@ApiModelProperty(value = "(新)商品是否代管(0否1是)(冗余)", position = -2)
+	private Integer isHosted;
+	// 生产厂家id
+	@ApiModelProperty(value = "(新)生产厂家id(冗余)", position = -2)
+	private String manufacturerId;
+	// 生产厂家code
+	@ApiModelProperty(value = "(新)生产厂家code(冗余)", position = -2)
+	private String manufacturerCode;
+	// 生产厂家name
+	@ApiModelProperty(value = "(新)生产厂家name(冗余)", position = -2)
+	private String manufacturerName;
+	@ApiModelProperty(value = "(新)入库预留保质天数(冗余)", position = -2)
+	private BigDecimal inStoreDay;
+	// 注册证号
+	@ApiModelProperty(value = "(新)注册证号(冗余)", position = -2)
+	private String itemHealthRegisterNbr;
+	// 有效期天数(需转换)
+	@ApiModelProperty(value = "(新)有效期天数(需转换)(冗余)", position = -2)
+	private BigDecimal shelfLifeDays;
+	// 保质期单位
+	@ApiModelProperty(value = "(新)保质期单位(年/月/日,默认日)(冗余)", position = -2)
+	private String shelfLifeUnit;
+	// 是否特殊品
+	@ApiModelProperty(value = "(新)商品是否特殊品(0否1是)(冗余)", position = -2)
+	private Integer itemIsSpecial;
+	// 是否无菌
+	@ApiModelProperty(value = "(新)商品是否无菌(0否1是)(冗余)", position = -2)
+	private Integer isBacteria;
+	// 退货单位提供的商品售出期间储存、运输质量控制情况
+	@ApiModelProperty(value = "(新)退货单位提供的商品售出期间储存、运输质量控制情况(冗余)", position = -2)
+	private String returnInfo;
+	// 退货冷藏品出库期质量
+	@ApiModelProperty(value = "(新)退货冷藏品出库期质量(冗余)", position = -2)
+	private String returnColdQuality;
+	// 退货说明
+	@ApiModelProperty(value = "(新)退货说明(冗余)", position = -2)
+	private String returnExplain;
+
+	@ApiModelProperty(value = "是否复检过(0否1是)", position = -2)
+	private Integer isRechecked;
+
+	@ApiModelProperty(value = "是否抽样过(0否1是)", position = -2)
+	private Integer isSpotCheck;
+
+	@ApiModelProperty(value = "(新)抽样id", position = -2)
+	private String rqcSampleId;
+
+	@ApiModelProperty(value = "(新)处理原因(码表)", position = -2)
+	private String handlingReason;
+	@ApiModelProperty(value = "(新)不足原因补充", position = -2)
+	private String defReasonExt;
+	@ApiModelProperty(value = "(新)处理措施(码表)", position = -2)
+	private String handlingMeasure;
+
+	// ===========6.2号新加字段=====================================================
+	@ApiModelProperty(value = "(新)是否打印上架标签(0否1是)", position = -1109)
+	private Integer isInstockPrint;
+
+	// ==============6.4号新加字段(打印单据用)======================================================
+	@ApiModelProperty(value = "(新)收货员", position = -1109)
+	private String rcvUser;// 收货员
+	@ApiModelProperty(value = "(新)供应商", position = -1109)
+	private String vendorName;// 供应商
+	@ApiModelProperty(value = "(新)供应商", position = -1109)
+	private String vendorNum;// 供应商
+	@ApiModelProperty(value = "(新)质检日期", position = -1109)
+	private Date rqcDate;// 质检日期
+	@ApiModelProperty(value = "(新)组织名", position = -1109)
+	private String orgnName;// 组织名(rqc头表缺失)
+	@ApiModelProperty(value = "(新)货主名", position = -1109)
+	private String mtlOwnerName;// 货主名
+	@ApiModelProperty(value = "(新)采购员", position = -1109)
+	private String linkMan;// 采购员
+	@ApiModelProperty(value = "(新)采购单号(asn单号)", position = -1109)
+	private String poNum;// 采购单号
+
+	@ApiModelProperty(value = "是否监管", position = -1109)
+	private String isRetpospect;
+
+	@ApiModelProperty(value = "剂型", position = -2000)
+	private String itemHealthType;
+
+	// ====================6.10新加字段=================================
+	// 退货类型 -- 收货行拓展
+	@ApiModelProperty(value = "(新)退货类型(码表rcv_return_type)", position = -1110)
+	private String returnType;
+	// 提货说明
+	@ApiModelProperty(value = "(新)提货说明", position = -1110)
+	private String pickGoodsExplain;
+
+	// 来源行id
+	@ApiModelProperty(value = "(新)入库来源行id", position = -1111)
+	private String refLineId;
+
+	// 来源类型
+	@ApiModelProperty(value = "(新)入库来源类型(0收货1质检2复检)", position = -1111)
+	private Integer refType;
+
+	@ApiModelProperty(value = "(新)显示生产日期", position = -1112)
+	private String showProductionDate;
+	@ApiModelProperty(value = "(新)显示有效期至", position = -1112)
+	private String showExpiredDate;
+
+	@ApiModelProperty(value = "(新)商品助记码", position = -1113)
+	private String itemZjm;
+	@ApiModelProperty(value = "(新)商品批准文号", position = -1113)
+	private String approvalNumber;
+
+	@ApiModelProperty(value = "(新)受托生产企业名称", position = -4)
+	private String delegationPartyName;
+	@ApiModelProperty(value = "(新)是否受托生产(0否1是)", position = -4)
+	private Integer isDelegate;
+
+	@ApiModelProperty(value = "(新)质检报告单号(关联批次)", position = -1113)
+	private String rqcReportNo;
+
+	@ApiModelProperty(value = "(新)验收温度", position = -1110)
+	private String rqcTemperature;
+
+	@ApiModelProperty(value = "(新)账期类型", position = -4)
+	private String saleBillType;
+
+	@ApiModelProperty(value = "(新)收货+质检备注", position = -4)
+	private String remarks;
+
+	@ApiModelProperty(value = "小数拆分标识(Y为允许,其他均不可)", position = -2)
+	private String allowDecimal;
+	
+	@ApiModelProperty(value = "二级库存(id&code)", position = -2000)
+	private String secondStatus;
+
+	@ApiModelProperty(value = "复检任务id", position = -2000)
+	private String taskRecheckId;
+
+	@ApiModelProperty(value = "是否监管码扫描(0否1是默认0)", position = -2)
+	private Integer isSupervise;
+
+	@ApiModelProperty(value = "是否解锁:0=否 1=是")
+	private Integer unlock;
+
+	@ApiModelProperty(value = "小包装数", position = -3)
+	private String minSu;
+
+	@ApiModelProperty(value = "中包装数", position = -3)
+	private String middleSu;
+
+	@ApiModelProperty(value = "大包装数", position = -3)
+	private String maxSu;
+
+	@ApiModelProperty(value = "验收单号", position = -3)
+	private String rqcNo;
+
+	@ApiModelProperty(value = "供应商电话", position = -4)
+	private String vendorPhone;
+
+
+	@ApiModelProperty(value = "验收员", position = -4)
+	private String rqcUser;
+
+	@ApiModelProperty(value = "库别集合", position = -4)
+	private List<String> whAreaCategoryCodeList;
+
+	@ApiModelProperty(value = "存储条件", position = -4)
+	private String storeTemperature;
+
+	@ApiModelProperty(value = "是否能入AGVK", position = -2018)
+	private String isAgv;
+
+	public String getRqcUser() {
+		return rqcUser;
+	}
+
+	public void setRqcUser(String rqcUser) {
+		this.rqcUser = rqcUser;
+	}
+
+	public String getRqcNo() {
+		return rqcNo;
+	}
+
+	public void setRqcNo(String rqcNo) {
+		this.rqcNo = rqcNo;
+	}
+
+	public String getVendorPhone() {
+		return vendorPhone;
+	}
+
+	public void setVendorPhone(String vendorPhone) {
+		this.vendorPhone = vendorPhone;
+	}
+
+	public String getMinSu() {
+		return minSu;
+	}
+
+	public void setMinSu(String minSu) {
+		this.minSu = minSu;
+	}
+
+	public String getMiddleSu() {
+		return middleSu;
+	}
+
+	public void setMiddleSu(String middleSu) {
+		this.middleSu = middleSu;
+	}
+
+	public String getMaxSu() {
+		return maxSu;
+	}
+
+	public void setMaxSu(String maxSu) {
+		this.maxSu = maxSu;
+	}
+
+	public Integer getIsSupervise() {
+		return isSupervise;
+	}
+
+	public void setIsSupervise(Integer isSupervise) {
+		this.isSupervise = isSupervise;
+	}
+
+	public Integer getUnlock() {
+		return unlock;
+	}
+
+	public void setUnlock(Integer unlock) {
+		this.unlock = unlock;
+	}
+
+	public String getTaskRecheckId() { return taskRecheckId; }
+
+	public void setTaskRecheckId(String taskRecheckId) { this.taskRecheckId = taskRecheckId; }
+
+	public String getSecondStatus() {
+		return secondStatus;
+	}
+
+	public void setSecondStatus(String secondStatus) {
+		this.secondStatus = secondStatus;
+	}
+
+	@ApiModelProperty(value = "单位名称", position = -2)
+	private String shipperName;
+
+//	@ApiModelProperty(value = "小数拆分标识(Y为允许,其他均不可)", position = -2)
+//	private String whAreaCategoryCode;
+	@ApiModelProperty(value = "上架任务推荐货位id", position = -2)
+	private String whLocatorId;
+
+	@ApiModelProperty(value = "上架任务推荐货位编码", position = -2)
+	private String whLocatorCode;
+
+	@ApiModelProperty(value = "上架任务推荐货位名称", position = -2)
+	private String whLocatorName;
+
+	@ApiModelProperty(value = "上架任务建筑物编码", position = -2)
+	private String bldgCode;
+
+	@ApiModelProperty(value = "上架任务推荐库区编码", position = -2)
+	private String whAreaCode;
+
+	@ApiModelProperty(value = "上架任务标签", position = -2)
+	private String instockLabel;
+
+	@ApiModelProperty(value = "上架任务推荐货位楼层", position = -2)
+	private String locatorFloorNum;
+
+	@ApiModelProperty(value = "退货原因")
+	private String rcvRtReason;
+
+	@ApiModelProperty(value = "源容器号")
+	private String oldContainerCode;
+
+	@ApiModelProperty(value = "单据编号")
+	private String rcvNo;
+
+	@ApiModelProperty(value = "收货日期")
+	private Date rcvDate;
+
+	@ApiModelProperty(value = "单据类型")
+	private String billTypeName;
+
+	@ApiModelProperty(value = "上传监管码状态 0 空(不需要上传) 1 成功 2 失败")
+	private Integer uploadCircubillStatus;
+
+	@ApiModelProperty(value = "上传次数")
+	private Integer uploadTimes;
+
+	@ApiModelProperty(value = "最后上传时间")
+	private Date lastUploadTime;
+
+	public String getRcvRtReason() {
+		return rcvRtReason;
+	}
+
+	public void setRcvRtReason(String rcvRtReason) {
+		this.rcvRtReason = rcvRtReason;
+	}
+
+	public String getShipperName() {
+		return shipperName;
+	}
+
+	public void setShipperName(String shipperName) {
+		this.shipperName = shipperName;
+	}
+
+	public String getWhLocatorId() {
+		return whLocatorId;
+	}
+
+	public void setWhLocatorId(String whLocatorId) {
+		this.whLocatorId = whLocatorId;
+	}
+
+	public String getWhLocatorCode() {
+		return whLocatorCode;
+	}
+
+	public void setWhLocatorCode(String whLocatorCode) {
+		this.whLocatorCode = whLocatorCode;
+	}
+
+	public String getWhLocatorName() {
+		return whLocatorName;
+	}
+
+	public void setWhLocatorName(String whLocatorName) {
+		this.whLocatorName = whLocatorName;
+	}
+
+	public String getBldgCode() {
+		return bldgCode;
+	}
+
+	public void setBldgCode(String bldgCode) {
+		this.bldgCode = bldgCode;
+	}
+
+	public String getWhAreaCode() {
+		return whAreaCode;
+	}
+
+	public void setWhAreaCode(String whAreaCode) {
+		this.whAreaCode = whAreaCode;
+	}
+
+	public String getInstockLabel() {
+		return instockLabel;
+	}
+
+	public void setInstockLabel(String instockLabel) {
+		this.instockLabel = instockLabel;
+	}
+
+	public String getLocatorFloorNum() {
+		return locatorFloorNum;
+	}
+
+	public void setLocatorFloorNum(String locatorFloorNum) {
+		this.locatorFloorNum = locatorFloorNum;
+	}
+
+	public String getAllowDecimal() {
+		return allowDecimal;
+	}
+
+	public void setAllowDecimal(String allowDecimal) {
+		this.allowDecimal = allowDecimal;
+	}
+
+	public String getRemarks() {
+		return remarks;
+	}
+
+	public void setRemarks(String remarks) {
+		this.remarks = remarks;
+	}
+
+	public String getSaleBillType() {
+		return saleBillType;
+	}
+
+	public void setSaleBillType(String saleBillType) {
+		this.saleBillType = saleBillType;
+	}
+
+	public String getRqcTemperature() {
+		return rqcTemperature;
+	}
+
+	public void setRqcTemperature(String rqcTemperature) {
+		this.rqcTemperature = rqcTemperature;
+	}
+
+	public String getRqcReportNo() {
+		return rqcReportNo;
+	}
+
+	public void setRqcReportNo(String rqcReportNo) {
+		this.rqcReportNo = rqcReportNo;
+	}
+
+	public String getRqcHeaderNo() {
+		return rqcHeaderNo;
+	}
+
+	public void setRqcHeaderNo(String rqcHeaderNo) {
+		this.rqcHeaderNo = rqcHeaderNo;
+	}
+
+	public String getDelegationPartyName() {
+		return delegationPartyName;
+	}
+
+	public void setDelegationPartyName(String delegationPartyName) {
+		this.delegationPartyName = delegationPartyName;
+	}
+
+	public Integer getIsDelegate() {
+		return isDelegate;
+	}
+
+	public void setIsDelegate(Integer isDelegate) {
+		this.isDelegate = isDelegate;
+	}
+
+	public String getApprovalNumber() {
+		return approvalNumber;
+	}
+
+	public void setApprovalNumber(String approvalNumber) {
+		this.approvalNumber = approvalNumber;
+	}
+
+	public String getItemZjm() {
+		return itemZjm;
+	}
+
+	public void setItemZjm(String itemZjm) {
+		this.itemZjm = itemZjm;
+	}
+
+	public String getShowProductionDate() {
+		return showProductionDate;
+	}
+
+	public void setShowProductionDate(String showProductionDate) {
+		this.showProductionDate = showProductionDate;
+	}
+
+	public String getShowExpiredDate() {
+		return showExpiredDate;
+	}
+
+	public void setShowExpiredDate(String showExpiredDate) {
+		this.showExpiredDate = showExpiredDate;
+	}
+
+	public Integer getRefType() {
+		return refType;
+	}
+
+	public void setRefType(Integer refType) {
+		this.refType = refType;
+	}
+
+	public String getRefLineId() {
+		return refLineId;
+	}
+
+	public void setRefLineId(String refLineId) {
+		this.refLineId = refLineId;
+	}
+
+	public String getReturnType() {
+		return returnType;
+	}
+
+	public void setReturnType(String returnType) {
+		this.returnType = returnType;
+	}
+
+	public String getPickGoodsExplain() {
+		return pickGoodsExplain;
+	}
+
+	public void setPickGoodsExplain(String pickGoodsExplain) {
+		this.pickGoodsExplain = pickGoodsExplain;
+	}
+
+	public static long getSerialversionuid() {
+		return serialVersionUID;
+	}
+
+	public String getPoNum() {
+		return poNum;
+	}
+
+	public void setPoNum(String poNum) {
+		this.poNum = poNum;
+	}
+
+	public String getMtlOwnerName() {
+		return mtlOwnerName;
+	}
+
+	public void setMtlOwnerName(String mtlOwnerName) {
+		this.mtlOwnerName = mtlOwnerName;
+	}
+
+	public String getLinkMan() {
+		return linkMan;
+	}
+
+	public void setLinkMan(String linkMan) {
+		this.linkMan = linkMan;
+	}
+
+	public String getRcvUser() {
+		return rcvUser;
+	}
+
+	public void setRcvUser(String rcvUser) {
+		this.rcvUser = rcvUser;
+	}
+
+	public String getVendorName() {
+		return vendorName;
+	}
+
+	public void setVendorName(String vendorName) {
+		this.vendorName = vendorName;
+	}
+
+	public Date getRqcDate() {
+		return rqcDate;
+	}
+
+	public void setRqcDate(Date rqcDate) {
+		this.rqcDate = rqcDate;
+	}
+
+	public String getOrgnName() {
+		return orgnName;
+	}
+
+	public void setOrgnName(String orgnName) {
+		this.orgnName = orgnName;
+	}
+
+	public Integer getIsInstockPrint() {
+		return isInstockPrint;
+	}
+
+	public void setIsInstockPrint(Integer isInstockPrint) {
+		this.isInstockPrint = isInstockPrint;
+	}
+
+	public String getHandlingReason() {
+		return handlingReason;
+	}
+
+	public void setHandlingReason(String handlingReason) {
+		this.handlingReason = handlingReason;
+	}
+
+	public String getDefReasonExt() {
+		return defReasonExt;
+	}
+
+	public void setDefReasonExt(String defReasonExt) {
+		this.defReasonExt = defReasonExt;
+	}
+
+	public String getHandlingMeasure() {
+		return handlingMeasure;
+	}
+
+	public void setHandlingMeasure(String handlingMeasure) {
+		this.handlingMeasure = handlingMeasure;
+	}
+
+	public String getRqcSampleId() {
+		return rqcSampleId;
+	}
+
+	public void setRqcSampleId(String rqcSampleId) {
+		this.rqcSampleId = rqcSampleId;
+	}
+
+	public Integer getIsRechecked() {
+		return isRechecked;
+	}
+
+	public void setIsRechecked(Integer isRechecked) {
+		this.isRechecked = isRechecked;
+	}
+
+	public Integer getIsSpotCheck() {
+		return isSpotCheck;
+	}
+
+	public void setIsSpotCheck(Integer isSpotCheck) {
+		this.isSpotCheck = isSpotCheck;
+	}
+
+	public String getItemHealthCommonName() {
+		return itemHealthCommonName;
+	}
+
+	public void setItemHealthCommonName(String itemHealthCommonName) {
+		this.itemHealthCommonName = itemHealthCommonName;
+	}
+
+	public Integer getIsLock() {
+		return isLock;
+	}
+
+	public void setIsLock(Integer isLock) {
+		this.isLock = isLock;
+	}
+
+	public Integer getIsHosted() {
+		return isHosted;
+	}
+
+	public void setIsHosted(Integer isHosted) {
+		this.isHosted = isHosted;
+	}
+
+	public String getManufacturerId() {
+		return manufacturerId;
+	}
+
+	public void setManufacturerId(String manufacturerId) {
+		this.manufacturerId = manufacturerId;
+	}
+
+	public String getManufacturerCode() {
+		return manufacturerCode;
+	}
+
+	public void setManufacturerCode(String manufacturerCode) {
+		this.manufacturerCode = manufacturerCode;
+	}
+
+	public String getManufacturerName() {
+		return manufacturerName;
+	}
+
+	public void setManufacturerName(String manufacturerName) {
+		this.manufacturerName = manufacturerName;
+	}
+
+	public BigDecimal getInStoreDay() {
+		return inStoreDay;
+	}
+
+	public void setInStoreDay(BigDecimal inStoreDay) {
+		this.inStoreDay = inStoreDay;
+	}
+
+	public String getItemHealthRegisterNbr() {
+		return itemHealthRegisterNbr;
+	}
+
+	public void setItemHealthRegisterNbr(String itemHealthRegisterNbr) {
+		this.itemHealthRegisterNbr = itemHealthRegisterNbr;
+	}
+
+	public BigDecimal getShelfLifeDays() {
+		return shelfLifeDays;
+	}
+
+	public void setShelfLifeDays(BigDecimal shelfLifeDays) {
+		this.shelfLifeDays = shelfLifeDays;
+	}
+
+	public String getShelfLifeUnit() {
+		return shelfLifeUnit;
+	}
+
+	public void setShelfLifeUnit(String shelfLifeUnit) {
+		this.shelfLifeUnit = shelfLifeUnit;
+	}
+
+	public Integer getItemIsSpecial() {
+		return itemIsSpecial;
+	}
+
+	public void setItemIsSpecial(Integer itemIsSpecial) {
+		this.itemIsSpecial = itemIsSpecial;
+	}
+
+	public Integer getIsBacteria() {
+		return isBacteria;
+	}
+
+	public void setIsBacteria(Integer isBacteria) {
+		this.isBacteria = isBacteria;
+	}
+
+	public String getReturnInfo() {
+		return returnInfo;
+	}
+
+	public void setReturnInfo(String returnInfo) {
+		this.returnInfo = returnInfo;
+	}
+
+	public String getReturnColdQuality() {
+		return returnColdQuality;
+	}
+
+	public void setReturnColdQuality(String returnColdQuality) {
+		this.returnColdQuality = returnColdQuality;
+	}
+
+	public String getReturnExplain() {
+		return returnExplain;
+	}
+
+	public void setReturnExplain(String returnExplain) {
+		this.returnExplain = returnExplain;
+	}
+
+	public String getHandlingSuggestion() {
+		return handlingSuggestion;
+	}
+
+	public void setHandlingSuggestion(String handlingSuggestion) {
+		this.handlingSuggestion = handlingSuggestion;
+	}
+
+	public String getDefReason() {
+		return defReason;
+	}
+
+	public void setDefReason(String defReason) {
+		this.defReason = defReason;
+	}
+
+	public Date getSampleDate() {
+		return sampleDate;
+	}
+
+	public void setSampleDate(Date sampleDate) {
+		this.sampleDate = sampleDate;
+	}
+
+	public String getSpecification() {
+		return specification;
+	}
+
+	public void setSpecification(String specification) {
+		this.specification = specification;
+	}
+
+	public String getItemHealthListedLicensor() {
+		return itemHealthListedLicensor;
+	}
+
+	public void setItemHealthListedLicensor(String itemHealthListedLicensor) {
+		this.itemHealthListedLicensor = itemHealthListedLicensor;
+	}
+
+	public String getItemHealthProduceLicense() {
+		return itemHealthProduceLicense;
+	}
+
+	public void setItemHealthProduceLicense(String itemHealthProduceLicense) {
+		this.itemHealthProduceLicense = itemHealthProduceLicense;
+	}
+
+	public String getItemHealthStoreCategory() {
+		return itemHealthStoreCategory;
+	}
+
+	public void setItemHealthStoreCategory(String itemHealthStoreCategory) {
+		this.itemHealthStoreCategory = itemHealthStoreCategory;
+	}
+
+	public Integer getItemIsImported() {
+		return itemIsImported;
+	}
+
+	public void setItemIsImported(Integer itemIsImported) {
+		this.itemIsImported = itemIsImported;
+	}
+
+	public Integer getItemIsRecheck() {
+		return itemIsRecheck;
+	}
+
+	public void setItemIsRecheck(Integer itemIsRecheck) {
+		this.itemIsRecheck = itemIsRecheck;
+	}
+
+	public Integer getIsInstrument() {
+		return isInstrument;
+	}
+
+	public void setIsInstrument(Integer isInstrument) {
+		this.isInstrument = isInstrument;
+	}
+
+	public String getRcvType() {
+		return rcvType;
+	}
+
+	public void setRcvType(String rcvType) {
+		this.rcvType = rcvType;
+	}
+
+	public String getWhAreaCategory() {
+		return whAreaCategory;
+	}
+
+	public void setWhAreaCategory(String whAreaCategory) {
+		this.whAreaCategory = whAreaCategory;
+	}
+
+	public String getWhAreaCodes() {
+		return whAreaCodes;
+	}
+
+	public void setWhAreaCodes(String whAreaCodes) {
+		this.whAreaCodes = whAreaCodes;
+	}
+
+	public String getWarehouseAreaCodes() {
+		return warehouseAreaCodes;
+	}
+
+	public void setWarehouseAreaCodes(String warehouseAreaCodes) {
+		this.warehouseAreaCodes = warehouseAreaCodes;
+	}
+
+	public String getItemIsPieceOrCase() {
+		return itemIsPieceOrCase;
+	}
+
+	public void setItemIsPieceOrCase(String itemIsPieceOrCase) {
+		this.itemIsPieceOrCase = itemIsPieceOrCase;
+	}
+
+	public String getWarehouseAreaCategorys() {
+		return warehouseAreaCategorys;
+	}
+
+	public void setWarehouseAreaCategorys(String warehouseAreaCategorys) {
+		this.warehouseAreaCategorys = warehouseAreaCategorys;
+	}
+
+	public Date getBatchProductionDate() {
+		return batchProductionDate;
+	}
+
+	public void setBatchProductionDate(Date batchProductionDate) {
+		this.batchProductionDate = batchProductionDate;
+	}
+
+	public Date getBatchExpiredDate() {
+		return batchExpiredDate;
+	}
+
+	public void setBatchExpiredDate(Date batchExpiredDate) {
+		this.batchExpiredDate = batchExpiredDate;
+	}
+
+	public String getCategoryId() {
+		return categoryId;
+	}
+
+	public void setCategoryId(String categoryId) {
+		this.categoryId = categoryId;
+	}
+
+	public String getWarehouseCode() {
+		return warehouseCode;
+	}
+
+	public void setWarehouseCode(String warehouseCode) {
+		this.warehouseCode = warehouseCode;
+	}
+
+	public String getVendorId() {
+		return vendorId;
+	}
+
+	public void setVendorId(String vendorId) {
+		this.vendorId = vendorId;
+	}
+
+	public String getOrgId() {
+		return orgId;
+	}
+
+	public void setOrgId(String orgId) {
+		this.orgId = orgId;
+	}
+
+	public String getErpBatchNum() {
+		return erpBatchNum;
+	}
+
+	public void setErpBatchNum(String erpBatchNum) {
+		this.erpBatchNum = erpBatchNum;
+	}
+
+	public String getProductionPlace() {
+		return productionPlace;
+	}
+
+	public void setProductionPlace(String productionPlace) {
+		this.productionPlace = productionPlace;
+	}
+
+	public BigDecimal getPiecePriceTi() {
+		return piecePriceTi;
+	}
+
+	public void setPiecePriceTi(BigDecimal piecePriceTi) {
+		this.piecePriceTi = piecePriceTi;
+	}
+
+	public BigDecimal getPiecePriceTe() {
+		return piecePriceTe;
+	}
+
+	public void setPiecePriceTe(BigDecimal piecePriceTe) {
+		this.piecePriceTe = piecePriceTe;
+	}
+
+	public BigDecimal getTaxRate() {
+		return taxRate;
+	}
+
+	public void setTaxRate(BigDecimal taxRate) {
+		this.taxRate = taxRate;
+	}
+
+	public String getWhAreaCategoryCode() {
+		return whAreaCategoryCode;
+	}
+
+	public void setWhAreaCategoryCode(String whAreaCategoryCode) {
+		this.whAreaCategoryCode = whAreaCategoryCode;
+	}
+
+	public String getRqcLineId() {
+		return rqcLineId;
+	}
+
+	public void setRqcLineId(String rqcLineId) {
+		this.rqcLineId = rqcLineId;
+	}
+
+	public String getRqcHeaderId() {
+		return rqcHeaderId;
+	}
+
+	public void setRqcHeaderId(String rqcHeaderId) {
+		this.rqcHeaderId = rqcHeaderId;
+	}
+
+	public String getTaskRqcId() {
+		return taskRqcId;
+	}
+
+	public void setTaskRqcId(String taskRqcId) {
+		this.taskRqcId = taskRqcId;
+	}
+
+	public String getRcvHeaderId() {
+		return rcvHeaderId;
+	}
+
+	public void setRcvHeaderId(String rcvHeaderId) {
+		this.rcvHeaderId = rcvHeaderId;
+	}
+
+	public String getRcvLineId() {
+		return rcvLineId;
+	}
+
+	public void setRcvLineId(String rcvLineId) {
+		this.rcvLineId = rcvLineId;
+	}
+
+	public String getMtlOwnerId() {
+		return mtlOwnerId;
+	}
+
+	public void setMtlOwnerId(String mtlOwnerId) {
+		this.mtlOwnerId = mtlOwnerId;
+	}
+
+	public String getWarehouseId() {
+		return warehouseId;
+	}
+
+	public void setWarehouseId(String warehouseId) {
+		this.warehouseId = warehouseId;
+	}
+
+	public String getSrcBillType() {
+		return srcBillType;
+	}
+
+	public void setSrcBillType(String srcBillType) {
+		this.srcBillType = srcBillType;
+	}
+
+	public String getSrcHeaderId() {
+		return srcHeaderId;
+	}
+
+	public void setSrcHeaderId(String srcHeaderId) {
+		this.srcHeaderId = srcHeaderId;
+	}
+
+	public String getSrcLineId() {
+		return srcLineId;
+	}
+
+	public void setSrcLineId(String srcLineId) {
+		this.srcLineId = srcLineId;
+	}
+
+	public String getAsnHeaderId() {
+		return asnHeaderId;
+	}
+
+	public void setAsnHeaderId(String asnHeaderId) {
+		this.asnHeaderId = asnHeaderId;
+	}
+
+	public String getAsnLineId() {
+		return asnLineId;
+	}
+
+	public void setAsnLineId(String asnLineId) {
+		this.asnLineId = asnLineId;
+	}
+
+	public String getItemId() {
+		return itemId;
+	}
+
+	public void setItemId(String itemId) {
+		this.itemId = itemId;
+	}
+
+	public String getContainerCode() {
+		return containerCode;
+	}
+
+	public void setContainerCode(String containerCode) {
+		this.containerCode = containerCode;
+	}
+
+	public String getGoodsCaseCode() {
+		return goodsCaseCode;
+	}
+
+	public void setGoodsCaseCode(String goodsCaseCode) {
+		this.goodsCaseCode = goodsCaseCode;
+	}
+
+	public String getBatchId() {
+		return batchId;
+	}
+
+	public void setBatchId(String batchId) {
+		this.batchId = batchId;
+	}
+
+	public String getUom() {
+		return uom;
+	}
+
+	public void setUom(String uom) {
+		this.uom = uom;
+	}
+
+	public String getUomType() {
+		return uomType;
+	}
+
+	public void setUomType(String uomType) {
+		this.uomType = uomType;
+	}
+
+	public BigDecimal getConversionRate() {
+		return conversionRate;
+	}
+
+	public void setConversionRate(BigDecimal conversionRate) {
+		this.conversionRate = conversionRate;
+	}
+
+	public BigDecimal getPieceQty() {
+		return pieceQty;
+	}
+
+	public void setPieceQty(BigDecimal pieceQty) {
+		this.pieceQty = pieceQty;
+	}
+
+	public BigDecimal getOddCaseQty() {
+		return oddCaseQty;
+	}
+
+	public void setOddCaseQty(BigDecimal oddCaseQty) {
+		this.oddCaseQty = oddCaseQty;
+	}
+
+	public BigDecimal getOddPieceQty() {
+		return oddPieceQty;
+	}
+
+	public void setOddPieceQty(BigDecimal oddPieceQty) {
+		this.oddPieceQty = oddPieceQty;
+	}
+
+	public BigDecimal getQcOddCaseQty() {
+		return qcOddCaseQty;
+	}
+
+	public void setQcOddCaseQty(BigDecimal qcOddCaseQty) {
+		this.qcOddCaseQty = qcOddCaseQty;
+	}
+
+	public BigDecimal getQcOddPieceQty() {
+		return qcOddPieceQty;
+	}
+
+	public void setQcOddPieceQty(BigDecimal qcOddPieceQty) {
+		this.qcOddPieceQty = qcOddPieceQty;
+	}
+
+	public BigDecimal getQcOddCaseActQty() {
+		return qcOddCaseActQty;
+	}
+
+	public void setQcOddCaseActQty(BigDecimal qcOddCaseActQty) {
+		this.qcOddCaseActQty = qcOddCaseActQty;
+	}
+
+	public BigDecimal getQcOddPieceActQty() {
+		return qcOddPieceActQty;
+	}
+
+	public void setQcOddPieceActQty(BigDecimal qcOddPieceActQty) {
+		this.qcOddPieceActQty = qcOddPieceActQty;
+	}
+
+	public String getLineRemark() {
+		return lineRemark;
+	}
+
+	public void setLineRemark(String lineRemark) {
+		this.lineRemark = lineRemark;
+	}
+
+	public String getQcStatus1() {
+		return qcStatus1;
+	}
+
+	public void setQcStatus1(String qcStatus1) {
+		this.qcStatus1 = qcStatus1;
+	}
+
+	public String getQcResult1() {
+		return qcResult1;
+	}
+
+	public void setQcResult1(String qcResult1) {
+		this.qcResult1 = qcResult1;
+	}
+
+	public String getQcReason1() {
+		return qcReason1;
+	}
+
+	public void setQcReason1(String qcReason1) {
+		this.qcReason1 = qcReason1;
+	}
+
+	public String getQcGrade1() {
+		return qcGrade1;
+	}
+
+	public void setQcGrade1(String qcGrade1) {
+		this.qcGrade1 = qcGrade1;
+	}
+
+	public String getQcOpcode1() {
+		return qcOpcode1;
+	}
+
+	public void setQcOpcode1(String qcOpcode1) {
+		this.qcOpcode1 = qcOpcode1;
+	}
+
+	public Date getQcDate1() {
+		return qcDate1;
+	}
+
+	public void setQcDate1(Date qcDate1) {
+		this.qcDate1 = qcDate1;
+	}
+
+	public String getQcStatus2() {
+		return qcStatus2;
+	}
+
+	public void setQcStatus2(String qcStatus2) {
+		this.qcStatus2 = qcStatus2;
+	}
+
+	public String getQcResult2() {
+		return qcResult2;
+	}
+
+	public void setQcResult2(String qcResult2) {
+		this.qcResult2 = qcResult2;
+	}
+
+	public String getQcReason2() {
+		return qcReason2;
+	}
+
+	public void setQcReason2(String qcReason2) {
+		this.qcReason2 = qcReason2;
+	}
+
+	public String getQcGrade2() {
+		return qcGrade2;
+	}
+
+	public void setQcGrade2(String qcGrade2) {
+		this.qcGrade2 = qcGrade2;
+	}
+
+	public String getQcOpcode2() {
+		return qcOpcode2;
+	}
+
+	public void setQcOpcode2(String qcOpcode2) {
+		this.qcOpcode2 = qcOpcode2;
+	}
+
+	public String getQcStatus3() {
+		return qcStatus3;
+	}
+
+	public void setQcStatus3(String qcStatus3) {
+		this.qcStatus3 = qcStatus3;
+	}
+
+	public String getQcResult3() {
+		return qcResult3;
+	}
+
+	public void setQcResult3(String qcResult3) {
+		this.qcResult3 = qcResult3;
+	}
+
+	public String getQcReason3() {
+		return qcReason3;
+	}
+
+	public void setQcReason3(String qcReason3) {
+		this.qcReason3 = qcReason3;
+	}
+
+	public String getQcGrade3() {
+		return qcGrade3;
+	}
+
+	public void setQcGrade3(String qcGrade3) {
+		this.qcGrade3 = qcGrade3;
+	}
+
+	public String getQcOpcode3() {
+		return qcOpcode3;
+	}
+
+	public void setQcOpcode3(String qcOpcode3) {
+		this.qcOpcode3 = qcOpcode3;
+	}
+
+	public Date getQcDate2() {
+		return qcDate2;
+	}
+
+	public void setQcDate2(Date qcDate2) {
+		this.qcDate2 = qcDate2;
+	}
+
+	public Date getQcDate3() {
+		return qcDate3;
+	}
+
+	public void setQcDate3(Date qcDate3) {
+		this.qcDate3 = qcDate3;
+	}
+
+	public String getStockStatus() {
+		return stockStatus;
+	}
+
+	public void setStockStatus(String stockStatus) {
+		this.stockStatus = stockStatus;
+	}
+
+	public String getItemFlag() {
+		return itemFlag;
+	}
+
+	public void setItemFlag(String itemFlag) {
+		this.itemFlag = itemFlag;
+	}
+
+	public Integer getItemHealthIsDouble() {
+		return itemHealthIsDouble;
+	}
+
+	public void setItemHealthIsDouble(Integer itemHealthIsDouble) {
+		this.itemHealthIsDouble = itemHealthIsDouble;
+	}
+
+	public Integer getTimes() {
+		return times;
+	}
+
+	public void setTimes(Integer times) {
+		this.times = times;
+	}
+
+	public String getItemBarcode() {
+		return itemBarcode;
+	}
+
+	public void setItemBarcode(String itemBarcode) {
+		this.itemBarcode = itemBarcode;
+	}
+
+	public BigDecimal getItemVolume() {
+		return itemVolume;
+	}
+
+	public void setItemVolume(BigDecimal itemVolume) {
+		this.itemVolume = itemVolume;
+	}
+
+	public BigDecimal getItemWeight() {
+		return itemWeight;
+	}
+
+	public void setItemWeight(BigDecimal itemWeight) {
+		this.itemWeight = itemWeight;
+	}
+
+	public Integer getItemHealthTwovoflag() {
+		return itemHealthTwovoflag;
+	}
+
+	public void setItemHealthTwovoflag(Integer itemHealthTwovoflag) {
+		this.itemHealthTwovoflag = itemHealthTwovoflag;
+	}
+
+	public String getWarehouseName() {
+		return warehouseName;
+	}
+
+	public void setWarehouseName(String warehouseName) {
+		this.warehouseName = warehouseName;
+	}
+
+	public String getWarehouseAreaName() {
+		return warehouseAreaName;
+	}
+
+	public void setWarehouseAreaName(String warehouseAreaName) {
+		this.warehouseAreaName = warehouseAreaName;
+	}
+
+	public String getItemNum() {
+		return itemNum;
+	}
+
+	public void setItemNum(String itemNum) {
+		this.itemNum = itemNum;
+	}
+
+	public String getItemName() {
+		return itemName;
+	}
+
+	public void setItemName(String itemName) {
+		this.itemName = itemName;
+	}
+
+	public String getCategoryName() {
+		return categoryName;
+	}
+
+	public void setCategoryName(String categoryName) {
+		this.categoryName = categoryName;
+	}
+
+	public String getManufacturerLotNum() {
+		return manufacturerLotNum;
+	}
+
+	public void setManufacturerLotNum(String manufacturerLotNum) {
+		this.manufacturerLotNum = manufacturerLotNum;
+	}
+
+	public String getBatchNum() {
+		return batchNum;
+	}
+
+	public void setBatchNum(String batchNum) {
+		this.batchNum = batchNum;
+	}
+
+	public List<String> getWhAreaCategoryCodeList() {
+		return whAreaCategoryCodeList;
+	}
+
+	public void setWhAreaCategoryCodeList(List<String> whAreaCategoryCodeList) {
+		this.whAreaCategoryCodeList = whAreaCategoryCodeList;
+	}
+
+	public String getStoreTemperature() {
+		return storeTemperature;
+	}
+
+	public void setStoreTemperature(String storeTemperature) {
+		this.storeTemperature = storeTemperature;
+	}
+
+	public String getIsAgv() {
+		return isAgv;
+	}
+
+	public void setIsAgv(String isAgv) {
+		this.isAgv = isAgv;
+	}
+
+	public String getOldContainerCode() {
+		return oldContainerCode;
+	}
+
+	public void setOldContainerCode(String oldContainerCode) {
+		this.oldContainerCode = oldContainerCode;
+	}
+
+	public String getRcvNo() {
+		return rcvNo;
+	}
+
+	public void setRcvNo(String rcvNo) {
+		this.rcvNo = rcvNo;
+	}
+
+	public Date getRcvDate() {
+		return rcvDate;
+	}
+
+	public void setRcvDate(Date rcvDate) {
+		this.rcvDate = rcvDate;
+	}
+
+	public String getBillTypeName() {
+		return billTypeName;
+	}
+
+	public void setBillTypeName(String billTypeName) {
+		this.billTypeName = billTypeName;
+	}
+
+	public String getVendorNum() {
+		return vendorNum;
+	}
+
+	public void setVendorNum(String vendorNum) {
+		this.vendorNum = vendorNum;
+	}
+
+	public String getIsRetpospect() {
+		return isRetpospect;
+	}
+
+	public void setIsRetpospect(String isRetpospect) {
+		this.isRetpospect = isRetpospect;
+	}
+
+	public String getItemHealthType() {
+		return itemHealthType;
+	}
+
+	public void setItemHealthType(String itemHealthType) {
+		this.itemHealthType = itemHealthType;
+	}
+
+	public Integer getUploadCircubillStatus() {
+		return uploadCircubillStatus;
+	}
+
+	public void setUploadCircubillStatus(Integer uploadCircubillStatus) {
+		this.uploadCircubillStatus = uploadCircubillStatus;
+	}
+
+	public Integer getUploadTimes() {
+		return uploadTimes;
+	}
+
+	public void setUploadTimes(Integer uploadTimes) {
+		this.uploadTimes = uploadTimes;
+	}
+
+	public Date getLastUploadTime() {
+		return lastUploadTime;
+	}
+
+	public void setLastUploadTime(Date lastUploadTime) {
+		this.lastUploadTime = lastUploadTime;
+	}
+}

+ 35 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rqc/RqcReDTO.java

@@ -0,0 +1,35 @@
+package com.prolog.cs.biz.inbound.dto.rqc;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.List;
+
+@ApiModel
+public class RqcReDTO implements Serializable {
+	private static final long serialVersionUID = -5979118959176082478L;
+
+	@ApiModelProperty(value = "复检单主表", required = true)
+	private RqcReHeadersDTO rqcReHeadersDTO;
+
+	@ApiModelProperty(value = "复检单明细列表", required = true)
+	private List<RqcReLinesDTO> rqcReLinesDTOList;
+
+	public RqcReHeadersDTO getRqcReHeadersDTO() {
+		return rqcReHeadersDTO;
+	}
+
+	public void setRqcReHeadersDTO(RqcReHeadersDTO rqcReHeadersDTO) {
+		this.rqcReHeadersDTO = rqcReHeadersDTO;
+	}
+
+	public List<RqcReLinesDTO> getRqcReLinesDTOList() {
+		return rqcReLinesDTOList;
+	}
+
+	public void setRqcReLinesDTOList(List<RqcReLinesDTO> rqcReLinesDTOList) {
+		this.rqcReLinesDTOList = rqcReLinesDTOList;
+	}
+
+}

+ 318 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rqc/RqcReHeadersDTO.java

@@ -0,0 +1,318 @@
+package com.prolog.cs.biz.inbound.dto.rqc;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validAdd;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validEdit;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description 质检单汇总 关联收货单,可以查询出所有编码,名称信息
+ * @Author Xiong
+ * @Date 2021-04-02
+ */
+
+@ApiModel
+public class RqcReHeadersDTO implements Serializable {
+	private static final long serialVersionUID = 1664327382345445748L;
+	@ApiModelProperty(value = "单据id(主键雪花id)", required = true)
+	@NotBlank(message = "单据id(主键雪花id) can not blank!", groups = validEdit.class)
+	private String rqcReHeaderId;
+
+	@ApiModelProperty(value = "手工单号")
+	private String customBillNum;
+
+	@ApiModelProperty(value = "单据自动号")
+	private String autoBillNum;
+
+	@ApiModelProperty(value = "货主ID(冗余)")
+	private String mtlOwnerId;
+
+	@ApiModelProperty(value = "仓库ID(冗余)", required = true)
+	@NotBlank(message = "仓库ID(冗余) can not blank!", groups = validAdd.class)
+	private String warehouseId;
+
+	@ApiModelProperty(value = "供应商ID(冗余)")
+	private String vendorId;
+
+	@ApiModelProperty(value = "来源单类型(冗余)")
+	private String srcBillType;
+
+	@ApiModelProperty(value = "来源单头ID(冗余)")
+	private String srcHeaderId;
+
+	@ApiModelProperty(value = "ASN头ID(冗余)")
+	private String asnHeaderId;
+
+	@ApiModelProperty(value = "质检单头ID")
+	private String rqcHeaderId;
+
+	@ApiModelProperty(value = "单据日期", required = true)
+	@NotNull(message = "单据日期 can not blank!", groups = validAdd.class)
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date billDate;
+
+	@ApiModelProperty(value = "状态", required = true)
+	@NotBlank(message = "状态 can not blank!", groups = validAdd.class)
+	private String status;
+
+	@ApiModelProperty(value = "备注")
+	private String remark;
+
+	@ApiModelProperty(value = "工作台")
+	private String workBench;
+
+	@ApiModelProperty(value = "复检员1")
+	private String qcOperator1;
+
+	@ApiModelProperty(value = "复检员2")
+	private String qcOperator2;
+
+	@ApiModelProperty(value = "数据生成方式(系统自动/人工)部分类型的单据自动生成质检单")
+	private String dataSrcType;
+
+	@ApiModelProperty(value = "收货时间(查询字段)", position = 100)
+	private Date rcvDate;
+	@ApiModelProperty(value = "收货类型(查询字段)", position = 101)
+	private String rcvType;
+	@ApiModelProperty(value = "运输方式(查询字段)", position = 102)
+	private String shipType;
+	@ApiModelProperty(value = "到货方式(查询字段)", position = 103)
+	private String arrivalMode;
+	@ApiModelProperty(value = "供应商名(查询字段)", position = 104)
+	private String vendorName;
+	@ApiModelProperty(value = "仓库名(查询字段)", position = 105)
+	private String warehouseName;
+	@ApiModelProperty(value = "采购人(查询字段)", position = 106)
+	private String buyerMane;
+	@ApiModelProperty(value = "客户名(查询字段)", position = 107)
+	private String customerName;
+	@ApiModelProperty(value = "货主名(查询字段)", position = 108)
+	private String mtlOwnerName;
+	@ApiModelProperty(value = "组织名(查询字段)", position = 109)
+	private String orgnName;
+
+	public Date getRcvDate() {
+		return rcvDate;
+	}
+
+	public void setRcvDate(Date rcvDate) {
+		this.rcvDate = rcvDate;
+	}
+
+	public String getRcvType() {
+		return rcvType;
+	}
+
+	public void setRcvType(String rcvType) {
+		this.rcvType = rcvType;
+	}
+
+	public String getShipType() {
+		return shipType;
+	}
+
+	public void setShipType(String shipType) {
+		this.shipType = shipType;
+	}
+
+	public String getArrivalMode() {
+		return arrivalMode;
+	}
+
+	public void setArrivalMode(String arrivalMode) {
+		this.arrivalMode = arrivalMode;
+	}
+
+	public String getVendorName() {
+		return vendorName;
+	}
+
+	public void setVendorName(String vendorName) {
+		this.vendorName = vendorName;
+	}
+
+	public String getWarehouseName() {
+		return warehouseName;
+	}
+
+	public void setWarehouseName(String warehouseName) {
+		this.warehouseName = warehouseName;
+	}
+
+	public String getBuyerMane() {
+		return buyerMane;
+	}
+
+	public void setBuyerMane(String buyerMane) {
+		this.buyerMane = buyerMane;
+	}
+
+	public String getCustomerName() {
+		return customerName;
+	}
+
+	public void setCustomerName(String customerName) {
+		this.customerName = customerName;
+	}
+
+	public String getMtlOwnerName() {
+		return mtlOwnerName;
+	}
+
+	public void setMtlOwnerName(String mtlOwnerName) {
+		this.mtlOwnerName = mtlOwnerName;
+	}
+
+	public String getOrgnName() {
+		return orgnName;
+	}
+
+	public void setOrgnName(String orgnName) {
+		this.orgnName = orgnName;
+	}
+
+	public String getRqcReHeaderId() {
+		return this.rqcReHeaderId;
+	}
+
+	public void setRqcReHeaderId(String rqcReHeaderId) {
+		this.rqcReHeaderId = rqcReHeaderId;
+	}
+
+	public String getCustomBillNum() {
+		return this.customBillNum;
+	}
+
+	public void setCustomBillNum(String customBillNum) {
+		this.customBillNum = customBillNum;
+	}
+
+	public String getAutoBillNum() {
+		return this.autoBillNum;
+	}
+
+	public void setAutoBillNum(String autoBillNum) {
+		this.autoBillNum = autoBillNum;
+	}
+
+	public String getMtlOwnerId() {
+		return this.mtlOwnerId;
+	}
+
+	public void setMtlOwnerId(String mtlOwnerId) {
+		this.mtlOwnerId = mtlOwnerId;
+	}
+
+	public String getWarehouseId() {
+		return this.warehouseId;
+	}
+
+	public void setWarehouseId(String warehouseId) {
+		this.warehouseId = warehouseId;
+	}
+
+	public String getVendorId() {
+		return this.vendorId;
+	}
+
+	public void setVendorId(String vendorId) {
+		this.vendorId = vendorId;
+	}
+
+	public String getSrcBillType() {
+		return this.srcBillType;
+	}
+
+	public void setSrcBillType(String srcBillType) {
+		this.srcBillType = srcBillType;
+	}
+
+	public String getSrcHeaderId() {
+		return this.srcHeaderId;
+	}
+
+	public void setSrcHeaderId(String srcHeaderId) {
+		this.srcHeaderId = srcHeaderId;
+	}
+
+	public String getAsnHeaderId() {
+		return this.asnHeaderId;
+	}
+
+	public void setAsnHeaderId(String asnHeaderId) {
+		this.asnHeaderId = asnHeaderId;
+	}
+
+	public String getRqcHeaderId() {
+		return rqcHeaderId;
+	}
+
+	public void setRqcHeaderId(String rqcHeaderId) {
+		this.rqcHeaderId = rqcHeaderId;
+	}
+
+	public Date getBillDate() {
+		return this.billDate;
+	}
+
+	public void setBillDate(Date billDate) {
+		this.billDate = billDate;
+	}
+
+	public String getStatus() {
+		return this.status;
+	}
+
+	public void setStatus(String status) {
+		this.status = status;
+	}
+
+	public String getRemark() {
+		return this.remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public String getWorkBench() {
+		return this.workBench;
+	}
+
+	public void setWorkBench(String workBench) {
+		this.workBench = workBench;
+	}
+
+	public String getQcOperator1() {
+		return this.qcOperator1;
+	}
+
+	public void setQcOperator1(String qcOperator1) {
+		this.qcOperator1 = qcOperator1;
+	}
+
+	public String getQcOperator2() {
+		return this.qcOperator2;
+	}
+
+	public void setQcOperator2(String qcOperator2) {
+		this.qcOperator2 = qcOperator2;
+	}
+
+	public String getDataSrcType() {
+		return this.dataSrcType;
+	}
+
+	public void setDataSrcType(String dataSrcType) {
+		this.dataSrcType = dataSrcType;
+	}
+
+}

+ 1187 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rqc/RqcReLinesDTO.java

@@ -0,0 +1,1187 @@
+package com.prolog.cs.biz.inbound.dto.rqc;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validAdd;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validEdit;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @Description 质检单明细 关联收货单,可以查询出所有信息
+ * 
+ *              (结论:合格/不合格/待处理) 合格/不合格 :上架任务池 待处理:复检任务池
+ * @Author Xiong
+ * @Date 2021-04-02
+ */
+
+@ApiModel
+public class RqcReLinesDTO implements Serializable {
+	private static final long serialVersionUID = 2940408955134513850L;
+	@ApiModelProperty(value = "唯一行号ID(主键雪花id)", required = true)
+	@NotBlank(message = "唯一行号ID(主键雪花id) can not blank!", groups = validEdit.class)
+	private String rqcReLineId;
+
+	@ApiModelProperty(value = "单据id", required = true)
+	@NotBlank(message = "单据id can not blank!", groups = validAdd.class)
+	private String rqcReHeaderId;
+
+	@ApiModelProperty(value = "质检任务池ID(来源RQC_RE_TASK)", required = true)
+	@NotBlank(message = "质检任务池ID(来源RQC_RE_TASK) can not blank!", groups = validAdd.class)
+	private String taskReRqcId;
+
+	@ApiModelProperty(value = "收货单头ID")
+	private String rcvHeaderId;
+
+	@ApiModelProperty(value = "收货行头ID")
+	private String rcvLineId;
+
+	@ApiModelProperty(value = "货主ID(冗余,关联收货单)")
+	private String mtlOwnerId;
+
+	@ApiModelProperty(value = "仓库ID(冗余,关联收货单)", required = true)
+	@NotBlank(message = "仓库ID(冗余,关联收货单) can not blank!", groups = validAdd.class)
+	private String warehouseId;
+
+	@ApiModelProperty(value = "来源单类型(冗余,关联收货单)")
+	private String srcBillType;
+
+	@ApiModelProperty(value = "来源单头ID(冗余,关联收货单)")
+	private String srcHeaderId;
+
+	@ApiModelProperty(value = "来源单行ID(冗余,关联收货单)")
+	private String srcLineId;
+
+	@ApiModelProperty(value = "ASN头ID(冗余,关联收货单)")
+	private String asnHeaderId;
+
+	@ApiModelProperty(value = "ASN行ID(冗余,关联收货单)")
+	private String asnLineId;
+
+	@ApiModelProperty(value = "商品ID", required = true)
+	@NotBlank(message = "商品ID can not blank!", groups = validAdd.class)
+	private String itemId;
+
+	@ApiModelProperty(value = "容器编码(冗余,关联收货单行)")
+	private String containerCode;
+
+	@ApiModelProperty(value = "货格编码(冗余,关联收货单行)")
+	private String goodsCaseCode;
+
+	@ApiModelProperty(value = "批次ID")
+//	@NotBlank(message = "批次ID can not blank!", groups = validAdd.class)
+	private String batchId;
+
+	@ApiModelProperty(value = "包装单位", required = true)
+	@NotBlank(message = "包装单位 can not blank!", groups = validAdd.class)
+	private String uom;
+
+	@ApiModelProperty(value = "包装单位类型(2019/2020)新老包装")
+	private String uomType;
+
+	@ApiModelProperty(value = "包装含量", required = true)
+	@NotNull(message = "包装含量 can not blank!", groups = validAdd.class)
+	private BigDecimal conversionRate;
+
+	@ApiModelProperty(value = "最小单位数量", required = true)
+	@NotNull(message = "最小单位数量 can not blank!", groups = validAdd.class)
+	private BigDecimal pieceQty;
+
+	@ApiModelProperty(value = "收货整箱数", required = true)
+	@NotNull(message = "收货整箱数 can not blank!", groups = validAdd.class)
+	private BigDecimal oddCaseQty;
+
+	@ApiModelProperty(value = "收货零散数", required = true)
+	@NotNull(message = "收货零散数 can not blank!", groups = validAdd.class)
+	private BigDecimal oddPieceQty;
+
+	@ApiModelProperty(value = "抽样整箱数")
+//	@NotNull(message = "抽样整箱数 can not blank!", groups = validAdd.class)
+	private BigDecimal qcOddCaseQty;
+
+	@ApiModelProperty(value = "抽样零散数")
+//	@NotNull(message = "抽样零散数 can not blank!", groups = validAdd.class)
+	private BigDecimal qcOddPieceQty;
+
+	@ApiModelProperty(value = "实际抽样整箱数")
+//	@NotNull(message = "实际抽样整箱数 can not blank!", groups = validAdd.class)
+	private BigDecimal qcOddCaseActQty;
+
+	@ApiModelProperty(value = "实际抽样零散数")
+//	@NotNull(message = "实际抽样零散数 can not blank!", groups = validAdd.class)
+	private BigDecimal qcOddPieceActQty;
+
+	@ApiModelProperty(value = "行备注")
+	private String lineRemark;
+
+	@ApiModelProperty(value = "质检状态(初始/确认)")
+//	@NotBlank(message = "质检状态(初始/确认) can not blank!", groups = validAdd.class)
+	private String qcStatus;
+
+	@ApiModelProperty(value = "质检结论(0合格/1不合格/2待处理/3拒绝)")
+	private String qcResult;
+
+	@ApiModelProperty(value = "质检原因")
+	private String qcReason;
+
+	@ApiModelProperty(value = "质检等级")
+	private String qcGrade;
+
+	@ApiModelProperty(value = "质检员")
+	private String qcOpcode;
+
+	@ApiModelProperty(value = "质检时间")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date qcDate;
+
+	@ApiModelProperty(value = "复检状态(初始/确认)")
+	private String qcReStatus;
+
+	@ApiModelProperty(value = "复检结论(0合格/1不合格/2待处理/3拒绝)", required = true, position = -10)
+	private String qcReResult;
+
+	@ApiModelProperty(value = "复检原因", required = true, position = -10)
+	private String qcReReason;
+
+	@ApiModelProperty(value = "复检结论0合格/1不合格/2待处理/3拒绝)", required = true, position = -10)
+	private String stockStatus;
+
+	@ApiModelProperty(value = "复检次数(从提取任务中带出来)", required = true, position = -10)
+	private Integer times;
+
+	@ApiModelProperty(value = "复检等级")
+	private String qcReGrade;
+
+	@ApiModelProperty(value = "复检员")
+	private String qcReOpcode;
+
+	@ApiModelProperty(value = "复检时间")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date qcReDate;
+
+	@ApiModelProperty(value = "货品标志")
+	private String itemFlag;
+
+	@ApiModelProperty(value = "商品条码(列表展示用)")
+	private String itemBarcode;
+	@ApiModelProperty(value = "商品体积(列表展示用)")
+	private BigDecimal itemVolume;
+	@ApiModelProperty(value = "商品重量(列表展示用)")
+	private BigDecimal itemWeight;
+	@ApiModelProperty(value = "质检是否双票(列表展示用)")
+	private Integer itemHealthTwovoflag;
+	@ApiModelProperty(value = "仓库名称(列表展示用)")
+	private String warehouseName;
+	@ApiModelProperty(value = "库区名称(列表展示用)")
+	private String warehouseAreaName;
+	@ApiModelProperty(value = "商品编码(列表展示用)")
+	private String itemNum;
+	@ApiModelProperty(value = "商品名称(列表展示用)")
+	private String itemName;
+	@ApiModelProperty(value = "商品分类名(列表展示用)")
+	private String categoryName;
+	@ApiModelProperty(value = "生产商批号")
+	private String manufacturerLotNum;
+	@ApiModelProperty(value = "批次号")
+	private String batchNum;
+
+	@ApiModelProperty(value = "批次生产日期(列表展示用)", position = 9)
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date batchProductionDate;
+	@ApiModelProperty(value = "批次有效期(列表展示用)", position = 9)
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date batchExpiredDate;
+	@ApiModelProperty(value = "商品分类code名(展示用)", position = 9)
+	private String categoryId;
+	@ApiModelProperty(value = "仓库编码", position = 9)
+	private String warehouseCode;
+
+	// =================== 5.12 新增=========================================
+	@ApiModelProperty(value = "(新)库区编号(逗号分隔列表)", position = -1)
+	private String warehouseAreaCodes;
+	@ApiModelProperty(value = "(新)商品整散分离标识(0整散合一/1整散分开)", position = -1)
+	private String itemIsPieceOrCase;
+	@ApiModelProperty(value = "(新)推荐库别编号(逗号分隔列表)", position = -1)
+	private String warehouseAreaCategorys;
+
+	// ===============5.17 新加字段================
+	@ApiModelProperty(value = "(新)收货类型", position = -1)
+	private String rcvType;
+	@ApiModelProperty(value = "(新)商品规格说明(冗余)", position = -1)
+	private String specification;
+	@ApiModelProperty(value = "(新)上市许可持有人(冗余)", position = -1)
+	private String itemHealthListedLicensor;
+	@ApiModelProperty(value = "(新)生产企业许可证号(冗余)", position = -1)
+	private String itemHealthProduceLicense;
+	@ApiModelProperty(value = "(新)存储分类(冗余)", position = -1)
+	private String itemHealthStoreCategory;
+	@ApiModelProperty(value = "(新)商品是否进口(冗余)", position = -1)
+	private Integer itemIsImported;
+	@ApiModelProperty(value = "(新)商品是否复检(0否1是)(冗余)", position = -1)
+	private Integer itemIsRecheck;
+	@ApiModelProperty(value = "(新)商品是否器械(0否1是)(冗余)", position = -1)
+	private Integer isInstrument;
+
+	// ========5.20新加==========================
+	// 商品通用名
+	@ApiModelProperty(value = "(新)商品通用名(冗余)", position = -2)
+	private String itemHealthCommonName;
+	// 商品是否锁定
+	@ApiModelProperty(value = "(新)商品是否锁定(0否1是)(冗余)", position = -2)
+	private Integer isLock;
+	// 商品是否代管
+	@ApiModelProperty(value = "(新)商品是否代管(0否1是)(冗余)", position = -2)
+	private Integer isHosted;
+	// 生产厂家id
+	@ApiModelProperty(value = "(新)生产厂家id(冗余)", position = -2)
+	private String manufacturerId;
+	// 生产厂家code
+	@ApiModelProperty(value = "(新)生产厂家id(冗余)", position = -2)
+	private String manufacturerCode;
+	// 生产厂家name
+	@ApiModelProperty(value = "(新)生产厂家id(冗余)", position = -2)
+	private String manufacturerName;
+	@ApiModelProperty(value = "(新)入库预留保质天数(冗余)", position = -2)
+	private BigDecimal inStoreDay;
+	// 注册证号
+	@ApiModelProperty(value = "(新)注册证号(冗余)", position = -2)
+	private String itemHealthRegisterNbr;
+	// 有效期天数(需转换)
+	@ApiModelProperty(value = "(新)有效期天数(需转换)(冗余)", position = -2)
+	private BigDecimal shelfLifeDays;
+	// 保质期单位
+	@ApiModelProperty(value = "(新)保质期单位(年/月/日,默认日)(冗余)", position = -2)
+	private String shelfLifeUnit;
+	// 是否特殊品
+	@ApiModelProperty(value = "(新)商品是否特殊品(0否1是)(冗余)", position = -2)
+	private Integer itemIsSpecial;
+	// 是否无菌
+	@ApiModelProperty(value = "(新)商品是否无菌(0否1是)(冗余)", position = -2)
+	private Integer isBacteria;
+	// 退货单位提供的商品售出期间储存、运输质量控制情况
+	@ApiModelProperty(value = "(新)退货单位提供的商品售出期间储存、运输质量控制情况(冗余)", position = -2)
+	private String returnInfo;
+	// 退货冷藏品出库期质量
+	@ApiModelProperty(value = "(新)退货冷藏品出库期质量(冗余)", position = -2)
+	private String returnColdQuality;
+	// 退货说明
+	@ApiModelProperty(value = "(新)退货说明(冗余)", position = -2)
+	private String returnExplain;
+
+	// 来源行id
+	@ApiModelProperty(value = "(新)入库来源行id", position = -5)
+	private String refLineId;
+
+	// 来源类型
+	@ApiModelProperty(value = "(新)入库来源类型(0收货1质检2复检)", position = -5)
+	private Integer refType;
+
+	@ApiModelProperty(value = "处理意见", position = -6)
+	private String handlingSuggestion;
+	@ApiModelProperty(value = "审核意见", position = -6)
+	private String aduitSuggestion;
+	@ApiModelProperty(value = "供应商批号", position = -6)
+	private String vendorBatchNum;
+
+	@ApiModelProperty(value = "(新)显示生产日期", position = -1112)
+	private String showProductionDate;
+	@ApiModelProperty(value = "(新)显示有效期至", position = -1112)
+	private String showExpiredDate;
+	@ApiModelProperty(value = "(新)商品助记码", position = -1112)
+	private String itemZjm;
+	@ApiModelProperty(value = "(新)商品批准文号", position = -1113)
+	private String approvalNumber;
+	@ApiModelProperty(value = "商品产地(展示)", position = -1113)
+	private String productionPlace;
+
+	@ApiModelProperty(value = "复检意见1(主管)", position = -1114)
+	private String qcReSuggestion;
+
+	@ApiModelProperty(value = "复检结论2(经理)", position = -1114)
+	private String qcReResult2;
+	@ApiModelProperty(value = "复检人2(经理)", position = -1114)
+	private String qcReOpcode2;
+	@ApiModelProperty(value = "复检时间2(经理)", position = -1114)
+	private Date qcReDate2;
+	@ApiModelProperty(value = "复检意见2(经理)", position = -1114)
+	private String qcReSuggestion2;
+
+	@ApiModelProperty(value = "复检结论3(备用)", position = -1114)
+	private String qcReResult3;
+	@ApiModelProperty(value = "复检人3(备用)", position = -1114)
+	private String qcReOpcode3;
+	@ApiModelProperty(value = "复检时间3(备用)", position = -1114)
+	private Date qcReDate3;
+	@ApiModelProperty(value = "复检意见3(备用)", position = -1114)
+	private String qcReSuggestion3;
+
+	@ApiModelProperty(value = "双人业务类型(0:正常 1:双人验收,默认正常)")
+	private Integer itemHealthIsDouble;
+
+	@ApiModelProperty(value = "小数拆分标识(Y为允许,其他均不可)", position = -2)
+	private String allowDecimal;
+
+	@ApiModelProperty(value = "代管状态(来源是复检任务表ATTRIBUTE1字段)", position = -2000)
+	private String hostedStatus;
+
+	@ApiModelProperty(value = "质检单头ID")
+	private String rqcHeaderId;
+
+	public String getHostedStatus() {
+		return hostedStatus;
+	}
+
+	public void setHostedStatus(String hostedStatus) {
+		this.hostedStatus = hostedStatus;
+	}
+
+	public String getAllowDecimal() {
+		return allowDecimal;
+	}
+
+	public void setAllowDecimal(String allowDecimal) {
+		this.allowDecimal = allowDecimal;
+	}
+
+	public Integer getItemHealthIsDouble() {
+		return itemHealthIsDouble;
+	}
+
+	public void setItemHealthIsDouble(Integer itemHealthIsDouble) {
+		this.itemHealthIsDouble = itemHealthIsDouble;
+	}
+
+	public String getQcReSuggestion() {
+		return qcReSuggestion;
+	}
+
+	public void setQcReSuggestion(String qcReSuggestion) {
+		this.qcReSuggestion = qcReSuggestion;
+	}
+
+	public String getQcReResult2() {
+		return qcReResult2;
+	}
+
+	public void setQcReResult2(String qcReResult2) {
+		this.qcReResult2 = qcReResult2;
+	}
+
+	public String getQcReOpcode2() {
+		return qcReOpcode2;
+	}
+
+	public void setQcReOpcode2(String qcReOpcode2) {
+		this.qcReOpcode2 = qcReOpcode2;
+	}
+
+	public Date getQcReDate2() {
+		return qcReDate2;
+	}
+
+	public void setQcReDate2(Date qcReDate2) {
+		this.qcReDate2 = qcReDate2;
+	}
+
+	public String getQcReSuggestion2() {
+		return qcReSuggestion2;
+	}
+
+	public void setQcReSuggestion2(String qcReSuggestion2) {
+		this.qcReSuggestion2 = qcReSuggestion2;
+	}
+
+	public String getQcReResult3() {
+		return qcReResult3;
+	}
+
+	public void setQcReResult3(String qcReResult3) {
+		this.qcReResult3 = qcReResult3;
+	}
+
+	public String getQcReOpcode3() {
+		return qcReOpcode3;
+	}
+
+	public void setQcReOpcode3(String qcReOpcode3) {
+		this.qcReOpcode3 = qcReOpcode3;
+	}
+
+	public Date getQcReDate3() {
+		return qcReDate3;
+	}
+
+	public void setQcReDate3(Date qcReDate3) {
+		this.qcReDate3 = qcReDate3;
+	}
+
+	public String getQcReSuggestion3() {
+		return qcReSuggestion3;
+	}
+
+	public void setQcReSuggestion3(String qcReSuggestion3) {
+		this.qcReSuggestion3 = qcReSuggestion3;
+	}
+
+	public String getApprovalNumber() {
+		return approvalNumber;
+	}
+
+	public void setApprovalNumber(String approvalNumber) {
+		this.approvalNumber = approvalNumber;
+	}
+
+	public String getProductionPlace() {
+		return productionPlace;
+	}
+
+	public void setProductionPlace(String productionPlace) {
+		this.productionPlace = productionPlace;
+	}
+
+	public String getShowProductionDate() {
+		return showProductionDate;
+	}
+
+	public void setShowProductionDate(String showProductionDate) {
+		this.showProductionDate = showProductionDate;
+	}
+
+	public String getShowExpiredDate() {
+		return showExpiredDate;
+	}
+
+	public void setShowExpiredDate(String showExpiredDate) {
+		this.showExpiredDate = showExpiredDate;
+	}
+
+	public String getItemZjm() {
+		return itemZjm;
+	}
+
+	public void setItemZjm(String itemZjm) {
+		this.itemZjm = itemZjm;
+	}
+
+	public String getHandlingSuggestion() {
+		return handlingSuggestion;
+	}
+
+	public void setHandlingSuggestion(String handlingSuggestion) {
+		this.handlingSuggestion = handlingSuggestion;
+	}
+
+	public String getAduitSuggestion() {
+		return aduitSuggestion;
+	}
+
+	public void setAduitSuggestion(String aduitSuggestion) {
+		this.aduitSuggestion = aduitSuggestion;
+	}
+
+	public String getVendorBatchNum() {
+		return vendorBatchNum;
+	}
+
+	public void setVendorBatchNum(String vendorBatchNum) {
+		this.vendorBatchNum = vendorBatchNum;
+	}
+
+	public Integer getRefType() {
+		return refType;
+	}
+
+	public void setRefType(Integer refType) {
+		this.refType = refType;
+	}
+
+	public String getRefLineId() {
+		return refLineId;
+	}
+
+	public void setRefLineId(String refLineId) {
+		this.refLineId = refLineId;
+	}
+
+	public String getItemHealthCommonName() {
+		return itemHealthCommonName;
+	}
+
+	public void setItemHealthCommonName(String itemHealthCommonName) {
+		this.itemHealthCommonName = itemHealthCommonName;
+	}
+
+	public Integer getIsLock() {
+		return isLock;
+	}
+
+	public void setIsLock(Integer isLock) {
+		this.isLock = isLock;
+	}
+
+	public Integer getIsHosted() {
+		return isHosted;
+	}
+
+	public void setIsHosted(Integer isHosted) {
+		this.isHosted = isHosted;
+	}
+
+	public String getManufacturerId() {
+		return manufacturerId;
+	}
+
+	public void setManufacturerId(String manufacturerId) {
+		this.manufacturerId = manufacturerId;
+	}
+
+	public String getManufacturerCode() {
+		return manufacturerCode;
+	}
+
+	public void setManufacturerCode(String manufacturerCode) {
+		this.manufacturerCode = manufacturerCode;
+	}
+
+	public String getManufacturerName() {
+		return manufacturerName;
+	}
+
+	public void setManufacturerName(String manufacturerName) {
+		this.manufacturerName = manufacturerName;
+	}
+
+	public BigDecimal getInStoreDay() {
+		return inStoreDay;
+	}
+
+	public void setInStoreDay(BigDecimal inStoreDay) {
+		this.inStoreDay = inStoreDay;
+	}
+
+	public String getItemHealthRegisterNbr() {
+		return itemHealthRegisterNbr;
+	}
+
+	public void setItemHealthRegisterNbr(String itemHealthRegisterNbr) {
+		this.itemHealthRegisterNbr = itemHealthRegisterNbr;
+	}
+
+	public BigDecimal getShelfLifeDays() {
+		return shelfLifeDays;
+	}
+
+	public void setShelfLifeDays(BigDecimal shelfLifeDays) {
+		this.shelfLifeDays = shelfLifeDays;
+	}
+
+	public String getShelfLifeUnit() {
+		return shelfLifeUnit;
+	}
+
+	public void setShelfLifeUnit(String shelfLifeUnit) {
+		this.shelfLifeUnit = shelfLifeUnit;
+	}
+
+	public Integer getItemIsSpecial() {
+		return itemIsSpecial;
+	}
+
+	public void setItemIsSpecial(Integer itemIsSpecial) {
+		this.itemIsSpecial = itemIsSpecial;
+	}
+
+	public Integer getIsBacteria() {
+		return isBacteria;
+	}
+
+	public void setIsBacteria(Integer isBacteria) {
+		this.isBacteria = isBacteria;
+	}
+
+	public String getReturnInfo() {
+		return returnInfo;
+	}
+
+	public void setReturnInfo(String returnInfo) {
+		this.returnInfo = returnInfo;
+	}
+
+	public String getReturnColdQuality() {
+		return returnColdQuality;
+	}
+
+	public void setReturnColdQuality(String returnColdQuality) {
+		this.returnColdQuality = returnColdQuality;
+	}
+
+	public String getReturnExplain() {
+		return returnExplain;
+	}
+
+	public void setReturnExplain(String returnExplain) {
+		this.returnExplain = returnExplain;
+	}
+
+	public Date getBatchProductionDate() {
+		return batchProductionDate;
+	}
+
+	public void setBatchProductionDate(Date batchProductionDate) {
+		this.batchProductionDate = batchProductionDate;
+	}
+
+	public Date getBatchExpiredDate() {
+		return batchExpiredDate;
+	}
+
+	public void setBatchExpiredDate(Date batchExpiredDate) {
+		this.batchExpiredDate = batchExpiredDate;
+	}
+
+	public String getCategoryId() {
+		return categoryId;
+	}
+
+	public void setCategoryId(String categoryId) {
+		this.categoryId = categoryId;
+	}
+
+	public String getWarehouseCode() {
+		return warehouseCode;
+	}
+
+	public void setWarehouseCode(String warehouseCode) {
+		this.warehouseCode = warehouseCode;
+	}
+
+	public String getRcvType() {
+		return rcvType;
+	}
+
+	public void setRcvType(String rcvType) {
+		this.rcvType = rcvType;
+	}
+
+	public String getSpecification() {
+		return specification;
+	}
+
+	public void setSpecification(String specification) {
+		this.specification = specification;
+	}
+
+	public String getItemHealthListedLicensor() {
+		return itemHealthListedLicensor;
+	}
+
+	public void setItemHealthListedLicensor(String itemHealthListedLicensor) {
+		this.itemHealthListedLicensor = itemHealthListedLicensor;
+	}
+
+	public String getItemHealthProduceLicense() {
+		return itemHealthProduceLicense;
+	}
+
+	public void setItemHealthProduceLicense(String itemHealthProduceLicense) {
+		this.itemHealthProduceLicense = itemHealthProduceLicense;
+	}
+
+	public String getItemHealthStoreCategory() {
+		return itemHealthStoreCategory;
+	}
+
+	public void setItemHealthStoreCategory(String itemHealthStoreCategory) {
+		this.itemHealthStoreCategory = itemHealthStoreCategory;
+	}
+
+	public Integer getItemIsImported() {
+		return itemIsImported;
+	}
+
+	public void setItemIsImported(Integer itemIsImported) {
+		this.itemIsImported = itemIsImported;
+	}
+
+	public Integer getItemIsRecheck() {
+		return itemIsRecheck;
+	}
+
+	public void setItemIsRecheck(Integer itemIsRecheck) {
+		this.itemIsRecheck = itemIsRecheck;
+	}
+
+	public Integer getIsInstrument() {
+		return isInstrument;
+	}
+
+	public void setIsInstrument(Integer isInstrument) {
+		this.isInstrument = isInstrument;
+	}
+
+	public String getWarehouseAreaCodes() {
+		return warehouseAreaCodes;
+	}
+
+	public void setWarehouseAreaCodes(String warehouseAreaCodes) {
+		this.warehouseAreaCodes = warehouseAreaCodes;
+	}
+
+	public String getItemIsPieceOrCase() {
+		return itemIsPieceOrCase;
+	}
+
+	public void setItemIsPieceOrCase(String itemIsPieceOrCase) {
+		this.itemIsPieceOrCase = itemIsPieceOrCase;
+	}
+
+	public String getWarehouseAreaCategorys() {
+		return warehouseAreaCategorys;
+	}
+
+	public void setWarehouseAreaCategorys(String warehouseAreaCategorys) {
+		this.warehouseAreaCategorys = warehouseAreaCategorys;
+	}
+
+	public String getRqcReLineId() {
+		return rqcReLineId;
+	}
+
+	public void setRqcReLineId(String rqcReLineId) {
+		this.rqcReLineId = rqcReLineId;
+	}
+
+	public String getRqcReHeaderId() {
+		return rqcReHeaderId;
+	}
+
+	public void setRqcReHeaderId(String rqcReHeaderId) {
+		this.rqcReHeaderId = rqcReHeaderId;
+	}
+
+	public String getTaskReRqcId() {
+		return taskReRqcId;
+	}
+
+	public void setTaskReRqcId(String taskReRqcId) {
+		this.taskReRqcId = taskReRqcId;
+	}
+
+	public String getRcvHeaderId() {
+		return rcvHeaderId;
+	}
+
+	public void setRcvHeaderId(String rcvHeaderId) {
+		this.rcvHeaderId = rcvHeaderId;
+	}
+
+	public String getRcvLineId() {
+		return rcvLineId;
+	}
+
+	public void setRcvLineId(String rcvLineId) {
+		this.rcvLineId = rcvLineId;
+	}
+
+	public String getMtlOwnerId() {
+		return mtlOwnerId;
+	}
+
+	public void setMtlOwnerId(String mtlOwnerId) {
+		this.mtlOwnerId = mtlOwnerId;
+	}
+
+	public String getWarehouseId() {
+		return warehouseId;
+	}
+
+	public void setWarehouseId(String warehouseId) {
+		this.warehouseId = warehouseId;
+	}
+
+	public String getSrcBillType() {
+		return srcBillType;
+	}
+
+	public void setSrcBillType(String srcBillType) {
+		this.srcBillType = srcBillType;
+	}
+
+	public String getSrcHeaderId() {
+		return srcHeaderId;
+	}
+
+	public void setSrcHeaderId(String srcHeaderId) {
+		this.srcHeaderId = srcHeaderId;
+	}
+
+	public String getSrcLineId() {
+		return srcLineId;
+	}
+
+	public void setSrcLineId(String srcLineId) {
+		this.srcLineId = srcLineId;
+	}
+
+	public String getAsnHeaderId() {
+		return asnHeaderId;
+	}
+
+	public void setAsnHeaderId(String asnHeaderId) {
+		this.asnHeaderId = asnHeaderId;
+	}
+
+	public String getAsnLineId() {
+		return asnLineId;
+	}
+
+	public void setAsnLineId(String asnLineId) {
+		this.asnLineId = asnLineId;
+	}
+
+	public String getItemId() {
+		return itemId;
+	}
+
+	public void setItemId(String itemId) {
+		this.itemId = itemId;
+	}
+
+	public String getContainerCode() {
+		return containerCode;
+	}
+
+	public void setContainerCode(String containerCode) {
+		this.containerCode = containerCode;
+	}
+
+	public String getGoodsCaseCode() {
+		return goodsCaseCode;
+	}
+
+	public void setGoodsCaseCode(String goodsCaseCode) {
+		this.goodsCaseCode = goodsCaseCode;
+	}
+
+	public String getBatchId() {
+		return batchId;
+	}
+
+	public void setBatchId(String batchId) {
+		this.batchId = batchId;
+	}
+
+	public String getUom() {
+		return uom;
+	}
+
+	public void setUom(String uom) {
+		this.uom = uom;
+	}
+
+	public String getUomType() {
+		return uomType;
+	}
+
+	public void setUomType(String uomType) {
+		this.uomType = uomType;
+	}
+
+	public BigDecimal getConversionRate() {
+		return conversionRate;
+	}
+
+	public void setConversionRate(BigDecimal conversionRate) {
+		this.conversionRate = conversionRate;
+	}
+
+	public BigDecimal getPieceQty() {
+		return pieceQty;
+	}
+
+	public void setPieceQty(BigDecimal pieceQty) {
+		this.pieceQty = pieceQty;
+	}
+
+	public BigDecimal getOddCaseQty() {
+		return oddCaseQty;
+	}
+
+	public void setOddCaseQty(BigDecimal oddCaseQty) {
+		this.oddCaseQty = oddCaseQty;
+	}
+
+	public BigDecimal getOddPieceQty() {
+		return oddPieceQty;
+	}
+
+	public void setOddPieceQty(BigDecimal oddPieceQty) {
+		this.oddPieceQty = oddPieceQty;
+	}
+
+	public BigDecimal getQcOddCaseQty() {
+		return qcOddCaseQty;
+	}
+
+	public void setQcOddCaseQty(BigDecimal qcOddCaseQty) {
+		this.qcOddCaseQty = qcOddCaseQty;
+	}
+
+	public BigDecimal getQcOddPieceQty() {
+		return qcOddPieceQty;
+	}
+
+	public void setQcOddPieceQty(BigDecimal qcOddPieceQty) {
+		this.qcOddPieceQty = qcOddPieceQty;
+	}
+
+	public BigDecimal getQcOddCaseActQty() {
+		return qcOddCaseActQty;
+	}
+
+	public void setQcOddCaseActQty(BigDecimal qcOddCaseActQty) {
+		this.qcOddCaseActQty = qcOddCaseActQty;
+	}
+
+	public BigDecimal getQcOddPieceActQty() {
+		return qcOddPieceActQty;
+	}
+
+	public void setQcOddPieceActQty(BigDecimal qcOddPieceActQty) {
+		this.qcOddPieceActQty = qcOddPieceActQty;
+	}
+
+	public String getLineRemark() {
+		return lineRemark;
+	}
+
+	public void setLineRemark(String lineRemark) {
+		this.lineRemark = lineRemark;
+	}
+
+	public String getQcStatus() {
+		return qcStatus;
+	}
+
+	public void setQcStatus(String qcStatus) {
+		this.qcStatus = qcStatus;
+	}
+
+	public String getQcResult() {
+		return qcResult;
+	}
+
+	public void setQcResult(String qcResult) {
+		this.qcResult = qcResult;
+	}
+
+	public String getQcReason() {
+		return qcReason;
+	}
+
+	public void setQcReason(String qcReason) {
+		this.qcReason = qcReason;
+	}
+
+	public String getQcGrade() {
+		return qcGrade;
+	}
+
+	public void setQcGrade(String qcGrade) {
+		this.qcGrade = qcGrade;
+	}
+
+	public String getQcOpcode() {
+		return qcOpcode;
+	}
+
+	public void setQcOpcode(String qcOpcode) {
+		this.qcOpcode = qcOpcode;
+	}
+
+	public Date getQcDate() {
+		return qcDate;
+	}
+
+	public void setQcDate(Date qcDate) {
+		this.qcDate = qcDate;
+	}
+
+	public String getQcReStatus() {
+		return qcReStatus;
+	}
+
+	public void setQcReStatus(String qcReStatus) {
+		this.qcReStatus = qcReStatus;
+	}
+
+	public String getQcReResult() {
+		return qcReResult;
+	}
+
+	public void setQcReResult(String qcReResult) {
+		this.qcReResult = qcReResult;
+	}
+
+	public String getQcReReason() {
+		return qcReReason;
+	}
+
+	public void setQcReReason(String qcReReason) {
+		this.qcReReason = qcReReason;
+	}
+
+	public String getQcReGrade() {
+		return qcReGrade;
+	}
+
+	public void setQcReGrade(String qcReGrade) {
+		this.qcReGrade = qcReGrade;
+	}
+
+	public String getQcReOpcode() {
+		return qcReOpcode;
+	}
+
+	public void setQcReOpcode(String qcReOpcode) {
+		this.qcReOpcode = qcReOpcode;
+	}
+
+	public Date getQcReDate() {
+		return qcReDate;
+	}
+
+	public void setQcReDate(Date qcReDate) {
+		this.qcReDate = qcReDate;
+	}
+
+	public String getStockStatus() {
+		return stockStatus;
+	}
+
+	public void setStockStatus(String stockStatus) {
+		this.stockStatus = stockStatus;
+	}
+
+	public String getItemFlag() {
+		return itemFlag;
+	}
+
+	public void setItemFlag(String itemFlag) {
+		this.itemFlag = itemFlag;
+	}
+
+	public Integer getTimes() {
+		return times;
+	}
+
+	public void setTimes(Integer times) {
+		this.times = times;
+	}
+
+	public String getItemBarcode() {
+		return itemBarcode;
+	}
+
+	public void setItemBarcode(String itemBarcode) {
+		this.itemBarcode = itemBarcode;
+	}
+
+	public BigDecimal getItemVolume() {
+		return itemVolume;
+	}
+
+	public void setItemVolume(BigDecimal itemVolume) {
+		this.itemVolume = itemVolume;
+	}
+
+	public BigDecimal getItemWeight() {
+		return itemWeight;
+	}
+
+	public void setItemWeight(BigDecimal itemWeight) {
+		this.itemWeight = itemWeight;
+	}
+
+	public Integer getItemHealthTwovoflag() {
+		return itemHealthTwovoflag;
+	}
+
+	public void setItemHealthTwovoflag(Integer itemHealthTwovoflag) {
+		this.itemHealthTwovoflag = itemHealthTwovoflag;
+	}
+
+	public String getWarehouseName() {
+		return warehouseName;
+	}
+
+	public void setWarehouseName(String warehouseName) {
+		this.warehouseName = warehouseName;
+	}
+
+	public String getWarehouseAreaName() {
+		return warehouseAreaName;
+	}
+
+	public void setWarehouseAreaName(String warehouseAreaName) {
+		this.warehouseAreaName = warehouseAreaName;
+	}
+
+	public String getItemNum() {
+		return itemNum;
+	}
+
+	public void setItemNum(String itemNum) {
+		this.itemNum = itemNum;
+	}
+
+	public String getItemName() {
+		return itemName;
+	}
+
+	public void setItemName(String itemName) {
+		this.itemName = itemName;
+	}
+
+	public String getCategoryName() {
+		return categoryName;
+	}
+
+	public void setCategoryName(String categoryName) {
+		this.categoryName = categoryName;
+	}
+
+	public String getManufacturerLotNum() {
+		return manufacturerLotNum;
+	}
+
+	public void setManufacturerLotNum(String manufacturerLotNum) {
+		this.manufacturerLotNum = manufacturerLotNum;
+	}
+
+	public String getBatchNum() {
+		return batchNum;
+	}
+
+	public void setBatchNum(String batchNum) {
+		this.batchNum = batchNum;
+	}
+
+	public String getRqcHeaderId() {
+		return rqcHeaderId;
+	}
+
+	public void setRqcHeaderId(String rqcHeaderId) {
+		this.rqcHeaderId = rqcHeaderId;
+	}
+}

+ 122 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rqc/RqcRechekHeadersDTO.java

@@ -0,0 +1,122 @@
+package com.prolog.cs.biz.inbound.dto.rqc;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validAdd;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Past;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description 复检单头 
+ * @Author Xiong  
+ * @Date 2021-04-02 
+ */
+
+@ApiModel
+public class RqcRechekHeadersDTO  implements Serializable {
+	private static final long serialVersionUID =  4196307592340375444L;
+	@ApiModelProperty(value = "业主编号(主键雪花id)",required = true) 
+	@NotBlank(message = "业主编号(主键雪花id) can not blank!",groups = validAdd.class) 
+	private String consignor;
+
+	@ApiModelProperty(value = "采购单号",required = true) 
+	@NotBlank(message = "采购单号 can not blank!",groups = validAdd.class) 
+	private String originalbillno;
+
+	@ApiModelProperty(value = "收货单号") 
+	private String refbillno;
+
+	@ApiModelProperty(value = "质检单号",required = true) 
+	@NotBlank(message = "质检单号 can not blank!",groups = validAdd.class) 
+	private String billno;
+
+	@ApiModelProperty(value = "单据日期",required = true) 
+	@NotNull(message = "单据日期 can not blank!",groups = validAdd.class) 
+	@Past(message = "单据日期 can not greater than now!",groups = validAdd.class) 
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date billDate;
+
+	@ApiModelProperty(value = "供应商编码",required = true) 
+	@NotBlank(message = "供应商编码 can not blank!",groups = validAdd.class) 
+	private String companycode;
+
+	@ApiModelProperty(value = "质检状态(10初始11已打印13已确认)",required = true) 
+	@NotBlank(message = "质检状态(10初始11已打印13已确认) can not blank!",groups = validAdd.class) 
+	private String qcstatus;
+
+	@ApiModelProperty(value = "复检状态") 
+	private String reqcstatus;
+
+
+	public String getConsignor() {
+		return this.consignor;
+	}
+
+	public void setConsignor(String consignor) {
+		this.consignor = consignor;
+	}
+
+	public String getOriginalbillno() {
+		return this.originalbillno;
+	}
+
+	public void setOriginalbillno(String originalbillno) {
+		this.originalbillno = originalbillno;
+	}
+
+	public String getRefbillno() {
+		return this.refbillno;
+	}
+
+	public void setRefbillno(String refbillno) {
+		this.refbillno = refbillno;
+	}
+
+	public String getBillno() {
+		return this.billno;
+	}
+
+	public void setBillno(String billno) {
+		this.billno = billno;
+	}
+
+	public Date getBillDate() {
+		return this.billDate;
+	}
+
+	public void setBillDate(Date billDate) {
+		this.billDate = billDate;
+	}
+
+	public String getCompanycode() {
+		return this.companycode;
+	}
+
+	public void setCompanycode(String companycode) {
+		this.companycode = companycode;
+	}
+
+	public String getQcstatus() {
+		return this.qcstatus;
+	}
+
+	public void setQcstatus(String qcstatus) {
+		this.qcstatus = qcstatus;
+	}
+
+	public String getReqcstatus() {
+		return this.reqcstatus;
+	}
+
+	public void setReqcstatus(String reqcstatus) {
+		this.reqcstatus = reqcstatus;
+	}
+
+}

+ 231 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rqc/RqcRechekLinesDTO.java

@@ -0,0 +1,231 @@
+package com.prolog.cs.biz.inbound.dto.rqc;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validAdd;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @Description 复检单行 
+ * @Author Xiong  
+ * @Date 2021-04-02 
+ */
+
+@ApiModel
+public class RqcRechekLinesDTO  implements Serializable {
+	private static final long serialVersionUID =  7213994622454908042L;
+	@ApiModelProperty(value = "业主编号",required = true) 
+	@NotBlank(message = "业主编号 can not blank!",groups = validAdd.class) 
+	private String consignor;
+
+	@ApiModelProperty(value = "质检单号",required = true) 
+	@NotBlank(message = "质检单号 can not blank!",groups = validAdd.class) 
+	private String billno;
+
+	@ApiModelProperty(value = "行号",required = true) 
+	@NotBlank(message = "行号 can not blank!",groups = validAdd.class) 
+	private String rqcLineid;
+
+	@ApiModelProperty(value = "容器") 
+	private String containerno;
+
+	@ApiModelProperty(value = "商品编码",required = true) 
+	@NotBlank(message = "商品编码 can not blank!",groups = validAdd.class) 
+	private String itemid;
+
+	@ApiModelProperty(value = "批号") 
+	private String lotid;
+
+	@ApiModelProperty(value = "质检状态(10初始13确认)",required = true) 
+	@NotBlank(message = "质检状态(10初始13确认) can not blank!",groups = validAdd.class) 
+	private String qcStatus;
+
+	@ApiModelProperty(value = "质检结论(合格/不合格)") 
+	private String qcResult;
+
+	@ApiModelProperty(value = "质检原因") 
+	private String qcReason;
+
+	@ApiModelProperty(value = "质检人员") 
+	private String qcopcode;
+
+	@ApiModelProperty(value = "质检时间") 
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date qcopdate;
+
+	@ApiModelProperty(value = "复检结论") 
+	private String reqcresult;
+
+	@ApiModelProperty(value = "复检时间") 
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date reqcopdate;
+
+	@ApiModelProperty(value = "复检人员") 
+	private String reqcopcode;
+
+	@ApiModelProperty(value = "零头") 
+	private BigDecimal qcodd;
+
+	@ApiModelProperty(value = "件数") 
+	private BigDecimal qcpcs;
+
+	@ApiModelProperty(value = "数量") 
+	private BigDecimal qcqty;
+
+	@ApiModelProperty(value = "复检次数") 
+	private BigDecimal times;
+
+
+	public String getConsignor() {
+		return this.consignor;
+	}
+
+	public void setConsignor(String consignor) {
+		this.consignor = consignor;
+	}
+
+	public String getBillno() {
+		return this.billno;
+	}
+
+	public void setBillno(String billno) {
+		this.billno = billno;
+	}
+
+	public String getRqcLineid() {
+		return this.rqcLineid;
+	}
+
+	public void setRqcLineid(String rqcLineid) {
+		this.rqcLineid = rqcLineid;
+	}
+
+	public String getContainerno() {
+		return this.containerno;
+	}
+
+	public void setContainerno(String containerno) {
+		this.containerno = containerno;
+	}
+
+	public String getItemid() {
+		return this.itemid;
+	}
+
+	public void setItemid(String itemid) {
+		this.itemid = itemid;
+	}
+
+	public String getLotid() {
+		return this.lotid;
+	}
+
+	public void setLotid(String lotid) {
+		this.lotid = lotid;
+	}
+
+	public String getQcStatus() {
+		return this.qcStatus;
+	}
+
+	public void setQcStatus(String qcStatus) {
+		this.qcStatus = qcStatus;
+	}
+
+	public String getQcResult() {
+		return this.qcResult;
+	}
+
+	public void setQcResult(String qcResult) {
+		this.qcResult = qcResult;
+	}
+
+	public String getQcReason() {
+		return this.qcReason;
+	}
+
+	public void setQcReason(String qcReason) {
+		this.qcReason = qcReason;
+	}
+
+	public String getQcopcode() {
+		return this.qcopcode;
+	}
+
+	public void setQcopcode(String qcopcode) {
+		this.qcopcode = qcopcode;
+	}
+
+	public Date getQcopdate() {
+		return this.qcopdate;
+	}
+
+	public void setQcopdate(Date qcopdate) {
+		this.qcopdate = qcopdate;
+	}
+
+	public String getReqcresult() {
+		return this.reqcresult;
+	}
+
+	public void setReqcresult(String reqcresult) {
+		this.reqcresult = reqcresult;
+	}
+
+	public Date getReqcopdate() {
+		return this.reqcopdate;
+	}
+
+	public void setReqcopdate(Date reqcopdate) {
+		this.reqcopdate = reqcopdate;
+	}
+
+	public String getReqcopcode() {
+		return this.reqcopcode;
+	}
+
+	public void setReqcopcode(String reqcopcode) {
+		this.reqcopcode = reqcopcode;
+	}
+
+	public BigDecimal getQcodd() {
+		return this.qcodd;
+	}
+
+	public void setQcodd(BigDecimal qcodd) {
+		this.qcodd = qcodd;
+	}
+
+	public BigDecimal getQcpcs() {
+		return this.qcpcs;
+	}
+
+	public void setQcpcs(BigDecimal qcpcs) {
+		this.qcpcs = qcpcs;
+	}
+
+	public BigDecimal getQcqty() {
+		return this.qcqty;
+	}
+
+	public void setQcqty(BigDecimal qcqty) {
+		this.qcqty = qcqty;
+	}
+
+	public BigDecimal getTimes() {
+		return this.times;
+	}
+
+	public void setTimes(BigDecimal times) {
+		this.times = times;
+	}
+
+}

+ 262 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rqc/RqcStDTO.java

@@ -0,0 +1,262 @@
+package com.prolog.cs.biz.inbound.dto.rqc;
+
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validEdit;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+
+/**
+ * @Description 质检策略表
+ * @Author Xiong
+ * @Date 2021-04-02
+ */
+
+@ApiModel
+public class RqcStDTO implements Serializable {
+	private static final long serialVersionUID = 8857928421461451390L;
+	@ApiModelProperty(value = "质检策略主键id(雪花)", required = true)
+	@NotBlank(message = "质检策略主键id(雪花) can not blank!", groups = validEdit.class)
+	private String rqcStId;
+
+	@ApiModelProperty(value = "货主id")
+	private String mtlOwnerId;
+
+	@ApiModelProperty(value = "仓库id")
+	private String warehouseId;
+
+	@ApiModelProperty(value = "供应商id")
+	private String vendorId;
+
+	@ApiModelProperty(value = "策略名称")
+	private String stName;
+
+	@ApiModelProperty(value = "策略编号")
+	private String stNum;
+
+	@ApiModelProperty(value = "备注说明")
+	private String remark;
+
+	@ApiModelProperty(value = "状态")
+	private String status;
+
+	@ApiModelProperty(value = "企业正则表达式")
+	private String enRegexp;
+
+	@ApiModelProperty(value = "货主正则")
+	private String ocRegexp;
+
+	@ApiModelProperty(value = "仓库正则")
+	private String whRegexp;
+
+	@ApiModelProperty(value = "正则规则说明")
+	private String regexpDes;
+
+	@ApiModelProperty(value = "商品id")
+	private String itemId;
+
+	@ApiModelProperty(value = "商品编码")
+	private String itemCode;
+
+	@ApiModelProperty(value = "商品名称")
+	private String itemName;
+
+	@ApiModelProperty(value = "商品大类编码")
+	private String itemCategoryCode;
+
+	@ApiModelProperty(value = "策略类型(0通用;1非通用)")
+	private String stType;
+
+	@ApiModelProperty(value = "备用字段1(64长)")
+	private String attribute1;
+
+	@ApiModelProperty(value = "备用字段2(64长)")
+	private String attribute2;
+
+	@ApiModelProperty(value = "备用字段3(64长)")
+	private String attribute3;
+
+	@ApiModelProperty(value = "商品查询条件")
+	private String itemCondition;
+	
+	@ApiModelProperty(value = "单据类型(入库)")
+	private String billType;
+
+	public String getBillType() {
+		return billType;
+	}
+
+	public void setBillType(String billType) {
+		this.billType = billType;
+	}
+
+	public String getItemCondition() {
+		return itemCondition;
+	}
+
+	public void setItemCondition(String itemCondition) {
+		this.itemCondition = itemCondition;
+	}
+
+	public String getItemId() {
+		return itemId;
+	}
+
+	public void setItemId(String itemId) {
+		this.itemId = itemId;
+	}
+
+	public String getItemCode() {
+		return itemCode;
+	}
+
+	public void setItemCode(String itemCode) {
+		this.itemCode = itemCode;
+	}
+
+	public String getItemName() {
+		return itemName;
+	}
+
+	public void setItemName(String itemName) {
+		this.itemName = itemName;
+	}
+
+	public String getItemCategoryCode() {
+		return itemCategoryCode;
+	}
+
+	public void setItemCategoryCode(String itemCategoryCode) {
+		this.itemCategoryCode = itemCategoryCode;
+	}
+
+	public String getStType() {
+		return stType;
+	}
+
+	public void setStType(String stType) {
+		this.stType = stType;
+	}
+
+	public String getAttribute1() {
+		return attribute1;
+	}
+
+	public void setAttribute1(String attribute1) {
+		this.attribute1 = attribute1;
+	}
+
+	public String getAttribute2() {
+		return attribute2;
+	}
+
+	public void setAttribute2(String attribute2) {
+		this.attribute2 = attribute2;
+	}
+
+	public String getAttribute3() {
+		return attribute3;
+	}
+
+	public void setAttribute3(String attribute3) {
+		this.attribute3 = attribute3;
+	}
+
+	public String getRqcStId() {
+		return this.rqcStId;
+	}
+
+	public void setRqcStId(String rqcStId) {
+		this.rqcStId = rqcStId;
+	}
+
+	public String getMtlOwnerId() {
+		return this.mtlOwnerId;
+	}
+
+	public void setMtlOwnerId(String mtlOwnerId) {
+		this.mtlOwnerId = mtlOwnerId;
+	}
+
+	public String getWarehouseId() {
+		return this.warehouseId;
+	}
+
+	public void setWarehouseId(String warehouseId) {
+		this.warehouseId = warehouseId;
+	}
+
+	public String getVendorId() {
+		return this.vendorId;
+	}
+
+	public void setVendorId(String vendorId) {
+		this.vendorId = vendorId;
+	}
+
+	public String getStName() {
+		return this.stName;
+	}
+
+	public void setStName(String stName) {
+		this.stName = stName;
+	}
+
+	public String getStNum() {
+		return this.stNum;
+	}
+
+	public void setStNum(String stNum) {
+		this.stNum = stNum;
+	}
+
+	public String getRemark() {
+		return this.remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public String getStatus() {
+		return this.status;
+	}
+
+	public void setStatus(String status) {
+		this.status = status;
+	}
+
+	public String getEnRegexp() {
+		return this.enRegexp;
+	}
+
+	public void setEnRegexp(String enRegexp) {
+		this.enRegexp = enRegexp;
+	}
+
+	public String getOcRegexp() {
+		return this.ocRegexp;
+	}
+
+	public void setOcRegexp(String ocRegexp) {
+		this.ocRegexp = ocRegexp;
+	}
+
+	public String getWhRegexp() {
+		return this.whRegexp;
+	}
+
+	public void setWhRegexp(String whRegexp) {
+		this.whRegexp = whRegexp;
+	}
+
+	public String getRegexpDes() {
+		return this.regexpDes;
+	}
+
+	public void setRegexpDes(String regexpDes) {
+		this.regexpDes = regexpDes;
+	}
+
+}

+ 586 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rqc/WmsInRqcSampleDTO.java

@@ -0,0 +1,586 @@
+package com.prolog.cs.biz.inbound.dto.rqc;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @Description 质检抽样表
+ * @Author Xiong
+ * @Date 2021-05-20
+ */
+
+@ApiModel
+public class WmsInRqcSampleDTO implements Serializable {
+	private static final long serialVersionUID = 8628302918869901483L;
+	@ApiModelProperty(value = "抽检主键id(雪花)", required = true)
+	private String rqcSampleId;
+
+	@ApiModelProperty(value = "收货单头id", required = true, position = -1)
+	private String rcvHeaderId;
+
+	@ApiModelProperty(value = "收货行id", required = true, position = -1)
+	private String rcvLineId;
+
+	@ApiModelProperty(value = "质检行id")
+	private String rqcLineId;
+
+	@ApiModelProperty(value = "质检头id")
+	private String rqcHeaderId;
+
+	@ApiModelProperty(value = "货主id", required = true, position = -1)
+	private String mtlOwnerId;
+
+	@ApiModelProperty(value = "仓库id", required = true, position = -1)
+	private String warehouseId;
+
+	@ApiModelProperty(value = "来源单类型")
+	private String srcBillType;
+
+	@ApiModelProperty(value = "来源行id")
+	private String srcLineId;
+
+	@ApiModelProperty(value = "来源头id")
+	private String srcHeaderId;
+
+	@ApiModelProperty(value = "asn头id", required = true, position = -1)
+	private String asnHeaderId;
+
+	@ApiModelProperty(value = "asn行id", required = true, position = -1)
+	private String asnLineId;
+
+	@ApiModelProperty(value = "商品id", required = true, position = -1)
+	private String itemId;
+
+	@ApiModelProperty(value = "包装单位", required = true, position = -1)
+	private String uom;
+
+	@ApiModelProperty(value = "商品最小单位总数量--入库数量")
+	private BigDecimal pieceQty;
+
+	@ApiModelProperty(value = "包装含量")
+	private BigDecimal conversionRate;
+
+	@ApiModelProperty(value = "入库整件数(包装单位)")
+	private BigDecimal oddCaseQty;
+
+	@ApiModelProperty(value = "入库零散数")
+	private BigDecimal oddPieceQty;
+
+	@ApiModelProperty(value = "计划抽样整件数", required = true, position = -1)
+	private BigDecimal qcOddCaseQty;
+
+	@ApiModelProperty(value = "计划抽样零散数", required = true, position = -1)
+	private BigDecimal qcOddPieceQty;
+
+	@ApiModelProperty(value = "实际抽样整件数")
+	private BigDecimal qcOddCaseActQty;
+
+	@ApiModelProperty(value = "实际抽检零散")
+	private BigDecimal qcOddPieceActQty;
+
+	@ApiModelProperty(value = "到货数量")
+	private BigDecimal isDhQty;
+
+	@ApiModelProperty(value = "到货件数")
+	private BigDecimal isDhCaseQty;
+
+	@ApiModelProperty(value = "到货零散数")
+	private BigDecimal isDhPieceQty;
+
+	@ApiModelProperty(value = "当前入库单对应品批的已验收数量")
+	private BigDecimal isRqcQty;
+
+	@ApiModelProperty(value = "已抽检的质检件数")
+	private BigDecimal isCjCaseQty;
+
+	@ApiModelProperty(value = "已抽检的质检零散数")
+	private BigDecimal isCjPieceQty;
+
+
+	@ApiModelProperty(value = "备注说明")
+	private String remark;
+
+	@ApiModelProperty(value = "抽样时间")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date sampleDate;
+
+	@ApiModelProperty(value = "批次号")
+	private String batchNum;
+
+	@ApiModelProperty(value = "批次id")
+	private String batchId;
+
+	@ApiModelProperty(value = "货主编号")
+	private String mtlOwnerCode;
+
+	@ApiModelProperty(value = "仓库编号")
+	private String warehouseCode;
+
+	@ApiModelProperty(value = "商品编号")
+	private String itemCode;
+
+	@ApiModelProperty(value = "抽样人")
+	private String sampleBy;
+
+	@ApiModelProperty(value = "货主名称(展示用)", position = 1)
+	private String mtlOwnerName;
+
+	@ApiModelProperty(value = "仓库名称(展示用)", position = 1)
+	private String warehouseName;
+
+	@ApiModelProperty(value = "商品名称(展示用)", position = 1)
+	private String itemName;
+
+	/** 质检任务池ID(来源RQC_TASK) **/
+	@ApiModelProperty(value = "质检任务池ID(来源RQC_TASK)")
+	private String taskRqcId;
+
+	@ApiModelProperty(value = "商品批号")
+	private String manufacturerLotNum;
+	@ApiModelProperty(value = "(新)显示生产日期", position = -4)
+	private String showProductionDate;
+	@ApiModelProperty(value = "(新)显示有效期至", position = -4)
+	private String showExpiredDate;
+	@ApiModelProperty(value = "(新)商品规格", position = -4)
+	private String specification;
+	@ApiModelProperty(value = "(新)生产厂家名称", position = -4)
+	private String manufacturerName;
+	@ApiModelProperty(value = "商品产地", position = -4)
+	private String productionPlace;
+	@ApiModelProperty(value = "(新)受托生产企业名称", position = -4)
+	private String delegationPartyName;
+	@ApiModelProperty(value = "(新)是否受托生产(0否1是)", position = -4)
+	private Integer isDelegate;
+//	商品规格,生产厂家、产地、是否受托生产,受托生产企业,批准文号、上市许可持有人、批号,显示生产日期,显示有效期至,
+	@ApiModelProperty(value = "(新)注册证号", position = -4)
+	private String itemHealthRegisterNbr;
+	@ApiModelProperty(value = "(新)商品批准文号", position = -4)
+	private String approvalNumber;
+	@ApiModelProperty(value = "(新)上市许可持有人", position = -4)
+	private String itemHealthListedLicensor;
+	@ApiModelProperty(value = "小数拆分标识(Y为允许,其他均不可)", position = -2)
+	private String allowDecimal;
+
+	public String getAllowDecimal() {
+		return allowDecimal;
+	}
+
+	public void setAllowDecimal(String allowDecimal) {
+		this.allowDecimal = allowDecimal;
+	}
+
+	public String getShowProductionDate() {
+		return showProductionDate;
+	}
+
+	public void setShowProductionDate(String showProductionDate) {
+		this.showProductionDate = showProductionDate;
+	}
+
+	public String getShowExpiredDate() {
+		return showExpiredDate;
+	}
+
+	public void setShowExpiredDate(String showExpiredDate) {
+		this.showExpiredDate = showExpiredDate;
+	}
+
+	public String getSpecification() {
+		return specification;
+	}
+
+	public void setSpecification(String specification) {
+		this.specification = specification;
+	}
+
+	public String getManufacturerName() {
+		return manufacturerName;
+	}
+
+	public void setManufacturerName(String manufacturerName) {
+		this.manufacturerName = manufacturerName;
+	}
+
+	public String getProductionPlace() {
+		return productionPlace;
+	}
+
+	public void setProductionPlace(String productionPlace) {
+		this.productionPlace = productionPlace;
+	}
+
+	public String getDelegationPartyName() {
+		return delegationPartyName;
+	}
+
+	public void setDelegationPartyName(String delegationPartyName) {
+		this.delegationPartyName = delegationPartyName;
+	}
+
+	public Integer getIsDelegate() {
+		return isDelegate;
+	}
+
+	public void setIsDelegate(Integer isDelegate) {
+		this.isDelegate = isDelegate;
+	}
+
+	public String getItemHealthRegisterNbr() {
+		return itemHealthRegisterNbr;
+	}
+
+	public void setItemHealthRegisterNbr(String itemHealthRegisterNbr) {
+		this.itemHealthRegisterNbr = itemHealthRegisterNbr;
+	}
+
+	public String getApprovalNumber() {
+		return approvalNumber;
+	}
+
+	public void setApprovalNumber(String approvalNumber) {
+		this.approvalNumber = approvalNumber;
+	}
+
+	public String getItemHealthListedLicensor() {
+		return itemHealthListedLicensor;
+	}
+
+	public void setItemHealthListedLicensor(String itemHealthListedLicensor) {
+		this.itemHealthListedLicensor = itemHealthListedLicensor;
+	}
+
+	public String getTaskRqcId() {
+		return taskRqcId;
+	}
+
+	public void setTaskRqcId(String taskRqcId) {
+		this.taskRqcId = taskRqcId;
+	}
+
+	public String getRqcSampleId() {
+		return rqcSampleId;
+	}
+
+	public void setRqcSampleId(String rqcSampleId) {
+		this.rqcSampleId = rqcSampleId;
+	}
+
+	public String getMtlOwnerName() {
+		return mtlOwnerName;
+	}
+
+	public void setMtlOwnerName(String mtlOwnerName) {
+		this.mtlOwnerName = mtlOwnerName;
+	}
+
+	public String getWarehouseName() {
+		return warehouseName;
+	}
+
+	public void setWarehouseName(String warehouseName) {
+		this.warehouseName = warehouseName;
+	}
+
+	public String getItemName() {
+		return itemName;
+	}
+
+	public void setItemName(String itemName) {
+		this.itemName = itemName;
+	}
+
+	public String getRcvHeaderId() {
+		return this.rcvHeaderId;
+	}
+
+	public void setRcvHeaderId(String rcvHeaderId) {
+		this.rcvHeaderId = rcvHeaderId;
+	}
+
+	public String getRcvLineId() {
+		return this.rcvLineId;
+	}
+
+	public void setRcvLineId(String rcvLineId) {
+		this.rcvLineId = rcvLineId;
+	}
+
+	public String getRqcLineId() {
+		return this.rqcLineId;
+	}
+
+	public void setRqcLineId(String rqcLineId) {
+		this.rqcLineId = rqcLineId;
+	}
+
+	public String getRqcHeaderId() {
+		return this.rqcHeaderId;
+	}
+
+	public void setRqcHeaderId(String rqcHeaderId) {
+		this.rqcHeaderId = rqcHeaderId;
+	}
+
+	public String getMtlOwnerId() {
+		return this.mtlOwnerId;
+	}
+
+	public void setMtlOwnerId(String mtlOwnerId) {
+		this.mtlOwnerId = mtlOwnerId;
+	}
+
+	public String getWarehouseId() {
+		return this.warehouseId;
+	}
+
+	public void setWarehouseId(String warehouseId) {
+		this.warehouseId = warehouseId;
+	}
+
+	public String getSrcBillType() {
+		return this.srcBillType;
+	}
+
+	public void setSrcBillType(String srcBillType) {
+		this.srcBillType = srcBillType;
+	}
+
+	public String getSrcLineId() {
+		return this.srcLineId;
+	}
+
+	public void setSrcLineId(String srcLineId) {
+		this.srcLineId = srcLineId;
+	}
+
+	public String getSrcHeaderId() {
+		return this.srcHeaderId;
+	}
+
+	public void setSrcHeaderId(String srcHeaderId) {
+		this.srcHeaderId = srcHeaderId;
+	}
+
+	public String getAsnHeaderId() {
+		return this.asnHeaderId;
+	}
+
+	public void setAsnHeaderId(String asnHeaderId) {
+		this.asnHeaderId = asnHeaderId;
+	}
+
+	public String getAsnLineId() {
+		return this.asnLineId;
+	}
+
+	public void setAsnLineId(String asnLineId) {
+		this.asnLineId = asnLineId;
+	}
+
+	public String getItemId() {
+		return this.itemId;
+	}
+
+	public void setItemId(String itemId) {
+		this.itemId = itemId;
+	}
+
+	public String getBatchId() {
+		return this.batchId;
+	}
+
+	public void setBatchId(String batchId) {
+		this.batchId = batchId;
+	}
+
+	public String getUom() {
+		return this.uom;
+	}
+
+	public void setUom(String uom) {
+		this.uom = uom;
+	}
+
+	public BigDecimal getPieceQty() {
+		return this.pieceQty;
+	}
+
+	public void setPieceQty(BigDecimal pieceQty) {
+		this.pieceQty = pieceQty;
+	}
+
+	public BigDecimal getConversionRate() {
+		return this.conversionRate;
+	}
+
+	public void setConversionRate(BigDecimal conversionRate) {
+		this.conversionRate = conversionRate;
+	}
+
+	public BigDecimal getOddCaseQty() {
+		return this.oddCaseQty;
+	}
+
+	public void setOddCaseQty(BigDecimal oddCaseQty) {
+		this.oddCaseQty = oddCaseQty;
+	}
+
+	public BigDecimal getOddPieceQty() {
+		return this.oddPieceQty;
+	}
+
+	public void setOddPieceQty(BigDecimal oddPieceQty) {
+		this.oddPieceQty = oddPieceQty;
+	}
+
+	public BigDecimal getQcOddCaseQty() {
+		return this.qcOddCaseQty;
+	}
+
+	public void setQcOddCaseQty(BigDecimal qcOddCaseQty) {
+		this.qcOddCaseQty = qcOddCaseQty;
+	}
+
+	public BigDecimal getQcOddPieceQty() {
+		return this.qcOddPieceQty;
+	}
+
+	public void setQcOddPieceQty(BigDecimal qcOddPieceQty) {
+		this.qcOddPieceQty = qcOddPieceQty;
+	}
+
+	public BigDecimal getQcOddCaseActQty() {
+		return this.qcOddCaseActQty;
+	}
+
+	public void setQcOddCaseActQty(BigDecimal qcOddCaseActQty) {
+		this.qcOddCaseActQty = qcOddCaseActQty;
+	}
+
+	public BigDecimal getQcOddPieceActQty() {
+		return this.qcOddPieceActQty;
+	}
+
+	public void setQcOddPieceActQty(BigDecimal qcOddPieceActQty) {
+		this.qcOddPieceActQty = qcOddPieceActQty;
+	}
+
+	public String getRemark() {
+		return this.remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public Date getSampleDate() {
+		return this.sampleDate;
+	}
+
+	public void setSampleDate(Date sampleDate) {
+		this.sampleDate = sampleDate;
+	}
+
+	public String getBatchNum() {
+		return this.batchNum;
+	}
+
+	public void setBatchNum(String batchNum) {
+		this.batchNum = batchNum;
+	}
+
+	public String getMtlOwnerCode() {
+		return this.mtlOwnerCode;
+	}
+
+	public void setMtlOwnerCode(String mtlOwnerCode) {
+		this.mtlOwnerCode = mtlOwnerCode;
+	}
+
+	public String getWarehouseCode() {
+		return this.warehouseCode;
+	}
+
+	public void setWarehouseCode(String warehouseCode) {
+		this.warehouseCode = warehouseCode;
+	}
+
+	public String getItemCode() {
+		return this.itemCode;
+	}
+
+	public void setItemCode(String itemCode) {
+		this.itemCode = itemCode;
+	}
+
+	public String getManufacturerLotNum() {
+		return this.manufacturerLotNum;
+	}
+
+	public void setManufacturerLotNum(String manufacturerLotNum) {
+		this.manufacturerLotNum = manufacturerLotNum;
+	}
+
+	public String getSampleBy() {
+		return this.sampleBy;
+	}
+
+	public void setSampleBy(String sampleBy) {
+		this.sampleBy = sampleBy;
+	}
+
+	public BigDecimal getIsDhQty() {
+		return isDhQty;
+	}
+
+	public void setIsDhQty(BigDecimal isDhQty) {
+		this.isDhQty = isDhQty;
+	}
+
+	public BigDecimal getIsDhCaseQty() {
+		return isDhCaseQty;
+	}
+
+	public void setIsDhCaseQty(BigDecimal isDhCaseQty) {
+		this.isDhCaseQty = isDhCaseQty;
+	}
+
+	public BigDecimal getIsDhPieceQty() {
+		return isDhPieceQty;
+	}
+
+	public void setIsDhPieceQty(BigDecimal isDhPieceQty) {
+		this.isDhPieceQty = isDhPieceQty;
+	}
+
+	public BigDecimal getIsRqcQty() {
+		return isRqcQty;
+	}
+
+	public void setIsRqcQty(BigDecimal isRqcQty) {
+		this.isRqcQty = isRqcQty;
+	}
+
+	public BigDecimal getIsCjCaseQty() {
+		return isCjCaseQty;
+	}
+
+	public void setIsCjCaseQty(BigDecimal isCjCaseQty) {
+		this.isCjCaseQty = isCjCaseQty;
+	}
+
+	public BigDecimal getIsCjPieceQty() {
+		return isCjPieceQty;
+	}
+
+	public void setIsCjPieceQty(BigDecimal isCjPieceQty) {
+		this.isCjPieceQty = isCjPieceQty;
+	}
+}

+ 156 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/rqc/WmsInRqcStRuleDTO.java

@@ -0,0 +1,156 @@
+package com.prolog.cs.biz.inbound.dto.rqc;
+
+import com.prolog.cs.basic.warehouse.constant.ValidatorGroup.validAdd;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+
+/**
+ * @Description null 
+ * @Author Xiong  
+ * @Date 2021-12-24 
+ */
+
+@ApiModel
+public class WmsInRqcStRuleDTO  implements Serializable {
+	private static final long serialVersionUID =  979018930205529075L;
+	@ApiModelProperty(value = "质检规则主键id") 
+	@NotBlank(message = "质检规则主键id can not blank!",groups = validAdd.class) 
+	private String ruleId;
+	
+	@ApiModelProperty(value = "质检规则名称(新增必填)")
+	@NotBlank(message = "质检规则名称不可为空!", groups = validAdd.class)
+	private String ruleName;
+
+	@ApiModelProperty(value = "质检策略id(新增必填,条件必填)",required = true) 
+	@NotBlank(message = "质检策略id can not blank!",groups = validAdd.class) 
+	private String rqcStId;
+
+	@ApiModelProperty(value = "查询条件表达式") 
+	private String searchRegexp;
+
+	@ApiModelProperty(value = "匹配表达式") 
+	private String matchRegexp;
+
+	@ApiModelProperty(value = "规则排序") 
+	private Integer sortIndex;
+
+	@ApiModelProperty(value = "规则说明") 
+	private String regexpDes;
+
+	@ApiModelProperty(value = "备注") 
+	private String remark;
+
+	@ApiModelProperty(value = "状态(0否1是)") 
+	private String status;
+
+	@ApiModelProperty(value = "备用字段1") 
+	private String attribute1;
+
+	@ApiModelProperty(value = "备用字段2") 
+	private String attribute2;
+
+	@ApiModelProperty(value = "备用字段3") 
+	private String attribute3;
+
+	
+
+	public String getRuleName() {
+		return ruleName;
+	}
+
+	public void setRuleName(String ruleName) {
+		this.ruleName = ruleName;
+	}
+
+	public String getRuleId() {
+		return this.ruleId;
+	}
+
+	public void setRuleId(String ruleId) {
+		this.ruleId = ruleId;
+	}
+
+	public String getRqcStId() {
+		return this.rqcStId;
+	}
+
+	public void setRqcStId(String rqcStId) {
+		this.rqcStId = rqcStId;
+	}
+
+	public String getSearchRegexp() {
+		return this.searchRegexp;
+	}
+
+	public void setSearchRegexp(String searchRegexp) {
+		this.searchRegexp = searchRegexp;
+	}
+
+	public String getMatchRegexp() {
+		return this.matchRegexp;
+	}
+
+	public void setMatchRegexp(String matchRegexp) {
+		this.matchRegexp = matchRegexp;
+	}
+
+	public Integer getSortIndex() {
+		return this.sortIndex;
+	}
+
+	public void setSortIndex(Integer sortIndex) {
+		this.sortIndex = sortIndex;
+	}
+
+	public String getRegexpDes() {
+		return this.regexpDes;
+	}
+
+	public void setRegexpDes(String regexpDes) {
+		this.regexpDes = regexpDes;
+	}
+
+	public String getRemark() {
+		return this.remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public String getStatus() {
+		return this.status;
+	}
+
+	public void setStatus(String status) {
+		this.status = status;
+	}
+
+	public String getAttribute1() {
+		return this.attribute1;
+	}
+
+	public void setAttribute1(String attribute1) {
+		this.attribute1 = attribute1;
+	}
+
+	public String getAttribute2() {
+		return this.attribute2;
+	}
+
+	public void setAttribute2(String attribute2) {
+		this.attribute2 = attribute2;
+	}
+
+	public String getAttribute3() {
+		return this.attribute3;
+	}
+
+	public void setAttribute3(String attribute3) {
+		this.attribute3 = attribute3;
+	}
+
+}

+ 830 - 0
upcloud-base-wh-inbound/upcloud-base-wh-inbound-facade/src/main/java/com/prolog/cs/biz/inbound/dto/task/TaskExceptionDetailDTO.java

@@ -0,0 +1,830 @@
+package com.prolog.cs.biz.inbound.dto.task;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validAdd;
+import com.prolog.cs.biz.inbound.constant.ValidatorGroup.validEdit;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @Description 收货异常任务池
+ * @Author Xiong
+ * @Date 2021-04-02
+ */
+
+@ApiModel
+public class TaskExceptionDetailDTO implements Serializable {
+	private static final long serialVersionUID = 131326551710664843L;
+	@ApiModelProperty(value = "ID(主键雪花id)", required = true)
+	@NotBlank(message = "ID(主键雪花id) can not blank!", groups = validEdit.class)
+	private String taskExceptionId;
+
+	@ApiModelProperty(value = "货主ID(隐藏字段)", position = 2, required = true)
+	@NotBlank(message = "货主ID can not blank!", groups = validAdd.class)
+	private String mtlOwnerId;
+
+	@ApiModelProperty(value = "仓库ID(隐藏字段)", position = 2, required = true)
+	@NotBlank(message = "仓库ID can not blank!", groups = validAdd.class)
+	private String warehouseId;
+
+	@ApiModelProperty(value = "包装单位", position = 1, required = true)
+	@NotBlank(message = "包装单位 can not blank!", groups = validAdd.class)
+	private String uom;
+
+	@ApiModelProperty(value = "包装含量", position = 1, required = true)
+	@NotNull(message = "包装含量 can not blank!", groups = validAdd.class)
+	private BigDecimal conversionRate;
+
+	@ApiModelProperty(value = "单品数量", position = 1, required = true)
+	@NotNull(message = "单品数量 can not blank!", groups = validAdd.class)
+	private BigDecimal pieceQty;
+
+	@ApiModelProperty(value = "来源单类型(隐藏字段)", position = 3)
+	private String srcBillType;
+
+	@ApiModelProperty(value = "来源单头ID(隐藏字段)", position = 3)
+	private String srcHeaderId;
+
+	@ApiModelProperty(value = "来源单行ID(隐藏字段)", position = 3)
+	private String srcLineId;
+
+	@ApiModelProperty(value = "ASN头ID(隐藏字段)", position = 3)
+	private String asnHeaderId;
+
+	@ApiModelProperty(value = "ASN行ID(隐藏字段)", position = 3)
+	private String asnLineId;
+
+	@ApiModelProperty(value = "收货单头ID(隐藏字段)", position = 3)
+	private String rcvHeaderId;
+
+	@ApiModelProperty(value = "收货行头ID(隐藏字段)", position = 3)
+	private String rcvLineId;
+
+	@ApiModelProperty(value = "商品ID(隐藏字段)", position = 3)
+	private String itemId;
+
+	@ApiModelProperty(value = "批次ID(隐藏字段)", position = 3)
+	private String batchId;
+
+	@ApiModelProperty(value = "数量")
+	private BigDecimal qty;
+
+	@ApiModelProperty(value = "批次号")
+	private String batchNum;
+
+	@ApiModelProperty(value = "生产商批号")
+	private String manufacturerLotNum;
+
+	@ApiModelProperty(value = "供应商批号")
+	private String vendorBatchNum;
+
+	@ApiModelProperty(value = "是否允许作业标识")
+	private String activeFlag;
+
+	@ApiModelProperty(value = "余量")
+	private BigDecimal remainQty;
+
+	@ApiModelProperty(value = "状态(0不可/1可执行-默认)")
+	private String status;
+
+	@ApiModelProperty(value = "状态(初始/确认)")
+//	@NotBlank(message = "状态(初始/确认) can not blank!", groups = validAdd.class)
+	private String qcStatus;
+
+	@ApiModelProperty(value = "结论")
+	private String result;
+
+	@ApiModelProperty(value = "原因")
+	private String reason;
+
+	@ApiModelProperty(value = "备注,错误原因")
+	private String comments;
+
+	@ApiModelProperty(value = "执行者")
+	private String executor;
+
+	@ApiModelProperty(value = "容器编码")
+	private String containerCode;
+
+	@ApiModelProperty(value = "货格编码")
+	private String goodsCaseCode;
+
+	@ApiModelProperty(value = "任务节点(10收货错误/20质检错误/30复检错误/40上架错误)")
+	private String nodeType;
+
+	@ApiModelProperty(value = "错误节点的任务id(隐藏字段)", position = 3)
+	private String nodeTaskId;
+
+	@ApiModelProperty(value = "数据版本号", hidden = true)
+	private Integer dataVersion;
+
+	@ApiModelProperty(value = "单品零散数(列表字段)", position = 4)
+	private BigDecimal oddPieceQty;
+	@ApiModelProperty(value = "包装件数(列表字段)", position = 4)
+	private BigDecimal caseQty;
+	@ApiModelProperty(value = "商品条码(列表字段)", position = 4)
+	private String itemBarcode;
+	@ApiModelProperty(value = "商品体积(列表字段)", position = 4)
+	private BigDecimal itemVolume;
+	@ApiModelProperty(value = "商品分类名(列表字段)", position = 4)
+	private String categoryName;
+	@ApiModelProperty(value = "商品重量(列表字段)", position = 4)
+	private BigDecimal itemWeight;
+	@ApiModelProperty(value = "仓库名称(列表字段)", position = 4)
+	private String warehouseName;
+	@ApiModelProperty(value = "库区名称(列表字段)", position = 4)
+	private String warehouseAreaName;
+	@ApiModelProperty(value = "商品编码(列表字段)", position = 4)
+	private String itemNum;
+	@ApiModelProperty(value = "商品名称(列表字段)", position = 4)
+	private String itemName;
+
+	@ApiModelProperty(value = "生产日期(列表展示用)", position = 9)
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date productionDateOld;
+
+	@ApiModelProperty(value = "有效期至(列表展示用)", position = 9)
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date expiredDateOld;
+
+	// ========================6.11新加========================================
+	// 异常行所需字段
+	@ApiModelProperty(value = "旧批号ID")
+	private String batchIdOld;
+
+	@ApiModelProperty(value = "旧批号编码")
+	private String batchNumOld;
+
+	@ApiModelProperty(value = "旧供应商批次号")
+	private String vendorBatchNumOld;
+
+	@ApiModelProperty(value = "旧生产商批号")
+	private String manufacturerLotNumOld;
+
+	@ApiModelProperty(value = "新批号")
+	private String batchIdNew;
+
+	@ApiModelProperty(value = "新批号编码")
+	private String batchNumNew;
+
+	@ApiModelProperty(value = "新生产日期")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date productionDateNew;
+
+	@ApiModelProperty(value = "新有效期至")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date expiredDateNew;
+
+	@ApiModelProperty(value = "新供应商批次号")
+	private String vendorBatchNumNew;
+
+	@ApiModelProperty(value = "新生产商批号")
+	private String manufacturerLotNumNew;
+
+	@ApiModelProperty(value = "旧数量")
+	private BigDecimal qtyOld;
+
+	@ApiModelProperty(value = "新数量")
+	private BigDecimal qtyNew;
+
+	@ApiModelProperty(value = "包装单位类型(2019/2020)新老包装")
+	private String uomType;
+
+	@ApiModelProperty(value = "旧数量(最小单位)")
+	private BigDecimal pieceQtyOld;
+
+	@ApiModelProperty(value = "新数量(最小单位)")
+	private BigDecimal pieceQtyNew;
+
+	// 生产厂家
+	@ApiModelProperty(value = "生产厂家")
+	private String manufacturerName;
+	// 商品规格
+	@ApiModelProperty(value = "商品规格")
+	private String specification;
+	// 批准文号
+	@ApiModelProperty(value = "批准文号")
+	private String approvalNumber;
+
+	@ApiModelProperty(value = "新的显示生产日期")
+	private String showProductionDateOld;
+	@ApiModelProperty(value = "旧的显示生产日期")
+	private String showProductionDateNew;
+	@ApiModelProperty(value = "新的显示有效期至")
+	private String showExpiredDateOld;
+	@ApiModelProperty(value = "旧的显示有效期至")
+	private String showExpiredDateNew;
+
+	@ApiModelProperty(value = "效期数")
+	private Integer shelfLifeDays;
+	@ApiModelProperty(value = "效期单位")
+	private String shelfLifeUnit;
+	@ApiModelProperty(value = "(新)是否委托生产(0否1是)", position = -4)
+	private Integer isDelegate;
+
+	@ApiModelProperty(value = "(新)上市许可持有人(冗余)", position = -5)
+	private String itemHealthListedLicensor;
+	@ApiModelProperty(value = "商品产地", position = -5)
+	private String productionPlace;
+	// 注册证号
+	@ApiModelProperty(value = "(新)注册证号(冗余)", position = -100)
+	private String itemHealthRegisterNbr;
+	@ApiModelProperty(value = "存储分类(整散分离属性)", position = -100)
+	private String itemHealthStoreCategory;
+
+	public String getItemHealthRegisterNbr() {
+		return itemHealthRegisterNbr;
+	}
+
+	public void setItemHealthRegisterNbr(String itemHealthRegisterNbr) {
+		this.itemHealthRegisterNbr = itemHealthRegisterNbr;
+	}
+
+	public String getItemHealthStoreCategory() {
+		return itemHealthStoreCategory;
+	}
+
+	public void setItemHealthStoreCategory(String itemHealthStoreCategory) {
+		this.itemHealthStoreCategory = itemHealthStoreCategory;
+	}
+
+	public String getProductionPlace() {
+		return productionPlace;
+	}
+
+	public void setProductionPlace(String productionPlace) {
+		this.productionPlace = productionPlace;
+	}
+
+	public String getManufacturerName() {
+		return manufacturerName;
+	}
+
+	public void setManufacturerName(String manufacturerName) {
+		this.manufacturerName = manufacturerName;
+	}
+
+	public String getItemHealthListedLicensor() {
+		return itemHealthListedLicensor;
+	}
+
+	public void setItemHealthListedLicensor(String itemHealthListedLicensor) {
+		this.itemHealthListedLicensor = itemHealthListedLicensor;
+	}
+
+	public Integer getIsDelegate() {
+		return isDelegate;
+	}
+
+	public void setIsDelegate(Integer isDelegate) {
+		this.isDelegate = isDelegate;
+	}
+
+	public Integer getShelfLifeDays() {
+		return shelfLifeDays;
+	}
+
+	public void setShelfLifeDays(Integer shelfLifeDays) {
+		this.shelfLifeDays = shelfLifeDays;
+	}
+
+	public String getShelfLifeUnit() {
+		return shelfLifeUnit;
+	}
+
+	public void setShelfLifeUnit(String shelfLifeUnit) {
+		this.shelfLifeUnit = shelfLifeUnit;
+	}
+
+	public String getShowProductionDateOld() {
+		return showProductionDateOld;
+	}
+
+	public void setShowProductionDateOld(String showProductionDateOld) {
+		this.showProductionDateOld = showProductionDateOld;
+	}
+
+	public String getShowProductionDateNew() {
+		return showProductionDateNew;
+	}
+
+	public void setShowProductionDateNew(String showProductionDateNew) {
+		this.showProductionDateNew = showProductionDateNew;
+	}
+
+	public String getShowExpiredDateOld() {
+		return showExpiredDateOld;
+	}
+
+	public void setShowExpiredDateOld(String showExpiredDateOld) {
+		this.showExpiredDateOld = showExpiredDateOld;
+	}
+
+	public String getShowExpiredDateNew() {
+		return showExpiredDateNew;
+	}
+
+	public void setShowExpiredDateNew(String showExpiredDateNew) {
+		this.showExpiredDateNew = showExpiredDateNew;
+	}
+
+	public String getSpecification() {
+		return specification;
+	}
+
+	public void setSpecification(String specification) {
+		this.specification = specification;
+	}
+
+	public String getApprovalNumber() {
+		return approvalNumber;
+	}
+
+	public void setApprovalNumber(String approvalNumber) {
+		this.approvalNumber = approvalNumber;
+	}
+
+	public String getBatchIdOld() {
+		return batchIdOld;
+	}
+
+	public void setBatchIdOld(String batchIdOld) {
+		this.batchIdOld = batchIdOld;
+	}
+
+	public String getBatchNumOld() {
+		return batchNumOld;
+	}
+
+	public void setBatchNumOld(String batchNumOld) {
+		this.batchNumOld = batchNumOld;
+	}
+
+	public String getVendorBatchNumOld() {
+		return vendorBatchNumOld;
+	}
+
+	public void setVendorBatchNumOld(String vendorBatchNumOld) {
+		this.vendorBatchNumOld = vendorBatchNumOld;
+	}
+
+	public String getManufacturerLotNumOld() {
+		return manufacturerLotNumOld;
+	}
+
+	public void setManufacturerLotNumOld(String manufacturerLotNumOld) {
+		this.manufacturerLotNumOld = manufacturerLotNumOld;
+	}
+
+	public String getBatchIdNew() {
+		return batchIdNew;
+	}
+
+	public void setBatchIdNew(String batchIdNew) {
+		this.batchIdNew = batchIdNew;
+	}
+
+	public String getBatchNumNew() {
+		return batchNumNew;
+	}
+
+	public void setBatchNumNew(String batchNumNew) {
+		this.batchNumNew = batchNumNew;
+	}
+
+	public Date getProductionDateNew() {
+		return productionDateNew;
+	}
+
+	public void setProductionDateNew(Date productionDateNew) {
+		this.productionDateNew = productionDateNew;
+	}
+
+	public Date getExpiredDateNew() {
+		return expiredDateNew;
+	}
+
+	public void setExpiredDateNew(Date expiredDateNew) {
+		this.expiredDateNew = expiredDateNew;
+	}
+
+	public String getVendorBatchNumNew() {
+		return vendorBatchNumNew;
+	}
+
+	public void setVendorBatchNumNew(String vendorBatchNumNew) {
+		this.vendorBatchNumNew = vendorBatchNumNew;
+	}
+
+	public String getManufacturerLotNumNew() {
+		return manufacturerLotNumNew;
+	}
+
+	public void setManufacturerLotNumNew(String manufacturerLotNumNew) {
+		this.manufacturerLotNumNew = manufacturerLotNumNew;
+	}
+
+	public BigDecimal getQtyOld() {
+		return qtyOld;
+	}
+
+	public void setQtyOld(BigDecimal qtyOld) {
+		this.qtyOld = qtyOld;
+	}
+
+	public BigDecimal getQtyNew() {
+		return qtyNew;
+	}
+
+	public void setQtyNew(BigDecimal qtyNew) {
+		this.qtyNew = qtyNew;
+	}
+
+	public String getUomType() {
+		return uomType;
+	}
+
+	public void setUomType(String uomType) {
+		this.uomType = uomType;
+	}
+
+	public BigDecimal getPieceQtyOld() {
+		return pieceQtyOld;
+	}
+
+	public void setPieceQtyOld(BigDecimal pieceQtyOld) {
+		this.pieceQtyOld = pieceQtyOld;
+	}
+
+	public BigDecimal getPieceQtyNew() {
+		return pieceQtyNew;
+	}
+
+	public void setPieceQtyNew(BigDecimal pieceQtyNew) {
+		this.pieceQtyNew = pieceQtyNew;
+	}
+
+	public Date getProductionDateOld() {
+		return productionDateOld;
+	}
+
+	public void setProductionDateOld(Date productionDateOld) {
+		this.productionDateOld = productionDateOld;
+	}
+
+	public Date getExpiredDateOld() {
+		return expiredDateOld;
+	}
+
+	public void setExpiredDateOld(Date expiredDateOld) {
+		this.expiredDateOld = expiredDateOld;
+	}
+
+	public String getTaskExceptionId() {
+		return taskExceptionId;
+	}
+
+	public void setTaskExceptionId(String taskExceptionId) {
+		this.taskExceptionId = taskExceptionId;
+	}
+
+	public String getMtlOwnerId() {
+		return mtlOwnerId;
+	}
+
+	public void setMtlOwnerId(String mtlOwnerId) {
+		this.mtlOwnerId = mtlOwnerId;
+	}
+
+	public String getWarehouseId() {
+		return warehouseId;
+	}
+
+	public void setWarehouseId(String warehouseId) {
+		this.warehouseId = warehouseId;
+	}
+
+	public String getUom() {
+		return uom;
+	}
+
+	public void setUom(String uom) {
+		this.uom = uom;
+	}
+
+	public BigDecimal getConversionRate() {
+		return conversionRate;
+	}
+
+	public void setConversionRate(BigDecimal conversionRate) {
+		this.conversionRate = conversionRate;
+	}
+
+	public BigDecimal getPieceQty() {
+		return pieceQty;
+	}
+
+	public void setPieceQty(BigDecimal pieceQty) {
+		this.pieceQty = pieceQty;
+	}
+
+	public String getSrcBillType() {
+		return srcBillType;
+	}
+
+	public void setSrcBillType(String srcBillType) {
+		this.srcBillType = srcBillType;
+	}
+
+	public String getSrcHeaderId() {
+		return srcHeaderId;
+	}
+
+	public void setSrcHeaderId(String srcHeaderId) {
+		this.srcHeaderId = srcHeaderId;
+	}
+
+	public String getSrcLineId() {
+		return srcLineId;
+	}
+
+	public void setSrcLineId(String srcLineId) {
+		this.srcLineId = srcLineId;
+	}
+
+	public String getAsnHeaderId() {
+		return asnHeaderId;
+	}
+
+	public void setAsnHeaderId(String asnHeaderId) {
+		this.asnHeaderId = asnHeaderId;
+	}
+
+	public String getAsnLineId() {
+		return asnLineId;
+	}
+
+	public void setAsnLineId(String asnLineId) {
+		this.asnLineId = asnLineId;
+	}
+
+	public String getRcvHeaderId() {
+		return rcvHeaderId;
+	}
+
+	public void setRcvHeaderId(String rcvHeaderId) {
+		this.rcvHeaderId = rcvHeaderId;
+	}
+
+	public String getRcvLineId() {
+		return rcvLineId;
+	}
+
+	public void setRcvLineId(String rcvLineId) {
+		this.rcvLineId = rcvLineId;
+	}
+
+	public String getItemId() {
+		return itemId;
+	}
+
+	public void setItemId(String itemId) {
+		this.itemId = itemId;
+	}
+
+	public String getBatchId() {
+		return batchId;
+	}
+
+	public void setBatchId(String batchId) {
+		this.batchId = batchId;
+	}
+
+	public String getNodeTaskId() {
+		return nodeTaskId;
+	}
+
+	public void setNodeTaskId(String nodeTaskId) {
+		this.nodeTaskId = nodeTaskId;
+	}
+
+	public BigDecimal getQty() {
+		return qty;
+	}
+
+	public void setQty(BigDecimal qty) {
+		this.qty = qty;
+	}
+
+	public String getBatchNum() {
+		return batchNum;
+	}
+
+	public void setBatchNum(String batchNum) {
+		this.batchNum = batchNum;
+	}
+
+	public String getManufacturerLotNum() {
+		return manufacturerLotNum;
+	}
+
+	public void setManufacturerLotNum(String manufacturerLotNum) {
+		this.manufacturerLotNum = manufacturerLotNum;
+	}
+
+	public String getVendorBatchNum() {
+		return vendorBatchNum;
+	}
+
+	public void setVendorBatchNum(String vendorBatchNum) {
+		this.vendorBatchNum = vendorBatchNum;
+	}
+
+	public String getActiveFlag() {
+		return activeFlag;
+	}
+
+	public void setActiveFlag(String activeFlag) {
+		this.activeFlag = activeFlag;
+	}
+
+	public BigDecimal getRemainQty() {
+		return remainQty;
+	}
+
+	public void setRemainQty(BigDecimal remainQty) {
+		this.remainQty = remainQty;
+	}
+
+	public String getStatus() {
+		return status;
+	}
+
+	public void setStatus(String status) {
+		this.status = status;
+	}
+
+	public String getQcStatus() {
+		return qcStatus;
+	}
+
+	public void setQcStatus(String qcStatus) {
+		this.qcStatus = qcStatus;
+	}
+
+	public String getResult() {
+		return result;
+	}
+
+	public void setResult(String result) {
+		this.result = result;
+	}
+
+	public String getReason() {
+		return reason;
+	}
+
+	public void setReason(String reason) {
+		this.reason = reason;
+	}
+
+	public String getComments() {
+		return comments;
+	}
+
+	public void setComments(String comments) {
+		this.comments = comments;
+	}
+
+	public String getExecutor() {
+		return executor;
+	}
+
+	public void setExecutor(String executor) {
+		this.executor = executor;
+	}
+
+	public String getContainerCode() {
+		return containerCode;
+	}
+
+	public void setContainerCode(String containerCode) {
+		this.containerCode = containerCode;
+	}
+
+	public String getGoodsCaseCode() {
+		return goodsCaseCode;
+	}
+
+	public void setGoodsCaseCode(String goodsCaseCode) {
+		this.goodsCaseCode = goodsCaseCode;
+	}
+
+	public String getNodeType() {
+		return nodeType;
+	}
+
+	public void setNodeType(String nodeType) {
+		this.nodeType = nodeType;
+	}
+
+	public Integer getDataVersion() {
+		return dataVersion;
+	}
+
+	public void setDataVersion(Integer dataVersion) {
+		this.dataVersion = dataVersion;
+	}
+
+	public BigDecimal getOddPieceQty() {
+		return oddPieceQty;
+	}
+
+	public void setOddPieceQty(BigDecimal oddPieceQty) {
+		this.oddPieceQty = oddPieceQty;
+	}
+
+	public BigDecimal getCaseQty() {
+		return caseQty;
+	}
+
+	public void setCaseQty(BigDecimal caseQty) {
+		this.caseQty = caseQty;
+	}
+
+	public String getItemBarcode() {
+		return itemBarcode;
+	}
+
+	public void setItemBarcode(String itemBarcode) {
+		this.itemBarcode = itemBarcode;
+	}
+
+	public BigDecimal getItemVolume() {
+		return itemVolume;
+	}
+
+	public void setItemVolume(BigDecimal itemVolume) {
+		this.itemVolume = itemVolume;
+	}
+
+	public String getCategoryName() {
+		return categoryName;
+	}
+
+	public void setCategoryName(String categoryName) {
+		this.categoryName = categoryName;
+	}
+
+	public BigDecimal getItemWeight() {
+		return itemWeight;
+	}
+
+	public void setItemWeight(BigDecimal itemWeight) {
+		this.itemWeight = itemWeight;
+	}
+
+	public String getWarehouseName() {
+		return warehouseName;
+	}
+
+	public void setWarehouseName(String warehouseName) {
+		this.warehouseName = warehouseName;
+	}
+
+	public String getWarehouseAreaName() {
+		return warehouseAreaName;
+	}
+
+	public void setWarehouseAreaName(String warehouseAreaName) {
+		this.warehouseAreaName = warehouseAreaName;
+	}
+
+	public String getItemNum() {
+		return itemNum;
+	}
+
+	public void setItemNum(String itemNum) {
+		this.itemNum = itemNum;
+	}
+
+	public String getItemName() {
+		return itemName;
+	}
+
+	public void setItemName(String itemName) {
+		this.itemName = itemName;
+	}
+
+}

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