From 08bae96ce03625f054f3977147a7e9861c51209d Mon Sep 17 00:00:00 2001
From: wuyouming666 <2265557248@qq.com>
Date: 星期五, 28 六月 2024 08:21:52 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes
---
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/filter/JwtAuthenticationTokenFilter.java | 80 +
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/request/Reportingdamage.java | 35
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/handler/LoginFailureHandler.java | 31
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/SysMenuService.java | 66 +
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/request/ReportingDamageMapper.java | 16
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/SysRoleService.java | 51 +
hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/LoadGlassModuleApplicationTest.java | 30
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/controller/SysRoleController.java | 63 +
hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/entity/Orderdetail.java | 65 +
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/ReportingWorkMapper.java | 16
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/ReportingWorkController.java | 40
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/RedisUtil.java | 235 ++++
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/WebUtils.java | 30
hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/mapper/OrdersMapper.java | 15
hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/mapper/OrderMapper.java | 16
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/controller/SysMenuController.java | 77 +
hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/CodeGet.java | 8
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/impl/SysRoleMenuServiceImpl.java | 20
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/request/AwaitingRepair.java | 162 +++
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/mapper/SysMenuMapper.java | 21
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/SysRoleMenuMapper.java | 18
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/ReportingWorkService.java | 21
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/FastJsonRedisSerializer.java | 55 +
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/SysRoleMapper.java | 18
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/entity/SysRole.java | 50 +
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/request/AwaitingRepairMapper.java | 16
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/handler/JwtAccessDeniedHandler.java | 35
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/entity/vo/SysRoleVO.java | 44
hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/entity/Orders.java | 67 +
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/entity/SysRoleMenu.java | 36
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/JwtUtil.java | 55 +
hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/entity/Order.java | 232 ++++
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/impl/SysMenuServiceImpl.java | 148 +++
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/ReportingWorkServiceImpl.java | 46
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/handler/LoginSuccessHandler.java | 38
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/SysRoleMenuService.java | 16
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/handler/JwtAuthenticationEntryPoint.java | 33
hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/service/impl/OrdersServiceImpl.java | 44
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/ReportingWork.java | 176 +++
hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/mapper/xml/OrderMapper.xml | 5
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/config/RedisConfig.java | 37
hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/service/OrdersService.java | 23
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/config/TokenWebSecurityConfig.java | 94 +
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/xml/SysRoleMapper.xml | 5
hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/controller/OrderController.java | 39
hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/mapper/OrderdetailMapper.java | 15
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/handler/JwtLogoutSuccessHandler.java | 40
hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application-prod.yml | 2
/dev/null | 23
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/entity/SysMenu.java | 87 +
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/xml/SysRoleMenuMapper.xml | 5
UI-Project/src/views/GlassStorage/MaterialRackManagement.vue | 70 +
hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/ApplicationTest.java | 1
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/UserInfoUtils.java | 26
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/impl/SysRoleServiceImpl.java | 123 ++
hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application-dev.yml | 2
56 files changed, 2,780 insertions(+), 42 deletions(-)
diff --git a/UI-Project/src/views/GlassStorage/MaterialRackManagement.vue b/UI-Project/src/views/GlassStorage/MaterialRackManagement.vue
index b97b5c7..830f6d8 100644
--- a/UI-Project/src/views/GlassStorage/MaterialRackManagement.vue
+++ b/UI-Project/src/views/GlassStorage/MaterialRackManagement.vue
@@ -7,7 +7,7 @@
<div >
<el-button type="success" size="mini" @click="handleInbound()">鍏ュ簱</el-button>
<el-button type="success" size="mini" @click="handleInbound()">鍚婅浣嶅叆搴�</el-button>
- <el-button type="success" size="mini" @click="addglass()">娣诲姞鍘熺墖</el-button>
+
</div>
<!-- 鍙充晶閫夋嫨妗� -->
@@ -55,12 +55,12 @@
</el-table-column>
<!-- 鎿嶄綔鍒� -->
- <el-table-column label="鎿嶄綔" width="300">
+ <el-table-column label="鎿嶄綔" width="350">
<template #default="{ row }">
- <el-button type="primary" size="mini" @click="handleEdit(row)">淇敼</el-button>
+ <el-button type="primary" size="mini" @click="edithandleRowClick(row)">淇敼</el-button>
<el-button type="danger" size="mini" @click="handleDelete(row)">鍒犻櫎</el-button>
<el-button type="warning" size="mini" @click="handleCheckout(row)">鍑哄簱</el-button>
-
+ <el-button type="success" size="mini" @click="addglass()">娣诲姞鍘熺墖</el-button>
</template>
</el-table-column>
</el-table>
@@ -197,7 +197,21 @@
</span>
</el-dialog>
+ <el-dialog title="缂栬緫" v-model="editdialogVisible" width="30%" @close="edithandleDialogClose">
+ <el-form :model="editForm" ref="editForm" label-width="80px">
+ <el-form-item label="鏁伴噺">
+ <el-input v-model="editForm.quantity"></el-input>
+ </el-form-item>
+ <el-form-item label="鎵规鍙�">
+ <el-input v-model="editForm.batchnumber"></el-input>
+ </el-form-item>
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="editdialogVisible = false">鍙栨秷</el-button>
+ <el-button type="primary" @click="editsaveEdit">淇濆瓨</el-button>
+ </div>
+ </el-dialog>
<!-- <div ref="chart" id="chart" style="width: 100%; height: 400px;"></div> -->
@@ -327,16 +341,9 @@
});
- const handleEdit = (row) => {
- // 澶勭悊淇敼鏁伴噺閫昏緫
- console.log('Edit Quantity:', row);
- };
+
- const handleDelete = (row) => {
- // 澶勭悊鍒犻櫎閫昏緫
- console.log('Delete:', row);
- };
-
+
const handleCheckout = (row) => {
// 澶勭悊鍑哄簱閫昏緫
console.log('Checkout:', row);
@@ -408,6 +415,43 @@
+
+ const editdialogVisible = ref(false);
+ const editForm = ref({
+ quantity: '',
+ batchnumber: ''
+ });
+ let currentRow = ref(null);
+
+ // 澶勭悊琛岀偣鍑讳簨浠�
+ const edithandleRowClick = (row) => {
+ currentRow.value = row;
+ editForm.value.quantity = row.quantity;
+ editForm.value.batchnumber = row.batchnumber;
+ editdialogVisible.value = true;
+ console.log(editForm.value)
+ };
+
+ // 娣诲姞淇濆瓨缂栬緫鍐呭
+ const editsaveEdit = () => {
+ if (!currentRow.value) return;
+
+ // 鏇存柊褰撳墠琛屾暟鎹�
+ currentRow.value.quantity = parseInt(editForm.value.quantity);
+ currentRow.value.batchnumber = editForm.value.batchnumber;
+
+ // 鍏抽棴瀵硅瘽妗�
+ editdialogVisible.value = false;
+ };
+
+ // 瀵硅瘽妗嗗叧闂椂閲嶇疆缂栬緫琛ㄥ崟鍜屽綋鍓嶈鏁版嵁
+ const edithandleDialogClose = () => {
+ editForm.value.quantity = '';
+ editForm.value.batchnumber = '';
+ currentRow.value = null;
+ };
+
+
let chartInstance = null;
onMounted(() => {
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/controller/OrderController.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/controller/OrderController.java
new file mode 100644
index 0000000..06f0c22
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/controller/OrderController.java
@@ -0,0 +1,39 @@
+package com.mes.order.controller;
+import com.mes.order.entity.Orderdetail;
+import com.mes.order.entity.Orders;
+import com.mes.order.service.OrdersService;
+import com.mes.utils.Result;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author wu
+ * @since 2024-06-17
+ */
+@RestController
+@RequestMapping("/order/order")
+@Slf4j
+public class OrderController {
+ @Autowired
+ //鑾峰彇寰呴�夋嫨鐨勫伐绋嬪彿
+ private OrdersService ordersService;
+
+ @ApiOperation("鏄剧ず璁㈠崟璇︾粏")
+ @PostMapping("/selectOrderdetail") //鏄剧ず宸ョ▼閫夋嫨淇℃伅
+ @ResponseBody
+ public Result<List<Orderdetail>> listByState(@RequestBody Orders orders) {
+ log.info("灏嗚姹傚弬鏁板皝瑁呭湪璇锋眰绫婚噷闈�");
+ List<Orderdetail> glass = ordersService.selectOrderdetail(orders);
+ log.info("鏄剧ず璁㈠崟璇︽儏淇℃伅:{}", glass);
+ return Result.build(200, "", glass);
+ }
+}
+
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/entity/Order.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/entity/Order.java
new file mode 100644
index 0000000..0547f19
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/entity/Order.java
@@ -0,0 +1,232 @@
+package com.mes.order.entity;
+
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author wu
+ * @since 2024-06-17
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class Order implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * <璁㈠崟琛�>
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ * 璁㈠崟Id
+ */
+ private String orderId;
+
+ /**
+ * 椤圭洰鍚嶇О
+ */
+ private String project;
+
+ /**
+ * 瀹㈡埛Id
+ */
+ private Long customerId;
+
+ /**
+ * 瀹㈡埛鍚嶇О
+ */
+ private String customerName;
+
+ /**
+ * 璁㈠崟绫诲瀷
+ */
+ private String orderType;
+
+ /**
+ * 璁㈠崟鍒嗙被
+ */
+ private String orderClassify;
+
+ /**
+ * 鍟嗘爣閫夐」
+ */
+ private String icon;
+
+ /**
+ * 鍖呰鏂瑰紡
+ */
+ private String packType;
+
+ /**
+ * 閫佽揣鏃堕棿
+ */
+ private LocalDateTime deliveryDate;
+
+ /**
+ * 鎵规
+ */
+ private String batch;
+
+ /**
+ * 璁$畻鏂瑰紡
+ */
+ private Integer calculateType;
+
+ /**
+ * 閿�鍞汉鍛業d
+ */
+ private String salesmanId;
+
+ /**
+ * 閿�鍞汉
+ */
+ private String salesman;
+
+ /**
+ * 閾濇潯鏂瑰紡
+ */
+ private String alType;
+
+ /**
+ * 閲戦
+ */
+ private BigDecimal money;
+
+ /**
+ * 鍚堝悓缂栧彿
+ */
+ private String contractId;
+
+ /**
+ * 瀹㈡埛鎵规
+ */
+ private String customerBatch;
+
+ /**
+ * 鑱旂郴浜�
+ */
+ private String contacts;
+
+ /**
+ * 鑱旂郴鐢佃瘽
+ */
+ private String contactNumber;
+
+ /**
+ * 閫佽揣鍦板潃
+ */
+ private String deliveryAddress;
+
+ /**
+ * 鍏朵粬閲戦
+ */
+ private BigDecimal otherMoney;
+
+ /**
+ * 鍏朵粬閲戦澶囨敞
+ */
+ private String otherMoneyRemarks;
+
+ /**
+ * 璁㈠崟鍔犲伐澶囨敞
+ */
+ private String processingNote;
+
+ /**
+ * 鍏朵粬澶囨敞
+ */
+ private String otherRemarks;
+
+ /**
+ * 闈㈢Н
+ */
+ private BigDecimal area;
+
+ /**
+ * 鏁伴噺
+ */
+ private Long quantity;
+
+ /**
+ * 鍛ㄩ暱
+ */
+ private String perimeter;
+
+ /**
+ * 瀹℃牳浜篿d
+ */
+ private String verifierId;
+
+ /**
+ * 瀹℃牳浜�
+ */
+ private String verifier;
+
+ /**
+ * 鍒涘缓浜篿d
+ */
+ private String creatorId;
+
+ /**
+ * 鍒涘缓浜�
+ */
+ private String creator;
+
+ /**
+ * 涓嬪崟
+ */
+ private Integer createOrder;
+
+ /**
+ * 宸ヨ壓瀹℃牳
+ */
+ private Integer processReview;
+
+ /**
+ * 璁㈠崟瀹℃牳
+ */
+ private Integer orderReview;
+
+ /**
+ * 鐢熶骇璁㈠崟
+ */
+ private Integer productionOrder;
+
+ /**
+ * 娴佺▼鍗�
+ */
+ private Integer processingCard;
+
+ /**
+ * 鍏ュ簱 鏈叆搴撶姸鎬�0锛屾湭瀹屽叏鍏ュ簱鐘舵��1锛屽畬鍏ㄥ叆搴撶姸鎬�2
+ */
+ private Integer warehousing;
+
+ /**
+ * 鍙戣揣
+ */
+ private Integer delivery;
+
+ /**
+ * 鍒涘缓鏃ユ湡
+ */
+ private LocalDateTime createTime;
+
+ /**
+ * 淇敼鏃堕棿
+ */
+ private LocalDateTime updateTime;
+
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/entity/Orderdetail.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/entity/Orderdetail.java
new file mode 100644
index 0000000..0d667e2
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/entity/Orderdetail.java
@@ -0,0 +1,65 @@
+package com.mes.order.entity;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author wu
+ * @since 2024-06-17
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class Orderdetail implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+ /**
+ * 璁㈠崟Id
+ */
+ private String orderId;
+ /**
+ * 椤圭洰鍚嶇О
+ */
+ private String project;
+
+ /**
+ * 浜у搧鍚嶇О
+ */
+ private String productName;
+
+ /**
+ * 瀹�
+ */
+ private String width;
+ /**
+ * 楂�
+ */
+ private String height;
+
+ /**
+ * 闈㈢Н
+ */
+ private Double area;
+
+
+ /**
+ * 鍖呰鏂瑰紡
+ */
+ private Integer quantity;
+ /**
+ * 鐘舵��
+ */
+ private String processingNote;
+ /**
+ * 閫佽揣鏃堕棿
+ */
+ private String deliveryDate;
+
+
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/entity/Orders.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/entity/Orders.java
new file mode 100644
index 0000000..62ccec2
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/entity/Orders.java
@@ -0,0 +1,67 @@
+package com.mes.order.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author wu
+ * @since 2024-06-17
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class Orders implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * <璁㈠崟琛�>
+ */
+
+
+ /**
+ * 璁㈠崟Id
+ */
+ private String orderId;
+ /**
+ * 瀹㈡埛鍚嶇О
+ */
+ private String customerName;
+
+ /**
+ * 椤圭洰鍚嶇О
+ */
+ private String project;
+
+ /**
+ * 闈㈢Н
+ */
+ private Double area;
+
+
+ /**
+ * 鍖呰鏂瑰紡
+ */
+ private Integer quantity;
+ /**
+ * 鐘舵��
+ */
+ private Integer warehousing;
+ /**
+ * 閫佽揣鏃堕棿
+ */
+ private String deliveryDate;
+
+
+
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/mapper/OrderMapper.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/mapper/OrderMapper.java
new file mode 100644
index 0000000..f9ed0af
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/mapper/OrderMapper.java
@@ -0,0 +1,16 @@
+package com.mes.order.mapper;
+
+import com.mes.order.entity.Order;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author wu
+ * @since 2024-06-17
+ */
+public interface OrderMapper extends BaseMapper<Order> {
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/mapper/OrderdetailMapper.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/mapper/OrderdetailMapper.java
new file mode 100644
index 0000000..87657fb
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/mapper/OrderdetailMapper.java
@@ -0,0 +1,15 @@
+package com.mes.order.mapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.order.entity.Orderdetail;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author wu
+ * @since 2024-06-17
+ */
+public interface OrderdetailMapper extends BaseMapper<Orderdetail> {
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/mapper/OrdersMapper.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/mapper/OrdersMapper.java
new file mode 100644
index 0000000..d7365d0
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/mapper/OrdersMapper.java
@@ -0,0 +1,15 @@
+package com.mes.order.mapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.order.entity.Orders;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author wu
+ * @since 2024-06-17
+ */
+public interface OrdersMapper extends BaseMapper<Orders> {
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/mapper/xml/OrderMapper.xml b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/mapper/xml/OrderMapper.xml
new file mode 100644
index 0000000..39b3ea8
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/mapper/xml/OrderMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.mes.order.mapper.OrderMapper">
+
+</mapper>
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/service/OrdersService.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/service/OrdersService.java
new file mode 100644
index 0000000..90702fa
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/service/OrdersService.java
@@ -0,0 +1,23 @@
+package com.mes.order.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.order.entity.Order;
+import com.mes.order.entity.Orderdetail;
+import com.mes.order.entity.Orders;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author wu
+ * @since 2024-06-17
+ */
+public interface OrdersService extends IService<Orders> {
+
+ List<Orders> selectOrders();
+
+ List<Orderdetail> selectOrderdetail(Orders orders);
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/service/impl/OrdersServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/service/impl/OrdersServiceImpl.java
new file mode 100644
index 0000000..938d4bf
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/service/impl/OrdersServiceImpl.java
@@ -0,0 +1,44 @@
+package com.mes.order.service.impl;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.order.entity.Orderdetail;
+import com.mes.order.entity.Orders;
+import com.mes.order.mapper.OrderdetailMapper;
+import com.mes.order.mapper.OrdersMapper;
+import com.mes.order.service.OrdersService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author wu
+ * @since 2024-06-17
+ */
+@Service
+@DS("sd")
+public class OrdersServiceImpl extends ServiceImpl<OrdersMapper, Orders> implements OrdersService {
+@Autowired
+private OrderdetailMapper orderdetailMapper;
+ @Override
+ public List<Orders> selectOrders() {
+ //鑾峰彇鎵�鏈夋湭瀹屾垚鐨勮鍗�
+ QueryWrapper<Orders> queryWrapper = new QueryWrapper<>();
+ queryWrapper.ne("warehousing", "2");
+ return baseMapper.selectList(queryWrapper);
+ }
+
+ @Override
+ public List<Orderdetail> selectOrderdetail(Orders orders) {
+ QueryWrapper<Orderdetail> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("order_id", orders.getOrderId());
+ return orderdetailMapper.selectList(queryWrapper);
+ }
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/ReportingWorkController.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/ReportingWorkController.java
new file mode 100644
index 0000000..375cbc7
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/ReportingWorkController.java
@@ -0,0 +1,40 @@
+package com.mes.pp.controller;
+
+
+import com.mes.pp.entity.request.OptimizeRequest;
+import com.mes.pp.entity.request.Reportingdamage;
+import com.mes.pp.service.ReportingWorkService;
+import com.mes.utils.Result;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author wu
+ * @since 2024-06-26
+ */
+@RestController
+@RequestMapping("/reporting_work/reporting-work")
+@Slf4j
+public class ReportingWorkController {
+ @Autowired
+ private ReportingWorkService reportingWorkService;
+
+ @ApiOperation("鏄剧ず宸ョ▼閫夋嫨淇℃伅")
+ @PostMapping("/selectDamage") //鏄剧ず宸ョ▼閫夋嫨淇℃伅
+ @ResponseBody
+ public Result<List<Reportingdamage>> selectDamage(@RequestBody Reportingdamage reportingdamage) {
+ log.info("灏嗚姹傚弬鏁板皝瑁呭湪璇锋眰绫婚噷闈�");
+ List<Reportingdamage> glass = reportingWorkService.selectDamage(reportingdamage);
+ log.info("鏄剧ず宸ョ▼閫夋嫨淇℃伅:{}", glass);
+ return Result.build(200, "", glass);
+ }
+}
+
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/ReportingWork.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/ReportingWork.java
new file mode 100644
index 0000000..d0f7876
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/ReportingWork.java
@@ -0,0 +1,176 @@
+package com.mes.pp.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author wu
+ * @since 2024-06-26
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class ReportingWork implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * <鎶ュ伐涓昏〃>
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 鎶ュ伐缂栧彿
+ */
+ private String reportingWorkId;
+
+ /**
+ * 閿�鍞崟鍙�
+ */
+ private String orderId;
+
+ /**
+ * 鐢熶骇璁㈠崟鍙�
+ */
+ private String productionId;
+
+ /**
+ * 娴佺▼鍗″彿
+ */
+ private String processId;
+
+ /**
+ * 鏈伐搴�
+ */
+ private String thisProcess;
+
+ /**
+ * 璁惧缂栧彿
+ */
+ private byte[] deviceId;
+
+ /**
+ * 璁惧鍚嶇О
+ */
+ private String deviceName;
+
+ /**
+ * 涓婂伐搴�
+ */
+ private String previousProcess;
+
+ /**
+ * 涓婂伐搴忔暟閲�
+ */
+ private Integer previousProcessQuantity;
+
+ /**
+ * 鏈伐搴忔暟閲�
+ */
+ private Integer thisProcessQuantity;
+
+ /**
+ * 鏈伐搴忓畬宸ユ暟
+ */
+ private Integer thisCompletedQuantity;
+
+ /**
+ * 鏈伐搴忔鐮存暟
+ */
+ private Integer thisWornQuantity;
+
+ /**
+ * 涓嬪伐搴�
+ */
+ private String nextProcess;
+
+ /**
+ * 鐝
+ */
+ private String classes;
+
+ /**
+ * 鐝粍缂栧彿
+ */
+ private String teamsGroupsId;
+
+ /**
+ * 鐝粍鍚嶇О
+ */
+ private String teamsGroupsName;
+
+ /**
+ * 鎶ュ伐鐘舵��
+ */
+ private Integer reportingWorkState;
+
+ /**
+ * 瀹℃牳浜�
+ */
+ private String reviewed;
+
+ /**
+ * 瀹℃牳鐘舵��(榛樿0,瀹℃牳閫氳繃1锛屼笉閫氳繃2,灏忎簬0鍒犻櫎)
+ */
+ private Integer reviewedState;
+
+ /**
+ * 澶囨敞
+ */
+ private String notes;
+
+ /**
+ * 璐ㄦ鍛�
+ */
+ private String qualityInspector;
+
+ /**
+ * 鍖呰鏂瑰紡
+ */
+ private String packagingMethod;
+
+ /**
+ * 鎶ュ伐鏃堕棿
+ */
+ private LocalDateTime reportingWorkTime;
+
+ /**
+ * 瀹℃牳鏃堕棿
+ */
+ private LocalDateTime examineTime;
+
+ /**
+ * 璐ㄦ鏃堕棿
+ */
+ private LocalDateTime qualityInsTime;
+
+ /**
+ * 鍒涘缓鑰卛d
+ */
+ private String creatorId;
+
+ /**
+ * 鍒涘缓鑰�
+ */
+ private String creator;
+
+ /**
+ * 寤虹珛鏃堕棿
+ */
+ private LocalDateTime createTime;
+
+ /**
+ * 淇敼鏃堕棿
+ */
+ private LocalDateTime updateTime;
+
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/request/AwaitingRepair.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/request/AwaitingRepair.java
new file mode 100644
index 0000000..13d0253
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/request/AwaitingRepair.java
@@ -0,0 +1,162 @@
+package com.mes.pp.entity.request;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author wu
+ * @since 2024-06-26
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class AwaitingRepair implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+
+ /**
+ * 娆$牬鏃堕棿
+ */
+ private String reportingWorkTime;
+
+ /**
+ * 璁㈠崟鍙�
+ */
+ private String orderId;
+ /**
+ * 鎶ュ伐缂栧彿
+ */
+ private String reportingWorkId;
+ /**
+ * 鐢熶骇璁㈠崟鍙�
+ */
+ private String productionId;
+
+ /**
+ * 娴佺▼鍗″彿
+ */
+ private String processId;
+
+ /**
+ * 椤圭洰鍚嶇О
+ */
+ private String project;
+
+ /**
+ * 鎵规
+ */
+ private String batch;
+
+ /**
+ * 鏄庣粏id
+ */
+ private String reviewer;
+
+ /**
+ * 妤煎彿
+ */
+ private String buildingNumber;
+
+ /**
+ * 璁㈠崟搴忓彿
+ */
+ private Integer orderSort;
+ /**
+ * 浜у搧鍚嶇О
+ */
+ private String productName;
+
+ /**
+ * 宸ヨ壓纭搴忓彿
+ */
+ private Integer technologyNumber;
+ /**
+ * 鐗囨爣璁帮紙浣嶇疆锛�
+ */
+ private Integer glassAddress;
+
+ /**
+ * 琛ョ墖鏁伴噺
+ */
+ private Integer patchNum;
+
+ /**
+ * 瀹�
+ */
+ private Double width;
+
+ /**
+ * 楂�
+ */
+ private Double height;
+
+ /**
+ * 褰㈢姸
+ */
+ private String shape;
+
+ /**
+ * 璐d换宸ュ簭
+ */
+ private String responsibleProcess;
+
+ /**
+ * 鏈伐搴�
+ */
+ private String patchProcesses;
+
+ /**
+ * 娆$牬鏈ˉ鏁伴噺
+ */
+ private Integer breakageQuantity;
+
+ /**
+ * 閫�鍥炲伐搴�
+ */
+ private String returnProcesses;
+
+ /**
+ * 娆$牬鍘熷洜
+ */
+ private String patchReason;
+
+ /**
+ * 娆$牬绫诲瀷
+ */
+ private String patchType;
+
+ /**
+ * 璐d换浜哄憳
+ */
+ private String responsiblePersonnel;
+
+ /**
+ * 璐d换璁惧
+ */
+ private String responsibleEquipment;
+
+ /**
+ * 璐d换鐝粍
+ */
+ private String responsibleTeam;
+
+ /**
+ * 娆$牬闈㈢Н
+ */
+ private LocalDateTime patchArea;
+
+ /**
+ * 璐ㄦ鍛�
+ */
+ private LocalDateTime qualityInspector;
+
+
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/request/Reportingdamage.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/request/Reportingdamage.java
new file mode 100644
index 0000000..402a774
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/request/Reportingdamage.java
@@ -0,0 +1,35 @@
+package com.mes.pp.entity.request;
+
+import lombok.Data;
+
+/**
+ * @author wu
+ */
+@Data
+public class Reportingdamage {
+ /**
+ * 宸ュ簭
+ */
+ private String thisProcess;
+
+ /**
+ * 璁惧
+ */
+ private String deviceName;
+ /**
+ * 鍔犲伐鏁伴噺
+ */
+ private Integer completedQuantity;
+ /**
+ * 娆$牬鏁伴噺
+ */
+ private Integer breakageQuantity;
+ /**
+ * 娆$牬鏃堕棿
+ */
+ private String reportingWorkTime;
+
+
+}
+
+
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeLayoutMapper.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeLayoutMapper.java
deleted file mode 100644
index 1cef895..0000000
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeLayoutMapper.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.mes.pp.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.mes.pp.entity.OptimizeLayout;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * <p>
- * Mapper 鎺ュ彛
- * </p>
- *
- * @author zhoush
- * @since 2024-04-16
- */
-@Mapper
-public interface OptimizeLayoutMapper extends BaseMapper<OptimizeLayout> {
-
-}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/ReportingWorkMapper.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/ReportingWorkMapper.java
new file mode 100644
index 0000000..3c5b64e
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/ReportingWorkMapper.java
@@ -0,0 +1,16 @@
+package com.mes.pp.mapper;
+
+import com.mes.pp.entity.ReportingWork;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author wu
+ * @since 2024-06-26
+ */
+public interface ReportingWorkMapper extends BaseMapper<ReportingWork> {
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/request/AwaitingRepairMapper.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/request/AwaitingRepairMapper.java
new file mode 100644
index 0000000..a932fff
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/request/AwaitingRepairMapper.java
@@ -0,0 +1,16 @@
+package com.mes.pp.mapper.request;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.pp.entity.request.AwaitingRepair;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author wu
+ * @since 2024-06-26
+ */
+public interface AwaitingRepairMapper extends BaseMapper<AwaitingRepair> {
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/request/ReportingDamageMapper.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/request/ReportingDamageMapper.java
new file mode 100644
index 0000000..c9ca9e2
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/request/ReportingDamageMapper.java
@@ -0,0 +1,16 @@
+package com.mes.pp.mapper.request;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.pp.entity.request.Reportingdamage;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author wu
+ * @since 2024-06-26
+ */
+public interface ReportingDamageMapper extends BaseMapper<Reportingdamage> {
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeLayoutService.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeLayoutService.java
deleted file mode 100644
index ec7dc25..0000000
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeLayoutService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.mes.pp.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.mes.pp.entity.OptimizeLayout;
-
-/**
- * <p>
- * 鏈嶅姟绫�
- * </p>
- *
- * @author zhoush
- * @since 2024-04-16
- */
-public interface OptimizeLayoutService extends IService<OptimizeLayout> {
-
-}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/ReportingWorkService.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/ReportingWorkService.java
new file mode 100644
index 0000000..fa13034
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/ReportingWorkService.java
@@ -0,0 +1,21 @@
+package com.mes.pp.service;
+
+import com.mes.pp.entity.ReportingWork;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.pp.entity.request.Reportingdamage;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author wu
+ * @since 2024-06-26
+ */
+public interface ReportingWorkService extends IService<ReportingWork> {
+
+ //鑾峰彇椤堕儴鎵囧舰鍥剧牬鎹熷姞宸ユ暟閲�
+ List<Reportingdamage> selectDamage(Reportingdamage reportingdamage);
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeLayoutServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeLayoutServiceImpl.java
deleted file mode 100644
index 4881d52..0000000
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeLayoutServiceImpl.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.mes.pp.service.impl;
-
-
-import com.baomidou.dynamic.datasource.annotation.DS;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.mes.pp.entity.OptimizeLayout;
-import com.mes.pp.mapper.OptimizeLayoutMapper;
-import com.mes.pp.service.OptimizeLayoutService;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author zhoush
- * @since 2024-04-16
- */
-@Service
-@DS("pp")
-public class OptimizeLayoutServiceImpl extends ServiceImpl<OptimizeLayoutMapper, OptimizeLayout> implements OptimizeLayoutService {
-
-}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/ReportingWorkServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/ReportingWorkServiceImpl.java
new file mode 100644
index 0000000..ce35e08
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/ReportingWorkServiceImpl.java
@@ -0,0 +1,46 @@
+package com.mes.pp.service.impl;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.mes.pp.entity.ReportingWork;
+import com.mes.pp.entity.request.Reportingdamage;
+import com.mes.pp.mapper.ReportingWorkMapper;
+import com.mes.pp.mapper.request.AwaitingRepairMapper;
+import com.mes.pp.mapper.request.ReportingDamageMapper;
+import com.mes.pp.service.ReportingWorkService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author wu
+ * @since 2024-06-26
+ */
+@Service
+@DS("pp")
+@Slf4j
+public class ReportingWorkServiceImpl extends ServiceImpl<ReportingWorkMapper, ReportingWork> implements ReportingWorkService {
+@Autowired
+private ReportingDamageMapper reportingDamageMapper;
+@Autowired
+private AwaitingRepairMapper awaitingRepairMapper;
+ @Override
+ public List<Reportingdamage> selectDamage(Reportingdamage reportingdamage) {
+ QueryWrapper<Reportingdamage>queryWrapper=new QueryWrapper<>();
+ queryWrapper.eq("this_process",reportingdamage.getThisProcess())
+ .eq("device_name",reportingdamage.getDeviceName())
+ .le("reporting_work_time", LocalDateTime.now());
+ return reportingDamageMapper.selectList(queryWrapper);
+// rw.reporting_work_time BETWEEN '2024/05/12'and'2024/06/20' and rw.this_process = '纾ㄨ竟' and rw.device_name = '蹇�熺('
+
+ }
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/CodeGet.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/CodeGet.java
index eba025b..da7da7a 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/CodeGet.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/CodeGet.java
@@ -22,7 +22,7 @@
// 2銆佸叏灞�閰嶇疆
// 鍏ㄥ眬閰嶇疆
GlobalConfig gc = new GlobalConfig();
- gc.setOutputDir("D:\\Documents\\hangzhoumesParent6\\");
+ gc.setOutputDir("D:\\Documents\\hangzhoumesParent5\\");
gc.setServiceName("%sService"); //鍘绘帀Service鎺ュ彛鐨勯瀛楁瘝I
gc.setAuthor("wu");
@@ -31,7 +31,7 @@
// 3銆佹暟鎹簮閰嶇疆
DataSourceConfig dsc = new DataSourceConfig();
- dsc.setUrl("jdbc:mysql://10.153.19.150:3306/sd?serverTimezone=GMT%2b8");
+ dsc.setUrl("jdbc:mysql://10.153.19.150:3306/pp?serverTimezone=GMT%2b8");
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("beibo.123/");
@@ -41,7 +41,7 @@
// 4銆佸寘閰嶇疆
PackageConfig pc = new PackageConfig();
pc.setParent("com.mes");
- pc.setModuleName("orderdetail"); //妯″潡鍚�
+ pc.setModuleName("reporting_work"); //妯″潡鍚�
pc.setController("controller");
pc.setService("service");
pc.setMapper("mapper");
@@ -50,7 +50,7 @@
// 5銆佺瓥鐣ラ厤缃�
StrategyConfig strategy = new StrategyConfig();
- strategy.setInclude("order_detail");
+ strategy.setInclude("reporting_work");
strategy.setNaming(NamingStrategy.underline_to_camel);//鏁版嵁搴撹〃鏄犲皠鍒板疄浣撶殑鍛藉悕绛栫暐
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/config/RedisConfig.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/config/RedisConfig.java
new file mode 100644
index 0000000..e469272
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/config/RedisConfig.java
@@ -0,0 +1,37 @@
+package com.mes.common.config;
+
+import com.mes.common.utils.FastJsonRedisSerializer;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.serializer.StringRedisSerializer;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/4/9 19:13
+ * @Description:
+ */
+@Configuration
+public class RedisConfig {
+
+ @Bean
+ @SuppressWarnings(value = {"unchecked", "rawtypes"})
+ public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory connectionFactory) {
+ RedisTemplate<Object, Object> template = new RedisTemplate<>();
+ template.setConnectionFactory(connectionFactory);
+
+ FastJsonRedisSerializer serializer = new FastJsonRedisSerializer(Object.class);
+
+ // 浣跨敤StringRedisSerializer鏉ュ簭鍒楀寲鍜屽弽搴忓垪鍖杛edis鐨刱ey鍊�
+ template.setKeySerializer(new StringRedisSerializer());
+ template.setValueSerializer(serializer);
+
+ // Hash鐨刱ey涔熼噰鐢⊿tringRedisSerializer鐨勫簭鍒楀寲鏂瑰紡
+ template.setHashKeySerializer(new StringRedisSerializer());
+ template.setHashValueSerializer(serializer);
+
+ template.afterPropertiesSet();
+ return template;
+ }
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/config/TokenWebSecurityConfig.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/config/TokenWebSecurityConfig.java
new file mode 100644
index 0000000..a130533
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/config/TokenWebSecurityConfig.java
@@ -0,0 +1,94 @@
+package com.mes.common.config;
+
+
+import com.mes.common.filter.JwtAuthenticationTokenFilter;
+import com.mes.common.handler.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.security.authentication.AuthenticationManager;
+import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
+import org.springframework.security.config.annotation.web.builders.HttpSecurity;
+import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
+import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
+import org.springframework.security.config.http.SessionCreationPolicy;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
+import org.springframework.security.crypto.password.PasswordEncoder;
+import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
+
+@Configuration
+@EnableWebSecurity
+@EnableGlobalMethodSecurity(prePostEnabled = true)
+public class TokenWebSecurityConfig extends WebSecurityConfigurerAdapter {
+ @Autowired
+ private JwtAuthenticationTokenFilter jwtAuthenticationTokenFilter;
+ @Autowired
+ LoginFailureHandler loginFailureHandler;
+
+ @Autowired
+ LoginSuccessHandler loginSuccessHandler;
+
+ @Autowired
+ JwtAuthenticationEntryPoint jwtAuthenticationEntryPoint;
+
+ @Autowired
+ JwtAccessDeniedHandler jwtAccessDeniedHandler;
+
+ @Autowired
+ JwtLogoutSuccessHandler jwtLogoutSuccessHandler;
+
+ @Bean
+ public PasswordEncoder passwordEncoder() {
+ return new BCryptPasswordEncoder();
+ }
+
+ /**
+ * 閰嶇疆杩囨护瑙勫垯
+ */
+ @Override
+ protected void configure(HttpSecurity http) throws Exception {
+
+ http.cors().and().csrf().disable()
+
+ // 鐧诲綍閰嶇疆
+ .formLogin()
+ .successHandler(loginSuccessHandler)
+ .failureHandler(loginFailureHandler)
+
+ .and()
+ .logout()
+ .logoutSuccessHandler(jwtLogoutSuccessHandler)
+
+ // 绂佺敤session
+ .and()
+ .sessionManagement()
+ .sessionCreationPolicy(SessionCreationPolicy.STATELESS)
+
+ // 閰嶇疆鎷︽埅瑙勫垯
+ .and()
+ .authorizeRequests()
+ .antMatchers("/sys/user/login").anonymous()
+ .antMatchers("/swagger-ui.html").permitAll()
+ .antMatchers("/webjars/**").permitAll()
+ .antMatchers("/v2/**").permitAll()
+ .antMatchers("/swagger-resources/**").permitAll()
+ .antMatchers("/**").permitAll()
+ .anyRequest().authenticated()
+
+ // 寮傚父澶勭悊鍣�
+ .and()
+ .exceptionHandling()
+ .authenticationEntryPoint(jwtAuthenticationEntryPoint)
+ .accessDeniedHandler(jwtAccessDeniedHandler)
+
+ // 閰嶇疆鑷畾涔夌殑杩囨护鍣�
+ .and()
+ .addFilterBefore(jwtAuthenticationTokenFilter, UsernamePasswordAuthenticationFilter.class);
+ }
+
+ @Bean
+ @Override
+ public AuthenticationManager authenticationManagerBean() throws Exception {
+ return super.authenticationManagerBean();
+ }
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/filter/JwtAuthenticationTokenFilter.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/filter/JwtAuthenticationTokenFilter.java
new file mode 100644
index 0000000..1505d1b
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/filter/JwtAuthenticationTokenFilter.java
@@ -0,0 +1,80 @@
+package com.mes.common.filter;
+
+import com.mes.common.utils.JwtUtil;
+import com.mes.common.utils.RedisUtil;
+import com.mes.common.utils.UserInfoUtils;
+import com.mes.userinfo.entity.LoginUser;
+import com.mes.userinfo.service.SysUserService;
+import io.jsonwebtoken.Claims;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
+import org.springframework.security.core.GrantedAuthority;
+import org.springframework.security.core.authority.SimpleGrantedAuthority;
+import org.springframework.security.core.context.SecurityContextHolder;
+import org.springframework.stereotype.Component;
+import org.springframework.util.StringUtils;
+import org.springframework.web.filter.OncePerRequestFilter;
+
+import javax.annotation.Resource;
+import javax.servlet.FilterChain;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/4/10 9:42
+ * @Description:
+ */
+@Component
+public class JwtAuthenticationTokenFilter extends OncePerRequestFilter {
+ // 姝ゅ瑙i噴涓轰粈涔堜笉鍘诲疄鐜癋ilter鎺ュ彛锛屽洜涓哄湪鏌愪簺鎯呭喌涓嬩細杩囨护涓ゆ锛屾墽琛屼袱娆ilter閲岄潰鐨勬柟娉曪紝鎵�浠ユ垜浠�夋嫨缁ф壙SpringSecurity涓殑OncePerRequestFilter
+ @Autowired
+ private RedisUtil redisUtil;
+
+ @Resource
+ private SysUserService sysUserService;
+
+ @Override
+ protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
+ //鑾峰彇token
+ String token = request.getHeader("token");
+ if (!StringUtils.hasText(token)) {
+ //鏀捐
+ filterChain.doFilter(request, response);
+ return; // 姝ゅ鍔犱笂return濂藉鏄悗闈㈢粨鏋滆繑鍥炵殑鏃跺�欏氨涓嶄細鍐嶈蛋涓�閬嶆杩囨护鍣ㄧ殑鏂规硶浜�
+ }
+ //瑙f瀽token
+ String userid;
+ try {
+ Claims claims = JwtUtil.getClaimByToken(token);
+ userid = claims.getSubject();
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new RuntimeException("token闈炴硶");
+ }
+ //浠巖edis涓幏鍙栫敤鎴蜂俊鎭�
+ String redisKey = "login:" + userid;
+ LoginUser loginUser = redisUtil.getCacheObject(redisKey);
+ if (Objects.isNull(loginUser)) {
+ response.setHeader("token", "");
+ throw new RuntimeException("鐢ㄦ埛鏈櫥褰�");
+ }
+ //灏嗙敤鎴蜂俊鎭斁鍏ュ綋鍓嶇嚎绋�
+ UserInfoUtils.set(loginUser.getUser());
+ //瀛樺叆SecurityContextHolder锛屼互渚涘悗闈㈢殑杩囨护鍣ㄤ娇鐢�
+ List<String> permissionKeyList = sysUserService.getUserAuthorityInfo(Long.parseLong(userid));
+ List<GrantedAuthority> authorities = permissionKeyList.stream().
+ map(SimpleGrantedAuthority::new)
+ .collect(Collectors.toList());
+ UsernamePasswordAuthenticationToken authenticationToken =
+ new UsernamePasswordAuthenticationToken(loginUser, null, authorities);
+ SecurityContextHolder.getContext().setAuthentication(authenticationToken);
+ //鏀捐
+ filterChain.doFilter(request, response);
+ }
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/handler/JwtAccessDeniedHandler.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/handler/JwtAccessDeniedHandler.java
new file mode 100644
index 0000000..aad53aa
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/handler/JwtAccessDeniedHandler.java
@@ -0,0 +1,35 @@
+package com.mes.common.handler;
+
+import cn.hutool.json.JSONUtil;
+import com.mes.utils.Result;
+import org.springframework.http.HttpStatus;
+import org.springframework.security.access.AccessDeniedException;
+import org.springframework.security.web.access.AccessDeniedHandler;
+import org.springframework.stereotype.Component;
+
+import javax.servlet.ServletException;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+@Component
+public class JwtAccessDeniedHandler implements AccessDeniedHandler {
+
+ @Override
+ public void handle(HttpServletRequest request, HttpServletResponse response, AccessDeniedException accessDeniedException) throws IOException, ServletException {
+
+ response.setContentType("application/json;charset=UTF-8");
+ response.setStatus(HttpServletResponse.SC_FORBIDDEN);
+
+ ServletOutputStream outputStream = response.getOutputStream();
+
+ Result result = Result.error(HttpStatus.FORBIDDEN.value(), "鏉冮檺涓嶈冻");
+
+ outputStream.write(JSONUtil.toJsonStr(result).getBytes("UTF-8"));
+
+ outputStream.flush();
+ outputStream.close();
+
+ }
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/handler/JwtAuthenticationEntryPoint.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/handler/JwtAuthenticationEntryPoint.java
new file mode 100644
index 0000000..a95ca0c
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/handler/JwtAuthenticationEntryPoint.java
@@ -0,0 +1,33 @@
+package com.mes.common.handler;
+
+import cn.hutool.json.JSONUtil;
+import com.mes.utils.Result;
+import org.springframework.http.HttpStatus;
+import org.springframework.security.core.AuthenticationException;
+import org.springframework.security.web.AuthenticationEntryPoint;
+import org.springframework.stereotype.Component;
+
+import javax.servlet.ServletException;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+@Component
+public class JwtAuthenticationEntryPoint implements AuthenticationEntryPoint {
+
+ @Override
+ public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException authException) throws IOException, ServletException {
+
+ response.setContentType("application/json;charset=UTF-8");
+ response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
+ ServletOutputStream outputStream = response.getOutputStream();
+
+ Result result = Result.error(HttpStatus.UNAUTHORIZED.value(), "璁よ瘉澶辫触璇烽噸鏂扮櫥褰�");
+
+ outputStream.write(JSONUtil.toJsonStr(result).getBytes("UTF-8"));
+
+ outputStream.flush();
+ outputStream.close();
+ }
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/handler/JwtLogoutSuccessHandler.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/handler/JwtLogoutSuccessHandler.java
new file mode 100644
index 0000000..3757d4d
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/handler/JwtLogoutSuccessHandler.java
@@ -0,0 +1,40 @@
+package com.mes.common.handler;
+
+import cn.hutool.json.JSONUtil;
+import com.mes.utils.Result;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.web.authentication.logout.LogoutSuccessHandler;
+import org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler;
+import org.springframework.stereotype.Component;
+
+import javax.servlet.ServletException;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+@Component
+public class JwtLogoutSuccessHandler implements LogoutSuccessHandler {
+
+ private static final String header = "Authorization";
+
+ @Override
+ public void onLogoutSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException {
+
+ if (authentication != null) {
+ new SecurityContextLogoutHandler().logout(request, response, authentication);
+ }
+
+ response.setContentType("application/json;charset=UTF-8");
+ ServletOutputStream outputStream = response.getOutputStream();
+
+ response.setHeader(header, "");
+
+ Result result = Result.success("");
+
+ outputStream.write(JSONUtil.toJsonStr(result).getBytes("UTF-8"));
+
+ outputStream.flush();
+ outputStream.close();
+ }
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/handler/LoginFailureHandler.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/handler/LoginFailureHandler.java
new file mode 100644
index 0000000..72abdbe
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/handler/LoginFailureHandler.java
@@ -0,0 +1,31 @@
+package com.mes.common.handler;
+
+import cn.hutool.json.JSONUtil;
+import com.mes.utils.Result;
+import org.springframework.security.core.AuthenticationException;
+import org.springframework.security.web.authentication.AuthenticationFailureHandler;
+import org.springframework.stereotype.Component;
+
+import javax.servlet.ServletException;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+@Component
+public class LoginFailureHandler implements AuthenticationFailureHandler {
+
+ @Override
+ public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response, AuthenticationException exception) throws IOException, ServletException {
+
+ response.setContentType("application/json;charset=UTF-8");
+ ServletOutputStream outputStream = response.getOutputStream();
+
+ Result result = Result.error("鐢ㄦ埛鍚嶆垨瀵嗙爜閿欒");
+
+ outputStream.write(JSONUtil.toJsonStr(result).getBytes("UTF-8"));
+
+ outputStream.flush();
+ outputStream.close();
+ }
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/handler/LoginSuccessHandler.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/handler/LoginSuccessHandler.java
new file mode 100644
index 0000000..c5458bb
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/handler/LoginSuccessHandler.java
@@ -0,0 +1,38 @@
+package com.mes.common.handler;
+
+import cn.hutool.json.JSONUtil;
+import com.mes.common.utils.JwtUtil;
+import com.mes.utils.Result;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.web.authentication.AuthenticationSuccessHandler;
+import org.springframework.stereotype.Component;
+
+import javax.servlet.ServletException;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+@Component
+public class LoginSuccessHandler implements AuthenticationSuccessHandler {
+
+ private static final String header = "Authorization";
+
+ @Override
+ public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException {
+ response.setContentType("application/json;charset=UTF-8");
+ ServletOutputStream outputStream = response.getOutputStream();
+
+ // 鐢熸垚jwt锛屽苟鏀剧疆鍒拌姹傚ご涓�
+ String jwt = JwtUtil.generateToken(authentication.getName());
+ response.setHeader(header, jwt);
+
+ Result result = Result.success("");
+
+ outputStream.write(JSONUtil.toJsonStr(result).getBytes("UTF-8"));
+
+ outputStream.flush();
+ outputStream.close();
+ }
+
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/FastJsonRedisSerializer.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/FastJsonRedisSerializer.java
new file mode 100644
index 0000000..f8ab417
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/FastJsonRedisSerializer.java
@@ -0,0 +1,55 @@
+package com.mes.common.utils;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.parser.ParserConfig;
+import com.alibaba.fastjson.serializer.SerializerFeature;
+import com.fasterxml.jackson.databind.JavaType;
+import com.fasterxml.jackson.databind.type.TypeFactory;
+import org.springframework.data.redis.serializer.RedisSerializer;
+import org.springframework.data.redis.serializer.SerializationException;
+
+import java.nio.charset.Charset;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/4/11 15:28
+ * @Description:
+ */
+public class FastJsonRedisSerializer<T> implements RedisSerializer<T> {
+
+ public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8");
+
+ private Class<T> clazz;
+
+ static {
+ ParserConfig.getGlobalInstance().setAutoTypeSupport(true);
+ }
+
+ public FastJsonRedisSerializer(Class<T> clazz) {
+ super();
+ this.clazz = clazz;
+ }
+
+ @Override
+ public byte[] serialize(T t) throws SerializationException {
+ if (t == null) {
+ return new byte[0];
+ }
+ return JSON.toJSONString(t, SerializerFeature.WriteClassName).getBytes(DEFAULT_CHARSET);
+ }
+
+ @Override
+ public T deserialize(byte[] bytes) throws SerializationException {
+ if (bytes == null || bytes.length <= 0) {
+ return null;
+ }
+ String str = new String(bytes, DEFAULT_CHARSET);
+
+ return JSON.parseObject(str, clazz);
+ }
+
+
+ protected JavaType getJavaType(Class<?> clazz) {
+ return TypeFactory.defaultInstance().constructType(clazz);
+ }
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/JwtUtil.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/JwtUtil.java
new file mode 100644
index 0000000..f7af90a
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/JwtUtil.java
@@ -0,0 +1,55 @@
+package com.mes.common.utils;
+
+
+import io.jsonwebtoken.Claims;
+import io.jsonwebtoken.Jwts;
+import io.jsonwebtoken.SignatureAlgorithm;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/4/9 19:15
+ * @Description:
+ */
+@Data
+public class JwtUtil {
+
+ private static final long expire = 60 * 60 * 1000L;
+ private static final String secret = "beibo";
+ private static final String header = "Authorization";
+
+ // 鐢熸垚jwt
+ public static String generateToken(String username) {
+
+ Date nowDate = new Date();
+ Date expireDate = new Date(nowDate.getTime() + 1000 * expire);
+
+ return Jwts.builder()
+ .setHeaderParam("typ", "JWT")
+ .setSubject(username)
+ .setIssuedAt(nowDate)
+ .setExpiration(expireDate)// 7澶╅亷鏈�
+ .signWith(SignatureAlgorithm.HS512, secret)
+ .compact();
+ }
+
+ // 瑙f瀽jwt
+ public static Claims getClaimByToken(String jwt) {
+ try {
+ return Jwts.parser()
+ .setSigningKey(secret)
+ .parseClaimsJws(jwt)
+ .getBody();
+ } catch (Exception e) {
+ return null;
+ }
+ }
+
+ // jwt鏄惁杩囨湡
+ public boolean isTokenExpired(Claims claims) {
+ return claims.getExpiration().before(new Date());
+ }
+
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/RedisUtil.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/RedisUtil.java
new file mode 100644
index 0000000..d11f2bc
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/RedisUtil.java
@@ -0,0 +1,235 @@
+package com.mes.common.utils;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.BoundSetOperations;
+import org.springframework.data.redis.core.HashOperations;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.core.ValueOperations;
+import org.springframework.stereotype.Component;
+
+import java.util.*;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * spring redis 宸ュ叿绫�
+ **/
+@Component
+public class RedisUtil {
+ @Autowired
+ public RedisTemplate redisTemplate;
+
+ /**
+ * 缂撳瓨鍩烘湰鐨勫璞★紝Integer銆丼tring銆佸疄浣撶被绛�
+ *
+ * @param key 缂撳瓨鐨勯敭鍊�
+ * @param value 缂撳瓨鐨勫��
+ */
+ public <T> void setCacheObject(final String key, final T value) {
+ redisTemplate.opsForValue().set(key, value);
+ }
+
+ /**
+ * 缂撳瓨鍩烘湰鐨勫璞★紝Integer銆丼tring銆佸疄浣撶被绛�
+ *
+ * @param key 缂撳瓨鐨勯敭鍊�
+ * @param value 缂撳瓨鐨勫��
+ * @param timeout 鏃堕棿
+ * @param timeUnit 鏃堕棿棰楃矑搴�
+ */
+ public <T> void setCacheObject(final String key, final T value, final Integer timeout, final TimeUnit timeUnit) {
+ redisTemplate.opsForValue().set(key, value, timeout, timeUnit);
+ }
+
+ /**
+ * 璁剧疆鏈夋晥鏃堕棿
+ *
+ * @param key Redis閿�
+ * @param timeout 瓒呮椂鏃堕棿
+ * @return true=璁剧疆鎴愬姛锛沠alse=璁剧疆澶辫触
+ */
+ public boolean expire(final String key, final long timeout) {
+ return expire(key, timeout, TimeUnit.SECONDS);
+ }
+
+ /**
+ * 璁剧疆鏈夋晥鏃堕棿
+ *
+ * @param key Redis閿�
+ * @param timeout 瓒呮椂鏃堕棿
+ * @param unit 鏃堕棿鍗曚綅
+ * @return true=璁剧疆鎴愬姛锛沠alse=璁剧疆澶辫触
+ */
+ public boolean expire(final String key, final long timeout, final TimeUnit unit) {
+ return redisTemplate.expire(key, timeout, unit);
+ }
+
+ /**
+ * 鑾峰緱缂撳瓨鐨勫熀鏈璞°��
+ *
+ * @param key 缂撳瓨閿��
+ * @return 缂撳瓨閿�煎搴旂殑鏁版嵁
+ */
+ public <T> T getCacheObject(final String key) {
+ ValueOperations<String, T> operation = redisTemplate.opsForValue();
+ return operation.get(key);
+ }
+
+ /**
+ * 鍒犻櫎鍗曚釜瀵硅薄
+ *
+ * @param key
+ */
+ public boolean deleteObject(final String key) {
+ return redisTemplate.delete(key);
+ }
+
+ /**
+ * 鍒犻櫎闆嗗悎瀵硅薄
+ *
+ * @param collection 澶氫釜瀵硅薄
+ * @return
+ */
+ public long deleteObject(final Collection collection) {
+ return redisTemplate.delete(collection);
+ }
+
+ /**
+ * 缂撳瓨List鏁版嵁
+ *
+ * @param key 缂撳瓨鐨勯敭鍊�
+ * @param dataList 寰呯紦瀛樼殑List鏁版嵁
+ * @return 缂撳瓨鐨勫璞�
+ */
+ public <T> long setCacheList(final String key, final List<T> dataList) {
+ Long count = redisTemplate.opsForList().rightPushAll(key, dataList);
+ return count == null ? 0 : count;
+ }
+
+ /**
+ * 鑾峰緱缂撳瓨鐨刲ist瀵硅薄
+ *
+ * @param key 缂撳瓨鐨勯敭鍊�
+ * @return 缂撳瓨閿�煎搴旂殑鏁版嵁
+ */
+ public <T> List<T> getCacheList(final String key) {
+ return redisTemplate.opsForList().range(key, 0, -1);
+ }
+
+ /**
+ * 缂撳瓨Set
+ *
+ * @param key 缂撳瓨閿��
+ * @param dataSet 缂撳瓨鐨勬暟鎹�
+ * @return 缂撳瓨鏁版嵁鐨勫璞�
+ */
+ public <T> BoundSetOperations<String, T> setCacheSet(final String key, final Set<T> dataSet) {
+ BoundSetOperations<String, T> setOperation = redisTemplate.boundSetOps(key);
+ Iterator<T> it = dataSet.iterator();
+ while (it.hasNext()) {
+ setOperation.add(it.next());
+ }
+ return setOperation;
+ }
+
+ /**
+ * 鑾峰緱缂撳瓨鐨剆et
+ *
+ * @param key
+ * @return
+ */
+ public <T> Set<T> getCacheSet(final String key) {
+ return redisTemplate.opsForSet().members(key);
+ }
+
+ /**
+ * 缂撳瓨Map
+ *
+ * @param key
+ * @param dataMap
+ */
+ public <T> void setCacheMap(final String key, final Map<String, T> dataMap) {
+ if (dataMap != null) {
+ redisTemplate.opsForHash().putAll(key, dataMap);
+ }
+ }
+
+ /**
+ * 鑾峰緱缂撳瓨鐨凪ap
+ *
+ * @param key
+ * @return
+ */
+ public <T> Map<String, T> getCacheMap(final String key) {
+ return redisTemplate.opsForHash().entries(key);
+ }
+
+ /**
+ * 寰�Hash涓瓨鍏ユ暟鎹�
+ *
+ * @param key Redis閿�
+ * @param hKey Hash閿�
+ * @param value 鍊�
+ */
+ public <T> void setCacheMapValue(final String key, final String hKey, final T value) {
+ redisTemplate.opsForHash().put(key, hKey, value);
+ }
+
+ /**
+ * 鑾峰彇Hash涓殑鏁版嵁
+ *
+ * @param key Redis閿�
+ * @param hKey Hash閿�
+ * @return Hash涓殑瀵硅薄
+ */
+ public <T> T getCacheMapValue(final String key, final String hKey) {
+ HashOperations<String, String, T> opsForHash = redisTemplate.opsForHash();
+ return opsForHash.get(key, hKey);
+ }
+
+ /**
+ * 鍒犻櫎Hash涓殑鏁版嵁
+ *
+ * @param key
+ * @param hkey
+ */
+ public void delCacheMapValue(final String key, final String hkey) {
+ HashOperations hashOperations = redisTemplate.opsForHash();
+ hashOperations.delete(key, hkey);
+ }
+
+ /**
+ * 鑾峰彇澶氫釜Hash涓殑鏁版嵁
+ *
+ * @param key Redis閿�
+ * @param hKeys Hash閿泦鍚�
+ * @return Hash瀵硅薄闆嗗悎
+ */
+ public <T> List<T> getMultiCacheMapValue(final String key, final Collection<Object> hKeys) {
+ return redisTemplate.opsForHash().multiGet(key, hKeys);
+ }
+
+ /**
+ * 鑾峰緱缂撳瓨鐨勫熀鏈璞″垪琛�
+ *
+ * @param pattern 瀛楃涓插墠缂�
+ * @return 瀵硅薄鍒楄〃
+ */
+ public Collection<String> keys(final String pattern) {
+ return redisTemplate.keys(pattern);
+ }
+
+ /**
+ * 鍒ゆ柇key鏄惁瀛樺湪
+ *
+ * @param key 閿�
+ * @return true 瀛樺湪 false涓嶅瓨鍦�
+ */
+ public boolean hasKey(String key) {
+ try {
+ return redisTemplate.hasKey(key);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/UserInfoUtils.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/UserInfoUtils.java
new file mode 100644
index 0000000..292797c
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/UserInfoUtils.java
@@ -0,0 +1,26 @@
+package com.mes.common.utils;
+
+import com.mes.userinfo.entity.SysUser;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/4/25 15:41
+ * @Description:
+ */
+public class UserInfoUtils {
+ private static InheritableThreadLocal<SysUser> tokenPool = new InheritableThreadLocal<SysUser>();
+
+ public static SysUser get() {
+ return tokenPool.get();
+ }
+
+ public static void set(SysUser user) {
+ tokenPool.set(user);
+ }
+
+ public static void remove() {
+ if (get() != null) {
+ tokenPool.remove();
+ }
+ }
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/WebUtils.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/WebUtils.java
new file mode 100644
index 0000000..618144d
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/utils/WebUtils.java
@@ -0,0 +1,30 @@
+package com.mes.common.utils;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/4/9 19:16
+ * @Description:
+ */
+public class WebUtils {
+ /**
+ * 灏嗗瓧绗︿覆娓叉煋鍒板鎴风
+ *
+ * @param response 娓叉煋瀵硅薄
+ * @param string 寰呮覆鏌撶殑瀛楃涓�
+ * @return null
+ */
+ public static String renderString(HttpServletResponse response, String string) {
+ try {
+ response.setStatus(200);
+ response.setContentType("application/json");
+ response.setCharacterEncoding("utf-8");
+ response.getWriter().print(string);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/controller/SysMenuController.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/controller/SysMenuController.java
new file mode 100644
index 0000000..4ca0cb9
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/controller/SysMenuController.java
@@ -0,0 +1,77 @@
+package com.mes.menu.controller;
+
+import com.mes.entity.request.GeneralRequest;
+import com.mes.menu.entity.SysMenu;
+import com.mes.menu.service.SysMenuService;
+import com.mes.utils.Result;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author zhoush
+ * @since 2024-04-11
+ */
+@Api(description = "鑿滃崟绠$悊")
+@RestController
+@RequestMapping("/sys/menu")
+public class SysMenuController {
+
+ @Autowired
+ private SysMenuService sysMenuService;
+
+ @ApiOperation("鏂板鑿滃崟")
+ @PostMapping("/save")
+// @PreAuthorize("hasAuthority('sys:menu:save')")
+ public Result save(@Validated @RequestBody SysMenu sysMenu) {
+ return Result.success(sysMenuService.save(sysMenu));
+ }
+
+ @ApiOperation("淇敼鑿滃崟淇℃伅")
+ @PostMapping("/updateMenu")
+// @PreAuthorize("hasAuthority('sys:menu:update')")
+ public Result updateMenu(@Validated @RequestBody SysMenu sysMenu) {
+ sysMenuService.updateMenu(sysMenu);
+ return Result.success(sysMenu);
+ }
+
+ @ApiOperation("鑾峰彇鐢ㄦ埛鏈夋潈闄愮殑鎵�鏈夎彍鍗�")
+ @GetMapping("/getMenuTree")
+ public Result<List<SysMenu>> getMenuTree(GeneralRequest request) {
+ return Result.success(sysMenuService.getMenuTree(request));
+ }
+
+ @ApiOperation("鑾峰彇鐢ㄦ埛鐨勬潈闄�")
+ @GetMapping("/getAuthorityInfo")
+ public Result<List<String>> getAuthorityInfo() {
+ return Result.success(sysMenuService.getAuthorityInfo());
+ }
+
+
+ @ApiOperation("鐢ㄦ埛褰撳墠鐢ㄦ埛鐨勮彍鍗曞拰鏉冮檺淇℃伅")
+ @GetMapping("/nav")
+ public Result<Map<Object, Object>> nav() {
+ return Result.success(sysMenuService.nav());
+ }
+
+ @ApiOperation("鍒犻櫎鑿滃崟")
+ @PostMapping("/deleteMenu")
+// @PreAuthorize("hasAuthority('sys:menu:delete')")
+ public Result<String> deleteMenu(Long menuId) {
+ return Result.success(sysMenuService.deleteMenu(menuId));
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎鑿滃崟")
+ @PostMapping("/batchDeleteMenu")
+// @PreAuthorize("hasAuthority('sys:menu:delete')")
+ public Result<String> batchDeleteMenu(@RequestBody List<Long> menuIds) {
+ return Result.success(sysMenuService.batchDeleteMenu(menuIds));
+ }
+
+}
+
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/entity/SysMenu.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/entity/SysMenu.java
new file mode 100644
index 0000000..37476c6
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/entity/SysMenu.java
@@ -0,0 +1,87 @@
+package com.mes.menu.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-13
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class SysMenu implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 鑷id
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 鐖秈d
+ */
+ private Long parentId;
+
+ /**
+ * 妯″潡鍚嶇О
+ */
+ private String menuName;
+
+ /**
+ * 鍥炬爣
+ */
+ private String icon;
+
+ /**
+ * 鍦板潃
+ */
+ private String url;
+
+ /**
+ * 璇█绫诲瀷
+ */
+ private String languageType;
+
+ /**
+ * 鐘舵��
+ */
+ private Integer status;
+
+ /**
+ * 鎺掑簭
+ */
+ private String listSort;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ private Date createTime;
+
+ /**
+ * 鏉冮檺
+ */
+ private String perms;
+
+ /**
+ * 瀛愯彍鍗�
+ */
+ @TableField(exist = false)
+ private List<SysMenu> children;
+
+
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/mapper/SysMenuMapper.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/mapper/SysMenuMapper.java
new file mode 100644
index 0000000..b1ef2d6
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/mapper/SysMenuMapper.java
@@ -0,0 +1,21 @@
+package com.mes.menu.mapper;
+
+import com.github.yulichang.base.MPJBaseMapper;
+import com.mes.menu.entity.SysMenu;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 鑿滃崟琛� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-11
+ */
+@Mapper
+public interface SysMenuMapper extends MPJBaseMapper<SysMenu> {
+
+ List<String> selectPermsByUserId(long parseLong);
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/SysMenuService.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/SysMenuService.java
new file mode 100644
index 0000000..014d1cd
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/SysMenuService.java
@@ -0,0 +1,66 @@
+package com.mes.menu.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.entity.request.GeneralRequest;
+import com.mes.menu.entity.SysMenu;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 鑿滃崟琛� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-11
+ */
+public interface SysMenuService extends IService<SysMenu> {
+
+ /**
+ * 鏇存柊鑿滃崟淇℃伅
+ *
+ * @param menu
+ * @return
+ */
+ SysMenu updateMenu(SysMenu menu);
+
+ /**
+ * 鑾峰彇鐢ㄦ埛鏈夋潈闄愮殑鑿滃崟鏍�
+ *
+ * @return
+ */
+ List<SysMenu> getMenuTree(GeneralRequest request);
+
+ /**
+ * 鑾峰彇鐢ㄦ埛鐨勬潈闄�
+ *
+ * @return
+ */
+ List<String> getAuthorityInfo();
+
+
+ /**
+ * 鑾峰彇鐢ㄦ埛鑿滃崟鍙婃潈闄愪俊鎭�
+ *
+ * @return
+ */
+ Map<Object, Object> nav();
+
+ /**
+ * 鍒犻櫎鑿滃崟淇℃伅
+ *
+ * @param menuId
+ * @return
+ */
+ String deleteMenu(Long menuId);
+
+ /**
+ * 鎵归噺鍒犻櫎鑿滃崟淇℃伅
+ *
+ * @param menuIds
+ * @return
+ */
+ String batchDeleteMenu(List<Long> menuIds);
+
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/impl/SysMenuServiceImpl.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/impl/SysMenuServiceImpl.java
new file mode 100644
index 0000000..597f93c
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/menu/service/impl/SysMenuServiceImpl.java
@@ -0,0 +1,148 @@
+package com.mes.menu.service.impl;
+
+import cn.hutool.core.map.MapUtil;
+import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.mes.common.utils.UserInfoUtils;
+import com.mes.entity.request.GeneralRequest;
+import com.mes.menu.entity.SysMenu;
+import com.mes.menu.mapper.SysMenuMapper;
+import com.mes.menu.service.SysMenuService;
+import com.mes.role.entity.SysRoleMenu;
+import com.mes.role.service.SysRoleMenuService;
+import com.mes.userinfo.entity.SysUser;
+import com.mes.userinfo.entity.SysUserRole;
+import com.mes.userinfo.mapper.SysUserRoleMapper;
+import com.mes.userinfo.service.SysUserService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * 鑿滃崟琛� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-11
+ */
+@Service
+@Slf4j
+public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> implements SysMenuService {
+
+ @Autowired
+ SysUserService sysUserService;
+
+ @Autowired
+ SysUserRoleMapper sysUserRoleMapper;
+
+ @Autowired
+ SysRoleMenuService sysRoleMenuService;
+
+ @Override
+ public SysMenu updateMenu(SysMenu menu) {
+ baseMapper.updateById(menu);
+ // 娓呴櫎鎵�鏈変笌璇ヨ彍鍗曠浉鍏崇殑鏉冮檺缂撳瓨
+ sysUserService.clearUserAuthorityInfoByMenuId(menu.getId());
+ return menu;
+ }
+
+ @Override
+ public List<SysMenu> getMenuTree(GeneralRequest request) {
+ //todo:闇�瑕佸厛鑾峰彇鐢ㄦ埛鐨勮鑹诧紝瑙掕壊涓嬬殑鑿滃崟鏉冮檺锛屾嬁鍒拌彍鍗昳d鑾峰彇鎵�鏈夎彍鍗�
+ SysUser user = UserInfoUtils.get();
+ MPJLambdaWrapper<SysUserRole> wrapper = new MPJLambdaWrapper<>();
+
+ wrapper.selectAll(SysMenu.class).distinct()
+ .innerJoin(SysUser.class, SysUser::getId, SysUserRole::getUserId)
+ .innerJoin(SysRoleMenu.class, SysRoleMenu::getRoleId, SysUserRole::getRoleId)
+ .innerJoin(SysMenu.class, SysMenu::getId, SysRoleMenu::getMenuId)
+ .eq(SysUser::getId, user.getId())
+ .like(StringUtils.isNotBlank(request.getKey()), SysMenu::getMenuName, request.getKey());
+
+ //
+ List<SysMenu> menuList = sysUserRoleMapper.selectJoinList(SysMenu.class, wrapper);
+ log.info("userinfos:{}",menuList);
+ return create(menuList);
+ }
+
+ @Override
+ public List<String> getAuthorityInfo() {
+ SysUser user = UserInfoUtils.get();
+ log.info("鑾峰彇鐢ㄦ埛淇℃伅锛岀敤鎴峰悕涓簕}", user);
+ // 鑾峰彇鏉冮檺淇℃伅
+ // ROLE_admin,ROLE_normal,sys:user:list,....
+ return sysUserService.getUserAuthorityInfo(user.getId());
+ }
+
+ @Override
+ public Map<Object, Object> nav() {
+ List<SysMenu> menuTree = getMenuTree(new GeneralRequest());
+ List<String> authorityInfo = getAuthorityInfo();
+ return MapUtil.builder().put("authoritys", authorityInfo)
+ .put("tree", menuTree).map();
+ }
+
+ @Override
+ public String deleteMenu(Long menuId) {
+ int count = this.count(new LambdaQueryWrapper<SysMenu>().eq(SysMenu::getParentId, menuId));
+ if (count > 0) {
+ return "鏃犳硶鍒犻櫎,璇峰厛鍒犻櫎瀛愯彍鍗�";
+ }
+
+ // 娓呴櫎鎵�鏈変笌璇ヨ彍鍗曠浉鍏崇殑鏉冮檺缂撳瓨
+ sysUserService.clearUserAuthorityInfoByMenuId(menuId);
+
+ this.removeById(menuId);
+
+ // 鍚屾鍒犻櫎涓棿鍏宠仈琛�
+ sysRoleMenuService.remove(new LambdaQueryWrapper<SysRoleMenu>().eq(SysRoleMenu::getMenuId, menuId));
+ return "鍒犻櫎鎴愬姛";
+ }
+
+ @Override
+ public String batchDeleteMenu(List<Long> menuIds) {
+ menuIds.stream().forEach(e -> deleteMenu(e));
+ return "鎵归噺鍒犻櫎鎴愬姛";
+ }
+
+
+ /**
+ * 灏嗘暟鎹簱涓煡璇㈠嚭鏉ョ殑list闆嗗悎浼犲叆姝ゆ柟娉曞嵆鍙幏寰楁帓鎴愭爲褰㈢粨鏋勭殑list闆嗗悎
+ *
+ * @param lists
+ * @return
+ */
+ public List<SysMenu> create(List<SysMenu> lists) {
+ List<SysMenu> deptTreeList = lists.stream()
+ .filter(item -> item.getParentId() == 0)
+ .map(item -> {
+ item.setChildren(getChildren(item, lists));
+ return item;
+ }).collect(Collectors.toList());
+ return deptTreeList;
+ }
+
+ /**
+ * 姝ゆ柟娉曞皢琚�掑綊璋冪敤
+ *
+ * @param menu
+ * @param menus
+ * @return
+ */
+ private List<SysMenu> getChildren(SysMenu menu, List<SysMenu> menus) {
+ List<SysMenu> res = menus.stream()
+ .filter(item -> item.getParentId().equals(menu.getId()))
+ .collect(Collectors.toList());
+ log.info("鑿滃崟鏍�:{}", JSONUtil.toJsonStr(res));
+ return res;
+ }
+
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/controller/SysRoleController.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/controller/SysRoleController.java
new file mode 100644
index 0000000..cb6da80
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/controller/SysRoleController.java
@@ -0,0 +1,63 @@
+package com.mes.role.controller;
+
+
+import com.mes.entity.request.GeneralRequest;
+import com.mes.role.entity.SysRole;
+import com.mes.role.entity.vo.SysRoleVO;
+import com.mes.role.service.SysRoleService;
+import com.mes.utils.Result;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @author zhoush
+ * @since 2024-04-11
+ */
+@Api(description = "瑙掕壊绠$悊")
+@RestController
+@RequestMapping("/sys/role")
+public class SysRoleController {
+
+ @Autowired
+ private SysRoleService sysRoleService;
+
+ @ApiOperation("鏂板瑙掕壊鍙婅鑹蹭笅鐨勬潈闄愪俊鎭�")
+ @PostMapping("/saveRole")
+// @PreAuthorize("hasAuthority('sys:role:save')")
+ public Result<SysRole> saveRole(@Validated @RequestBody SysRoleVO sysRoleVO) {
+ return Result.success(sysRoleService.saveRole(sysRoleVO));
+ }
+
+ @ApiOperation("缂栬緫瑙掕壊鍙婅鑹蹭笅鐨勬潈闄愪俊鎭�")
+ @PostMapping("/updateRole")
+// @PreAuthorize("hasAuthority('sys:role:save')")
+ public Result<String> updateRole(@Validated @RequestBody SysRoleVO sysRoleVO) {
+ return Result.success(sysRoleService.updateRole(sysRoleVO));
+ }
+
+ @ApiOperation("鏌ヨ瑙掕壊鍙婅鑹蹭笅鐨勬潈闄愪俊鎭�")
+ @PostMapping("/queryRole")
+// @PreAuthorize("hasAuthority('sys:role:save')")
+ public Result<List<SysRoleVO>> queryRole(@Validated @RequestBody GeneralRequest request) {
+ return Result.success(sysRoleService.queryRole(request));
+ }
+
+
+ @ApiOperation("鍒犻櫎瑙掕壊鍙婅鑹蹭笅鐨勬潈闄愪俊鎭�")
+ @PostMapping("/delete")
+// @PreAuthorize("hasAuthority('sys:role:delete')")
+ @Transactional
+ public Result<String> deleteRole(@RequestBody List<Long> ids) {
+ return Result.success(sysRoleService.deleteRole(ids));
+ }
+
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/entity/SysRole.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/entity/SysRole.java
new file mode 100644
index 0000000..14fd4a3
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/entity/SysRole.java
@@ -0,0 +1,50 @@
+package com.mes.role.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 瑙掕壊琛�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class SysRole implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ private String name;
+
+ /**
+ * 瑙掕壊鏉冮檺瀛楃涓�
+ */
+ private String roleKey;
+
+ /**
+ * 瑙掕壊鐘舵�侊紙0姝e父 1鍋滅敤锛�
+ */
+ private String status;
+
+ /**
+ * 鍒犻櫎鏍囧織
+ */
+ private Integer delFlag;
+
+ /**
+ * 澶囨敞
+ */
+ private String remark;
+
+
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/entity/SysRoleMenu.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/entity/SysRoleMenu.java
new file mode 100644
index 0000000..aae2aed
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/entity/SysRoleMenu.java
@@ -0,0 +1,36 @@
+package com.mes.role.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class SysRoleMenu implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 瑙掕壊ID
+ */
+ @TableId(type = IdType.NONE)
+ private Long roleId;
+
+ /**
+ * 鑿滃崟id
+ */
+ private Long menuId;
+
+
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/entity/vo/SysRoleVO.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/entity/vo/SysRoleVO.java
new file mode 100644
index 0000000..45efd61
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/entity/vo/SysRoleVO.java
@@ -0,0 +1,44 @@
+package com.mes.role.entity.vo;
+
+import com.mes.menu.entity.SysMenu;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/4/26 13:57
+ * @Description:
+ */
+@Api(description = "瑙掕壊淇℃伅")
+@Data
+public class SysRoleVO implements Serializable {
+
+ @ApiModelProperty(hidden = true)
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty(value = "瑙掕壊ID", position = 2)
+ private Long id;
+
+ @ApiModelProperty(value = "瑙掕壊鍚嶇О", position = 3)
+ private String name;
+
+ @ApiModelProperty(value = "瑙掕壊鏉冮檺瀛楃涓�", position = 4)
+ private String roleKey;
+
+ @ApiModelProperty(value = "瑙掕壊鐘舵�侊紙0姝e父 1鍋滅敤锛�", position = 5)
+ private String status;
+
+ @ApiModelProperty(value = "鍒犻櫎鏍囧織", position = 6)
+ private Integer delFlag;
+
+ @ApiModelProperty(value = "澶囨敞", position = 7)
+ private String remark;
+
+ @ApiModelProperty(value = "瑙掕壊鑿滃崟淇℃伅", position = 8)
+ private List<SysMenu> menuList;
+
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/SysRoleMapper.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/SysRoleMapper.java
new file mode 100644
index 0000000..d9251c1
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/SysRoleMapper.java
@@ -0,0 +1,18 @@
+package com.mes.role.mapper;
+
+import com.github.yulichang.base.MPJBaseMapper;
+import com.mes.role.entity.SysRole;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 瑙掕壊琛� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-11
+ */
+@Mapper
+public interface SysRoleMapper extends MPJBaseMapper<SysRole> {
+
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/SysRoleMenuMapper.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/SysRoleMenuMapper.java
new file mode 100644
index 0000000..451d7fe
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/SysRoleMenuMapper.java
@@ -0,0 +1,18 @@
+package com.mes.role.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.role.entity.SysRoleMenu;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-11
+ */
+@Mapper
+public interface SysRoleMenuMapper extends BaseMapper<SysRoleMenu> {
+
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/xml/SysRoleMapper.xml b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/xml/SysRoleMapper.xml
new file mode 100644
index 0000000..9a0cd27
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/xml/SysRoleMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.mes.role.mapper.SysRoleMapper">
+
+</mapper>
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/xml/SysRoleMenuMapper.xml b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/xml/SysRoleMenuMapper.xml
new file mode 100644
index 0000000..af0749b
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/mapper/xml/SysRoleMenuMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.mes.role.mapper.SysRoleMenuMapper">
+
+</mapper>
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/SysRoleMenuService.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/SysRoleMenuService.java
new file mode 100644
index 0000000..e4d23dc
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/SysRoleMenuService.java
@@ -0,0 +1,16 @@
+package com.mes.role.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.role.entity.SysRoleMenu;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-11
+ */
+public interface SysRoleMenuService extends IService<SysRoleMenu> {
+
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/SysRoleService.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/SysRoleService.java
new file mode 100644
index 0000000..9592106
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/SysRoleService.java
@@ -0,0 +1,51 @@
+package com.mes.role.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.entity.request.GeneralRequest;
+import com.mes.role.entity.SysRole;
+import com.mes.role.entity.vo.SysRoleVO;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 瑙掕壊琛� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-11
+ */
+public interface SysRoleService extends IService<SysRole> {
+
+ /**
+ * 鍒涘缓瑙掕壊淇℃伅
+ *
+ * @param sysRoleVO
+ * @return
+ */
+ SysRole saveRole(SysRoleVO sysRoleVO);
+
+ /**
+ * 淇敼瑙掕壊淇℃伅鍙婃潈闄�
+ *
+ * @param sysRoleVO
+ * @return
+ */
+ String updateRole(SysRoleVO sysRoleVO);
+
+ /**
+ * 鎸夌収瑙掕壊鍚嶆煡璇㈣鑹蹭俊鎭�
+ *
+ * @param request
+ * @return
+ */
+ List<SysRoleVO> queryRole(GeneralRequest request);
+
+ /**
+ * 鏌ヨ瑙掕壊鍙婅鑹蹭笅鐨勬潈闄愪俊鎭�
+ *
+ * @param ids
+ * @return
+ */
+ String deleteRole(List<Long> ids);
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/impl/SysRoleMenuServiceImpl.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/impl/SysRoleMenuServiceImpl.java
new file mode 100644
index 0000000..4c8a475
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/impl/SysRoleMenuServiceImpl.java
@@ -0,0 +1,20 @@
+package com.mes.role.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.role.entity.SysRoleMenu;
+import com.mes.role.mapper.SysRoleMenuMapper;
+import com.mes.role.service.SysRoleMenuService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-11
+ */
+@Service
+public class SysRoleMenuServiceImpl extends ServiceImpl<SysRoleMenuMapper, SysRoleMenu> implements SysRoleMenuService {
+
+}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/impl/SysRoleServiceImpl.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/impl/SysRoleServiceImpl.java
new file mode 100644
index 0000000..2d08603
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/role/service/impl/SysRoleServiceImpl.java
@@ -0,0 +1,123 @@
+package com.mes.role.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.mes.entity.request.GeneralRequest;
+import com.mes.menu.entity.SysMenu;
+import com.mes.role.entity.SysRole;
+import com.mes.role.entity.SysRoleMenu;
+import com.mes.role.entity.vo.SysRoleVO;
+import com.mes.role.mapper.SysRoleMapper;
+import com.mes.role.service.SysRoleMenuService;
+import com.mes.role.service.SysRoleService;
+import com.mes.userinfo.entity.SysUserRole;
+import com.mes.userinfo.service.SysUserRoleService;
+import com.mes.userinfo.service.SysUserService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.StringUtils;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * 瑙掕壊琛� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-11
+ */
+@Service
+@Slf4j
+public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> implements SysRoleService {
+
+ @Autowired
+ SysRoleMenuService sysRoleMenuService;
+
+ @Autowired
+ SysUserService sysUserService;
+
+ @Autowired
+ SysUserRoleService sysUserRoleService;
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public SysRole saveRole(SysRoleVO sysRoleVO) {
+ log.info("淇濆瓨瑙掕壊淇℃伅锛岀敓鎴愬搴旂殑瑙掕壊id");
+ SysRole sysRole = new SysRole();
+ BeanUtils.copyProperties(sysRoleVO, sysRole);
+ this.save(sysRole);
+ //淇濆瓨瑙掕壊鏉冮檺淇℃伅
+ saveRoleMenu(sysRole.getId(), sysRoleVO.getMenuList());
+ return sysRole;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public String updateRole(SysRoleVO sysRoleVO) {
+ log.info("淇濆瓨瑙掕壊淇℃伅锛岀敓鎴愬搴旂殑瑙掕壊id");
+ SysRole sysRole = new SysRole();
+ BeanUtils.copyProperties(sysRoleVO, sysRole);
+ this.updateById(sysRole);
+ //淇濆瓨瑙掕壊鏉冮檺淇℃伅
+ return saveRoleMenu(sysRole.getId(), sysRoleVO.getMenuList());
+ }
+
+ @Override
+ public List<SysRoleVO> queryRole(GeneralRequest request) {
+ MPJLambdaWrapper<SysRole> wrapper = new MPJLambdaWrapper<>();
+ wrapper.selectAll(SysRole.class)
+ .selectCollection(SysMenu.class, SysRoleVO::getMenuList)
+ .leftJoin(SysRoleMenu.class, SysRoleMenu::getRoleId, SysRole::getId)
+ .leftJoin(SysMenu.class, SysMenu::getId, SysRoleMenu::getMenuId)
+ .like(StringUtils.hasText(request.getKey()), SysRole::getName, request.getKey());
+ return baseMapper.selectJoinList(SysRoleVO.class, wrapper);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public String deleteRole(List<Long> ids) {
+ log.info("鍒犻櫎瑙掕壊淇℃伅");
+ this.removeByIds(ids);
+
+ log.info("鍒犻櫎涓棿琛ㄤ俊鎭�");
+ sysUserRoleService.remove(new LambdaQueryWrapper<SysUserRole>().in(SysUserRole::getRoleId, ids));
+ sysRoleMenuService.remove(new LambdaQueryWrapper<SysRoleMenu>().in(SysRoleMenu::getRoleId, ids));
+
+ log.info("娓呯┖缂撳瓨涓殑鏉冮檺淇℃伅");
+ ids.stream().forEach(id -> sysUserService.clearUserAuthorityInfoByRoleId(id));
+ return "success";
+ }
+
+ /**
+ * 淇濆瓨瑙掕壊鏉冮檺淇℃伅
+ *
+ * @param roleId
+ * @param menuList
+ * @return
+ */
+ private String saveRoleMenu(Long roleId, List<SysMenu> menuList) {
+ log.info("閰嶇疆瑙掕壊鑿滃崟鍏冲績");
+ List<SysRoleMenu> roleMenuList = menuList.stream().map(menu -> {
+ SysRoleMenu roleMenu = new SysRoleMenu();
+ roleMenu.setRoleId(roleId);
+ roleMenu.setMenuId(menu.getId());
+ return roleMenu;
+ }).collect(Collectors.toList());
+ log.info("娓呯┖瑙掕壊鏉冮檺琛ㄤ腑璇ヨ鑹蹭俊鎭�");
+
+
+ // 鍏堝垹闄ゅ師鏉ョ殑璁板綍锛屽啀淇濆瓨鏂扮殑
+ sysRoleMenuService.remove(new LambdaQueryWrapper<SysRoleMenu>().eq(SysRoleMenu::getRoleId, roleId));
+ sysRoleMenuService.saveBatch(roleMenuList);
+
+ // 鍒犻櫎缂撳瓨
+ sysUserService.clearUserAuthorityInfoByRoleId(roleId);
+ return "success";
+ }
+}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application-dev.yml b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application-dev.yml
index a8a4157..d4558c8 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application-dev.yml
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application-dev.yml
@@ -15,7 +15,7 @@
password: beibo.123/
driver-class-name: com.mysql.cj.jdbc.Driver
sd:
- url: jdbc:mysql://192.168.1.199:3306/sd?serverTimezone=GMT%2b8
+ url: jdbc:mysql://127.0.0.1:3306/sd?serverTimezone=GMT%2b8
username: root
password: beibo.123/
driver-class-name: com.mysql.cj.jdbc.Driver
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application-prod.yml b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application-prod.yml
index 2c49cb7..a218f03 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application-prod.yml
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application-prod.yml
@@ -15,7 +15,7 @@
password: beibo.123/
driver-class-name: com.mysql.cj.jdbc.Driver
sd:
- url: jdbc:mysql://192.168.1.199:3306/sd?serverTimezone=GMT%2b8
+ url: jdbc:mysql://10.153.19.150:3306/sd?serverTimezone=GMT%2b8
username: root
password: beibo.123/
driver-class-name: com.mysql.cj.jdbc.Driver
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/ApplicationTest.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/ApplicationTest.java
index 9f636a1..3d9b452 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/ApplicationTest.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/ApplicationTest.java
@@ -30,4 +30,5 @@
List<OptimizeDetail> list = optimizationDetailService.list();
System.out.println("鑾峰彇璁板綍鏁帮細" + list.size());
}
+
}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/LoadGlassModuleApplicationTest.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/LoadGlassModuleApplicationTest.java
index d052648..15be7ab 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/LoadGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/LoadGlassModuleApplicationTest.java
@@ -3,9 +3,14 @@
import com.mes.engineering.entity.Engineering;
import com.mes.engineering.service.EngineeringService;
import com.mes.glassinfo.service.GlassInfoService;
+import com.mes.order.entity.Orderdetail;
+import com.mes.order.entity.Orders;
+import com.mes.order.service.OrdersService;
import com.mes.pp.entity.OptimizeProject;
import com.mes.pp.entity.request.OptimizeRequest;
+import com.mes.pp.entity.request.Reportingdamage;
import com.mes.pp.service.OptimizeProjectService;
+import com.mes.pp.service.ReportingWorkService;
import com.mes.uppattenusage.entity.UpPattenUsage;
import com.mes.uppattenusage.service.impl.UpPattenUsageServiceImpl;
import com.mes.workstation.entity.UpWorkstation;
@@ -40,6 +45,10 @@
private UpWorkstationService workstationService;
@Autowired
private OptimizeProjectService optimizeProjectService;
+ @Autowired
+ private OrdersService ordersService;
+ @Autowired
+ private ReportingWorkService reportingWorkService;
@Test
public void test() {
// List<OptimizeProject> list = optimizeProjectMapper.saveProject("P24032204");
@@ -109,5 +118,26 @@
boolean isOver= upPattenUsageService.updateGlassState(upPattenUsage);
log.info("鏇存敼鏄惁鎴愬姛{}",isOver);
}
+ @Test
+ public void test2() {
+ List<Orders> list = ordersService.selectOrders();
+ System.out.println("鑾峰彇璁板綍鏁帮細" + list);
+ }
+ @Test
+ public void test3() {
+ Orders orders = new Orders();
+ orders.setOrderId("P24051103");
+ List<Orderdetail> list = ordersService.selectOrderdetail(orders);
+ System.out.println("璁㈠崟璇︾粏鏁版嵁锛�" + list);
+ }
+ @Test
+ public void test4() {
+ Reportingdamage orders = new Reportingdamage();
+ orders.setThisProcess("纾ㄨ竟");
+ orders.setDeviceName("蹇�熺(");
+ List<Reportingdamage> list = reportingWorkService.selectDamage(orders);
+ System.out.println("璁㈠崟璇︾粏鏁版嵁锛�" + list);
+ }
+
}
--
Gitblit v1.8.0