Commit d87cf6db3039ebd534f8fed76518064e13590dfc
Merge remote-tracking branch 'origin/develop' into develop
Showing
13 changed files
with
379 additions
and
503 deletions
src/main/java/com/huaheng/pc/config/shipmentPreference/service/ShipmentPreferenceServiceImpl.java
... | ... | @@ -7,6 +7,8 @@ import com.huaheng.common.exception.service.ServiceException; |
7 | 7 | import com.huaheng.common.support.Convert; |
8 | 8 | import com.huaheng.common.utils.StringUtils; |
9 | 9 | import com.huaheng.common.utils.security.ShiroUtils; |
10 | +import com.huaheng.pc.config.configValue.domain.ConfigValue; | |
11 | +import com.huaheng.pc.config.configValue.service.ConfigValueService; | |
10 | 12 | import com.huaheng.pc.config.shipmentPreference.domain.ShipmentPreference; |
11 | 13 | import com.huaheng.pc.config.shipmentPreference.mapper.ShipmentPreferenceMapper; |
12 | 14 | import com.huaheng.pc.config.statusFlow.domain.StatusFlowDetail; |
... | ... | @@ -32,6 +34,8 @@ public class ShipmentPreferenceServiceImpl extends ServiceImpl<ShipmentPreferenc |
32 | 34 | private StatusFlowDetailService statusFlowDetailService; |
33 | 35 | @Autowired |
34 | 36 | private ShipmentHeaderService shipmentHeaderService; |
37 | + @Autowired | |
38 | + private ConfigValueService configValueService; | |
35 | 39 | |
36 | 40 | |
37 | 41 | /** |
... | ... | @@ -46,6 +50,15 @@ public class ShipmentPreferenceServiceImpl extends ServiceImpl<ShipmentPreferenc |
46 | 50 | */ |
47 | 51 | @Override |
48 | 52 | public List<ShipmentHeader> checkShipmentProcess(String ids, Integer code) { |
53 | + | |
54 | + LambdaQueryWrapper<ConfigValue> configValueLambdaQueryWrapper=Wrappers.lambdaQuery(); | |
55 | + configValueLambdaQueryWrapper.eq(ConfigValue::getModuleType,"shipment") | |
56 | + .eq(ConfigValue::getWarehouseCode,ShiroUtils.getWarehouseCode()); | |
57 | + ConfigValue configValue=configValueService.getOne(configValueLambdaQueryWrapper); | |
58 | + if(configValue==null){ | |
59 | + throw new ServiceException("仓库的出库配置不存在"); | |
60 | + } | |
61 | + | |
49 | 62 | //查找出库首选项 |
50 | 63 | ShipmentPreference shipmentPreference = shipmentPreferenceService.list().get(0); |
51 | 64 | if(shipmentPreference == null){ |
... | ... |
src/main/java/com/huaheng/pc/inventory/adjustDetail/controller/adjustDetailController.java
... | ... | @@ -17,7 +17,9 @@ import com.huaheng.framework.web.page.TableSupport; |
17 | 17 | import com.huaheng.pc.inventory.adjustDetail.domain.AdjustDetail; |
18 | 18 | import com.huaheng.pc.inventory.adjustDetail.service.AdjustDetailService; |
19 | 19 | import com.huaheng.pc.inventory.adjustHeader.domain.AdjustHeader; |
20 | +import com.huaheng.pc.inventory.adjustHeader.mapper.AdjustHeaderMapper; | |
20 | 21 | import com.huaheng.pc.inventory.adjustHeader.service.AdjustHeaderService; |
22 | +import com.huaheng.pc.inventory.cycleCountHeader.domain.CycleCountHeader; | |
21 | 23 | import org.apache.shiro.authz.annotation.RequiresPermissions; |
22 | 24 | import org.springframework.stereotype.Controller; |
23 | 25 | import org.springframework.ui.ModelMap; |
... | ... | @@ -38,6 +40,8 @@ public class adjustDetailController extends BaseController { |
38 | 40 | @Resource |
39 | 41 | private AdjustHeaderService adjustHeaderService; |
40 | 42 | @Resource |
43 | + private AdjustHeaderMapper adjustHeaderMapper; | |
44 | + @Resource | |
41 | 45 | private AdjustDetailService adjustDetailService; |
42 | 46 | |
43 | 47 | |
... | ... | @@ -102,6 +106,41 @@ public class adjustDetailController extends BaseController { |
102 | 106 | } |
103 | 107 | |
104 | 108 | /** |
109 | + * 新增调整明细 | |
110 | + */ | |
111 | + @GetMapping("/add") | |
112 | + public String add(String adjustCode, ModelMap m) | |
113 | + { | |
114 | + if( adjustCode== null){ | |
115 | + throw new SecurityException("调整单头编码不能为空!"); | |
116 | + } | |
117 | + m.put("adjustCode",adjustCode); | |
118 | + return prefix + "/add"; | |
119 | + } | |
120 | + | |
121 | + /** | |
122 | + * 保存新增调整明细 | |
123 | + */ | |
124 | + //@RequiresPermissions("inventory:cyclecountDetail:add") | |
125 | + @Log(title = "库存-盘点", operating = "新增盘点补货明细", action = BusinessType.INSERT) | |
126 | + @PostMapping("/addAdjust") | |
127 | + @ResponseBody | |
128 | + public AjaxResult addSave(AdjustDetail adjustDetail) | |
129 | + { | |
130 | + //查询货主 | |
131 | + AdjustHeader adjustHeader = new AdjustHeader(); | |
132 | + adjustHeader.setCode(adjustDetail.getAdjustCode()); | |
133 | + LambdaQueryWrapper<AdjustHeader> lambdaQueryWrapper = Wrappers.lambdaQuery(adjustHeader); | |
134 | + AdjustHeader ah = adjustHeaderMapper.selectOne(lambdaQueryWrapper); | |
135 | + if(ah == null){ | |
136 | + throw new SecurityException("没有对应的主单据!"); | |
137 | + } | |
138 | + adjustDetail.setWarehouseCode(ah.getWarehouseCode()); | |
139 | + adjustDetail.setCompanyCode(ah.getCompanyCode()); | |
140 | + return adjustDetailService.addDetails(adjustDetail); | |
141 | + } | |
142 | + | |
143 | + /** | |
105 | 144 | * 调整, |
106 | 145 | * 调整数量,调整库存状态 |
107 | 146 | * 调整插入库存 |
... | ... |
src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailService.java
... | ... | @@ -8,6 +8,8 @@ import com.huaheng.pc.inventory.adjustDetail.domain.AdjustDetail; |
8 | 8 | |
9 | 9 | public interface AdjustDetailService extends IService<AdjustDetail> { |
10 | 10 | |
11 | + AjaxResult addDetails(AdjustDetail adjustDetail); | |
12 | + | |
11 | 13 | AjaxResult updateAdjustDetail(AdjustDetail adjustDetail); |
12 | 14 | |
13 | 15 | AjaxResult adjustAgree(AdjustDetail adjustDetail); |
... | ... |
src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailServiceImpl.java
... | ... | @@ -54,8 +54,23 @@ public class AdjustDetailServiceImpl extends ServiceImpl<AdjustDetailMapper, Adj |
54 | 54 | |
55 | 55 | |
56 | 56 | |
57 | + /** | |
58 | + *新增调整明细 | |
59 | + * @param adjustDetail | |
60 | + * @return | |
61 | + */ | |
62 | + @Transactional | |
63 | + @Override | |
64 | + public AjaxResult addDetails(AdjustDetail adjustDetail) { | |
57 | 65 | |
58 | 66 | |
67 | + | |
68 | + | |
69 | + | |
70 | + | |
71 | + return AjaxResult.success("新增调整明细成功!"); | |
72 | + } | |
73 | + | |
59 | 74 | /** |
60 | 75 | * 调整审批 |
61 | 76 | * @param adjustDetail |
... | ... |
src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java
... | ... | @@ -126,7 +126,7 @@ public class CycleCountDetailController extends BaseController { |
126 | 126 | public String add(String cycleCountHeadCode,String companyCode, ModelMap m) |
127 | 127 | { |
128 | 128 | if(cycleCountHeadCode == null){ |
129 | - throw new SecurityException("盘点头ID不能为空!"); | |
129 | + throw new SecurityException("盘点头编码不能为空!"); | |
130 | 130 | } |
131 | 131 | //相同货主才能盘点,取出盘点头的货主 |
132 | 132 | CycleCountHeader cycleCountHeader = new CycleCountHeader(); |
... | ... |
src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailService.java
... | ... | @@ -2,6 +2,7 @@ package com.huaheng.pc.inventory.inventoryDetail.service; |
2 | 2 | |
3 | 3 | import com.baomidou.mybatisplus.extension.service.IService; |
4 | 4 | import com.huaheng.framework.web.domain.AjaxResult; |
5 | +import com.huaheng.pc.config.shipmentPreference.domain.ShipmentPreference; | |
5 | 6 | import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail; |
6 | 7 | import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail; |
7 | 8 | |
... | ... | @@ -14,7 +15,7 @@ public interface InventoryDetailService extends IService<InventoryDetail> { |
14 | 15 | |
15 | 16 | void detailcreateCheckOutTask (Integer id); |
16 | 17 | |
17 | - List<InventoryDetail> selectBysql(String sql, ShipmentDetail shipmentDetail,String sqll); | |
18 | + List<InventoryDetail> selectBysql(String sql, ShipmentDetail shipmentDetail, String sqll, ShipmentPreference shipmentPreference); | |
18 | 19 | |
19 | 20 | |
20 | 21 | AjaxResult detailCheckTask (Integer[] ids) throws InvocationTargetException, IllegalAccessException; |
... | ... |
src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java
... | ... | @@ -12,6 +12,7 @@ import com.huaheng.pc.check.checkHeader.domain.CheckHeader; |
12 | 12 | import com.huaheng.pc.check.checkHeader.service.CheckHeaderService; |
13 | 13 | import com.huaheng.pc.config.location.domain.Location; |
14 | 14 | import com.huaheng.pc.config.location.service.LocationService; |
15 | +import com.huaheng.pc.config.shipmentPreference.domain.ShipmentPreference; | |
15 | 16 | import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail; |
16 | 17 | import com.huaheng.pc.inventory.inventoryHeader.service.InventoryHeaderService; |
17 | 18 | import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail; |
... | ... | @@ -128,18 +129,19 @@ public class InventoryDetailServiceImpl extends ServiceImpl<InventoryDetailMappe |
128 | 129 | } |
129 | 130 | |
130 | 131 | @Override |
131 | - public List<InventoryDetail> selectBysql(String sql, ShipmentDetail shipmentDetail,String sqll) { | |
132 | - if(StringUtils.isEmpty(sqll)) { | |
133 | - sql = sql + " \n" + "and warehouseCode='" + shipmentDetail.getWarehouseCode() + "' \n" + | |
134 | - "and companyCode='" + shipmentDetail.getCompanyCode() + "' \n" + | |
135 | - "and materialCode='" + shipmentDetail.getMaterialCode() + "' \n" + | |
136 | - "and inventorySts='" + shipmentDetail.getInventorySts() + "'"; | |
137 | - }else { | |
138 | - sql = sql + " \n" + "and warehouseCode='" + shipmentDetail.getWarehouseCode() + "' \n" + | |
139 | - "and companyCode='" + shipmentDetail.getCompanyCode() + "' \n" + | |
140 | - "and materialCode='" + shipmentDetail.getMaterialCode() + "' \n" + | |
141 | - "and inventorySts='" + shipmentDetail.getInventorySts() + "'"+ " \n" +sqll; | |
142 | - } | |
132 | + public List<InventoryDetail> selectBysql(String sql, ShipmentDetail shipmentDetail, String sqll, ShipmentPreference shipmentPreference) { | |
133 | + if(shipmentPreference.getAllowQcCheckResult() == false) { | |
134 | + sql = sql + " \n" + "and warehouseCode='" + shipmentDetail.getWarehouseCode() + "' \n" + | |
135 | + "and companyCode='" + shipmentDetail.getCompanyCode() + "' \n" + | |
136 | + "and materialCode='" + shipmentDetail.getMaterialCode() + "' \n" + | |
137 | + "and inventorySts='" + shipmentDetail.getInventorySts() + "'\n"+ sqll; | |
138 | + }else { | |
139 | + sql = sql + " \n" + "and warehouseCode='" + shipmentDetail.getWarehouseCode() + "' \n" + | |
140 | + "and companyCode='" + shipmentDetail.getCompanyCode() + "' \n" + | |
141 | + "and materialCode='" + shipmentDetail.getMaterialCode() + "' \n" + | |
142 | + "and inventorySts='" + shipmentDetail.getInventorySts() + "'\n"+ | |
143 | + "and qcCheck=1\n"+ sqll; | |
144 | + } | |
143 | 145 | return inventoryDetailMapper.selectBysql(sql); |
144 | 146 | } |
145 | 147 | |
... | ... |
src/main/java/com/huaheng/pc/shipment/shippingCombination/service/ShippingCombinationService.java
... | ... | @@ -46,6 +46,23 @@ public class ShippingCombinationService { |
46 | 46 | |
47 | 47 | //根据分配规则查找库存 |
48 | 48 | public List<InventoryDetail> getInventorys(ShipmentDetail shipmentDetail) { |
49 | + LambdaQueryWrapper<ConfigValue> configValueLambdaQueryWrapper=Wrappers.lambdaQuery(); | |
50 | + configValueLambdaQueryWrapper.eq(ConfigValue::getModuleType,"shipment") | |
51 | + .eq(ConfigValue::getWarehouseCode,shipmentDetail.getWarehouseCode()); | |
52 | + ConfigValue configValue=configValueService.getOne(configValueLambdaQueryWrapper); | |
53 | + if(configValue==null){ | |
54 | + throw new ServiceException("仓库的出库配置不存在"); | |
55 | + } | |
56 | + | |
57 | + //查找出库首选项 | |
58 | + LambdaQueryWrapper<ShipmentPreference> slam=Wrappers.lambdaQuery(); | |
59 | + slam.eq(ShipmentPreference::getCode,configValue.getIdentifier()) | |
60 | + .eq(ShipmentPreference::getWarehouseCode,configValue.getWarehouseCode()); | |
61 | + ShipmentPreference shipmentPreference=shipmentPreferenceService.getOne(slam); | |
62 | + if(shipmentPreference==null){ | |
63 | + throw new ServiceException("仓库的出库配置中出库首选项不存在"); | |
64 | + } | |
65 | + | |
49 | 66 | List<InventoryDetail> list=new ArrayList<>(); |
50 | 67 | FilterConfigDetail filterConfigDetail=new FilterConfigDetail(); |
51 | 68 | LambdaQueryWrapper<FilterConfigDetail> filterConfigDetailLambdaQueryWrapper= Wrappers.lambdaQuery(); |
... | ... | @@ -61,7 +78,7 @@ public class ShippingCombinationService { |
61 | 78 | |
62 | 79 | //根据sql查库存 |
63 | 80 | try { |
64 | - list = inventoryDetailService.selectBysql(filterConfigDetail.getStatement(),shipmentDetail,filterConfigDetail.getSqll()); | |
81 | + list = inventoryDetailService.selectBysql(filterConfigDetail.getStatement(),shipmentDetail,filterConfigDetail.getSqll(),shipmentPreference); | |
65 | 82 | }catch (Exception e){ |
66 | 83 | throw new ServiceException("sql错误"); |
67 | 84 | } |
... | ... | @@ -81,27 +98,12 @@ public class ShippingCombinationService { |
81 | 98 | } |
82 | 99 | |
83 | 100 | //根据sql查库存 |
84 | - list=inventoryDetailService.selectBysql(filterConfigDetail.getStatement(),shipmentDetail,filterConfigDetail.getSqll()); | |
101 | + list=inventoryDetailService.selectBysql(filterConfigDetail.getStatement(),shipmentDetail,filterConfigDetail.getSqll(),shipmentPreference); | |
85 | 102 | return list; |
86 | 103 | } |
87 | 104 | |
88 | 105 | //都没有时,默认仓库的分配规则 |
89 | - LambdaQueryWrapper<ConfigValue> configValueLambdaQueryWrapper=Wrappers.lambdaQuery(); | |
90 | - configValueLambdaQueryWrapper.eq(ConfigValue::getModuleType,"shipment") | |
91 | - .eq(ConfigValue::getWarehouseCode,shipmentDetail.getWarehouseCode()); | |
92 | - ConfigValue configValue=configValueService.getOne(configValueLambdaQueryWrapper); | |
93 | - if(configValue==null){ | |
94 | - throw new ServiceException("仓库的出库配置不存在"); | |
95 | - } | |
96 | 106 | |
97 | - //查找出库首选项 | |
98 | - LambdaQueryWrapper<ShipmentPreference> slam=Wrappers.lambdaQuery(); | |
99 | - slam.eq(ShipmentPreference::getCode,configValue.getIdentifier()) | |
100 | - .eq(ShipmentPreference::getWarehouseCode,configValue.getWarehouseCode()); | |
101 | - ShipmentPreference shipmentPreference=shipmentPreferenceService.getOne(slam); | |
102 | - if(shipmentPreference==null){ | |
103 | - throw new ServiceException("仓库的出库配置中出库首选项不存在"); | |
104 | - } | |
105 | 107 | //查找分配规则 |
106 | 108 | filterConfigDetailLambdaQueryWrapper.eq(FilterConfigDetail::getCode,shipmentPreference.getAllocationRule()); |
107 | 109 | filterConfigDetail=filterConfigDetailService.getOne(filterConfigDetailLambdaQueryWrapper); |
... | ... | @@ -110,7 +112,7 @@ public class ShippingCombinationService { |
110 | 112 | } |
111 | 113 | |
112 | 114 | //根据sql查库存 |
113 | - list=inventoryDetailService.selectBysql(filterConfigDetail.getStatement(),shipmentDetail,filterConfigDetail.getSqll()); | |
115 | + list=inventoryDetailService.selectBysql(filterConfigDetail.getStatement(),shipmentDetail,filterConfigDetail.getSqll(),shipmentPreference); | |
114 | 116 | return list; |
115 | 117 | } |
116 | 118 | |
... | ... |
src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java
... | ... | @@ -425,11 +425,11 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
425 | 425 | @Transactional |
426 | 426 | public void completeTask(TaskHeader task) { |
427 | 427 | //区分任务类型 |
428 | - if (task.getTaskType() == 100) { | |
428 | + if (task.getInternalTaskType() == 100) { | |
429 | 429 | //入库任务 |
430 | 430 | completeReceiptTask(task); |
431 | 431 | } |
432 | - if (task.getTaskType() == 200) { | |
432 | + if (task.getInternalTaskType() == 200) { | |
433 | 433 | // 出库任务 |
434 | 434 | completeShipmentTask(task); |
435 | 435 | } |
... | ... |
src/main/resources/templates/inventory/adjustDetail/add.html
1 | 1 | <!DOCTYPE HTML> |
2 | -<html lang="zh" xmlns:th="http://www.thymeleaf.org"> | |
2 | +<html lang="zh" xmlns:th="http://www.thymeleaf.org"> | |
3 | 3 | <meta charset="utf-8"> |
4 | 4 | <head th:include="include :: header"></head> |
5 | 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 | 7 | |
8 | - <form class="form-horizontal m" id="form-cyclecountAdjustDetail-addAdjust" > | |
9 | - <input type="hidden" id="cyclecountAdjustId" name="cyclecountAdjustId" th:value="${cyclecountAdjustId}"> | |
8 | + <form class="form-horizontal m" id="form-adjustDetail-add"> | |
9 | + <!--<input type="hidden" id="adjustCode" name="adjustCode" th:value="${adjustCode}">--> | |
10 | 10 | |
11 | - <div class="form-group"> | |
12 | - <label class="col-sm-3 control-label">调整单编号:</label> | |
13 | - <div class="col-sm-8"> | |
14 | - <input id="code" name="code" th:value="${code}" class="form-control" type="text" readonly="readonly"> | |
15 | - </div> | |
11 | + <div class="form-group"> | |
12 | + <label class="col-sm-3 control-label">调整单编号:</label> | |
13 | + <div class="col-sm-8"> | |
14 | + <input id="adjustCode" name="adjustCode" th:value="${adjustCode}" class="form-control" type="text" | |
15 | + readonly="readonly"> | |
16 | 16 | </div> |
17 | - <div class="form-group"> | |
18 | - <label class="col-sm-3 control-label">货主编码:</label> | |
19 | - <div class="col-sm-8"> | |
20 | - <input id="companyId" name="companyId" type="hidden" th:value="*{companyId}"> | |
21 | - <input id="companyCode" name="companyCode" th:value="${companyCode}" class="form-control" type="text" readonly="readonly"> | |
22 | - </div> | |
17 | + </div> | |
18 | + <!-- <div class="form-group"> | |
19 | + <label class="col-sm-3 control-label">货主编码:</label> | |
20 | + <div class="col-sm-8"> | |
21 | + <input id="companyCode" name="companyCode" class="form-control" type="text" readonly="readonly"> | |
22 | + </div> | |
23 | + </div>--> | |
24 | + <div class="form-group"> | |
25 | + <label class="col-sm-3 control-label">库存明细ID:</label> | |
26 | + <div class="col-sm-8"> | |
27 | + <input id="inventoryDetailId" name="inventoryDetailId" class="form-control" type="text"> | |
23 | 28 | </div> |
24 | - <div class="form-group"> | |
25 | - <label class="col-sm-3 control-label">盘点单编号:</label> | |
26 | - <div class="col-sm-8"> | |
27 | - <input id="cyclecountHeadCode" name="cyclecountHeadCode" th:value="${cyclecountHeadCode}" class="form-control" type="text" readonly="readonly"> | |
28 | - </div> | |
29 | + </div> | |
30 | + <div class="form-group"> | |
31 | + <label class="col-sm-3 control-label">盘点单号:</label> | |
32 | + <div class="col-sm-8"> | |
33 | + <input id="cycleCountCode" name="cycleCountCode" class="form-control" type="text"> | |
29 | 34 | </div> |
30 | - <div class="form-group"> | |
31 | - <label class="col-sm-3 control-label">物料编码:</label> | |
32 | - <div class="col-sm-8"> | |
33 | - <input id="materialCode" name="materialCode" class="form-control" type="text" onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')"> | |
34 | - </div> | |
35 | + </div> | |
36 | + <div class="form-group"> | |
37 | + <label class="col-sm-3 control-label">盘点明细单号:</label> | |
38 | + <div class="col-sm-8"> | |
39 | + <input id="cycleDetailId" name="cycleDetailId" class="form-control" type="text"> | |
35 | 40 | </div> |
36 | - <div class="form-group"> | |
37 | - <label class="col-sm-3 control-label">库位编码:</label> | |
38 | - <div class="col-sm-8"> | |
39 | - <input id="locationCode" name="locationCode" class="form-control" type="text" onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')"> | |
40 | - </div> | |
41 | + </div> | |
42 | + <div class="form-group"> | |
43 | + <label class="col-sm-3 control-label">质检单号:</label> | |
44 | + <div class="col-sm-8"> | |
45 | + <input id="checkCode" name="checkCode" class="form-control" type="text"> | |
41 | 46 | </div> |
42 | - <div class="form-group"> | |
43 | - <label class="col-sm-3 control-label">容器编号:</label> | |
44 | - <div class="col-sm-8"> | |
45 | - <input id="containerCode" name="containerCode" class="form-control" type="text" onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')"> | |
46 | - </div> | |
47 | + </div> | |
48 | + <div class="form-group"> | |
49 | + <label class="col-sm-3 control-label">质检单明细行号:</label> | |
50 | + <div class="col-sm-8"> | |
51 | + <input id="checkDetailId" name="checkDetailId" class="form-control" type="text"> | |
47 | 52 | </div> |
48 | - <!-- <div class="form-group"> | |
49 | - <label class="col-sm-3 control-label">重量kg:</label> | |
50 | - <div class="col-sm-8"> | |
51 | - <input id="weight" name="weight" class="form-control" type="text" onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')"> | |
52 | - </div> | |
53 | - </div>--> | |
54 | - <div class="form-group"> | |
55 | - <label class="col-sm-3 control-label">库存状态:</label> | |
56 | - <div class="col-sm-8"> | |
57 | - <select id="inventoryStatus" name="inventoryStatus" class="form-control" th:with="inventoryStatus=${@dict.getType('inventoryStatus')}"> | |
58 | - <option th:each="dict : ${inventoryStatus}" th:text="${dict['dictLabel']}" th:value="${dict['dictValue']}"></option> | |
59 | - </select> | |
60 | - </div> | |
53 | + </div> | |
54 | + <div class="form-group"> | |
55 | + <label class="col-sm-3 control-label">调整单关联单号:</label> | |
56 | + <div class="col-sm-8"> | |
57 | + <input id="referCode" name="referCode" class="form-control" type="text"> | |
61 | 58 | </div> |
62 | - <div class="form-group"> | |
63 | - <label class="col-sm-3 control-label">系统数量:</label> | |
64 | - <div class="col-sm-8"> | |
65 | - <input id="systemQty" name="systemQty" value="0" class="form-control" type="text" onkeyup="this.value=this.value.replace(/[^\-?\d.]/g,'')" readonly="readonly"> | |
66 | - </div> | |
59 | + </div> | |
60 | + <div class="form-group"> | |
61 | + <label class="col-sm-3 control-label">调整单关联明细行号:</label> | |
62 | + <div class="col-sm-8"> | |
63 | + <input id="referDetailId" name="referDetailId" class="form-control" type="text"> | |
64 | + </div> | |
65 | + </div> | |
66 | + <div class="form-group"> | |
67 | + <label class="col-sm-3 control-label">库位编码:</label> | |
68 | + <div class="col-sm-8"> | |
69 | + <input id="locationCode" name="locationCode" class="form-control" type="text" | |
70 | + onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')"> | |
71 | + </div> | |
72 | + </div> | |
73 | + <div class="form-group"> | |
74 | + <label class="col-sm-3 control-label">容器编号:</label> | |
75 | + <div class="col-sm-8"> | |
76 | + <input id="containerCode" name="containerCode" class="form-control" type="text" | |
77 | + onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')"> | |
78 | + </div> | |
79 | + </div> | |
80 | + <div class="form-group"> | |
81 | + <label class="col-sm-3 control-label">商品编码:</label> | |
82 | + <div class="col-sm-8"> | |
83 | + <input id="materialCode" name="materialCode" class="form-control" type="text" | |
84 | + onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')"> | |
85 | + </div> | |
86 | + </div> | |
87 | + <div class="form-group"> | |
88 | + <label class="col-sm-3 control-label">商品名称:</label> | |
89 | + <div class="col-sm-8"> | |
90 | + <input id="materialName" name="materialName" class="form-control" type="text"> | |
67 | 91 | </div> |
92 | + </div> | |
93 | + <div class="form-group"> | |
94 | + <label class="col-sm-3 control-label">商品规格:</label> | |
95 | + <div class="col-sm-8"> | |
96 | + <input id="materialSpec" name="materialSpec" class="form-control" type="text"> | |
97 | + </div> | |
98 | + </div> | |
99 | + <div class="form-group"> | |
100 | + <label class="col-sm-3 control-label">商品单位:</label> | |
101 | + <div class="col-sm-8"> | |
102 | + <input id="materialUnit" name="materialUnit" class="form-control" type="text"> | |
103 | + </div> | |
104 | + </div> | |
105 | + <div class="form-group"> | |
106 | + <label class="col-sm-3 control-label">调整类型:</label> | |
107 | + <div class="col-sm-8"> | |
108 | + <select id="problemType" name="problemType" class="form-control" | |
109 | + th:with="problemType=${@dict.getType('adjustType')}"> | |
110 | + <option th:each="dict : ${problemType}" th:text="${dict['dictLabel']}" | |
111 | + th:value="${dict['dictValue']}"></option> | |
112 | + </select> | |
113 | + <!--<input id="problemType" name="problemType" class="form-control" type="text" >--> | |
114 | + </div> | |
115 | + </div> | |
116 | + <div class="form-group"> | |
117 | + <label class="col-sm-3 control-label">属性号:</label> | |
118 | + <div class="col-sm-8"> | |
119 | + <input id="attributeId" name="attributeId" class="form-control" type="text"> | |
120 | + </div> | |
121 | + </div> | |
122 | + <div class="form-group"> | |
123 | + <label class="col-sm-3 control-label">调整前数量:</label> | |
124 | + <div class="col-sm-8"> | |
125 | + <input id="fromQty" name="fromQty" class="form-control" type="text" | |
126 | + onkeyup="this.value=this.value.replace(/[^\-?\d.]/g,'')"> | |
127 | + </div> | |
128 | + </div> | |
129 | + <div class="form-group"> | |
130 | + <label class="col-sm-3 control-label">调整后数量:</label> | |
131 | + <div class="col-sm-8"> | |
132 | + <input id="toQty" name="toQty" class="form-control" type="text" | |
133 | + onkeyup="this.value=this.value.replace(/[^\-?\d.]/g,'')"> | |
134 | + </div> | |
135 | + </div> | |
136 | + <div class="form-group"> | |
137 | + <label class="col-sm-3 control-label">调整变动数量:</label> | |
138 | + <div class="col-sm-8"> | |
139 | + <input id="gapQty" name="gapQty" class="form-control" type="text" | |
140 | + onkeyup="this.value=this.value.replace(/[^\-?\d.]/g,'')"> | |
141 | + </div> | |
142 | + </div> | |
143 | + <div class="form-group"> | |
144 | + <label class="col-sm-3 control-label">调整前库存状态:</label> | |
145 | + <div class="col-sm-8"> | |
146 | + <select id="fromInventorySts" name="fromInventorySts" class="form-control" | |
147 | + th:with="fromInventorySts=${@dict.getType('inventoryStatus')}"> | |
148 | + <option th:each="dict : ${fromInventorySts}" th:text="${dict['dictLabel']}" | |
149 | + th:value="${dict['dictValue']}"></option> | |
150 | + </select> | |
151 | + </div> | |
152 | + </div> | |
68 | 153 | <div class="form-group"> |
69 | - <label class="col-sm-3 control-label">实际数量:</label> | |
154 | + <label class="col-sm-3 control-label">调整后库存状态:</label> | |
70 | 155 | <div class="col-sm-8"> |
71 | - <input id="countedQty" name="countedQty" class="form-control" type="text" onkeyup="this.value=this.value.replace(/[^\-?\d.]/g,'')" > | |
156 | + <select id="toInventorySts" name="toInventorySts" class="form-control" | |
157 | + th:with="toInventorySts=${@dict.getType('inventoryStatus')}"> | |
158 | + <option th:each="dict : ${toInventorySts}" th:text="${dict['dictLabel']}" | |
159 | + th:value="${dict['dictValue']}"></option> | |
160 | + </select> | |
72 | 161 | </div> |
73 | 162 | </div> |
74 | - <div class="form-group"> | |
75 | - <label class="col-sm-3 control-label">差异数量:</label> | |
163 | + <!--<div class="form-group"> | |
164 | + <label class="col-sm-3 control-label">调整状态:</label> | |
76 | 165 | <div class="col-sm-8"> |
77 | - <input id="gapQty" name="gapQty" class="form-control" type="text" onkeyup="this.value=this.value.replace(/[^\-?\d.]/g,'')" > | |
166 | + <select id="status" name="status" class="form-control" | |
167 | + th:with="status=${@dict.getType('inventoryStatus')}"> | |
168 | + <option th:each="dict : ${status}" th:text="${dict['dictLabel']}" | |
169 | + th:value="${dict['dictValue']}"></option> | |
170 | + </select> | |
78 | 171 | </div> |
79 | - </div> | |
172 | + </div>--> | |
80 | 173 | <div class="form-group"> |
81 | - <label class="col-sm-3 control-label">调整数量:</label> | |
174 | + <label class="col-sm-3 control-label">重量:</label> | |
82 | 175 | <div class="col-sm-8"> |
83 | - <input id="adjustQty" name="adjustQty" class="form-control" type="text" onkeyup="this.value=this.value.replace(/[^\-?\d.]/g,'')"> | |
176 | + <input id="weight" name="weight" class="form-control" type="text"> | |
84 | 177 | </div> |
85 | 178 | </div> |
86 | - | |
87 | 179 | <div class="form-group"> |
88 | 180 | <label class="col-sm-3 control-label">批次:</label> |
89 | 181 | <div class="col-sm-8"> |
90 | - <input id="batch" name="batch" class="form-control" type="text" > | |
182 | + <input id="batch" name="batch" class="form-control" type="text"> | |
91 | 183 | </div> |
92 | 184 | </div> |
93 | 185 | <div class="form-group"> |
94 | 186 | <label class="col-sm-3 control-label">批号:</label> |
95 | 187 | <div class="col-sm-8"> |
96 | - <input id="lot" name="lot" class="form-control" type="text" > | |
188 | + <input id="lot" name="lot" class="form-control" type="text"> | |
97 | 189 | </div> |
98 | 190 | </div> |
99 | 191 | <div class="form-group"> |
100 | 192 | <label class="col-sm-3 control-label">项目号:</label> |
101 | 193 | <div class="col-sm-8"> |
102 | - <input id="project" name="project" class="form-control" type="text" > | |
194 | + <input id="projectNO" name="projectNo" class="form-control" type="text"> | |
195 | + </div> | |
196 | + </div> | |
197 | + <div class="form-group"> | |
198 | + <label class="col-sm-3 control-label">供应商编码:</label> | |
199 | + <div class="col-sm-8"> | |
200 | + <input id="supplierCode" name="supplierCode" class="form-control" type="text"> | |
103 | 201 | </div> |
104 | 202 | </div> |
105 | 203 | <div class="form-group"> |
106 | 204 | <label class="col-sm-3 control-label">生产日期:</label> |
107 | 205 | <div class="col-sm-8"> |
108 | - <input id="manufactureDate" name="manufactureDate" class="form-control" type="text" > | |
206 | + <input id="manufactureDate" name="manufactureDate" class="form-control" type="text"> | |
109 | 207 | </div> |
110 | 208 | </div> |
111 | 209 | <div class="form-group"> |
... | ... | @@ -114,60 +212,58 @@ |
114 | 212 | <input id="expirationDate" name="expirationDate" class="form-control" type="text"> |
115 | 213 | </div> |
116 | 214 | </div> |
215 | + <div class="form-group"> | |
216 | + <div class="form-control-static col-sm-offset-9"> | |
217 | + <button type="submit" class="btn btn-primary">提交</button><!--盘有 adjustInsert--> | |
218 | + <button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button> | |
219 | + </div> | |
220 | + </div> | |
221 | + </form> | |
222 | +</div> | |
223 | +<div th:include="include::footer"></div> | |
224 | +<script type="text/javascript"> | |
225 | + var prefix = ctx + "inventory/adjustDetail" | |
117 | 226 | |
227 | + $("#form-adjustDetail-add").validate({ | |
228 | + rules: { | |
229 | + adjustCode: { | |
230 | + required: true, | |
231 | + }, | |
232 | + problemType: { | |
233 | + required: true, | |
234 | + }, | |
235 | + inventoryDetailId: { | |
236 | + required: true, | |
237 | + }, | |
238 | + status: { | |
239 | + required: true, | |
240 | + }, | |
241 | + materialCode: { | |
242 | + required: true, | |
243 | + }, | |
244 | + containerCode: { | |
245 | + required: true, | |
246 | + }, | |
247 | + locationCode: { | |
248 | + required: true, | |
249 | + }, | |
118 | 250 | |
119 | - <div class="form-group"> | |
120 | - <div class="form-control-static col-sm-offset-9"> | |
121 | - <button type="submit" class="btn btn-primary">提交</button><!--盘有 adjustInsert--> | |
122 | - <button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button> | |
123 | - </div> | |
124 | - </div> | |
125 | - </form> | |
126 | - </div> | |
127 | - <div th:include="include::footer"></div> | |
128 | - <script type="text/javascript"> | |
129 | - var prefix = ctx + "inventory/cyclecountAdjustDetail" | |
130 | - | |
131 | - $("#form-cyclecountAdjustDetail-addAdjust").validate({ | |
132 | - rules:{ | |
133 | - materialCode:{ | |
134 | - required:true, | |
135 | - }, | |
136 | - containerCode:{ | |
137 | - required:true, | |
138 | - }, | |
139 | - locationCode:{ | |
140 | - required:true, | |
141 | - }, | |
142 | - systemQty:{ | |
143 | - required:true, | |
144 | - }, | |
145 | - countedQty:{ | |
146 | - required:true, | |
147 | - }, | |
148 | - gapQty:{ | |
149 | - required:true, | |
150 | - }, | |
151 | - adjustQty:{ | |
152 | - required:true, | |
153 | - }, | |
251 | + //必须填值判定 | |
252 | + }, | |
253 | + submitHandler: function (form) { | |
254 | + $.operate.save(prefix + "/addAdjust", $('#form-adjustDetail-add').serialize()); | |
255 | + } | |
256 | + }); | |
154 | 257 | |
155 | - //必须填值判定 | |
156 | - }, | |
157 | - submitHandler: function(form) { | |
158 | - $.operate.save(prefix + "/addAdjust", $('#form-cyclecountAdjustDetail-addAdjust').serialize()); | |
159 | - } | |
258 | + /*时间弹框*/ | |
259 | + $(function () { | |
260 | + layui.use('laydate', function () { | |
261 | + var laydate = layui.laydate; | |
262 | + laydate.render({elem: '#manufactureDate', max: 0, theme: 'molv', type: 'datetime'}); | |
263 | + laydate.render({elem: '#expirationDate', min: 0, theme: 'molv', type: 'datetime'}); | |
160 | 264 | }); |
265 | + }) | |
161 | 266 | |
162 | - /*时间弹框*/ | |
163 | - $(function () { | |
164 | - layui.use('laydate', function() { | |
165 | - var laydate = layui.laydate; | |
166 | - laydate.render({ elem: '#manufactureDate',max: 0, theme: 'molv' ,type: 'datetime'}); | |
167 | - laydate.render({ elem: '#expirationDate',min: 0, theme: 'molv' ,type: 'datetime'}); | |
168 | - }); | |
169 | - }) | |
170 | - | |
171 | - </script> | |
267 | +</script> | |
172 | 268 | </body> |
173 | 269 | </html> |
... | ... |
src/main/resources/templates/inventory/adjustDetail/adjustDetail.html
... | ... | @@ -91,7 +91,7 @@ |
91 | 91 | </div> |
92 | 92 | </div> |
93 | 93 | <div class="btn-group hidden-xs" id="toolbar" role="group"> |
94 | - <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()"> | |
94 | + <a class="btn btn-outline btn-success btn-rounded" onclick="add()"> | |
95 | 95 | <i class="fa fa-plus"></i> 新增 |
96 | 96 | </a> |
97 | 97 | <a class="btn btn-outline btn-primary btn-rounded" onclick="agree()"> |
... | ... | @@ -251,11 +251,17 @@ |
251 | 251 | { |
252 | 252 | field: 'fromInventorySts', |
253 | 253 | title: '调整前状态', |
254 | + formatter: function (value, row, index) { | |
255 | + return $.table.selectDictLabel(inventoryStatus, value); | |
256 | + }, | |
254 | 257 | visible: true |
255 | 258 | }, |
256 | 259 | { |
257 | 260 | field: 'toInventorySts', |
258 | 261 | title: '调整后状态', |
262 | + formatter: function (value, row, index) { | |
263 | + return $.table.selectDictLabel(inventoryStatus, value); | |
264 | + }, | |
259 | 265 | visible: true |
260 | 266 | }, |
261 | 267 | { |
... | ... | @@ -266,22 +272,9 @@ |
266 | 272 | |
267 | 273 | }, |
268 | 274 | { |
269 | - field: 'inventorySts', | |
270 | - title: '库存状态', | |
271 | - formatter: function (value, row, index) { | |
272 | - return $.table.selectDictLabel(inventoryStatus, value); | |
273 | - }, | |
274 | - sortable: true | |
275 | - }, | |
276 | - | |
277 | - { | |
278 | - field: 'created', | |
279 | - title: '创建时间', | |
280 | - sortable: true | |
281 | - }, | |
282 | - { | |
283 | - field: 'createdBy', | |
284 | - title: '创建用户' | |
275 | + field: 'supplierCode', | |
276 | + title: '供应商编码', | |
277 | + visible: true | |
285 | 278 | }, |
286 | 279 | { |
287 | 280 | field: 'agreeTime', |
... | ... | @@ -301,6 +294,46 @@ |
301 | 294 | sortable: true |
302 | 295 | }, |
303 | 296 | { |
297 | + field: 'batch', | |
298 | + title: '批次', | |
299 | + visible: true | |
300 | + }, | |
301 | + { | |
302 | + field: 'lot', | |
303 | + title: '批号', | |
304 | + visible: true | |
305 | + }, | |
306 | + { | |
307 | + field: 'projectNo', | |
308 | + title: '项目号', | |
309 | + visible: true | |
310 | + }, | |
311 | + { | |
312 | + field: 'weight', | |
313 | + title: '重量', | |
314 | + visible: true | |
315 | + }, | |
316 | + { | |
317 | + field: 'manufactureDate', | |
318 | + title: '生产日期', | |
319 | + visible: true | |
320 | + }, | |
321 | + { | |
322 | + field: 'expirationDate', | |
323 | + title: '失效日期', | |
324 | + visible: true | |
325 | + }, | |
326 | + { | |
327 | + field: 'created', | |
328 | + title: '创建时间', | |
329 | + sortable: true | |
330 | + }, | |
331 | + { | |
332 | + field: 'createdBy', | |
333 | + title: '创建用户' | |
334 | + }, | |
335 | + | |
336 | + { | |
304 | 337 | field: 'Remark', |
305 | 338 | title: '备注', |
306 | 339 | visible: true |
... | ... | @@ -353,6 +386,15 @@ |
353 | 386 | |
354 | 387 | }); |
355 | 388 | |
389 | + | |
390 | + /*新增调整明细*/ | |
391 | + function add() { | |
392 | + var adjustCode = $('#adjustCode').val(); | |
393 | + if(adjustCode !=null && adjustCode!="" && adjustCode!=undefined){ | |
394 | + open("新增调整明细", prefix+"/add?adjustCode=" + adjustCode); | |
395 | + } | |
396 | + } | |
397 | + | |
356 | 398 | /*审批*/ |
357 | 399 | function agree() { |
358 | 400 | var rows = $.common.isEmpty($.table._option.id) ? $.table.selectFirstColumns() : $.table.selectColumns($.table._option.id); |
... | ... |
src/main/resources/templates/inventory/adjustDetail/adjustEdit.html deleted
1 | -<!DOCTYPE HTML> | |
2 | -<html lang="zh" xmlns:th="http://www.thymeleaf.org"> | |
3 | -<meta charset="utf-8"> | |
4 | -<head th:include="include :: header"></head> | |
5 | -<body class="white-bg"> | |
6 | -<div class="wrapper wrapper-content animated fadeInRight ibox-content"> | |
7 | - <form class="form-horizontal m" id="form-cyclecountAdjustDetail-AdjustEdit" th:object="${cyclecountAdjustDetailEdit}" > | |
8 | - <input type="hidden" id="cyclecountAdjustId" name="cyclecountAdjustId" th:value="*{cyclecountAdjustId}"> | |
9 | - | |
10 | - <div class="form-group"> | |
11 | - <label class="col-sm-3 control-label">明细id:</label> | |
12 | - <div class="col-sm-8"> | |
13 | - <input id="id" name="id" th:value="*{id}" class="form-control" type="text"readonly="readonly"> | |
14 | - </div> | |
15 | - </div> | |
16 | - <div class="form-group"> | |
17 | - <label class="col-sm-3 control-label">调整单编号:</label> | |
18 | - <div class="col-sm-8"> | |
19 | - <input id="cyclecountAdjustCode" name="cyclecountAdjustCode" th:value="*{cyclecountAdjustCode}" class="form-control" type="text" readonly="readonly"> | |
20 | - </div> | |
21 | - </div> | |
22 | - <div class="form-group"> | |
23 | - <label class="col-sm-3 control-label">货主编码:</label> | |
24 | - <div class="col-sm-8"> | |
25 | - <input id="companyCode" name="companyCode" th:value="*{companyCode}" class="form-control" type="text" readonly="readonly"> | |
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 | - <input id="cyclecountHeadCode" name="cyclecountHeadCode" th:value="*{cyclecountHeadCode}" class="form-control" type="text" readonly="readonly"> | |
32 | - </div> | |
33 | - </div> | |
34 | - <div class="form-group"> | |
35 | - <label class="col-sm-3 control-label">物料编码:</label> | |
36 | - <div class="col-sm-8"> | |
37 | - <input id="materialCode" name="materialCode" th:value="*{materialCode}" class="form-control" type="text"readonly="readonly"> | |
38 | - </div> | |
39 | - </div> | |
40 | - | |
41 | - <div class="form-group"> | |
42 | - <label class="col-sm-3 control-label">库位编码:</label> | |
43 | - <div class="col-sm-8"> | |
44 | - <input id="locationCode" name="locationCode" th:value="*{locationCode}" class="form-control" type="text" readonly="readonly"> | |
45 | - </div> | |
46 | - </div> | |
47 | - <div class="form-group"> | |
48 | - <label class="col-sm-3 control-label">容器编号:</label> | |
49 | - <div class="col-sm-8"> | |
50 | - <input id="containerCode" name="containerCode" th:value="*{containerCode}" class="form-control" type="text" readonly="readonly"> | |
51 | - </div> | |
52 | - </div> | |
53 | - <div class="form-group"> | |
54 | - <label class="col-sm-3 control-label">入库单编码:</label> | |
55 | - <div class="col-sm-8"> | |
56 | - <input id="receiptCode" name="receiptCode" th:value="*{receiptCode}" class="form-control" type="text"readonly="readonly"> | |
57 | - </div> | |
58 | - </div> | |
59 | - <!--<div class="form-group"> | |
60 | - <label class="col-sm-3 control-label">重量kg:</label> | |
61 | - <div class="col-sm-8"> | |
62 | - <input id="weight" name="weight" th:value="*{weight}" class="form-control" type="text" readonly="readonly"> | |
63 | - </div> | |
64 | - </div>--> | |
65 | - <div class="form-group"> | |
66 | - <label class="col-sm-3 control-label">库存id:</label> | |
67 | - <div class="col-sm-8"> | |
68 | - <input id="inventoryId" name="inventoryId" th:value="*{inventoryId}" class="form-control" type="text"readonly="readonly"> | |
69 | - </div> | |
70 | - </div> | |
71 | - <div class="form-group"> | |
72 | - <label class="col-sm-3 control-label">库存状态:</label> | |
73 | - <div class="col-sm-8"> | |
74 | - <select id="inventoryStatus" name="inventoryStatus" class="form-control" th:with="inventoryStatus=${@dict.getType('inventoryStatus')}" disabled="disabled"> | |
75 | - <option th:each="dict : ${inventoryStatus}" th:field="*{inventoryStatus}" th:text="${dict['dictLabel']}" th:value="${dict['dictValue']}"></option> | |
76 | - </select> | |
77 | - </div> | |
78 | - </div> | |
79 | - <div class="form-group"> | |
80 | - <label class="col-sm-3 control-label">系统数量:</label> | |
81 | - <div class="col-sm-8"> | |
82 | - <input id="systemQty" name="systemQty" th:value="*{systemQty}" class="form-control" type="text"readonly="readonly"> | |
83 | - </div> | |
84 | - </div> | |
85 | - <div class="form-group"> | |
86 | - <label class="col-sm-3 control-label">实际数量:</label> | |
87 | - <div class="col-sm-8"> | |
88 | - <input id="countedQty" name="countedQty" th:value="*{countedQty}" class="form-control" type="text" readonly="readonly"> | |
89 | - </div> | |
90 | - </div> | |
91 | - <div class="form-group"> | |
92 | - <label class="col-sm-3 control-label">差异数量:</label> | |
93 | - <div class="col-sm-8"> | |
94 | - <input id="gapQty" name="gapQty" th:value="*{gapQty}" class="form-control" type="text" readonly="readonly"> | |
95 | - </div> | |
96 | - </div> | |
97 | - <div class="form-group"> | |
98 | - <label class="col-sm-3 control-label">调整数量:</label> | |
99 | - <div class="col-sm-8"> | |
100 | - <input id="adjustQty" name="adjustQty" class="form-control" type="text" placeholder="填写物料的差异数值" onkeyup="this.value=this.value.replace(/[^\-?\d.]/g,'')"> | |
101 | - </div> | |
102 | - </div> | |
103 | - | |
104 | - <div class="form-group"> | |
105 | - <label class="col-sm-3 control-label">批次:</label> | |
106 | - <div class="col-sm-8"> | |
107 | - <input id="batch" name="batch" th:value="*{batch}" class="form-control" type="text" readonly="readonly"> | |
108 | - </div> | |
109 | - </div> | |
110 | - <div class="form-group"> | |
111 | - <label class="col-sm-3 control-label">批号:</label> | |
112 | - <div class="col-sm-8"> | |
113 | - <input id="lot" name="lot" th:value="*{lot}" class="form-control" type="text"readonly="readonly"> | |
114 | - </div> | |
115 | - </div> | |
116 | - <div class="form-group"> | |
117 | - <label class="col-sm-3 control-label">项目号:</label> | |
118 | - <div class="col-sm-8"> | |
119 | - <input id="project" name="project" th:value="*{project}" class="form-control"readonly="readonly"> | |
120 | - </div> | |
121 | - </div> | |
122 | - <!--<div class="form-group"> | |
123 | - <label class="col-sm-3 control-label">生产日期:</label> | |
124 | - <div class="col-sm-8"> | |
125 | - <input id="manufactureDate" name="manufactureDate" th:value="*{manufactureDate}" class="form-control" type="text" readonly="readonly"> | |
126 | - </div> | |
127 | - </div>--> | |
128 | - <div class="form-group"> | |
129 | - <label class="col-sm-3 control-label">失效日期:</label> | |
130 | - <div class="col-sm-8"> | |
131 | - <input id="expirationDate" name="expirationDate" th:value="*{expirationDate}" class="form-control" type="text"readonly="readonly"> | |
132 | - </div> | |
133 | - </div> | |
134 | - | |
135 | - <div class="form-group"> | |
136 | - <div class="form-control-static col-sm-offset-9"> | |
137 | - <button type="submit" class="btn btn-success">确认</button><!--只调整数量 adjustUpdate--> | |
138 | - <button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button> | |
139 | - </div> | |
140 | - </div> | |
141 | - </form> | |
142 | -</div> | |
143 | -<div th:include="include::footer"></div> | |
144 | -<script type="text/javascript"> | |
145 | - var prefix = ctx + "inventory/cyclecountAdjustDetail" | |
146 | - $("#form-cyclecountAdjustDetail-AdjustEdit").validate({ | |
147 | - rules:{ | |
148 | - adjustQty:{ | |
149 | - required:true, | |
150 | - }, | |
151 | - //必填判定 | |
152 | - }, | |
153 | - submitHandler: function(form) { | |
154 | - $.operate.save(prefix + "/editAdjustSave", $('#form-cyclecountAdjustDetail-AdjustEdit').serialize()); | |
155 | - } | |
156 | - }); | |
157 | - /*时间弹框*/ | |
158 | - $(function () { | |
159 | - layui.use('laydate', function() { | |
160 | - var laydate = layui.laydate; | |
161 | - laydate.render({ elem: '#manufactureDate',max: 0, theme: 'molv' ,type: 'datetime'}); | |
162 | - laydate.render({ elem: '#expirationDate',min: 0, theme: 'molv' ,type: 'datetime'}); | |
163 | - }); | |
164 | - }) | |
165 | - | |
166 | -</script> | |
167 | -</body> | |
168 | -</html> |
src/main/resources/templates/inventory/adjustHeader/adjustEdit.html deleted
1 | -<!DOCTYPE HTML> | |
2 | -<html lang="zh" xmlns:th="http://www.thymeleaf.org"> | |
3 | -<meta charset="utf-8"> | |
4 | -<head th:include="include :: header"></head> | |
5 | -<body class="white-bg"> | |
6 | -<div class="wrapper wrapper-content animated fadeInRight ibox-content"> | |
7 | - <form class="form-horizontal m" id="form-cyclecountAdjustDetail-AdjustEdit" th:object="${cyclecountAdjustDetailEdit}" > | |
8 | - <input type="hidden" id="cyclecountAdjustId" name="cyclecountAdjustId" th:value="*{cyclecountAdjustId}"> | |
9 | - | |
10 | - <div class="form-group"> | |
11 | - <label class="col-sm-3 control-label">明细id:</label> | |
12 | - <div class="col-sm-8"> | |
13 | - <input id="id" name="id" th:value="*{id}" class="form-control" type="text"readonly="readonly"> | |
14 | - </div> | |
15 | - </div> | |
16 | - <div class="form-group"> | |
17 | - <label class="col-sm-3 control-label">调整单编号:</label> | |
18 | - <div class="col-sm-8"> | |
19 | - <input id="cyclecountAdjustCode" name="cyclecountAdjustCode" th:value="*{cyclecountAdjustCode}" class="form-control" type="text" readonly="readonly"> | |
20 | - </div> | |
21 | - </div> | |
22 | - <div class="form-group"> | |
23 | - <label class="col-sm-3 control-label">货主编码:</label> | |
24 | - <div class="col-sm-8"> | |
25 | - <input id="companyCode" name="companyCode" th:value="*{companyCode}" class="form-control" type="text" readonly="readonly"> | |
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 | - <input id="cyclecountHeadCode" name="cyclecountHeadCode" th:value="*{cyclecountHeadCode}" class="form-control" type="text" readonly="readonly"> | |
32 | - </div> | |
33 | - </div> | |
34 | - <div class="form-group"> | |
35 | - <label class="col-sm-3 control-label">物料编码:</label> | |
36 | - <div class="col-sm-8"> | |
37 | - <input id="materialCode" name="materialCode" th:value="*{materialCode}" class="form-control" type="text"readonly="readonly"> | |
38 | - </div> | |
39 | - </div> | |
40 | - | |
41 | - <div class="form-group"> | |
42 | - <label class="col-sm-3 control-label">库位编码:</label> | |
43 | - <div class="col-sm-8"> | |
44 | - <input id="locationCode" name="locationCode" th:value="*{locationCode}" class="form-control" type="text" readonly="readonly"> | |
45 | - </div> | |
46 | - </div> | |
47 | - <div class="form-group"> | |
48 | - <label class="col-sm-3 control-label">容器编号:</label> | |
49 | - <div class="col-sm-8"> | |
50 | - <input id="containerCode" name="containerCode" th:value="*{containerCode}" class="form-control" type="text" readonly="readonly"> | |
51 | - </div> | |
52 | - </div> | |
53 | - <div class="form-group"> | |
54 | - <label class="col-sm-3 control-label">入库单编码:</label> | |
55 | - <div class="col-sm-8"> | |
56 | - <input id="receiptCode" name="receiptCode" th:value="*{receiptCode}" class="form-control" type="text"readonly="readonly"> | |
57 | - </div> | |
58 | - </div> | |
59 | - <!--<div class="form-group"> | |
60 | - <label class="col-sm-3 control-label">重量kg:</label> | |
61 | - <div class="col-sm-8"> | |
62 | - <input id="weight" name="weight" th:value="*{weight}" class="form-control" type="text" readonly="readonly"> | |
63 | - </div> | |
64 | - </div>--> | |
65 | - <div class="form-group"> | |
66 | - <label class="col-sm-3 control-label">库存id:</label> | |
67 | - <div class="col-sm-8"> | |
68 | - <input id="inventoryId" name="inventoryId" th:value="*{inventoryId}" class="form-control" type="text"readonly="readonly"> | |
69 | - </div> | |
70 | - </div> | |
71 | - <div class="form-group"> | |
72 | - <label class="col-sm-3 control-label">库存状态:</label> | |
73 | - <div class="col-sm-8"> | |
74 | - <select id="inventoryStatus" name="inventoryStatus" class="form-control" th:with="inventoryStatus=${@dict.getType('inventoryStatus')}" disabled="disabled"> | |
75 | - <option th:each="dict : ${inventoryStatus}" th:field="*{inventoryStatus}" th:text="${dict['dictLabel']}" th:value="${dict['dictValue']}"></option> | |
76 | - </select> | |
77 | - </div> | |
78 | - </div> | |
79 | - <div class="form-group"> | |
80 | - <label class="col-sm-3 control-label">系统数量:</label> | |
81 | - <div class="col-sm-8"> | |
82 | - <input id="systemQty" name="systemQty" th:value="*{systemQty}" class="form-control" type="text"readonly="readonly"> | |
83 | - </div> | |
84 | - </div> | |
85 | - <div class="form-group"> | |
86 | - <label class="col-sm-3 control-label">实际数量:</label> | |
87 | - <div class="col-sm-8"> | |
88 | - <input id="countedQty" name="countedQty" th:value="*{countedQty}" class="form-control" type="text" readonly="readonly"> | |
89 | - </div> | |
90 | - </div> | |
91 | - <div class="form-group"> | |
92 | - <label class="col-sm-3 control-label">差异数量:</label> | |
93 | - <div class="col-sm-8"> | |
94 | - <input id="gapQty" name="gapQty" th:value="*{gapQty}" class="form-control" type="text" readonly="readonly"> | |
95 | - </div> | |
96 | - </div> | |
97 | - <div class="form-group"> | |
98 | - <label class="col-sm-3 control-label">调整数量:</label> | |
99 | - <div class="col-sm-8"> | |
100 | - <input id="adjustQty" name="adjustQty" class="form-control" type="text" placeholder="填写物料的差异数值" onkeyup="this.value=this.value.replace(/[^\-?\d.]/g,'')"> | |
101 | - </div> | |
102 | - </div> | |
103 | - | |
104 | - <div class="form-group"> | |
105 | - <label class="col-sm-3 control-label">批次:</label> | |
106 | - <div class="col-sm-8"> | |
107 | - <input id="batch" name="batch" th:value="*{batch}" class="form-control" type="text" readonly="readonly"> | |
108 | - </div> | |
109 | - </div> | |
110 | - <div class="form-group"> | |
111 | - <label class="col-sm-3 control-label">批号:</label> | |
112 | - <div class="col-sm-8"> | |
113 | - <input id="lot" name="lot" th:value="*{lot}" class="form-control" type="text"readonly="readonly"> | |
114 | - </div> | |
115 | - </div> | |
116 | - <div class="form-group"> | |
117 | - <label class="col-sm-3 control-label">项目号:</label> | |
118 | - <div class="col-sm-8"> | |
119 | - <input id="project" name="project" th:value="*{project}" class="form-control"readonly="readonly"> | |
120 | - </div> | |
121 | - </div> | |
122 | - <!--<div class="form-group"> | |
123 | - <label class="col-sm-3 control-label">生产日期:</label> | |
124 | - <div class="col-sm-8"> | |
125 | - <input id="manufactureDate" name="manufactureDate" th:value="*{manufactureDate}" class="form-control" type="text" readonly="readonly"> | |
126 | - </div> | |
127 | - </div>--> | |
128 | - <div class="form-group"> | |
129 | - <label class="col-sm-3 control-label">失效日期:</label> | |
130 | - <div class="col-sm-8"> | |
131 | - <input id="expirationDate" name="expirationDate" th:value="*{expirationDate}" class="form-control" type="text"readonly="readonly"> | |
132 | - </div> | |
133 | - </div> | |
134 | - | |
135 | - <div class="form-group"> | |
136 | - <div class="form-control-static col-sm-offset-9"> | |
137 | - <button type="submit" class="btn btn-success">确认</button><!--只调整数量 adjustUpdate--> | |
138 | - <button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button> | |
139 | - </div> | |
140 | - </div> | |
141 | - </form> | |
142 | -</div> | |
143 | -<div th:include="include::footer"></div> | |
144 | -<script type="text/javascript"> | |
145 | - var prefix = ctx + "inventory/cyclecountAdjustDetail" | |
146 | - $("#form-cyclecountAdjustDetail-AdjustEdit").validate({ | |
147 | - rules:{ | |
148 | - adjustQty:{ | |
149 | - required:true, | |
150 | - }, | |
151 | - //必填判定 | |
152 | - }, | |
153 | - submitHandler: function(form) { | |
154 | - $.operate.save(prefix + "/editAdjustSave", $('#form-cyclecountAdjustDetail-AdjustEdit').serialize()); | |
155 | - } | |
156 | - }); | |
157 | - /*时间弹框*/ | |
158 | - $(function () { | |
159 | - layui.use('laydate', function() { | |
160 | - var laydate = layui.laydate; | |
161 | - laydate.render({ elem: '#manufactureDate',max: 0, theme: 'molv' ,type: 'datetime'}); | |
162 | - laydate.render({ elem: '#expirationDate',min: 0, theme: 'molv' ,type: 'datetime'}); | |
163 | - }); | |
164 | - }) | |
165 | - | |
166 | -</script> | |
167 | -</body> | |
168 | -</html> |