.claude/settings.local.json
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,29 @@ { "permissions": { "allow": [ "mcp__mcp_server_mysql__mysql_query", "Bash(mvn -q compile -DskipTests -o)", "Bash(mvn -q compile -DskipTests)", "Bash(mvn compile *)", "Bash(xargs grep -n \"\\(\\\\\"\")", "mcp__playwright__browser_take_screenshot", "mcp__playwright__browser_evaluate", "mcp__playwright__browser_find", "mcp__playwright__browser_click", "mcp__playwright__browser_navigate", "mcp__playwright__browser_network_requests", "mcp__playwright__browser_network_request", "mcp__playwright__browser_snapshot", "Read(//d/ç马/åé/**)", "Read(//d/ç马/**)", "Bash(echo \"exit=$?\")", "Bash(node -e \"const p=require\\('./package.json'\\);console.log\\(JSON.stringify\\(p.scripts\\)\\)\")", "Bash(npx vite *)", "Bash(echo \"EXIT=$?\")", "Read(//tmp/**)" ] }, "enabledMcpjsonServers": [ "mysql" ] } src/main/java/com/ruoyi/dto/MapDto.java
@@ -22,4 +22,7 @@ @Schema(description = "å æ¯") private String rate; @Schema(description = "é¢è²") private String color; } src/main/java/com/ruoyi/home/dto/ProductionTaskStatisticsDto.java
@@ -47,4 +47,7 @@ @Schema(description = "ç产订åå·") private String productOrderNpsNo; @Schema(description = "å·¥åºé¢è²") private String processColor; } src/main/java/com/ruoyi/home/dto/ProductionTurnoverDto.java
@@ -21,4 +21,7 @@ @Schema(description = "å·¥åºå¯¹åºçæ°é详æ ") private List<Long> processQuantityDetails; @Schema(description = "å·¥åºå¯¹åºçé¢è²è¯¦æ ï¼é¡ºåºä¸processDetailsä¸è´") private List<String> processColors; } src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
@@ -555,15 +555,22 @@ .collect(Collectors.groupingBy(ProductionTaskStatisticsDto::getProcessName)); List<String> strings = new ArrayList<>(); List<Long> processQuantityDetails = new ArrayList<>(); List<String> processColors = new ArrayList<>(); map.entrySet().stream().forEach(entry -> { String key = entry.getKey(); long completeSum = entry.getValue().stream().map(ProductionTaskStatisticsDto::getCompleteQuantity) .mapToLong(BigDecimal::longValue).sum(); strings.add(key); processQuantityDetails.add(completeSum); processColors.add(entry.getValue().stream() .map(ProductionTaskStatisticsDto::getProcessColor) .filter(Objects::nonNull) .findFirst() .orElse(null)); }); productionTurnoverDto.setProcessDetails(strings); productionTurnoverDto.setProcessQuantityDetails(processQuantityDetails); productionTurnoverDto.setProcessColors(processColors); return productionTurnoverDto; } @@ -1445,11 +1452,19 @@ return new ArrayList<>(); } Map<String, String> processColorMap = new HashMap<>(); list.forEach(item -> { if (item.getProcessName() != null && item.getProcessColor() != null) { processColorMap.putIfAbsent(item.getProcessName(), item.getProcessColor()); } }); List<MapDto> result = new ArrayList<>(); processOutputMap.forEach((name, value) -> { MapDto dto = new MapDto(); dto.setName(name); dto.setValue(value.stripTrailingZeros().toPlainString()); dto.setColor(processColorMap.get(name)); BigDecimal rate = value .divide(total, 4, RoundingMode.HALF_UP) src/main/java/com/ruoyi/production/bean/vo/ProcessRouteStatusVo.java
@@ -14,4 +14,7 @@ @Schema(description = "宿è¿åº¦ç¾åæ¯") private BigDecimal percentage; @Schema(description = "å·¥åºé¢è²") private String color; } src/main/java/com/ruoyi/production/bean/vo/ProductionOperationTaskVo.java
@@ -52,4 +52,7 @@ @Schema(description = "æ¯å¦å·²é¢æ") private Boolean picked; @Schema(description = "å·¥åºé¢è²") private String operationColor; } src/main/java/com/ruoyi/production/bean/vo/ProductionOrderProcessTaskVo.java
@@ -17,4 +17,7 @@ @Schema(description = "宿è¿åº¦") private BigDecimal completionStatus; @Schema(description = "å·¥åºé¢è²") private String operationColor; } src/main/java/com/ruoyi/production/service/impl/ProductionOrderServiceImpl.java
@@ -809,6 +809,7 @@ percentage = new BigDecimal("100"); } status.setPercentage(percentage); status.setColor(task.getOperationColor()); statusMap.computeIfAbsent(task.getProductionOrderId(), key -> new ArrayList<>()).add(status); } } src/main/java/com/ruoyi/technology/pojo/TechnologyOperation.java
@@ -52,6 +52,9 @@ @Schema(description = "ç±»å åºå计æ¶å计件ï¼0计æ¶ï¼1计件") private Integer type; @Schema(description = "å·¥åºé¢è²") private String color; @Schema(description = "设å¤id") private String deviceLedgerId; src/main/resources/application-dev.yml
@@ -73,7 +73,7 @@ druid: # ä¸»åºæ°æ®æº master: url: jdbc:mysql://localhost:3306/product-inventory-management?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 url: jdbc:mysql://localhost:3306/product-inventory-management-dyzn?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root password: 123456 # ä»åºæ°æ®æº src/main/resources/mapper/production/ProductionOperationTaskMapper.xml
@@ -30,6 +30,7 @@ pm.unit as unit, poro.operation_name as operationName, poro.type as type, topo.color as operationColor, IFNULL(scrapStat.scrapQty, 0) AS scrapQty, CASE WHEN pickStat.pickCount > 0 THEN 1 ELSE 0 END AS picked, ROUND(IFNULL(pot.complete_quantity, 0) / NULLIF(pot.plan_quantity, 0) * 100, 2) AS completionStatus, @@ -42,6 +43,7 @@ left join production_order_routing_operation poro on pot.production_order_routing_operation_id = poro.id left join product_model pm on pm.id = ifnull(poro.product_model_id, po.product_model_id) left join product p on pm.product_id = p.id left join technology_operation topo on poro.technology_operation_id = topo.id left join ( select count(1) as pickCount, pop.production_order_id, pop.technology_operation_id from production_order_pick pop @@ -94,10 +96,12 @@ p.product_name as productName, pm.model, pm.unit, po.nps_no as productOrderNpsNo po.nps_no as productOrderNpsNo, topo.color as processColor from production_operation_task pot left join production_order po on pot.production_order_id = po.id left join production_order_routing_operation poro on pot.production_order_routing_operation_id = poro.id left join technology_operation topo on poro.technology_operation_id = topo.id left join product_model pm on pm.id = ifnull(poro.product_model_id, po.product_model_id) left join product p on pm.product_id = p.id where date(pot.create_time) between #{startDate} and #{endDate} @@ -170,6 +174,7 @@ <select id="getOperation" resultType="com.ruoyi.production.bean.vo.ProductionOperationTaskVo"> select poro.operation_name as operationName, max(poro.type) as type, max(topo.color) as operationColor, count(pot.id) as productionTaskCount, sum(ifnull(pot.plan_quantity, 0)) as planQuantity, sum(ifnull(pot.complete_quantity, 0)) as completeQuantity, @@ -185,6 +190,7 @@ ) as completionStatus from production_operation_task pot left join production_order_routing_operation poro on pot.production_order_routing_operation_id = poro.id left join technology_operation topo on poro.technology_operation_id = topo.id left join ( select ppm.production_operation_task_id as taskId, sum(ifnull(ppo.scrap_qty, 0)) as scrapQty @@ -225,10 +231,12 @@ <select id="listProcessStatusByOrderIds" resultType="com.ruoyi.production.bean.vo.ProductionOrderProcessTaskVo"> select pot.production_order_id as productionOrderId, poro.operation_name as operationName, topo.color as operationColor, ROUND(IFNULL(pot.complete_quantity, 0) / NULLIF(pot.plan_quantity, 0) * 100, 2) AS completionStatus from production_operation_task pot left join production_order_routing_operation poro on pot.production_order_routing_operation_id = poro.id left join technology_operation topo on poro.technology_operation_id = topo.id where pot.production_order_id in <foreach collection="orderIds" item="orderId" open="(" separator="," close=")"> #{orderId} src/main/resources/mapper/technology/TechnologyOperationMapper.xml
@@ -13,6 +13,7 @@ <result column="salary_quota" property="salaryQuota" /> <result column="is_quality" property="isQuality" /> <result column="type" property="type" /> <result column="color" property="color" /> <result column="device_ledger_id" property="deviceLedgerId" /> <result column="create_user" property="createUser" /> <result column="dept_id" property="deptId" />