diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/PressureUtil.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/PressureUtil.java new file mode 100644 index 0000000..2fa6466 --- /dev/null +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/PressureUtil.java @@ -0,0 +1,51 @@ +package org.nl.wms.common; + +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 org.nl.exception.BadRequestException; +import org.nl.wql.WQL; +import org.nl.wql.core.bean.WQLObject; + +public class PressureUtil { + //记录不合格数量 返回记录标识 + public static String record(JSONObject whereJson) { + String device_code = (String) whereJson.get("device_code"); + String reason = (String) whereJson.get("reason"); + int qty = (int) whereJson.get("qty"); + String record_id = ""; + //根据设备查询当前设备以及排产单号 + JSONObject joo = WQL.getWO("QSTRUCT_RULE").addParam("flag", "1").addParam("point_code", device_code).process().uniqueResult(0); + String producetask_id = joo.getString("producetask_id"); + if (StrUtil.isEmpty(producetask_id)) { + throw new BadRequestException("为找到生产任务!"); + } + WQLObject RecordTable = WQLObject.getWQLObject("st_buss_qualityRecord"); + JSONObject recordObj = RecordTable.query("producetask_id='" + producetask_id + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(recordObj)) { + recordObj.put("qty", qty + recordObj.getIntValue("qty")); + recordObj.put("reason", reason); + recordObj.put("update_time", DateUtil.now()); + record_id = recordObj.getString("record_id"); + RecordTable.update(recordObj); + } else { + //如果没有插入 + JSONObject Obj = new JSONObject(); + record_id = IdUtil.getSnowflake(1, 1).nextIdStr(); + Obj.put("record_id", record_id); + Obj.put("producetask_id", joo.getString("producetask_id")); + Obj.put("material_id", joo.getString("material_id")); + Obj.put("device_id", joo.getString("device_id")); + Obj.put("qty", qty); + Obj.put("update_time", DateUtil.now()); + Obj.put("reason", reason); + RecordTable.insert(Obj); + } + return record_id; + } + + +} diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/SortingUtil.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/SortingUtil.java index 2b6f21f..99170ca 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/SortingUtil.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/SortingUtil.java @@ -14,6 +14,9 @@ public class SortingUtil { public static void record(JSONObject whereJson) { String device_code = (String) whereJson.get("device_code"); String vehicle_code = (String) whereJson.get("vehicle_code"); + if (StrUtil.isEmpty(vehicle_code)){ + return; + } //木托盘对应刚托盘记录主表【st_buss_vehicleRelaRecord】 WQLObject ehicleRelaRecordmst = WQLObject.getWQLObject("st_buss_vehicleRelaRecord"); //木托盘对应刚托盘记录明细【st_buss_vehicleRelaRecordtl】 @@ -40,7 +43,7 @@ public class SortingUtil { JSONObject jo = pointArr.getJSONObject(i); String Sl_vehicle_code = jo.getString("vehicle_code"); record_id = mstObj.getString("record_id"); - if(StrUtil.isEmpty(Sl_vehicle_code)) + if (StrUtil.isEmpty(Sl_vehicle_code)) continue; JSONObject dtljo = ehicleRelaRecordmstdtl.query("record_id='" + record_id + "' and vehicle_code ='" + Sl_vehicle_code + "'").uniqueResult(0); if (ObjectUtil.isEmpty(dtljo)) { @@ -61,5 +64,4 @@ public class SortingUtil { } - } diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/wql/QSTRUCT_RULE.wql b/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/wql/QSTRUCT_RULE.wql index 4076201..59b7b07 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/wql/QSTRUCT_RULE.wql +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/wql/QSTRUCT_RULE.wql @@ -23,6 +23,7 @@ 输入.is_full TYPEAS s_string 输入.material_id TYPEAS s_string 输入.next_point_code TYPEAS s_string + 输入.point_code TYPEAS s_string [临时表] @@ -344,4 +345,26 @@ IF 输入.flag = "11" ENDOPTION ENDSELECT ENDQUERY +ENDIF + +IF 输入.flag = "12" + QUERY + SELECT + point.point_code, + producetask.material_id, + producetask.producetask_id, + device.device_id + FROM + sch_base_point point + LEFT JOIN pdm_base_device device ON device.device_id = point.device_id + LEFT JOIN pdm_mg_producetask producetask ON producetask.device_id = device.device_id + AND producetask.producetask_status IN ( '04' ) + WHERE + 1=1 + + OPTION 输入.point_code <> "" + point.point_code = 输入.point_code + ENDOPTION + ENDSELECT + ENDQUERY ENDIF \ No newline at end of file diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java index 595ee67..8681184 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java @@ -2,8 +2,6 @@ package org.nl.wms.ext.acs.rest; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; @@ -111,4 +109,10 @@ public class AcsToWmsController { public ResponseEntity receiveTaskStatusAcs(@RequestBody String material_code) { return new ResponseEntity<>(acsToWmsService.receiveTaskStatusAcs(material_code), HttpStatus.OK); } + @PostMapping("/agv") + @Log("ACS给WMS反馈任务状态") + @ApiOperation("ACS给WMS反馈任务状态") + public ResponseEntity receiveAgvStatus(@RequestBody Map whereJson ) { + return new ResponseEntity<>(acsToWmsService.receiveAgvStatus( whereJson), HttpStatus.OK); + } } diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/WmsToJnController.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/WmsToJnController.java index c523af5..61f53e5 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/WmsToJnController.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/WmsToJnController.java @@ -44,30 +44,42 @@ public class WmsToJnController { return new ResponseEntity<>(WmsToJnService.synchroMaterial(whereJson), HttpStatus.OK); } + @PostMapping("/feedMaterial") + @Log("wms反馈jn同步了该物料") + @ApiOperation("wms反馈jn同步了该物料") + public ResponseEntity feedMaterial(@RequestBody Map whereJson) { + return new ResponseEntity<>(WmsToJnService.feedMaterial(whereJson), HttpStatus.OK); + } + + @PostMapping("/feedBackStatus") @Log("反馈设备状态") @ApiOperation("反馈设备状态") public ResponseEntity feedBackStatus(@RequestBody Map whereJson) { return new ResponseEntity<>(WmsToJnService.feedBackStatus(whereJson), HttpStatus.OK); } + @PostMapping("/feedBackCarryRecord") @Log("反馈搬运记录") @ApiOperation("反馈搬运记录") public ResponseEntity feedBackCarryRecord(@RequestBody Map whereJson) { return new ResponseEntity<>(WmsToJnService.feedBackCarryRecord(whereJson), HttpStatus.OK); } + @PostMapping("/feedBackInKiln") @Log("反馈进窑信息") @ApiOperation("反馈进窑信息") public ResponseEntity feedBackInKiln(@RequestBody Map whereJson) { return new ResponseEntity<>(WmsToJnService.feedBackInKiln(whereJson), HttpStatus.OK); } + @PostMapping("/feedBackOutKiln") @Log("反馈出窑信息") @ApiOperation("反馈出窑信息") public ResponseEntity feedBackOutKiln(@RequestBody Map whereJson) { return new ResponseEntity<>(WmsToJnService.feedBackOutKiln(whereJson), HttpStatus.OK); } + @PostMapping("/feedBackPackage") @Log("反馈包装信息") @ApiOperation("反馈包装信息") @@ -75,4 +87,11 @@ public class WmsToJnController { return new ResponseEntity<>(WmsToJnService.feedBackPackage(whereJson), HttpStatus.OK); } + @PostMapping("/feedBackQualityInfo") + @Log("返回不合格数量") + @ApiOperation("返回不合格数量") + public ResponseEntity feedBackQualityInfo(@RequestBody Map whereJson) { + return new ResponseEntity<>(WmsToJnService.feedBackQualityInfo((String) whereJson.get(" record_id")), HttpStatus.OK); + } + } diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java index e291c84..36df4e6 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java @@ -101,4 +101,13 @@ public interface AcsToWmsService { Map CribbingInfoByCode(String material_code); + /** + * ACS客户端--->WMS服务端 + * 反馈agv状态 + * + * @param string 条件 物料条码 + * @return Map + */ + Map receiveAgvStatus(Map jsonObject); + } diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/WmsToJnService.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/WmsToJnService.java index 6461c14..bb794c3 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/WmsToJnService.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/WmsToJnService.java @@ -24,6 +24,15 @@ public interface WmsToJnService { */ Map synchroMaterial(Map whereJson); + + /** + * WMS同步jn物料 + * + * @param + * @return Map + */ + + Map feedMaterial(Map whereJson); /** * WMS 反馈设备状态(专机,agv) * @@ -68,6 +77,14 @@ public interface WmsToJnService { */ Map feedBackPackage(Map whereJson); + /** + * WMS 返回不合格数量 + * + * @param + * @return Map + */ + + Map feedBackQualityInfo(String record_id); diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index d9068c8..eb4e092 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -16,6 +16,7 @@ import org.nl.utils.SpringContextHolder; import org.nl.wms.WorkProcedureEnum; import org.nl.wms.common.KilnUtil; import org.nl.wms.common.PointUpdateUtil; +import org.nl.wms.common.PressureUtil; import org.nl.wms.common.StructFindUtil; import org.nl.wms.database.service.dto.VehicleDto; import org.nl.wms.ext.acs.service.AcsToWmsService; @@ -75,12 +76,11 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { jsonObject.put("start_point_code", device_code); jsonObject.put("create_mode", "01"); jsonObject.put("group_id", group_id); - if (StrUtil.isEmpty(is_full)) { throw new BadRequestException("托盘是否满托不能为空!"); } String material_code = (String) jsonObject.get("material_code"); - String producetask_id = (String)jsonObject.get("producetask_id"); + String producetask_id = (String) jsonObject.get("producetask_id"); String material_id = ""; JSONObject materialObj = WQLObject.getWQLObject("md_me_material").query("material_code ='" + material_code + "'").uniqueResult(0); if (StrUtil.isEmpty(material_code) && (!StrUtil.equals(device_code, "CYSSX101"))) { @@ -103,14 +103,16 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { jsonObject.put("qty", vehicleObj.getString("qty")); jsonObject.put("vehicle_code", vehicle_code); } - jsonObject.put("producetask_id",producetask_id); + jsonObject.put("producetask_id", producetask_id); jsonObject.put("create_mode", "01"); jsonObject.put("material_id", material_id); JSONObject materiralObj = WQLObject.getWQLObject("md_me_material").query("material_id = '" + material_id + "'").uniqueResult(0); Double stewing_time = materiralObj.getDouble("stewing_time"); jsonObject.put("stewing_time", stewing_time); - //假如是压制下料的几个位置,则要考虑是入输送线 还是入立体库 String area_type = pointTable.query("point_code ='" + device_code + "'").uniqueResult(0).getString("area_type"); + + + //假如是压制下料的几个位置,则要考虑是入输送线 还是入立体库 if (StrUtil.equals(area_type, AreaEnum.YZQY.getCode()) && stewing_time <= 0) { //1.首先更新所有输送线的点位状态 JSONArray pointarr = WQL.getWO("ACSTOMES_001").addParam("area_type", "07").addParam("flag", "4").process().getResultJSONArray(0); @@ -138,6 +140,17 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { jsonObject.put("vehicle_code", vehicle_code); } sendMaterialTask.createTask((JSONObject) JSON.toJSON(jsonObject)); + //假如是压制下料的几个位置 需要记录不合格数量 + if (StrUtil.equals(area_type, AreaEnum.YZQY.getCode())) { + /* JSONObject joo = new JSONObject(); + joo.put("qty", "qty"); + joo.put("device_code", device_code); + joo.put("reason", "reason"); + String record_id = PressureUtil.record(joo); + //回传不合格记录 + WmsToJnServiceImpl wmsToJnService = new WmsToJnServiceImpl(); + wmsToJnService.feedBackQualityInfo(record_id);*/ + } break; case "2": //叫料出库 @@ -179,7 +192,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { //叫料出库 jsonObject.put("next_point_code", device_code); jsonObject.put("create_mode", "01"); - jsonObject.put("pcsn", "pcsn"); jsonObject.put("material_id", material_id); jsonObject.put("is_full", "0"); jsonObject.put("workprocedure_id", WorkProcedureEnum.BZGX.getId()); @@ -214,7 +226,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { } //寻找起点 //更新所有设备的点位的状态 - JSONArray pointConveyArr = pointTable.query("area_type='07' and device_point_type ='01' ").getResultJSONArray(0); + //JSONArray pointConveyArr = pointTable.query("area_type='07' and device_point_type ='01' ").getResultJSONArray(0); + JSONArray pointConveyArr = WQL.getWO("ACSTOMES_001").addParam("area_type", "07").addParam("flag", "4").process().getResultJSONArray(0); + PointUpdateUtil.updatePoint(pointConveyArr); //假如没有设置哪个输送线先出,没有按照先进先出 JSONObject param = new JSONObject(); @@ -228,6 +242,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { throw new BadRequestException("未找到合适的输送线可以出!"); } jsonObject.put("start_point_code", param.getString("point_code")); + jsonObject.put("vehicle_code", param.getString("vehicle_code")); rgvTask.createTask((JSONObject) JSON.toJSON(jsonObject)); break; } @@ -567,7 +582,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { } //根据设备去找设备id - String device_id = WQLObject.getWQLObject("sch_base_point").query("point_code='" + device_code + "'").uniqueResult(0).getString("device_id"); + String device_id = WQLObject.getWQLObject("sch_base_point").query("point_code='" + device_code + "'").uniqueResult(0).getString("device_id"); //根据物料code 去找物料id JSONObject materiObj = WQLObject.getWQLObject("MD_ME_Material").query("material_code='" + material_code + "'").uniqueResult(0); if (!StrUtil.equals(device_id, taskObj.getString("device_id"))) { @@ -696,6 +711,11 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { return result; } + @Override + public Map receiveAgvStatus(Map jsonObject) { + return null; + } + private JSONObject getProduceInfoByCode(String code) { //根据 设备点位去找生产任务信息 //1 根据点位去找设备,去找对应的设备信息 diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToJnServiceImpl.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToJnServiceImpl.java index a56ba50..e62794d 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToJnServiceImpl.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToJnServiceImpl.java @@ -19,6 +19,7 @@ import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.HashMap; import java.util.Map; @Service @@ -31,6 +32,11 @@ public class WmsToJnServiceImpl implements WmsToJnService { @Override public Map synchroDaySchedule(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 methon = "/getshoporder"; String today = DateUtil.today(); //同步日计划 @@ -64,10 +70,10 @@ public class WmsToJnServiceImpl implements WmsToJnService { //压机编号 String SBDM = dayScheduleObj.getString("SBDM"); JSONObject materialObj = material_table.query("material_code ='" + ITEMCODE + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(materialObj)){ - this.synchroMaterial(new JSONObject()); - materialObj = material_table.query("material_code ='" + ITEMCODE + "'").uniqueResult(0); - } + if (ObjectUtil.isEmpty(materialObj)) { + this.synchroMaterial(new JSONObject()); + materialObj = material_table.query("material_code ='" + ITEMCODE + "'").uniqueResult(0); + } JSONObject deviceObj = device_Table.query("ext_device_code='" + SBDM + "'").uniqueResult(0); JSONObject scheduleObj = produceTaskTable.query("ext_shoporder_no='" + SHOPORDERNO + "'").uniqueResult(0); if (ObjectUtil.isEmpty(scheduleObj)) { @@ -99,12 +105,17 @@ public class WmsToJnServiceImpl implements WmsToJnService { JSONObject returnjo = new JSONObject(); returnjo.put("status", HttpStatus.OK.value()); returnjo.put("message", "任务状态反馈成功!"); - return result; + return returnjo; } @Override @Transactional(rollbackFor = Exception.class) public Map synchroMaterial(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 methon = "/getItems"; /** * DM: "物料代码", @@ -179,10 +190,37 @@ public class WmsToJnServiceImpl implements WmsToJnService { materialObj.put("create_time", DateUtil.now()); material_table.insert(materialObj); } + //反馈嘉耐已经同步了该物料 + /* HashMap map = new HashMap(); + map.put("material_code", materialjo.getString("DM")); + this.feedMaterial(map);*/ } + + JSONObject returnjo = new JSONObject(); + returnjo.put("status", HttpStatus.OK.value()); + returnjo.put("message", "任务状态反馈成功!"); + return returnjo; + } + + @Override + public Map feedMaterial(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 method = "setItems"; + JSONObject obj = new JSONObject(); + obj.put("ticker", "WLXT"); + obj.put("stringData", JSONObject.toJSON(whereJson)); + 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); //调用接口告诉wms 调用已经同步该物料 - /* String returnResultMsg = HttpRequest.post(URL) + String returnResultMsg = HttpRequest.post(URL) .body(String.valueOf(obj)).timeout(timeout) .execute().body(); JSONObject returnResult = JSONObject.parseObject(returnResultMsg); @@ -191,62 +229,156 @@ public class WmsToJnServiceImpl implements WmsToJnService { log.info("wms反馈嘉耐物料成功!"); } else { log.info("wms反馈嘉耐物料失败!"); - }*/ - JSONObject returnjo = new JSONObject(); - returnjo.put("status", HttpStatus.OK.value()); - returnjo.put("message", "任务状态反馈成功!"); - return result; + } + + + return null; } @Override public Map feedBackStatus(Map whereJson) { + 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"; - return null; + for (int i = 0; i < results.size(); i++) { + JSONObject param = results.getJSONObject(0); + JSONObject obj = new JSONObject(); + obj.put("ticker", "WLXT"); + obj.put("stringData", param); + 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); + } + JSONObject returnjo = new JSONObject(); + returnjo.put("status", HttpStatus.OK.value()); + returnjo.put("message", "任务状态反馈成功!"); + return returnjo; } @Override public Map feedBackCarryRecord(Map whereJson) { String value = WQLObject.getWQLObject("sys_param").query("code='IS_CONNECT_JN'").uniqueResult(0).getString("value"); - //如果连接了嘉耐 则反馈搬运记录 - if (StrUtil.equals(value, "1")) { - String task_id = (String) whereJson.get("task_id"); - JSONObject jsonObject = WQL.getWO("WMSTOJN_001").addParam("flag", "1").addParam("task_id", task_id).process().uniqueResult(0); - String returnResultMsg = HttpRequest.post(URL) - .body(String.valueOf(jsonObject)).timeout(timeout) - .execute().body(); + if (StrUtil.equals(value, "0")) { + return null; } - + String method = "InsertPressInfo"; + String task_id = (String) whereJson.get("task_id"); + JSONObject jsonObject = WQL.getWO("WMSTOJN_001").addParam("flag", "1").addParam("task_id", task_id).process().uniqueResult(0); + JSONObject obj = new JSONObject(); + obj.put("ticker", "WLXT"); + obj.put("stringData", jsonObject); + log.info("诺力请求嘉耐回传搬运记录入参{}", obj.toString()); + String returnResultMsg = HttpRequest.post(URL + method) + .body(String.valueOf(obj)).timeout(timeout) + .execute().body(); + log.info("诺力请求嘉耐回传搬运记录出参{}", returnResultMsg); return null; } @Override public Map feedBackInKiln(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 method = "InKiln"; String vehicle_code = (String) whereJson.get("vehicle_code"); JSONObject jsonObject = WQL.getWO("WMSTOJN_001").addParam("flag", "2").addParam("vehicle_code", vehicle_code).process().uniqueResult(0); - String returnResultMsg = HttpRequest.post(URL) + JSONObject obj = new JSONObject(); + obj.put("ticker", "WLXT"); + obj.put("stringData", jsonObject); + log.info("诺力请求嘉耐回传入窑信息入参{}", obj.toString()); + String returnResultMsg = HttpRequest.post(URL + method) .body(String.valueOf(jsonObject)).timeout(timeout) .execute().body(); + log.info("诺力请求嘉耐回传入窑信息出参{}", returnResultMsg); return null; } @Override public Map feedBackOutKiln(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 vehicle_code = (String) whereJson.get("vehicle_code"); JSONObject jsonObject = WQL.getWO("WMSTOJN_001").addParam("flag", "3").addParam("vehicle_code", vehicle_code).process().uniqueResult(0); - String returnResultMsg = HttpRequest.post(URL) + String method = "OutKiln"; + JSONObject obj = new JSONObject(); + obj.put("ticker", "WLXT"); + obj.put("stringData", jsonObject); + log.info("诺力请求嘉耐回传入窑信息入参{}", obj.toString()); + String returnResultMsg = HttpRequest.post(URL + method) .body(String.valueOf(jsonObject)).timeout(timeout) .execute().body(); + log.info("诺力请求嘉耐回传入窑信息出参{}", returnResultMsg); return null; } @Override public Map feedBackPackage(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 vehicle_code = (String) whereJson.get("vehicle_code"); if (StrUtil.isEmpty(vehicle_code)) { throw new BadRequestException("托盘编码不能为空!"); } + JSONObject mstObj = WQL.getWO("WMSTOJN_001").addParam("flag", "9").addParam("vehicle_code", vehicle_code).process().uniqueResult(0); + JSONArray dtlarr = WQL.getWO("WMSTOJN_001").addParam("flag", "8").addParam("record_id", mstObj.getString("record_id")).process().getResultJSONArray(0); + mstObj.put("DETAILS", dtlarr); + String method = ""; + JSONObject obj = new JSONObject(); + obj.put("ticker", "WLXT"); + obj.put("stringData", mstObj); + 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); + + return null; + } + + @Override + public Map feedBackQualityInfo(String record_id) { + String value = WQLObject.getWQLObject("sys_param").query("code='IS_CONNECT_JN'").uniqueResult(0).getString("value"); + if (StrUtil.equals(value, "0")) { + return null; + } + WQLObject recordTable = WQLObject.getWQLObject("st_buss_qualityRecord"); + JSONObject recordObj = WQL.getWO("WMSTOJN_001").addParam("flag", "6").addParam("record_id", record_id).process().uniqueResult(0); + if (ObjectUtil.isEmpty(recordObj)) { + throw new BadRequestException("未找到记录标识为'" + record_id + "'的记录"); + } + String method = "InsertQualityInfo"; + JSONObject obj = new JSONObject(); + obj.put("ticker", "WLXT"); + obj.put("stringData", recordObj); + 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("诺力请求嘉耐回传不合格记录成功!"); + } else { + log.info("诺力请求嘉耐回传不合格记录失败!"); + } + return null; } diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/wql/ACSTOMES_001.wql b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/wql/ACSTOMES_001.wql index ed55d0d..0a36e55 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/wql/ACSTOMES_001.wql +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/wql/ACSTOMES_001.wql @@ -125,3 +125,68 @@ ENDSELECT ENDQUERY ENDIF + + +IF 输入.flag = "5" + QUERY + SELECT + + point.point_code as device_code + + FROM + sch_base_point point + LEFT JOIN pdm_base_device device ON point.device_id = device.device_id + WHERE + point.area_type = '22' + AND point.point_code <> 'MDJXS101' + ENDSELECT + ENDQUERY +ENDIF + +IF 输入.flag = "6" + QUERY + SELECT + point.point_id, + point.point_code , + device.device_id, + device.device_code + FROM + sch_base_point point + LEFT JOIN pdm_base_device device ON point.device_id = device.device_id + WHERE + point.area_type = '22' + AND point.point_code <> 'MDJXS101' + OPTION 输入.point_code <> "" + point.point_code = 输入.point_code + ENDOPTION + ENDSELECT + ENDQUERY +ENDIF + + +IF 输入.flag = "7" + QUERY + SELECT + point.point_code as device_code, + point.vehicle_code + FROM + sch_base_point point + WHERE + point_code IN ( 'FJJXSXLW201', 'FJJXSXLW202' ) + ENDSELECT + ENDQUERY +ENDIF + + +IF 输入.flag = "8" + QUERY + SELECT + point.point_code as device_code, + point.vehicle_code + FROM + sch_base_point point + WHERE + point_code IN ( 'FJJXSXLW301', 'FJJXSXLW302' ) + ENDSELECT + ENDQUERY +ENDIF \ No newline at end of file diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/wql/WMSTOJN_001.wql b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/wql/WMSTOJN_001.wql index ca4505a..4b51743 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/wql/WMSTOJN_001.wql +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/wql/WMSTOJN_001.wql @@ -13,8 +13,10 @@ ################################################# ## 表字段对应输入参数 ################################################# - 输入.flag TYPEAS s_string + 输入.flag TYPEAS s_string 输入.task TYPEAS s_string + 输入.record_id TYPEAS s_string + 输入.vehicle_code TYPEAS s_string [临时表] --这边列出来的临时表就会在运行期动态创建 @@ -118,4 +120,83 @@ IF 输入.flag = "5" point.point_code IN ( 'FJJXSXLW201', 'FJJXSXLW202' ) ENDSELECT ENDQUERY + ENDIF + + IF 输入.flag = "6" + QUERY + SELECT + producetask.ext_shoporder_no AS SHOPORDERNO, + material_code AS ITEMCODE, + device.device_code AS SBDM, + record.update_time AS CHECKTIME, + record.qty AS QTY, + record.reason AS BZ + FROM + st_buss_qualityRecord record + LEFT JOIN pdm_mg_producetask producetask ON producetask.producetask_id = record.producetask_id + LEFT JOIN md_me_material material ON material.material_id = record.material_id + LEFT JOIN pdm_base_device device ON device.device_id = record.device_id + where + 1=1 + OPTION 输入.record_id <> "" + record.record_id = 输入.record_id + ENDOPTION + ENDSELECT + ENDQUERY + ENDIF + + IF 输入.flag = "7" + QUERY + SELECT + deviceStatus.device_code AS SBDM, + deviceStatus.device_status AS STATUS, + deviceStatus.update_time AS UPDATETIME, + "" AS BZ + FROM + st_buss_deviceStatus deviceStatus + ENDSELECT + ENDQUERY + ENDIF + +IF 输入.flag = "8" + QUERY + SELECT + dtl.material_move_id AS ID, + task.ext_shoporder_no AS SHOPORDERNO, + dtl.vehicle_code AS STOCKNO, + "0" AS QTY + FROM + st_buss_vehiclerelarecordtl dtl + LEFT JOIN st_buss_vehicleRelaRecord mst ON mst.record_id = dtl.record_id + LEFT JOIN pdm_mg_producetask task ON task.producetask_id = dtl.producetask_id + where + 1=1 + OPTION 输入.record_id <> "" + record.record_id = 输入.record_id + ENDOPTION + ENDSELECT + ENDQUERY + ENDIF + + + + IF 输入.flag = "9" + QUERY + SELECT + material.material_code AS ITEMCODE, + mst.pc AS pc, + mst.vehicle_code AS PROD_STOCKNO, + mst.packing_time AS RECORD_TIME, + vehiclegroup.qty AS TOTALQTY + FROM + st_buss_vehicleRelaRecord mst + LEFT JOIN st_buss_vehiclegroup vehiclegroup ON vehiclegroup.vehicle_code = mst.vehicle_code + LEFT JOIN md_me_material material ON material.material_id = mst.material_id + where + 1=1 + OPTION 输入.vehicle_code <> "" + mst.vehicle_code = 输入.vehicle_code + ENDOPTION + ENDSELECT + ENDQUERY ENDIF \ No newline at end of file diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/PDM_ProduceTask_01.wql b/wms/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/PDM_ProduceTask_01.wql index b83bcd2..a8ef134 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/PDM_ProduceTask_01.wql +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/PDM_ProduceTask_01.wql @@ -115,7 +115,7 @@ FROM pdm_mg_producetask task LEFT JOIN sch_base_point point ON point.device_id = task.device_id - AND point.point_code <> 'MDJXS102' + AND point.point_code <> 'MDJXS101' LEFT JOIN md_me_material material ON material.material_id = task.material_id WHERE 1 =1 diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/CallEmptyVehicleTask.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/CallEmptyVehicleTask.java index c3fbc97..b3b5029 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/CallEmptyVehicleTask.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/CallEmptyVehicleTask.java @@ -12,6 +12,7 @@ import org.nl.modules.system.util.CodeUtil; import org.nl.utils.SecurityUtils; import org.nl.utils.SpringContextHolder; import org.nl.wms.WorkProcedureEnum; +import org.nl.wms.common.SortingUtil; import org.nl.wms.common.StructFindUtil; import org.nl.wms.database.service.dto.VehicleDto; import org.nl.wms.sch.manage.AbstractAcsTask; @@ -65,6 +66,17 @@ public class CallEmptyVehicleTask extends AbstractAcsTask { WQLObject.getWQLObject("st_buss_EmptyVehicleRecord").update(map, "task_uuid='" + jsonTask.getString("task_id") + "'"); //解锁仓位,托盘信息,回写到点位上去 String vehicle_code = jsonTask.getString("vehicle_code"); + //插入刚托盘木托盘表 + String point_code = jsonTask.getString("next_point_code"); + String area_type = WQLObject.getWQLObject("sch_base_point").query("point_code='" + point_code + "'").uniqueResult(0).getString("area_type"); + if (StrUtil.equals(area_type, AreaEnum.FJQY.getCode())) { + JSONObject jo = new JSONObject(); + jo.put("device_code", point_code); + jo.put("vehicle_code", vehicle_code); + SortingUtil.record(jo); + } + + WQLObject pointTab = WQLObject.getWQLObject("sch_base_point"); JSONObject endpointObj = pointTab.query("point_code='" + jsonTask.getString("next_point_code") + "'").uniqueResult(0); endpointObj.put("lock_type", "00"); diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/CallMaterialTask.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/CallMaterialTask.java index 042cd7b..bdc8069 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/CallMaterialTask.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/CallMaterialTask.java @@ -11,6 +11,7 @@ import org.nl.modules.system.util.CodeUtil; import org.nl.utils.SecurityUtils; import org.nl.utils.SpringContextHolder; import org.nl.wms.WorkProcedureEnum; +import org.nl.wms.common.SortingUtil; import org.nl.wms.common.StructFindUtil; import org.nl.wms.sch.manage.AbstractAcsTask; import org.nl.wms.sch.manage.AreaEnum; @@ -113,6 +114,32 @@ public class CallMaterialTask extends AbstractAcsTask { paramTable.update(paramObj); } } + ////如果终点是分拣区域,则更新木托盘铁托盘记录表 + String next_area = nextPointDto.getArea_type(); + if (StrUtil.equals(next_area, AreaEnum.FJQY.getCode())) { + //如果是下料料位置 托盘则是木托盘 + if (StrUtil.equals(next_point_code, "FJJXSXLW201") || + StrUtil.equals(next_point_code, "FJJXSXLW202") || + StrUtil.equals(next_point_code, "FJJXSXLW301") || + StrUtil.equals(next_point_code, "FJJXSXLW302")) { + JSONObject jo = new JSONObject(); + jo.put("device_code",next_point_code); + jo.put("vehicle_code",vehicle_code); + SortingUtil.record(jo); + } + //如果是上料位置 则需要去找点位记录表上的托盘记录 + else { + String flag = "8"; + if (StrUtil.equals(next_point_code, "FJJXSSLW101") || StrUtil.equals(next_point_code, "FJJXSSLW102")) { + flag = "7"; + } + JSONArray paramArr = WQL.getWO("ACSTOMES_001.wql").addParam("flag", flag).process().getResultJSONArray(0); + for (int i = 0; i < paramArr.size(); i++) { + JSONObject jo = paramArr.getJSONObject(i); + SortingUtil.record(jo); + } + } + } JSONObject startPointObj = pointTab.query("point_code='" + jsonTask.getString("start_point_code") + "'").uniqueResult(0); startPointObj.put("lock_type", "00"); startPointObj.put("point_status", "00"); @@ -233,14 +260,11 @@ public class CallMaterialTask extends AbstractAcsTask { //如果没给终点,根据起点去找工序,找一个合适的仓位 并且生成入库单,并且锁定点位 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) .process().uniqueResult(0); workprocedure_id = workInfo.getString("workprocedure_id"); - WorkProcedureEnum workProcedureEnum = WorkProcedureEnum.get(workprocedure_id); switch (workProcedureEnum) { - //烧制工序 case SZGX: startArea_type = AreaEnum.RYHCHJ.getCode(); @@ -323,17 +347,17 @@ public class CallMaterialTask extends AbstractAcsTask { iosObj.put("create_mode", create_mode); iosObj.put("task_id", task_id); iosObj.put("pcsn", pcsn); - iosObj.put("create_id","1"); + iosObj.put("create_id", "1"); iosObj.put("create_name", "管理员"); iosObj.put("create_time", DateUtil.now()); WQLObject.getWQLObject("ST_IVT_workProcedureIOS").insert(iosObj); //将组盘里面的task_id改为当前的任务 WQLObject groupTable = WQLObject.getWQLObject("st_buss_vehiclegroup"); JSONObject groupObj = groupTable.query("vehicle_code='" + vehicle_code + "'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(groupObj)){ - groupObj.put("task_id",task_id); - groupTable.update(groupObj); - } + if (ObjectUtil.isNotEmpty(groupObj)) { + groupObj.put("task_id", task_id); + groupTable.update(groupObj); + } } diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/RgvTask.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/RgvTask.java index 5ca685e..3e69e3f 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/RgvTask.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/RgvTask.java @@ -2,6 +2,7 @@ package org.nl.wms.sch.manage.buss; 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.JSONObject; import org.nl.exception.BadRequestException; @@ -73,6 +74,13 @@ public class RgvTask extends AbstractAcsTask { if (StrUtil.isEmpty(start_point_code)) { throw new BadRequestException("起点不能为空!"); } + JSONObject beforTaskObj = WQLObject.getWQLObject("sch_base_task"). + query("is_delete='0' and start_point_code='" + start_point_code + "' and task_status <>'" + TaskStatusEnum.FINISHED.getCode() + "'") + .uniqueResult(0); + if (ObjectUtil.isNotEmpty(beforTaskObj)) { + throw new BadRequestException("存在指令号为'" + beforTaskObj.getString("task_code") + "' 未完成!"); + } + taskObj.put("task_id", IdUtil.getSnowflake(1, 1).nextId() + ""); String task_status = TaskStatusEnum.START_AND_POINT.getCode(); taskObj.put("task_code", CodeUtil.getNewCode("TASK_CODE")); diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/ToConveyorTask.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/ToConveyorTask.java index 8e7a147..b49ea7e 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/ToConveyorTask.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/ToConveyorTask.java @@ -16,6 +16,7 @@ import org.nl.wms.BussConstant; import org.nl.wms.WorkProcedureEnum; import org.nl.wms.common.StructFindUtil; import org.nl.wms.ext.acs.service.WmsToJnService; +import org.nl.wms.ext.acs.service.impl.WmsToJnServiceImpl; import org.nl.wms.sch.manage.AbstractAcsTask; import org.nl.wms.sch.manage.AreaEnum; import org.nl.wms.sch.manage.BillTypeEnum; @@ -33,11 +34,10 @@ import org.springframework.transaction.annotation.Transactional; import java.util.HashMap; @Service -@RequiredArgsConstructor @Slf4j public class ToConveyorTask extends AbstractAcsTask { private final String THIS_CLASS = ToConveyorTask.class.getName(); - private final WmsToJnService wmsToJnService; + @Override @@ -73,9 +73,12 @@ public class ToConveyorTask extends AbstractAcsTask { jsonTask.put("remark", "任务执行完成"); taskTab.update(jsonTask); //调用接口反馈给嘉耐 搬运任务 - JSONObject param = new JSONObject(); + + /*JSONObject param = new JSONObject(); param.put("task_id", task_id); - wmsToJnService.feedBackCarryRecord(param); + WmsToJnService wmsToJnService = new WmsToJnServiceImpl(); + wmsToJnService.feedBackCarryRecord(param) + wmsToJnService.feedBackCarryRecord(param);*/ } } diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/task/AutoSynchronDeviceStausTask.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/task/AutoSynchronDeviceStausTask.java new file mode 100644 index 0000000..77e58f3 --- /dev/null +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/task/AutoSynchronDeviceStausTask.java @@ -0,0 +1,80 @@ + +package org.nl.wms.sch.task; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import lombok.RequiredArgsConstructor; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.nl.wms.ext.acs.service.impl.WmsToAcsServiceImpl; +import org.nl.wms.sch.manage.buss.CallMaterialTask; +import org.nl.wql.WQL; +import org.nl.wql.core.bean.WQLObject; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + + +@Slf4j +@Component +@RequiredArgsConstructor +public class AutoSynchronDeviceStausTask { + private final CallMaterialTask callMaterialTask; + + @SneakyThrows + public void run() { + this.doExecute(); + } + + @Transactional(rollbackFor = Exception.class) + void doExecute() { + //1 同步压机设备状态 + this.SynchronDevice(); + //2 反馈给嘉耐 + } + + private void SynchronDevice() { + JSONArray deviceArr = WQL.getWO("ACSTOMES_001").addParam("flag", "5").process().getResultJSONArray(0); + WmsToAcsServiceImpl wmsToAcsServiceImpl = new WmsToAcsServiceImpl(); + JSONObject joo = wmsToAcsServiceImpl.queryPointStatus(deviceArr); + JSONArray pointarr = joo.getJSONArray("data"); + WQLObject recordTabele = WQLObject.getWQLObject("st_buss_deviceStatus"); + for (int i = 0; i < pointarr.size(); i++) { + JSONObject devicejo = pointarr.getJSONObject(i); + String point_code = devicejo.getString("device_code"); + //根据点位去找设备 + String device_code = WQL.getWO("ACSTOMES_001").addParam("flag", "6").addParam("point_code",point_code).process().uniqueResult(0).getString("device_code"); + JSONObject recordObj = recordTabele.query("device_code='" + device_code + "'").uniqueResult(0); + int mode = devicejo.getIntValue("mode"); + int error = devicejo.getIntValue("error"); + String device_status = ""; + //2空闲,3工作中,4等待搬运 5缺料请求 + if (mode==2){ + device_status="3"; + } + if (mode==3){ + device_status="1"; + } + if (mode==4){ + device_status="2"; + } + if (mode==5){ + device_status="5"; + } + + if (error >0){ + device_status="4"; + } + recordObj.put("device_status", device_status); + recordObj.put("update_time", DateUtil.now()); + recordTabele.update(recordObj); + } + + + } + +} + + + + diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/st/in/service/wql/ST_Workprocedureios_01.wql b/wms/hd/nladmin-system/src/main/java/org/nl/wms/st/in/service/wql/ST_Workprocedureios_01.wql index b47a4bd..9983da9 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/st/in/service/wql/ST_Workprocedureios_01.wql +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/st/in/service/wql/ST_Workprocedureios_01.wql @@ -45,17 +45,15 @@ b.workprocedure_name, c.material_name, p1.point_name AS start_point_name, - p2.point_name AS end_point_name, - unit.unit_name, - cust.cust_name + p2.point_name AS end_point_name FROM ST_IVT_workProcedureIOS a LEFT JOIN pdm_base_workprocedure b ON a.workprocedure_id = b.workprocedure_id LEFT JOIN md_me_material c ON c.material_id = a.material_id LEFT JOIN sch_base_point p1 ON a.start_point_code = p1.point_code LEFT JOIN sch_base_point p2 ON a.end_point_code = p2.point_code - LEFT JOIN md_pb_measureunit unit ON a.qty_unit_id = unit.unit_id - LEFT JOIN md_cs_customerbase cust ON a.cust_id = cust.cust_id + + WHERE a.is_delete = '0' and a.io_type = '0' OPTION 输入.search <> "" diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/st/out/service/wql/ST_WorkprocedureiosOut_01.wql b/wms/hd/nladmin-system/src/main/java/org/nl/wms/st/out/service/wql/ST_WorkprocedureiosOut_01.wql index 5cf8ab8..0b217f2 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/st/out/service/wql/ST_WorkprocedureiosOut_01.wql +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/st/out/service/wql/ST_WorkprocedureiosOut_01.wql @@ -70,31 +70,27 @@ IF 输入.flag = "2" PAGEQUERY - SELECT - point.*, - material.material_id, - material.material_name, - structivt.vehicle_code AS vehicle_code111, - structivt.pcsn, - structivt.canuse_qty, - structivt.frozen_qty, - structivt.ivt_qty, - structivt.warehousing_qty, - structivt.qty_unit_id, - structivt.is_full, - structivt.instorage_time, - unit.unit_name - FROM - st_ivt_structivt structivt - LEFT JOIN sch_base_point point ON point.point_id = structivt.struct_id - LEFT JOIN md_me_material material ON structivt.material_id = material.material_id - LEFT JOIN md_pb_measureunit unit ON structivt.qty_unit_id = unit.unit_id - WHERE - point.is_delete = '0' - AND point.point_type = '02' - and point.lock_type='00' - and structivt.canuse_qty > 0 - and point.is_used = '1' + SELECT + point.*, + material.material_id, + material.material_name, + structivt.vehicle_code AS vehicle_code111, + structivt.canuse_qty, + structivt.frozen_qty, + structivt.ivt_qty, + structivt.warehousing_qty, + structivt.is_full, + structivt.instorage_time + FROM + st_ivt_structivt structivt + LEFT JOIN sch_base_point point ON point.point_id = structivt.struct_id + LEFT JOIN md_me_material material ON structivt.material_id = material.material_id + WHERE + point.is_delete = '0' + AND point.point_type = '02' + AND point.lock_type = '00' + AND structivt.canuse_qty > 0 + AND point.is_used = '1' and structivt.workprocedure_id = 输入.ivt_workprocedure_id and structivt.is_full = 输入.is_full and structivt.material_id = 输入.material_id diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/wms.xls b/wms/hd/nladmin-system/src/main/java/org/nl/wms/wms.xls index 306a9a4..9ca4278 100644 Binary files a/wms/hd/nladmin-system/src/main/java/org/nl/wms/wms.xls and b/wms/hd/nladmin-system/src/main/java/org/nl/wms/wms.xls differ