From e3918313f874923441111d5f4100002b7ec4ebf2 Mon Sep 17 00:00:00 2001
From: yiwenpeng <ywp303@163.com>
Date: Fri, 2 Dec 2022 01:02:27 +0800
Subject: [PATCH] 电池包生产领料单手动回传MES

---
 src/main/java/com/huaheng/api/erp/service/TaskReturnService.java                              |  3 +++
 src/main/java/com/huaheng/api/erp/service/TaskReturnServiceImpl.java                          | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 src/main/java/com/huaheng/api/general/controller/BasicDataApiController.java                  |  8 --------
 src/main/java/com/huaheng/api/general/controller/TaskFinshReturnController.java               |  5 -----
 src/main/java/com/huaheng/pc/monitor/job/domain/ReturnValue.java                              |  1 -
 src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java                                     | 14 ++------------
 src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java    |  8 ++++----
 src/main/java/com/huaheng/pc/shipment/shipmentHeader/controller/ShipmentHeaderController.java | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------
 src/main/java/com/huaheng/pc/shipment/shipmentHeader/domain/ShipmentHeader.java               |  2 +-
 src/main/resources/templates/receipt/receiptHeader/receiptHeader.html                         |  2 +-
 src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html                      | 59 ++++++++++++++++++++++++++++++++++++++++++++---------------
 11 files changed, 183 insertions(+), 76 deletions(-)
 delete mode 100644 src/main/java/com/huaheng/api/general/controller/TaskFinshReturnController.java

diff --git a/src/main/java/com/huaheng/api/erp/service/TaskReturnService.java b/src/main/java/com/huaheng/api/erp/service/TaskReturnService.java
index e07bf21..2f00ec6 100644
--- a/src/main/java/com/huaheng/api/erp/service/TaskReturnService.java
+++ b/src/main/java/com/huaheng/api/erp/service/TaskReturnService.java
@@ -7,6 +7,7 @@ import com.huaheng.pc.barcode.barcodeHeader.domain.BarCodeHeader;
 import com.huaheng.pc.monitor.job.domain.datas;
 import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail;
 import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader;
+import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader;
 import com.huaheng.pc.task.taskHeader.domain.TaskHeader;
 import org.apache.poi.ss.formula.functions.T;
 
@@ -33,4 +34,6 @@ public interface TaskReturnService {
     public Map<String,Object>  getDataByMaterialCode(String materialCode);
 
     AjaxResult returnhistoryBatteryCode(FBatteryBill fBatteryBill);
+
+    AjaxResult toMes(ShipmentHeader shipmentHeader);
 }
diff --git a/src/main/java/com/huaheng/api/erp/service/TaskReturnServiceImpl.java b/src/main/java/com/huaheng/api/erp/service/TaskReturnServiceImpl.java
index a54ea86..934554e 100644
--- a/src/main/java/com/huaheng/api/erp/service/TaskReturnServiceImpl.java
+++ b/src/main/java/com/huaheng/api/erp/service/TaskReturnServiceImpl.java
@@ -3,6 +3,7 @@ package com.huaheng.api.erp.service;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.huaheng.api.erp.domain.*;
+import com.huaheng.api.general.domain.*;
 import com.huaheng.common.utils.AddressUtils;
 import com.huaheng.common.utils.Wrappers;
 import com.google.gson.Gson;
@@ -10,6 +11,7 @@ import com.huaheng.common.constant.QuantityConstant;
 import com.huaheng.common.exception.service.ServiceException;
 import com.huaheng.common.support.Convert;
 import com.huaheng.common.utils.StringUtils;
+import com.huaheng.common.utils.http.HttpUtils;
 import com.huaheng.framework.aspectj.lang.annotation.ApiLogger;
 import com.huaheng.framework.aspectj.lang.annotation.Ds;
 import com.huaheng.framework.web.domain.AjaxResult;
@@ -24,10 +26,7 @@ import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail;
 import com.huaheng.pc.inventory.inventoryDetail.service.InventoryDetailService;
 import com.huaheng.pc.monitor.apilog.domain.ApiLog;
 import com.huaheng.pc.monitor.apilog.service.IApiLogService;
-import com.huaheng.pc.monitor.job.domain.ErpInfoId;
-import com.huaheng.pc.monitor.job.domain.TransferParams;
-import com.huaheng.pc.monitor.job.domain.datas;
-import com.huaheng.pc.monitor.job.domain.Fentity;
+import com.huaheng.pc.monitor.job.domain.*;
 import com.huaheng.pc.receipt.receiptContainerDetail.domain.ReceiptContainerDetail;
 import com.huaheng.pc.receipt.receiptContainerDetail.service.ReceiptContainerDetailService;
 import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail;
@@ -513,6 +512,8 @@ public class TaskReturnServiceImpl implements TaskReturnService {
         }
         return AjaxResult.error(erpAjaxResult.getMsg() + erpAjaxResult.getErrorMsg());
     }
+
+
     //根据单据号查找单据详情
     public FDetailBill findReceiptOrShipmentByFillNo(String filId,String fbillno){
         FDetailBill result=new FDetailBill();
@@ -662,4 +663,61 @@ public class TaskReturnServiceImpl implements TaskReturnService {
         return AjaxResult.error(erpAjaxResult.getMsg() + erpAjaxResult.getErrorMsg());
 
     }
+
+    @Override
+    public AjaxResult toMes(ShipmentHeader shipmentHeader) {
+        //List<ShipmentHeader> shipmentHeaderList = shipmentHeaderService.list(new LambdaQueryWrapper<ShipmentHeader>()
+        //        .eq(ShipmentHeader::getShipmentType, "SCLLD")
+        //        .lt(ShipmentHeader::getMesErrorCount, 3)
+        //        .ne(ShipmentHeader::getMesSuccessStatus, 1)
+        //        .ne(ShipmentHeader::getMesSuccessStatus, 5)
+        //        .ge(ShipmentHeader::getLastStatus, 500)
+        //        .ge(ShipmentHeader::getFirstStatus, 500));
+
+        OrderData orderData = new OrderData();
+        //出库组盘明细
+        List<ShipmentContainerDetail> containerDetailList = shipmentContainerDetailService.list(new LambdaQueryWrapper<ShipmentContainerDetail>()
+                .eq(ShipmentContainerDetail::getShipmentId, shipmentHeader.getId())
+                .eq(ShipmentContainerDetail::getMaterialIsBattery, 1));
+
+        if (containerDetailList.size() < 1) {
+            return AjaxResult.error("没有电池类的组盘明细");
+        }
+        orderData.setBatterynumber(new BigDecimal(containerDetailList.size()));//电池包数量为生成的电池包数量
+        List<Barcodedata> barcodedataList = new ArrayList<>();
+
+        for (int i = 0; i < containerDetailList.size(); i++) {
+            ShipmentContainerDetail containerDetail = containerDetailList.get(i);
+            ShipmentDetail shipmentDetail = shipmentDetailService.getById(containerDetail.getShipmentDetailId());
+            orderData.setOrderNo(shipmentDetail.getOrderNo());
+            Barcodedata barcodedata = new Barcodedata();
+            barcodedata.setWeight(containerDetail.getMaterialNetWeight());
+            barcodedata.setBatterybarcode(containerDetail.getBatteryPackTwoCode());
+            barcodedata.setElectricquantity(containerDetail.getElectricQuantity());
+            barcodedata.setMaterialBatch(containerDetail.getMaterialBatch());
+            barcodedataList.add(barcodedata);
+        }
+        orderData.setBarcodedata(barcodedataList);
+        Content content = new Content();
+        content.setOrderData(orderData);
+        ReturnErp returnErp = new ReturnErp();
+        returnErp.setHeader(new Header("ServicesCUS.Module_CUS.CUS_AcceptWMSBatterybarcode", "DS", "DS", "", new String[]{}, "", "zh_CN", true, "web", ""));
+        returnErp.setContent(content);
+        String url = addressService.selectAddress(QuantityConstant.RETURN_MES);
+        Gson gson = new Gson();
+        String str = gson.toJson(returnErp);
+        String result = HttpUtils.bodyPostApiName(url, str, "CS0001", "拆解电池包");
+        ReturnValue returnvalue = JSON.parseObject(result, ReturnValue.class);
+        if (StringUtils.isEmpty(result)) {
+            return AjaxResult.success("连接MES失败");
+        }
+        shipmentHeader.setMesErrorCount(shipmentHeader.getMesErrorCount() + 1);
+        //mes回传成功
+        if (returnvalue.isISSuccess() && returnvalue.getContent().isISSuccess()) {
+            shipmentHeader.setMesSuccessStatus(1);
+            shipmentHeaderService.updateById(shipmentHeader);
+            return AjaxResult.success("回传成功");
+        }
+        return AjaxResult.error(returnvalue.getErrorInfo());
+    }
 }
diff --git a/src/main/java/com/huaheng/api/general/controller/BasicDataApiController.java b/src/main/java/com/huaheng/api/general/controller/BasicDataApiController.java
index aedf73b..5b560f2 100644
--- a/src/main/java/com/huaheng/api/general/controller/BasicDataApiController.java
+++ b/src/main/java/com/huaheng/api/general/controller/BasicDataApiController.java
@@ -331,12 +331,4 @@ public class BasicDataApiController extends BaseController {
         List<InventoryMaterialSummary> details = inventoryMaterialSummaryService.duplicateRemoval(list);
         return AjaxResult.success(details);
     }
-
-
-
-
-
-
-
-
 }
diff --git a/src/main/java/com/huaheng/api/general/controller/TaskFinshReturnController.java b/src/main/java/com/huaheng/api/general/controller/TaskFinshReturnController.java
deleted file mode 100644
index a3c76b7..0000000
--- a/src/main/java/com/huaheng/api/general/controller/TaskFinshReturnController.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.huaheng.api.general.controller;
-
-public class TaskFinshReturnController {
-
-}
diff --git a/src/main/java/com/huaheng/pc/monitor/job/domain/ReturnValue.java b/src/main/java/com/huaheng/pc/monitor/job/domain/ReturnValue.java
index bce0d47..6a2e0fb 100644
--- a/src/main/java/com/huaheng/pc/monitor/job/domain/ReturnValue.java
+++ b/src/main/java/com/huaheng/pc/monitor/job/domain/ReturnValue.java
@@ -5,7 +5,6 @@ import com.huaheng.api.general.domain.Content;
 import lombok.Data;
 
 @Data
-
 public class ReturnValue {
 
     private boolean ISSuccess;//true:成功,false:失败
diff --git a/src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java b/src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java
index 2822398..ad90b5f 100644
--- a/src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java
+++ b/src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java
@@ -4,7 +4,7 @@ package com.huaheng.pc.monitor.job.task;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.huaheng.api.erp.domain.FBatteryBill;
-import com.huaheng.api.erp.service.TaskReturnServiceImpl;
+import com.huaheng.api.general.domain.ToMes;
 import com.huaheng.common.support.Convert;
 import com.huaheng.common.utils.DateUtils;
 import com.huaheng.common.utils.Wrappers;
@@ -18,13 +18,10 @@ import com.huaheng.common.constant.QuantityConstant;
 import com.huaheng.common.exception.service.ServiceException;
 import com.huaheng.common.utils.StringUtils;
 import com.huaheng.common.utils.http.HttpUtils;
-import com.huaheng.framework.aspectj.lang.annotation.ApiLogger;
 import com.huaheng.framework.web.controller.BaseController;
 import com.huaheng.framework.web.domain.AjaxResult;
 import com.huaheng.framework.web.service.ConfigService;
-import com.huaheng.pc.barcode.barcodeDetail.domain.BarCodeDetail;
 import com.huaheng.pc.barcode.barcodeDetail.service.BarCodeDetailService;
-import com.huaheng.pc.barcode.barcodeHeader.domain.BarCodeHeader;
 import com.huaheng.pc.barcode.barcodeHeader.service.BarCodeHeaderService;
 import com.huaheng.pc.config.address.service.AddressService;
 import com.huaheng.pc.config.camera.service.ICameraService;
@@ -45,15 +42,12 @@ import com.huaheng.pc.monitor.apilog.domain.ApiLog;
 import com.huaheng.pc.monitor.apilog.service.IApiLogService;
 import com.huaheng.pc.monitor.job.domain.ReturnValue;
 import com.huaheng.pc.monitor.job.domain.TransferParams;
-import com.huaheng.pc.monitor.job.domain.datas;
-import com.huaheng.pc.monitor.job.domain.Fentity;
 import com.huaheng.pc.monitor.job.service.IJobLogService;
 import com.huaheng.pc.monitor.operlog.service.IOperLogService;
 import com.huaheng.pc.receipt.receiptContainerDetail.domain.ReceiptContainerDetail;
 import com.huaheng.pc.receipt.receiptContainerDetail.service.ReceiptContainerDetailService;
 import com.huaheng.pc.receipt.receiptContainerHeader.domain.ReceiptContainerHeader;
 import com.huaheng.pc.receipt.receiptContainerHeader.service.ReceiptContainerHeaderService;
-import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail;
 import com.huaheng.pc.receipt.receiptDetail.service.ReceiptDetailService;
 import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader;
 import com.huaheng.pc.receipt.receiptHeader.service.ReceiptHeaderService;
@@ -82,9 +76,6 @@ import org.springframework.stereotype.Component;
 import javax.annotation.Resource;
 
 import java.math.BigDecimal;
-import java.text.SimpleDateFormat;
-import java.time.Duration;
-import java.time.LocalDateTime;
 import java.util.*;
 
 /**
@@ -366,8 +357,7 @@ public class RyTask extends BaseController {
                 .ge(ShipmentHeader::getLastStatus, 500)
                 .ge(ShipmentHeader::getFirstStatus, 500));
 
-        OrderData orderData = null;
-        orderData = new OrderData();
+        OrderData orderData = new OrderData();
 
         for (ShipmentHeader shipmentHeader : shipmentHeaderList) {
             //出库详情
diff --git a/src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java b/src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java
index bb38482..1426192 100644
--- a/src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java
+++ b/src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java
@@ -405,10 +405,10 @@ public class ReceiptHeaderController extends BaseController {
         }
         if (!isAdmin) {
             if (receiptHeader.getPushSuccessStatus() == 1) {
-                return AjaxResult.error("已回传");
+                return AjaxResult.error("已成功,不能重复回传!");
             }
-            if (receiptHeader.getPushSuccessStatus().intValue() == 2 && receiptHeader.getPushErrorCount().intValue() >= 3) {
-                return AjaxResult.error("回传次数超过3次");
+            if (receiptHeader.getPushSuccessStatus() == 2 && receiptHeader.getPushErrorCount() >= 3) {
+                return AjaxResult.error("回传失败次数超过3次,如需要再次回传请联系管理员!");
             }
         }
         return AjaxResult.success();
@@ -450,7 +450,7 @@ public class ReceiptHeaderController extends BaseController {
 
     /**
      * pda根据物料码或物料名称搜索出单据
-     * @param name
+     * @param
      * @return
      */
     @PostMapping("/pdaSelectReceipt")
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/controller/ShipmentHeaderController.java b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/controller/ShipmentHeaderController.java
index 2963f1d..1af3c14 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/controller/ShipmentHeaderController.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/controller/ShipmentHeaderController.java
@@ -109,6 +109,15 @@ public class ShipmentHeaderController extends BaseController {
             }
         }
         String[] str_split=substring.split(",");
+
+        //电池包生产领料单
+        String shipmentType="";
+        if (StringUtils.isNotEmpty(shipmentHeader.getShipmentType())) {
+            shipmentType=shipmentHeader.getShipmentType();
+            if (shipmentHeader.getShipmentType().equals("DCB")) {
+                shipmentType="SCLLD";
+            }
+        }
         lambdaQueryWrapper.ge(StringUtils.isNotEmpty(createdBegin), ShipmentHeader::getCreated, createdBegin)
                 .le(StringUtils.isNotEmpty(createdEnd), ShipmentHeader::getCreated, createdEnd)
                 .eq(ShipmentHeader::getWarehouseCode, ShiroUtils.getWarehouseCode())
@@ -117,7 +126,7 @@ public class ShipmentHeaderController extends BaseController {
                 .in(StringUtils.isNotEmpty(customer.getCode()), ShipmentHeader::getCustomerCode,str_split)
                 //.in(StringUtils.isEmpty(shipmentHeader.getCompanyCode()), ShipmentHeader::getCompanyCode, ShiroUtils.getCompanyCodeList())
                 .eq(StringUtils.isNotEmpty(shipmentHeader.getCode()), ShipmentHeader::getCode, shipmentHeader.getCode())
-                .eq(StringUtils.isNotEmpty(shipmentHeader.getShipmentType()), ShipmentHeader::getShipmentType, shipmentHeader.getShipmentType())
+                .eq(StringUtils.isNotEmpty(shipmentType), ShipmentHeader::getShipmentType, shipmentType)
                 .eq(StringUtils.isNotEmpty(shipmentHeader.getReferCode()), ShipmentHeader::getReferCode, shipmentHeader.getReferCode())
                 .eq(StringUtils.isNotEmpty(shipmentHeader.getReferCodeType()), ShipmentHeader::getReferCodeType, shipmentHeader.getReferCodeType())
                 .eq(shipmentHeader.getFirstStatus() != null, ShipmentHeader::getFirstStatus, shipmentHeader.getFirstStatus())
@@ -129,12 +138,12 @@ public class ShipmentHeaderController extends BaseController {
         if(StringUtils.isNotEmpty(materialCode)){
             lambdaQueryWrapper.apply(" id in(select shipmentId from shipment_detail where materialCode ='"+materialCode+"' )");
         }
+        if(StringUtils.isNotEmpty(shipmentHeader.getShipmentType()) && shipmentHeader.getShipmentType().equals("DCB")){
+            lambdaQueryWrapper.apply(" id in(select shipmentId from shipment_detail where orderNo !='')");
+        }
         lambdaQueryWrapper.orderByDesc(ShipmentHeader::getId);
 
         if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)) {
-            /**
-             * 使用分页查询
-             */
             Page<ShipmentHeader> page = new Page<>(pageNum, pageSize);
             IPage<ShipmentHeader> iPage = shipmentHeaderService.page(page, lambdaQueryWrapper);
             return getMpDataTable(iPage.getRecords(), iPage.getTotal());
@@ -248,6 +257,56 @@ public class ShipmentHeaderController extends BaseController {
     }
 
     /**
+     * 电池包拆解(196开头物料的生成领料单回传mes)
+     */
+    @PostMapping("/toMes")
+    @RequiresPermissions("shipment:shipmentHeader:receive")
+    @ApiOperation(value = "出库单单据完成回传mes ", notes = "出库单单据完成回传mes ", httpMethod = "POST")
+    @Log(title = "出库-入库单 ", operating = "出库单单据完成回传mes ", action = BusinessType.OTHER)
+    @ResponseBody
+    public AjaxResult toMes(@ApiParam(name = "id", value = "出库头表id") Integer id) {
+        ShipmentHeader shipmentHeader = shipmentHeaderService.getById(id);
+        AjaxResult result = checkToMes(shipmentHeader);
+        if (result.getCode() != 200) {
+            return result;
+        }
+        AjaxResult ajaxResult = taskReturnService.toMes(shipmentHeader);
+        if (ajaxResult.getCode() == 200) {
+            return AjaxResult.success("回传成功");
+        }
+        return AjaxResult.error("回传MES失败:"+ajaxResult.getMsg());
+    }
+
+    private AjaxResult checkToMes(ShipmentHeader shipmentHeader) {
+        //判断是否是电池包的生产领料单
+        List<ShipmentDetail> shipmentDetailList = shipmentDetailService.list(new LambdaQueryWrapper<ShipmentDetail>().eq(ShipmentDetail::getShipmentId, shipmentHeader.getId()));
+        if (shipmentDetailList.size()==0) {
+            return AjaxResult.error("单据没有明细!");
+        }
+        String substring = shipmentDetailList.get(0).getMaterialCode().substring(0, 3);
+        if (!"196".equals(substring)) {
+            return AjaxResult.error("领料单不是电池包");
+        }
+        //非管理员只能回传3次
+        Set<String> set = iRoleService.selectRoleCodes(ShiroUtils.getUserId());
+        Boolean isAdmin = false;
+        for (String str : set) {
+            if (str.equals("admin")) {
+                isAdmin = true;
+            }
+        }
+        if (!isAdmin) {
+            if (shipmentHeader.getMesSuccessStatus() == 1) {
+                return AjaxResult.error("已成功,不能重复回传!");
+            }
+            if (shipmentHeader.getPushSuccessStatus() == 2 && shipmentHeader.getPushErrorCount() >= 3) {
+                return AjaxResult.error("回传失败次数超过3次,如需要再次回传请联系管理员!");
+            }
+        }
+        return AjaxResult.success();
+    }
+
+    /**
      * 出库单据回传给ERP
      */
     @PostMapping("/receive")
@@ -278,10 +337,10 @@ public class ShipmentHeaderController extends BaseController {
         }
         if (!isAdmin) {
             if (shipmentHeader.getPushSuccessStatus() == 1) {
-                return AjaxResult.error("已回传");
+                return AjaxResult.error("已成功,不能重复回传!");
             }
-            if (shipmentHeader.getPushSuccessStatus().intValue() == 2 && shipmentHeader.getPushErrorCount().intValue() >= 3) {
-                return AjaxResult.error("回传次数超过3次");
+            if (shipmentHeader.getPushSuccessStatus() == 2 && shipmentHeader.getPushErrorCount() >= 3) {
+                return AjaxResult.error("回传失败次数超过3次,如需要再次回传请联系管理员!");
             }
         }
         return AjaxResult.success();
@@ -316,24 +375,6 @@ public class ShipmentHeaderController extends BaseController {
 
 
     /**
-     * 订单分析
-     */
-//	@RequiresPermissions("shipment:bill:edit")
-//	@Log(title = "出库-出库单", operating="订单分析", action = BusinessType.OTHER)
-//	@PostMapping( "/analysis")
-//	@ResponseBody
-//	@Transactional
-//	public void analysis(String ids){
-//		if (StringUtils.isEmpty(ids))
-//			throw new ServiceException("id不能为空");
-//		for (Integer id : Convert.toIntArray(ids))
-//		{
-//
-//		}
-//
-//	}
-
-    /**
      * 加入波次
      */
     @GetMapping("/wave")
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/domain/ShipmentHeader.java b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/domain/ShipmentHeader.java
index 420a72b..7b65871 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/domain/ShipmentHeader.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/domain/ShipmentHeader.java
@@ -110,7 +110,7 @@ public class ShipmentHeader implements Serializable {
     private Integer firstStatus;
 
     /**
-     * 拖状态
+     * 头状态
      */
     @TableField(value = "lastStatus")
     @ApiModelProperty(value = "拖状态")
diff --git a/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html b/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html
index dafdea7..49ff356 100644
--- a/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html
+++ b/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html
@@ -329,7 +329,7 @@
                         // if (row.firstStatus == 300 && row.lastStatus == 300 &&receiptType=='SCRKD') {
                         //     actions.push('<a class="btn btn-info btn-xs ' + receiveFlag + '" href="#" onclick="receive(\''+row.id+'\')"><i class="fa fa-upload"></i>成品入库回传erp</a>');
                         // }
-                        if (row.firstStatus == 800 && row.lastStatus == 800 && row.receiptType!='CPRK') {
+                        if (row.firstStatus == 800 && row.lastStatus == 800 && row.receiptType!='CPRK' && row.pushSuccessStatus=='0' && row.pushSuccessStatus=='2') {
                             actions.push('<a class="btn btn-warning btn-xs ' + receiveFlag + '" href="#" onclick="receive(\''+row.id+'\')"><i class="fa fa-upload"></i>回传</a>');
                         }
                         if (row.firstStatus >= 200 && row.lastStatus < 800) {
diff --git a/src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html b/src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html
index 102a1e8..919dc1a 100644
--- a/src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html
+++ b/src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html
@@ -242,10 +242,10 @@
                            shiro:hasPermission="shipment:shippingCombination:combination">
                             <i class="fa fa-hand-lizard-o"></i> 组盘
                         </a>
-                                                <a class="btn btn-outline btn-primary btn-rounded auto-shipment" onclick="Toshipping(1)"
-                                                   shiro:hasPermission="shipment:shippingCombination:combination">
-                                                    <i class="fa fa-code-fork"></i> 自动组盘
-                                                </a>
+                        <a class="btn btn-outline btn-primary btn-rounded auto-shipment" onclick="Toshipping(1)"
+                           shiro:hasPermission="shipment:shippingCombination:combination">
+                            <i class="fa fa-code-fork"></i> 自动组盘
+                        </a>
 <!--                                                <a class="btn btn-outline btn-primary btn-rounded auto-shipment-task" onclick="Toshipping(2)"-->
 <!--                                                   shiro:hasPermission="shipment:shippingCombination:combination">-->
 <!--                                                    <i class="fa fa-code-fork"></i> 自动组盘并生成任务-->
@@ -320,6 +320,24 @@
                     }
                 },
                 {
+                    field: 'mesSuccessStatus',
+                    title: '回传MES',
+                    align: 'center',
+                    formatter: function(value, row, index) {
+                        console.log(row)
+                        if(value!==undefined &&row.shipmentType==='SCLLD'){
+                            if(value===0){
+                                return '<span style="color:black">未回传</span>'
+                            }else if(value===1){
+                                return '<span style="color:green">回传成功</span>'
+                            }else if(value===2 ) {
+                                return '<span style="color:#b90e0e">回传失败</span>'
+                            }
+                        }
+                        return '';
+                    }
+                },
+                {
                     title: '操作',
                     // align: 'center',
                     align: 'left',
@@ -335,8 +353,12 @@
                         if (row.firstStatus < 100) {
                             actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
                         }
-                        if (row.firstStatus == 500 && row.lastStatus == 500) {
-                            actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="#" onclick="receive(\'' + row.id + '\')"><i class="fa fa-upload"></i>回传</a>');
+                        if (row.firstStatus == 500 && row.lastStatus == 500 && row.pushSuccessStatus=='0' || row.pushSuccessStatus=='2' ) {
+                            actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="#" onclick="receive(\'' + row.id + '\')"><i class="fa fa-external-link"></i>回传ERP</a>');
+                        }
+
+                        if (row.firstStatus == 500 && row.lastStatus == 500 && row.shipmentType=='SCLLD' && row.mesSuccessStatus=='0'|| row.mesSuccessStatus=='2') {
+                            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>');
                         }
                         return actions.join('');
                     }
@@ -553,14 +575,11 @@
                 {
                     title: '操作',
                     align: 'center',
-                    formatter: function (value, row, index) {
+                    events:'operateEvents',
+                    formatter: function(value, row, index) {
                         var actions = [];
-                        if (row.status < 100) {
-                            actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
-                        }
-                        if (row.firstStatus == 500 && row.lastStatus == 500) {
-                            actions.push('<a class="btn btn-info btn-xs ' + receiveFlag + '" href="#" onclick="receive(\'' + row.id + '\')"><i class="fa fa-upload"></i>回传</a>');
-                        }
+                        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> ');
+                        actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>');
                         return actions.join('');
                     }
                 },
@@ -601,8 +620,12 @@
                     title: '库存数量'
                 },
                 {
-                    field: 'grossWeight',
-                    title: '毛重(kg)',
+                    field: 'orderNo',
+                    title: '工单号',
+                },
+                {
+                    field: 'batteryPackTwoCode',
+                    title: '电池包号',
                 },
                 {
                     field: 'tareWeight',
@@ -870,6 +893,12 @@
         $.operate.submit(url, "post", "json", data);
     }
 
+    function toMes(id) {
+        var url = prefix + "/toMes";
+        var data = {"id": id};
+        $.operate.submit(url, "post", "json", data);
+    }
+
     /* 编辑明细单据 */
     function edit(id) {
         if (shipmentId == '') {
--
libgit2 0.22.2