Commit 0d86cf9fd0eea4f553b1866a5184f9ca52ebdc35
Merge branch 'develop' of http://172.16.29.40:8010/wms/wms2 into develop
Showing
47 changed files
with
292 additions
and
153 deletions
src/main/java/com/huaheng/pc/check/checkDetail/controller/CheckDetailController.java
... | ... | @@ -130,15 +130,6 @@ public class CheckDetailController extends BaseController { |
130 | 130 | } |
131 | 131 | |
132 | 132 | /** |
133 | - * 完成质检 | |
134 | - */ | |
135 | - @GetMapping("complete/{id}") | |
136 | - public String complete(@PathVariable("id") Integer id, ModelMap mmap) { | |
137 | - mmap.put("checkDetailId", id); | |
138 | - return prefix + "/checkComplete"; | |
139 | - } | |
140 | - | |
141 | - /** | |
142 | 133 | * 保存质检完成 |
143 | 134 | * @param inventorySts 库存状态 |
144 | 135 | * @param qty 数量 |
... | ... | @@ -149,9 +140,7 @@ public class CheckDetailController extends BaseController { |
149 | 140 | @Log(title = "质检-质检详情 ",operating = "质检详情删除", action = BusinessType.DELETE) |
150 | 141 | @PostMapping("/complete") |
151 | 142 | @ResponseBody |
152 | - public AjaxResult complete(@ApiParam(name="质检明细id",value="id")Integer id, | |
153 | - @ApiParam(name="库存状态",value="inventorySts",example="good,bad")String inventorySts, | |
154 | - @ApiParam(name = "数量",value = "qty",example = "10,20") String qty) { | |
155 | - return checkDetailService.complete(id, inventorySts, qty); | |
143 | + public AjaxResult complete(@ApiParam(name="质检明细id",value="id")Integer id) { | |
144 | + return checkDetailService.complete(id); | |
156 | 145 | } |
157 | 146 | } |
... | ... |
src/main/java/com/huaheng/pc/check/checkDetail/service/CheckDetailService.java
... | ... | @@ -26,77 +26,58 @@ import org.springframework.transaction.annotation.Transactional; |
26 | 26 | public class CheckDetailService extends ServiceImpl<CheckDetailMapper, CheckDetail> { |
27 | 27 | |
28 | 28 | @Resource |
29 | - private CheckingRegisterService checkingRegisterService; | |
30 | - @Resource | |
31 | 29 | private CheckHeaderService checkHeaderService; |
30 | + @Resource | |
31 | + private CheckingRegisterService checkingRegisterService; | |
32 | 32 | |
33 | 33 | /** |
34 | 34 | * 质检完成 |
35 | 35 | * @param id 质检明细id |
36 | - * @param inventorySts 库存状态 good, | |
37 | - * @param qty 数量 10,20 | |
38 | 36 | * @return AjaxResult |
39 | 37 | */ |
40 | 38 | @Transactional |
41 | - public AjaxResult complete(Integer id, String inventorySts, String qty){ | |
39 | + public AjaxResult complete(Integer id){ | |
40 | + LambdaQueryWrapper<CheckingRegister> checkingRegisterLambda = Wrappers.lambdaQuery(); | |
41 | + checkingRegisterLambda.eq(CheckingRegister::getCheckDetailId, id); | |
42 | + List<CheckingRegister> checkingRegisters = checkingRegisterService.list(checkingRegisterLambda); | |
43 | + int total = 0; //质检登记中的总数量 | |
44 | + for (CheckingRegister checkingRegister: checkingRegisters){ | |
45 | + total += checkingRegister.getQty(); | |
46 | + } | |
42 | 47 | |
43 | - //将库存状态、数量字符串转为List | |
44 | - List<String> inventoryStsList = Arrays.asList(Convert.toStrArray(inventorySts)); | |
45 | - List<Integer> qtyList = Arrays.asList(Convert.toIntArray(qty)); | |
48 | + //更新传入明细id为完成质检状态 | |
46 | 49 | CheckDetail checkDetail = this.getById(id); |
47 | - | |
48 | - // | |
49 | - int sum = 0; | |
50 | - for (Integer quantity : qtyList) { | |
51 | - sum += quantity; | |
52 | - } | |
53 | - if (checkDetail.getQty() == sum) { | |
54 | - AjaxResult.error("质检登记数量和质检明细系统数量核对错误"); | |
50 | + if ( !(total == checkDetail.getQty())){ | |
51 | + return AjaxResult.error("质检登记中总数量不等于质检明细中数量,不能完成质检"); | |
55 | 52 | } |
53 | + checkDetail.setCheckBy(ShiroUtils.getLoginName()); | |
54 | + checkDetail.setCheckAt(new Date()); | |
55 | + | |
56 | 56 | checkDetail.setStatus("20"); |
57 | - if ( !this.updateById(checkDetail)){ | |
58 | - throw new ServiceException("更新质检明细表错误"); | |
57 | + checkDetail.setLastUpdated(new Date()); | |
58 | + checkDetail.setLastUpdatedBy(ShiroUtils.getLoginName()); | |
59 | + if (!this.updateById(checkDetail)){ | |
60 | + throw new ServiceException("更新质检明细表失败"); | |
59 | 61 | } |
60 | - CheckingRegister checkingRegister = new CheckingRegister(); | |
61 | - checkingRegister.setCheckDetailId(checkDetail.getId()); | |
62 | - checkingRegister.setCheckHeaderId(checkDetail.getCheckHeaderId()); | |
63 | - checkingRegister.setWarehouseCode(ShiroUtils.getWarehouseCode()); | |
64 | - checkingRegister.setCheckCode(checkDetail.getCheckCode()); | |
65 | - checkingRegister.setReceiptDetailId(checkDetail.getReceiptDetailId()); | |
66 | - checkingRegister.setReceiptCode(checkDetail.getReceiptCode()); | |
67 | - checkingRegister.setReferCode(checkDetail.getReferCode()); | |
68 | - checkingRegister.setReferLineId(checkDetail.getReferLineId()); | |
69 | - checkingRegister.setReferPlatform(checkDetail.getReferPlatform()); | |
70 | - checkingRegister.setMaterialCode(checkDetail.getMaterialCode()); | |
71 | - checkingRegister.setMaterialName(checkDetail.getMaterialName()); | |
72 | - checkingRegister.setMaterialSpec(checkDetail.getMaterialSpec()); | |
73 | - checkingRegister.setMaterialUnit(checkDetail.getMaterialUnit()); | |
74 | - checkingRegister.setCompanyCode(checkDetail.getCompanyCode()); | |
75 | - checkingRegister.setCheckBy(ShiroUtils.getLoginName()); | |
76 | - checkingRegister.setCheckAt(new Date()); | |
77 | - checkingRegister.setCreatedBy(ShiroUtils.getLoginName()); | |
78 | - checkingRegister.setLastUpdatedBy(ShiroUtils.getLoginName()); | |
62 | + LambdaQueryWrapper<CheckDetail> lambda = Wrappers.lambdaQuery(); | |
63 | + lambda.eq(CheckDetail::getCheckHeaderId, checkDetail.getCheckHeaderId()); | |
64 | + List<CheckDetail> checkDetails = this.list(lambda); | |
79 | 65 | |
80 | - for (int i = 0; i<inventoryStsList.size(); i++){ | |
81 | - checkingRegister.setInventorySts(inventoryStsList.get(i)); | |
82 | - checkingRegister.setQty(qtyList.get(0)); | |
83 | - if ( !checkingRegisterService.save(checkingRegister)){ | |
84 | - throw new ServiceException("生成质检报告失败"); | |
66 | + //判断头表下所有明细是否全部完成 | |
67 | + boolean result = false; | |
68 | + for (CheckDetail checkDetail1 : checkDetails){ | |
69 | + if ("20".equals(checkDetail1.getStatus())){ | |
70 | + result = true; | |
71 | + } else { | |
72 | + result = false; | |
85 | 73 | } |
86 | 74 | } |
87 | - | |
88 | - LambdaQueryWrapper<CheckDetail> lambdaQueryWrapper = Wrappers.lambdaQuery(); | |
89 | - lambdaQueryWrapper.eq(CheckDetail::getCheckHeaderId, checkDetail.getCheckHeaderId()) | |
90 | - .ne(CheckDetail::getStatus, 20); | |
91 | - List<CheckDetail> checkDetails = this.list(lambdaQueryWrapper); | |
92 | - | |
93 | - //如果改质检单的全部明细都完成质检则更新质检头表状态 | |
94 | - if (checkDetails == null){ | |
75 | + if (result){ | |
95 | 76 | CheckHeader checkHeader = new CheckHeader(); |
96 | 77 | checkHeader.setId(checkDetail.getCheckHeaderId()); |
97 | - checkHeader.setStatus("20"); | |
98 | - if (!checkHeaderService.updateById(checkHeader)){ | |
99 | - throw new ServiceException("更新质检头表发生错误"); | |
78 | + checkHeader.setStatus("30"); | |
79 | + if ( !checkHeaderService.updateById(checkHeader)){ | |
80 | + throw new ServiceException("质检头表更新失败"); | |
100 | 81 | } |
101 | 82 | } |
102 | 83 | return AjaxResult.success("质检完成"); |
... | ... |
src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/controller/ReceiptContainerDetailController.java
... | ... | @@ -74,6 +74,7 @@ public class ReceiptContainerDetailController extends BaseController { |
74 | 74 | @RequiresPermissions("receipt:receiptContainerDetail:remove") |
75 | 75 | @Log(title = "入库-入库详情列表", operating = "入库详情列表", action = BusinessType.GRANT) |
76 | 76 | @PostMapping("remove") |
77 | + @ResponseBody | |
77 | 78 | public AjaxResult remove(String ids) { |
78 | 79 | if (StringUtils.isEmpty(ids)){ |
79 | 80 | return AjaxResult.error("id不能为空"); |
... | ... |
src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/domain/ReceiptContainerDetail.java
... | ... | @@ -65,6 +65,13 @@ public class ReceiptContainerDetail implements Serializable { |
65 | 65 | private String receiptType; |
66 | 66 | |
67 | 67 | /** |
68 | + * 库位编码 | |
69 | + */ | |
70 | + @TableField(value = "locationCode") | |
71 | + @ApiModelProperty(value="库位编码") | |
72 | + private String locationCode; | |
73 | + | |
74 | + /** | |
68 | 75 | * 货箱号 |
69 | 76 | */ |
70 | 77 | @TableField(value = "containerCode") |
... | ... |
src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/service/ReceiptContainerDetailServiceImpl.java
... | ... | @@ -8,11 +8,14 @@ import com.huaheng.common.utils.security.ShiroUtils; |
8 | 8 | import com.huaheng.framework.web.domain.AjaxResult; |
9 | 9 | import com.huaheng.pc.receipt.receiptContainerDetail.domain.ReceiptContainerDetail; |
10 | 10 | import com.huaheng.pc.receipt.receiptContainerDetail.mapper.ReceiptContainerDetailMapper; |
11 | +import com.huaheng.pc.receipt.receiptContainerHeader.domain.ReceiptContainerHeader; | |
12 | +import com.huaheng.pc.receipt.receiptContainerHeader.service.ReceiptContainerHeaderService; | |
11 | 13 | import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail; |
12 | 14 | import com.huaheng.pc.receipt.receiptDetail.service.ReceiptDetailService; |
13 | 15 | import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader; |
14 | 16 | import com.huaheng.pc.receipt.receiptHeader.service.ReceiptHeaderService; |
15 | 17 | import org.springframework.stereotype.Service; |
18 | +import org.springframework.web.bind.annotation.ResponseBody; | |
16 | 19 | |
17 | 20 | import javax.annotation.Resource; |
18 | 21 | import java.util.List; |
... | ... | @@ -24,6 +27,8 @@ public class ReceiptContainerDetailServiceImpl extends ServiceImpl<ReceiptContai |
24 | 27 | private ReceiptDetailService receiptDetailService; |
25 | 28 | @Resource |
26 | 29 | private ReceiptHeaderService receiptHeaderService; |
30 | + @Resource | |
31 | + private ReceiptContainerHeaderService receiptContainerHeaderService; | |
27 | 32 | /** |
28 | 33 | * 根据入库单编码查询入库组盘明细 |
29 | 34 | * @param receiptCode 入库单编码 |
... | ... | @@ -53,8 +58,18 @@ public class ReceiptContainerDetailServiceImpl extends ServiceImpl<ReceiptContai |
53 | 58 | //回滚入库单明细收货数量 |
54 | 59 | ReceiptDetail receiptDetail = receiptDetailService.getById(receiptContainerDetail.getReceiptDetailId()); |
55 | 60 | receiptDetail.setOpenQty(receiptDetail.getOpenQty() - receiptContainerDetail.getQty()); |
56 | - if (!receiptDetailService.updateById(receiptDetail)){throw new SecurityException("回滚入库单明细失败");} | |
57 | 61 | |
62 | + if (!receiptDetailService.updateById(receiptDetail)){throw new SecurityException("回滚入库单明细失败");} | |
63 | + //删除组盘明细 | |
64 | + if (!this.removeById(id)){ throw new ServiceException("回滚入库组盘失败");} | |
65 | + LambdaQueryWrapper<ReceiptContainerDetail> lambdaQueryWrapper = Wrappers.lambdaQuery(); | |
66 | + lambdaQueryWrapper.eq(ReceiptContainerDetail::getReceiptContainerId, receiptContainerDetail.getReceiptContainerId()); | |
67 | + List<ReceiptContainerDetail> list = this.list(lambdaQueryWrapper); | |
68 | + if (list.size() == 0){ | |
69 | + if (!receiptContainerHeaderService.removeById(receiptContainerDetail.getReceiptContainerId())){ | |
70 | + throw new ServiceException("删除入库组盘头失败"); | |
71 | + } | |
72 | + } | |
58 | 73 | //查询入库头表 |
59 | 74 | LambdaQueryWrapper<ReceiptContainerDetail> containerDetailLambda = Wrappers.lambdaQuery(); |
60 | 75 | containerDetailLambda.eq(ReceiptContainerDetail::getReceiptId, receiptContainerDetail.getReceiptId()); |
... | ... |
src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/controller/ReceiptContainerHeaderController.java
... | ... | @@ -158,6 +158,28 @@ public class ReceiptContainerHeaderController extends BaseController { |
158 | 158 | for (ReceiptContainerDetail receiptContainerDetail : receiptContainerDetails) |
159 | 159 | receivingService.position(receiptContainerDetail); |
160 | 160 | } |
161 | - return AjaxResult.success(""); | |
161 | + return AjaxResult.success("定位成功"); | |
162 | + } | |
163 | + | |
164 | + /** | |
165 | + * 取消定位 | |
166 | + */ | |
167 | + @RequiresPermissions("receipt:receiptContainer:canalPosition") | |
168 | + @Log(title = "入库-取消定位", operating = "取消定位", action = BusinessType.OTHER) | |
169 | + @PostMapping( "/cancelPosition") | |
170 | + @ResponseBody | |
171 | + public AjaxResult cancelPosition(String ids){ | |
172 | + if (StringUtils.isEmpty(ids)){ | |
173 | + return AjaxResult.error("id不能为空"); | |
174 | + } | |
175 | + List<Integer> idList = Arrays.asList(Convert.toIntArray(ids)); | |
176 | + for (int i = 0; i<idList.size(); i++){ | |
177 | + LambdaQueryWrapper<ReceiptContainerDetail> lambda = Wrappers.lambdaQuery(); | |
178 | + lambda.eq(ReceiptContainerDetail::getReceiptContainerId, idList.get(i)); | |
179 | + List<ReceiptContainerDetail> receiptContainerDetails = receiptContainerDetailService.list(lambda); | |
180 | + for (ReceiptContainerDetail receiptContainerDetail : receiptContainerDetails) | |
181 | + receivingService.cancelPosition(receiptContainerDetail); | |
182 | + } | |
183 | + return AjaxResult.success("取消定位成功"); | |
162 | 184 | } |
163 | 185 | } |
... | ... |
src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java
... | ... | @@ -113,7 +113,7 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai |
113 | 113 | |
114 | 114 | receiptDetail = receiptDetailService.getById(receiptDetailId); |
115 | 115 | |
116 | - receiptContainerDetailAdd(receiptContainerHeaders.get(0).getId(), receiptDetail, qty, containerCode); | |
116 | + receiptContainerDetailAdd(receiptContainerHeaders.get(0).getId(), receiptDetail, qty, containerCode, locationCode); | |
117 | 117 | //如果单据数量等于已收数量,更新入库详情状态和入库单状态 |
118 | 118 | if (receiptDetail.getTotalQty() == receiptDetail.getOpenQty()){ |
119 | 119 | ReceiptDetail receiptDetail1 = receiptDetailService.queryflow(receiptDetail); |
... | ... | @@ -285,7 +285,7 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai |
285 | 285 | * @param containerCode 容器编码 |
286 | 286 | */ |
287 | 287 | @Transactional |
288 | - public void receiptContainerDetailAdd(Integer receiptContainerHeaderId, ReceiptDetail receiptDetail, Integer qty, String containerCode){ | |
288 | + public void receiptContainerDetailAdd(Integer receiptContainerHeaderId, ReceiptDetail receiptDetail, Integer qty, String containerCode, String locationCode){ | |
289 | 289 | LambdaQueryWrapper<ReceiptContainerDetail> lambda = Wrappers.lambdaQuery(); |
290 | 290 | lambda.eq(ReceiptContainerDetail::getReceiptContainerId, receiptContainerHeaderId) |
291 | 291 | .eq(ReceiptContainerDetail::getReceiptId, receiptDetail.getReceiptId()) |
... | ... | @@ -312,6 +312,7 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai |
312 | 312 | receiptContainerDetail.setReceiptDetailId(receiptDetail.getId()); |
313 | 313 | receiptContainerDetail.setReceiptCode(receiptDetail.getReceiptCode()); |
314 | 314 | receiptContainerDetail.setReceiptType(receiptHeader.getReceiptType()); |
315 | + receiptContainerDetail.setLocationCode(locationCode); | |
315 | 316 | receiptContainerDetail.setContainerCode(container.getCode()); |
316 | 317 | receiptContainerDetail.setContainerType(container.getContainerType()); |
317 | 318 | receiptContainerDetail.setCompanyCode(receiptDetail.getCompanyCode()); |
... | ... |
src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java
... | ... | @@ -253,7 +253,7 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R |
253 | 253 | } |
254 | 254 | } |
255 | 255 | |
256 | - //从数据子典中获取单据当前状态 | |
256 | + //从数据字典中获取单据当前状态 | |
257 | 257 | List<DictData> dictData = dictDataService.selectDictDataByType("receiptHeaderStatus"); |
258 | 258 | for (int i = 0; i<dictData.size(); i++){ |
259 | 259 | if (dictData.get(i).getDictValue().equals(minStatus)){ |
... | ... |
src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java
... | ... | @@ -281,7 +281,10 @@ public class ReceiptHeaderController extends BaseController { |
281 | 281 | @Log(title = "入库-入库单 ",operating = "查询入库单 ", action = BusinessType.OTHER) |
282 | 282 | @PostMapping("/getReceiptHeader") |
283 | 283 | @ResponseBody |
284 | - public AjaxResult<ReceiptHeader> getReceiptHeader(int id) { | |
284 | + public AjaxResult<ReceiptHeader> getReceiptHeader(String id) { | |
285 | + if (StringUtils.isEmpty(id)){ | |
286 | + return AjaxResult.success(""); | |
287 | + } | |
285 | 288 | return AjaxResult.success(receiptHeaderService.getById(id)); |
286 | 289 | } |
287 | 290 | } |
... | ... |
src/main/java/com/huaheng/pc/receipt/receiving/controller/ReceivingController.java
... | ... | @@ -41,8 +41,6 @@ public class ReceivingController extends BaseController { |
41 | 41 | @Resource |
42 | 42 | private ReceiptContainerDetailService receiptContainerDetailService; |
43 | 43 | @Resource |
44 | - private TaskHeaderService taskHeaderService; | |
45 | - @Resource | |
46 | 44 | private ReceiptContainerHeaderService receiptContainerHeaderService; |
47 | 45 | |
48 | 46 | @RequiresPermissions("receipt:receiving:view") |
... | ... |
src/main/java/com/huaheng/pc/receipt/receiving/service/ReceivingService.java
... | ... | @@ -19,10 +19,12 @@ import com.huaheng.pc.config.materialType.domain.MaterialType; |
19 | 19 | import com.huaheng.pc.config.materialType.service.MaterialTypeService; |
20 | 20 | import com.huaheng.pc.config.receiptPreference.service.ReceiptPreferenceService; |
21 | 21 | import com.huaheng.pc.receipt.receiptContainerDetail.domain.ReceiptContainerDetail; |
22 | +import com.huaheng.pc.receipt.receiptContainerDetail.service.ReceiptContainerDetailService; | |
22 | 23 | import com.huaheng.pc.receipt.receiptContainerHeader.domain.ReceiptContainerHeader; |
23 | 24 | import com.huaheng.pc.receipt.receiptContainerHeader.service.ReceiptContainerHeaderService; |
24 | 25 | import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail; |
25 | 26 | import com.huaheng.pc.receipt.receiptDetail.service.ReceiptDetailService; |
27 | +import org.aspectj.weaver.loadtime.Aj; | |
26 | 28 | import org.springframework.stereotype.Service; |
27 | 29 | import org.springframework.transaction.annotation.Transactional; |
28 | 30 | |
... | ... | @@ -44,6 +46,8 @@ public class ReceivingService { |
44 | 46 | @Resource |
45 | 47 | private ReceiptContainerHeaderService receiptContainerHeaderService; |
46 | 48 | @Resource |
49 | + private ReceiptContainerDetailService receiptContainerDetailService; | |
50 | + @Resource | |
47 | 51 | private LocationService locationService; |
48 | 52 | @Resource |
49 | 53 | private MaterialService materialService; |
... | ... | @@ -79,9 +83,11 @@ public class ReceivingService { |
79 | 83 | @Transactional |
80 | 84 | public Boolean position(ReceiptContainerDetail receiptContainerDetail){ |
81 | 85 | ReceiptContainerHeader receiptContainerHeader = receiptContainerHeaderService.getById(receiptContainerDetail.getReceiptContainerId()); |
82 | - | |
86 | + if (!(0 ==receiptContainerHeader.getStatus())){ | |
87 | + throw new ServiceException("该入库组盘已生成任务不能重新定位"); | |
88 | + } | |
83 | 89 | //如果入库组盘表中有目标库位说明已经指定 |
84 | - if (StringUtils.isNotEmpty(receiptContainerHeader.getToLocation())){return true;} | |
90 | + if (StringUtils.isNotEmpty(receiptContainerHeader.getToLocation())){throw new ServiceException("该入库组盘已有库位,不需要定位;如需定位请先取消定位");} | |
85 | 91 | String locatingRule = receiptContainerHeader.getLocatingRule(); //定位规则 |
86 | 92 | if (StringUtils.isNotEmpty(locatingRule)){ |
87 | 93 | //入库组盘头表中定位规则不为空时执行 |
... | ... | @@ -132,12 +138,21 @@ public class ReceivingService { |
132 | 138 | throw new ServiceException("定位失败,请检查定位规则是否正确"); |
133 | 139 | } |
134 | 140 | |
141 | + //更新库位编码到组盘头表 | |
135 | 142 | receiptContainerHeader.setToLocation(locationCode); |
136 | - | |
137 | 143 | if (!receiptContainerHeaderService.updateById(receiptContainerHeader)){ |
138 | 144 | throw new ServiceException("更新库位失败"); |
139 | 145 | } |
140 | 146 | |
147 | + //把库位编码赋到该入库组盘头表下的所有明细 | |
148 | + LambdaQueryWrapper<ReceiptContainerDetail> lambda = Wrappers.lambdaQuery(); | |
149 | + lambda.eq(ReceiptContainerDetail::getReceiptContainerId, receiptContainerHeader.getId()); | |
150 | + List<ReceiptContainerDetail> receiptContainerDetails = receiptContainerDetailService.list(lambda); | |
151 | + for (ReceiptContainerDetail receiptContainerDetail2: receiptContainerDetails) { | |
152 | + receiptContainerDetail2.setLocationCode(locationCode); | |
153 | + if (!receiptContainerDetailService.updateById(receiptContainerDetail2)){throw new ServiceException("更新库位编码到入库组盘明细");} | |
154 | + } | |
155 | + | |
141 | 156 | ReceiptDetail receiptDetail = receiptDetailService.queryflow(receiptDetailService.getById(receiptContainerDetail.getReceiptDetailId())); |
142 | 157 | //更新入库单详情状态 |
143 | 158 | if (!receiptDetailService.updateById(receiptDetail)){ throw new ServiceException("更新入库单详情失败");} |
... | ... | @@ -146,4 +161,44 @@ public class ReceivingService { |
146 | 161 | |
147 | 162 | return true; |
148 | 163 | } |
164 | + | |
165 | + /** | |
166 | + * 取消定位 | |
167 | + * @param receiptContainerDetail 入库组盘明细 | |
168 | + * @return | |
169 | + */ | |
170 | + @Transactional | |
171 | + public AjaxResult cancelPosition(ReceiptContainerDetail receiptContainerDetail){ | |
172 | + //查询入库组盘头 | |
173 | + ReceiptContainerHeader receiptContainerHeader = receiptContainerHeaderService.getById(receiptContainerDetail.getReceiptContainerId()); | |
174 | + if (!(receiptContainerHeader.getStatus() == 0)){ | |
175 | + throw new ServiceException("组盘已生成任务不能取消定位"); | |
176 | + } | |
177 | + //将入库组盘头表中的而库位编码赋值null | |
178 | + receiptContainerHeader.setToLocation(null); | |
179 | + if (!receiptContainerHeaderService.updateById(receiptContainerHeader)){ | |
180 | + throw new ServiceException("回滚入库组盘头失败"); | |
181 | + } | |
182 | + | |
183 | + LambdaQueryWrapper<ReceiptContainerDetail> lambdaQueryWrapper = Wrappers.lambdaQuery(); | |
184 | + lambdaQueryWrapper.eq(ReceiptContainerDetail::getReceiptContainerId, receiptContainerDetail.getReceiptContainerId()); | |
185 | + List<ReceiptContainerDetail> receiptContainerDetailList = receiptContainerDetailService.list(lambdaQueryWrapper); | |
186 | + for (ReceiptContainerDetail receiptContainerDetail2 : receiptContainerDetailList) { | |
187 | + receiptContainerDetail2.setLocationCode(null); | |
188 | + if (!receiptContainerDetailService.updateById(receiptContainerDetail2)){ | |
189 | + throw new ServiceException("回滚入库组盘明细失败"); | |
190 | + } | |
191 | + } | |
192 | + | |
193 | + //回滚入库明细状态 | |
194 | + ReceiptDetail receiptDetail = receiptDetailService.getById(receiptContainerDetail.getReceiptDetailId()); | |
195 | + receiptDetail.setProcessStamp("240"); | |
196 | + if ( !receiptDetailService.updateById(receiptDetail)){ | |
197 | + throw new ServiceException("回滚入库明细状态失败"); | |
198 | + } | |
199 | + | |
200 | + receiptDetailService.updateReceiptHeaderLastStatus(receiptDetail.getReceiptId()); | |
201 | + | |
202 | + return AjaxResult.success("取消定位成功"); | |
203 | + } | |
149 | 204 | } |
... | ... |
src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java
... | ... | @@ -502,6 +502,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
502 | 502 | detail.setMaterialCode(DataUtils.getString(map.get("materialCode")));//物料号 |
503 | 503 | detail.setMaterialName(DataUtils.getString(map.get("materialName")));//物料名称 |
504 | 504 | detail.setMaterialSpec(DataUtils.getString(map.get("materialSpec")));//物料规格 |
505 | + detail.setMaterialUnit(DataUtils.getString(map.get("materialUnit")));//物料单位 | |
505 | 506 | detail.setReceiptCode(DataUtils.getString(map.get("receiptCode")));//入库单编码 |
506 | 507 | detail.setReceiptDetailId(DataUtils.getInteger(map.get("receiptDetailId")));//入库单明细ID |
507 | 508 | detail.setBatch(DataUtils.getString(map.get("batch")));//批次 |
... | ... | @@ -534,6 +535,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
534 | 535 | inventoryTransaction.setContainerCode(DataUtils.getString(map.get("containerCode"))); |
535 | 536 | inventoryTransaction.setMaterialCode(DataUtils.getString(map.get("materialCode"))); |
536 | 537 | inventoryTransaction.setMaterialName(DataUtils.getString(map.get("materialName"))); |
538 | + inventoryTransaction.setMaterialSpec(DataUtils.getString(map.get("materialSpec")));//物料规格 | |
539 | + inventoryTransaction.setMaterialUnit(DataUtils.getString(map.get("materialUnit")));//物料单位 | |
537 | 540 | inventoryTransaction.setBillCode(DataUtils.getString(map.get("receiptCode"))); |
538 | 541 | inventoryTransaction.setBillDetailId(DataUtils.getInteger(map.get("receiptDetailId"))); |
539 | 542 | inventoryTransaction.setBatch(DataUtils.getString(map.get("batch"))); |
... | ... | @@ -541,7 +544,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
541 | 544 | // inventoryTransaction.setManufactureDate(new SimpleDateFormat("yyyy-MM-dd").parse(map.get("manufactureDate").toString()));//生产日期 |
542 | 545 | // inventoryTransaction.setExpirationDate(DataUtils.getDateTime(map.get("expirationDate"))); |
543 | 546 | inventoryTransaction.setInventorySts(DataUtils.getString((map.get("inventorySts")))); |
544 | - inventoryTransaction.setTaskQty(DataUtils.getInteger(map.get("qty"))); | |
547 | + inventoryTransaction.setTaskQty(0); | |
545 | 548 | inventoryTransaction.setCreated(new Date()); |
546 | 549 | inventoryTransaction.setCreatedBy(ShiroUtils.getLoginName()); |
547 | 550 | if (!inventoryTransactionService.save(inventoryTransaction)) |
... | ... | @@ -1293,8 +1296,6 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1293 | 1296 | shipmentContainerHeaderLambdaUpdateWrapper.eq(ShipmentContainerHeader::getId,task.getAllocationHeadId()); |
1294 | 1297 | if (! shipmentContainerHeaderService.update(shipmentContainerHeader, shipmentContainerHeaderLambdaUpdateWrapper)) |
1295 | 1298 | throw new ServiceException("更新组盘头状态失败"); |
1296 | - | |
1297 | - | |
1298 | 1299 | //修改出库单状态 |
1299 | 1300 | LambdaQueryWrapper<TaskDetail> taskDetailLambdaQueryWrapper = Wrappers.lambdaQuery(); |
1300 | 1301 | taskDetailLambdaQueryWrapper.eq(TaskDetail::getTaskId,task.getId()); |
... | ... |
src/main/resources/mybatis/receipt/ReceiptContainerDetailMapper.xml
... | ... | @@ -8,6 +8,7 @@ |
8 | 8 | <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" /> |
9 | 9 | <result column="receiptId" jdbcType="INTEGER" property="receiptId" /> |
10 | 10 | <result column="receiptDetailId" jdbcType="INTEGER" property="receiptDetailId" /> |
11 | + <result column="locationCode" jdbcType="VARCHAR" property="locationCode" /> | |
11 | 12 | <result column="receiptCode" jdbcType="VARCHAR" property="receiptCode" /> |
12 | 13 | <result column="receiptType" jdbcType="VARCHAR" property="receiptType" /> |
13 | 14 | <result column="containerCode" jdbcType="VARCHAR" property="containerCode" /> |
... | ... | @@ -53,7 +54,7 @@ |
53 | 54 | </resultMap> |
54 | 55 | <sql id="Base_Column_List"> |
55 | 56 | <!--@mbg.generated--> |
56 | - id, receiptContainerId, warehouseCode, receiptId, receiptDetailId, receiptCode, receiptType, | |
57 | + id, receiptContainerId, warehouseCode, receiptId, receiptDetailId,locationCode , receiptCode, receiptType, | |
57 | 58 | containerCode, containerType, companyCode, materialCode, materialName, materialSpec, |
58 | 59 | materialUnit, qty, `status`, attributeId, attribute1, attribute2, attribute3, attribute4, |
59 | 60 | supplierCode, batch, lot, projectNo, weight, manufactureDate, expirationDate, agingDate, |
... | ... |
src/main/resources/static/huaheng/js/common.js
... | ... | @@ -21,8 +21,10 @@ $(function(){ |
21 | 21 | if ($(".time").length > 0) { |
22 | 22 | layui.use('laydate', function() { |
23 | 23 | var laydate = layui.laydate; |
24 | - laydate.render({ elem: '#startTime', theme: 'molv' }); | |
25 | - laydate.render({ elem: '#endTime', theme: 'molv' }); | |
24 | + var day1 = new Date(); | |
25 | + day1.setTime(day1.getTime()-24*60*60*1000*7); | |
26 | + laydate.render({ elem: '#startTime', theme: 'molv',value: new Date(day1), isInitValue: true}); | |
27 | + laydate.render({ elem: '#endTime', theme: 'molv',value: new Date(), isInitValue: true }); | |
26 | 28 | }); |
27 | 29 | } |
28 | 30 | }); |
... | ... |
src/main/resources/templates/check/checkHeader/checkHeader.html
... | ... | @@ -32,9 +32,9 @@ |
32 | 32 | </li> |
33 | 33 | <li class="time"> |
34 | 34 | <label>创建时间: </label> |
35 | - <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[createdBegin]"/> | |
35 | + <input type="text" class="time-input" id="startCreatedTime" placeholder="开始时间" name="params[createdBegin]"/> | |
36 | 36 | <span>-</span> |
37 | - <input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[createdEnd]"/> | |
37 | + <input type="text" class="time-input" id="endCreatedTime" placeholder="结束时间" name="params[createdEnd]"/> | |
38 | 38 | </li> |
39 | 39 | <li> |
40 | 40 | <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> |
... | ... | @@ -103,8 +103,8 @@ |
103 | 103 | </div> |
104 | 104 | |
105 | 105 | <div class="btn-group hidden-xs" id="toolbarReg" role="group"> |
106 | - <a class="btn btn-outline btn-danger btn-rounded" onclick="complete()" shiro:hasPermission="check:checkingRegister:remove"> | |
107 | - <i class="fa fa-trash-o"></i> 质检完成 | |
106 | + <a class="btn btn-outline btn-success btn-rounded" onclick="complete()" shiro:hasPermission="check:checkingRegister:remove"> | |
107 | + <i class="fa fa-check-circle-o"></i> 质检完成 | |
108 | 108 | </a> |
109 | 109 | <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="check:checkingRegister:remove"> |
110 | 110 | <i class="fa fa-trash-o"></i> 删除 |
... | ... | @@ -259,7 +259,6 @@ |
259 | 259 | |
260 | 260 | //质检明细表格初始化 |
261 | 261 | $("#bootstrap-table1").bootstrapTable({ |
262 | - url: prefix + "/list", | |
263 | 262 | createUrl: prefix1 + "/add", |
264 | 263 | updateUrl: prefix1 + "/edit/{id}", |
265 | 264 | removeUrl: prefix1 + "/remove", |
... | ... | @@ -269,7 +268,6 @@ |
269 | 268 | sortOrder: "desc", |
270 | 269 | iconSize: "outline", |
271 | 270 | toolbar: "#toolbar1", |
272 | - contentType: "application/x-www-form-urlencoded", | |
273 | 271 | pagination: true, // 是否显示分页(*) |
274 | 272 | pageNumber: 1, // 初始化加载第一页,默认第一页 |
275 | 273 | pageSize: 50, // 每页的记录行数(*) |
... | ... | @@ -282,11 +280,13 @@ |
282 | 280 | }, |
283 | 281 | { |
284 | 282 | field : 'id', |
285 | - title : 'id' | |
283 | + title : 'id', | |
284 | + visible: false | |
286 | 285 | }, |
287 | 286 | { |
288 | 287 | field : 'checkHeaderId', |
289 | - title : '质检头id' | |
288 | + title : '质检头id', | |
289 | + visible : false | |
290 | 290 | }, |
291 | 291 | { |
292 | 292 | field : 'warehouseCode', |
... | ... | @@ -299,7 +299,8 @@ |
299 | 299 | }, |
300 | 300 | { |
301 | 301 | field : 'inventoryDetailId', |
302 | - title : '库存明细标识' | |
302 | + title : '库存明细标识', | |
303 | + visible : false | |
303 | 304 | }, |
304 | 305 | { |
305 | 306 | field : 'locationCode', |
... | ... | @@ -311,7 +312,8 @@ |
311 | 312 | }, |
312 | 313 | { |
313 | 314 | field : 'receiptDetailId', |
314 | - title : '入库单明细标识' | |
315 | + title : '入库单明细标识', | |
316 | + visible : false | |
315 | 317 | }, |
316 | 318 | { |
317 | 319 | field : 'receiptCode', |
... | ... | @@ -402,7 +404,6 @@ |
402 | 404 | }); |
403 | 405 | //质检登记表格初始化 |
404 | 406 | $("#bootstrap-table2").bootstrapTable({ |
405 | - contentType: "application/x-www-form-urlencoded", | |
406 | 407 | editable: true, |
407 | 408 | clickEdit: true, |
408 | 409 | clickToSelect: true, |
... | ... | @@ -586,6 +587,7 @@ |
586 | 587 | }); |
587 | 588 | } |
588 | 589 | }); |
590 | + | |
589 | 591 | /* 质检单列表-详细 */ |
590 | 592 | function detail(id, code) { |
591 | 593 | checkId = id; |
... | ... | @@ -647,8 +649,23 @@ |
647 | 649 | |
648 | 650 | function complete() { |
649 | 651 | var url = prefix1+"/complete"; |
652 | + var data = {id: checkDetailId}; | |
650 | 653 | $.operate.submit(url, "post", "json", data); |
651 | 654 | } |
655 | + | |
656 | + layui.use('laydate', function(){ | |
657 | + var laydate = layui.laydate; | |
658 | + var day1 = new Date(); | |
659 | + day1.setTime(day1.getTime()-24*60*60*1000*7); | |
660 | + //执行一个laydate实例 | |
661 | + laydate.render({ | |
662 | + elem: '#startCreatedTime' //指定元素 | |
663 | + ,theme: 'molv',value: new Date(day1), isInitValue: true | |
664 | + }); | |
665 | + laydate.render({ | |
666 | + elem: '#endCreatedTime', theme: 'molv',value: new Date(), isInitValue: true | |
667 | + }) | |
668 | + }); | |
652 | 669 | </script> |
653 | 670 | </body> |
654 | 671 | </html> |
655 | 672 | \ No newline at end of file |
... | ... |
src/main/resources/templates/config/alarmLevel/alarmLevel.html
... | ... | @@ -17,6 +17,7 @@ |
17 | 17 | </li> |
18 | 18 | <li> |
19 | 19 | <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> |
20 | + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('alarmLevel-form')"><i class="fa fa-refresh"></i> 重置</a> | |
20 | 21 | </li> |
21 | 22 | </ul> |
22 | 23 | </div> |
... | ... |
src/main/resources/templates/config/bomHeader/bomHeader.html
... | ... | @@ -34,6 +34,7 @@ |
34 | 34 | <li> |
35 | 35 | <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i |
36 | 36 | class="fa fa-search"></i> 搜索</a> |
37 | + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('alarmFlow-form')"><i class="fa fa-refresh"></i> 重置</a> | |
37 | 38 | <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i> 导出</a>--> |
38 | 39 | </li> |
39 | 40 | </ul> |
... | ... |
src/main/resources/templates/config/carrier/carrier.html
... | ... | @@ -23,6 +23,7 @@ |
23 | 23 | </li> |
24 | 24 | <li> |
25 | 25 | <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> |
26 | + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('company-form')"><i class="fa fa-refresh"></i> 重置</a> | |
26 | 27 | </li> |
27 | 28 | </ul> |
28 | 29 | </div> |
... | ... |
src/main/resources/templates/config/company/company.html
... | ... | @@ -23,6 +23,7 @@ |
23 | 23 | </li> |
24 | 24 | <li> |
25 | 25 | <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> |
26 | + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('company-form')"><i class="fa fa-refresh"></i> 重置</a> | |
26 | 27 | <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="config:company:export"><i class="fa fa-download"></i> 导出</a>--> |
27 | 28 | </li> |
28 | 29 | </ul> |
... | ... |
src/main/resources/templates/config/configValue/configValue.html
... | ... | @@ -23,6 +23,7 @@ |
23 | 23 | </li> |
24 | 24 | <li> |
25 | 25 | <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> |
26 | + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('company-form')"><i class="fa fa-refresh"></i> 重置</a> | |
26 | 27 | <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="config:company:export"><i class="fa fa-download"></i> 导出</a>--> |
27 | 28 | </li> |
28 | 29 | </ul> |
... | ... |
src/main/resources/templates/config/container/container.html
... | ... | @@ -35,6 +35,7 @@ |
35 | 35 | </li> |
36 | 36 | <li> |
37 | 37 | <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> |
38 | + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('container-form')"><i class="fa fa-refresh"></i> 重置</a> | |
38 | 39 | <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="config:container:export"><i class="fa fa-download"></i> 导出</a>--> |
39 | 40 | </li> |
40 | 41 | </ul> |
... | ... |
src/main/resources/templates/config/containerCapacity/containerCapacity.html
... | ... | @@ -32,6 +32,7 @@ |
32 | 32 | </li> |
33 | 33 | <li> |
34 | 34 | <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> |
35 | + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('containerCapacity-form')"><i class="fa fa-refresh"></i> 重置</a> | |
35 | 36 | <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i> 导出</a>--> |
36 | 37 | </li> |
37 | 38 | </ul> |
... | ... |
src/main/resources/templates/config/containerType/containerType.html
... | ... | @@ -29,6 +29,7 @@ |
29 | 29 | </li> |
30 | 30 | <li> |
31 | 31 | <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> |
32 | + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('containerType-form')"><i class="fa fa-refresh"></i> 重置</a> | |
32 | 33 | <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i> 导出</a>--> |
33 | 34 | </li> |
34 | 35 | </ul> |
... | ... |
src/main/resources/templates/config/customer/customer.html
... | ... | @@ -6,7 +6,7 @@ |
6 | 6 | <div class="container-div"> |
7 | 7 | <div class="row"> |
8 | 8 | <div class="col-sm-12 select-info"> |
9 | - <form id="material-form"> | |
9 | + <form id="customer-form"> | |
10 | 10 | <div class="select-list"> |
11 | 11 | <ul> |
12 | 12 | <li> |
... | ... | @@ -23,6 +23,7 @@ |
23 | 23 | </li> |
24 | 24 | <li> |
25 | 25 | <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> |
26 | + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('customer-form')"><i class="fa fa-refresh"></i> 重置</a> | |
26 | 27 | <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="config:customer:export"><i class="fa fa-download"></i> 导出</a>--> |
27 | 28 | </li> |
28 | 29 | </ul> |
... | ... |
src/main/resources/templates/config/cycleCountPreference/cycleCountPreference.html
... | ... | @@ -35,6 +35,7 @@ |
35 | 35 | </li> |
36 | 36 | <li> |
37 | 37 | <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> |
38 | + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('cycleCountPreference-form')"><i class="fa fa-refresh"></i> 重置</a> | |
38 | 39 | <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i> 导出</a>--> |
39 | 40 | </li> |
40 | 41 | </ul> |
... | ... |
src/main/resources/templates/config/excelTemplate/excelTemplate.html
... | ... | @@ -6,7 +6,7 @@ |
6 | 6 | <div class="container-div"> |
7 | 7 | <div class="row"> |
8 | 8 | <div class="col-sm-12 select-info"> |
9 | - <form id="locationType-form"> | |
9 | + <form id="execlTemplate-form"> | |
10 | 10 | <div class="select-list"> |
11 | 11 | <ul> |
12 | 12 | <li> |
... | ... | @@ -20,6 +20,7 @@ |
20 | 20 | </li> |
21 | 21 | <li> |
22 | 22 | <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> |
23 | + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('execlTemplate-form')"><i class="fa fa-refresh"></i> 重置</a> | |
23 | 24 | <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i> 导出</a>--> |
24 | 25 | </li> |
25 | 26 | </ul> |
... | ... |
src/main/resources/templates/config/filterConfigHeader/filterConfigHeader.html
... | ... | @@ -37,6 +37,7 @@ |
37 | 37 | <li> |
38 | 38 | <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i |
39 | 39 | class="fa fa-search"></i> 搜索</a> |
40 | + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('filterConfigHeader-form')"><i class="fa fa-refresh"></i> 重置</a> | |
40 | 41 | </li> |
41 | 42 | </ul> |
42 | 43 | </div> |
... | ... |
src/main/resources/templates/config/location/location.html
... | ... | @@ -56,6 +56,7 @@ |
56 | 56 | </li> |
57 | 57 | <li> |
58 | 58 | <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> |
59 | + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('location-form')"><i class="fa fa-refresh"></i> 重置</a> | |
59 | 60 | <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="config:location:export"><i class="fa fa-download"></i> 导出</a>--> |
60 | 61 | </li> |
61 | 62 | </ul> |
... | ... |
src/main/resources/templates/config/locationType/locationType.html
... | ... | @@ -29,6 +29,7 @@ |
29 | 29 | </li> |
30 | 30 | <li> |
31 | 31 | <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> |
32 | + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('alarmLevel-form')"><i class="fa fa-refresh"></i> 重置</a> | |
32 | 33 | <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i> 导出</a>--> |
33 | 34 | </li> |
34 | 35 | </ul> |
... | ... |
src/main/resources/templates/config/material/material.html
... | ... | @@ -35,6 +35,7 @@ |
35 | 35 | </li> |
36 | 36 | <li> |
37 | 37 | <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> |
38 | + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('material-form')"><i class="fa fa-refresh"></i> 重置</a> | |
38 | 39 | <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="config:material:export"><i class="fa fa-download"></i> 导出</a>--> |
39 | 40 | </li> |
40 | 41 | </ul> |
... | ... |
src/main/resources/templates/config/materialMultiple/materialMultiple.html
... | ... | @@ -5,7 +5,7 @@ |
5 | 5 | <div class="container-div"> |
6 | 6 | <div class="row"> |
7 | 7 | <div class="col-sm-12 select-info"> |
8 | - <form id="locationType-form"> | |
8 | + <form id="materialMultiple-form"> | |
9 | 9 | <div class="select-list"> |
10 | 10 | <ul> |
11 | 11 | <li> |
... | ... | @@ -22,6 +22,7 @@ |
22 | 22 | </li> |
23 | 23 | <li> |
24 | 24 | <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> |
25 | + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('materialMultiple-form')"><i class="fa fa-refresh"></i> 重置</a> | |
25 | 26 | <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i> 导出</a>--> |
26 | 27 | </li> |
27 | 28 | </ul> |
... | ... |
src/main/resources/templates/config/materialType/materialType.html
... | ... | @@ -6,7 +6,7 @@ |
6 | 6 | <div class="container-div"> |
7 | 7 | <div class="row"> |
8 | 8 | <div class="col-sm-12 select-info"> |
9 | - <form id="locationType-form"> | |
9 | + <form id="materialType-form"> | |
10 | 10 | <div class="select-list"> |
11 | 11 | <ul> |
12 | 12 | <li> |
... | ... | @@ -23,6 +23,7 @@ |
23 | 23 | </li> |
24 | 24 | <li> |
25 | 25 | <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> |
26 | + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('materialType-form')"><i class="fa fa-refresh"></i> 重置</a> | |
26 | 27 | <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i> 导出</a>--> |
27 | 28 | </li> |
28 | 29 | </ul> |
... | ... |
src/main/resources/templates/config/materialUnit/materialUnit.html
... | ... | @@ -6,7 +6,7 @@ |
6 | 6 | <div class="container-div"> |
7 | 7 | <div class="row"> |
8 | 8 | <div class="col-sm-12 select-info"> |
9 | - <form id="locationType-form"> | |
9 | + <form id="materialUnit-form"> | |
10 | 10 | <div class="select-list"> |
11 | 11 | <ul> |
12 | 12 | <li> |
... | ... | @@ -27,6 +27,7 @@ |
27 | 27 | </li> |
28 | 28 | <li> |
29 | 29 | <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> |
30 | + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('materialUnit-form')"><i class="fa fa-refresh"></i> 重置</a> | |
30 | 31 | <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i> 导出</a>--> |
31 | 32 | </li> |
32 | 33 | </ul> |
... | ... |
src/main/resources/templates/config/receiptPreference/receiptPreference.html
... | ... | @@ -6,7 +6,7 @@ |
6 | 6 | <div class="container-div"> |
7 | 7 | <div class="row"> |
8 | 8 | <div class="col-sm-12 select-info"> |
9 | - <form id="locationType-form"> | |
9 | + <form id="receiptPreference-form"> | |
10 | 10 | <div class="select-list"> |
11 | 11 | <ul> |
12 | 12 | <li> |
... | ... | @@ -29,6 +29,7 @@ |
29 | 29 | </li> |
30 | 30 | <li> |
31 | 31 | <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> |
32 | + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('receiptPreference-form')"><i class="fa fa-refresh"></i> 重置</a> | |
32 | 33 | <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i> 导出</a>--> |
33 | 34 | </li> |
34 | 35 | </ul> |
... | ... |
src/main/resources/templates/config/receiptType/receiptType.html
... | ... | @@ -6,7 +6,7 @@ |
6 | 6 | <div class="container-div"> |
7 | 7 | <div class="row"> |
8 | 8 | <div class="col-sm-12 select-info"> |
9 | - <form id="locationType-form"> | |
9 | + <form id="receiptType-form"> | |
10 | 10 | <div class="select-list"> |
11 | 11 | <ul> |
12 | 12 | <li> |
... | ... | @@ -20,6 +20,7 @@ |
20 | 20 | </li> |
21 | 21 | <li> |
22 | 22 | <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> |
23 | + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('receiptType-form')"><i class="fa fa-refresh"></i> 重置</a> | |
23 | 24 | <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i> 导出</a>--> |
24 | 25 | </li> |
25 | 26 | </ul> |
... | ... |
src/main/resources/templates/config/shipmentPreference/shipmentPreference.html
... | ... | @@ -26,6 +26,7 @@ |
26 | 26 | </li> |
27 | 27 | <li> |
28 | 28 | <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> |
29 | + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('shipmentPreference-form')"><i class="fa fa-refresh"></i> 重置</a> | |
29 | 30 | <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i> 导出</a>--> |
30 | 31 | </li> |
31 | 32 | </ul> |
... | ... |
src/main/resources/templates/config/shipmentType/shipmentType.html
... | ... | @@ -23,6 +23,7 @@ |
23 | 23 | </li> |
24 | 24 | <li> |
25 | 25 | <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> |
26 | + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('shipmentType-form')"><i class="fa fa-refresh"></i> 重置</a> | |
26 | 27 | <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i> 导出</a>--> |
27 | 28 | </li> |
28 | 29 | </ul> |
... | ... |
src/main/resources/templates/config/statusFlowHeader/statusFlowHeader.html
... | ... | @@ -40,6 +40,7 @@ |
40 | 40 | <li> |
41 | 41 | <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i |
42 | 42 | class="fa fa-search"></i> 搜索</a> |
43 | + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('statusFlowHeader-form')"><i class="fa fa-refresh"></i> 重置</a> | |
43 | 44 | </li> |
44 | 45 | </ul> |
45 | 46 | </div> |
... | ... |
src/main/resources/templates/config/supplier/supplier.html
... | ... | @@ -23,6 +23,7 @@ |
23 | 23 | </li> |
24 | 24 | <li> |
25 | 25 | <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> |
26 | + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('supplier-form')"><i class="fa fa-refresh"></i> 重置</a> | |
26 | 27 | <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="config:supplier:export"><i class="fa fa-download"></i> 导出</a>--> |
27 | 28 | </li> |
28 | 29 | </ul> |
... | ... |
src/main/resources/templates/config/warehouse/warehouse.html
... | ... | @@ -6,7 +6,7 @@ |
6 | 6 | <div class="container-div"> |
7 | 7 | <div class="row"> |
8 | 8 | <div class="col-sm-12 select-info"> |
9 | - <form id="company-form"> | |
9 | + <form id="warehouse-form"> | |
10 | 10 | <div class="select-list"> |
11 | 11 | <ul> |
12 | 12 | <li> |
... | ... | @@ -29,6 +29,7 @@ |
29 | 29 | </li> |
30 | 30 | <li> |
31 | 31 | <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> |
32 | + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('warehouse-form')"><i class="fa fa-refresh"></i> 重置</a> | |
32 | 33 | <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="config:company:export"><i class="fa fa-download"></i> 导出</a>--> |
33 | 34 | </li> |
34 | 35 | </ul> |
... | ... |
src/main/resources/templates/config/waveFlowHeader/waveFlowHeader.html
... | ... | @@ -31,6 +31,7 @@ |
31 | 31 | <li> |
32 | 32 | <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i |
33 | 33 | class="fa fa-search"></i> 搜索</a> |
34 | + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('waveFlowHeader')"><i class="fa fa-refresh"></i> 重置</a> | |
34 | 35 | </li> |
35 | 36 | </ul> |
36 | 37 | </div> |
... | ... |
src/main/resources/templates/config/waveMaster/waveMaster.html
... | ... | @@ -26,6 +26,7 @@ |
26 | 26 | </li> |
27 | 27 | <li> |
28 | 28 | <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> |
29 | + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('waveMaster-form')"><i class="fa fa-refresh"></i> 重置</a> | |
29 | 30 | <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i> 导出</a>--> |
30 | 31 | </li> |
31 | 32 | </ul> |
... | ... |
src/main/resources/templates/config/zone/zone.html
... | ... | @@ -29,6 +29,7 @@ |
29 | 29 | </li> |
30 | 30 | <li> |
31 | 31 | <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> |
32 | + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('zone-form')"><i class="fa fa-refresh"></i> 重置</a> | |
32 | 33 | <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i> 导出</a>--> |
33 | 34 | </li> |
34 | 35 | </ul> |
... | ... |
src/main/resources/templates/config/zoneCapacity/zoneCapacity.html
... | ... | @@ -30,6 +30,7 @@ |
30 | 30 | </li> |
31 | 31 | <li> |
32 | 32 | <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> |
33 | + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('zoneCapacity-form')"><i class="fa fa-refresh"></i> 重置</a> | |
33 | 34 | <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="config:zoneCapacity:export"><i class="fa fa-download"></i> 导出</a>--> |
34 | 35 | </li> |
35 | 36 | </ul> |
... | ... |
src/main/resources/templates/include.html
... | ... | @@ -20,7 +20,7 @@ |
20 | 20 | <div th:fragment="footer"> |
21 | 21 | <script th:src="@{/js/jquery.min.js}"></script> |
22 | 22 | <script th:src="@{/js/bootstrap.min.js}"></script> |
23 | - | |
23 | + <script th:src="@{/huaheng/js/common.js?v=2.3.0}"></script> | |
24 | 24 | <!-- bootstrap-table 表格插件 --> |
25 | 25 | <script th:src="@{/ajax/libs/bootstrap-table/bootstrap-table.min.js}"></script> |
26 | 26 | <script th:src="@{/ajax/libs/bootstrap3-editable/js/bootstrap-editable.js}"></script> |
... | ... | @@ -42,7 +42,6 @@ |
42 | 42 | <script th:src="@{/ajax/libs/layer/layer.min.js}"></script> |
43 | 43 | <script th:src="@{/ajax/libs/layui/layui.js}"></script> |
44 | 44 | <script th:src="@{/ajax/libs/layui/lay/modules/upload.js}"></script> |
45 | - <script th:src="@{/huaheng/js/common.js?v=2.3.0}"></script> | |
46 | 45 | <script th:src="@{/huaheng/js/huahengUI.js?v=2.3.2}"></script> |
47 | 46 | <script th:inline="javascript"> var ctx = [[@{/}]]; </script> |
48 | 47 | </div> |
... | ... |
src/main/resources/templates/receipt/receiptHeader/receiptHeader.html
... | ... | @@ -195,7 +195,6 @@ |
195 | 195 | { |
196 | 196 | field : 'code', |
197 | 197 | title : '入库单号', |
198 | - visible:false | |
199 | 198 | }, |
200 | 199 | { |
201 | 200 | field : 'companyCode', |
... | ... | @@ -214,8 +213,8 @@ |
214 | 213 | formatter: function(value, row, index) { |
215 | 214 | var actions = []; |
216 | 215 | $.each(receiptTypes, function(index, dict) { |
217 | - if (dict.code == value) { | |
218 | - actions.push("<span class='badge badge-info'>" + dict.name + "</span>"); | |
216 | + if (dict.dictValue == value) { | |
217 | + actions.push("<span class='badge badge-info'>" + dict.dictLabel + "</span>"); | |
219 | 218 | return false; |
220 | 219 | } |
221 | 220 | }); |
... | ... |
src/main/resources/templates/receipt/receiving/receiving.html
... | ... | @@ -47,10 +47,22 @@ |
47 | 47 | </div> |
48 | 48 | </form> |
49 | 49 | </div> |
50 | + | |
50 | 51 | <div class="col-sm-12 select-info table-striped-left" style="padding-top: 20px;"> |
51 | 52 | <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table> |
52 | 53 | </div> |
53 | 54 | <div class="col-sm-12 select-info table-striped-right"> |
55 | + <div class="btn-group hidden-xs" id="toolbar1" role="group"> | |
56 | + <a class="btn btn-outline btn-success btn-rounded" onclick="positioning()" shiro:hasPermission="receipt:receiptDetail:add"> | |
57 | + <i class="fa fa-map-pin"></i> 定位 | |
58 | + </a> | |
59 | + <a class="btn btn-outline btn-info btn-rounded" onclick="cancelPositioning()" shiro:hasPermission="receipt:receiptDetail:remove"> | |
60 | + <i class="fa fa-times"></i> 取消定位 | |
61 | + </a> | |
62 | + <a class="btn btn-outline btn-danger btn-rounded" onclick="batRemove()" shiro:hasPermission="receipt:receiptDetail:remove"> | |
63 | + <i class="fa fa-trash-o"></i> 取消收货 | |
64 | + </a> | |
65 | + </div> | |
54 | 66 | <table id="bootstrap-table1" data-mobile-responsive="true" class="table table-bordered table-hover"></table> |
55 | 67 | </div> |
56 | 68 | </div> |
... | ... | @@ -255,19 +267,20 @@ |
255 | 267 | clickToSelect: true, |
256 | 268 | showColumns:true, //列选择 |
257 | 269 | // detailView:true, |
270 | + toolbar: "#toolbar1", | |
258 | 271 | showExport: true, //导出 |
259 | 272 | exportDataType: "all", //导出类型basic', 'all', 'selected'.当前页、所有数据、选中数据 |
260 | 273 | modalName: "入库组盘", |
261 | 274 | iconSize: "outline", |
262 | - toolbar: "#toolbar", | |
275 | + toolbar: "#toolbar1", | |
263 | 276 | contentType: "application/x-www-form-urlencoded", |
264 | 277 | onRefresh: function(){ |
265 | 278 | list_receiptInfo($("#code").val()); |
266 | 279 | }, |
267 | 280 | columns: [ |
268 | - // { | |
269 | - // checkbox: true | |
270 | - // }, | |
281 | + { | |
282 | + checkbox: true | |
283 | + }, | |
271 | 284 | { |
272 | 285 | field : 'id', |
273 | 286 | title : '组盘明细id', |
... | ... | @@ -371,52 +384,58 @@ |
371 | 384 | function remove(id) { |
372 | 385 | $.modal.confirm("确定删除该组盘?", function() { |
373 | 386 | var url = ctx + "receipt/receiptContainerDetail/remove"; |
374 | - var data = { "id": id }; | |
387 | + var data = { "ids": id }; | |
375 | 388 | $.operate.submitAndCallback(url, "post", "json", data, initTable); |
376 | 389 | }); |
377 | 390 | } |
378 | 391 | |
379 | - // var url = location.search; //获取url中"?"符后的字串 | |
380 | - // var theRequest = new Object(); | |
381 | - // if ( url.indexOf( "?" ) != -1 ) { | |
382 | - // var str = url.substr( 1 ); //substr()方法返回从参数值开始到结束的字符串; | |
383 | - // var strs = str.split( "&" ); | |
384 | - // for ( var i = 0; i < strs.length; i++ ) { | |
385 | - // theRequest[ strs[ i ].split( "=" )[ 0 ] ] = ( strs[ i ].split( "=" )[ 1 ] ); | |
386 | - // }} | |
387 | - // // console.log(theRequest.code); | |
388 | - // $("#code").val(theRequest.code); | |
389 | - // list_select(theRequest.code); | |
390 | - // function open(title, url, width, height){ | |
391 | - // if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) { | |
392 | - // width = 'auto'; | |
393 | - // height = 'auto'; | |
394 | - // } | |
395 | - // if (title==null){ | |
396 | - // title = false; | |
397 | - // } | |
398 | - // if (url==null){ | |
399 | - // url="404.html"; | |
400 | - // } | |
401 | - // if ($.common.isEmpty(width)) { | |
402 | - // width = 800; | |
403 | - // // width = ($(window).width() - 100); | |
404 | - // } | |
405 | - // if ($.common.isEmpty(height)) { | |
406 | - // height = ($(window).height() - 50); | |
407 | - // } | |
408 | - // layer.open({ | |
409 | - // type: 2, | |
410 | - // area: [width + 'px', height + 'px'], | |
411 | - // fix: false, | |
412 | - // //不固定 | |
413 | - // maxmin: true, | |
414 | - // shade: 0.3, | |
415 | - // title: title, | |
416 | - // content: url | |
417 | - // // shadeClose: true, //点击遮罩关闭层 | |
418 | - // }) | |
419 | - // } | |
392 | + function positioning() { | |
393 | + let rows = $("#bootstrap-table1").bootstrapTable('getSelections'); | |
394 | + if (rows.length == 0) { | |
395 | + $.modal.alertWarning("请至少选择一条记录"); | |
396 | + return; | |
397 | + } | |
398 | + var url = ctx+"receipt/receiptContainerHeader/position"; | |
399 | + var ids = ""; | |
400 | + for (var i = 0; i<rows.length; i++){ | |
401 | + ids += rows[i].receiptContainerId; | |
402 | + ids += ","; | |
403 | + } | |
404 | + var data = { "ids": ids }; | |
405 | + $.operate.submit(url, "post", "json", data); | |
406 | + } | |
407 | + | |
408 | + function cancelPositioning() { | |
409 | + let rows = $("#bootstrap-table1").bootstrapTable('getSelections'); | |
410 | + if (rows.length == 0) { | |
411 | + $.modal.alertWarning("请至少选择一条记录"); | |
412 | + return; | |
413 | + } | |
414 | + var url = ctx+"receipt/receiptContainerHeader/cancelPosition"; | |
415 | + var ids = ""; | |
416 | + for (var i = 0; i<rows.length; i++){ | |
417 | + ids += rows[i].receiptContainerId; | |
418 | + ids += ","; | |
419 | + } | |
420 | + var data = { "ids": ids }; | |
421 | + $.operate.submit(url, "post", "json", data); | |
422 | + } | |
423 | + | |
424 | + function batRemove() { | |
425 | + let rows = $("#bootstrap-table1").bootstrapTable('getSelections'); | |
426 | + if (rows.length == 0) { | |
427 | + $.modal.alertWarning("请至少选择一条记录"); | |
428 | + return; | |
429 | + } | |
430 | + var url = ctx+"receipt/receiptContainerDetail/remove"; | |
431 | + var ids = ""; | |
432 | + for (var i = 0; i<rows.length; i++){ | |
433 | + ids += rows[i].receiptContainerId; | |
434 | + ids += ","; | |
435 | + } | |
436 | + var data = { "ids": ids }; | |
437 | + $.operate.submit(url, "post", "json", data); | |
438 | + } | |
420 | 439 | </script> |
421 | 440 | </body> |
422 | 441 | </html> |
423 | 442 | \ No newline at end of file |
... | ... |