Commit e3918313f874923441111d5f4100002b7ec4ebf2
1 parent
ce3ebfcb
电池包生产领料单手动回传MES
Showing
11 changed files
with
183 additions
and
76 deletions
src/main/java/com/huaheng/api/erp/service/TaskReturnService.java
... | ... | @@ -7,6 +7,7 @@ import com.huaheng.pc.barcode.barcodeHeader.domain.BarCodeHeader; |
7 | 7 | import com.huaheng.pc.monitor.job.domain.datas; |
8 | 8 | import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail; |
9 | 9 | import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader; |
10 | +import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader; | |
10 | 11 | import com.huaheng.pc.task.taskHeader.domain.TaskHeader; |
11 | 12 | import org.apache.poi.ss.formula.functions.T; |
12 | 13 | |
... | ... | @@ -33,4 +34,6 @@ public interface TaskReturnService { |
33 | 34 | public Map<String,Object> getDataByMaterialCode(String materialCode); |
34 | 35 | |
35 | 36 | AjaxResult returnhistoryBatteryCode(FBatteryBill fBatteryBill); |
37 | + | |
38 | + AjaxResult toMes(ShipmentHeader shipmentHeader); | |
36 | 39 | } |
... | ... |
src/main/java/com/huaheng/api/erp/service/TaskReturnServiceImpl.java
... | ... | @@ -3,6 +3,7 @@ package com.huaheng.api.erp.service; |
3 | 3 | import com.alibaba.fastjson.JSON; |
4 | 4 | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
5 | 5 | import com.huaheng.api.erp.domain.*; |
6 | +import com.huaheng.api.general.domain.*; | |
6 | 7 | import com.huaheng.common.utils.AddressUtils; |
7 | 8 | import com.huaheng.common.utils.Wrappers; |
8 | 9 | import com.google.gson.Gson; |
... | ... | @@ -10,6 +11,7 @@ import com.huaheng.common.constant.QuantityConstant; |
10 | 11 | import com.huaheng.common.exception.service.ServiceException; |
11 | 12 | import com.huaheng.common.support.Convert; |
12 | 13 | import com.huaheng.common.utils.StringUtils; |
14 | +import com.huaheng.common.utils.http.HttpUtils; | |
13 | 15 | import com.huaheng.framework.aspectj.lang.annotation.ApiLogger; |
14 | 16 | import com.huaheng.framework.aspectj.lang.annotation.Ds; |
15 | 17 | import com.huaheng.framework.web.domain.AjaxResult; |
... | ... | @@ -24,10 +26,7 @@ import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail; |
24 | 26 | import com.huaheng.pc.inventory.inventoryDetail.service.InventoryDetailService; |
25 | 27 | import com.huaheng.pc.monitor.apilog.domain.ApiLog; |
26 | 28 | import com.huaheng.pc.monitor.apilog.service.IApiLogService; |
27 | -import com.huaheng.pc.monitor.job.domain.ErpInfoId; | |
28 | -import com.huaheng.pc.monitor.job.domain.TransferParams; | |
29 | -import com.huaheng.pc.monitor.job.domain.datas; | |
30 | -import com.huaheng.pc.monitor.job.domain.Fentity; | |
29 | +import com.huaheng.pc.monitor.job.domain.*; | |
31 | 30 | import com.huaheng.pc.receipt.receiptContainerDetail.domain.ReceiptContainerDetail; |
32 | 31 | import com.huaheng.pc.receipt.receiptContainerDetail.service.ReceiptContainerDetailService; |
33 | 32 | import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail; |
... | ... | @@ -513,6 +512,8 @@ public class TaskReturnServiceImpl implements TaskReturnService { |
513 | 512 | } |
514 | 513 | return AjaxResult.error(erpAjaxResult.getMsg() + erpAjaxResult.getErrorMsg()); |
515 | 514 | } |
515 | + | |
516 | + | |
516 | 517 | //根据单据号查找单据详情 |
517 | 518 | public FDetailBill findReceiptOrShipmentByFillNo(String filId,String fbillno){ |
518 | 519 | FDetailBill result=new FDetailBill(); |
... | ... | @@ -662,4 +663,61 @@ public class TaskReturnServiceImpl implements TaskReturnService { |
662 | 663 | return AjaxResult.error(erpAjaxResult.getMsg() + erpAjaxResult.getErrorMsg()); |
663 | 664 | |
664 | 665 | } |
666 | + | |
667 | + @Override | |
668 | + public AjaxResult toMes(ShipmentHeader shipmentHeader) { | |
669 | + //List<ShipmentHeader> shipmentHeaderList = shipmentHeaderService.list(new LambdaQueryWrapper<ShipmentHeader>() | |
670 | + // .eq(ShipmentHeader::getShipmentType, "SCLLD") | |
671 | + // .lt(ShipmentHeader::getMesErrorCount, 3) | |
672 | + // .ne(ShipmentHeader::getMesSuccessStatus, 1) | |
673 | + // .ne(ShipmentHeader::getMesSuccessStatus, 5) | |
674 | + // .ge(ShipmentHeader::getLastStatus, 500) | |
675 | + // .ge(ShipmentHeader::getFirstStatus, 500)); | |
676 | + | |
677 | + OrderData orderData = new OrderData(); | |
678 | + //出库组盘明细 | |
679 | + List<ShipmentContainerDetail> containerDetailList = shipmentContainerDetailService.list(new LambdaQueryWrapper<ShipmentContainerDetail>() | |
680 | + .eq(ShipmentContainerDetail::getShipmentId, shipmentHeader.getId()) | |
681 | + .eq(ShipmentContainerDetail::getMaterialIsBattery, 1)); | |
682 | + | |
683 | + if (containerDetailList.size() < 1) { | |
684 | + return AjaxResult.error("没有电池类的组盘明细"); | |
685 | + } | |
686 | + orderData.setBatterynumber(new BigDecimal(containerDetailList.size()));//电池包数量为生成的电池包数量 | |
687 | + List<Barcodedata> barcodedataList = new ArrayList<>(); | |
688 | + | |
689 | + for (int i = 0; i < containerDetailList.size(); i++) { | |
690 | + ShipmentContainerDetail containerDetail = containerDetailList.get(i); | |
691 | + ShipmentDetail shipmentDetail = shipmentDetailService.getById(containerDetail.getShipmentDetailId()); | |
692 | + orderData.setOrderNo(shipmentDetail.getOrderNo()); | |
693 | + Barcodedata barcodedata = new Barcodedata(); | |
694 | + barcodedata.setWeight(containerDetail.getMaterialNetWeight()); | |
695 | + barcodedata.setBatterybarcode(containerDetail.getBatteryPackTwoCode()); | |
696 | + barcodedata.setElectricquantity(containerDetail.getElectricQuantity()); | |
697 | + barcodedata.setMaterialBatch(containerDetail.getMaterialBatch()); | |
698 | + barcodedataList.add(barcodedata); | |
699 | + } | |
700 | + orderData.setBarcodedata(barcodedataList); | |
701 | + Content content = new Content(); | |
702 | + content.setOrderData(orderData); | |
703 | + ReturnErp returnErp = new ReturnErp(); | |
704 | + returnErp.setHeader(new Header("ServicesCUS.Module_CUS.CUS_AcceptWMSBatterybarcode", "DS", "DS", "", new String[]{}, "", "zh_CN", true, "web", "")); | |
705 | + returnErp.setContent(content); | |
706 | + String url = addressService.selectAddress(QuantityConstant.RETURN_MES); | |
707 | + Gson gson = new Gson(); | |
708 | + String str = gson.toJson(returnErp); | |
709 | + String result = HttpUtils.bodyPostApiName(url, str, "CS0001", "拆解电池包"); | |
710 | + ReturnValue returnvalue = JSON.parseObject(result, ReturnValue.class); | |
711 | + if (StringUtils.isEmpty(result)) { | |
712 | + return AjaxResult.success("连接MES失败"); | |
713 | + } | |
714 | + shipmentHeader.setMesErrorCount(shipmentHeader.getMesErrorCount() + 1); | |
715 | + //mes回传成功 | |
716 | + if (returnvalue.isISSuccess() && returnvalue.getContent().isISSuccess()) { | |
717 | + shipmentHeader.setMesSuccessStatus(1); | |
718 | + shipmentHeaderService.updateById(shipmentHeader); | |
719 | + return AjaxResult.success("回传成功"); | |
720 | + } | |
721 | + return AjaxResult.error(returnvalue.getErrorInfo()); | |
722 | + } | |
665 | 723 | } |
... | ... |
src/main/java/com/huaheng/api/general/controller/BasicDataApiController.java
... | ... | @@ -331,12 +331,4 @@ public class BasicDataApiController extends BaseController { |
331 | 331 | List<InventoryMaterialSummary> details = inventoryMaterialSummaryService.duplicateRemoval(list); |
332 | 332 | return AjaxResult.success(details); |
333 | 333 | } |
334 | - | |
335 | - | |
336 | - | |
337 | - | |
338 | - | |
339 | - | |
340 | - | |
341 | - | |
342 | 334 | } |
... | ... |
src/main/java/com/huaheng/api/general/controller/TaskFinshReturnController.java deleted
src/main/java/com/huaheng/pc/monitor/job/domain/ReturnValue.java
src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java
... | ... | @@ -4,7 +4,7 @@ package com.huaheng.pc.monitor.job.task; |
4 | 4 | import com.alibaba.fastjson.JSON; |
5 | 5 | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
6 | 6 | import com.huaheng.api.erp.domain.FBatteryBill; |
7 | -import com.huaheng.api.erp.service.TaskReturnServiceImpl; | |
7 | +import com.huaheng.api.general.domain.ToMes; | |
8 | 8 | import com.huaheng.common.support.Convert; |
9 | 9 | import com.huaheng.common.utils.DateUtils; |
10 | 10 | import com.huaheng.common.utils.Wrappers; |
... | ... | @@ -18,13 +18,10 @@ import com.huaheng.common.constant.QuantityConstant; |
18 | 18 | import com.huaheng.common.exception.service.ServiceException; |
19 | 19 | import com.huaheng.common.utils.StringUtils; |
20 | 20 | import com.huaheng.common.utils.http.HttpUtils; |
21 | -import com.huaheng.framework.aspectj.lang.annotation.ApiLogger; | |
22 | 21 | import com.huaheng.framework.web.controller.BaseController; |
23 | 22 | import com.huaheng.framework.web.domain.AjaxResult; |
24 | 23 | import com.huaheng.framework.web.service.ConfigService; |
25 | -import com.huaheng.pc.barcode.barcodeDetail.domain.BarCodeDetail; | |
26 | 24 | import com.huaheng.pc.barcode.barcodeDetail.service.BarCodeDetailService; |
27 | -import com.huaheng.pc.barcode.barcodeHeader.domain.BarCodeHeader; | |
28 | 25 | import com.huaheng.pc.barcode.barcodeHeader.service.BarCodeHeaderService; |
29 | 26 | import com.huaheng.pc.config.address.service.AddressService; |
30 | 27 | import com.huaheng.pc.config.camera.service.ICameraService; |
... | ... | @@ -45,15 +42,12 @@ import com.huaheng.pc.monitor.apilog.domain.ApiLog; |
45 | 42 | import com.huaheng.pc.monitor.apilog.service.IApiLogService; |
46 | 43 | import com.huaheng.pc.monitor.job.domain.ReturnValue; |
47 | 44 | import com.huaheng.pc.monitor.job.domain.TransferParams; |
48 | -import com.huaheng.pc.monitor.job.domain.datas; | |
49 | -import com.huaheng.pc.monitor.job.domain.Fentity; | |
50 | 45 | import com.huaheng.pc.monitor.job.service.IJobLogService; |
51 | 46 | import com.huaheng.pc.monitor.operlog.service.IOperLogService; |
52 | 47 | import com.huaheng.pc.receipt.receiptContainerDetail.domain.ReceiptContainerDetail; |
53 | 48 | import com.huaheng.pc.receipt.receiptContainerDetail.service.ReceiptContainerDetailService; |
54 | 49 | import com.huaheng.pc.receipt.receiptContainerHeader.domain.ReceiptContainerHeader; |
55 | 50 | import com.huaheng.pc.receipt.receiptContainerHeader.service.ReceiptContainerHeaderService; |
56 | -import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail; | |
57 | 51 | import com.huaheng.pc.receipt.receiptDetail.service.ReceiptDetailService; |
58 | 52 | import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader; |
59 | 53 | import com.huaheng.pc.receipt.receiptHeader.service.ReceiptHeaderService; |
... | ... | @@ -82,9 +76,6 @@ import org.springframework.stereotype.Component; |
82 | 76 | import javax.annotation.Resource; |
83 | 77 | |
84 | 78 | import java.math.BigDecimal; |
85 | -import java.text.SimpleDateFormat; | |
86 | -import java.time.Duration; | |
87 | -import java.time.LocalDateTime; | |
88 | 79 | import java.util.*; |
89 | 80 | |
90 | 81 | /** |
... | ... | @@ -366,8 +357,7 @@ public class RyTask extends BaseController { |
366 | 357 | .ge(ShipmentHeader::getLastStatus, 500) |
367 | 358 | .ge(ShipmentHeader::getFirstStatus, 500)); |
368 | 359 | |
369 | - OrderData orderData = null; | |
370 | - orderData = new OrderData(); | |
360 | + OrderData orderData = new OrderData(); | |
371 | 361 | |
372 | 362 | for (ShipmentHeader shipmentHeader : shipmentHeaderList) { |
373 | 363 | //出库详情 |
... | ... |
src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java
... | ... | @@ -405,10 +405,10 @@ public class ReceiptHeaderController extends BaseController { |
405 | 405 | } |
406 | 406 | if (!isAdmin) { |
407 | 407 | if (receiptHeader.getPushSuccessStatus() == 1) { |
408 | - return AjaxResult.error("已回传"); | |
408 | + return AjaxResult.error("已成功,不能重复回传!"); | |
409 | 409 | } |
410 | - if (receiptHeader.getPushSuccessStatus().intValue() == 2 && receiptHeader.getPushErrorCount().intValue() >= 3) { | |
411 | - return AjaxResult.error("回传次数超过3次"); | |
410 | + if (receiptHeader.getPushSuccessStatus() == 2 && receiptHeader.getPushErrorCount() >= 3) { | |
411 | + return AjaxResult.error("回传失败次数超过3次,如需要再次回传请联系管理员!"); | |
412 | 412 | } |
413 | 413 | } |
414 | 414 | return AjaxResult.success(); |
... | ... | @@ -450,7 +450,7 @@ public class ReceiptHeaderController extends BaseController { |
450 | 450 | |
451 | 451 | /** |
452 | 452 | * pda根据物料码或物料名称搜索出单据 |
453 | - * @param name | |
453 | + * @param | |
454 | 454 | * @return |
455 | 455 | */ |
456 | 456 | @PostMapping("/pdaSelectReceipt") |
... | ... |
src/main/java/com/huaheng/pc/shipment/shipmentHeader/controller/ShipmentHeaderController.java
... | ... | @@ -109,6 +109,15 @@ public class ShipmentHeaderController extends BaseController { |
109 | 109 | } |
110 | 110 | } |
111 | 111 | String[] str_split=substring.split(","); |
112 | + | |
113 | + //电池包生产领料单 | |
114 | + String shipmentType=""; | |
115 | + if (StringUtils.isNotEmpty(shipmentHeader.getShipmentType())) { | |
116 | + shipmentType=shipmentHeader.getShipmentType(); | |
117 | + if (shipmentHeader.getShipmentType().equals("DCB")) { | |
118 | + shipmentType="SCLLD"; | |
119 | + } | |
120 | + } | |
112 | 121 | lambdaQueryWrapper.ge(StringUtils.isNotEmpty(createdBegin), ShipmentHeader::getCreated, createdBegin) |
113 | 122 | .le(StringUtils.isNotEmpty(createdEnd), ShipmentHeader::getCreated, createdEnd) |
114 | 123 | .eq(ShipmentHeader::getWarehouseCode, ShiroUtils.getWarehouseCode()) |
... | ... | @@ -117,7 +126,7 @@ public class ShipmentHeaderController extends BaseController { |
117 | 126 | .in(StringUtils.isNotEmpty(customer.getCode()), ShipmentHeader::getCustomerCode,str_split) |
118 | 127 | //.in(StringUtils.isEmpty(shipmentHeader.getCompanyCode()), ShipmentHeader::getCompanyCode, ShiroUtils.getCompanyCodeList()) |
119 | 128 | .eq(StringUtils.isNotEmpty(shipmentHeader.getCode()), ShipmentHeader::getCode, shipmentHeader.getCode()) |
120 | - .eq(StringUtils.isNotEmpty(shipmentHeader.getShipmentType()), ShipmentHeader::getShipmentType, shipmentHeader.getShipmentType()) | |
129 | + .eq(StringUtils.isNotEmpty(shipmentType), ShipmentHeader::getShipmentType, shipmentType) | |
121 | 130 | .eq(StringUtils.isNotEmpty(shipmentHeader.getReferCode()), ShipmentHeader::getReferCode, shipmentHeader.getReferCode()) |
122 | 131 | .eq(StringUtils.isNotEmpty(shipmentHeader.getReferCodeType()), ShipmentHeader::getReferCodeType, shipmentHeader.getReferCodeType()) |
123 | 132 | .eq(shipmentHeader.getFirstStatus() != null, ShipmentHeader::getFirstStatus, shipmentHeader.getFirstStatus()) |
... | ... | @@ -129,12 +138,12 @@ public class ShipmentHeaderController extends BaseController { |
129 | 138 | if(StringUtils.isNotEmpty(materialCode)){ |
130 | 139 | lambdaQueryWrapper.apply(" id in(select shipmentId from shipment_detail where materialCode ='"+materialCode+"' )"); |
131 | 140 | } |
141 | + if(StringUtils.isNotEmpty(shipmentHeader.getShipmentType()) && shipmentHeader.getShipmentType().equals("DCB")){ | |
142 | + lambdaQueryWrapper.apply(" id in(select shipmentId from shipment_detail where orderNo !='')"); | |
143 | + } | |
132 | 144 | lambdaQueryWrapper.orderByDesc(ShipmentHeader::getId); |
133 | 145 | |
134 | 146 | if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)) { |
135 | - /** | |
136 | - * 使用分页查询 | |
137 | - */ | |
138 | 147 | Page<ShipmentHeader> page = new Page<>(pageNum, pageSize); |
139 | 148 | IPage<ShipmentHeader> iPage = shipmentHeaderService.page(page, lambdaQueryWrapper); |
140 | 149 | return getMpDataTable(iPage.getRecords(), iPage.getTotal()); |
... | ... | @@ -248,6 +257,56 @@ public class ShipmentHeaderController extends BaseController { |
248 | 257 | } |
249 | 258 | |
250 | 259 | /** |
260 | + * 电池包拆解(196开头物料的生成领料单回传mes) | |
261 | + */ | |
262 | + @PostMapping("/toMes") | |
263 | + @RequiresPermissions("shipment:shipmentHeader:receive") | |
264 | + @ApiOperation(value = "出库单单据完成回传mes ", notes = "出库单单据完成回传mes ", httpMethod = "POST") | |
265 | + @Log(title = "出库-入库单 ", operating = "出库单单据完成回传mes ", action = BusinessType.OTHER) | |
266 | + @ResponseBody | |
267 | + public AjaxResult toMes(@ApiParam(name = "id", value = "出库头表id") Integer id) { | |
268 | + ShipmentHeader shipmentHeader = shipmentHeaderService.getById(id); | |
269 | + AjaxResult result = checkToMes(shipmentHeader); | |
270 | + if (result.getCode() != 200) { | |
271 | + return result; | |
272 | + } | |
273 | + AjaxResult ajaxResult = taskReturnService.toMes(shipmentHeader); | |
274 | + if (ajaxResult.getCode() == 200) { | |
275 | + return AjaxResult.success("回传成功"); | |
276 | + } | |
277 | + return AjaxResult.error("回传MES失败:"+ajaxResult.getMsg()); | |
278 | + } | |
279 | + | |
280 | + private AjaxResult checkToMes(ShipmentHeader shipmentHeader) { | |
281 | + //判断是否是电池包的生产领料单 | |
282 | + List<ShipmentDetail> shipmentDetailList = shipmentDetailService.list(new LambdaQueryWrapper<ShipmentDetail>().eq(ShipmentDetail::getShipmentId, shipmentHeader.getId())); | |
283 | + if (shipmentDetailList.size()==0) { | |
284 | + return AjaxResult.error("单据没有明细!"); | |
285 | + } | |
286 | + String substring = shipmentDetailList.get(0).getMaterialCode().substring(0, 3); | |
287 | + if (!"196".equals(substring)) { | |
288 | + return AjaxResult.error("领料单不是电池包"); | |
289 | + } | |
290 | + //非管理员只能回传3次 | |
291 | + Set<String> set = iRoleService.selectRoleCodes(ShiroUtils.getUserId()); | |
292 | + Boolean isAdmin = false; | |
293 | + for (String str : set) { | |
294 | + if (str.equals("admin")) { | |
295 | + isAdmin = true; | |
296 | + } | |
297 | + } | |
298 | + if (!isAdmin) { | |
299 | + if (shipmentHeader.getMesSuccessStatus() == 1) { | |
300 | + return AjaxResult.error("已成功,不能重复回传!"); | |
301 | + } | |
302 | + if (shipmentHeader.getPushSuccessStatus() == 2 && shipmentHeader.getPushErrorCount() >= 3) { | |
303 | + return AjaxResult.error("回传失败次数超过3次,如需要再次回传请联系管理员!"); | |
304 | + } | |
305 | + } | |
306 | + return AjaxResult.success(); | |
307 | + } | |
308 | + | |
309 | + /** | |
251 | 310 | * 出库单据回传给ERP |
252 | 311 | */ |
253 | 312 | @PostMapping("/receive") |
... | ... | @@ -278,10 +337,10 @@ public class ShipmentHeaderController extends BaseController { |
278 | 337 | } |
279 | 338 | if (!isAdmin) { |
280 | 339 | if (shipmentHeader.getPushSuccessStatus() == 1) { |
281 | - return AjaxResult.error("已回传"); | |
340 | + return AjaxResult.error("已成功,不能重复回传!"); | |
282 | 341 | } |
283 | - if (shipmentHeader.getPushSuccessStatus().intValue() == 2 && shipmentHeader.getPushErrorCount().intValue() >= 3) { | |
284 | - return AjaxResult.error("回传次数超过3次"); | |
342 | + if (shipmentHeader.getPushSuccessStatus() == 2 && shipmentHeader.getPushErrorCount() >= 3) { | |
343 | + return AjaxResult.error("回传失败次数超过3次,如需要再次回传请联系管理员!"); | |
285 | 344 | } |
286 | 345 | } |
287 | 346 | return AjaxResult.success(); |
... | ... | @@ -316,24 +375,6 @@ public class ShipmentHeaderController extends BaseController { |
316 | 375 | |
317 | 376 | |
318 | 377 | /** |
319 | - * 订单分析 | |
320 | - */ | |
321 | -// @RequiresPermissions("shipment:bill:edit") | |
322 | -// @Log(title = "出库-出库单", operating="订单分析", action = BusinessType.OTHER) | |
323 | -// @PostMapping( "/analysis") | |
324 | -// @ResponseBody | |
325 | -// @Transactional | |
326 | -// public void analysis(String ids){ | |
327 | -// if (StringUtils.isEmpty(ids)) | |
328 | -// throw new ServiceException("id不能为空"); | |
329 | -// for (Integer id : Convert.toIntArray(ids)) | |
330 | -// { | |
331 | -// | |
332 | -// } | |
333 | -// | |
334 | -// } | |
335 | - | |
336 | - /** | |
337 | 378 | * 加入波次 |
338 | 379 | */ |
339 | 380 | @GetMapping("/wave") |
... | ... |
src/main/java/com/huaheng/pc/shipment/shipmentHeader/domain/ShipmentHeader.java
src/main/resources/templates/receipt/receiptHeader/receiptHeader.html
... | ... | @@ -329,7 +329,7 @@ |
329 | 329 | // if (row.firstStatus == 300 && row.lastStatus == 300 &&receiptType=='SCRKD') { |
330 | 330 | // actions.push('<a class="btn btn-info btn-xs ' + receiveFlag + '" href="#" onclick="receive(\''+row.id+'\')"><i class="fa fa-upload"></i>成品入库回传erp</a>'); |
331 | 331 | // } |
332 | - if (row.firstStatus == 800 && row.lastStatus == 800 && row.receiptType!='CPRK') { | |
332 | + if (row.firstStatus == 800 && row.lastStatus == 800 && row.receiptType!='CPRK' && row.pushSuccessStatus=='0' && row.pushSuccessStatus=='2') { | |
333 | 333 | actions.push('<a class="btn btn-warning btn-xs ' + receiveFlag + '" href="#" onclick="receive(\''+row.id+'\')"><i class="fa fa-upload"></i>回传</a>'); |
334 | 334 | } |
335 | 335 | if (row.firstStatus >= 200 && row.lastStatus < 800) { |
... | ... |
src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html
... | ... | @@ -242,10 +242,10 @@ |
242 | 242 | shiro:hasPermission="shipment:shippingCombination:combination"> |
243 | 243 | <i class="fa fa-hand-lizard-o"></i> 组盘 |
244 | 244 | </a> |
245 | - <a class="btn btn-outline btn-primary btn-rounded auto-shipment" onclick="Toshipping(1)" | |
246 | - shiro:hasPermission="shipment:shippingCombination:combination"> | |
247 | - <i class="fa fa-code-fork"></i> 自动组盘 | |
248 | - </a> | |
245 | + <a class="btn btn-outline btn-primary btn-rounded auto-shipment" onclick="Toshipping(1)" | |
246 | + shiro:hasPermission="shipment:shippingCombination:combination"> | |
247 | + <i class="fa fa-code-fork"></i> 自动组盘 | |
248 | + </a> | |
249 | 249 | <!-- <a class="btn btn-outline btn-primary btn-rounded auto-shipment-task" onclick="Toshipping(2)"--> |
250 | 250 | <!-- shiro:hasPermission="shipment:shippingCombination:combination">--> |
251 | 251 | <!-- <i class="fa fa-code-fork"></i> 自动组盘并生成任务--> |
... | ... | @@ -320,6 +320,24 @@ |
320 | 320 | } |
321 | 321 | }, |
322 | 322 | { |
323 | + field: 'mesSuccessStatus', | |
324 | + title: '回传MES', | |
325 | + align: 'center', | |
326 | + formatter: function(value, row, index) { | |
327 | + console.log(row) | |
328 | + if(value!==undefined &&row.shipmentType==='SCLLD'){ | |
329 | + if(value===0){ | |
330 | + return '<span style="color:black">未回传</span>' | |
331 | + }else if(value===1){ | |
332 | + return '<span style="color:green">回传成功</span>' | |
333 | + }else if(value===2 ) { | |
334 | + return '<span style="color:#b90e0e">回传失败</span>' | |
335 | + } | |
336 | + } | |
337 | + return ''; | |
338 | + } | |
339 | + }, | |
340 | + { | |
323 | 341 | title: '操作', |
324 | 342 | // align: 'center', |
325 | 343 | align: 'left', |
... | ... | @@ -335,8 +353,12 @@ |
335 | 353 | if (row.firstStatus < 100) { |
336 | 354 | actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> '); |
337 | 355 | } |
338 | - if (row.firstStatus == 500 && row.lastStatus == 500) { | |
339 | - actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="#" onclick="receive(\'' + row.id + '\')"><i class="fa fa-upload"></i>回传</a>'); | |
356 | + if (row.firstStatus == 500 && row.lastStatus == 500 && row.pushSuccessStatus=='0' || row.pushSuccessStatus=='2' ) { | |
357 | + actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="#" onclick="receive(\'' + row.id + '\')"><i class="fa fa-external-link"></i>回传ERP</a>'); | |
358 | + } | |
359 | + | |
360 | + if (row.firstStatus == 500 && row.lastStatus == 500 && row.shipmentType=='SCLLD' && row.mesSuccessStatus=='0'|| row.mesSuccessStatus=='2') { | |
361 | + actions.push('<a style="margin-left: 5px;background-color: #54b095" class="btn btn-info btn-xs ' + editFlag + '" href="#" onclick="toMes(\'' + row.id + '\')"><i class="fa fa-external-link"></i>回传MES</a>'); | |
340 | 362 | } |
341 | 363 | return actions.join(''); |
342 | 364 | } |
... | ... | @@ -553,14 +575,11 @@ |
553 | 575 | { |
554 | 576 | title: '操作', |
555 | 577 | align: 'center', |
556 | - formatter: function (value, row, index) { | |
578 | + events:'operateEvents', | |
579 | + formatter: function(value, row, index) { | |
557 | 580 | var actions = []; |
558 | - if (row.status < 100) { | |
559 | - actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> '); | |
560 | - } | |
561 | - if (row.firstStatus == 500 && row.lastStatus == 500) { | |
562 | - actions.push('<a class="btn btn-info btn-xs ' + receiveFlag + '" href="#" onclick="receive(\'' + row.id + '\')"><i class="fa fa-upload"></i>回传</a>'); | |
563 | - } | |
581 | + actions.push('<a id="table_edit" class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> '); | |
582 | + actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>'); | |
564 | 583 | return actions.join(''); |
565 | 584 | } |
566 | 585 | }, |
... | ... | @@ -601,8 +620,12 @@ |
601 | 620 | title: '库存数量' |
602 | 621 | }, |
603 | 622 | { |
604 | - field: 'grossWeight', | |
605 | - title: '毛重(kg)', | |
623 | + field: 'orderNo', | |
624 | + title: '工单号', | |
625 | + }, | |
626 | + { | |
627 | + field: 'batteryPackTwoCode', | |
628 | + title: '电池包号', | |
606 | 629 | }, |
607 | 630 | { |
608 | 631 | field: 'tareWeight', |
... | ... | @@ -870,6 +893,12 @@ |
870 | 893 | $.operate.submit(url, "post", "json", data); |
871 | 894 | } |
872 | 895 | |
896 | + function toMes(id) { | |
897 | + var url = prefix + "/toMes"; | |
898 | + var data = {"id": id}; | |
899 | + $.operate.submit(url, "post", "json", data); | |
900 | + } | |
901 | + | |
873 | 902 | /* 编辑明细单据 */ |
874 | 903 | function edit(id) { |
875 | 904 | if (shipmentId == '') { |
... | ... |