新需求修改
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -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"));
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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
|
||||
@@ -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("未找到合适的出库仓位!");
|
||||
|
||||
@@ -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("完成自动开始回传嘉耐数据");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Binary file not shown.
28
wms/hd/nladmin-system/src/main/resources/AutoWmsToJn.xml
Normal file
28
wms/hd/nladmin-system/src/main/resources/AutoWmsToJn.xml
Normal 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>
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user