diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/loki/rest/LokiController.java b/lms/nladmin-system/src/main/java/org/nl/modules/loki/rest/LokiController.java deleted file mode 100644 index e498cb6..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/loki/rest/LokiController.java +++ /dev/null @@ -1,40 +0,0 @@ -package org.nl.modules.loki.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.modules.common.annotation.RateLimiter; -import org.nl.modules.loki.service.LokiService; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.*; - -/** - * @Author: lyd - * @Description: 日志监控 - * @Date: 2022-08-15 - */ -@RestController -@RequiredArgsConstructor -@Api(tags = "日志监控") -@RequestMapping("/api/loki") -@Slf4j -public class LokiController { - - private final LokiService lokiService; - - @GetMapping("/labels/values") - @ApiOperation("获取标签") - public ResponseEntity labelsValues() { - return new ResponseEntity<>(lokiService.getLabelsValues(), HttpStatus.OK); - } - - @PostMapping("/logs") - @ApiOperation("获取日志") - @RateLimiter(value = 1, timeout = 300) // 限流 - public ResponseEntity getLogData(@RequestBody JSONObject json) { - return new ResponseEntity<>(lokiService.getLogData(json), HttpStatus.OK); - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/loki/service/LokiService.java b/lms/nladmin-system/src/main/java/org/nl/modules/loki/service/LokiService.java deleted file mode 100644 index 10101c9..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/loki/service/LokiService.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.nl.modules.loki.service; - -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; - -/** - * @Author: lyd - * @Description: 服务类 - * @Date: 2022-08-15 - */ -public interface LokiService { - - /** - * 获取日志信息 - * @param json - * @return - */ - JSONObject getLogData(JSONObject json); - - /** - * 获取labels和values树 - * @return - */ - JSONArray getLabelsValues(); -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/loki/service/impl/LokiServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/modules/loki/service/impl/LokiServiceImpl.java deleted file mode 100644 index eab56ac..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/loki/service/impl/LokiServiceImpl.java +++ /dev/null @@ -1,114 +0,0 @@ -package org.nl.modules.loki.service.impl; - -import cn.hutool.core.util.CharsetUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.http.HttpUtil; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import lombok.RequiredArgsConstructor; -import org.nl.modules.loki.service.LokiService; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; - -/** - * @Author: lyd - * @Description: 实现类 - * @Date: 2022-08-15 - */ -@Service -@RequiredArgsConstructor -public class LokiServiceImpl implements LokiService { - - @Value("${loki.url}") - private String lokiUrl; - - @Value("${loki.systemName}") - private String systemName; - - @Override - public JSONObject getLogData(JSONObject json) { - String logLabel = ""; - String logLabelValue = ""; - Long start = 0L; - Long end = 0L; - String text = ""; - String limit = "100"; - String direction = "backward"; - if (ObjectUtil.isNotEmpty(json.get("logLabel"))) logLabel = json.getString("logLabel"); - if (ObjectUtil.isNotEmpty(json.get("logLabelValue"))) logLabelValue = json.getString("logLabelValue"); - if (ObjectUtil.isNotEmpty(json.get("text"))) text = json.getString("text"); - if (ObjectUtil.isNotEmpty(json.get("start"))) start = json.getLong("start"); - if (ObjectUtil.isNotEmpty(json.get("end"))) end = json.getLong("end"); - if (ObjectUtil.isNotEmpty(json.get("limits"))) limit = json.getString("limits"); - if (ObjectUtil.isNotEmpty(json.get("direction"))) direction = json.getString("direction"); - /** - * 组织参数 - * 纳秒数 - * 1660037391880000000 - * 1641453208415000000 - * http://localhost:3100/loki/api/v1/query_range?query={host="localhost"} |= ``&limit=1500&start=1641453208415000000&end=1660027623419419002 - */ - JSONObject parse = null; - String query = lokiUrl + "/query_range?query={system=\"" + systemName + "\", " + logLabel + "=\"" + logLabelValue + "\"} |= `" + text + "`"; - String result = ""; - if (start==0L) { - result = HttpUtil.get(query + "&limit=" + limit + "&direction=" + direction, CharsetUtil.CHARSET_UTF_8); - } else { - result = HttpUtil.get(query + "&limit=" + limit + "&start=" + start + "&end=" + end + "&direction=" + direction, CharsetUtil.CHARSET_UTF_8); - } - try { - parse = (JSONObject) JSONObject.parse(result); - } catch (Exception e) { -// reslut的值可能为:too many outstanding requests,无法转化成Json - System.out.println("reslut:" + result); -// e.printStackTrace(); - } - return parse; - } - - /** - * 获取labels和values树 - * - * @return - */ - @Override - public JSONArray getLabelsValues() { - /** - * [{ - * label: - * value: - * children:[{ - * label - * value - * }] - * }] - */ - JSONArray result = new JSONArray(); - // 获取所有标签 - String labelString = HttpUtil.get(lokiUrl + "/labels", CharsetUtil.CHARSET_UTF_8); - JSONObject parse = (JSONObject) JSONObject.parse(labelString); - JSONArray labels = parse.getJSONArray("data"); - for (int i=0; i queryAll(Map whereJson, Pageable page) { WQLObject wo = WQLObject.getWQLObject("md_me_material_detail"); - ResultBean rb = wo.pagequery(WqlUtil.getHttpContext(page), "1=1", "update_time desc"); + ResultBean rb = wo.pagequery(WqlUtil.getHttpContext(page), "is_delete = '0'", "update_time desc"); final JSONObject json = rb.pageResult(); return json; } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/impl/MaterialbaseServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/impl/MaterialbaseServiceImpl.java index 546303c..d90e462 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/impl/MaterialbaseServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/impl/MaterialbaseServiceImpl.java @@ -164,8 +164,13 @@ public class MaterialbaseServiceImpl implements MaterialbaseService { @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { String ids_str = CommonUtils.idsArrayToInStr(ids); - WQLObject.getWQLObject("md_me_materialbase").delete("material_id IN " + ids_str); - WQLObject.getWQLObject("md_me_material_detail").delete("material_id IN " + ids_str); + JSONObject material_update = new JSONObject(); + material_update.put("is_delete", "1"); + material_update.put("update_optid", SecurityUtils.getCurrentUserId()); + material_update.put("update_optname", SecurityUtils.getCurrentNickName()); + material_update.put("update_time", DateUtil.now()); + WQLObject.getWQLObject("md_me_materialbase").update(material_update, "material_id IN " + ids_str); + WQLObject.getWQLObject("md_me_material_detail").update(material_update, "material_id IN " + ids_str); } @Override diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/QMD_ME_MATERIAL.wql b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/QMD_ME_MATERIAL.wql index 34abc0f..fc9468f 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/QMD_ME_MATERIAL.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/QMD_ME_MATERIAL.wql @@ -48,7 +48,7 @@ FROM md_me_materialbase mb WHERE - 1 = 1 + is_delete = '0' OPTION 输入.search <> "" ( mb.material_code like '%' 输入.search '%' diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java index 8149ea7..5b596a8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java @@ -98,7 +98,7 @@ public class AcsToWmsController { @Log("排产单确认") @ApiOperation("排产单确认") @SaIgnore - public ResponseEntity sureProduceTask(@RequestBody Map whereJson) { + public ResponseEntity sureProduceTask(@RequestBody JSONObject whereJson) { return new ResponseEntity<>(acsToWmsService.sureWorkOrder(whereJson), HttpStatus.OK); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java index 02a1c5d..21aee0d 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java @@ -79,7 +79,7 @@ public interface AcsToWmsService { * @param whereJson * @return */ - Map sureWorkOrder(Map whereJson); + Map sureWorkOrder(JSONObject whereJson); /** * 根据木托盘类型获取对应所在的点位 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 711c5e0..ff637f4 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -544,12 +544,12 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { */ @Override @Transactional(rollbackFor = Exception.class) - public Map sureWorkOrder(Map jsonObject) { - String type = (String) jsonObject.get("type"); + public Map sureWorkOrder(JSONObject jsonObject) { + String type = jsonObject.getString("type"); if (StrUtil.isEmpty(type)) { throw new BadRequestException("类型不能为空!"); } - String workorder_code = (String) jsonObject.get("workorder_code"); + String workorder_code = jsonObject.getString("workorder_code"); if (StrUtil.isEmpty(type)) { throw new BadRequestException("工单编码不能为空!"); } @@ -563,11 +563,12 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { if (workorder.getIntValue("order_status") < 3) { workorder.put("order_status", WorkOrderEnum.ORDER_STATUS_PRODUCING.value()); workorder.put("realproducestart_date", DateUtil.now()); + TaskUtils.addACSUpdateColum(workorder); workorder_table.update(workorder); } } else if ("2".equals(type)) { // 工单完成 - String qty = (String) jsonObject.get("qty"); + String qty = jsonObject.getString("qty"); if (StrUtil.isBlank(qty)) { throw new BadRequestException("数量不能为空!"); } @@ -575,11 +576,11 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { if (workorder.getIntValue("order_status") < 5) { workorder.put("order_status", WorkOrderEnum.ORDER_STATUS_FINISH.value()); workorder.put("real_qty", qty); - String unqualified_qty = (String) jsonObject.get("unqualified_qty"); + String unqualified_qty = jsonObject.getString("unqualified_qty"); if (StrUtil.isNotBlank(unqualified_qty) && !"0".equals(unqualified_qty)) { workorder.put("unqualified_qty", unqualified_qty); } - String qualified_qty = (String) jsonObject.get("qualified_qty"); + String qualified_qty = jsonObject.getString("qualified_qty"); if (StrUtil.isNotBlank(qualified_qty) && !"0".equals(qualified_qty)) { workorder.put("qualified_qty", qualified_qty); } else { @@ -587,6 +588,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { } workorder.put("realproduceend_date", DateUtil.now()); + TaskUtils.addACSUpdateColum(workorder); workorder_table.update(workorder); } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DeviceServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DeviceServiceImpl.java index 1cd5f90..72ba106 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DeviceServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DeviceServiceImpl.java @@ -13,6 +13,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; +import org.nl.modules.common.utils.CommonUtils; import org.nl.modules.common.utils.SecurityUtils; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; @@ -119,10 +120,8 @@ public class DeviceServiceImpl implements DeviceService { @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { - WQLObject wo = WQLObject.getWQLObject("pdm_bi_device"); - for (Long device_id : ids) { - wo.delete("device_id = '" + device_id + "'"); - } + String s = CommonUtils.idsArrayToInStr(ids); + WQLObject.getWQLObject("pdm_bi_device").delete("device_id IN " + s); } @Override diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkorderServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkorderServiceImpl.java index 5e03d77..bfbc454 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkorderServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkorderServiceImpl.java @@ -22,7 +22,9 @@ import org.nl.wms.basedata.eum.VehicleType; import org.nl.wms.ext.acs.service.WmsToAcsService; import org.nl.wms.pdm.service.WorkordeService; import org.nl.wms.pdm.service.dto.WorkorderDto; +import org.nl.wms.sch.manage.Region; import org.nl.wms.sch.manage.WorkOrderEnum; +import org.nl.wms.sch.task.util.TaskUtils; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; @@ -31,6 +33,8 @@ import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Map; +import static cn.hutool.db.sql.SqlExecutor.query; + /** * @author qinx * @description 服务实现 @@ -111,12 +115,14 @@ public class WorkorderServiceImpl implements WorkordeService { work_order.put("planproducestart_date", dto.getPlanproducestart_date()); work_order.put("planproduceend_date", dto.getPlanproduceend_date()); work_order.put("material_id", dto.getMaterial_id()); - String device_code = dto.getDevice_code(); + Long device_id = dto.getDevice_id(); + JSONObject device = WQLObject.getWQLObject("pdm_bi_device").query("device = " + device_id).uniqueResult(0); + String device_region_code = device.getString("region_code"); String vehicle_type = dto.getVehicle_type(); - if (!device_code.startsWith("FJ")) { - if (device_code.startsWith("YJ")) { + if (!Region.FJ.value().equals(device_region_code)) { + if (Region.YZ.value().equals(device_region_code)) { vehicle_type = VehicleType.STEEL_TRAY.value(); - } else if (device_code.startsWith("HL")) { + } else if (Region.HL.value().equals(device_region_code)) { vehicle_type = VehicleType.CUP.value(); } } @@ -404,29 +410,32 @@ public class WorkorderServiceImpl implements WorkordeService { @Override @Transactional(rollbackFor = Exception.class) public void finish(JSONObject param) { - Long currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - JSONObject row = param.getJSONObject("row"); - String workorder_id = row.getString("workorder_id"); - WQLObject wo = WQLObject.getWQLObject("PDM_BD_WORKORDER"); - JSONObject produceorderMap = new JSONObject(); - produceorderMap.put("workorder_id",workorder_id); - produceorderMap.put("order_status","5"); - produceorderMap.put("update_optid", currentUserId); - produceorderMap.put("device_id", null); - produceorderMap.put("update_optname", nickName); - produceorderMap.put("update_time", now); - produceorderMap.put("realproduceend_date", now); - wo.update(produceorderMap); - //wms向acs发送请求 工单强制完成 - // TODO - JSONArray array = new JSONArray(); - JSONObject map = new JSONObject(); - map.put("ext_order_id",workorder_id); - map.put("type","3"); - array.add(map); - wmsToAcsService.orderStatusUpdate(array); + String workorder_id = param.getString("workorder_id"); + WQLObject workorder_table = WQLObject.getWQLObject("pdm_bd_workorder"); + JSONObject workorder = workorder_table.query("workorder_id = " + workorder_id).uniqueResult(0); + + if (workorder.getIntValue("order_status") < 5) { + workorder.put("order_status", WorkOrderEnum.ORDER_STATUS_FINISH.value()); + String qty = param.getString("qty"); + if (StrUtil.isBlank(qty)) { + throw new BadRequestException("数量不能为空!"); + } + workorder.put("real_qty", qty); + String unqualified_qty = param.getString("unqualified_qty"); + if (StrUtil.isNotBlank(unqualified_qty) && !"0".equals(unqualified_qty)) { + workorder.put("unqualified_qty", unqualified_qty); + } + String qualified_qty = param.getString("qualified_qty"); + if (StrUtil.isNotBlank(qualified_qty) && !"0".equals(qualified_qty)) { + workorder.put("qualified_qty", qualified_qty); + } else { + workorder.put("qualified_qty", Integer.parseInt(qty) - workorder.getIntValue("unqualified_qty")); + } + + workorder.put("realproduceend_date", DateUtil.now()); + TaskUtils.addCurrentUpdateColum(workorder); + workorder_table.update(workorder); + } } @Override diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/wms.xls b/lms/nladmin-system/src/main/java/org/nl/wms/wms.xls index b18c843..c38050f 100644 Binary files a/lms/nladmin-system/src/main/java/org/nl/wms/wms.xls and b/lms/nladmin-system/src/main/java/org/nl/wms/wms.xls differ diff --git a/lms/nladmin-system/src/main/resources/config/application-prod.yml b/lms/nladmin-system/src/main/resources/config/application-prod.yml index 3a8b115..11cca72 100644 --- a/lms/nladmin-system/src/main/resources/config/application-prod.yml +++ b/lms/nladmin-system/src/main/resources/config/application-prod.yml @@ -158,7 +158,3 @@ sa-token: jwt-secret-key: opsjajisdnnca0sdkksdfaaasdfwwq # token 前缀 token-prefix: Bearer - -loki: - url: http://192.168.4.220:3100/loki/api/v1 - systemName: lms diff --git a/lms/nladmin-system/src/main/resources/config/application.yml b/lms/nladmin-system/src/main/resources/config/application.yml index 6f01423..942ceff 100644 --- a/lms/nladmin-system/src/main/resources/config/application.yml +++ b/lms/nladmin-system/src/main/resources/config/application.yml @@ -2,7 +2,7 @@ spring: freemarker: check-template-location: false profiles: - active: dev + active: prod jackson: time-zone: GMT+8 data: