Commit e3918313f874923441111d5f4100002b7ec4ebf2

Authored by 易文鹏
1 parent ce3ebfcb

电池包生产领料单手动回传MES

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
1   -package com.huaheng.api.general.controller;
2   -
3   -public class TaskFinshReturnController {
4   -
5   -}
src/main/java/com/huaheng/pc/monitor/job/domain/ReturnValue.java
... ... @@ -5,7 +5,6 @@ import com.huaheng.api.general.domain.Content;
5 5 import lombok.Data;
6 6  
7 7 @Data
8   -
9 8 public class ReturnValue {
10 9  
11 10 private boolean ISSuccess;//true:成功,false:失败
... ...
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
... ... @@ -110,7 +110,7 @@ public class ShipmentHeader implements Serializable {
110 110 private Integer firstStatus;
111 111  
112 112 /**
113   - * 状态
  113 + * 状态
114 114 */
115 115 @TableField(value = "lastStatus")
116 116 @ApiModelProperty(value = "拖状态")
... ...
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 == '') {
... ...