修改
This commit is contained in:
@@ -4,6 +4,7 @@ package org.nl.wms.ext.acs.rest;
|
|||||||
|
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@@ -95,5 +96,12 @@ public class WmsToAcsController {
|
|||||||
return new ResponseEntity<>(wmsToAcsService.updateTask(arr), HttpStatus.OK);
|
return new ResponseEntity<>(wmsToAcsService.updateTask(arr), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/putPlusPullAction")
|
||||||
|
@Log("给ACS下发修改PLC的值")
|
||||||
|
@ApiOperation("给ACS下发修改PLC的值")
|
||||||
|
public ResponseEntity<Object> putPlusPullAction(@RequestBody JSONObject jo) {
|
||||||
|
return new ResponseEntity<>(wmsToAcsService.putPlusPullAction(jo), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -69,4 +69,13 @@ public interface WmsToAcsService {
|
|||||||
* @return JSONObject
|
* @return JSONObject
|
||||||
*/
|
*/
|
||||||
JSONObject action(JSONArray arr);
|
JSONObject action(JSONArray arr);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 下发拔轴机构任务
|
||||||
|
* @param jo /
|
||||||
|
* @return JSONObject
|
||||||
|
*/
|
||||||
|
JSONObject putPlusPullAction(JSONObject jo);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -59,6 +59,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Object> receiveTaskStatusAcs(String string) {
|
public Map<String, Object> receiveTaskStatusAcs(String string) {
|
||||||
|
log.info("receiveTaskStatusAcs请求参数:--------------------------------------"+string);
|
||||||
JSONArray array = JSONArray.parseArray(string);
|
JSONArray array = JSONArray.parseArray(string);
|
||||||
//返回处理失败的任务
|
//返回处理失败的任务
|
||||||
JSONArray errArr = new JSONArray();
|
JSONArray errArr = new JSONArray();
|
||||||
@@ -179,9 +180,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@LokiLog(type = LokiLogType.ACS_TO_LMS)
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public JSONObject apply(JSONObject whereJson) {
|
public JSONObject apply(JSONObject whereJson) {
|
||||||
|
log.info("apply请求参数:---------------------------------------------"+whereJson.toString());
|
||||||
String type = whereJson.getString("type");
|
String type = whereJson.getString("type");
|
||||||
String device_code = whereJson.getString("device_code");
|
String device_code = whereJson.getString("device_code");
|
||||||
String vehicle_code = whereJson.getString("vehicle_code");
|
String vehicle_code = whereJson.getString("vehicle_code");
|
||||||
@@ -409,6 +410,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public JSONObject deviceApply(JSONObject whereJson) {
|
public JSONObject deviceApply(JSONObject whereJson) {
|
||||||
|
log.info("deviceApply请求参数:---------------------------------------------"+whereJson.toString());
|
||||||
String vehicle_code = whereJson.getString("vehicle_code");
|
String vehicle_code = whereJson.getString("vehicle_code");
|
||||||
String type = whereJson.getString("type");
|
String type = whereJson.getString("type");
|
||||||
if (StrUtil.isEmpty(type)) {
|
if (StrUtil.isEmpty(type)) {
|
||||||
@@ -482,6 +484,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public JSONObject process(JSONObject whereJson) {
|
public JSONObject process(JSONObject whereJson) {
|
||||||
|
log.info("process请求参数:---------------------------------------------"+whereJson.toString());
|
||||||
String vehicle_code = whereJson.getString("vehicle_code");
|
String vehicle_code = whereJson.getString("vehicle_code");
|
||||||
String ext_task_id = whereJson.getString("ext_task_id");
|
String ext_task_id = whereJson.getString("ext_task_id");
|
||||||
String srcLocation = whereJson.getString("srcLocation");
|
String srcLocation = whereJson.getString("srcLocation");
|
||||||
|
|||||||
@@ -1,11 +1,17 @@
|
|||||||
package org.nl.wms.ext.acs.service.impl;
|
package org.nl.wms.ext.acs.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.hutool.http.HttpRequest;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.nl.modules.common.exception.BadRequestException;
|
||||||
|
import org.nl.modules.wql.util.SpringContextHolder;
|
||||||
|
import org.nl.system.service.param.impl.SysParamServiceImpl;
|
||||||
import org.nl.wms.ext.acs.service.WmsToAcsService;
|
import org.nl.wms.ext.acs.service.WmsToAcsService;
|
||||||
import org.nl.wms.sch.AcsUtil;
|
import org.nl.wms.sch.AcsUtil;
|
||||||
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -66,4 +72,43 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
|
|||||||
return AcsUtil.notifyAcs(api, whereJson);
|
return AcsUtil.notifyAcs(api, whereJson);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public JSONObject putPlusPullAction(JSONObject whereJson) {
|
||||||
|
String api = "api/wms/putPlusPullAction";
|
||||||
|
//判断是否连接ACS系统
|
||||||
|
String isConnect = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_connect_acs").getValue();
|
||||||
|
JSONObject result = new JSONObject();
|
||||||
|
if (StrUtil.equals("0", isConnect)) {
|
||||||
|
result.put("status", HttpStatus.OK.value());
|
||||||
|
result.put("message", "下发成功,但未连接ACS!");
|
||||||
|
result.put("data", new JSONObject());
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
//ACS地址:127.0.0.1:8010
|
||||||
|
String acsUrl = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("acs_url").getValue();
|
||||||
|
|
||||||
|
String url = acsUrl + api;
|
||||||
|
try {
|
||||||
|
String resultMsg = HttpRequest.post(url)
|
||||||
|
.body(String.valueOf(whereJson))
|
||||||
|
.execute().body();
|
||||||
|
result = JSONObject.parseObject(resultMsg);
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
String msg = e.getMessage();
|
||||||
|
//ConnectException: Connection refused: connect
|
||||||
|
//网络不通
|
||||||
|
System.out.println(msg);
|
||||||
|
result.put("status", HttpStatus.BAD_REQUEST);
|
||||||
|
result.put("message", "网络不通,操作失败!");
|
||||||
|
result.put("data", new JSONObject());
|
||||||
|
}
|
||||||
|
//acs抛异常这里
|
||||||
|
if (!StrUtil.equals(result.getString("status"), "200")) {
|
||||||
|
throw new BadRequestException("下发失败:"+result.getString("message"));
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -160,25 +160,22 @@ public class CasingServiceImpl implements CasingService {
|
|||||||
throw new BadRequestException("气涨轴未启用!");
|
throw new BadRequestException("气涨轴未启用!");
|
||||||
}
|
}
|
||||||
String storagevehicle_type = qzz_jo.getString("storagevehicle_type");
|
String storagevehicle_type = qzz_jo.getString("storagevehicle_type");
|
||||||
String to_command = "";
|
String to_size = "";
|
||||||
if (storagevehicle_type.equals("000101")){
|
if (storagevehicle_type.equals("000101")){
|
||||||
to_command = "1";
|
to_size = "3";
|
||||||
}
|
}
|
||||||
if (storagevehicle_type.equals("000102")){
|
if (storagevehicle_type.equals("000102")){
|
||||||
to_command = "2";
|
to_size = "6";
|
||||||
}
|
}
|
||||||
if (StrUtil.isEmpty(to_command)){
|
if (StrUtil.isEmpty(to_size)){
|
||||||
throw new BadRequestException("未查询到该气涨轴对应的类型!");
|
throw new BadRequestException("未查询到该气涨轴对应的类型!");
|
||||||
}
|
}
|
||||||
|
|
||||||
JSONArray rows = new JSONArray();
|
JSONObject device_jo = new JSONObject();
|
||||||
JSONObject jo = new JSONObject();
|
device_jo.put("device_code",whereJson.getString("point_code"));
|
||||||
jo.put("device_code",whereJson.getString("point_code"));
|
device_jo.put("type","1");
|
||||||
jo.put("code","to_command");
|
device_jo.put("size",to_size);
|
||||||
jo.put("value",to_command);
|
new WmsToAcsServiceImpl().putPlusPullAction(device_jo);
|
||||||
rows.add(jo);
|
|
||||||
new WmsToAcsServiceImpl().action(rows);
|
|
||||||
|
|
||||||
|
|
||||||
//下发ACS拔轴机构
|
//下发ACS拔轴机构
|
||||||
JSONObject result = new JSONObject();
|
JSONObject result = new JSONObject();
|
||||||
@@ -205,24 +202,22 @@ public class CasingServiceImpl implements CasingService {
|
|||||||
throw new BadRequestException("气涨轴未启用!");
|
throw new BadRequestException("气涨轴未启用!");
|
||||||
}
|
}
|
||||||
String storagevehicle_type = qzz_jo.getString("storagevehicle_type");
|
String storagevehicle_type = qzz_jo.getString("storagevehicle_type");
|
||||||
String to_command = "";
|
String to_size = "";
|
||||||
if (storagevehicle_type.equals("000101")){
|
if (storagevehicle_type.equals("000101")){
|
||||||
to_command = "1";
|
to_size = "3";
|
||||||
}
|
}
|
||||||
if (storagevehicle_type.equals("000102")){
|
if (storagevehicle_type.equals("000102")){
|
||||||
to_command = "2";
|
to_size = "6";
|
||||||
}
|
}
|
||||||
if (StrUtil.isEmpty(to_command)){
|
if (StrUtil.isEmpty(to_size)){
|
||||||
throw new BadRequestException("未查询到该气涨轴对应的类型!");
|
throw new BadRequestException("未查询到该气涨轴对应的类型!");
|
||||||
}
|
}
|
||||||
|
|
||||||
JSONArray rows = new JSONArray();
|
JSONObject device_jo = new JSONObject();
|
||||||
JSONObject jo = new JSONObject();
|
device_jo.put("device_code",whereJson.getString("point_code"));
|
||||||
jo.put("device_code",whereJson.getString("point_code"));
|
device_jo.put("type","0");
|
||||||
jo.put("code","to_command");
|
device_jo.put("size",to_size);
|
||||||
jo.put("value",to_command);
|
new WmsToAcsServiceImpl().putPlusPullAction(device_jo);
|
||||||
rows.add(jo);
|
|
||||||
new WmsToAcsServiceImpl().action(rows);
|
|
||||||
|
|
||||||
|
|
||||||
//下发ACS拔轴机构
|
//下发ACS拔轴机构
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ public class PointStatusServiceImpl implements PointStatusService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//查询该编码是否属于母卷
|
//查询该编码是否属于母卷
|
||||||
JSONObject raw_jo = WQLObject.getWQLObject("pdm_bi_rawfoilworkorder").query("container_name = '"+container_name+"' AND is_delete = '0'").uniqueResult(0);
|
JSONObject raw_jo = WQLObject.getWQLObject("pdm_bi_rawfoilworkorder").query("container_name = '" + container_name + "' AND is_delete = '0'").uniqueResult(0);
|
||||||
//查询该点对应的是什么位置
|
//查询该点对应的是什么位置
|
||||||
JSONObject cut_point = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("full_point_code = '" + point_code + "'").uniqueResult(0);
|
JSONObject cut_point = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("full_point_code = '" + point_code + "'").uniqueResult(0);
|
||||||
if (ObjectUtil.isNotEmpty(cut_point)) {
|
if (ObjectUtil.isNotEmpty(cut_point)) {
|
||||||
@@ -46,7 +46,7 @@ public class PointStatusServiceImpl implements PointStatusService {
|
|||||||
if (StrUtil.isNotEmpty(now_container_name)) {
|
if (StrUtil.isNotEmpty(now_container_name)) {
|
||||||
throw new BadRequestException("该点位上已存在母卷,不能进行绑定!");
|
throw new BadRequestException("该点位上已存在母卷,不能进行绑定!");
|
||||||
}
|
}
|
||||||
if (ObjectUtil.isEmpty(raw_jo)){
|
if (ObjectUtil.isEmpty(raw_jo)) {
|
||||||
throw new BadRequestException("请输入正确的母卷号!");
|
throw new BadRequestException("请输入正确的母卷号!");
|
||||||
}
|
}
|
||||||
cut_point.put("container_name", container_name);
|
cut_point.put("container_name", container_name);
|
||||||
@@ -58,32 +58,50 @@ public class PointStatusServiceImpl implements PointStatusService {
|
|||||||
if (StrUtil.isNotEmpty(empty_vehicle_code)) {
|
if (StrUtil.isNotEmpty(empty_vehicle_code)) {
|
||||||
throw new BadRequestException("该点位上已存在空轴,不能进行绑定!");
|
throw new BadRequestException("该点位上已存在空轴,不能进行绑定!");
|
||||||
}
|
}
|
||||||
if (ObjectUtil.isNotEmpty(raw_jo)){
|
if (ObjectUtil.isNotEmpty(raw_jo)) {
|
||||||
throw new BadRequestException("请输入正确的空轴号!");
|
throw new BadRequestException("请输入正确的空轴号!");
|
||||||
}
|
}
|
||||||
cut_point.put("empty_vehicle_code", container_name);
|
cut_point.put("empty_vehicle_code", container_name);
|
||||||
cut_point.put("empty_point_status", "02");
|
cut_point.put("empty_point_status", "02");
|
||||||
} else {
|
} else {
|
||||||
throw new BadRequestException("未查询到对应的分切点!");
|
//查询烘箱对接位的点位状态
|
||||||
|
JSONObject point_jo = WQLObject.getWQLObject("sch_base_point").query("point_code = '" + point_code + "'").uniqueResult(0);
|
||||||
|
if (ObjectUtil.isNotEmpty(point_jo)) {
|
||||||
|
String material_code = point_jo.getString("material_code");
|
||||||
|
if (StrUtil.isNotEmpty(material_code)) {
|
||||||
|
throw new BadRequestException("该点位上已存在空轴,不能进行绑定!");
|
||||||
|
}
|
||||||
|
if (ObjectUtil.isEmpty(raw_jo)) {
|
||||||
|
throw new BadRequestException("请输入正确的母卷号!");
|
||||||
|
}
|
||||||
|
point_jo.put("material_code", container_name);
|
||||||
|
point_jo.put("point_status", "2");
|
||||||
|
WQLObject.getWQLObject("sch_base_point").update(point_jo);
|
||||||
|
} else {
|
||||||
|
throw new BadRequestException("未查询到对应的分切机点位或烘箱对接位!!");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
WQLObject.getWQLObject("ST_IVT_CutPointIvt").update(cut_point);
|
|
||||||
|
if (ObjectUtil.isNotEmpty(cut_point)) {
|
||||||
|
WQLObject.getWQLObject("ST_IVT_CutPointIvt").update(cut_point);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
JSONObject cut_jo = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("parent_container_name = '"+container_name+"' AND IFNULL(is_parent_ok,'0') = '0'").uniqueResult(0);
|
JSONObject cut_jo = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("parent_container_name = '" + container_name + "' AND IFNULL(is_parent_ok,'0') = '0'").uniqueResult(0);
|
||||||
if (ObjectUtil.isNotEmpty(cut_jo)){
|
if (ObjectUtil.isNotEmpty(cut_jo)) {
|
||||||
//更新该母卷对应分切计划的状态
|
//更新该母卷对应分切计划的状态
|
||||||
HashMap<String,String> map = new HashMap<>();
|
HashMap<String, String> map = new HashMap<>();
|
||||||
map.put("is_parent_ok","1");
|
map.put("is_parent_ok", "1");
|
||||||
WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").update(map,"parent_container_name = '"+container_name+"'");
|
WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").update(map, "parent_container_name = '" + container_name + "'");
|
||||||
|
|
||||||
//回传MES
|
//回传MES
|
||||||
JSONObject mom_jo = new JSONObject();
|
JSONObject mom_jo = new JSONObject();
|
||||||
mom_jo.put("contain_name",container_name);
|
mom_jo.put("contain_name", container_name);
|
||||||
mom_jo.put("warehouse","1");
|
mom_jo.put("warehouse", "1");
|
||||||
//判断该接口是否需要回传
|
//判断该接口是否需要回传
|
||||||
JSONObject back_jo = WQLObject.getWQLObject("MD_PB_InterfaceBack").query("interface_name = 'momRollSemiFGInboundComplete'").uniqueResult(0);
|
JSONObject back_jo = WQLObject.getWQLObject("MD_PB_InterfaceBack").query("interface_name = 'momRollSemiFGInboundComplete'").uniqueResult(0);
|
||||||
if (ObjectUtil.isNotEmpty(back_jo) && back_jo.getString("is_back").equals("1")){
|
if (ObjectUtil.isNotEmpty(back_jo) && back_jo.getString("is_back").equals("1")) {
|
||||||
lmsToMesService.cutPlanMomRollDeliveryComplete(mom_jo);
|
lmsToMesService.cutPlanMomRollDeliveryComplete(mom_jo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -101,10 +119,21 @@ public class PointStatusServiceImpl implements PointStatusService {
|
|||||||
cut_point.put("empty_vehicle_code", "");
|
cut_point.put("empty_vehicle_code", "");
|
||||||
cut_point.put("empty_point_status", "01");
|
cut_point.put("empty_point_status", "01");
|
||||||
} else {
|
} else {
|
||||||
throw new BadRequestException("未查询到对应的分切点!");
|
//查询烘箱对接位的点位状态
|
||||||
|
JSONObject point_jo = WQLObject.getWQLObject("sch_base_point").query("point_code = '" + point_code + "'").uniqueResult(0);
|
||||||
|
if (ObjectUtil.isNotEmpty(point_jo)) {
|
||||||
|
point_jo.put("material_code", "");
|
||||||
|
point_jo.put("point_status", "1");
|
||||||
|
WQLObject.getWQLObject("sch_base_point").update(point_jo);
|
||||||
|
} else {
|
||||||
|
throw new BadRequestException("未查询到对应的分切机点位或烘箱对接位!");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
WQLObject.getWQLObject("ST_IVT_CutPointIvt").update(cut_point);
|
if (ObjectUtil.isNotEmpty(cut_point)) {
|
||||||
|
WQLObject.getWQLObject("ST_IVT_CutPointIvt").update(cut_point);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JSONObject jo = new JSONObject();
|
JSONObject jo = new JSONObject();
|
||||||
@@ -125,14 +154,14 @@ public class PointStatusServiceImpl implements PointStatusService {
|
|||||||
cut_point = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("empty_point_code = '" + point_code + "'").uniqueResult(0);
|
cut_point = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("empty_point_code = '" + point_code + "'").uniqueResult(0);
|
||||||
if (ObjectUtil.isEmpty(cut_point)) {
|
if (ObjectUtil.isEmpty(cut_point)) {
|
||||||
//查询烘箱对接位的点位状态
|
//查询烘箱对接位的点位状态
|
||||||
JSONObject point_jo = WQLObject.getWQLObject("sch_base_point").query("point_code = '"+point_code+"'").uniqueResult(0);
|
JSONObject point_jo = WQLObject.getWQLObject("sch_base_point").query("point_code = '" + point_code + "'").uniqueResult(0);
|
||||||
if (ObjectUtil.isEmpty(point_jo)){
|
if (ObjectUtil.isEmpty(point_jo)) {
|
||||||
throw new BadRequestException("未查询到对应的分切机点位或烘箱对接位!!");
|
throw new BadRequestException("未查询到对应的分切机点位或烘箱对接位!!");
|
||||||
}
|
}
|
||||||
vehicle_code = point_jo.getString("material_code");
|
vehicle_code = point_jo.getString("material_code");
|
||||||
if (StrUtil.isNotEmpty(vehicle_code)){
|
if (StrUtil.isNotEmpty(vehicle_code)) {
|
||||||
have_goods = "02";
|
have_goods = "02";
|
||||||
}else {
|
} else {
|
||||||
have_goods = "01";
|
have_goods = "01";
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -145,9 +174,9 @@ public class PointStatusServiceImpl implements PointStatusService {
|
|||||||
}
|
}
|
||||||
JSONObject jo = new JSONObject();
|
JSONObject jo = new JSONObject();
|
||||||
jo.put("container_name", vehicle_code);
|
jo.put("container_name", vehicle_code);
|
||||||
if (have_goods.equals("01")){
|
if (have_goods.equals("01")) {
|
||||||
have_goods = "否";
|
have_goods = "否";
|
||||||
}else {
|
} else {
|
||||||
have_goods = "是";
|
have_goods = "是";
|
||||||
}
|
}
|
||||||
jo.put("have_goods", have_goods);
|
jo.put("have_goods", have_goods);
|
||||||
|
|||||||
@@ -5,17 +5,24 @@ import cn.hutool.core.util.StrUtil;
|
|||||||
import cn.hutool.http.HttpRequest;
|
import cn.hutool.http.HttpRequest;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.nl.modules.common.exception.BadRequestException;
|
import org.nl.modules.common.exception.BadRequestException;
|
||||||
|
|
||||||
|
import org.nl.modules.wql.core.bean.WQLObject;
|
||||||
import org.nl.modules.wql.util.SpringContextHolder;
|
import org.nl.modules.wql.util.SpringContextHolder;
|
||||||
import org.nl.system.service.param.impl.SysParamServiceImpl;
|
import org.nl.system.service.param.impl.SysParamServiceImpl;
|
||||||
|
import org.nl.wms.sch.manage.TaskStatusEnum;
|
||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ACS连接工具类:
|
* ACS连接工具类:
|
||||||
*/
|
*/
|
||||||
|
@Slf4j
|
||||||
public class AcsUtil {
|
public class AcsUtil {
|
||||||
public static JSONObject notifyAcs(String api, JSONArray list) {
|
public static JSONObject notifyAcs(String api, JSONArray list) {
|
||||||
|
log.info("下发ACS参数----------------------------------------+"+api+",---"+list.toString());
|
||||||
//判断是否连接ACS系统
|
//判断是否连接ACS系统
|
||||||
String isConnect = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_connect_acs").getValue();
|
String isConnect = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_connect_acs").getValue();
|
||||||
JSONObject result = new JSONObject();
|
JSONObject result = new JSONObject();
|
||||||
@@ -35,6 +42,7 @@ public class AcsUtil {
|
|||||||
.body(String.valueOf(list))
|
.body(String.valueOf(list))
|
||||||
.execute().body();
|
.execute().body();
|
||||||
result = JSONObject.parseObject(resultMsg);
|
result = JSONObject.parseObject(resultMsg);
|
||||||
|
log.info("ACS相应参数----------------------------------------+"+api+",---"+result.toString());
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
String msg = e.getMessage();
|
String msg = e.getMessage();
|
||||||
@@ -48,6 +56,16 @@ public class AcsUtil {
|
|||||||
//acs抛异常这里
|
//acs抛异常这里
|
||||||
if (!StrUtil.equals(result.getString("status"), "200")) {
|
if (!StrUtil.equals(result.getString("status"), "200")) {
|
||||||
throw new BadRequestException("下发失败:"+result.getString("message"));
|
throw new BadRequestException("下发失败:"+result.getString("message"));
|
||||||
|
}else {
|
||||||
|
//如果向ACS下发任务,变更任务状态为下发
|
||||||
|
if (api.equals("api/wms/task")){
|
||||||
|
for (int i = 0; i < list.size(); i++) {
|
||||||
|
JSONObject task_jo = list.getJSONObject(i);
|
||||||
|
HashMap<String,String> map = new HashMap<>();
|
||||||
|
map.put("task_status", TaskStatusEnum.ISSUE.getCode());
|
||||||
|
WQLObject.getWQLObject("SCH_BASE_Task").update(map,"task_id = '"+task_jo.getString("ext_task_id")+"'");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -230,11 +230,13 @@ public class CutConveyorTask extends AbstractAcsTask {
|
|||||||
String point_code2 = form.getString("point_code2");
|
String point_code2 = form.getString("point_code2");
|
||||||
JSONObject point1_jo = WQLObject.getWQLObject("sch_base_point").query("point_code = '" + point_code1 + "'").uniqueResult(0);
|
JSONObject point1_jo = WQLObject.getWQLObject("sch_base_point").query("point_code = '" + point_code1 + "'").uniqueResult(0);
|
||||||
JSONObject point2_jo = WQLObject.getWQLObject("sch_base_point").query("point_code = '" + point_code2 + "'").uniqueResult(0);
|
JSONObject point2_jo = WQLObject.getWQLObject("sch_base_point").query("point_code = '" + point_code2 + "'").uniqueResult(0);
|
||||||
if (isSingleTask(point_code1) && !point1_jo.getString("point_type").equals("6") && !point1_jo.getString("point_type").equals("7")) {
|
if (!form.getString("task_type").equals("010507")){
|
||||||
throw new BadRequestException("点位:" + point_code1 + "存在未完成的任务!");
|
if (isSingleTask(point_code1) && !point1_jo.getString("point_type").equals("6") && !point1_jo.getString("point_type").equals("7")) {
|
||||||
}
|
throw new BadRequestException("点位:" + point_code1 + "存在未完成的任务!");
|
||||||
if (isSingleTask(point_code2) && !point2_jo.getString("point_type").equals("6") && !point2_jo.getString("point_type").equals("7")) {
|
}
|
||||||
throw new BadRequestException("点位:" + point_code2 + "存在未完成的任务!");
|
if (isSingleTask(point_code2) && !point2_jo.getString("point_type").equals("6") && !point2_jo.getString("point_type").equals("7")) {
|
||||||
|
throw new BadRequestException("点位:" + point_code2 + "存在未完成的任务!");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
JSONObject json = new JSONObject();
|
JSONObject json = new JSONObject();
|
||||||
json.put("task_id", IdUtil.getSnowflake(1, 1).nextId());
|
json.put("task_id", IdUtil.getSnowflake(1, 1).nextId());
|
||||||
|
|||||||
@@ -97,8 +97,14 @@ public class HandMoveStorAcsTask extends AbstractAcsTask {
|
|||||||
}else if("2".equals(status)){
|
}else if("2".equals(status)){
|
||||||
HandMoveStorServiceImpl handMoveStorServiceImpl = SpringContextHolder.getBean(HandMoveStorServiceImpl.class);
|
HandMoveStorServiceImpl handMoveStorServiceImpl = SpringContextHolder.getBean(HandMoveStorServiceImpl.class);
|
||||||
handMoveStorServiceImpl.finishTask(task);
|
handMoveStorServiceImpl.finishTask(task);
|
||||||
}else if("3".equals(status)){
|
}else if("0".equals(status)){
|
||||||
|
map.put("work_status","01");
|
||||||
|
wo_dtl.update(map,"task_id='"+task_id+"'");
|
||||||
|
map.put("is_delete","1");
|
||||||
|
map.put("update_optid",currentUserId+"");
|
||||||
|
map.put("update_optname",nickName);
|
||||||
|
map.put("update_time",now);
|
||||||
|
wo_Task.update(map,"task_id='"+task_id+"'");
|
||||||
}else{
|
}else{
|
||||||
throw new BadRequestException("任务状态更新异常!");
|
throw new BadRequestException("任务状态更新异常!");
|
||||||
}
|
}
|
||||||
@@ -141,10 +147,14 @@ public class HandMoveStorAcsTask extends AbstractAcsTask {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param taskdtl_id
|
* @param task_id
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void cancel(String taskdtl_id) {
|
public void cancel(String task_id) {
|
||||||
|
JSONObject task_jo = WQLObject.getWQLObject("sch_base_task").query("task_id = '"+task_id+"'").uniqueResult(0);
|
||||||
|
if (!task_jo.getString("task_status").equals(TaskStatusEnum.START_AND_POINT)){
|
||||||
|
throw new BadRequestException("只能对未生成状态的任务进行删除!");
|
||||||
|
}
|
||||||
|
this.updateTaskStatus(task_jo, "0");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -146,6 +146,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
|
|||||||
|
|
||||||
jo_mst.put("upload_mes", "1");
|
jo_mst.put("upload_mes", "1");
|
||||||
jo_mst.put("is_upload", "1");
|
jo_mst.put("is_upload", "1");
|
||||||
|
jo_mst.put("upload_optid", SecurityUtils.getCurrentUserId());
|
||||||
|
jo_mst.put("upload_time", DateUtil.now());
|
||||||
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
|
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -170,6 +172,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
|
|||||||
|
|
||||||
jo_mst.put("upload_mes", "1");
|
jo_mst.put("upload_mes", "1");
|
||||||
jo_mst.put("is_upload", "1");
|
jo_mst.put("is_upload", "1");
|
||||||
|
jo_mst.put("upload_optid", SecurityUtils.getCurrentUserId());
|
||||||
|
jo_mst.put("upload_time", DateUtil.now());
|
||||||
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
|
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -206,6 +210,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
|
|||||||
jo_mst.put("upload_mes", "1");
|
jo_mst.put("upload_mes", "1");
|
||||||
if (jo_mst.getString("upload_sap").equals("1")) {
|
if (jo_mst.getString("upload_sap").equals("1")) {
|
||||||
jo_mst.put("is_upload", "1");
|
jo_mst.put("is_upload", "1");
|
||||||
|
jo_mst.put("upload_optid", SecurityUtils.getCurrentUserId());
|
||||||
|
jo_mst.put("upload_time", DateUtil.now());
|
||||||
}
|
}
|
||||||
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
|
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
|
||||||
}
|
}
|
||||||
@@ -242,6 +248,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
|
|||||||
|
|
||||||
jo_mst.put("upload_mes", "1");
|
jo_mst.put("upload_mes", "1");
|
||||||
jo_mst.put("is_upload", "1");
|
jo_mst.put("is_upload", "1");
|
||||||
|
jo_mst.put("upload_optid", SecurityUtils.getCurrentUserId());
|
||||||
|
jo_mst.put("upload_time", DateUtil.now());
|
||||||
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
|
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -263,6 +271,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
|
|||||||
jo_mst.put("upload_mes", "1");
|
jo_mst.put("upload_mes", "1");
|
||||||
if (jo_mst.getString("upload_sap").equals("1")) {
|
if (jo_mst.getString("upload_sap").equals("1")) {
|
||||||
jo_mst.put("is_upload", "1");
|
jo_mst.put("is_upload", "1");
|
||||||
|
jo_mst.put("upload_optid", SecurityUtils.getCurrentUserId());
|
||||||
|
jo_mst.put("upload_time", DateUtil.now());
|
||||||
}
|
}
|
||||||
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
|
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
|
||||||
}
|
}
|
||||||
@@ -357,6 +367,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
|
|||||||
|
|
||||||
jo_mst.put("upload_sap", "1");
|
jo_mst.put("upload_sap", "1");
|
||||||
jo_mst.put("is_upload", "1");
|
jo_mst.put("is_upload", "1");
|
||||||
|
jo_mst.put("upload_optid", SecurityUtils.getCurrentUserId());
|
||||||
|
jo_mst.put("upload_time", DateUtil.now());
|
||||||
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
|
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -498,6 +510,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
|
|||||||
jo_mst.put("upload_sap", "1");
|
jo_mst.put("upload_sap", "1");
|
||||||
if (jo_mst.getString("upload_mes").equals("1") || is_productstore.equals("0")) {
|
if (jo_mst.getString("upload_mes").equals("1") || is_productstore.equals("0")) {
|
||||||
jo_mst.put("is_upload", "1");
|
jo_mst.put("is_upload", "1");
|
||||||
|
jo_mst.put("upload_optid", SecurityUtils.getCurrentUserId());
|
||||||
|
jo_mst.put("upload_time", DateUtil.now());
|
||||||
}
|
}
|
||||||
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
|
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
|
||||||
}
|
}
|
||||||
@@ -559,6 +573,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
|
|||||||
jo_mst.put("upload_sap", "1");
|
jo_mst.put("upload_sap", "1");
|
||||||
if (jo_mst.getString("upload_mes").equals("1")) {
|
if (jo_mst.getString("upload_mes").equals("1")) {
|
||||||
jo_mst.put("is_upload", "1");
|
jo_mst.put("is_upload", "1");
|
||||||
|
jo_mst.put("upload_optid", SecurityUtils.getCurrentUserId());
|
||||||
|
jo_mst.put("upload_time", DateUtil.now());
|
||||||
}
|
}
|
||||||
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
|
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
|
||||||
}
|
}
|
||||||
@@ -790,6 +806,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
|
|||||||
|
|
||||||
jo_mst.put("upload_mes", "1");
|
jo_mst.put("upload_mes", "1");
|
||||||
jo_mst.put("is_upload", "1");
|
jo_mst.put("is_upload", "1");
|
||||||
|
jo_mst.put("upload_optid", SecurityUtils.getCurrentUserId());
|
||||||
|
jo_mst.put("upload_time", DateUtil.now());
|
||||||
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
|
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -886,6 +904,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
|
|||||||
|
|
||||||
jo_mst.put("upload_mes", "1");
|
jo_mst.put("upload_mes", "1");
|
||||||
jo_mst.put("is_upload", "1");
|
jo_mst.put("is_upload", "1");
|
||||||
|
jo_mst.put("upload_optid", SecurityUtils.getCurrentUserId());
|
||||||
|
jo_mst.put("upload_time", DateUtil.now());
|
||||||
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
|
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -987,6 +1007,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
|
|||||||
jo_mst.put("upload_mes", "1");
|
jo_mst.put("upload_mes", "1");
|
||||||
}
|
}
|
||||||
jo_mst.put("is_upload", "1");
|
jo_mst.put("is_upload", "1");
|
||||||
|
jo_mst.put("upload_optid", SecurityUtils.getCurrentUserId());
|
||||||
|
jo_mst.put("upload_time", DateUtil.now());
|
||||||
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
|
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1039,6 +1061,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
|
|||||||
|
|
||||||
jo_mst.put("upload_mes", "1");
|
jo_mst.put("upload_mes", "1");
|
||||||
jo_mst.put("is_upload", "1");
|
jo_mst.put("is_upload", "1");
|
||||||
|
jo_mst.put("upload_optid", SecurityUtils.getCurrentUserId());
|
||||||
|
jo_mst.put("upload_time", DateUtil.now());
|
||||||
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
|
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1074,6 +1098,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
|
|||||||
|
|
||||||
jo_mst.put("upload_mes", "1");
|
jo_mst.put("upload_mes", "1");
|
||||||
jo_mst.put("is_upload", "1");
|
jo_mst.put("is_upload", "1");
|
||||||
|
jo_mst.put("upload_optid", SecurityUtils.getCurrentUserId());
|
||||||
|
jo_mst.put("upload_time", DateUtil.now());
|
||||||
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
|
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
29
lms/nladmin-system/src/main/resources/log/ACSToMes.xml
Normal file
29
lms/nladmin-system/src/main/resources/log/ACSToMes.xml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<included>
|
||||||
|
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
|
||||||
|
<property name="LOG_HOME" value="${logPath}"/>
|
||||||
|
<!-- 按照每天生成日志文件 -->
|
||||||
|
<appender name="FILE5" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||||
|
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
||||||
|
<!--日志文件输出的文件名-->
|
||||||
|
<FileNamePattern>${LOG_HOME}/ACSToMes/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
|
||||||
|
<!--日志文件保留天数-->
|
||||||
|
<maxHistory>15</maxHistory>
|
||||||
|
<!--单个日志最大容量 至少10MB才能看得出来-->
|
||||||
|
<maxFileSize>200MB</maxFileSize>
|
||||||
|
<!--所有日志最多占多大容量-->
|
||||||
|
<totalSizeCap>20GB</totalSizeCap>
|
||||||
|
</rollingPolicy>
|
||||||
|
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
||||||
|
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
|
||||||
|
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
|
||||||
|
<charset>${log.charset}</charset>
|
||||||
|
</encoder>
|
||||||
|
</appender>
|
||||||
|
|
||||||
|
<logger name="org.nl.wms.ext.acs.service.impl.AcsToWmsServiceImpl" level="info" additivity="false">
|
||||||
|
<appender-ref ref="FILE5"/>
|
||||||
|
</logger>
|
||||||
|
|
||||||
|
<!-- 打印sql -->
|
||||||
|
</included>
|
||||||
29
lms/nladmin-system/src/main/resources/log/MesToACS.xml
Normal file
29
lms/nladmin-system/src/main/resources/log/MesToACS.xml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<included>
|
||||||
|
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
|
||||||
|
<property name="LOG_HOME" value="${logPath}"/>
|
||||||
|
<!-- 按照每天生成日志文件 -->
|
||||||
|
<appender name="FILE6" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||||
|
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
||||||
|
<!--日志文件输出的文件名-->
|
||||||
|
<FileNamePattern>${LOG_HOME}/MesToACS/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
|
||||||
|
<!--日志文件保留天数-->
|
||||||
|
<maxHistory>15</maxHistory>
|
||||||
|
<!--单个日志最大容量 至少10MB才能看得出来-->
|
||||||
|
<maxFileSize>200MB</maxFileSize>
|
||||||
|
<!--所有日志最多占多大容量-->
|
||||||
|
<totalSizeCap>20GB</totalSizeCap>
|
||||||
|
</rollingPolicy>
|
||||||
|
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
||||||
|
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
|
||||||
|
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
|
||||||
|
<charset>${log.charset}</charset>
|
||||||
|
</encoder>
|
||||||
|
</appender>
|
||||||
|
|
||||||
|
<logger name="org.nl.wms.sch.AcsUtil" level="info" additivity="false">
|
||||||
|
<appender-ref ref="FILE6"/>
|
||||||
|
</logger>
|
||||||
|
|
||||||
|
<!-- 打印sql -->
|
||||||
|
</included>
|
||||||
@@ -24,6 +24,8 @@ https://juejin.cn/post/6844903775631572999
|
|||||||
<include resource="log/LmsToSap.xml"/>
|
<include resource="log/LmsToSap.xml"/>
|
||||||
<include resource="log/MesToLms.xml"/>
|
<include resource="log/MesToLms.xml"/>
|
||||||
<include resource="log/SapToLms.xml"/>
|
<include resource="log/SapToLms.xml"/>
|
||||||
|
<include resource="log/ACSToMes.xml"/>
|
||||||
|
<include resource="log/MesToACS.xml"/>
|
||||||
|
|
||||||
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
||||||
<encoder>
|
<encoder>
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
<span class="el-dialog__title2">入库分配</span>
|
<span class="el-dialog__title2">入库分配</span>
|
||||||
<span class="crud-opts-right2">
|
<span class="crud-opts-right2">
|
||||||
<!--左侧插槽-->
|
<!--左侧插槽-->
|
||||||
<slot name="left" />
|
<slot name="left"/>
|
||||||
<el-button slot="left" type="info" @click="dialogVisible = false">关闭</el-button>
|
<el-button slot="left" type="info" @click="dialogVisible = false">关闭</el-button>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -51,19 +51,19 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column show-overflow-tooltip prop="box_no" width="250" label="木箱号" align="center" />
|
<el-table-column show-overflow-tooltip prop="box_no" width="250" label="木箱号" align="center"/>
|
||||||
<el-table-column show-overflow-tooltip prop="material_code" label="物料编码" align="center" />
|
<el-table-column show-overflow-tooltip prop="material_code" label="物料编码" align="center"/>
|
||||||
<el-table-column show-overflow-tooltip prop="material_name" label="物料名称" align="center" />
|
<el-table-column show-overflow-tooltip prop="material_name" label="物料名称" align="center"/>
|
||||||
<el-table-column show-overflow-tooltip prop="pcsn" label="子卷号" align="center" />
|
<el-table-column show-overflow-tooltip prop="pcsn" label="子卷号" align="center"/>
|
||||||
<el-table-column show-overflow-tooltip prop="sap_pcsn" label="SAP批次" align="center" />
|
<el-table-column show-overflow-tooltip prop="sap_pcsn" label="SAP批次" align="center"/>
|
||||||
<el-table-column show-overflow-tooltip prop="plan_qty" :formatter="crud.formatNum3" label="重量" align="center" />
|
<el-table-column show-overflow-tooltip prop="plan_qty" :formatter="crud.formatNum3" label="重量" align="center"/>
|
||||||
<!-- <el-table-column show-overflow-tooltip prop="assign_qty" :formatter="crud.formatNum3" label="已分配数量"
|
<!-- <el-table-column show-overflow-tooltip prop="assign_qty" :formatter="crud.formatNum3" label="已分配数量"
|
||||||
align="center"/>
|
align="center"/>
|
||||||
<el-table-column show-overflow-tooltip prop="unassign_qty" :formatter="crud.formatNum3" label="未分配数量"
|
<el-table-column show-overflow-tooltip prop="unassign_qty" :formatter="crud.formatNum3" label="未分配数量"
|
||||||
align="center"/>-->
|
align="center"/>-->
|
||||||
<el-table-column show-overflow-tooltip prop="qty_unit_name" label="单位" align="center" />
|
<el-table-column show-overflow-tooltip prop="qty_unit_name" label="单位" align="center"/>
|
||||||
<el-table-column show-overflow-tooltip prop="source_bill_type_name" label="源单类型" align="center" />
|
<el-table-column show-overflow-tooltip prop="source_bill_type_name" label="源单类型" align="center"/>
|
||||||
<el-table-column show-overflow-tooltip prop="source_bill_code" label="源单编号" align="center" />
|
<el-table-column show-overflow-tooltip prop="source_bill_code" label="源单编号" align="center"/>
|
||||||
</el-table>
|
</el-table>
|
||||||
</el-card>
|
</el-card>
|
||||||
<el-card class="box-card" shadow="never" :body-style="{padding:'20px 20px 0 20px'}">
|
<el-card class="box-card" shadow="never" :body-style="{padding:'20px 20px 0 20px'}">
|
||||||
@@ -132,7 +132,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<span class="crud-opts-right2">
|
<span class="crud-opts-right2">
|
||||||
<!--左侧插槽-->
|
<!--左侧插槽-->
|
||||||
<slot name="left" />
|
<slot name="left"/>
|
||||||
<!--<el-button
|
<!--<el-button
|
||||||
slot="left"
|
slot="left"
|
||||||
class="filter-item"
|
class="filter-item"
|
||||||
@@ -196,15 +196,15 @@
|
|||||||
border
|
border
|
||||||
:header-cell-style="{background:'#f5f7fa',color:'#606266'}"
|
:header-cell-style="{background:'#f5f7fa',color:'#606266'}"
|
||||||
>
|
>
|
||||||
<el-table-column show-overflow-tooltip type="index" label="序号" align="center" />
|
<el-table-column show-overflow-tooltip type="index" label="序号" align="center"/>
|
||||||
<el-table-column show-overflow-tooltip prop="box_no" width="250" label="木箱号" align="center" />
|
<el-table-column show-overflow-tooltip prop="box_no" width="250" label="木箱号" align="center"/>
|
||||||
<el-table-column show-overflow-tooltip prop="material_code" label="物料编码" align="center" />
|
<el-table-column show-overflow-tooltip prop="material_code" label="物料编码" align="center"/>
|
||||||
<el-table-column show-overflow-tooltip prop="material_name" label="物料名称" align="center" />
|
<el-table-column show-overflow-tooltip prop="material_name" label="物料名称" align="center"/>
|
||||||
<el-table-column show-overflow-tooltip prop="pcsn" label="子卷号" align="center" />
|
<el-table-column show-overflow-tooltip prop="pcsn" label="子卷号" align="center"/>
|
||||||
<el-table-column show-overflow-tooltip prop="sap_pcsn" label="SAP批次" align="center" />
|
<el-table-column show-overflow-tooltip prop="sap_pcsn" label="SAP批次" align="center"/>
|
||||||
<el-table-column show-overflow-tooltip prop="plan_qty" :formatter="crud.formatNum3" label="重量" align="center" />
|
<el-table-column show-overflow-tooltip prop="plan_qty" :formatter="crud.formatNum3" label="重量" align="center"/>
|
||||||
<el-table-column show-overflow-tooltip prop="point_code" label="入库点" align="center" />
|
<el-table-column show-overflow-tooltip prop="point_code" label="入库点" align="center"/>
|
||||||
<el-table-column show-overflow-tooltip prop="struct_code" label="货位" align="center" />
|
<el-table-column show-overflow-tooltip prop="struct_code" label="货位" align="center"/>
|
||||||
<!--<el-table-column align="center" label="操作" width="190" fixed="right">
|
<!--<el-table-column align="center" label="操作" width="190" fixed="right">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-popover v-model="scope.row.pop" placement="top" width="180" trigger="manual">
|
<el-popover v-model="scope.row.pop" placement="top" width="180" trigger="manual">
|
||||||
@@ -220,7 +220,8 @@
|
|||||||
</el-table>
|
</el-table>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
<StructDiv ref="child" :stor-id="storId" :dialog-show.sync="structShow" :sect-prop="sectProp" @tableChanged="tableChanged" />
|
<StructDiv ref="child" :stor-id="storId" :dialog-show.sync="structShow" :sect-prop="sectProp"
|
||||||
|
@tableChanged="tableChanged"/>
|
||||||
|
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
@@ -297,7 +298,7 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
open() {
|
open() {
|
||||||
crudUserStor.getSect({ 'stor_id': this.storId}).then(res => {
|
crudUserStor.getSect({ 'stor_id': this.storId }).then(res => {
|
||||||
this.sects = res.content
|
this.sects = res.content
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -547,20 +548,15 @@ export default {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
// 如果勾选了,直接跳后台
|
// 如果勾选了,直接跳后台
|
||||||
if (this.form.checked) {
|
crudRawAssist.unDivStruct(this.form).then(res => {
|
||||||
crudRawAssist.unDivStruct(this.form).then(res => {
|
crudRawAssist.getIODtl({ 'bill_code': this.form.dtl_row.bill_code, 'open_flag': '1' }).then(res => {
|
||||||
crudRawAssist.getIODtl({ 'bill_code': this.form.dtl_row.bill_code, 'open_flag': '1' }).then(res => {
|
this.openParam = res
|
||||||
this.openParam = res
|
|
||||||
})
|
|
||||||
crudRawAssist.getDisDtl(this.form.dtl_row).then(res => {
|
|
||||||
this.form.tableMater = res
|
|
||||||
this.crud.notify('取消分配成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
} else {
|
crudRawAssist.getDisDtl(this.form.dtl_row).then(res => {
|
||||||
this.structShow = true
|
this.form.tableMater = res
|
||||||
this.$refs.child.getMsg(false)
|
this.crud.notify('取消分配成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||||
}
|
})
|
||||||
|
})
|
||||||
},
|
},
|
||||||
dialogBucket() {
|
dialogBucket() {
|
||||||
if (!this.form.dtl_row) {
|
if (!this.form.dtl_row) {
|
||||||
|
|||||||
Reference in New Issue
Block a user