Commit fee856f05bf6824dd3d392852e6335d3cdc63b5f

Authored by xqs
2 parents 61162695 437dcc94

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

# Conflicts:
#	.idea/workspace.xml
.idea/workspace.xml
... ... @@ -2,14 +2,20 @@
2 2 <project version="4">
3 3 <component name="ChangeListManager">
4 4 <list default="true" id="908d8a6f-e3e4-4fdc-b674-e523a3e2b520" name="Default Changelist" comment="">
  5 + <change afterPath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiptHeader/reservation.html" afterDir="false" />
5 6 <change beforePath="$PROJECT_DIR$/.idea/compiler.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/compiler.xml" afterDir="false" />
6 7 <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
7   - <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/cycleCountPreference/controller/cycleCountPreferenceController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/cycleCountPreference/controller/cycleCountPreferenceController.java" afterDir="false" />
8   - <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/cycleCountPreference/domain/CycleCountPreference.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/cycleCountPreference/domain/CycleCountPreference.java" afterDir="false" />
9   - <change beforePath="$PROJECT_DIR$/src/main/resources/mybatis/config/CycleCountPreferenceMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mybatis/config/CycleCountPreferenceMapper.xml" afterDir="false" />
10   - <change beforePath="$PROJECT_DIR$/src/main/resources/templates/config/cycleCountPreference/add.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/config/cycleCountPreference/add.html" afterDir="false" />
11   - <change beforePath="$PROJECT_DIR$/src/main/resources/templates/config/cycleCountPreference/cycleCountPreference.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/config/cycleCountPreference/cycleCountPreference.html" afterDir="false" />
12   - <change beforePath="$PROJECT_DIR$/src/main/resources/templates/config/cycleCountPreference/edit.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/config/cycleCountPreference/edit.html" afterDir="false" />
  8 + <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/receiptPreference/controller/ReceiptPreferenceController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/receiptPreference/controller/ReceiptPreferenceController.java" afterDir="false" />
  9 + <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptDetail/controller/ReceiptDetailController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptDetail/controller/ReceiptDetailController.java" afterDir="false" />
  10 + <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptDetail/domain/ReceiptDetail.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptDetail/domain/ReceiptDetail.java" afterDir="false" />
  11 + <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailService.java" afterDir="false" />
  12 + <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java" afterDir="false" />
  13 + <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java" afterDir="false" />
  14 + <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptHeader/domain/ReceiptHeader.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptHeader/domain/ReceiptHeader.java" afterDir="false" />
  15 + <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java" afterDir="false" />
  16 + <change beforePath="$PROJECT_DIR$/src/main/resources/application-druid.properties" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/application-druid.properties" afterDir="false" />
  17 + <change beforePath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiptDetail/receiptDetail.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiptDetail/receiptDetail.html" afterDir="false" />
  18 + <change beforePath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html" afterDir="false" />
13 19 </list>
14 20 <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
15 21 <option name="SHOW_DIALOG" value="false" />
... ... @@ -47,108 +53,18 @@
47 53 </expand>
48 54 <select />
49 55 </component>
50   - <component name="FileEditorManager">
51   - <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
52   - <file pinned="false" current-in-tab="false">
53   - <entry file="file://$PROJECT_DIR$/src/main/resources/templates/config/cycleCountPreference/cycleCountPreference.html">
54   - <provider selected="true" editor-type-id="text-editor">
55   - <state relative-caret-position="1320">
56   - <caret line="66" column="34" lean-forward="true" selection-start-line="66" selection-start-column="34" selection-end-line="66" selection-end-column="34" />
57   - </state>
58   - </provider>
59   - </entry>
60   - </file>
61   - <file pinned="false" current-in-tab="false">
62   - <entry file="file://$PROJECT_DIR$/src/main/resources/templates/config/cycleCountPreference/add.html">
63   - <provider selected="true" editor-type-id="text-editor">
64   - <state relative-caret-position="79">
65   - <caret line="98" column="12" selection-start-line="98" selection-start-column="8" selection-end-line="108" selection-end-column="17" />
66   - </state>
67   - </provider>
68   - </entry>
69   - </file>
70   - <file pinned="false" current-in-tab="true">
71   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/cycleCountPreference/domain/CycleCountPreference.java">
72   - <provider selected="true" editor-type-id="text-editor">
73   - <state relative-caret-position="248">
74   - <caret line="84" column="33" lean-forward="true" selection-start-line="84" selection-start-column="33" selection-end-line="84" selection-end-column="33" />
75   - <folding>
76   - <element signature="imports" expanded="true" />
77   - </folding>
78   - </state>
79   - </provider>
80   - </entry>
81   - </file>
82   - <file pinned="false" current-in-tab="false">
83   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/cycleCountPreference/mapper/CycleCountPreferenceMapper.java">
84   - <provider selected="true" editor-type-id="text-editor">
85   - <state relative-caret-position="80">
86   - <caret line="5" selection-start-line="5" selection-end-line="5" />
87   - </state>
88   - </provider>
89   - </entry>
90   - </file>
91   - <file pinned="false" current-in-tab="false">
92   - <entry file="file://$PROJECT_DIR$/src/main/resources/mybatis/config/CycleCountPreferenceMapper.xml">
93   - <provider selected="true" editor-type-id="text-editor">
94   - <state relative-caret-position="127">
95   - <caret line="14" column="38" lean-forward="true" selection-start-line="14" selection-start-column="38" selection-end-line="14" selection-end-column="38" />
96   - </state>
97   - </provider>
98   - </entry>
99   - </file>
100   - <file pinned="false" current-in-tab="false">
101   - <entry file="file://$PROJECT_DIR$/src/main/resources/templates/config/cycleCountPreference/edit.html">
102   - <provider selected="true" editor-type-id="text-editor">
103   - <state relative-caret-position="402">
104   - <caret line="176" column="51" lean-forward="true" selection-start-line="176" selection-start-column="51" selection-end-line="176" selection-end-column="51" />
105   - </state>
106   - </provider>
107   - </entry>
108   - </file>
109   - <file pinned="false" current-in-tab="false">
110   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/cycleCountPreference/controller/cycleCountPreferenceController.java">
111   - <provider selected="true" editor-type-id="text-editor">
112   - <state relative-caret-position="347">
113   - <caret line="100" column="22" selection-start-line="100" selection-start-column="22" selection-end-line="100" selection-end-column="22" />
114   - <folding>
115   - <element signature="imports" expanded="true" />
116   - </folding>
117   - </state>
118   - </provider>
119   - </entry>
120   - </file>
121   - </leaf>
122   - </component>
123 56 <component name="FileTemplateManagerImpl">
124 57 <option name="RECENT_TEMPLATES">
125 58 <list>
126 59 <option value="CSS File" />
127   - <option value="HTML File" />
128 60 <option value="Class" />
  61 + <option value="HTML File" />
129 62 </list>
130 63 </option>
131 64 </component>
132   - <component name="FindInProjectRecents">
133   - <findStrings>
134   - <find>form-receiptPreference-edit</find>
135   - </findStrings>
136   - </component>
137 65 <component name="Git.Settings">
138 66 <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
139 67 </component>
140   - <component name="IdeDocumentHistory">
141   - <option name="CHANGED_PATHS">
142   - <list>
143   - <option value="$PROJECT_DIR$/src/main/resources/templates/config/cycleCountPreference/cycleCountPreference.html" />
144   - <option value="$PROJECT_DIR$/src/main/resources/templates/config/cycleCountPreference/edit.html" />
145   - <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/cycleCountPreference/controller/cycleCountPreferenceController.java" />
146   - <option value="$PROJECT_DIR$/src/main/resources/templates/config/cycleCountPreference/add.html" />
147   - <option value="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/cycleCountPreference/domain/CycleCountPreference.java" />
148   - <option value="$PROJECT_DIR$/src/main/resources/mybatis/config/CycleCountPreferenceMapper.xml" />
149   - </list>
150   - </option>
151   - </component>
152 68 <component name="MavenImportPreferences">
153 69 <option name="importingSettings">
154 70 <MavenImportingSettings>
... ... @@ -156,280 +72,10 @@
156 72 </MavenImportingSettings>
157 73 </option>
158 74 </component>
159   - <component name="ProjectFrameBounds" extendedState="6">
160   - <option name="x" value="-9" />
161   - <option name="y" value="-9" />
162   - <option name="width" value="1938" />
163   - <option name="height" value="1048" />
164   - </component>
165 75 <component name="ProjectId" id="1Q2nhRM7LRz3yFWhpclOKgTjxn0" />
166 76 <component name="ProjectLevelVcsManager">
167 77 <ConfirmationsSetting value="2" id="Add" />
168 78 </component>
169   - <component name="ProjectView">
170   - <navigator proportions="" version="1">
171   - <foldersAlwaysOnTop value="true" />
172   - </navigator>
173   - <panes>
174   - <pane id="PackagesPane" />
175   - <pane id="Scope" />
176   - <pane id="ProjectPane">
177   - <subPane>
178   - <expand>
179   - <path>
180   - <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
181   - <item name="wms2" type="462c0819:PsiDirectoryNode" />
182   - </path>
183   - <path>
184   - <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
185   - <item name="wms2" type="462c0819:PsiDirectoryNode" />
186   - <item name="src" type="462c0819:PsiDirectoryNode" />
187   - </path>
188   - <path>
189   - <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
190   - <item name="wms2" type="462c0819:PsiDirectoryNode" />
191   - <item name="src" type="462c0819:PsiDirectoryNode" />
192   - <item name="main" type="462c0819:PsiDirectoryNode" />
193   - </path>
194   - <path>
195   - <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
196   - <item name="wms2" type="462c0819:PsiDirectoryNode" />
197   - <item name="src" type="462c0819:PsiDirectoryNode" />
198   - <item name="main" type="462c0819:PsiDirectoryNode" />
199   - <item name="java" type="462c0819:PsiDirectoryNode" />
200   - </path>
201   - <path>
202   - <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
203   - <item name="wms2" type="462c0819:PsiDirectoryNode" />
204   - <item name="src" type="462c0819:PsiDirectoryNode" />
205   - <item name="main" type="462c0819:PsiDirectoryNode" />
206   - <item name="java" type="462c0819:PsiDirectoryNode" />
207   - <item name="com" type="462c0819:PsiDirectoryNode" />
208   - </path>
209   - <path>
210   - <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
211   - <item name="wms2" type="462c0819:PsiDirectoryNode" />
212   - <item name="src" type="462c0819:PsiDirectoryNode" />
213   - <item name="main" type="462c0819:PsiDirectoryNode" />
214   - <item name="java" type="462c0819:PsiDirectoryNode" />
215   - <item name="com" type="462c0819:PsiDirectoryNode" />
216   - <item name="huaheng" type="462c0819:PsiDirectoryNode" />
217   - </path>
218   - <path>
219   - <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
220   - <item name="wms2" type="462c0819:PsiDirectoryNode" />
221   - <item name="src" type="462c0819:PsiDirectoryNode" />
222   - <item name="main" type="462c0819:PsiDirectoryNode" />
223   - <item name="java" type="462c0819:PsiDirectoryNode" />
224   - <item name="com" type="462c0819:PsiDirectoryNode" />
225   - <item name="huaheng" type="462c0819:PsiDirectoryNode" />
226   - <item name="pc" type="462c0819:PsiDirectoryNode" />
227   - </path>
228   - <path>
229   - <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
230   - <item name="wms2" type="462c0819:PsiDirectoryNode" />
231   - <item name="src" type="462c0819:PsiDirectoryNode" />
232   - <item name="main" type="462c0819:PsiDirectoryNode" />
233   - <item name="java" type="462c0819:PsiDirectoryNode" />
234   - <item name="com" type="462c0819:PsiDirectoryNode" />
235   - <item name="huaheng" type="462c0819:PsiDirectoryNode" />
236   - <item name="pc" type="462c0819:PsiDirectoryNode" />
237   - <item name="config" type="462c0819:PsiDirectoryNode" />
238   - </path>
239   - <path>
240   - <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
241   - <item name="wms2" type="462c0819:PsiDirectoryNode" />
242   - <item name="src" type="462c0819:PsiDirectoryNode" />
243   - <item name="main" type="462c0819:PsiDirectoryNode" />
244   - <item name="java" type="462c0819:PsiDirectoryNode" />
245   - <item name="com" type="462c0819:PsiDirectoryNode" />
246   - <item name="huaheng" type="462c0819:PsiDirectoryNode" />
247   - <item name="pc" type="462c0819:PsiDirectoryNode" />
248   - <item name="config" type="462c0819:PsiDirectoryNode" />
249   - <item name="cycleCountPreference" type="462c0819:PsiDirectoryNode" />
250   - </path>
251   - <path>
252   - <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
253   - <item name="wms2" type="462c0819:PsiDirectoryNode" />
254   - <item name="src" type="462c0819:PsiDirectoryNode" />
255   - <item name="main" type="462c0819:PsiDirectoryNode" />
256   - <item name="java" type="462c0819:PsiDirectoryNode" />
257   - <item name="com" type="462c0819:PsiDirectoryNode" />
258   - <item name="huaheng" type="462c0819:PsiDirectoryNode" />
259   - <item name="pc" type="462c0819:PsiDirectoryNode" />
260   - <item name="config" type="462c0819:PsiDirectoryNode" />
261   - <item name="cycleCountPreference" type="462c0819:PsiDirectoryNode" />
262   - <item name="controller" type="462c0819:PsiDirectoryNode" />
263   - </path>
264   - <path>
265   - <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
266   - <item name="wms2" type="462c0819:PsiDirectoryNode" />
267   - <item name="src" type="462c0819:PsiDirectoryNode" />
268   - <item name="main" type="462c0819:PsiDirectoryNode" />
269   - <item name="java" type="462c0819:PsiDirectoryNode" />
270   - <item name="com" type="462c0819:PsiDirectoryNode" />
271   - <item name="huaheng" type="462c0819:PsiDirectoryNode" />
272   - <item name="pc" type="462c0819:PsiDirectoryNode" />
273   - <item name="config" type="462c0819:PsiDirectoryNode" />
274   - <item name="cycleCountPreference" type="462c0819:PsiDirectoryNode" />
275   - <item name="domain" type="462c0819:PsiDirectoryNode" />
276   - </path>
277   - <path>
278   - <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
279   - <item name="wms2" type="462c0819:PsiDirectoryNode" />
280   - <item name="src" type="462c0819:PsiDirectoryNode" />
281   - <item name="main" type="462c0819:PsiDirectoryNode" />
282   - <item name="java" type="462c0819:PsiDirectoryNode" />
283   - <item name="com" type="462c0819:PsiDirectoryNode" />
284   - <item name="huaheng" type="462c0819:PsiDirectoryNode" />
285   - <item name="pc" type="462c0819:PsiDirectoryNode" />
286   - <item name="config" type="462c0819:PsiDirectoryNode" />
287   - <item name="cycleCountPreference" type="462c0819:PsiDirectoryNode" />
288   - <item name="mapper" type="462c0819:PsiDirectoryNode" />
289   - </path>
290   - <path>
291   - <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
292   - <item name="wms2" type="462c0819:PsiDirectoryNode" />
293   - <item name="src" type="462c0819:PsiDirectoryNode" />
294   - <item name="main" type="462c0819:PsiDirectoryNode" />
295   - <item name="java" type="462c0819:PsiDirectoryNode" />
296   - <item name="com" type="462c0819:PsiDirectoryNode" />
297   - <item name="huaheng" type="462c0819:PsiDirectoryNode" />
298   - <item name="pc" type="462c0819:PsiDirectoryNode" />
299   - <item name="config" type="462c0819:PsiDirectoryNode" />
300   - <item name="cycleCountPreference" type="462c0819:PsiDirectoryNode" />
301   - <item name="service" type="462c0819:PsiDirectoryNode" />
302   - </path>
303   - <path>
304   - <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
305   - <item name="wms2" type="462c0819:PsiDirectoryNode" />
306   - <item name="src" type="462c0819:PsiDirectoryNode" />
307   - <item name="main" type="462c0819:PsiDirectoryNode" />
308   - <item name="java" type="462c0819:PsiDirectoryNode" />
309   - <item name="com" type="462c0819:PsiDirectoryNode" />
310   - <item name="huaheng" type="462c0819:PsiDirectoryNode" />
311   - <item name="pc" type="462c0819:PsiDirectoryNode" />
312   - <item name="inventory" type="462c0819:PsiDirectoryNode" />
313   - </path>
314   - <path>
315   - <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
316   - <item name="wms2" type="462c0819:PsiDirectoryNode" />
317   - <item name="src" type="462c0819:PsiDirectoryNode" />
318   - <item name="main" type="462c0819:PsiDirectoryNode" />
319   - <item name="resources" type="462c0819:PsiDirectoryNode" />
320   - </path>
321   - <path>
322   - <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
323   - <item name="wms2" type="462c0819:PsiDirectoryNode" />
324   - <item name="src" type="462c0819:PsiDirectoryNode" />
325   - <item name="main" type="462c0819:PsiDirectoryNode" />
326   - <item name="resources" type="462c0819:PsiDirectoryNode" />
327   - <item name="templates" type="462c0819:PsiDirectoryNode" />
328   - </path>
329   - <path>
330   - <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
331   - <item name="wms2" type="462c0819:PsiDirectoryNode" />
332   - <item name="src" type="462c0819:PsiDirectoryNode" />
333   - <item name="main" type="462c0819:PsiDirectoryNode" />
334   - <item name="resources" type="462c0819:PsiDirectoryNode" />
335   - <item name="templates" type="462c0819:PsiDirectoryNode" />
336   - <item name="config" type="462c0819:PsiDirectoryNode" />
337   - </path>
338   - <path>
339   - <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
340   - <item name="wms2" type="462c0819:PsiDirectoryNode" />
341   - <item name="src" type="462c0819:PsiDirectoryNode" />
342   - <item name="main" type="462c0819:PsiDirectoryNode" />
343   - <item name="resources" type="462c0819:PsiDirectoryNode" />
344   - <item name="templates" type="462c0819:PsiDirectoryNode" />
345   - <item name="config" type="462c0819:PsiDirectoryNode" />
346   - <item name="cycleCountPreference" type="462c0819:PsiDirectoryNode" />
347   - </path>
348   - <path>
349   - <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
350   - <item name="wms2" type="462c0819:PsiDirectoryNode" />
351   - <item name="src" type="462c0819:PsiDirectoryNode" />
352   - <item name="main" type="462c0819:PsiDirectoryNode" />
353   - <item name="resources" type="462c0819:PsiDirectoryNode" />
354   - <item name="templates" type="462c0819:PsiDirectoryNode" />
355   - <item name="inventory" type="462c0819:PsiDirectoryNode" />
356   - </path>
357   - <path>
358   - <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
359   - <item name="wms2" type="462c0819:PsiDirectoryNode" />
360   - <item name="src" type="462c0819:PsiDirectoryNode" />
361   - <item name="main" type="462c0819:PsiDirectoryNode" />
362   - <item name="resources" type="462c0819:PsiDirectoryNode" />
363   - <item name="templates" type="462c0819:PsiDirectoryNode" />
364   - <item name="inventory" type="462c0819:PsiDirectoryNode" />
365   - <item name="adjustDetail" type="462c0819:PsiDirectoryNode" />
366   - </path>
367   - <path>
368   - <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
369   - <item name="wms2" type="462c0819:PsiDirectoryNode" />
370   - <item name="src" type="462c0819:PsiDirectoryNode" />
371   - <item name="main" type="462c0819:PsiDirectoryNode" />
372   - <item name="resources" type="462c0819:PsiDirectoryNode" />
373   - <item name="templates" type="462c0819:PsiDirectoryNode" />
374   - <item name="inventory" type="462c0819:PsiDirectoryNode" />
375   - <item name="adjustHeader" type="462c0819:PsiDirectoryNode" />
376   - </path>
377   - <path>
378   - <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
379   - <item name="wms2" type="462c0819:PsiDirectoryNode" />
380   - <item name="src" type="462c0819:PsiDirectoryNode" />
381   - <item name="main" type="462c0819:PsiDirectoryNode" />
382   - <item name="resources" type="462c0819:PsiDirectoryNode" />
383   - <item name="templates" type="462c0819:PsiDirectoryNode" />
384   - <item name="inventory" type="462c0819:PsiDirectoryNode" />
385   - <item name="cycleCountDetail" type="462c0819:PsiDirectoryNode" />
386   - </path>
387   - <path>
388   - <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
389   - <item name="wms2" type="462c0819:PsiDirectoryNode" />
390   - <item name="src" type="462c0819:PsiDirectoryNode" />
391   - <item name="main" type="462c0819:PsiDirectoryNode" />
392   - <item name="resources" type="462c0819:PsiDirectoryNode" />
393   - <item name="templates" type="462c0819:PsiDirectoryNode" />
394   - <item name="inventory" type="462c0819:PsiDirectoryNode" />
395   - <item name="cycleCountHeader" type="462c0819:PsiDirectoryNode" />
396   - </path>
397   - <path>
398   - <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
399   - <item name="wms2" type="462c0819:PsiDirectoryNode" />
400   - <item name="src" type="462c0819:PsiDirectoryNode" />
401   - <item name="main" type="462c0819:PsiDirectoryNode" />
402   - <item name="resources" type="462c0819:PsiDirectoryNode" />
403   - <item name="templates" type="462c0819:PsiDirectoryNode" />
404   - <item name="inventory" type="462c0819:PsiDirectoryNode" />
405   - <item name="inventoryDetail" type="462c0819:PsiDirectoryNode" />
406   - </path>
407   - <path>
408   - <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
409   - <item name="wms2" type="462c0819:PsiDirectoryNode" />
410   - <item name="src" type="462c0819:PsiDirectoryNode" />
411   - <item name="main" type="462c0819:PsiDirectoryNode" />
412   - <item name="resources" type="462c0819:PsiDirectoryNode" />
413   - <item name="templates" type="462c0819:PsiDirectoryNode" />
414   - <item name="inventory" type="462c0819:PsiDirectoryNode" />
415   - <item name="inventoryHeader" type="462c0819:PsiDirectoryNode" />
416   - </path>
417   - <path>
418   - <item name="wms2" type="b2602c69:ProjectViewProjectNode" />
419   - <item name="wms2" type="462c0819:PsiDirectoryNode" />
420   - <item name="src" type="462c0819:PsiDirectoryNode" />
421   - <item name="main" type="462c0819:PsiDirectoryNode" />
422   - <item name="resources" type="462c0819:PsiDirectoryNode" />
423   - <item name="templates" type="462c0819:PsiDirectoryNode" />
424   - <item name="inventory" type="462c0819:PsiDirectoryNode" />
425   - <item name="inventoryTransaction" type="462c0819:PsiDirectoryNode" />
426   - </path>
427   - </expand>
428   - <select />
429   - </subPane>
430   - </pane>
431   - </panes>
432   - </component>
433 79 <component name="PropertiesComponent">
434 80 <property name="ASKED_ADD_EXTERNAL_FILES" value="true" />
435 81 <property name="DefaultHtmlFileTemplate" value="HTML File" />
... ... @@ -466,11 +112,26 @@
466 112 </RuleState>
467 113 </list>
468 114 </option>
469   - <option name="contentProportion" value="0.056010928" />
470 115 </component>
471   - <component name="RunManager">
  116 + <component name="RunManager" selected="Spring Boot.HuaHengApplication">
  117 + <configuration name="test.test" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
  118 + <module name="huaheng" />
  119 + <extension name="coverage">
  120 + <pattern>
  121 + <option name="PATTERN" value="com.huaheng.test.*" />
  122 + <option name="ENABLED" value="true" />
  123 + </pattern>
  124 + </extension>
  125 + <option name="PACKAGE_NAME" value="com.huaheng.test" />
  126 + <option name="MAIN_CLASS_NAME" value="com.huaheng.test.test" />
  127 + <option name="METHOD_NAME" value="test" />
  128 + <option name="TEST_OBJECT" value="method" />
  129 + <method v="2">
  130 + <option name="Make" enabled="true" />
  131 + </method>
  132 + </configuration>
472 133 <configuration name="HuaHengApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
473   - <module name="wms2" />
  134 + <module name="huaheng" />
474 135 <option name="SPRING_BOOT_MAIN_CLASS" value="com.huaheng.HuaHengApplication" />
475 136 <option name="ALTERNATIVE_JRE_PATH" />
476 137 <option name="UPDATE_ACTION_UPDATE_POLICY" value="UpdateClassesAndResources" />
... ... @@ -479,6 +140,11 @@
479 140 <option name="Make" enabled="true" />
480 141 </method>
481 142 </configuration>
  143 + <recent_temporary>
  144 + <list>
  145 + <item itemvalue="JUnit.test.test" />
  146 + </list>
  147 + </recent_temporary>
482 148 </component>
483 149 <component name="ServiceViewManager">
484 150 <option name="allServicesViewState">
... ... @@ -488,12 +154,12 @@
488 154 <expand>
489 155 <path>
490 156 <item name="services root" type="e789fda9:ObjectUtils$Sentinel" />
491   - <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@38017b80" type="7427dc5b:ServiceModel$ServiceGroupNode" />
  157 + <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@b9e1b2d7" type="7427dc5b:ServiceModel$ServiceGroupNode" />
492 158 </path>
493 159 <path>
494 160 <item name="services root" type="e789fda9:ObjectUtils$Sentinel" />
495   - <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@38017b80" type="7427dc5b:ServiceModel$ServiceGroupNode" />
496   - <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@84e6ec8e" type="7427dc5b:ServiceModel$ServiceGroupNode" />
  161 + <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@b9e1b2d7" type="7427dc5b:ServiceModel$ServiceGroupNode" />
  162 + <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@67b24c63" type="7427dc5b:ServiceModel$ServiceGroupNode" />
497 163 </path>
498 164 </expand>
499 165 <select />
... ... @@ -514,7 +180,8 @@
514 180 <workItem from="1566977678336" duration="306000" />
515 181 <workItem from="1566978429560" duration="9246000" />
516 182 <workItem from="1567038752582" duration="12361000" />
517   - <workItem from="1567057373550" duration="9107000" />
  183 + <workItem from="1567057373550" duration="15293000" />
  184 + <workItem from="1567125196953" duration="16752000" />
518 185 </task>
519 186 <task id="LOCAL-00001" summary="入库单添加时添加流程标记,审核入库单">
520 187 <created>1566983055587</created>
... ... @@ -558,77 +225,23 @@
558 225 <option name="project" value="LOCAL" />
559 226 <updated>1567065196899</updated>
560 227 </task>
561   - <option name="localTasksCounter" value="7" />
  228 + <task id="LOCAL-00007" summary="自动生成盘点首选项表">
  229 + <created>1567068662565</created>
  230 + <option name="number" value="00007" />
  231 + <option name="presentableId" value="LOCAL-00007" />
  232 + <option name="project" value="LOCAL" />
  233 + <updated>1567068662565</updated>
  234 + </task>
  235 + <task id="LOCAL-00008" summary="添加逻辑删除配置">
  236 + <created>1567069834248</created>
  237 + <option name="number" value="00008" />
  238 + <option name="presentableId" value="LOCAL-00008" />
  239 + <option name="project" value="LOCAL" />
  240 + <updated>1567069834248</updated>
  241 + </task>
  242 + <option name="localTasksCounter" value="9" />
562 243 <servers />
563 244 </component>
564   - <component name="ToolWindowManager">
565   - <frame x="-7" y="-7" width="1550" height="838" extended-state="6" />
566   - <editor active="true" />
567   - <layout>
568   - <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.2191689" />
569   - <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
570   - <window_info id="Web" order="2" side_tool="true" />
571   - <window_info id="Designer" order="3" />
572   - <window_info id="UI Designer" order="4" />
573   - <window_info id="Favorites" order="5" side_tool="true" />
574   - <window_info anchor="bottom" id="Message" order="0" />
575   - <window_info anchor="bottom" id="Find" order="1" weight="0.3286119" />
576   - <window_info anchor="bottom" id="Run" order="2" />
577   - <window_info anchor="bottom" id="Debug" order="3" weight="0.29036826" />
578   - <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
579   - <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
580   - <window_info anchor="bottom" id="TODO" order="6" />
581   - <window_info anchor="bottom" id="Docker" order="7" show_stripe_button="false" />
582   - <window_info anchor="bottom" id="Version Control" order="8" weight="0.45042494" />
583   - <window_info anchor="bottom" id="Database Changes" order="9" />
584   - <window_info anchor="bottom" id="Spring" order="10" />
585   - <window_info anchor="bottom" id="MyBatis Log" order="11" weight="0.3286119" />
586   - <window_info anchor="bottom" id="Event Log" order="12" sideWeight="0.50067025" side_tool="true" weight="0.23796034" />
587   - <window_info anchor="bottom" id="Messages" order="13" weight="0.12606232" />
588   - <window_info anchor="bottom" id="Java Enterprise" order="14" />
589   - <window_info active="true" anchor="bottom" id="Run Dashboard" order="15" sideWeight="0.49932975" visible="true" weight="0.41501418" />
590   - <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
591   - <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
592   - <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
593   - <window_info anchor="right" id="Palette" order="3" />
594   - <window_info anchor="right" id="Database" order="4" />
595   - <window_info anchor="right" id="Maven" order="5" weight="0.097184986" />
596   - <window_info anchor="right" id="Bean Validation" order="6" />
597   - <window_info anchor="right" id="Palette&#9;" order="7" />
598   - </layout>
599   - <layout-to-restore>
600   - <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.26340482" />
601   - <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
602   - <window_info id="Web" order="2" side_tool="true" />
603   - <window_info id="Designer" order="3" />
604   - <window_info id="UI Designer" order="4" />
605   - <window_info id="Favorites" order="5" side_tool="true" />
606   - <window_info anchor="bottom" id="Message" order="0" />
607   - <window_info anchor="bottom" id="Find" order="1" weight="0.3286119" />
608   - <window_info anchor="bottom" id="Run" order="2" />
609   - <window_info anchor="bottom" id="Debug" order="3" weight="0.29036826" />
610   - <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
611   - <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
612   - <window_info anchor="bottom" id="TODO" order="6" />
613   - <window_info anchor="bottom" id="Docker" order="7" show_stripe_button="false" />
614   - <window_info anchor="bottom" id="Version Control" order="8" weight="0.45042494" />
615   - <window_info anchor="bottom" id="Database Changes" order="9" />
616   - <window_info anchor="bottom" id="Spring" order="10" />
617   - <window_info anchor="bottom" id="MyBatis Log" order="11" weight="0.3286119" />
618   - <window_info anchor="bottom" id="Event Log" order="12" sideWeight="0.50067025" side_tool="true" weight="0.23796034" />
619   - <window_info anchor="bottom" id="Messages" order="13" weight="0.12606232" />
620   - <window_info anchor="bottom" id="Java Enterprise" order="14" />
621   - <window_info active="true" anchor="bottom" id="Run Dashboard" order="15" sideWeight="0.49932975" visible="true" weight="0.18838526" />
622   - <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
623   - <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
624   - <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
625   - <window_info anchor="right" id="Palette" order="3" />
626   - <window_info anchor="right" id="Database" order="4" />
627   - <window_info anchor="right" id="Maven" order="5" weight="0.097184986" />
628   - <window_info anchor="right" id="Bean Validation" order="6" />
629   - <window_info anchor="right" id="Palette&#9;" order="7" />
630   - </layout-to-restore>
631   - </component>
632 245 <component name="TypeScriptGeneratedFilesManager">
633 246 <option name="version" value="1" />
634 247 </component>
... ... @@ -638,20 +251,7 @@
638 251 <entry key="MAIN">
639 252 <value>
640 253 <State>
641   - <option name="RECENTLY_FILTERED_USER_GROUPS">
642   - <collection />
643   - </option>
644   - <option name="RECENTLY_FILTERED_BRANCH_GROUPS">
645   - <collection />
646   - </option>
647   - <option name="COLUMN_ORDER">
648   - <list>
649   - <option value="0" />
650   - <option value="1" />
651   - <option value="2" />
652   - <option value="3" />
653   - </list>
654   - </option>
  254 + <option name="COLUMN_ORDER" />
655 255 </State>
656 256 </value>
657 257 </entry>
... ... @@ -681,8 +281,9 @@
681 281 <MESSAGE value="添加物料类别" />
682 282 <MESSAGE value="添加系统参数配置" />
683 283 <MESSAGE value="删除入库单" />
684   - <MESSAGE value="盘点配置" />
685   - <option name="LAST_COMMIT_MESSAGE" value="盘点配置" />
  284 + <MESSAGE value="自动生成盘点首选项表" />
  285 + <MESSAGE value="添加逻辑删除配置" />
  286 + <option name="LAST_COMMIT_MESSAGE" value="添加逻辑删除配置" />
686 287 </component>
687 288 <component name="XDebuggerManager">
688 289 <breakpoint-manager>
... ... @@ -690,158 +291,44 @@
690 291 <line-breakpoint type="java-line">
691 292 <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/mapper/CycleCountHeaderMapper.java</url>
692 293 <line>5</line>
693   - <properties />
694 294 <option name="timeStamp" value="1" />
695 295 </line-breakpoint>
696   - <line-breakpoint enabled="true" type="java-line">
  296 + <line-breakpoint type="java-line">
697 297 <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowDetailController.java</url>
698 298 <line>60</line>
699   - <properties />
700 299 <option name="timeStamp" value="4" />
701 300 </line-breakpoint>
702 301 <line-breakpoint enabled="true" type="java-line">
703 302 <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptHeaderHistory/service/ReceiptHeaderHistoryService.java</url>
704   - <line>80</line>
705   - <properties />
706   - <option name="timeStamp" value="7" />
  303 + <line>49</line>
  304 + <option name="timeStamp" value="16" />
707 305 </line-breakpoint>
708 306 <line-breakpoint enabled="true" type="java-line">
709   - <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptDetail/controller/ReceiptDetailController.java</url>
710   - <line>171</line>
711   - <properties />
712   - <option name="timeStamp" value="8" />
  307 + <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java</url>
  308 + <line>216</line>
  309 + <option name="timeStamp" value="19" />
713 310 </line-breakpoint>
714 311 <line-breakpoint enabled="true" type="java-line">
715 312 <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java</url>
716   - <line>84</line>
717   - <properties />
718   - <option name="timeStamp" value="10" />
  313 + <line>241</line>
  314 + <option name="timeStamp" value="20" />
719 315 </line-breakpoint>
720 316 <line-breakpoint enabled="true" type="java-line">
721 317 <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java</url>
722   - <line>150</line>
723   - <properties />
724   - <option name="timeStamp" value="11" />
  318 + <line>163</line>
  319 + <option name="timeStamp" value="22" />
  320 + </line-breakpoint>
  321 + <line-breakpoint enabled="true" type="java-line">
  322 + <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java</url>
  323 + <line>181</line>
  324 + <option name="timeStamp" value="23" />
  325 + </line-breakpoint>
  326 + <line-breakpoint enabled="true" type="java-line">
  327 + <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java</url>
  328 + <line>92</line>
  329 + <option name="timeStamp" value="24" />
725 330 </line-breakpoint>
726 331 </breakpoints>
727 332 </breakpoint-manager>
728 333 </component>
729   - <component name="editorHistoryManager">
730   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/excelTemplate/controller/excelTemplateController.java">
731   - <provider selected="true" editor-type-id="text-editor">
732   - <state relative-caret-position="100">
733   - <caret line="30" column="39" lean-forward="true" selection-start-line="30" selection-start-column="16" selection-end-line="30" selection-end-column="39" />
734   - </state>
735   - </provider>
736   - </entry>
737   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java">
738   - <provider selected="true" editor-type-id="text-editor">
739   - <state relative-caret-position="27">
740   - <caret line="90" column="90" lean-forward="true" selection-start-line="90" selection-start-column="90" selection-end-line="90" selection-end-column="90" />
741   - </state>
742   - </provider>
743   - </entry>
744   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/domain/CycleCountDetail.java">
745   - <provider selected="true" editor-type-id="text-editor">
746   - <state relative-caret-position="-14424">
747   - <caret line="13" column="13" selection-start-line="13" selection-start-column="13" selection-end-line="13" selection-end-column="13" />
748   - </state>
749   - </provider>
750   - </entry>
751   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/receiptPreference/controller/ReceiptPreferenceController.java">
752   - <provider selected="true" editor-type-id="text-editor">
753   - <state relative-caret-position="767">
754   - <caret line="128" column="7" selection-start-line="128" selection-start-column="7" selection-end-line="128" selection-end-column="7" />
755   - </state>
756   - </provider>
757   - </entry>
758   - <entry file="file://$PROJECT_DIR$/src/main/resources/static/ajax/libs/jquery-ztree/3.5/js/jquery.ztree.exedit-3.5.js">
759   - <provider selected="true" editor-type-id="text-editor">
760   - <state relative-caret-position="188">
761   - <caret line="320" column="70" selection-start-line="320" selection-start-column="70" selection-end-line="320" selection-end-column="70" />
762   - <folding>
763   - <element signature="n#style#0;n#div#0;n#!!top" expanded="true" />
764   - <element signature="n#style#0;n#span#0;n#!!top" expanded="true" />
765   - <element signature="n#style#0;n#span#0;n#!!top" expanded="true" />
766   - </folding>
767   - </state>
768   - </provider>
769   - </entry>
770   - <entry file="file://$PROJECT_DIR$/src/main/resources/static/huaheng/js/huahengUI.js">
771   - <provider selected="true" editor-type-id="text-editor">
772   - <state relative-caret-position="188">
773   - <caret line="505" column="14" selection-start-line="505" selection-start-column="14" selection-end-line="505" selection-end-column="14" />
774   - </state>
775   - </provider>
776   - </entry>
777   - <entry file="file://$PROJECT_DIR$/src/main/resources/templates/config/cycleCountPreference/cycleCountPreference.html">
778   - <provider selected="true" editor-type-id="text-editor">
779   - <state relative-caret-position="1320">
780   - <caret line="66" column="34" lean-forward="true" selection-start-line="66" selection-start-column="34" selection-end-line="66" selection-end-column="34" />
781   - </state>
782   - </provider>
783   - </entry>
784   - <entry file="jar://$MAVEN_REPOSITORY$/org/springframework/spring-aop/5.1.5.RELEASE/spring-aop-5.1.5.RELEASE.jar!/org/springframework/aop/framework/CglibAopProxy.class">
785   - <provider selected="true" editor-type-id="text-editor">
786   - <state relative-caret-position="110">
787   - <caret line="472" selection-start-line="472" selection-end-line="472" />
788   - </state>
789   - </provider>
790   - </entry>
791   - <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">
792   - <provider selected="true" editor-type-id="text-editor">
793   - <state relative-caret-position="110">
794   - <caret line="102" selection-start-line="102" selection-end-line="102" />
795   - </state>
796   - </provider>
797   - </entry>
798   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/cycleCountPreference/controller/cycleCountPreferenceController.java">
799   - <provider selected="true" editor-type-id="text-editor">
800   - <state relative-caret-position="347">
801   - <caret line="100" column="22" selection-start-line="100" selection-start-column="22" selection-end-line="100" selection-end-column="22" />
802   - <folding>
803   - <element signature="imports" expanded="true" />
804   - </folding>
805   - </state>
806   - </provider>
807   - </entry>
808   - <entry file="file://$PROJECT_DIR$/src/main/resources/templates/config/cycleCountPreference/edit.html">
809   - <provider selected="true" editor-type-id="text-editor">
810   - <state relative-caret-position="402">
811   - <caret line="176" column="51" lean-forward="true" selection-start-line="176" selection-start-column="51" selection-end-line="176" selection-end-column="51" />
812   - </state>
813   - </provider>
814   - </entry>
815   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/cycleCountPreference/mapper/CycleCountPreferenceMapper.java">
816   - <provider selected="true" editor-type-id="text-editor">
817   - <state relative-caret-position="80">
818   - <caret line="5" selection-start-line="5" selection-end-line="5" />
819   - </state>
820   - </provider>
821   - </entry>
822   - <entry file="file://$PROJECT_DIR$/src/main/resources/templates/config/cycleCountPreference/add.html">
823   - <provider selected="true" editor-type-id="text-editor">
824   - <state relative-caret-position="79">
825   - <caret line="98" column="12" selection-start-line="98" selection-start-column="8" selection-end-line="108" selection-end-column="17" />
826   - </state>
827   - </provider>
828   - </entry>
829   - <entry file="file://$PROJECT_DIR$/src/main/resources/mybatis/config/CycleCountPreferenceMapper.xml">
830   - <provider selected="true" editor-type-id="text-editor">
831   - <state relative-caret-position="127">
832   - <caret line="14" column="38" lean-forward="true" selection-start-line="14" selection-start-column="38" selection-end-line="14" selection-end-column="38" />
833   - </state>
834   - </provider>
835   - </entry>
836   - <entry file="file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/cycleCountPreference/domain/CycleCountPreference.java">
837   - <provider selected="true" editor-type-id="text-editor">
838   - <state relative-caret-position="248">
839   - <caret line="84" column="33" lean-forward="true" selection-start-line="84" selection-start-column="33" selection-end-line="84" selection-end-column="33" />
840   - <folding>
841   - <element signature="imports" expanded="true" />
842   - </folding>
843   - </state>
844   - </provider>
845   - </entry>
846   - </component>
847 334 </project>
848 335 \ No newline at end of file
... ...
src/main/java/com/huaheng/pc/config/FilterConfigDetail/controller/FilterConfigDetailController.java
... ... @@ -5,25 +5,28 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
5 5 import com.baomidou.mybatisplus.core.metadata.IPage;
6 6 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
7 7 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  8 +import com.huaheng.common.support.Convert;
8 9 import com.huaheng.common.utils.StringUtils;
9 10 import com.huaheng.common.utils.security.ShiroUtils;
10 11 import com.huaheng.framework.aspectj.lang.annotation.Log;
11 12 import com.huaheng.framework.aspectj.lang.constant.BusinessType;
12 13 import com.huaheng.framework.web.controller.BaseController;
  14 +import com.huaheng.framework.web.domain.AjaxResult;
13 15 import com.huaheng.framework.web.page.PageDomain;
14 16 import com.huaheng.framework.web.page.TableDataInfo;
15 17 import com.huaheng.framework.web.page.TableSupport;
16 18 import com.huaheng.pc.config.FilterConfigDetail.domain.FilterConfigDetail;
17 19 import com.huaheng.pc.config.FilterConfigDetail.service.FilterConfigDetailService;
18 20 import io.swagger.annotations.Api;
  21 +import io.swagger.annotations.ApiOperation;
  22 +import io.swagger.annotations.ApiParam;
19 23 import org.apache.shiro.authz.annotation.RequiresPermissions;
20 24 import org.springframework.beans.factory.annotation.Autowired;
21 25 import org.springframework.stereotype.Controller;
22   -import org.springframework.web.bind.annotation.GetMapping;
23   -import org.springframework.web.bind.annotation.PostMapping;
24   -import org.springframework.web.bind.annotation.RequestMapping;
25   -import org.springframework.web.bind.annotation.ResponseBody;
  26 +import org.springframework.ui.ModelMap;
  27 +import org.springframework.web.bind.annotation.*;
26 28  
  29 +import java.util.ArrayList;
27 30 import java.util.List;
28 31  
29 32 /**
... ... @@ -45,8 +48,9 @@ public class FilterConfigDetailController extends BaseController {
45 48  
46 49  
47 50 @RequiresPermissions("config:filterConfigDetail:view")
48   - @GetMapping()
49   - public String filterConfigDetail() {
  51 + @GetMapping("/list/{id}")
  52 + public String bomHeader(@PathVariable("id")Integer id, ModelMap mmap) {
  53 + mmap.put("headerId",id);
50 54 return prefix + "/filterConfigDetail";
51 55 }
52 56  
... ... @@ -66,6 +70,7 @@ public class FilterConfigDetailController extends BaseController {
66 70  
67 71 lambdaQueryWrapper.ge(StringUtils.isNotEmpty(createdBegin),FilterConfigDetail::getCreated, createdBegin)
68 72 .le(StringUtils.isNotEmpty(createdEnd), FilterConfigDetail::getCreated, createdEnd)
  73 + .eq(FilterConfigDetail::getHeaderId, filterConfigDetail.getHeaderId())
69 74 .eq(FilterConfigDetail::getWarehouseCode, ShiroUtils.getWarehouseCode())
70 75 .eq(StringUtils.isNotEmpty(filterConfigDetail.getModuleType()
71 76 ),FilterConfigDetail::getModuleType,filterConfigDetail.getModuleType())
... ... @@ -88,5 +93,70 @@ public class FilterConfigDetailController extends BaseController {
88 93 }
89 94 }
90 95  
  96 + /**
  97 + * 新增订单分析过滤子表
  98 + */
  99 + @GetMapping("/add/{headerId}")
  100 + public String add(@PathVariable("headerId")Integer headerId, ModelMap mmap)
  101 + {
  102 + FilterConfigDetail filterConfigDetail = filterConfigDetailService.getById(headerId);
  103 + mmap.put("headerId",headerId);
  104 + return prefix + "/add";
  105 + }
  106 +
  107 + /**
  108 + * 新增订单分析过滤子表
  109 + */
  110 + @RequiresPermissions("config:filterConfigDetail:add")
  111 + @Log(title = "配置-订单分析过滤子表", operating = "新增订单分析过滤子表", action = BusinessType.INSERT)
  112 + @PostMapping("/add")
  113 + @ResponseBody
  114 + public AjaxResult addSave(FilterConfigDetail filterConfigDetail) {
  115 + filterConfigDetail.setWarehouseCode(ShiroUtils.getWarehouseCode());
  116 + filterConfigDetail.setCreatedBy(ShiroUtils.getLoginName());
  117 + filterConfigDetail.setLastUpdatedBy(ShiroUtils.getLoginName());
  118 + return toAjax(filterConfigDetailService.save(filterConfigDetail));
  119 + }
  120 +
  121 + /**
  122 + * 修改订单分析过滤子表
  123 + */
  124 + @GetMapping("/edit/{id}")
  125 + public String edit(@PathVariable("id") Integer id, ModelMap mmap) {
  126 + mmap.put("filterConfigDetail", filterConfigDetailService.getById(id));
  127 + return prefix + "/edit";
  128 + }
  129 +
  130 + /**
  131 + * 修改订单分析过滤子表
  132 + */
  133 + @RequiresPermissions("config:filterConfigDetail:edit")
  134 + @Log(title = "通用-订单分析过滤子表", operating = "修改订单分析过滤子表", action = BusinessType.UPDATE)
  135 + @PostMapping("/edit")
  136 + @ResponseBody
  137 + public AjaxResult editSave(FilterConfigDetail filterConfigDetail) {
  138 + filterConfigDetail.setLastUpdatedBy(ShiroUtils.getLoginName());
  139 + return toAjax(filterConfigDetailService.updateById(filterConfigDetail));
  140 + }
  141 +
  142 + /**
  143 + * 删除订单分析过滤子表
  144 + */
  145 + @ApiOperation(value="删除订单分析过滤子表", notes="根据id批量删除订单分析过滤子表,参数示例1,2,3", httpMethod = "POST")
  146 + @RequiresPermissions("config:filterConfigDetail:remove")
  147 + @Log(title = "通用-订单分析过滤子表", operating = "删除订单分析过滤子表", action = BusinessType.DELETE)
  148 + @PostMapping( "/remove")
  149 + @ResponseBody
  150 + public AjaxResult remove(String ids) {
  151 + if (StringUtils.isEmpty(ids)){
  152 + return AjaxResult.error("id不能为空");
  153 + }
  154 + List<Integer> list = new ArrayList<>();
  155 + for (Integer id : Convert.toIntArray(ids)) {
  156 + list.add(id);
  157 + }
  158 + return toAjax(filterConfigDetailService.removeByIds(list));
  159 + }
  160 +
91 161  
92 162 }
... ...
src/main/java/com/huaheng/pc/config/FilterConfigHeader/controller/FilterConfigHeaderController.java
... ... @@ -5,25 +5,28 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
5 5 import com.baomidou.mybatisplus.core.metadata.IPage;
6 6 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
7 7 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  8 +import com.huaheng.common.support.Convert;
8 9 import com.huaheng.common.utils.StringUtils;
9 10 import com.huaheng.common.utils.security.ShiroUtils;
10 11 import com.huaheng.framework.aspectj.lang.annotation.Log;
11 12 import com.huaheng.framework.aspectj.lang.constant.BusinessType;
12 13 import com.huaheng.framework.web.controller.BaseController;
  14 +import com.huaheng.framework.web.domain.AjaxResult;
13 15 import com.huaheng.framework.web.page.PageDomain;
14 16 import com.huaheng.framework.web.page.TableDataInfo;
15 17 import com.huaheng.framework.web.page.TableSupport;
  18 +import com.huaheng.pc.config.FilterConfigDetail.domain.FilterConfigDetail;
16 19 import com.huaheng.pc.config.FilterConfigHeader.domain.FilterConfigHeader;
17 20 import com.huaheng.pc.config.FilterConfigHeader.service.FilterConfigHeaderService;
18 21 import io.swagger.annotations.Api;
  22 +import io.swagger.annotations.ApiOperation;
19 23 import org.apache.shiro.authz.annotation.RequiresPermissions;
20 24 import org.springframework.beans.factory.annotation.Autowired;
21 25 import org.springframework.stereotype.Controller;
22   -import org.springframework.web.bind.annotation.GetMapping;
23   -import org.springframework.web.bind.annotation.PostMapping;
24   -import org.springframework.web.bind.annotation.RequestMapping;
25   -import org.springframework.web.bind.annotation.ResponseBody;
  26 +import org.springframework.ui.ModelMap;
  27 +import org.springframework.web.bind.annotation.*;
26 28  
  29 +import java.util.ArrayList;
27 30 import java.util.List;
28 31  
29 32 /**
... ... @@ -89,4 +92,65 @@ public class FilterConfigHeaderController extends BaseController {
89 92 }
90 93  
91 94  
  95 + /**
  96 + * 新增订单分析过滤子表
  97 + */
  98 + @GetMapping("/add")
  99 + public String add() {
  100 + return prefix + "/add";
  101 + }
  102 +
  103 + /**
  104 + * 新增订单分析过滤主表
  105 + */
  106 + @RequiresPermissions("config:filterConfigHeader:add")
  107 + @Log(title = "配置-订单分析过滤主表", operating = "新增订单分析过滤主表", action = BusinessType.INSERT)
  108 + @PostMapping("/add")
  109 + @ResponseBody
  110 + public AjaxResult addSave(FilterConfigHeader filterConfigHeader) {
  111 + filterConfigHeader.setWarehouseCode(ShiroUtils.getWarehouseCode());
  112 + filterConfigHeader.setCreatedBy(ShiroUtils.getLoginName());
  113 + filterConfigHeader.setLastUpdatedBy(ShiroUtils.getLoginName());
  114 + return toAjax(filterConfigHeaderService.save(filterConfigHeader));
  115 + }
  116 +
  117 + /**
  118 + * 修改订单分析过滤主表
  119 + */
  120 + @GetMapping("/edit/{id}")
  121 + public String edit(@PathVariable("id") Integer id, ModelMap mmap) {
  122 + mmap.put("filterConfigHeader", filterConfigHeaderService.getById(id));
  123 + return prefix + "/edit";
  124 + }
  125 +
  126 + /**
  127 + * 修改订单分析过滤主表
  128 + */
  129 + @RequiresPermissions("config:filterConfigHeader:edit")
  130 + @Log(title = "通用-订单分析过滤主表", operating = "修改订单分析过滤主表", action = BusinessType.UPDATE)
  131 + @PostMapping("/edit")
  132 + @ResponseBody
  133 + public AjaxResult editSave(FilterConfigHeader filterConfigHeader) {
  134 + filterConfigHeader.setLastUpdatedBy(ShiroUtils.getLoginName());
  135 + return toAjax(filterConfigHeaderService.updateById(filterConfigHeader));
  136 + }
  137 +
  138 + /**
  139 + * 删除订单分析过滤主表
  140 + */
  141 + @RequiresPermissions("config:filterConfigHeader:remove")
  142 + @Log(title = "通用-订单分析过滤主表", operating = "删除订单分析过滤主表", action = BusinessType.DELETE)
  143 + @PostMapping( "/remove")
  144 + @ResponseBody
  145 + public AjaxResult remove(String ids) {
  146 + if (StringUtils.isEmpty(ids)){
  147 + return AjaxResult.error("id不能为空");
  148 + }
  149 + List<Integer> list = new ArrayList<>();
  150 + for (Integer id : Convert.toIntArray(ids)) {
  151 + list.add(id);
  152 + }
  153 + return toAjax(filterConfigHeaderService.removeByIds(list));
  154 + }
  155 +
92 156 }
... ...
src/main/java/com/huaheng/pc/config/receiptPreference/controller/ReceiptPreferenceController.java
... ... @@ -43,7 +43,7 @@ public class ReceiptPreferenceController extends BaseController {
43 43 return prefix + "/receiptPreference";
44 44 }
45 45  
46   - @ApiOperation(value="查看入库首选项", notes="根据首选项编码、名称、入库流程、 入库类型、创建时间查询入库首选项", httpMethod = "POST")
  46 + //@ApiOperation(value="查看入库首选项", notes="根据首选项编码、名称、入库流程、 入库类型、创建时间查询入库首选项", httpMethod = "POST")
47 47 @RequiresPermissions("config:receiptPreference:list")
48 48 @Log(title = "通用-入库首选项", operating = "查看入库首选项列表", action = BusinessType.GRANT)
49 49 @PostMapping("/list")
... ...
src/main/java/com/huaheng/pc/receipt/receiptDetail/controller/ReceiptDetailController.java
... ... @@ -179,11 +179,15 @@ public class ReceiptDetailController extends BaseController {
179 179 receiptDetail.setLastUpdatedBy(ShiroUtils.getLoginName());
180 180 if (receiptDetailService.updateById(receiptDetail)){
181 181 ReceiptDetail newReceiptDetail = receiptDetailService.getById(id);
  182 +
  183 + //更新入库明细状态
182 184 receiptDetailService.updateById(receiptDetailService.queryflow(newReceiptDetail));
183 185 ReceiptHeader receiptHeader = new ReceiptHeader();
184 186 receiptHeader.setFirstStatus(approval);
185 187 receiptHeader.setId(newReceiptDetail.getReceiptId());
186 188 receiptHeaderService.updateById(receiptHeader);
  189 + //更新头表尾状态
  190 + receiptDetailService.updateReceiptHeaderLastStatus(newReceiptDetail.getReceiptId());
187 191 } else {
188 192 throw new ServiceException("审核失败");
189 193 }
... ... @@ -191,4 +195,22 @@ public class ReceiptDetailController extends BaseController {
191 195  
192 196 return AjaxResult.success("审核成功");
193 197 }
  198 +
  199 + /**
  200 + * 到货入库单
  201 + */
  202 + @ApiOperation(value="入库单到货", notes="入库单到货", httpMethod = "POST")
  203 + @RequiresPermissions("receipt:receiptDetail:arrival")
  204 + @Log(title = "入库-入库单 ",operating = "入库单到货", action = BusinessType.UPDATE)
  205 + @PostMapping("/arrival")
  206 + @ResponseBody
  207 + public AjaxResult arrival(@ApiParam(name = "id", value = "id字符串")String ids){
  208 + if (StringUtils.isEmpty(ids)){
  209 + return AjaxResult.error("id为空");
  210 + }
  211 + for (Integer id : Convert.toIntArray(ids)){
  212 + receiptHeaderService.arrival(id);
  213 + }
  214 + return AjaxResult.success("已到货");
  215 + }
194 216 }
... ...
src/main/java/com/huaheng/pc/receipt/receiptDetail/domain/ReceiptDetail.java
... ... @@ -339,7 +339,6 @@ public class ReceiptDetail implements Serializable {
339 339 */
340 340 @TableField(value = "deleted")
341 341 @ApiModelProperty(value = "是否删除")
342   - @TableLogic
343 342 private Boolean deleted;
344 343  
345 344 }
346 345 \ No newline at end of file
... ...
src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailService.java
... ... @@ -11,4 +11,5 @@ public interface ReceiptDetailService extends IService&lt;ReceiptDetail&gt;{
11 11  
12 12 ReceiptDetail queryflow(ReceiptDetail receiptDetail);
13 13  
  14 + void updateReceiptHeaderLastStatus(Integer id);
14 15 }
... ...
src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java
... ... @@ -17,6 +17,8 @@ import com.huaheng.pc.config.statusFlow.domain.StatusFlowDetail;
17 17 import com.huaheng.pc.config.statusFlow.service.StatusFlowDetailService;
18 18 import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader;
19 19 import com.huaheng.pc.receipt.receiptHeader.service.ReceiptHeaderService;
  20 +import com.huaheng.pc.system.dict.domain.DictData;
  21 +import com.huaheng.pc.system.dict.service.IDictDataService;
20 22 import org.aspectj.weaver.loadtime.Aj;
21 23 import org.springframework.stereotype.Service;
22 24 import javax.annotation.Resource;
... ... @@ -42,6 +44,8 @@ public class ReceiptDetailServiceImpl extends ServiceImpl&lt;ReceiptDetailMapper, R
42 44 private MaterialTypeService materialTypeService;
43 45 @Resource
44 46 private ReceiptPreferenceService receiptPreferenceService;
  47 + @Resource
  48 + private IDictDataService dictDataService;
45 49  
46 50 /**
47 51 * 新增入库明细
... ... @@ -120,7 +124,7 @@ public class ReceiptDetailServiceImpl extends ServiceImpl&lt;ReceiptDetailMapper, R
120 124 receiptDetail.setMaterialName(material.getName());
121 125 receiptDetail.setMaterialSpec(material.getSpec());
122 126 receiptDetail.setMaterialUnit(material.getUnit());
123   -
  127 + receiptDetail.setProcessStamp("0");
124 128 receiptHeader.setTotalQty(receiptHeader.getTotalQty()-originalReceiptDetail.getTotalQty());
125 129 receiptHeader.setTotalLines(receiptHeader.getTotalLines()-1);
126 130 if ( !receiptHeaderService.updateById(receiptHeader)){
... ... @@ -129,10 +133,15 @@ public class ReceiptDetailServiceImpl extends ServiceImpl&lt;ReceiptDetailMapper, R
129 133 }
130 134 }
131 135  
  136 + //如果单据状态为驳回则设置状态为提交审核
  137 + if ("10".equals(receiptDetail.getProcessStamp())){
  138 + receiptDetail.setProcessStamp("5");
  139 + }
132 140 receiptDetail.setLastUpdatedBy(ShiroUtils.getLoginName());
133 141 if ( !this.updateById(receiptDetail) ){
134 142 return AjaxResult.error("入库明细更新失败");
135 143 } else {
  144 +
136 145 receiptHeader.setTotalQty(receiptHeader.getTotalQty()+receiptDetail.getTotalQty());
137 146 receiptHeader.setTotalLines(receiptHeader.getTotalLines()+1);
138 147 receiptHeaderService.updateById(receiptHeader);
... ... @@ -147,6 +156,10 @@ public class ReceiptDetailServiceImpl extends ServiceImpl&lt;ReceiptDetailMapper, R
147 156 */
148 157 public ReceiptDetail queryflow(ReceiptDetail receiptDetail){
149 158  
  159 + if ("10".equals(receiptDetail.getProcessStamp()) || "20".equals(receiptDetail.getProcessStamp())){
  160 + return receiptDetail;
  161 + }
  162 +
150 163 //查询头表信息
151 164 LambdaQueryWrapper<ReceiptHeader> lambdaReceiptHeader = Wrappers.lambdaQuery();
152 165 lambdaReceiptHeader.eq(ReceiptHeader::getCode, receiptDetail.getReceiptCode());
... ... @@ -161,6 +174,8 @@ public class ReceiptDetailServiceImpl extends ServiceImpl&lt;ReceiptDetailMapper, R
161 174 LambdaQueryWrapper<ReceiptType> lambdaReceiptType = Wrappers.lambdaQuery();
162 175 lambdaReceiptType.eq(ReceiptType::getCode, receiptHeader.getReceiptType());
163 176 ReceiptType receiptType = receiptTypeService.getOne(lambdaReceiptType);
  177 +
  178 +
164 179 if (receiptType.getReceiptFlow() != null){
165 180 //物料是否有入库流程
166 181 List<StatusFlowDetail> statusFlowDetails = statusFlowDetailService.queryStatusFlowDetail(receiptType.getReceiptFlow());
... ... @@ -196,7 +211,9 @@ public class ReceiptDetailServiceImpl extends ServiceImpl&lt;ReceiptDetailMapper, R
196 211 }
197 212 }
198 213  
  214 + //获取配置流程中下一状态
199 215 public String nextStatusFlow(List<StatusFlowDetail> statusFlowDetails, String status){
  216 + //判断当前状态是否为最后状态,若为最后状态返回当前状态
200 217 if (status.equals(statusFlowDetails.get(statusFlowDetails.size()-1).getFlowCode())){
201 218 return status;
202 219 } else {
... ... @@ -208,4 +225,44 @@ public class ReceiptDetailServiceImpl extends ServiceImpl&lt;ReceiptDetailMapper, R
208 225 return status;
209 226 }
210 227 }
  228 +
  229 + /**
  230 + * @description 更新头表尾状态
  231 + * 每次明细表更新后调用该方法
  232 + * 当所有明细表到达该状态时,更新头表状态
  233 + * @param id 头表id
  234 + */
  235 + public void updateReceiptHeaderLastStatus(Integer id){
  236 + LambdaQueryWrapper<ReceiptDetail> lambdaDetails = Wrappers.lambdaQuery();
  237 + lambdaDetails.eq(ReceiptDetail::getReceiptId, id);
  238 + List<ReceiptDetail> receiptDetails = this.list(lambdaDetails);
  239 +
  240 + //查询出头表信息
  241 + ReceiptHeader receiptHeader = receiptHeaderService.getById(id);
  242 + Integer minStatus = Integer.parseInt(receiptDetails.get(0).getProcessStamp());
  243 + //遍历明细状态得出最小状态值
  244 + for (int i = 1; i<receiptDetails.size(); i++){
  245 + if ( minStatus > Integer.parseInt(receiptDetails.get(1).getProcessStamp())) {
  246 + minStatus = Integer.parseInt(receiptDetails.get(1).getProcessStamp());
  247 + }
  248 + }
  249 +
  250 + //从数据子典中获取单据当前状态
  251 + List<DictData> dictData = dictDataService.selectDictDataByType("receiptHeaderStatus");
  252 + for (int i = 0; i<dictData.size(); i++){
  253 + if (dictData.get(i).getDictValue().equals(minStatus)){
  254 + minStatus = Integer.valueOf(dictData.get(i-1).getDictValue());
  255 + }
  256 + }
  257 +
  258 + //若更新状态值小于头状态,更新尾状态否则更新头尾状态
  259 + if (minStatus < receiptHeader.getFirstStatus()){
  260 + receiptHeader.setLastStatus(minStatus);
  261 + } else {
  262 + receiptHeader.setFirstStatus(minStatus);
  263 + receiptHeader.setLastStatus(minStatus);
  264 + receiptHeaderService.updateById(receiptHeader);
  265 + }
  266 +
  267 + }
211 268 }
... ...
src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java
... ... @@ -4,6 +4,7 @@ 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.exception.service.ServiceException;
7 8 import com.huaheng.common.support.Convert;
8 9 import com.huaheng.common.utils.StringUtils;
9 10 import com.huaheng.common.utils.security.ShiroUtils;
... ... @@ -14,6 +15,8 @@ import com.huaheng.framework.web.domain.AjaxResult;
14 15 import com.huaheng.framework.web.page.PageDomain;
15 16 import com.huaheng.framework.web.page.TableDataInfo;
16 17 import com.huaheng.framework.web.page.TableSupport;
  18 +import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail;
  19 +import com.huaheng.pc.receipt.receiptDetail.service.ReceiptDetailService;
17 20 import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader;
18 21 import com.huaheng.pc.receipt.receiptHeader.service.ReceiptHeaderService;
19 22 import com.huaheng.pc.receipt.receiptHeaderHistory.domain.ReceiptHeaderHistory;
... ... @@ -22,6 +25,7 @@ import io.swagger.annotations.Api;
22 25 import io.swagger.annotations.ApiModel;
23 26 import io.swagger.annotations.ApiOperation;
24 27 import io.swagger.annotations.ApiParam;
  28 +import org.apache.ibatis.javassist.compiler.ast.ASTree;
25 29 import org.apache.shiro.authz.annotation.RequiresPermissions;
26 30 import org.springframework.stereotype.Controller;
27 31 import org.springframework.ui.ModelMap;
... ... @@ -42,6 +46,8 @@ public class ReceiptHeaderController extends BaseController {
42 46 private ReceiptHeaderService receiptHeaderService;
43 47 @Resource
44 48 private ReceiptHeaderHistoryService receiptHeaderHistoryService;
  49 + @Resource
  50 + private ReceiptDetailService receiptDetailService;
45 51  
46 52 @RequiresPermissions("receipt:receiptHeader:view")
47 53 @GetMapping()
... ... @@ -173,9 +179,9 @@ public class ReceiptHeaderController extends BaseController {
173 179 /**
174 180 * 删除入库单
175 181 */
176   - @ApiOperation(value="提交审核入库单", notes="提交审核入库单", httpMethod = "POST")
  182 + @ApiOperation(value="删除入库单", notes="删除入库单", httpMethod = "POST")
177 183 @RequiresPermissions("receipt:receiptHeader:remove")
178   - @Log(title = "入库-入库单 ",operating = "提交审核入库单 ", action = BusinessType.UPDATE)
  184 + @Log(title = "入库-入库单 ",operating = "入库单删除", action = BusinessType.UPDATE)
179 185 @PostMapping("/remove")
180 186 @ResponseBody
181 187 public AjaxResult remove(@ApiParam(name = "id", value = "入库头表id字符串")Integer ids){
... ... @@ -184,4 +190,33 @@ public class ReceiptHeaderController extends BaseController {
184 190 }
185 191 return receiptHeaderHistoryService.add(ids);
186 192 }
  193 +
  194 + /**
  195 + * 入库预约
  196 + */
  197 + @GetMapping("/arrival/{id}")
  198 + public String reservation(@PathVariable("id")Integer id, ModelMap map) {
  199 + LambdaQueryWrapper<ReceiptDetail> receiptDetailLambda = Wrappers.lambdaQuery();
  200 + receiptDetailLambda.eq(ReceiptDetail::getReceiptId, id)
  201 + .eq(ReceiptDetail::getProcessStamp, "120");
  202 + List<ReceiptDetail> list = receiptDetailService.list(receiptDetailLambda);
  203 + if (list == null){
  204 + throw new ServiceException("没有需要预约入库的单据");
  205 + }
  206 + ReceiptHeader receiptHeader = receiptHeaderService.getById(id);
  207 + map.put("receiptHeader", receiptHeader);
  208 + return prefix + "/reservation";
  209 + }
  210 +
  211 + /**
  212 + * 保存入库预约
  213 + */
  214 + @ApiOperation(value="保存入库预约", notes="保存入库预约", httpMethod = "POST")
  215 + @RequiresPermissions("receipt:receiptHeader:reservation")
  216 + @Log(title = "入库-入库单 ",operating = "入库单到货", action = BusinessType.UPDATE)
  217 + @PostMapping("/arrival")
  218 + @ResponseBody
  219 + public AjaxResult reservation(ReceiptHeader receiptHeader) {
  220 + return receiptHeaderService.reservation(receiptHeader);
  221 + }
187 222 }
... ...
src/main/java/com/huaheng/pc/receipt/receiptHeader/domain/ReceiptHeader.java
... ... @@ -290,7 +290,6 @@ public class ReceiptHeader implements Serializable {
290 290 */
291 291 @TableField(value = "deleted")
292 292 @ApiModelProperty(value="是否删除")
293   - @TableLogic
294 293 private Boolean deleted;
295 294  
296 295 private static final long serialVersionUID = 1L;
... ...
src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java
... ... @@ -10,11 +10,15 @@ import com.huaheng.pc.config.receiptType.domain.ReceiptType;
10 10 import com.huaheng.pc.config.receiptType.service.ReceiptTypeService;
11 11 import com.huaheng.pc.config.statusFlow.domain.StatusFlowDetail;
12 12 import com.huaheng.pc.config.statusFlow.service.StatusFlowDetailService;
  13 +import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail;
  14 +import com.huaheng.pc.receipt.receiptDetail.service.ReceiptDetailService;
  15 +import com.huaheng.pc.receipt.receiptDetail.service.ReceiptDetailServiceImpl;
13 16 import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader;
14 17 import com.huaheng.pc.receipt.receiptHeader.mapper.ReceiptHeaderMapper;
15 18 import org.springframework.stereotype.Service;
16 19  
17 20 import javax.annotation.Resource;
  21 +import java.lang.ref.WeakReference;
18 22 import java.text.SimpleDateFormat;
19 23 import java.util.Date;
20 24 import java.util.List;
... ... @@ -26,6 +30,8 @@ public class ReceiptHeaderService extends ServiceImpl&lt;ReceiptHeaderMapper, Recei
26 30 private ReceiptTypeService receiptTypeService;
27 31 @Resource
28 32 private StatusFlowDetailService statusFlowDetailService;
  33 + @Resource
  34 + private ReceiptDetailService receiptDetailService;
29 35  
30 36 public AjaxResult saveReceiptHeader(ReceiptHeader receiptHeader){
31 37 LambdaQueryWrapper<ReceiptType> lambdaQueryWrapper = Wrappers.lambdaQuery();
... ... @@ -71,4 +77,47 @@ public class ReceiptHeaderService extends ServiceImpl&lt;ReceiptHeaderMapper, Recei
71 77 }
72 78 return code;
73 79 }
  80 +
  81 + /**
  82 + * 入库预约
  83 + * @param receiptHeader
  84 + * @return
  85 + */
  86 + public AjaxResult reservation(ReceiptHeader receiptHeader) {
  87 + LambdaQueryWrapper<ReceiptDetail> receiptDetailLambda = Wrappers.lambdaQuery();
  88 + receiptDetailLambda.eq(ReceiptDetail::getReceiptId, receiptHeader.getId())
  89 + .eq(ReceiptDetail::getProcessStamp, "120");
  90 + List<ReceiptDetail> receiptDetails = receiptDetailService.list(receiptDetailLambda);
  91 + //更新入库明细流程
  92 + for (ReceiptDetail receiptDetail : receiptDetails) {
  93 + receiptDetail = receiptDetailService.queryflow(receiptDetail);
  94 + receiptDetailService.updateById(receiptDetail);
  95 + }
  96 + receiptHeader.setLastUpdatedBy(ShiroUtils.getLoginName());
  97 + //更新入库单预约时间
  98 + if (!this.updateById(receiptHeader)){
  99 + throw new ServiceException("更新入库单预约时间失败");
  100 + }
  101 + receiptDetailService.updateReceiptHeaderLastStatus(receiptHeader.getId());
  102 + return AjaxResult.success("预约成功");
  103 + }
  104 +
  105 + /**
  106 + * 入库到货
  107 + * @param id
  108 + * @return
  109 + */
  110 + public AjaxResult arrival(Integer id) {
  111 + LambdaQueryWrapper<ReceiptDetail> receiptDetailLambda = Wrappers.lambdaQuery();
  112 + receiptDetailLambda.eq(ReceiptDetail::getReceiptId, id)
  113 + .eq(ReceiptDetail::getProcessStamp, "150");
  114 + List<ReceiptDetail> receiptDetails = receiptDetailService.list(receiptDetailLambda);
  115 + //更新入库明细流程
  116 + for (ReceiptDetail receiptDetail : receiptDetails) {
  117 + receiptDetailService.queryflow(receiptDetail);
  118 + }
  119 + //更新入库单
  120 + receiptDetailService.updateReceiptHeaderLastStatus(id);
  121 + return AjaxResult.success("预约成功");
  122 + }
74 123 }
... ...
src/main/resources/application-druid.properties
1   -# 数据源配置
  1 +# \u6570\u636E\u6E90\u914D\u7F6E
2 2 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
3 3 spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
4   -# 主库
5   -spring.datasource.druid.master.url=jdbc:mysql://172.16.29.45:3306/wms_v2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
  4 +# \u4E3B\u5E93
  5 +#spring.datasource.druid.master.url=jdbc:mysql://172.16.29.45:3306/wms_v2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
6 6 #spring.datasource.druid.master.url=jdbc:mysql://172.16.29.45:3306/huahengExample?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
7   -#spring.datasource.druid.master.url=jdbc:mysql://172.16.29.45:3306/huaheng?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
  7 +spring.datasource.druid.master.url=jdbc:mysql://localhost:3306/wms2.0?characterEncoding=utf8&serverTimezone=GMT%2b8
8 8  
9   -#spring.datasource.druid.master.url=jdbc:mysql://172.16.2.8:3306/kshuahengtest?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
10   -#spring.datasource.druid.master.url=jdbc:mysql://172.16.2.8:3306/kshuaheng?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
11   -
12   -spring.datasource.druid.master.username=softhuaheng
13   -spring.datasource.druid.master.password=HHrobot123.
14   -# 从库
  9 +#spring.datasource.druid.master.username=softhuaheng
  10 +#spring.datasource.druid.master.password=HHrobot123.
  11 +spring.datasource.druid.master.username=root
  12 +spring.datasource.druid.master.password=123456
  13 +# \u4ECE\u5E93
15 14 #spring.datasource.druid.slave.open = true
16 15 #spring.datasource.druid.slave.url=jdbc:mysql://172.16.29.45:3306/huaheng?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
17 16 #spring.datasource.druid.master.username=softhuaheng
18 17 #spring.datasource.druid.master.password=HHrobot123.
19   -# 初始连接数
  18 +# \u521D\u59CB\u8FDE\u63A5\u6570
20 19 spring.datasource.druid.initial-size=10
21 20 # \u6700\u5927\u8FDE\u63A5\u6C60\u6570\u91CF
22 21 spring.datasource.druid.max-active=100
... ...
src/main/resources/templates/config/filterConfigHeader/add.html
... ... @@ -61,7 +61,7 @@
61 61 },
62 62 submitHandler: function(form) {
63 63 // $.operate.save(prefix + "/add", $('#form-locationType-add').serialize());
64   - var tableValue = $.common.getTableValue("#form-statusFlowHeader-add");
  64 + var tableValue = $.common.getTableValue("#form-filterConfigHeader-add");
65 65 $.operate.save(prefix + "/add", tableValue);
66 66 }
67 67 });
... ...
src/main/resources/templates/config/filterConfigHeader/edit.html
... ... @@ -4,7 +4,7 @@
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-filterConfigHeader-edit" th:object="${statusFlowHeader}">
  7 + <form class="form-horizontal m" id="form-filterConfigHeader-edit" th:object="${filterConfigHeader}">
8 8 <input name="id" th:field="*{id}" type="hidden">
9 9 <div class="form-group">
10 10 <label class="col-sm-3 control-label">模块:</label>
... ... @@ -47,7 +47,7 @@
47 47 <div th:include="include::footer"></div>
48 48 <script type="text/javascript">
49 49 var prefix = ctx + "config/filterConfigHeader";
50   - $("#form-statusFlowHeader-edit").validate({
  50 + $("#form-filterConfigHeader-edit").validate({
51 51 rules:{
52 52 moduleType:{
53 53 required:true,
... ...
src/main/resources/templates/receipt/receiptDetail/receiptDetail.html
... ... @@ -37,6 +37,9 @@
37 37 <a class="btn btn-outline btn-success btn-rounded" onclick="add()" shiro:hasPermission="receipt:receiptDetail:add">
38 38 <i class="fa fa-plus"></i> 新增
39 39 </a>
  40 + <a class="btn btn-outline btn-success btn-rounded" onclick="add()" shiro:hasPermission="receipt:receiptDetail:add">
  41 + <i class="fa fa-plus"></i> 到货
  42 + </a>
40 43 <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="receipt:receiptDetail:remove">
41 44 <i class="fa fa-trash-o"></i> 删除
42 45 </a>
... ... @@ -224,8 +227,13 @@
224 227 actions.push('<a class="btn btn-warning btn-xs ' + approvalFlag + '" href="#" onclick="approval(\'' + row.id + '\',\''+10+'\')">驳回</a>');
225 228 actions.push('<a class="btn btn-danger btn-xs ' + approvalFlag + '" href="#" onclick="approval(\'' + row.id + '\',\''+20+'\')">作废</a>');
226 229 }
227   - actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
228   - actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>');
  230 + if (row.processStamp < 100){
  231 + actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
  232 + actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>');
  233 + }
  234 + if (row.processStamp >100 && row.processStamp < 200){
  235 + actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>到货</a> ');
  236 + }
229 237 return actions.join('');
230 238 }
231 239 }]
... ...
src/main/resources/templates/receipt/receiptHeader/receiptHeader.html
... ... @@ -269,10 +269,17 @@
269 269 actions.push('<a style="background: #b5bdc0" class="btn btn-default btn-xs" onclick="Toreceiving(\''+ row.code + '\')"><i class="fa fa-list-ul"></i>列表</a> ');
270 270 if (row.firstStatus < 100)
271 271 actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')" ><i class="fa fa-edit"></i>编辑</a> ');
272   - if (row.lastStatus < 200)
  272 + if ((row.firstStatus >= 100 && row.firstStatus < 200) | (row.lastStatus >= 100 && row.firstStatus < 200)){
  273 + actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="#" onclick="arrival(\'' + row.id + '\')" ><i class="fa fa-edit"></i>入库预约</a> ');
  274 + }
  275 + if (row.lastStatus < 200){
273 276 actions.push('<a class="btn btn-primary btn-xs to-receive" ' +addFlag+ ' onclick="Toreceiving(\''+ row.code + '\')"><i class="fa fa-cart-plus"></i>收货</a> ');
274   -
275 277 actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>');
  278 + }
  279 + if (row.lastStatus >= 900){
  280 + actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>');
  281 + }
  282 +
276 283 return actions.join('');
277 284 }
278 285 }]
... ... @@ -295,6 +302,11 @@
295 302 $("#myTab li:eq(1)").addClass("active");
296 303 $("#tabDetail").addClass("in active");
297 304 }
  305 +
  306 + function arrival(id){
  307 + var url = prefix+"/arrival/"+id;
  308 + $.modal.open("预约" + $.table._option.modalName, url);
  309 + }
298 310 </script>
299 311 </body>
300 312 </html>
301 313 \ No newline at end of file
... ...
src/main/resources/templates/receipt/receiptHeader/reservation.html 0 → 100644
  1 +<!DOCTYPE HTML>
  2 +<html lang="zh" xmlns:th="http://www.thymeleaf.org">
  3 +<meta charset="utf-8">
  4 +<head th:include="include :: header"></head>
  5 +<body class="white-bg">
  6 +<div class="wrapper wrapper-content animated fadeInRight ibox-content">
  7 + <form class="form-horizontal m" id="form-receiptHeader-edit" th:object="${receiptHeader}">
  8 + <input id="id" name="id" type="hidden" th:field="*{id}">
  9 + <div class="form-group">
  10 + <label class="col-sm-3 control-label">预计到达时间:</label>
  11 + <div class="col-sm-8">
  12 + <input id="scheduledArriveDate" name="scheduledArriveDate" class="form-control" type="text" th:field="*{scheduledArriveDate}">
  13 + </div>
  14 + </div>
  15 + <div class="form-group">
  16 + <div class="form-control-static col-sm-offset-9">
  17 + <button type="submit" class="btn btn-primary">提交</button>
  18 + <button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button>
  19 + </div>
  20 + </div>
  21 + </form>
  22 +</div>
  23 +<div th:include="include::footer"></div>
  24 +<script type="text/javascript">
  25 + var prefix = ctx + "receipt/receiptHeader";
  26 +
  27 + $("#form-receiptHeader-edit").validate({
  28 + rules:{
  29 + scheduledArriveDate:{
  30 + required:true,
  31 + }
  32 + },
  33 + submitHandler: function(form) {
  34 + $.ajax({
  35 + cache : true,
  36 + type : "POST",
  37 + url : prefix + "/arrival",
  38 + data : {
  39 + "id": $("#id").val(),
  40 + "scheduledArriveDate": $("input[name='scheduledArriveDate']").val(),
  41 + },
  42 + async : false,
  43 + error : function(request) {
  44 + $.modal.alertError("请求失败!");
  45 + },
  46 + success : function(data) {
  47 + $.operate.saveSuccess(data);
  48 + }
  49 + });
  50 + }
  51 + });
  52 +
  53 + $(function () {
  54 + layui.use('laydate', function() {
  55 + var laydate = layui.laydate;
  56 + laydate.render({ elem: '#scheduledArriveDate',min: 0, theme: 'molv', format: 'yyyy-MM-dd HH:mm:ss'});
  57 + });
  58 + })
  59 +
  60 +</script>
  61 +</body>
  62 +</html>
... ...