Commit d38b1b62d52e70d8f06f7ee48829ef86dc1b060d

Authored by mahuandong
2 parents 7b92cf16 430bdfe4

Merge remote-tracking branch 'origin/develop' into develop

Showing 34 changed files with 1216 additions and 832 deletions
.idea/workspace.xml
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <project version="4">
3 3 <component name="ChangeListManager">
4   - <list default="true" id="908d8a6f-e3e4-4fdc-b674-e523a3e2b520" name="Default Changelist" comment="">
  4 + <list default="true" id="1fe4ff20-6474-45ee-a361-9572a808e9c9" name="Default Changelist" comment="Merge branch 'develop' of http://172.16.29.40:8010/wms/wms2 into develop&#10;&#10;# Conflicts:&#10;#&#9;.idea/workspace.xml&#10;#&#9;src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderService.java&#10;#&#9;src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java">
5 5 <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
6   - <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java" afterDir="false" />
7   - <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/controller/CycleCountHeaderController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/controller/CycleCountHeaderController.java" afterDir="false" />
8   - <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderServiceImpl.java" afterDir="false" />
9 6 <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java" afterDir="false" />
10   - <change beforePath="$PROJECT_DIR$/src/main/resources/templates/inventory/adjustDetail/addAdjust.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/inventory/adjustHeader/addAdjust.html" afterDir="false" />
11   - <change beforePath="$PROJECT_DIR$/src/main/resources/templates/inventory/adjustDetail/adjustDetail.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/inventory/adjustDetail/adjustDetail.html" afterDir="false" />
12   - <change beforePath="$PROJECT_DIR$/src/main/resources/templates/inventory/adjustDetail/adjustEdit.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/inventory/adjustHeader/adjustEdit.html" afterDir="false" />
13   - <change beforePath="$PROJECT_DIR$/src/main/resources/templates/inventory/adjustHeader/adjustHeader.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/inventory/adjustHeader/adjustHeader.html" afterDir="false" />
14   - <change beforePath="$PROJECT_DIR$/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html" afterDir="false" />
15   - <change beforePath="$PROJECT_DIR$/src/main/resources/templates/inventory/cycleCountHeader/cycleCountHeader.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/inventory/cycleCountHeader/cycleCountHeader.html" afterDir="false" />
16 7 </list>
17 8 <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
18 9 <option name="SHOW_DIALOG" value="false" />
... ... @@ -47,45 +38,91 @@
47 38 <item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" />
48 39 <item name="wms_v2: schema" type="76f4a085:MysqlImplModel$Schema" />
49 40 </path>
  41 + <path>
  42 + <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" />
  43 + <item name="@172.16.29.45" type="feb32156:DbDataSourceImpl" />
  44 + <item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" />
  45 + <item name="wms_v2: schema" type="76f4a085:MysqlImplModel$Schema" />
  46 + <item name="task_detail: table" type="285a2a93:MysqlImplModel$Table" />
  47 + </path>
  48 + <path>
  49 + <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" />
  50 + <item name="@localhost" type="feb32156:DbDataSourceImpl" />
  51 + </path>
  52 + <path>
  53 + <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" />
  54 + <item name="@localhost" type="feb32156:DbDataSourceImpl" />
  55 + <item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" />
  56 + </path>
50 57 </expand>
51 58 <select />
52 59 </component>
53 60 <component name="FileEditorManager">
54 61 <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
55 62 <file pinned="false" current-in-tab="false">
56   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/controller/CycleCountHeaderController.java">
  63 + <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/controller/TaskHeaderController.java">
  64 + <provider selected="true" editor-type-id="text-editor">
  65 + <state relative-caret-position="542">
  66 + <caret line="117" column="45" lean-forward="true" selection-start-line="117" selection-start-column="45" selection-end-line="117" selection-end-column="45" />
  67 + </state>
  68 + </provider>
  69 + </entry>
  70 + </file>
  71 + <file pinned="false" current-in-tab="false">
  72 + <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderService.java">
57 73 <provider selected="true" editor-type-id="text-editor">
58   - <state relative-caret-position="-567">
59   - <caret line="44" column="51" selection-start-line="44" selection-start-column="51" selection-end-line="44" selection-end-column="51" />
  74 + <state relative-caret-position="209">
  75 + <caret line="18" column="15" selection-start-line="18" selection-start-column="15" selection-end-line="18" selection-end-column="15" />
60 76 </state>
61 77 </provider>
62 78 </entry>
63 79 </file>
64 80 <file pinned="false" current-in-tab="true">
65   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java">
  81 + <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java">
66 82 <provider selected="true" editor-type-id="text-editor">
67   - <state relative-caret-position="8">
68   - <caret line="64" column="52" lean-forward="true" selection-start-line="64" selection-start-column="52" selection-end-line="64" selection-end-column="52" />
  83 + <state relative-caret-position="376">
  84 + <caret line="1089" column="13" lean-forward="true" selection-start-line="1089" selection-start-column="13" selection-end-line="1089" selection-end-column="13" />
  85 + <folding>
  86 + <element signature="imports" expanded="true" />
  87 + </folding>
69 88 </state>
70 89 </provider>
71 90 </entry>
72 91 </file>
73 92 <file pinned="false" current-in-tab="false">
74   - <entry file="file://$PROJECT_DIR$/src/main/resources/templates/inventory/cycleCountHeader/cycleCountHeader.html">
  93 + <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderService.java">
75 94 <provider selected="true" editor-type-id="text-editor">
76   - <state relative-caret-position="-12">
77   - <caret line="273" column="18" selection-start-line="273" selection-start-column="18" selection-end-line="273" selection-end-column="18" />
  95 + <state relative-caret-position="266">
  96 + <caret line="18" column="15" selection-start-line="18" selection-start-column="15" selection-end-line="18" selection-end-column="15" />
78 97 </state>
79 98 </provider>
80 99 </entry>
81 100 </file>
82 101 <file pinned="false" current-in-tab="false">
83   - <entry file="file://$PROJECT_DIR$/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html">
  102 + <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java">
84 103 <provider selected="true" editor-type-id="text-editor">
85   - <state relative-caret-position="-87">
86   - <caret line="122" selection-start-line="122" selection-end-line="122" />
  104 + <state relative-caret-position="340">
  105 + <caret line="112" column="26" selection-start-line="112" selection-start-column="16" selection-end-line="112" selection-end-column="26" />
  106 + </state>
  107 + </provider>
  108 + </entry>
  109 + </file>
  110 + <file pinned="false" current-in-tab="false">
  111 + <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryTransaction/domain/InventoryTransaction.java">
  112 + <provider selected="true" editor-type-id="text-editor">
  113 + <state relative-caret-position="226">
  114 + <caret line="95" column="19" selection-start-line="95" selection-start-column="12" selection-end-line="95" selection-end-column="19" />
  115 + </state>
  116 + </provider>
  117 + </entry>
  118 + </file>
  119 + <file pinned="false" current-in-tab="false">
  120 + <entry file="file://$PROJECT_DIR$/src/main/resources/templates/task/taskHeader/taskHeader.html">
  121 + <provider selected="true" editor-type-id="text-editor">
  122 + <state relative-caret-position="214">
  123 + <caret line="236" column="64" selection-start-line="236" selection-start-column="64" selection-end-line="236" selection-end-column="64" />
87 124 <folding>
88   - <element signature="e#6120#12518#0" />
  125 + <element signature="n#style#0;n#i#0;n#a#0;n#!!top" expanded="true" />
89 126 </folding>
90 127 </state>
91 128 </provider>
... ... @@ -113,41 +150,10 @@
113 150 <component name="IdeDocumentHistory">
114 151 <option name="CHANGED_PATHS">
115 152 <list>
116   - <option value="$PROJECT_DIR$/src/main/resources/templates/inventory/inventoryHeader/transfer.html" />
117   - <option value="$PROJECT_DIR$/src/main/resources/application-druid.properties" />
118   - <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/mapper/InventoryHeaderMapper.java" />
119   - <option value="$PROJECT_DIR$/src/main/resources/mybatis/inventory/InventoryHeaderMapper.xml" />
  153 + <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java" />
  154 + <option value="$PROJECT_DIR$/src/main/resources/templates/task/taskHeader/taskHeader.html" />
120 155 <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskDetail/domain/TaskDetail.java" />
121   - <option value="$PROJECT_DIR$/src/main/resources/mybatis/task/TaskDetailMapper.xml" />
122   - <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/domain/TaskHeader.java" />
123   - <option value="$PROJECT_DIR$/src/main/resources/mybatis/task/TaskHeaderMapper.xml" />
124   - <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryTransaction/domain/InventoryTransaction.java" />
125   - <option value="$PROJECT_DIR$/src/main/resources/mybatis/inventory/InventoryTransactionMapper.xml" />
126   - <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/controller/TaskHeaderController.java" />
127   - <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/containerType/service/ContainerTypeServiceImpl.java" />
128   - <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderService.java" />
129   - <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailService.java" />
130   - <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/controller/InventoryHeaderController.java" />
131   - <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java" />
132   - <option value="$PROJECT_DIR$/src/main/resources/templates/inventory/inventoryDetail/inventoryDetail.html" />
133   - <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/controller/InventoryDetailController.java" />
134   - <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderService.java" />
135   - <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/container/service/ContainerService.java" />
136   - <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/location/service/LocationService.java" />
137   - <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/container/service/ContainerServiceImpl.java" />
138   - <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/location/service/LocationServiceImpl.java" />
139   - <option value="$PROJECT_DIR$/src/main/resources/mybatis/config/LocationMapper.xml" />
140   - <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/container/mapper/ContainerMapper.java" />
141   - <option value="$PROJECT_DIR$/src/main/resources/mybatis/config/ContainerMapper.xml" />
142   - <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/location/mapper/LocationMapper.java" />
143 156 <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java" />
144   - <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderServiceImpl.java" />
145   - <option value="$PROJECT_DIR$/src/main/resources/templates/inventory/cycleCountHeader/cycleCountHeader.html" />
146   - <option value="$PROJECT_DIR$/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html" />
147   - <option value="$PROJECT_DIR$/src/main/resources/templates/inventory/adjustHeader/adjustHeader.html" />
148   - <option value="$PROJECT_DIR$/src/main/resources/templates/inventory/adjustDetail/adjustDetail.html" />
149   - <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/controller/CycleCountHeaderController.java" />
150   - <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java" />
151 157 </list>
152 158 </option>
153 159 </component>
... ... @@ -165,10 +171,9 @@
165 171 </option>
166 172 </component>
167 173 <component name="ProjectFrameBounds" extendedState="6">
168   - <option name="x" value="-9" />
169   - <option name="y" value="-9" />
170   - <option name="width" value="1938" />
171   - <option name="height" value="1048" />
  174 + <option name="x" value="470" />
  175 + <option name="width" value="980" />
  176 + <option name="height" value="1030" />
172 177 </component>
173 178 <component name="ProjectId" id="1Q2nhRM7LRz3yFWhpclOKgTjxn0" />
174 179 <component name="ProjectLevelVcsManager">
... ... @@ -179,6 +184,8 @@
179 184 <foldersAlwaysOnTop value="true" />
180 185 </navigator>
181 186 <panes>
  187 + <pane id="PackagesPane" />
  188 + <pane id="Scope" />
182 189 <pane id="ProjectPane">
183 190 <subPane>
184 191 <expand>
... ... @@ -189,11 +196,6 @@
189 196 <path>
190 197 <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
191 198 <item name="wms2" type="462c0819:PsiDirectoryNode" />
192   - <item name=".idea" type="462c0819:PsiDirectoryNode" />
193   - </path>
194   - <path>
195   - <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
196   - <item name="wms2" type="462c0819:PsiDirectoryNode" />
197 199 <item name="src" type="462c0819:PsiDirectoryNode" />
198 200 </path>
199 201 <path>
... ... @@ -245,7 +247,7 @@
245 247 <item name="com" type="462c0819:PsiDirectoryNode" />
246 248 <item name="huaheng" type="462c0819:PsiDirectoryNode" />
247 249 <item name="pc" type="462c0819:PsiDirectoryNode" />
248   - <item name="inventory" type="462c0819:PsiDirectoryNode" />
  250 + <item name="receipt" type="462c0819:PsiDirectoryNode" />
249 251 </path>
250 252 <path>
251 253 <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
... ... @@ -256,8 +258,8 @@
256 258 <item name="com" type="462c0819:PsiDirectoryNode" />
257 259 <item name="huaheng" type="462c0819:PsiDirectoryNode" />
258 260 <item name="pc" type="462c0819:PsiDirectoryNode" />
259   - <item name="inventory" type="462c0819:PsiDirectoryNode" />
260   - <item name="cycleCountDetail" type="462c0819:PsiDirectoryNode" />
  261 + <item name="receipt" type="462c0819:PsiDirectoryNode" />
  262 + <item name="receiptContainerHeader" type="462c0819:PsiDirectoryNode" />
261 263 </path>
262 264 <path>
263 265 <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
... ... @@ -268,8 +270,8 @@
268 270 <item name="com" type="462c0819:PsiDirectoryNode" />
269 271 <item name="huaheng" type="462c0819:PsiDirectoryNode" />
270 272 <item name="pc" type="462c0819:PsiDirectoryNode" />
271   - <item name="inventory" type="462c0819:PsiDirectoryNode" />
272   - <item name="cycleCountDetail" type="462c0819:PsiDirectoryNode" />
  273 + <item name="receipt" type="462c0819:PsiDirectoryNode" />
  274 + <item name="receiptContainerHeader" type="462c0819:PsiDirectoryNode" />
273 275 <item name="controller" type="462c0819:PsiDirectoryNode" />
274 276 </path>
275 277 <path>
... ... @@ -281,8 +283,7 @@
281 283 <item name="com" type="462c0819:PsiDirectoryNode" />
282 284 <item name="huaheng" type="462c0819:PsiDirectoryNode" />
283 285 <item name="pc" type="462c0819:PsiDirectoryNode" />
284   - <item name="inventory" type="462c0819:PsiDirectoryNode" />
285   - <item name="cycleCountHeader" type="462c0819:PsiDirectoryNode" />
  286 + <item name="task" type="462c0819:PsiDirectoryNode" />
286 287 </path>
287 288 <path>
288 289 <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
... ... @@ -293,9 +294,8 @@
293 294 <item name="com" type="462c0819:PsiDirectoryNode" />
294 295 <item name="huaheng" type="462c0819:PsiDirectoryNode" />
295 296 <item name="pc" type="462c0819:PsiDirectoryNode" />
296   - <item name="inventory" type="462c0819:PsiDirectoryNode" />
297   - <item name="cycleCountHeader" type="462c0819:PsiDirectoryNode" />
298   - <item name="controller" type="462c0819:PsiDirectoryNode" />
  297 + <item name="task" type="462c0819:PsiDirectoryNode" />
  298 + <item name="taskDetail" type="462c0819:PsiDirectoryNode" />
299 299 </path>
300 300 <path>
301 301 <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
... ... @@ -307,6 +307,8 @@
307 307 <item name="huaheng" type="462c0819:PsiDirectoryNode" />
308 308 <item name="pc" type="462c0819:PsiDirectoryNode" />
309 309 <item name="task" type="462c0819:PsiDirectoryNode" />
  310 + <item name="taskDetail" type="462c0819:PsiDirectoryNode" />
  311 + <item name="domain" type="462c0819:PsiDirectoryNode" />
310 312 </path>
311 313 <path>
312 314 <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
... ... @@ -351,18 +353,6 @@
351 353 <item name="wms2" type="462c0819:PsiDirectoryNode" />
352 354 <item name="src" type="462c0819:PsiDirectoryNode" />
353 355 <item name="main" type="462c0819:PsiDirectoryNode" />
354   - <item name="java" type="462c0819:PsiDirectoryNode" />
355   - <item name="com" type="462c0819:PsiDirectoryNode" />
356   - <item name="huaheng" type="462c0819:PsiDirectoryNode" />
357   - <item name="pc" type="462c0819:PsiDirectoryNode" />
358   - <item name="task" type="462c0819:PsiDirectoryNode" />
359   - <item name="taskPreference" type="462c0819:PsiDirectoryNode" />
360   - </path>
361   - <path>
362   - <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
363   - <item name="wms2" type="462c0819:PsiDirectoryNode" />
364   - <item name="src" type="462c0819:PsiDirectoryNode" />
365   - <item name="main" type="462c0819:PsiDirectoryNode" />
366 356 <item name="resources" type="462c0819:PsiDirectoryNode" />
367 357 </path>
368 358 <path>
... ... @@ -380,37 +370,7 @@
380 370 <item name="main" type="462c0819:PsiDirectoryNode" />
381 371 <item name="resources" type="462c0819:PsiDirectoryNode" />
382 372 <item name="templates" type="462c0819:PsiDirectoryNode" />
383   - <item name="inventory" type="462c0819:PsiDirectoryNode" />
384   - </path>
385   - <path>
386   - <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
387   - <item name="wms2" type="462c0819:PsiDirectoryNode" />
388   - <item name="src" type="462c0819:PsiDirectoryNode" />
389   - <item name="main" type="462c0819:PsiDirectoryNode" />
390   - <item name="resources" type="462c0819:PsiDirectoryNode" />
391   - <item name="templates" type="462c0819:PsiDirectoryNode" />
392   - <item name="inventory" type="462c0819:PsiDirectoryNode" />
393   - <item name="adjustDetail" type="462c0819:PsiDirectoryNode" />
394   - </path>
395   - <path>
396   - <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
397   - <item name="wms2" type="462c0819:PsiDirectoryNode" />
398   - <item name="src" type="462c0819:PsiDirectoryNode" />
399   - <item name="main" type="462c0819:PsiDirectoryNode" />
400   - <item name="resources" type="462c0819:PsiDirectoryNode" />
401   - <item name="templates" type="462c0819:PsiDirectoryNode" />
402   - <item name="inventory" type="462c0819:PsiDirectoryNode" />
403   - <item name="adjustHeader" type="462c0819:PsiDirectoryNode" />
404   - </path>
405   - <path>
406   - <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
407   - <item name="wms2" type="462c0819:PsiDirectoryNode" />
408   - <item name="src" type="462c0819:PsiDirectoryNode" />
409   - <item name="main" type="462c0819:PsiDirectoryNode" />
410   - <item name="resources" type="462c0819:PsiDirectoryNode" />
411   - <item name="templates" type="462c0819:PsiDirectoryNode" />
412   - <item name="inventory" type="462c0819:PsiDirectoryNode" />
413   - <item name="cycleCountDetail" type="462c0819:PsiDirectoryNode" />
  373 + <item name="task" type="462c0819:PsiDirectoryNode" />
414 374 </path>
415 375 <path>
416 376 <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
... ... @@ -419,15 +379,13 @@
419 379 <item name="main" type="462c0819:PsiDirectoryNode" />
420 380 <item name="resources" type="462c0819:PsiDirectoryNode" />
421 381 <item name="templates" type="462c0819:PsiDirectoryNode" />
422   - <item name="inventory" type="462c0819:PsiDirectoryNode" />
423   - <item name="cycleCountHeader" type="462c0819:PsiDirectoryNode" />
  382 + <item name="task" type="462c0819:PsiDirectoryNode" />
  383 + <item name="taskHeader" type="462c0819:PsiDirectoryNode" />
424 384 </path>
425 385 </expand>
426 386 <select />
427 387 </subPane>
428 388 </pane>
429   - <pane id="PackagesPane" />
430   - <pane id="Scope" />
431 389 </panes>
432 390 </component>
433 391 <component name="PropertiesComponent">
... ... @@ -442,6 +400,8 @@
442 400 <property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
443 401 <property name="WebServerToolWindowFactoryState" value="false" />
444 402 <property name="aspect.path.notification.shown" value="true" />
  403 + <property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1567684191959" />
  404 + <property name="last_opened_file_path" value="$PROJECT_DIR$/../web_cms" />
445 405 <property name="list.type.of.created.stylesheet" value="CSS" />
446 406 <property name="node.js.detected.package.eslint" value="true" />
447 407 <property name="node.js.path.for.package.eslint" value="project" />
... ... @@ -451,12 +411,6 @@
451 411 <property name="nodejs_package_manager_path" value="npm" />
452 412 <property name="settings.editor.selected.configurable" value="Settings.JavaScript" />
453 413 </component>
454   - <component name="RecentsManager">
455   - <key name="MoveFile.RECENT_KEYS">
456   - <recent name="C:\Project\wms2\src\main\resources\templates\inventory\adjustDetail" />
457   - <recent name="C:\Project\wms2\src\main\resources\templates\inventory\adjustHeader" />
458   - </key>
459   - </component>
460 414 <component name="RunDashboard">
461 415 <option name="configurationTypes">
462 416 <set>
... ... @@ -477,7 +431,7 @@
477 431 </component>
478 432 <component name="RunManager">
479 433 <configuration name="HuaHengApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
480   - <module name="wms2" />
  434 + <module name="huaheng" />
481 435 <option name="SPRING_BOOT_MAIN_CLASS" value="com.huaheng.HuaHengApplication" />
482 436 <option name="ALTERNATIVE_JRE_PATH" />
483 437 <option name="UPDATE_ACTION_UPDATE_POLICY" value="UpdateClassesAndResources" />
... ... @@ -492,17 +446,7 @@
492 446 <serviceView>
493 447 <option name="contentProportion" value="0.17857143" />
494 448 <treeState>
495   - <expand>
496   - <path>
497   - <item name="services root" type="e789fda9:ObjectUtils$Sentinel" />
498   - <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@b9e1b2d7" type="7427dc5b:ServiceModel$ServiceGroupNode" />
499   - </path>
500   - <path>
501   - <item name="services root" type="e789fda9:ObjectUtils$Sentinel" />
502   - <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@b9e1b2d7" type="7427dc5b:ServiceModel$ServiceGroupNode" />
503   - <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@67b24c63" type="7427dc5b:ServiceModel$ServiceGroupNode" />
504   - </path>
505   - </expand>
  449 + <expand />
506 450 <select />
507 451 </treeState>
508 452 </serviceView>
... ... @@ -513,7 +457,7 @@
513 457 </component>
514 458 <component name="TaskManager">
515 459 <task active="true" id="Default" summary="Default task">
516   - <changelist id="908d8a6f-e3e4-4fdc-b674-e523a3e2b520" name="Default Changelist" comment="" />
  460 + <changelist id="4d9bac65-d8f6-4ced-8855-0db48f39a5f2" name="Default Changelist" comment="" />
517 461 <created>1566977677142</created>
518 462 <option name="number" value="Default" />
519 463 <option name="presentableId" value="Default" />
... ... @@ -523,6 +467,7 @@
523 467 <workItem from="1567038752582" duration="12361000" />
524 468 <workItem from="1567057373550" duration="15293000" />
525 469 <workItem from="1567125196953" duration="16752000" />
  470 + <workItem from="1567643852002" duration="245000" />
526 471 </task>
527 472 <task id="LOCAL-00001" summary="入库单添加时添加流程标记,审核入库单">
528 473 <created>1566983055587</created>
... ... @@ -580,76 +525,58 @@
580 525 <option name="project" value="LOCAL" />
581 526 <updated>1567069834248</updated>
582 527 </task>
583   - <option name="localTasksCounter" value="9" />
  528 + <task id="LOCAL-00009" summary="出库任务完成。新增allocationId字段">
  529 + <created>1567672551433</created>
  530 + <option name="number" value="00009" />
  531 + <option name="presentableId" value="LOCAL-00009" />
  532 + <option name="project" value="LOCAL" />
  533 + <updated>1567672551433</updated>
  534 + </task>
  535 + <option name="localTasksCounter" value="10" />
584 536 <servers />
585 537 </component>
  538 + <component name="TimeTrackingManager">
  539 + <option name="totallyTimeSpent" value="22177000" />
  540 + </component>
586 541 <component name="ToolWindowManager">
587   - <frame x="-7" y="-7" width="1550" height="838" extended-state="6" />
  542 + <frame x="-7" y="-7" width="1550" height="838" extended-state="7" />
588 543 <editor active="true" />
589 544 <layout>
590   - <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.19839142" />
  545 + <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.28016084" />
591 546 <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
592   - <window_info id="Web" order="2" side_tool="true" />
593   - <window_info id="Designer" order="3" />
594   - <window_info id="UI Designer" order="4" />
595   - <window_info id="Favorites" order="5" side_tool="true" />
  547 + <window_info id="Designer" order="2" />
  548 + <window_info id="Image Layers" order="3" />
  549 + <window_info id="Capture Tool" order="4" />
  550 + <window_info id="UI Designer" order="5" />
  551 + <window_info id="Favorites" order="6" side_tool="true" />
  552 + <window_info id="Web" order="7" side_tool="true" />
596 553 <window_info anchor="bottom" id="Message" order="0" />
597   - <window_info anchor="bottom" id="Find" order="1" weight="0.3286119" />
  554 + <window_info anchor="bottom" id="Find" order="1" />
598 555 <window_info anchor="bottom" id="Run" order="2" />
599   - <window_info anchor="bottom" id="Debug" order="3" weight="0.29036826" />
  556 + <window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
600 557 <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
601 558 <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
602 559 <window_info anchor="bottom" id="TODO" order="6" />
603   - <window_info anchor="bottom" id="Docker" order="7" show_stripe_button="false" />
604   - <window_info anchor="bottom" id="Version Control" order="8" sideWeight="0.49932975" weight="0.08073654" />
605   - <window_info anchor="bottom" id="Database Changes" order="9" weight="0.3286119" />
606   - <window_info anchor="bottom" id="Spring" order="10" />
607   - <window_info anchor="bottom" id="MyBatis Log" order="11" weight="0.3286119" />
608   - <window_info anchor="bottom" id="Event Log" order="12" sideWeight="0.50067025" side_tool="true" weight="0.6090652" />
609   - <window_info anchor="bottom" id="Messages" order="13" weight="0.04249292" />
610   - <window_info anchor="bottom" id="Java Enterprise" order="14" />
611   - <window_info active="true" anchor="bottom" id="Run Dashboard" order="15" sideWeight="0.49932975" visible="true" weight="0.17280453" />
  560 + <window_info anchor="bottom" id="Spring" order="7" />
  561 + <window_info anchor="bottom" id="Terminal" order="8" />
  562 + <window_info anchor="bottom" id="Docker" order="9" show_stripe_button="false" />
  563 + <window_info anchor="bottom" id="Event Log" order="10" sideWeight="0.5013405" side_tool="true" weight="0.2719547" />
  564 + <window_info anchor="bottom" id="Messages" order="11" weight="0.18696883" />
  565 + <window_info anchor="bottom" id="Java Enterprise" order="12" />
  566 + <window_info anchor="bottom" id="Database Changes" order="13" weight="0.3286119" />
  567 + <window_info anchor="bottom" id="Version Control" order="14" weight="0.3286119" />
  568 + <window_info anchor="bottom" id="Run Dashboard" order="15" sideWeight="0.49865952" weight="0.2719547" />
612 569 <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
613 570 <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
614 571 <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
615   - <window_info anchor="right" id="Palette" order="3" />
616   - <window_info anchor="right" id="Database" order="4" />
617   - <window_info anchor="right" id="Maven" order="5" weight="0.097184986" />
618   - <window_info anchor="right" id="Bean Validation" order="6" />
  572 + <window_info anchor="right" id="Maven" order="3" />
  573 + <window_info anchor="right" id="Palette" order="4" />
  574 + <window_info anchor="right" id="Capture Analysis" order="5" />
  575 + <window_info anchor="right" id="Database" order="6" />
619 576 <window_info anchor="right" id="Palette&#9;" order="7" />
  577 + <window_info anchor="right" id="Theme Preview" order="8" />
  578 + <window_info anchor="right" id="Bean Validation" order="9" />
620 579 </layout>
621   - <layout-to-restore>
622   - <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.26340482" />
623   - <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
624   - <window_info id="Web" order="2" side_tool="true" />
625   - <window_info id="Designer" order="3" />
626   - <window_info id="UI Designer" order="4" />
627   - <window_info id="Favorites" order="5" side_tool="true" />
628   - <window_info anchor="bottom" id="Message" order="0" />
629   - <window_info anchor="bottom" id="Find" order="1" weight="0.3286119" />
630   - <window_info anchor="bottom" id="Run" order="2" />
631   - <window_info anchor="bottom" id="Debug" order="3" weight="0.29036826" />
632   - <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
633   - <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
634   - <window_info anchor="bottom" id="TODO" order="6" />
635   - <window_info anchor="bottom" id="Docker" order="7" show_stripe_button="false" />
636   - <window_info anchor="bottom" id="Version Control" order="8" weight="0.45042494" />
637   - <window_info anchor="bottom" id="Database Changes" order="9" />
638   - <window_info anchor="bottom" id="Spring" order="10" />
639   - <window_info anchor="bottom" id="MyBatis Log" order="11" weight="0.3286119" />
640   - <window_info anchor="bottom" id="Event Log" order="12" sideWeight="0.50067025" side_tool="true" weight="0.23796034" />
641   - <window_info anchor="bottom" id="Messages" order="13" weight="0.12606232" />
642   - <window_info anchor="bottom" id="Java Enterprise" order="14" />
643   - <window_info active="true" anchor="bottom" id="Run Dashboard" order="15" sideWeight="0.49932975" visible="true" weight="0.18838526" />
644   - <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
645   - <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
646   - <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
647   - <window_info anchor="right" id="Palette" order="3" />
648   - <window_info anchor="right" id="Database" order="4" />
649   - <window_info anchor="right" id="Maven" order="5" weight="0.097184986" />
650   - <window_info anchor="right" id="Bean Validation" order="6" />
651   - <window_info anchor="right" id="Palette&#9;" order="7" />
652   - </layout-to-restore>
653 580 </component>
654 581 <component name="TypeScriptGeneratedFilesManager">
655 582 <option name="version" value="1" />
... ... @@ -666,14 +593,7 @@
666 593 <option name="RECENTLY_FILTERED_BRANCH_GROUPS">
667 594 <collection />
668 595 </option>
669   - <option name="COLUMN_ORDER">
670   - <list>
671   - <option value="0" />
672   - <option value="1" />
673   - <option value="2" />
674   - <option value="3" />
675   - </list>
676   - </option>
  596 + <option name="COLUMN_ORDER" />
677 597 </State>
678 598 </value>
679 599 </entry>
... ... @@ -695,7 +615,6 @@
695 615 </option>
696 616 </component>
697 617 <component name="VcsManagerConfiguration">
698   - <option name="ADD_EXTERNAL_FILES_SILENTLY" value="true" />
699 618 <MESSAGE value="盘点明细页面" />
700 619 <MESSAGE value="入库单添加时添加流程标记,审核入库单" />
701 620 <MESSAGE value="添加入库单历史" />
... ... @@ -708,9 +627,8 @@
708 627 <MESSAGE value="库存和任务移库相关" />
709 628 <MESSAGE value="库存移库生成和完成逻辑" />
710 629 <MESSAGE value="xml" />
711   - <MESSAGE value="空托出入库,完成逻辑" />
712   - <MESSAGE value="pull" />
713   - <option name="LAST_COMMIT_MESSAGE" value="pull" />
  630 + <MESSAGE value="出库任务完成。新增allocationId字段" />
  631 + <option name="LAST_COMMIT_MESSAGE" value="出库任务完成。新增allocationId字段" />
714 632 </component>
715 633 <component name="XDebuggerManager">
716 634 <breakpoint-manager>
... ... @@ -734,30 +652,6 @@
734 652 <option name="timeStamp" value="16" />
735 653 </line-breakpoint>
736 654 <line-breakpoint enabled="true" type="java-line">
737   - <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java</url>
738   - <line>216</line>
739   - <properties />
740   - <option name="timeStamp" value="19" />
741   - </line-breakpoint>
742   - <line-breakpoint enabled="true" type="java-line">
743   - <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java</url>
744   - <line>241</line>
745   - <properties />
746   - <option name="timeStamp" value="20" />
747   - </line-breakpoint>
748   - <line-breakpoint enabled="true" type="java-line">
749   - <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java</url>
750   - <line>163</line>
751   - <properties />
752   - <option name="timeStamp" value="22" />
753   - </line-breakpoint>
754   - <line-breakpoint enabled="true" type="java-line">
755   - <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java</url>
756   - <line>181</line>
757   - <properties />
758   - <option name="timeStamp" value="23" />
759   - </line-breakpoint>
760   - <line-breakpoint enabled="true" type="java-line">
761 655 <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java</url>
762 656 <line>92</line>
763 657 <properties />
... ... @@ -769,386 +663,175 @@
769 663 <properties />
770 664 <option name="timeStamp" value="26" />
771 665 </line-breakpoint>
  666 + <line-breakpoint enabled="true" type="java-line">
  667 + <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java</url>
  668 + <line>48</line>
  669 + <properties />
  670 + <option name="timeStamp" value="37" />
  671 + </line-breakpoint>
772 672 </breakpoints>
773 673 </breakpoint-manager>
  674 + <watches-manager>
  675 + <configuration name="SpringBootApplicationConfigurationType">
  676 + <watch expression="DataUtils.getInteger(map.get(&quot;receiptId&quot;))" language="JAVA" />
  677 + </configuration>
  678 + </watches-manager>
  679 + </component>
  680 + <component name="debuggerHistoryManager">
  681 + <expressions id="watch">
  682 + <expression>
  683 + <expression-string>DataUtils.getInteger(map.get(&quot;receiptId&quot;))</expression-string>
  684 + <language-id>JAVA</language-id>
  685 + <evaluation-mode>EXPRESSION</evaluation-mode>
  686 + </expression>
  687 + </expressions>
774 688 </component>
775 689 <component name="editorHistoryManager">
776   - <entry file="jar://C:/Program Files/Java/jdk1.8.0_202/src.zip!/com/sun/jmx/snmp/tasks/Task.java">
777   - <provider selected="true" editor-type-id="text-editor">
778   - <state relative-caret-position="330">
779   - <caret line="57" column="17" selection-start-line="57" selection-start-column="17" selection-end-line="57" selection-end-column="17" />
780   - </state>
781   - </provider>
782   - </entry>
783   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/service/ReceiptContainerDetailServiceImpl.java">
784   - <provider selected="true" editor-type-id="text-editor">
785   - <state relative-caret-position="80">
786   - <caret line="10" column="13" selection-start-line="10" selection-start-column="13" selection-end-line="10" selection-end-column="13" />
787   - </state>
788   - </provider>
789   - </entry>
790   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/service/ReceiptContainerDetailService.java">
791   - <provider selected="true" editor-type-id="text-editor">
792   - <state relative-caret-position="60">
793   - <caret line="4" column="62" selection-start-line="4" selection-start-column="62" selection-end-line="4" selection-end-column="62" />
794   - </state>
795   - </provider>
796   - </entry>
797   - <entry file="jar://$MAVEN_REPOSITORY$/com/baomidou/mybatis-plus-core/3.1.2/mybatis-plus-core-3.1.2.jar!/com/baomidou/mybatisplus/core/mapper/BaseMapper.class">
798   - <provider selected="true" editor-type-id="text-editor">
799   - <state relative-caret-position="80">
800   - <caret line="13" column="43" lean-forward="true" selection-start-line="13" selection-start-column="43" selection-end-line="13" selection-end-column="43" />
801   - </state>
802   - </provider>
803   - </entry>
804   - <entry file="file://$PROJECT_DIR$/src/main/resources/mybatis/task/TaskDetailMapper.xml">
805   - <provider selected="true" editor-type-id="text-editor">
806   - <state relative-caret-position="464">
807   - <caret line="54" column="25" lean-forward="true" selection-start-line="54" selection-start-column="25" selection-end-line="54" selection-end-column="25" />
808   - </state>
809   - </provider>
810   - </entry>
811   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskDetail/mapper/TaskDetailMapper.java">
812   - <provider selected="true" editor-type-id="text-editor">
813   - <state relative-caret-position="100">
814   - <caret line="6" column="1" lean-forward="true" selection-start-line="6" selection-start-column="1" selection-end-line="6" selection-end-column="1" />
815   - </state>
816   - </provider>
817   - </entry>
818   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskDetail/domain/TaskDetail.java">
819   - <provider selected="true" editor-type-id="text-editor">
820   - <state relative-caret-position="304">
821   - <caret line="43" column="19" selection-start-line="43" selection-start-column="19" selection-end-line="43" selection-end-column="19" />
822   - </state>
823   - </provider>
824   - </entry>
825   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskDetail/service/TaskDetailServiceImpl.java">
826   - <provider selected="true" editor-type-id="text-editor">
827   - <state relative-caret-position="80">
828   - <caret line="10" column="13" selection-start-line="10" selection-start-column="13" selection-end-line="10" selection-end-column="13" />
829   - </state>
830   - </provider>
831   - </entry>
832   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskDetail/service/TaskDetailService.java">
833   - <provider selected="true" editor-type-id="text-editor">
834   - <state relative-caret-position="60">
835   - <caret line="4" column="17" selection-start-line="4" selection-start-column="17" selection-end-line="4" selection-end-column="17" />
836   - </state>
837   - </provider>
838   - </entry>
839   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/domain/ShipmentTaskCreateModel.java">
  690 + <entry file="jar://$MAVEN_REPOSITORY$/com/baomidou/mybatis-plus-extension/3.1.2/mybatis-plus-extension-3.1.2.jar!/com/baomidou/mybatisplus/extension/service/IService.class">
840 691 <provider selected="true" editor-type-id="text-editor">
841   - <state relative-caret-position="-12">
842   - <caret line="5" column="13" selection-start-line="5" selection-start-column="13" selection-end-line="5" selection-end-column="13" />
  692 + <state relative-caret-position="149">
  693 + <caret line="53" column="12" selection-start-line="53" selection-start-column="12" selection-end-line="53" selection-end-column="12" />
843 694 </state>
844 695 </provider>
845 696 </entry>
846 697 <entry file="file://$PROJECT_DIR$/src/main/resources/mybatis/task/TaskHeaderMapper.xml">
847 698 <provider selected="true" editor-type-id="text-editor">
848   - <state relative-caret-position="322">
849   - <caret line="18" column="4" selection-start-line="18" selection-start-column="4" selection-end-line="18" selection-end-column="4" />
850   - </state>
851   - </provider>
852   - </entry>
853   - <entry file="file://$PROJECT_DIR$/src/main/resources/mybatis/inventory/InventoryTransactionMapper.xml">
854   - <provider selected="true" editor-type-id="text-editor">
855   - <state relative-caret-position="308">
856   - <caret line="28" column="50" selection-start-line="28" selection-start-column="50" selection-end-line="28" selection-end-column="50" />
857   - </state>
858   - </provider>
859   - </entry>
860   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryTransaction/mapper/InventoryTransactionMapper.java">
861   - <provider selected="true" editor-type-id="text-editor">
862   - <state relative-caret-position="80">
863   - <caret line="5" column="17" selection-start-line="5" selection-start-column="17" selection-end-line="5" selection-end-column="17" />
864   - </state>
865   - </provider>
866   - </entry>
867   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/domain/TaskHeader.java">
868   - <provider selected="true" editor-type-id="text-editor">
869   - <state relative-caret-position="1048">
870   - <caret line="316" column="69" selection-start-line="316" selection-start-column="69" selection-end-line="316" selection-end-column="69" />
  699 + <state relative-caret-position="146">
  700 + <caret line="45" column="31" selection-start-line="45" selection-start-column="16" selection-end-line="45" selection-end-column="31" />
871 701 </state>
872 702 </provider>
873 703 </entry>
874   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryTransaction/domain/InventoryTransaction.java">
  704 + <entry file="file://$PROJECT_DIR$/src/main/resources/templates/task/task/task.html">
875 705 <provider selected="true" editor-type-id="text-editor">
876   - <state relative-caret-position="324">
877   - <caret line="179" column="18" selection-start-line="179" selection-start-column="18" selection-end-line="179" selection-end-column="18" />
  706 + <state relative-caret-position="1444">
  707 + <caret line="76" column="89" selection-start-line="76" selection-start-column="70" selection-end-line="76" selection-end-column="89" />
878 708 </state>
879 709 </provider>
880 710 </entry>
881   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/containerType/service/ContainerTypeServiceImpl.java">
  711 + <entry file="file://$PROJECT_DIR$/pom.xml">
882 712 <provider selected="true" editor-type-id="text-editor">
883   - <state relative-caret-position="400">
884   - <caret line="31" selection-start-line="31" selection-end-line="31" />
  713 + <state relative-caret-position="532">
  714 + <caret line="28" column="8" selection-start-line="28" selection-start-column="8" selection-end-line="28" selection-end-column="51" />
885 715 </state>
886 716 </provider>
887 717 </entry>
888   - <entry file="file://$PROJECT_DIR$/src/main/resources/templates/config/container/add.html">
  718 + <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java">
889 719 <provider selected="true" editor-type-id="text-editor">
890   - <state relative-caret-position="164">
891   - <caret line="10" column="95" selection-start-line="10" selection-start-column="95" selection-end-line="10" selection-end-column="95" />
  720 + <state relative-caret-position="-66">
  721 + <caret line="238" column="16" selection-start-line="238" selection-start-column="16" selection-end-line="238" selection-end-column="16" />
892 722 </state>
893 723 </provider>
894 724 </entry>
895   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/mapper/TaskHeaderMapper.java">
  725 + <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailService.java">
896 726 <provider selected="true" editor-type-id="text-editor">
897   - <state relative-caret-position="120">
898   - <caret line="11" column="78" selection-start-line="11" selection-start-column="78" selection-end-line="11" selection-end-column="78" />
  727 + <state relative-caret-position="209">
  728 + <caret line="13" column="9" selection-start-line="13" selection-start-column="9" selection-end-line="13" selection-end-column="9" />
899 729 </state>
900 730 </provider>
901 731 </entry>
902   - <entry file="file://$PROJECT_DIR$/src/main/resources/templates/inventory/inventoryHeader/transfer.html">
  732 + <entry file="file://$PROJECT_DIR$/src/main/resources/templates/task/taskHeader/taskHeader.html">
903 733 <provider selected="true" editor-type-id="text-editor">
904   - <state relative-caret-position="-264">
905   - <caret line="13" column="54" selection-start-line="13" selection-start-column="54" selection-end-line="13" selection-end-column="54" />
906   - </state>
907   - </provider>
908   - </entry>
909   - <entry file="jar://C:/Program Files/Java/jdk1.8.0_202/src.zip!/java/util/function/Function.java">
910   - <provider selected="true" editor-type-id="text-editor">
911   - <state relative-caret-position="460">
912   - <caret line="46" column="32" selection-start-line="46" selection-start-column="32" selection-end-line="46" selection-end-column="32" />
913   - </state>
914   - </provider>
915   - </entry>
916   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryTransaction/service/InventoryTransactionService.java">
917   - <provider selected="true" editor-type-id="text-editor">
918   - <state relative-caret-position="60">
919   - <caret line="4" column="17" selection-start-line="4" selection-start-column="17" selection-end-line="4" selection-end-column="17" />
920   - </state>
921   - </provider>
922   - </entry>
923   - <entry file="jar://$MAVEN_REPOSITORY$/com/baomidou/mybatis-plus-extension/3.1.2/mybatis-plus-extension-3.1.2.jar!/com/baomidou/mybatisplus/extension/service/IService.class">
924   - <provider selected="true" editor-type-id="text-editor">
925   - <state relative-caret-position="216">
926   - <caret line="37" column="20" selection-start-line="37" selection-start-column="20" selection-end-line="37" selection-end-column="20" />
  734 + <state relative-caret-position="214">
  735 + <caret line="236" column="64" selection-start-line="236" selection-start-column="64" selection-end-line="236" selection-end-column="64" />
927 736 <folding>
928   - <element signature="e#1400#1401#0" expanded="true" />
929   - <element signature="e#1463#1464#0" expanded="true" />
  737 + <element signature="n#style#0;n#i#0;n#a#0;n#!!top" expanded="true" />
930 738 </folding>
931 739 </state>
932 740 </provider>
933 741 </entry>
934   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderService.java">
  742 + <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/mapper/TaskHeaderMapper.java">
935 743 <provider selected="true" editor-type-id="text-editor">
936   - <state relative-caret-position="100">
937   - <caret line="8" column="61" selection-start-line="8" selection-start-column="61" selection-end-line="8" selection-end-column="61" />
  744 + <state relative-caret-position="114">
  745 + <caret line="11" column="30" selection-start-line="11" selection-start-column="30" selection-end-line="11" selection-end-column="30" />
938 746 </state>
939 747 </provider>
940 748 </entry>
941   - <entry file="file://$PROJECT_DIR$/src/main/resources/templates/inventory/inventoryDetail/inventoryDetail.html">
  749 + <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/controller/ReceiptContainerHeaderController.java">
942 750 <provider selected="true" editor-type-id="text-editor">
943   - <state relative-caret-position="185">
944   - <caret line="335" column="16" lean-forward="true" selection-start-line="335" selection-start-column="16" selection-end-line="335" selection-end-column="16" />
945   - <folding>
946   - <element signature="e#4822#10729#0" />
947   - </folding>
  751 + <state relative-caret-position="323">
  752 + <caret line="136" column="42" selection-start-line="136" selection-start-column="42" selection-end-line="136" selection-end-column="42" />
948 753 </state>
949 754 </provider>
950 755 </entry>
951   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailService.java">
  756 + <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/controller/TaskHeaderController.java">
952 757 <provider selected="true" editor-type-id="text-editor">
953   - <state relative-caret-position="140">
954   - <caret line="9" selection-start-line="9" selection-end-line="9" />
  758 + <state relative-caret-position="542">
  759 + <caret line="117" column="45" lean-forward="true" selection-start-line="117" selection-start-column="45" selection-end-line="117" selection-end-column="45" />
955 760 </state>
956 761 </provider>
957 762 </entry>
958   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/controller/InventoryDetailController.java">
  763 + <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderService.java">
959 764 <provider selected="true" editor-type-id="text-editor">
960   - <state relative-caret-position="173">
961   - <caret line="104" column="25" selection-start-line="104" selection-start-column="25" selection-end-line="104" selection-end-column="25" />
  765 + <state relative-caret-position="209">
  766 + <caret line="18" column="15" selection-start-line="18" selection-start-column="15" selection-end-line="18" selection-end-column="15" />
962 767 </state>
963 768 </provider>
964 769 </entry>
965   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/container/service/ContainerService.java">
  770 + <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryTransaction/domain/InventoryTransaction.java">
966 771 <provider selected="true" editor-type-id="text-editor">
967   - <state relative-caret-position="200">
968   - <caret line="15" selection-start-line="15" selection-end-line="15" />
  772 + <state relative-caret-position="226">
  773 + <caret line="95" column="19" selection-start-line="95" selection-start-column="12" selection-end-line="95" selection-end-column="19" />
969 774 </state>
970 775 </provider>
971 776 </entry>
972 777 <entry file="file://$PROJECT_DIR$/src/main/resources/mybatis/config/ContainerMapper.xml">
973 778 <provider selected="true" editor-type-id="text-editor">
974   - <state relative-caret-position="436">
975   - <caret line="50" column="23" selection-start-line="50" selection-start-column="23" selection-end-line="50" selection-end-column="23" />
  779 + <state relative-caret-position="490">
  780 + <caret line="50" column="4" selection-start-line="50" selection-start-column="4" selection-end-line="50" selection-end-column="4" />
976 781 </state>
977 782 </provider>
978 783 </entry>
979 784 <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/container/mapper/ContainerMapper.java">
980 785 <provider selected="true" editor-type-id="text-editor">
981   - <state relative-caret-position="180">
982   - <caret line="14" selection-start-line="14" selection-end-line="14" />
  786 + <state relative-caret-position="171">
  787 + <caret line="14" column="9" selection-start-line="14" selection-start-column="9" selection-end-line="14" selection-end-column="9" />
983 788 </state>
984 789 </provider>
985 790 </entry>
986   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/location/mapper/LocationMapper.java">
  791 + <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/container/service/ContainerServiceImpl.java">
987 792 <provider selected="true" editor-type-id="text-editor">
988   - <state relative-caret-position="280">
989   - <caret line="16" column="1" lean-forward="true" selection-start-line="16" selection-start-column="1" selection-end-line="16" selection-end-column="1" />
  793 + <state relative-caret-position="471">
  794 + <caret line="127" column="47" lean-forward="true" selection-start-line="127" selection-start-column="47" selection-end-line="127" selection-end-column="47" />
990 795 </state>
991 796 </provider>
992 797 </entry>
993   - <entry file="file://$PROJECT_DIR$/src/main/resources/mybatis/config/LocationMapper.xml">
  798 + <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/container/service/ContainerService.java">
994 799 <provider selected="true" editor-type-id="text-editor">
995   - <state relative-caret-position="446">
996   - <caret line="49" column="132" lean-forward="true" selection-start-line="49" selection-start-column="132" selection-end-line="49" selection-end-column="132" />
  800 + <state relative-caret-position="228">
  801 + <caret line="17" column="9" selection-start-line="17" selection-start-column="9" selection-end-line="17" selection-end-column="9" />
997 802 </state>
998 803 </provider>
999 804 </entry>
1000   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/location/service/LocationServiceImpl.java">
  805 + <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskDetail/domain/TaskDetail.java">
1001 806 <provider selected="true" editor-type-id="text-editor">
1002   - <state relative-caret-position="326">
1003   - <caret line="116" column="7" lean-forward="true" selection-start-line="116" selection-start-column="7" selection-end-line="116" selection-end-column="7" />
1004   - <folding>
1005   - <element signature="e#4932#4933#0" expanded="true" />
1006   - <element signature="e#4992#4993#0" expanded="true" />
1007   - </folding>
  807 + <state relative-caret-position="226">
  808 + <caret line="65" column="19" selection-start-line="65" selection-start-column="19" selection-end-line="65" selection-end-column="19" />
1008 809 </state>
1009 810 </provider>
1010 811 </entry>
1011   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/container/service/ContainerServiceImpl.java">
  812 + <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderService.java">
1012 813 <provider selected="true" editor-type-id="text-editor">
1013   - <state relative-caret-position="392">
1014   - <caret line="123" column="13" lean-forward="true" selection-start-line="123" selection-start-column="13" selection-end-line="123" selection-end-column="13" />
  814 + <state relative-caret-position="266">
  815 + <caret line="18" column="15" selection-start-line="18" selection-start-column="15" selection-end-line="18" selection-end-column="15" />
1015 816 </state>
1016 817 </provider>
1017 818 </entry>
1018   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/location/service/LocationService.java">
  819 + <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java">
1019 820 <provider selected="true" editor-type-id="text-editor">
1020   - <state relative-caret-position="220">
1021   - <caret line="12" column="96" selection-start-line="12" selection-start-column="96" selection-end-line="12" selection-end-column="96" />
1022   - </state>
1023   - </provider>
1024   - </entry>
1025   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderService.java">
1026   - <provider selected="true" editor-type-id="text-editor">
1027   - <state relative-caret-position="216">
1028   - <caret line="18" column="15" selection-start-line="18" selection-start-column="15" selection-end-line="18" selection-end-column="15" />
  821 + <state relative-caret-position="340">
  822 + <caret line="112" column="26" selection-start-line="112" selection-start-column="16" selection-end-line="112" selection-end-column="26" />
1029 823 </state>
1030 824 </provider>
1031 825 </entry>
1032 826 <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java">
1033 827 <provider selected="true" editor-type-id="text-editor">
1034   - <state relative-caret-position="363">
1035   - <caret line="924" lean-forward="true" selection-start-line="924" selection-end-line="924" />
  828 + <state relative-caret-position="376">
  829 + <caret line="1089" column="13" lean-forward="true" selection-start-line="1089" selection-start-column="13" selection-end-line="1089" selection-end-column="13" />
1036 830 <folding>
1037 831 <element signature="imports" expanded="true" />
1038 832 </folding>
1039 833 </state>
1040 834 </provider>
1041 835 </entry>
1042   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryTransaction/service/InventoryTransactionServiceImpl.java">
1043   - <provider selected="true" editor-type-id="text-editor">
1044   - <state relative-caret-position="80">
1045   - <caret line="10" column="13" selection-start-line="10" selection-start-column="13" selection-end-line="10" selection-end-column="13" />
1046   - </state>
1047   - </provider>
1048   - </entry>
1049   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderServiceImpl.java">
1050   - <provider selected="true" editor-type-id="text-editor">
1051   - <state relative-caret-position="671">
1052   - <caret line="60" column="12" selection-start-line="60" selection-start-column="12" selection-end-line="60" selection-end-column="12" />
1053   - </state>
1054   - </provider>
1055   - </entry>
1056   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java">
1057   - <provider selected="true" editor-type-id="text-editor">
1058   - <state relative-caret-position="-525">
1059   - <caret line="44" column="22" selection-start-line="44" selection-start-column="22" selection-end-line="44" selection-end-column="22" />
1060   - </state>
1061   - </provider>
1062   - </entry>
1063   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryTransaction/controller/InventoryTransactionController.java">
1064   - <provider selected="true" editor-type-id="text-editor">
1065   - <state relative-caret-position="-1060">
1066   - <caret line="33" column="13" selection-start-line="33" selection-start-column="13" selection-end-line="33" selection-end-column="13" />
1067   - </state>
1068   - </provider>
1069   - </entry>
1070   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/inventoryHeader/controller/InventoryHeaderController.java">
1071   - <provider selected="true" editor-type-id="text-editor">
1072   - <state relative-caret-position="1531">
1073   - <caret line="214" column="20" selection-start-line="214" selection-start-column="20" selection-end-line="214" selection-end-column="20" />
1074   - </state>
1075   - </provider>
1076   - </entry>
1077   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/controller/TaskHeaderController.java">
1078   - <provider selected="true" editor-type-id="text-editor">
1079   - <state relative-caret-position="367">
1080   - <caret line="117" column="42" selection-start-line="117" selection-start-column="42" selection-end-line="117" selection-end-column="42" />
1081   - </state>
1082   - </provider>
1083   - </entry>
1084   - <entry file="file://$PROJECT_DIR$/src/main/resources/templates/inventory/cycleCountHeader/cycleCountHeader.html">
1085   - <provider selected="true" editor-type-id="text-editor">
1086   - <state relative-caret-position="-12">
1087   - <caret line="273" column="18" selection-start-line="273" selection-start-column="18" selection-end-line="273" selection-end-column="18" />
1088   - </state>
1089   - </provider>
1090   - </entry>
1091   - <entry file="file://$PROJECT_DIR$/src/main/resources/static/huaheng/js/huahengUI.js">
1092   - <provider selected="true" editor-type-id="text-editor">
1093   - <state relative-caret-position="304">
1094   - <caret line="44" column="25" lean-forward="true" selection-start-line="43" selection-start-column="52" selection-end-line="44" selection-end-column="25" />
1095   - </state>
1096   - </provider>
1097   - </entry>
1098   - <entry file="file://$PROJECT_DIR$/src/main/resources/templates/inventory/adjustDetail/adjustDetail.html">
1099   - <provider selected="true" editor-type-id="text-editor">
1100   - <state relative-caret-position="196">
1101   - <caret line="323" column="16" lean-forward="true" selection-start-line="323" selection-start-column="16" selection-end-line="323" selection-end-column="16" />
1102   - </state>
1103   - </provider>
1104   - </entry>
1105   - <entry file="file://$PROJECT_DIR$/src/main/resources/templates/inventory/adjustHeader/adjustHeader.html">
1106   - <provider selected="true" editor-type-id="text-editor">
1107   - <state relative-caret-position="163">
1108   - <caret line="187" column="30" lean-forward="true" selection-start-line="187" selection-start-column="30" selection-end-line="187" selection-end-column="30" />
1109   - <folding>
1110   - <element signature="n#style#0;n#a#0;n#!!top" expanded="true" />
1111   - </folding>
1112   - </state>
1113   - </provider>
1114   - </entry>
1115   - <entry file="jar://$MAVEN_REPOSITORY$/org/springframework/spring-core/5.1.5.RELEASE/spring-core-5.1.5.RELEASE.jar!/org/springframework/cglib/proxy/MethodProxy.class">
1116   - <provider selected="true" editor-type-id="text-editor">
1117   - <state relative-caret-position="167">
1118   - <caret line="102" selection-start-line="102" selection-end-line="102" />
1119   - </state>
1120   - </provider>
1121   - </entry>
1122   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/domain/CycleCountDetail.java">
1123   - <provider selected="true" editor-type-id="text-editor">
1124   - <state relative-caret-position="120">
1125   - <caret line="13" column="13" selection-start-line="13" selection-start-column="13" selection-end-line="13" selection-end-column="13" />
1126   - </state>
1127   - </provider>
1128   - </entry>
1129   - <entry file="file://$PROJECT_DIR$/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html">
1130   - <provider selected="true" editor-type-id="text-editor">
1131   - <state relative-caret-position="-87">
1132   - <caret line="122" selection-start-line="122" selection-end-line="122" />
1133   - <folding>
1134   - <element signature="e#6120#12518#0" />
1135   - </folding>
1136   - </state>
1137   - </provider>
1138   - </entry>
1139   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/controller/CycleCountHeaderController.java">
1140   - <provider selected="true" editor-type-id="text-editor">
1141   - <state relative-caret-position="-567">
1142   - <caret line="44" column="51" selection-start-line="44" selection-start-column="51" selection-end-line="44" selection-end-column="51" />
1143   - </state>
1144   - </provider>
1145   - </entry>
1146   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java">
1147   - <provider selected="true" editor-type-id="text-editor">
1148   - <state relative-caret-position="8">
1149   - <caret line="64" column="52" lean-forward="true" selection-start-line="64" selection-start-column="52" selection-end-line="64" selection-end-column="52" />
1150   - </state>
1151   - </provider>
1152   - </entry>
1153 836 </component>
1154 837 </project>
1155 838 \ No newline at end of file
... ...
src/main/java/com/huaheng/pc/inventory/adjustDetail/controller/adjustDetailController.java
... ... @@ -14,7 +14,6 @@ import com.huaheng.framework.web.page.TableDataInfo;
14 14 import com.huaheng.framework.web.page.TableSupport;
15 15 import com.huaheng.pc.inventory.adjustDetail.domain.AdjustDetail;
16 16 import com.huaheng.pc.inventory.adjustDetail.service.AdjustDetailService;
17   -
18 17 import com.huaheng.pc.inventory.adjustHeader.service.AdjustHeaderService;
19 18 import org.springframework.stereotype.Controller;
20 19 import org.springframework.web.bind.annotation.GetMapping;
... ...
src/main/java/com/huaheng/pc/inventory/adjustDetail/domain/AdjustDetail.java
... ... @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
7 7 import io.swagger.annotations.ApiModel;
8 8 import io.swagger.annotations.ApiModelProperty;
9 9 import java.io.Serializable;
  10 +import java.math.BigDecimal;
10 11 import java.util.Date;
11 12 import lombok.Data;
12 13  
... ... @@ -142,21 +143,21 @@ public class AdjustDetail implements Serializable {
142 143 */
143 144 @TableField(value = "fromQty")
144 145 @ApiModelProperty(value="调整前的数量")
145   - private Integer fromQty;
  146 + private BigDecimal fromQty;
146 147  
147 148 /**
148 149 * 调整后的数量
149 150 */
150 151 @TableField(value = "toQty")
151 152 @ApiModelProperty(value="调整后的数量 ")
152   - private Integer toQty;
  153 + private BigDecimal toQty;
153 154  
154 155 /**
155 156 * 调整变动数量
156 157 */
157 158 @TableField(value = "gapQty")
158 159 @ApiModelProperty(value="调整变动数量 ")
159   - private Integer gapQty;
  160 + private BigDecimal gapQty;
160 161  
161 162 /**
162 163 * 状态 -0-待调整 1-已调整 2-未批准 3-已批准
... ...
src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailService.java
1 1 package com.huaheng.pc.inventory.adjustDetail.service;
2 2  
3   -import org.springframework.stereotype.Service;
4   -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  3 +import com.baomidou.mybatisplus.extension.service.IService;
5 4 import com.huaheng.pc.inventory.adjustDetail.domain.AdjustDetail;
6   -import com.huaheng.pc.inventory.adjustDetail.mapper.AdjustDetailMapper;
7   -@Service
8   -public class AdjustDetailService extends ServiceImpl<AdjustDetailMapper, AdjustDetail> {
  5 +
  6 +
  7 +
  8 +public interface AdjustDetailService extends IService<AdjustDetail> {
  9 +
  10 +
9 11  
10 12 }
  13 +
  14 +
... ...
src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailServiceImpl.java 0 → 100644
  1 +package com.huaheng.pc.inventory.adjustDetail.service;
  2 +
  3 +import org.springframework.stereotype.Service;
  4 +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  5 +import com.huaheng.pc.inventory.adjustDetail.domain.AdjustDetail;
  6 +import com.huaheng.pc.inventory.adjustDetail.mapper.AdjustDetailMapper;
  7 +@Service
  8 +public class AdjustDetailServiceImpl extends ServiceImpl<AdjustDetailMapper, AdjustDetail> implements AdjustDetailService {
  9 +
  10 +}
... ...
src/main/java/com/huaheng/pc/inventory/adjustHeader/controller/adjustHeaderController.java
... ... @@ -13,8 +13,10 @@ import com.huaheng.framework.web.page.PageDomain;
13 13 import com.huaheng.framework.web.page.TableDataInfo;
14 14 import com.huaheng.framework.web.page.TableSupport;
15 15 import com.huaheng.pc.inventory.adjustDetail.service.AdjustDetailService;
  16 +import com.huaheng.pc.inventory.adjustDetail.service.AdjustDetailServiceImpl;
16 17 import com.huaheng.pc.inventory.adjustHeader.domain.AdjustHeader;
17 18 import com.huaheng.pc.inventory.adjustHeader.service.AdjustHeaderService;
  19 +import com.huaheng.pc.inventory.adjustHeader.service.AdjustHeaderServiceImpl;
18 20 import org.springframework.stereotype.Controller;
19 21 import org.springframework.web.bind.annotation.GetMapping;
20 22 import org.springframework.web.bind.annotation.PostMapping;
... ...
src/main/java/com/huaheng/pc/inventory/adjustHeader/mapper/AdjustHeaderMapper.java
... ... @@ -4,4 +4,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 4 import com.huaheng.pc.inventory.adjustHeader.domain.AdjustHeader;
5 5  
6 6 public interface AdjustHeaderMapper extends BaseMapper<AdjustHeader> {
  7 +
  8 +
  9 + String getLastCode();
  10 +
  11 +
  12 +
7 13 }
8 14 \ No newline at end of file
... ...
src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderService.java
1 1 package com.huaheng.pc.inventory.adjustHeader.service;
2 2  
3   -import org.springframework.stereotype.Service;
4   -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  3 +import com.baomidou.mybatisplus.extension.service.IService;
5 4 import com.huaheng.pc.inventory.adjustHeader.domain.AdjustHeader;
6   -import com.huaheng.pc.inventory.adjustHeader.mapper.AdjustHeaderMapper;
7   -@Service
8   -public class AdjustHeaderService extends ServiceImpl<AdjustHeaderMapper, AdjustHeader> {
  5 +import com.huaheng.pc.inventory.cycleCountHeader.domain.CycleCountHeader;
  6 +
  7 +
  8 +public interface AdjustHeaderService extends IService<AdjustHeader> {
  9 +
  10 +
  11 + String createCode();
  12 +
  13 +
  14 +
9 15  
10 16 }
  17 +
  18 +
... ...
src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderServiceImpl.java 0 → 100644
  1 +package com.huaheng.pc.inventory.adjustHeader.service;
  2 +
  3 +import org.springframework.stereotype.Service;
  4 +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  5 +import com.huaheng.pc.inventory.adjustHeader.domain.AdjustHeader;
  6 +import com.huaheng.pc.inventory.adjustHeader.mapper.AdjustHeaderMapper;
  7 +
  8 +import javax.annotation.Resource;
  9 +import java.text.SimpleDateFormat;
  10 +import java.util.Date;
  11 +
  12 +@Service
  13 +public class AdjustHeaderServiceImpl extends ServiceImpl<AdjustHeaderMapper, AdjustHeader> implements AdjustHeaderService {
  14 +
  15 +
  16 + @Resource
  17 + private AdjustHeaderMapper adjustHeaderMapper;
  18 +
  19 +
  20 +
  21 +
  22 +
  23 +
  24 + //生成差异单号
  25 + @Override
  26 + public String createCode() {
  27 + String code;
  28 + Date now = new Date();
  29 + SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
  30 + String maxCode = adjustHeaderMapper.getLastCode();;
  31 + //如果指定类型的最后的code存在,并且日期一致。那么 code = 单类型 + 年月日 + (排序号 + 1)
  32 + if (maxCode != null && maxCode.substring(maxCode.length() - 13, maxCode.length() - 5).equals(df.format(now)))
  33 + {
  34 + Integer Count = Integer.valueOf(maxCode.substring(maxCode.length() - 5, maxCode.length()));
  35 + code = "CY" + df.format(now) + String.format("%05d", Count + 1);
  36 + }
  37 + else
  38 + {
  39 + code = "CY" + df.format(now) + "00001";
  40 + }
  41 + return code;
  42 + }
  43 +
  44 +
  45 +
  46 +
  47 +
  48 +
  49 +}
... ...
src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java
... ... @@ -14,8 +14,9 @@ import com.huaheng.framework.web.page.TableDataInfo;
14 14 import com.huaheng.framework.web.page.TableSupport;
15 15 import com.huaheng.pc.inventory.cycleCountDetail.domain.CycleCountDetail;
16 16 import com.huaheng.pc.inventory.cycleCountDetail.service.CycleCountDetailService;
17   -import com.huaheng.pc.inventory.cycleCountHeader.domain.CycleCountHeader;
  17 +import com.huaheng.pc.inventory.cycleCountDetail.service.CycleCountDetailServiceImpl;
18 18 import com.huaheng.pc.inventory.cycleCountHeader.service.CycleCountHeaderService;
  19 +import com.huaheng.pc.inventory.cycleCountHeader.service.CycleCountHeaderServiceImpl;
19 20 import org.springframework.stereotype.Controller;
20 21 import org.springframework.web.bind.annotation.GetMapping;
21 22 import org.springframework.web.bind.annotation.PostMapping;
... ... @@ -23,7 +24,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
23 24 import org.springframework.web.bind.annotation.ResponseBody;
24 25  
25 26 import javax.annotation.Resource;
26   -import java.util.Collections;
27 27 import java.util.List;
28 28  
29 29  
... ... @@ -57,7 +57,7 @@ public class CycleCountDetailController extends BaseController {
57 57 @PostMapping("/list")
58 58 @Log(title = "库存-盘点",operating = "查看盘点明细", action = BusinessType.GRANT)
59 59 @ResponseBody
60   - public TableDataInfo list(CycleCountDetail cycleCountDetail, String createdBegin, String createdEnd) {
  60 + public TableDataInfo list(CycleCountDetail cycleCountDetail, String createdBegin, String createdEnd) throws IllegalAccessException {
61 61  
62 62 LambdaQueryWrapper<CycleCountDetail> lambdaQueryWrapper = Wrappers.lambdaQuery();
63 63 PageDomain pageDomain = TableSupport.buildPageRequest();
... ... @@ -92,7 +92,7 @@ public class CycleCountDetailController extends BaseController {
92 92 IPage<CycleCountDetail> iPage = cycleCountDetailService.page(page, lambdaQueryWrapper);
93 93 return getMpDataTable(iPage.getRecords(), iPage.getTotal());
94 94 } else {
95   - List<CycleCountDetail> list = cycleCountDetailService.list(lambdaQueryWrapper);
  95 + List<CycleCountDetail> list = cycleCountDetailService.list(lambdaQueryWrapper);
96 96 return getDataTable(list);
97 97 }
98 98  
... ...
src/main/java/com/huaheng/pc/inventory/cycleCountDetail/domain/CycleCountDetail.java
... ... @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
7 7 import io.swagger.annotations.ApiModel;
8 8 import io.swagger.annotations.ApiModelProperty;
9 9 import java.io.Serializable;
  10 +import java.math.BigDecimal;
10 11 import java.util.Date;
11 12  
12 13 @ApiModel(value="com.huaheng.pc.inventory.cycleCountDetail.domain.CycleCountDetail")
... ... @@ -122,21 +123,21 @@ public class CycleCountDetail implements Serializable {
122 123 */
123 124 @TableField(value = "systemQty")
124 125 @ApiModelProperty(value="系统数量")
125   - private Long systemQty;
  126 + private BigDecimal systemQty;
126 127  
127 128 /**
128 129 * 实盘数量
129 130 */
130 131 @TableField(value = "countedQty")
131 132 @ApiModelProperty(value="实盘数量")
132   - private Long countedQty;
  133 + private BigDecimal countedQty;
133 134  
134 135 /**
135 136 * 差异数量
136 137 */
137 138 @TableField(value = "gapQty")
138 139 @ApiModelProperty(value="差异数量")
139   - private Long gapQty;
  140 + private BigDecimal gapQty;
140 141  
141 142 /**
142 143 * 失败原因
... ... @@ -562,52 +563,27 @@ public class CycleCountDetail implements Serializable {
562 563 this.inventorySts = inventorySts;
563 564 }
564 565  
565   - /**
566   - * 获取系统数量
567   - *
568   - * @return systemQty - 系统数量
569   - */
570   - public Long getSystemQty() {
  566 + public BigDecimal getSystemQty() {
571 567 return systemQty;
572 568 }
573 569  
574   - /**
575   - * 设置系统数量
576   - *
577   - * @param systemQty 系统数量
578   - */
579   - public void setSystemQty(Long systemQty) {
  570 + public void setSystemQty(BigDecimal systemQty) {
580 571 this.systemQty = systemQty;
581 572 }
582 573  
583   - /**
584   - * 获取实盘数量
585   - *
586   - * @return countedQty - 实盘数量
587   - */
588   - public Long getCountedQty() {
  574 + public BigDecimal getCountedQty() {
589 575 return countedQty;
590 576 }
591 577  
592   - /**
593   - * 设置实盘数量
594   - *
595   - * @param countedQty 实盘数量
596   - */
597   - public void setCountedQty(Long countedQty) {
  578 + public void setCountedQty(BigDecimal countedQty) {
598 579 this.countedQty = countedQty;
599 580 }
600 581  
601   - /**
602   - * 获取调整数量
603   - *
604   - * @return gapQty- 调整数量
605   - */
606   - public Long getGapQty() {
  582 + public BigDecimal getGapQty() {
607 583 return gapQty;
608 584 }
609 585  
610   - public void setGapQty(Long gapQty) {
  586 + public void setGapQty(BigDecimal gapQty) {
611 587 this.gapQty = gapQty;
612 588 }
613 589  
... ...
src/main/java/com/huaheng/pc/inventory/cycleCountDetail/service/CycleCountDetailService.java
1 1 package com.huaheng.pc.inventory.cycleCountDetail.service;
2 2  
3   -import org.springframework.stereotype.Service;
4   -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5   -import com.huaheng.pc.inventory.cycleCountDetail.mapper.CycleCountDetailMapper;
  3 +import com.baomidou.mybatisplus.extension.service.IService;
6 4 import com.huaheng.pc.inventory.cycleCountDetail.domain.CycleCountDetail;
7   -@Service
8   -public class CycleCountDetailService extends ServiceImpl<CycleCountDetailMapper, CycleCountDetail> {
  5 +import com.huaheng.pc.inventory.cycleCountHeader.domain.CycleCountHeader;
  6 +
  7 +
  8 +public interface CycleCountDetailService extends IService<CycleCountDetail> {
  9 +
  10 +
9 11  
10 12 }
  13 +
  14 +
... ...
src/main/java/com/huaheng/pc/inventory/cycleCountDetail/service/CycleCountDetailServiceImpl.java 0 → 100644
  1 +package com.huaheng.pc.inventory.cycleCountDetail.service;
  2 +
  3 +import org.springframework.stereotype.Service;
  4 +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  5 +import com.huaheng.pc.inventory.cycleCountDetail.mapper.CycleCountDetailMapper;
  6 +import com.huaheng.pc.inventory.cycleCountDetail.domain.CycleCountDetail;
  7 +@Service
  8 +public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMapper, CycleCountDetail> implements CycleCountDetailService {
  9 +
  10 +
  11 +
  12 +
  13 +
  14 +
  15 +}
... ...
src/main/java/com/huaheng/pc/inventory/cycleCountHeader/controller/CycleCountHeaderController.java
... ... @@ -4,29 +4,32 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
4 4 import com.baomidou.mybatisplus.core.metadata.IPage;
5 5 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
6 6 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  7 +import com.huaheng.common.support.Convert;
7 8 import com.huaheng.common.utils.StringUtils;
8 9 import com.huaheng.common.utils.security.ShiroUtils;
9 10 import com.huaheng.framework.aspectj.lang.annotation.Log;
10 11 import com.huaheng.framework.aspectj.lang.constant.BusinessType;
11 12 import com.huaheng.framework.web.controller.BaseController;
  13 +import com.huaheng.framework.web.domain.AjaxResult;
12 14 import com.huaheng.framework.web.page.PageDomain;
13 15 import com.huaheng.framework.web.page.TableDataInfo;
14 16 import com.huaheng.framework.web.page.TableSupport;
15   -import com.huaheng.pc.inventory.adjustHeader.domain.AdjustHeader;
16 17 import com.huaheng.pc.inventory.adjustHeader.service.AdjustHeaderService;
  18 +import com.huaheng.pc.inventory.adjustHeader.service.AdjustHeaderServiceImpl;
  19 +import com.huaheng.pc.inventory.cycleCountDetail.domain.CycleCountDetail;
17 20 import com.huaheng.pc.inventory.cycleCountDetail.service.CycleCountDetailService;
  21 +import com.huaheng.pc.inventory.cycleCountDetail.service.CycleCountDetailServiceImpl;
18 22 import com.huaheng.pc.inventory.cycleCountHeader.domain.CycleCountHeader;
19 23  
20 24 import com.huaheng.pc.inventory.cycleCountHeader.service.CycleCountHeaderService;
21   -import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail;
  25 +import com.huaheng.pc.inventory.cycleCountHeader.service.CycleCountHeaderServiceImpl;
22 26 import org.apache.shiro.authz.annotation.RequiresPermissions;
23 27 import org.springframework.stereotype.Controller;
24   -import org.springframework.web.bind.annotation.GetMapping;
25   -import org.springframework.web.bind.annotation.PostMapping;
26   -import org.springframework.web.bind.annotation.RequestMapping;
27   -import org.springframework.web.bind.annotation.ResponseBody;
  28 +import org.springframework.ui.ModelMap;
  29 +import org.springframework.web.bind.annotation.*;
28 30  
29 31 import javax.annotation.Resource;
  32 +import java.util.Date;
30 33 import java.util.List;
31 34  
32 35 /**
... ... @@ -92,11 +95,114 @@ public class CycleCountHeaderController extends BaseController {
92 95 }
93 96  
94 97 }
  98 + /**
  99 + * 新增盘点单主
  100 + */
  101 + @GetMapping("/add")
  102 + public String add()
  103 + {
  104 + return prefix + "/add";
  105 + }
95 106  
  107 + /**
  108 + * 新增保存盘点单主
  109 + */
  110 + //@RequiresPermissions("inventory:cycleCount:add")
  111 + @Log(title = "库存-盘点",operating = "新增盘点主单", action = BusinessType.INSERT)
  112 + @PostMapping("/add")
  113 + @ResponseBody
  114 + public AjaxResult addSave(CycleCountHeader cycleCountHeader)
  115 + {
96 116  
  117 + cycleCountHeader.setWarehouseCode(ShiroUtils.getWarehouseCode());
  118 + //cycleCountHeader.setCompanyCode(cycleCountHeader.getCompanyCode());
  119 + //cycleCountHeader.setRound(cycleCountHeader.getRound());//盘点轮次
  120 + cycleCountHeader.setCreated(new Date());
  121 + cycleCountHeader.setCreatedBy(ShiroUtils.getLoginName());
  122 + cycleCountHeader.setMasterCode(cycleCountHeaderService.createCode());
  123 + return toAjax(cycleCountHeaderService.save(cycleCountHeader));
  124 + }
97 125  
  126 + /**
  127 + * 修改盘点单主
  128 + */
  129 + @GetMapping("/edit/{id}")
  130 + public String edit(@PathVariable("id") Integer id, ModelMap mmap)
  131 + {
  132 + CycleCountHeader cyclecountHeader = cycleCountHeaderService.getById(id);
  133 + mmap.put("cyclecountHeader", cyclecountHeader);
  134 + return prefix + "/edit";
  135 + }
98 136  
  137 + /**
  138 + * 修改保存盘点单主
  139 + */
  140 + //@RequiresPermissions("inventory:cycleCount:edit")
  141 + @Log(title = "库存-盘点",operating = "修改盘点主单", action = BusinessType.UPDATE)
  142 + @PostMapping("/edit")
  143 + @ResponseBody
  144 + public AjaxResult editSave(CycleCountHeader cycleCountHeader)
  145 + {
  146 + cycleCountHeader.setLastUpdatedBy(ShiroUtils.getLoginName());
  147 + cycleCountHeader.setLastUpdated(new Date());
  148 + return toAjax(cycleCountHeaderService.saveOrUpdate(cycleCountHeader));
  149 + }
99 150  
  151 + /**
  152 + * 删除盘点单主
  153 + */
  154 + //@RequiresPermissions("inventory:cycleCount:remove")
  155 + @Log(title = "库存-盘点",operating = "删除盘点主单", action = BusinessType.DELETE)
  156 + @PostMapping( "/remove")
  157 + @ResponseBody
  158 + public AjaxResult remove(String ids)
  159 + {
  160 + if (StringUtils.isEmpty(ids))
  161 + return AjaxResult.error("id不能为空");
  162 + for (Integer id : Convert.toIntArray(ids))
  163 + {
  164 + AjaxResult result = cycleCountHeaderService.delete(id);
  165 + if(result.code!=200){
  166 + return result;
  167 + }
  168 + }
  169 + return AjaxResult.success("删除成功!");
  170 + }
  171 +
  172 + /**
  173 + *
  174 + * 生成差异调整单
  175 + * */
  176 + //@RequiresPermissions("inventory:cyclecountHead:addAdjust")
  177 + @Log(title = "库存-盘点", operating = "新增盘点差异调整单", action = BusinessType.INSERT)
  178 + @PostMapping("/goAdjust")
  179 + @ResponseBody
  180 + public AjaxResult goAdjust(int id)
  181 + {
  182 + return (cycleCountHeaderService.insertByAdjust(id));
  183 + }
  184 +
  185 +
  186 + /**
  187 + * 盘点单报表打印
  188 + * @return
  189 + */
  190 + //@RequiresPermissions("inventory:cycleCount:report")
  191 + @GetMapping("/report/{id}")
  192 + public String report(@PathVariable("id") Integer id, ModelMap mmap)
  193 + {
  194 + CycleCountHeader cyclecountHeader = cycleCountHeaderService.getById(id);
  195 + mmap.put("cyclecountHeader", cyclecountHeader);
  196 +
  197 + CycleCountDetail condition = new CycleCountDetail();
  198 + condition.setCycleCountHeadId(id);
  199 + condition.setWarehouseCode(ShiroUtils.getWarehouseCode());
  200 + LambdaQueryWrapper lambda = Wrappers.lambdaQuery(condition);
  201 + List<CycleCountDetail> details = cycleCountDetailService.list(lambda);
  202 + mmap.put("details", details);
  203 +
  204 + return prefix + "/report";
  205 + }
100 206  
101 207  
102 208  
... ...
src/main/java/com/huaheng/pc/inventory/cycleCountHeader/domain/CycleCountHeader.java
... ... @@ -59,7 +59,7 @@ public class CycleCountHeader implements Serializable {
59 59 */
60 60 @TableField(value = "countType")
61 61 @ApiModelProperty(value="盘点类型")
62   - private Integer countType;
  62 + private String countType;
63 63  
64 64 /**
65 65 * 盘点状态
... ... @@ -342,21 +342,11 @@ public class CycleCountHeader implements Serializable {
342 342 this.companyCode = companyCode;
343 343 }
344 344  
345   - /**
346   - * 获取盘点类型
347   - *
348   - * @return countType - 盘点类型
349   - */
350   - public Integer getCountType() {
  345 + public String getCountType() {
351 346 return countType;
352 347 }
353 348  
354   - /**
355   - * 设置盘点类型
356   - *
357   - * @param countType 盘点类型
358   - */
359   - public void setCountType(Integer countType) {
  349 + public void setCountType(String countType) {
360 350 this.countType = countType;
361 351 }
362 352  
... ...
src/main/java/com/huaheng/pc/inventory/cycleCountHeader/mapper/CycleCountHeaderMapper.java
... ... @@ -4,4 +4,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 4 import com.huaheng.pc.inventory.cycleCountHeader.domain.CycleCountHeader;
5 5  
6 6 public interface CycleCountHeaderMapper extends BaseMapper<CycleCountHeader> {
  7 +
  8 + String getLastCode();
  9 +
  10 +
  11 +
7 12 }
8 13 \ No newline at end of file
... ...
src/main/java/com/huaheng/pc/inventory/cycleCountHeader/service/CycleCountHeaderService.java
1 1 package com.huaheng.pc.inventory.cycleCountHeader.service;
2 2  
3   -import org.springframework.stereotype.Service;
4   -import javax.annotation.Resource;
5   -import java.util.List;
6   -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  3 +import com.baomidou.mybatisplus.extension.service.IService;
  4 +import com.huaheng.framework.web.domain.AjaxResult;
7 5 import com.huaheng.pc.inventory.cycleCountHeader.domain.CycleCountHeader;
8   -import com.huaheng.pc.inventory.cycleCountHeader.mapper.CycleCountHeaderMapper;
9   -@Service
10   -public class CycleCountHeaderService extends ServiceImpl<CycleCountHeaderMapper, CycleCountHeader> {
  6 +
  7 +
  8 +public interface CycleCountHeaderService extends IService<CycleCountHeader> {
  9 +
  10 +
  11 + String createCode();
  12 + //生成调整单
  13 + AjaxResult insertByAdjust(Integer headId);
  14 +
  15 + AjaxResult delete(Integer id);
  16 +
  17 +
  18 +
  19 +
11 20  
12 21 }
  22 +
  23 +
... ...
src/main/java/com/huaheng/pc/inventory/cycleCountHeader/service/CycleCountHeaderServiceImpl.java 0 → 100644
  1 +package com.huaheng.pc.inventory.cycleCountHeader.service;
  2 +
  3 +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4 +import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  5 +import com.huaheng.common.exception.service.ServiceException;
  6 +import com.huaheng.common.utils.security.ShiroUtils;
  7 +import com.huaheng.framework.web.domain.AjaxResult;
  8 +import com.huaheng.pc.config.warehouse.domain.Warehouse;
  9 +import com.huaheng.pc.inventory.adjustDetail.domain.AdjustDetail;
  10 +import com.huaheng.pc.inventory.adjustDetail.service.AdjustDetailService;
  11 +import com.huaheng.pc.inventory.adjustHeader.domain.AdjustHeader;
  12 +import com.huaheng.pc.inventory.adjustHeader.service.AdjustHeaderService;
  13 +import com.huaheng.pc.inventory.cycleCountDetail.domain.CycleCountDetail;
  14 +import com.huaheng.pc.inventory.cycleCountDetail.service.CycleCountDetailService;
  15 +import org.springframework.stereotype.Service;
  16 +import javax.annotation.Resource;
  17 +import java.math.BigDecimal;
  18 +import java.security.SecureRandomSpi;
  19 +import java.text.SimpleDateFormat;
  20 +import java.util.ArrayList;
  21 +import java.util.Date;
  22 +import java.util.List;
  23 +import java.util.WeakHashMap;
  24 +
  25 +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  26 +import com.huaheng.pc.inventory.cycleCountHeader.domain.CycleCountHeader;
  27 +import com.huaheng.pc.inventory.cycleCountHeader.mapper.CycleCountHeaderMapper;
  28 +import org.springframework.transaction.annotation.Transactional;
  29 +
  30 +@Service
  31 +public class CycleCountHeaderServiceImpl extends ServiceImpl<CycleCountHeaderMapper, CycleCountHeader> implements CycleCountHeaderService {
  32 +
  33 +
  34 + @Resource
  35 + private CycleCountHeaderMapper cycleCountHeaderMapper;
  36 + @Resource
  37 + private CycleCountDetailService cycleCountDetailService;
  38 + @Resource
  39 + private AdjustHeaderService adjustHeaderService;
  40 + @Resource
  41 + private AdjustDetailService adjustDetailService;
  42 +
  43 +
  44 +
  45 +
  46 +
  47 +
  48 +
  49 +
  50 + /**
  51 + * 生成盘点单主Code
  52 + * @return
  53 + */
  54 + @Override
  55 + public String createCode() {
  56 + String code;
  57 + Date now = new Date();
  58 + SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
  59 + String maxCode = cycleCountHeaderMapper.getLastCode();;
  60 + //如果指定类型的最后的code存在,并且日期一致。那么 code = 单类型 + 年月日 + (排序号 + 1)
  61 + if (maxCode != null && maxCode.substring(maxCode.length() - 13, maxCode.length() - 5).equals(df.format(now)))
  62 + {
  63 + Integer Count = Integer.valueOf(maxCode.substring(maxCode.length() - 5));
  64 + code = "PD" + df.format(now) + String.format("%05d", Count + 1);
  65 + }
  66 + else
  67 + {
  68 + code = "PD" + df.format(now) + "00001";
  69 + }
  70 + return code;
  71 + }
  72 +
  73 + /**
  74 + * 删除单据
  75 + * @param id
  76 + * @return
  77 + */
  78 + @Override
  79 + public AjaxResult delete(Integer id) {
  80 +
  81 + CycleCountHeader cyclecountHeader = this.getById(id);
  82 + if(cyclecountHeader==null){
  83 + return AjaxResult.error("id为"+id.toString()+"的盘点单不存在出,操作中止");
  84 + }
  85 + if(cyclecountHeader.getStatusCyc() > 0){
  86 + return AjaxResult.error("盘点单:"+cyclecountHeader.getMasterCode()+"非新建状态,无法删除,操作中止");
  87 + }
  88 + //批量删除子单据
  89 + CycleCountDetail temp = new CycleCountDetail();
  90 + temp.setWarehouseCode(ShiroUtils.getWarehouseCode());
  91 + temp.setCycleCountHeadId(cyclecountHeader.getId());
  92 + LambdaQueryWrapper lm = Wrappers.lambdaQuery(temp);
  93 + cycleCountDetailService.remove(lm);
  94 + cycleCountHeaderMapper.deleteById(id);
  95 + return AjaxResult.success("盘点主单和明细删除成功");
  96 +
  97 + }
  98 +
  99 + /**
  100 + * 新增盘点差异调整单
  101 + * */
  102 + @Transactional
  103 + public AjaxResult insertByAdjust(Integer id) {
  104 +
  105 + /*获取盘点主单ID生成差异调整单,根据主单ID获取明细条目,再根据明细条目差异数量是否为0生成差异调整详单*/
  106 + //1 根据盘点单ID生成差异调整主单,2 下一步根据盘点主单ID查询盘点明细的条目数据,
  107 + //3 for循环明细条目,同时依据差异数据是否为0来决定是否生成差异单,同步写入调整单详细。
  108 +
  109 + //查询该条盘点单头 id
  110 + CycleCountHeader cyclecountHeader = cycleCountHeaderMapper.selectById(id);
  111 +
  112 + if(cyclecountHeader.getStatusCyc() >= 35){
  113 + //查询是否已生成差异单
  114 + throw new ServiceException("该条盘点单无法生成调整单,请检查状态!");
  115 + }
  116 +
  117 + AdjustHeader adjustHeader = new AdjustHeader();
  118 + adjustHeader.setWarehouseCode(ShiroUtils.getWarehouseCode());//仓库
  119 + adjustHeader.setCode(adjustHeaderService.createCode());//生成差异单号
  120 + adjustHeader.setProblemType("盘点调整");
  121 + adjustHeader.setCycleCountCode(cyclecountHeader.getMasterCode());
  122 + adjustHeader.setCompanyCode(cyclecountHeader.getCompanyCode());
  123 + adjustHeader.setCreated(new Date());
  124 + adjustHeader.setCreatedBy(ShiroUtils.getLoginName());
  125 + //adjustHeader.setStatus(10);//新建未上传
  126 + //先创建调整单头
  127 + adjustHeaderService.save(adjustHeader);
  128 +
  129 + //根据盘点单查询明细并写入调整单
  130 + CycleCountDetail cycleCountDetail = new CycleCountDetail();
  131 + cycleCountDetail.setCycleCountHeadId(id);
  132 + cycleCountDetail.setWarehouseCode(cyclecountHeader.getWarehouseCode());
  133 + LambdaQueryWrapper lam = Wrappers.lambdaQuery(cycleCountDetail);
  134 + List<CycleCountDetail> cycleCountDetailList = cycleCountDetailService.list(lam);
  135 + //找到刚刚生成的调整主单
  136 + //AdjustHeader adjust = adjustHeaderService.getById(adjustHeader.getId());
  137 + //循环明细条目,查找符合条件的数据写入调整单明细
  138 + AdjustDetail adjustDetail = new AdjustDetail();
  139 + for(CycleCountDetail item:cycleCountDetailList){
  140 + //BigDecimal的比较 .compareTo(BigDecimal.ZERO) != 0
  141 + if(item.getGapQty().compareTo(BigDecimal.ZERO) != 0){
  142 + //比较差异数量不为0的就生成差异单
  143 + adjustDetail.setAdjustCode(adjustHeader.getCode());
  144 + adjustDetail.setWarehouseCode(adjustHeader.getWarehouseCode());
  145 + adjustDetail.setCompanyCode(adjustHeader.getCompanyCode());
  146 + adjustDetail.setLocationCode(item.getLocationCode());
  147 + adjustDetail.setContainerCode(item.getContainerCode());
  148 + adjustDetail.setCycleCountCode(cyclecountHeader.getMasterCode());
  149 + adjustDetail.setMaterialCode(item.getMaterialCode());
  150 + adjustDetail.setMaterialName(item.getMaterialName());
  151 + adjustDetail.setMaterialSpec(item.getMaterialSpec());
  152 + adjustDetail.setMaterialUnit(item.getMaterialUnit());
  153 + adjustDetail.setCycleDetailId(item.getId());
  154 + adjustDetail.setProblemType("盘点调整");
  155 + adjustDetail.setToInventorySts(item.getInventorySts());//盘点不涉及属性
  156 + adjustDetail.setFromInventorySts(item.getInventorySts());
  157 + adjustDetail.setFromQty(item.getSystemQty());//调整前数量
  158 + adjustDetail.setToQty(null);//调整后数量
  159 + adjustDetail.setGapQty(item.getGapQty());//调整数量
  160 + adjustDetail.setCreated(new Date());
  161 + adjustDetail.setCreatedBy(ShiroUtils.getLoginName());
  162 + //adjustDetail.setStatus(0);//状态
  163 +
  164 + adjustDetailService.save(adjustDetail);
  165 + }
  166 +
  167 + }
  168 +
  169 + //修改盘点主单状态为已生成差异单
  170 +
  171 + cyclecountHeader.setStatusCyc(35);
  172 + this.saveOrUpdate(cyclecountHeader);
  173 +
  174 + return AjaxResult.success("差异调整及明细单生成完毕!");
  175 + }
  176 +
  177 +
  178 +
  179 +
  180 +
  181 +
  182 +
  183 +
  184 +}
... ...
src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailService.java
... ... @@ -3,6 +3,7 @@ package com.huaheng.pc.inventory.inventoryDetail.service;
3 3 import com.baomidou.mybatisplus.extension.service.IService;
4 4 import com.huaheng.framework.web.domain.AjaxResult;
5 5 import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail;
  6 +import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
6 7  
7 8 import java.util.List;
8 9  
... ... @@ -11,7 +12,7 @@ public interface InventoryDetailService extends IService&lt;InventoryDetail&gt; {
11 12  
12 13 AjaxResult detailcreateCheckOutTask (Integer id);
13 14  
14   - List<InventoryDetail> selectBysql(String sql);
  15 + List<InventoryDetail> selectBysql(String sql, ShipmentDetail shipmentDetail);
15 16  
16 17 }
17 18  
... ...
src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java
... ... @@ -9,6 +9,7 @@ import com.huaheng.framework.web.domain.AjaxResult;
9 9 import com.huaheng.pc.config.location.domain.Location;
10 10 import com.huaheng.pc.config.location.service.LocationService;
11 11 import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail;
  12 +import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
12 13 import com.huaheng.pc.task.taskDetail.domain.TaskDetail;
13 14 import com.huaheng.pc.task.taskDetail.service.TaskDetailService;
14 15 import com.huaheng.pc.task.taskHeader.domain.TaskHeader;
... ... @@ -103,7 +104,11 @@ public class InventoryDetailServiceImpl extends ServiceImpl&lt;InventoryDetailMappe
103 104 }
104 105  
105 106 @Override
106   - public List<InventoryDetail> selectBysql(String sql) {
  107 + public List<InventoryDetail> selectBysql(String sql, ShipmentDetail shipmentDetail) {
  108 + sql=sql+" \n" +"and warehouseCode='" + shipmentDetail.getWarehouseCode()+"' \n" +
  109 + "and companyCode='" + shipmentDetail.getCompanyCode()+"' \n" +
  110 + "and materialCode='" + shipmentDetail.getMaterialCode() +"' \n" +
  111 + "and inventorySts='" + shipmentDetail.getInventorySts() + "'";
107 112 return inventoryDetailMapper.selectBysql(sql);
108 113 }
109 114  
... ...
src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java
... ... @@ -21,7 +21,10 @@ import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader;
21 21 import com.huaheng.pc.shipment.shipmentHeader.service.ShipmentHeaderService;
22 22 import com.huaheng.pc.shipment.shippingCombination.domain.ShippingSearch;
23 23 import com.huaheng.pc.shipment.shippingCombination.service.ShippingCombinationService;
  24 +import com.huaheng.pc.task.taskDetail.domain.TaskDetail;
  25 +import com.huaheng.pc.task.taskDetail.service.TaskDetailService;
24 26 import com.huaheng.pc.task.taskHeader.domain.ShipmentTaskCreateModel;
  27 +import com.huaheng.pc.task.taskHeader.domain.TaskHeader;
25 28 import com.huaheng.pc.task.taskHeader.service.TaskHeaderService;
26 29 import org.springframework.beans.factory.annotation.Autowired;
27 30 import org.springframework.stereotype.Service;
... ... @@ -58,6 +61,8 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl&lt;ShipmentCont
58 61 private ShippingCombinationService shippingCombinationService;
59 62 @Autowired
60 63 private TaskHeaderService taskHeaderService;
  64 + @Autowired
  65 + private TaskDetailService taskDetailService;
61 66  
62 67  
63 68 @Override
... ... @@ -106,24 +111,26 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl&lt;ShipmentCont
106 111 Location location = locationService.getOne(lambdaQueryWrapper);
107 112 if (location == null)
108 113 throw new ServiceException("库位 "+ inventoryDetail.getLocationCode() +" 不存在");
109   - if (location.getStatus().equals("lock")) {
110   - //如果库位状态是锁定的话,就查找出库组盘表,如果存在未下发
111   - LambdaQueryWrapper<ShipmentContainerHeader> lam=Wrappers.lambdaQuery();
112   - lam.eq(ShipmentContainerHeader::getWarehouseCode,ShiroUtils.getWarehouseCode())
113   - .eq(ShipmentContainerHeader::getContainerCode,location.getContainerCode())
114   - .eq(ShipmentContainerHeader::getTaskCreated,0);
115   - ShipmentContainerHeader shipmentContainerHeader = this.getOne(lam);
116   - if (shipmentContainerHeader == null) {
117   - throw new ServiceException("库位已经锁定不能使用");
118   - }
119   - }
  114 +// if (location.getStatus().equals("lock")) {
  115 +// //如果库位状态是锁定的话,就查找出库组盘表,如果存在未下发
  116 +// LambdaQueryWrapper<ShipmentContainerHeader> lam=Wrappers.lambdaQuery();
  117 +// lam.eq(ShipmentContainerHeader::getWarehouseCode,ShiroUtils.getWarehouseCode())
  118 +// .eq(ShipmentContainerHeader::getContainerCode,location.getContainerCode())
  119 +// .eq(ShipmentContainerHeader::getTaskCreated,0);
  120 +// ShipmentContainerHeader shipmentContainerHeader = this.getOne(lam);
  121 +// if (shipmentContainerHeader == null) {
  122 +// throw new ServiceException("库位已经锁定不能使用");
  123 +// }
  124 +// }
120 125  
121 126 //更新库存分配数
122 127 inventoryDetail.setTaskQty(inventoryDetail.getTaskQty().add(shipmentCombinationModel.getShipQty()));
123 128 inventoryDetailService.saveOrUpdate(inventoryDetail);
124 129 //获取库位,然后锁定
125   - location.setStatus("lock");
126   - locationService.saveOrUpdate(location);
  130 + if(location.getStatus().equals("empty")) {
  131 + location.setStatus("lock");
  132 + locationService.saveOrUpdate(location);
  133 + }
127 134 //更新单据明细的已出库数量
128 135 shipmentDetail.setRequestQty(shipmentDetail.getRequestQty().add(shipmentCombinationModel.getShipQty()));
129 136 int i = shipmentDetail.getShipQty().compareTo(shipmentDetail.getRequestQty());
... ... @@ -166,20 +173,19 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl&lt;ShipmentCont
166 173 LambdaQueryWrapper<ShipmentContainerHeader> lambdaQueryWrapper=Wrappers.lambdaQuery();
167 174 lambdaQueryWrapper.eq(ShipmentContainerHeader::getContainerCode,location.getContainerCode())
168 175 .eq(ShipmentContainerHeader::getWarehouseCode,ShiroUtils.getWarehouseCode())
169   - .eq(ShipmentContainerHeader::getTaskCreated,1)
170   - .eq(ShipmentContainerHeader::getStatus,10);
  176 + .le(ShipmentContainerHeader::getStatus,20);
171 177 ShipmentContainerHeader shipmentContainerHeader = this.getOne(lambdaQueryWrapper);
172 178 if(shipmentContainerHeader != null) {
173   - throw new ServiceException("容器"+location.getContainerCode()+"已经生成任务,不能再添加明细;操作中止;");
  179 + return shipmentContainerHeader;
174 180 }
175 181 else {
176   - LambdaQueryWrapper<ShipmentContainerHeader> lam=Wrappers.lambdaQuery();
177   - lam.eq(ShipmentContainerHeader::getContainerCode,location.getContainerCode())
178   - .eq(ShipmentContainerHeader::getWarehouseCode,ShiroUtils.getWarehouseCode())
179   - .eq(ShipmentContainerHeader::getTaskCreated,0)
180   - .eq(ShipmentContainerHeader::getStatus,0);
181   - shipmentContainerHeader = this.getOne(lam);
182   - if (shipmentContainerHeader == null) {
  182 +// LambdaQueryWrapper<ShipmentContainerHeader> lam=Wrappers.lambdaQuery();
  183 +// lam.eq(ShipmentContainerHeader::getContainerCode,location.getContainerCode())
  184 +// .eq(ShipmentContainerHeader::getWarehouseCode,ShiroUtils.getWarehouseCode())
  185 +// .eq(ShipmentContainerHeader::getTaskCreated,0)
  186 +// .eq(ShipmentContainerHeader::getStatus,0);
  187 +// shipmentContainerHeader = this.getOne(lam);
  188 +// if (shipmentContainerHeader == null) {
183 189 shipmentContainerHeader = new ShipmentContainerHeader();
184 190 shipmentContainerHeader.setContainerCode(location.getContainerCode());
185 191 shipmentContainerHeader.setLocationCode(location.getCode());
... ... @@ -194,9 +200,9 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl&lt;ShipmentCont
194 200 // material.setCode(shipmentDetail.getMaterialCode());
195 201 // shipmentContainerHeader.setZoneCode(materialService.selectFirstEntity(material).getZoneCode());
196 202 this.save(shipmentContainerHeader);
  203 + return shipmentContainerHeader;
197 204 }
198   - }
199   - return shipmentContainerHeader;
  205 +// }
200 206 }
201 207  
202 208 /**
... ... @@ -246,6 +252,45 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl&lt;ShipmentCont
246 252 shipmentContainerDetail.setCreatedBy(ShiroUtils.getLoginName());
247 253 shipmentContainerDetailService.save(shipmentContainerDetail);
248 254 }
  255 +
  256 + //
  257 + if(shipmentContainerHeader.getStatus()<=10){
  258 + LambdaQueryWrapper<TaskHeader> taskHeaderLambdaQueryWrapper=Wrappers.lambdaQuery();
  259 + taskHeaderLambdaQueryWrapper.eq(TaskHeader::getWarehouseCode,shipmentContainerHeader.getWarehouseCode())
  260 + .eq(TaskHeader::getInternalTaskType,200)
  261 + .eq(TaskHeader::getAllocationHeadId,shipmentContainerHeader.getId());
  262 + TaskHeader taskHeader=taskHeaderService.getOne(taskHeaderLambdaQueryWrapper);
  263 + if(taskHeader==null){
  264 + throw new ServiceException("找不到相应的任务头");
  265 + }
  266 + TaskDetail taskDetail = new TaskDetail();
  267 + taskDetail.setTaskId(taskHeader.getId());
  268 + taskDetail.setInternalTaskType(taskHeader.getInternalTaskType());
  269 + taskDetail.setWarehouseCode(taskHeader.getWarehouseCode());
  270 + taskDetail.setCompanyCode(taskHeader.getCompanyCode());
  271 + taskDetail.setTaskType(taskHeader.getTaskType());
  272 + taskDetail.setAllocationId(shipmentContainerDetail.getId());
  273 + taskDetail.setBillCode(shipmentContainerDetail.getShipmentCode());
  274 + taskDetail.setBillDetailId(shipmentContainerDetail.getShipmentDetailId());
  275 + taskDetail.setMaterialCode(shipmentContainerDetail.getMaterialCode());
  276 + taskDetail.setMaterialName(shipmentContainerDetail.getMaterialName());
  277 + taskDetail.setMaterialSpec(shipmentContainerDetail.getMaterialSpec());
  278 + taskDetail.setMaterialUnit(shipmentContainerDetail.getMaterialUnit());
  279 + taskDetail.setFromInventoryId(shipmentContainerDetail.getInventoryId());
  280 + taskDetail.setQty(shipmentContainerDetail.getQty());
  281 + taskDetail.setContainerCode(taskHeader.getContainerCode());
  282 + taskDetail.setFromLocation(taskHeader.getFromLocation());
  283 + taskDetail.setToLocation(taskHeader.getToLocation());
  284 + if(shipmentContainerHeader.getStatus()==10) {
  285 + taskDetail.setStatus(0);
  286 + }else {
  287 + taskDetail.setStatus(10);
  288 + }
  289 + taskDetail.setTaskType(taskHeader.getTaskType());
  290 + taskDetail.setLastUpdatedBy(ShiroUtils.getLoginName());
  291 + taskDetail.setLastUpdated(null);
  292 + taskDetailService.save(taskDetail);
  293 + }
249 294 return shipmentContainerDetail;
250 295 }
251 296  
... ... @@ -360,13 +405,13 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl&lt;ShipmentCont
360 405 continue;
361 406 }
362 407 // 根据 仓库编码、货主编码、存货编码,物料状态,项目号来查找可以出库的物料
363   - ShippingSearch search = new ShippingSearch();
364   - search.setWarehouseCode(ShiroUtils.getWarehouseCode());
365   - search.setCompanyCode(item.getCompanyCode());
366   - search.setMaterialCode(item.getMaterialCode());
367   - search.setInventorySts(item.getInventorySts()); //物料状态
  408 +// ShippingSearch search = new ShippingSearch();
  409 +// search.setWarehouseCode(ShiroUtils.getWarehouseCode());
  410 +// search.setCompanyCode(item.getCompanyCode());
  411 +// search.setMaterialCode(item.getMaterialCode());
  412 +// search.setInventorySts(item.getInventorySts()); //物料状态
368 413  
369   - List<InventoryDetail> inventoryList = shippingCombinationService.getInventorys(search);
  414 + List<InventoryDetail> inventoryList = shippingCombinationService.getInventorys(item);
370 415 if (inventoryList.size() < 1) {
371 416 num = num + 1;
372 417 } else {
... ...
src/main/java/com/huaheng/pc/shipment/shippingCombination/controller/ShippingCombinationController.java
... ... @@ -42,8 +42,7 @@ public class ShippingCombinationController extends BaseController {
42 42  
43 43 private String prefix = "shipment/shippingCombination";
44 44  
45   - @Autowired
46   - MaterialServiceImpl materialService;
  45 +
47 46 @Autowired
48 47 ShipmentDetailServiceImpl shipmentDetailService;
49 48 @Autowired
... ... @@ -54,14 +53,6 @@ public class ShippingCombinationController extends BaseController {
54 53 ShipmentContainerDetailService shipmentContainerDetailService;
55 54 @Autowired
56 55 ShipmentHeaderService shipmentHeaderService;
57   - @Autowired
58   - InventoryDetailService inventoryDetailService;
59   - @Autowired
60   - ConfigValueService configValueService;
61   - @Autowired
62   - FilterConfigDetailService filterConfigDetailService;
63   - @Autowired
64   - ShipmentPreferenceService shipmentPreferenceService;
65 56  
66 57  
67 58 /**
... ... @@ -152,72 +143,8 @@ public class ShippingCombinationController extends BaseController {
152 143 throw new ServiceException("找不到子单");
153 144 }
154 145  
  146 + List<InventoryDetail> list=shippingCombinationService.getInventorys(shipmentDetail);
155 147 //查找分配规则
156   - List<InventoryDetail> list=new ArrayList<>();
157   - FilterConfigDetail filterConfigDetail=new FilterConfigDetail();
158   - LambdaQueryWrapper<FilterConfigDetail> filterConfigDetailLambdaQueryWrapper=Wrappers.lambdaQuery();
159   - filterConfigDetailLambdaQueryWrapper.eq(FilterConfigDetail::getWarehouseCode,shipmentDetail.getWarehouseCode());
160   -
161   - //出库子单的分配规则有时,优先出库子单的分配规则
162   - if(StringUtils.isNotEmpty(shipmentDetail.getAllocationRule())){
163   - filterConfigDetailLambdaQueryWrapper.eq(FilterConfigDetail::getCode,shipmentDetail.getAllocationRule());
164   - filterConfigDetail=filterConfigDetailService.getOne(filterConfigDetailLambdaQueryWrapper);
165   - if(filterConfigDetail==null){
166   - throw new ServiceException("出库子单出库规则配置不存在");
167   - }
168   -
169   - //根据sql查库存
170   - try {
171   - list = inventoryDetailService.selectBysql(filterConfigDetail.getStatement());
172   - }catch (Exception e){
173   - throw new ServiceException("sql错误");
174   - }
175   - return getDataTable(list);
176   - }
177   -
178   - //出库子单的分配规则没有时,优先物料的分配规则
179   - LambdaQueryWrapper<Material> materialLambdaQueryWrapper=Wrappers.lambdaQuery();
180   - materialLambdaQueryWrapper.eq(Material::getCode,shipmentDetail.getMaterialCode())
181   - .eq(Material::getWarehouseCode,shipmentDetail.getWarehouseCode());
182   - Material material=materialService.getOne(materialLambdaQueryWrapper);
183   - if(StringUtils.isNotEmpty(material.getAllocationRule())){
184   - filterConfigDetailLambdaQueryWrapper.eq(FilterConfigDetail::getCode,material.getAllocationRule());
185   - filterConfigDetail=filterConfigDetailService.getOne(filterConfigDetailLambdaQueryWrapper);
186   - if(filterConfigDetail==null){
187   - throw new ServiceException("物料出库规则配置不存在");
188   - }
189   -
190   - //根据sql查库存
191   - list=inventoryDetailService.selectBysql(filterConfigDetail.getStatement());
192   - return getDataTable(list);
193   - }
194   -
195   - //都没有时,默认仓库的分配规则
196   - LambdaQueryWrapper<ConfigValue> configValueLambdaQueryWrapper=Wrappers.lambdaQuery();
197   - configValueLambdaQueryWrapper.eq(ConfigValue::getModuleType,"shipment")
198   - .eq(ConfigValue::getWarehouseCode,shipmentDetail.getWarehouseCode());
199   - ConfigValue configValue=configValueService.getOne(configValueLambdaQueryWrapper);
200   - if(configValue==null){
201   - throw new ServiceException("仓库的出库配置不存在");
202   - }
203   -
204   - //查找出库首选项
205   - LambdaQueryWrapper<ShipmentPreference> slam=Wrappers.lambdaQuery();
206   - slam.eq(ShipmentPreference::getCode,configValue.getIdentifier())
207   - .eq(ShipmentPreference::getWarehouseCode,configValue.getWarehouseCode());
208   - ShipmentPreference shipmentPreference=shipmentPreferenceService.getOne(slam);
209   - if(shipmentPreference==null){
210   - throw new ServiceException("仓库的出库配置中出库首选项不存在");
211   - }
212   - //查找分配规则
213   - filterConfigDetailLambdaQueryWrapper.eq(FilterConfigDetail::getCode,shipmentPreference.getAllocationRule());
214   - filterConfigDetail=filterConfigDetailService.getOne(filterConfigDetailLambdaQueryWrapper);
215   - if(filterConfigDetail==null){
216   - throw new ServiceException("出库首选项中出库规则配置不存在");
217   - }
218   -
219   - //根据sql查库存
220   - list=inventoryDetailService.selectBysql(filterConfigDetail.getStatement());
221 148 return getDataTable(list);
222 149 }
223 150  
... ...
src/main/java/com/huaheng/pc/shipment/shippingCombination/service/ShippingCombinationService.java
1 1 package com.huaheng.pc.shipment.shippingCombination.service;
2 2  
3 3  
  4 +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  5 +import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  6 +import com.huaheng.common.exception.service.ServiceException;
  7 +import com.huaheng.common.utils.StringUtils;
  8 +import com.huaheng.pc.config.FilterConfigDetail.domain.FilterConfigDetail;
  9 +import com.huaheng.pc.config.FilterConfigDetail.service.FilterConfigDetailService;
  10 +import com.huaheng.pc.config.configValue.domain.ConfigValue;
  11 +import com.huaheng.pc.config.configValue.service.ConfigValueService;
  12 +import com.huaheng.pc.config.material.domain.Material;
  13 +import com.huaheng.pc.config.material.service.MaterialServiceImpl;
  14 +import com.huaheng.pc.config.shipmentPreference.domain.ShipmentPreference;
  15 +import com.huaheng.pc.config.shipmentPreference.service.ShipmentPreferenceService;
4 16 import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail;
  17 +import com.huaheng.pc.inventory.inventoryDetail.service.InventoryDetailService;
  18 +import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
5 19 import com.huaheng.pc.shipment.shippingCombination.domain.ShippingSearch;
6 20 import com.huaheng.pc.shipment.shippingCombination.mapper.ShippingCombinationMapper;
  21 +import org.springframework.beans.factory.annotation.Autowired;
7 22 import org.springframework.stereotype.Service;
8 23  
9 24 import javax.annotation.Resource;
  25 +import java.util.ArrayList;
10 26 import java.util.List;
11 27  
12 28  
... ... @@ -15,10 +31,86 @@ public class ShippingCombinationService {
15 31  
16 32 @Resource
17 33 private ShippingCombinationMapper shippingCombinationMapper;
  34 + @Autowired
  35 + InventoryDetailService inventoryDetailService;
  36 + @Autowired
  37 + ConfigValueService configValueService;
  38 + @Autowired
  39 + FilterConfigDetailService filterConfigDetailService;
  40 + @Autowired
  41 + ShipmentPreferenceService shipmentPreferenceService;
  42 + @Autowired
  43 + MaterialServiceImpl materialService;
18 44  
19 45  
20   - public List<InventoryDetail> getInventorys(ShippingSearch search) {
21   - List<InventoryDetail> list = shippingCombinationMapper.getInventorys(search);
  46 +
  47 + //根据分配规则查找库存
  48 + public List<InventoryDetail> getInventorys(ShipmentDetail shipmentDetail) {
  49 + List<InventoryDetail> list=new ArrayList<>();
  50 + FilterConfigDetail filterConfigDetail=new FilterConfigDetail();
  51 + LambdaQueryWrapper<FilterConfigDetail> filterConfigDetailLambdaQueryWrapper= Wrappers.lambdaQuery();
  52 + filterConfigDetailLambdaQueryWrapper.eq(FilterConfigDetail::getWarehouseCode,shipmentDetail.getWarehouseCode());
  53 +
  54 + //出库子单的分配规则有时,优先出库子单的分配规则
  55 + if(StringUtils.isNotEmpty(shipmentDetail.getAllocationRule())){
  56 + filterConfigDetailLambdaQueryWrapper.eq(FilterConfigDetail::getCode,shipmentDetail.getAllocationRule());
  57 + filterConfigDetail=filterConfigDetailService.getOne(filterConfigDetailLambdaQueryWrapper);
  58 + if(filterConfigDetail==null){
  59 + throw new ServiceException("出库子单出库规则配置不存在");
  60 + }
  61 +
  62 + //根据sql查库存
  63 + try {
  64 + list = inventoryDetailService.selectBysql(filterConfigDetail.getStatement(),shipmentDetail);
  65 + }catch (Exception e){
  66 + throw new ServiceException("sql错误");
  67 + }
  68 + return list;
  69 + }
  70 +
  71 + //出库子单的分配规则没有时,优先物料的分配规则
  72 + LambdaQueryWrapper<Material> materialLambdaQueryWrapper=Wrappers.lambdaQuery();
  73 + materialLambdaQueryWrapper.eq(Material::getCode,shipmentDetail.getMaterialCode())
  74 + .eq(Material::getWarehouseCode,shipmentDetail.getWarehouseCode());
  75 + Material material=materialService.getOne(materialLambdaQueryWrapper);
  76 + if(StringUtils.isNotEmpty(material.getAllocationRule())){
  77 + filterConfigDetailLambdaQueryWrapper.eq(FilterConfigDetail::getCode,material.getAllocationRule());
  78 + filterConfigDetail=filterConfigDetailService.getOne(filterConfigDetailLambdaQueryWrapper);
  79 + if(filterConfigDetail==null){
  80 + throw new ServiceException("物料出库规则配置不存在");
  81 + }
  82 +
  83 + //根据sql查库存
  84 + list=inventoryDetailService.selectBysql(filterConfigDetail.getStatement(),shipmentDetail);
  85 + return list;
  86 + }
  87 +
  88 + //都没有时,默认仓库的分配规则
  89 + LambdaQueryWrapper<ConfigValue> configValueLambdaQueryWrapper=Wrappers.lambdaQuery();
  90 + configValueLambdaQueryWrapper.eq(ConfigValue::getModuleType,"shipment")
  91 + .eq(ConfigValue::getWarehouseCode,shipmentDetail.getWarehouseCode());
  92 + ConfigValue configValue=configValueService.getOne(configValueLambdaQueryWrapper);
  93 + if(configValue==null){
  94 + throw new ServiceException("仓库的出库配置不存在");
  95 + }
  96 +
  97 + //查找出库首选项
  98 + LambdaQueryWrapper<ShipmentPreference> slam=Wrappers.lambdaQuery();
  99 + slam.eq(ShipmentPreference::getCode,configValue.getIdentifier())
  100 + .eq(ShipmentPreference::getWarehouseCode,configValue.getWarehouseCode());
  101 + ShipmentPreference shipmentPreference=shipmentPreferenceService.getOne(slam);
  102 + if(shipmentPreference==null){
  103 + throw new ServiceException("仓库的出库配置中出库首选项不存在");
  104 + }
  105 + //查找分配规则
  106 + filterConfigDetailLambdaQueryWrapper.eq(FilterConfigDetail::getCode,shipmentPreference.getAllocationRule());
  107 + filterConfigDetail=filterConfigDetailService.getOne(filterConfigDetailLambdaQueryWrapper);
  108 + if(filterConfigDetail==null){
  109 + throw new ServiceException("出库首选项中出库规则配置不存在");
  110 + }
  111 +
  112 + //根据sql查库存
  113 + list=inventoryDetailService.selectBysql(filterConfigDetail.getStatement(),shipmentDetail);
22 114 return list;
23 115 }
24 116  
... ...
src/main/java/com/huaheng/pc/task/taskDetail/domain/TaskDetail.java
... ... @@ -57,6 +57,14 @@ public class TaskDetail implements Serializable {
57 57 @ApiModelProperty(value="货主")
58 58 private String companyCode;
59 59  
  60 +
  61 + /**
  62 + * 组盘子id
  63 + */
  64 + @TableField(value = "allocationId")
  65 + @ApiModelProperty(value="组盘子id")
  66 + private Integer allocationId;
  67 +
60 68 /**
61 69 * 单据编码
62 70 */
... ... @@ -162,12 +170,6 @@ public class TaskDetail implements Serializable {
162 170 @ApiModelProperty(value="参考单号")
163 171 private String referenceCode;
164 172  
165   - /**
166   - * 参考内部号
167   - */
168   - @TableField(value = "referenceId")
169   - @ApiModelProperty(value="参考内部号")
170   - private Integer referenceId;
171 173  
172 174 /**
173 175 * 参考内部行号
... ... @@ -379,6 +381,8 @@ public class TaskDetail implements Serializable {
379 381  
380 382 public static final String COL_COMPANYCODE = "companyCode";
381 383  
  384 + public static final String COL_ALLOCATIONID= "allocationId";
  385 +
382 386 public static final String COL_BILLCODE= "billCode";
383 387  
384 388 public static final String COL_BILLDETAILID= "billDetailId";
... ...
src/main/java/com/huaheng/pc/task/taskHeader/domain/TaskHeader.java
... ... @@ -43,6 +43,13 @@ public class TaskHeader implements Serializable {
43 43 private Integer taskType;
44 44  
45 45 /**
  46 + * 入库或出库组盘头ID
  47 + */
  48 + @TableField(value = "allocationHeadId")
  49 + @ApiModelProperty(value="入库或出库组盘头ID")
  50 + private Integer allocationHeadId;
  51 +
  52 + /**
46 53 * 内部类型
47 54 */
48 55 @TableField(value = "internalTaskType")
... ...
src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderService.java
... ... @@ -31,6 +31,8 @@ public interface TaskHeaderService extends IService&lt;TaskHeader&gt;{
31 31  
32 32 AjaxResult createReceiptTask(List<Integer> ids);
33 33  
  34 + void completeShipmentTask(TaskHeader task) ;
  35 +
34 36 Integer UncompleteCount(String containerCode);
35 37  
36 38  
... ...
src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java
... ... @@ -30,12 +30,21 @@ import com.huaheng.pc.shipment.shipmentContainerDetail.domain.ShipmentContainerD
30 30 import com.huaheng.pc.shipment.shipmentContainerDetail.service.ShipmentContainerDetailService;
31 31 import com.huaheng.pc.shipment.shipmentContainerHeader.domain.ShipmentContainerHeader;
32 32 import com.huaheng.pc.shipment.shipmentContainerHeader.service.ShipmentContainerHeaderService;
  33 +import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
  34 +import com.huaheng.pc.shipment.shipmentDetail.service.ShipmentDetailService;
33 35 import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader;
  36 +import com.huaheng.pc.shipment.shipmentHeader.service.ShipmentHeaderService;
34 37 import com.huaheng.pc.task.taskDetail.domain.TaskDetail;
35 38 import com.huaheng.pc.task.taskDetail.service.TaskDetailService;
36 39 import com.huaheng.pc.task.taskHeader.domain.ShipmentTaskCreateModel;
  40 +import org.jsoup.helper.DataUtil;
37 41 import org.springframework.stereotype.Service;
38 42 import java.math.BigDecimal;
  43 +import java.text.SimpleDateFormat;
  44 +import java.util.ArrayList;
  45 +import java.util.Date;
  46 +import java.util.List;
  47 +import java.util.Map;
39 48 import java.util.*;
40 49 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
41 50 import com.huaheng.pc.task.taskHeader.domain.TaskHeader;
... ... @@ -74,6 +83,13 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
74 83 @Resource
75 84 private ReceiptContainerDetailService receiptContainerDetailService;
76 85 @Resource
  86 + private ShipmentHeaderService shipmentHeaderService;
  87 + @Resource
  88 + private ShipmentDetailService shipmentDetailService;
  89 +
  90 +
  91 +
  92 + @Resource
77 93 private ReceiptContainerHeaderService receiptContainerHeaderService;
78 94 @Resource
79 95 private TaskHeaderMapper taskHeaderMapper;
... ... @@ -156,12 +172,13 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
156 172 task.setToLocation("");
157 173 }
158 174 }
  175 + task.setInternalTaskType(200);
  176 + task.setAllocationHeadId(shipmentContainerHeader.getId());
159 177 task.setWarehouseCode(shipmentContainerHeader.getWarehouseCode());
160 178 task.setCompanyCode(shipmentContainerHeader.getCompanyCode());
161   - task.setInternalTaskType(null);
162 179 task.setAssignedUser(ShiroUtils.getLoginName());
163 180 task.setConfirmedBy(ShiroUtils.getLoginName());
164   - task.setStatus(1);
  181 + task.setStatus(0);
165 182 task.setContainerCode(shipmentContainerHeader.getContainerCode());
166 183 task.setCreatedBy(ShiroUtils.getLoginName());
167 184 task.setCreated(new Date());
... ... @@ -172,9 +189,11 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
172 189 for (ShipmentContainerDetail shipmentContainerDetail : shipmentContainerDetails) {
173 190 TaskDetail taskDetail = new TaskDetail();
174 191 taskDetail.setTaskId(task.getId());
  192 + taskDetail.setInternalTaskType(task.getInternalTaskType());
175 193 taskDetail.setWarehouseCode(task.getWarehouseCode());
176 194 taskDetail.setCompanyCode(task.getCompanyCode());
177 195 taskDetail.setTaskType(task.getTaskType());
  196 + taskDetail.setAllocationId(shipmentContainerDetail.getId());
178 197 taskDetail.setBillCode(shipmentContainerDetail.getShipmentCode());
179 198 taskDetail.setBillDetailId(shipmentContainerDetail.getShipmentDetailId());
180 199 taskDetail.setMaterialCode(shipmentContainerDetail.getMaterialCode());
... ... @@ -186,7 +205,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
186 205 taskDetail.setContainerCode(task.getContainerCode());
187 206 taskDetail.setFromLocation(task.getFromLocation());
188 207 taskDetail.setToLocation(task.getToLocation());
189   - taskDetail.setStatus(1);
  208 + taskDetail.setStatus(0);
190 209 taskDetail.setTaskType(task.getTaskType());
191 210 taskDetail.setLastUpdatedBy(ShiroUtils.getLoginName());
192 211 taskDetail.setLastUpdated(null);
... ... @@ -205,7 +224,12 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
205 224 /**
206 225 * 下发WCS执行任务
207 226 */
  227 + /**
  228 + *
  229 + * 执行任务
  230 + * */
208 231 @Override
  232 + @Transactional
209 233 public AjaxResult<TaskHeader> sendTaskToWcs(Integer[] taskIds) {
210 234 TaskHeader task = null;
211 235 for (Integer taskId : taskIds) {
... ... @@ -220,7 +244,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
220 244 task.setLastUpdatedBy(ShiroUtils.getLoginName());
221 245 LambdaUpdateWrapper<TaskHeader> HeaderUpdateWrapper = Wrappers.lambdaUpdate();
222 246 HeaderUpdateWrapper.eq(TaskHeader::getId, taskId);
223   - taskHeaderService.update(task, HeaderUpdateWrapper);
  247 + if (!taskHeaderService.update(task, HeaderUpdateWrapper))
  248 + throw new ServiceException("更新任务头失败");
224 249 //修改任务明细状态
225 250 TaskDetail record = new TaskDetail();
226 251 record.setStatus(10);
... ... @@ -228,38 +253,24 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
228 253 record.setLastUpdatedBy(ShiroUtils.getLoginName());
229 254 LambdaUpdateWrapper<TaskDetail> lambdaUpdateWrapper = Wrappers.lambdaUpdate();
230 255 lambdaUpdateWrapper.eq(TaskDetail::getTaskId, task.getId());
231   - taskDetailService.update(record, lambdaUpdateWrapper);
232   -
233   -
234   -// if (task.getInternalTaskType().equals("100"))
235   -// {
236   -// List<Map<String, Object>> maps = taskDetailService.selectListMapByEqual("billId, billDetailId", condition);
237   -// for (Map<String, Object> item : maps){
238   -// Integer billDetailId = DataUtils.getInteger(item.get("billDetailId"));
239   -// receiptHeaderService.updateDetailStatus(billDetailId, (short)300);
240   -// }
241   -// maps.stream().map(X -> X.get("billId")).distinct().forEach(X -> receiptHeaderService.receiptStatusUpdate(DataUtils.getInteger(X), (short)300));
242   -// }
243   -// //盘点单执行
244   -// if(task.getType() == 700){
245   -// CyclecountDetail cyclecountDetai = cyclecountDetailService.selectEntityById(
246   -// task.getAllocationHeadId());
247   -// cyclecountDetai.setStatus(10);
248   -// cyclecountDetailService.updateByModel(cyclecountDetai);
249   -// }
250   -//// //如果是单排人工库,那么出入库都是先完成,在下发AGV任务
251   -//// if (task.getType().intValue() == 300 || task.getType().intValue() == 600) {
252   -//// if (task.getSourceLocation().startsWith("L03") == false ) {
253   -//// taskAgvService.createTaskAgv(task);
254   -//// }
255   -//// }
256   -//// else {
257   -//// taskAgvService.createTaskAgv(task);
258   -//// }
259   -// //任务类型是出库,那就完成任务在叫agv
260   -// if (task.getType().intValue() == 100 || task.getType().intValue() == 500) {
261   -// taskAgvService.createTaskAgv(task);
262   -// }
  256 + if (!taskDetailService.update(record, lambdaUpdateWrapper)){
  257 + throw new ServiceException("更新任务明细失败");
  258 + }
  259 + //修改入库明细
  260 + ReceiptDetail receiptDetail = receiptDetailService.queryflow(receiptDetailService.getById(record.getId()));
  261 + if (!receiptDetailService.updateById(receiptDetail)){
  262 + throw new ServiceException("更新状态失败");
  263 + }
  264 + receiptDetailService.updateReceiptHeaderLastStatus(receiptDetail.getReceiptId());
  265 + //修改组盘表状态为20
  266 + ReceiptContainerDetail receiptContainerDetail = new ReceiptContainerDetail();
  267 + receiptContainerDetail.setStatus(20);
  268 + receiptContainerDetail.setLastUpdated(new Date());
  269 + receiptContainerDetail.setLastUpdatedBy(ShiroUtils.getLoginName());
  270 + LambdaUpdateWrapper<ReceiptContainerDetail> receiptContainerDetailLambdaUpdateWrapper = Wrappers.lambdaUpdate();
  271 + receiptContainerDetailLambdaUpdateWrapper.eq(ReceiptContainerDetail::getReceiptId,receiptDetail.getReceiptId());
  272 + if (! receiptContainerDetailService.update(receiptContainerDetail, receiptContainerDetailLambdaUpdateWrapper))
  273 + throw new ServiceException("更新组盘状态失败");
263 274 }
264 275 return AjaxResult.success("下发任务成功", task);
265 276 }
... ... @@ -293,13 +304,13 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
293 304 */
294 305 public void completeTask(TaskHeader task) throws Exception {
295 306 //区分任务类型
296   - if (task.getInternalTaskType() == 100 || task.getInternalTaskType() == 200) {
  307 + if (task.getInternalTaskType() == 100) {
297 308 //入库任务
298 309 completeReceiptTask(task);
299 310 }
300   - if (task.getInternalTaskType() == 300 || task.getInternalTaskType() == 400) {
301   -// //出库任务
302   -// completeShipmentTask(task);
  311 + if (task.getInternalTaskType() == 200) {
  312 +// 出库任务
  313 + completeShipmentTask(task);
303 314 }
304 315 // 700 盘点 900 出库查看,包过空托出库查看
305 316 if (task.getInternalTaskType() == 700 || task.getInternalTaskType() == 900) {
... ... @@ -321,9 +332,10 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
321 332  
322 333  
323 334 /**
324   - *
  335 + *完成任务
325 336 */
326 337 @Override
  338 + @Transactional
327 339 public AjaxResult completeReceiptTask(TaskHeader task) throws Exception {
328 340 List<Map<String, Object>> taskReceiptContainerDetail = taskHeaderMapper.getReceiptTask(task.getId());
329 341 if (taskReceiptContainerDetail.size() < 1) {
... ... @@ -344,13 +356,16 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
344 356 header.setWarehouseCode(DataUtils.getString(map.get("warehouseCode")));//仓库
345 357 header.setCompanyCode(task.getCompanyCode());//货主
346 358 header.setContainerCode(DataUtils.getString(map.get("containerCode")));//容器号
  359 + header.setLocationCode(task.getToLocation());
347 360 header.setTotalQty(DataUtils.getInteger(map.get("totalQty")));//总数量
348 361 header.setLocking(1);
349 362 header.setEnable(1);
350 363 header.setCreatedBy(ShiroUtils.getLoginName());
351 364 header.setCreated(new Date());
352 365 header.setLastUpdated(new Date());
353   - inventoryHeaderService.save(header);
  366 + if (!inventoryHeaderService.save(header))
  367 + throw new ServiceException("添加库存单失败");
  368 +
354 369 //库存明细添加
355 370 detail = new InventoryDetail();
356 371 detail.setInventoryHeaderId(header.getId());//库存头ID
... ... @@ -366,19 +381,23 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
366 381 detail.setBatch(DataUtils.getString(map.get("batch")));//批次
367 382 detail.setLot(DataUtils.getString(map.get("lot")));//批号
368 383 detail.setInventorySts(DataUtils.getString(map.get("inventorySts")));//库存状态
369   - detail.setManufactureDate(DataUtils.getDateTime(map.get("manufactureDate")));//生产日期
370   - detail.setExpirationDate(DataUtils.getDateTime(map.get("expirationDate")));//失效日期
  384 + detail.setManufactureDate(new SimpleDateFormat("yyyy-MM-dd").parse(map.get("manufactureDate").toString()));//生产日期
  385 +// detail.setExpirationDate(new SimpleDateFormat("yyyy-MM-dd").parse(map.get("expirationDate").toString()));//失效日期
371 386 detail.setQty(DataUtils.getBigDecimal(map.get("qty")));//数量
372 387 detail.setTaskQty(DataUtils.getBigDecimal(map.get("qty")));
373 388 detail.setCreatedBy(ShiroUtils.getLoginName());//创建人
374 389 detail.setLastUpdatedBy(ShiroUtils.getLoginName());//创建时间
375   - inventoryDetailService.save(detail);
376   - } else {
  390 + if (!inventoryDetailService.save(detail))
  391 + throw new ServiceException("添加库存明细失败");
  392 + }
  393 + else {
377 394 detail.setQty(detail.getQty().add(DataUtils.getBigDecimal(map.get("qty"))));
378 395 detail.setLastUpdatedBy(ShiroUtils.getLoginName());
379 396 LambdaUpdateWrapper<InventoryDetail> lambdaUpdateWrapper = Wrappers.lambdaUpdate();
380   - lambdaUpdateWrapper.eq(InventoryDetail::getId, DataUtils.getInteger(map.get("receiptDetailId")));
381   - inventoryDetailService.update(detail, lambdaUpdateWrapper);
  397 + lambdaUpdateWrapper.eq(InventoryDetail::getId,DataUtils.getInteger(map.get("receiptDetailId")));
  398 + if (!inventoryDetailService.update(detail, lambdaUpdateWrapper))
  399 + throw new ServiceException("更新入库单明细失败");
  400 +
382 401 }
383 402 //记录库存交易记录
384 403 InventoryTransaction inventoryTransaction = new InventoryTransaction();
... ... @@ -393,28 +412,49 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
393 412 inventoryTransaction.setBillDetailId(DataUtils.getInteger(map.get("receiptDetailId")));
394 413 inventoryTransaction.setBatch(DataUtils.getString(map.get("batch")));
395 414 inventoryTransaction.setLot(DataUtils.getString(map.get("lot")));
396   - inventoryTransaction.setManufactureDate(DataUtils.getDateTime(map.get("manufactureDate")));
397   - inventoryTransaction.setExpirationDate(DataUtils.getDateTime(map.get("expirationDate")));
  415 + inventoryTransaction.setManufactureDate(new SimpleDateFormat("yyyy-MM-dd").parse(map.get("manufactureDate").toString()));//生产日期
  416 +// inventoryTransaction.setExpirationDate(DataUtils.getDateTime(map.get("expirationDate")));
398 417 inventoryTransaction.setInventorySts(DataUtils.getString((map.get("inventorySts"))));
399 418 inventoryTransaction.setTaskQty(DataUtils.getInteger(map.get("qty")));
400 419 inventoryTransaction.setCreated(new Date());
401 420 inventoryTransaction.setCreatedBy(ShiroUtils.getLoginName());
402   - inventoryTransactionService.save(inventoryTransaction);
  421 + if (!inventoryTransactionService.save(inventoryTransaction))
  422 + throw new ServiceException("新增库存记录失败");
403 423 //修改任务明细的状态为完成
404 424 TaskDetail taskDetail = new TaskDetail();
405 425 taskDetail.setStatus(100);
406 426 taskDetail.setLastUpdatedBy(ShiroUtils.getLoginName());
407 427 taskDetail.setAgingDate(new Date()); //入库时间
408 428 LambdaUpdateWrapper<TaskDetail> lambdaUpdateWrapper = Wrappers.lambdaUpdate();
409   - lambdaUpdateWrapper.eq(TaskDetail::getTaskId, DataUtils.getInteger(map.get("taskDetailId")));
  429 + lambdaUpdateWrapper.eq(TaskDetail::getTaskId,task.getId());
410 430 taskDetailService.update(taskDetail, lambdaUpdateWrapper);
411   - //修改入库单的状态
412   - ReceiptHeader receiptHeader = new ReceiptHeader();
413   - receiptHeader.setFirstStatus(100);
414   - receiptHeader.setLastStatus(100);
415   - LambdaUpdateWrapper<ReceiptHeader> receiptHeaderLambdaUpdateWrapper = Wrappers.lambdaUpdate();
416   - receiptHeaderLambdaUpdateWrapper.eq(ReceiptHeader::getId, DataUtils.getInteger(map.get("receiptId")));
417   - receiptHeaderService.update(receiptHeader, receiptHeaderLambdaUpdateWrapper);
  431 + if ( !taskDetailService.update(taskDetail, lambdaUpdateWrapper)){
  432 + throw new ServiceException("修改入库单明细失败");
  433 + }
  434 +// //修改入库单的状态
  435 +// ReceiptHeader receiptHeader = new ReceiptHeader();
  436 +// receiptHeader.setFirstStatus(100);
  437 +// receiptHeader.setLastStatus(100);
  438 +// LambdaUpdateWrapper<ReceiptHeader> receiptHeaderLambdaUpdateWrapper = Wrappers.lambdaUpdate();
  439 +// receiptHeaderLambdaUpdateWrapper.eq(ReceiptHeader::getId, DataUtils.getInteger(map.get("receiptId")));
  440 +// if (!receiptHeaderService.update(receiptHeader, receiptHeaderLambdaUpdateWrapper)){
  441 +// throw new ServiceException("修改入库单失败");
  442 +// }
  443 +// //修改任务明细的状态为完成
  444 +// TaskDetail taskDetail = new TaskDetail();
  445 +// taskDetail.setStatus(100);
  446 +// taskDetail.setLastUpdatedBy(ShiroUtils.getLoginName());
  447 +// taskDetail.setAgingDate(new Date()); //入库时间
  448 +// LambdaUpdateWrapper<TaskDetail> lambdaUpdateWrapper = Wrappers.lambdaUpdate();
  449 +// lambdaUpdateWrapper.eq(TaskDetail::getTaskId, DataUtils.getInteger(map.get("taskDetailId")));
  450 +// taskDetailService.update(taskDetail, lambdaUpdateWrapper);
  451 +// //修改入库单的状态
  452 +// ReceiptHeader receiptHeader =new ReceiptHeader();
  453 +// receiptHeader.setFirstStatus(100);
  454 +// receiptHeader.setLastStatus(100);
  455 +// LambdaUpdateWrapper<ReceiptHeader> receiptHeaderLambdaUpdateWrapper = Wrappers.lambdaUpdate();
  456 +// receiptHeaderLambdaUpdateWrapper.eq(ReceiptHeader::getId, DataUtils.getInteger(map.get("receiptId")));
  457 +// receiptHeaderService.update(receiptHeader, receiptHeaderLambdaUpdateWrapper);
418 458  
419 459 //修改任务主表状态,因为立库任务表单头只对应一个货箱,表单详情的任务会同时完成
420 460 task.setStatus(100);
... ... @@ -422,25 +462,43 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
422 462 task.setLastUpdated(new Date());
423 463 LambdaUpdateWrapper<TaskHeader> taskHeaderLambdaUpdateWrapper = Wrappers.lambdaUpdate();
424 464 taskHeaderLambdaUpdateWrapper.eq(TaskHeader::getId, task.getId());
425   - taskHeaderService.update(task, taskHeaderLambdaUpdateWrapper);
  465 + if (!taskHeaderService.update(task, taskHeaderLambdaUpdateWrapper))
  466 + throw new ServiceException("更新任务主表失败");
  467 +
426 468 //修改库位状态和对应的容器
427 469 Location location = new Location();
428 470 location.setContainerCode(task.getContainerCode());
429 471 location.setStatus("empty");
430 472 LambdaUpdateWrapper<Location> locationLambdaUpdateWrapper = Wrappers.lambdaUpdate();
431 473 locationLambdaUpdateWrapper.eq(Location::getCode, task.getToLocation());
432   - locationService.update(location, locationLambdaUpdateWrapper);
  474 + if (!locationService.update(location, locationLambdaUpdateWrapper))
  475 + throw new ServiceException("更新库位失败");
  476 +
433 477 //修改容器状态和对应的库位
434 478 Container container = new Container();
435 479 container.setLocationCode(task.getToLocation());
436 480 container.setStatus("some");
437   - //修改组盘表状态为20
  481 + if (!containerService.save(container)){
  482 + throw new ServiceException("更新容器失败");
  483 + }
  484 + //修改组盘表状态为20
438 485 ReceiptContainerDetail receiptContainerDetail = new ReceiptContainerDetail();
439 486 receiptContainerDetail.setStatus(20);
  487 + receiptContainerDetail.setProcessStamp("0");
  488 + receiptContainerDetail.setLastUpdated(new Date());
  489 + receiptContainerDetail.setLastUpdatedBy(ShiroUtils.getLoginName());
440 490 LambdaUpdateWrapper<ReceiptContainerDetail> receiptContainerDetailLambdaUpdateWrapper = Wrappers.lambdaUpdate();
441 491 receiptContainerDetailLambdaUpdateWrapper.eq(ReceiptContainerDetail::getReceiptId, DataUtils.getInteger(map.get("receiptId")));
442   - receiptContainerDetailService.update(receiptContainerDetail, receiptContainerDetailLambdaUpdateWrapper);
  492 + if (! receiptContainerDetailService.update(receiptContainerDetail, receiptContainerDetailLambdaUpdateWrapper))
  493 + throw new ServiceException("更新组盘状态失败");
  494 + //修改入库明细
  495 + ReceiptDetail receiptDetail = receiptDetailService.queryflow(receiptDetailService.getById(DataUtils.getInteger(map.get("receiptDetailId"))));
  496 + if (!receiptDetailService.updateById(receiptDetail)){
  497 + throw new ServiceException("更新状态失败");
  498 + }
  499 + receiptDetailService.updateReceiptHeaderLastStatus(receiptDetail.getReceiptId());
443 500 }
  501 +
444 502 }
445 503 return AjaxResult.success("完成入库任务");
446 504 }
... ... @@ -847,7 +905,6 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
847 905  
848 906 /**
849 907 * 创建上架任务
850   - *
851 908 * @param ids
852 909 * @return
853 910 */
... ... @@ -932,5 +989,115 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
932 989  
933 990  
934 991  
  992 + /**
  993 + *
  994 + * 完成出库任务
  995 + * */
  996 + @Override
  997 + public void completeShipmentTask(TaskHeader task) {
  998 + //获取所有子任务
  999 + TaskDetail condition = new TaskDetail();
  1000 + condition.setTaskId(task.getId());
  1001 + LambdaQueryWrapper<TaskDetail> lambdaQueryWrapper = Wrappers.lambdaQuery(condition);
  1002 + List<TaskDetail> taskDetails = taskDetailService.list(lambdaQueryWrapper);
  1003 + List<Integer> shipmentHeadIds = new ArrayList<>();
  1004 + for(TaskDetail taskDetail : taskDetails){
  1005 + if(taskDetail.getStatus()<20){
  1006 + //获取出库子货箱
  1007 + ShipmentContainerDetail shipmentContainerDetail = shipmentContainerDetailService.getById(taskDetail.getAllocationId());
  1008 + //取出子单据
  1009 + ShipmentDetail shipmentDetail = shipmentDetailService.getById(taskDetail.getBillDetailId());
  1010 + //暂存id,为更新单据状态准备
  1011 + shipmentHeadIds.add(shipmentDetail.getShipmentId());
  1012 + //获取对应库存记录
  1013 + InventoryDetail inventoryDetail = inventoryDetailService.getById(taskDetail.getToInventoryId());
  1014 + if (inventoryDetail == null) {
  1015 + throw new ServiceException("任务明细对应的库存ID【" + taskDetail.getToInventoryId().toString() + "】不存在!");
  1016 + }
  1017 + BigDecimal orignalQty = inventoryDetail.getQty();
  1018 + //扣减库存
  1019 + inventoryDetail.setTaskQty(inventoryDetail.getTaskQty().subtract(taskDetail.getQty()));
  1020 + inventoryDetail.setQty(inventoryDetail.getQty().subtract(taskDetail.getQty()));
  1021 + if(inventoryDetail.getQty().compareTo(new BigDecimal("0"))==0 && inventoryDetail.getTaskQty().compareTo(new BigDecimal("0"))==0){
  1022 + //如果库存没有了,就删除这个库存
  1023 + inventoryDetailService.removeById(inventoryDetail.getId());
  1024 + }else {
  1025 + //否则更新这个库存
  1026 + inventoryDetailService.updateById(inventoryDetail);
  1027 + }
  1028 + //设置子任务状态为已执行
  1029 + taskDetail.setStatus(100);
  1030 + taskDetail.setLastUpdatedBy(ShiroUtils.getLoginName());
  1031 + taskDetail.setLastUpdated(new Date()); //完成时间
  1032 + taskDetailService.updateById(taskDetail);
  1033 + //记录库存交易记录
  1034 + InventoryTransaction inventoryTransaction = new InventoryTransaction();
  1035 + inventoryTransaction.setWarehouseCode(task.getWarehouseCode());
  1036 + inventoryTransaction.setCompanyCode(shipmentDetail.getCompanyCode());
  1037 + inventoryTransaction.setLocationCode(inventoryDetail.getLocationCode());
  1038 + inventoryTransaction.setContainerCode(inventoryDetail.getContainerCode());
  1039 + inventoryTransaction.setTransactionType(20);
  1040 + inventoryTransaction.setMaterialCode(shipmentDetail.getMaterialCode());
  1041 + //inventory.setMaterialName(DataUtils.getString(taskDetail.getMaterialName()));//物料名称
  1042 + inventoryTransaction.setBillCode(taskDetail.getBillCode());
  1043 + inventoryTransaction.setBillDetailId(shipmentDetail.getId());
  1044 + inventoryTransaction.setBatch(shipmentDetail.getBatch());
  1045 + inventoryTransaction.setLot(shipmentDetail.getLot());
  1046 + inventoryTransaction.setManufactureDate(shipmentDetail.getManufactureDate());
  1047 + inventoryTransaction.setExpirationDate(shipmentDetail.getExpirationDate());
  1048 + inventoryTransaction.setInventorySts(inventoryDetail.getInventorySts());
  1049 + //这里取反,更符合出库的语义,同时方便对记录进行统计
  1050 + inventoryTransaction.setTaskQty(taskDetail.getQty().intValue());
  1051 +// inventoryTransaction.setCostPrice(shipmentDetail.);
  1052 + inventoryTransaction.setCreated(null);
  1053 + inventoryTransaction.setCreatedBy(ShiroUtils.getLoginName());
  1054 + inventoryTransactionService.save(inventoryTransaction);
  1055 +// //更新单据状态
  1056 +// shipmentHeaderService.updateShipmentStatus(shipmentHeader.getId());
  1057 + }
  1058 + }
  1059 + //设置主任务为已执行
  1060 + task.setStatus(100);
  1061 + task.setLastUpdatedBy(ShiroUtils.getLoginName());
  1062 + task.setLastUpdated(new Date());
  1063 + taskHeaderService.updateById(task);
  1064 + //将库位状态改为空闲,如果是整出的对应的容器也清空
  1065 + Location locationRecord = new Location();
  1066 + locationRecord.setStatus("empty");
  1067 + if(task.getTaskType()==300) {
  1068 + locationRecord.setContainerCode("");
  1069 + }
  1070 + LambdaUpdateWrapper<Location> locationLambdaUpdateWrapper = Wrappers.lambdaUpdate();
  1071 + locationLambdaUpdateWrapper.eq(Location::getCode,task.getToLocation());
  1072 + locationService.update(locationLambdaUpdateWrapper);
  1073 + //如果是整出,删掉这个库位上的这个托盘,否则更改托盘状态
  1074 + Container containerRecord = new Container();
  1075 + if(task.getTaskType()==300) {
  1076 + containerService.updateLocationCodeAndStatus(task.getContainerCode(),"","empty");
  1077 + }
  1078 + else{
  1079 + //查询是否存在关联的库存,入如果没有就修改容器状态为empty
  1080 + InventoryDetail inventoryCondition = new InventoryDetail();
  1081 + inventoryCondition.setLocationCode(task.getToLocation());
  1082 + LambdaQueryWrapper<InventoryDetail> inventoryDetaillambdaQueryWrapper = Wrappers.lambdaQuery();
  1083 + inventoryDetaillambdaQueryWrapper.eq(InventoryDetail::getLocationCode,task.getToLocation());
  1084 + List<InventoryDetail> detailList= inventoryDetailService.list();
  1085 + //库存查询不到该容器就把容器状态改为可用
  1086 + if (detailList.size()<1) {
  1087 + Container container =new Container();
  1088 + container.setCode(task.getToLocation());
  1089 + condition.setToLocation("");
  1090 + LambdaUpdateWrapper<Container> containerLambdaUpdateWrapper = Wrappers.lambdaUpdate();
  1091 + containerLambdaUpdateWrapper.eq(Container::getCode,task.getToLocation());
  1092 + containerService.update(containerLambdaUpdateWrapper);
  1093 + }
  1094 + }
  1095 +// //设置出库货箱状态为拣货任务完成
  1096 +// shipmentContainerHeaderService.resetStatusShipmentContainer(task.getAllocationHeadId(),(short)20);
  1097 + // 最后更新单据状态
  1098 + shipmentHeadIds.stream().distinct().forEach(t->shipmentHeaderService.updateShipmentStatus(t));
  1099 +
  1100 + }
  1101 +
935 1102  
936 1103 }
... ...
src/main/resources/mybatis/inventory/AdjustHeaderMapper.xml
... ... @@ -25,4 +25,12 @@
25 25 id, code, warehouseCode, companyCode, problemType, cycleCountCode, checkCode,
26 26 referCode, referReason, createdBy, created, version, userDef1, userDef2, userDef3, processStamp
27 27 </sql>
  28 +
  29 + <select id="getLastCode" resultType="java.lang.String">
  30 + SELECT code FROM adjust_header ORDER BY id DESC LIMIT 1
  31 + </select>
  32 +
  33 +
  34 +
  35 +
28 36 </mapper>
29 37 \ No newline at end of file
... ...
src/main/resources/mybatis/inventory/CycleCountHeaderMapper.xml
... ... @@ -9,7 +9,7 @@
9 9 <result column="masterCode" jdbcType="VARCHAR" property="masterCode" />
10 10 <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" />
11 11 <result column="companyCode" jdbcType="VARCHAR" property="companyCode" />
12   - <result column="countType" jdbcType="INTEGER" property="countType" />
  12 + <result column="countType" jdbcType="VARCHAR" property="countType" />
13 13 <result column="statusCyc" jdbcType="INTEGER" property="statusCyc" />
14 14 <result column="countAttribute" jdbcType="INTEGER" property="countAttribute" />
15 15 <result column="remark" jdbcType="VARCHAR" property="remark" />
... ... @@ -41,4 +41,11 @@
41 41 releasedAt, closedBy, closedAt, created, createdBy, lastUpdated, lastUpdatedBy, version,
42 42 userDef1, userDef2, userDef3, verifyBy, sourceCode, uploadTime, uploadStatus
43 43 </sql>
  44 +
  45 + <select id="getLastCode" resultType="java.lang.String">
  46 + SELECT masterCode FROM cycle_count_header ORDER BY id DESC LIMIT 1
  47 + </select>
  48 +
  49 +
  50 +
44 51 </mapper>
45 52 \ No newline at end of file
... ...
src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html
... ... @@ -116,7 +116,7 @@
116 116 var prefix = ctx + "inventory/cycleCountDetail";
117 117 var prefix_head = ctx + "inventory/cycleCountHeader";
118 118 var remove_url= prefix + "/remove";
119   - var datas = [[${@dict.getType('cyclecountStatus')}]];
  119 + var cyclecountStatus = [[${@dict.getType('cyclecountStatus')}]];
120 120 var inventoryStatus=[[${@dict.getType('inventoryStatus')}]];
121 121 var created ;
122 122  
... ... @@ -287,9 +287,9 @@
287 287 field: 'enableStatus',
288 288 title: '盘点明细状态',
289 289 formatter: function(value, row, index) {
290   - return $.table.selectDictLabel(datas, value);
  290 + return $.table.selectDictLabel(cyclecountStatus, value);
291 291 },
292   - sortable:true
  292 + visible: true
293 293 },
294 294 {
295 295 field: 'processStamp',
... ...
src/main/resources/templates/inventory/cycleCountHeader/add.html
... ... @@ -4,34 +4,82 @@
4 4 <head th:include="include :: header"></head>
5 5 <body class="white-bg">
6 6 <div class="wrapper wrapper-content animated fadeInRight ibox-content">
7   - <form class="form-horizontal m" id="form-cyclecountHeader-add">
  7 + <form class="form-horizontal m" id="form-cycleCountHeader-add">
8 8 <div class="form-group">
9 9 <label class="col-sm-3 control-label">盘点类型:</label>
10 10 <div class="col-sm-8">
11   - <select name="type" id="type" class="form-control m-b" th:with="firstStatus=${@dict.getType('cyclecountType')}">
  11 + <select name="countType" id="countType" class="form-control m-b" th:with="firstStatus=${@dict.getType('cyclecountType')}">
12 12 <option th:each="e : ${firstStatus}" th:text="${e['dictLabel']}"
13 13 th:value="${e['dictValue']}"></option>
14 14 </select>
15 15 </div>
16 16 </div>
17 17 <div class="form-group">
18   - <label class="col-sm-3 control-label">货主:</label>
19   - <div class="col-sm-8">
20   - <select id="company" name="company" class="form-control m-b" th:with="list=${@company.selectCompanyByCurrentUserId()}">
21   - <option th:each="item : ${list}" th:text="${item['name']}" th:value="${item['id']}" th:attr = " code = ${item['code']}"></option>
22   - </select>
23   - </div>
  18 + <label class="col-sm-3 control-label">原始盘点内部号:</label>
  19 + <div class="col-sm-8">
  20 + <input id="countOrderId" name="countOrderId" class="form-control" type="text">
  21 + </div>
24 22 </div>
25 23 <div class="form-group">
26   - <label class="col-sm-3 control-label">备注:</label>
  24 + <label class="col-sm-3 control-label">盘点轮次:</label>
27 25 <div class="col-sm-8">
28   - <input id="userDef1" name="remark" class="form-control" type="text">
  26 + <input id="round" name="round" class="form-control" type="text">
29 27 </div>
30 28 <!--th:checked="true" 状态按钮默认为启用 $("input[name='enable']").is(':checked')-->
31 29 <!--<div>-->
32 30 <!--<input type="checkbox" th:checked="true" class="onoffswitch-checkbox" id="enable" name="enable">-->
33 31 <!--</div>-->
34 32 </div>
  33 + <div class="form-group">
  34 + <label class="col-sm-3 control-label">货主:</label>
  35 + <div class="col-sm-8">
  36 + <input id="companyCode" name="companyCode" class="form-control" type="text">
  37 + </div>
  38 + </div>
  39 + <div class="form-group">
  40 + <label class="col-sm-3 control-label">总货位数:</label>
  41 + <div class="col-sm-8">
  42 + <input id="totalLocs" name="totalLocs" class="form-control" type="text">
  43 + </div>
  44 + </div>
  45 + <div class="form-group">
  46 + <label class="col-sm-3 control-label">总物料数:</label>
  47 + <div class="col-sm-8">
  48 + <input id="totalItems" name="totalItems" class="form-control" type="text">
  49 + </div>
  50 + </div>
  51 + <div class="form-group">
  52 + <label class="col-sm-3 control-label">指定区域:</label>
  53 + <div class="col-sm-8">
  54 + <input id="zoneCode" name="zoneCode" class="form-control" type="text">
  55 + </div>
  56 + </div>
  57 + <div class="form-group">
  58 + <label class="col-sm-3 control-label">库位条件(模糊):</label>
  59 + <div class="col-sm-8">
  60 + <input id="locationFilter" name="locationFilter" class="form-control" type="text">
  61 + </div>
  62 + </div>
  63 + <div class="form-group">
  64 + <label class="col-sm-3 control-label">源盘点单号:</label>
  65 + <div class="col-sm-8">
  66 + <input id="sourceCode" name="sourceCode" class="form-control" type="text">
  67 + </div>
  68 + </div>
  69 +
  70 + <!--<div class="form-group">
  71 + <label class="col-sm-3 control-label">原始盘点内部号:</label>
  72 + <div class="col-sm-8">
  73 + <input id="countOrderId" name="remark" class="form-control" type="text">
  74 + </div>
  75 + </div>-->
  76 + <div class="form-group">
  77 + <label class="col-sm-3 control-label">备注:</label>
  78 + <div class="col-sm-8">
  79 + <input id="remark" name="remark" class="form-control" type="text">
  80 + </div>
  81 + </div>
  82 +
35 83 <div class="form-group">
36 84 <div class="form-control-static col-sm-offset-9">
37 85 <button type="submit" class="btn btn-primary">提交</button>
... ... @@ -42,21 +90,32 @@
42 90 </div>
43 91 <div th:include="include::footer"></div>
44 92 <script type="text/javascript">
45   - var prefix = ctx + "inventory/cyclecountHeader"
46   - $("#form-cyclecountHeader-add").validate({
  93 + var prefix = ctx + "inventory/cycleCountHeader"
  94 + $("#form-cycleCountHeader-add").validate({
47 95 rules:{
48   - // code:{
49   - // required:true,
50   - // },
51   - type:{
  96 + companyCode:{
  97 + required:true,
  98 + },
  99 + /*countType:{
52 100 required:true
53   - }
  101 + },*/
  102 + totalLocs:{
  103 + required:false,
  104 + digits:true,
  105 + min:0
  106 + },
  107 + totalItems:{
  108 + required:false,
  109 + digits:true,
  110 + min:0
  111 + },
  112 +
54 113 },
55 114 submitHandler: function(form) {
56   - var tableValue = $("#form-cyclecountHeader-add").serialize();
57   - tableValue = formValueReplace(tableValue, "enable", true);
58   - tableValue = formValueReplace(tableValue, "companyId", $("#company option:selected").val());
59   - tableValue = formValueReplace(tableValue, "companyCode", $("#company option:selected").attr("code"));
  115 + var tableValue = $("#form-cycleCountHeader-add").serialize();
  116 + // tableValue = formValueReplace(tableValue, "enable", true);
  117 + // tableValue = formValueReplace(tableValue, "companyId", $("#company option:selected").val());
  118 + // tableValue = formValueReplace(tableValue, "companyCode", $("#company option:selected").attr("code"));
60 119 $.operate.save(prefix + "/add", tableValue);
61 120 }
62 121 });
... ...
src/main/resources/templates/inventory/cycleCountHeader/cycleCountHeader.html
... ... @@ -96,8 +96,8 @@
96 96 var prefix = ctx + "inventory/cycleCountHeader";
97 97 var datas = [[${@dict.getType('sys_normal_disable')}]];
98 98 var types = [[${@dict.getType('cyclecountType')}]];
99   - var status2 = [[${@dict.getType('cyclecountStatus')}]];
100   -
  99 + var cyclecountStatus = [[${@dict.getType('cyclecountStatus')}]];
  100 + var ifs = [[${@dict.getType('false_and_true')}]];
101 101 $(function () {
102 102 var options = {
103 103 url: prefix + "/list",
... ... @@ -161,19 +161,23 @@
161 161 },
162 162 {
163 163 field: 'releasedBy',
164   - title: '释放人'
  164 + title: '释放人',
  165 + visible: false
165 166 },
166 167 {
167 168 field: 'releasedAt',
168   - title: '释放时间'
  169 + title: '释放时间',
  170 + visible: false
169 171 },
170 172 {
171 173 field: 'closedBy',
172   - title: '关闭人'
  174 + title: '关闭人',
  175 + visible: false
173 176 },
174 177 {
175 178 field: 'closedAt',
176   - title: '关闭时间'
  179 + title: '关闭时间',
  180 + visible: false
177 181 },
178 182 {
179 183 field: 'countType',
... ... @@ -185,25 +189,29 @@
185 189 sortable: true
186 190 },
187 191 {
188   - field: 'verifyBy',
189   - title: '审核人'
190   - },
191   - {
192 192 field: 'statusCyc',
193   - title: '盘点状态',
194   - align: 'center',
195   - formatter: function (value, row, index) {
196   - return $.table.selectDictLabel(status2, value);
  193 + title: '盘点主单状态',
  194 + formatter: function(value, row, index) {
  195 + return $.table.selectDictLabel(cyclecountStatus, value);
197 196 },
198   - sortable: true
  197 + visible: true
  198 + },
  199 + {
  200 + field: 'verifyBy',
  201 + title: '审核人'
199 202 },
200 203 {
201 204 field: 'uploadTime',
202   - title: '上传时间'
  205 + title: '上传时间',
  206 + visible: false
203 207 },
204 208 {
205 209 field: 'uploadStatus',
206   - title: '上传状态'
  210 + title: '上传状态',
  211 + align: 'center',
  212 + formatter: function (value, row, index) {
  213 + return $.table.selectDictLabel(ifs, value);
  214 + }
207 215 },
208 216 {
209 217 field: 'version',
... ... @@ -266,10 +274,9 @@
266 274  
267 275 actions.push('<a class="btn btn-warning btn-xs " href="#" onclick="goAdjust(\'' + row.id + '\')"><i class="fa fa-gbp"></i>生成差异单</a> ');
268 276  
269   - actions.push('<a class="btn btn-info btn-xs " href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
  277 + //actions.push('<a class="btn btn-info btn-xs " href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
270 278 actions.push('<a class="btn btn-danger btn-xs " href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a> ');
271   - //actions.push('<a style="background: #b5bdc0" class="btn btn-default btn-xs " href="#" onclick="detail(\'' + row.code + '\',\'' + row.code + '\')"><i class="fa fa-list-ul"></i>明细</a>');
272   - return actions.join('');
  279 + return actions.join('');
273 280 }
274 281 }]
275 282 };
... ...
src/main/resources/templates/task/taskDetail/taskDetail.html
... ... @@ -72,12 +72,12 @@
72 72 sortable:true
73 73 },
74 74 {
75   - field : 'sourceLocation',
  75 + field : 'fromLocation',
76 76 title : '源库位',
77 77 sortable:true
78 78 },
79 79 {
80   - field : 'destinationLocation',
  80 + field : 'toLocation',
81 81 title : '目的库位',
82 82 sortable:true
83 83 },
... ...
src/main/resources/templates/task/taskHeader/taskHeader.html
... ... @@ -32,7 +32,7 @@
32 32 </li>
33 33  
34 34 <li>
35   - 库位编号:<input type="text" name="locationCode"/>
  35 + 库位编号:<input type="text" name="toLocation"/>
36 36 </li>
37 37 <li class="time" style="height: 30px">
38 38 <label>创建时间: </label>
... ... @@ -171,7 +171,7 @@
171 171  
172 172 },
173 173 {
174   - field : 'locationCode',
  174 + field : 'toLocation',
175 175 title : '库位号',
176 176 visible:true
177 177 },
... ... @@ -234,7 +234,7 @@
234 234 actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>取消</a> ');
235 235 actions.push('<a class="btn btn-primary btn-xs ' + completeFlag + '" href="#" onclick="complete(\'' + row.id + '\')"><i class="fa fa-check"></i>完成</a>');
236 236 }
237   - if (row.status >=10) {
  237 + if (row.status >= 10 && row.status < 100) {
238 238 actions.push('<a class="btn btn-primary btn-xs ' + completeFlag + '" href="#" onclick="complete(\'' + row.id + '\')"><i class="fa fa-check"></i>完成</a>');
239 239 }
240 240 return actions.join('');
... ...