Commit 532cf712b26360e1db07ea7539762778b274a190
Merge remote-tracking branch 'origin/develop' into develop
Showing
50 changed files
with
921 additions
and
306 deletions
.idea/workspace.xml
@@ -3,16 +3,14 @@ | @@ -3,16 +3,14 @@ | ||
3 | <component name="ChangeListManager"> | 3 | <component name="ChangeListManager"> |
4 | <list default="true" id="baeae966-16bb-4f97-a411-22fe5a65cefd" name="Default Changelist" comment=""> | 4 | <list default="true" id="baeae966-16bb-4f97-a411-22fe5a65cefd" name="Default Changelist" comment=""> |
5 | <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> | 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/config/FilterConfigDetail/service/FilterConfigDetailService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/FilterConfigDetail/service/FilterConfigDetailService.java" afterDir="false" /> | ||
7 | - <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java" afterDir="false" /> | ||
8 | - <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" /> | ||
9 | - <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiving/service/ReceivingService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiving/service/ReceivingService.java" afterDir="false" /> | ||
10 | - <change beforePath="$PROJECT_DIR$/src/main/resources/templates/check/checkDetail/checkDetail.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/check/checkDetail/checkDetail.html" afterDir="false" /> | ||
11 | - <change beforePath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiptDetail/add.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiptDetail/add.html" afterDir="false" /> | ||
12 | - <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" /> | 6 | + <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkingRegister/controller/CheckingRegisterController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkingRegister/controller/CheckingRegisterController.java" afterDir="false" /> |
7 | + <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkingRegister/service/CheckingRegisterService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkingRegister/service/CheckingRegisterService.java" afterDir="false" /> | ||
8 | + <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowHeaderController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowHeaderController.java" afterDir="false" /> | ||
9 | + <change beforePath="$PROJECT_DIR$/src/main/resources/templates/config/filterConfigHeader/add.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/config/filterConfigHeader/add.html" afterDir="false" /> | ||
10 | + <change beforePath="$PROJECT_DIR$/src/main/resources/templates/config/receiptType/add.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/config/receiptType/add.html" afterDir="false" /> | ||
11 | + <change beforePath="$PROJECT_DIR$/src/main/resources/templates/config/statusFlowHeader/add.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/config/statusFlowHeader/add.html" afterDir="false" /> | ||
12 | + <change beforePath="$PROJECT_DIR$/src/main/resources/templates/config/statusFlowHeader/statusFlowHeader.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/config/statusFlowHeader/statusFlowHeader.html" afterDir="false" /> | ||
13 | <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 | <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" /> |
14 | - <change beforePath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiptHeader/report.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiptHeader/report.html" afterDir="false" /> | ||
15 | - <change beforePath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiving/add.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/receipt/receiving/add.html" afterDir="false" /> | ||
16 | </list> | 14 | </list> |
17 | <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> | 15 | <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> |
18 | <option name="SHOW_DIALOG" value="false" /> | 16 | <option name="SHOW_DIALOG" value="false" /> |
@@ -31,59 +29,7 @@ | @@ -31,59 +29,7 @@ | ||
31 | <option name="HIDDEN_KINDS"> | 29 | <option name="HIDDEN_KINDS"> |
32 | <set /> | 30 | <set /> |
33 | </option> | 31 | </option> |
34 | - <expand> | ||
35 | - <path> | ||
36 | - <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" /> | ||
37 | - <item name="@172.16.29.45" type="feb32156:DbDataSourceImpl" /> | ||
38 | - </path> | ||
39 | - <path> | ||
40 | - <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" /> | ||
41 | - <item name="@172.16.29.45" type="feb32156:DbDataSourceImpl" /> | ||
42 | - <item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" /> | ||
43 | - </path> | ||
44 | - <path> | ||
45 | - <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" /> | ||
46 | - <item name="@172.16.29.45" type="feb32156:DbDataSourceImpl" /> | ||
47 | - <item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" /> | ||
48 | - <item name="wms_v2: schema" type="76f4a085:MysqlImplModel$Schema" /> | ||
49 | - </path> | ||
50 | - <path> | ||
51 | - <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" /> | ||
52 | - <item name="@172.16.29.45" type="feb32156:DbDataSourceImpl" /> | ||
53 | - <item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" /> | ||
54 | - <item name="wms_v2: schema" type="76f4a085:MysqlImplModel$Schema" /> | ||
55 | - <item name="receipt_header: table" type="285a2a93:MysqlImplModel$Table" /> | ||
56 | - </path> | ||
57 | - <path> | ||
58 | - <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" /> | ||
59 | - <item name="@localhost" type="feb32156:DbDataSourceImpl" /> | ||
60 | - </path> | ||
61 | - <path> | ||
62 | - <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" /> | ||
63 | - <item name="@localhost" type="feb32156:DbDataSourceImpl" /> | ||
64 | - <item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" /> | ||
65 | - </path> | ||
66 | - <path> | ||
67 | - <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" /> | ||
68 | - <item name="@localhost" type="feb32156:DbDataSourceImpl" /> | ||
69 | - <item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" /> | ||
70 | - <item name="wms2.0: schema" type="76f4a085:MysqlImplModel$Schema" /> | ||
71 | - </path> | ||
72 | - <path> | ||
73 | - <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" /> | ||
74 | - <item name="@localhost" type="feb32156:DbDataSourceImpl" /> | ||
75 | - <item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" /> | ||
76 | - <item name="wms2.0: schema" type="76f4a085:MysqlImplModel$Schema" /> | ||
77 | - <item name="check_detail: table" type="285a2a93:MysqlImplModel$Table" /> | ||
78 | - </path> | ||
79 | - <path> | ||
80 | - <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" /> | ||
81 | - <item name="@localhost" type="feb32156:DbDataSourceImpl" /> | ||
82 | - <item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" /> | ||
83 | - <item name="wms2.0: schema" type="76f4a085:MysqlImplModel$Schema" /> | ||
84 | - <item name="check_header: table" type="285a2a93:MysqlImplModel$Table" /> | ||
85 | - </path> | ||
86 | - </expand> | 32 | + <expand /> |
87 | <select /> | 33 | <select /> |
88 | </component> | 34 | </component> |
89 | <component name="FileTemplateManagerImpl"> | 35 | <component name="FileTemplateManagerImpl"> |
@@ -104,6 +50,7 @@ | @@ -104,6 +50,7 @@ | ||
104 | <OptionsSetting value="false" id="Update" /> | 50 | <OptionsSetting value="false" id="Update" /> |
105 | </component> | 51 | </component> |
106 | <component name="PropertiesComponent"> | 52 | <component name="PropertiesComponent"> |
53 | + <property name="ASKED_ADD_EXTERNAL_FILES" value="true" /> | ||
107 | <property name="DefaultHtmlFileTemplate" value="HTML File" /> | 54 | <property name="DefaultHtmlFileTemplate" value="HTML File" /> |
108 | <property name="RequestMappingsPanelOrder0" value="0" /> | 55 | <property name="RequestMappingsPanelOrder0" value="0" /> |
109 | <property name="RequestMappingsPanelOrder1" value="1" /> | 56 | <property name="RequestMappingsPanelOrder1" value="1" /> |
@@ -112,17 +59,30 @@ | @@ -112,17 +59,30 @@ | ||
112 | <property name="WebServerToolWindowFactoryState" value="false" /> | 59 | <property name="WebServerToolWindowFactoryState" value="false" /> |
113 | <property name="aspect.path.notification.shown" value="true" /> | 60 | <property name="aspect.path.notification.shown" value="true" /> |
114 | <property name="full.screen.before.presentation.mode" value="false" /> | 61 | <property name="full.screen.before.presentation.mode" value="false" /> |
115 | - <property name="last_opened_file_path" value="$PROJECT_DIR$/../WMSV1" /> | 62 | + <property name="last_opened_file_path" value="$PROJECT_DIR$/src/main/resources/static/ajax/libs/bootstrap-table/extensions/editable" /> |
116 | <property name="node.js.detected.package.eslint" value="true" /> | 63 | <property name="node.js.detected.package.eslint" value="true" /> |
117 | <property name="node.js.detected.package.tslint" value="true" /> | 64 | <property name="node.js.detected.package.tslint" value="true" /> |
118 | <property name="node.js.path.for.package.eslint" value="project" /> | 65 | <property name="node.js.path.for.package.eslint" value="project" /> |
119 | <property name="node.js.path.for.package.tslint" value="project" /> | 66 | <property name="node.js.path.for.package.tslint" value="project" /> |
120 | <property name="node.js.selected.package.eslint" value="(autodetect)" /> | 67 | <property name="node.js.selected.package.eslint" value="(autodetect)" /> |
121 | <property name="node.js.selected.package.tslint" value="(autodetect)" /> | 68 | <property name="node.js.selected.package.tslint" value="(autodetect)" /> |
69 | + <property name="project.structure.last.edited" value="Modules" /> | ||
70 | + <property name="project.structure.proportion" value="0.15429688" /> | ||
71 | + <property name="project.structure.side.proportion" value="0.2" /> | ||
122 | <property name="run.code.analysis.last.selected.profile" value="pProject Default" /> | 72 | <property name="run.code.analysis.last.selected.profile" value="pProject Default" /> |
123 | - <property name="settings.editor.selected.configurable" value="reference.settingsdialog.IDE.editor.colors.Console Font" /> | 73 | + <property name="settings.editor.selected.configurable" value="preferences.pluginManager" /> |
74 | + </component> | ||
75 | + <component name="RecentsManager"> | ||
76 | + <key name="CopyFile.RECENT_KEYS"> | ||
77 | + <recent name="E:\code\wms2\src\main\resources\static\ajax\libs\bootstrap-table\extensions\editable" /> | ||
78 | + </key> | ||
124 | </component> | 79 | </component> |
125 | <component name="RunDashboard"> | 80 | <component name="RunDashboard"> |
81 | + <option name="configurationTypes"> | ||
82 | + <set> | ||
83 | + <option value="SpringBootApplicationConfigurationType" /> | ||
84 | + </set> | ||
85 | + </option> | ||
126 | <option name="ruleStates"> | 86 | <option name="ruleStates"> |
127 | <list> | 87 | <list> |
128 | <RuleState> | 88 | <RuleState> |
@@ -135,6 +95,19 @@ | @@ -135,6 +95,19 @@ | ||
135 | </option> | 95 | </option> |
136 | </component> | 96 | </component> |
137 | <component name="RunManager" selected="Spring Boot.HuaHengApplication"> | 97 | <component name="RunManager" selected="Spring Boot.HuaHengApplication"> |
98 | + <configuration name="ReceiptContainerHeaderServiceImpl" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true"> | ||
99 | + <option name="MAIN_CLASS_NAME" value="com.huaheng.pc.receipt.receiptContainerHeader.service.ReceiptContainerHeaderServiceImpl" /> | ||
100 | + <module name="huaheng" /> | ||
101 | + <extension name="coverage"> | ||
102 | + <pattern> | ||
103 | + <option name="PATTERN" value="com.huaheng.pc.receipt.receiptContainerHeader.service.*" /> | ||
104 | + <option name="ENABLED" value="true" /> | ||
105 | + </pattern> | ||
106 | + </extension> | ||
107 | + <method v="2"> | ||
108 | + <option name="Make" enabled="true" /> | ||
109 | + </method> | ||
110 | + </configuration> | ||
138 | <configuration name="ServiceTest.sendSimpleMail" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true"> | 111 | <configuration name="ServiceTest.sendSimpleMail" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true"> |
139 | <module name="huaheng" /> | 112 | <module name="huaheng" /> |
140 | <extension name="coverage"> | 113 | <extension name="coverage"> |
@@ -168,12 +141,14 @@ | @@ -168,12 +141,14 @@ | ||
168 | </method> | 141 | </method> |
169 | </configuration> | 142 | </configuration> |
170 | <list> | 143 | <list> |
144 | + <item itemvalue="Application.ReceiptContainerHeaderServiceImpl" /> | ||
171 | <item itemvalue="JUnit.ServiceTest.sendSimpleMail" /> | 145 | <item itemvalue="JUnit.ServiceTest.sendSimpleMail" /> |
172 | <item itemvalue="Spring Boot.HuaHengApplication" /> | 146 | <item itemvalue="Spring Boot.HuaHengApplication" /> |
173 | </list> | 147 | </list> |
174 | <recent_temporary> | 148 | <recent_temporary> |
175 | <list> | 149 | <list> |
176 | <item itemvalue="Spring Boot.HuaHengApplication" /> | 150 | <item itemvalue="Spring Boot.HuaHengApplication" /> |
151 | + <item itemvalue="Application.ReceiptContainerHeaderServiceImpl" /> | ||
177 | <item itemvalue="JUnit.ServiceTest.sendSimpleMail" /> | 152 | <item itemvalue="JUnit.ServiceTest.sendSimpleMail" /> |
178 | </list> | 153 | </list> |
179 | </recent_temporary> | 154 | </recent_temporary> |
@@ -181,11 +156,17 @@ | @@ -181,11 +156,17 @@ | ||
181 | <component name="ServiceViewManager"> | 156 | <component name="ServiceViewManager"> |
182 | <option name="allServicesViewState"> | 157 | <option name="allServicesViewState"> |
183 | <serviceView> | 158 | <serviceView> |
159 | + <option name="contentProportion" value="0.1612554" /> | ||
184 | <treeState> | 160 | <treeState> |
185 | <expand> | 161 | <expand> |
186 | <path> | 162 | <path> |
187 | <item name="services root" type="e789fda9:ObjectUtils$Sentinel" /> | 163 | <item name="services root" type="e789fda9:ObjectUtils$Sentinel" /> |
188 | - <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@20dd4d1b" type="7427dc5b:ServiceModel$ServiceGroupNode" /> | 164 | + <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@c531c3e8" type="7427dc5b:ServiceModel$ServiceGroupNode" /> |
165 | + </path> | ||
166 | + <path> | ||
167 | + <item name="services root" type="e789fda9:ObjectUtils$Sentinel" /> | ||
168 | + <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@c531c3e8" type="7427dc5b:ServiceModel$ServiceGroupNode" /> | ||
169 | + <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@ef9dc71e" type="7427dc5b:ServiceModel$ServiceGroupNode" /> | ||
189 | </path> | 170 | </path> |
190 | </expand> | 171 | </expand> |
191 | <select /> | 172 | <select /> |
@@ -224,7 +205,73 @@ | @@ -224,7 +205,73 @@ | ||
224 | <workItem from="1568102802104" duration="132000" /> | 205 | <workItem from="1568102802104" duration="132000" /> |
225 | <workItem from="1568108585629" duration="2016000" /> | 206 | <workItem from="1568108585629" duration="2016000" /> |
226 | <workItem from="1568162278389" duration="3299000" /> | 207 | <workItem from="1568162278389" duration="3299000" /> |
227 | - <workItem from="1568170378983" duration="10947000" /> | 208 | + <workItem from="1568170378983" duration="18141000" /> |
209 | + <workItem from="1568249510258" duration="10225000" /> | ||
210 | + <workItem from="1568266250892" duration="1333000" /> | ||
211 | + <workItem from="1568269799447" duration="99000" /> | ||
212 | + <workItem from="1568270609232" duration="2008000" /> | ||
213 | + <workItem from="1568277784815" duration="3397000" /> | ||
214 | + <workItem from="1568595092050" duration="120000" /> | ||
215 | + <workItem from="1568595230891" duration="859000" /> | ||
216 | + <workItem from="1568597823149" duration="18415000" /> | ||
217 | + <workItem from="1568622349963" duration="1657000" /> | ||
218 | + <workItem from="1568625672966" duration="1471000" /> | ||
219 | + <workItem from="1568680155591" duration="361000" /> | ||
220 | + <workItem from="1568680712425" duration="2511000" /> | ||
221 | + <workItem from="1568684486098" duration="957000" /> | ||
222 | + <workItem from="1568685565340" duration="4430000" /> | ||
223 | + <workItem from="1568691952276" duration="8650000" /> | ||
224 | + <workItem from="1568707800753" duration="1137000" /> | ||
225 | + <workItem from="1568710796434" duration="1618000" /> | ||
226 | + <workItem from="1568766055582" duration="6000" /> | ||
227 | + <workItem from="1568768025248" duration="5346000" /> | ||
228 | + <workItem from="1568778175920" duration="2572000" /> | ||
229 | + <workItem from="1568787162277" duration="1740000" /> | ||
230 | + <workItem from="1568788907625" duration="7345000" /> | ||
231 | + <workItem from="1568853208604" duration="1177000" /> | ||
232 | + <workItem from="1568854399388" duration="3001000" /> | ||
233 | + <workItem from="1568861704814" duration="2380000" /> | ||
234 | + <workItem from="1568865359898" duration="108000" /> | ||
235 | + <workItem from="1568865651366" duration="623000" /> | ||
236 | + <workItem from="1568868902957" duration="3468000" /> | ||
237 | + <workItem from="1568875455023" duration="3979000" /> | ||
238 | + <workItem from="1568882661913" duration="1883000" /> | ||
239 | + <workItem from="1568887498559" duration="554000" /> | ||
240 | + <workItem from="1568940290765" duration="1255000" /> | ||
241 | + <workItem from="1568943643646" duration="634000" /> | ||
242 | + <workItem from="1568946720514" duration="599000" /> | ||
243 | + <workItem from="1568951675236" duration="5060000" /> | ||
244 | + <workItem from="1568963416874" duration="848000" /> | ||
245 | + <workItem from="1568964502775" duration="3587000" /> | ||
246 | + <workItem from="1568970279520" duration="8000" /> | ||
247 | + <workItem from="1569032862367" duration="1792000" /> | ||
248 | + <workItem from="1569037677538" duration="64000" /> | ||
249 | + <workItem from="1569134046393" duration="65000" /> | ||
250 | + <workItem from="1569198499251" duration="8680000" /> | ||
251 | + <workItem from="1569207254306" duration="18489000" /> | ||
252 | + <workItem from="1569285398457" duration="5908000" /> | ||
253 | + <workItem from="1569295518709" duration="463000" /> | ||
254 | + <workItem from="1569299856099" duration="4172000" /> | ||
255 | + <workItem from="1569312420091" duration="6208000" /> | ||
256 | + <workItem from="1569318779053" duration="35000" /> | ||
257 | + <workItem from="1569372049669" duration="4595000" /> | ||
258 | + <workItem from="1569390345693" duration="1418000" /> | ||
259 | + <workItem from="1569393808742" duration="10588000" /> | ||
260 | + <workItem from="1569411369199" duration="191000" /> | ||
261 | + <workItem from="1569457959376" duration="2373000" /> | ||
262 | + <workItem from="1569461866204" duration="777000" /> | ||
263 | + <workItem from="1569462694383" duration="6561000" /> | ||
264 | + <workItem from="1569477197991" duration="8695000" /> | ||
265 | + <workItem from="1569545011335" duration="12640000" /> | ||
266 | + <workItem from="1569565238961" duration="5096000" /> | ||
267 | + <workItem from="1569571884664" duration="2032000" /> | ||
268 | + <workItem from="1569577676760" duration="124000" /> | ||
269 | + <workItem from="1569717688488" duration="13568000" /> | ||
270 | + <workItem from="1569743740441" duration="1168000" /> | ||
271 | + <workItem from="1569745589865" duration="2739000" /> | ||
272 | + <workItem from="1569748443357" duration="438000" /> | ||
273 | + <workItem from="1569803438585" duration="13789000" /> | ||
274 | + <workItem from="1570581146682" duration="9295000" /> | ||
228 | </task> | 275 | </task> |
229 | <task id="LOCAL-00001" summary="修改添加物料时使用物料类别生成物料编码"> | 276 | <task id="LOCAL-00001" summary="修改添加物料时使用物料类别生成物料编码"> |
230 | <created>1567664306836</created> | 277 | <created>1567664306836</created> |
@@ -268,7 +315,203 @@ | @@ -268,7 +315,203 @@ | ||
268 | <option name="project" value="LOCAL" /> | 315 | <option name="project" value="LOCAL" /> |
269 | <updated>1568174134623</updated> | 316 | <updated>1568174134623</updated> |
270 | </task> | 317 | </task> |
271 | - <option name="localTasksCounter" value="7" /> | 318 | + <task id="LOCAL-00007" summary="修改入库单审核移动到入库单头表"> |
319 | + <created>1568186231357</created> | ||
320 | + <option name="number" value="00007" /> | ||
321 | + <option name="presentableId" value="LOCAL-00007" /> | ||
322 | + <option name="project" value="LOCAL" /> | ||
323 | + <updated>1568186231357</updated> | ||
324 | + </task> | ||
325 | + <task id="LOCAL-00008" summary="修改任务完成更新库位的错误"> | ||
326 | + <created>1568191139437</created> | ||
327 | + <option name="number" value="00008" /> | ||
328 | + <option name="presentableId" value="LOCAL-00008" /> | ||
329 | + <option name="project" value="LOCAL" /> | ||
330 | + <updated>1568191139437</updated> | ||
331 | + </task> | ||
332 | + <task id="LOCAL-00009" summary="修改入库类型自动判断"> | ||
333 | + <created>1568259182874</created> | ||
334 | + <option name="number" value="00009" /> | ||
335 | + <option name="presentableId" value="LOCAL-00009" /> | ||
336 | + <option name="project" value="LOCAL" /> | ||
337 | + <updated>1568259182874</updated> | ||
338 | + </task> | ||
339 | + <task id="LOCAL-00010" summary="修改入库单页面"> | ||
340 | + <created>1568281128408</created> | ||
341 | + <option name="number" value="00010" /> | ||
342 | + <option name="presentableId" value="LOCAL-00010" /> | ||
343 | + <option name="project" value="LOCAL" /> | ||
344 | + <updated>1568281128408</updated> | ||
345 | + </task> | ||
346 | + <task id="LOCAL-00011" summary="修改入库单页面,入库单审核,质检页面后台跳转接口"> | ||
347 | + <created>1568616697584</created> | ||
348 | + <option name="number" value="00011" /> | ||
349 | + <option name="presentableId" value="LOCAL-00011" /> | ||
350 | + <option name="project" value="LOCAL" /> | ||
351 | + <updated>1568616697584</updated> | ||
352 | + </task> | ||
353 | + <task id="LOCAL-00012" summary="修改 入库收货,生成上架任务自动执行定位"> | ||
354 | + <created>1568692224269</created> | ||
355 | + <option name="number" value="00012" /> | ||
356 | + <option name="presentableId" value="LOCAL-00012" /> | ||
357 | + <option name="project" value="LOCAL" /> | ||
358 | + <updated>1568692224269</updated> | ||
359 | + </task> | ||
360 | + <task id="LOCAL-00013" summary="修复商品管理、物料类别种bug"> | ||
361 | + <created>1568784920330</created> | ||
362 | + <option name="number" value="00013" /> | ||
363 | + <option name="presentableId" value="LOCAL-00013" /> | ||
364 | + <option name="project" value="LOCAL" /> | ||
365 | + <updated>1568784920330</updated> | ||
366 | + </task> | ||
367 | + <task id="LOCAL-00014" summary="修改入库明细添加加载定位规则的错误"> | ||
368 | + <created>1568788287608</created> | ||
369 | + <option name="number" value="00014" /> | ||
370 | + <option name="presentableId" value="LOCAL-00014" /> | ||
371 | + <option name="project" value="LOCAL" /> | ||
372 | + <updated>1568788287608</updated> | ||
373 | + </task> | ||
374 | + <task id="LOCAL-00015" summary="添加入库质检行内编辑"> | ||
375 | + <created>1568857387442</created> | ||
376 | + <option name="number" value="00015" /> | ||
377 | + <option name="presentableId" value="LOCAL-00015" /> | ||
378 | + <option name="project" value="LOCAL" /> | ||
379 | + <updated>1568857387442</updated> | ||
380 | + </task> | ||
381 | + <task id="LOCAL-00016" summary="行内编辑完成后更新数据库"> | ||
382 | + <created>1568875291383</created> | ||
383 | + <option name="number" value="00016" /> | ||
384 | + <option name="presentableId" value="LOCAL-00016" /> | ||
385 | + <option name="project" value="LOCAL" /> | ||
386 | + <updated>1568875291383</updated> | ||
387 | + </task> | ||
388 | + <task id="LOCAL-00017" summary="修改质检登记使用bootstarp boot原生方法初始化"> | ||
389 | + <created>1568885639106</created> | ||
390 | + <option name="number" value="00017" /> | ||
391 | + <option name="presentableId" value="LOCAL-00017" /> | ||
392 | + <option name="project" value="LOCAL" /> | ||
393 | + <updated>1568885639106</updated> | ||
394 | + </task> | ||
395 | + <task id="LOCAL-00018" summary="表单头创建时间添加默认创建时间 开始时间默认提前一周,结束时间默认当天"> | ||
396 | + <created>1569207792528</created> | ||
397 | + <option name="number" value="00018" /> | ||
398 | + <option name="presentableId" value="LOCAL-00018" /> | ||
399 | + <option name="project" value="LOCAL" /> | ||
400 | + <updated>1569207792528</updated> | ||
401 | + </task> | ||
402 | + <task id="LOCAL-00019" summary="配置中所有页面添加重置按钮"> | ||
403 | + <created>1569218224945</created> | ||
404 | + <option name="number" value="00019" /> | ||
405 | + <option name="presentableId" value="LOCAL-00019" /> | ||
406 | + <option name="project" value="LOCAL" /> | ||
407 | + <updated>1569218224945</updated> | ||
408 | + </task> | ||
409 | + <task id="LOCAL-00020" summary="收货添加定位、取消定位、取消组盘按钮"> | ||
410 | + <created>1569232154274</created> | ||
411 | + <option name="number" value="00020" /> | ||
412 | + <option name="presentableId" value="LOCAL-00020" /> | ||
413 | + <option name="project" value="LOCAL" /> | ||
414 | + <updated>1569232154274</updated> | ||
415 | + </task> | ||
416 | + <task id="LOCAL-00021" summary="修改入库单数量使用BigDecimal类型,修改入库单添加、修改、物理类型添加和修改页面"> | ||
417 | + <created>1569318560852</created> | ||
418 | + <option name="number" value="00021" /> | ||
419 | + <option name="presentableId" value="LOCAL-00021" /> | ||
420 | + <option name="project" value="LOCAL" /> | ||
421 | + <updated>1569318560852</updated> | ||
422 | + </task> | ||
423 | + <task id="LOCAL-00022" summary="修改物料管理中物料类型使用物料类别表,不在使用数据字典"> | ||
424 | + <created>1569395439782</created> | ||
425 | + <option name="number" value="00022" /> | ||
426 | + <option name="presentableId" value="LOCAL-00022" /> | ||
427 | + <option name="project" value="LOCAL" /> | ||
428 | + <updated>1569395439782</updated> | ||
429 | + </task> | ||
430 | + <task id="LOCAL-00023" summary="修改波次主表、波次流程头表、波次流程明细页面"> | ||
431 | + <created>1569402291802</created> | ||
432 | + <option name="number" value="00023" /> | ||
433 | + <option name="presentableId" value="LOCAL-00023" /> | ||
434 | + <option name="project" value="LOCAL" /> | ||
435 | + <updated>1569402291802</updated> | ||
436 | + </task> | ||
437 | + <task id="LOCAL-00024" summary="修改入库首选项修改添加模块为select"> | ||
438 | + <created>1569411473661</created> | ||
439 | + <option name="number" value="00024" /> | ||
440 | + <option name="presentableId" value="LOCAL-00024" /> | ||
441 | + <option name="project" value="LOCAL" /> | ||
442 | + <updated>1569411473661</updated> | ||
443 | + </task> | ||
444 | + <task id="LOCAL-00025" summary="修改任务取消入库组盘状态不回滚,修改任务完成入库单状态不完成"> | ||
445 | + <created>1569477488017</created> | ||
446 | + <option name="number" value="00025" /> | ||
447 | + <option name="presentableId" value="LOCAL-00025" /> | ||
448 | + <option name="project" value="LOCAL" /> | ||
449 | + <updated>1569477488017</updated> | ||
450 | + </task> | ||
451 | + <task id="LOCAL-00026" summary="添加自动生成容器编码"> | ||
452 | + <created>1569484931952</created> | ||
453 | + <option name="number" value="00026" /> | ||
454 | + <option name="presentableId" value="LOCAL-00026" /> | ||
455 | + <option name="project" value="LOCAL" /> | ||
456 | + <updated>1569484931952</updated> | ||
457 | + </task> | ||
458 | + <task id="LOCAL-00027" summary="修改入库首选项页面,规则查询使用数据字典值,表格值显示修改"> | ||
459 | + <created>1569553028716</created> | ||
460 | + <option name="number" value="00027" /> | ||
461 | + <option name="presentableId" value="LOCAL-00027" /> | ||
462 | + <option name="project" value="LOCAL" /> | ||
463 | + <updated>1569553028716</updated> | ||
464 | + </task> | ||
465 | + <task id="LOCAL-00028" summary="入库单添加重置按钮,入库单历史添加上游单号搜索"> | ||
466 | + <created>1569554438854</created> | ||
467 | + <option name="number" value="00028" /> | ||
468 | + <option name="presentableId" value="LOCAL-00028" /> | ||
469 | + <option name="project" value="LOCAL" /> | ||
470 | + <updated>1569554438854</updated> | ||
471 | + </task> | ||
472 | + <task id="LOCAL-00029" summary="添加取消入库组盘时容器为临时容器,删除容器"> | ||
473 | + <created>1569567112288</created> | ||
474 | + <option name="number" value="00029" /> | ||
475 | + <option name="presentableId" value="LOCAL-00029" /> | ||
476 | + <option name="project" value="LOCAL" /> | ||
477 | + <updated>1569567112288</updated> | ||
478 | + </task> | ||
479 | + <task id="LOCAL-00030" summary="出库完成时删除临时容器"> | ||
480 | + <created>1569568426923</created> | ||
481 | + <option name="number" value="00030" /> | ||
482 | + <option name="presentableId" value="LOCAL-00030" /> | ||
483 | + <option name="project" value="LOCAL" /> | ||
484 | + <updated>1569568426923</updated> | ||
485 | + </task> | ||
486 | + <task id="LOCAL-00031" summary="修改容器新增时容器enable状态"> | ||
487 | + <created>1569577849038</created> | ||
488 | + <option name="number" value="00031" /> | ||
489 | + <option name="presentableId" value="LOCAL-00031" /> | ||
490 | + <option name="project" value="LOCAL" /> | ||
491 | + <updated>1569577849039</updated> | ||
492 | + </task> | ||
493 | + <task id="LOCAL-00032" summary="修改入库组盘页面中任务类型的显示问题 修改任务完成不修改入库组盘状态的问题"> | ||
494 | + <created>1569740895495</created> | ||
495 | + <option name="number" value="00032" /> | ||
496 | + <option name="presentableId" value="LOCAL-00032" /> | ||
497 | + <option name="project" value="LOCAL" /> | ||
498 | + <updated>1569740895496</updated> | ||
499 | + </task> | ||
500 | + <task id="LOCAL-00033" summary="添加根据code查询物料"> | ||
501 | + <created>1569743042718</created> | ||
502 | + <option name="number" value="00033" /> | ||
503 | + <option name="presentableId" value="LOCAL-00033" /> | ||
504 | + <option name="project" value="LOCAL" /> | ||
505 | + <updated>1569743042718</updated> | ||
506 | + </task> | ||
507 | + <task id="LOCAL-00034" summary="添加根据容器编码查找容器的方法 配置规则添加自动添加模块类型 添加是否自动生成临时容器"> | ||
508 | + <created>1570582333467</created> | ||
509 | + <option name="number" value="00034" /> | ||
510 | + <option name="presentableId" value="LOCAL-00034" /> | ||
511 | + <option name="project" value="LOCAL" /> | ||
512 | + <updated>1570582333467</updated> | ||
513 | + </task> | ||
514 | + <option name="localTasksCounter" value="35" /> | ||
272 | <servers /> | 515 | <servers /> |
273 | </component> | 516 | </component> |
274 | <component name="TypeScriptGeneratedFilesManager"> | 517 | <component name="TypeScriptGeneratedFilesManager"> |
@@ -288,41 +531,98 @@ | @@ -288,41 +531,98 @@ | ||
288 | </option> | 531 | </option> |
289 | </component> | 532 | </component> |
290 | <component name="VcsManagerConfiguration"> | 533 | <component name="VcsManagerConfiguration"> |
291 | - <MESSAGE value="修改添加物料时使用物料类别生成物料编码" /> | ||
292 | - <MESSAGE value="修改质检页面、添加完成质检" /> | ||
293 | - <MESSAGE value="修复入库质检请求地址冲突" /> | ||
294 | - <MESSAGE value="添加入库单打印" /> | ||
295 | - <option name="LAST_COMMIT_MESSAGE" value="添加入库单打印" /> | 534 | + <option name="ADD_EXTERNAL_FILES_SILENTLY" value="true" /> |
535 | + <MESSAGE value="修改入库单页面" /> | ||
536 | + <MESSAGE value="修改入库单页面,入库单审核,质检页面后台跳转接口" /> | ||
537 | + <MESSAGE value="修改 入库收货,生成上架任务自动执行定位" /> | ||
538 | + <MESSAGE value="修复商品管理、物料类别种bug" /> | ||
539 | + <MESSAGE value="修改入库明细添加加载定位规则的错误" /> | ||
540 | + <MESSAGE value="添加入库质检行内编辑" /> | ||
541 | + <MESSAGE value="行内编辑完成后更新数据库" /> | ||
542 | + <MESSAGE value="修改质检登记使用bootstarp boot原生方法初始化" /> | ||
543 | + <MESSAGE value="表单头创建时间添加默认创建时间 开始时间默认提前一周,结束时间默认当天" /> | ||
544 | + <MESSAGE value="配置中所有页面添加重置按钮" /> | ||
545 | + <MESSAGE value="收货添加定位、取消定位、取消组盘按钮" /> | ||
546 | + <MESSAGE value="修改入库单数量使用BigDecimal类型,修改入库单添加、修改、物理类型添加和修改页面" /> | ||
547 | + <MESSAGE value="修改物料管理中物料类型使用物料类别表,不在使用数据字典" /> | ||
548 | + <MESSAGE value="修改波次主表、波次流程头表、波次流程明细页面" /> | ||
549 | + <MESSAGE value="修改入库首选项修改添加模块为select" /> | ||
550 | + <MESSAGE value="修改任务取消入库组盘状态不回滚,修改任务完成入库单状态不完成" /> | ||
551 | + <MESSAGE value="添加自动生成容器编码" /> | ||
552 | + <MESSAGE value="修改入库首选项页面,规则查询使用数据字典值,表格值显示修改" /> | ||
553 | + <MESSAGE value="入库单添加重置按钮,入库单历史添加上游单号搜索" /> | ||
554 | + <MESSAGE value="添加取消入库组盘时容器为临时容器,删除容器" /> | ||
555 | + <MESSAGE value="出库完成时删除临时容器" /> | ||
556 | + <MESSAGE value="修改容器新增时容器enable状态" /> | ||
557 | + <MESSAGE value="修改入库组盘页面中任务类型的显示问题 修改任务完成不修改入库组盘状态的问题" /> | ||
558 | + <MESSAGE value="添加根据code查询物料" /> | ||
559 | + <MESSAGE value="添加根据容器编码查找容器的方法 配置规则添加自动添加模块类型 添加是否自动生成临时容器" /> | ||
560 | + <option name="LAST_COMMIT_MESSAGE" value="添加根据容器编码查找容器的方法 配置规则添加自动添加模块类型 添加是否自动生成临时容器" /> | ||
296 | </component> | 561 | </component> |
297 | <component name="XDebuggerManager"> | 562 | <component name="XDebuggerManager"> |
298 | <breakpoint-manager> | 563 | <breakpoint-manager> |
299 | <breakpoints> | 564 | <breakpoints> |
300 | <line-breakpoint enabled="true" type="java-line"> | 565 | <line-breakpoint enabled="true" type="java-line"> |
301 | - <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkDetail/controller/CheckDetailController.java</url> | ||
302 | - <line>152</line> | ||
303 | - <option name="timeStamp" value="6" /> | 566 | + <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/bom/controller/BomHeaderController.java</url> |
567 | + <line>164</line> | ||
568 | + <option name="timeStamp" value="24" /> | ||
569 | + </line-breakpoint> | ||
570 | + <line-breakpoint enabled="true" type="java-line"> | ||
571 | + <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/material/controller/MaterialController.java</url> | ||
572 | + <line>150</line> | ||
573 | + <option name="timeStamp" value="26" /> | ||
574 | + </line-breakpoint> | ||
575 | + <line-breakpoint enabled="true" type="java-line"> | ||
576 | + <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkingRegister/controller/CheckingRegisterController.java</url> | ||
577 | + <line>174</line> | ||
578 | + <option name="timeStamp" value="28" /> | ||
304 | </line-breakpoint> | 579 | </line-breakpoint> |
305 | <line-breakpoint enabled="true" type="java-line"> | 580 | <line-breakpoint enabled="true" type="java-line"> |
306 | - <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkDetail/controller/CheckDetailController.java</url> | ||
307 | - <line>154</line> | ||
308 | - <option name="timeStamp" value="8" /> | 581 | + <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java</url> |
582 | + <line>631</line> | ||
583 | + <option name="timeStamp" value="48" /> | ||
309 | </line-breakpoint> | 584 | </line-breakpoint> |
310 | <line-breakpoint enabled="true" type="java-line"> | 585 | <line-breakpoint enabled="true" type="java-line"> |
311 | - <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkDetail/service/CheckDetailService.java</url> | ||
312 | - <line>45</line> | ||
313 | - <option name="timeStamp" value="9" /> | 586 | + <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/service/ReceiptContainerDetailServiceImpl.java</url> |
587 | + <line>56</line> | ||
588 | + <option name="timeStamp" value="49" /> | ||
314 | </line-breakpoint> | 589 | </line-breakpoint> |
315 | <line-breakpoint enabled="true" type="java-line"> | 590 | <line-breakpoint enabled="true" type="java-line"> |
316 | - <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java</url> | ||
317 | - <line>144</line> | ||
318 | - <option name="timeStamp" value="10" /> | 591 | + <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/service/ReceiptContainerDetailServiceImpl.java</url> |
592 | + <line>84</line> | ||
593 | + <option name="timeStamp" value="51" /> | ||
319 | </line-breakpoint> | 594 | </line-breakpoint> |
320 | <line-breakpoint enabled="true" type="java-line"> | 595 | <line-breakpoint enabled="true" type="java-line"> |
321 | - <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java</url> | ||
322 | - <line>240</line> | ||
323 | - <option name="timeStamp" value="11" /> | 596 | + <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowHeaderController.java</url> |
597 | + <line>86</line> | ||
598 | + <option name="timeStamp" value="57" /> | ||
599 | + </line-breakpoint> | ||
600 | + <line-breakpoint enabled="true" type="java-line"> | ||
601 | + <url>file://$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkingRegister/controller/CheckingRegisterController.java</url> | ||
602 | + <line>145</line> | ||
603 | + <option name="timeStamp" value="62" /> | ||
604 | + </line-breakpoint> | ||
605 | + <line-breakpoint enabled="true" type="javascript"> | ||
606 | + <url>file://$PROJECT_DIR$/src/main/resources/templates/check/checkingRegister/checkingRegister.html</url> | ||
607 | + <line>308</line> | ||
608 | + <option name="timeStamp" value="29" /> | ||
609 | + </line-breakpoint> | ||
610 | + <line-breakpoint enabled="true" type="javascript"> | ||
611 | + <url>file://$PROJECT_DIR$/src/main/resources/templates/config/waveFlowHeader/waveFlowHeader.html</url> | ||
612 | + <line>71</line> | ||
613 | + <option name="timeStamp" value="43" /> | ||
324 | </line-breakpoint> | 614 | </line-breakpoint> |
325 | </breakpoints> | 615 | </breakpoints> |
326 | </breakpoint-manager> | 616 | </breakpoint-manager> |
617 | + <watches-manager> | ||
618 | + <configuration name="SpringBootApplicationConfigurationType"> | ||
619 | + <watch expression="receiptDetailService.getById(receiptContainerDetail.getReceiptDetailId()).getLocatingRule()" language="JAVA" /> | ||
620 | + </configuration> | ||
621 | + </watches-manager> | ||
622 | + </component> | ||
623 | + <component name="com.intellij.coverage.CoverageDataManagerImpl"> | ||
624 | + <SUITE FILE_PATH="coverage/huaheng$HuaHengApplication.ic" NAME="HuaHengApplication Coverage Results" MODIFIED="1568251952497" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false"> | ||
625 | + <FILTER>com.huaheng.*</FILTER> | ||
626 | + </SUITE> | ||
327 | </component> | 627 | </component> |
328 | </project> | 628 | </project> |
329 | \ No newline at end of file | 629 | \ No newline at end of file |
src/main/java/com/huaheng/pc/check/checkingRegister/controller/CheckingRegisterController.java
@@ -84,7 +84,9 @@ public class CheckingRegisterController extends BaseController { | @@ -84,7 +84,9 @@ public class CheckingRegisterController extends BaseController { | ||
84 | PageDomain pageDomain = TableSupport.buildPageRequest(); | 84 | PageDomain pageDomain = TableSupport.buildPageRequest(); |
85 | Integer pageNum = pageNumber; | 85 | Integer pageNum = pageNumber; |
86 | Integer pageSize = pageDomain.getPageSize(); | 86 | Integer pageSize = pageDomain.getPageSize(); |
87 | - boolean isDetailNull; | 87 | + boolean isDetailNull; //质检明细是否存在标识 |
88 | + | ||
89 | + //判断质检单明细标号是否存在,不存在显示所有质检报告 | ||
88 | if (StringUtils.isNotNull(checkingRegister.getCheckDetailId())){ | 90 | if (StringUtils.isNotNull(checkingRegister.getCheckDetailId())){ |
89 | isDetailNull = true; | 91 | isDetailNull = true; |
90 | if (checkingRegister.getCheckDetailId() == 0){ | 92 | if (checkingRegister.getCheckDetailId() == 0){ |
src/main/java/com/huaheng/pc/check/checkingRegister/service/CheckingRegisterService.java
@@ -64,7 +64,7 @@ public class CheckingRegisterService extends ServiceImpl<CheckingRegisterMapper, | @@ -64,7 +64,7 @@ public class CheckingRegisterService extends ServiceImpl<CheckingRegisterMapper, | ||
64 | */ | 64 | */ |
65 | public List<CheckingRegister> emptyList(Integer checkDetailId){ | 65 | public List<CheckingRegister> emptyList(Integer checkDetailId){ |
66 | List<CheckingRegister> list = new ArrayList<>(); | 66 | List<CheckingRegister> list = new ArrayList<>(); |
67 | - List<DictData> dictDataList = dictDataService.selectDictDataByType("inventoryStatus"); | 67 | + List<DictData> dictDataList = dictDataService.selectDictDataByType("inventorySts"); |
68 | CheckDetail checkDetail = checkDetailService.getById(checkDetailId); | 68 | CheckDetail checkDetail = checkDetailService.getById(checkDetailId); |
69 | for (DictData dictData: dictDataList){ | 69 | for (DictData dictData: dictDataList){ |
70 | CheckingRegister checkingRegister1 = new CheckingRegister(); | 70 | CheckingRegister checkingRegister1 = new CheckingRegister(); |
src/main/java/com/huaheng/pc/config/FilterConfigHeader/controller/FilterConfigHeaderController.java
@@ -98,8 +98,9 @@ public class FilterConfigHeaderController extends BaseController { | @@ -98,8 +98,9 @@ public class FilterConfigHeaderController extends BaseController { | ||
98 | /** | 98 | /** |
99 | * 新增规则配置主表 | 99 | * 新增规则配置主表 |
100 | */ | 100 | */ |
101 | - @GetMapping("/add") | ||
102 | - public String add() { | 101 | + @GetMapping("/add/{type}") |
102 | + public String add(@PathVariable("type")String type, ModelMap modelMap) { | ||
103 | + modelMap.put("moduleType", type); | ||
103 | return prefix + "/add"; | 104 | return prefix + "/add"; |
104 | } | 105 | } |
105 | 106 |
src/main/java/com/huaheng/pc/config/container/mapper/ContainerMapper.java
@@ -14,6 +14,7 @@ public interface ContainerMapper extends BaseMapper<Container> { | @@ -14,6 +14,7 @@ public interface ContainerMapper extends BaseMapper<Container> { | ||
14 | 14 | ||
15 | void updateLocationCodeAndStatus(@Param("warehouseCode") String warehouseCode, @Param("containerCode") String containerCode, @Param("locationCode") String locationCode, @Param("status") String status); | 15 | void updateLocationCodeAndStatus(@Param("warehouseCode") String warehouseCode, @Param("containerCode") String containerCode, @Param("locationCode") String locationCode, @Param("status") String status); |
16 | 16 | ||
17 | + Container findAllByCode(@Param("code") String code); | ||
17 | 18 | ||
18 | 19 | ||
19 | } | 20 | } |
20 | \ No newline at end of file | 21 | \ No newline at end of file |
src/main/java/com/huaheng/pc/config/container/service/ContainerService.java
@@ -20,4 +20,6 @@ public interface ContainerService extends IService<Container>{ | @@ -20,4 +20,6 @@ public interface ContainerService extends IService<Container>{ | ||
20 | void removeContainer(String containType, String containCode); | 20 | void removeContainer(String containType, String containCode); |
21 | 21 | ||
22 | void removeByCode(String containCode); | 22 | void removeByCode(String containCode); |
23 | + | ||
24 | + Container findAllByCode(String containCode); | ||
23 | } | 25 | } |
src/main/java/com/huaheng/pc/config/container/service/ContainerServiceImpl.java
@@ -162,4 +162,9 @@ public class ContainerServiceImpl extends ServiceImpl<ContainerMapper, Container | @@ -162,4 +162,9 @@ public class ContainerServiceImpl extends ServiceImpl<ContainerMapper, Container | ||
162 | } | 162 | } |
163 | 163 | ||
164 | } | 164 | } |
165 | + | ||
166 | + @Override | ||
167 | + public Container findAllByCode(String code) { | ||
168 | + return containerMapper.findAllByCode(code); | ||
169 | + } | ||
165 | } | 170 | } |
src/main/java/com/huaheng/pc/config/material/controller/MaterialController.java
@@ -156,7 +156,6 @@ public class MaterialController extends BaseController { | @@ -156,7 +156,6 @@ public class MaterialController extends BaseController { | ||
156 | 156 | ||
157 | /** | 157 | /** |
158 | * 导出模板 | 158 | * 导出模板 |
159 | - * @param file | ||
160 | * @return | 159 | * @return |
161 | * @throws Exception | 160 | * @throws Exception |
162 | */ | 161 | */ |
src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowDetailController.java
@@ -96,6 +96,7 @@ public class StatusFlowDetailController extends BaseController { | @@ -96,6 +96,7 @@ public class StatusFlowDetailController extends BaseController { | ||
96 | StatusFlowHeader statusFlowHeader = statusFlowHeaderService.getById(headerId); | 96 | StatusFlowHeader statusFlowHeader = statusFlowHeaderService.getById(headerId); |
97 | mmap.put("headerId",headerId); | 97 | mmap.put("headerId",headerId); |
98 | mmap.put("headerCode", statusFlowHeader.getCode()); | 98 | mmap.put("headerCode", statusFlowHeader.getCode()); |
99 | + mmap.put("moduleType", statusFlowHeader.getModuleType()); | ||
99 | return prefix + "/add"; | 100 | return prefix + "/add"; |
100 | } | 101 | } |
101 | 102 |
src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowHeaderController.java
@@ -82,8 +82,9 @@ public class StatusFlowHeaderController extends BaseController { | @@ -82,8 +82,9 @@ public class StatusFlowHeaderController extends BaseController { | ||
82 | /** | 82 | /** |
83 | * 新增流程 | 83 | * 新增流程 |
84 | */ | 84 | */ |
85 | - @GetMapping("/add") | ||
86 | - public String add() { | 85 | + @GetMapping("/add/{type}") |
86 | + public String add(@PathVariable("type") String type, ModelMap modelMap) { | ||
87 | + modelMap.put("moduleType", type); | ||
87 | return prefix + "/add"; | 88 | return prefix + "/add"; |
88 | } | 89 | } |
89 | 90 |
src/main/java/com/huaheng/pc/inventory/adjustDetail/controller/adjustDetailController.java
@@ -38,8 +38,6 @@ public class adjustDetailController extends BaseController { | @@ -38,8 +38,6 @@ public class adjustDetailController extends BaseController { | ||
38 | 38 | ||
39 | 39 | ||
40 | @Resource | 40 | @Resource |
41 | - private AdjustHeaderService adjustHeaderService; | ||
42 | - @Resource | ||
43 | private AdjustHeaderMapper adjustHeaderMapper; | 41 | private AdjustHeaderMapper adjustHeaderMapper; |
44 | @Resource | 42 | @Resource |
45 | private AdjustDetailService adjustDetailService; | 43 | private AdjustDetailService adjustDetailService; |
@@ -49,7 +47,7 @@ public class adjustDetailController extends BaseController { | @@ -49,7 +47,7 @@ public class adjustDetailController extends BaseController { | ||
49 | private String prefix = "inventory/adjustDetail"; | 47 | private String prefix = "inventory/adjustDetail"; |
50 | 48 | ||
51 | 49 | ||
52 | - //@RequiresPermissions("inventory:cycleCount:view") | 50 | + @RequiresPermissions("inventory:adjustDetail:view") |
53 | @GetMapping() | 51 | @GetMapping() |
54 | public String adjustHeader() | 52 | public String adjustHeader() |
55 | { | 53 | { |
@@ -60,7 +58,7 @@ public class adjustDetailController extends BaseController { | @@ -60,7 +58,7 @@ public class adjustDetailController extends BaseController { | ||
60 | /** | 58 | /** |
61 | * 查询调整单主列表 | 59 | * 查询调整单主列表 |
62 | */ | 60 | */ |
63 | - //@RequiresPermissions("inventory:cycleCount:list") | 61 | + @RequiresPermissions("inventory:adjustDetail:list") |
64 | @PostMapping("/list") | 62 | @PostMapping("/list") |
65 | @Log(title = "库存-调整",operating = "查看调整明细单", action = BusinessType.GRANT) | 63 | @Log(title = "库存-调整",operating = "查看调整明细单", action = BusinessType.GRANT) |
66 | @ResponseBody | 64 | @ResponseBody |
@@ -121,7 +119,7 @@ public class adjustDetailController extends BaseController { | @@ -121,7 +119,7 @@ public class adjustDetailController extends BaseController { | ||
121 | /** | 119 | /** |
122 | * 保存新增调整明细 | 120 | * 保存新增调整明细 |
123 | */ | 121 | */ |
124 | - //@RequiresPermissions("inventory:cyclecountDetail:add") | 122 | + @RequiresPermissions("inventory:adjustDetail:add") |
125 | @Log(title = "库存-盘点", operating = "新增盘点补货明细", action = BusinessType.INSERT) | 123 | @Log(title = "库存-盘点", operating = "新增盘点补货明细", action = BusinessType.INSERT) |
126 | @PostMapping("/addAdjust") | 124 | @PostMapping("/addAdjust") |
127 | @ResponseBody | 125 | @ResponseBody |
@@ -150,7 +148,7 @@ public class adjustDetailController extends BaseController { | @@ -150,7 +148,7 @@ public class adjustDetailController extends BaseController { | ||
150 | * 调整数量,调整库存状态 | 148 | * 调整数量,调整库存状态 |
151 | * 调整插入库存 | 149 | * 调整插入库存 |
152 | */ | 150 | */ |
153 | - //@RequiresPermissions("inventory:cyclecountAdjustDetail:addAdjust") | 151 | + @RequiresPermissions("inventory:adjustDetail:addAdjust") |
154 | @Log(title = "库存-调整单", operating = "调整单调整库存差异,调整数量", action = BusinessType.UPDATE) | 152 | @Log(title = "库存-调整单", operating = "调整单调整库存差异,调整数量", action = BusinessType.UPDATE) |
155 | @PostMapping("/adjustEdit") | 153 | @PostMapping("/adjustEdit") |
156 | @ResponseBody | 154 | @ResponseBody |
@@ -177,6 +175,7 @@ public class adjustDetailController extends BaseController { | @@ -177,6 +175,7 @@ public class adjustDetailController extends BaseController { | ||
177 | * @param ids | 175 | * @param ids |
178 | * @return | 176 | * @return |
179 | */ | 177 | */ |
178 | + @RequiresPermissions("inventory:adjustDetail:adjustAgree") | ||
180 | @Log(title = "库存-调整单", operating = "调整审批", action = BusinessType.OTHER) | 179 | @Log(title = "库存-调整单", operating = "调整审批", action = BusinessType.OTHER) |
181 | @PostMapping("/adjustAgree") | 180 | @PostMapping("/adjustAgree") |
182 | @ResponseBody | 181 | @ResponseBody |
@@ -199,7 +198,7 @@ public class adjustDetailController extends BaseController { | @@ -199,7 +198,7 @@ public class adjustDetailController extends BaseController { | ||
199 | /** | 198 | /** |
200 | * 删除调整单明细 | 199 | * 删除调整单明细 |
201 | */ | 200 | */ |
202 | - //@RequiresPermissions("inventory:cyclecountDetail:remove") | 201 | + @RequiresPermissions("inventory:adjustDetail:remove") |
203 | @Log(title = "库存-调整", operating = "删除调整单明细", action = BusinessType.DELETE) | 202 | @Log(title = "库存-调整", operating = "删除调整单明细", action = BusinessType.DELETE) |
204 | @PostMapping( "/remove") | 203 | @PostMapping( "/remove") |
205 | @ResponseBody | 204 | @ResponseBody |
@@ -212,7 +211,6 @@ public class adjustDetailController extends BaseController { | @@ -212,7 +211,6 @@ public class adjustDetailController extends BaseController { | ||
212 | return AjaxResult.error("单据状态不允许删除"); | 211 | return AjaxResult.error("单据状态不允许删除"); |
213 | } | 212 | } |
214 | adjustDetailService.removeById(id); | 213 | adjustDetailService.removeById(id); |
215 | - | ||
216 | return AjaxResult.success("删除成功!"); | 214 | return AjaxResult.success("删除成功!"); |
217 | } | 215 | } |
218 | 216 |
src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailServiceImpl.java
@@ -157,7 +157,7 @@ public class AdjustDetailServiceImpl extends ServiceImpl<AdjustDetailMapper, Adj | @@ -157,7 +157,7 @@ public class AdjustDetailServiceImpl extends ServiceImpl<AdjustDetailMapper, Adj | ||
157 | AjaxResult.error("该单据已调整,不允许再次调整!" ); | 157 | AjaxResult.error("该单据已调整,不允许再次调整!" ); |
158 | } | 158 | } |
159 | //查询调整的库存明细 | 159 | //查询调整的库存明细 |
160 | - InventoryDetail inventoryDetail = new InventoryDetail(); | 160 | + InventoryDetail inventoryDetail ; |
161 | //调整单中不带库存明细时不查询 | 161 | //调整单中不带库存明细时不查询 |
162 | if(adjustDetail.getInventoryDetailId() != null) { | 162 | if(adjustDetail.getInventoryDetailId() != null) { |
163 | inventoryDetail = inventoryDetailService.getById(adjustDetail.getInventoryDetailId()); | 163 | inventoryDetail = inventoryDetailService.getById(adjustDetail.getInventoryDetailId()); |
src/main/java/com/huaheng/pc/inventory/adjustHeader/controller/adjustHeaderController.java
@@ -44,7 +44,7 @@ public class adjustHeaderController extends BaseController { | @@ -44,7 +44,7 @@ public class adjustHeaderController extends BaseController { | ||
44 | private String prefix = "inventory/adjustHeader"; | 44 | private String prefix = "inventory/adjustHeader"; |
45 | 45 | ||
46 | 46 | ||
47 | - //@RequiresPermissions("inventory:cycleCount:view") | 47 | + @RequiresPermissions("inventory:adjustHeader:view") |
48 | @GetMapping() | 48 | @GetMapping() |
49 | public String adjustHeader() | 49 | public String adjustHeader() |
50 | { | 50 | { |
@@ -55,7 +55,7 @@ public class adjustHeaderController extends BaseController { | @@ -55,7 +55,7 @@ public class adjustHeaderController extends BaseController { | ||
55 | /** | 55 | /** |
56 | * 查询调整单主列表 | 56 | * 查询调整单主列表 |
57 | */ | 57 | */ |
58 | - //@RequiresPermissions("inventory:cycleCount:list") | 58 | + @RequiresPermissions("inventory:adjustHeader:list") |
59 | @PostMapping("/list") | 59 | @PostMapping("/list") |
60 | @Log(title = "库存-调整",operating = "查看调整主单", action = BusinessType.GRANT) | 60 | @Log(title = "库存-调整",operating = "查看调整主单", action = BusinessType.GRANT) |
61 | @ResponseBody | 61 | @ResponseBody |
@@ -101,7 +101,7 @@ public class adjustHeaderController extends BaseController { | @@ -101,7 +101,7 @@ public class adjustHeaderController extends BaseController { | ||
101 | /** | 101 | /** |
102 | * 新增保存调整单主 | 102 | * 新增保存调整单主 |
103 | */ | 103 | */ |
104 | - //@RequiresPermissions("inventory:cycleCount:add") | 104 | + @RequiresPermissions("inventory:adjustHeader:add") |
105 | @Log(title = "库存-调整",operating = "新增调整主单", action = BusinessType.INSERT) | 105 | @Log(title = "库存-调整",operating = "新增调整主单", action = BusinessType.INSERT) |
106 | @PostMapping("/addsave") | 106 | @PostMapping("/addsave") |
107 | @ResponseBody | 107 | @ResponseBody |
@@ -114,7 +114,7 @@ public class adjustHeaderController extends BaseController { | @@ -114,7 +114,7 @@ public class adjustHeaderController extends BaseController { | ||
114 | /** | 114 | /** |
115 | * 删除调整单主 | 115 | * 删除调整单主 |
116 | */ | 116 | */ |
117 | - //@RequiresPermissions("inventory:cycleCount:remove") | 117 | + @RequiresPermissions("inventory:adjustHeader:remove") |
118 | @Log(title = "库存-调整",operating = "删除调整主单", action = BusinessType.DELETE) | 118 | @Log(title = "库存-调整",operating = "删除调整主单", action = BusinessType.DELETE) |
119 | @PostMapping( "/remove") | 119 | @PostMapping( "/remove") |
120 | @ResponseBody | 120 | @ResponseBody |
@@ -124,7 +124,7 @@ public class adjustHeaderController extends BaseController { | @@ -124,7 +124,7 @@ public class adjustHeaderController extends BaseController { | ||
124 | return AjaxResult.error("id不能为空"); | 124 | return AjaxResult.error("id不能为空"); |
125 | for (Integer id : Convert.toIntArray(ids)) | 125 | for (Integer id : Convert.toIntArray(ids)) |
126 | { | 126 | { |
127 | - AjaxResult result = adjustHeaderService.delete(id); | 127 | + AjaxResult result = adjustHeaderService.deleteHeader(id); |
128 | if(result.code!=200){ | 128 | if(result.code!=200){ |
129 | return result; | 129 | return result; |
130 | } | 130 | } |
@@ -136,7 +136,7 @@ public class adjustHeaderController extends BaseController { | @@ -136,7 +136,7 @@ public class adjustHeaderController extends BaseController { | ||
136 | * 调整单打印 | 136 | * 调整单打印 |
137 | * @return | 137 | * @return |
138 | */ | 138 | */ |
139 | - //@RequiresPermissions("inventory:cyclecountAdjust:report") | 139 | + @RequiresPermissions("inventory:adjustHeader:report") |
140 | @GetMapping("/report/{id}") | 140 | @GetMapping("/report/{id}") |
141 | public String report(@PathVariable("id") Integer id, ModelMap mmap) | 141 | public String report(@PathVariable("id") Integer id, ModelMap mmap) |
142 | { | 142 | { |
src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderService.java
@@ -11,7 +11,7 @@ public interface AdjustHeaderService extends IService<AdjustHeader> { | @@ -11,7 +11,7 @@ public interface AdjustHeaderService extends IService<AdjustHeader> { | ||
11 | 11 | ||
12 | String createCode(); | 12 | String createCode(); |
13 | 13 | ||
14 | - AjaxResult delete(Integer id); | 14 | + AjaxResult deleteHeader(Integer id); |
15 | 15 | ||
16 | AjaxResult addSave(AdjustHeader adjustHeader); | 16 | AjaxResult addSave(AdjustHeader adjustHeader); |
17 | 17 |
src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderServiceImpl.java
1 | package com.huaheng.pc.inventory.adjustHeader.service; | 1 | package com.huaheng.pc.inventory.adjustHeader.service; |
2 | 2 | ||
3 | +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | ||
4 | +import com.baomidou.mybatisplus.core.toolkit.Wrappers; | ||
3 | import com.huaheng.common.utils.StringUtils; | 5 | import com.huaheng.common.utils.StringUtils; |
4 | import com.huaheng.common.utils.security.ShiroUtils; | 6 | import com.huaheng.common.utils.security.ShiroUtils; |
5 | import com.huaheng.framework.web.domain.AjaxResult; | 7 | import com.huaheng.framework.web.domain.AjaxResult; |
8 | +import com.huaheng.pc.config.warehouse.domain.Warehouse; | ||
6 | import com.huaheng.pc.inventory.adjustDetail.domain.AdjustDetail; | 9 | import com.huaheng.pc.inventory.adjustDetail.domain.AdjustDetail; |
10 | +import com.huaheng.pc.inventory.adjustDetail.service.AdjustDetailService; | ||
7 | import org.springframework.stereotype.Service; | 11 | import org.springframework.stereotype.Service; |
8 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | 12 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
9 | import com.huaheng.pc.inventory.adjustHeader.domain.AdjustHeader; | 13 | import com.huaheng.pc.inventory.adjustHeader.domain.AdjustHeader; |
@@ -13,6 +17,7 @@ import org.springframework.transaction.annotation.Transactional; | @@ -13,6 +17,7 @@ import org.springframework.transaction.annotation.Transactional; | ||
13 | import javax.annotation.Resource; | 17 | import javax.annotation.Resource; |
14 | import java.text.SimpleDateFormat; | 18 | import java.text.SimpleDateFormat; |
15 | import java.util.Date; | 19 | import java.util.Date; |
20 | +import java.util.List; | ||
16 | 21 | ||
17 | @Service | 22 | @Service |
18 | public class AdjustHeaderServiceImpl extends ServiceImpl<AdjustHeaderMapper, AdjustHeader> implements AdjustHeaderService { | 23 | public class AdjustHeaderServiceImpl extends ServiceImpl<AdjustHeaderMapper, AdjustHeader> implements AdjustHeaderService { |
@@ -20,7 +25,8 @@ public class AdjustHeaderServiceImpl extends ServiceImpl<AdjustHeaderMapper, Adj | @@ -20,7 +25,8 @@ public class AdjustHeaderServiceImpl extends ServiceImpl<AdjustHeaderMapper, Adj | ||
20 | 25 | ||
21 | @Resource | 26 | @Resource |
22 | private AdjustHeaderMapper adjustHeaderMapper; | 27 | private AdjustHeaderMapper adjustHeaderMapper; |
23 | - | 28 | + @Resource |
29 | + private AdjustDetailService adjustDetailService; | ||
24 | 30 | ||
25 | 31 | ||
26 | 32 | ||
@@ -48,22 +54,29 @@ public class AdjustHeaderServiceImpl extends ServiceImpl<AdjustHeaderMapper, Adj | @@ -48,22 +54,29 @@ public class AdjustHeaderServiceImpl extends ServiceImpl<AdjustHeaderMapper, Adj | ||
48 | } | 54 | } |
49 | 55 | ||
50 | /** | 56 | /** |
51 | - * 删除 | ||
52 | - * 空缺 | 57 | + * 调整主单删除 |
53 | * @param id | 58 | * @param id |
54 | * @return | 59 | * @return |
55 | */ | 60 | */ |
61 | + @Transactional | ||
56 | @Override | 62 | @Override |
57 | - public AjaxResult delete(Integer id) { | 63 | + public AjaxResult deleteHeader(Integer id) { |
58 | AdjustHeader adjustHeader = this.getById(id); | 64 | AdjustHeader adjustHeader = this.getById(id); |
59 | if(adjustHeader == null){ | 65 | if(adjustHeader == null){ |
60 | return AjaxResult.error("id为"+id.toString()+"的调整单不存在出,操作中止"); | 66 | return AjaxResult.error("id为"+id.toString()+"的调整单不存在出,操作中止"); |
61 | } | 67 | } |
62 | - | ||
63 | - //批量删除子单据 | 68 | + //判断该主单下有没又存在子单,没有直接删除主单,有则不能删除 |
64 | AdjustDetail temp = new AdjustDetail(); | 69 | AdjustDetail temp = new AdjustDetail(); |
65 | temp.setAdjustCode(adjustHeader.getCode()); | 70 | temp.setAdjustCode(adjustHeader.getCode()); |
71 | + temp.setCompanyCode(adjustHeader.getCompanyCode()); | ||
72 | + temp.setWarehouseCode(adjustHeader.getWarehouseCode()); | ||
73 | + LambdaQueryWrapper<AdjustDetail> lambdaQueryWrapper = Wrappers.lambdaQuery(temp); | ||
74 | + List<AdjustDetail> adjustDetails = adjustDetailService.list(lambdaQueryWrapper); | ||
75 | + if(adjustDetails.size() > 0){ | ||
76 | + throw new SecurityException("该主单存在明细,无法删除,操作失败!"); | ||
77 | + } | ||
66 | 78 | ||
79 | + adjustHeaderMapper.deleteById(id); //直接删主单 | ||
67 | return AjaxResult.success("删除成功"); | 80 | return AjaxResult.success("删除成功"); |
68 | } | 81 | } |
69 | 82 |
src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java
@@ -58,9 +58,10 @@ public class CycleCountDetailController extends BaseController { | @@ -58,9 +58,10 @@ public class CycleCountDetailController extends BaseController { | ||
58 | 58 | ||
59 | 59 | ||
60 | 60 | ||
61 | - | ||
62 | private String prefix = "inventory/cycleCountDetail"; | 61 | private String prefix = "inventory/cycleCountDetail"; |
63 | 62 | ||
63 | + | ||
64 | + @RequiresPermissions("inventory:cyclecountDetail:view") | ||
64 | @GetMapping() | 65 | @GetMapping() |
65 | public String cyclecountHeader() | 66 | public String cyclecountHeader() |
66 | { | 67 | { |
@@ -70,7 +71,7 @@ public class CycleCountDetailController extends BaseController { | @@ -70,7 +71,7 @@ public class CycleCountDetailController extends BaseController { | ||
70 | /** | 71 | /** |
71 | * 查询盘点单主列表 | 72 | * 查询盘点单主列表 |
72 | */ | 73 | */ |
73 | - //@RequiresPermissions("inventory:cycleCount:list") | 74 | + @RequiresPermissions("inventory:cycleCountDetail:list") |
74 | @PostMapping("/list") | 75 | @PostMapping("/list") |
75 | @Log(title = "库存-盘点",operating = "查看盘点明细", action = BusinessType.GRANT) | 76 | @Log(title = "库存-盘点",operating = "查看盘点明细", action = BusinessType.GRANT) |
76 | @ResponseBody | 77 | @ResponseBody |
@@ -143,19 +144,22 @@ public class CycleCountDetailController extends BaseController { | @@ -143,19 +144,22 @@ public class CycleCountDetailController extends BaseController { | ||
143 | /** | 144 | /** |
144 | * 新增保存盘点明细 | 145 | * 新增保存盘点明细 |
145 | */ | 146 | */ |
146 | - //@RequiresPermissions("inventory:cyclecountDetail:add") | 147 | + @RequiresPermissions("inventory:cyclecountDetail:add") |
147 | @Log(title = "库存-盘点", operating = "新增盘点补货明细", action = BusinessType.INSERT) | 148 | @Log(title = "库存-盘点", operating = "新增盘点补货明细", action = BusinessType.INSERT) |
148 | @PostMapping("/add") | 149 | @PostMapping("/add") |
149 | @ResponseBody | 150 | @ResponseBody |
150 | - public AjaxResult addSave(String cycleCountHeadCode, Integer[] inventoryDetailIdIds) | 151 | + public AjaxResult addSave(String cycleCountHeadCode, Integer[] inventoryDetailIds) |
151 | { | 152 | { |
152 | - return cycleCountDetailService.addDetails(cycleCountHeadCode,inventoryDetailIdIds); | 153 | + if(inventoryDetailIds == null){ |
154 | + return AjaxResult.error("盘点的库存ID不能为空!"); | ||
155 | + } | ||
156 | + return cycleCountDetailService.addDetails(cycleCountHeadCode,inventoryDetailIds); | ||
153 | } | 157 | } |
154 | 158 | ||
155 | /** | 159 | /** |
156 | * 删除盘点明细 | 160 | * 删除盘点明细 |
157 | */ | 161 | */ |
158 | - //@RequiresPermissions("inventory:cyclecountDetail:remove") | 162 | + @RequiresPermissions("inventory:cyclecountDetail:remove") |
159 | @Log(title = "库存-盘点", operating = "删除盘点明细", action = BusinessType.DELETE) | 163 | @Log(title = "库存-盘点", operating = "删除盘点明细", action = BusinessType.DELETE) |
160 | @PostMapping( "/remove") | 164 | @PostMapping( "/remove") |
161 | @ResponseBody | 165 | @ResponseBody |
@@ -194,7 +198,7 @@ public class CycleCountDetailController extends BaseController { | @@ -194,7 +198,7 @@ public class CycleCountDetailController extends BaseController { | ||
194 | } | 198 | } |
195 | 199 | ||
196 | /**生成全部盘点任务*/ | 200 | /**生成全部盘点任务*/ |
197 | - //@RequiresPermissions("inventory:cyclecountDetail:createTask") | 201 | + @RequiresPermissions("inventory:cyclecountDetail:createTask") |
198 | @PostMapping("/createCycleCountTaskByHeadId") | 202 | @PostMapping("/createCycleCountTaskByHeadId") |
199 | @ResponseBody | 203 | @ResponseBody |
200 | public AjaxResult createCycleCountTaskByHeadId(String cycleCountHeadCode){ | 204 | public AjaxResult createCycleCountTaskByHeadId(String cycleCountHeadCode){ |
@@ -205,7 +209,7 @@ public class CycleCountDetailController extends BaseController { | @@ -205,7 +209,7 @@ public class CycleCountDetailController extends BaseController { | ||
205 | } | 209 | } |
206 | 210 | ||
207 | /**生成单条盘点任务*/ | 211 | /**生成单条盘点任务*/ |
208 | - //@RequiresPermissions("inventory:cyclecountDetail:createTask") | 212 | + @RequiresPermissions("inventory:cyclecountDetail:createTask") |
209 | @PostMapping("/createCycleCoutTaskByDetailId") | 213 | @PostMapping("/createCycleCoutTaskByDetailId") |
210 | @ResponseBody | 214 | @ResponseBody |
211 | public AjaxResult createCycleCoutTaskByDetailId(Integer cycleCoutdetailId){ | 215 | public AjaxResult createCycleCoutTaskByDetailId(Integer cycleCoutdetailId){ |
@@ -221,10 +225,11 @@ public class CycleCountDetailController extends BaseController { | @@ -221,10 +225,11 @@ public class CycleCountDetailController extends BaseController { | ||
221 | * @param qty | 225 | * @param qty |
222 | * @return | 226 | * @return |
223 | */ | 227 | */ |
224 | - //@RequiresPermissions("inventory:cyclecountDetail:confirm") | 228 | + @RequiresPermissions("inventory:cyclecountDetail:confirm") |
225 | @PostMapping("/confirmGapQty") | 229 | @PostMapping("/confirmGapQty") |
226 | @ResponseBody | 230 | @ResponseBody |
227 | public AjaxResult confirmGapQty(Integer detailId, BigDecimal qty){ | 231 | public AjaxResult confirmGapQty(Integer detailId, BigDecimal qty){ |
232 | + | ||
228 | return cycleCountDetailService.confirmGapQty(detailId,qty); | 233 | return cycleCountDetailService.confirmGapQty(detailId,qty); |
229 | } | 234 | } |
230 | 235 | ||
@@ -233,11 +238,13 @@ public class CycleCountDetailController extends BaseController { | @@ -233,11 +238,13 @@ public class CycleCountDetailController extends BaseController { | ||
233 | * @param cycleCountHeadCode | 238 | * @param cycleCountHeadCode |
234 | * @return | 239 | * @return |
235 | */ | 240 | */ |
236 | - //@RequiresPermissions("inventory:cyclecountDetail:cyclecountRepeat") | 241 | + @RequiresPermissions("inventory:cyclecountDetail:cyclecountRepeat") |
237 | @PostMapping("/createCyclecountWithGapQty") | 242 | @PostMapping("/createCyclecountWithGapQty") |
238 | @ResponseBody | 243 | @ResponseBody |
239 | public AjaxResult createCyclecountWithGapQty(String cycleCountHeadCode){ | 244 | public AjaxResult createCyclecountWithGapQty(String cycleCountHeadCode){ |
240 | - | 245 | + if(StringUtils.isEmpty(cycleCountHeadCode)){ |
246 | + return AjaxResult.error("需要复盘的盘点单编码不能为空!"); | ||
247 | + } | ||
241 | return cycleCountDetailService.createCyclecountWithGapQty(cycleCountHeadCode); | 248 | return cycleCountDetailService.createCyclecountWithGapQty(cycleCountHeadCode); |
242 | } | 249 | } |
243 | 250 |
src/main/java/com/huaheng/pc/inventory/cycleCountDetail/service/CycleCountDetailServiceImpl.java
@@ -48,10 +48,6 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap | @@ -48,10 +48,6 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap | ||
48 | 48 | ||
49 | 49 | ||
50 | 50 | ||
51 | - | ||
52 | - | ||
53 | - | ||
54 | - | ||
55 | /** | 51 | /** |
56 | * 执行任务修改状态为10 | 52 | * 执行任务修改状态为10 |
57 | * @param detailid | 53 | * @param detailid |
@@ -131,7 +127,7 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap | @@ -131,7 +127,7 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap | ||
131 | ccd.setCompanyCode(inventoryDetail.getCompanyCode()); | 127 | ccd.setCompanyCode(inventoryDetail.getCompanyCode()); |
132 | ccd.setInventorySts(inventoryDetail.getInventorySts()); | 128 | ccd.setInventorySts(inventoryDetail.getInventorySts()); |
133 | ccd.setCountId(inventoryDetail.getId()); | 129 | ccd.setCountId(inventoryDetail.getId()); |
134 | - ccd.setEnableStatus(5); | 130 | + //ccd.setEnableStatus(1); |
135 | ccd.setLocationCode(inventoryDetail.getLocationCode()); | 131 | ccd.setLocationCode(inventoryDetail.getLocationCode()); |
136 | ccd.setContainerCode(inventoryDetail.getContainerCode()); | 132 | ccd.setContainerCode(inventoryDetail.getContainerCode()); |
137 | ccd.setMaterialCode(inventoryDetail.getMaterialCode()); | 133 | ccd.setMaterialCode(inventoryDetail.getMaterialCode()); |
@@ -226,10 +222,10 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap | @@ -226,10 +222,10 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap | ||
226 | LambdaQueryWrapper<Location> lambdaQueryWrapper = Wrappers.lambdaQuery(temp); | 222 | LambdaQueryWrapper<Location> lambdaQueryWrapper = Wrappers.lambdaQuery(temp); |
227 | Location loc = locationService.getOne(lambdaQueryWrapper); | 223 | Location loc = locationService.getOne(lambdaQueryWrapper); |
228 | if(!loc.getStatus().equals("empty")){ | 224 | if(!loc.getStatus().equals("empty")){ |
229 | - return AjaxResult.error(cycleCountDetail.getLocationCode()+"状态非空闲,操作失败"); | 225 | + return AjaxResult.error(cycleCountDetail.getLocationCode()+"库位不在空闲状态,请先完成其他任务,操作失败!"); |
230 | } | 226 | } |
231 | if(StringUtils.isEmpty(loc.getContainerCode())){ | 227 | if(StringUtils.isEmpty(loc.getContainerCode())){ |
232 | - return AjaxResult.error(cycleCountDetail.getLocationCode()+"没有托盘,操作失败"); | 228 | + return AjaxResult.error(cycleCountDetail.getLocationCode()+"库位中没有容器,操作失败!"); |
233 | } | 229 | } |
234 | 230 | ||
235 | //查询任务头和明细有相同容器,没有就新增任务头和明细 | 231 | //查询任务头和明细有相同容器,没有就新增任务头和明细 |
@@ -363,9 +359,9 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap | @@ -363,9 +359,9 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap | ||
363 | if (inventoryDetail == null) { | 359 | if (inventoryDetail == null) { |
364 | return AjaxResult.error("没有对应库存信息,请重建盘点单"); | 360 | return AjaxResult.error("没有对应库存信息,请重建盘点单"); |
365 | } | 361 | } |
366 | - if(qty.compareTo(inventoryDetail.getTaskQty()) < 0){ | 362 | + /*if(qty.compareTo(inventoryDetail.getTaskQty()) < 0){ |
367 | return AjaxResult.error("登记数量不能小于任务分配数量"); | 363 | return AjaxResult.error("登记数量不能小于任务分配数量"); |
368 | - } | 364 | + }*/ |
369 | } | 365 | } |
370 | cyclecountDetail.setCountedQty(qty); | 366 | cyclecountDetail.setCountedQty(qty); |
371 | cyclecountDetail.setGapQty(qty.subtract(cyclecountDetail.getSystemQty())); | 367 | cyclecountDetail.setGapQty(qty.subtract(cyclecountDetail.getSystemQty())); |
@@ -390,7 +386,6 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap | @@ -390,7 +386,6 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap | ||
390 | public AjaxResult createCyclecountWithGapQty(String cycleCountHeaderCode) { | 386 | public AjaxResult createCyclecountWithGapQty(String cycleCountHeaderCode) { |
391 | /*找出实盘登记中数量有差异的,重新生成盘点单*/ | 387 | /*找出实盘登记中数量有差异的,重新生成盘点单*/ |
392 | 388 | ||
393 | - | ||
394 | CycleCountHeader cycleCountHeader = new CycleCountHeader(); | 389 | CycleCountHeader cycleCountHeader = new CycleCountHeader(); |
395 | cycleCountHeader.setWarehouseCode(ShiroUtils.getWarehouseCode()); | 390 | cycleCountHeader.setWarehouseCode(ShiroUtils.getWarehouseCode()); |
396 | cycleCountHeader.setCode(cycleCountHeaderCode); | 391 | cycleCountHeader.setCode(cycleCountHeaderCode); |
@@ -409,22 +404,30 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap | @@ -409,22 +404,30 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap | ||
409 | if(countHeader != null){ | 404 | if(countHeader != null){ |
410 | return AjaxResult.error("该单据已生成复盘单,请勿重复生成!"); | 405 | return AjaxResult.error("该单据已生成复盘单,请勿重复生成!"); |
411 | } | 406 | } |
407 | + //没有盘点明细或明细都没有差异时不生成复盘单 | ||
408 | + | ||
412 | CycleCountDetail cycleCountDetail = new CycleCountDetail(); | 409 | CycleCountDetail cycleCountDetail = new CycleCountDetail(); |
413 | - cycleCountDetail.setTaskHeaderId(cycleCountHeader.getId()); | 410 | + cycleCountDetail.setCycleCountHeadCode(cycleCountHeaderCode); |
414 | cycleCountDetail.setWarehouseCode(cycleCountHeader.getWarehouseCode()); | 411 | cycleCountDetail.setWarehouseCode(cycleCountHeader.getWarehouseCode()); |
415 | cycleCountDetail.setCompanyCode(cycleCountHeader.getCompanyCode()); | 412 | cycleCountDetail.setCompanyCode(cycleCountHeader.getCompanyCode()); |
416 | - LambdaQueryWrapper<CycleCountDetail> cycleCountDetailLambdaQueryWrapper = Wrappers.lambdaQuery(); | 413 | + LambdaQueryWrapper<CycleCountDetail> cycleCountDetailLambdaQueryWrapper = Wrappers.lambdaQuery(cycleCountDetail); |
417 | List<CycleCountDetail> cycleCountDetails = this.list(cycleCountDetailLambdaQueryWrapper);//明细 | 414 | List<CycleCountDetail> cycleCountDetails = this.list(cycleCountDetailLambdaQueryWrapper);//明细 |
418 | if(cycleCountDetails.size() == 0){ | 415 | if(cycleCountDetails.size() == 0){ |
419 | - throw new SecurityException("没有明细!"); | 416 | + throw new SecurityException("没有盘点明细条目,操作失败!"); |
420 | } | 417 | } |
421 | //生成复盘盘点主单 | 418 | //生成复盘盘点主单 |
422 | - cycleCountHeader.setCode(cycleCountHeaderService.createCode()); | ||
423 | - cycleCountHeader.setRound(cycleCountHeader.getRound() + 1);//盘点轮次+1 | ||
424 | - cycleCountHeader.setCreated(new Date()); | ||
425 | - cycleCountHeader.setCreatedBy(ShiroUtils.getLoginName()); | ||
426 | - cycleCountHeader.setSourceCode(cycleCountHeaderCode);//源盘点单号 | ||
427 | - if(!cycleCountHeaderService.saveOrUpdate(cycleCountHeader)){ | 419 | + CycleCountHeader cycleCountHeader1 = new CycleCountHeader(); |
420 | + String cycleCountHeaderCode1 = cycleCountHeaderService.createCode(); | ||
421 | + cycleCountHeader1.setCode(cycleCountHeaderCode1); | ||
422 | + cycleCountHeader1.setCompanyCode(cycleCountHeader.getCompanyCode()); | ||
423 | + cycleCountHeader1.setWarehouseCode(cycleCountHeader.getWarehouseCode()); | ||
424 | + cycleCountHeader1.setRound(cycleCountHeader.getRound() + 1);//盘点轮次+1 | ||
425 | + cycleCountHeader1.setCountType(cycleCountHeader.getCountType()); | ||
426 | + cycleCountHeader1.setCreated(new Date()); | ||
427 | + cycleCountHeader1.setCreatedBy(ShiroUtils.getLoginName()); | ||
428 | + cycleCountHeader1.setLastUpdatedBy(ShiroUtils.getLoginName()); | ||
429 | + cycleCountHeader1.setSourceCode(cycleCountHeaderCode);//源盘点单号 | ||
430 | + if(!cycleCountHeaderService.saveOrUpdate(cycleCountHeader1)){ | ||
428 | throw new ServiceException("复盘主单生成失败!"); | 431 | throw new ServiceException("复盘主单生成失败!"); |
429 | } | 432 | } |
430 | //获取差异数量不为零的子单重新再生成盘点单 | 433 | //获取差异数量不为零的子单重新再生成盘点单 |
@@ -433,20 +436,23 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap | @@ -433,20 +436,23 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap | ||
433 | //getGapQty不能为null默认值为0 | 436 | //getGapQty不能为null默认值为0 |
434 | int f = item.getGapQty().compareTo(BigDecimal.ZERO); | 437 | int f = item.getGapQty().compareTo(BigDecimal.ZERO); |
435 | if(f > 0){ | 438 | if(f > 0){ |
439 | + item.setCycleCountHeadCode(cycleCountHeaderCode1); | ||
436 | item.setCountedQty(null); | 440 | item.setCountedQty(null); |
437 | item.setGapQty(BigDecimal.ZERO); | 441 | item.setGapQty(BigDecimal.ZERO); |
442 | + item.setEnableStatus(1); | ||
438 | item.setCreatedBy(ShiroUtils.getLoginName()); | 443 | item.setCreatedBy(ShiroUtils.getLoginName()); |
439 | item.setCreated(new Date()); | 444 | item.setCreated(new Date()); |
440 | cycleCountDetailList.add(item); | 445 | cycleCountDetailList.add(item); |
441 | } | 446 | } |
442 | - | ||
443 | } | 447 | } |
444 | if(cycleCountDetailList.size() == 0){ | 448 | if(cycleCountDetailList.size() == 0){ |
445 | - throw new SecurityException("该单据没有符合复盘条件的明细!"); | 449 | + throw new SecurityException("该主单据没有符合复盘条件的明细!"); |
446 | } | 450 | } |
447 | - if(!this.saveBatch(cycleCountDetailList)){ | 451 | + Boolean j = this.saveBatch(cycleCountDetailList); |
452 | + if(j == false ){ | ||
448 | throw new ServiceException("复盘明细子单生成失败"); | 453 | throw new ServiceException("复盘明细子单生成失败"); |
449 | } | 454 | } |
455 | + | ||
450 | return AjaxResult.success("生成复盘单成功!"); | 456 | return AjaxResult.success("生成复盘单成功!"); |
451 | } | 457 | } |
452 | 458 |
src/main/java/com/huaheng/pc/inventory/cycleCountHeader/controller/CycleCountHeaderController.java
@@ -44,15 +44,12 @@ public class CycleCountHeaderController extends BaseController { | @@ -44,15 +44,12 @@ public class CycleCountHeaderController extends BaseController { | ||
44 | private CycleCountHeaderService cycleCountHeaderService; | 44 | private CycleCountHeaderService cycleCountHeaderService; |
45 | @Resource | 45 | @Resource |
46 | private CycleCountDetailService cycleCountDetailService; | 46 | private CycleCountDetailService cycleCountDetailService; |
47 | - @Resource | ||
48 | - private AdjustHeaderService adjustHeaderService; | ||
49 | - | ||
50 | 47 | ||
51 | 48 | ||
52 | private String prefix = "inventory/cycleCountHeader"; | 49 | private String prefix = "inventory/cycleCountHeader"; |
53 | 50 | ||
54 | 51 | ||
55 | - //@RequiresPermissions("inventory:cycleCount:view") | 52 | + @RequiresPermissions("inventory:cycleCountHeader:view") |
56 | @GetMapping() | 53 | @GetMapping() |
57 | public String cyclecountHeader() | 54 | public String cyclecountHeader() |
58 | { | 55 | { |
@@ -62,7 +59,7 @@ public class CycleCountHeaderController extends BaseController { | @@ -62,7 +59,7 @@ public class CycleCountHeaderController extends BaseController { | ||
62 | /** | 59 | /** |
63 | * 查询盘点单主列表 | 60 | * 查询盘点单主列表 |
64 | */ | 61 | */ |
65 | - //@RequiresPermissions("inventory:cycleCount:list") | 62 | + @RequiresPermissions("inventory:cycleCountHeader:list") |
66 | @PostMapping("/list") | 63 | @PostMapping("/list") |
67 | @Log(title = "库存-盘点",operating = "查看盘点主单", action = BusinessType.GRANT) | 64 | @Log(title = "库存-盘点",operating = "查看盘点主单", action = BusinessType.GRANT) |
68 | @ResponseBody | 65 | @ResponseBody |
@@ -95,6 +92,9 @@ public class CycleCountHeaderController extends BaseController { | @@ -95,6 +92,9 @@ public class CycleCountHeaderController extends BaseController { | ||
95 | } | 92 | } |
96 | 93 | ||
97 | } | 94 | } |
95 | + | ||
96 | + | ||
97 | + | ||
98 | /** | 98 | /** |
99 | * 新增盘点单主 | 99 | * 新增盘点单主 |
100 | */ | 100 | */ |
@@ -107,7 +107,7 @@ public class CycleCountHeaderController extends BaseController { | @@ -107,7 +107,7 @@ public class CycleCountHeaderController extends BaseController { | ||
107 | /** | 107 | /** |
108 | * 新增保存盘点单主 | 108 | * 新增保存盘点单主 |
109 | */ | 109 | */ |
110 | - //@RequiresPermissions("inventory:cycleCount:add") | 110 | + @RequiresPermissions("inventory:cycleCountHeader:add") |
111 | @Log(title = "库存-盘点",operating = "新增盘点主单", action = BusinessType.INSERT) | 111 | @Log(title = "库存-盘点",operating = "新增盘点主单", action = BusinessType.INSERT) |
112 | @PostMapping("/add") | 112 | @PostMapping("/add") |
113 | @ResponseBody | 113 | @ResponseBody |
@@ -137,7 +137,7 @@ public class CycleCountHeaderController extends BaseController { | @@ -137,7 +137,7 @@ public class CycleCountHeaderController extends BaseController { | ||
137 | /** | 137 | /** |
138 | * 修改保存盘点单主 | 138 | * 修改保存盘点单主 |
139 | */ | 139 | */ |
140 | - //@RequiresPermissions("inventory:cycleCount:edit") | 140 | + @RequiresPermissions("inventory:cycleCountHeader:edit") |
141 | @Log(title = "库存-盘点",operating = "修改盘点主单", action = BusinessType.UPDATE) | 141 | @Log(title = "库存-盘点",operating = "修改盘点主单", action = BusinessType.UPDATE) |
142 | @PostMapping("/edit") | 142 | @PostMapping("/edit") |
143 | @ResponseBody | 143 | @ResponseBody |
@@ -151,7 +151,7 @@ public class CycleCountHeaderController extends BaseController { | @@ -151,7 +151,7 @@ public class CycleCountHeaderController extends BaseController { | ||
151 | /** | 151 | /** |
152 | * 删除盘点单主 | 152 | * 删除盘点单主 |
153 | */ | 153 | */ |
154 | - //@RequiresPermissions("inventory:cycleCount:remove") | 154 | + @RequiresPermissions("inventory:cycleCountHeader:remove") |
155 | @Log(title = "库存-盘点",operating = "删除盘点主单", action = BusinessType.DELETE) | 155 | @Log(title = "库存-盘点",operating = "删除盘点主单", action = BusinessType.DELETE) |
156 | @PostMapping( "/remove") | 156 | @PostMapping( "/remove") |
157 | @ResponseBody | 157 | @ResponseBody |
@@ -173,7 +173,7 @@ public class CycleCountHeaderController extends BaseController { | @@ -173,7 +173,7 @@ public class CycleCountHeaderController extends BaseController { | ||
173 | * | 173 | * |
174 | * 生成调整单 | 174 | * 生成调整单 |
175 | * */ | 175 | * */ |
176 | - //@RequiresPermissions("inventory:cyclecountHead:addAdjust") | 176 | + @RequiresPermissions("inventory:cyclecountHead:addAdjust") |
177 | @Log(title = "库存-盘点", operating = "新增盘点差异调整单", action = BusinessType.INSERT) | 177 | @Log(title = "库存-盘点", operating = "新增盘点差异调整单", action = BusinessType.INSERT) |
178 | @PostMapping("/goAdjust") | 178 | @PostMapping("/goAdjust") |
179 | @ResponseBody | 179 | @ResponseBody |
@@ -187,7 +187,7 @@ public class CycleCountHeaderController extends BaseController { | @@ -187,7 +187,7 @@ public class CycleCountHeaderController extends BaseController { | ||
187 | * 盘点单报表打印 | 187 | * 盘点单报表打印 |
188 | * @return | 188 | * @return |
189 | */ | 189 | */ |
190 | - //@RequiresPermissions("inventory:cycleCount:report") | 190 | + @RequiresPermissions("inventory:cycleCountHeader:report") |
191 | @GetMapping("/report/{id}") | 191 | @GetMapping("/report/{id}") |
192 | public String report(@PathVariable("id") Integer id, ModelMap mmap) | 192 | public String report(@PathVariable("id") Integer id, ModelMap mmap) |
193 | { | 193 | { |
src/main/java/com/huaheng/pc/inventory/cycleCountHeader/service/CycleCountHeaderServiceImpl.java
@@ -169,12 +169,10 @@ public class CycleCountHeaderServiceImpl extends ServiceImpl<CycleCountHeaderMap | @@ -169,12 +169,10 @@ public class CycleCountHeaderServiceImpl extends ServiceImpl<CycleCountHeaderMap | ||
169 | 169 | ||
170 | //查询该条盘点单头 id | 170 | //查询该条盘点单头 id |
171 | CycleCountHeader cyclecountHeader = cycleCountHeaderMapper.selectById(id); | 171 | CycleCountHeader cyclecountHeader = cycleCountHeaderMapper.selectById(id); |
172 | - | ||
173 | - if(cyclecountHeader.getStatusCyc() >= 35){ | 172 | + if(cyclecountHeader.getStatusCyc() < 100){ |
174 | //查询是否已生成差异单 | 173 | //查询是否已生成差异单 |
175 | - throw new ServiceException("该条盘点单无法生成调整单,请检查状态!"); | 174 | + throw new ServiceException("该条盘点单无法生成调整单,必须为盘点任务完成,请检查状态!"); |
176 | } | 175 | } |
177 | - | ||
178 | AdjustHeader adjustHeader = new AdjustHeader(); | 176 | AdjustHeader adjustHeader = new AdjustHeader(); |
179 | adjustHeader.setWarehouseCode(ShiroUtils.getWarehouseCode());//仓库 | 177 | adjustHeader.setWarehouseCode(ShiroUtils.getWarehouseCode());//仓库 |
180 | adjustHeader.setCode(adjustHeaderService.createCode());//生成差异单号 | 178 | adjustHeader.setCode(adjustHeaderService.createCode());//生成差异单号 |
@@ -197,6 +195,7 @@ public class CycleCountHeaderServiceImpl extends ServiceImpl<CycleCountHeaderMap | @@ -197,6 +195,7 @@ public class CycleCountHeaderServiceImpl extends ServiceImpl<CycleCountHeaderMap | ||
197 | //AdjustHeader adjust = adjustHeaderService.getById(adjustHeader.getId()); | 195 | //AdjustHeader adjust = adjustHeaderService.getById(adjustHeader.getId()); |
198 | //循环明细条目,查找符合条件的数据写入调整单明细 | 196 | //循环明细条目,查找符合条件的数据写入调整单明细 |
199 | AdjustDetail adjustDetail = new AdjustDetail(); | 197 | AdjustDetail adjustDetail = new AdjustDetail(); |
198 | + List<AdjustDetail> adjustDetails = new ArrayList<>(); | ||
200 | for(CycleCountDetail item:cycleCountDetailList){ | 199 | for(CycleCountDetail item:cycleCountDetailList){ |
201 | //BigDecimal的比较 .compareTo(BigDecimal.ZERO) != 0 | 200 | //BigDecimal的比较 .compareTo(BigDecimal.ZERO) != 0 |
202 | 201 | ||
@@ -224,14 +223,16 @@ public class CycleCountHeaderServiceImpl extends ServiceImpl<CycleCountHeaderMap | @@ -224,14 +223,16 @@ public class CycleCountHeaderServiceImpl extends ServiceImpl<CycleCountHeaderMap | ||
224 | adjustDetail.setCreated(new Date()); | 223 | adjustDetail.setCreated(new Date()); |
225 | adjustDetail.setCreatedBy(ShiroUtils.getLoginName()); | 224 | adjustDetail.setCreatedBy(ShiroUtils.getLoginName()); |
226 | //adjustDetail.setStatus(0);//状态 | 225 | //adjustDetail.setStatus(0);//状态 |
227 | - | ||
228 | - adjustDetailService.save(adjustDetail); | 226 | + adjustDetails.add(adjustDetail); |
227 | + //adjustDetailService.save(adjustDetail); | ||
229 | } | 228 | } |
230 | - | ||
231 | } | 229 | } |
232 | - | 230 | + if(adjustDetails.size() == 0 ){ |
231 | + throw new SecurityException("该盘点单没有差异数据条目,无法生成调整单!"); | ||
232 | + } | ||
233 | + adjustDetailService.saveBatch(adjustDetails); | ||
233 | //修改盘点主单状态为已生成差异单 | 234 | //修改盘点主单状态为已生成差异单 |
234 | - cyclecountHeader.setStatusCyc(35); | 235 | + cyclecountHeader.setStatusCyc(101); |
235 | this.saveOrUpdate(cyclecountHeader); | 236 | this.saveOrUpdate(cyclecountHeader); |
236 | 237 | ||
237 | return AjaxResult.success("差异调整及明细单生成完毕!"); | 238 | return AjaxResult.success("差异调整及明细单生成完毕!"); |
src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/service/ReceiptContainerDetailServiceImpl.java
@@ -59,6 +59,9 @@ public class ReceiptContainerDetailServiceImpl extends ServiceImpl<ReceiptContai | @@ -59,6 +59,9 @@ public class ReceiptContainerDetailServiceImpl extends ServiceImpl<ReceiptContai | ||
59 | ReceiptDetail receiptDetail = receiptDetailService.getById(receiptContainerDetail.getReceiptDetailId()); | 59 | ReceiptDetail receiptDetail = receiptDetailService.getById(receiptContainerDetail.getReceiptDetailId()); |
60 | receiptDetail.setOpenQty(receiptDetail.getOpenQty().subtract(receiptContainerDetail.getQty())); | 60 | receiptDetail.setOpenQty(receiptDetail.getOpenQty().subtract(receiptContainerDetail.getQty())); |
61 | 61 | ||
62 | + //如果为临时容器,则删除 | ||
63 | + receiptContainerDetail.getContainerCode(); | ||
64 | + | ||
62 | if (!receiptDetailService.updateById(receiptDetail)){throw new SecurityException("回滚入库单明细失败");} | 65 | if (!receiptDetailService.updateById(receiptDetail)){throw new SecurityException("回滚入库单明细失败");} |
63 | //删除组盘明细 | 66 | //删除组盘明细 |
64 | if (!this.removeById(id)){ throw new ServiceException("回滚入库组盘失败");} | 67 | if (!this.removeById(id)){ throw new ServiceException("回滚入库组盘失败");} |
@@ -70,12 +73,15 @@ public class ReceiptContainerDetailServiceImpl extends ServiceImpl<ReceiptContai | @@ -70,12 +73,15 @@ public class ReceiptContainerDetailServiceImpl extends ServiceImpl<ReceiptContai | ||
70 | throw new ServiceException("删除入库组盘头失败"); | 73 | throw new ServiceException("删除入库组盘头失败"); |
71 | } | 74 | } |
72 | } | 75 | } |
76 | + | ||
73 | //查询入库头表 | 77 | //查询入库头表 |
74 | LambdaQueryWrapper<ReceiptContainerDetail> containerDetailLambda = Wrappers.lambdaQuery(); | 78 | LambdaQueryWrapper<ReceiptContainerDetail> containerDetailLambda = Wrappers.lambdaQuery(); |
75 | containerDetailLambda.eq(ReceiptContainerDetail::getReceiptId, receiptContainerDetail.getReceiptId()); | 79 | containerDetailLambda.eq(ReceiptContainerDetail::getReceiptId, receiptContainerDetail.getReceiptId()); |
76 | List<ReceiptContainerDetail> containerDetailList = this.list(containerDetailLambda); | 80 | List<ReceiptContainerDetail> containerDetailList = this.list(containerDetailLambda); |
81 | + | ||
82 | + | ||
77 | //如果入库组盘没有该入库单的组盘信息,回滚入库单状态 | 83 | //如果入库组盘没有该入库单的组盘信息,回滚入库单状态 |
78 | - if (containerDetailList == null){ | 84 | + if (containerDetailList.size() == 0){ |
79 | ReceiptHeader receiptHeader = new ReceiptHeader(); | 85 | ReceiptHeader receiptHeader = new ReceiptHeader(); |
80 | receiptHeader.setId(receiptContainerDetail.getReceiptId()); | 86 | receiptHeader.setId(receiptContainerDetail.getReceiptId()); |
81 | receiptHeader.setFirstStatus(200); | 87 | receiptHeader.setFirstStatus(200); |
src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java
@@ -72,6 +72,7 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai | @@ -72,6 +72,7 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai | ||
72 | //检查容器编码合法性 | 72 | //检查容器编码合法性 |
73 | Integer taskType = checkContainer(containerCode, detail.getMaterialCode()); | 73 | Integer taskType = checkContainer(containerCode, detail.getMaterialCode()); |
74 | if (taskType == 1){ | 74 | if (taskType == 1){ |
75 | + //创建临时容器 | ||
75 | containerCode = createContainer(); | 76 | containerCode = createContainer(); |
76 | taskType = 100; | 77 | taskType = 100; |
77 | }else { | 78 | }else { |
@@ -97,6 +98,8 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai | @@ -97,6 +98,8 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai | ||
97 | receiptContainerHeader.setWarehouseCode(ShiroUtils.getWarehouseCode()); | 98 | receiptContainerHeader.setWarehouseCode(ShiroUtils.getWarehouseCode()); |
98 | receiptContainerHeader.setCompanyCode(receiptDetail.getCompanyCode()); | 99 | receiptContainerHeader.setCompanyCode(receiptDetail.getCompanyCode()); |
99 | receiptContainerHeader.setContainerCode(containerCode); | 100 | receiptContainerHeader.setContainerCode(containerCode); |
101 | + Container container = containerService.findAllByCode(containerCode); | ||
102 | + receiptContainerHeader.setContainerType(container.getContainerType()); | ||
100 | receiptContainerHeader.setTaskType(String.valueOf(taskType)); | 103 | receiptContainerHeader.setTaskType(String.valueOf(taskType)); |
101 | receiptContainerHeader.setProjectNo(receiptDetail.getProjectNo()); | 104 | receiptContainerHeader.setProjectNo(receiptDetail.getProjectNo()); |
102 | receiptContainerHeader.setToLocation(locationCode); | 105 | receiptContainerHeader.setToLocation(locationCode); |
@@ -128,6 +131,11 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai | @@ -128,6 +131,11 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai | ||
128 | receiptContainerDetailAdd(receiptContainerHeaders.get(0).getId(), receiptDetail, qty, containerCode, locationCode); | 131 | receiptContainerDetailAdd(receiptContainerHeaders.get(0).getId(), receiptDetail, qty, containerCode, locationCode); |
129 | //如果单据数量等于已收数量,更新入库详情状态和入库单状态 | 132 | //如果单据数量等于已收数量,更新入库详情状态和入库单状态 |
130 | if (receiptDetail.getTotalQty() == receiptDetail.getOpenQty()){ | 133 | if (receiptDetail.getTotalQty() == receiptDetail.getOpenQty()){ |
134 | + receiptDetail.setProcessStamp("200"); | ||
135 | + if (!receiptDetailService.updateById(receiptDetail)){ | ||
136 | + throw new ServiceException("更新入库详情处理标记失败"); | ||
137 | + } | ||
138 | + | ||
131 | ReceiptDetail receiptDetail1 = receiptDetailService.queryflow(receiptDetail); | 139 | ReceiptDetail receiptDetail1 = receiptDetailService.queryflow(receiptDetail); |
132 | if (!receiptDetailService.updateById(receiptDetail1)){ | 140 | if (!receiptDetailService.updateById(receiptDetail1)){ |
133 | throw new ServiceException("更新入库详情下一流程失败"); | 141 | throw new ServiceException("更新入库详情下一流程失败"); |
@@ -182,7 +190,9 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai | @@ -182,7 +190,9 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai | ||
182 | } | 190 | } |
183 | } | 191 | } |
184 | //删除入库组盘头表 | 192 | //删除入库组盘头表 |
185 | - this.removeById(id); | 193 | + if (!this.removeById(id)){ |
194 | + throw new ServiceException("删除入库组盘头表失败"); | ||
195 | + } | ||
186 | } else { | 196 | } else { |
187 | throw new ServiceException("已生成任务不允许取消"); | 197 | throw new ServiceException("已生成任务不允许取消"); |
188 | } | 198 | } |
src/main/java/com/huaheng/pc/receipt/receiptDetail/domain/ReceiptDetail.java
@@ -6,6 +6,8 @@ import io.swagger.annotations.ApiModelProperty; | @@ -6,6 +6,8 @@ import io.swagger.annotations.ApiModelProperty; | ||
6 | import java.io.Serializable; | 6 | import java.io.Serializable; |
7 | import java.math.BigDecimal; | 7 | import java.math.BigDecimal; |
8 | import java.util.Date; | 8 | import java.util.Date; |
9 | + | ||
10 | +import io.swagger.annotations.ApiParam; | ||
9 | import lombok.Data; | 11 | import lombok.Data; |
10 | 12 | ||
11 | @ApiModel(value = "com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail") | 13 | @ApiModel(value = "com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail") |
@@ -341,4 +343,11 @@ public class ReceiptDetail implements Serializable { | @@ -341,4 +343,11 @@ public class ReceiptDetail implements Serializable { | ||
341 | @ApiModelProperty(value = "是否删除") | 343 | @ApiModelProperty(value = "是否删除") |
342 | private Boolean deleted; | 344 | private Boolean deleted; |
343 | 345 | ||
346 | + /** | ||
347 | + * 流程编码 | ||
348 | + */ | ||
349 | + @TableField(value = "statusFlowCode") | ||
350 | + @ApiModelProperty(value = "流程编码") | ||
351 | + private String statusFlowCode; | ||
352 | + | ||
344 | } | 353 | } |
345 | \ No newline at end of file | 354 | \ No newline at end of file |
src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java
@@ -7,6 +7,10 @@ import com.huaheng.common.support.Convert; | @@ -7,6 +7,10 @@ import com.huaheng.common.support.Convert; | ||
7 | import com.huaheng.common.utils.StringUtils; | 7 | import com.huaheng.common.utils.StringUtils; |
8 | import com.huaheng.common.utils.security.ShiroUtils; | 8 | import com.huaheng.common.utils.security.ShiroUtils; |
9 | import com.huaheng.framework.web.domain.AjaxResult; | 9 | import com.huaheng.framework.web.domain.AjaxResult; |
10 | +import com.huaheng.pc.check.checkHeader.domain.CheckHeader; | ||
11 | +import com.huaheng.pc.check.checkHeader.service.CheckHeaderService; | ||
12 | +import com.huaheng.pc.config.configValue.domain.ConfigValue; | ||
13 | +import com.huaheng.pc.config.configValue.service.ConfigValueService; | ||
10 | import com.huaheng.pc.config.material.domain.Material; | 14 | import com.huaheng.pc.config.material.domain.Material; |
11 | import com.huaheng.pc.config.material.service.MaterialService; | 15 | import com.huaheng.pc.config.material.service.MaterialService; |
12 | import com.huaheng.pc.config.materialType.domain.MaterialType; | 16 | import com.huaheng.pc.config.materialType.domain.MaterialType; |
@@ -19,6 +23,7 @@ import com.huaheng.pc.config.statusFlow.domain.StatusFlowDetail; | @@ -19,6 +23,7 @@ import com.huaheng.pc.config.statusFlow.domain.StatusFlowDetail; | ||
19 | import com.huaheng.pc.config.statusFlow.service.StatusFlowDetailService; | 23 | import com.huaheng.pc.config.statusFlow.service.StatusFlowDetailService; |
20 | import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader; | 24 | import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader; |
21 | import com.huaheng.pc.receipt.receiptHeader.service.ReceiptHeaderService; | 25 | import com.huaheng.pc.receipt.receiptHeader.service.ReceiptHeaderService; |
26 | +import com.huaheng.pc.system.config.domain.Config; | ||
22 | import com.huaheng.pc.system.dict.domain.DictData; | 27 | import com.huaheng.pc.system.dict.domain.DictData; |
23 | import com.huaheng.pc.system.dict.service.IDictDataService; | 28 | import com.huaheng.pc.system.dict.service.IDictDataService; |
24 | import org.aspectj.weaver.loadtime.Aj; | 29 | import org.aspectj.weaver.loadtime.Aj; |
@@ -48,6 +53,10 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R | @@ -48,6 +53,10 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R | ||
48 | private ReceiptPreferenceService receiptPreferenceService; | 53 | private ReceiptPreferenceService receiptPreferenceService; |
49 | @Resource | 54 | @Resource |
50 | private IDictDataService dictDataService; | 55 | private IDictDataService dictDataService; |
56 | + @Resource | ||
57 | + private CheckHeaderService checkHeaderService; | ||
58 | + @Resource | ||
59 | + private ConfigValueService configValueService; | ||
51 | 60 | ||
52 | /** | 61 | /** |
53 | * 新增入库明细 | 62 | * 新增入库明细 |
@@ -163,6 +172,18 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R | @@ -163,6 +172,18 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R | ||
163 | return receiptDetail; | 172 | return receiptDetail; |
164 | } | 173 | } |
165 | 174 | ||
175 | + //如果入库明细绑定了入库流程则从入库明细中选择流程 | ||
176 | + if ( StringUtils.isNotEmpty(receiptDetail.getStatusFlowCode())){ | ||
177 | + List<StatusFlowDetail> statusFlowDetails = statusFlowDetailService.queryStatusFlowDetail(receiptDetail.getStatusFlowCode()); | ||
178 | + String status = nextStatusFlow(statusFlowDetails, receiptDetail.getProcessStamp()); | ||
179 | + //在状态到达时候是判断是否要质检 | ||
180 | + if ("200".equals(status) && inspection(receiptDetail)){ | ||
181 | + receiptDetail.setProcessStamp("180"); | ||
182 | + } else { | ||
183 | + receiptDetail.setProcessStamp(status); | ||
184 | + } | ||
185 | + return receiptDetail; | ||
186 | + } | ||
166 | //查询头表信息 | 187 | //查询头表信息 |
167 | LambdaQueryWrapper<ReceiptHeader> lambdaReceiptHeader = Wrappers.lambdaQuery(); | 188 | LambdaQueryWrapper<ReceiptHeader> lambdaReceiptHeader = Wrappers.lambdaQuery(); |
168 | lambdaReceiptHeader.eq(ReceiptHeader::getCode, receiptDetail.getReceiptCode()); | 189 | lambdaReceiptHeader.eq(ReceiptHeader::getCode, receiptDetail.getReceiptCode()); |
@@ -183,13 +204,23 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R | @@ -183,13 +204,23 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R | ||
183 | //物料是否有入库流程 | 204 | //物料是否有入库流程 |
184 | List<StatusFlowDetail> statusFlowDetails = statusFlowDetailService.queryStatusFlowDetail(receiptType.getReceiptFlow()); | 205 | List<StatusFlowDetail> statusFlowDetails = statusFlowDetailService.queryStatusFlowDetail(receiptType.getReceiptFlow()); |
185 | String status = nextStatusFlow(statusFlowDetails, receiptDetail.getProcessStamp()); | 206 | String status = nextStatusFlow(statusFlowDetails, receiptDetail.getProcessStamp()); |
186 | - receiptDetail.setProcessStamp(status); | 207 | + //在状态到达时候是判断是否要质检 |
208 | + if ("200".equals(status) && inspection(receiptDetail)){ | ||
209 | + receiptDetail.setProcessStamp("180"); | ||
210 | + } else { | ||
211 | + receiptDetail.setProcessStamp(status); | ||
212 | + } | ||
187 | return receiptDetail; | 213 | return receiptDetail; |
188 | } else if (material.getReceivingFlow() != null){ | 214 | } else if (material.getReceivingFlow() != null){ |
189 | //物料是否有入库流程 | 215 | //物料是否有入库流程 |
190 | List<StatusFlowDetail> statusFlowDetails = statusFlowDetailService.queryStatusFlowDetail(material.getReceivingFlow()); | 216 | List<StatusFlowDetail> statusFlowDetails = statusFlowDetailService.queryStatusFlowDetail(material.getReceivingFlow()); |
191 | String status = nextStatusFlow(statusFlowDetails, receiptDetail.getProcessStamp()); | 217 | String status = nextStatusFlow(statusFlowDetails, receiptDetail.getProcessStamp()); |
192 | - receiptDetail.setProcessStamp(status); | 218 | + //在状态到达时候是判断是否要质检 |
219 | + if ("200".equals(status) && inspection(receiptDetail)){ | ||
220 | + receiptDetail.setProcessStamp("180"); | ||
221 | + } else { | ||
222 | + receiptDetail.setProcessStamp(status); | ||
223 | + } | ||
193 | return receiptDetail; | 224 | return receiptDetail; |
194 | } else { | 225 | } else { |
195 | //该物料类别是否有入库流程 | 226 | //该物料类别是否有入库流程 |
@@ -199,16 +230,31 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R | @@ -199,16 +230,31 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R | ||
199 | if (materialType.getReceivingFlow() != null) { | 230 | if (materialType.getReceivingFlow() != null) { |
200 | List<StatusFlowDetail> statusFlowDetails = statusFlowDetailService.queryStatusFlowDetail(materialType.getReceivingFlow()); | 231 | List<StatusFlowDetail> statusFlowDetails = statusFlowDetailService.queryStatusFlowDetail(materialType.getReceivingFlow()); |
201 | String status = nextStatusFlow(statusFlowDetails, receiptDetail.getProcessStamp()); | 232 | String status = nextStatusFlow(statusFlowDetails, receiptDetail.getProcessStamp()); |
202 | - receiptDetail.setProcessStamp(status); | 233 | + //在状态到达时候是判断是否要质检 |
234 | + if ("200".equals(status) && inspection(receiptDetail)){ | ||
235 | + receiptDetail.setProcessStamp("180"); | ||
236 | + } else { | ||
237 | + receiptDetail.setProcessStamp(status); | ||
238 | + } | ||
203 | return receiptDetail; | 239 | return receiptDetail; |
204 | } else { | 240 | } else { |
241 | + //查询系统参数配置中绑定的入库首选项A | ||
242 | + LambdaQueryWrapper<ConfigValue> lambdaQueryWrapper = Wrappers.lambdaQuery(); | ||
243 | + lambdaQueryWrapper.eq(ConfigValue::getModuleType, "receipt"); | ||
244 | + ConfigValue configValue = configValueService.getOne(lambdaQueryWrapper); | ||
245 | + | ||
205 | //以上都没有的情况下查询入库首选项中的入库流程 | 246 | //以上都没有的情况下查询入库首选项中的入库流程 |
206 | LambdaQueryWrapper<ReceiptPreference> lambda = Wrappers.lambdaQuery(); | 247 | LambdaQueryWrapper<ReceiptPreference> lambda = Wrappers.lambdaQuery(); |
207 | - lambda.last("Limit 1"); | 248 | + lambda.eq(ReceiptPreference::getCode, configValue.getValue()); |
208 | ReceiptPreference receiptPreference = receiptPreferenceService.getOne(lambda); | 249 | ReceiptPreference receiptPreference = receiptPreferenceService.getOne(lambda); |
209 | List<StatusFlowDetail> statusFlowDetails = statusFlowDetailService.queryStatusFlowDetail(receiptPreference.getReceivingFlow()); | 250 | List<StatusFlowDetail> statusFlowDetails = statusFlowDetailService.queryStatusFlowDetail(receiptPreference.getReceivingFlow()); |
210 | String status = nextStatusFlow(statusFlowDetails, receiptDetail.getProcessStamp()); | 251 | String status = nextStatusFlow(statusFlowDetails, receiptDetail.getProcessStamp()); |
211 | - receiptDetail.setProcessStamp(status); | 252 | + //在状态到达时候是判断是否要质检 |
253 | + if ("200".equals(status) && inspection(receiptDetail)){ | ||
254 | + receiptDetail.setProcessStamp("180"); | ||
255 | + } else { | ||
256 | + receiptDetail.setProcessStamp(status); | ||
257 | + } | ||
212 | return receiptDetail; | 258 | return receiptDetail; |
213 | } | 259 | } |
214 | } | 260 | } |
@@ -308,4 +354,20 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R | @@ -308,4 +354,20 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R | ||
308 | } | 354 | } |
309 | return AjaxResult.success("审核完成"); | 355 | return AjaxResult.success("审核完成"); |
310 | } | 356 | } |
357 | + | ||
358 | + /** | ||
359 | + * 判断明细中是否质检 | ||
360 | + */ | ||
361 | + public boolean inspection(ReceiptDetail receiptDetail){ | ||
362 | + //如果明细中需要质检,则判断是否已经生成质检单 | ||
363 | + if ("0".equals(receiptDetail.getQcCheck())){ | ||
364 | + LambdaQueryWrapper<CheckHeader> lambda = Wrappers.lambdaQuery(); | ||
365 | + lambda.eq(CheckHeader::getReferCode, receiptDetail.getReceiptCode()); | ||
366 | + CheckHeader checkHeader = checkHeaderService.getOne(lambda); | ||
367 | + if (checkHeader == null){ | ||
368 | + return true; | ||
369 | + } | ||
370 | + } | ||
371 | + return false; | ||
372 | + } | ||
311 | } | 373 | } |
src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java
@@ -137,7 +137,8 @@ public class ReceiptHeaderController extends BaseController { | @@ -137,7 +137,8 @@ public class ReceiptHeaderController extends BaseController { | ||
137 | @PostMapping("/edit") | 137 | @PostMapping("/edit") |
138 | @ResponseBody | 138 | @ResponseBody |
139 | public AjaxResult editSave(ReceiptHeader receiptHeader) { | 139 | public AjaxResult editSave(ReceiptHeader receiptHeader) { |
140 | - if (receiptHeader.getFirstStatus() >100 | receiptHeader.getLastStatus()>100){ | 140 | + ReceiptHeader receiptHeader1 = receiptHeaderService.getById(receiptHeader.getId()); |
141 | + if (receiptHeader1.getFirstStatus() >100 | receiptHeader1.getLastStatus()>100){ | ||
141 | return AjaxResult.error("已进入订单池,不允许修改"); | 142 | return AjaxResult.error("已进入订单池,不允许修改"); |
142 | } | 143 | } |
143 | receiptHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); | 144 | receiptHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); |
@@ -160,7 +161,7 @@ public class ReceiptHeaderController extends BaseController { | @@ -160,7 +161,7 @@ public class ReceiptHeaderController extends BaseController { | ||
160 | * 审核入库单 | 161 | * 审核入库单 |
161 | */ | 162 | */ |
162 | @ApiOperation(value="审核入库单", notes="审核入库单", httpMethod = "POST") | 163 | @ApiOperation(value="审核入库单", notes="审核入库单", httpMethod = "POST") |
163 | - @RequiresPermissions("receipt:receiptHeader:approval") | 164 | + @RequiresPermissions("receipt:receiptHeader:review") |
164 | @Log(title = "入库-入库单 ",operating = "审核入库单 ", action = BusinessType.UPDATE) | 165 | @Log(title = "入库-入库单 ",operating = "审核入库单 ", action = BusinessType.UPDATE) |
165 | @PostMapping("/approval") | 166 | @PostMapping("/approval") |
166 | @ResponseBody | 167 | @ResponseBody |
@@ -223,7 +224,7 @@ public class ReceiptHeaderController extends BaseController { | @@ -223,7 +224,7 @@ public class ReceiptHeaderController extends BaseController { | ||
223 | */ | 224 | */ |
224 | @ApiOperation(value="保存入库预约", notes="保存入库预约", httpMethod = "POST") | 225 | @ApiOperation(value="保存入库预约", notes="保存入库预约", httpMethod = "POST") |
225 | @RequiresPermissions("receipt:receiptHeader:reservation") | 226 | @RequiresPermissions("receipt:receiptHeader:reservation") |
226 | - @Log(title = "入库-入库单 ",operating = "入库单到货", action = BusinessType.UPDATE) | 227 | + @Log(title = "入库-入库单 ",operating = "入库单预约", action = BusinessType.UPDATE) |
227 | @PostMapping("/arrival") | 228 | @PostMapping("/arrival") |
228 | @ResponseBody | 229 | @ResponseBody |
229 | public AjaxResult reservation(ReceiptHeader receiptHeader) { | 230 | public AjaxResult reservation(ReceiptHeader receiptHeader) { |
@@ -287,4 +288,34 @@ public class ReceiptHeaderController extends BaseController { | @@ -287,4 +288,34 @@ public class ReceiptHeaderController extends BaseController { | ||
287 | } | 288 | } |
288 | return AjaxResult.success(receiptHeaderService.getById(id)); | 289 | return AjaxResult.success(receiptHeaderService.getById(id)); |
289 | } | 290 | } |
291 | + | ||
292 | + /** | ||
293 | + * 到货通知 | ||
294 | + */ | ||
295 | + @ApiOperation(value="到货通知 ", notes="到货通知 ", httpMethod = "POST") | ||
296 | + @RequiresPermissions("receipt:receiptDetail:add") | ||
297 | + @Log(title = "入库-入库单 ",operating = "到货通知 ", action = BusinessType.OTHER) | ||
298 | + @PostMapping("/arrivalNotice") | ||
299 | + @ResponseBody | ||
300 | + public AjaxResult arrivalNotice(String id) { | ||
301 | + if (StringUtils.isEmpty(id)){ | ||
302 | + return AjaxResult.success(""); | ||
303 | + } | ||
304 | + return AjaxResult.success(receiptHeaderService.arrivalNotice(id)); | ||
305 | + } | ||
306 | + | ||
307 | + /** | ||
308 | + * 加入订单池 | ||
309 | + */ | ||
310 | + @ApiOperation(value="加入订单池 ", notes="加入订单池 ", httpMethod = "POST") | ||
311 | + @RequiresPermissions("receipt:receiptHeader:addPool") | ||
312 | + @Log(title = "入库-入库单 ",operating = "加入订单池 ", action = BusinessType.OTHER) | ||
313 | + @PostMapping("/addPool") | ||
314 | + @ResponseBody | ||
315 | + public AjaxResult addPool(String ids) { | ||
316 | + if (StringUtils.isEmpty(ids)){ | ||
317 | + return AjaxResult.error("id不能为空"); | ||
318 | + } | ||
319 | + return AjaxResult.success(receiptHeaderService.addPool(ids)); | ||
320 | + } | ||
290 | } | 321 | } |
src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java
@@ -15,6 +15,7 @@ import com.huaheng.pc.check.checkHeader.domain.CheckHeader; | @@ -15,6 +15,7 @@ import com.huaheng.pc.check.checkHeader.domain.CheckHeader; | ||
15 | import com.huaheng.pc.check.checkHeader.service.CheckHeaderService; | 15 | import com.huaheng.pc.check.checkHeader.service.CheckHeaderService; |
16 | import com.huaheng.pc.config.receiptType.domain.ReceiptType; | 16 | import com.huaheng.pc.config.receiptType.domain.ReceiptType; |
17 | import com.huaheng.pc.config.receiptType.service.ReceiptTypeService; | 17 | import com.huaheng.pc.config.receiptType.service.ReceiptTypeService; |
18 | +import com.huaheng.pc.config.sendMail.service.SendMailService; | ||
18 | import com.huaheng.pc.config.statusFlow.domain.StatusFlowDetail; | 19 | import com.huaheng.pc.config.statusFlow.domain.StatusFlowDetail; |
19 | import com.huaheng.pc.config.statusFlow.service.StatusFlowDetailService; | 20 | import com.huaheng.pc.config.statusFlow.service.StatusFlowDetailService; |
20 | import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail; | 21 | import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail; |
@@ -27,6 +28,7 @@ import org.springframework.stereotype.Service; | @@ -27,6 +28,7 @@ import org.springframework.stereotype.Service; | ||
27 | import javax.annotation.Resource; | 28 | import javax.annotation.Resource; |
28 | import java.lang.ref.WeakReference; | 29 | import java.lang.ref.WeakReference; |
29 | import java.text.SimpleDateFormat; | 30 | import java.text.SimpleDateFormat; |
31 | +import java.util.Arrays; | ||
30 | import java.util.Date; | 32 | import java.util.Date; |
31 | import java.util.List; | 33 | import java.util.List; |
32 | 34 | ||
@@ -41,6 +43,8 @@ public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, Recei | @@ -41,6 +43,8 @@ public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, Recei | ||
41 | private CheckHeaderService checkHeaderService; | 43 | private CheckHeaderService checkHeaderService; |
42 | @Resource | 44 | @Resource |
43 | private CheckDetailService checkDetailService; | 45 | private CheckDetailService checkDetailService; |
46 | + @Resource | ||
47 | + private SendMailService sendMailService; | ||
44 | 48 | ||
45 | /** | 49 | /** |
46 | * 保存入库单 | 50 | * 保存入库单 |
@@ -155,6 +159,13 @@ public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, Recei | @@ -155,6 +159,13 @@ public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, Recei | ||
155 | receiptDetailLambda.eq(ReceiptDetail::getReceiptId, id); | 159 | receiptDetailLambda.eq(ReceiptDetail::getReceiptId, id); |
156 | List<ReceiptDetail> receiptDetails = receiptDetailService.list(receiptDetailLambda); | 160 | List<ReceiptDetail> receiptDetails = receiptDetailService.list(receiptDetailLambda); |
157 | 161 | ||
162 | + //判断是否已经生成了质检单 | ||
163 | + LambdaQueryWrapper<CheckHeader> checkHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(); | ||
164 | + checkHeaderLambdaQueryWrapper.eq(CheckHeader::getReferCode, receiptHeader.getCode()); | ||
165 | + CheckHeader checkHeaderQuery = checkHeaderService.getOne(checkHeaderLambdaQueryWrapper); | ||
166 | + if (checkHeaderQuery != null){ | ||
167 | + throw new ServiceException("质检表已生成"); | ||
168 | + } | ||
158 | //创建质检头表 | 169 | //创建质检头表 |
159 | CheckHeader checkHeader = new CheckHeader(); | 170 | CheckHeader checkHeader = new CheckHeader(); |
160 | checkHeader.setCode(receiptHeader.getCode()); | 171 | checkHeader.setCode(receiptHeader.getCode()); |
@@ -167,7 +178,7 @@ public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, Recei | @@ -167,7 +178,7 @@ public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, Recei | ||
167 | checkHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); | 178 | checkHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); |
168 | 179 | ||
169 | if (!checkHeaderService.save(checkHeader)){ | 180 | if (!checkHeaderService.save(checkHeader)){ |
170 | - throw new ServiceException("添加质检头表发送错误"); | 181 | + throw new ServiceException("添加质检头表错误"); |
171 | } | 182 | } |
172 | 183 | ||
173 | //查询保存后的质检头表 | 184 | //查询保存后的质检头表 |
@@ -223,4 +234,54 @@ public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, Recei | @@ -223,4 +234,54 @@ public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, Recei | ||
223 | } | 234 | } |
224 | return AjaxResult.success("提交审核成功"); | 235 | return AjaxResult.success("提交审核成功"); |
225 | } | 236 | } |
237 | + | ||
238 | + /** | ||
239 | + * 到货通知 | ||
240 | + * @param id | ||
241 | + * @return | ||
242 | + */ | ||
243 | + public AjaxResult arrivalNotice(String id){ | ||
244 | + LambdaQueryWrapper<ReceiptDetail> lambda = Wrappers.lambdaQuery(); | ||
245 | + lambda.eq(ReceiptDetail::getReceiptId, id); | ||
246 | + List<ReceiptDetail> receiptDetails = receiptDetailService.list(lambda); | ||
247 | + for (ReceiptDetail receiptDetail : receiptDetails) { | ||
248 | + receiptDetail.setProcessStamp(String.valueOf(150)); | ||
249 | + receiptDetailService.updateById(receiptDetail); | ||
250 | + if (!receiptDetailService.updateById(receiptDetailService.queryflow(receiptDetail))){ | ||
251 | + throw new ServiceException("更新入库明细处理标记出错"); | ||
252 | + } | ||
253 | + receiptDetailService.updateReceiptHeaderLastStatus(receiptDetail.getReceiptId()); | ||
254 | + } | ||
255 | + return AjaxResult.success(""); | ||
256 | + } | ||
257 | + | ||
258 | + /** | ||
259 | + * 加入订单池 | ||
260 | + * @param ids 头表id字符串 | ||
261 | + * @return | ||
262 | + */ | ||
263 | + public AjaxResult addPool(String ids){ | ||
264 | + List<Integer> idList = Arrays.asList(Convert.toIntArray(ids)); | ||
265 | + for (Integer id : idList){ | ||
266 | + LambdaQueryWrapper<ReceiptDetail> lambdaQueryWrapper = Wrappers.lambdaQuery(); | ||
267 | + lambdaQueryWrapper.eq(ReceiptDetail::getReceiptId, id); | ||
268 | + List<ReceiptDetail> list = receiptDetailService.list(lambdaQueryWrapper); | ||
269 | + if (list.size() != 0){ | ||
270 | + for (ReceiptDetail receiptDetail : list){ | ||
271 | + if (Integer.parseInt(receiptDetail.getProcessStamp()) < 100){ | ||
272 | + receiptDetail.setProcessStamp("100"); | ||
273 | + ReceiptDetail receiptDetail1 = receiptDetailService.queryflow(receiptDetail); | ||
274 | + if (!receiptDetailService.updateById(receiptDetail1)){ | ||
275 | + throw new ServiceException("更新入库明细状态失败"); | ||
276 | + } | ||
277 | + } else { | ||
278 | + throw new ServiceException("已有入库明细进入订单池"); | ||
279 | + } | ||
280 | + } | ||
281 | + } | ||
282 | + //更新头表状态 | ||
283 | + receiptDetailService.updateReceiptHeaderLastStatus(id); | ||
284 | + } | ||
285 | + return AjaxResult.success(""); | ||
286 | + } | ||
226 | } | 287 | } |
src/main/java/com/huaheng/pc/receipt/receiptHeaderHistory/service/ReceiptHeaderHistoryService.java
@@ -63,16 +63,19 @@ public class ReceiptHeaderHistoryService extends ServiceImpl<ReceiptHeaderHistor | @@ -63,16 +63,19 @@ public class ReceiptHeaderHistoryService extends ServiceImpl<ReceiptHeaderHistor | ||
63 | if (!receiptHeaderService.removeById(receiptHeader.getId())){ | 63 | if (!receiptHeaderService.removeById(receiptHeader.getId())){ |
64 | throw new ServiceException("删除头表失败"); | 64 | throw new ServiceException("删除头表失败"); |
65 | } | 65 | } |
66 | - //删除入库明细 | ||
67 | - List<Integer> ids = new ArrayList<>(); | ||
68 | - for (int i=0; i<receiptDetailHistoryList.size();i++){ | ||
69 | - receiptDetailHistoryList.get(i).setLastUpdatedBy(ShiroUtils.getLoginName()); | ||
70 | - ids.add(receiptDetailHistoryList.get(i).getId()); | ||
71 | - } | ||
72 | - if (!receiptDetailService.removeByIds(ids)) { | ||
73 | - throw new ServiceException("删除明细表失败"); | 66 | + // 当存在明细时删除 |
67 | + if (list.size()!= 0){ | ||
68 | + //删除入库明细 | ||
69 | + List<Integer> ids = new ArrayList<>(); | ||
70 | + for (int i=0; i<receiptDetailHistoryList.size();i++){ | ||
71 | + receiptDetailHistoryList.get(i).setLastUpdatedBy(ShiroUtils.getLoginName()); | ||
72 | + ids.add(receiptDetailHistoryList.get(i).getId()); | ||
73 | + } | ||
74 | + if (!receiptDetailService.removeByIds(ids)) { | ||
75 | + throw new ServiceException("删除明细表失败"); | ||
76 | + } | ||
77 | + receiptDetailHistoryService.saveBatch(receiptDetailHistoryList); | ||
74 | } | 78 | } |
75 | - receiptDetailHistoryService.saveBatch(receiptDetailHistoryList); | ||
76 | this.save(receiptHeaderHistory); | 79 | this.save(receiptHeaderHistory); |
77 | }else { | 80 | }else { |
78 | return AjaxResult.success("入库单没有完成,无法删除"); | 81 | return AjaxResult.success("入库单没有完成,无法删除"); |
src/main/java/com/huaheng/pc/receipt/receiving/controller/ReceivingController.java
1 | package com.huaheng.pc.receipt.receiving.controller; | 1 | package com.huaheng.pc.receipt.receiving.controller; |
2 | 2 | ||
3 | -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | ||
4 | -import com.baomidou.mybatisplus.core.toolkit.Wrappers; | ||
5 | -import com.huaheng.common.utils.security.ShiroUtils; | ||
6 | import com.huaheng.framework.aspectj.lang.annotation.Log; | 3 | import com.huaheng.framework.aspectj.lang.annotation.Log; |
7 | import com.huaheng.framework.aspectj.lang.constant.BusinessType; | 4 | import com.huaheng.framework.aspectj.lang.constant.BusinessType; |
8 | import com.huaheng.framework.web.controller.BaseController; | 5 | import com.huaheng.framework.web.controller.BaseController; |
@@ -10,8 +7,6 @@ import com.huaheng.framework.web.domain.AjaxResult; | @@ -10,8 +7,6 @@ import com.huaheng.framework.web.domain.AjaxResult; | ||
10 | import com.huaheng.pc.receipt.receiptContainerDetail.service.ReceiptContainerDetailService; | 7 | import com.huaheng.pc.receipt.receiptContainerDetail.service.ReceiptContainerDetailService; |
11 | import com.huaheng.pc.receipt.receiptContainerHeader.service.ReceiptContainerHeaderService; | 8 | import com.huaheng.pc.receipt.receiptContainerHeader.service.ReceiptContainerHeaderService; |
12 | import com.huaheng.pc.receipt.receiving.service.ReceivingService; | 9 | import com.huaheng.pc.receipt.receiving.service.ReceivingService; |
13 | -import com.huaheng.pc.task.taskHeader.domain.TaskHeader; | ||
14 | -import com.huaheng.pc.task.taskHeader.service.TaskHeaderService; | ||
15 | import io.swagger.annotations.ApiOperation; | 10 | import io.swagger.annotations.ApiOperation; |
16 | import io.swagger.annotations.ApiParam; | 11 | import io.swagger.annotations.ApiParam; |
17 | import org.apache.shiro.authz.annotation.RequiresPermissions; | 12 | import org.apache.shiro.authz.annotation.RequiresPermissions; |
src/main/java/com/huaheng/pc/receipt/receiving/service/ReceivingService.java
@@ -182,16 +182,17 @@ public class ReceivingService { | @@ -182,16 +182,17 @@ public class ReceivingService { | ||
182 | throw new ServiceException("组盘已生成任务不能取消定位"); | 182 | throw new ServiceException("组盘已生成任务不能取消定位"); |
183 | } | 183 | } |
184 | //将入库组盘头表中的而库位编码赋值null | 184 | //将入库组盘头表中的而库位编码赋值null |
185 | - receiptContainerHeader.setToLocation(null); | 185 | + receiptContainerHeader.setToLocation(""); |
186 | if (!receiptContainerHeaderService.updateById(receiptContainerHeader)){ | 186 | if (!receiptContainerHeaderService.updateById(receiptContainerHeader)){ |
187 | throw new ServiceException("回滚入库组盘头失败"); | 187 | throw new ServiceException("回滚入库组盘头失败"); |
188 | } | 188 | } |
189 | 189 | ||
190 | + //将入库组盘明细的库位修改为空 | ||
190 | LambdaQueryWrapper<ReceiptContainerDetail> lambdaQueryWrapper = Wrappers.lambdaQuery(); | 191 | LambdaQueryWrapper<ReceiptContainerDetail> lambdaQueryWrapper = Wrappers.lambdaQuery(); |
191 | lambdaQueryWrapper.eq(ReceiptContainerDetail::getReceiptContainerId, receiptContainerDetail.getReceiptContainerId()); | 192 | lambdaQueryWrapper.eq(ReceiptContainerDetail::getReceiptContainerId, receiptContainerDetail.getReceiptContainerId()); |
192 | List<ReceiptContainerDetail> receiptContainerDetailList = receiptContainerDetailService.list(lambdaQueryWrapper); | 193 | List<ReceiptContainerDetail> receiptContainerDetailList = receiptContainerDetailService.list(lambdaQueryWrapper); |
193 | for (ReceiptContainerDetail receiptContainerDetail2 : receiptContainerDetailList) { | 194 | for (ReceiptContainerDetail receiptContainerDetail2 : receiptContainerDetailList) { |
194 | - receiptContainerDetail2.setLocationCode(null); | 195 | + receiptContainerDetail2.setLocationCode(""); |
195 | if (!receiptContainerDetailService.updateById(receiptContainerDetail2)){ | 196 | if (!receiptContainerDetailService.updateById(receiptContainerDetail2)){ |
196 | throw new ServiceException("回滚入库组盘明细失败"); | 197 | throw new ServiceException("回滚入库组盘明细失败"); |
197 | } | 198 | } |
src/main/resources/mybatis/config/ContainerMapper.xml
@@ -52,4 +52,7 @@ | @@ -52,4 +52,7 @@ | ||
52 | UPDATE container set `status`=#{status}, locationCode=#{locationCode} WHERE warehouseCode=#{warehouseCode} AND `code`=#{containerCode} | 52 | UPDATE container set `status`=#{status}, locationCode=#{locationCode} WHERE warehouseCode=#{warehouseCode} AND `code`=#{containerCode} |
53 | </update> | 53 | </update> |
54 | 54 | ||
55 | + <select id="findAllByCode" resultMap="BaseResultMap" parameterType="java.lang.String"> | ||
56 | + SELECT * FROM container WHERE code = #{code,jdbcType=VARCHAR} | ||
57 | + </select> | ||
55 | </mapper> | 58 | </mapper> |
56 | \ No newline at end of file | 59 | \ No newline at end of file |
src/main/resources/templates/config/configValue/edit.html
@@ -64,7 +64,7 @@ | @@ -64,7 +64,7 @@ | ||
64 | </div> | 64 | </div> |
65 | <div th:include="include::footer"></div> | 65 | <div th:include="include::footer"></div> |
66 | <script type="text/javascript"> | 66 | <script type="text/javascript"> |
67 | - var prefix = ctx + "config/configvalue"; | 67 | + var prefix = ctx + "config/configValue"; |
68 | $("#form-configValue-edit").validate({ | 68 | $("#form-configValue-edit").validate({ |
69 | rules:{ | 69 | rules:{ |
70 | moduleType:{ | 70 | moduleType:{ |
src/main/resources/templates/config/filterConfigHeader/add.html
@@ -5,18 +5,14 @@ | @@ -5,18 +5,14 @@ | ||
5 | <body class="white-bg"> | 5 | <body class="white-bg"> |
6 | <div class="wrapper wrapper-content animated fadeInRight ibox-content"> | 6 | <div class="wrapper wrapper-content animated fadeInRight ibox-content"> |
7 | <form class="form-horizontal m" id="form-filterConfigHeader-add"> | 7 | <form class="form-horizontal m" id="form-filterConfigHeader-add"> |
8 | - <div class="form-group"> | ||
9 | - <label class="col-sm-3 control-label">模块:</label> | ||
10 | - <div class="col-sm-8"> | ||
11 | - <select class="form-control" name="moduleType" th:with="moduleType=${@dict.getType('moduleType')}"> | ||
12 | - <option th:each="item : ${moduleType}" th:text="${item['dictLabel']}" th:value="${item['dictValue']}"></option> | ||
13 | - </select> | ||
14 | - </div> | ||
15 | - </div> | 8 | + <input name="moduleType" th:value="${moduleType}" hidden> |
16 | <div class="form-group"> | 9 | <div class="form-group"> |
17 | <label class="col-sm-3 control-label">类型:</label> | 10 | <label class="col-sm-3 control-label">类型:</label> |
18 | <div class="col-sm-8"> | 11 | <div class="col-sm-8"> |
19 | - <select id="recordType" name="recordType" class="form-control" th:with="recordType=${@dict.getType('recordType')}"> | 12 | + <select id="recordType" name="recordType" class="form-control" th:if="${moduleType == 'receipt'}" th:with="recordType=${@dict.getType('receiptRuleType')}"> |
13 | + <option th:each="item : ${recordType}" th:text="${item['dictLabel']}" th:value="${item['dictValue']}"></option> | ||
14 | + </select> | ||
15 | + <select id="recordType" name="recordType" class="form-control" th:if="${moduleType != 'receipt'}" th:with="recordType=${@dict.getType('shipmentRuleType')}"> | ||
20 | <option th:each="item : ${recordType}" th:text="${item['dictLabel']}" th:value="${item['dictValue']}"></option> | 16 | <option th:each="item : ${recordType}" th:text="${item['dictLabel']}" th:value="${item['dictValue']}"></option> |
21 | </select> | 17 | </select> |
22 | </div> | 18 | </div> |
src/main/resources/templates/config/filterConfigHeader/filterConfigHeader.html
@@ -79,7 +79,7 @@ | @@ -79,7 +79,7 @@ | ||
79 | $(function() { | 79 | $(function() { |
80 | var options = { | 80 | var options = { |
81 | url: prefix + "/list", | 81 | url: prefix + "/list", |
82 | - createUrl: prefix + "/add", | 82 | + createUrl: prefix + "/add/"+[[${moduleType}]], |
83 | updateUrl: prefix + "/edit/{id}", | 83 | updateUrl: prefix + "/edit/{id}", |
84 | removeUrl: prefix + "/remove", | 84 | removeUrl: prefix + "/remove", |
85 | modalName: "规则配置主表", | 85 | modalName: "规则配置主表", |
src/main/resources/templates/config/receiptPreference/add.html
@@ -20,7 +20,7 @@ | @@ -20,7 +20,7 @@ | ||
20 | <div class="form-group"> | 20 | <div class="form-group"> |
21 | <label class="col-sm-3 control-label">入库流程:</label> | 21 | <label class="col-sm-3 control-label">入库流程:</label> |
22 | <div class="col-sm-8"> | 22 | <div class="col-sm-8"> |
23 | - <select id="receiptFlow" name="receiptFlow" class="form-control" th:with="statusFlowList=${@StatusFlow.flowList('入库单')}"> | 23 | + <select id="receiptFlow" name="receiptFlow" class="form-control" th:with="statusFlowList=${@StatusFlow.flowList('receivingFlow')}"> |
24 | <option th:each="flow : ${statusFlowList}" th:text="${flow['name']}" th:value="${flow['code']}"></option> | 24 | <option th:each="flow : ${statusFlowList}" th:text="${flow['name']}" th:value="${flow['code']}"></option> |
25 | </select> | 25 | </select> |
26 | </div> | 26 | </div> |
src/main/resources/templates/config/receiptPreference/receiptPreference.html
@@ -139,6 +139,7 @@ | @@ -139,6 +139,7 @@ | ||
139 | { | 139 | { |
140 | field : 'manuallyBuildLPN', | 140 | field : 'manuallyBuildLPN', |
141 | title : '人工组盘', | 141 | title : '人工组盘', |
142 | + align : "center", | ||
142 | formatter : function(value, row, index) { | 143 | formatter : function(value, row, index) { |
143 | return $.table.selectWhetherLabel(value); | 144 | return $.table.selectWhetherLabel(value); |
144 | }, | 145 | }, |
src/main/resources/templates/config/receiptType/add.html
@@ -46,7 +46,8 @@ | @@ -46,7 +46,8 @@ | ||
46 | <div class="form-group"> | 46 | <div class="form-group"> |
47 | <label class="col-sm-3 control-label">入库流程:</label> | 47 | <label class="col-sm-3 control-label">入库流程:</label> |
48 | <div class="col-sm-8"> | 48 | <div class="col-sm-8"> |
49 | - <select id="receiptFlow" name="receiptFlow" class="form-control" th:with="statusFlowList=${@StatusFlow.flowList('入库单')}"> | 49 | + <select id="receiptFlow" name="receiptFlow" class="form-control" th:with="statusFlowList=${@StatusFlow.flowList('receivingFlow')}"> |
50 | + <option value="">请选择</option> | ||
50 | <option th:each="flow : ${statusFlowList}" th:text="${flow['name']}" th:value="${flow['code']}"></option> | 51 | <option th:each="flow : ${statusFlowList}" th:text="${flow['name']}" th:value="${flow['code']}"></option> |
51 | </select> | 52 | </select> |
52 | </div> | 53 | </div> |
src/main/resources/templates/config/receiptType/edit.html
@@ -48,7 +48,8 @@ | @@ -48,7 +48,8 @@ | ||
48 | <div class="form-group"> | 48 | <div class="form-group"> |
49 | <label class="col-sm-3 control-label">入库流程:</label> | 49 | <label class="col-sm-3 control-label">入库流程:</label> |
50 | <div class="col-sm-8"> | 50 | <div class="col-sm-8"> |
51 | - <select id="receiptFlow" name="receiptFlow" class="form-control" th:with="statusFlowList=${@StatusFlow.flowList('入库单')}" th:field="*{receiptFlow}"> | 51 | + <select id="receiptFlow" name="receiptFlow" class="form-control" th:with="statusFlowList=${@StatusFlow.flowList('receivingFlow')}" th:field="*{receiptFlow}"> |
52 | + <option value="">请选择</option> | ||
52 | <option th:each="flow : ${statusFlowList}" th:text="${flow['name']}" th:value="${flow['code']}"></option> | 53 | <option th:each="flow : ${statusFlowList}" th:text="${flow['name']}" th:value="${flow['code']}"></option> |
53 | </select> | 54 | </select> |
54 | </div> | 55 | </div> |
src/main/resources/templates/config/statusFlowDetail/add.html
@@ -16,9 +16,7 @@ | @@ -16,9 +16,7 @@ | ||
16 | <div class="form-group"> | 16 | <div class="form-group"> |
17 | <label class="col-sm-3 control-label">模块:</label> | 17 | <label class="col-sm-3 control-label">模块:</label> |
18 | <div class="col-sm-8"> | 18 | <div class="col-sm-8"> |
19 | - <select id="moduleType" name="moduleType" class="form-control" th:with="moduleType=${@dict.getType('moduleType')}"> | ||
20 | - <option th:each="item : ${moduleType}" th:text="${item['dictLabel']}" th:value="${item['dictValue']}"></option> | ||
21 | - </select> | 19 | + <input id="moduleType" name="moduleType" class="form-control" type="text" th:value="${moduleType}" readonly="readonly"> |
22 | </div> | 20 | </div> |
23 | </div> | 21 | </div> |
24 | <div class="form-group"> | 22 | <div class="form-group"> |
src/main/resources/templates/config/statusFlowHeader/add.html
@@ -5,6 +5,7 @@ | @@ -5,6 +5,7 @@ | ||
5 | <body class="white-bg"> | 5 | <body class="white-bg"> |
6 | <div class="wrapper wrapper-content animated fadeInRight ibox-content"> | 6 | <div class="wrapper wrapper-content animated fadeInRight ibox-content"> |
7 | <form class="form-horizontal m" id="form-statusFlowHeader-add"> | 7 | <form class="form-horizontal m" id="form-statusFlowHeader-add"> |
8 | + <input id="moduleType" name="moduleType" hidden th:value="${moduleType}"> | ||
8 | <div class="form-group"> | 9 | <div class="form-group"> |
9 | <label class="col-sm-3 control-label">编码:</label> | 10 | <label class="col-sm-3 control-label">编码:</label> |
10 | <div class="col-sm-8"> | 11 | <div class="col-sm-8"> |
@@ -17,22 +18,7 @@ | @@ -17,22 +18,7 @@ | ||
17 | <input id="name" name="name" class="form-control" type="text"> | 18 | <input id="name" name="name" class="form-control" type="text"> |
18 | </div> | 19 | </div> |
19 | </div> | 20 | </div> |
20 | - <div class="form-group"> | ||
21 | - <label class="col-sm-3 control-label">模块:</label> | ||
22 | - <div class="col-sm-8"> | ||
23 | - <select id="moduleType" name="moduleType" class="form-control" th:with="moduleType=${@dict.getType('moduleType')}"> | ||
24 | - <option th:each="item : ${moduleType}" th:text="${item['dictLabel']}" th:value="${item['dictValue']}"></option> | ||
25 | - </select> | ||
26 | - </div> | ||
27 | - </div> | ||
28 | - <div class="form-group"> | ||
29 | - <label class="col-sm-3 control-label">类型:</label> | ||
30 | - <div class="col-sm-8"> | ||
31 | - <select id="recordType" name="recordType" class="form-control" th:with="recordType=${@dict.getType('recordType')}"> | ||
32 | - <option th:each="item : ${recordType}" th:text="${item['dictLabel']}" th:value="${item['dictValue']}"></option> | ||
33 | - </select> | ||
34 | - </div> | ||
35 | - </div> | 21 | + <input id="recordType" name="recordType" class="form-control" type="hidden" th:value="${moduleType} == 'receipt'? 'receivingFlow':'shippingFlow'"> |
36 | <!--<div class="form-group">--> | 22 | <!--<div class="form-group">--> |
37 | <!-- <label class="col-sm-3 control-label">数据版本:</label>--> | 23 | <!-- <label class="col-sm-3 control-label">数据版本:</label>--> |
38 | <!-- <div class="col-sm-8">--> | 24 | <!-- <div class="col-sm-8">--> |
src/main/resources/templates/config/statusFlowHeader/statusFlowHeader.html
@@ -82,7 +82,7 @@ | @@ -82,7 +82,7 @@ | ||
82 | $(function() { | 82 | $(function() { |
83 | var options = { | 83 | var options = { |
84 | url: prefix + "/list", | 84 | url: prefix + "/list", |
85 | - createUrl: prefix + "/add", | 85 | + createUrl: prefix + "/add/"+[[${moduleType}]], |
86 | updateUrl: prefix + "/edit/{id}", | 86 | updateUrl: prefix + "/edit/{id}", |
87 | removeUrl: prefix + "/remove", | 87 | removeUrl: prefix + "/remove", |
88 | modalName: "流程", | 88 | modalName: "流程", |
src/main/resources/templates/inventory/adjustDetail/adjustDetail.html
@@ -91,14 +91,16 @@ | @@ -91,14 +91,16 @@ | ||
91 | </div> | 91 | </div> |
92 | </div> | 92 | </div> |
93 | <div class="btn-group hidden-xs" id="toolbar" role="group"> | 93 | <div class="btn-group hidden-xs" id="toolbar" role="group"> |
94 | - <a class="btn btn-outline btn-success btn-rounded" onclick="add()"> | 94 | + <a class="btn btn-outline btn-success btn-rounded" onclick="add()" |
95 | + shiro:hasPermission="inventory:adjustDetail:add" > | ||
95 | <i class="fa fa-plus"></i> 新增 | 96 | <i class="fa fa-plus"></i> 新增 |
96 | </a> | 97 | </a> |
97 | - <a class="btn btn-outline btn-primary btn-rounded" onclick="agree()"> | 98 | + <a class="btn btn-outline btn-primary btn-rounded" onclick="agree()" |
99 | + shiro:hasPermission="inventory:adjustDetail:adjustAgree" > | ||
98 | <i class="fa fa-edit"></i> 审批 | 100 | <i class="fa fa-edit"></i> 审批 |
99 | </a> | 101 | </a> |
100 | - <a class="btn btn-outline btn-danger btn-rounded" onclick="addAdjust()"/> | ||
101 | - <!--shiro:hasPermission="inventory:cyclecountAdjustDetail:addAdjust"--> | 102 | + <a class="btn btn-outline btn-danger btn-rounded" onclick="addAdjust()" |
103 | + shiro:hasPermission="inventory:adjustDetail:addAdjust"> | ||
102 | <i class="fa fa-vcard"></i>调整 | 104 | <i class="fa fa-vcard"></i>调整 |
103 | </a> | 105 | </a> |
104 | <!--<a class="btn btn-outline btn-success btn-rounded" onclick="$.table.refresh()"> | 106 | <!--<a class="btn btn-outline btn-success btn-rounded" onclick="$.table.refresh()"> |
@@ -112,6 +114,7 @@ | @@ -112,6 +114,7 @@ | ||
112 | <script th:inline="javascript"> | 114 | <script th:inline="javascript"> |
113 | var prefix = ctx + "inventory/adjustDetail"; | 115 | var prefix = ctx + "inventory/adjustDetail"; |
114 | var prefix_head = ctx + "inventory/adjustHeader"; | 116 | var prefix_head = ctx + "inventory/adjustHeader"; |
117 | + var removes= [[${@permission.hasPermi('inventory:adjustDetail:remove')}]]; | ||
115 | var type2 = [[${@dict.getType('adjustType')}]]; | 118 | var type2 = [[${@dict.getType('adjustType')}]]; |
116 | var adjustStatus = [[${@dict.getType('adjustStatus')}]]; | 119 | var adjustStatus = [[${@dict.getType('adjustStatus')}]]; |
117 | var inventoryStatus = [[${@dict.getType('inventoryStatus')}]]; | 120 | var inventoryStatus = [[${@dict.getType('inventoryStatus')}]]; |
@@ -353,7 +356,7 @@ | @@ -353,7 +356,7 @@ | ||
353 | align: 'center', | 356 | align: 'center', |
354 | formatter: function (value, row, index) { | 357 | formatter: function (value, row, index) { |
355 | var actions = []; | 358 | var actions = []; |
356 | - actions.push('<a class="btn btn-danger btn-xs" href="#" onclick="remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a> '); | 359 | + actions.push('<a class="btn btn-danger btn-xs ' + removes + ' " href="#" onclick="remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a> '); |
357 | return actions.join(''); | 360 | return actions.join(''); |
358 | } | 361 | } |
359 | } | 362 | } |
src/main/resources/templates/inventory/adjustHeader/adjustHeader.html
@@ -69,13 +69,13 @@ | @@ -69,13 +69,13 @@ | ||
69 | </div> | 69 | </div> |
70 | <div class="btn-group hidden-xs" id="toolbar" role="group"> | 70 | <div class="btn-group hidden-xs" id="toolbar" role="group"> |
71 | <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" | 71 | <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" |
72 | - shiro:hasPermission="inventory:cycleCount:add"> | 72 | + shiro:hasPermission="inventory:adjustHeader:add"> |
73 | <i class="fa fa-plus"></i> 新增 | 73 | <i class="fa fa-plus"></i> 新增 |
74 | </a> | 74 | </a> |
75 | - <!--<a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" | ||
76 | - shiro:hasPermission="inventory:cycleCount:remove"> | ||
77 | - <i class="fa fa-trash-o"></i> 删除 | ||
78 | - </a>--> | 75 | + <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" |
76 | + shiro:hasPermission="inventory:adjustHeader:remove"> | ||
77 | + <i class="fa fa-trash-o"></i> 删除 | ||
78 | + </a> | ||
79 | </div> | 79 | </div> |
80 | <table id="bootstrap-table" data-mobile-responsive="true" | 80 | <table id="bootstrap-table" data-mobile-responsive="true" |
81 | class="table table-bordered table-hover"></table> | 81 | class="table table-bordered table-hover"></table> |
@@ -90,7 +90,7 @@ | @@ -90,7 +90,7 @@ | ||
90 | <script th:inline="javascript"> | 90 | <script th:inline="javascript"> |
91 | var prefix = ctx + "inventory/adjustHeader"; | 91 | var prefix = ctx + "inventory/adjustHeader"; |
92 | var upload = [[${@permission.hasPermi('inventoryHeader:adjustHeader:upload')}]]; | 92 | var upload = [[${@permission.hasPermi('inventoryHeader:adjustHeader:upload')}]]; |
93 | - var report = [[${@permission.hasPermi('inventoryHeader:adjustHeader:report')}]]; | 93 | + var report = [[${@permission.hasPermi('inventory:adjustHeader:report')}]]; |
94 | var datas = [[${@dict.getType('sys_normal_disable')}]]; | 94 | var datas = [[${@dict.getType('sys_normal_disable')}]]; |
95 | var type2 = [[${@dict.getType('adjustType')}]]; | 95 | var type2 = [[${@dict.getType('adjustType')}]]; |
96 | 96 | ||
@@ -180,8 +180,8 @@ | @@ -180,8 +180,8 @@ | ||
180 | align: 'center', | 180 | align: 'center', |
181 | formatter: function (value, row, index) { | 181 | formatter: function (value, row, index) { |
182 | var actions = []; | 182 | var actions = []; |
183 | - /* actions.push('<a class="btn btn-success btn-xs " href="#" onclick="adjustPrint(\'' + row.id + '\')"><i class="fa fa-print"></i>打印</a> '); | ||
184 | - actions.push('<a class="btn btn-info btn-xs ' + upload + ' " href="#" onclick="upLoad(\'' + row.code + '\',\'' + row.sourceCode + '\')"><i class="fa fa-edit"></i>上传</a> '); | 183 | + actions.push('<a class="btn btn-success btn-xs " href="#" onclick="adjustPrint(\'' + row.id + '\')"><i class="fa fa-print"></i>打印</a> '); |
184 | + /* actions.push('<a class="btn btn-info btn-xs ' + upload + ' " href="#" onclick="upLoad(\'' + row.code + '\',\'' + row.sourceCode + '\')"><i class="fa fa-edit"></i>上传</a> '); | ||
185 | actions.push('<a class="btn btn-danger btn-xs " href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a> ');*/ | 185 | actions.push('<a class="btn btn-danger btn-xs " href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a> ');*/ |
186 | actions.push('<a style="background: #b5bdc0" class="btn btn-default btn-xs " href="#" onclick="detail(\'' + row.id + '\',\'' + row.code + '\')"><i class="fa fa-list-ul"></i>明细</a>'); | 186 | actions.push('<a style="background: #b5bdc0" class="btn btn-default btn-xs " href="#" onclick="detail(\'' + row.id + '\',\'' + row.code + '\')"><i class="fa fa-list-ul"></i>明细</a>'); |
187 | return actions.join(''); | 187 | return actions.join(''); |
src/main/resources/templates/inventory/cycleCountDetail/add.html
@@ -11,7 +11,6 @@ | @@ -11,7 +11,6 @@ | ||
11 | <input type="hidden" id="cycleCountHeadCode" name="cycleCountHeadCode" th:value="${cycleCountHeadCode}"> | 11 | <input type="hidden" id="cycleCountHeadCode" name="cycleCountHeadCode" th:value="${cycleCountHeadCode}"> |
12 | <div class="select-list"> | 12 | <div class="select-list"> |
13 | <ul> | 13 | <ul> |
14 | - <ul> | ||
15 | <li> | 14 | <li> |
16 | 库存头ID:<input id="inventoryHeaderId" type="text" name="inventoryHeaderId"/> | 15 | 库存头ID:<input id="inventoryHeaderId" type="text" name="inventoryHeaderId"/> |
17 | </li> | 16 | </li> |
@@ -79,12 +78,14 @@ | @@ -79,12 +78,14 @@ | ||
79 | <a id="search" class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> | 78 | <a id="search" class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> |
80 | <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventoryHeader:export"><i class="fa fa-download"></i> 导出</a>--> | 79 | <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="general:inventoryHeader:export"><i class="fa fa-download"></i> 导出</a>--> |
81 | </li> | 80 | </li> |
82 | - </ul> | 81 | + </ul> |
83 | </div> | 82 | </div> |
84 | </form> | 83 | </form> |
85 | </div> | 84 | </div> |
86 | <div class="col-sm-12 select-info"> | 85 | <div class="col-sm-12 select-info"> |
87 | - <a class="btn btn-success btn-sm" onclick="addDetails()" style="float: left; margin-top: 12px" shiro:hasPermission="inventory:cyclecountDetail:add"><i class="fa fa-edit" ></i> 批量添加盘点明细</a> | 86 | + <a class="btn btn-success btn-sm" onclick="addDetails()" style="float: left; margin-top: 12px" |
87 | + shiro:hasPermission="inventory:cyclecountDetail:add"> | ||
88 | + <i class="fa fa-edit" ></i> 添加盘点明细</a> | ||
88 | <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table> | 89 | <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table> |
89 | </div> | 90 | </div> |
90 | </div> | 91 | </div> |
@@ -94,7 +95,7 @@ | @@ -94,7 +95,7 @@ | ||
94 | <div th:include="include::footer"></div> | 95 | <div th:include="include::footer"></div> |
95 | 96 | ||
96 | <script th:inline="javascript"> | 97 | <script th:inline="javascript"> |
97 | - var addFlag = [[${@permission.hasPermi('inventoryHeader:cycleCountDetail:add')}]]; | 98 | + var addFlag = [[${@permission.hasPermi('inventory:cyclecountDetail:add')}]]; |
98 | // var removeFlag = [[${@permission.hasPermi('inventoryHeader:inventoryHeader:remove')}]]; | 99 | // var removeFlag = [[${@permission.hasPermi('inventoryHeader:inventoryHeader:remove')}]]; |
99 | var prefix = ctx + "inventory/inventoryDetail"; | 100 | var prefix = ctx + "inventory/inventoryDetail"; |
100 | var prefix_cycleDetails = ctx + "inventory/cycleCountDetail"; | 101 | var prefix_cycleDetails = ctx + "inventory/cycleCountDetail"; |
@@ -132,7 +133,7 @@ | @@ -132,7 +133,7 @@ | ||
132 | { | 133 | { |
133 | checkbox: true | 134 | checkbox: true |
134 | }, | 135 | }, |
135 | - { | 136 | + /*{ |
136 | title: '操作', | 137 | title: '操作', |
137 | align: 'center', | 138 | align: 'center', |
138 | formatter: function(value, row, index) { | 139 | formatter: function(value, row, index) { |
@@ -141,10 +142,10 @@ | @@ -141,10 +142,10 @@ | ||
141 | // actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>'); | 142 | // actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>'); |
142 | return actions.join(''); | 143 | return actions.join(''); |
143 | } | 144 | } |
144 | - }, | 145 | + },*/ |
145 | { | 146 | { |
146 | field: 'id', | 147 | field: 'id', |
147 | - title: '明细ID', | 148 | + title: '库存明细ID', |
148 | sortable: true | 149 | sortable: true |
149 | }, | 150 | }, |
150 | { | 151 | { |
@@ -315,14 +316,18 @@ | @@ -315,14 +316,18 @@ | ||
315 | 316 | ||
316 | }); | 317 | }); |
317 | 318 | ||
318 | - /*function addDetail(cycleCountHeadId) { | ||
319 | - addInner($('cycleCountHeadId').val(),cycleCountHeadId); | ||
320 | - }*/ | 319 | + function addDetail(id) { |
320 | + /*var ids =[]; | ||
321 | + rows.forEach(function (item) { | ||
322 | + ids.push(item.id); | ||
323 | + });*/ | ||
324 | + addInner($('#cycleCountHeadCode').val(),id); | ||
325 | + } | ||
321 | 326 | ||
322 | function addDetails() { | 327 | function addDetails() { |
323 | var rows=$("#bootstrap-table").bootstrapTable('getSelections'); | 328 | var rows=$("#bootstrap-table").bootstrapTable('getSelections'); |
324 | if (rows.length < 1) { | 329 | if (rows.length < 1) { |
325 | - $.modal.alertWarning("请先选择记录"); | 330 | + $.modal.alertWarning("请选择库存明细!"); |
326 | return; | 331 | return; |
327 | } | 332 | } |
328 | var ids =[]; | 333 | var ids =[]; |
@@ -339,7 +344,7 @@ | @@ -339,7 +344,7 @@ | ||
339 | url : prefix_cycleDetails + "/add", | 344 | url : prefix_cycleDetails + "/add", |
340 | data:{ | 345 | data:{ |
341 | cycleCountHeadCode:cycleCountHeadCode, | 346 | cycleCountHeadCode:cycleCountHeadCode, |
342 | - inventoryDetailIdIds:ids | 347 | + inventoryDetailIds:ids |
343 | }, | 348 | }, |
344 | async : false, | 349 | async : false, |
345 | error : function(request) { | 350 | error : function(request) { |
src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html
@@ -85,7 +85,7 @@ | @@ -85,7 +85,7 @@ | ||
85 | </div> | 85 | </div> |
86 | <div class="btn-group hidden-xs" id="toolbar" role="group"> | 86 | <div class="btn-group hidden-xs" id="toolbar" role="group"> |
87 | <a class="btn btn-outline btn-success btn-rounded" onclick="add()" | 87 | <a class="btn btn-outline btn-success btn-rounded" onclick="add()" |
88 | - shiro:hasPermission="inventory:cycleCountDetail:add"> | 88 | + shiro:hasPermission="inventory:cyclecountDetail:add"> |
89 | <i class="fa fa-plus"></i> 新增 | 89 | <i class="fa fa-plus"></i> 新增 |
90 | </a> | 90 | </a> |
91 | <a class="btn btn-outline btn-danger btn-rounded" onclick="createCyclecountWithGapQty()" | 91 | <a class="btn btn-outline btn-danger btn-rounded" onclick="createCyclecountWithGapQty()" |
@@ -98,7 +98,7 @@ | @@ -98,7 +98,7 @@ | ||
98 | </a> | 98 | </a> |
99 | <a class="btn btn-outline btn-danger btn-rounded" onclick="batRemove()" | 99 | <a class="btn btn-outline btn-danger btn-rounded" onclick="batRemove()" |
100 | shiro:hasPermission="inventory:cyclecountDetail:remove"> | 100 | shiro:hasPermission="inventory:cyclecountDetail:remove"> |
101 | - <i class="fa fa-trash-o"></i> 批量删除 | 101 | + <i class="fa fa-trash-o"></i> 删除 |
102 | </a> | 102 | </a> |
103 | <a class="btn btn-outline btn-success btn-rounded" onclick="$.table.refresh()"> | 103 | <a class="btn btn-outline btn-success btn-rounded" onclick="$.table.refresh()"> |
104 | <i class="fa fa-refresh"></i> 刷新 | 104 | <i class="fa fa-refresh"></i> 刷新 |
@@ -109,10 +109,10 @@ | @@ -109,10 +109,10 @@ | ||
109 | </div> | 109 | </div> |
110 | <div th:include="include :: footer"></div> | 110 | <div th:include="include :: footer"></div> |
111 | <script th:inline="javascript"> | 111 | <script th:inline="javascript"> |
112 | - var editFlag = [[${@permission.hasPermi('inventoryHeader:cycleCountDetail:edit')}]]; | ||
113 | - var removeFlag = [[${@permission.hasPermi('inventoryHeader:cycleCountDetail:remove')}]]; | ||
114 | - var confirmFlag=[[${@permission.hasPermi('inventoryHeader:cycleCountDetail:confirm')}]]; | ||
115 | - var createTaskFalg=[[${@permission.hasPermi('inventoryHeader:cycleCountDetail:createTask')}]]; | 112 | + //var editFlag = [[${@permission.hasPermi('inventory:cyclecountDetail:edit')}]]; |
113 | + var removeFlag = [[${@permission.hasPermi('inventory:cyclecountDetail:remove')}]]; | ||
114 | + var confirmFlag = [[${@permission.hasPermi('inventory:cyclecountDetail:confirm')}]]; | ||
115 | + var createTaskFalg = [[${@permission.hasPermi('inventory:cyclecountDetail:createTask')}]]; | ||
116 | var prefix = ctx + "inventory/cycleCountDetail"; | 116 | var prefix = ctx + "inventory/cycleCountDetail"; |
117 | var prefix_head = ctx + "inventory/cycleCountHeader"; | 117 | var prefix_head = ctx + "inventory/cycleCountHeader"; |
118 | var remove_url= prefix + "/remove"; | 118 | var remove_url= prefix + "/remove"; |
@@ -318,12 +318,13 @@ | @@ -318,12 +318,13 @@ | ||
318 | align: 'center', | 318 | align: 'center', |
319 | formatter: function (value, row, index) { | 319 | formatter: function (value, row, index) { |
320 | var actions = []; | 320 | var actions = []; |
321 | - | ||
322 | - actions.push('<a class="btn btn-success btn-xs " href="#" onclick="confirmGapQty(\'' + row.id + '\')"><i class="fa fa-comment"></i>实盘登记</a> '); | ||
323 | - | ||
324 | - actions.push('<a class="btn btn-primary btn-xs " href="#" onclick="outcheck(\'' + row.id + '\')"><i class="fa fa-gbp"></i>生成盘点任务</a> '); | ||
325 | - | ||
326 | - actions.push('<a class="btn btn-danger btn-xs " href="#" onclick="remove(\'' + row.id + '\')" ><i class="fa fa-trash-o"></i>删除</a>'); | 321 | + if(row.enableStatus >= 10 && row.enableStatus < 100){ |
322 | + actions.push('<a class="btn btn-success btn-xs ' + confirmFlag + '" href="#" onclick="confirmGapQty(\'' + row.id + '\')"><i class="fa fa-comment"></i>实盘登记</a> '); | ||
323 | + } | ||
324 | + if(row.enableStatus === 1 ){ | ||
325 | + actions.push('<a class="btn btn-primary btn-xs ' + createTaskFalg + '" href="#" onclick="outcheck(\'' + row.id + '\')"><i class="fa fa-gbp"></i>生成盘点任务</a> '); | ||
326 | + } | ||
327 | + actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="remove(\'' + row.id + '\')" ><i class="fa fa-trash-o"></i>删除</a>'); | ||
327 | return actions.join(''); | 328 | return actions.join(''); |
328 | } | 329 | } |
329 | }] | 330 | }] |
src/main/resources/templates/inventory/cycleCountHeader/cycleCountHeader.html
@@ -70,13 +70,13 @@ | @@ -70,13 +70,13 @@ | ||
70 | </div> | 70 | </div> |
71 | <div class="btn-group hidden-xs" id="toolbar" role="group"> | 71 | <div class="btn-group hidden-xs" id="toolbar" role="group"> |
72 | <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" | 72 | <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" |
73 | - shiro:hasPermission="inventory:cycleCount:add"> | 73 | + shiro:hasPermission="inventory:cycleCountHeader:add"> |
74 | <i class="fa fa-plus"></i> 新增 | 74 | <i class="fa fa-plus"></i> 新增 |
75 | </a> | 75 | </a> |
76 | - <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" | ||
77 | - shiro:hasPermission="inventory:cycleCount:remove"> | 76 | + <!--<a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" |
77 | + shiro:hasPermission="inventory:cycleCountHeader:remove"> | ||
78 | <i class="fa fa-trash-o"></i> 删除 | 78 | <i class="fa fa-trash-o"></i> 删除 |
79 | - </a> | 79 | + </a>--> |
80 | </div> | 80 | </div> |
81 | <table id="bootstrap-table" data-mobile-responsive="true" | 81 | <table id="bootstrap-table" data-mobile-responsive="true" |
82 | class="table table-bordered table-hover"></table> | 82 | class="table table-bordered table-hover"></table> |
@@ -89,10 +89,10 @@ | @@ -89,10 +89,10 @@ | ||
89 | </div> | 89 | </div> |
90 | <div th:include="include :: footer"></div> | 90 | <div th:include="include :: footer"></div> |
91 | <script th:inline="javascript"> | 91 | <script th:inline="javascript"> |
92 | - var reportFlag = [[${@permission.hasPermi('inventoryHeader:cycleCount:report')}]]; | ||
93 | - var editFlag = [[${@permission.hasPermi('inventoryHeader:cycleCount:edit')}]]; | ||
94 | - var addAdjust = [[${@permission.hasPermi('inventoryHeader:cyclecountHead:addAdjust')}]]; | ||
95 | - var removeFlag = [[${@permission.hasPermi('inventoryHeader:cycleCount:remove')}]]; | 92 | + var reportFlag = [[${@permission.hasPermi('inventory:cycleCountHeader:report')}]]; |
93 | + //var editFlag = [[${@permission.hasPermi('inventory:cycleCountHeader:edit')}]]; | ||
94 | + var addAdjust = [[${@permission.hasPermi('inventory:cyclecountHead:addAdjust')}]]; | ||
95 | + var removeFlag = [[${@permission.hasPermi('inventory:cycleCount:remove')}]]; | ||
96 | var prefix = ctx + "inventory/cycleCountHeader"; | 96 | var prefix = ctx + "inventory/cycleCountHeader"; |
97 | var datas = [[${@dict.getType('sys_normal_disable')}]]; | 97 | var datas = [[${@dict.getType('sys_normal_disable')}]]; |
98 | var types = [[${@dict.getType('cyclecountType')}]]; | 98 | var types = [[${@dict.getType('cyclecountType')}]]; |
@@ -137,6 +137,11 @@ | @@ -137,6 +137,11 @@ | ||
137 | title: '货主编码' | 137 | title: '货主编码' |
138 | }, | 138 | }, |
139 | { | 139 | { |
140 | + field: 'round', | ||
141 | + title: ' 盘点轮次', | ||
142 | + visible: false | ||
143 | + }, | ||
144 | + { | ||
140 | field: 'sourceCode', | 145 | field: 'sourceCode', |
141 | title: '源盘点单' | 146 | title: '源盘点单' |
142 | }, | 147 | }, |
@@ -274,12 +279,12 @@ | @@ -274,12 +279,12 @@ | ||
274 | align: 'center', | 279 | align: 'center', |
275 | formatter: function (value, row, index) { | 280 | formatter: function (value, row, index) { |
276 | var actions = []; | 281 | var actions = []; |
277 | - actions.push('<a class="btn btn-success btn-xs " href="#" onclick="cyclecountPrint(\'' + row.id + '\')"><i class="fa fa-print"></i>打印</a> '); | ||
278 | - | ||
279 | - actions.push('<a class="btn btn-warning btn-xs " href="#" onclick="goAdjust(\'' + row.id + '\')"><i class="fa fa-gbp"></i>生成调整单</a> '); | ||
280 | - | ||
281 | - //actions.push('<a class="btn btn-info btn-xs " href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> '); | ||
282 | - actions.push('<a class="btn btn-danger btn-xs " href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a> '); | 282 | + actions.push('<a class="btn btn-success btn-xs ' + reportFlag + '" href="#" onclick="cyclecountPrint(\'' + row.id + '\')"><i class="fa fa-print"></i>打印</a> '); |
283 | + if(row.statusCyc === 100){ | ||
284 | + actions.push('<a class="btn btn-warning btn-xs ' + addAdjust + '" href="#" onclick="goAdjust(\'' + row.id + '\')"><i class="fa fa-gbp"></i>生成调整单</a> '); | ||
285 | + } | ||
286 | + //actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> '); | ||
287 | + actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a> '); | ||
283 | return actions.join(''); | 288 | return actions.join(''); |
284 | } | 289 | } |
285 | }] | 290 | }] |
src/main/resources/templates/inventory/inventoryDetail/inventoryDetail.html
@@ -86,7 +86,7 @@ | @@ -86,7 +86,7 @@ | ||
86 | shiro:hasPermission="inventory:inventoryHeader:seeOut"> | 86 | shiro:hasPermission="inventory:inventoryHeader:seeOut"> |
87 | <i class="fa fa-eye"></i> 出库查看 | 87 | <i class="fa fa-eye"></i> 出库查看 |
88 | </a> | 88 | </a> |
89 | - <a class="btn btn-outline btn-primary btn-rounded" onclick="check()" | 89 | + <a class="btn btn-outline btn-danger btn-rounded" onclick="check()" |
90 | shiro:hasPermission="inventory:inventoryDetail:detailCheckTask"> | 90 | shiro:hasPermission="inventory:inventoryDetail:detailCheckTask"> |
91 | <i class="fa fa-eye"></i> 在库质检 | 91 | <i class="fa fa-eye"></i> 在库质检 |
92 | </a> | 92 | </a> |
@@ -305,7 +305,9 @@ | @@ -305,7 +305,9 @@ | ||
305 | visible: false | 305 | visible: false |
306 | } | 306 | } |
307 | ] | 307 | ] |
308 | - },url = location.search.substr(1); | 308 | + }, |
309 | + | ||
310 | + url = location.search.substr(1); | ||
309 | let strs = url.split("&"); | 311 | let strs = url.split("&"); |
310 | $("#inventoryHeaderId").val(strs[0]); | 312 | $("#inventoryHeaderId").val(strs[0]); |
311 | $("#locationCode").val(strs[1]); | 313 | $("#locationCode").val(strs[1]); |
src/main/resources/templates/receipt/receiptDetail/add.html
@@ -52,7 +52,10 @@ | @@ -52,7 +52,10 @@ | ||
52 | <div class="form-group"> | 52 | <div class="form-group"> |
53 | <label class="col-sm-3 control-label">是否质检:</label> | 53 | <label class="col-sm-3 control-label">是否质检:</label> |
54 | <div class="col-sm-8"> | 54 | <div class="col-sm-8"> |
55 | - <input id="qcCheck" name="qcCheck" class="form-control" type="text"> | 55 | + <select id="qcCheck" name="qcCheck" class="form-control"> |
56 | + <option value="1">否</option> | ||
57 | + <option value="0">是</option> | ||
58 | + </select> | ||
56 | </div> | 59 | </div> |
57 | </div> | 60 | </div> |
58 | <div class="form-group"> | 61 | <div class="form-group"> |
@@ -70,7 +73,7 @@ | @@ -70,7 +73,7 @@ | ||
70 | <div class="form-group"> | 73 | <div class="form-group"> |
71 | <label class="col-sm-3 control-label">库存状态:</label> | 74 | <label class="col-sm-3 control-label">库存状态:</label> |
72 | <div class="col-sm-8"> | 75 | <div class="col-sm-8"> |
73 | - <select id="inventorySts" name="inventorySts" class="form-control" th:with="inventoryStatus=${@dict.getType('inventoryStatus')}"> | 76 | + <select id="inventorySts" name="inventorySts" class="form-control" th:with="inventoryStatus=${@dict.getType('inventorySts')}"> |
74 | <option th:each="dict : ${inventoryStatus}" th:text="${dict['dictLabel']}" th:value="${dict['dictValue']}"></option> | 77 | <option th:each="dict : ${inventoryStatus}" th:text="${dict['dictLabel']}" th:value="${dict['dictValue']}"></option> |
75 | </select> | 78 | </select> |
76 | </div> | 79 | </div> |
@@ -84,12 +87,21 @@ | @@ -84,12 +87,21 @@ | ||
84 | <div class="form-group"> | 87 | <div class="form-group"> |
85 | <label class="col-sm-3 control-label">定位规则:</label> | 88 | <label class="col-sm-3 control-label">定位规则:</label> |
86 | <div class="col-sm-8"> | 89 | <div class="col-sm-8"> |
87 | - <select id="locatingRule" name="locatingRule" class="form-control" th:with="list=${@FilterConfigDetailService.queryFilterConfigDetail('入库')}"> | 90 | + <select id="locatingRule" name="locatingRule" class="form-control" th:with="list=${@FilterConfigDetailService.queryFilterConfigDetail('locationRule')}"> |
88 | <option value="">请选择</option> | 91 | <option value="">请选择</option> |
89 | <option th:each="item : ${list}" th:text="${item['description']}" th:value="${item['code']}"></option> | 92 | <option th:each="item : ${list}" th:text="${item['description']}" th:value="${item['code']}"></option> |
90 | </select> | 93 | </select> |
91 | </div> | 94 | </div> |
92 | </div> | 95 | </div> |
96 | + <div class="form-group"> | ||
97 | + <label class="col-sm-3 control-label">入库流程:</label> | ||
98 | + <div class="col-sm-8"> | ||
99 | + <select id="statusFlowCode" name="statusFlowCode" class="form-control" th:with="statusFlowList=${@StatusFlow.flowList('receivingFlow')}"> | ||
100 | + <option value="">请选择</option> | ||
101 | + <option th:each="flow : ${statusFlowList}" th:text="${flow['name']}" th:value="${flow['code']}"></option> | ||
102 | + </select> | ||
103 | + </div> | ||
104 | + </div> | ||
93 | <!-- <div class="form-group">--> | 105 | <!-- <div class="form-group">--> |
94 | <!-- <label class="col-sm-3 control-label">标价:</label>--> | 106 | <!-- <label class="col-sm-3 control-label">标价:</label>--> |
95 | <!-- <div class="col-sm-8">--> | 107 | <!-- <div class="col-sm-8">--> |
@@ -150,6 +162,7 @@ | @@ -150,6 +162,7 @@ | ||
150 | submitHandler: function(form) { | 162 | submitHandler: function(form) { |
151 | var tableValue = $("#form-receiptDetail-add").serialize(); | 163 | var tableValue = $("#form-receiptDetail-add").serialize(); |
152 | tableValue = formValueReplace(tableValue, "inventorySts", $("#inventorySts option:selected").val()); | 164 | tableValue = formValueReplace(tableValue, "inventorySts", $("#inventorySts option:selected").val()); |
165 | + tableValue = formValueReplace(tableValue, "qcCheck", $("#qcCheck option:selected").val()); | ||
153 | $.operate.save(prefix + "/add", tableValue); | 166 | $.operate.save(prefix + "/add", tableValue); |
154 | } | 167 | } |
155 | }); | 168 | }); |
src/main/resources/templates/receipt/receiptDetail/edit.html
@@ -53,7 +53,10 @@ | @@ -53,7 +53,10 @@ | ||
53 | <div class="form-group"> | 53 | <div class="form-group"> |
54 | <label class="col-sm-3 control-label">是否质检:</label> | 54 | <label class="col-sm-3 control-label">是否质检:</label> |
55 | <div class="col-sm-8"> | 55 | <div class="col-sm-8"> |
56 | - <input id="qcCheck" name="qcCheck" class="form-control" type="text" th:field="*{qcCheck}"> | 56 | + <select id="qcCheck" name="qcCheck" class="form-control" th:field="*{qcCheck}"> |
57 | + <option value="1">否</option> | ||
58 | + <option value="0">是</option> | ||
59 | + </select> | ||
57 | </div> | 60 | </div> |
58 | </div> | 61 | </div> |
59 | <div class="form-group"> | 62 | <div class="form-group"> |
@@ -72,7 +75,7 @@ | @@ -72,7 +75,7 @@ | ||
72 | <label class="col-sm-3 control-label">库存状态:</label> | 75 | <label class="col-sm-3 control-label">库存状态:</label> |
73 | <div class="col-sm-8"> | 76 | <div class="col-sm-8"> |
74 | <select id="inventorySts" name="inventorySts" class="form-control" | 77 | <select id="inventorySts" name="inventorySts" class="form-control" |
75 | - th:with="inventoryStatus=${@dict.getType('inventoryStatus')}" th:field="*{inventorySts}"> | 78 | + th:with="inventoryStatus=${@dict.getType('inventorySts')}" th:field="*{inventorySts}"> |
76 | <option th:each="dict : ${inventoryStatus}" th:text="${dict['dictLabel']}" th:value="${dict['dictValue']}"></option> | 79 | <option th:each="dict : ${inventoryStatus}" th:text="${dict['dictLabel']}" th:value="${dict['dictValue']}"></option> |
77 | </select> | 80 | </select> |
78 | </div> | 81 | </div> |
@@ -86,7 +89,11 @@ | @@ -86,7 +89,11 @@ | ||
86 | <div class="form-group"> | 89 | <div class="form-group"> |
87 | <label class="col-sm-3 control-label">定位规则:</label> | 90 | <label class="col-sm-3 control-label">定位规则:</label> |
88 | <div class="col-sm-8"> | 91 | <div class="col-sm-8"> |
89 | - <input id="locatingRule" name="locatingRule" class="form-control" type="text" th:field="*{locatingRule}"> | 92 | + <select id="locatingRule" name="locatingRule" class="form-control" |
93 | + th:with="list=${@FilterConfigDetailService.queryFilterConfigDetail('locationRule')}" th:field="*{locatingRule}"> | ||
94 | + <option value="">请选择</option> | ||
95 | + <option th:each="item : ${list}" th:text="${item['description']}" th:value="${item['code']}"></option> | ||
96 | + </select> | ||
90 | </div> | 97 | </div> |
91 | </div> | 98 | </div> |
92 | <div class="form-group"> | 99 | <div class="form-group"> |
@@ -101,6 +108,16 @@ | @@ -101,6 +108,16 @@ | ||
101 | <input id="itemNetPrice" name="itemNetPrice" class="form-control" type="text" th:field="*{itemNetPrice}"> | 108 | <input id="itemNetPrice" name="itemNetPrice" class="form-control" type="text" th:field="*{itemNetPrice}"> |
102 | </div> | 109 | </div> |
103 | </div> | 110 | </div> |
111 | + <div class="form-group"> | ||
112 | + <label class="col-sm-3 control-label">入库流程:</label> | ||
113 | + <div class="col-sm-8"> | ||
114 | + <select id="statusFlowCode" name="statusFlowCode" class="form-control" | ||
115 | + th:with="statusFlowList=${@StatusFlow.flowList('receivingFlow')}" th:field="*{statusFlowCode}"> | ||
116 | + <option value="">请选择</option> | ||
117 | + <option th:each="flow : ${statusFlowList}" th:text="${flow['name']}" th:value="${flow['code']}"></option> | ||
118 | + </select> | ||
119 | + </div> | ||
120 | + </div> | ||
104 | <!--<div class="form-group">--> | 121 | <!--<div class="form-group">--> |
105 | <!--<label class="col-sm-3 control-label">自定义字段1:</label>--> | 122 | <!--<label class="col-sm-3 control-label">自定义字段1:</label>--> |
106 | <!--<div class="col-sm-8">--> | 123 | <!--<div class="col-sm-8">--> |
src/main/resources/templates/receipt/receiptHeader/edit.html
src/main/resources/templates/receipt/receiptHeader/receiptHeader.html
@@ -82,12 +82,15 @@ | @@ -82,12 +82,15 @@ | ||
82 | <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="receipt:receiptHeader:add"> | 82 | <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="receipt:receiptHeader:add"> |
83 | <i class="fa fa-plus"></i> 新增 | 83 | <i class="fa fa-plus"></i> 新增 |
84 | </a> | 84 | </a> |
85 | - <a class="btn btn-outline btn-default btn-rounded" onclick="submitReview()" shiro:hasPermission="receipt:receiptHeader:add"> | 85 | + <a class="btn btn-outline btn-default btn-rounded" onclick="submitReview()" shiro:hasPermission="receipt:receiptHeader:approval"> |
86 | <i class="fa fa-fighter-jet"></i> 提交审核 | 86 | <i class="fa fa-fighter-jet"></i> 提交审核 |
87 | </a> | 87 | </a> |
88 | - <a class="btn btn-outline btn-primary btn-rounded" onclick="approval()" shiro:hasPermission="receipt:receiptHeader:add"> | 88 | + <a class="btn btn-outline btn-primary btn-rounded" onclick="approval()" shiro:hasPermission="receipt:receiptHeader:review"> |
89 | <i class="fa fa-level-up"></i> 审核通过 | 89 | <i class="fa fa-level-up"></i> 审核通过 |
90 | </a> | 90 | </a> |
91 | + <a class="btn btn-outline btn-primary btn-rounded" onclick="addPool()" shiro:hasPermission="receipt:receiptHeader:addPool"> | ||
92 | + <i class="fa fa-check-circle"></i> 加入订单池 | ||
93 | + </a> | ||
91 | <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="receipt:receiptHeader:remove"> | 94 | <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="receipt:receiptHeader:remove"> |
92 | <i class="fa fa-trash-o"></i> 删除 | 95 | <i class="fa fa-trash-o"></i> 删除 |
93 | </a> | 96 | </a> |
@@ -389,7 +392,7 @@ | @@ -389,7 +392,7 @@ | ||
389 | actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="#" onclick="arrival(\'' + row.id + '\')" ><i class="fa fa-edit"></i>入库预约</a> '); | 392 | actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="#" onclick="arrival(\'' + row.id + '\')" ><i class="fa fa-edit"></i>入库预约</a> '); |
390 | } | 393 | } |
391 | if (row.firstStatus ==150 || row.lastStatus == 150 ){ | 394 | if (row.firstStatus ==150 || row.lastStatus == 150 ){ |
392 | - actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')" ><i class="fa fa-edit"></i>到货通知</a> '); | 395 | + actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="#" onclick="arrivalNotice(\'' + row.id + '\')" ><i class="fa fa-edit"></i>到货通知</a> '); |
393 | } | 396 | } |
394 | if (row.firstStatus ==180 || row.lastStatus == 180 ){ | 397 | if (row.firstStatus ==180 || row.lastStatus == 180 ){ |
395 | actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="#" onclick="check(\'' + row.id + '\')" ><i class="fa fa-edit"></i>质检</a> '); | 398 | actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="#" onclick="check(\'' + row.id + '\')" ><i class="fa fa-edit"></i>质检</a> '); |
@@ -474,7 +477,17 @@ | @@ -474,7 +477,17 @@ | ||
474 | }, | 477 | }, |
475 | { | 478 | { |
476 | field : 'qcCheck', | 479 | field : 'qcCheck', |
477 | - title : '是否质检' | 480 | + title : '是否质检', |
481 | + align : "center", | ||
482 | + formatter: function(value, row, index) { | ||
483 | + var actions = []; | ||
484 | + if (value == 0) { | ||
485 | + actions.push("<span class='badge badge-info'>是</span>"); | ||
486 | + } else { | ||
487 | + actions.push("<span class='badge badge-info'>否</span>"); | ||
488 | + } | ||
489 | + return actions.join(''); | ||
490 | + } | ||
478 | }, | 491 | }, |
479 | { | 492 | { |
480 | field : 'projectNo', | 493 | field : 'projectNo', |
@@ -541,8 +554,13 @@ | @@ -541,8 +554,13 @@ | ||
541 | visible:false | 554 | visible:false |
542 | }, | 555 | }, |
543 | { | 556 | { |
557 | + field : 'statusFlowCode', | ||
558 | + title : '流程编码' | ||
559 | + }, | ||
560 | + { | ||
544 | field : 'isVirtualBom', | 561 | field : 'isVirtualBom', |
545 | title : '是否虚拟套件', | 562 | title : '是否虚拟套件', |
563 | + align : "center", | ||
546 | formatter: function(value, row, index) { | 564 | formatter: function(value, row, index) { |
547 | return $.table.selectDictLabel(isVirtualBoms, value); | 565 | return $.table.selectDictLabel(isVirtualBoms, value); |
548 | } | 566 | } |
@@ -807,6 +825,27 @@ | @@ -807,6 +825,27 @@ | ||
807 | var data = { "id": id }; | 825 | var data = { "id": id }; |
808 | $.operate.submit(url, "post", "json", data); | 826 | $.operate.submit(url, "post", "json", data); |
809 | } | 827 | } |
828 | + | ||
829 | + function arrivalNotice(id) { | ||
830 | + var url = prefix+"/arrivalNotice"; | ||
831 | + var data = { "id": id }; | ||
832 | + $.operate.submit(url, "post", "json", data); | ||
833 | + } | ||
834 | + | ||
835 | + function addPool() { | ||
836 | + var rows=$("#bootstrap-table").bootstrapTable('getSelections'); | ||
837 | + if (rows.length == 0) { | ||
838 | + $.modal.alertWarning("请至少选择一条记录"); | ||
839 | + return; | ||
840 | + } | ||
841 | + var url = prefix+"/addPool"; | ||
842 | + var ids = ""; | ||
843 | + for(var i=0; i<rows.length; i++) { | ||
844 | + ids = ids + rows[i].id + "," | ||
845 | + } | ||
846 | + var data = { "ids": ids.substring(0, ids.length-1),"approval": 100 }; | ||
847 | + $.operate.submit(url, "post", "json", data); | ||
848 | + } | ||
810 | </script> | 849 | </script> |
811 | </body> | 850 | </body> |
812 | </html> | 851 | </html> |
813 | \ No newline at end of file | 852 | \ No newline at end of file |
src/main/resources/templates/receipt/receiving/receiving.html
@@ -189,15 +189,11 @@ | @@ -189,15 +189,11 @@ | ||
189 | updateUrl: prefix + "/edit/{id}", | 189 | updateUrl: prefix + "/edit/{id}", |
190 | removeUrl: prefix + "/remove", | 190 | removeUrl: prefix + "/remove", |
191 | contentType: "application/x-www-form-urlencoded", | 191 | contentType: "application/x-www-form-urlencoded", |
192 | - // search: true, //搜索 | ||
193 | - // showRefresh: true,//刷新 | ||
194 | - // showToggle:true, //视图切换 | ||
195 | clickToSelect: true, | 192 | clickToSelect: true, |
196 | - // showColumns:true, //列选择 | ||
197 | - // detailView:true, | ||
198 | - // showExport: true, //导出 | ||
199 | - // exportDataType: "all", //导出类型basic', 'all', 'selected'.当前页、所有数据、选中数据 | ||
200 | modalName: "收货", | 193 | modalName: "收货", |
194 | + onRefresh: function(){ | ||
195 | + | ||
196 | + }, | ||
201 | columns: [ | 197 | columns: [ |
202 | { | 198 | { |
203 | field:'work', | 199 | field:'work', |
@@ -367,6 +363,7 @@ | @@ -367,6 +363,7 @@ | ||
367 | } | 363 | } |
368 | localStorage.removeItem("receiving_code"); | 364 | localStorage.removeItem("receiving_code"); |
369 | } | 365 | } |
366 | + | ||
370 | receiving_refresh(); | 367 | receiving_refresh(); |
371 | 368 | ||
372 | function remove(id) { | 369 | function remove(id) { |
@@ -390,7 +387,18 @@ | @@ -390,7 +387,18 @@ | ||
390 | ids += ","; | 387 | ids += ","; |
391 | } | 388 | } |
392 | var data = { "ids": ids }; | 389 | var data = { "ids": ids }; |
393 | - $.operate.submit(url, "post", "json", data); | 390 | + $.modal.loading("正在处理中,请稍后..."); |
391 | + var config = { | ||
392 | + url: url, | ||
393 | + type: "post", | ||
394 | + dataType: "json", | ||
395 | + data: data, | ||
396 | + success: function(result) { | ||
397 | + $.operate.ajaxSuccess(result); | ||
398 | + list_receiptInfo($("#code").val()); | ||
399 | + } | ||
400 | + }; | ||
401 | + $.ajax(config) | ||
394 | } | 402 | } |
395 | 403 | ||
396 | function cancelPositioning() { | 404 | function cancelPositioning() { |
@@ -406,7 +414,20 @@ | @@ -406,7 +414,20 @@ | ||
406 | ids += ","; | 414 | ids += ","; |
407 | } | 415 | } |
408 | var data = { "ids": ids }; | 416 | var data = { "ids": ids }; |
409 | - $.operate.submit(url, "post", "json", data); | 417 | + |
418 | + $.modal.loading("正在处理中,请稍后..."); | ||
419 | + var config = { | ||
420 | + url: url, | ||
421 | + type: "post", | ||
422 | + dataType: "json", | ||
423 | + data: data, | ||
424 | + success: function(result) { | ||
425 | + $.operate.ajaxSuccess(result); | ||
426 | + list_receiptInfo($("#code").val()); | ||
427 | + } | ||
428 | + }; | ||
429 | + $.ajax(config) | ||
430 | + | ||
410 | } | 431 | } |
411 | 432 | ||
412 | function batRemove() { | 433 | function batRemove() { |
@@ -418,11 +439,22 @@ | @@ -418,11 +439,22 @@ | ||
418 | var url = ctx+"receipt/receiptContainerDetail/remove"; | 439 | var url = ctx+"receipt/receiptContainerDetail/remove"; |
419 | var ids = ""; | 440 | var ids = ""; |
420 | for (var i = 0; i<rows.length; i++){ | 441 | for (var i = 0; i<rows.length; i++){ |
421 | - ids += rows[i].receiptContainerId; | 442 | + ids += rows[i].id; |
422 | ids += ","; | 443 | ids += ","; |
423 | } | 444 | } |
424 | var data = { "ids": ids }; | 445 | var data = { "ids": ids }; |
425 | - $.operate.submit(url, "post", "json", data); | 446 | + var config = { |
447 | + url: url, | ||
448 | + type: "post", | ||
449 | + dataType: "json", | ||
450 | + data: data, | ||
451 | + success: function(result) { | ||
452 | + $.operate.ajaxSuccess(result); | ||
453 | + list_receiptInfo($("#code").val()); | ||
454 | + list_select($("#code").val()); | ||
455 | + } | ||
456 | + }; | ||
457 | + $.ajax(config) | ||
426 | } | 458 | } |
427 | </script> | 459 | </script> |
428 | </body> | 460 | </body> |