diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/common/utils/AcsUtil.java b/mes/hd/nladmin-system/src/main/java/org/nl/common/utils/AcsUtil.java index 0fbd502c..2828483b 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/common/utils/AcsUtil.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/common/utils/AcsUtil.java @@ -86,4 +86,40 @@ public class AcsUtil { } return result; } + + public static JSONObject notifyAcs(String api, JSONObject list) { + log.info("下发ACS参数----------------------------------------+"+api+",---"+list.toString()); + //判断是否连接ACS系统 + String isConnect = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("IS_CONNECT_ACS").getValue(); + JSONObject result = new JSONObject(); + if (StrUtil.equals(StatusEnum.STATUS_FLASE.getCode(), isConnect)) { + result.put("status", HttpStatus.OK.value()); + result.put("message", "下发成功,但未连接ACS!"); + result.put("data", new JSONObject()); + return result; + } + + //ACS地址:127.0.0.1:8010 + String acsUrl = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("acs_url").getValue(); + + String url = acsUrl + api; + try { + String resultMsg = HttpRequest.post(url) + .body(String.valueOf(list)) + .execute().body(); + result = JSONObject.parseObject(resultMsg); + log.info("ACS相应参数----------------------------------------+"+api+",---"+result.toString()); + + } catch (Exception e) { + log.info("ACS反馈异常----------------------------------------+"+api+",---"+e.getMessage()); + String msg = e.getMessage(); + //ConnectException: Connection refused: connect + //网络不通 + result.put("status", HttpStatus.BAD_REQUEST); + result.put("message", "网络不通,操作失败!"); + result.put("data", new JSONObject()); + result.put("error", msg); + } + return result; + } } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 143e3ceb..8145063d 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -283,7 +283,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService{ String vehicleCode = collect[i]; cachePosition.put("vehicle_code",vehicleCode.equals("0")?"": vehicleCode); if (vehicleCode.equals("99999")){ - cachePosition.put("err_type", StatusEnum.CACHE_POINT_SCAN_ERROR.getCode()); + cachePosition.put("err_type", StatusEnum.CACHE_POINT_ERROR.getCode()); } positionTab.update(cachePosition,"position_code = '"+cachePosition.getString("position_code")+"'"); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/pda/rest/CacheLineHandController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/pda/rest/CacheLineHandController.java index a87a9156..437616c2 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/pda/rest/CacheLineHandController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/pda/rest/CacheLineHandController.java @@ -145,7 +145,7 @@ public class CacheLineHandController { @PostMapping("/cacheLineOutBoxExceptionQuery") @Log("缓存线出箱异常-查询") @ApiOperation("缓存线出箱异常-查询") - public ResponseEntity cacheLineOutBoxExceptionQuery(@RequestBody JSONObject param) { + public ResponseEntity cacheLineOutBoxExceptionQuery(@RequestBody JSONObject param) { log.info("海亮缓存线手持服务 [缓存线出箱异常-查询] 接口被请求, 请求参数-{}", param); //参数校验 if (StringUtils.isBlank(param.getString("wcsdevice_code"))) { @@ -274,15 +274,6 @@ public class CacheLineHandController { return new ResponseEntity<>(HttpStatus.OK); } - @PostMapping("/setBlankPos") - @Log("设置缓存线货位为空位置") - @ApiOperation("设置缓存线货位为空位置") - public ResponseEntity setBlankPos(@RequestBody JSONObject param) { - log.info("海亮缓存线手持服务 [设置缓存线货位为空位置] 接口被请求, 请求参数-{}", param); - cacheLineHandService.setBlankPos(param); - return new ResponseEntity<>(HttpStatus.OK); - } - @PostMapping("/cacheLineExcepOpt") @Log("缓存线异常处理") @ApiOperation("缓存线异常处理") diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/pda/service/CacheLineHandService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/pda/service/CacheLineHandService.java index a3508f5c..cc916a94 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/pda/service/CacheLineHandService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/pda/service/CacheLineHandService.java @@ -164,7 +164,7 @@ public interface CacheLineHandService{ * @author gbx * @date 2023/3/24 */ - CommonResult cacheLineOutBoxExceptionConfirm(JSONObject param); + JSONObject cacheLineOutBoxExceptionConfirm(JSONObject param); /** * 空箱初始化--出入空箱 @@ -184,7 +184,7 @@ public interface CacheLineHandService{ * @author gbx * @date 2023/3/24 */ - CommonResult setfullBox(JSONObject param); + JSONObject setfullBox(JSONObject param); /** * 设置空框 @@ -233,15 +233,6 @@ public interface CacheLineHandService{ */ void agvOutBoxExceptionConfirm(JSONObject param); - /** - * 设置缓存线货位为空位置 - * - * @param param 查询参数 - * @author gbx - * @date 2023/3/24 - */ - void setBlankPos(JSONObject param); - /** * 缓存线出箱异常-查询 * @@ -250,7 +241,7 @@ public interface CacheLineHandService{ * @author gbx * @date 2023/3/24 */ - JSONArray cacheLineOutBoxExceptionQuery(JSONObject param); + List cacheLineOutBoxExceptionQuery(JSONObject param); /** * 缓存线异常处理 diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/pda/service/impl/CacheLineHandServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/pda/service/impl/CacheLineHandServiceImpl.java index 3521cd4b..2b45fc5d 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/pda/service/impl/CacheLineHandServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/pda/service/impl/CacheLineHandServiceImpl.java @@ -24,12 +24,21 @@ import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.WqlUtil; import org.nl.wms.ext.acs.service.WmsToAcsService; +import org.nl.wms.masterdata_manage.service.material.IMdMeMaterialbaseService; +import org.nl.wms.masterdata_manage.service.material.dao.MdMeMaterialbase; import org.nl.wms.pda_manage.pda.dto.MaterialDto; import org.nl.wms.pda_manage.pda.service.CacheLineHandService; import org.nl.wms.product_manage.service.device.IPdmBiDeviceService; import org.nl.wms.product_manage.service.device.dao.PdmBiDevice; +import org.nl.wms.scheduler_manage.service.cacheline.ISchCachelinePositionService; +import org.nl.wms.scheduler_manage.service.cacheline.ISchCachelineVehilematerialService; +import org.nl.wms.scheduler_manage.service.cacheline.dao.SchCachelinePosition; +import org.nl.wms.scheduler_manage.service.cacheline.dao.SchCachelineVehilematerial; import org.nl.wms.scheduler_manage.service.cacheline.dao.mapper.SchCachelinePositionMapper; import org.nl.wms.scheduler_manage.service.cacheline.dao.mapper.SchCachelineVehilematerialMapper; +import org.nl.wms.scheduler_manage.service.task.ISchBaseTaskService; +import org.nl.wms.scheduler_manage.service.task.dao.SchBaseTask; +import org.nl.wms.scheduler_manage.service.task.dao.mapper.SchBaseTaskMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; import org.springframework.scheduling.annotation.Async; @@ -37,8 +46,8 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.*; -import java.util.concurrent.*; -import java.util.concurrent.atomic.AtomicReference; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ThreadPoolExecutor; import java.util.stream.Collectors; /** @@ -64,6 +73,16 @@ public class CacheLineHandServiceImpl implements CacheLineHandService { private SchCachelineVehilematerialMapper vehilematerialMapper; @Autowired private SchCachelinePositionMapper positionMapper; + @Autowired + private SchBaseTaskMapper taskMapper; + @Autowired + private ISchCachelinePositionService positionService; + @Autowired + private ISchCachelineVehilematerialService vehilematerialService; + @Autowired + private IMdMeMaterialbaseService materialbaseService; + @Autowired + private ISchBaseTaskService taskService; @Override public JSONArray dropdownListQuery(String param, String type) { @@ -76,6 +95,7 @@ public class CacheLineHandServiceImpl implements CacheLineHandService { return WQL.getWO("PDA_QUERY").addParam("flag", "6").addParam("condition", param).process().getResultJSONArray(0); } + @Override public JSONArray appUpdate() { return WQL.getWO("PDA_QUERY").addParam("flag", "11").process().getResultJSONArray(0); } @@ -371,64 +391,56 @@ public class CacheLineHandServiceImpl implements CacheLineHandService { */ @Override @Transactional(rollbackFor = Exception.class) - public CommonResult setfullBox(JSONObject param) { + public JSONObject setfullBox(JSONObject param) { //物料ID String semimanufactures_uuid = param.getString("material_uuid"); // 缓存线位置编码 String position_code = param.getString("position_code"); // 料箱码 String vehicle_code = param.getString("vehicle_code"); - //工序 - // String workprocedure_code = param.getString("workprocedure_code"); // 缓存线 String cacheLine_code = param.getString("wcsdevice_code"); String weight = param.getString("weight"); String quantity = param.getString("quantity"); + if (StringUtils.isBlank(quantity) || param.getInteger("quantity") <= 0) { throw new BadRequestException("数量必须大于0!"); } - //缓存线位置表 - WQLObject positionTab = WQLObject.getWQLObject("sch_cacheline_position"); - // 缓存线位置 - JSONObject vehiobj = positionTab.query("position_code = '" + position_code + "'").uniqueResult(0); - if (vehiobj == null) { + + SchCachelinePosition vehiobj = positionService.getOne(new QueryWrapper().eq("position_code", position_code)); + + if (ObjectUtil.isEmpty(vehiobj)) { throw new BadRequestException("位置不存在,设置有误!"); } - //工序表 - //WQLObject wpTab = WQLObject.getWQLObject("pdm_bi_workprocedure"); - //物料表 - WQLObject meTab = WQLObject.getWQLObject("md_me_materialbase"); - // 查询工序信息 - // JSONObject wpObj = wpTab.query("workprocedure_code = '" + workprocedure_code + "'").uniqueResult(0); - // if(ObjectUtil.isEmpty(wpObj)) { - // throw new BadRequestException("工序查询错误,请检查工序"); - // } - JSONObject meObj = meTab.query("material_id = '" + semimanufactures_uuid + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(meObj)) { + + MdMeMaterialbase mater = materialbaseService.getOne(new QueryWrapper().eq("material_id", semimanufactures_uuid)); + if (ObjectUtil.isEmpty(mater)) { throw new BadRequestException("物料查询错误,请检查物料"); } - vehiobj.put("vehicle_code", vehicle_code); + //2.缓存线位置通过扫码绑定料箱条码 - positionTab.update(vehiobj, "position_code = '" + position_code + "'"); - // 缓存线载具物料表 - WQLObject ivtTab = WQLObject.getWQLObject("sch_cacheline_vehilematerial"); + vehiobj.setVehicle_code(vehicle_code); + positionService.updateById(vehiobj); + //3.先删除料箱的所有关联信息,包括物料,工序,生产区域 - ivtTab.delete("vehicle_code = '" + vehicle_code + "'"); - // 物料信息 - HashMap json = new HashMap<>(); + vehilematerialService.removeByMap(MapOf.of("vehicle_code", vehicle_code)); + + JSONObject json = new JSONObject(); json.put("vehmaterial_id", IdUtil.getStringId()); json.put("vehicle_code", vehicle_code); json.put("cacheLine_code", cacheLine_code); - json.put("material_id", meObj.getString("material_id")); + json.put("material_id", mater.getMaterial_id()); json.put("weight", weight); json.put("quantity", quantity); - // json.put("workprocedure_code", wpObj.getString("workprocedure_code")); - // json.put("workprocedure_name", wpObj.getString("workprocedure_name")); //有箱有料 json.put("vehicle_status", StatusEnum.CACHE_VEL_FULL.getCode()); json.put("create_time", DateUtil.now()); //4.重新新建该缓存线位置上的料箱为满箱及所属工序,生产区域等信息 - return RestBusinessTemplate.execute(() -> ivtTab.insert(json).getSucess()); + vehilematerialService.save(json.toJavaObject(SchCachelineVehilematerial.class)); + + JSONObject res = new JSONObject(); + res.put("message", "设置成功"); + return res; } @Override @@ -440,19 +452,23 @@ public class CacheLineHandServiceImpl implements CacheLineHandService { String vehicle_code = param.getString("vehicle_code"); // 缓存线 String wcsdevice_code = param.getString("wcsdevice_code"); - // 缓存线载具物料表 - WQLObject ivtTab = WQLObject.getWQLObject("sch_cacheline_vehilematerial"); - // 缓存线位置表 - WQLObject positionTab = WQLObject.getWQLObject("sch_cacheline_position"); - JSONObject vehiobj = positionTab.query("position_code = '" + position_code + "'").uniqueResult(0); - if (vehiobj == null) { + + + SchCachelinePosition vehiobj = positionService.getOne(new QueryWrapper().eq("position_code", position_code)); + if (ObjectUtil.isEmpty(vehiobj)) { throw new BadRequestException("位置不存在,设置有误!"); } + //1.缓存线位置通过扫码绑定料箱条码 - vehiobj.put("vehicle_code", vehicle_code); - positionTab.update(vehiobj, "position_code = '" + position_code + "'"); + vehiobj.setVehicle_code(vehicle_code); + positionService.updateById(vehiobj); + + //2.先删除料箱的所有关联信息,包括物料,工序,生产区域 - ivtTab.delete("vehicle_code = '" + vehicle_code + "'"); + vehilematerialService.removeByMap(MapOf.of("vehicle_code", vehicle_code)); + + + // 3.重新新建该缓存线位置上的料箱为空箱子,是空料箱没有放物料等其他信息 JSONObject json = new JSONObject(); json.put("vehmaterial_id", IdUtil.getStringId()); json.put("vehicle_code", vehicle_code); @@ -464,30 +480,13 @@ public class CacheLineHandServiceImpl implements CacheLineHandService { json.put("workprocedure_code", ""); json.put("workprocedure_name", ""); json.put("create_time", DateUtil.now()); - // 3.重新新建该缓存线位置上的料箱为空箱子,是空料箱没有放物料等其他信息 - ivtTab.insert(json); + vehilematerialService.save(json.toJavaObject(SchCachelineVehilematerial.class)); + JSONObject res = new JSONObject(); res.put("message", "设置成功"); return res; } - @Override - public void setBlankPos(JSONObject param) { - // 层数 - String layer_num = param.getString("layer_num"); - // 顺序号 - String seat_order_num = param.getString("seat_order_num"); - // 缓存线编码 - String wcsdevice_code = param.getString("wcsdevice_code"); - // 缓存线位置表 - WQLObject positionTab = WQLObject.getWQLObject("sch_cacheline_position"); - JSONObject json = positionTab.query("order_no = " + seat_order_num + " and layer_num = " + layer_num + " and cacheLine_code like '%" + wcsdevice_code + "%'").uniqueResult(0); - // 状态设置为空位 - json.put("is_empty", "1"); - json.put("vehicle_code", ""); - positionTab.update(json); - } - /** * 出入空箱,出入类型 inOut_type 1 入空箱 2 出空箱 缓存线编码 wcsdevice_code 料箱码 vehicle_code * @@ -546,26 +545,27 @@ public class CacheLineHandServiceImpl implements CacheLineHandService { * 缓存线位置编码 position_code */ @Override - public JSONArray cacheLineOutBoxExceptionQuery(JSONObject param) { + public List cacheLineOutBoxExceptionQuery(JSONObject param) { String wcsdevice_code = param.getString("wcsdevice_code"); String position_code = param.getString("position_code"); //根据缓存线编码和缓存线点位查找任务ID - JSONObject posiObj = WQLObject.getWQLObject("sch_cacheline_position").query("cacheLine_code = '" + wcsdevice_code + "' and position_code = '" + position_code + "'").uniqueResult(0); + + SchCachelinePosition cachelinePosition = positionService.getOne(new QueryWrapper().eq("cacheLine_code", wcsdevice_code).eq("position_code", position_code)); //查不到点位信息 - if (null == posiObj) { + if (ObjectUtil.isEmpty(cachelinePosition)) { throw new BadRequestException("未找到该缓存线的点位信息!"); } //查不到任务信息 - if (StringUtils.isBlank(posiObj.getString("task_code"))) { + if (StrUtil.isEmpty(cachelinePosition.getTask_code())) { throw new BadRequestException("未找到该缓存线的点位的任务信息!"); } - JSONArray jsonArray = WQL.getWO("PDA_QUERY").addParam("flag", "10").addParam("task_code", posiObj.getString("task_code")).process().getResultJSONArray(0); + //JSONArray jsonArray = WQL.getWO("PDA_QUERY").addParam("flag", "10").addParam("task_code", posiObj.getString("task_code")).process().getResultJSONArray(0); + List task_list = taskMapper.getTaskInfo(MapOf.of("task_code", cachelinePosition.getTask_code())); //缓存线编码 - for (int i = 0; i < jsonArray.size(); i++) { - JSONObject row = jsonArray.getJSONObject(i); - row.put("wcsdevice_code", wcsdevice_code); - } - return jsonArray; + task_list.forEach(task -> { + task.put("wcsdevice_code", wcsdevice_code); + }); + return task_list; } /** @@ -576,54 +576,53 @@ public class CacheLineHandServiceImpl implements CacheLineHandService { * 料箱码 vehicle_code */ @Override - public CommonResult cacheLineOutBoxExceptionConfirm(JSONObject param) { + public JSONObject cacheLineOutBoxExceptionConfirm(JSONObject param) { String inOut_type = param.getString("inOut_type"); String cacheLine_code = param.getString("wcsdevice_code"); String position_code = param.getString("position_code"); String vehicle_code = param.getString("vehicle_code"); - //缓存线位置表 - WQLObject positionTab = WQLObject.getWQLObject("sch_cacheline_position"); - // 缓存线载具物料表 - WQLObject ivtTab = WQLObject.getWQLObject("sch_cacheline_vehilematerial"); + //1.确定缓存线点位 - JSONObject vehiobj = positionTab.query("position_code = '" + position_code + "' and cacheLine_code = '" + cacheLine_code + "'").uniqueResult(0); + SchCachelinePosition vehiobj = positionService.getOne(new QueryWrapper().eq("position_code", position_code)); + //2.绑定新料箱条码(入满箱或者入空箱),设置缓存线点位不为空 - vehiobj.put("vehicle_code", vehicle_code); - vehiobj.put("is_empty", "0"); - //非雪花算法生产的ID为主键数据更新下需要拼接条件 - positionTab.update(vehiobj, "position_code = '" + position_code + "'"); + vehiobj.setVehicle_code(vehicle_code); + vehiobj.setIs_empty("0"); + positionService.updateById(vehiobj); + //3.删除入料箱之前的所有关联信息,包括物料,工序,生产区域 - ivtTab.delete("vehicle_code = '" + vehicle_code + "'"); + vehilematerialService.removeByMap(MapOf.of("vehicle_code", vehicle_code)); + //4.初始化料箱 - HashMap json = new HashMap<>(); + JSONObject json = new JSONObject(); json.put("vehicle_code", vehicle_code); json.put("cacheLine_code", cacheLine_code); json.put("vehmaterial_id", IdUtil.getStringId()); json.put("create_time", DateUtil.now()); + // 出空箱入满箱扫码异常 if (StatusEnum.OUT_VEHICLE.getCode().equals(inOut_type)) { //5.通过缓存线位置表当前执行任务id,获取任务信息中的物料信息 - JSONObject positionInfo = positionTab.query("vehicle_code = '" + vehicle_code + "'").uniqueResult(0); + SchCachelinePosition positionInfo = positionService.getOne(new QueryWrapper().eq("vehicle_code", vehicle_code)); //查不到点位信息 - if (null == positionInfo) { + if (ObjectUtil.isEmpty(positionInfo)) { throw new BadRequestException("未找到该缓存线的点位信息!"); } //获取当前任务信息 - JSONObject instructObj = WQLObject.getWQLObject("sch_base_task").query("task_code = '" + positionInfo.getString("task_code") + "'").uniqueResult(0); + SchBaseTask instructObj = taskService.getOne(new QueryWrapper().eq("task_code", positionInfo.getTask_code())); //查不到点位信息 - if (null == instructObj) { + if (ObjectUtil.isEmpty(instructObj)) { throw new BadRequestException("未找到该任务信息!"); } //获取物料信息 - JSONObject meObj = WQLObject.getWQLObject("md_me_materialbase").query("material_id = '" + instructObj.get("material_id") + "'").uniqueResult(0); - //查不到点位信息 - if (null == meObj) { - throw new BadRequestException("未找到该物料信息!"); + MdMeMaterialbase mater = materialbaseService.getOne(new QueryWrapper().eq("material_id", instructObj.getMaterial_id())); + if (ObjectUtil.isEmpty(mater)) { + throw new BadRequestException("物料查询错误,请检查物料"); } //6.重新新建该缓存线位置上的料箱为满箱及所属工序,生产区域等信息 - json.put("material_id", meObj.getString("material_id")); - json.put("quantity", instructObj.getString("material_qty")); - json.put("product_area", instructObj.getString("product_area")); + json.put("material_id", mater.getMaterial_id()); + json.put("quantity", instructObj.getMaterial_qty()); + json.put("product_area", instructObj.getProduct_area()); json.put("vehicle_status", StatusEnum.CACHE_VEL_EMT.getCode()); } // 出满箱入空箱 @@ -638,7 +637,12 @@ public class CacheLineHandServiceImpl implements CacheLineHandService { json.put("workprocedure_name", ""); json.put("product_area", ""); } - return RestBusinessTemplate.execute(() -> ivtTab.insert(json).getSucess()); + + vehilematerialService.save(json.toJavaObject(SchCachelineVehilematerial.class)); + + JSONObject res = new JSONObject(); + res.put("message", "设置成功"); + return res; } /** @@ -673,12 +677,11 @@ public class CacheLineHandServiceImpl implements CacheLineHandService { JSONObject jsonObject = new JSONObject(); // 1 扫码异常-入箱扫码 2 出箱扫码 jsonObject.put("type", type); - jsonObject.put("position_code", position_code); +// jsonObject.put("position_code", position_code); jsonObject.put("device_code", device_code); jsonObject.put("vehicle_code", vehicle_code); - jsonArray.add(jsonObject); try { - return RestBusinessTemplate.execute(() -> AcsUtil.notifyAcs("api/wms/issuedBarcode", jsonArray)); + return RestBusinessTemplate.execute(() -> AcsUtil.notifyAcs("api/wms/issuedBarcode", jsonObject)); } catch (NullPointerException e) { throw new BadRequestException(e.toString()); } @@ -873,10 +876,21 @@ public class CacheLineHandServiceImpl implements CacheLineHandService { public JSONObject deleteBox(JSONObject param) { JSONObject res = new JSONObject(); res.put("message", "删除失败"); - WQLObject cvTab = WQLObject.getWQLObject("SCH_CacheLine_VehileMaterial"); String vehicleCode = param.getString("vehicle_code"); + String position_code = param.getString("position_code"); if (ObjectUtil.isNotEmpty(vehicleCode)) { - cvTab.delete("vehicle_code = '" + vehicleCode + "'"); + //删除载具物料表 + vehilematerialService.removeByMap(MapOf.of("vehicle_code", vehicleCode)); + + //维护点位的载具字段 + SchCachelinePosition vehiobj = positionService.getOne(new QueryWrapper().eq("position_code", position_code)); + if (ObjectUtil.isEmpty(vehiobj)) { + throw new BadRequestException("位置不存在,设置有误!"); + } + //缓存线位置通过扫码绑定料箱条码 + vehiobj.setVehicle_code(""); + positionService.updateById(vehiobj); + res.put("message", "删除成功"); } return res; diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/cacheline/dao/SchCachelinePosition.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/cacheline/dao/SchCachelinePosition.java index 292c198a..13fe6a6a 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/cacheline/dao/SchCachelinePosition.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/cacheline/dao/SchCachelinePosition.java @@ -1,6 +1,8 @@ package org.nl.wms.scheduler_manage.service.cacheline.dao; import java.math.BigDecimal; + +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import lombok.Data; @@ -24,6 +26,7 @@ public class SchCachelinePosition implements Serializable { /** * 缓存线位置表-位置编码 */ + @TableId(value = "position_code") private String position_code; /** diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/cacheline/dao/SchCachelineVehicle.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/cacheline/dao/SchCachelineVehicle.java index 7f01476c..18566c8c 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/cacheline/dao/SchCachelineVehicle.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/cacheline/dao/SchCachelineVehicle.java @@ -1,6 +1,8 @@ package org.nl.wms.scheduler_manage.service.cacheline.dao; import java.math.BigDecimal; + +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import lombok.Data; @@ -24,6 +26,7 @@ public class SchCachelineVehicle implements Serializable { /** * 缓存线载具表-编码 */ + @TableId(value = "vehicle_code") private String vehicle_code; /** diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/cacheline/dao/SchCachelineVehilematerial.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/cacheline/dao/SchCachelineVehilematerial.java index 2a9eacef..dff414eb 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/cacheline/dao/SchCachelineVehilematerial.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/cacheline/dao/SchCachelineVehilematerial.java @@ -1,6 +1,8 @@ package org.nl.wms.scheduler_manage.service.cacheline.dao; import java.math.BigDecimal; + +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import lombok.Data; @@ -24,6 +26,7 @@ public class SchCachelineVehilematerial implements Serializable { /** * 载具物料表-物料标识 */ + @TableId(value = "vehmaterial_id") private String vehmaterial_id; /** diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/task/dao/mapper/SchBaseTaskMapper.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/task/dao/mapper/SchBaseTaskMapper.java index a279122d..b7630924 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/task/dao/mapper/SchBaseTaskMapper.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/task/dao/mapper/SchBaseTaskMapper.java @@ -1,8 +1,12 @@ package org.nl.wms.scheduler_manage.service.task.dao.mapper; +import org.apache.ibatis.annotations.Param; import org.nl.wms.scheduler_manage.service.task.dao.SchBaseTask; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import java.util.List; +import java.util.Map; + /** *

* 任务表 Mapper 接口 @@ -13,4 +17,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface SchBaseTaskMapper extends BaseMapper { + List getTaskInfo (@Param("map") Map map); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/task/dao/mapper/xml/SchBaseTaskMapper.xml b/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/task/dao/mapper/xml/SchBaseTaskMapper.xml index 7150f8ae..68475c66 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/task/dao/mapper/xml/SchBaseTaskMapper.xml +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/task/dao/mapper/xml/SchBaseTaskMapper.xml @@ -2,4 +2,33 @@ +