[agent-pipeline] pipe-20260328094842-38e9 round-1

This commit is contained in:
DDD1542
2026-03-28 19:10:09 +09:00
parent dc035667e8
commit d3c62f0bc1
12 changed files with 56 additions and 37 deletions
+12 -2
View File
@@ -1046,6 +1046,7 @@
"integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@babel/code-frame": "^7.27.1",
"@babel/generator": "^7.28.3",
@@ -2373,6 +2374,7 @@
"resolved": "https://registry.npmjs.org/@redis/client/-/client-1.6.1.tgz",
"integrity": "sha512-/KCsg3xSlR+nCK8/8ZYSknYxvXHwubJrU82F3Lm1Fp6789VQ0/3RJKfsmRXjqfaTA++23CvC3hqmqe/2GEt6Kw==",
"license": "MIT",
"peer": true,
"dependencies": {
"cluster-key-slot": "1.1.2",
"generic-pool": "3.9.0",
@@ -3485,6 +3487,7 @@
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.17.tgz",
"integrity": "sha512-gfehUI8N1z92kygssiuWvLiwcbOB3IRktR6hTDgJlXMYh5OvkPSRmgfoBUmfZt+vhwJtX7v1Yw4KvvAf7c5QKQ==",
"license": "MIT",
"peer": true,
"dependencies": {
"undici-types": "~6.21.0"
}
@@ -3721,6 +3724,7 @@
"integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==",
"dev": true,
"license": "BSD-2-Clause",
"peer": true,
"dependencies": {
"@typescript-eslint/scope-manager": "6.21.0",
"@typescript-eslint/types": "6.21.0",
@@ -3938,6 +3942,7 @@
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
"dev": true,
"license": "MIT",
"peer": true,
"bin": {
"acorn": "bin/acorn"
},
@@ -4463,6 +4468,7 @@
}
],
"license": "MIT",
"peer": true,
"dependencies": {
"baseline-browser-mapping": "^2.8.3",
"caniuse-lite": "^1.0.30001741",
@@ -5673,6 +5679,7 @@
"deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.6.1",
@@ -5951,6 +5958,7 @@
"resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz",
"integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==",
"license": "MIT",
"peer": true,
"dependencies": {
"accepts": "~1.3.8",
"array-flatten": "1.1.1",
@@ -7486,6 +7494,7 @@
"integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@jest/core": "^29.7.0",
"@jest/types": "^29.6.3",
@@ -8455,7 +8464,6 @@
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
"integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
"license": "MIT",
"peer": true,
"dependencies": {
"js-tokens": "^3.0.0 || ^4.0.0"
},
@@ -9343,6 +9351,7 @@
"resolved": "https://registry.npmjs.org/pg/-/pg-8.16.3.tgz",
"integrity": "sha512-enxc1h0jA/aq5oSDMvqyW3q89ra6XIIDZgCX9vkMrnz5DFTw/Ny3Li2lFQ+pt3L6MCgm/5o2o8HW9hiJji+xvw==",
"license": "MIT",
"peer": true,
"dependencies": {
"pg-connection-string": "^2.9.1",
"pg-pool": "^3.10.1",
@@ -10198,7 +10207,6 @@
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
"integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==",
"license": "MIT",
"peer": true,
"dependencies": {
"loose-envify": "^1.1.0"
}
@@ -11006,6 +11014,7 @@
"integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@cspotcode/source-map-support": "^0.8.0",
"@tsconfig/node10": "^1.0.7",
@@ -11111,6 +11120,7 @@
"integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==",
"dev": true,
"license": "Apache-2.0",
"peer": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@@ -17,11 +17,16 @@ public class ScheduleController {
private final ScheduleService scheduleService;
@GetMapping("/list")
public ResponseEntity<ApiResponse<Map<String, Object>>> getScheduleList(
public ResponseEntity<Map<String, Object>> getScheduleList(
@RequestAttribute("companyCode") String companyCode,
@RequestParam Map<String, Object> params) {
params.put("companyCode", companyCode);
return ResponseEntity.ok(ApiResponse.success(scheduleService.getScheduleList(params)));
List<Map<String, Object>> list = scheduleService.getScheduleList(params);
Map<String, Object> resp = new LinkedHashMap<>();
resp.put("success", true);
resp.put("data", list);
resp.put("total", list.size());
return ResponseEntity.ok(resp);
}
@GetMapping("/{scheduleId}")
@@ -19,13 +19,9 @@ public class ScheduleService extends BaseService {
private static final String NS = "schedule.";
public Map<String, Object> getScheduleList(Map<String, Object> params) {
public List<Map<String, Object>> getScheduleList(Map<String, Object> params) {
commonService.applyCompanyCodeFilter(params);
List<Map<String, Object>> list = sqlSession.selectList(NS + "getScheduleList", params);
Map<String, Object> result = new LinkedHashMap<>();
result.put("data", list);
result.put("total", list.size());
return result;
return sqlSession.selectList(NS + "getScheduleList", params);
}
public Map<String, Object> getScheduleInfo(Map<String, Object> params) {
@@ -20,6 +20,7 @@ public class ScreenManagementService extends BaseService {
private static final String NS = "screenManagement.";
private final ObjectMapper objectMapper;
private final CommonService commonService;
// ═══════════════════════════════════════════════════════════
// Screen CRUD
@@ -257,6 +258,7 @@ public class ScreenManagementService extends BaseService {
List<Map<String, Object>> data = sqlSession.selectList(NS + "selectDeletedScreenList", params);
int total = sqlSession.selectOne(NS + "countDeletedScreenList", params);
data = commonService.toCamelCaseKeysList(data);
Map<String, Object> result = new LinkedHashMap<>();
result.put("data", data);
@@ -28,11 +28,7 @@
, MENU.MENU_ICON
, ARRAY[MENU.OBJID] AS PATH
FROM MENU_INFO MENU
WHERE NOT EXISTS (
SELECT 1
FROM MENU_INFO P
WHERE P.OBJID = MENU.PARENT_OBJ_ID
)
WHERE (MENU.PARENT_OBJ_ID IS NULL OR MENU.PARENT_OBJ_ID = '0')
<if test="!includeInactive">
AND MENU.STATUS = 'active'
</if>
@@ -12,8 +12,8 @@
COALESCE(ii.item_name, wi.item_id, '미지정') AS item,
COALESCE(wi.worker, '미지정') AS worker,
CAST(COALESCE(NULLIF(wi.qty, ''), '0') AS NUMERIC) AS plan_qty,
COALESCE(pr.production_qty, 0) AS prod_qty,
COALESCE(pr.defect_qty, 0) AS defect_qty,
COALESCE(pr.production_qty, '0') AS prod_qty,
COALESCE(pr.defect_qty, '0') AS defect_qty,
0 AS run_time,
0 AS down_time,
wi.status,
@@ -61,8 +61,8 @@
'일반' AS category,
CAST(COALESCE(NULLIF(ist.current_qty::TEXT, ''), '0') AS NUMERIC) AS current_qty,
CAST(COALESCE(NULLIF(ist.safety_qty::TEXT, ''), '0') AS NUMERIC) AS safety_qty,
COALESCE(ih_in.in_qty, 0) AS in_qty,
COALESCE(ih_out.out_qty, 0) AS out_qty,
COALESCE(ih_in.in_qty, '0') AS in_qty,
COALESCE(ih_out.out_qty, '0') AS out_qty,
0 AS stock_value,
GREATEST(
CAST(COALESCE(NULLIF(ist.safety_qty::TEXT, ''), '0') AS NUMERIC)
@@ -70,9 +70,9 @@
) AS shortage_qty,
CASE
WHEN CAST(COALESCE(NULLIF(ist.current_qty::TEXT, ''), '0') AS NUMERIC) &gt; 0
AND COALESCE(ih_out.out_qty, 0) &gt; 0
AND COALESCE(ih_out.out_qty, '0') &gt; 0
THEN ROUND(
COALESCE(ih_out.out_qty, 0)::NUMERIC
COALESCE(ih_out.out_qty, '0')::NUMERIC
/ CAST(COALESCE(NULLIF(ist.current_qty::TEXT, ''), '1') AS NUMERIC), 2)
ELSE 0
END AS turnover,
@@ -33,8 +33,8 @@
COMPANY_CODE, CREATED_BY, UPDATED_BY
) VALUES (
#{definition_name}, #{definition_name_eng}, #{description}, #{default_template_id},
COALESCE(#{max_steps}, 5), COALESCE(#{allow_self_approval}, FALSE),
COALESCE(#{allow_cancel}, TRUE), COALESCE(#{is_active}, 'Y'),
COALESCE(#{max_steps}, '5'), COALESCE(#{allow_self_approval}, 'false'),
COALESCE(#{allow_cancel}, 'true'), COALESCE(#{is_active}, 'Y'),
#{companyCode}, #{userId}, #{userId}
)
</insert>
@@ -126,7 +126,7 @@
SELECT
U.USER_ID,
U.USER_NAME,
COALESCE(SAL.LOG_COUNT, 0)::INT AS COUNT
COALESCE(SAL.LOG_COUNT, '0')::INT AS COUNT
FROM USER_INFO U
LEFT JOIN (
SELECT USER_ID, COUNT(*) AS LOG_COUNT
@@ -127,9 +127,9 @@
COALESCE(#{startTime}::timestamp, NOW()),
#{endTime}::timestamp,
#{durationMs},
COALESCE(#{totalRecords}, 0),
COALESCE(#{successRecords}, 0),
COALESCE(#{failedRecords}, 0),
COALESCE(#{totalRecords}, '0'),
COALESCE(#{successRecords}, '0'),
COALESCE(#{failedRecords}, '0'),
#{errorMessage}, #{errorDetails},
#{serverName}, #{processId}
)
@@ -56,8 +56,8 @@
<select id="selectDdlTotalStats" parameterType="map" resultType="map">
SELECT
COUNT(*) AS TOTAL_EXECUTIONS
, SUM(CASE WHEN SUCCESS = TRUE THEN 1 ELSE 0 END) AS SUCCESSFUL_EXECUTIONS
, SUM(CASE WHEN SUCCESS = FALSE THEN 1 ELSE 0 END) AS FAILED_EXECUTIONS
, SUM(CASE WHEN SUCCESS = 'true' THEN 1 ELSE 0 END) AS SUCCESSFUL_EXECUTIONS
, SUM(CASE WHEN SUCCESS = 'false' THEN 1 ELSE 0 END) AS FAILED_EXECUTIONS
FROM DDL_EXECUTION_LOG
WHERE 1=1
<if test="fromDate != null and fromDate != ''">
@@ -112,7 +112,7 @@
, ERROR_MESSAGE
, EXECUTED_AT
FROM DDL_EXECUTION_LOG
WHERE SUCCESS = FALSE
WHERE SUCCESS = 'false'
<if test="fromDate != null and fromDate != ''">
AND EXECUTED_AT >= CAST(#{fromDate} AS TIMESTAMP)
</if>
@@ -29,7 +29,17 @@
<include refid="common.companyCodeFilter"/>
<include refid="driverSearchCondition"/>
<include refid="common.dynamicOrderBy"/>
<choose>
<when test="sortColumn != null and sortColumn != ''">
ORDER BY ${sortColumn}
<if test="sortDirection != null and sortDirection != ''">
${sortDirection}
</if>
</when>
<otherwise>
ORDER BY REGDATE DESC
</otherwise>
</choose>
<include refid="common.pagination"/>
</select>
@@ -351,12 +351,12 @@
DO UPDATE SET
INPUT_TYPE = EXCLUDED.INPUT_TYPE
, DETAIL_SETTINGS = EXCLUDED.DETAIL_SETTINGS
, REFERENCE_TABLE = CASE WHEN #{clearEntity} = TRUE THEN NULL ELSE TABLE_TYPE_COLUMNS.REFERENCE_TABLE END
, REFERENCE_COLUMN= CASE WHEN #{clearEntity} = TRUE THEN NULL ELSE TABLE_TYPE_COLUMNS.REFERENCE_COLUMN END
, DISPLAY_COLUMN = CASE WHEN #{clearEntity} = TRUE THEN NULL ELSE TABLE_TYPE_COLUMNS.DISPLAY_COLUMN END
, CODE_CATEGORY = CASE WHEN #{clearCode} = TRUE THEN NULL ELSE TABLE_TYPE_COLUMNS.CODE_CATEGORY END
, CODE_VALUE = CASE WHEN #{clearCode} = TRUE THEN NULL ELSE TABLE_TYPE_COLUMNS.CODE_VALUE END
, CATEGORY_REF = CASE WHEN #{clearCategory} = TRUE THEN NULL ELSE TABLE_TYPE_COLUMNS.CATEGORY_REF END
, REFERENCE_TABLE = CASE WHEN #{clearEntity} = 'true' THEN NULL ELSE TABLE_TYPE_COLUMNS.REFERENCE_TABLE END
, REFERENCE_COLUMN= CASE WHEN #{clearEntity} = 'true' THEN NULL ELSE TABLE_TYPE_COLUMNS.REFERENCE_COLUMN END
, DISPLAY_COLUMN = CASE WHEN #{clearEntity} = 'true' THEN NULL ELSE TABLE_TYPE_COLUMNS.DISPLAY_COLUMN END
, CODE_CATEGORY = CASE WHEN #{clearCode} = 'true' THEN NULL ELSE TABLE_TYPE_COLUMNS.CODE_CATEGORY END
, CODE_VALUE = CASE WHEN #{clearCode} = 'true' THEN NULL ELSE TABLE_TYPE_COLUMNS.CODE_VALUE END
, CATEGORY_REF = CASE WHEN #{clearCategory} = 'true' THEN NULL ELSE TABLE_TYPE_COLUMNS.CATEGORY_REF END
, UPDATED_DATE = NOW()
</insert>