Commit 4a4a19cc48e157ad7c2a0b360f441938eb52b2b3
Merge remote-tracking branch 'origin/develop' into develop
Showing
33 changed files
with
244 additions
and
140 deletions
.idea/workspace.xml
... | ... | @@ -2,18 +2,17 @@ |
2 | 2 | <project version="4"> |
3 | 3 | <component name="ChangeListManager"> |
4 | 4 | <list default="true" id="baeae966-16bb-4f97-a411-22fe5a65cefd" name="Default Changelist" comment=""> |
5 | - <change afterPath="$PROJECT_DIR$/src/main/resources/templates/check/checkingRegister/checkingRegister.html" afterDir="false" /> | |
6 | - <change beforePath="$PROJECT_DIR$/.idea/compiler.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/compiler.xml" afterDir="false" /> | |
7 | 5 | <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> |
8 | - <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkDetail/controller/CheckDetailController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkDetail/controller/CheckDetailController.java" afterDir="false" /> | |
9 | - <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkDetail/service/CheckDetailService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/check/checkDetail/service/CheckDetailService.java" afterDir="false" /> | |
10 | - <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" /> | |
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" /> | |
11 | 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" /> |
12 | - <change beforePath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java" afterDir="false" /> | |
13 | - <change beforePath="$PROJECT_DIR$/src/main/resources/templates/check/checkDetail/checkComplete.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/check/checkDetail/checkComplete.html" 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" /> | |
14 | 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" /> |
15 | - <change beforePath="$PROJECT_DIR$/src/main/resources/templates/check/checkHeader/checkHeader.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/templates/check/checkHeader/checkHeader.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" /> | |
16 | 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" /> | |
17 | 16 | </list> |
18 | 17 | <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> |
19 | 18 | <option name="SHOW_DIALOG" value="false" /> |
... | ... | @@ -53,7 +52,7 @@ |
53 | 52 | <item name="@172.16.29.45" type="feb32156:DbDataSourceImpl" /> |
54 | 53 | <item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" /> |
55 | 54 | <item name="wms_v2: schema" type="76f4a085:MysqlImplModel$Schema" /> |
56 | - <item name="task_detail: table" type="285a2a93:MysqlImplModel$Table" /> | |
55 | + <item name="receipt_header: table" type="285a2a93:MysqlImplModel$Table" /> | |
57 | 56 | </path> |
58 | 57 | <path> |
59 | 58 | <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" /> |
... | ... | @@ -92,8 +91,8 @@ |
92 | 91 | <list> |
93 | 92 | <option value="Interface" /> |
94 | 93 | <option value="Class" /> |
95 | - <option value="HTML File" /> | |
96 | 94 | <option value="Enum" /> |
95 | + <option value="HTML File" /> | |
97 | 96 | </list> |
98 | 97 | </option> |
99 | 98 | </component> |
... | ... | @@ -101,6 +100,9 @@ |
101 | 100 | <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" /> |
102 | 101 | </component> |
103 | 102 | <component name="ProjectId" id="1QOzUtfkdeRmYuw3MIDHXXMLsFH" /> |
103 | + <component name="ProjectLevelVcsManager"> | |
104 | + <OptionsSetting value="false" id="Update" /> | |
105 | + </component> | |
104 | 106 | <component name="PropertiesComponent"> |
105 | 107 | <property name="DefaultHtmlFileTemplate" value="HTML File" /> |
106 | 108 | <property name="RequestMappingsPanelOrder0" value="0" /> |
... | ... | @@ -220,7 +222,9 @@ |
220 | 222 | <workItem from="1568094783772" duration="3618000" /> |
221 | 223 | <workItem from="1568102171954" duration="179000" /> |
222 | 224 | <workItem from="1568102802104" duration="132000" /> |
223 | - <workItem from="1568108585629" duration="1883000" /> | |
225 | + <workItem from="1568108585629" duration="2016000" /> | |
226 | + <workItem from="1568162278389" duration="3299000" /> | |
227 | + <workItem from="1568170378983" duration="10947000" /> | |
224 | 228 | </task> |
225 | 229 | <task id="LOCAL-00001" summary="修改添加物料时使用物料类别生成物料编码"> |
226 | 230 | <created>1567664306836</created> |
... | ... | @@ -243,7 +247,28 @@ |
243 | 247 | <option name="project" value="LOCAL" /> |
244 | 248 | <updated>1568025230030</updated> |
245 | 249 | </task> |
246 | - <option name="localTasksCounter" value="4" /> | |
250 | + <task id="LOCAL-00004" summary="修改质检页面、添加完成质检"> | |
251 | + <created>1568110494128</created> | |
252 | + <option name="number" value="00004" /> | |
253 | + <option name="presentableId" value="LOCAL-00004" /> | |
254 | + <option name="project" value="LOCAL" /> | |
255 | + <updated>1568110494128</updated> | |
256 | + </task> | |
257 | + <task id="LOCAL-00005" summary="修复入库质检请求地址冲突"> | |
258 | + <created>1568162392627</created> | |
259 | + <option name="number" value="00005" /> | |
260 | + <option name="presentableId" value="LOCAL-00005" /> | |
261 | + <option name="project" value="LOCAL" /> | |
262 | + <updated>1568162392627</updated> | |
263 | + </task> | |
264 | + <task id="LOCAL-00006" summary="添加入库单打印"> | |
265 | + <created>1568174134623</created> | |
266 | + <option name="number" value="00006" /> | |
267 | + <option name="presentableId" value="LOCAL-00006" /> | |
268 | + <option name="project" value="LOCAL" /> | |
269 | + <updated>1568174134623</updated> | |
270 | + </task> | |
271 | + <option name="localTasksCounter" value="7" /> | |
247 | 272 | <servers /> |
248 | 273 | </component> |
249 | 274 | <component name="TypeScriptGeneratedFilesManager"> |
... | ... | @@ -265,7 +290,9 @@ |
265 | 290 | <component name="VcsManagerConfiguration"> |
266 | 291 | <MESSAGE value="修改添加物料时使用物料类别生成物料编码" /> |
267 | 292 | <MESSAGE value="修改质检页面、添加完成质检" /> |
268 | - <option name="LAST_COMMIT_MESSAGE" value="修改质检页面、添加完成质检" /> | |
293 | + <MESSAGE value="修复入库质检请求地址冲突" /> | |
294 | + <MESSAGE value="添加入库单打印" /> | |
295 | + <option name="LAST_COMMIT_MESSAGE" value="添加入库单打印" /> | |
269 | 296 | </component> |
270 | 297 | <component name="XDebuggerManager"> |
271 | 298 | <breakpoint-manager> |
... | ... | @@ -285,6 +312,16 @@ |
285 | 312 | <line>45</line> |
286 | 313 | <option name="timeStamp" value="9" /> |
287 | 314 | </line-breakpoint> |
315 | + <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" /> | |
319 | + </line-breakpoint> | |
320 | + <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" /> | |
324 | + </line-breakpoint> | |
288 | 325 | </breakpoints> |
289 | 326 | </breakpoint-manager> |
290 | 327 | </component> |
... | ... |
src/main/java/com/huaheng/pc/config/FilterConfigDetail/service/FilterConfigDetailService.java
... | ... | @@ -15,12 +15,13 @@ import java.util.Map; |
15 | 15 | public class FilterConfigDetailService extends ServiceImpl<FilterConfigDetailMapper, FilterConfigDetail> { |
16 | 16 | |
17 | 17 | /** |
18 | - * 查询定位自定义sql,供前端页面选择使用 | |
18 | + * 查询入库定位自定义sql,供前端页面选择使用 | |
19 | 19 | * @return |
20 | 20 | */ |
21 | 21 | public List<Map<String, Object>> queryFilterConfigDetail(){ |
22 | 22 | LambdaQueryWrapper<FilterConfigDetail> lambdaQueryWrapper = Wrappers.lambdaQuery(); |
23 | 23 | lambdaQueryWrapper.select(FilterConfigDetail::getCode, FilterConfigDetail::getDescription) |
24 | + .eq(FilterConfigDetail::getModuleType,"入库") | |
24 | 25 | .eq(FilterConfigDetail::getWarehouseCode, ShiroUtils.getWarehouseCode()); |
25 | 26 | return this.listMaps(lambdaQueryWrapper); |
26 | 27 | } |
... | ... |
src/main/java/com/huaheng/pc/inventory/inventoryDetail/mapper/InventoryDetailMapper.java
... | ... | @@ -3,10 +3,13 @@ package com.huaheng.pc.inventory.inventoryDetail.mapper; |
3 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
4 | 4 | import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail; |
5 | 5 | |
6 | +import java.math.BigDecimal; | |
6 | 7 | import java.util.List; |
7 | 8 | |
8 | 9 | public interface InventoryDetailMapper extends BaseMapper<InventoryDetail> { |
9 | 10 | |
10 | 11 | List<InventoryDetail> selectBysql(String sql); |
11 | 12 | |
13 | + BigDecimal getSumQty(InventoryDetail inventoryDetail); | |
14 | + | |
12 | 15 | } |
13 | 16 | \ No newline at end of file |
... | ... |
src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailService.java
... | ... | @@ -6,6 +6,7 @@ import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail; |
6 | 6 | import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail; |
7 | 7 | |
8 | 8 | import java.lang.reflect.InvocationTargetException; |
9 | +import java.math.BigDecimal; | |
9 | 10 | import java.util.List; |
10 | 11 | |
11 | 12 | public interface InventoryDetailService extends IService<InventoryDetail> { |
... | ... | @@ -18,6 +19,9 @@ public interface InventoryDetailService extends IService<InventoryDetail> { |
18 | 19 | |
19 | 20 | AjaxResult detailCheckTask (Integer[] ids) throws InvocationTargetException, IllegalAccessException; |
20 | 21 | |
22 | + //求一种物料的库存之和 | |
23 | + BigDecimal getSumQty(InventoryDetail inventoryDetail); | |
24 | + | |
21 | 25 | } |
22 | 26 | |
23 | 27 | |
... | ... |
src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java
... | ... | @@ -34,6 +34,7 @@ import org.springframework.transaction.annotation.Transactional; |
34 | 34 | |
35 | 35 | import javax.annotation.Resource; |
36 | 36 | import java.lang.reflect.InvocationTargetException; |
37 | +import java.math.BigDecimal; | |
37 | 38 | import java.text.SimpleDateFormat; |
38 | 39 | import java.util.*; |
39 | 40 | |
... | ... | @@ -233,6 +234,11 @@ public class InventoryDetailServiceImpl extends ServiceImpl<InventoryDetailMappe |
233 | 234 | } |
234 | 235 | |
235 | 236 | |
237 | + @Override | |
238 | + public BigDecimal getSumQty(InventoryDetail inventoryDetail) { | |
239 | + return inventoryDetailMapper.getSumQty(inventoryDetail); | |
240 | + } | |
241 | + | |
236 | 242 | } |
237 | 243 | |
238 | 244 | |
... | ... |
src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java
... | ... | @@ -184,6 +184,13 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai |
184 | 184 | if (StringUtils.isEmpty(containerCode)) |
185 | 185 | throw new ServiceException("容器不能为空"); |
186 | 186 | |
187 | + LambdaQueryWrapper<Container> lambda = Wrappers.lambdaQuery(); | |
188 | + lambda.eq(Container::getCode, containerCode); | |
189 | + Container container = containerService.getOne(lambda); | |
190 | + if (container == null){ | |
191 | + throw new ServiceException("该容器编号不存在"); | |
192 | + } | |
193 | + | |
187 | 194 | //检查该容器编码是否已存任务 |
188 | 195 | LambdaQueryWrapper<TaskHeader> lambdaQueryWrapper = Wrappers.lambdaQuery(); |
189 | 196 | lambdaQueryWrapper.eq(TaskHeader::getContainerCode, containerCode) |
... | ... |
src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java
... | ... | @@ -82,7 +82,8 @@ public class ReceiptHeaderController extends BaseController { |
82 | 82 | .eq(StringUtils.isNotNull(receiptHeader.getFirstStatus()), |
83 | 83 | ReceiptHeader::getFirstStatus, receiptHeader.getFirstStatus()) |
84 | 84 | .eq(StringUtils.isNotNull(receiptHeader.getLastStatus()), |
85 | - ReceiptHeader::getLastStatus, receiptHeader.getLastStatus()); | |
85 | + ReceiptHeader::getLastStatus, receiptHeader.getLastStatus()) | |
86 | + .orderByDesc(ReceiptHeader::getCreated); | |
86 | 87 | |
87 | 88 | if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){ |
88 | 89 | /** |
... | ... | @@ -249,8 +250,7 @@ public class ReceiptHeaderController extends BaseController { |
249 | 250 | @ApiOperation(value="打印入库单报表", notes="打印入库单报表", httpMethod = "POST") |
250 | 251 | @RequiresPermissions("receipt:receiptHeader:check") |
251 | 252 | @Log(title = "入库-入库单",operating = "打印入库单报表", action = BusinessType.OTHER) |
252 | - @PostMapping("/report/{id}") | |
253 | - @ResponseBody | |
253 | + @GetMapping("/report/{id}") | |
254 | 254 | public String report(@ApiParam(name = "id", value = "入库头表id") |
255 | 255 | @PathVariable("id") Integer id, ModelMap mmap){ |
256 | 256 | ReceiptHeader receiptHeader = receiptHeaderService.getById(id); |
... | ... |
src/main/java/com/huaheng/pc/receipt/receiving/service/ReceivingService.java
... | ... | @@ -80,7 +80,7 @@ public class ReceivingService { |
80 | 80 | public Boolean position(ReceiptContainerDetail receiptContainerDetail){ |
81 | 81 | ReceiptContainerHeader receiptContainerHeader = receiptContainerHeaderService.getById(receiptContainerDetail.getReceiptContainerId()); |
82 | 82 | |
83 | - //如果入库组盘表中有目标库位说名已经指定 | |
83 | + //如果入库组盘表中有目标库位说明已经指定 | |
84 | 84 | if (StringUtils.isNotEmpty(receiptContainerHeader.getToLocation())){return true;} |
85 | 85 | String locatingRule = receiptContainerHeader.getLocatingRule(); //定位规则 |
86 | 86 | if (StringUtils.isNotEmpty(locatingRule)){ |
... | ... |
src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java
... | ... | @@ -254,14 +254,14 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont |
254 | 254 | } |
255 | 255 | |
256 | 256 | // |
257 | - if(shipmentContainerHeader.getStatus()<=10){ | |
257 | + if(shipmentContainerHeader.getStatus()>=10 && shipmentContainerHeader.getStatus()<30){ | |
258 | 258 | LambdaQueryWrapper<TaskHeader> taskHeaderLambdaQueryWrapper=Wrappers.lambdaQuery(); |
259 | 259 | taskHeaderLambdaQueryWrapper.eq(TaskHeader::getWarehouseCode,shipmentContainerHeader.getWarehouseCode()) |
260 | 260 | .eq(TaskHeader::getInternalTaskType,200) |
261 | 261 | .eq(TaskHeader::getAllocationHeadId,shipmentContainerHeader.getId()); |
262 | 262 | TaskHeader taskHeader=taskHeaderService.getOne(taskHeaderLambdaQueryWrapper); |
263 | 263 | if(taskHeader==null){ |
264 | - throw new ServiceException("找不到相应的任务头"); | |
264 | + throw new ServiceException("有相同的组盘头,但找不到相应的任务头"); | |
265 | 265 | } |
266 | 266 | TaskDetail taskDetail = new TaskDetail(); |
267 | 267 | taskDetail.setTaskId(taskHeader.getId()); |
... | ... |
src/main/java/com/huaheng/pc/shipment/shipmentDetail/controller/ShipmentDetailController.java
... | ... | @@ -13,6 +13,8 @@ import com.huaheng.framework.web.domain.AjaxResult; |
13 | 13 | import com.huaheng.framework.web.page.PageDomain; |
14 | 14 | import com.huaheng.framework.web.page.TableDataInfo; |
15 | 15 | import com.huaheng.framework.web.page.TableSupport; |
16 | +import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail; | |
17 | +import com.huaheng.pc.inventory.inventoryDetail.service.InventoryDetailService; | |
16 | 18 | import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail; |
17 | 19 | import com.huaheng.pc.shipment.shipmentDetail.service.ShipmentDetailService; |
18 | 20 | import org.apache.shiro.authz.annotation.RequiresPermissions; |
... | ... | @@ -37,8 +39,11 @@ public class ShipmentDetailController extends BaseController |
37 | 39 | |
38 | 40 | @Autowired |
39 | 41 | private ShipmentDetailService shipmentDetailService; |
42 | + @Autowired | |
43 | + private InventoryDetailService inventoryDetailService; | |
44 | + | |
45 | + | |
40 | 46 | |
41 | - | |
42 | 47 | @RequiresPermissions("shipment:bill:view") |
43 | 48 | @GetMapping("/{shipmentId}/{shipmentCode}") |
44 | 49 | public String shipmentDetail(@PathVariable("shipmentId") String shipmentId, @PathVariable("shipmentCode") String shipmentCode,@PathVariable("inventoryStatus") String inventoryStatus, ModelMap mmap) |
... | ... | @@ -79,6 +84,12 @@ public class ShipmentDetailController extends BaseController |
79 | 84 | return getMpDataTable(iPage.getRecords(),iPage.getTotal()); |
80 | 85 | } else { |
81 | 86 | List<ShipmentDetail> list = shipmentDetailService.list(lambdaQueryWrapper); |
87 | + list.forEach(t->{ | |
88 | + InventoryDetail inventory=new InventoryDetail(); | |
89 | + inventory.setWarehouseCode(t.getWarehouseCode()); | |
90 | + inventory.setMaterialCode(t.getMaterialCode()); | |
91 | + t.setInventoryQty(inventoryDetailService.getSumQty(inventory)); | |
92 | + }); | |
82 | 93 | return getDataTable(list); |
83 | 94 | } |
84 | 95 | } |
... | ... |
src/main/java/com/huaheng/pc/shipment/shipmentDetail/domain/ShipmentDetail.java
... | ... | @@ -41,6 +41,10 @@ public class ShipmentDetail implements Serializable { |
41 | 41 | @ApiModelProperty(value="货主") |
42 | 42 | private String companyCode; |
43 | 43 | |
44 | + | |
45 | + @TableField(exist = false) | |
46 | + private BigDecimal inventoryQty; | |
47 | + | |
44 | 48 | /** |
45 | 49 | * 出库单号 |
46 | 50 | */ |
... | ... | @@ -1091,4 +1095,13 @@ public class ShipmentDetail implements Serializable { |
1091 | 1095 | public void setProcessStamp(String processStamp) { |
1092 | 1096 | this.processStamp = processStamp; |
1093 | 1097 | } |
1098 | + | |
1099 | + | |
1100 | + public BigDecimal getInventoryQty() { | |
1101 | + return inventoryQty; | |
1102 | + } | |
1103 | + | |
1104 | + public void setInventoryQty(BigDecimal inventoryQty) { | |
1105 | + this.inventoryQty = inventoryQty; | |
1106 | + } | |
1094 | 1107 | } |
1095 | 1108 | \ No newline at end of file |
... | ... |
src/main/java/com/huaheng/pc/config/wave/controller/WaveController.java renamed to src/main/java/com/huaheng/pc/shipment/wave/controller/WaveController.java
1 | -package com.huaheng.pc.config.wave.controller; | |
1 | +package com.huaheng.pc.shipment.wave.controller; | |
2 | 2 | |
3 | 3 | |
4 | 4 | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
... | ... | @@ -15,11 +15,9 @@ import com.huaheng.framework.web.domain.AjaxResult; |
15 | 15 | import com.huaheng.framework.web.page.PageDomain; |
16 | 16 | import com.huaheng.framework.web.page.TableDataInfo; |
17 | 17 | import com.huaheng.framework.web.page.TableSupport; |
18 | -import com.huaheng.pc.config.wave.domain.Wave; | |
19 | -import com.huaheng.pc.config.wave.service.WaveService; | |
18 | +import com.huaheng.pc.shipment.wave.domain.Wave; | |
19 | +import com.huaheng.pc.shipment.wave.service.WaveService; | |
20 | 20 | import io.swagger.annotations.Api; |
21 | -import io.swagger.annotations.ApiOperation; | |
22 | -import io.swagger.annotations.ApiParam; | |
23 | 21 | import org.apache.shiro.authz.annotation.RequiresPermissions; |
24 | 22 | import org.springframework.beans.factory.annotation.Autowired; |
25 | 23 | import org.springframework.stereotype.Controller; |
... | ... | @@ -38,15 +36,15 @@ import java.util.List; |
38 | 36 | |
39 | 37 | @Api(tags={"波次"}) |
40 | 38 | @Controller |
41 | -@RequestMapping("/config/wave") | |
39 | +@RequestMapping("/shipment/wave") | |
42 | 40 | public class WaveController extends BaseController { |
43 | 41 | |
44 | - private String prefix = "config/wave"; | |
42 | + private String prefix = "shipment/wave"; | |
45 | 43 | |
46 | 44 | @Autowired |
47 | 45 | private WaveService waveService; |
48 | 46 | |
49 | - @RequiresPermissions("config:wave:view") | |
47 | + @RequiresPermissions("shipment:wave:view") | |
50 | 48 | @GetMapping() |
51 | 49 | public String wave() { |
52 | 50 | return prefix + "/wave"; |
... | ... | @@ -55,7 +53,7 @@ public class WaveController extends BaseController { |
55 | 53 | /** |
56 | 54 | * 查询波次 |
57 | 55 | */ |
58 | - @RequiresPermissions("config:wave:list") | |
56 | + @RequiresPermissions("shipment:wave:list") | |
59 | 57 | @Log(title = "出库-波次", operating="查看波次", action = BusinessType.GRANT) |
60 | 58 | @PostMapping("/list") |
61 | 59 | @ResponseBody |
... | ... | @@ -99,8 +97,8 @@ public class WaveController extends BaseController { |
99 | 97 | /** |
100 | 98 | * 新增波次 |
101 | 99 | */ |
102 | - @RequiresPermissions("config:wave:add") | |
103 | - @Log(title = "配置-波次", operating = "新增波次", action = BusinessType.INSERT) | |
100 | + @RequiresPermissions("shipment:wave:add") | |
101 | + @Log(title = "出库-波次", operating = "新增波次", action = BusinessType.INSERT) | |
104 | 102 | @PostMapping("/add") |
105 | 103 | @ResponseBody |
106 | 104 | public AjaxResult addSave(Wave wave){ |
... | ... | @@ -122,8 +120,8 @@ public class WaveController extends BaseController { |
122 | 120 | /** |
123 | 121 | * 修改波次 |
124 | 122 | */ |
125 | - @RequiresPermissions("config:wave:edit") | |
126 | - @Log(title = "通用-波次", operating = "修改波次", action = BusinessType.UPDATE) | |
123 | + @RequiresPermissions("shipment:wave:edit") | |
124 | + @Log(title = "出库-波次", operating = "修改波次", action = BusinessType.UPDATE) | |
127 | 125 | @PostMapping("/edit") |
128 | 126 | @ResponseBody |
129 | 127 | public AjaxResult editSave(Wave wave) { |
... | ... | @@ -134,8 +132,8 @@ public class WaveController extends BaseController { |
134 | 132 | /** |
135 | 133 | * 删除波次 |
136 | 134 | */ |
137 | - @RequiresPermissions("config:wave:remove") | |
138 | - @Log(title = "配置-波次", operating = "删除波次", action = BusinessType.DELETE) | |
135 | + @RequiresPermissions("shipment:wave:remove") | |
136 | + @Log(title = "出库-波次", operating = "删除波次", action = BusinessType.DELETE) | |
139 | 137 | @PostMapping( "/remove") |
140 | 138 | @ResponseBody |
141 | 139 | public AjaxResult remove(String ids) { |
... | ... |
src/main/java/com/huaheng/pc/config/wave/domain/Wave.java renamed to src/main/java/com/huaheng/pc/shipment/wave/domain/Wave.java
src/main/java/com/huaheng/pc/config/wave/mapper/WaveMapper.java renamed to src/main/java/com/huaheng/pc/shipment/wave/mapper/WaveMapper.java
1 | -package com.huaheng.pc.config.wave.mapper; | |
1 | +package com.huaheng.pc.shipment.wave.mapper; | |
2 | 2 | |
3 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
4 | -import com.huaheng.pc.config.wave.domain.Wave; | |
4 | +import com.huaheng.pc.shipment.wave.domain.Wave; | |
5 | 5 | |
6 | 6 | public interface WaveMapper extends BaseMapper<Wave> { |
7 | 7 | } |
8 | 8 | \ No newline at end of file |
... | ... |
src/main/java/com/huaheng/pc/config/wave/service/WaveService.java renamed to src/main/java/com/huaheng/pc/shipment/wave/service/WaveService.java
1 | -package com.huaheng.pc.config.wave.service; | |
1 | +package com.huaheng.pc.shipment.wave.service; | |
2 | 2 | |
3 | 3 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
4 | -import com.huaheng.pc.config.wave.domain.Wave; | |
5 | -import com.huaheng.pc.config.wave.mapper.WaveMapper; | |
4 | +import com.huaheng.pc.shipment.wave.domain.Wave; | |
5 | +import com.huaheng.pc.shipment.wave.mapper.WaveMapper; | |
6 | 6 | import org.springframework.stereotype.Service; |
7 | 7 | |
8 | 8 | @Service |
... | ... |
src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java
... | ... | @@ -555,18 +555,18 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
555 | 555 | Location location = new Location(); |
556 | 556 | location.setContainerCode(task.getContainerCode()); |
557 | 557 | location.setStatus("empty"); |
558 | - LambdaUpdateWrapper<Location> locationLambdaUpdateWrapper = Wrappers.lambdaUpdate(location); | |
558 | + LambdaUpdateWrapper<Location> locationLambdaUpdateWrapper = Wrappers.lambdaUpdate(); | |
559 | 559 | locationLambdaUpdateWrapper.eq(Location::getCode, task.getToLocation()); |
560 | - if (!locationService.update(locationLambdaUpdateWrapper)) | |
560 | + if (!locationService.update(location,locationLambdaUpdateWrapper)) | |
561 | 561 | throw new ServiceException("更新库位失败"); |
562 | 562 | |
563 | 563 | //修改容器状态和对应的库位 |
564 | 564 | Container container = new Container(); |
565 | 565 | container.setLocationCode(task.getToLocation()); |
566 | 566 | container.setStatus("some"); |
567 | - LambdaUpdateWrapper<Container> containerLambdaUpdateWrapper = Wrappers.lambdaUpdate(container); | |
567 | + LambdaUpdateWrapper<Container> containerLambdaUpdateWrapper = Wrappers.lambdaUpdate(); | |
568 | 568 | containerLambdaUpdateWrapper.eq(Container::getCode, task.getContainerCode()); |
569 | - if (!containerService.update(containerLambdaUpdateWrapper)){ | |
569 | + if (!containerService.update(container, containerLambdaUpdateWrapper)){ | |
570 | 570 | throw new ServiceException("更新容器失败"); |
571 | 571 | } |
572 | 572 | //修改组盘表状态为20 |
... | ... | @@ -580,33 +580,23 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
580 | 580 | if (! receiptContainerDetailService.update(receiptContainerDetail, receiptContainerDetailLambdaUpdateWrapper)) |
581 | 581 | throw new ServiceException("更新组盘状态失败"); |
582 | 582 | |
583 | - if (task.getInternalTaskType()==100){ | |
584 | - //修改入库明细 | |
585 | - ReceiptDetail receiptDetail = receiptDetailService.queryflow(receiptDetailService.getById(DataUtils.getInteger(map.get("receiptDetailId")))); | |
586 | - if (!receiptDetailService.updateById(receiptDetail)){ | |
587 | - throw new ServiceException("更新状态失败"); | |
588 | - } | |
589 | - receiptDetailService.updateReceiptHeaderLastStatus(receiptDetail.getReceiptId()); | |
590 | - } | |
591 | - | |
592 | - //修改出库单明细 | |
593 | -// if (task.getInternalTaskType()==200){ | |
594 | -//// LambdaQueryWrapper<TaskDetail> taskDetailLambdaQueryWrapper = Wrappers.lambdaQuery(); | |
595 | -//// taskDetailLambdaQueryWrapper.eq(TaskDetail::getTaskId,task.getId()); | |
596 | -//// List<TaskDetail> taskDetailList = taskDetailService.list(taskDetailLambdaQueryWrapper); | |
597 | -// | |
598 | -//// for (TaskDetail taskDeatails: taskDetailList) { | |
599 | -//// LambdaQueryWrapper<ShipmentDetail> shipmentDetailLambdaQueryWrapper = Wrappers.lambdaQuery(); | |
600 | -//// shipmentDetailLambdaQueryWrapper.eq(ShipmentDetail::getId,taskDeatails.getBillDetailId()); | |
601 | -//// | |
602 | -//// ShipmentHeader shipmentHeader =new ShipmentHeader(); | |
603 | -//// shipmentHeader.setId(shipmentDetailService.getOne(shipmentDetailLambdaQueryWrapper).getShipmentId()); | |
604 | -//// shipmentHeader.setFirstStatus(100); | |
605 | -//// shipmentHeader.setLastStatus(100); | |
606 | -//// shipmentHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); | |
607 | -//// shipmentHeader.setLastUpdated(new Date()); | |
608 | -//// shipmentHeaderService.updateById(shipmentHeader); | |
609 | -//// } | |
583 | + //修改入库单状态 | |
584 | + ReceiptHeader receiptHeader = new ReceiptHeader(); | |
585 | + receiptHeader.setFirstStatus(300); | |
586 | + receiptHeader.setLastStatus(300); | |
587 | + receiptHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); | |
588 | + receiptHeader.setLastUpdated(new Date()); | |
589 | + LambdaUpdateWrapper<ReceiptHeader> receiptHeaderLambdaUpdateWrapper = Wrappers.lambdaUpdate(); | |
590 | + receiptHeaderLambdaUpdateWrapper.eq(ReceiptHeader::getId,DataUtils.getInteger(map.get("receiptId"))); | |
591 | + if (! receiptHeaderService.update(receiptHeader, receiptHeaderLambdaUpdateWrapper)) | |
592 | + throw new ServiceException("更新入库状态失败"); | |
593 | +// if (task.getInternalTaskType()==100){ | |
594 | +// //修改入库明细 | |
595 | +// ReceiptDetail receiptDetail = receiptDetailService.queryflow(receiptDetailService.getById(DataUtils.getInteger(map.get("receiptDetailId")))); | |
596 | +// if (!receiptDetailService.updateById(receiptDetail)){ | |
597 | +// throw new ServiceException("更新状态失败"); | |
598 | +// } | |
599 | +// receiptDetailService.updateReceiptHeaderLastStatus(receiptDetail.getReceiptId()); | |
610 | 600 | // } |
611 | 601 | |
612 | 602 | |
... | ... |
src/main/resources/mybatis/inventory/InventoryDetailMapper.xml
... | ... | @@ -59,4 +59,9 @@ |
59 | 59 | <select id="selectBysql" parameterType="String" resultType="com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail"> |
60 | 60 | ${value} |
61 | 61 | </select> |
62 | + | |
63 | + | |
64 | + <select id="getSumQty" resultType="java.math.BigDecimal"> | |
65 | + SELECT ifnull(sum(qty),0) qty from inventory_detail where materialCode=#{materialCode} and warehouseCode=#{warehouseCode} | |
66 | + </select> | |
62 | 67 | </mapper> |
63 | 68 | \ No newline at end of file |
... | ... |
src/main/resources/mybatis/config/WaveMapper.xml renamed to src/main/resources/mybatis/shipment/WaveMapper.xml
1 | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | 2 | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
3 | -<mapper namespace="com.huaheng.pc.config.wave.mapper.WaveMapper"> | |
4 | - <resultMap id="BaseResultMap" type="com.huaheng.pc.config.wave.domain.Wave"> | |
3 | +<mapper namespace="com.huaheng.pc.shipment.wave.mapper.WaveMapper"> | |
4 | + <resultMap id="BaseResultMap" type="com.huaheng.pc.shipment.wave.domain.Wave"> | |
5 | 5 | <!--@mbg.generated--> |
6 | 6 | <id column="id" jdbcType="INTEGER" property="id" /> |
7 | 7 | <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" /> |
... | ... |
src/main/resources/templates/check/checkDetail/checkDetail.html
... | ... | @@ -151,7 +151,7 @@ |
151 | 151 | align: 'center', |
152 | 152 | formatter: function(value, row, index) { |
153 | 153 | var actions = []; |
154 | - if (row.status == 10) { | |
154 | + if (row.status == 0) { | |
155 | 155 | actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="complete(\'' + row.id + '\')"><i class="fa fa-edit"></i>质检完成</a> '); |
156 | 156 | } |
157 | 157 | actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>'); |
... | ... |
src/main/resources/templates/config/waveFlowHeader/add.html
... | ... | @@ -4,7 +4,7 @@ |
4 | 4 | <head th:include="include :: header"></head> |
5 | 5 | <body class="white-bg"> |
6 | 6 | <div class="wrapper wrapper-content animated fadeInRight ibox-content"> |
7 | - <form class="form-horizontal m" id="form-filterConfigHeader-add"> | |
7 | + <form class="form-horizontal m" id="form-waveFlowHeader-add"> | |
8 | 8 | <div class="form-group"> |
9 | 9 | <label class="col-sm-3 control-label">流程名称:</label> |
10 | 10 | <div class="col-sm-8"> |
... | ... | @@ -21,8 +21,8 @@ |
21 | 21 | </div> |
22 | 22 | <div th:include="include::footer"></div> |
23 | 23 | <script type="text/javascript"> |
24 | - var prefix = ctx + "config/filterConfigHeader"; | |
25 | - $("#form-filterConfigHeader-add").validate({ | |
24 | + var prefix = ctx + "config/waveFlowHeader"; | |
25 | + $("#form-waveFlowHeader-add").validate({ | |
26 | 26 | rules: { |
27 | 27 | code: { |
28 | 28 | required: true, |
... | ... | @@ -30,7 +30,7 @@ |
30 | 30 | }, |
31 | 31 | submitHandler: function (form) { |
32 | 32 | // $.operate.save(prefix + "/add", $('#form-locationType-add').serialize()); |
33 | - var tableValue = $.common.getTableValue("#form-filterConfigHeader-add"); | |
33 | + var tableValue = $.common.getTableValue("#form-waveFlowHeader-add"); | |
34 | 34 | $.operate.save(prefix + "/add", tableValue); |
35 | 35 | } |
36 | 36 | }); |
... | ... |
src/main/resources/templates/receipt/receiptDetail/add.html
... | ... | @@ -87,18 +87,18 @@ |
87 | 87 | <input id="locatingRule" name="locatingRule" class="form-control" type="text"> |
88 | 88 | </div> |
89 | 89 | </div> |
90 | - <div class="form-group"> | |
91 | - <label class="col-sm-3 control-label">标价:</label> | |
92 | - <div class="col-sm-8"> | |
93 | - <input id="itemListPrice" name="itemListPrice" class="form-control" type="text"> | |
94 | - </div> | |
95 | - </div> | |
96 | - <div class="form-group"> | |
97 | - <label class="col-sm-3 control-label">净价:</label> | |
98 | - <div class="col-sm-8"> | |
99 | - <input id="itemNetPrice" name="itemNetPrice" class="form-control" type="text"> | |
100 | - </div> | |
101 | - </div> | |
90 | +<!-- <div class="form-group">--> | |
91 | +<!-- <label class="col-sm-3 control-label">标价:</label>--> | |
92 | +<!-- <div class="col-sm-8">--> | |
93 | +<!-- <input id="itemListPrice" name="itemListPrice" class="form-control" type="text">--> | |
94 | +<!-- </div>--> | |
95 | +<!-- </div>--> | |
96 | +<!-- <div class="form-group">--> | |
97 | +<!-- <label class="col-sm-3 control-label">净价:</label>--> | |
98 | +<!-- <div class="col-sm-8">--> | |
99 | +<!-- <input id="itemNetPrice" name="itemNetPrice" class="form-control" type="text">--> | |
100 | +<!-- </div>--> | |
101 | +<!-- </div>--> | |
102 | 102 | <!--<div class="form-group">--> |
103 | 103 | <!--<label class="col-sm-3 control-label">自定义字段1:</label>--> |
104 | 104 | <!--<div class="col-sm-8">--> |
... | ... | @@ -139,6 +139,10 @@ |
139 | 139 | materialCode:{ |
140 | 140 | required:true |
141 | 141 | }, |
142 | + totalQty:{ | |
143 | + required:true, | |
144 | + number: true | |
145 | + } | |
142 | 146 | }, |
143 | 147 | submitHandler: function(form) { |
144 | 148 | var tableValue = $("#form-receiptDetail-add").serialize(); |
... | ... |
src/main/resources/templates/receipt/receiptDetail/receiptDetail.html
... | ... | @@ -37,7 +37,7 @@ |
37 | 37 | <a class="btn btn-outline btn-success btn-rounded" onclick="add()" shiro:hasPermission="receipt:receiptDetail:add"> |
38 | 38 | <i class="fa fa-plus"></i> 新增 |
39 | 39 | </a> |
40 | - <a class="btn btn-outline btn-success btn-rounded" onclick="add()" shiro:hasPermission="receipt:receiptDetail:add"> | |
40 | + <a class="btn btn-outline btn-success btn-rounded" onclick="batchArrival()" shiro:hasPermission="receipt:receiptDetail:arrival"> | |
41 | 41 | <i class="fa fa-plus"></i> 到货 |
42 | 42 | </a> |
43 | 43 | <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="receipt:receiptDetail:remove"> |
... | ... | @@ -55,6 +55,7 @@ |
55 | 55 | var editFlag = [[${@permission.hasPermi('receipt:receiptDetail:edit')}]]; |
56 | 56 | var removeFlag = [[${@permission.hasPermi('receipt:receiptDetail:remove')}]]; |
57 | 57 | var approvalFlag = [[${@permission.hasPermi('receipt:receiptHeader:approval')}]] |
58 | + var arrivalFlag = [[${@permission.hasPermi('receipt:receiptDetail:arrival')}]] | |
58 | 59 | var prefix = ctx + "receipt/receiptDetail"; |
59 | 60 | var datas = [[${@dict.getType('isVirtualBom')}]]; |
60 | 61 | $(function() { |
... | ... | @@ -231,8 +232,8 @@ |
231 | 232 | actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> '); |
232 | 233 | actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>'); |
233 | 234 | } |
234 | - if (row.processStamp >120 && row.processStamp < 200){ | |
235 | - actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="arrival(\'' + row.id + '\')"><i class="fa fa-edit"></i>到货</a> '); | |
235 | + if (row.processStamp >120 && row.processStamp < 180){ | |
236 | + actions.push('<a class="btn btn-success btn-xs ' + arrivalFlag + '" href="#" onclick="arrival(\'' + row.id + '\')"><i class="fa fa-edit"></i>到货</a> '); | |
236 | 237 | } |
237 | 238 | return actions.join(''); |
238 | 239 | } |
... | ... | @@ -263,6 +264,17 @@ |
263 | 264 | var data = { "ids": id }; |
264 | 265 | $.operate.submit(url, "post", "json", data); |
265 | 266 | } |
267 | + | |
268 | + function batchArrival() { | |
269 | + var rows = $.common.isEmpty($.table._option.id) ? $.table.selectFirstColumns() : $.table.selectColumns($.table._option.id); | |
270 | + if (rows.length == 0) { | |
271 | + $.modal.alertWarning("请至少选择一条记录"); | |
272 | + return; | |
273 | + } | |
274 | + var url = prefix+"/arrival"; | |
275 | + var data = { "ids": rows.join() }; | |
276 | + $.operate.submit(url, "post", "json", data); | |
277 | + } | |
266 | 278 | </script> |
267 | 279 | </body> |
268 | 280 | </html> |
269 | 281 | \ No newline at end of file |
... | ... |
src/main/resources/templates/receipt/receiptHeader/receiptHeader.html
... | ... | @@ -57,6 +57,22 @@ |
57 | 57 | shiro:hasPermission="receipt:receiptHeader:add"> |
58 | 58 | <i class="fa fa-plus"></i> 新增 |
59 | 59 | </a> |
60 | + <a class="btn btn-outline btn-default btn-rounded" onclick="$.operate.add()" | |
61 | + shiro:hasPermission="receipt:receiptHeader:add"> | |
62 | + <i class="fa fa-space-shuttle"></i> 提交审核 | |
63 | + </a> | |
64 | + <a class="btn btn-outline btn-primary btn-rounded" onclick="$.operate.add()" | |
65 | + shiro:hasPermission="receipt:receiptDetail:approval"> | |
66 | + <i class="fa fa-plus"></i> 审核通过 | |
67 | + </a> | |
68 | + <a class="btn btn-outline btn-warning btn-rounded" onclick="$.operate.add()" | |
69 | + shiro:hasPermission="receipt:receiptDetail:approval"> | |
70 | + <i class="fa fa-reply"></i> 驳回 | |
71 | + </a> | |
72 | + <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.add()" | |
73 | + shiro:hasPermission="receipt:receiptDetail:approval"> | |
74 | + <i class="fa fa-plus"></i> 作废 | |
75 | + </a> | |
60 | 76 | <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" |
61 | 77 | shiro:hasPermission="receipt:receiptHeader:remove"> |
62 | 78 | <i class="fa fa-trash-o"></i> 删除 |
... | ... | @@ -145,7 +161,8 @@ |
145 | 161 | }, |
146 | 162 | { |
147 | 163 | field : 'scheduledArriveDate', |
148 | - title : '预计到达日期' | |
164 | + title : '预计到达日期', | |
165 | + sortable:true | |
149 | 166 | }, |
150 | 167 | { |
151 | 168 | field : 'actualArriveDate', |
... | ... | @@ -269,13 +286,13 @@ |
269 | 286 | actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')" ><i class="fa fa-edit"></i>编辑</a> '); |
270 | 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>'); |
271 | 288 | } |
272 | - if ((row.firstStatus >= 100 && row.firstStatus < 200) | (row.lastStatus >= 100 && row.firstStatus < 200)){ | |
289 | + if ((row.firstStatus >= 100 && row.firstStatus < 180) | (row.lastStatus >= 100 && row.firstStatus < 180)){ | |
273 | 290 | actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="#" onclick="arrival(\'' + row.id + '\')" ><i class="fa fa-edit"></i>入库预约</a> '); |
274 | 291 | } |
275 | 292 | if (row.firstStatus == 180 || row.lastStatus == 180) { |
276 | 293 | actions.push('<a class="btn btn-info btn-xs ' + checkFlag + '" href="#" onclick="check(\'' + row.id + '\')" ><i class="fa fa-edit"></i>入库质检</a> '); |
277 | 294 | } |
278 | - if (row.lastStatus <= 200){ | |
295 | + if ((row.lastStatus >= 100 && row.lastStatus <200) || (row.firstStatus>=100 && row.firstStatus<200)){ | |
279 | 296 | actions.push('<a class="btn btn-primary btn-xs to-receive" ' +addFlag+ ' onclick="Toreceiving(\''+ row.code + '\')"><i class="fa fa-cart-plus"></i>收货</a> '); |
280 | 297 | } |
281 | 298 | if (row.lastStatus >= 900){ |
... | ... |
src/main/resources/templates/receipt/receiptHeader/report.html
... | ... | @@ -16,7 +16,6 @@ |
16 | 16 | </tr> |
17 | 17 | <tr style="padding:15px 0 5px 0;border-bottom:1px solid #606060"> |
18 | 18 | <td colspan="7"> |
19 | - <div style="width:40%; float:left;">供应商编码:<span th:text="${receiptHeader['supplierCode']}"></span></div> | |
20 | 19 | <div style="width:50%; float:right; text-align:right"> |
21 | 20 | <span>明细条数:<span th:text="${receiptHeader['totalLines']}"></span></span> |
22 | 21 | <span style="padding-left:20px;">明细总数:<span th:text="${receiptHeader['totalQty']}"></span></span> |
... | ... | @@ -40,8 +39,8 @@ |
40 | 39 | <td th:text="${row.materialName}"></td> |
41 | 40 | <td th:text="${row.batch}"></td> |
42 | 41 | <td th:text="${row.lot}"></td> |
43 | - <td th:text="${row.project}"></td> | |
44 | - <td th:text="${row.qty}"></td> | |
42 | + <td th:text="${row.projectNo}"></td> | |
43 | + <td th:text="${row.totalQty}"></td> | |
45 | 44 | <td><img></img></td> |
46 | 45 | </tr> |
47 | 46 | </tbody> |
... | ... |
src/main/resources/templates/receipt/receiving/add.html
... | ... | @@ -71,23 +71,11 @@ |
71 | 71 | <label class="col-sm-3 control-label">定位规则:</label> |
72 | 72 | <div class="col-sm-8"> |
73 | 73 | <select id="locatingRule" name="locatingRule" class="form-control" th:with="list=${@FilterConfigDetailService.queryFilterConfigDetail()}"> |
74 | + <option value="">请选择</option> | |
74 | 75 | <option th:each="item : ${list}" th:text="${item['description']}" th:value="${item['code']}"></option> |
75 | 76 | </select> |
76 | 77 | </div> |
77 | 78 | </div> |
78 | - <div class="form-group"> | |
79 | - <label class="col-sm-3 control-label">入库方式:</label> | |
80 | - <div class="col-sm-8"> | |
81 | - <div class="radio radio-info radio-inline" style="transform: scale(1.3, 1.3);"> | |
82 | - <input type="radio" id="taskType1" name="taskType" value="100" checked="checked" class="radio_select"> | |
83 | - <label for="taskType1">整盘入库</label> | |
84 | - </div> | |
85 | - <div class="radio radio-danger radio-inline " style="transform: scale(1.3, 1.3);"> | |
86 | - <input type="radio" id="taskType2" name="taskType" value="200"> | |
87 | - <label for="taskType2">补充入库</label> | |
88 | - </div> | |
89 | - </div> | |
90 | - </div> | |
91 | 79 | <div class="form-group"> |
92 | 80 | <div class="form-control-static col-sm-offset-9"> |
93 | 81 | <button type="submit" class="btn btn-primary">提交</button> |
... | ... | @@ -107,6 +95,13 @@ |
107 | 95 | }, |
108 | 96 | receiptContainerCode:{ |
109 | 97 | required:true |
98 | + }, | |
99 | + qty:{ | |
100 | + required:true, | |
101 | + number:true | |
102 | + }, | |
103 | + containerCode:{ | |
104 | + required:true | |
110 | 105 | } |
111 | 106 | }, |
112 | 107 | submitHandler: function(form) { |
... | ... | @@ -121,7 +116,7 @@ |
121 | 116 | "taskType": $("input[name='taskType']:checked").val(), |
122 | 117 | "locationCode": $("input[name='locationCode']").val(), |
123 | 118 | "qty": $("input[name='qty']").val(), |
124 | - "locatingRule":$("input[name='locatingRule']").val() | |
119 | + "locatingRule":$("#locatingRule option:selected").val() | |
125 | 120 | }, |
126 | 121 | async : false, |
127 | 122 | error : function(request) { |
... | ... |
src/main/resources/templates/shipment/shipmentDetail/add.html
src/main/resources/templates/shipment/shipmentHeader/add.html
... | ... | @@ -22,7 +22,7 @@ |
22 | 22 | </div> |
23 | 23 | </div> |
24 | 24 | <div class="form-group"> |
25 | - <label class="col-sm-3 control-label">erp订单号:</label> | |
25 | + <label class="col-sm-3 control-label">上游订单号:</label> | |
26 | 26 | <div class="col-sm-8"> |
27 | 27 | <input id="referCode" name="referCode" class="form-control" type="text"> |
28 | 28 | </div> |
... | ... |
src/main/resources/templates/shipment/shipmentHeader/edit.html
... | ... | @@ -21,7 +21,7 @@ |
21 | 21 | </div> |
22 | 22 | </div> |
23 | 23 | <div class="form-group"> |
24 | - <label class="col-sm-3 control-label">erp订单号:</label> | |
24 | + <label class="col-sm-3 control-label">上游订单号:</label> | |
25 | 25 | <div class="col-sm-8"> |
26 | 26 | <input id="referCode" name="referCode" th:field="*{referCode}" class="form-control" type="text" readonly="readonly"> |
27 | 27 | </div> |
... | ... |
src/main/resources/templates/shipment/shipmentHeader/report.html
... | ... | @@ -16,7 +16,7 @@ |
16 | 16 | </tr> |
17 | 17 | <tr style="padding:15px 0 5px 0;border-bottom:1px solid #606060"> |
18 | 18 | <td colspan="7"> |
19 | - <div style="width:40%; float:left;">客户编码:<span th:text="${shipmentHeader['shipTo']}"></span></div> | |
19 | + <div style="width:40%; float:left;">客户名称:<span th:text="${shipmentHeader['customerName']}"></span></div> | |
20 | 20 | <div style="width:50%; float:right; text-align:right"> |
21 | 21 | <span>明细条数:<span th:text="${shipmentHeader['totalLines']}"></span></span> |
22 | 22 | <span style="padding-left:20px;">明细总数:<span th:text="${shipmentHeader['totalQty']}"></span></span> |
... | ... | @@ -27,9 +27,10 @@ |
27 | 27 | <tr> |
28 | 28 | <th width="18%">存货编码</th> |
29 | 29 | <th width="22%">物料名称</th> |
30 | - <th width="10%">批次</th> | |
31 | - <th width="9%">批号</th> | |
32 | - <th width="11%">项目号</th> | |
30 | + <th width="15%">物料规格</th> | |
31 | + <th width="5%">批次</th> | |
32 | + <th width="5%">批号</th> | |
33 | + <th width="5%">项目号</th> | |
33 | 34 | <th width="9%">数量</th> |
34 | 35 | <th width="21%">条码</th> |
35 | 36 | </tr> |
... | ... | @@ -38,10 +39,11 @@ |
38 | 39 | <tr th:each="row,rowStat : ${details}"> |
39 | 40 | <td th:text="${row.materialCode}"></td> |
40 | 41 | <td th:text="${row.materialName}"></td> |
42 | + <td th:text="${row.materialSpec}"></td> | |
41 | 43 | <td th:text="${row.batch}"></td> |
42 | 44 | <td th:text="${row.lot}"></td> |
43 | - <td th:text="${row.project}"></td> | |
44 | - <td th:text="${row.qty}"></td> | |
45 | + <td th:text="${row.projectNo}"></td> | |
46 | + <td th:text="${row.shipQty}"></td> | |
45 | 47 | <td><img></img></td> |
46 | 48 | </tr> |
47 | 49 | </tbody> |
... | ... |
src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html
... | ... | @@ -35,10 +35,10 @@ |
35 | 35 | </select> |
36 | 36 | </li> |
37 | 37 | <li> |
38 | - erp单号:<input type="text" name="referCode"/> | |
38 | + 上游单号:<input type="text" name="referCode"/> | |
39 | 39 | </li> |
40 | 40 | <li> |
41 | - erp订单类型:<input type="text" name="referCodeType"/> | |
41 | + 上游订单类型:<input type="text" name="referCodeType"/> | |
42 | 42 | </li> |
43 | 43 | <li> |
44 | 44 | 客户编码:<input type="text" name="sourceCode"/> |
... | ... | @@ -87,10 +87,10 @@ |
87 | 87 | shiro:hasPermission="shipment:bill:remove"> |
88 | 88 | <i class="fa fa-trash-o"></i> 删除 |
89 | 89 | </a> |
90 | - <a class="btn btn-outline btn-success btn-rounded" onclick="analysis()" | |
91 | - shiro:hasPermission="shipment:bill:analysis"> | |
92 | - <i class="fa fa-plus"></i> 订单分析 | |
93 | - </a> | |
90 | + <!--<a class="btn btn-outline btn-success btn-rounded" onclick="analysis()"--> | |
91 | + <!--shiro:hasPermission="shipment:bill:analysis">--> | |
92 | + <!--<i class="fa fa-plus"></i> 订单分析--> | |
93 | + <!--</a>--> | |
94 | 94 | </div> |
95 | 95 | <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table> |
96 | 96 | </div> |
... | ... | @@ -114,7 +114,7 @@ |
114 | 114 | <li>仓库编码:<input type="text" name="shipmentWarehouseCode" id="shipmentWarehouseCode"></li> |
115 | 115 | <input type="hidden" name="shipmentCompanyId" id="shipmentCompanyId"> |
116 | 116 | <li>货主:<input type="text" name="shipmentCompanyCode" id="shipmentCompanyCode"></li> |
117 | - <li>erp订单号:<input type="text" name="shipmentSourceCode" id="shipmentSourceCode"></li> | |
117 | + <li>上游订单号:<input type="text" name="shipmentSourceCode" id="shipmentSourceCode"></li> | |
118 | 118 | <li>订单平台:<input type="text" name="shipmentSourcePlatform" id="shipmentSourcePlatform"></li> |
119 | 119 | <li>出库单类型:<input type="text" name="shipmentType" id = "shipmentType"></li> |
120 | 120 | <li>总数量:<input type="text" name="shipmentTotalQty" id="shipmentTotalQty"></li> |
... | ... | @@ -247,12 +247,12 @@ |
247 | 247 | }, |
248 | 248 | { |
249 | 249 | field: 'referCode', |
250 | - title: 'erp订单号', | |
250 | + title: '上游订单号', | |
251 | 251 | sortable:true |
252 | 252 | }, |
253 | 253 | { |
254 | 254 | field: 'referCodeType', |
255 | - title: 'erp订单内部号', | |
255 | + title: '上游订单内部号', | |
256 | 256 | sortable:true, |
257 | 257 | visible:false |
258 | 258 | }, |
... | ... |
src/main/resources/templates/config/wave/add.html renamed to src/main/resources/templates/shipment/wave/add.html
src/main/resources/templates/config/wave/edit.html renamed to src/main/resources/templates/shipment/wave/edit.html
src/main/resources/templates/config/wave/wave.html renamed to src/main/resources/templates/shipment/wave/wave.html
... | ... | @@ -30,10 +30,10 @@ |
30 | 30 | </form> |
31 | 31 | </div> |
32 | 32 | <div class="btn-group hidden-xs" id="toolbar" role="group"> |
33 | - <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="config:wave:add"> | |
33 | + <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="shipment:wave:add"> | |
34 | 34 | <i class="fa fa-plus"></i> 新增 |
35 | 35 | </a> |
36 | - <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="config:wave:remove"> | |
36 | + <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="shipment:wave:remove"> | |
37 | 37 | <i class="fa fa-trash-o"></i> 删除 |
38 | 38 | </a> |
39 | 39 | </div> |
... | ... | @@ -45,9 +45,9 @@ |
45 | 45 | </div> |
46 | 46 | <div th:include="include :: footer"></div> |
47 | 47 | <script th:inline="javascript"> |
48 | - var editFlag = [[${@permission.hasPermi('config:wave:edit')}]]; | |
49 | - var removeFlag = [[${@permission.hasPermi('config:wave:remove')}]]; | |
50 | - var prefix = ctx + "config/wave"; | |
48 | + var editFlag = [[${@permission.hasPermi('shipment:wave:edit')}]]; | |
49 | + var removeFlag = [[${@permission.hasPermi('shipment:wave:remove')}]]; | |
50 | + var prefix = ctx + "shipment/wave"; | |
51 | 51 | var datas = [[${@dict.getType('sys_normal_disable')}]]; |
52 | 52 | $(function() { |
53 | 53 | var options = { |
... | ... |