新需求修改

This commit is contained in:
18188916393
2022-08-29 17:02:47 +08:00
parent 15abb16868
commit 69d0587407
16 changed files with 434 additions and 27 deletions

View File

@@ -40,6 +40,7 @@ public class StructFindUtil {
String area_type = jsonObject.getString("area_type");
String is_full = jsonObject.getString("is_full");
String workprocedure_id = jsonObject.getString("workprocedure_id");
String group_device= jsonObject.getString("group_device");
if (StrUtil.isEmpty(material_id)) {
throw new BadRequestException("物料不能为空!");
@@ -59,6 +60,7 @@ public class StructFindUtil {
}
JSONObject result = WQL.getWO("QSTRUCT_RULE").addParam("flag", "3")
.addParam("material_id", material_id).addParam("area_type", area_type)
.addParam("group_device",group_device)
.addParam("is_full", is_full).addParam("workprocedure_id", workprocedure_id)
.process().uniqueResult(0);
return result;

View File

@@ -24,6 +24,7 @@
输入.material_id TYPEAS s_string
输入.next_point_code TYPEAS s_string
输入.point_code TYPEAS s_string
输入.group_device TYPEAS s_string
[临时表]
@@ -116,12 +117,16 @@ IF 输入.flag = "3"
st_ivt_structivt ivt
LEFT JOIN sch_base_point point ON point.point_id = ivt.struct_id
left join st_rule_IOdisStruct ruledis on ruledis.struct_uuid = ivt.struct_id
LEFT JOIN st_buss_vehiclegroup vehiclegroup ON vehiclegroup.vehicle_code = ivt.vehicle_code
WHERE
ivt.canuse_qty > 0
AND point.point_status = '02'
AND point.lock_type = '00'
AND point.is_used ='1'
and TIME_TO_SEC(timediff(now(),ivt.instorage_time)) >=ivt.stewing_time*60
OPTION 输入.group_device <> ""
vehiclegroup.device_id = 输入.group_device
ENDOPTION
OPTION 输入.material_id <> ""
ivt.material_id = 输入.material_id
ENDOPTION

View File

@@ -91,7 +91,14 @@ public class WmsToJnController {
@Log("返回不合格数量")
@ApiOperation("返回不合格数量")
public ResponseEntity<Object> feedBackQualityInfo(@RequestBody Map whereJson) {
return new ResponseEntity<>(WmsToJnService.feedBackQualityInfo((String) whereJson.get(" record_id")), HttpStatus.OK);
return new ResponseEntity<>(WmsToJnService.feedBackQualityInfo((String) whereJson.get("record_id")), HttpStatus.OK);
}
@PostMapping("/queryCurrentOrder")
@Log("查询当前工单信息")
@ApiOperation("查询当前工单信息")
public ResponseEntity<Object> queryCurrentOrder(@RequestBody Map whereJson) {
return new ResponseEntity<>(WmsToJnService.queryCurrentOrder(whereJson), HttpStatus.OK);
}
}

View File

@@ -85,7 +85,14 @@ public interface WmsToJnService {
*/
Map<String, Object> feedBackQualityInfo(String record_id);
/**
* 查询当前工单信息
*
* @param
* @return Map<String, Object>
*/
Map<String, Object> queryCurrentOrder(Map whereJson);
}

View File

@@ -156,11 +156,11 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
jsonObject.put("next_point_code", device_code);
jsonObject.put("create_mode", "01");
//机械手1 is_full给1 机械手3is_full给空半托跟满托都可以出
if(StrUtil.equals(device_code,"FJJXSSLW101")||StrUtil.equals(device_code,"FJJXSSLW102")){
is_full ="1";
if (StrUtil.equals(device_code, "FJJXSSLW101") || StrUtil.equals(device_code, "FJJXSSLW102")) {
is_full = "1";
}
if (StrUtil.equals(device_code,"FJJXSSLW301")||StrUtil.equals(device_code,"FJJXSSLW302")){
is_full ="2";
if (StrUtil.equals(device_code, "FJJXSSLW301") || StrUtil.equals(device_code, "FJJXSSLW302")) {
is_full = "2";
}
jsonObject.put("is_full", is_full);
produceInfoByCode = this.getProduceInfoByCode(device_code);
@@ -184,12 +184,13 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
StrUtil.equals(device_code, "FJJXSXLW301") ||
StrUtil.equals(device_code, "FJJXSXLW302")
) {
JSONObject joo = pointTable.query("point_code='" + device_code + "'").uniqueResult(0);
material_id = produceInfoByCode.getString("material_id");
String workprocedure_id = WorkProcedureEnum.FJGX.getId();
JSONObject jsonObject1 = WQL.getWO("ACSTOMES_001").addParam("flag", "1")
.addParam("workprocedure_id", workprocedure_id)
.addParam("material_id", material_id)
.addParam("point_id", joo.getString("point_id"))
.process().uniqueResult(0);
if (ObjectUtil.isNotEmpty(jsonObject1)) {
//如果有库存,则出半满托盘
@@ -199,6 +200,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
jsonObject.put("material_id", material_id);
jsonObject.put("is_full", "0");
jsonObject.put("workprocedure_id", WorkProcedureEnum.BZGX.getId());
jsonObject.put("group_device",jsonObject1.getString("group_device_id"));
callMaterialTask.createTask((JSONObject) JSON.toJSON(jsonObject));
break;
}
@@ -265,7 +267,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
throw new BadRequestException("设备点位不能为空!");
}
JSONObject produceInfoByCode = new JSONObject();
String is_full = (String)jsonObject.get("is_full");
String is_full = (String) jsonObject.get("is_full");
String vehicle_code = (String) jsonObject.get("vehicle_code");
String qty = String.valueOf(jsonObject.get("qty"));
//String material_code = (String) jsonObject.get("material_code");
@@ -277,6 +279,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
String producetask_id = WQLObject.getWQLObject("pdm_mg_producetask").query("producetask_code='" + producetask_code + "'").uniqueResult(0).getString("producetask_id");
JSONObject groubObj = new JSONObject();
String group_id = IdUtil.getSnowflake(1, 1).nextId() + "";
groubObj.put("device_id",produceInfoByCode.getString("device_id"));
groubObj.put("group_id", group_id);
groubObj.put("material_id", material_id);
groubObj.put("material_code", materialObj.getString("material_code"));

View File

@@ -55,6 +55,7 @@ public class WmsToJnServiceImpl implements WmsToJnService {
if (StrUtil.isNotEmpty(status) && status.equals("1")) {
log.info("wms同步嘉耐工单成功");
} else {
log.info("wms同步嘉耐工单失败");
}
WQLObject produceTaskTable = WQLObject.getWQLObject("PDM_MG_produceTask");
@@ -237,13 +238,13 @@ public class WmsToJnServiceImpl implements WmsToJnService {
@Override
public Map<String, Object> feedBackStatus(Map whereJson) {
WQLObject wo = WQLObject.getWQLObject("pdm_bi_feedbackrecord");
String value = WQLObject.getWQLObject("sys_param").query("code='IS_CONNECT_JN'").uniqueResult(0).getString("value");
if (StrUtil.equals(value, "0")) {
return null;
}
JSONArray results = WQL.getWO("WMSTOJN_001").addParam("flag", "7").process().getResultJSONArray(0);
String method = "upDEVStatus";
for (int i = 0; i < results.size(); i++) {
JSONObject param = results.getJSONObject(0);
JSONObject obj = new JSONObject();
@@ -253,7 +254,19 @@ public class WmsToJnServiceImpl implements WmsToJnService {
String resultMsg = HttpRequest.post(URL + method)
.body(String.valueOf(obj)).timeout(timeout)
.execute().body();
JSONObject result = JSONObject.parseObject(resultMsg);
JSONObject returnResult = JSONObject.parseObject(resultMsg);
String returnStatus = returnResult.getString("status");
if (StrUtil.isNotEmpty(returnStatus) && returnStatus.equals("1")) {
log.info("诺力请求嘉耐回传不合格记录成功!");
} else {
log.info("诺力请求嘉耐回传不合格记录失败!");
JSONObject jo = new JSONObject();
jo.put("record_id", IdUtil.getSnowflake(1, 1).nextId());
jo.put("method", method);
jo.put("content", obj);
jo.put("create_time", DateUtil.now());
wo.insert(jo);
}
log.info("诺力请求嘉耐回传不合格记录出参{}", resultMsg);
}
JSONObject returnjo = new JSONObject();
@@ -265,6 +278,7 @@ public class WmsToJnServiceImpl implements WmsToJnService {
@Override
public Map<String, Object> feedBackCarryRecord(Map whereJson) {
WQLObject wo = WQLObject.getWQLObject("pdm_bi_feedbackrecord");
String value = WQLObject.getWQLObject("sys_param").query("code='IS_CONNECT_JN'").uniqueResult(0).getString("value");
if (StrUtil.equals(value, "0")) {
return null;
@@ -279,12 +293,26 @@ public class WmsToJnServiceImpl implements WmsToJnService {
String returnResultMsg = HttpRequest.post(URL + method)
.body(String.valueOf(obj)).timeout(timeout)
.execute().body();
JSONObject returnResult = JSONObject.parseObject(returnResultMsg);
String returnStatus = returnResult.getString("status");
if (StrUtil.isNotEmpty(returnStatus) && returnStatus.equals("1")) {
log.info("诺力请求嘉耐回传搬运记录入参成功!");
} else {
log.info("诺力请求嘉耐回传搬运记录入参失败!");
JSONObject jo = new JSONObject();
jo.put("record_id", IdUtil.getSnowflake(1, 1).nextId());
jo.put("method", method);
jo.put("content", obj);
jo.put("create_time", DateUtil.now());
wo.insert(jo);
}
log.info("诺力请求嘉耐回传搬运记录出参{}", returnResultMsg);
return null;
}
@Override
public Map<String, Object> feedBackInKiln(Map whereJson) {
WQLObject wo = WQLObject.getWQLObject("pdm_bi_feedbackrecord");
String value = WQLObject.getWQLObject("sys_param").query("code='IS_CONNECT_JN'").uniqueResult(0).getString("value");
if (StrUtil.equals(value, "0")) {
return null;
@@ -299,12 +327,26 @@ public class WmsToJnServiceImpl implements WmsToJnService {
String returnResultMsg = HttpRequest.post(URL + method)
.body(String.valueOf(jsonObject)).timeout(timeout)
.execute().body();
JSONObject returnResult = JSONObject.parseObject(returnResultMsg);
String returnStatus = returnResult.getString("status");
if (StrUtil.isNotEmpty(returnStatus) && returnStatus.equals("1")) {
log.info("诺力请求嘉耐回传入窑信息成功!");
} else {
log.info("诺力请求嘉耐回传入窑信息失败!");
JSONObject jo = new JSONObject();
jo.put("record_id", IdUtil.getSnowflake(1, 1).nextId());
jo.put("method", method);
jo.put("content", obj);
jo.put("create_time", DateUtil.now());
wo.insert(jo);
}
log.info("诺力请求嘉耐回传入窑信息出参{}", returnResultMsg);
return null;
}
@Override
public Map<String, Object> feedBackOutKiln(Map whereJson) {
WQLObject wo = WQLObject.getWQLObject("pdm_bi_feedbackrecord");
String value = WQLObject.getWQLObject("sys_param").query("code='IS_CONNECT_JN'").uniqueResult(0).getString("value");
if (StrUtil.equals(value, "0")) {
return null;
@@ -315,16 +357,30 @@ public class WmsToJnServiceImpl implements WmsToJnService {
JSONObject obj = new JSONObject();
obj.put("ticker", "WLXT");
obj.put("stringData", jsonObject);
log.info("诺力请求嘉耐回传窑信息入参{}", obj.toString());
log.info("诺力请求嘉耐回传窑信息入参{}", obj.toString());
String returnResultMsg = HttpRequest.post(URL + method)
.body(String.valueOf(jsonObject)).timeout(timeout)
.execute().body();
log.info("诺力请求嘉耐回传入窑信息出参{}", returnResultMsg);
JSONObject returnResult = JSONObject.parseObject(returnResultMsg);
String returnStatus = returnResult.getString("status");
if (StrUtil.isNotEmpty(returnStatus) && returnStatus.equals("1")) {
log.info("诺力请求嘉耐回传出窑信息成功!");
} else {
log.info("诺力请求嘉耐回传出窑信息失败!");
JSONObject jo = new JSONObject();
jo.put("record_id", IdUtil.getSnowflake(1, 1).nextId());
jo.put("method", method);
jo.put("content", obj);
jo.put("create_time", DateUtil.now());
wo.insert(jo);
}
log.info("诺力请求嘉耐回传出窑信息出参{}", returnResultMsg);
return null;
}
@Override
public Map<String, Object> feedBackPackage(Map whereJson) {
WQLObject wo = WQLObject.getWQLObject("pdm_bi_feedbackrecord");
String value = WQLObject.getWQLObject("sys_param").query("code='IS_CONNECT_JN'").uniqueResult(0).getString("value");
if (StrUtil.equals(value, "0")) {
return null;
@@ -345,7 +401,19 @@ public class WmsToJnServiceImpl implements WmsToJnService {
String resultMsg = HttpRequest.post(URL + method)
.body(String.valueOf(obj)).timeout(timeout)
.execute().body();
JSONObject result = JSONObject.parseObject(resultMsg);
JSONObject returnResult = JSONObject.parseObject(resultMsg);
String returnStatus = returnResult.getString("status");
if (StrUtil.isNotEmpty(returnStatus) && returnStatus.equals("1")) {
log.info("诺力请求嘉耐回传组盘记录成功!");
} else {
log.info("诺力请求嘉耐回传组盘记录失败!");
JSONObject jo = new JSONObject();
jo.put("record_id", IdUtil.getSnowflake(1, 1).nextId());
jo.put("method", method);
jo.put("content", obj);
jo.put("create_time", DateUtil.now());
wo.insert(jo);
}
log.info("诺力请求嘉耐回传组盘记录出参{}", resultMsg);
return null;
@@ -353,6 +421,7 @@ public class WmsToJnServiceImpl implements WmsToJnService {
@Override
public Map<String, Object> feedBackQualityInfo(String record_id) {
WQLObject wo = WQLObject.getWQLObject("pdm_bi_feedbackrecord");
String value = WQLObject.getWQLObject("sys_param").query("code='IS_CONNECT_JN'").uniqueResult(0).getString("value");
if (StrUtil.equals(value, "0")) {
return null;
@@ -371,15 +440,53 @@ public class WmsToJnServiceImpl implements WmsToJnService {
.body(String.valueOf(obj)).timeout(timeout)
.execute().body();
JSONObject result = JSONObject.parseObject(resultMsg);
JSONObject returnResult = JSONObject.parseObject(resultMsg);
String returnStatus = returnResult.getString("status");
if (StrUtil.isNotEmpty(returnStatus) && returnStatus.equals("1")) {
log.info("诺力请求嘉耐回传组盘记录成功!");
} else {
log.info("诺力请求嘉耐回传组盘记录失败!");
JSONObject jo = new JSONObject();
jo.put("record_id", IdUtil.getSnowflake(1, 1).nextId());
jo.put("method", method);
jo.put("content", obj);
jo.put("create_time", DateUtil.now());
wo.insert(jo);
}
log.info("诺力请求嘉耐回传不合格记录出参{}", resultMsg);
return null;
}
@Override
public JSONObject queryCurrentOrder(Map whereJson) {
String value = WQLObject.getWQLObject("sys_param").query("code='IS_CONNECT_JN'").uniqueResult(0).getString("value");
if (StrUtil.equals(value, "0")) {
return null;
}
String device_code = (String) whereJson.get("device_code");
if (StrUtil.isEmpty(device_code)) {
throw new BadRequestException("设备编码不能为空!");
}
String method = "getPressWorkShop";
JSONObject obj = new JSONObject();
obj.put("ticker", "Sbdm");
obj.put("device_code", device_code);
log.info("诺力请求嘉耐当前生产工单入参{}", obj.toString());
String resultMsg = HttpRequest.post(URL + method)
.body(String.valueOf(obj)).timeout(timeout)
.execute().body();
JSONObject result = JSONObject.parseObject(resultMsg);
log.info("诺力请求嘉耐当前生产工单出参{}", resultMsg);
String status = result.getString("status");
if (StrUtil.isNotEmpty(status) && status.equals("1")) {
log.info("诺力请求嘉耐回传不合格记录成功!");
log.info("诺力请求嘉耐当前生产工单成功!");
} else {
log.info("诺力请求嘉耐回传不合格记录失败!");
log.info("诺力请求嘉耐当前生产工单失败!");
}
JSONObject joo = result.getJSONObject("returnData").getJSONObject("Table");
return null;
return joo;
}

View File

@@ -18,6 +18,7 @@
输入.material_id TYPEAS s_string
输入.area_type TYPEAS s_string
输入.point_code TYPEAS s_string
输入.device_id TYPEAS s_string
[临时表]
--这边列出来的临时表就会在运行期动态创建
@@ -44,18 +45,25 @@
IF 输入.flag = "1"
QUERY
SELECT
*
ivt.*,
point.*,
vehiclegroup.device_id as group_device_id
FROM
st_ivt_structivt ivt
LEFT JOIN sch_base_point point ON ivt.struct_id = point.point_id
LEFT JOIN st_buss_vehiclegroup vehiclegroup ON vehiclegroup.vehicle_code = ivt.vehicle_code
WHERE
ivt.canuse_qty > 0
AND ivt.vehicle_code <> ''
AND ivt.is_full = '0'
AND point.is_used = 1
AND point.point_status = '02'
OPTION 输入.workprocedure_id <> ""
ivt.workprocedure_id = 输入.workprocedure_id
OPTION 输入.device_id <> ""
vehiclegroup.device_id = 输入.device_id
ENDOPTION
OPTION 输入.workprocedure_id <> ""
ivt.workprocedure_id = 输入.workprocedure_id
ENDOPTION
OPTION 输入.material_id <> ""
ivt.material_id = 输入.material_id
ENDOPTION

View File

@@ -0,0 +1,53 @@
package org.nl.wms.pda.produceTask.rest;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.annotation.Log;
import org.nl.wms.pda.produceTask.service.ProduceTaskService;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
/**
* @author ldjun
* @date 2021-07-26
**/
@RestController
@RequiredArgsConstructor
@Api(tags = "手持工单")
@RequestMapping("/api/pda/produceTask")
@Slf4j
public class ProduceTaskController {
private final ProduceTaskService produceTaskService;
@PostMapping("/queryInfo")
@Log("查询工单信息")
@ApiOperation("查询工单信息")
public ResponseEntity<Object> queryInfo(@RequestBody Map<String, String> param) {
return new ResponseEntity<>(produceTaskService.queryInfo(param), HttpStatus.OK);
}
@PostMapping("/confirm")
@Log("下发确定")
@ApiOperation("下发确定")
public ResponseEntity<Object> Confirm(@RequestBody JSONObject param) {
return new ResponseEntity<>(produceTaskService.Confirm(param), HttpStatus.OK);
}
@PostMapping("querydevice")
@Log("查询设备下拉框")
@ApiOperation("查询设备下拉框")
public ResponseEntity<Object> querydevice(@RequestBody JSONObject param) {
return new ResponseEntity<>(produceTaskService.querydevice(param), HttpStatus.OK);
}
}

View File

@@ -0,0 +1,23 @@
package org.nl.wms.pda.produceTask.service;
import com.alibaba.fastjson.JSONObject;
import java.util.Map;
public interface ProduceTaskService {
Map<String, Object> queryInfo(Map<String,String> jsonObject);
/**
* 确认
* @param param 条件
* @return Map<String,Object>
*
*/
Map<String, Object> Confirm( JSONObject param);
/**
* 查询设备下拉框确认
* @param param 条件
* @return Map<String,Object>
*
*/
Map<String, Object> querydevice( JSONObject param);
}

View File

@@ -0,0 +1,78 @@
package org.nl.wms.pda.produceTask.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.exception.BadRequestException;
import org.nl.modules.system.util.CodeUtil;
import org.nl.utils.SecurityUtils;
import org.nl.wms.WorkProcedureEnum;
import org.nl.wms.ext.acs.service.impl.WmsToJnServiceImpl;
import org.nl.wms.pda.produceTask.service.ProduceTaskService;
import org.nl.wms.pdm.service.impl.ProducetaskServiceImpl;
import org.nl.wms.sch.manage.AreaEnum;
import org.nl.wms.sch.manage.BillTypeEnum;
import org.nl.wms.st.ivt.IvtChangeTypeEnum;
import org.nl.wms.st.ivt.StoreIvtServiceImpl;
import org.nl.wql.WQL;
import org.nl.wql.core.bean.WQLObject;
import org.springframework.stereotype.Service;
import java.util.Map;
@Service
@RequiredArgsConstructor
@Slf4j
public class ProduceTaskServiceImpl implements ProduceTaskService {
private final WmsToJnServiceImpl wmsToJnServiceImpl;
private final ProducetaskServiceImpl producetaskService;
@Override
public Map<String, Object> queryInfo(Map<String, String> jsonObject) {
JSONArray results = WQL.getWO("QPADSERVICE").addParam("flag", "18").process().getResultJSONArray(0);
JSONObject returnjo = new JSONObject();
returnjo.put("code", "1");
returnjo.put("desc", "查询成功!");
returnjo.put("result", results);
return returnjo;
}
@Override
public Map<String, Object> Confirm(JSONObject param) {
String producetask_id = param.getString("producetask_id");
String device_id = param.getString("device_id");
String device_code = param.getString("device_code");
String ext_shoporder_no = param.getString("ext_shoporder_no");
//查询当前设备有没有正在生产的,或者已经下发的工单
JSONObject deviceObj = WQL.getWO("QPADSERVICE").addParam("flag", "19").addParam("device_code", device_code).process().uniqueResult(0);
if (ObjectUtil.isNotEmpty(deviceObj)) {
throw new BadRequestException("存在设备'" + deviceObj.getString("device_code") + "'未完成!");
}
//查询当前设备正在生产的设备工单
JSONObject stringObjectMap = wmsToJnServiceImpl.queryCurrentOrder(param);
if (!StrUtil.equals(stringObjectMap.getString("SHOPORDERNO"), ext_shoporder_no)) {
throw new BadRequestException("设备'" + device_code + "'正在生产的工单mes号应为'" + ext_shoporder_no + "'");
}
producetaskService.issued(param);
JSONObject returnjo = new JSONObject();
returnjo.put("code", "1");
returnjo.put("desc", "操作成功!");
return returnjo;
}
@Override
public Map<String, Object> querydevice(JSONObject param) {
JSONArray results = WQLObject.getWQLObject("pdm_base_device").query("is_work_device='1'").getResultJSONArray(0);
JSONObject returnjo = new JSONObject();
returnjo.put("code", "1");
returnjo.put("desc", "查询成功!");
returnjo.put("result", results);
return returnjo;
}
}

View File

@@ -436,15 +436,38 @@ IF 输入.flag = "17"
IF 输入.flag = "18"
QUERY
SELECT
vehiclegroup.is_full,
vehiclegroup.vehicle_code
task.producetask_id,
task.producetask_code,
task.ext_shoporder_no,
material.material_id,
material.material_code,
material.material_name ,
device.device_code,
device.device_name,
task.producetask_status,
sys.label as producetask_status_name,
task.plan_qty
FROM
st_buss_vehiclegroup vehiclegroup
WHERE
1 =1
OPTION 输入.vehicle_code <> ""
st_buss_vehiclegroup.vehicle_code = 输入.vehicle_code
ENDOPTION
pdm_mg_producetask task
LEFT JOIN md_me_material material ON material.material_id = task.material_id
LEFT JOIN pdm_base_device device ON device.device_id = task.device_id
left join sys_dict_detail sys on sys.value = task.producetask_status and sys.dict_id='36'
where task.producetask_status in ('01')
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "19"
QUERY
SELECT
*
FROM
pdm_mg_producetask task task
WHERE
task.st_buss_devicestatus IN ( '02', '04' )
OPTION 输入.device_id <> ""
task.device_id = 输入.device_id
ENDOPTION
ENDSELECT
ENDQUERY
ENDIF

View File

@@ -208,6 +208,7 @@ public class CallMaterialTask extends AbstractAcsTask {
String pcsn = form.getString("pcsn");
String is_full = form.getString("is_full");
String workprocedure_id = form.getString("workprocedure_id");
String group_device= form.getString("group_device");
WQLObject taskTable = WQLObject.getWQLObject("SCH_BASE_Task");
String iostorinv_id = form.getString("iostorinv_id");
if (StrUtil.isEmpty(next_point_code)) {
@@ -256,7 +257,7 @@ public class CallMaterialTask extends AbstractAcsTask {
}
PointDto nextPoint = pointService.findByCode(next_point_code);
//如果没给点,根据点去找工序,找一个合适的仓位 并且生成入库单,并且锁定点位
//如果没给点,根据点去找工序,找一个合适的仓位 并且生成入库单,并且锁定点位
if (StrUtil.isEmpty(start_point_code)) {
if (StrUtil.isEmpty(workprocedure_id)) {
JSONObject workInfo = WQL.getWO("QSTRUCT_RULE").addParam("flag", "1").addParam("code", next_point_code)
@@ -313,6 +314,7 @@ public class CallMaterialTask extends AbstractAcsTask {
param.put("area_type", startArea_type);
param.put("workprocedure_id", ivt_workprocedure_id);
param.put("is_full", is_full);
param.put("group_device",group_device);
JSONObject outStructObj = StructFindUtil.getOutStruct(param);
if (ObjectUtil.isEmpty(outStructObj)) {
throw new BadRequestException("未找到合适的出库仓位!");

View File

@@ -0,0 +1,60 @@
package org.nl.wms.sch.task;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpRequest;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.wms.ext.acs.service.impl.WmsToJnServiceImpl;
import org.nl.wql.core.bean.WQLObject;
import org.springframework.stereotype.Component;
import java.lang.reflect.Method;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/**
* @author geng by
* 自动回传失败的日志
*/
@Slf4j
@Component
@RequiredArgsConstructor
public class AutoFeedBackInfo {
public void run() throws Exception {
String URL = "http://61.177.143.218:8888/ZQ_ZLGL_JsonFacade/ZQJT/MES/MES_ProductionFacade.asmx";
int timeout = 3000;
log.info("开始自动开始回传嘉耐数据");
WQLObject Table = WQLObject.getWQLObject("pdm_bi_feedbackrecord");
JSONArray resultJSONArray = Table.query("status='0'").getResultJSONArray(0);
for (int i = 0; i < resultJSONArray.size(); i++) {
JSONObject jo = resultJSONArray.getJSONObject(i);
String mehtod = jo.getString("method");
JSONObject content = JSONObject.parseObject(jo.getString("content"));
try {
log.info("开始自动开始回传嘉耐数据入参{}", content.toString());
String resultMsg = HttpRequest.post(URL + mehtod)
.body(String.valueOf(content)).timeout(timeout)
.execute().body();
JSONObject result = JSONObject.parseObject(resultMsg);
String status = result.getString("status");
log.info("自动开始回传嘉耐数据出参{}", content.toString());
if (StrUtil.isNotEmpty(status) && status.equals("1")) {
log.info("回传成功!");
jo.put("status", "1");
jo.put("update_time", DateUtil.now());
Table.update(jo);
}
} catch (Exception e) {
e.printStackTrace();
}
}
log.info("完成自动开始回传嘉耐数据");
}
}

View File

@@ -0,0 +1,28 @@
<?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}/Autowmstojn/%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>
</encoder>
</appender>
<logger name="org.nl.wms.sch.task.AutoFeedBackInfo" level="info" additivity="true">
<appender-ref ref="FILE5"/>
</logger>
<!-- 打印sql -->
</included>

View File

@@ -19,6 +19,7 @@ https://juejin.cn/post/6844903775631572999
<!-- <include resource="log/AutoCreateInst.xml"/>-->
<!--引入默认的一些设置-->
<include resource="WmsToJn.xml"/>
<include resource="AutoWmsToJn.xml"/>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>