|
@@ -1,6 +1,7 @@
|
|
|
package com.steerinfo.dil.service.impl;
|
|
|
|
|
|
import com.alibaba.druid.support.json.JSONUtils;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.extension.api.R;
|
|
|
import com.steerinfo.dil.feign.AmsFeign;
|
|
|
import com.steerinfo.dil.feign.IMFeign;
|
|
@@ -587,21 +588,36 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
|
int result=0;
|
|
|
BigDecimal orderId =DataChange.dataToBigDecimal(map.get("orderId"));
|
|
|
Map<String, Object> mesMap = omstruckOrderSeparateMapper.getOrderMesByOrderId(orderId);
|
|
|
+ int orderType = DataChange.dataToBigDecimal(mesMap.get("orderType")).intValue();
|
|
|
//if((DataChange.dataToBigDecimal(mesMap.get("orderType")).intValue() == 1||DataChange.dataToBigDecimal(mesMap.get("orderType")).intValue() == 4)
|
|
|
// && DataChange.dataToBigDecimal(map.get("isAdmin")).intValue() == 0){
|
|
|
// throw new Exception("钢材订单不允许撤销!");
|
|
|
//}
|
|
|
- if(DataChange.dataToBigDecimal(mesMap.get("lineSqe")).intValue() >= 1 && DataChange.dataToBigDecimal(map.get("isAdmin")).intValue() == 0){
|
|
|
- throw new Exception("撤单失败");
|
|
|
+ //已计量,则不允许撤单
|
|
|
+ if(omstruckOrderSeparateMapper.countWeight(orderId) > 0 && DataChange.dataToBigDecimal(map.get("isAdmin")).intValue() == 0){
|
|
|
+ throw new Exception("已过磅,撤单失败!");
|
|
|
+ }
|
|
|
+ //如果是老区已进场或者内转,则删除计量委托
|
|
|
+ if(omstruckOrderSeparateMapper.countEnFactory(orderId) > 0 || orderType==11){
|
|
|
+ //获取运输订单号
|
|
|
+ String orderNumber = (String) mesMap.get("orderNumber");
|
|
|
+ //撤销订单的同时删除计量数据
|
|
|
+ String url = "http://172.16.33.122:44325/api/logistics/delEntrust";
|
|
|
+ String sendUrl = url + "?orderNumber=" + orderNumber;
|
|
|
+ String jsonData = getRequestUtils.doGet(sendUrl);
|
|
|
+ System.out.println(jsonData);
|
|
|
+ JSONObject jsonObject=null;
|
|
|
+ try{
|
|
|
+ jsonObject=JSONObject.parseObject(jsonData);
|
|
|
+ }catch (Exception e){
|
|
|
+ System.out.println("删除计量:回传解析失败");
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ //校验是否成功删除,失败则不允许撤单
|
|
|
+ if(jsonObject==null || "false".equals(jsonObject.getString("success"))){
|
|
|
+ throw new Exception("计量委托删除失败!");
|
|
|
+ }
|
|
|
}
|
|
|
- int orderType = DataChange.dataToBigDecimal(mesMap.get("orderType")).intValue();
|
|
|
- //获取运输订单号
|
|
|
- String orderNumber = (String) mesMap.get("orderNumber");
|
|
|
- //撤销订单的同时删除计量数据
|
|
|
- String url = "http://172.16.33.122:44325/api/logistics/delEntrust";
|
|
|
- String sendUrl = url + "?orderNumber=" + orderNumber;
|
|
|
- String jsonData = getRequestUtils.doGet(sendUrl);
|
|
|
- System.out.println(jsonData);
|
|
|
BigDecimal orderPlanId = DataChange.dataToBigDecimal(mesMap.get("orderPlanId"));
|
|
|
BigDecimal resultTotalId = DataChange.dataToBigDecimal(mesMap.get("resultTotalId"));
|
|
|
OmstruckOrder omstruckOrder = new OmstruckOrder();
|
|
@@ -625,7 +641,7 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
|
|
|
}
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
String dateStr = sdf.format(new Date());
|
|
|
- omstruckOrder.setInsertUpdateRemark(map.get("capacityNumber") + "司机撤销订单将订单删除," + "撤销时间:" + dateStr + "撤销时路段顺序号为:" + mesMap.get("lineSqe"));
|
|
|
+ omstruckOrder.setInsertUpdateRemark(map.get("capacityNumber") + "司机撤销订单将订单删除;撤单原因:"+map.get("reason") + ";撤销时间:" + dateStr + ";撤销时路段顺序号为:" + mesMap.get("lineSqe"));
|
|
|
//讲路段顺序号设为空,适应进厂以后扫码
|
|
|
omstruckOrder.setOrderLineSequence(new BigDecimal(0));
|
|
|
result += omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
|