Tiroble 3 年 前
コミット
b816fcd534
100 ファイル変更5264 行追加0 行削除
  1. 8 0
      .gitignore
  2. 1 0
      .gits/HEAD
  3. 13 0
      .gits/config
  4. 1 0
      .gits/description
  5. 15 0
      .gits/hooks/applypatch-msg.sample
  6. 24 0
      .gits/hooks/commit-msg.sample
  7. 173 0
      .gits/hooks/fsmonitor-watchman.sample
  8. 8 0
      .gits/hooks/post-update.sample
  9. 14 0
      .gits/hooks/pre-applypatch.sample
  10. 49 0
      .gits/hooks/pre-commit.sample
  11. 13 0
      .gits/hooks/pre-merge-commit.sample
  12. 53 0
      .gits/hooks/pre-push.sample
  13. 169 0
      .gits/hooks/pre-rebase.sample
  14. 24 0
      .gits/hooks/pre-receive.sample
  15. 42 0
      .gits/hooks/prepare-commit-msg.sample
  16. 78 0
      .gits/hooks/push-to-checkout.sample
  17. 128 0
      .gits/hooks/update.sample
  18. BIN
      .gits/index
  19. 6 0
      .gits/info/exclude
  20. 1 0
      .gits/logs/HEAD
  21. 1 0
      .gits/logs/refs/heads/dev
  22. 1 0
      .gits/logs/refs/remotes/origin/HEAD
  23. BIN
      .gits/objects/14/2382400bd4bab471f167fcb91aafd3062c36d1
  24. BIN
      .gits/objects/16/49c4e30f6d329bebcacf1e9238cf993d8cdd8c
  25. BIN
      .gits/objects/2f/77f1ca07ed90298dd0c298c35076642d3df211
  26. BIN
      .gits/objects/32/01368996f38c1c7de0ff7acaa47ca1d30d11cc
  27. BIN
      .gits/objects/35/a1a71c432909f084715fff6ae59644ed4d021f
  28. BIN
      .gits/objects/38/efeec9afde4a20a06fee376283d06ddb7a796c
  29. BIN
      .gits/objects/5b/9dd80f0e765c58aa7b6512a1bfd111f69544a1
  30. 2 0
      .gits/objects/69/7e2b10ce18ab63e6bddf774c4fced6b12e21aa
  31. 7 0
      .gits/objects/6a/74fb0ed2aceb2c17afebac44cefe90db6600fe
  32. BIN
      .gits/objects/77/fd7fdd682ef90e358fd853d3a0c24494eb26c9
  33. BIN
      .gits/objects/7d/e0efabc157303cc94a694189ccaf01ed683c39
  34. BIN
      .gits/objects/7f/c6c8709b3c24d4b675b0893782035e06978ab7
  35. BIN
      .gits/objects/80/5d9dca909346e531c59e566faeb7a5db7b67d8
  36. 2 0
      .gits/objects/85/e37e21aa4d6820f7943e979b0c5040f136036b
  37. BIN
      .gits/objects/86/317bfbe9a3cc9f5be73973e7caabf59a39d91f
  38. BIN
      .gits/objects/88/cc64334069a36d1183f2e5979cf23cd398d990
  39. 2 0
      .gits/objects/9f/dbf8608ab9896abe517fd54364854120bb6a91
  40. BIN
      .gits/objects/c7/69b9f389b4480d0e784921eb7b341d69644c1d
  41. BIN
      .gits/objects/c9/78d4066a057035d5a8845bca8b867c8e8012b3
  42. BIN
      .gits/objects/d9/1c8cc386c9c0fe88283a4e2ecb61b4e5c874b4
  43. BIN
      .gits/objects/fb/63b2e645be08d3fdc78d8296ede121cdc75a13
  44. BIN
      .gits/objects/pack/pack-bb33f4bda785949b58dbd453ed9a364a3f08f08c.idx
  45. BIN
      .gits/objects/pack/pack-bb33f4bda785949b58dbd453ed9a364a3f08f08c.pack
  46. 3 0
      .gits/packed-refs
  47. 1 0
      .gits/refs/heads/dev
  48. 1 0
      .gits/refs/remotes/origin/HEAD
  49. 158 0
      pom.xml
  50. 26 0
      src/main/java/com/steerinfo/DilApplicationMain.java
  51. 22 0
      src/main/java/com/steerinfo/dil/config/CorsConfig1.java
  52. 43 0
      src/main/java/com/steerinfo/dil/config/WebSocketConfig.java
  53. 33 0
      src/main/java/com/steerinfo/dil/controller/RMSWarehouseController.java
  54. 33 0
      src/main/java/com/steerinfo/dil/controller/RmsMaterialController.java
  55. 47 0
      src/main/java/com/steerinfo/dil/controller/RmsPwarehouseGridController.java
  56. 43 0
      src/main/java/com/steerinfo/dil/controller/RmsStackingController.java
  57. 452 0
      src/main/java/com/steerinfo/dil/controller/WmsInboundResultController.java
  58. 283 0
      src/main/java/com/steerinfo/dil/controller/WmsInboundScanResultController.java
  59. 134 0
      src/main/java/com/steerinfo/dil/controller/WmsOffSiteLibaryOutboundController.java
  60. 139 0
      src/main/java/com/steerinfo/dil/controller/WmsOffSiteLibraryInboundController.java
  61. 105 0
      src/main/java/com/steerinfo/dil/controller/WmsReboundResultController.java
  62. 156 0
      src/main/java/com/steerinfo/dil/controller/WmspGridMaterialController.java
  63. 49 0
      src/main/java/com/steerinfo/dil/controller/WmspInboundCorrectController.java
  64. 107 0
      src/main/java/com/steerinfo/dil/controller/WmspInboundDistributeController.java
  65. 29 0
      src/main/java/com/steerinfo/dil/controller/WmspInboundDrivingController.java
  66. 128 0
      src/main/java/com/steerinfo/dil/controller/WmspInboundGroupController.java
  67. 67 0
      src/main/java/com/steerinfo/dil/controller/WmspIntransitInventoryController.java
  68. 158 0
      src/main/java/com/steerinfo/dil/controller/WmspInventoryCheckController.java
  69. 77 0
      src/main/java/com/steerinfo/dil/controller/WmspInventoryCloseController.java
  70. 140 0
      src/main/java/com/steerinfo/dil/controller/WmspIvboundMakeResultController.java
  71. 475 0
      src/main/java/com/steerinfo/dil/controller/WmspOutboundResultController.java
  72. 166 0
      src/main/java/com/steerinfo/dil/controller/WmspOutboundScanResultController.java
  73. 47 0
      src/main/java/com/steerinfo/dil/controller/WmspRestackDrivingResultController.java
  74. 273 0
      src/main/java/com/steerinfo/dil/controller/WmspRestackMakeResultController.java
  75. 156 0
      src/main/java/com/steerinfo/dil/controller/WmspRestackScanResultController.java
  76. 80 0
      src/main/java/com/steerinfo/dil/controller/WmspSendReceiveController.java
  77. 204 0
      src/main/java/com/steerinfo/dil/controller/WmssInvertedWarehouseController.java
  78. 19 0
      src/main/java/com/steerinfo/dil/feign/ColumnDataFeign.java
  79. 30 0
      src/main/java/com/steerinfo/dil/feign/ESFeign.java
  80. 15 0
      src/main/java/com/steerinfo/dil/feign/IMFeign.java
  81. 22 0
      src/main/java/com/steerinfo/dil/feign/TmstruckFeign.java
  82. 26 0
      src/main/java/com/steerinfo/dil/interceptors/MyLocaleChangeInterceptor.java
  83. 15 0
      src/main/java/com/steerinfo/dil/mapper/AmstruckInwardRequirementMapper.java
  84. 12 0
      src/main/java/com/steerinfo/dil/mapper/CommonMapper.java
  85. 11 0
      src/main/java/com/steerinfo/dil/mapper/CommonSeq.java
  86. 21 0
      src/main/java/com/steerinfo/dil/mapper/RmsMaterialMapper.java
  87. 19 0
      src/main/java/com/steerinfo/dil/mapper/RmsMaterialSteelMapper.java
  88. 20 0
      src/main/java/com/steerinfo/dil/mapper/RmsPwarehouseGridMapper.java
  89. 28 0
      src/main/java/com/steerinfo/dil/mapper/RmsStackingMapper.java
  90. 16 0
      src/main/java/com/steerinfo/dil/mapper/RmsWarehouseMapper.java
  91. 23 0
      src/main/java/com/steerinfo/dil/mapper/WmsOffSiteLibaryOutboundMapper.java
  92. 34 0
      src/main/java/com/steerinfo/dil/mapper/WmsOffSiteLibraryInboundMapper.java
  93. 41 0
      src/main/java/com/steerinfo/dil/mapper/WmspGridMaterialMapper.java
  94. 12 0
      src/main/java/com/steerinfo/dil/mapper/WmspInboundCorrectResultMapper.java
  95. 9 0
      src/main/java/com/steerinfo/dil/mapper/WmspInboundDistributeMapper.java
  96. 14 0
      src/main/java/com/steerinfo/dil/mapper/WmspInboundDrivingResultMapper.java
  97. 18 0
      src/main/java/com/steerinfo/dil/mapper/WmspInboundGroupMapper.java
  98. 47 0
      src/main/java/com/steerinfo/dil/mapper/WmspInboundResultMapper.java
  99. 124 0
      src/main/java/com/steerinfo/dil/mapper/WmspInboundScanResultMapper.java
  100. 18 0
      src/main/java/com/steerinfo/dil/mapper/WmspInboundStackResultMapper.java

+ 8 - 0
.gitignore

@@ -0,0 +1,8 @@
+target/
+*.iml
+.idea/
+rebel.xml
+.rebel.xml.bak
+out/artifacts/
+dil-api.iml
+src/test

+ 1 - 0
.gits/HEAD

@@ -0,0 +1 @@
+ref: refs/heads/dev

+ 13 - 0
.gits/config

@@ -0,0 +1,13 @@
+[core]
+	repositoryformatversion = 0
+	filemode = false
+	bare = false
+	logallrefupdates = true
+	symlinks = false
+	ignorecase = true
+[remote "origin"]
+	url = https://git.steerinfo.com/DAL-DAZHOU2/DAL-DAZHOU-WMS-API.git
+	fetch = +refs/heads/*:refs/remotes/origin/*
+[branch "dev"]
+	remote = origin
+	merge = refs/heads/dev

+ 1 - 0
.gits/description

@@ -0,0 +1 @@
+Unnamed repository; edit this file 'description' to name the repository.

+ 15 - 0
.gits/hooks/applypatch-msg.sample

@@ -0,0 +1,15 @@
+#!/bin/sh
+#
+# An example hook script to check the commit log message taken by
+# applypatch from an e-mail message.
+#
+# The hook should exit with non-zero status after issuing an
+# appropriate message if it wants to stop the commit.  The hook is
+# allowed to edit the commit message file.
+#
+# To enable this hook, rename this file to "applypatch-msg".
+
+. git-sh-setup
+commitmsg="$(git rev-parse --git-path hooks/commit-msg)"
+test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"}
+:

+ 24 - 0
.gits/hooks/commit-msg.sample

@@ -0,0 +1,24 @@
+#!/bin/sh
+#
+# An example hook script to check the commit log message.
+# Called by "git commit" with one argument, the name of the file
+# that has the commit message.  The hook should exit with non-zero
+# status after issuing an appropriate message if it wants to stop the
+# commit.  The hook is allowed to edit the commit message file.
+#
+# To enable this hook, rename this file to "commit-msg".
+
+# Uncomment the below to add a Signed-off-by line to the message.
+# Doing this in a hook is a bad idea in general, but the prepare-commit-msg
+# hook is more suited to it.
+#
+# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
+# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
+
+# This example catches duplicate Signed-off-by lines.
+
+test "" = "$(grep '^Signed-off-by: ' "$1" |
+	 sort | uniq -c | sed -e '/^[ 	]*1[ 	]/d')" || {
+	echo >&2 Duplicate Signed-off-by lines.
+	exit 1
+}

+ 173 - 0
.gits/hooks/fsmonitor-watchman.sample

@@ -0,0 +1,173 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+use IPC::Open2;
+
+# An example hook script to integrate Watchman
+# (https://facebook.github.io/watchman/) with git to speed up detecting
+# new and modified files.
+#
+# The hook is passed a version (currently 2) and last update token
+# formatted as a string and outputs to stdout a new update token and
+# all files that have been modified since the update token. Paths must
+# be relative to the root of the working tree and separated by a single NUL.
+#
+# To enable this hook, rename this file to "query-watchman" and set
+# 'git config core.fsmonitor .git/hooks/query-watchman'
+#
+my ($version, $last_update_token) = @ARGV;
+
+# Uncomment for debugging
+# print STDERR "$0 $version $last_update_token\n";
+
+# Check the hook interface version
+if ($version ne 2) {
+	die "Unsupported query-fsmonitor hook version '$version'.\n" .
+	    "Falling back to scanning...\n";
+}
+
+my $git_work_tree = get_working_dir();
+
+my $retry = 1;
+
+my $json_pkg;
+eval {
+	require JSON::XS;
+	$json_pkg = "JSON::XS";
+	1;
+} or do {
+	require JSON::PP;
+	$json_pkg = "JSON::PP";
+};
+
+launch_watchman();
+
+sub launch_watchman {
+	my $o = watchman_query();
+	if (is_work_tree_watched($o)) {
+		output_result($o->{clock}, @{$o->{files}});
+	}
+}
+
+sub output_result {
+	my ($clockid, @files) = @_;
+
+	# Uncomment for debugging watchman output
+	# open (my $fh, ">", ".git/watchman-output.out");
+	# binmode $fh, ":utf8";
+	# print $fh "$clockid\n@files\n";
+	# close $fh;
+
+	binmode STDOUT, ":utf8";
+	print $clockid;
+	print "\0";
+	local $, = "\0";
+	print @files;
+}
+
+sub watchman_clock {
+	my $response = qx/watchman clock "$git_work_tree"/;
+	die "Failed to get clock id on '$git_work_tree'.\n" .
+		"Falling back to scanning...\n" if $? != 0;
+
+	return $json_pkg->new->utf8->decode($response);
+}
+
+sub watchman_query {
+	my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty')
+	or die "open2() failed: $!\n" .
+	"Falling back to scanning...\n";
+
+	# In the query expression below we're asking for names of files that
+	# changed since $last_update_token but not from the .git folder.
+	#
+	# To accomplish this, we're using the "since" generator to use the
+	# recency index to select candidate nodes and "fields" to limit the
+	# output to file names only. Then we're using the "expression" term to
+	# further constrain the results.
+	if (substr($last_update_token, 0, 1) eq "c") {
+		$last_update_token = "\"$last_update_token\"";
+	}
+	my $query = <<"	END";
+		["query", "$git_work_tree", {
+			"since": $last_update_token,
+			"fields": ["name"],
+			"expression": ["not", ["dirname", ".git"]]
+		}]
+	END
+
+	# Uncomment for debugging the watchman query
+	# open (my $fh, ">", ".git/watchman-query.json");
+	# print $fh $query;
+	# close $fh;
+
+	print CHLD_IN $query;
+	close CHLD_IN;
+	my $response = do {local $/; <CHLD_OUT>};
+
+	# Uncomment for debugging the watch response
+	# open ($fh, ">", ".git/watchman-response.json");
+	# print $fh $response;
+	# close $fh;
+
+	die "Watchman: command returned no output.\n" .
+	"Falling back to scanning...\n" if $response eq "";
+	die "Watchman: command returned invalid output: $response\n" .
+	"Falling back to scanning...\n" unless $response =~ /^\{/;
+
+	return $json_pkg->new->utf8->decode($response);
+}
+
+sub is_work_tree_watched {
+	my ($output) = @_;
+	my $error = $output->{error};
+	if ($retry > 0 and $error and $error =~ m/unable to resolve root .* directory (.*) is not watched/) {
+		$retry--;
+		my $response = qx/watchman watch "$git_work_tree"/;
+		die "Failed to make watchman watch '$git_work_tree'.\n" .
+		    "Falling back to scanning...\n" if $? != 0;
+		$output = $json_pkg->new->utf8->decode($response);
+		$error = $output->{error};
+		die "Watchman: $error.\n" .
+		"Falling back to scanning...\n" if $error;
+
+		# Uncomment for debugging watchman output
+		# open (my $fh, ">", ".git/watchman-output.out");
+		# close $fh;
+
+		# Watchman will always return all files on the first query so
+		# return the fast "everything is dirty" flag to git and do the
+		# Watchman query just to get it over with now so we won't pay
+		# the cost in git to look up each individual file.
+		my $o = watchman_clock();
+		$error = $output->{error};
+
+		die "Watchman: $error.\n" .
+		"Falling back to scanning...\n" if $error;
+
+		output_result($o->{clock}, ("/"));
+		$last_update_token = $o->{clock};
+
+		eval { launch_watchman() };
+		return 0;
+	}
+
+	die "Watchman: $error.\n" .
+	"Falling back to scanning...\n" if $error;
+
+	return 1;
+}
+
+sub get_working_dir {
+	my $working_dir;
+	if ($^O =~ 'msys' || $^O =~ 'cygwin') {
+		$working_dir = Win32::GetCwd();
+		$working_dir =~ tr/\\/\//;
+	} else {
+		require Cwd;
+		$working_dir = Cwd::cwd();
+	}
+
+	return $working_dir;
+}

+ 8 - 0
.gits/hooks/post-update.sample

@@ -0,0 +1,8 @@
+#!/bin/sh
+#
+# An example hook script to prepare a packed repository for use over
+# dumb transports.
+#
+# To enable this hook, rename this file to "post-update".
+
+exec git update-server-info

+ 14 - 0
.gits/hooks/pre-applypatch.sample

@@ -0,0 +1,14 @@
+#!/bin/sh
+#
+# An example hook script to verify what is about to be committed
+# by applypatch from an e-mail message.
+#
+# The hook should exit with non-zero status after issuing an
+# appropriate message if it wants to stop the commit.
+#
+# To enable this hook, rename this file to "pre-applypatch".
+
+. git-sh-setup
+precommit="$(git rev-parse --git-path hooks/pre-commit)"
+test -x "$precommit" && exec "$precommit" ${1+"$@"}
+:

+ 49 - 0
.gits/hooks/pre-commit.sample

@@ -0,0 +1,49 @@
+#!/bin/sh
+#
+# An example hook script to verify what is about to be committed.
+# Called by "git commit" with no arguments.  The hook should
+# exit with non-zero status after issuing an appropriate message if
+# it wants to stop the commit.
+#
+# To enable this hook, rename this file to "pre-commit".
+
+if git rev-parse --verify HEAD >/dev/null 2>&1
+then
+	against=HEAD
+else
+	# Initial commit: diff against an empty tree object
+	against=$(git hash-object -t tree /dev/null)
+fi
+
+# If you want to allow non-ASCII filenames set this variable to true.
+allownonascii=$(git config --type=bool hooks.allownonascii)
+
+# Redirect output to stderr.
+exec 1>&2
+
+# Cross platform projects tend to avoid non-ASCII filenames; prevent
+# them from being added to the repository. We exploit the fact that the
+# printable range starts at the space character and ends with tilde.
+if [ "$allownonascii" != "true" ] &&
+	# Note that the use of brackets around a tr range is ok here, (it's
+	# even required, for portability to Solaris 10's /usr/bin/tr), since
+	# the square bracket bytes happen to fall in the designated range.
+	test $(git diff --cached --name-only --diff-filter=A -z $against |
+	  LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0
+then
+	cat <<\EOF
+Error: Attempt to add a non-ASCII file name.
+
+This can cause problems if you want to work with people on other platforms.
+
+To be portable it is advisable to rename the file.
+
+If you know what you are doing you can disable this check using:
+
+  git config hooks.allownonascii true
+EOF
+	exit 1
+fi
+
+# If there are whitespace errors, print the offending file names and fail.
+exec git diff-index --check --cached $against --

+ 13 - 0
.gits/hooks/pre-merge-commit.sample

@@ -0,0 +1,13 @@
+#!/bin/sh
+#
+# An example hook script to verify what is about to be committed.
+# Called by "git merge" with no arguments.  The hook should
+# exit with non-zero status after issuing an appropriate message to
+# stderr if it wants to stop the merge commit.
+#
+# To enable this hook, rename this file to "pre-merge-commit".
+
+. git-sh-setup
+test -x "$GIT_DIR/hooks/pre-commit" &&
+        exec "$GIT_DIR/hooks/pre-commit"
+:

+ 53 - 0
.gits/hooks/pre-push.sample

@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# An example hook script to verify what is about to be pushed.  Called by "git
+# push" after it has checked the remote status, but before anything has been
+# pushed.  If this script exits with a non-zero status nothing will be pushed.
+#
+# This hook is called with the following parameters:
+#
+# $1 -- Name of the remote to which the push is being done
+# $2 -- URL to which the push is being done
+#
+# If pushing without using a named remote those arguments will be equal.
+#
+# Information about the commits which are being pushed is supplied as lines to
+# the standard input in the form:
+#
+#   <local ref> <local oid> <remote ref> <remote oid>
+#
+# This sample shows how to prevent push of commits where the log message starts
+# with "WIP" (work in progress).
+
+remote="$1"
+url="$2"
+
+zero=$(git hash-object --stdin </dev/null | tr '[0-9a-f]' '0')
+
+while read local_ref local_oid remote_ref remote_oid
+do
+	if test "$local_oid" = "$zero"
+	then
+		# Handle delete
+		:
+	else
+		if test "$remote_oid" = "$zero"
+		then
+			# New branch, examine all commits
+			range="$local_oid"
+		else
+			# Update to existing branch, examine new commits
+			range="$remote_oid..$local_oid"
+		fi
+
+		# Check for WIP commit
+		commit=$(git rev-list -n 1 --grep '^WIP' "$range")
+		if test -n "$commit"
+		then
+			echo >&2 "Found WIP commit in $local_ref, not pushing"
+			exit 1
+		fi
+	fi
+done
+
+exit 0

+ 169 - 0
.gits/hooks/pre-rebase.sample

@@ -0,0 +1,169 @@
+#!/bin/sh
+#
+# Copyright (c) 2006, 2008 Junio C Hamano
+#
+# The "pre-rebase" hook is run just before "git rebase" starts doing
+# its job, and can prevent the command from running by exiting with
+# non-zero status.
+#
+# The hook is called with the following parameters:
+#
+# $1 -- the upstream the series was forked from.
+# $2 -- the branch being rebased (or empty when rebasing the current branch).
+#
+# This sample shows how to prevent topic branches that are already
+# merged to 'next' branch from getting rebased, because allowing it
+# would result in rebasing already published history.
+
+publish=next
+basebranch="$1"
+if test "$#" = 2
+then
+	topic="refs/heads/$2"
+else
+	topic=`git symbolic-ref HEAD` ||
+	exit 0 ;# we do not interrupt rebasing detached HEAD
+fi
+
+case "$topic" in
+refs/heads/??/*)
+	;;
+*)
+	exit 0 ;# we do not interrupt others.
+	;;
+esac
+
+# Now we are dealing with a topic branch being rebased
+# on top of master.  Is it OK to rebase it?
+
+# Does the topic really exist?
+git show-ref -q "$topic" || {
+	echo >&2 "No such branch $topic"
+	exit 1
+}
+
+# Is topic fully merged to master?
+not_in_master=`git rev-list --pretty=oneline ^master "$topic"`
+if test -z "$not_in_master"
+then
+	echo >&2 "$topic is fully merged to master; better remove it."
+	exit 1 ;# we could allow it, but there is no point.
+fi
+
+# Is topic ever merged to next?  If so you should not be rebasing it.
+only_next_1=`git rev-list ^master "^$topic" ${publish} | sort`
+only_next_2=`git rev-list ^master           ${publish} | sort`
+if test "$only_next_1" = "$only_next_2"
+then
+	not_in_topic=`git rev-list "^$topic" master`
+	if test -z "$not_in_topic"
+	then
+		echo >&2 "$topic is already up to date with master"
+		exit 1 ;# we could allow it, but there is no point.
+	else
+		exit 0
+	fi
+else
+	not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"`
+	/usr/bin/perl -e '
+		my $topic = $ARGV[0];
+		my $msg = "* $topic has commits already merged to public branch:\n";
+		my (%not_in_next) = map {
+			/^([0-9a-f]+) /;
+			($1 => 1);
+		} split(/\n/, $ARGV[1]);
+		for my $elem (map {
+				/^([0-9a-f]+) (.*)$/;
+				[$1 => $2];
+			} split(/\n/, $ARGV[2])) {
+			if (!exists $not_in_next{$elem->[0]}) {
+				if ($msg) {
+					print STDERR $msg;
+					undef $msg;
+				}
+				print STDERR " $elem->[1]\n";
+			}
+		}
+	' "$topic" "$not_in_next" "$not_in_master"
+	exit 1
+fi
+
+<<\DOC_END
+
+This sample hook safeguards topic branches that have been
+published from being rewound.
+
+The workflow assumed here is:
+
+ * Once a topic branch forks from "master", "master" is never
+   merged into it again (either directly or indirectly).
+
+ * Once a topic branch is fully cooked and merged into "master",
+   it is deleted.  If you need to build on top of it to correct
+   earlier mistakes, a new topic branch is created by forking at
+   the tip of the "master".  This is not strictly necessary, but
+   it makes it easier to keep your history simple.
+
+ * Whenever you need to test or publish your changes to topic
+   branches, merge them into "next" branch.
+
+The script, being an example, hardcodes the publish branch name
+to be "next", but it is trivial to make it configurable via
+$GIT_DIR/config mechanism.
+
+With this workflow, you would want to know:
+
+(1) ... if a topic branch has ever been merged to "next".  Young
+    topic branches can have stupid mistakes you would rather
+    clean up before publishing, and things that have not been
+    merged into other branches can be easily rebased without
+    affecting other people.  But once it is published, you would
+    not want to rewind it.
+
+(2) ... if a topic branch has been fully merged to "master".
+    Then you can delete it.  More importantly, you should not
+    build on top of it -- other people may already want to
+    change things related to the topic as patches against your
+    "master", so if you need further changes, it is better to
+    fork the topic (perhaps with the same name) afresh from the
+    tip of "master".
+
+Let's look at this example:
+
+		   o---o---o---o---o---o---o---o---o---o "next"
+		  /       /           /           /
+		 /   a---a---b A     /           /
+		/   /               /           /
+	       /   /   c---c---c---c B         /
+	      /   /   /             \         /
+	     /   /   /   b---b C     \       /
+	    /   /   /   /             \     /
+    ---o---o---o---o---o---o---o---o---o---o---o "master"
+
+
+A, B and C are topic branches.
+
+ * A has one fix since it was merged up to "next".
+
+ * B has finished.  It has been fully merged up to "master" and "next",
+   and is ready to be deleted.
+
+ * C has not merged to "next" at all.
+
+We would want to allow C to be rebased, refuse A, and encourage
+B to be deleted.
+
+To compute (1):
+
+	git rev-list ^master ^topic next
+	git rev-list ^master        next
+
+	if these match, topic has not merged in next at all.
+
+To compute (2):
+
+	git rev-list master..topic
+
+	if this is empty, it is fully merged to "master".
+
+DOC_END

+ 24 - 0
.gits/hooks/pre-receive.sample

@@ -0,0 +1,24 @@
+#!/bin/sh
+#
+# An example hook script to make use of push options.
+# The example simply echoes all push options that start with 'echoback='
+# and rejects all pushes when the "reject" push option is used.
+#
+# To enable this hook, rename this file to "pre-receive".
+
+if test -n "$GIT_PUSH_OPTION_COUNT"
+then
+	i=0
+	while test "$i" -lt "$GIT_PUSH_OPTION_COUNT"
+	do
+		eval "value=\$GIT_PUSH_OPTION_$i"
+		case "$value" in
+		echoback=*)
+			echo "echo from the pre-receive-hook: ${value#*=}" >&2
+			;;
+		reject)
+			exit 1
+		esac
+		i=$((i + 1))
+	done
+fi

+ 42 - 0
.gits/hooks/prepare-commit-msg.sample

@@ -0,0 +1,42 @@
+#!/bin/sh
+#
+# An example hook script to prepare the commit log message.
+# Called by "git commit" with the name of the file that has the
+# commit message, followed by the description of the commit
+# message's source.  The hook's purpose is to edit the commit
+# message file.  If the hook fails with a non-zero status,
+# the commit is aborted.
+#
+# To enable this hook, rename this file to "prepare-commit-msg".
+
+# This hook includes three examples. The first one removes the
+# "# Please enter the commit message..." help message.
+#
+# The second includes the output of "git diff --name-status -r"
+# into the message, just before the "git status" output.  It is
+# commented because it doesn't cope with --amend or with squashed
+# commits.
+#
+# The third example adds a Signed-off-by line to the message, that can
+# still be edited.  This is rarely a good idea.
+
+COMMIT_MSG_FILE=$1
+COMMIT_SOURCE=$2
+SHA1=$3
+
+/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE"
+
+# case "$COMMIT_SOURCE,$SHA1" in
+#  ,|template,)
+#    /usr/bin/perl -i.bak -pe '
+#       print "\n" . `git diff --cached --name-status -r`
+# 	 if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;;
+#  *) ;;
+# esac
+
+# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
+# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE"
+# if test -z "$COMMIT_SOURCE"
+# then
+#   /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE"
+# fi

+ 78 - 0
.gits/hooks/push-to-checkout.sample

@@ -0,0 +1,78 @@
+#!/bin/sh
+
+# An example hook script to update a checked-out tree on a git push.
+#
+# This hook is invoked by git-receive-pack(1) when it reacts to git
+# push and updates reference(s) in its repository, and when the push
+# tries to update the branch that is currently checked out and the
+# receive.denyCurrentBranch configuration variable is set to
+# updateInstead.
+#
+# By default, such a push is refused if the working tree and the index
+# of the remote repository has any difference from the currently
+# checked out commit; when both the working tree and the index match
+# the current commit, they are updated to match the newly pushed tip
+# of the branch. This hook is to be used to override the default
+# behaviour; however the code below reimplements the default behaviour
+# as a starting point for convenient modification.
+#
+# The hook receives the commit with which the tip of the current
+# branch is going to be updated:
+commit=$1
+
+# It can exit with a non-zero status to refuse the push (when it does
+# so, it must not modify the index or the working tree).
+die () {
+	echo >&2 "$*"
+	exit 1
+}
+
+# Or it can make any necessary changes to the working tree and to the
+# index to bring them to the desired state when the tip of the current
+# branch is updated to the new commit, and exit with a zero status.
+#
+# For example, the hook can simply run git read-tree -u -m HEAD "$1"
+# in order to emulate git fetch that is run in the reverse direction
+# with git push, as the two-tree form of git read-tree -u -m is
+# essentially the same as git switch or git checkout that switches
+# branches while keeping the local changes in the working tree that do
+# not interfere with the difference between the branches.
+
+# The below is a more-or-less exact translation to shell of the C code
+# for the default behaviour for git's push-to-checkout hook defined in
+# the push_to_deploy() function in builtin/receive-pack.c.
+#
+# Note that the hook will be executed from the repository directory,
+# not from the working tree, so if you want to perform operations on
+# the working tree, you will have to adapt your code accordingly, e.g.
+# by adding "cd .." or using relative paths.
+
+if ! git update-index -q --ignore-submodules --refresh
+then
+	die "Up-to-date check failed"
+fi
+
+if ! git diff-files --quiet --ignore-submodules --
+then
+	die "Working directory has unstaged changes"
+fi
+
+# This is a rough translation of:
+#
+#   head_has_history() ? "HEAD" : EMPTY_TREE_SHA1_HEX
+if git cat-file -e HEAD 2>/dev/null
+then
+	head=HEAD
+else
+	head=$(git hash-object -t tree --stdin </dev/null)
+fi
+
+if ! git diff-index --quiet --cached --ignore-submodules $head --
+then
+	die "Working directory has staged changes"
+fi
+
+if ! git read-tree -u -m "$commit"
+then
+	die "Could not update working tree to new HEAD"
+fi

+ 128 - 0
.gits/hooks/update.sample

@@ -0,0 +1,128 @@
+#!/bin/sh
+#
+# An example hook script to block unannotated tags from entering.
+# Called by "git receive-pack" with arguments: refname sha1-old sha1-new
+#
+# To enable this hook, rename this file to "update".
+#
+# Config
+# ------
+# hooks.allowunannotated
+#   This boolean sets whether unannotated tags will be allowed into the
+#   repository.  By default they won't be.
+# hooks.allowdeletetag
+#   This boolean sets whether deleting tags will be allowed in the
+#   repository.  By default they won't be.
+# hooks.allowmodifytag
+#   This boolean sets whether a tag may be modified after creation. By default
+#   it won't be.
+# hooks.allowdeletebranch
+#   This boolean sets whether deleting branches will be allowed in the
+#   repository.  By default they won't be.
+# hooks.denycreatebranch
+#   This boolean sets whether remotely creating branches will be denied
+#   in the repository.  By default this is allowed.
+#
+
+# --- Command line
+refname="$1"
+oldrev="$2"
+newrev="$3"
+
+# --- Safety check
+if [ -z "$GIT_DIR" ]; then
+	echo "Don't run this script from the command line." >&2
+	echo " (if you want, you could supply GIT_DIR then run" >&2
+	echo "  $0 <ref> <oldrev> <newrev>)" >&2
+	exit 1
+fi
+
+if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then
+	echo "usage: $0 <ref> <oldrev> <newrev>" >&2
+	exit 1
+fi
+
+# --- Config
+allowunannotated=$(git config --type=bool hooks.allowunannotated)
+allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch)
+denycreatebranch=$(git config --type=bool hooks.denycreatebranch)
+allowdeletetag=$(git config --type=bool hooks.allowdeletetag)
+allowmodifytag=$(git config --type=bool hooks.allowmodifytag)
+
+# check for no description
+projectdesc=$(sed -e '1q' "$GIT_DIR/description")
+case "$projectdesc" in
+"Unnamed repository"* | "")
+	echo "*** Project description file hasn't been set" >&2
+	exit 1
+	;;
+esac
+
+# --- Check types
+# if $newrev is 0000...0000, it's a commit to delete a ref.
+zero=$(git hash-object --stdin </dev/null | tr '[0-9a-f]' '0')
+if [ "$newrev" = "$zero" ]; then
+	newrev_type=delete
+else
+	newrev_type=$(git cat-file -t $newrev)
+fi
+
+case "$refname","$newrev_type" in
+	refs/tags/*,commit)
+		# un-annotated tag
+		short_refname=${refname##refs/tags/}
+		if [ "$allowunannotated" != "true" ]; then
+			echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2
+			echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2
+			exit 1
+		fi
+		;;
+	refs/tags/*,delete)
+		# delete tag
+		if [ "$allowdeletetag" != "true" ]; then
+			echo "*** Deleting a tag is not allowed in this repository" >&2
+			exit 1
+		fi
+		;;
+	refs/tags/*,tag)
+		# annotated tag
+		if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1
+		then
+			echo "*** Tag '$refname' already exists." >&2
+			echo "*** Modifying a tag is not allowed in this repository." >&2
+			exit 1
+		fi
+		;;
+	refs/heads/*,commit)
+		# branch
+		if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then
+			echo "*** Creating a branch is not allowed in this repository" >&2
+			exit 1
+		fi
+		;;
+	refs/heads/*,delete)
+		# delete branch
+		if [ "$allowdeletebranch" != "true" ]; then
+			echo "*** Deleting a branch is not allowed in this repository" >&2
+			exit 1
+		fi
+		;;
+	refs/remotes/*,commit)
+		# tracking branch
+		;;
+	refs/remotes/*,delete)
+		# delete tracking branch
+		if [ "$allowdeletebranch" != "true" ]; then
+			echo "*** Deleting a tracking branch is not allowed in this repository" >&2
+			exit 1
+		fi
+		;;
+	*)
+		# Anything else (is there anything else?)
+		echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2
+		exit 1
+		;;
+esac
+
+# --- Finished
+exit 0

BIN
.gits/index


+ 6 - 0
.gits/info/exclude

@@ -0,0 +1,6 @@
+# git ls-files --others --exclude-from=.git/info/exclude
+# Lines that start with '#' are comments.
+# For a project mostly in C, the following would be a good set of
+# exclude patterns (uncomment them if you want to use them):
+# *.[oa]
+# *~

+ 1 - 0
.gits/logs/HEAD

@@ -0,0 +1 @@
+0000000000000000000000000000000000000000 cedc08ec4e15dd54e07f045216c39fa51719e5e0 Tiroble <2439003195@qq.com> 1641438526 +0800	clone: from https://git.steerinfo.com/DAL-DAZHOU2/DAL-DAZHOU-WMS-API.git

+ 1 - 0
.gits/logs/refs/heads/dev

@@ -0,0 +1 @@
+0000000000000000000000000000000000000000 cedc08ec4e15dd54e07f045216c39fa51719e5e0 Tiroble <2439003195@qq.com> 1641438526 +0800	clone: from https://git.steerinfo.com/DAL-DAZHOU2/DAL-DAZHOU-WMS-API.git

+ 1 - 0
.gits/logs/refs/remotes/origin/HEAD

@@ -0,0 +1 @@
+0000000000000000000000000000000000000000 cb13641fbe430ef1eb317cde3d23347c651e7ba4 Tiroble <2439003195@qq.com> 1641438526 +0800	clone: from https://git.steerinfo.com/DAL-DAZHOU2/DAL-DAZHOU-WMS-API.git

BIN
.gits/objects/14/2382400bd4bab471f167fcb91aafd3062c36d1


BIN
.gits/objects/16/49c4e30f6d329bebcacf1e9238cf993d8cdd8c


BIN
.gits/objects/2f/77f1ca07ed90298dd0c298c35076642d3df211


BIN
.gits/objects/32/01368996f38c1c7de0ff7acaa47ca1d30d11cc


BIN
.gits/objects/35/a1a71c432909f084715fff6ae59644ed4d021f


BIN
.gits/objects/38/efeec9afde4a20a06fee376283d06ddb7a796c


BIN
.gits/objects/5b/9dd80f0e765c58aa7b6512a1bfd111f69544a1


+ 2 - 0
.gits/objects/69/7e2b10ce18ab63e6bddf774c4fced6b12e21aa

@@ -0,0 +1,2 @@
+xЌђ1В0…ќу+2‹€Ј"в"њњ/НµЌmr!IUя»‘Vqp{pпѕчоTЗJ.у‰ЗІЕљdЙb"
+ЖUЪtp±С§ёwєЬ{°и=…ҐЖzйЇЦФБ1“ЉЃґ{’–ї	U@Kн�Е#нЗФ1ф„gМуФАфЌбPжCЈ0™и§¬ШExДfPВчЄ3Ґ4.QЁ°$щЭoрIє&r:КЏ«oлLљь‹µј‰ыx·~’

+ 7 - 0
.gits/objects/6a/74fb0ed2aceb2c17afebac44cefe90db6600fe

@@ -0,0 +1,7 @@
+x…TÁnÓ@åì¯õÔFd›¤H 
+¨)=�$Îk{ê.µ½Öî:!B•BQ+QÔ	‰
+�‚„¸ ¶p•ª?»áÄ/°vÒ´TN²{V3oÞó¼±érŠssׯÔZ£‚Å="¢`þ
+'6sIÝ“óMú¶Í¤Ì‰¢Æ,$ÌÜyÃÐ.Ô¥êA=¬s±F<(He‘J¼Ÿ¾ÏO*¹Ø€$uÕ~ÇJÚ0³ßh¶·Ñ%O´’J_ÉÒPÉ"c°úZ2ÁÆj
y¦µ’	:>$Ê…Cd äœ`©/É
+µ
B}Ÿ+ª÷I9T¼ÎÚcËõÄrÕ�\îö”Ö(	•6ÂU8DI¯=ªVÉ"s–ÐbM|0›Ë�ƒLq{'ÚîDûOwÿþþ�ä-ÐP­rú(¨æž^ÖPHÍФ�¯>(?¬Þ[~ôJ…R)_(æ‹(”n^»‘¤ž~?Š[­ÞÉatOö{ûŸ£Ý­¨õc€ï}‰ÛŸtp^œf·{ÍM}ý_ߨµÑk¾<«Lau0QJJY"‚ºnÜåAC0gUAüë]´³×ûº¿~Û=éÄ/âífÜ>èmtºGÇqûÕŸ÷o¢ÍoQë'�²ëBZ%A`â´‰†›5#™®Q7D¸
Sõ,#²¦fŒ 4]f�åR)³G1ÈMv	ð™Bß–piÇne
+¿
+U=/uôºè¡¯$Œu-<7ÐgahÄ4Ôö­i;e³ëodª<Û°>è²¶Š`60¹BK¡
þ3d8¨úˆÓ3šiB49U(üñ’¼ucÝøÕ“æ

BIN
.gits/objects/77/fd7fdd682ef90e358fd853d3a0c24494eb26c9


BIN
.gits/objects/7d/e0efabc157303cc94a694189ccaf01ed683c39


BIN
.gits/objects/7f/c6c8709b3c24d4b675b0893782035e06978ab7


BIN
.gits/objects/80/5d9dca909346e531c59e566faeb7a5db7b67d8


+ 2 - 0
.gits/objects/85/e37e21aa4d6820f7943e979b0c5040f136036b

@@ -0,0 +1,2 @@
+x…’_kAÅ}ÞOqŸC3Ý„"ÅŠØšó¢b„>ÏîÞ$cgw–™ÙT!VZhK»‚`Q$JñEZíS¥-ù2Ùq}ò+t²&þ#â㹜sîo†ëqáÁÕÅÚ•˜úk´ƒà‹�(�(YÔ$`œ¬‡*f‘'’(˜Ò’y‰F¢Pö˜�KŽÃÂXHýW°-iˆëB®M�¤¹B¶¦©™¡oE€œ¬Z’æ’ÆO’¥)ÀCÚ£$Ñ–¸Aµ›¬(Ç!Õ]²Â:
ôYH¹¥ž¯T¨ÀÌJ“íå;³˜§ï¿Ÿ¿ûnÒDw…„F(©²öP*&"¨·Úº³|¯uûîýPwëõª[«Ö\pë×ÇÖ¯ŸÏLšÃOc1Gïòý­<=™ô›ƒC“½µâW¸t^dEÓŽÿØ›§Eÿù4YÖZñß§”È
+¢„óRÜñcÉ:]
æË«|ï ø°ev_ކóìØìôMv\lFg&ÛþöúE¾ù1OO	,seJ�Äñ`@lݼ'g>°H£lS¡9“ir€�4F�‚ß/ãúÌÄ´ìçëOçé%<¡4

BIN
.gits/objects/86/317bfbe9a3cc9f5be73973e7caabf59a39d91f


BIN
.gits/objects/88/cc64334069a36d1183f2e5979cf23cd398d990


+ 2 - 0
.gits/objects/9f/dbf8608ab9896abe517fd54364854120bb6a91

@@ -0,0 +1,2 @@
+xµ—[oÜDÇyΧí“7Z¹)¡Rº¯ˆEnÚKx@(ò®'›!^{ëK"TU$DÊE€è¨¨­Š„"$P/‰"¾L¼I¿Çž±=¶g6ÛTäawãñùÏïœ93»o9}ôƵ…7_ƒcˆÑÀ©ž�±Kì-G5‰¥î�¼1±ûN`›&ñ|—ô«#ÇÄÖõ¹92;®_Ûr�ÞsÜz›ª7
¯¯]Oî&ŽêíÃ!vUößð‰c{jcLV¨,S½à¾u×c×ÿ4ÕýÄØ5ÔÀhÍð1ÐÝH$•]Ã
+p½rúì›ðûÏ~›ìÿ0¹ó|òçƒJunô-2@Ëð<ô!¤«Ótµ4]@aÛ÷Kæ�Î6$þ.º5‡àïÊü|ü�æÑé³ã‡Š¦wºm½Ùë¶6u­¦µõ•Ærm¡Ên»§|I*g$R©¹øf@\lÖ}7À4vì’]ÈÅó£lIt.°„_>�÷ÏŽÿPôÕæZoU»¯ÃAm–'¤bý"DzôÅäþ¯g_?™|ö¹ÒnuzËÝÍN·Ñíu^ºH!'5•‹½Àò;Ðn�'¨ÕÉÝðÎwg�'ûOik(ÍFwqéå±JB³Àõ
°]¦:ðíùÉ£ðéC]S´¶¾¡¯¾™ädf�1¡Çˆ=­ßùá_áÉOáþ/áñÑéÑtU§Õînöàsµ±Òªm4Ú‹K�víõY[½ xœ?öÛƒ�߃NAÕ8Èɽ'/îý“pvu`Œ> çVÖko͸yH*8�3:e—È	Oÿ=œ<�ÊØ[×pT¼jSÁéxZÆ`lçEe¤š¬ŒŒó•ÊÈNçŒËH)§•‘vãdÿgªþþÕäïÇÉŠ3âvk¥Ñþ mÏ«—éÏÂÓáY‘Y¯Æ¥nã‘áî°~Mr/ò¿Ú"¶a!Ë�ö†¾&†µ�]|±§k¨Ž®.³¨k»Øu‰‰ã³žYõ‚!öuS©2KЬÀÅ~àÚÈß&xybÞѶŽFoS¿*î:ÄŽH°l4ü%m€•NUÄÍV~‘PB™ÓùyÙƒ�–3=®º,å„4S ˜iP©¦é4ý�[¸b5Ûœ¿‰Ú ïrÆœÅäCK¤ü ÀòÿNåmF–'e^('¤‘-¾¹Ä_©
†-£%^'"áŒPN“)PÑ4¨D•ŽD›$™WX#z@G;:gu"Æ¢ÊAZùŠ™i‰9/7#o¾¨^Gv`Yè=úõvÁœUÈd¤TEIƧ{šbtÀËÓ£ÇÿE©Åï•$Ýš&#SgÆ^Î*EœE3•³´Ø$ùøu~È‹ŠË�ŸazqŠq	ùÙ™‡P9Y¡’ã�Ó(x7/{F&˜&#SÏ–�u0g¦¢¥`-ËÝ%j¿„Y ™ßœN)‹òTiSÑZPË—îN[´DBoft¾Cä*@/5b™ØE^hl¼‡r—“Ýu¨×W�ñÛ¦M¾½+U~vâ7ÞUxºVªlóæo¯ �*â�%ÃÛ†i+ÕDy.,‹½L©–{`¨g�¼ý‹çªeÖÈÅ¥v)â-Š‹ã/ËBcCáb¨ýÐþ*TòJÎx. ½&›�µ;�¹ÈüÀôðh+•B£‹²0º“w.4?0=¼0k¶ÅeaåíÃÍ\”ɘ9‘â�Xâc¾—Ù‰[#ÛbÉrû?�ÜtÉ

BIN
.gits/objects/c7/69b9f389b4480d0e784921eb7b341d69644c1d


BIN
.gits/objects/c9/78d4066a057035d5a8845bca8b867c8e8012b3


BIN
.gits/objects/d9/1c8cc386c9c0fe88283a4e2ecb61b4e5c874b4


BIN
.gits/objects/fb/63b2e645be08d3fdc78d8296ede121cdc75a13


BIN
.gits/objects/pack/pack-bb33f4bda785949b58dbd453ed9a364a3f08f08c.idx


BIN
.gits/objects/pack/pack-bb33f4bda785949b58dbd453ed9a364a3f08f08c.pack


+ 3 - 0
.gits/packed-refs

@@ -0,0 +1,3 @@
+# pack-refs with: peeled fully-peeled sorted 
+cedc08ec4e15dd54e07f045216c39fa51719e5e0 refs/remotes/origin/dev
+cb13641fbe430ef1eb317cde3d23347c651e7ba4 refs/remotes/origin/master

+ 1 - 0
.gits/refs/heads/dev

@@ -0,0 +1 @@
+cedc08ec4e15dd54e07f045216c39fa51719e5e0

+ 1 - 0
.gits/refs/remotes/origin/HEAD

@@ -0,0 +1 @@
+ref: refs/remotes/origin/master

+ 158 - 0
pom.xml

@@ -0,0 +1,158 @@
+<?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>org.example</groupId>
+    <artifactId>dil-api</artifactId>
+    <version>1.0-SNAPSHOT</version>
+
+    <parent>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-starter-parent</artifactId>
+        <version>2.0.7.RELEASE</version>
+    </parent>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.springframework.cloud</groupId>
+                <artifactId>spring-cloud-dependencies</artifactId>
+                <!--Spring Cloud的版本-->
+                <version>Finchley.SR2</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <repositories>
+        <repository>
+            <id>maven-public</id>
+            <name>steerinfo maven-public</name>
+            <url>https://nexus.steerinfo.com/repository/maven-public/</url>
+        </repository>
+    </repositories>
+
+    <distributionManagement>
+        <repository>
+            <id>maven-releases</id>
+            <name>steerinfo nexus-releases</name>
+            <url>http://nexus.steerinfo.com/repository/maven-releases/</url>
+        </repository>
+        <snapshotRepository>
+            <id>maven-snapshots</id>
+            <url>http://nexus.steerinfo.com/repository/maven-snapshots/</url>
+        </snapshotRepository>
+    </distributionManagement>
+
+    <dependencies>
+        <!--websocket-->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-websocket</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+
+        <!--mybatisPlus-->
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-boot-starter</artifactId>
+            <version>3.4.2</version>
+        </dependency>
+
+        <!--swagger-->
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-swagger2</artifactId>
+            <version>2.9.2</version>
+        </dependency>
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-swagger-ui</artifactId>
+            <version>2.9.2</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi</artifactId>
+            <version>3.17</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi-ooxml</artifactId>
+            <version>3.17</version>
+        </dependency>
+        <!--steerinfo-->
+        <dependency>
+            <groupId>com.steerinfo</groupId>
+            <artifactId>framework</artifactId>
+            <version>1.0</version>
+        </dependency>
+
+
+    </dependencies>
+    <build>
+        <plugins>
+            <!--             自动生成代码文件 -->
+            <plugin>
+                <groupId>com.steerinfo</groupId>
+                <artifactId>generator-maven-plugin</artifactId>
+                <version>3.0</version>
+                <configuration>
+                    <connUrl>jdbc:oracle:thin:@172.16.33.163:1521:ilsdbpri</connUrl>
+                    <user>dagang</user>
+                    <password>root123</password>
+                    <!--包名-->
+                    <targetPackage>com.steerinfo.dil</targetPackage>
+                    <tables>
+<!--                        <param>WMSP_INBOUND_RESULT</param>&lt;!&ndash;运力&ndash;&gt;-->
+<!--                        <param>WMSP_INBOUND_SCAN_RESULT</param>-->
+<!--                        <param>WMSP_INBOUND_STACK_RESULT</param>-->
+<!--                        <param>WMSP_INBOUND_CORRECT_RESULT</param>-->
+<!--                        <param>WMSP_INBOUND_DRIVING_RESULT</param>-->
+<!--                        <param>WMSP_GRID_MATERIAL</param>-->
+                        <param>WMSP_INBOUND_DISTRIBUTE</param>
+                    </tables>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>compile</phase>
+                        <goals>
+                            <goal>steerinfo</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+                <includes>
+                    <include>**/*.xml</include>
+                </includes>
+            </resource>
+
+            <resource>
+                <directory>src/main/resources</directory>
+            </resource>
+        </resources>
+    </build>
+</project>

+ 26 - 0
src/main/java/com/steerinfo/DilApplicationMain.java

@@ -0,0 +1,26 @@
+package com.steerinfo;
+
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.web.servlet.ServletComponentScan;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.scheduling.annotation.EnableScheduling;
+
+/**
+ * @Author zhangnan
+ * @Date 2021/4/21 14:32
+ * @Version 1.0
+ */
+@SpringBootApplication
+@ServletComponentScan
+@EnableScheduling
+@MapperScan({"com.steerinfo.dil.mapper"})
+@EnableFeignClients(basePackages = "com.steerinfo.dil.feign")
+@EnableDiscoveryClient
+public class DilApplicationMain {
+    public static void main(String[] args) {
+        SpringApplication.run(DilApplicationMain.class,args);
+    }
+}

+ 22 - 0
src/main/java/com/steerinfo/dil/config/CorsConfig1.java

@@ -0,0 +1,22 @@
+package com.steerinfo.dil.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+/**
+ *
+ */
+@Configuration
+public class CorsConfig1 implements WebMvcConfigurer {
+
+    @Override
+    public void addCorsMappings(CorsRegistry registry) {
+        registry.addMapping("/**")
+                .allowedOrigins("*")
+                .allowedMethods("GET","HEAD","POST","PUT","DELETE","OPTIONS")
+                .allowCredentials(true)
+                .maxAge(3600)
+                .allowedHeaders("*");
+    }
+}

+ 43 - 0
src/main/java/com/steerinfo/dil/config/WebSocketConfig.java

@@ -0,0 +1,43 @@
+package com.steerinfo.dil.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.messaging.simp.config.ChannelRegistration;
+import org.springframework.messaging.simp.config.MessageBrokerRegistry;
+import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker;
+import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
+import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer;
+
+@Configuration
+@EnableWebSocketMessageBroker
+public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
+
+    @Override
+    public void registerStompEndpoints(StompEndpointRegistry stompEndpointRegistry) {
+        stompEndpointRegistry
+                .addEndpoint("/webSocket")
+                .setAllowedOrigins("*")
+                .withSockJS(); //使用sockJS
+
+    }
+
+    @Override
+    public void configureMessageBroker(MessageBrokerRegistry registry) {
+        //这里使用的是内存模式,生产环境可以使用rabbitmq或者其他mq。
+        //这里注册两个,主要是目的是将广播和队列分开。
+        //registry.enableStompBrokerRelay().setRelayHost().setRelayPort() 其他方式
+        registry.enableSimpleBroker("/topic");
+        //设置客户端前缀 即@MessageMapping
+        registry.setApplicationDestinationPrefixes("/app");
+        //点对点发送前缀
+        registry.setUserDestinationPrefix("/user");
+    }
+
+    /**
+     * 输入通道参数配置
+     *
+     * @param registration
+     */
+    @Override
+    public void configureClientInboundChannel(ChannelRegistration registration) {
+    }
+}

+ 33 - 0
src/main/java/com/steerinfo/dil/controller/RMSWarehouseController.java

@@ -0,0 +1,33 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.service.impl.RmsWarehouseServiceImpl;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.framework.controller.RESTfulResult;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author luobang
+ * @create 2021-10-10 18:19
+ */
+@RestController
+@RequestMapping("${api.version}/warehouse")
+public class RMSWarehouseController extends BaseRESTfulController {
+
+    @Autowired
+    RmsWarehouseServiceImpl rmsWarehouseServiceImpl;
+
+    /**
+     * 1.获取仓库
+     * @return
+     */
+    @ApiOperation(value = "获取仓库下拉框列表")
+    @GetMapping("/getWarehouse")
+    public RESTfulResult getWarehouse(){
+
+        return success(rmsWarehouseServiceImpl.getWarehouse());
+    }
+}

+ 33 - 0
src/main/java/com/steerinfo/dil/controller/RmsMaterialController.java

@@ -0,0 +1,33 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.service.impl.RmsMaterialServiceImpl;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.framework.controller.RESTfulResult;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author luobang
+ * @create 2021-10-10 17:59
+ */
+@RestController
+@RequestMapping("${api.version}/material")
+public class RmsMaterialController extends BaseRESTfulController {
+
+    @Autowired
+    RmsMaterialServiceImpl rmsMaterialServiceImpl;
+
+    /**
+     * 1.获取物资
+     * @return
+     */
+    @ApiOperation(value = "获取物资下拉框列表")
+    @GetMapping("/getMaterial")
+    public RESTfulResult getMaterial(){
+        return success(rmsMaterialServiceImpl.getMaterial());
+    }
+
+}

+ 47 - 0
src/main/java/com/steerinfo/dil/controller/RmsPwarehouseGridController.java

@@ -0,0 +1,47 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.model.RmsPwarehouseGrid;
+import com.steerinfo.dil.service.IRmsPwarehouseGridService;
+
+import com.steerinfo.dil.service.impl.RmsPwarehouseGridServiceImpl;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.framework.controller.RESTfulResult;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.math.BigDecimal;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * RmsPwarehouseGrid RESTful接口:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-09-07 05:51
+ * 类描述
+ * 修订历史:
+ * 日期:2021-09-07
+ * 作者:generator
+ * 参考:
+ * 描述:RmsPwarehouseGrid RESTful接口
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+@RestController
+@RequestMapping("/${api.version}/rmspwarehousegrids")
+public class RmsPwarehouseGridController extends BaseRESTfulController {
+
+    @Autowired
+    RmsPwarehouseGridServiceImpl rmsPwarehouseGridService;
+    //更新网格id
+   @PostMapping(value = "/updateMaterialGrid")
+    public  RESTfulResult updateMaterialGrid(@RequestBody RmsPwarehouseGrid rmsPwarehouseGrid,Integer girId){
+       rmsPwarehouseGridService.updateByPrimaryKeySelective(rmsPwarehouseGrid);
+       BigDecimal id =rmsPwarehouseGrid.getGridId();
+       Map map=new HashMap<>();
+       map.put("girId",girId);
+       return  success(rmsPwarehouseGrid);
+   }
+
+}

+ 43 - 0
src/main/java/com/steerinfo/dil/controller/RmsStackingController.java

@@ -0,0 +1,43 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.service.IRmsStackingService;
+import com.steerinfo.dil.service.impl.RmsStackingServiceImpl;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.framework.controller.RESTfulResult;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.math.BigDecimal;
+import java.util.Map;
+
+/**
+ * RmsStacking RESTful接口:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-09-15 10:03
+ * 类描述
+ * 修订历史:
+ * 日期:2021-09-15
+ * 作者:generator
+ * 参考:
+ * 描述:RmsStacking RESTful接口
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+@RestController
+@RequestMapping("/${api.version}/rmsstackings")
+public class RmsStackingController extends BaseRESTfulController {
+
+    @Autowired
+    RmsStackingServiceImpl rmsStackingService;
+
+    @ApiOperation(value = "算出垛位并且自动修改相关数据")
+    @PostMapping("/getStackingToUpdate")
+    public RESTfulResult getStackingToUpdate(@RequestParam Integer materialNumber,
+                                             @RequestParam Integer warehouseId,
+                                             @RequestParam String stackingMaterialNumber) {
+        Map<String,Object> result = rmsStackingService.getStackingToUpdate(materialNumber, new BigDecimal(warehouseId),stackingMaterialNumber);
+        return success(result);
+    }
+
+}

+ 452 - 0
src/main/java/com/steerinfo/dil/controller/WmsInboundResultController.java

@@ -0,0 +1,452 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.feign.ESFeign;
+import com.steerinfo.dil.mapper.WmspGridMaterialMapper;
+import com.steerinfo.dil.model.*;
+import com.steerinfo.dil.service.ICommonService;
+import com.steerinfo.dil.service.IWmspInboundDistributeService;
+import com.steerinfo.dil.service.impl.*;
+import com.steerinfo.dil.util.*;
+import com.steerinfo.framework.controller.RESTfulResult;
+import com.steerinfo.framework.service.pagehelper.PageHelper;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.models.auth.In;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+
+
+import java.math.BigDecimal;
+import java.util.*;
+//import java.util.*;
+/**
+ * @author luobang
+ * @create 2021-09-06 18:13
+ */
+@Api("入库实绩")
+@RestController
+@RequestMapping("${api.version}/inboundResult")
+public class WmsInboundResultController extends BaseRESTfulController {
+
+    @Autowired
+    ColumnDataUtil columnDataUtil;
+
+    @Autowired
+    ESFeign esFeign;
+
+    @Autowired
+    WmsInboundResultServiceImpl wmsInboundResultServiceImpl;
+
+    @Autowired
+    WmsInboundScanResultServiceImpl wmsInboundScanResultServiceImpl;
+
+    @Autowired
+    WmsInboundDrivingResultServiceImpl wmsInboundDrivingResultServiceImpl;
+
+    @Autowired
+    RmsStackingServiceImpl rmsStackingService;
+
+    @Autowired
+    RmsPwarehouseGridServiceImpl rmsPwarehouseGridService;
+
+    @Autowired
+    WmspGridMaterialServiceImpl wmspGridMaterialService;
+    @Autowired
+    WmspGridMaterialMapper wmspGridMaterialMapper;
+    @Autowired
+    WmsInboundStackResultServiceImpl wmsInboundStackResultServiceImpl;
+    @Autowired
+    WmspInboundDistributeServiceImpl wmspInboundDistributeService;
+    @Autowired
+    ICommonService commonService;
+
+
+    /**
+     * 展示入库实绩
+     * @param mapValue
+     * @param apiId
+     * @param pageNum
+     * @param pageSize
+     * @return
+     */
+    @PostMapping("/getWmsInboundResult2")
+    @ApiOperation(value = "展示入库实绩信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "apiId", value = "90", required = false, dataType = "BigDecimal"),
+    })
+    public RESTfulResult getWmsInboundResult(@RequestBody(required = false) Map<String, Object> mapValue,
+                                             Integer apiId,
+                                             Integer pageNum,
+                                             Integer pageSize,
+                                             String con) {
+        if(con != null){
+            if(!"undefined".equals(con)){
+                String index = "get_wms_inboundresult";
+                return success(esFeign.getConResult(mapValue,index,apiId,pageNum,pageSize,con));
+            }
+        }
+        List<Map<String,Object>>inboundResultList = null;
+        if(mapValue.size() == 0){
+            //将查询结果存入索引中
+            inboundResultList = wmsInboundResultServiceImpl.getInboundResult(mapValue);
+            Map<String, Object> inboundResultMap = new HashMap<>();
+            //添加索引
+            inboundResultMap.put("index","get_wms_inboundresultse");
+            //添加ID
+            inboundResultMap.put("indexId","inboundresultId");
+            inboundResultList.add(inboundResultMap);
+            //新建索引
+            esFeign.insertIndex(inboundResultList);
+            //删除
+            inboundResultList.remove(inboundResultList.size() -1);
+        }
+        if(inboundResultList == null) {
+            inboundResultList = wmsInboundResultServiceImpl.getInboundResult(mapValue);
+        }
+        /*分页*/
+        PageHelper.startPage(pageNum, pageSize);
+        List<Map<String,Object>> columnList = wmsInboundResultServiceImpl.getInboundResult(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId,inboundResultList,columnList);
+        return success(pageList);
+    }
+
+
+    /**
+     * 新增入库实绩
+     *
+     * @param
+     * @return
+     */
+    @ApiOperation("新增入库实绩")
+    @PostMapping("/insertInboundResult2")
+    @Transactional
+    public RESTfulResult addInvoice(@RequestParam("userName") String userName,@RequestParam("groupId") BigDecimal groupId,@RequestParam("personnelWorkshopid") BigDecimal personnelWorkshopid, @RequestBody(required = false) List<Map<String, Object>> mapList) {
+        //首先做的判断处理
+        //由于钢材是分批次、一批四件的(有特殊情况不是一批四件)
+        //所有需要设置他们批次不能跨越一个应该是相连的,如果批次跨过两个说明有一个多按了一次,或者是有了一个人少按了一次,所以需要少下发的和多下发的对其。
+        //使两个人批次相同
+
+        //查询当前分组下次最新的一次下发、
+        // 第一、判断库状态是否是下发中的
+        // 第二、判断自己上一组是否完成,如果上一组已经完成则开始下一组、没有完成给一点提示
+
+        //遗留 查询批次、以及状态
+        //一、创建一个批次信息
+        WmspInboundDistribute  wmspInboundDistribute=new WmspInboundDistribute();
+        //初始化下发批次信息
+        //主键
+        wmspInboundDistribute.setDistributeId(IDUtils.createIDYMDHMS(commonService.getSeqCount("seq_WMSP_INBOUND_DISTRIBUTE")));
+        //分组
+        wmspInboundDistribute.setInboundGroupId(groupId);
+        //入库状态 1、下发中、2、已完成、3、已接受、4、已结束
+        //如果两个都已经下发改变状态为已下发、只有一个下发改变状态为下发中
+        //2、并且当前改变当前用户的,未下发状态为已经下发(给扫码实绩赋值入库实绩id)
+        wmspInboundDistribute.setResultStatus(new BigDecimal(1));
+        //当前用户批次
+        wmspInboundDistribute.setBatch(new BigDecimal(1));
+        //行车工 没有接收是没有这个字段的
+        //wmspInboundDistribute.setDistributeId();
+        //创建用户
+        wmspInboundDistribute.setInsertUsername(userName);
+
+        for (int i=0;i<mapList.size();i++){
+            Map<String,Object> item=mapList.get(i);
+            //二、智能的设置好这批钢材的位置、网格图
+            //二、创建一个默认的网格  解释:目前还没有设计出来网格的结构 没有做默认为 第一库、第一月台、第一垛位、第一行、第一列
+
+            //遗留 批次、网格
+            //三、创建一个入库作业实绩
+            WmspInboundResult wmspInboundResult=new WmspInboundResult();
+            //1、给实绩属性赋值
+            int orderNumber = wmsInboundResultServiceImpl.count();
+            // 主键ID
+            wmspInboundResult.setInboundId(IDUtils.createIDYMD(String.valueOf(orderNumber)));
+            //批次ID
+            wmspInboundResult.setInboundDistributeId(wmspInboundDistribute.getDistributeId());
+            //入库类型
+            wmspInboundResult.setInboundType(new BigDecimal(0));
+            //入库单/退库单/倒库单编号(WRKD-年月日-8位数的顺序号)
+            String number=Liushuih.generateNextNumber("WRKD-", "yyyyMMdd-", 8, orderNumber);
+            wmspInboundResult.setInboundNumber(number);
+            //仓储网格
+            //wmspInboundResult.setGridId(new BigDecimal(1));
+            //入库单是否下发:0:未下发;1:已下发;  2:已接收
+            wmspInboundResult.setResultStatus(new BigDecimal(0));
+            //物资ID
+            wmspInboundResult.setMaterialId(new BigDecimal(item.get("materialId").toString()));
+            //入库是否完成(0:未完成,1:已完成)
+            wmspInboundResult.setInboundIscomplete(new BigDecimal(0));
+            //逻辑删除:1:删除;0:未删除
+            wmspInboundResult.setResultDeleted(new BigDecimal(0));
+            //入库日期
+            wmspInboundResult.setInboundTime(new Date());
+            //记录创建人
+            wmspInboundResult.setInsertUsername(userName);
+            //记录创建时间
+            wmspInboundResult.setInsertTime(new Date());
+
+        }
+
+
+
+        //四、推送信息给行车工、让他们抢单
+        return success(null);
+    }
+    /**
+     * 新增入库实绩
+     *
+     * @param
+     * @return
+     */
+    @ApiOperation("新增入库实绩")
+    @PostMapping("/insertInboundResult")
+    @Transactional
+    public RESTfulResult addInvoice( @RequestBody(required = false) List<Map<String, Object>> mapList) {
+
+
+        //获取前方传来的仓库ID进行入库
+        BigDecimal warehouseId = new BigDecimal((Integer)mapList.get(0).get("personnelWorkshopid"));
+
+        String inboundValue = null;
+        BigDecimal ST = null;
+        if(warehouseId.intValue() == 3){
+             inboundValue = wmsInboundResultServiceImpl.selectWarehouseName(new BigDecimal(3));
+        }
+        //!!!默认该仓库的所有行车工都能看到
+        //!!!待添加,查询该仓库所有在班的行车工
+        String personnelJobNumber = "000417";
+        if(warehouseId.intValue() != 3){
+            //查询入库垛位信息
+            Map<String,Object> stackingMap = rmsStackingService.getStackingToUpdate(mapList.size(),warehouseId,personnelJobNumber);
+            //获取入库垛位ID
+            ST = (BigDecimal) stackingMap.get("stackingId");
+            inboundValue = stackingMap.get("stackingNo").toString();
+        }
+        for (Map<String,Object> map:mapList
+             ) {
+            WmspInboundResult wmspInboundResult = new WmspInboundResult();
+            wmspInboundResult.setId(new BigDecimal(wmsInboundResultServiceImpl.count() + 1));
+            /*
+            设置入库类型为生产入库
+             */
+            wmspInboundResult.setInboundType(new BigDecimal(0));
+            /*
+            设置入库单编号
+             */
+            String number=Liushuih.generateNextNumber("WRKD-", "yyyyMMdd-", 8, 12);
+            wmspInboundResult.setInboundNumber(number);
+             /*
+            设置逻辑删除字段
+             */
+            wmspInboundResult.setResultDeleted(new BigDecimal(0));
+            /*
+            设置常规字段
+            */
+            wmspInboundResult.setInsertUsername("admin");
+            wmspInboundResult.setInsertTime(new Date());
+            wmspInboundResult.setUpdateUsername("admin");
+            wmspInboundResult.setUpdateTime(new Date());
+            wmspInboundResult.setInsertUpdateRemark("无");
+            /*
+            设置入库日期
+             */
+            wmspInboundResult.setInboundTime(new Date());
+              /*
+            设置入库单状态为已下发
+             */
+            wmspInboundResult.setResultStatus(new BigDecimal(1));
+            
+            /*
+            设置入库状态,当异常值为0时,入库状态设为未完成;当异常值为1时,入库状态设为完成
+             */
+            Integer K = 1;
+            if(warehouseId.intValue() != 3){
+                System.out.println(map.containsKey("abnormalis"));
+                System.out.println(map.get("abnormalis"));
+                 K =  (map.containsKey("abnormalis")&&map.get("abnormalis").toString().isEmpty())?Integer.valueOf(map.get("abnormalis").toString()):0;
+            }
+            if (K==0){
+                wmspInboundResult.setResultStatus(new BigDecimal(0));
+                wmspInboundResult.setInboundIscomplete(new BigDecimal(0));
+            }
+            else{
+                wmspInboundResult.setResultStatus(new BigDecimal(1));
+                wmspInboundResult.setInboundIscomplete(new BigDecimal(1));
+            }
+            Integer MN = null ;
+            Integer CC = null ;
+            Integer CX = null ;
+            if(warehouseId.intValue() != 3){
+                //根据垛位ID查询物资数,确定层次层序,即网格ID
+                HashMap<String, Object> map1 = new HashMap<>();
+                map1.put("stackingId",ST);
+                //获取物资数
+                 MN=rmsStackingService.selectMaterialNumber(map1);
+                //计算层次号
+                 CC=(MN+1)/24+1;
+                //计算层序号
+                 CX=(MN+1)%24;
+                //更新垛位表
+               rmsStackingService.updateStack(ST);
+            }
+            //根据仓库id、垛位ID,层次号,层序号查找仓储网格
+            HashMap<String, Object> map3 = new HashMap<>();
+            map3.put("warehouseId",warehouseId);
+            map3.put("stackingID",ST);
+            map3.put("gradationNumber",CC);
+            map3.put("sequenceNumber",CX);
+            BigDecimal gridId=rmsPwarehouseGridService.getGridId(map3);
+            //设置入库实绩里面的网格ID
+            wmspInboundResult.setGridId(gridId);
+            /*
+            插入一条网格物资中间表
+             */
+            WmspGridMaterial wmspGridMaterial = new WmspGridMaterial();
+            //设置主键ID
+            wmspGridMaterial.setGmId(wmspGridMaterialMapper.getCount());
+            wmspGridMaterial.setGridId(gridId);
+            wmspGridMaterial.setGmNumber(new BigDecimal(1));
+            wmspGridMaterial.setStandardDataId(new BigDecimal(1));
+            //设置网格物资表里面的物资ID
+            BigDecimal materialId= DataChange.dataToBigDecimal(map.get("materialId"));
+            wmspInboundResult.setMaterialId(materialId);
+            wmspGridMaterial.setMaterialId(materialId);
+            //设置逻辑删除字段
+            wmspGridMaterial.setDeleted(new BigDecimal(0));
+            //设置常规字段
+            wmspGridMaterial.setInsertUsername("admin");
+            wmspGridMaterial.setInsertTime(new Date());
+            wmspGridMaterial.setUpdateUsername("admin");
+            wmspGridMaterial.setUpdateTime(new Date());
+            wmspGridMaterial.setInsertUpdateRemark("无");
+            wmspGridMaterial.setStatus(new BigDecimal(2));
+            wmspGridMaterialService.insertWmspGridMaterial(wmspGridMaterial);
+            /*
+            新增入库实绩主表
+             */
+            wmsInboundResultServiceImpl.insertWmsInboundResult(wmspInboundResult);
+            /*
+            新增天车司机接收实绩
+             */
+            WmspInboundDrivingResult wmspInboundDrivingResult = new WmspInboundDrivingResult();
+            wmspInboundDrivingResult.setDrivingId(new BigDecimal(wmsInboundDrivingResultServiceImpl.count()+1));
+            wmspInboundDrivingResult.setDriverId(new BigDecimal(9));
+            wmspInboundDrivingResult.setDrivingReceiveTime(new Date());
+            wmspInboundDrivingResult.setInboundResultId(wmspInboundResult.getInboundId());
+            wmspInboundDrivingResult.setInsertUsername("admin");
+            wmspInboundDrivingResult.setInsertTime(new Date());
+            wmspInboundDrivingResult.setUpdateUsername("admin");
+            wmspInboundDrivingResult.setResultDeleted(new BigDecimal(1));
+            wmsInboundDrivingResultServiceImpl.insertWmspInboundDrivingResult(wmspInboundDrivingResult);
+            /*
+            新增选择垛位实绩
+             */
+            WmspInboundStackResult wmspInboundStackResult = new WmspInboundStackResult();
+            wmspInboundStackResult.setResultId(new BigDecimal(wmsInboundStackResultServiceImpl.count()+1));
+            wmspInboundStackResult.setInboundResultId(wmspInboundResult.getInboundId());
+            wmspInboundStackResult.setStackingId(ST);
+            wmspInboundStackResult.setResultDeleted(new BigDecimal(1));
+            //设置常规字段
+            wmspInboundStackResult.setInsertUsername("admin");
+            wmspInboundStackResult.setInsertTime(new Date());
+            wmspInboundStackResult.setUpdateUsername("admin");
+            wmspInboundStackResult.setUpdateTime(new Date());
+            wmspInboundStackResult.setInsertUpdateRemark("无");
+            wmspInboundStackResult.setStackingStatus(new BigDecimal(0));
+            wmsInboundStackResultServiceImpl.insertWmsInboundStackResult(wmspInboundStackResult);
+            System.out.println(map.get("LOADA"));
+            System.out.println(map.get("LOADB"));
+            //判断物资是否为线材
+            BigDecimal count = wmsInboundScanResultServiceImpl.selectMaterialTypeByMaterialId(materialId);
+
+            BigDecimal resultId= new BigDecimal((Integer)map.get("resultId")) ;
+//            BigDecimal RESULTBID= new BigDecimal((Integer)map.get("RESULTBID")) ;
+            BigDecimal InbounId=wmspInboundResult.getInboundId();
+            if(count!=null){
+                /*
+            编辑扫描实绩-根据前台返回的扫描实绩ID修改扫描实绩
+            */
+                HashMap<String, Object> map5 = new HashMap<>();
+                Map<String,Object> otherLoadMap = new HashMap<>();
+                otherLoadMap.put("personnelWorkshopid",map.get("personnelWorkshopid"));
+                otherLoadMap.put("personnelShifts",map.get("personnelShifts"));
+                otherLoadMap.put("personnelTeam",map.get("personnelTeam"));
+                otherLoadMap.put("resultId",resultId);
+                //获取同一班次班组车间扫描次数扫描实绩
+                List<Map<String,Object>> otherResultIds = wmsInboundScanResultServiceImpl.getOntherLoadId(otherLoadMap);
+                //根据物资id查询是否该物资为线材
+                //设置另一个扫描实绩id为空
+                BigDecimal otherResultId = null;
+                //遍历查询出的同一班次班组车间扫描次数所有扫描实绩
+                for (Map<String,Object> otherMap : otherResultIds) {
+                    //判断,查询出来的扫描实绩id是否于点击下发的扫描实绩的id相同
+                    //如果不同,将获取到的扫描实绩主键id赋予otherResultId
+                    if (((BigDecimal) otherMap.get("resultId")).intValue() != resultId.intValue()) {
+                        otherResultId = (BigDecimal) otherMap.get("resultId");
+                    }
+                }
+                //更新扫描实绩
+                map5.put("resultId",resultId);
+                map5.put("InbounId",InbounId);
+                wmsInboundScanResultServiceImpl.updateWmsInboundScanById(map5);
+                map5.remove("resultId");
+                map5.put("resultId",otherResultId);
+                wmsInboundScanResultServiceImpl.updateWmsInboundScanById(map5);
+            }
+            //更新扫描实绩状态
+            Map<String,Object> map7=new HashMap<>();
+            map7.put("resultId",resultId);
+            map7.put("InbounId",InbounId);
+            wmsInboundScanResultServiceImpl.updateWmsInboundScanById(map7);
+        }
+        return success(inboundValue);
+    }
+
+    //根据入库实绩id查找扫描实绩
+    @PostMapping("/selectScanResultByIboundResultId")
+    @ApiOperation(value = "根据入库实绩id获得扫描实绩数据")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "apiId", value = "", required = false, dataType = "BigDecimal"),
+    })
+    public RESTfulResult selectScanResultByIboundResultId(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                          Integer apiId,
+                                                          Integer pageNum,
+                                                          Integer pageSize,
+                                                          String con
+    ) {
+        if(con != null){
+            if(!"undefined".equals(con)){
+                String index = "get_wms_inboundScanResult";
+                return success(esFeign.getConResult(mapValue,index,apiId,pageNum,pageSize,con));
+            }
+        }
+        List<Map<String,Object>>inboundScanResultList = null;
+        if(mapValue.size() == 0){
+            //将查询结果存入索引中
+            inboundScanResultList = wmsInboundResultServiceImpl.selectScanResultByIboundResultId(mapValue);
+            Map<String, Object> inboundScanResultMap = new HashMap<>();
+            //添加索引
+            inboundScanResultMap.put("index","get_wms_inboundScanResult");
+            //添加ID
+            inboundScanResultMap.put("indexId","inboundScanResultId");
+            inboundScanResultList.add(inboundScanResultMap);
+            //新建索引
+            esFeign.insertIndex(inboundScanResultList);
+            //删除
+            inboundScanResultList.remove(inboundScanResultList.size() -1);
+        }
+        if(inboundScanResultList == null) {
+            inboundScanResultList = wmsInboundResultServiceImpl.selectScanResultByIboundResultId(mapValue);
+        }
+        /*分页*/
+        PageHelper.startPage(pageNum, pageSize);
+        List<Map<String,Object>> columnList = wmsInboundResultServiceImpl.selectScanResultByIboundResultId(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId,inboundScanResultList,columnList);
+        return success(pageList);
+
+    }
+}
+

+ 283 - 0
src/main/java/com/steerinfo/dil/controller/WmsInboundScanResultController.java

@@ -0,0 +1,283 @@
+package com.steerinfo.dil.controller;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.TypeReference;
+import com.github.pagehelper.PageHelper;
+import com.steerinfo.dil.feign.ColumnDataFeign;
+import com.steerinfo.dil.mapper.WmspInboundResultMapper;
+import com.steerinfo.dil.model.*;
+import com.steerinfo.dil.service.impl.RmsMaterialServiceImpl;
+import com.steerinfo.dil.service.impl.RmsMaterialSteelServiceImpl;
+import com.steerinfo.dil.service.impl.WmsInboundResultServiceImpl;
+import com.steerinfo.dil.service.impl.WmsInboundScanResultServiceImpl;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.dil.util.ColumnDataUtil;
+import com.steerinfo.dil.util.PageListAdd;
+import com.steerinfo.framework.controller.RESTfulResult;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.apache.commons.collections.MapUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import springfox.documentation.spring.web.json.Json;
+
+import java.math.BigDecimal;
+import java.text.ParseException;
+import java.util.*;
+
+/**
+ * @author luobang
+ * @create 2021-09-07 15:15
+ */
+@RestController
+@RequestMapping("${api.version}/inboundScanResult")
+public class WmsInboundScanResultController extends BaseRESTfulController {
+
+    @Autowired
+    WmsInboundResultServiceImpl wmsInboundResultService;
+
+    @Autowired
+    WmsInboundScanResultServiceImpl wmsInboundScanResultService;
+
+    @Autowired
+    RmsMaterialServiceImpl rmsMaterialService;
+
+    @Autowired
+    RmsMaterialSteelServiceImpl rmsMaterialSteelService;
+
+    @Autowired
+    WmspInboundResultMapper wmspInboundResultMapper;
+
+    @Autowired
+    ColumnDataUtil columnDataUtil;
+
+    @Autowired
+    ColumnDataFeign columnDataFeign;
+
+
+    /**
+     * 1.新增扫描吊牌实绩!!!此时入库实绩未生成
+     * @param
+     * @return
+     */
+    @ApiOperation(value = "新增扫描吊牌实绩")
+    @PostMapping("/insertResult2")
+    @Transactional
+    public  synchronized RESTfulResult insertScanResult(@RequestBody(required = false)Map<String,Object>map) throws ParseException {
+        //这里需要的参数包括 扫码人账号 userId、二维码信息 resultMaterial
+        //首先判断二维码是否已经被扫过了
+        //判断条件是查询扫描实绩判断是否已经存在改唯一标识码并且扫码人是否是自己
+        int isExist= wmsInboundScanResultService.isExist(map.get("userName").toString(),map.get("resultMaterial").toString().substring(0,map.get("resultMaterial").toString().length()-1));
+        //通过用户ID查询、当前扫描没有下发的物质、最终展示的集合
+        List<Map<String,Object>>mapList= wmsInboundScanResultService.noIssueScanResultList(map.get("userName").toString());
+        if (isExist>0){
+            //如果已经被少扫过了返回扫码实绩集合
+            //返回结果显示
+           return failed(mapList);
+        }else {
+            //如果没有被扫
+            //创建一个扫码实绩
+            Map<String, Object>  wmspInboundScanResult =wmsInboundScanResultService.createInboundScanResultByResultMaterial(mapList.size(),map.get("userName").toString(),map.get("resultMaterial").toString());
+            //判断是否创建成功、成功在添加
+            if (wmspInboundScanResult!=null){
+                mapList.add(wmspInboundScanResult);
+            }
+        }
+
+        return success(mapList);
+    }
+    /**
+     * 1.新增扫描吊牌实绩!!!此时入库实绩未生成
+     * @param
+     * @return
+     */
+    @ApiOperation(value = "新增扫描吊牌实绩")
+    @PostMapping("/insertResult")
+    @Transactional
+    public  synchronized RESTfulResult insertResult(@RequestBody(required = false)Map<String,Object>map) throws ParseException {
+        int i=0;
+        WmspInboundScanResult wmspInboundScanResult = new WmspInboundScanResult();
+        //获取工号查找id
+        BigDecimal loadId = wmsInboundScanResultService.getLoadId(map);
+        map.put("loadId",loadId);
+        BigDecimal inboundResultId = new BigDecimal((Integer)map.get("inboundId"));
+        //判断是否重复扫码
+        //调用判断是否重复扫码的方法
+        if(inboundResultId.intValue() == -1){
+            if(wmsInboundScanResultService.checkScanTag(map,loadId) == 0){
+                        List<Map<String,Object>>mapList =wmsInboundScanResultService.getScanResult(loadId);
+                return failed(mapList);
+            }
+        }
+
+         //设置入库物资件数,默认一件
+        wmspInboundScanResult.setInboundMaterialNumber(new BigDecimal(1));
+        //设置吊钢工已扫物资件数
+        wmspInboundScanResult.setResultNumber(new BigDecimal(wmsInboundScanResultService.scanNumber(map)+1));
+        map.put("resultNumber",wmspInboundScanResult.getResultNumber());
+        //设置常规字段 插入人为吊钢工的名字
+        wmspInboundScanResult.setInsertTime(new Date());
+        //设置吊钢工扫描吊牌时间
+        wmspInboundScanResult.setResultLoadTime(new Date());
+        //设置状态为未下发
+        wmspInboundScanResult.setResultStatus(new BigDecimal(0));
+        //设置吊钢工Id
+        wmspInboundScanResult.setLoadId(loadId);
+        //设置扫描吊牌实绩
+        String str = (String) map.get("resultMaterial");
+        wmspInboundScanResult.setResultMaterial(str);
+        //设置入库实绩ID
+
+        if (inboundResultId.intValue() != -1){
+            BigDecimal hh=wmspInboundScanResult.getInboundResultId() ;
+            wmspInboundScanResult.setInboundResultId(inboundResultId);
+            wmspInboundScanResult.setResultStatus(new BigDecimal(1));
+        }
+        //设置逻辑删除字段
+        wmspInboundScanResult.setResultDeleted(new BigDecimal(1));
+        //新增钢材物资ID
+        Integer k = rmsMaterialSteelService.insertRmsMaterialSteel(str);
+        wmspInboundScanResult.setMaterialId(new BigDecimal(k));
+        //根据班次班组查找同一车间的另一位小伙伴
+        //判断物资是否为线材
+        BigDecimal count = wmsInboundScanResultService.selectMaterialTypeByMaterialId(new BigDecimal(k));
+        wmspInboundScanResult.setInboundAbnormalis(new BigDecimal(0));
+        if(count != null){
+            BigDecimal otherLoadId = wmsInboundScanResultService.getOtherLoadId(map);
+            map.put("otherLoadId",otherLoadId);
+            //查找另一位兄弟的相同次数的扫描实绩里面的物资ID
+            Integer otherMaterialId = wmsInboundScanResultService.getOtherMaterialSteelId(map);
+            if (otherMaterialId==k) {
+                wmspInboundScanResult.setInboundAbnormalis(new BigDecimal(1));
+            }
+            else{
+                wmspInboundScanResult.setInboundAbnormalis(new BigDecimal(0));
+            }
+        }
+        //插入扫描吊牌实绩
+        Integer integer = wmsInboundScanResultService.insertWmsInboundScanResult(wmspInboundScanResult);
+        System.out.println("-----------"+integer);
+        if (integer!=1){
+            return failed();
+        }
+
+        //判断物资是否为线材
+        if(count != null){
+            //如果不为线材
+            //更新异常值
+            wmsInboundScanResultService.updateInboundAbnormal(map);
+        }
+        List<Map<String,Object>>mapList =wmsInboundScanResultService.getScanResult(loadId);
+        return success(mapList);
+}
+    /**
+     * 展示未下发扫描实绩
+     * @return
+     */
+    @ApiOperation(value="展示未下发扫描实绩")
+    @PostMapping("/getScanResult")
+    public RESTfulResult getScanResult(@RequestBody(required = false) Map<String,Object>map){
+        BigDecimal loadId = wmsInboundScanResultService.getLoadId(map);
+        map.put("loadId",loadId);
+        List<Map<String,Object>>mapList =wmsInboundScanResultService.getScanResult(loadId);
+        return success(mapList);
+    }
+
+    /**
+     *
+     * @return
+     */
+    @ApiOperation(value="展示垛位")
+    @PostMapping("/selectStackingInfoByWarehouseId")
+    public RESTfulResult selectStackingInfoByWarehouseId(@RequestBody(required = false) Map<String,Object>map){
+        List<Map<String,Object>>mapList =wmsInboundScanResultService.selectStacking(map);
+        return success(mapList);
+    }
+
+    /**
+     *
+     * @return
+     */
+    @ApiOperation(value="更新状态")
+    @PostMapping("/updateStatus")
+    public RESTfulResult updateStatus(@RequestBody(required = false) Map<String,Object>map){
+
+        Integer integer =wmsInboundScanResultService.updateStatus(map);
+        return success(integer);
+    }
+
+    /**
+     * 展示异常入库吊钢工扫描吊牌实绩
+     * @return
+     */
+    @ApiOperation(value="展示异常入库吊钢工扫描吊牌实绩")
+    @PostMapping("/getIssuedTagNoResult")
+    public RESTfulResult getIssuedTagNoResult(){
+        HashMap<String, Object> map = new HashMap<>();
+        List<Map<String, Object>> scanIssuedTagResult = wmsInboundScanResultService.getIssuedScanTagNoResult(map);
+        return success(scanIssuedTagResult);
+    }
+
+    //根据入库实绩id查找扫描实绩
+    @PostMapping("/selectScanResultByIboundResultId")
+    @ApiOperation(value = "根据入库实绩id获得扫描实绩数据")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "apiId", value = "", required = false, dataType = "BigDecimal"),
+    })
+    public RESTfulResult selectScanResultByIboundResultId(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                          Integer apiId,
+                                                          Integer pageNum,
+                                                          Integer pageSize,
+                                                          Integer inboundId) {
+        if (inboundId!=null){
+            mapValue.put("inboundId",inboundId);
+        }
+        List<Map<String, Object>> reboundResultTotal = wmsInboundResultService.selectScanResultByIboundResultId(mapValue);
+        List<Map<String, Object>> columnDataList = columnDataFeign.getColumnData(apiId);
+        /*分页*/
+        PageHelper.startPage(pageNum, pageSize);
+        /*返回中英文对照结果,计算表头*/
+        List<Map<String, Object>> reboundResult = wmsInboundResultService.selectScanResultByIboundResultId(mapValue);
+        for (Map<String, Object> columnData : columnDataList) {
+            columnData.put("filters", setListMap(reboundResultTotal, columnData.get("prop").toString()));
+        }
+        PageListAdd pageList = new PageListAdd(reboundResult);
+        pageList.setColumnData(columnDataList);
+        return success(pageList);
+    }
+
+
+    Set<Map<String, Object>> setListMap(List<Map<String, Object>> list, String name) {
+        Set<Map<String, Object>> setString = new HashSet<>();
+        for (Map<String, Object> map : list) {
+            Map<String, Object> map1 = new HashMap<>();
+            map1.put("text", map.get(name));
+            if (map.get(name) != null) {
+                //判断是否是运力类型
+                if ("capacity_type".equals(name)) {
+                    switch (map.get(name).toString().trim()) {
+                        case "自有电车":
+                            map1.put("value", 0);
+                            break;
+                        case "自有汽车":
+                            map1.put("value", 1);
+                            break;
+                        case "社会车辆":
+                            map1.put("value", 2);
+                            break;
+                    }
+                } else {
+                    map1.put("value", map.get(name));
+                }
+                setString.add(map1);
+            }
+        }
+        return setString;
+    }
+
+}

+ 134 - 0
src/main/java/com/steerinfo/dil/controller/WmsOffSiteLibaryOutboundController.java

@@ -0,0 +1,134 @@
+package com.steerinfo.dil.controller;
+import com.steerinfo.dil.feign.ESFeign;
+import com.steerinfo.dil.model.WmsOffSiteLibaryOutbound;
+import com.steerinfo.dil.model.WmspGridMaterial;
+import com.steerinfo.dil.service.IWmsOffSiteLibaryOutboundService;
+import com.steerinfo.dil.service.IWmspGridMaterialService;
+import com.steerinfo.dil.service.impl.WmsOffSiteLibaryOutboundServiceImpl;
+import com.steerinfo.dil.service.impl.WmspGridMaterialServiceImpl;
+import com.steerinfo.dil.util.ColumnDataUtil;
+import com.steerinfo.dil.util.PageListAdd;
+import com.steerinfo.framework.controller.BaseRESTfulController;
+import com.steerinfo.framework.controller.RESTfulResult;
+import com.steerinfo.framework.service.pagehelper.PageHelper;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.math.BigDecimal;
+import java.util.*;
+
+/**
+ * WmsOffSiteLibaryOutbound RESTful接口:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-09-27 08:40
+ * 类描述
+ * 修订历史:
+ * 日期:2021-09-27
+ * 作者:generator
+ * 参考:
+ * 描述:WmsOffSiteLibaryOutbound RESTful接口
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+@RestController
+@RequestMapping("/${api.version}/wmsoffsitelibaryoutbounds")
+public class WmsOffSiteLibaryOutboundController extends BaseRESTfulController {
+    @Autowired
+    WmsOffSiteLibaryOutboundServiceImpl wmsOffSiteLibaryOutboundService;
+    @Autowired
+    ColumnDataUtil columnDataUtil;
+    @Autowired
+    ESFeign esFeign;
+    @Autowired
+    WmspGridMaterialServiceImpl wmspGridMaterialService;
+    @PostMapping("/ScanResultTag")
+    public  RESTfulResult ScanResultTag(@RequestBody(required = false) Map<String,Object> map){
+      WmsOffSiteLibaryOutbound wmsOffSiteLibaryOutbound=new WmsOffSiteLibaryOutbound();
+      //新增钢材出库实绩
+       String ResultTag= map.get("ResultTag").toString();
+      //获取装卸工id
+       Integer loaderId=Integer.parseInt(map.get("loaderId").toString());
+      wmsOffSiteLibaryOutbound.setOutboundScanTag(ResultTag);
+      wmsOffSiteLibaryOutbound.setLoaderId(new BigDecimal(loaderId));
+      wmsOffSiteLibaryOutbound.setInsertTime(new Date());
+      wmsOffSiteLibaryOutbound.setInsertUsername("admin");
+      //设置物资件数(默认一件)
+      wmsOffSiteLibaryOutbound.setOutboundMaterialNumber(new BigDecimal(1));
+      wmsOffSiteLibaryOutbound.setOutboundTime(new Date());
+      // 1.将传入的扫描信息进行分解
+       String[] tags=ResultTag.split("-");
+       Map<String,Object> map1=new HashMap<>();
+       map1.put("materialSpecification", tags[0]);
+       map1.put("steelSize", tags[1]);
+       map1.put("materialFurnaceNumber", tags[2]);
+       map1.put("materialLength", tags[3]);
+       map1.put("materialTheoreticalWeight", tags[4]);
+       map1.put("materialProductionDate", tags[5]);
+       map1.put("materialCode", tags[6]);
+       map1.put("materialOnlyCode", tags[7]);
+       map1.put("number",tags[8]);
+       //2.根据物资编码进行查找物资id
+       String materialOnlyCode= (String)map1.get("materialOnlyCode");
+       Integer materialId=wmsOffSiteLibaryOutboundService.selectMaterialIdByMaterialCode(materialOnlyCode);
+       wmsOffSiteLibaryOutbound.setMaterialId(new BigDecimal(materialId));
+       //3.根据物资编码进行查找对应物资所放的仓库网格id然后查找仓库
+       Integer warehouseId=wmsOffSiteLibaryOutboundService.selectWarehouseIdByMaterialCode(materialOnlyCode);
+       //设置仓库id
+        wmsOffSiteLibaryOutbound.setWarehouseId(new BigDecimal(warehouseId));
+       //4.获得物资理重
+       BigDecimal materialTheoreticalWeight=(BigDecimal) map1.get("materialTheoreticalWeight");
+       //5.设置物资理重
+       wmsOffSiteLibaryOutbound.setOutboundMaterialWeight(materialTheoreticalWeight);
+       wmsOffSiteLibaryOutboundService.insertSelective(wmsOffSiteLibaryOutbound);
+       return  success();
+   }
+//查询出库管理所需的物资信息
+@ApiOperation(value="展示钢材出库管理数据", notes="分页查询")
+@ApiImplicitParams({
+        @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
+        @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
+        @ApiImplicitParam(name = "apiId", value = "164", required = false, dataType = "BigDecimal"),
+})
+@PostMapping(value = "/getWmsOffsiteLibaryOutboundList")
+public RESTfulResult getWmsOffsiteLibaryOutboundList(@RequestBody(required = false) Map<String,Object> map,
+                                                     Integer pageNum,
+                                                     Integer pageSize,
+                                                     Integer apiId,
+                                                     String con
+){
+    if (con != null) {
+        if(!"undefined".equals(con)){
+            String index="get_wms_libaryoutbound";//设置要查询的索引名称
+            return success(esFeign.getConResult(map,index,apiId,pageNum,pageSize,con));//获取查询结果
+        }
+    }
+
+    List<Map<String, Object>> libaryOutBoundList = null;
+    if (map.size() == 0) {
+        //将查询结果存入索引中
+        libaryOutBoundList =   wmsOffSiteLibaryOutboundService.selectOffsiteLibaryOutbound(map);
+        Map<String, Object> map1 = new HashMap<>();
+        //添加索引
+        map1.put("index","get_wms_libaryoutbound");
+        //添加id
+        map1.put("indexId","libaryOutBoundId");
+        libaryOutBoundList.add(map1);
+        //新建索引
+        esFeign.insertIndex(libaryOutBoundList);
+        //删除
+        libaryOutBoundList.remove(libaryOutBoundList.size()-1);
+    }
+    if (libaryOutBoundList == null) {
+        libaryOutBoundList =  wmsOffSiteLibaryOutboundService.selectOffsiteLibaryOutbound(map);
+    }
+    PageHelper.startPage(pageNum,pageSize);
+    List<Map<String, Object>> columnList =  wmsOffSiteLibaryOutboundService.selectOffsiteLibaryOutbound(map);
+    PageListAdd pageList = columnDataUtil.tableColumnData(apiId, libaryOutBoundList,columnList);
+    return success(pageList);
+}
+
+
+}

+ 139 - 0
src/main/java/com/steerinfo/dil/controller/WmsOffSiteLibraryInboundController.java

@@ -0,0 +1,139 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.feign.ESFeign;
+import com.steerinfo.dil.model.WmsOffSiteLibraryInbound;
+import com.steerinfo.dil.model.WmspIntransitInventory;
+import com.steerinfo.dil.service.IWmsOffSiteLibraryInboundService;
+import com.steerinfo.dil.service.impl.WmsOffSiteLibraryInboundServiceImpl;
+import com.steerinfo.dil.util.ColumnDataUtil;
+import com.steerinfo.dil.util.PageListAdd;
+import com.steerinfo.framework.controller.BaseRESTfulController;
+import com.steerinfo.framework.controller.RESTfulResult;
+import com.steerinfo.framework.service.pagehelper.PageHelper;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.math.BigDecimal;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * WmsOffSiteLibraryInbound RESTful接口:
+ *
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-10-10 03:46
+ * 类描述
+ * 修订历史:
+ * 日期:2021-10-10
+ * 作者:generator
+ * 参考:
+ * 描述:WmsOffSiteLibraryInbound RESTful接口
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ * @see null
+ */
+@RestController
+@RequestMapping("/${api.version}/wmsoffsitelibraryinbounds")
+public class WmsOffSiteLibraryInboundController extends BaseRESTfulController {
+
+    @Autowired
+    WmsOffSiteLibraryInboundServiceImpl wmsOffSiteLibraryInboundService;
+    @Autowired
+    ColumnDataUtil columnDataUtil;
+    @Autowired
+    ESFeign esFeign;
+
+    //通过扫描吊牌获取物资信息
+    @PostMapping("/insertOffsiteLibraryInbound")
+    public RESTfulResult insertOffsiteLibraryInbound(@RequestBody(required = false) Map<String, Object> map) {
+        //从前端获取扫描结果
+        String ScanCodeText = map.get("ScanCodeText").toString();
+        //对扫描结果进行分割
+        String[] tag = ScanCodeText.split("\\-");
+        //根据物资唯一编码查找物资信息
+        Map<String, Object> map1 = wmsOffSiteLibraryInboundService.selectMaterialInfoByMaterialCode(tag[7]);
+        //根据物资信息查找运输订单
+        Integer materialSteelId = Integer.parseInt(map1.get("materialSteelId").toString());
+        Integer OrderType = wmsOffSiteLibraryInboundService.selectOrderTypeByMaterialSteelId(materialSteelId);
+        if (OrderType == 2) {
+            Integer warehouseId = wmsOffSiteLibraryInboundService.selectWarehouseIdByMaterialSteeelId(materialSteelId);
+            Integer WarehouseId = Integer.parseInt(map1.get("WarehouseId").toString());
+            //判断根据物资id查找的仓库id是否与前端传输的物资id相等
+            if (warehouseId == WarehouseId) {
+                //执行异地库入库实绩的新增
+                Integer weight = Integer.parseInt(map1.get("weight").toString());
+                Integer loaderId = Integer.parseInt(map.get("loaderId").toString());
+                //设置物资理重
+                WmsOffSiteLibraryInbound wmsOffSiteLibraryInbound = new WmsOffSiteLibraryInbound();
+                wmsOffSiteLibraryInbound.setInboundMaterialWeight(new BigDecimal(weight));
+                wmsOffSiteLibraryInbound.setWarehouseId(new BigDecimal(warehouseId));
+                wmsOffSiteLibraryInbound.setInboundScanTag(ScanCodeText);
+                wmsOffSiteLibraryInbound.setLoaderId(new BigDecimal(loaderId));
+                wmsOffSiteLibraryInboundService.insertOffLibraryInbound(wmsOffSiteLibraryInbound);
+            }
+            //执行在途库存减1
+            WmspIntransitInventory wmspIntransitInventory = new WmspIntransitInventory();
+            Integer inboundId = wmsOffSiteLibraryInboundService.selectTransitByMaterialOnlyCode(tag[7]);
+            wmspIntransitInventory.setId(new BigDecimal(inboundId));
+            wmspIntransitInventory.setDeleted(new BigDecimal(1));
+
+        } else {
+            return failed("稽核失败");
+        }
+        return success(map1);
+    }
+
+    //展示入库实绩表
+//查询出库管理所需的物资信息
+    @ApiOperation(value = "展示钢材入库管理数据", notes = "分页查询")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "apiId", value = "165", required = false, dataType = "BigDecimal"),
+    })
+    @PostMapping(value = "/getWmsOffsiteLibaryInboundList")
+    public RESTfulResult getWmsOffsiteLibaryInboundList(@RequestBody(required = false) Map<String, Object> map,
+                                                        Integer pageNum,
+                                                        Integer pageSize,
+                                                        Integer apiId,
+                                                        String con
+    ) {
+           if (con != null) {
+                if (!"undefined".equals(con)) {
+                    String index = "get_wms_libaryinbound";//设置要查询的索引名称
+                    return success(esFeign.getConResult(map, index, apiId, pageNum, pageSize, con));//获取查询结果
+                }
+            }
+
+            List<Map<String, Object>> libaryInBoundList = null;
+            if (map.size() == 0) {
+                //将查询结果存入索引中
+                libaryInBoundList = wmsOffSiteLibraryInboundService.selectInboundList(map);
+                Map<String, Object> map1 = new HashMap<>();
+                //添加索引
+                map1.put("index", "get_wms_libaryinbound");
+                //添加id
+                map1.put("indexId", "libaryInBoundId");
+                libaryInBoundList.add(map1);
+                //新建索引
+                esFeign.insertIndex(libaryInBoundList);
+                //删除
+                libaryInBoundList.remove(libaryInBoundList.size() - 1);
+            }
+            if (libaryInBoundList == null) {
+                libaryInBoundList = wmsOffSiteLibraryInboundService.selectInboundList(map);
+            }
+            PageHelper.startPage(pageNum, pageSize);
+            List<Map<String, Object>> columnList = wmsOffSiteLibraryInboundService.selectInboundList(map);
+            PageListAdd pageList = columnDataUtil.tableColumnData(apiId, libaryInBoundList, columnList);
+            return success(pageList);
+        }
+    }
+
+

+ 105 - 0
src/main/java/com/steerinfo/dil/controller/WmsReboundResultController.java

@@ -0,0 +1,105 @@
+package com.steerinfo.dil.controller;
+import com.steerinfo.dil.feign.ESFeign;
+import com.steerinfo.dil.service.IWmsInboundResultService;
+import com.steerinfo.dil.service.IWmsInboundScanResultService;
+import com.steerinfo.dil.service.WmsReboundResultService;
+import com.steerinfo.dil.service.impl.WmsInboundResultServiceImpl;
+import com.steerinfo.dil.service.impl.WmsInboundScanResultServiceImpl;
+import com.steerinfo.dil.service.impl.WmspReboundResultServiceImpl;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.dil.util.ColumnDataUtil;
+import com.steerinfo.dil.util.DataChange;
+import com.steerinfo.dil.util.PageListAdd;
+import com.steerinfo.framework.controller.RESTfulResult;
+import com.steerinfo.framework.service.pagehelper.PageHelper;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.math.BigDecimal;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+//退库
+@RestController
+@RequestMapping("${api.version}/reboundResult")
+public class WmsReboundResultController extends BaseRESTfulController {
+    @Autowired
+    private WmspReboundResultServiceImpl wmsReboundResultService;
+    @Autowired
+    private WmsInboundResultServiceImpl wmsInboundResultService;
+    @Autowired
+    private WmsInboundScanResultServiceImpl wmsInboundScanResultService;
+    @Autowired
+    ColumnDataUtil columnDataUtil;
+    @Autowired
+    ESFeign esFeign;
+
+
+    /**
+     * 展示退库实绩信息
+     * @param mapValue
+     * @param apiId
+     * @param pageNum
+     * @param pageSize
+     * @return
+     */
+    @PostMapping("/getWmsReboundResult")
+    @ApiOperation(value = "展示退库实绩信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "apiId", value = "161", required = false, dataType = "BigDecimal"),
+    })
+    public RESTfulResult getWmsReboundResult(@RequestBody(required = false) Map<String, Object> mapValue,
+                                             Integer apiId,
+                                             Integer pageNum,
+                                             Integer pageSize,
+                                             String con) {
+        if(con != null){
+            if(!"undefined".equals(con)){
+                String index = "get_wms_reboundResult";
+                return success(esFeign.getConResult(mapValue,index,apiId,pageNum,pageSize,con));
+            }
+        }
+        List<Map<String,Object>>reboundResultList = null;
+        if(mapValue.size() == 0){
+            //将查询结果存入索引中
+            reboundResultList = wmsInboundResultService.getReboundResult(mapValue);
+            Map<String, Object> inboundResultMap = new HashMap<>();
+            //添加索引
+            inboundResultMap.put("index","get_wms_reboundResult");
+            //添加ID
+            inboundResultMap.put("indexId","reboundResultId");
+            reboundResultList.add(inboundResultMap);
+            //新建索引
+            esFeign.insertIndex(reboundResultList);
+            //删除
+            reboundResultList.remove(reboundResultList.size() -1);
+        }
+        if(reboundResultList == null) {
+            reboundResultList = wmsInboundResultService.getReboundResult(mapValue);
+        }
+        /*分页*/
+        PageHelper.startPage(pageNum, pageSize);
+        List<Map<String,Object>> columnList = wmsInboundResultService.getReboundResult(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId,reboundResultList,columnList);
+        return success(pageList);
+    }
+
+    //新增退库实绩
+    @PostMapping("/insertReboundResult")
+    public RESTfulResult insertReboundResult(@RequestBody List<Map<String, Object>> map){
+         int a= wmsReboundResultService.addReboundResult(map);
+        //新增退库扫描实绩
+        return success(a);
+    }
+
+}

+ 156 - 0
src/main/java/com/steerinfo/dil/controller/WmspGridMaterialController.java

@@ -0,0 +1,156 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.feign.ESFeign;
+import com.steerinfo.dil.model.WmspGridMaterial;
+import com.steerinfo.dil.service.IWmspGridMaterialService;
+import com.steerinfo.dil.service.impl.WmspGridMaterialServiceImpl;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.dil.util.ColumnDataUtil;
+import com.steerinfo.dil.util.PageListAdd;
+
+import com.steerinfo.framework.controller.RESTfulResult;
+import com.steerinfo.framework.service.pagehelper.PageHelper;
+import com.steerinfo.framework.service.pagehelper.PageList;
+import com.steerinfo.framework.utils.collection.ListUtils;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.apache.xmlbeans.impl.xb.xsdschema.Public;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.math.BigDecimal;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+/**
+ * WmspGridMaterial RESTful接口:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-09-08 06:02
+ * 类描述
+ * 修订历史:
+ * 日期:2021-09-08
+ * 作者:generator
+ * 参考:
+ * 描述:WmspGridMaterial RESTful接口
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+@RestController
+@RequestMapping("/${api.version}/wmspgridmaterials")
+public class WmspGridMaterialController extends BaseRESTfulController {
+
+    @Autowired
+    WmspGridMaterialServiceImpl wmspGridMaterialService;
+    @Autowired
+    ColumnDataUtil columnDataUtil;
+    @Autowired
+    ESFeign esFeign;
+
+    @PostMapping(value = "/insertGridMaterial")
+    public RESTfulResult insertGridMaterial(@RequestBody WmspGridMaterial wmspGridMaterial) {
+        int code = wmspGridMaterialService.insertSelective(wmspGridMaterial);
+        return success(code);
+    }
+
+    @PostMapping(value = "/updateGridMeterial")
+    public RESTfulResult updateGridMeterial(@RequestBody WmspGridMaterial wmspGridMaterial) {
+        int data = wmspGridMaterialService.updateByPrimaryKeySelective(wmspGridMaterial);
+        return success(data);
+    }
+
+    // 查询实时库存
+    @ApiImplicitParam("api:167")
+    @PostMapping(value = "/selectGridMaterialList")
+    public RESTfulResult selectGridMaterialList(@RequestBody(required = false) Map<String, Object> mapVal,
+                                                Integer pageNum,
+                                                Integer pageSize,
+                                                Integer apiId,
+                                                String con) {
+        if (con != null) {
+            if (!"undefined".equals(con)) {
+                String index = "get_gird_materiallist";//设置要查询的索引名称
+                return success(esFeign.getConResult(mapVal, index, apiId, pageNum, pageSize, con));//获取查询结果
+            }
+        }
+
+        List<Map<String, Object>> libaryInBoundList = null;
+        if (mapVal.size() == 0) {
+            //将查询结果存入索引中
+            libaryInBoundList = wmspGridMaterialService.selectGridMaterial(mapVal);
+            Map<String, Object> map1 = new HashMap<>();
+            //添加索引
+            map1.put("index", "get_gird_materiallist");
+            //添加id
+            map1.put("indexId", "GridMaterialListId");
+            libaryInBoundList.add(map1);
+            //新建索引
+            esFeign.insertIndex(libaryInBoundList);
+            //删除
+            libaryInBoundList.remove(libaryInBoundList.size() - 1);
+        }
+        if (libaryInBoundList == null) {
+            libaryInBoundList = wmspGridMaterialService.selectGridMaterial(mapVal);
+        }
+        PageHelper.startPage(pageNum, pageSize);
+        List<Map<String, Object>> columnList = wmspGridMaterialService.selectGridMaterial(mapVal);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, libaryInBoundList, columnList);
+        //库龄预警
+        for (Map mapValue : columnList) {
+            BigDecimal gridId = (BigDecimal) mapValue.get("gridId");
+            List<Map<String, Object>> map2 = wmspGridMaterialService.selectInboundTimeAndThreshold(gridId);
+            //取出入库日期转换为时间戳
+            for (Map<String, Object> map1 : map2) {
+                Date inboundTime = (Date) map1.get("inboundTime");
+                Date date1 = new Date();
+                //当前时间减去入库日期
+                long data1 = date1.getTime() - inboundTime.getTime();
+                //日期
+                long days = data1 / (1000 * 60 * 60 * 24);
+                //小时
+                long hours = (data1 - days * (1000 * 60 * 60 * 24)) / (1000 * 60 * 60);
+                //分钟
+                long minutes = (data1 - days * (1000 * 60 * 60 * 24) - hours * (1000 * 60 * 60)) / (1000 * 60);
+                //获取标准值
+                BigDecimal max = (BigDecimal) map1.get("max");
+                Long Max = max.longValue();
+                BigDecimal min = (BigDecimal) map1.get("min");
+                Long Min = min.longValue();
+                if (days < Max && days >= Min) {
+                    return success();
+                }
+            }
+        }
+        return success(pageList);
+    }
+//统计实时库存数量
+@PostMapping(value = "/countByGmId")
+public RESTfulResult countByGmId() {
+    Long code = wmspGridMaterialService.countByGmId();
+    return success(code);
+}
+
+
+    // 通过成品仓库网格ID查询实时库存
+    @ApiImplicitParam("通过成品仓库网格ID查询实时库存")
+    @PostMapping(value = "/selectGridMaterialListByGridId")
+    public RESTfulResult selectGridMaterialListByGridId(BigDecimal gridId) {
+        Map<String,Object> mapVal = new HashMap<>();
+        mapVal.put("gridId",gridId);
+        List<Map<String, Object>> list = wmspGridMaterialService.selectGridMaterialListByGridId(mapVal);
+        return success(list);
+    }
+
+    // 修改物资钢材表的质量是否合格字段和逻辑删除
+    @ApiImplicitParam("修改物资钢材表的质量是否合格字段和逻辑删除")
+    @PostMapping(value = "/updateRmsMaterialSteelDemotion")
+    public RESTfulResult updateRmsMaterialSteelDemotion(@RequestBody Map<String,Object> map) {
+        int i = wmspGridMaterialService.updateRmsMaterialSteelDemotion(map);
+        return success(i);
+    }
+}
+
+
+
+

+ 49 - 0
src/main/java/com/steerinfo/dil/controller/WmspInboundCorrectController.java

@@ -0,0 +1,49 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.model.WmspInboundCorrectResult;
+import com.steerinfo.dil.service.impl.WmsInboundCorrectResultServiceImpl;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.framework.controller.RESTfulResult;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author luobang
+ * @create 2021-10-08 16:12
+ */
+@RestController
+@RequestMapping("${api.version}/inboundCorrectResult")
+public class WmspInboundCorrectController extends BaseRESTfulController {
+
+    @Autowired
+    WmsInboundCorrectResultServiceImpl wmsInboundCorrectResultServiceImpl;
+
+    @ApiOperation(value = "新增纠正吊牌实绩")
+    @PostMapping("/insertCorrectResult")
+    @Transactional
+    public RESTfulResult insertResult(@RequestBody(required = false) WmspInboundCorrectResult wmspInboundCorrectResult)  {
+
+        /*
+        完善纠正吊牌实绩
+         */
+        wmspInboundCorrectResult.setId(new BigDecimal(wmsInboundCorrectResultServiceImpl.count()+1));
+        wmspInboundCorrectResult.setInboundResultId(wmspInboundCorrectResult.getInboundResultId());
+        wmspInboundCorrectResult.setResultCorrectTime(new Date());
+        wmspInboundCorrectResult.setInsertUsername("admin");
+        wmspInboundCorrectResult.setInsertTime(new Date());
+        wmspInboundCorrectResult.setUpdateUsername("admin");
+        wmspInboundCorrectResult.setUpdateTime(new Date());
+        wmspInboundCorrectResult.setInsertUpdateRemark("无");
+        wmspInboundCorrectResult.setResultDeleted(new BigDecimal(1));
+        return success(wmsInboundCorrectResultServiceImpl.insertWmspInboundCorrect(wmspInboundCorrectResult));
+
+    }
+}

+ 107 - 0
src/main/java/com/steerinfo/dil/controller/WmspInboundDistributeController.java

@@ -0,0 +1,107 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.model.WmspInboundDistribute;
+import com.steerinfo.dil.service.IWmspInboundDistributeService;
+import com.steerinfo.framework.controller.BaseRESTfulController;
+import com.steerinfo.framework.controller.RESTfulResult;
+import com.steerinfo.framework.service.pagehelper.PageList;
+import com.steerinfo.framework.utils.collection.ListUtils;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.math.BigDecimal;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * WmspInboundDistribute RESTful接口:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2022-01-10 02:48
+ * 类描述
+ * 修订历史:
+ * 日期:2022-01-10
+ * 作者:generator
+ * 参考:
+ * 描述:WmspInboundDistribute RESTful接口
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+@RestController
+@RequestMapping("/${api.version}/wmspinbounddistributes")
+public class WmspInboundDistributeController extends BaseRESTfulController {
+
+    @Autowired
+    IWmspInboundDistributeService wmspInboundDistributeService;
+
+    @ApiOperation(value="获取列表", notes="分页查询")
+    @ApiImplicitParams({
+        @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
+        @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer")
+    })
+    //@RequiresPermissions("wmspinbounddistribute:view")
+    @GetMapping(value = "/")
+    public RESTfulResult list(@RequestParam HashMap parmas,Integer pageNum, Integer pageSize){
+        PageList<WmspInboundDistribute> list = wmspInboundDistributeService.queryForPage(parmas, pageNum, pageSize);
+        return success(list);
+    }
+
+    @ApiOperation(value="获取列表", notes="分页模糊查询")
+    @ApiImplicitParams({
+        @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
+        @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer")
+    })
+    //@RequiresPermissions("wmspinbounddistribute:view")
+    @GetMapping(value = "/like/")
+    public RESTfulResult listLike(@RequestParam HashMap parmas,Integer pageNum, Integer pageSize){
+        PageList<WmspInboundDistribute> list = wmspInboundDistributeService.queryLikeForPage(parmas, pageNum, pageSize);
+        return success(list);
+    }
+    
+    @ApiOperation(value="创建", notes="根据WmspInboundDistribute对象创建")
+    @ApiImplicitParam(name = "wmspInboundDistribute", value = "详细实体wmspInboundDistribute", required = true, dataType = "WmspInboundDistribute")
+    //@RequiresPermissions("wmspinbounddistribute:create")
+    @PostMapping(value = "/")
+    public RESTfulResult add(@ModelAttribute WmspInboundDistribute model){
+        WmspInboundDistribute wmspInboundDistribute = wmspInboundDistributeService.add(model);
+        return success(wmspInboundDistribute);
+    }
+
+    @ApiOperation(value="获取详细信息", notes="根据url的id来获取详细信息")
+    @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "Short")
+    //@RequiresPermissions("wmspinbounddistribute:view")
+    @GetMapping(value = "/{id}")
+    public RESTfulResult get(@PathVariable Short id){
+        WmspInboundDistribute wmspInboundDistribute = wmspInboundDistributeService.getById(id);
+        return success(wmspInboundDistribute);
+    }
+
+    @ApiOperation(value="更新详细信息", notes="根据url的id来指定更新对象,并根据传过来的wmspInboundDistribute信息来更新详细信息")
+    @ApiImplicitParams({
+        @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "Short"),
+        @ApiImplicitParam(name = "wmspInboundDistribute", value = "详细实体wmspInboundDistribute", required = true, dataType = "WmspInboundDistribute")
+    })
+    //@RequiresPermissions("wmspinbounddistribute:update")
+    @PutMapping(value = "/{id}", produces  = "application/json;charset=UTF-8")
+    public RESTfulResult update(@PathVariable BigDecimal id, @RequestBody WmspInboundDistribute model){
+        model.setId(id);
+        WmspInboundDistribute wmspInboundDistribute = wmspInboundDistributeService.modify(model);
+        return success(wmspInboundDistribute);
+    }
+
+    @ApiOperation(value="删除", notes="根据url的id来指定删除对象")
+    @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "Short")
+    //@RequiresPermissions("wmspinbounddistribute:delete")
+    @DeleteMapping(value = "/{id}")//Short
+    public RESTfulResult delete(@PathVariable String id){
+    	List<String> list = Arrays.asList(id.split(","));
+    	if(ListUtils.isNotEmpty(list)) {
+	    	List<Short> ids = ListUtils.convertList(list);
+			  wmspInboundDistributeService.delete(ids);
+    	}
+      return success();
+    }
+}

+ 29 - 0
src/main/java/com/steerinfo/dil/controller/WmspInboundDrivingController.java

@@ -0,0 +1,29 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.service.impl.WmsInboundDrivingResultServiceImpl;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author luobang
+ * @create 2021-10-09 14:07
+ */
+@RestController
+@RequestMapping("${api.version}/inboundStack")
+public class WmspInboundDrivingController extends BaseRESTfulController {
+
+    @Autowired
+    WmsInboundDrivingResultServiceImpl wmsInboundDrivingResultService;
+
+    @PostMapping("/getInboundStack")
+    @ApiOperation(value = "展示入库垛位")
+
+    public Integer getInboundStack(Integer DriverId){
+
+        return wmsInboundDrivingResultService.getInboundStack(DriverId);
+    }
+}

+ 128 - 0
src/main/java/com/steerinfo/dil/controller/WmspInboundGroupController.java

@@ -0,0 +1,128 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.feign.IMFeign;
+import com.steerinfo.dil.model.WmspInboundGroup;
+import com.steerinfo.dil.service.IWmspInboundGroupService;
+import com.steerinfo.framework.controller.BaseRESTfulController;
+import com.steerinfo.framework.controller.RESTfulResult;
+import com.steerinfo.framework.service.pagehelper.PageList;
+import com.steerinfo.framework.utils.collection.ListUtils;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.math.BigDecimal;
+import java.util.*;
+
+/**
+ * WmspInboundGroup RESTful接口:
+ * @author generator
+ * @version 1.0-SNAPBigDecimal 2022-01-07 12:02
+ * 类描述
+ * 修订历史:
+ * 日期:2022-01-07
+ * 作者:generator
+ * 参考:
+ * 描述:WmspInboundGroup RESTful接口
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+@RestController
+@RequestMapping("/${api.version}/wmspinboundgroups")
+public class WmspInboundGroupController extends BaseRESTfulController {
+
+
+    @Autowired
+    IWmspInboundGroupService wmspInboundGroupService;
+
+    @ApiOperation(value="获取列表", notes="分页查询")
+    @ApiImplicitParams({
+        @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
+        @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer")
+    })
+    //@RequiresPermissions("wmspinboundgroup:view")
+    @GetMapping(value = "/")
+    public RESTfulResult list(@RequestParam HashMap parmas,Integer pageNum, Integer pageSize){
+        PageList<WmspInboundGroup> list = wmspInboundGroupService.queryForPage(parmas, pageNum, pageSize);
+        return success(list);
+    }
+
+    @ApiOperation(value="获取列表", notes="分页模糊查询")
+    @ApiImplicitParams({
+        @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
+        @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer")
+    })
+    //@RequiresPermissions("wmspinboundgroup:view")
+    @GetMapping(value = "/like/")
+    public RESTfulResult listLike(@RequestParam HashMap parmas,Integer pageNum, Integer pageSize){
+        PageList<WmspInboundGroup> list = wmspInboundGroupService.queryLikeForPage(parmas, pageNum, pageSize);
+        return success(list);
+    }
+    
+    @ApiOperation(value="创建", notes="根据WmspInboundGroup对象创建")
+    @ApiImplicitParam(name = "wmspInboundGroup", value = "详细实体wmspInboundGroup", required = true, dataType = "WmspInboundGroup")
+    //@RequiresPermissions("wmspinboundgroup:create")
+    @PostMapping(value = "/")
+    public RESTfulResult add(@ModelAttribute WmspInboundGroup model){
+        WmspInboundGroup wmspInboundGroup = wmspInboundGroupService.add(model);
+        return success(wmspInboundGroup);
+    }
+
+
+
+    @ApiOperation(value="更新详细信息", notes="根据url的id来指定更新对象,并根据传过来的wmspInboundGroup信息来更新详细信息")
+    @ApiImplicitParams({
+        @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "BigDecimal"),
+        @ApiImplicitParam(name = "wmspInboundGroup", value = "详细实体wmspInboundGroup", required = true, dataType = "WmspInboundGroup")
+    })
+    //@RequiresPermissions("wmspinboundgroup:update")
+    @PutMapping(value = "/{id}", produces  = "application/json;charset=UTF-8")
+    public RESTfulResult update(@PathVariable BigDecimal id, @RequestBody WmspInboundGroup model){
+        model.setId(id);
+        WmspInboundGroup wmspInboundGroup = wmspInboundGroupService.modify(model);
+        return success(wmspInboundGroup);
+    }
+    @ApiOperation(value = "申请加入组",notes = "扫描加入组的信息")
+    @ApiImplicitParams(
+            @ApiImplicitParam(name="userid",value = "申请加入组用户的ID")
+    )
+    @PostMapping(value ="/joinGroup",produces  = "application/json;charset=UTF-8")
+    public RESTfulResult joinGroup(@RequestBody Map mapValue){
+        List mapValues=new ArrayList();
+        mapValues.add(mapValue);
+        String reult= wmspInboundGroupService.sendMessage(mapValues);
+        return success();
+    }
+
+    @ApiOperation(value = "创建分组",notes = "确定加入人员、创建分组")
+    @ApiImplicitParams(
+        {
+                @ApiImplicitParam(name="userid",value = "创建分组用户的ID"),
+                @ApiImplicitParam(name="otherUserid",value = "申请加入组用户的ID")
+        }
+    )
+    @PostMapping(value ="/createGrop",produces  = "application/json;charset=UTF-8")
+    public RESTfulResult createGrop(@RequestBody Map mapValue){
+
+        if ((!mapValue.get("userName").toString().equals(mapValue.get("otherUser").toString()))&&!mapValue.get("userName").toString().isEmpty()&&!mapValue.get("otherUser").toString().isEmpty()){
+            int statue=wmspInboundGroupService.createGrop(mapValue);
+            if (statue>0){
+                List mapValues=new ArrayList();
+                Map<String,Object> notice=new HashMap<>();
+                notice.put("messageType",7);
+                notice.put("receivePerson",mapValue.get("otherUser").toString());
+                notice.put("messageContent","success");
+                mapValues.add(notice);
+                String reult= wmspInboundGroupService.sendMessage(mapValues);
+                return success(statue);
+
+            }
+        }
+        return failed(0);
+
+    }
+
+
+}

+ 67 - 0
src/main/java/com/steerinfo/dil/controller/WmspIntransitInventoryController.java

@@ -0,0 +1,67 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.model.WmspIntransitInventory;
+import com.steerinfo.dil.service.IWmspIntransitInventoryService;
+import com.steerinfo.dil.service.impl.WmspIntransitInventoryServiceImpl;
+import com.steerinfo.dil.util.ColumnDataUtil;
+import com.steerinfo.dil.util.PageListAdd;
+import com.steerinfo.framework.controller.BaseRESTfulController;
+import com.steerinfo.framework.controller.RESTfulResult;
+import com.steerinfo.framework.service.pagehelper.PageHelper;
+import com.steerinfo.framework.service.pagehelper.PageList;
+import com.steerinfo.framework.utils.collection.ListUtils;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.math.BigDecimal;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * WmspIntransitInventory RESTful接口:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-10-11 01:08
+ * 类描述
+ * 修订历史:
+ * 日期:2021-10-11
+ * 作者:generator
+ * 参考:
+ * 描述:WmspIntransitInventory RESTful接口
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+@RestController
+@RequestMapping("/${api.version}/wmspintransitinventorys")
+public class WmspIntransitInventoryController extends BaseRESTfulController {
+
+    @Autowired
+    WmspIntransitInventoryServiceImpl wmspIntransitInventoryService;
+    @Autowired
+    ColumnDataUtil columnDataUtil;
+   //展示在途库存列表
+   @ApiOperation(value="显示在途库存列表", notes="分页查询")
+   @ApiImplicitParams({
+           @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
+           @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
+           @ApiImplicitParam(name = "apiId", value = "166", required = false, dataType = "BigDecimal"),
+   })
+   @PostMapping(value = "/getWmspIntransitInventory")
+   public RESTfulResult getWmspIntransitInventory(@RequestBody(required = false) Map<String,Object> map,
+                                                        Integer pageNum,
+                                                        Integer pageSize,
+                                                        Integer apiId
+   ){
+       List<Map<String,Object>> list = wmspIntransitInventoryService.selectTransitInventory(map);
+       PageHelper.startPage(pageNum, pageSize);
+
+       //分页查询数据
+       List<Map<String, Object>> columnList = wmspIntransitInventoryService.selectTransitInventory(map);
+       PageListAdd data = columnDataUtil.tableColumnData(apiId, list, columnList);
+       return success(data);
+   }
+}

+ 158 - 0
src/main/java/com/steerinfo/dil/controller/WmspInventoryCheckController.java

@@ -0,0 +1,158 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.feign.ColumnDataFeign;
+import com.steerinfo.dil.feign.ESFeign;
+import com.steerinfo.dil.model.WmspInventoryCheck;
+import com.steerinfo.dil.service.impl.WmspInventoryCheckServiceImpl;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.dil.util.ColumnDataUtil;
+import com.steerinfo.dil.util.PageListAdd;
+import com.steerinfo.framework.controller.RESTfulResult;
+import com.steerinfo.framework.service.pagehelper.PageHelper;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.math.BigDecimal;
+import java.util.*;
+
+/**
+ * @author luobang
+ * @create 2021-09-08 14:07
+ */
+@RestController
+@RequestMapping("${api.version}/inventoryCheck")
+public class WmspInventoryCheckController extends BaseRESTfulController {
+    @Autowired
+    ColumnDataUtil columnDataUtil;
+
+    @Autowired
+    ESFeign esFeign;
+
+    @Autowired
+    WmspInventoryCheckServiceImpl wmspInventoryCheckServiceImpl;
+
+    @PostMapping("/getInventoryCheck")
+    @ApiOperation(value = "展示库存盘点信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "apiId",value = "94",required = false,dataType = "BigDecimal"),
+    })
+    public RESTfulResult getInventoryCheck(@RequestBody(required = false) Map<String,Object> mapValue,
+                                             Integer apiId,
+                                             Integer pageNum,
+                                             Integer pageSize,
+                                             String  con
+                                             ){
+        if(con != null){
+            if(!"undefined".equals(con)){
+                String index = "get_wms_InventoryCheck";
+                return success(esFeign.getConResult(mapValue,index,apiId,pageNum,pageSize,con));
+            }
+        }
+        List<Map<String,Object>>inventoryCheckList = null;
+        if(mapValue.size() == 0){
+            //将查询结果存入索引中
+            inventoryCheckList = wmspInventoryCheckServiceImpl.getWmspInventoryCheck(mapValue);
+            Map<String, Object> inventoryCheckMap = new HashMap<>();
+            //添加索引
+            inventoryCheckMap.put("index","get_wms_InventoryCheck");
+            //添加ID
+            inventoryCheckMap.put("indexId","inventoryCheckId");
+            inventoryCheckList.add(inventoryCheckMap);
+            //新建索引
+            esFeign.insertIndex(inventoryCheckList);
+            //删除
+            inventoryCheckList.remove(inventoryCheckList.size() -1);
+        }
+        if(inventoryCheckList == null) {
+            inventoryCheckList = wmspInventoryCheckServiceImpl.getWmspInventoryCheck(mapValue);
+        }
+        /*分页*/
+        PageHelper.startPage(pageNum, pageSize);
+        List<Map<String,Object>> columnList = wmspInventoryCheckServiceImpl.getWmspInventoryCheck(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId,inventoryCheckList,columnList);
+        return success(pageList);
+    }
+
+    @PostMapping("/inventoryCheck")
+    @ApiOperation(value = "库存盘点")
+    public RESTfulResult inventoryCheck(@RequestBody(required = false) Map<String,Object> map){
+        /*
+        前台传过来三个数据:物资ID、仓库ID、账面总件数
+         */
+        //获取物资ID
+       BigDecimal materialId=new BigDecimal((Integer) map.get("materialId")) ;
+       //获取仓库ID
+       BigDecimal warehouseId=new BigDecimal((Integer) map.get("warehouseId"));
+       //获取账面总件数
+       BigDecimal totalBookNumber= new BigDecimal(Integer.parseInt(map.get("totalBookNumber").toString()));
+
+
+        /*
+        new一个map,存放物资id和仓库ID当查询条件
+        */
+        HashMap<String, Object> map1 = new HashMap<>();
+        map1.put("materialId",materialId);
+        map1.put("warehouseId",warehouseId);
+       /*
+       月初盘点总件数,根据物资ID和仓库ID去库存盘点表找上期的本期库存数
+       */
+       Integer lastCurrentBalance= wmspInventoryCheckServiceImpl.selectCurrentBalance(map1);
+
+
+
+       /*
+       获取本期收入,根据仓库ID、物资ID
+        */
+        Integer thisInbound= wmspInventoryCheckServiceImpl.selectThisInbound(map1);
+        /*
+        获取本期发出,根据仓库ID,物资ID
+         */
+        Integer thisOutbound= wmspInventoryCheckServiceImpl.selectThisOutbound(map1);
+
+        /*
+        本期库存=本期收入+月初盘点总件数-本期发出
+         */
+        Integer currentInventory=thisInbound+lastCurrentBalance-thisOutbound;
+         /*
+       根据物资ID、仓库ID获取实时库存(实际库存)
+        */
+        Integer realTimeInventory= wmspInventoryCheckServiceImpl.selectRealTimeInventory(map1);
+
+        /*
+        本月盈亏,电子账比实物账少一件盘盈,电子账比实物账多一件盘亏
+         */
+        Integer profitLoss=( realTimeInventory- totalBookNumber.intValue());
+        /*
+        完善库存盘点实绩
+         */
+        WmspInventoryCheck wmspInventoryCheck = new WmspInventoryCheck();
+        wmspInventoryCheck.setId(new BigDecimal(wmspInventoryCheckServiceImpl.count()+1));
+        wmspInventoryCheck.setCheckPeriod("每个月26号零点");
+        wmspInventoryCheck.setProductWarehouseId(warehouseId);
+        wmspInventoryCheck.setMaterialId(materialId);
+        wmspInventoryCheck.setCheckTotalBookNumber(totalBookNumber);
+        wmspInventoryCheck.setCheckMonthBeginTotalNumber(new BigDecimal(lastCurrentBalance));
+        wmspInventoryCheck.setCheckThisPeriodInbound(new BigDecimal(thisInbound));
+        wmspInventoryCheck.setCheckThisPeriodOutbound(new BigDecimal(thisOutbound));
+        wmspInventoryCheck.setCkeckCurrentBalance(new BigDecimal(currentInventory));
+        wmspInventoryCheck.setCkeckCurrentInventory(new BigDecimal(realTimeInventory));
+        wmspInventoryCheck.setCkeckProfitLossThePeriod(new BigDecimal(profitLoss));
+        wmspInventoryCheck.setInsertUsername("admin");
+        wmspInventoryCheck.setInsertTime(new Date());
+        wmspInventoryCheck.setUpdateUsername("admin");
+        wmspInventoryCheck.setUpdateTime(new Date());
+        wmspInventoryCheck.setInsertUpdateRemark("无");
+
+        wmspInventoryCheckServiceImpl.insertInventoryCheck(wmspInventoryCheck);
+
+       return  success();
+    }
+
+
+}

+ 77 - 0
src/main/java/com/steerinfo/dil/controller/WmspInventoryCloseController.java

@@ -0,0 +1,77 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.feign.ESFeign;
+import com.steerinfo.dil.service.impl.WmspInventoryCloseServiceImpl;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.dil.util.ColumnDataUtil;
+import com.steerinfo.dil.util.PageListAdd;
+import com.steerinfo.framework.controller.RESTfulResult;
+import com.steerinfo.framework.service.pagehelper.PageHelper;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.*;
+
+/**
+ * @author luobang
+ * @create 2021-09-08 14:44
+ */
+@RestController
+@RequestMapping("${api.version}/inventoryClose")
+public class WmspInventoryCloseController extends BaseRESTfulController {
+    @Autowired
+    ColumnDataUtil columnDataUtil;
+
+    @Autowired
+    ESFeign esFeign;
+
+    @Autowired
+    WmspInventoryCloseServiceImpl wmspInventoryCloseServiceImpl;
+
+        @PostMapping("/getInventoryClose")
+        @ApiOperation(value = "展示库存结转信息")
+        @ApiImplicitParams({
+                @ApiImplicitParam(name = "apiId",value = "95",required = false,dataType = "BigDecimal"),
+        })
+        public RESTfulResult getInventoryClose(@RequestBody(required = false) Map<String,Object> mapValue,
+                                               Integer apiId,
+                                               Integer pageNum,
+                                               Integer pageSize,
+                                               String  con){
+            if(con != null){
+                if(!"undefined".equals(con)){
+                    String index = "get_wms_InventoryClose";
+                    return success(esFeign.getConResult(mapValue,index,apiId,pageNum,pageSize,con));
+                }
+            }
+            List<Map<String,Object>>inventoryCloseList = null;
+            if(mapValue.size() == 0){
+                //将查询结果存入索引中
+                inventoryCloseList = wmspInventoryCloseServiceImpl.getWmspInventoryClose(mapValue);
+                Map<String, Object> inventoryCloseMap = new HashMap<>();
+                //添加索引
+                inventoryCloseMap.put("index","get_wms_InventoryClose");
+                //添加ID
+                inventoryCloseMap.put("indexId","inventoryCloseId");
+                inventoryCloseList.add(inventoryCloseMap);
+                //新建索引
+                esFeign.insertIndex(inventoryCloseList);
+                //删除
+                inventoryCloseList.remove(inventoryCloseList.size() -1);
+            }
+            if(inventoryCloseList == null) {
+                inventoryCloseList = wmspInventoryCloseServiceImpl.getWmspInventoryClose(mapValue);
+            }
+            /*分页*/
+            PageHelper.startPage(pageNum, pageSize);
+            List<Map<String,Object>> columnList = wmspInventoryCloseServiceImpl.getWmspInventoryClose(mapValue);
+            PageListAdd pageList = columnDataUtil.tableColumnData(apiId,inventoryCloseList,columnList);
+            return success(pageList);
+    }
+}

+ 140 - 0
src/main/java/com/steerinfo/dil/controller/WmspIvboundMakeResultController.java

@@ -0,0 +1,140 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.feign.ESFeign;
+import com.steerinfo.dil.model.WmspIvboundMakeResult;
+import com.steerinfo.dil.service.impl.WmspIvboundMakeResultServiceImpl;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.dil.util.ColumnDataUtil;
+import com.steerinfo.dil.util.PageListAdd;
+import com.steerinfo.framework.controller.RESTfulResult;
+import com.steerinfo.framework.service.pagehelper.PageHelper;
+import io.swagger.annotations.ApiImplicitParam;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * WmspGridMaterial RESTful接口:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-09-08 06:02
+ * 类描述
+ * 修订历史:
+ * 日期:2021-09-08
+ * 作者:generator
+ * 参考:
+ * 描述:WmspGridMaterial RESTful接口
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+@RestController
+@RequestMapping("/${api.version}/wmspivboundmakeresult")
+public class WmspIvboundMakeResultController extends BaseRESTfulController {
+
+    @Autowired
+    WmspIvboundMakeResultServiceImpl wmspIvboundMakeResultService;
+    @Autowired
+    ColumnDataUtil columnDataUtil;
+    @Autowired
+    ESFeign esFeign;
+
+    /**
+     * 新增倒库作业
+     * @param mapValue
+     * @return
+     */
+    @PostMapping(value = "/addIvboundMakeResult")
+    public RESTfulResult addIvboundMakeResult(@RequestBody Map<String,Object> mapValue) {
+        int code = wmspIvboundMakeResultService.addIvboundMakeResult(mapValue);
+        return success(code);
+    }
+    /**
+     * 修改倒库作业
+     * @param wmspIvboundMakeResult
+     * @return
+     */
+    @PostMapping(value = "/updateIvboundMakeResult")
+    public RESTfulResult updateIvboundMakeResult(@RequestBody WmspIvboundMakeResult wmspIvboundMakeResult) {
+        int data = wmspIvboundMakeResultService.updateIvboundMakeResult(wmspIvboundMakeResult);
+        return success(data);
+    }
+
+    /**
+     * 逻辑删除倒库作业
+     * @param resultId
+     * @return
+     */
+    @PostMapping(value = "/deleteIvboundMakeResult/{resultId}")
+    public RESTfulResult deleteIvboundMakeResult(@PathVariable("resultId") Integer resultId) {
+        int result = wmspIvboundMakeResultService.deleteIvboundMakeResult(new BigDecimal(resultId));
+        return success(result);
+    }
+
+    /**
+     * 查询倒库作业
+     * @param resultId
+     * @return
+     */
+    @PostMapping(value = "/selectIvboundMakeResult/{resultId}")
+    public RESTfulResult selectIvboundMakeResult(@PathVariable("resultId") Integer resultId) {
+        List<Map<String, Object>> mapList = wmspIvboundMakeResultService.selectIvboundMakeResult(new BigDecimal(resultId));
+        return success(mapList);
+    }
+
+    /**
+     * 展示倒库列表
+     * @param mapVal
+     * @param pageNum
+     * @param pageSize
+     * @param apiId
+     * @param con
+     * @return
+     */
+    @ApiImplicitParam("api:372")
+    @PostMapping(value = "/getIvboundMakeResultList")
+    public RESTfulResult getIvboundMakeResultList(@RequestBody(required = false) Map<String, Object> mapVal,
+                                                Integer pageNum,
+                                                Integer pageSize,
+                                                Integer apiId,
+                                                String con) {
+
+        if (con != null) {
+            if (!"undefined".equals(con)) {
+                String index = "get_ivbound_list";//设置要查询的索引名称
+                return success(esFeign.getConResult(mapVal, index, apiId, pageNum, pageSize, con));//获取查询结果
+            }
+        }
+
+        List<Map<String, Object>> libaryInBoundList = null;
+        if (mapVal.size() == 0) {
+            //将查询结果存入索引中
+            libaryInBoundList = wmspIvboundMakeResultService.getIvboundMakeResultList(mapVal);
+            Map<String, Object> map1 = new HashMap<>();
+            //添加索引
+            map1.put("index", "get_ivbound_list");
+            //添加id
+            map1.put("indexId", "resultId");
+            libaryInBoundList.add(map1);
+            //新建索引
+            esFeign.insertIndex(libaryInBoundList);
+            //删除
+            libaryInBoundList.remove(libaryInBoundList.size() - 1);
+        }
+        if (libaryInBoundList == null) {
+            libaryInBoundList = wmspIvboundMakeResultService.getIvboundMakeResultList(mapVal);
+        }
+        PageHelper.startPage(pageNum, pageSize);
+        List<Map<String, Object>> columnList = wmspIvboundMakeResultService.getIvboundMakeResultList(mapVal);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, libaryInBoundList, columnList);
+        return success(pageList);
+    }
+
+}
+
+
+
+

+ 475 - 0
src/main/java/com/steerinfo/dil/controller/WmspOutboundResultController.java

@@ -0,0 +1,475 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.feign.ESFeign;
+import com.steerinfo.dil.mapper.CommonSeq;
+import com.steerinfo.dil.model.WmspOutboundResult;
+import com.steerinfo.dil.model.WmspOutboundScanResult;
+import com.steerinfo.dil.service.IWmspOutboundResultService;
+import com.steerinfo.dil.service.impl.WmspOutboundResultServiceImpl;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.dil.util.ColumnDataUtil;
+import com.steerinfo.dil.util.DataChange;
+import com.steerinfo.dil.util.PageListAdd;
+import com.steerinfo.framework.controller.RESTfulResult;
+import com.steerinfo.framework.service.pagehelper.PageHelper;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+
+import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * WmspOutboundResult RESTful接口:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-09-08 10:35
+ * 类描述
+ * 修订历史:
+ * 日期:2021-09-08
+ * 作者:generator
+ * 参考:
+ * 描述:WmspOutboundResult RESTful接口
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+@RestController
+@RequestMapping("/${api.version}/wmspoutboundresults")
+public class WmspOutboundResultController extends BaseRESTfulController {
+
+    @Autowired
+    WmspOutboundResultServiceImpl wmspOutboundResultService;
+    @Autowired
+    CommonSeq commonSeq;
+    @Autowired
+    ESFeign esFeign;
+
+
+    /**
+     * 编写人:hukui
+     * PC端查看钢材出库实绩
+     * 参数:
+     *  apiId:表头id
+     *  pageSize:每页记录数
+     *  pageNum:查询页数
+     * 返回值:
+     *  data:所有出库单实绩
+     * */
+    @Autowired
+    ColumnDataUtil columnDataUtil;
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "apiId", value = "96", required = false, dataType = "BigDecimal"),
+    })
+    @PostMapping(value = "/getWmspOutboundResult")
+    public RESTfulResult getWmspOutboundResult(@RequestBody(required = false) Map<String, Object> mapval,
+                                               Integer pageNum,
+                                               Integer pageSize,
+                                               Integer apiId,
+                                               String con
+    ){
+
+        if (con != null) {
+            if (!"undefined".equals(con)) {
+                String index = "get_wms_outResult";//设置要查询的索引名称
+                return success(esFeign.getConResult(mapval, index, apiId, pageNum, pageSize, con));//获取查询结果
+            }
+        }
+
+        List<Map<String, Object>> libaryOutBoundList = null;
+        if (mapval.size() == 0) {
+            //将查询结果存入索引中
+            libaryOutBoundList = wmspOutboundResultService.selectResultNumber(mapval);
+            Map<String, Object> map1 = new HashMap<>();
+            //添加索引
+            map1.put("index", "get_wms_outresult");
+            //添加id
+            map1.put("indexId", "outBoundResultId");
+            libaryOutBoundList.add(map1);
+            //新建索引
+            esFeign.insertIndex(libaryOutBoundList);
+            //删除
+            libaryOutBoundList.remove(libaryOutBoundList.size() - 1);
+        }
+        if (libaryOutBoundList == null) {
+            libaryOutBoundList = wmspOutboundResultService.selectResultNumber(mapval);
+        }
+        PageHelper.startPage(pageNum, pageSize);
+        List<Map<String, Object>> columnList =wmspOutboundResultService.selectResultNumber(mapval);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, libaryOutBoundList, columnList);
+        return success(pageList);
+    }
+
+    /**
+     * 编写人:hukui
+     * 通过前端扫描司机运单二维码,新增出单实绩并返回新增的出库单实绩
+     * 参数:
+     *   mapval(运输订单号,订单类别)
+     * 返回值:
+     *   list:出库单实绩
+     * */
+    @Transactional
+    @PostMapping(value = "/insertWmspOutBoundResult")
+    public Map<String, Object> insertWmspOutBoundResult(@RequestBody(required = false) Map<String, Object> mapval){
+        /**拿到前端传递的运输订单号*/
+        String orderNumber = mapval.get("orderNumber").toString();
+        /**根据运输订单号,查询运输订单信息,*/
+        Map<String, Object> order = wmspOutboundResultService.getOrder(orderNumber);
+        /**拿运输订单信息中的运输订单Id*/
+        BigDecimal orderId = (BigDecimal) order.get("orderId");
+        /**根据运输订单号,查询出该订单还没有装货的物资*/
+        List<Map<String,Object>> orderList = wmspOutboundResultService.getMaterial(orderId.intValue());
+        //拿到还没装货的物资的物资编码
+        String materialCode = (String) orderList.get(0).get("materialCode");
+        //拿到还没装货的物资的物资名称
+        String materialName = (String) orderList.get(0).get("materialName");
+        //拿到还没装货的物资的规格
+        String materialSpecification = (String) orderList.get(0).get("materialSpecification");
+        //拿到还没装货的物资的型号
+        String materialModel = (String) orderList.get(0).get("materialModel");
+        //拿到还没装货的物资的物资理重
+        BigDecimal materialTheoreticalWeight = (BigDecimal) orderList.get(0).get("materialTheoreticalWeight");
+        //获取装卸工工号
+        //String personnelJobNumber = mapval.get("personnelJobNumber").toString();
+        //通过装卸工工号查询装卸工名称
+        //String personnelName = wmspOutboundResultService.getPersonnelNameByJobnumber(personnelJobNumber);
+
+        //拿到还没装货的物资id的第一条
+        BigDecimal materialId = (BigDecimal) orderList.get(0).get("materialId");
+        /**根据运输订单ID和物资id查询出库单(没有逻辑删除)
+         *          若orderNum大于0,则不是第一次扫描,已经新增出库单,返回详情信息
+         *          若orderNum等于0,则是第一次扫描,需要增加出库单,再返回详情信息
+         * */
+        Map<String,Object> map = new HashMap<>();
+        map.put("orderId",orderId);
+        map.put("materialId",materialId);
+        int orderNum = wmspOutboundResultService.ExistWmspOutboundResult(map);
+        //初始化出库单详情信息
+        Map<String, Object> outBoundDetailedInfo=null;
+        if(orderNum == 0){
+            /**创建出库单实体*/
+            WmspOutboundResult wmspOutboundResult = new WmspOutboundResult();
+            /**使用序列号增加生成主键id*/
+            int seq_wmspoutboundresult = commonSeq.getSeqNumber("seq__WMSP_OUTBOUND_RESULT");
+            /**获取到当前时间*/
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+            /**生成出库单编号*/
+            String resultNumber = "XSCK" + sdf.format(new Date());
+            if(seq_wmspoutboundresult < 10){
+                resultNumber += "0000000" + seq_wmspoutboundresult;
+            }else if(seq_wmspoutboundresult < 100){
+                resultNumber += "000000" + seq_wmspoutboundresult;
+            }else if(seq_wmspoutboundresult < 1000){
+                resultNumber += "00000" + seq_wmspoutboundresult;
+            }else if(seq_wmspoutboundresult < 10000){
+                resultNumber += "0000" + seq_wmspoutboundresult;
+            }else  if(seq_wmspoutboundresult < 100000){
+                resultNumber += "000" + seq_wmspoutboundresult;
+            }else if(seq_wmspoutboundresult < 1000000){
+                resultNumber += "00" + seq_wmspoutboundresult;
+            }else if(seq_wmspoutboundresult < 10000000){
+                resultNumber += "0" + seq_wmspoutboundresult;
+            }else{
+                resultNumber += seq_wmspoutboundresult;
+            }
+            /**拿到运输订单类型*/
+            BigDecimal orderType = (BigDecimal) order.get("orderType");
+            /**运输订单类型判断
+             *    orderType : 1 为普通出库
+             *    orderType : 4 为调拨出库
+             * */
+            String resultOutboundType = "普通出库";
+            if(orderType.intValue() == 4){
+                resultOutboundType = "调拨出库";
+            }
+            /**把出库单主键id添加到出库单实体中*/
+            wmspOutboundResult.setResultId(new BigDecimal(seq_wmspoutboundresult));
+            /**把出库单编号添加到出库单实体中*/
+            wmspOutboundResult.setResultNumber(resultNumber);
+            /**把运输订单主键添加到出库单实体中*/
+            wmspOutboundResult.setBillLadingId(orderId);
+            /**把出库类型添加到出库单实体中*/
+            wmspOutboundResult.setResultOutboundType(resultOutboundType);
+            /**第一次添加为待出库*/
+            wmspOutboundResult.setResultStatus(new BigDecimal(0));
+            //常规字段
+            wmspOutboundResult.setInsertUsername("admin");
+            wmspOutboundResult.setInsertTime(new Date());
+            wmspOutboundResult.setUpdateUsername("admin");
+            wmspOutboundResult.setUpdateTime(new Date());
+            wmspOutboundResult.setInsertUpdateRemark("无");
+            wmspOutboundResult.setDeleted(new BigDecimal(0));
+            //还没装货的物资id的第一条添加到出库单实体中
+            wmspOutboundResult.setMaterialId(materialId);
+            Integer res = wmspOutboundResultService.insertSelective(wmspOutboundResult);
+            if(res == 1){
+                //返回出库单详情信息
+                outBoundDetailedInfo = wmspOutboundResultService.getOutBoundDetailedInfo(orderId);
+                outBoundDetailedInfo.put("orderNumber",orderNumber);
+//                outBoundDetailedInfo.put("personnelName",personnelName);
+                outBoundDetailedInfo.put("materialCode",materialCode);
+                outBoundDetailedInfo.put("materialName",materialName);
+                outBoundDetailedInfo.put("materialSpecification",materialSpecification);
+                outBoundDetailedInfo.put("materialModel",materialModel);
+                outBoundDetailedInfo.put("materialTheoreticalWeight",materialTheoreticalWeight);
+            }
+        }else{
+            //返回出库单详情信息
+            outBoundDetailedInfo = wmspOutboundResultService.getOutBoundDetailedInfo(orderId);
+            outBoundDetailedInfo.put("orderNumber",orderNumber);
+//            outBoundDetailedInfo.put("personnelName",personnelName);
+            outBoundDetailedInfo.put("materialCode",materialCode);
+            outBoundDetailedInfo.put("materialName",materialName);
+            outBoundDetailedInfo.put("materialSpecification",materialSpecification);
+            outBoundDetailedInfo.put("materialModel",materialModel);
+            outBoundDetailedInfo.put("materialTheoreticalWeight",materialTheoreticalWeight);
+        }
+        return outBoundDetailedInfo;
+    }
+
+    /**
+     * 编写人:zouzhendon
+     * PDA前端装卸工拒绝扫描出的运输订单,并逻辑删除出库单
+     * 参数:
+     *   resultId(出库单Id)
+     * 返回值:
+     *   int:是否逻辑删除出库单
+     * */
+    @PostMapping(value = "/deletewmspOutboundResult")
+    public RESTfulResult deleteWmspOutboundResult(@RequestParam Integer resultId){
+        //通过出库单Id逻辑删除出库单
+        int i = wmspOutboundResultService.deleteWmspOutboundResult(new BigDecimal(resultId));
+        return success(i);
+    }
+
+    /**
+     * 编写人:zouzhendon
+     * 装卸工PDA前端扫描钢材吊牌二维码,新增出库单扫描实绩并返回已扫描并稽核成功的物资信息
+     * 参数:
+     *   map(resultNumber 出库单号,personnelJobNumber 装卸工工号 resultMaterial 装卸工扫描吊牌结果)
+     * 返回值:
+     *   list:出库单实绩
+     * */
+    @PostMapping(value = "/insertwmspOutboundScanResult")
+    public synchronized RESTfulResult insertwmspOutboundScanResult(@RequestBody(required = false) Map<String, Object> map){
+        //获取装卸工扫描吊牌结果                                                           HRB400-14-21706854-9-3049-280-20211001015115-7a63cd87a4095e7f-08010103010100003-4
+        String resultMaterial = (String) map.get("resultMaterial");
+        String subResultMaterial = resultMaterial.substring(0,resultMaterial.length() - 1);
+        //获取出库单号
+        Integer resultId1 = (Integer) map.get("resultId");
+        //通过出库单号查询出库实绩ID
+        BigDecimal resultId = new BigDecimal(resultId1);
+        /**根据扫描结果查询扫描实绩
+         *          若scanCount大于0,则不是第一次扫描,已经新增出库扫描实绩,返回已扫描过
+         *          若scanCount等于0,则是第一次扫描,需要增加出库扫描实绩,再返回已扫描并稽核成功的物资信息
+         * */
+        int scanCount = wmspOutboundResultService.ExistScanResult(subResultMaterial);
+        if(scanCount==0){
+            //wmspOutboundResultService.getOutBoundId(resultNumber);
+            //获取装卸工工号
+            String personnelJobNumber = (String) map.get("personnelJobNumber");
+            //通过装卸工工号查询装卸工Id
+            BigDecimal personnelId = wmspOutboundResultService.getPersonnelIdByJobnumber(personnelJobNumber);
+            //通过出库实绩Id判断出库单已扫描的件数是否等于运输订单物资表的物资件数
+            int EqualMaterialsNumber = wmspOutboundResultService.EqualMaterialsNumber(resultId);
+            if(EqualMaterialsNumber==1){
+                //相等返回装货数量已够
+                return failed("装货数量已够");
+            }else {
+                //截取扫描结果,得到物资唯一编码
+                String[] split = resultMaterial.split("-");
+                //唯一编码
+                String MaterialOnlyCode=split[7];
+                //通过物资物资唯一编码查询钢材物资表的物资Id
+                BigDecimal SteelMaterialId = wmspOutboundResultService.getSteelMaterialIdByMaterialOnlyCode(MaterialOnlyCode);
+                //通过出库实绩Id查询物资Id
+                BigDecimal OutboundMaterialId = wmspOutboundResultService.getOutboundMaterialByResultId(resultId);
+
+                //初始化出库扫描实绩
+                WmspOutboundScanResult wmspOutboundScanResult = new WmspOutboundScanResult();
+
+                //使用序列号增加生成主键id
+                int seq_wmspOutboundScanResult = commonSeq.getSeqNumber("seq__WMSP_OUTBOUND_SCAN_RESULT");
+                //插入主键id
+                wmspOutboundScanResult.setResultId(new BigDecimal(seq_wmspOutboundScanResult));
+                //插入出库实绩ID
+                wmspOutboundScanResult.setOutboundResultId(resultId);
+                //插入装卸工Id
+                wmspOutboundScanResult.setLoadId(personnelId);
+                //插入装卸工扫描吊牌结果
+                wmspOutboundScanResult.setResultMaterial(resultMaterial);
+                //插入装卸工扫描吊牌时间
+                wmspOutboundScanResult.setResultLoadTime(new Date());
+                //插入出库物资数量
+                wmspOutboundScanResult.setOutboundMaterialNumber(new BigDecimal(1));
+                //常规字段
+                wmspOutboundScanResult.setInsertUsername("admin");
+                wmspOutboundScanResult.setInsertTime(new Date());
+                wmspOutboundScanResult.setUpdateUsername("admin");
+                wmspOutboundScanResult.setUpdateTime(new Date());
+                wmspOutboundScanResult.setInsertUpdateRemark("无");
+                if(SteelMaterialId.intValue()==OutboundMaterialId.intValue()){
+                    //稽核成功,设定扫描实绩稽核结果为成功
+                    wmspOutboundScanResult.setResultCheck(new BigDecimal(0));
+                    //插入扫描实绩
+                    wmspOutboundResultService.scanResultInsert(wmspOutboundScanResult);
+                }else {
+                    //稽核失败,设定扫描实绩稽核结果为失败
+                    wmspOutboundScanResult.setResultCheck(new BigDecimal(1));
+                    //插入扫描实绩
+                    wmspOutboundResultService.scanResultInsert(wmspOutboundScanResult);
+                }
+                //返回已扫描并并稽核成功的物资信息
+                //1、获取出库单统一信息
+                //获取月台Id
+                //BigDecimal platformId = wmspOutboundResultService.getPlatformIdByResultId(resultId);
+                //通过月台Id获取仓库名
+                //String warehouseName = wmspOutboundResultService.getWarehouseNameByPlatformId(platformId);
+                //获取出库单统一部分信息
+                Map<String,Object> theSameOutboundInfo = wmspOutboundResultService.theSameOutboundInfo(resultId);
+                //theSameOutboundInfo.put("warehouseName",warehouseName);
+                //2、获取出库扫描实绩数据
+                List<Map<String,Object>> scanAuditSuccessInfo = wmspOutboundResultService.scanAuditSuccessInfo(resultId);
+                //补全出库扫描实绩数据的信息
+                for (Map<String, Object> stringObjectMap : scanAuditSuccessInfo) {
+                    String resultMaterial1 = (String) stringObjectMap.get("resultMaterial");
+                    //截取扫描结果,得到一件物资的详细信息
+                    String[] split1 = resultMaterial1.split("-");
+                    //规格
+                    String Specification="Φ"+split1[1];
+                    stringObjectMap.put("Specification",Specification);
+                    //型号
+                    String Model=split1[0];
+                    stringObjectMap.put("Model",Model);
+                    //炉号
+                    String FurnaceNumber=split1[2];
+                    stringObjectMap.put("FurnaceNumber",FurnaceNumber);
+                    //理重
+                    String TheoreticalWeight=split1[4];
+                    stringObjectMap.put("TheoreticalWeight",TheoreticalWeight);
+                    //唯一编码
+                    String MaterialOnlyCode1=split1[7];
+                    stringObjectMap.put("MaterialOnlyCode",MaterialOnlyCode1);
+                    //通过唯一编码获取物资名称、计量单位、垛位
+                    Map<String,Object> otherMap = wmspOutboundResultService.getOtherInfoByMaterialOnlyCode(MaterialOnlyCode1);
+                    //取出再放入物资名称
+                    String materialName = otherMap.get("materialName").toString();
+                    stringObjectMap.put("materialName",materialName);
+                    //取出再放入计量单位
+                    String unitOfMeasureName = otherMap.get("unitOfMeasureName").toString();
+                    stringObjectMap.put("unitOfMeasureName",unitOfMeasureName);
+                    //取出再放入垛位
+                    String stackingNo = otherMap.get("stackingNo").toString();
+                    stringObjectMap.put("stackingNo",stackingNo);
+                    //合并出库单统一信息map
+                    stringObjectMap.putAll(theSameOutboundInfo);
+                }
+                return success(scanAuditSuccessInfo);
+            }
+        }else{
+            //返回已扫描并并稽核成功的物资信息
+            //1、获取出库单统一信息
+            //获取月台Id
+            //BigDecimal platformId = wmspOutboundResultService.getPlatformIdByResultId(resultId);
+            //通过月台Id获取仓库名
+            //String warehouseName = wmspOutboundResultService.getWarehouseNameByPlatformId(platformId);
+            //获取出库单统一部分信息
+            Map<String,Object> theSameOutboundInfo = wmspOutboundResultService.theSameOutboundInfo(resultId);
+            //theSameOutboundInfo.put("warehouseName",warehouseName);
+            //2、获取出库扫描实绩数据
+            List<Map<String,Object>> scanAuditSuccessInfo = wmspOutboundResultService.scanAuditSuccessInfo(resultId);
+            //补全出库扫描实绩数据的信息
+            for (Map<String, Object> stringObjectMap : scanAuditSuccessInfo) {
+                String resultMaterial1 = (String) stringObjectMap.get("resultMaterial");
+                //截取扫描结果,得到一件物资的详细信息
+                String[] split1 = resultMaterial1.split("-");
+                //规格
+                String Specification = "Φ" + split1[1];
+                stringObjectMap.put("Specification", Specification);
+                //型号
+                String Model = split1[0];
+                stringObjectMap.put("Model", Model);
+                //炉号
+                String FurnaceNumber = split1[2];
+                stringObjectMap.put("FurnaceNumber", FurnaceNumber);
+                //理重
+                String TheoreticalWeight = split1[4];
+                stringObjectMap.put("TheoreticalWeight", TheoreticalWeight);
+                //唯一编码
+                String MaterialOnlyCode1 = split1[7];
+                stringObjectMap.put("MaterialOnlyCode", MaterialOnlyCode1);
+                //通过唯一编码获取物资名称、计量单位、垛位
+                Map<String, Object> otherMap = wmspOutboundResultService.getOtherInfoByMaterialOnlyCode(MaterialOnlyCode1);
+                //取出再放入物资名称
+                String materialName = otherMap.get("materialName").toString();
+                stringObjectMap.put("materialName", materialName);
+                //取出再放入计量单位
+                String unitOfMeasureName = otherMap.get("unitOfMeasureName").toString();
+                stringObjectMap.put("unitOfMeasureName", unitOfMeasureName);
+                //取出再放入垛位
+                String stackingNo = otherMap.get("stackingNo").toString();
+                stringObjectMap.put("stackingNo", stackingNo);
+                //合并出库单统一信息map
+                stringObjectMap.putAll(theSameOutboundInfo);
+            }
+            return success(scanAuditSuccessInfo);
+        }
+    }
+
+
+    /**
+     * 编写人:hujianguo
+     * 装卸工PDA前端点击出库
+     * 参数:
+     *   resultId
+     * 返回值:
+     *   result:出库成功标志
+     * */
+    @ApiOperation(value = "出库(非0:成功,0:失败)")
+    @PostMapping("/outbountResultToSuccess")
+    public RESTfulResult outbountResultToSuccess(@RequestParam Integer resultId) {
+        int result = wmspOutboundResultService.outbountResultToSuccess(resultId);
+        if (result == 0) {
+            return failed("还未扫描完,请继续!");
+        }
+        else {
+            return success(result);
+        }
+    }
+
+    /**
+     * 编写人:hukui
+     * 通过前端扫描司机运单二维码,新增出单实绩并返回新增的出库单实绩
+     * 参数:
+     *   mapval(运输订单号,订单类别)
+     * 返回值:
+     *   list:出库单实绩
+     * */
+    @PostMapping(value = "/updataResultStatus")
+    public RESTfulResult updataResultStatus(@RequestBody(required = false) Integer resultId){
+        // 创建一个出库单实体
+        WmspOutboundResult wmspOutboundResult = new WmspOutboundResult();
+        // 把前端传递的出库单主键id赋值给实体
+        wmspOutboundResult.setResultId(new BigDecimal(resultId));
+        // 把出库单状态改为已出库
+        wmspOutboundResult.setResultStatus(new BigDecimal(1));
+        int i = wmspOutboundResultService.updateByPrimaryKeySelective(wmspOutboundResult);
+        return success(i);
+    }
+    /**
+     * 司机扫描订单二维码进行倒库,首先根据运输订单号查找运输订单,
+     *
+     */
+    @PostMapping("/insertOutBoundResult")
+    public  RESTfulResult insertOutBoundResult(@RequestBody(required = false) Map<String, Object> map){
+        return success();
+    }
+}
+

+ 166 - 0
src/main/java/com/steerinfo/dil/controller/WmspOutboundScanResultController.java

@@ -0,0 +1,166 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.mapper.CommonSeq;
+import com.steerinfo.dil.model.WmspOutboundScanResult;
+import com.steerinfo.dil.service.IWmspOutboundResultService;
+import com.steerinfo.dil.service.impl.WmspOutboundResultServiceImpl;
+import com.steerinfo.dil.service.impl.WmspOutboundScanResultServiceImpl;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.framework.controller.RESTfulResult;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * WmspOutboundScanResult RESTful接口:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-09-26 02:27
+ * 类描述
+ * 修订历史:
+ * 日期:2021-09-26
+ * 作者:generator
+ * 参考:
+ * 描述:WmspOutboundScanResult RESTful接口
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+@RestController
+@RequestMapping("/${api.version}/wmspoutboundscanresults")
+public class WmspOutboundScanResultController extends BaseRESTfulController {
+
+    @Autowired
+    WmspOutboundScanResultServiceImpl wmspOutboundScanResultService;
+    @Autowired
+    CommonSeq commonSeq;
+    @Autowired
+    WmspOutboundResultServiceImpl wmspOutboundResultService;
+
+    /**
+     * 编写人:hukui
+     * 新增出单实绩并返回出库单详情
+     * 参数:mapval(运输订单号,订单类别)
+     * 返回:出库单实绩实体
+     * */
+    @PostMapping(value = "/insertWmspOutboundScanResult")
+    public RESTfulResult insertWmspOutboundScanResult(@RequestBody(required = false) Map<String, Object> mapval){
+        //拿到前端传递过来的扫描结果
+        String ScanCodeText = mapval.get("ScanCodeText").toString();
+        String[] tag = ScanCodeText.split("\\-");
+        //拿到前端传递的当前登录用户id
+        Integer loadId = (Integer)mapval.get("loadId");
+        //出库单实绩id
+        Integer resultId = (Integer)mapval.get("resultId");
+        //根据出库单实绩id查询物资编码
+        String materialCode = wmspOutboundResultService.getmaterialCode(resultId);
+        Integer jh ;
+        System.out.println(materialCode);
+        if(materialCode.equals(tag[8])){
+            System.out.println("相同");
+            jh = 0;
+        }else{
+            System.out.println("不相同");
+            jh = 1;
+        }
+        //物资件数
+        Integer wzjs = 1;
+        //新增扫描实绩主键id
+        Integer seqWmspOutboundScanResult = commonSeq.getSeqNumber("seq__WMSP_OUTBOUND_SCAN_RESULT");
+        //创建一个扫描实绩的实体
+        WmspOutboundScanResult wmspOutboundScanResult = new WmspOutboundScanResult();
+        //主键id
+        wmspOutboundScanResult.setResultId(new BigDecimal(seqWmspOutboundScanResult));
+        //出库单实绩id
+        wmspOutboundScanResult.setOutboundResultId(new BigDecimal(resultId));
+        //装卸工id
+        wmspOutboundScanResult.setLoadId(new BigDecimal(loadId));
+        //扫描结果
+        wmspOutboundScanResult.setResultMaterial(ScanCodeText);
+        //扫描时间
+        wmspOutboundScanResult.setResultLoadTime(new Date());
+        //物资件数
+        wmspOutboundScanResult.setOutboundMaterialNumber(new BigDecimal(wzjs));
+        //稽核结果
+        wmspOutboundScanResult.setResultCheck(new BigDecimal(jh));
+        //调用service层的添加方法
+        Integer i = wmspOutboundScanResultService.insertSelective(wmspOutboundScanResult);
+        if(i == 1){
+            //根据出库单id查询出库单扫描成功的扫描结果
+            List<Map<String, Object>> list = wmspOutboundScanResultService.getResultMaterial(resultId);
+            //通过物资唯一编码找寻物资名称、规格型号、物资唯一编码和物资质检是否合格
+            System.out.println(list);
+            List<Map<String, Object>> Listmap = null;
+            for(Map e:list ){
+                String materialOnlyCode = e.get("RESULT_MATERIAL").toString();
+                String[] tag1 = materialOnlyCode.split("\\-");
+                Listmap = wmspOutboundScanResultService.getRmsMaterial(tag1[7]);
+            }
+            return success(Listmap);
+        }
+        return failed();
+    }
+/*
+ *倒垛单新增扫描吊牌实绩
+ */
+@PostMapping(value = "/AddWmspOutboundScanResult")
+public RESTfulResult AddWmspOutboundScanResult(@RequestBody(required = false) Map<String, Object> mapval){
+    //拿到前端传递过来的扫描结果
+    String ScanCodeText = mapval.get("ScanCodeText").toString();
+    String[] tag = ScanCodeText.split("\\-");
+    //拿到前端传递的当前登录用户id
+    Integer loadId = (Integer)mapval.get("loadId");
+    //倒库单实绩id
+    Integer resultId = (Integer)mapval.get("resultId");
+    //根据倒库单实绩id查询物资编码
+    String materialCode = wmspOutboundResultService.getmaterialCode(resultId);
+    Integer jh ;
+    System.out.println(materialCode);
+    if(materialCode.equals(tag[8])){
+//        System.out.println("相同");
+        jh = 0;
+    }else{
+//        System.out.println("不相同");
+        jh = 1;
+    }
+    //新增扫描实绩主键id
+    Integer seqWmspOutboundScanResult = commonSeq.getSeqNumber("seq__WMSP_OUTBOUND_SCAN_RESULT");
+    //创建一个扫描实绩的实体
+    WmspOutboundScanResult wmspOutboundScanResult = new WmspOutboundScanResult();
+    //主键id
+    wmspOutboundScanResult.setResultId(new BigDecimal(seqWmspOutboundScanResult));
+    //出库单实绩id
+    wmspOutboundScanResult.setOutboundResultId(new BigDecimal(resultId));
+    //装卸工id
+    wmspOutboundScanResult.setLoadId(new BigDecimal(loadId));
+    //扫描结果
+    wmspOutboundScanResult.setResultMaterial(ScanCodeText);
+    //扫描时间
+    wmspOutboundScanResult.setResultLoadTime(new Date());
+    //物资件数
+    wmspOutboundScanResult.setOutboundMaterialNumber(new BigDecimal(1));
+    //稽核结果
+    wmspOutboundScanResult.setResultCheck(new BigDecimal(jh));
+    //调用service层的添加方法
+    Integer i = wmspOutboundScanResultService.insertSelective(wmspOutboundScanResult);
+    if(i == 1){
+        //根据出库单id查询出库单扫描成功的扫描结果
+        List<Map<String, Object>> list = wmspOutboundScanResultService.getResultMaterial(resultId);
+        //通过物资唯一编码找寻物资名称、规格型号、物资唯一编码和物资质检是否合格
+        System.out.println(list);
+        List<Map<String, Object>> Listmap = null;
+        for(Map e:list ){
+            String materialOnlyCode = e.get("RESULT_MATERIAL").toString();
+            String[] tag1 = materialOnlyCode.split("\\-");
+            Listmap = wmspOutboundScanResultService.getRmsMaterial(tag1[7]);
+        }
+        return success(Listmap);
+    }
+    return failed();
+}
+}

+ 47 - 0
src/main/java/com/steerinfo/dil/controller/WmspRestackDrivingResultController.java

@@ -0,0 +1,47 @@
+package com.steerinfo.dil.controller;
+import com.steerinfo.dil.service.impl.WmspRestackDrivingResultServiceImpl;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.framework.controller.RESTfulResult;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * WmspRestackDrivingResult RESTful接口:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-11-30 04:58
+ * 类描述
+ * 修订历史:
+ * 日期:2021-11-30
+ * 作者:generator
+ * 参考:
+ * 描述:WmspRestackDrivingResult RESTful接口
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+@RestController
+@RequestMapping("/${api.version}/wmsprestackdrivingresults")
+public class WmspRestackDrivingResultController extends BaseRESTfulController {
+
+    @Autowired
+    WmspRestackDrivingResultServiceImpl wmspRestackDrivingResultService;
+
+    //移动端展示行车工接收倒垛单
+    @PostMapping("/selectDrivingResultForMobile")
+    public  RESTfulResult selectDrivingResultForMobile(@RequestBody(required = false) Map<String,Object> map
+    ){
+        List<Map<String,Object>> list=wmspRestackDrivingResultService.selectDrivingResult(map);
+        return  success(list);
+    }
+    //下发给行车工
+    @PostMapping("/updateInstruction")
+    public  RESTfulResult updateInstruction(@RequestBody(required = false) Map<String,Object> map){
+        int i=wmspRestackDrivingResultService.updateInstruction(map);
+        return  success(i);
+    }
+}

+ 273 - 0
src/main/java/com/steerinfo/dil/controller/WmspRestackMakeResultController.java

@@ -0,0 +1,273 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.feign.ESFeign;
+import com.steerinfo.dil.service.IRmsPwarehouseGridService;
+import com.steerinfo.dil.service.IWmspRestackScanResultService;
+import com.steerinfo.dil.service.impl.RmsPwarehouseGridServiceImpl;
+import com.steerinfo.dil.service.impl.WmspRestackMakeResultServiceImpl;
+import com.steerinfo.dil.service.impl.WmspRestackScanResultServiceImpl;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.dil.util.ColumnDataUtil;
+import com.steerinfo.dil.util.PageListAdd;
+import com.steerinfo.framework.controller.RESTfulResult;
+import com.steerinfo.framework.service.pagehelper.PageHelper;
+import com.steerinfo.dil.model.WmspRestackMakeResult;
+import com.steerinfo.dil.service.IWmspRestackMakeResultService;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.*;
+import java.math.BigDecimal;
+
+
+
+/**
+ * WmspRestackMakeResult RESTful接口:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-09-06 03:02
+ * 类描述
+ * 修订历史:
+ * 日期:2021-09-06
+ * 作者:generator
+ * 参考:
+ * 描述:WmspRestackMakeResult RESTful接口
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+@RestController
+@RequestMapping("/${api.version}/wmsprestackmakeresults")
+public class WmspRestackMakeResultController extends BaseRESTfulController {
+
+    @Autowired
+    WmspRestackMakeResultServiceImpl wmspRestackMakeResultService;
+    @Autowired
+    ColumnDataUtil columnDataUtil;
+    @Autowired
+    RmsPwarehouseGridServiceImpl rmsPwarehouseGridService;
+    @Autowired
+    ESFeign esFeign;
+
+    @Autowired
+    WmspRestackScanResultServiceImpl wmspRestackScanResultService;
+    @ApiOperation(value="展示物资信息,并根据仓库,垛位,层次进行筛选", notes="分页查询")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNum", value = "查询页数",  required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "apiId", value = "106", required = false, dataType = "BigDecimal"),
+
+    })
+    @PostMapping(value = "/getWmspRestackMakeResultList")
+    public RESTfulResult getWmspRestackMakeResultList(@RequestBody(required = false) Map<String,Object> mapVal,
+                                                      Integer pageNum,
+                                                      Integer pageSize,
+                                                      Integer apiId,
+                                                      Integer warehouseid,
+                                                      Integer stackingId,
+                                                      Integer gradtionNumber,
+                                                      String con
+    ){
+        if (mapVal==null){
+            mapVal=new HashMap<>();
+        }
+        int count=0;
+        //不分页筛选数据
+        if (warehouseid!=null){
+            mapVal.put("warehouseid",warehouseid);
+            count++;
+        }
+        if (gradtionNumber!=null){
+            mapVal.put("gradtionNumber",gradtionNumber);
+            count++;
+        }
+        if (stackingId!=null){
+            mapVal.put("stackingId",stackingId);
+            count++;
+        }
+
+        if (con != null) {
+            if (!"undefined".equals(con)) {
+                String index = "get_wms_restackresult";//设置要查询的索引名称
+                return success(esFeign.getConResult(mapVal, index, apiId, pageNum, pageSize, con));//获取查询结果
+            }
+        }
+        List<Map<String, Object>> libaryInBoundList = null;
+        if (mapVal.size() == count) {
+            //将查询结果存入索引中
+            libaryInBoundList = wmspRestackMakeResultService.selectRestackMakeResultList(mapVal);
+            Map<String, Object> map1 = new HashMap<>();
+            //添加索引
+            map1.put("index", "get_wms_restackresult");
+            //添加id
+            map1.put("indexId", "restackResultId");
+            libaryInBoundList.add(map1);
+            //新建索引
+            esFeign.insertIndex(libaryInBoundList);
+            //删除
+            libaryInBoundList.remove(libaryInBoundList.size() - 1);
+        }
+        if (libaryInBoundList == null) {
+            libaryInBoundList = wmspRestackMakeResultService.selectRestackMakeResultList(mapVal);
+        }
+        PageHelper.startPage(pageNum, pageSize);
+        List<Map<String, Object>> columnList = wmspRestackMakeResultService.selectRestackMakeResultList(mapVal);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, libaryInBoundList, columnList);
+        return success(pageList);
+    }
+
+
+    //添加库管员填写倒垛单实绩
+    @ApiOperation(value="添加库管员编写倒垛单实绩", notes="根据WmspRestackMakeResult对象创建")
+    @ApiImplicitParam(name = "wmspRestackMakeResult", value = "详细实体wmspRestackMakeResult", required = true, dataType = "WmspRestackMakeResult")
+    //@RequiresPermissions("wmsprestackmakeresult:create")
+    @PostMapping(value = "/addRestackMakeResult")
+    public RESTfulResult addRestackMakeResult(@RequestBody Map<String,Object> mapval){
+        int code= wmspRestackMakeResultService.addMakeResult(mapval);
+        return success(code);
+    }
+
+
+    //删除
+    @PostMapping(value = "/deleteByResultId/{resultId}", produces  = "application/json;charset=UTF-8")
+    public RESTfulResult deleteByResultId(@PathVariable Integer resultId){
+        WmspRestackMakeResult wmspRestackMakeResult=new WmspRestackMakeResult();
+        wmspRestackMakeResult.setResultId(new BigDecimal(resultId));
+        wmspRestackMakeResult.setDeleted(new BigDecimal(1));
+        wmspRestackMakeResultService.updateByPrimaryKeySelective(wmspRestackMakeResult);
+        return success();
+    }
+    //下发
+    @ApiOperation(value="下发", notes="根据url的id下发")
+    @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "BigDecimal")
+    @PostMapping(value = "/dispatchDistrubtionStatus/{resultId}")//BigDecimal
+    public RESTfulResult dispatchDistrubtionStatus(@PathVariable Integer resultId){
+        WmspRestackMakeResult wmspRestackMakeResult=new WmspRestackMakeResult();
+        wmspRestackMakeResult.setResultId(new BigDecimal(resultId));
+        wmspRestackMakeResult.setDistributionstatus(new BigDecimal(1));
+        //设置下发时间
+        wmspRestackMakeResult.setResultKeeperIssueTime(new Date());
+        wmspRestackMakeResultService.updateByPrimaryKeySelective(wmspRestackMakeResult);
+        return success();
+    }
+    //下拉框获取层次号
+    @GetMapping(value = "/selectGardationNumber", produces  = "application/json;charset=UTF-8")
+    public RESTfulResult selectGardationNumber( Integer warehouseid,Integer stackingId){
+        List<Map<String,Object>> code=wmspRestackMakeResultService.selectGardationNumber(warehouseid,stackingId);
+        return success(code);
+    }
+    //下拉框获取垛位
+    @GetMapping(value = "/selectStackingId", produces  = "application/json;charset=UTF-8")
+    public RESTfulResult selectStackingId(Integer warehouseid){
+        List<Map<String,Object>> code=wmspRestackMakeResultService.selectStackingId(warehouseid);
+        return success(code);
+    }
+    //下拉框获取仓库名称
+    @GetMapping(value = "/selectWarehouse", produces  = "application/json;charset=UTF-8")
+    public RESTfulResult selectWarehouse(){
+        List<Map<String,Object>> code=wmspRestackMakeResultService.selectWarehouse();
+        return success(code);
+    }
+    @ApiOperation(value="展示倒垛单", notes="分页查询")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNum", value = "查询页数",  required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "apiId", value = "368", required = false, dataType = "BigDecimal"),
+
+    })
+    @PostMapping(value = "/selectRestackList")
+    public RESTfulResult selectRestackList(@RequestBody(required = false) Map<String,Object> mapVal,
+                                           Integer pageNum,
+                                           Integer pageSize,
+                                           Integer apiId,
+                                           Integer DistrubtionStatus
+    ) {
+        if (mapVal == null) {
+            mapVal = new HashMap<>();
+        }
+        mapVal.put("DistrubtionStatus", DistrubtionStatus);
+        //不分页筛选数据
+        List<Map<String, Object>> list = wmspRestackMakeResultService.selectRestackForPc(mapVal);
+        System.out.println(mapVal);
+        PageHelper.startPage(pageNum, pageSize);
+        //分页查询数据
+        List<Map<String, Object>> columnList = wmspRestackMakeResultService.selectRestackForPc(mapVal);
+
+        PageListAdd data = columnDataUtil.tableColumnData(apiId, list, columnList);
+        return success(data);
+    }
+    //根据实绩查找倒垛信息
+    @ApiImplicitParam(value = "apiId:369")
+    @PostMapping(value = "/getRestackInfoByResultId")
+    public RESTfulResult getRestackInfoByResultId(@RequestBody(required = false) Map<String,Object> mapVal,
+                                                  Integer pageNum,
+                                                  Integer pageSize,
+                                                  Integer apiId
+
+    ){
+        Integer resultId =(Integer) mapVal.get("resultId");
+        List<Map<String, Object>> libaryInBoundList = wmspRestackMakeResultService.selectRestackInfoByResultId(resultId);
+        PageHelper.startPage(pageNum, pageSize);
+        List<Map<String, Object>> columnList = wmspRestackMakeResultService.selectRestackInfoByResultId(resultId);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, libaryInBoundList, columnList);
+        return success(pageList);
+    }
+
+
+
+
+
+    //修改库管员填写倒垛单实绩
+    @ApiOperation(value="修改库管员编写倒垛单实绩", notes="根据WmspRestackMakeResult对象创建")
+    @ApiImplicitParam(name = "wmspRestackMakeResult", value = "详细实体wmspRestackMakeResult", required = true, dataType = "WmspRestackMakeResult")
+    //@RequiresPermissions("wmsprestackmakeresult:create")
+    @PostMapping(value = "/editRestackMakeResult")
+    public RESTfulResult editRestackMakeResult(@RequestBody Map<String,Object> map){
+        int code= wmspRestackMakeResultService.update(map);
+        return success(code);
+    }
+    //渲染倒垛后的仓库信息
+    @ApiOperation(value="获取详细信息", notes="根据url的id来获取详细信息")
+    @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "BigDecimal")
+    @PostMapping("/selectAfterWarehouseByResultId/{resultId}")
+    public RESTfulResult selectAfterWarehouseByResultId(@PathVariable("resultId") Integer resultId){
+        List<Map<String,Object>> RestackResult = wmspRestackMakeResultService.selectAfterWarehouseByResultId(resultId);
+        return success(RestackResult);
+    }
+    //渲染倒垛后的垛位信息
+    @ApiOperation(value="获取详细信息", notes="根据url的id来获取详细信息")
+    @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "BigDecimal")
+    @PostMapping("/selectAfterstackingByResultId/{resultId}")
+    public RESTfulResult selectAfterstackingByResultId(@PathVariable("resultId") Integer resultId){
+        List<Map<String,Object>> RestackResult = wmspRestackMakeResultService.selectAfterstackingByResultId(resultId);
+        return success(RestackResult);
+    }
+    //PDA展示倒垛信息
+    @PostMapping("/selectRestackForPDA")
+    public  RESTfulResult selectRestackForPDA(@RequestBody(required = false) Map<String,Object> map){
+        List<Map<String,Object>> list=wmspRestackMakeResultService.selectRestack(map);
+        return  success(list);
+    }
+    //PDA根据实绩id查找物资信息
+    @PostMapping("/selectMaterialInfoByResultId")
+    public  RESTfulResult selectMaterialInfoByResultId(@RequestBody(required = false) Map<String,Object> map
+    ){
+        Integer resultId= (Integer) map.get("resultId");
+        List<Map<String,Object>> list=wmspRestackMakeResultService.selectMaterialInfoByResultId(resultId);
+        return  success(list);
+    }
+    //PDA根据仓库id查找倒垛单
+    @PostMapping("/selectRestackByWarehouseId")
+    public  RESTfulResult selectRestackByWarehouseId(@RequestBody(required = false) Map<String,Object> map
+    ){
+        Integer warehouseid= (Integer) map.get("warehouseid");
+        Integer DistrubtionStatus=(Integer)map.get("DistrubtionStatus");
+        Map map1=new HashMap();
+        map1.put("warehouseid",warehouseid);
+        map1.put("DistrubtionStatus",DistrubtionStatus);
+        List<Map<String,Object>> list=wmspRestackMakeResultService.selectMaterialInfoByResultId(DistrubtionStatus);
+        return  success(list);
+    }
+
+}

+ 156 - 0
src/main/java/com/steerinfo/dil/controller/WmspRestackScanResultController.java

@@ -0,0 +1,156 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.model.*;
+import com.steerinfo.dil.service.impl.WmspRestackMakeMaterialServiceImpl;
+import com.steerinfo.dil.service.impl.WmspRestackScanResultServiceImpl;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import  com.steerinfo.dil.util.ColumnDataUtil;
+import  com.steerinfo.framework.controller.RESTfulResult;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import java.math.BigDecimal;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * WmspRestackScanResult RESTful接口:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-09-10 10:11
+ * 类描述
+ * 修订历史:
+ * 日期:2021-09-10
+ * 作者:generator
+ * 参考:
+ * 描述:WmspRestackScanResult RESTful接口
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+@RestController
+@RequestMapping("/${api.version}/wmsprestackscanresults")
+public class WmspRestackScanResultController extends BaseRESTfulController {
+    @Autowired
+    WmspRestackScanResultServiceImpl wmspRestackScanResultService;
+    @Autowired
+    ColumnDataUtil columnDataUtil;
+    @Autowired
+    WmspRestackMakeMaterialServiceImpl wmspRestackMakeMaterialService;
+
+    /**
+     * 扫描实绩
+     * @param mal
+     * @return
+     */
+    @PostMapping("/ScanTagResult")
+    public RESTfulResult ScanTagResult(@RequestBody(required = false) Map<String,Object> mal) {
+        String resultTag= (String) mal.get("resultTag");
+        Integer resultId= (Integer) mal.get("resultId");
+        List<Map<String,Object>> list = wmspRestackScanResultService.selectMaterialIdByResultId(resultId);
+        String [] tag = resultTag.split("\\-");
+        Integer materialSteelId = wmspRestackScanResultService.selectRestackAudit(tag[7]);
+        Integer jhjg = null;
+        for (Map map1:list){
+            Integer steelId=Integer.parseInt(map1.get("MATERIAL_STEEL_ID").toString());
+            if(materialSteelId ==steelId){
+                jhjg = 1;
+            }else{
+                jhjg = 0;
+
+            }
+        }
+        if (jhjg==0){
+            return  failed();
+        }
+        Integer number=wmspRestackScanResultService.selectResultScanTag(resultTag);
+        if (number == 0) {
+            WmspRestackScanResult wmspRestackScanResult = new WmspRestackScanResult();
+            wmspRestackScanResult.setResultRestackId(new BigDecimal(resultId));
+            wmspRestackScanResult.setResultScanTag(resultTag);
+            wmspRestackScanResult.setResultLoaderAudit(new BigDecimal(jhjg));
+            wmspRestackScanResultService.insertselective(wmspRestackScanResult);
+        }
+        Integer countNum = wmspRestackScanResultService.CountByAuditResult(resultId);
+        if (countNum!=0){
+        Map<String, Object> map1 = new HashMap<>();
+        map1.put("countNum", countNum);
+        map1.put("materialSteelId", materialSteelId);
+        return success(map1);
+        } else
+            return failed("稽核失败");
+    }
+//    //下发
+//    @PostMapping(value = "/Issue")
+//    public RESTfulResult Issue(@RequestBody(required = false) List<Map<String,Object>> mapList) {
+//
+//        for (int i=0;i<mapList.size();i++) {
+//            Map<String,Object>  map= mapList.get(i);
+//            Integer resultId= (Integer) map.get("resultId");
+//            //下发
+//            //设置倒垛单状态值为1
+//            WmspRestackMakeResult wmspRestackMakeResult=new WmspRestackMakeResult();
+//            wmspRestackMakeResult.setResultId(new BigDecimal(resultId));
+//            wmspRestackMakeResult.setResultStatus(new BigDecimal(1));
+//            //根据实绩id查找倒垛后的仓储网格id
+//            //根据倒垛后的垛位和层次以及仓库计算倒垛后的垛位
+//            Map<String,Object> map1= wmspRestackScanResultService.selectWarehouseIdAndStakingId(resultId.intValue());
+//            Integer stakingId = Integer.parseInt(map1.get("stakingId").toString());
+//            Integer warehouseId = Integer.parseInt(map1.get("warehouseId").toString());
+//            //获取垛位已堆放物资数量
+//            int number1 = wmspRestackScanResultService.selectNumber(stakingId);
+//            //计算层次
+//            int gradtionNumber2 = number1 / 24;
+//            //如果算出数据为0,则放置1号层次
+//            if (gradtionNumber2 <= 0) {
+//                gradtionNumber2 = gradtionNumber2 + 1;
+//            }
+//            //nu1为层序号
+//            int sequenceNumber=number1%24;
+//            Map<String,Object> map2=new HashMap<>();
+//            map2.put("gradtionNumber2", gradtionNumber2);
+//            map2.put("sequenceNumber",sequenceNumber);
+//            map2.put("warehouseId",warehouseId);
+//            map2.put("stakingId",stakingId);
+//            //查找倒垛后的垛位
+//            Integer gridId=wmspRestackScanResultService.selectGridIdByStakingNoAndGrandationnumber(map2);
+//            WmspRestackMakeMaterial wmspRestackMakeMaterial=new WmspRestackMakeMaterial();
+//            wmspRestackMakeMaterial.setAfterGridId(new BigDecimal(gridId));
+//            wmspRestackMakeMaterialService.updateByPrimaryKeySelective(wmspRestackMakeMaterial);
+//            //更新实时库存
+//            WmspGridMaterial wmspGridMaterial=new WmspGridMaterial();
+//            //根据倒垛单查找物资id
+//            List<Map<String,Object>> materialList=wmspRestackScanResultService.selectMaterialIdByResultId(resultId);
+//            for (Map materialIdList:materialList) {
+//                //将物资id从列表中取出
+//                Integer materialId=Integer.parseInt(materialIdList.get("materialId").toString());
+//                //根据物资id查找倒垛前的仓储网格
+//                Integer BeforeGridId = wmspRestackScanResultService.selectGridIdByResultId(resultId);
+//                //根据倒垛前的垛位和仓储网格进行查找实时库存主键id
+//                Integer gmId = wmspRestackScanResultService.selectGmIdByGridIdAndMaterialId(BeforeGridId, materialId);
+//                //进行实时库存的更新
+//                wmspGridMaterial.setGmId(new BigDecimal(gmId));
+//                wmspGridMaterial.setGridId(new BigDecimal(gridId));
+//                wmspRestackMakeMaterialService.updateByPrimaryKeySelective(wmspRestackMakeMaterial);
+//
+//            }
+//        }
+//        return success();
+//    }
+    //根据实绩id查找扫描结果,将物资唯一编码与前端物资唯一编码进行比对
+    @PostMapping("/selectMaterialSteelIdByReusltId")
+    public RESTfulResult selectMaterialSteelIdByReusltId(@RequestBody(required = false) Map<String,Object> mal) {
+        Integer resultId=Integer.parseInt(mal.get("resultId").toString());
+        List<Map<String,Object>> TagList=wmspRestackScanResultService.selectTagByResultId(resultId);
+        String materialOnlyCode=mal.get("materialOnlyCode").toString();
+        for (Map map:TagList){
+            String onlyCOde = (String) map.get("tag");
+            String [] tag = onlyCOde.split("\\-");
+            if(tag[7].equals(materialOnlyCode)){
+                Integer materialSteelId = wmspRestackScanResultService.selectRestackAudit(tag[7]);
+                return  success(materialSteelId);
+            }
+        }
+        return  failed();
+
+    }
+
+}

+ 80 - 0
src/main/java/com/steerinfo/dil/controller/WmspSendReceiveController.java

@@ -0,0 +1,80 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.feign.ColumnDataFeign;
+import com.steerinfo.dil.feign.ESFeign;
+import com.steerinfo.dil.service.impl.WmspSendReceiveServiceImpl;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.dil.util.ColumnDataUtil;
+import com.steerinfo.dil.util.PageListAdd;
+import com.steerinfo.framework.controller.RESTfulResult;
+import com.steerinfo.framework.service.pagehelper.PageHelper;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.*;
+
+/**
+ * @author luobang
+ * @create 2021-09-08 16:10
+ */
+@RestController
+@RequestMapping("${api.version}/sendReceive")
+public class WmspSendReceiveController extends BaseRESTfulController {
+
+    @Autowired
+    ColumnDataUtil columnDataUtil;
+
+    @Autowired
+    ESFeign esFeign;
+
+    @Autowired
+    WmspSendReceiveServiceImpl wmspSendReceiveServiceImpl;
+    @PostMapping("/getSendReceive")
+    @ApiOperation(value = "展示收发存报表信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "apiId",value = "97",required = false,dataType = "BigDecimal"),
+    })
+    public RESTfulResult getSendReceive(@RequestBody(required = false) Map<String,Object> mapValue,
+                                           Integer apiId,
+                                           Integer pageNum,
+                                           Integer pageSize,
+                                           String  con
+                                        ){
+        if(con != null){
+            if(!"undefined".equals(con)){
+                String index = "get_wms_SendReceive";
+                return success(esFeign.getConResult(mapValue,index,apiId,pageNum,pageSize,con));
+            }
+        }
+        List<Map<String,Object>>sendReceiveList = null;
+        if(mapValue.size() == 0){
+            //将查询结果存入索引中
+            sendReceiveList = wmspSendReceiveServiceImpl.getWmspSendReceiveService(mapValue);
+            Map<String, Object> sendReceiveMap = new HashMap<>();
+            //添加索引
+            sendReceiveMap.put("index","get_wms_SendReceive");
+            //添加ID
+            sendReceiveMap.put("indexId","sendReceivetId");
+            sendReceiveList.add(sendReceiveMap);
+            //新建索引
+            esFeign.insertIndex(sendReceiveList);
+            //删除
+            sendReceiveList.remove(sendReceiveList.size() -1);
+        }
+        if(sendReceiveList == null) {
+            sendReceiveList = wmspSendReceiveServiceImpl.getWmspSendReceiveService(mapValue);
+        }
+        /*分页*/
+        PageHelper.startPage(pageNum, pageSize);
+        List<Map<String,Object>> columnList = wmspSendReceiveServiceImpl.getWmspSendReceiveService(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId,sendReceiveList,columnList);
+        return success(pageList);
+    }
+
+}

+ 204 - 0
src/main/java/com/steerinfo/dil/controller/WmssInvertedWarehouseController.java

@@ -0,0 +1,204 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.mapper.WmspGridMaterialMapper;
+import com.steerinfo.dil.model.WmspGridMaterial;
+import com.steerinfo.dil.model.WmspInboundDrivingResult;
+import com.steerinfo.dil.model.WmspInboundStackResult;
+import com.steerinfo.dil.service.impl.*;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.dil.util.ColumnDataUtil;
+import com.steerinfo.dil.util.PageListAdd;
+import com.steerinfo.framework.controller.RESTfulResult;
+import com.steerinfo.framework.service.pagehelper.PageHelper;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class WmssInvertedWarehouseController extends BaseRESTfulController {
+     @Autowired
+     private RmsStackingServiceImpl rmsStackingService;
+     @Autowired
+     private RmsPwarehouseGridServiceImpl rmsPwarehouseGridService;
+     @Autowired
+     private WmspGridMaterialMapper wmspGridMaterialMapper;
+     @Autowired
+     private  WmspGridMaterialServiceImpl wmspGridMaterialService;
+     @Autowired
+     private WmsInboundResultServiceImpl wmsInboundResultService;
+     @Autowired
+     private WmsInboundDrivingResultServiceImpl wmsInboundDrivingResultService;
+     @Autowired
+     private WmsInboundScanResultServiceImpl wmsInboundScanResultService;
+     @Autowired
+     private WmsInboundStackResultServiceImpl wmsInboundStackResultService;
+     @Autowired
+     ColumnDataUtil columnDataUtil;
+
+    /**
+     * 新增倒库入库实绩
+     * @param mapList
+     * @return
+     */
+    @ApiOperation("新增倒库入库实绩")
+    @PostMapping("/insertIvboundResult")
+    @Transactional
+    public RESTfulResult addIvboundResult(@RequestBody List<Map<String, Object>> mapList) {
+        for (Map<String,Object> map:mapList
+        ) {
+            BigDecimal ST=new BigDecimal(map.get("stackingId").toString());
+            //获取倒库入库主表ID
+            BigDecimal reboundId= new BigDecimal((Integer) map.get("inboundId"));
+            //根据垛位ID查询物资数,确定层次层序,即网格ID
+            HashMap<String, Object> map1 = new HashMap<>();
+            map1.put("stackingId",ST);
+            //获取物资数
+            Integer MN=rmsStackingService.selectMaterialNumber(map1);
+            //计算层次号
+            Integer CC=(MN+1)/24+1;
+            //计算层序号
+            Integer CX=(MN+1)%24;
+            //更新垛位表
+            rmsStackingService.updateStack(ST);
+            //根据仓库id、垛位ID,层次号,层序号查找仓储网格
+            HashMap<String, Object> map3 = new HashMap<>();
+            map3.put("warehouseId",1);
+            map3.put("stackingID",ST);
+            map3.put("gradationNumber",CC);
+            map3.put("sequenceNumber",CX);
+            BigDecimal gridId=rmsPwarehouseGridService.getGridId(map3);
+            /*
+            插入一条网格物资中间表
+             */
+            WmspGridMaterial wmspGridMaterial = new WmspGridMaterial();
+            //设置主键ID
+            wmspGridMaterial.setGmId(wmspGridMaterialMapper.getCount());
+            wmspGridMaterial.setGridId(gridId);
+            wmspGridMaterial.setGmNumber(new BigDecimal(1));
+            //设置网格物资表里面的物资ID
+            BigDecimal materialId= (BigDecimal) map.get("materialId");
+            wmspGridMaterial.setMaterialId(materialId);
+            wmspGridMaterial.setStandardDataId(new BigDecimal(1));
+            //设置逻辑删除字段
+            wmspGridMaterial.setDeleted(new BigDecimal(0));
+            //设置常规字段
+            wmspGridMaterial.setInsertUsername("admin");
+            wmspGridMaterial.setInsertTime(new Date());
+            wmspGridMaterial.setUpdateUsername("admin");
+            wmspGridMaterial.setUpdateTime(new Date());
+            wmspGridMaterial.setInsertUpdateRemark("无");
+            wmspGridMaterialService.insertWmspGridMaterial(wmspGridMaterial);
+         /*
+         根据倒库入库实绩ID,更新倒库入库实绩表
+          */
+            HashMap<String, Object> map9 = new HashMap<>();
+            map9.put("inboundId",reboundId);
+            map9.put("GridId",gridId);
+
+            wmsInboundResultService.updateReboundResult(map9);
+            /*
+            新增行车工接收实绩
+             */
+            WmspInboundDrivingResult wmspInboundDrivingResult = new WmspInboundDrivingResult();
+            wmspInboundDrivingResult.setDrivingId(new BigDecimal(wmsInboundDrivingResultService.count()+1));
+            wmspInboundDrivingResult.setDriverId(new BigDecimal(3));
+            wmspInboundDrivingResult.setDrivingReceiveTime(new Date());
+            wmspInboundDrivingResult.setInboundResultId(reboundId);
+            wmspInboundDrivingResult.setInsertUsername("admin");
+            wmspInboundDrivingResult.setInsertTime(new Date());
+            wmspInboundDrivingResult.setUpdateUsername("admin");
+            wmspInboundDrivingResult.setUpdateTime(new Date());
+            wmspInboundDrivingResult.setInsertUpdateRemark("无");
+            wmspInboundDrivingResult.setResultDeleted(new BigDecimal(1));
+            /*
+            新增选择垛位实绩
+             */
+            WmspInboundStackResult wmspInboundStackResult = new WmspInboundStackResult();
+            wmspInboundStackResult.setResultId(new BigDecimal(wmsInboundStackResultService.count()+1));
+            wmspInboundStackResult.setInboundResultId(reboundId);
+            wmspInboundStackResult.setStackingId(ST);
+            wmspInboundStackResult.setResultDeleted(new BigDecimal(1));
+            //设置常规字段
+            wmspInboundStackResult.setInsertUsername("admin");
+            wmspInboundStackResult.setInsertTime(new Date());
+            wmspInboundStackResult.setUpdateUsername("admin");
+            wmspInboundStackResult.setUpdateTime(new Date());
+            wmspInboundStackResult.setInsertUpdateRemark("无");
+
+            System.out.println(map.get("LOADA"));
+            System.out.println(map.get("LOADB"));
+            /*
+            编辑扫描实绩-根据前台返回的扫描实绩ID修改扫描实绩
+            */
+            BigDecimal RESULTID= new BigDecimal((Integer)map.get("RESULTID")) ;
+            HashMap<String, Object> map5 = new HashMap<>();
+            map5.put("RESULTID",RESULTID);
+            wmsInboundScanResultService.updateWmsReboundScanById(map5);
+        }
+        return success();
+    }
+
+
+    /**
+     * 展示倒库实绩信息
+     * @param mapValue
+     * @param apiId
+     * @param pageNum
+     * @param pageSize
+     * @return
+     */
+    @PostMapping("/getWmsIvboundResult")
+    @ApiOperation(value = "展示倒库实绩信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "apiId", value = "162", required = false, dataType = "BigDecimal"),
+    })
+    public RESTfulResult getWmsIvboundResult(@RequestBody(required = false) Map<String, Object> mapValue,
+                                             Integer apiId,
+                                             Integer pageNum,
+                                             Integer pageSize) {
+        List<Map<String, Object>> ivboundResultTotal = wmsInboundResultService.getIvboundResult(mapValue);
+        /*分页*/
+        PageHelper.startPage(pageNum, pageSize);
+        /*返回中英文对照结果,计算表头*/
+        List<Map<String, Object>> ivboundResult = wmsInboundResultService.getIvboundResult(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId,ivboundResult,ivboundResultTotal);
+        return success(pageList);
+
+    }
+
+
+    @ApiOperation(value = "查询倒库单下所有物资")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "resultId", value = "倒库单id", required = false, dataType = "BigDecimal"),
+            @ApiImplicitParam(name = "apiId", value = "163", required = false, dataType = "BigDecimal"),
+
+    })
+    @PostMapping("/getIvboundMaterial")
+    public RESTfulResult getIvboundMaterial( BigDecimal resultId,@RequestBody(required=false) Map<String,Object> mapValue,
+                                             Integer apiId,
+                                             Integer pageNum,
+                                             Integer pageSize){
+        Map<String, Object> map = new HashMap<>();
+        if (mapValue==null){
+            mapValue = new HashMap<>();
+        }
+        mapValue.put("contractId", resultId);
+        List<Map<String, Object>> ivboundMaterialTotal = wmsInboundResultService.getIvboundMaterial(mapValue);
+        /*分页*/
+        PageHelper.startPage(pageNum, pageSize);
+        /*返回中英文对照结果,计算表头*/
+        List<Map<String, Object>> ivboundMaterial = wmsInboundResultService.getIvboundMaterial(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId,ivboundMaterial,ivboundMaterialTotal);
+        return success(pageList);
+    }
+
+}

+ 19 - 0
src/main/java/com/steerinfo/dil/feign/ColumnDataFeign.java

@@ -0,0 +1,19 @@
+package com.steerinfo.dil.feign;
+
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author zhangnan
+ * @Date 2021/6/23 9:58
+ * @Version 1.0
+ */
+@FeignClient(value = "DIL-COLUMN-DATA-DEV",url = "${openfeign.ColumnDataFeign.url}")
+public interface ColumnDataFeign {
+    @RequestMapping("getColumnData")
+    List<Map<String,Object>> getColumnData(@RequestParam("apiId") Integer apiId);
+}

+ 30 - 0
src/main/java/com/steerinfo/dil/feign/ESFeign.java

@@ -0,0 +1,30 @@
+package com.steerinfo.dil.feign;
+
+import com.steerinfo.dil.util.PageListAdd;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author zhangnan
+ * @Date 2021/7/27 15:49
+ * @Version 1.0
+ */
+
+@FeignClient(value = "DIL-ES-DEV",url = "172.16.33.166:8089/api/v1/es")
+public interface ESFeign {
+    @PostMapping("getConResult")
+    PageListAdd getConResult(@RequestBody(required = false) Map<String, Object> mapValue,
+                             @RequestParam String index,
+                             @RequestParam Integer apiId,
+                             @RequestParam Integer pageNum,
+                             @RequestParam Integer pageSize,
+                             @RequestParam String con);
+
+    @PostMapping( value = "insertIndex",consumes = "application/json", produces = "application/json")
+    void insertIndex(@RequestBody List<Map<String, Object>> detailListTotal);
+}

+ 15 - 0
src/main/java/com/steerinfo/dil/feign/IMFeign.java

@@ -0,0 +1,15 @@
+package com.steerinfo.dil.feign;
+
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.HashMap;
+
+@FeignClient(value = "DIL-IM-DEV", url = "${openfeign.Im.url}")
+public interface IMFeign {
+    @PostMapping("/websocket/sendToUser")
+    @ResponseBody
+    String sendToUser(@RequestBody HashMap map);
+}

+ 22 - 0
src/main/java/com/steerinfo/dil/feign/TmstruckFeign.java

@@ -0,0 +1,22 @@
+package com.steerinfo.dil.feign;
+
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.HashMap;
+
+/**
+ * @Description:
+ * @Author:HuJianGuo
+ * @GreateTime:2021/12/1 14:25
+ * @Version:V2.0
+ */
+@FeignClient(value = "DIL-TMS-TRUCK-DEV", url = "${openfeign.TmsTruckFeign.url}")
+public interface TmstruckFeign {
+
+    @PostMapping("/api/v1/tmsTruck/tmstruckloadresults")
+    Integer addSaleLoadResult(@RequestParam Integer orderId);
+}

+ 26 - 0
src/main/java/com/steerinfo/dil/interceptors/MyLocaleChangeInterceptor.java

@@ -0,0 +1,26 @@
+package com.steerinfo.dil.interceptors;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.support.ReloadableResourceBundleMessageSource;
+import org.springframework.web.servlet.i18n.LocaleChangeInterceptor;
+import org.springframework.web.servlet.i18n.SessionLocaleResolver;
+
+import java.util.Locale;
+
+/**
+ * @Author zhangnan
+ * @Date 2021/4/23 8:19
+ * @Version 1.0
+ */
+
+@Configuration
+public class MyLocaleChangeInterceptor {
+
+    //国际化配置
+    @Bean
+    public LocaleChangeInterceptor localeChangeInterceptor(){
+        return new LocaleChangeInterceptor();
+    }
+
+}

+ 15 - 0
src/main/java/com/steerinfo/dil/mapper/AmstruckInwardRequirementMapper.java

@@ -0,0 +1,15 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.AmstruckInwardRequirement;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.math.BigDecimal;
+
+@Mapper
+public interface AmstruckInwardRequirementMapper extends IBaseMapper<AmstruckInwardRequirement, BigDecimal> {
+
+    @Select("select seq_inward_requirement.nextval from dual")
+    BigDecimal selectOtherId();
+}

+ 12 - 0
src/main/java/com/steerinfo/dil/mapper/CommonMapper.java

@@ -0,0 +1,12 @@
+package com.steerinfo.dil.mapper;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.math.BigDecimal;
+@Mapper
+public interface CommonMapper {
+    @Select("select ${seqName}.nextval from dual")
+    BigDecimal getSeqNumber(@Param("seqName") String seqName);
+}

+ 11 - 0
src/main/java/com/steerinfo/dil/mapper/CommonSeq.java

@@ -0,0 +1,11 @@
+package com.steerinfo.dil.mapper;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+@Mapper
+public interface CommonSeq {
+    @Select("select ${seqName}.nextval from dual")
+    int getSeqNumber(@Param("seqName") String seqName);
+}

+ 21 - 0
src/main/java/com/steerinfo/dil/mapper/RmsMaterialMapper.java

@@ -0,0 +1,21 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.RmsMaterial;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.math.BigDecimal;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Mapper
+public interface RmsMaterialMapper extends IBaseMapper<RmsMaterial, BigDecimal> {
+
+
+    BigDecimal getMaterialId(Map<String, Object> map2);
+
+    List<Map<String, Object>> getMaterial();
+
+    Map<String, Object> getMaterialId2(HashMap<String, Object> mapMaterial);
+}

+ 19 - 0
src/main/java/com/steerinfo/dil/mapper/RmsMaterialSteelMapper.java

@@ -0,0 +1,19 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.RmsMaterialSteel;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.math.BigDecimal;
+import java.util.HashMap;
+import java.util.Map;
+
+@Mapper
+public interface RmsMaterialSteelMapper extends IBaseMapper<RmsMaterialSteel, BigDecimal> {
+    BigDecimal selectMaterialSteelId(Map<String, Object> map);
+    @Select("select seq_RMS_MATERIAL_STEEL.nextval from dual")
+    BigDecimal getCount();
+
+    Map<String, Object> getMaterialSteel(HashMap<String, Object> mapRmsMaterialSteel);
+}

+ 20 - 0
src/main/java/com/steerinfo/dil/mapper/RmsPwarehouseGridMapper.java

@@ -0,0 +1,20 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.RmsPwarehouseGrid;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.MapKey;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.math.BigDecimal;
+import java.util.Map;
+
+@Mapper
+public interface RmsPwarehouseGridMapper extends IBaseMapper<RmsPwarehouseGrid, BigDecimal> {
+    //添加成品仓库网格数据
+    int insertSelective(RmsPwarehouseGrid rmsPwarehouseGrid);
+    //更新成品仓库网格表
+    int updateByPrimaryKeySelective(RmsPwarehouseGrid rmsPwarehouseGrid);
+    BigDecimal selectMaxId();
+    BigDecimal selectGridId(Map<String, Object> map);
+
+}

+ 28 - 0
src/main/java/com/steerinfo/dil/mapper/RmsStackingMapper.java

@@ -0,0 +1,28 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.RmsStacking;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.MapKey;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+@Mapper
+public interface RmsStackingMapper extends IBaseMapper<RmsStacking, BigDecimal> {
+     //根据垛位查询已存放的物资和剩余数量
+    Map<String, Integer> selectStacking();
+    //更新垛位剩余数量和垛位存放物资数量
+    Integer updateRmsStacking(Map<String, Integer> map);
+   //根据垛位查询已堆放的物资剩余数量
+    Integer selectMaterialNumber(Map<String, Object> map);
+   //更新垛位
+    Integer updateStack(BigDecimal stackingId);
+   //根据垛位id查询垛位
+    String selectStackNo(BigDecimal stackingId);
+    // 得到垛位信息
+    List<Map<String, Object>> getStackingMessage(BigDecimal warehouseId);
+
+    int updateNumber(RmsStacking rmsStacking);
+}

+ 16 - 0
src/main/java/com/steerinfo/dil/mapper/RmsWarehouseMapper.java

@@ -0,0 +1,16 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.RmsWarehouse;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+@Mapper
+public interface RmsWarehouseMapper extends IBaseMapper<RmsWarehouse, BigDecimal> {
+    //下拉框:仓库
+    List<Map<String, Object>> getWarehouse();
+
+}

+ 23 - 0
src/main/java/com/steerinfo/dil/mapper/WmsOffSiteLibaryOutboundMapper.java

@@ -0,0 +1,23 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.WmsOffSiteLibaryOutbound;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+@Mapper
+public interface WmsOffSiteLibaryOutboundMapper extends IBaseMapper<WmsOffSiteLibaryOutbound, Short> {
+    //生成主键id
+    @Select("select seq_WMS_OFF_SITE_LIBARY_OUTBOUND.nextval from dual")
+    BigDecimal selectMaxId();
+    //跟据物资编码查找物资id
+    Integer selectMaterialIdByMaterialCode(String materialOnlyCode);
+    //根据物资唯一编码查找仓库
+    Integer selectWarehouseIdByMaterialCode(String materialOnlyCode);
+    //展示出库实绩列表
+    List<Map<String,Object>> selectOffsiteLibaryOutbound(Map<String,Object> map);
+}

+ 34 - 0
src/main/java/com/steerinfo/dil/mapper/WmsOffSiteLibraryInboundMapper.java

@@ -0,0 +1,34 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.WmsOffSiteLibraryInbound;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.MapKey;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+@Mapper
+public interface WmsOffSiteLibraryInboundMapper extends IBaseMapper<WmsOffSiteLibraryInbound, Short> {
+   //根据物资唯一编码查找物资信息
+    @MapKey("selectMaterialInfoByMaterialCode")
+    Map<String, Object> selectMaterialInfoByMaterialCode(String materialOnlyCode);
+   //根据钢材物资id查找运输订单判断类别
+   Integer selectOrderTypeByMaterialSteelId(Integer materialSteelId);
+   //根据钢材物资id查找收货单位id
+    Integer selectWarehouseIdByMaterialSteeelId(Integer materialSteelId);
+    //生成主键id
+    @Select("select seq_WMS_OFF_SITE_LIBRARY_INBOUND.nextval from dual")
+    BigDecimal selectMaxId();
+    //新增入库实绩
+    @MapKey("insertOffLibraryInbound")
+    int insertSelective(WmsOffSiteLibraryInbound wmsOffSiteLibraryInbound);
+//    //根据物资编码查找仓库网格id
+//    Integer selectGmIdByMaterialOnlyCode(String materialonlyCode);
+    //根据物资唯一编码查找实时库存id
+    Integer selectTransitByMaterialOnlyCode(String materialonlyCode);
+    //展示入库实绩列表
+    List<Map<String,Object>> selectInboundList(Map<String,Object> map);
+}

+ 41 - 0
src/main/java/com/steerinfo/dil/mapper/WmspGridMaterialMapper.java

@@ -0,0 +1,41 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.WmspGridMaterial;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.MapKey;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.math.BigDecimal;
+import java.text.ParseException;
+import java.util.List;
+import java.util.Map;
+
+@Mapper
+public interface WmspGridMaterialMapper extends IBaseMapper<WmspGridMaterial, BigDecimal> {
+  //查询实时库存数据
+    List<Map<String,Object>> selectGridMaterial(Map<String,Object> mapval);
+    Long countByGmId();
+    List<Map<String,Object>> selectInboundTimeAndThreshold(BigDecimal gridId);
+    //创建序列号
+    @Select("select seq_WMSP_GRID_MATERIAL.nextval from dual")
+    BigDecimal getCount();
+  //通过成品仓库网格ID查询实时库存
+  List<Map<String, Object>> selectGridMaterialListByGridId(Map<String, Object> mapval);
+  //通过成品仓库网格ID获取物资钢材表ID
+  BigDecimal selectMaterialSteelIdByGridId(BigDecimal gridId);
+  //通过主键修改物资钢材表的质量是否合格字段和逻辑删除
+  int updateRmsMaterialSteelDemotion(Map<String, Object> map);
+  //通过钢材物资ID获取入库作业实绩表ID
+  BigDecimal selectInboundIdByMaterialSteelId(BigDecimal materialSteelId);
+  //通过入库实绩ID逻辑删除库管员纠正吊牌实绩数据
+  int updateInboundCorrectByInboundId(BigDecimal inboundId);
+  //通过入库实绩ID逻辑删除行车工吊装入库实绩数据
+  int updateInboundDrivingByInboundId(BigDecimal inboundId);
+  //通过入库实绩ID逻辑删除吊钢工扫描吊牌实绩数据
+  int updateInboundScanByInboundId(BigDecimal inboundId);
+  //通过入库实绩ID逻辑删除系统/库管员选择垛位实绩数据
+  int updateInboundStackByInboundId(BigDecimal inboundId);
+  //根据物资唯一编码查询实时库存id
+  List<Map<String,Object>> selectGridIdByMaterialCode(Map<String,Object> map);
+}

+ 12 - 0
src/main/java/com/steerinfo/dil/mapper/WmspInboundCorrectResultMapper.java

@@ -0,0 +1,12 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.WmspInboundCorrectResult;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.math.BigDecimal;
+
+@Mapper
+public interface WmspInboundCorrectResultMapper extends IBaseMapper<WmspInboundCorrectResult, BigDecimal> {
+    BigDecimal getCount();
+}

+ 9 - 0
src/main/java/com/steerinfo/dil/mapper/WmspInboundDistributeMapper.java

@@ -0,0 +1,9 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.WmspInboundDistribute;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface WmspInboundDistributeMapper extends IBaseMapper<WmspInboundDistribute, Short> {
+}

+ 14 - 0
src/main/java/com/steerinfo/dil/mapper/WmspInboundDrivingResultMapper.java

@@ -0,0 +1,14 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.WmspInboundDrivingResult;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.math.BigDecimal;
+
+@Mapper
+public interface WmspInboundDrivingResultMapper extends IBaseMapper<WmspInboundDrivingResult, BigDecimal> {
+    BigDecimal getCount();
+    Integer selectInboundStack(Integer driverId);
+
+}

+ 18 - 0
src/main/java/com/steerinfo/dil/mapper/WmspInboundGroupMapper.java

@@ -0,0 +1,18 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.WmspInboundGroup;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.math.BigDecimal;
+import java.util.Map;
+
+@Mapper
+public interface WmspInboundGroupMapper extends IBaseMapper<WmspInboundGroup, Short> {
+
+
+    void endStatus(@Param("userName") String userName,@Param("otherUser") String otherUser);
+
+    BigDecimal getGroupIdByUserName(@Param("userName") String userName);
+}

+ 47 - 0
src/main/java/com/steerinfo/dil/mapper/WmspInboundResultMapper.java

@@ -0,0 +1,47 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.WmspInboundResult;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import java.math.*;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+@Mapper
+public interface WmspInboundResultMapper extends IBaseMapper<WmspInboundResult, BigDecimal> {
+
+    /**
+     * 1.展示入库实绩所有信息
+     * @param mapValue
+     * @return
+     */
+    List<Map<String, Object>> selectWmsInboundResult(Map<String, Object> mapValue);
+    @Select("select seq_WMSP_INBOUND_RESULT.nextval from dual")
+    BigDecimal getCount();
+
+    Integer updateReboundResult(Map<String, Object> map9);
+
+    /**
+     * 2.展示退库实绩所有信息
+     * @param mapValue
+     * @return
+     */
+    List<Map<String, Object>> selectWmsReboundResult(Map<String, Object> mapValue);
+
+    /**
+     * 2.展示倒库总实绩所有信息
+     * @param mapValue
+     * @return
+     */
+    List<Map<String, Object>> selectWmsIvboundResult(Map<String, Object> mapValue);
+
+    List<Map<String, Object>> selectWmsIvboundMaterialResult(Map<String, Object> mapValue);
+
+    //根据入库实绩查找扫描实绩信息
+    List<Map<String,Object>> selectScanResultByIboundResultId(Map<String,Object> map);
+
+    String selectWarehouseName(BigDecimal houseId);
+
+}

+ 124 - 0
src/main/java/com/steerinfo/dil/mapper/WmspInboundScanResultMapper.java

@@ -0,0 +1,124 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.WmspInboundScanResult;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+@Mapper
+public interface WmspInboundScanResultMapper extends IBaseMapper<WmspInboundScanResult, BigDecimal> {
+    /**
+     * 1.获取最大ID
+     * @return
+     */
+    @Select("select Seq_wmsp_inbound_scan_result.nextval from dual")
+    BigDecimal getCount();
+
+    BigDecimal getScanNumber(Map<String,Object> map);
+
+    /**
+     * 展示未下发未入库实绩
+     * @param map
+     * @return
+     */
+    List<Map<String, Object>> selectScanTagResult(Map<String, Object> map);
+
+    /**
+     * 更新异常值
+     * @param
+     * @return
+     */
+    int updateInboundAbnormal(Map<String,Object> map);
+
+    List<WmspInboundScanResult> selectRepeat(WmspInboundScanResult wmspInboundScanResult);
+
+    /**
+     * 展示正常入库实绩
+     * @param map
+     * @return
+     */
+    List<Map<String, Object>> selectIssuedScanTagResult(Map<String, Object> map);
+
+    /**
+     * 判断是否重复插入
+     * @param map
+     * @return
+     */
+    List<Map<String, Object>> checkScanResult(Map<String,Object> map);
+
+    /**
+     * 获取异常入库
+     * @param map
+     * @return
+     */
+    List<Map<String, Object>> selectIssuedScanTagNoResult(Map<String, Object> map);
+
+
+    /**
+     * 更新入库扫描吊牌实绩
+     * @param map
+     * @return
+     */
+    Integer updateInboundScanResult(Map<String, Object> map);
+
+    Integer updateReboundScanResult(Map<String, Object> map);
+
+
+    /**
+     * 获取退库已下发吊牌实绩
+     * @param map
+     * @return
+     */
+    List<Map<String, Object>> selectReIssuedScanResult(Map<String, Object> map);
+
+    /*
+    获取退库未下发扫描吊牌实绩
+     */
+    List<Map<String, Object>> selectReScanTagResult(Map<String, Object> map);
+
+    /**
+     * 获取倒库入库已下发吊牌实绩
+     * @param map
+     * @return
+     */
+    List<Map<String, Object>> selectIvIssuedScanResult(Map<String, Object> map);
+
+    /*
+    获取倒库入库未下发扫描吊牌实绩
+     */
+    List<Map<String, Object>> selectIvScanTagResult(Map<String, Object> map);
+
+    //获取id
+    BigDecimal getLoadId(Map<String, Object> map);
+
+     //获取扫描实绩
+    List<Map<String, Object>> getScanResult(BigDecimal loadId);
+
+    List<Map<String,Object>> getOtherScanResultId(Map<String,Object> map);
+
+    //返回信息
+    List<Map<String,Object>> getReScanresult(BigDecimal loadId);
+
+    BigDecimal getOtherLoadId(Map<String, Object> map);
+
+    Integer getOtherMaterialSteelId(Map<String, Object> map);
+
+    List<Map<String, Object>> selectStackNo(Map<String, Object> map);
+
+    Integer updataStatus(Map<String, Object> map);
+    //判断物资是否为线材
+    BigDecimal selectMaterialTypeByMaterialId(BigDecimal materialId);
+    //判断是否已经被扫过了
+    int isExist(@Param("userName") String userId, @Param("resultMaterial")String resultMaterial);
+    //查询被扫描没有下发的物质
+    List<Map<String, Object>> noIssueScanResult(String userId);
+
+    BigDecimal getScanedNumber(String userId);
+
+    List<Map<String, Object>> noIssueScanResultList(String userName);
+}

+ 18 - 0
src/main/java/com/steerinfo/dil/mapper/WmspInboundStackResultMapper.java

@@ -0,0 +1,18 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.WmspInboundStackResult;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.math.BigDecimal;
+
+@Mapper
+public interface WmspInboundStackResultMapper extends IBaseMapper<WmspInboundStackResult, BigDecimal> {
+    /**
+     * 1.获取最大ID
+     * @return
+     */
+    BigDecimal getCount();
+
+
+}

この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません