diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
new file mode 100644
index 0000000..84dfc52
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-证书报告 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-certificate-report")
+public class BusinessCertificateReportController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
new file mode 100644
index 0000000..84dfc52
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-证书报告 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-certificate-report")
+public class BusinessCertificateReportController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
new file mode 100644
index 0000000..c4b51cf
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-enviroment-record")
+public class BusinessEnviromentRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
new file mode 100644
index 0000000..84dfc52
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-证书报告 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-certificate-report")
+public class BusinessCertificateReportController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
new file mode 100644
index 0000000..c4b51cf
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-enviroment-record")
+public class BusinessEnviromentRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
new file mode 100644
index 0000000..cf82167
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-设备交接单 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-interchange")
+public class BusinessInterchangeController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
new file mode 100644
index 0000000..84dfc52
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-证书报告 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-certificate-report")
+public class BusinessCertificateReportController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
new file mode 100644
index 0000000..c4b51cf
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-enviroment-record")
+public class BusinessEnviromentRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
new file mode 100644
index 0000000..cf82167
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-设备交接单 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-interchange")
+public class BusinessInterchangeController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
new file mode 100644
index 0000000..f2efb61
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息记录表(用于流程中的实验室分配及后续检定过程查询) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-info")
+public class BusinessLabExecutiveInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
new file mode 100644
index 0000000..84dfc52
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-证书报告 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-certificate-report")
+public class BusinessCertificateReportController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
new file mode 100644
index 0000000..c4b51cf
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-enviroment-record")
+public class BusinessEnviromentRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
new file mode 100644
index 0000000..cf82167
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-设备交接单 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-interchange")
+public class BusinessInterchangeController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
new file mode 100644
index 0000000..f2efb61
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息记录表(用于流程中的实验室分配及后续检定过程查询) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-info")
+public class BusinessLabExecutiveInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
new file mode 100644
index 0000000..c8e2b02
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息标准模板表(用于存储推荐的标准的实验室检测顺序) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-template-info")
+public class BusinessLabExecutiveTemplateInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
new file mode 100644
index 0000000..84dfc52
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-证书报告 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-certificate-report")
+public class BusinessCertificateReportController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
new file mode 100644
index 0000000..c4b51cf
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-enviroment-record")
+public class BusinessEnviromentRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
new file mode 100644
index 0000000..cf82167
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-设备交接单 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-interchange")
+public class BusinessInterchangeController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
new file mode 100644
index 0000000..f2efb61
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息记录表(用于流程中的实验室分配及后续检定过程查询) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-info")
+public class BusinessLabExecutiveInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
new file mode 100644
index 0000000..c8e2b02
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息标准模板表(用于存储推荐的标准的实验室检测顺序) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-template-info")
+public class BusinessLabExecutiveTemplateInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
new file mode 100644
index 0000000..54b4360
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-委托书 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order")
+public class BusinessOrderController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
new file mode 100644
index 0000000..84dfc52
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-证书报告 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-certificate-report")
+public class BusinessCertificateReportController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
new file mode 100644
index 0000000..c4b51cf
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-enviroment-record")
+public class BusinessEnviromentRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
new file mode 100644
index 0000000..cf82167
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-设备交接单 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-interchange")
+public class BusinessInterchangeController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
new file mode 100644
index 0000000..f2efb61
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息记录表(用于流程中的实验室分配及后续检定过程查询) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-info")
+public class BusinessLabExecutiveInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
new file mode 100644
index 0000000..c8e2b02
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息标准模板表(用于存储推荐的标准的实验室检测顺序) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-template-info")
+public class BusinessLabExecutiveTemplateInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
new file mode 100644
index 0000000..54b4360
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-委托书 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order")
+public class BusinessOrderController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
new file mode 100644
index 0000000..c5091bb
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 委托书-样品库关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order-sample-relation")
+public class BusinessOrderSampleRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
new file mode 100644
index 0000000..84dfc52
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-证书报告 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-certificate-report")
+public class BusinessCertificateReportController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
new file mode 100644
index 0000000..c4b51cf
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-enviroment-record")
+public class BusinessEnviromentRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
new file mode 100644
index 0000000..cf82167
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-设备交接单 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-interchange")
+public class BusinessInterchangeController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
new file mode 100644
index 0000000..f2efb61
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息记录表(用于流程中的实验室分配及后续检定过程查询) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-info")
+public class BusinessLabExecutiveInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
new file mode 100644
index 0000000..c8e2b02
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息标准模板表(用于存储推荐的标准的实验室检测顺序) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-template-info")
+public class BusinessLabExecutiveTemplateInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
new file mode 100644
index 0000000..54b4360
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-委托书 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order")
+public class BusinessOrderController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
new file mode 100644
index 0000000..c5091bb
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 委托书-样品库关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order-sample-relation")
+public class BusinessOrderSampleRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
new file mode 100644
index 0000000..52d26ec
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record")
+public class BusinessOriginalRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
new file mode 100644
index 0000000..84dfc52
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-证书报告 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-certificate-report")
+public class BusinessCertificateReportController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
new file mode 100644
index 0000000..c4b51cf
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-enviroment-record")
+public class BusinessEnviromentRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
new file mode 100644
index 0000000..cf82167
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-设备交接单 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-interchange")
+public class BusinessInterchangeController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
new file mode 100644
index 0000000..f2efb61
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息记录表(用于流程中的实验室分配及后续检定过程查询) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-info")
+public class BusinessLabExecutiveInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
new file mode 100644
index 0000000..c8e2b02
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息标准模板表(用于存储推荐的标准的实验室检测顺序) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-template-info")
+public class BusinessLabExecutiveTemplateInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
new file mode 100644
index 0000000..54b4360
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-委托书 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order")
+public class BusinessOrderController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
new file mode 100644
index 0000000..c5091bb
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 委托书-样品库关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order-sample-relation")
+public class BusinessOrderSampleRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
new file mode 100644
index 0000000..52d26ec
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record")
+public class BusinessOriginalRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java
new file mode 100644
index 0000000..5314cc7
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-原始记录-标准装置关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record-equipment-relation")
+public class BusinessOriginalRecordEquipmentRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
new file mode 100644
index 0000000..84dfc52
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-证书报告 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-certificate-report")
+public class BusinessCertificateReportController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
new file mode 100644
index 0000000..c4b51cf
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-enviroment-record")
+public class BusinessEnviromentRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
new file mode 100644
index 0000000..cf82167
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-设备交接单 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-interchange")
+public class BusinessInterchangeController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
new file mode 100644
index 0000000..f2efb61
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息记录表(用于流程中的实验室分配及后续检定过程查询) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-info")
+public class BusinessLabExecutiveInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
new file mode 100644
index 0000000..c8e2b02
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息标准模板表(用于存储推荐的标准的实验室检测顺序) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-template-info")
+public class BusinessLabExecutiveTemplateInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
new file mode 100644
index 0000000..54b4360
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-委托书 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order")
+public class BusinessOrderController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
new file mode 100644
index 0000000..c5091bb
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 委托书-样品库关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order-sample-relation")
+public class BusinessOrderSampleRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
new file mode 100644
index 0000000..52d26ec
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record")
+public class BusinessOriginalRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java
new file mode 100644
index 0000000..5314cc7
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-原始记录-标准装置关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record-equipment-relation")
+public class BusinessOriginalRecordEquipmentRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java
new file mode 100644
index 0000000..c9502d5
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-原始记录-计量文件关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record-file-relation")
+public class BusinessOriginalRecordFileRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
new file mode 100644
index 0000000..84dfc52
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-证书报告 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-certificate-report")
+public class BusinessCertificateReportController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
new file mode 100644
index 0000000..c4b51cf
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-enviroment-record")
+public class BusinessEnviromentRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
new file mode 100644
index 0000000..cf82167
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-设备交接单 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-interchange")
+public class BusinessInterchangeController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
new file mode 100644
index 0000000..f2efb61
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息记录表(用于流程中的实验室分配及后续检定过程查询) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-info")
+public class BusinessLabExecutiveInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
new file mode 100644
index 0000000..c8e2b02
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息标准模板表(用于存储推荐的标准的实验室检测顺序) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-template-info")
+public class BusinessLabExecutiveTemplateInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
new file mode 100644
index 0000000..54b4360
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-委托书 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order")
+public class BusinessOrderController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
new file mode 100644
index 0000000..c5091bb
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 委托书-样品库关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order-sample-relation")
+public class BusinessOrderSampleRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
new file mode 100644
index 0000000..52d26ec
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record")
+public class BusinessOriginalRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java
new file mode 100644
index 0000000..5314cc7
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-原始记录-标准装置关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record-equipment-relation")
+public class BusinessOriginalRecordEquipmentRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java
new file mode 100644
index 0000000..c9502d5
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-原始记录-计量文件关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record-file-relation")
+public class BusinessOriginalRecordFileRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java
new file mode 100644
index 0000000..8a02be1
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerAdviceService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户投诉模块")
+@RestController
+@RequestMapping("/customer/advice")
+@AllArgsConstructor
+public class CustomerAdviceController extends ExportController {
+
+ private final CustomerAdviceService customerAdviceService;
+
+ @ApiOperation("客户投诉查询")
+ @RequestMapping("/listPage")
+ public ReturnDTO> adviceListPage(@RequestBody @Valid CustomerAdviceListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerAdviceService.adviceListPage(page, request)));
+ }
+
+ @ApiOperation("客户投诉详情")
+ @RequestMapping("/detail")
+ public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerAdviceService.adviceDetail(idDTO.getId()));
+ }
+
+ @ApiOperation("客户投诉更新")
+ @RequestMapping("/update")
+ public ReturnDTO updateAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult){
+ Assert.isFalse(Objects.isNull(customerAdviceInfo.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(customerAdviceService.updateAdvice(customerAdviceInfo));
+ }
+
+ @ApiOperation("客户投诉新增")
+ @RequestMapping("/add")
+ public ReturnDTO addAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(customerAdviceService.addAdvice(customerAdviceInfo));
+ }
+
+ //*******************************************************************************************************************//
+ @ApiOperation("客户投诉导出")
+ @RequestMapping("/export")
+ public void exportAdvice(@RequestBody @Valid CustomerAdviceListRequest request, HttpServletResponse response) {
+ customerAdviceService.adviceExport(request, response);
+ }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
new file mode 100644
index 0000000..84dfc52
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-证书报告 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-certificate-report")
+public class BusinessCertificateReportController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
new file mode 100644
index 0000000..c4b51cf
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-enviroment-record")
+public class BusinessEnviromentRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
new file mode 100644
index 0000000..cf82167
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-设备交接单 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-interchange")
+public class BusinessInterchangeController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
new file mode 100644
index 0000000..f2efb61
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息记录表(用于流程中的实验室分配及后续检定过程查询) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-info")
+public class BusinessLabExecutiveInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
new file mode 100644
index 0000000..c8e2b02
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息标准模板表(用于存储推荐的标准的实验室检测顺序) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-template-info")
+public class BusinessLabExecutiveTemplateInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
new file mode 100644
index 0000000..54b4360
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-委托书 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order")
+public class BusinessOrderController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
new file mode 100644
index 0000000..c5091bb
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 委托书-样品库关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order-sample-relation")
+public class BusinessOrderSampleRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
new file mode 100644
index 0000000..52d26ec
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record")
+public class BusinessOriginalRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java
new file mode 100644
index 0000000..5314cc7
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-原始记录-标准装置关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record-equipment-relation")
+public class BusinessOriginalRecordEquipmentRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java
new file mode 100644
index 0000000..c9502d5
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-原始记录-计量文件关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record-file-relation")
+public class BusinessOriginalRecordFileRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java
new file mode 100644
index 0000000..8a02be1
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerAdviceService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户投诉模块")
+@RestController
+@RequestMapping("/customer/advice")
+@AllArgsConstructor
+public class CustomerAdviceController extends ExportController {
+
+ private final CustomerAdviceService customerAdviceService;
+
+ @ApiOperation("客户投诉查询")
+ @RequestMapping("/listPage")
+ public ReturnDTO> adviceListPage(@RequestBody @Valid CustomerAdviceListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerAdviceService.adviceListPage(page, request)));
+ }
+
+ @ApiOperation("客户投诉详情")
+ @RequestMapping("/detail")
+ public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerAdviceService.adviceDetail(idDTO.getId()));
+ }
+
+ @ApiOperation("客户投诉更新")
+ @RequestMapping("/update")
+ public ReturnDTO updateAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult){
+ Assert.isFalse(Objects.isNull(customerAdviceInfo.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(customerAdviceService.updateAdvice(customerAdviceInfo));
+ }
+
+ @ApiOperation("客户投诉新增")
+ @RequestMapping("/add")
+ public ReturnDTO addAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(customerAdviceService.addAdvice(customerAdviceInfo));
+ }
+
+ //*******************************************************************************************************************//
+ @ApiOperation("客户投诉导出")
+ @RequestMapping("/export")
+ public void exportAdvice(@RequestBody @Valid CustomerAdviceListRequest request, HttpServletResponse response) {
+ customerAdviceService.adviceExport(request, response);
+ }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java
new file mode 100644
index 0000000..4e02809
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java
@@ -0,0 +1,130 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.CertificationResponse;
+import com.casic.missiles.dto.customer.Info.*;
+import com.casic.missiles.dto.customer.MesureRecordsResponse;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.customer.CustomerInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户基础信息模块")
+@RestController
+@RequestMapping("/customer")
+@AllArgsConstructor
+public class CustomerController extends ExportController {
+
+ private final CustomerService customerService;
+
+ @ApiOperation("客户基本信息列表")
+ @RequestMapping("/listPage")
+ public ReturnDTO> listPage(@RequestBody @Valid CustomerListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerService.listPage(page, request)));
+ }
+
+ @ApiOperation("客户新增")
+ @RequestMapping("/add")
+ public ReturnDTO addCustomer(@RequestBody @Valid CustomerInfo customerInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerService.addCustomer(customerInfo));
+ }
+
+ @ApiOperation("客户更新")
+ @RequestMapping("/update")
+ public ReturnDTO updateCustomer(@RequestBody @Valid CustomerInfo customerInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerService.updateCustomer(customerInfo));
+ }
+
+ @ApiOperation("客户详情")
+ @RequestMapping("/detail")
+ public ReturnDTO customerDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return customerService.customerDetail(idDTO.getId());
+ }
+
+ @ApiOperation("根据客户id查询样品记录-分页")
+ @RequestMapping("/sampleRecords")
+ public ReturnDTO> sampleRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.sampleRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询合同记录-分页")
+ @RequestMapping("/contractRecords")
+ public ReturnDTO> contractRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询检定记录-分页")
+ @RequestMapping("/mesureRecords")
+ public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询检定证书-分页")
+ @RequestMapping("/certificateRecords")
+ public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("客户导出")
+ @RequestMapping("/export")
+ public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){
+ customerService.customerExport(request, response);
+ }
+
+ //*******************************************************************************************************************//
+// @ApiOperation("客户批量导入")
+// @RequestMapping("/batchImport")
+// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+// Assert.isFalse(bindingResult.hasErrors(), () -> {
+// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+// });
+// return null;
+// }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
new file mode 100644
index 0000000..84dfc52
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-证书报告 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-certificate-report")
+public class BusinessCertificateReportController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
new file mode 100644
index 0000000..c4b51cf
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-enviroment-record")
+public class BusinessEnviromentRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
new file mode 100644
index 0000000..cf82167
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-设备交接单 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-interchange")
+public class BusinessInterchangeController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
new file mode 100644
index 0000000..f2efb61
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息记录表(用于流程中的实验室分配及后续检定过程查询) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-info")
+public class BusinessLabExecutiveInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
new file mode 100644
index 0000000..c8e2b02
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息标准模板表(用于存储推荐的标准的实验室检测顺序) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-template-info")
+public class BusinessLabExecutiveTemplateInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
new file mode 100644
index 0000000..54b4360
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-委托书 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order")
+public class BusinessOrderController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
new file mode 100644
index 0000000..c5091bb
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 委托书-样品库关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order-sample-relation")
+public class BusinessOrderSampleRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
new file mode 100644
index 0000000..52d26ec
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record")
+public class BusinessOriginalRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java
new file mode 100644
index 0000000..5314cc7
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-原始记录-标准装置关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record-equipment-relation")
+public class BusinessOriginalRecordEquipmentRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java
new file mode 100644
index 0000000..c9502d5
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-原始记录-计量文件关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record-file-relation")
+public class BusinessOriginalRecordFileRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java
new file mode 100644
index 0000000..8a02be1
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerAdviceService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户投诉模块")
+@RestController
+@RequestMapping("/customer/advice")
+@AllArgsConstructor
+public class CustomerAdviceController extends ExportController {
+
+ private final CustomerAdviceService customerAdviceService;
+
+ @ApiOperation("客户投诉查询")
+ @RequestMapping("/listPage")
+ public ReturnDTO> adviceListPage(@RequestBody @Valid CustomerAdviceListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerAdviceService.adviceListPage(page, request)));
+ }
+
+ @ApiOperation("客户投诉详情")
+ @RequestMapping("/detail")
+ public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerAdviceService.adviceDetail(idDTO.getId()));
+ }
+
+ @ApiOperation("客户投诉更新")
+ @RequestMapping("/update")
+ public ReturnDTO updateAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult){
+ Assert.isFalse(Objects.isNull(customerAdviceInfo.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(customerAdviceService.updateAdvice(customerAdviceInfo));
+ }
+
+ @ApiOperation("客户投诉新增")
+ @RequestMapping("/add")
+ public ReturnDTO addAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(customerAdviceService.addAdvice(customerAdviceInfo));
+ }
+
+ //*******************************************************************************************************************//
+ @ApiOperation("客户投诉导出")
+ @RequestMapping("/export")
+ public void exportAdvice(@RequestBody @Valid CustomerAdviceListRequest request, HttpServletResponse response) {
+ customerAdviceService.adviceExport(request, response);
+ }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java
new file mode 100644
index 0000000..4e02809
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java
@@ -0,0 +1,130 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.CertificationResponse;
+import com.casic.missiles.dto.customer.Info.*;
+import com.casic.missiles.dto.customer.MesureRecordsResponse;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.customer.CustomerInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户基础信息模块")
+@RestController
+@RequestMapping("/customer")
+@AllArgsConstructor
+public class CustomerController extends ExportController {
+
+ private final CustomerService customerService;
+
+ @ApiOperation("客户基本信息列表")
+ @RequestMapping("/listPage")
+ public ReturnDTO> listPage(@RequestBody @Valid CustomerListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerService.listPage(page, request)));
+ }
+
+ @ApiOperation("客户新增")
+ @RequestMapping("/add")
+ public ReturnDTO addCustomer(@RequestBody @Valid CustomerInfo customerInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerService.addCustomer(customerInfo));
+ }
+
+ @ApiOperation("客户更新")
+ @RequestMapping("/update")
+ public ReturnDTO updateCustomer(@RequestBody @Valid CustomerInfo customerInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerService.updateCustomer(customerInfo));
+ }
+
+ @ApiOperation("客户详情")
+ @RequestMapping("/detail")
+ public ReturnDTO customerDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return customerService.customerDetail(idDTO.getId());
+ }
+
+ @ApiOperation("根据客户id查询样品记录-分页")
+ @RequestMapping("/sampleRecords")
+ public ReturnDTO> sampleRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.sampleRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询合同记录-分页")
+ @RequestMapping("/contractRecords")
+ public ReturnDTO> contractRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询检定记录-分页")
+ @RequestMapping("/mesureRecords")
+ public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询检定证书-分页")
+ @RequestMapping("/certificateRecords")
+ public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("客户导出")
+ @RequestMapping("/export")
+ public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){
+ customerService.customerExport(request, response);
+ }
+
+ //*******************************************************************************************************************//
+// @ApiOperation("客户批量导入")
+// @RequestMapping("/batchImport")
+// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+// Assert.isFalse(bindingResult.hasErrors(), () -> {
+// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+// });
+// return null;
+// }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java
new file mode 100644
index 0000000..0d7320f
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java
@@ -0,0 +1,123 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.CertificationResponse;
+import com.casic.missiles.dto.customer.MesureRecordsResponse;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.customer.CustomerSampleInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerSampleService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户样本信息模块")
+@RestController
+@RequestMapping("/customer/sample")
+@AllArgsConstructor
+public class CustomerSampleController extends ExportController {
+
+ private final CustomerSampleService customerSampleService;
+
+ @ApiOperation("样品列表查询-分页")
+ @RequestMapping("/listPage")
+ public ReturnDTO> listPage(@RequestBody @Valid CustomerSampleListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerSampleService.listPage(page, request)));
+ }
+
+ @ApiOperation("样品新增")
+ @RequestMapping("/add")
+ public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerSampleService.addSample(customerSampleInfo));
+ }
+
+ @ApiOperation("样品编辑")
+ @RequestMapping("/update")
+ public ReturnDTO updateSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) {
+ Assert.isFalse(Objects.isNull(customerSampleInfo.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerSampleService.updateSample(customerSampleInfo));
+ }
+
+ @ApiOperation("样品详情")
+ @RequestMapping("/detail")
+ public ReturnDTO sampleDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerSampleService.sampleDetail(idDTO.getId()));
+ }
+
+ @ApiOperation("列表数据删除")
+ @RequestMapping("/delete")
+ public ReturnDTO deleteSample(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerSampleService.deleteSample(idDTO.getId()));
+ }
+
+ @ApiOperation("样品导出")
+ @RequestMapping("/export")
+ public void sampleExport(@RequestBody @Valid CustomerSampleListRequest request, HttpServletResponse response) {
+ customerSampleService.sampleExport(request, response);
+ }
+
+ @ApiOperation("根据样品id查询检定记录")
+ @RequestMapping("/mesureRecordsBySampleId")
+ public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据样品id查询检定证书")
+ @RequestMapping("/certificationBySampleId")
+ public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId())));
+ }
+
+// @ApiOperation("样品批量导入")
+// @RequestMapping("/batchImport")
+// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+// Assert.isFalse(bindingResult.hasErrors(), () -> {
+// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+// });
+// return null;
+// }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
new file mode 100644
index 0000000..84dfc52
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-证书报告 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-certificate-report")
+public class BusinessCertificateReportController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
new file mode 100644
index 0000000..c4b51cf
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-enviroment-record")
+public class BusinessEnviromentRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
new file mode 100644
index 0000000..cf82167
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-设备交接单 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-interchange")
+public class BusinessInterchangeController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
new file mode 100644
index 0000000..f2efb61
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息记录表(用于流程中的实验室分配及后续检定过程查询) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-info")
+public class BusinessLabExecutiveInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
new file mode 100644
index 0000000..c8e2b02
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息标准模板表(用于存储推荐的标准的实验室检测顺序) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-template-info")
+public class BusinessLabExecutiveTemplateInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
new file mode 100644
index 0000000..54b4360
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-委托书 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order")
+public class BusinessOrderController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
new file mode 100644
index 0000000..c5091bb
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 委托书-样品库关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order-sample-relation")
+public class BusinessOrderSampleRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
new file mode 100644
index 0000000..52d26ec
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record")
+public class BusinessOriginalRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java
new file mode 100644
index 0000000..5314cc7
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-原始记录-标准装置关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record-equipment-relation")
+public class BusinessOriginalRecordEquipmentRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java
new file mode 100644
index 0000000..c9502d5
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-原始记录-计量文件关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record-file-relation")
+public class BusinessOriginalRecordFileRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java
new file mode 100644
index 0000000..8a02be1
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerAdviceService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户投诉模块")
+@RestController
+@RequestMapping("/customer/advice")
+@AllArgsConstructor
+public class CustomerAdviceController extends ExportController {
+
+ private final CustomerAdviceService customerAdviceService;
+
+ @ApiOperation("客户投诉查询")
+ @RequestMapping("/listPage")
+ public ReturnDTO> adviceListPage(@RequestBody @Valid CustomerAdviceListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerAdviceService.adviceListPage(page, request)));
+ }
+
+ @ApiOperation("客户投诉详情")
+ @RequestMapping("/detail")
+ public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerAdviceService.adviceDetail(idDTO.getId()));
+ }
+
+ @ApiOperation("客户投诉更新")
+ @RequestMapping("/update")
+ public ReturnDTO updateAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult){
+ Assert.isFalse(Objects.isNull(customerAdviceInfo.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(customerAdviceService.updateAdvice(customerAdviceInfo));
+ }
+
+ @ApiOperation("客户投诉新增")
+ @RequestMapping("/add")
+ public ReturnDTO addAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(customerAdviceService.addAdvice(customerAdviceInfo));
+ }
+
+ //*******************************************************************************************************************//
+ @ApiOperation("客户投诉导出")
+ @RequestMapping("/export")
+ public void exportAdvice(@RequestBody @Valid CustomerAdviceListRequest request, HttpServletResponse response) {
+ customerAdviceService.adviceExport(request, response);
+ }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java
new file mode 100644
index 0000000..4e02809
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java
@@ -0,0 +1,130 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.CertificationResponse;
+import com.casic.missiles.dto.customer.Info.*;
+import com.casic.missiles.dto.customer.MesureRecordsResponse;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.customer.CustomerInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户基础信息模块")
+@RestController
+@RequestMapping("/customer")
+@AllArgsConstructor
+public class CustomerController extends ExportController {
+
+ private final CustomerService customerService;
+
+ @ApiOperation("客户基本信息列表")
+ @RequestMapping("/listPage")
+ public ReturnDTO> listPage(@RequestBody @Valid CustomerListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerService.listPage(page, request)));
+ }
+
+ @ApiOperation("客户新增")
+ @RequestMapping("/add")
+ public ReturnDTO addCustomer(@RequestBody @Valid CustomerInfo customerInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerService.addCustomer(customerInfo));
+ }
+
+ @ApiOperation("客户更新")
+ @RequestMapping("/update")
+ public ReturnDTO updateCustomer(@RequestBody @Valid CustomerInfo customerInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerService.updateCustomer(customerInfo));
+ }
+
+ @ApiOperation("客户详情")
+ @RequestMapping("/detail")
+ public ReturnDTO customerDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return customerService.customerDetail(idDTO.getId());
+ }
+
+ @ApiOperation("根据客户id查询样品记录-分页")
+ @RequestMapping("/sampleRecords")
+ public ReturnDTO> sampleRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.sampleRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询合同记录-分页")
+ @RequestMapping("/contractRecords")
+ public ReturnDTO> contractRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询检定记录-分页")
+ @RequestMapping("/mesureRecords")
+ public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询检定证书-分页")
+ @RequestMapping("/certificateRecords")
+ public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("客户导出")
+ @RequestMapping("/export")
+ public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){
+ customerService.customerExport(request, response);
+ }
+
+ //*******************************************************************************************************************//
+// @ApiOperation("客户批量导入")
+// @RequestMapping("/batchImport")
+// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+// Assert.isFalse(bindingResult.hasErrors(), () -> {
+// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+// });
+// return null;
+// }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java
new file mode 100644
index 0000000..0d7320f
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java
@@ -0,0 +1,123 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.CertificationResponse;
+import com.casic.missiles.dto.customer.MesureRecordsResponse;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.customer.CustomerSampleInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerSampleService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户样本信息模块")
+@RestController
+@RequestMapping("/customer/sample")
+@AllArgsConstructor
+public class CustomerSampleController extends ExportController {
+
+ private final CustomerSampleService customerSampleService;
+
+ @ApiOperation("样品列表查询-分页")
+ @RequestMapping("/listPage")
+ public ReturnDTO> listPage(@RequestBody @Valid CustomerSampleListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerSampleService.listPage(page, request)));
+ }
+
+ @ApiOperation("样品新增")
+ @RequestMapping("/add")
+ public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerSampleService.addSample(customerSampleInfo));
+ }
+
+ @ApiOperation("样品编辑")
+ @RequestMapping("/update")
+ public ReturnDTO updateSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) {
+ Assert.isFalse(Objects.isNull(customerSampleInfo.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerSampleService.updateSample(customerSampleInfo));
+ }
+
+ @ApiOperation("样品详情")
+ @RequestMapping("/detail")
+ public ReturnDTO sampleDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerSampleService.sampleDetail(idDTO.getId()));
+ }
+
+ @ApiOperation("列表数据删除")
+ @RequestMapping("/delete")
+ public ReturnDTO deleteSample(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerSampleService.deleteSample(idDTO.getId()));
+ }
+
+ @ApiOperation("样品导出")
+ @RequestMapping("/export")
+ public void sampleExport(@RequestBody @Valid CustomerSampleListRequest request, HttpServletResponse response) {
+ customerSampleService.sampleExport(request, response);
+ }
+
+ @ApiOperation("根据样品id查询检定记录")
+ @RequestMapping("/mesureRecordsBySampleId")
+ public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据样品id查询检定证书")
+ @RequestMapping("/certificationBySampleId")
+ public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId())));
+ }
+
+// @ApiOperation("样品批量导入")
+// @RequestMapping("/batchImport")
+// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+// Assert.isFalse(bindingResult.hasErrors(), () -> {
+// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+// });
+// return null;
+// }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java
new file mode 100644
index 0000000..a42dc64
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java
@@ -0,0 +1,45 @@
+package com.casic.missiles.controller.customer;
+
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.service.customer.CustomerWorkbenchService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+@Api(tags = "客户工作台资源")
+@RestController
+@RequestMapping("/customer/workbench")
+@AllArgsConstructor
+public class CustomerWorkbenchController {
+
+ private final CustomerWorkbenchService customerWorkbenchService;
+
+ @ApiOperation("样品新增趋势")
+ @RequestMapping("/sample/increaseTrend")
+ public ReturnDTO>> increaseTrend() {
+ return customerWorkbenchService.sampleIncreaseTrend();
+ }
+
+ @ApiOperation("样品到期趋势")
+ @RequestMapping("/sample/expireTrend")
+ public ReturnDTO>> querySampleExpireTrend() {
+ return customerWorkbenchService.querySampleExpireTrend();
+ }
+
+ @ApiOperation("客户新增趋势")
+ @RequestMapping("/increaseTrend")
+ public ReturnDTO>> customerIncreaseTrend() {
+ return customerWorkbenchService.customerIncreaseTrend();
+ }
+
+ @ApiOperation("优质客户名单")
+ @RequestMapping("/excellentList")
+ public ReturnDTO>> customerExcellentList() {
+ return customerWorkbenchService.customerExcellentList();
+ }
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
new file mode 100644
index 0000000..84dfc52
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-证书报告 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-certificate-report")
+public class BusinessCertificateReportController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
new file mode 100644
index 0000000..c4b51cf
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-enviroment-record")
+public class BusinessEnviromentRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
new file mode 100644
index 0000000..cf82167
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-设备交接单 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-interchange")
+public class BusinessInterchangeController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
new file mode 100644
index 0000000..f2efb61
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息记录表(用于流程中的实验室分配及后续检定过程查询) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-info")
+public class BusinessLabExecutiveInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
new file mode 100644
index 0000000..c8e2b02
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息标准模板表(用于存储推荐的标准的实验室检测顺序) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-template-info")
+public class BusinessLabExecutiveTemplateInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
new file mode 100644
index 0000000..54b4360
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-委托书 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order")
+public class BusinessOrderController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
new file mode 100644
index 0000000..c5091bb
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 委托书-样品库关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order-sample-relation")
+public class BusinessOrderSampleRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
new file mode 100644
index 0000000..52d26ec
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record")
+public class BusinessOriginalRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java
new file mode 100644
index 0000000..5314cc7
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-原始记录-标准装置关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record-equipment-relation")
+public class BusinessOriginalRecordEquipmentRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java
new file mode 100644
index 0000000..c9502d5
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-原始记录-计量文件关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record-file-relation")
+public class BusinessOriginalRecordFileRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java
new file mode 100644
index 0000000..8a02be1
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerAdviceService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户投诉模块")
+@RestController
+@RequestMapping("/customer/advice")
+@AllArgsConstructor
+public class CustomerAdviceController extends ExportController {
+
+ private final CustomerAdviceService customerAdviceService;
+
+ @ApiOperation("客户投诉查询")
+ @RequestMapping("/listPage")
+ public ReturnDTO> adviceListPage(@RequestBody @Valid CustomerAdviceListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerAdviceService.adviceListPage(page, request)));
+ }
+
+ @ApiOperation("客户投诉详情")
+ @RequestMapping("/detail")
+ public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerAdviceService.adviceDetail(idDTO.getId()));
+ }
+
+ @ApiOperation("客户投诉更新")
+ @RequestMapping("/update")
+ public ReturnDTO updateAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult){
+ Assert.isFalse(Objects.isNull(customerAdviceInfo.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(customerAdviceService.updateAdvice(customerAdviceInfo));
+ }
+
+ @ApiOperation("客户投诉新增")
+ @RequestMapping("/add")
+ public ReturnDTO addAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(customerAdviceService.addAdvice(customerAdviceInfo));
+ }
+
+ //*******************************************************************************************************************//
+ @ApiOperation("客户投诉导出")
+ @RequestMapping("/export")
+ public void exportAdvice(@RequestBody @Valid CustomerAdviceListRequest request, HttpServletResponse response) {
+ customerAdviceService.adviceExport(request, response);
+ }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java
new file mode 100644
index 0000000..4e02809
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java
@@ -0,0 +1,130 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.CertificationResponse;
+import com.casic.missiles.dto.customer.Info.*;
+import com.casic.missiles.dto.customer.MesureRecordsResponse;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.customer.CustomerInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户基础信息模块")
+@RestController
+@RequestMapping("/customer")
+@AllArgsConstructor
+public class CustomerController extends ExportController {
+
+ private final CustomerService customerService;
+
+ @ApiOperation("客户基本信息列表")
+ @RequestMapping("/listPage")
+ public ReturnDTO> listPage(@RequestBody @Valid CustomerListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerService.listPage(page, request)));
+ }
+
+ @ApiOperation("客户新增")
+ @RequestMapping("/add")
+ public ReturnDTO addCustomer(@RequestBody @Valid CustomerInfo customerInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerService.addCustomer(customerInfo));
+ }
+
+ @ApiOperation("客户更新")
+ @RequestMapping("/update")
+ public ReturnDTO updateCustomer(@RequestBody @Valid CustomerInfo customerInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerService.updateCustomer(customerInfo));
+ }
+
+ @ApiOperation("客户详情")
+ @RequestMapping("/detail")
+ public ReturnDTO customerDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return customerService.customerDetail(idDTO.getId());
+ }
+
+ @ApiOperation("根据客户id查询样品记录-分页")
+ @RequestMapping("/sampleRecords")
+ public ReturnDTO> sampleRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.sampleRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询合同记录-分页")
+ @RequestMapping("/contractRecords")
+ public ReturnDTO> contractRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询检定记录-分页")
+ @RequestMapping("/mesureRecords")
+ public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询检定证书-分页")
+ @RequestMapping("/certificateRecords")
+ public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("客户导出")
+ @RequestMapping("/export")
+ public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){
+ customerService.customerExport(request, response);
+ }
+
+ //*******************************************************************************************************************//
+// @ApiOperation("客户批量导入")
+// @RequestMapping("/batchImport")
+// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+// Assert.isFalse(bindingResult.hasErrors(), () -> {
+// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+// });
+// return null;
+// }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java
new file mode 100644
index 0000000..0d7320f
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java
@@ -0,0 +1,123 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.CertificationResponse;
+import com.casic.missiles.dto.customer.MesureRecordsResponse;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.customer.CustomerSampleInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerSampleService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户样本信息模块")
+@RestController
+@RequestMapping("/customer/sample")
+@AllArgsConstructor
+public class CustomerSampleController extends ExportController {
+
+ private final CustomerSampleService customerSampleService;
+
+ @ApiOperation("样品列表查询-分页")
+ @RequestMapping("/listPage")
+ public ReturnDTO> listPage(@RequestBody @Valid CustomerSampleListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerSampleService.listPage(page, request)));
+ }
+
+ @ApiOperation("样品新增")
+ @RequestMapping("/add")
+ public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerSampleService.addSample(customerSampleInfo));
+ }
+
+ @ApiOperation("样品编辑")
+ @RequestMapping("/update")
+ public ReturnDTO updateSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) {
+ Assert.isFalse(Objects.isNull(customerSampleInfo.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerSampleService.updateSample(customerSampleInfo));
+ }
+
+ @ApiOperation("样品详情")
+ @RequestMapping("/detail")
+ public ReturnDTO sampleDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerSampleService.sampleDetail(idDTO.getId()));
+ }
+
+ @ApiOperation("列表数据删除")
+ @RequestMapping("/delete")
+ public ReturnDTO deleteSample(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerSampleService.deleteSample(idDTO.getId()));
+ }
+
+ @ApiOperation("样品导出")
+ @RequestMapping("/export")
+ public void sampleExport(@RequestBody @Valid CustomerSampleListRequest request, HttpServletResponse response) {
+ customerSampleService.sampleExport(request, response);
+ }
+
+ @ApiOperation("根据样品id查询检定记录")
+ @RequestMapping("/mesureRecordsBySampleId")
+ public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据样品id查询检定证书")
+ @RequestMapping("/certificationBySampleId")
+ public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId())));
+ }
+
+// @ApiOperation("样品批量导入")
+// @RequestMapping("/batchImport")
+// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+// Assert.isFalse(bindingResult.hasErrors(), () -> {
+// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+// });
+// return null;
+// }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java
new file mode 100644
index 0000000..a42dc64
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java
@@ -0,0 +1,45 @@
+package com.casic.missiles.controller.customer;
+
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.service.customer.CustomerWorkbenchService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+@Api(tags = "客户工作台资源")
+@RestController
+@RequestMapping("/customer/workbench")
+@AllArgsConstructor
+public class CustomerWorkbenchController {
+
+ private final CustomerWorkbenchService customerWorkbenchService;
+
+ @ApiOperation("样品新增趋势")
+ @RequestMapping("/sample/increaseTrend")
+ public ReturnDTO>> increaseTrend() {
+ return customerWorkbenchService.sampleIncreaseTrend();
+ }
+
+ @ApiOperation("样品到期趋势")
+ @RequestMapping("/sample/expireTrend")
+ public ReturnDTO>> querySampleExpireTrend() {
+ return customerWorkbenchService.querySampleExpireTrend();
+ }
+
+ @ApiOperation("客户新增趋势")
+ @RequestMapping("/increaseTrend")
+ public ReturnDTO>> customerIncreaseTrend() {
+ return customerWorkbenchService.customerIncreaseTrend();
+ }
+
+ @ApiOperation("优质客户名单")
+ @RequestMapping("/excellentList")
+ public ReturnDTO>> customerExcellentList() {
+ return customerWorkbenchService.customerExcellentList();
+ }
+}
diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml
index ab864e3..ee55d31 100644
--- a/casic-metering-api/src/main/resources/config/application.yml
+++ b/casic-metering-api/src/main/resources/config/application.yml
@@ -118,6 +118,6 @@
code:
generate:
#作者
- author: cuicheng
+ author: wangpeng
#待生成对象表名
- table-name: system_flow_deploy_form
+ table-name: business_order_sample_relation
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
new file mode 100644
index 0000000..84dfc52
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-证书报告 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-certificate-report")
+public class BusinessCertificateReportController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
new file mode 100644
index 0000000..c4b51cf
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-enviroment-record")
+public class BusinessEnviromentRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
new file mode 100644
index 0000000..cf82167
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-设备交接单 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-interchange")
+public class BusinessInterchangeController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
new file mode 100644
index 0000000..f2efb61
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息记录表(用于流程中的实验室分配及后续检定过程查询) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-info")
+public class BusinessLabExecutiveInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
new file mode 100644
index 0000000..c8e2b02
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息标准模板表(用于存储推荐的标准的实验室检测顺序) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-template-info")
+public class BusinessLabExecutiveTemplateInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
new file mode 100644
index 0000000..54b4360
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-委托书 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order")
+public class BusinessOrderController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
new file mode 100644
index 0000000..c5091bb
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 委托书-样品库关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order-sample-relation")
+public class BusinessOrderSampleRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
new file mode 100644
index 0000000..52d26ec
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record")
+public class BusinessOriginalRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java
new file mode 100644
index 0000000..5314cc7
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-原始记录-标准装置关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record-equipment-relation")
+public class BusinessOriginalRecordEquipmentRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java
new file mode 100644
index 0000000..c9502d5
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-原始记录-计量文件关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record-file-relation")
+public class BusinessOriginalRecordFileRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java
new file mode 100644
index 0000000..8a02be1
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerAdviceService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户投诉模块")
+@RestController
+@RequestMapping("/customer/advice")
+@AllArgsConstructor
+public class CustomerAdviceController extends ExportController {
+
+ private final CustomerAdviceService customerAdviceService;
+
+ @ApiOperation("客户投诉查询")
+ @RequestMapping("/listPage")
+ public ReturnDTO> adviceListPage(@RequestBody @Valid CustomerAdviceListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerAdviceService.adviceListPage(page, request)));
+ }
+
+ @ApiOperation("客户投诉详情")
+ @RequestMapping("/detail")
+ public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerAdviceService.adviceDetail(idDTO.getId()));
+ }
+
+ @ApiOperation("客户投诉更新")
+ @RequestMapping("/update")
+ public ReturnDTO updateAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult){
+ Assert.isFalse(Objects.isNull(customerAdviceInfo.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(customerAdviceService.updateAdvice(customerAdviceInfo));
+ }
+
+ @ApiOperation("客户投诉新增")
+ @RequestMapping("/add")
+ public ReturnDTO addAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(customerAdviceService.addAdvice(customerAdviceInfo));
+ }
+
+ //*******************************************************************************************************************//
+ @ApiOperation("客户投诉导出")
+ @RequestMapping("/export")
+ public void exportAdvice(@RequestBody @Valid CustomerAdviceListRequest request, HttpServletResponse response) {
+ customerAdviceService.adviceExport(request, response);
+ }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java
new file mode 100644
index 0000000..4e02809
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java
@@ -0,0 +1,130 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.CertificationResponse;
+import com.casic.missiles.dto.customer.Info.*;
+import com.casic.missiles.dto.customer.MesureRecordsResponse;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.customer.CustomerInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户基础信息模块")
+@RestController
+@RequestMapping("/customer")
+@AllArgsConstructor
+public class CustomerController extends ExportController {
+
+ private final CustomerService customerService;
+
+ @ApiOperation("客户基本信息列表")
+ @RequestMapping("/listPage")
+ public ReturnDTO> listPage(@RequestBody @Valid CustomerListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerService.listPage(page, request)));
+ }
+
+ @ApiOperation("客户新增")
+ @RequestMapping("/add")
+ public ReturnDTO addCustomer(@RequestBody @Valid CustomerInfo customerInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerService.addCustomer(customerInfo));
+ }
+
+ @ApiOperation("客户更新")
+ @RequestMapping("/update")
+ public ReturnDTO updateCustomer(@RequestBody @Valid CustomerInfo customerInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerService.updateCustomer(customerInfo));
+ }
+
+ @ApiOperation("客户详情")
+ @RequestMapping("/detail")
+ public ReturnDTO customerDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return customerService.customerDetail(idDTO.getId());
+ }
+
+ @ApiOperation("根据客户id查询样品记录-分页")
+ @RequestMapping("/sampleRecords")
+ public ReturnDTO> sampleRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.sampleRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询合同记录-分页")
+ @RequestMapping("/contractRecords")
+ public ReturnDTO> contractRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询检定记录-分页")
+ @RequestMapping("/mesureRecords")
+ public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询检定证书-分页")
+ @RequestMapping("/certificateRecords")
+ public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("客户导出")
+ @RequestMapping("/export")
+ public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){
+ customerService.customerExport(request, response);
+ }
+
+ //*******************************************************************************************************************//
+// @ApiOperation("客户批量导入")
+// @RequestMapping("/batchImport")
+// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+// Assert.isFalse(bindingResult.hasErrors(), () -> {
+// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+// });
+// return null;
+// }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java
new file mode 100644
index 0000000..0d7320f
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java
@@ -0,0 +1,123 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.CertificationResponse;
+import com.casic.missiles.dto.customer.MesureRecordsResponse;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.customer.CustomerSampleInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerSampleService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户样本信息模块")
+@RestController
+@RequestMapping("/customer/sample")
+@AllArgsConstructor
+public class CustomerSampleController extends ExportController {
+
+ private final CustomerSampleService customerSampleService;
+
+ @ApiOperation("样品列表查询-分页")
+ @RequestMapping("/listPage")
+ public ReturnDTO> listPage(@RequestBody @Valid CustomerSampleListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerSampleService.listPage(page, request)));
+ }
+
+ @ApiOperation("样品新增")
+ @RequestMapping("/add")
+ public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerSampleService.addSample(customerSampleInfo));
+ }
+
+ @ApiOperation("样品编辑")
+ @RequestMapping("/update")
+ public ReturnDTO updateSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) {
+ Assert.isFalse(Objects.isNull(customerSampleInfo.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerSampleService.updateSample(customerSampleInfo));
+ }
+
+ @ApiOperation("样品详情")
+ @RequestMapping("/detail")
+ public ReturnDTO sampleDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerSampleService.sampleDetail(idDTO.getId()));
+ }
+
+ @ApiOperation("列表数据删除")
+ @RequestMapping("/delete")
+ public ReturnDTO deleteSample(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerSampleService.deleteSample(idDTO.getId()));
+ }
+
+ @ApiOperation("样品导出")
+ @RequestMapping("/export")
+ public void sampleExport(@RequestBody @Valid CustomerSampleListRequest request, HttpServletResponse response) {
+ customerSampleService.sampleExport(request, response);
+ }
+
+ @ApiOperation("根据样品id查询检定记录")
+ @RequestMapping("/mesureRecordsBySampleId")
+ public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据样品id查询检定证书")
+ @RequestMapping("/certificationBySampleId")
+ public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId())));
+ }
+
+// @ApiOperation("样品批量导入")
+// @RequestMapping("/batchImport")
+// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+// Assert.isFalse(bindingResult.hasErrors(), () -> {
+// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+// });
+// return null;
+// }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java
new file mode 100644
index 0000000..a42dc64
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java
@@ -0,0 +1,45 @@
+package com.casic.missiles.controller.customer;
+
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.service.customer.CustomerWorkbenchService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+@Api(tags = "客户工作台资源")
+@RestController
+@RequestMapping("/customer/workbench")
+@AllArgsConstructor
+public class CustomerWorkbenchController {
+
+ private final CustomerWorkbenchService customerWorkbenchService;
+
+ @ApiOperation("样品新增趋势")
+ @RequestMapping("/sample/increaseTrend")
+ public ReturnDTO>> increaseTrend() {
+ return customerWorkbenchService.sampleIncreaseTrend();
+ }
+
+ @ApiOperation("样品到期趋势")
+ @RequestMapping("/sample/expireTrend")
+ public ReturnDTO>> querySampleExpireTrend() {
+ return customerWorkbenchService.querySampleExpireTrend();
+ }
+
+ @ApiOperation("客户新增趋势")
+ @RequestMapping("/increaseTrend")
+ public ReturnDTO>> customerIncreaseTrend() {
+ return customerWorkbenchService.customerIncreaseTrend();
+ }
+
+ @ApiOperation("优质客户名单")
+ @RequestMapping("/excellentList")
+ public ReturnDTO>> customerExcellentList() {
+ return customerWorkbenchService.customerExcellentList();
+ }
+}
diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml
index ab864e3..ee55d31 100644
--- a/casic-metering-api/src/main/resources/config/application.yml
+++ b/casic-metering-api/src/main/resources/config/application.yml
@@ -118,6 +118,6 @@
code:
generate:
#作者
- author: cuicheng
+ author: wangpeng
#待生成对象表名
- table-name: system_flow_deploy_form
+ table-name: business_order_sample_relation
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
index b7bd107..b139d8a 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
@@ -27,7 +27,10 @@
METER_STAFF("meterStaff", "meterStaff", "计量人员"),
STANDARD_EQUIPMENT_APPLY("standardEquipmentApply", "standardEquipmentApply", "标准装置申请"),
STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"),
- METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单");
+ METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单"),
+ CUSTOMER_EXPORT("customerData", "customerData", "客户信息"),
+ SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"),
+ ADVICE_EXPORT("adviceData", "adviceData", "客户反馈");
ExportEnum(String fileName, String sheetName, String description) {
this.fileName = fileName;
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
new file mode 100644
index 0000000..84dfc52
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-证书报告 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-certificate-report")
+public class BusinessCertificateReportController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
new file mode 100644
index 0000000..c4b51cf
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-enviroment-record")
+public class BusinessEnviromentRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
new file mode 100644
index 0000000..cf82167
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-设备交接单 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-interchange")
+public class BusinessInterchangeController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
new file mode 100644
index 0000000..f2efb61
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息记录表(用于流程中的实验室分配及后续检定过程查询) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-info")
+public class BusinessLabExecutiveInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
new file mode 100644
index 0000000..c8e2b02
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息标准模板表(用于存储推荐的标准的实验室检测顺序) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-template-info")
+public class BusinessLabExecutiveTemplateInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
new file mode 100644
index 0000000..54b4360
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-委托书 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order")
+public class BusinessOrderController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
new file mode 100644
index 0000000..c5091bb
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 委托书-样品库关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order-sample-relation")
+public class BusinessOrderSampleRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
new file mode 100644
index 0000000..52d26ec
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record")
+public class BusinessOriginalRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java
new file mode 100644
index 0000000..5314cc7
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-原始记录-标准装置关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record-equipment-relation")
+public class BusinessOriginalRecordEquipmentRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java
new file mode 100644
index 0000000..c9502d5
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-原始记录-计量文件关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record-file-relation")
+public class BusinessOriginalRecordFileRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java
new file mode 100644
index 0000000..8a02be1
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerAdviceService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户投诉模块")
+@RestController
+@RequestMapping("/customer/advice")
+@AllArgsConstructor
+public class CustomerAdviceController extends ExportController {
+
+ private final CustomerAdviceService customerAdviceService;
+
+ @ApiOperation("客户投诉查询")
+ @RequestMapping("/listPage")
+ public ReturnDTO> adviceListPage(@RequestBody @Valid CustomerAdviceListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerAdviceService.adviceListPage(page, request)));
+ }
+
+ @ApiOperation("客户投诉详情")
+ @RequestMapping("/detail")
+ public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerAdviceService.adviceDetail(idDTO.getId()));
+ }
+
+ @ApiOperation("客户投诉更新")
+ @RequestMapping("/update")
+ public ReturnDTO updateAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult){
+ Assert.isFalse(Objects.isNull(customerAdviceInfo.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(customerAdviceService.updateAdvice(customerAdviceInfo));
+ }
+
+ @ApiOperation("客户投诉新增")
+ @RequestMapping("/add")
+ public ReturnDTO addAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(customerAdviceService.addAdvice(customerAdviceInfo));
+ }
+
+ //*******************************************************************************************************************//
+ @ApiOperation("客户投诉导出")
+ @RequestMapping("/export")
+ public void exportAdvice(@RequestBody @Valid CustomerAdviceListRequest request, HttpServletResponse response) {
+ customerAdviceService.adviceExport(request, response);
+ }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java
new file mode 100644
index 0000000..4e02809
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java
@@ -0,0 +1,130 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.CertificationResponse;
+import com.casic.missiles.dto.customer.Info.*;
+import com.casic.missiles.dto.customer.MesureRecordsResponse;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.customer.CustomerInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户基础信息模块")
+@RestController
+@RequestMapping("/customer")
+@AllArgsConstructor
+public class CustomerController extends ExportController {
+
+ private final CustomerService customerService;
+
+ @ApiOperation("客户基本信息列表")
+ @RequestMapping("/listPage")
+ public ReturnDTO> listPage(@RequestBody @Valid CustomerListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerService.listPage(page, request)));
+ }
+
+ @ApiOperation("客户新增")
+ @RequestMapping("/add")
+ public ReturnDTO addCustomer(@RequestBody @Valid CustomerInfo customerInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerService.addCustomer(customerInfo));
+ }
+
+ @ApiOperation("客户更新")
+ @RequestMapping("/update")
+ public ReturnDTO updateCustomer(@RequestBody @Valid CustomerInfo customerInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerService.updateCustomer(customerInfo));
+ }
+
+ @ApiOperation("客户详情")
+ @RequestMapping("/detail")
+ public ReturnDTO customerDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return customerService.customerDetail(idDTO.getId());
+ }
+
+ @ApiOperation("根据客户id查询样品记录-分页")
+ @RequestMapping("/sampleRecords")
+ public ReturnDTO> sampleRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.sampleRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询合同记录-分页")
+ @RequestMapping("/contractRecords")
+ public ReturnDTO> contractRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询检定记录-分页")
+ @RequestMapping("/mesureRecords")
+ public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询检定证书-分页")
+ @RequestMapping("/certificateRecords")
+ public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("客户导出")
+ @RequestMapping("/export")
+ public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){
+ customerService.customerExport(request, response);
+ }
+
+ //*******************************************************************************************************************//
+// @ApiOperation("客户批量导入")
+// @RequestMapping("/batchImport")
+// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+// Assert.isFalse(bindingResult.hasErrors(), () -> {
+// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+// });
+// return null;
+// }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java
new file mode 100644
index 0000000..0d7320f
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java
@@ -0,0 +1,123 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.CertificationResponse;
+import com.casic.missiles.dto.customer.MesureRecordsResponse;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.customer.CustomerSampleInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerSampleService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户样本信息模块")
+@RestController
+@RequestMapping("/customer/sample")
+@AllArgsConstructor
+public class CustomerSampleController extends ExportController {
+
+ private final CustomerSampleService customerSampleService;
+
+ @ApiOperation("样品列表查询-分页")
+ @RequestMapping("/listPage")
+ public ReturnDTO> listPage(@RequestBody @Valid CustomerSampleListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerSampleService.listPage(page, request)));
+ }
+
+ @ApiOperation("样品新增")
+ @RequestMapping("/add")
+ public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerSampleService.addSample(customerSampleInfo));
+ }
+
+ @ApiOperation("样品编辑")
+ @RequestMapping("/update")
+ public ReturnDTO updateSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) {
+ Assert.isFalse(Objects.isNull(customerSampleInfo.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerSampleService.updateSample(customerSampleInfo));
+ }
+
+ @ApiOperation("样品详情")
+ @RequestMapping("/detail")
+ public ReturnDTO sampleDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerSampleService.sampleDetail(idDTO.getId()));
+ }
+
+ @ApiOperation("列表数据删除")
+ @RequestMapping("/delete")
+ public ReturnDTO deleteSample(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerSampleService.deleteSample(idDTO.getId()));
+ }
+
+ @ApiOperation("样品导出")
+ @RequestMapping("/export")
+ public void sampleExport(@RequestBody @Valid CustomerSampleListRequest request, HttpServletResponse response) {
+ customerSampleService.sampleExport(request, response);
+ }
+
+ @ApiOperation("根据样品id查询检定记录")
+ @RequestMapping("/mesureRecordsBySampleId")
+ public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据样品id查询检定证书")
+ @RequestMapping("/certificationBySampleId")
+ public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId())));
+ }
+
+// @ApiOperation("样品批量导入")
+// @RequestMapping("/batchImport")
+// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+// Assert.isFalse(bindingResult.hasErrors(), () -> {
+// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+// });
+// return null;
+// }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java
new file mode 100644
index 0000000..a42dc64
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java
@@ -0,0 +1,45 @@
+package com.casic.missiles.controller.customer;
+
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.service.customer.CustomerWorkbenchService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+@Api(tags = "客户工作台资源")
+@RestController
+@RequestMapping("/customer/workbench")
+@AllArgsConstructor
+public class CustomerWorkbenchController {
+
+ private final CustomerWorkbenchService customerWorkbenchService;
+
+ @ApiOperation("样品新增趋势")
+ @RequestMapping("/sample/increaseTrend")
+ public ReturnDTO>> increaseTrend() {
+ return customerWorkbenchService.sampleIncreaseTrend();
+ }
+
+ @ApiOperation("样品到期趋势")
+ @RequestMapping("/sample/expireTrend")
+ public ReturnDTO>> querySampleExpireTrend() {
+ return customerWorkbenchService.querySampleExpireTrend();
+ }
+
+ @ApiOperation("客户新增趋势")
+ @RequestMapping("/increaseTrend")
+ public ReturnDTO>> customerIncreaseTrend() {
+ return customerWorkbenchService.customerIncreaseTrend();
+ }
+
+ @ApiOperation("优质客户名单")
+ @RequestMapping("/excellentList")
+ public ReturnDTO>> customerExcellentList() {
+ return customerWorkbenchService.customerExcellentList();
+ }
+}
diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml
index ab864e3..ee55d31 100644
--- a/casic-metering-api/src/main/resources/config/application.yml
+++ b/casic-metering-api/src/main/resources/config/application.yml
@@ -118,6 +118,6 @@
code:
generate:
#作者
- author: cuicheng
+ author: wangpeng
#待生成对象表名
- table-name: system_flow_deploy_form
+ table-name: business_order_sample_relation
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
index b7bd107..b139d8a 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
@@ -27,7 +27,10 @@
METER_STAFF("meterStaff", "meterStaff", "计量人员"),
STANDARD_EQUIPMENT_APPLY("standardEquipmentApply", "standardEquipmentApply", "标准装置申请"),
STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"),
- METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单");
+ METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单"),
+ CUSTOMER_EXPORT("customerData", "customerData", "客户信息"),
+ SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"),
+ ADVICE_EXPORT("adviceData", "adviceData", "客户反馈");
ExportEnum(String fileName, String sheetName, String description) {
this.fileName = fileName;
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
new file mode 100644
index 0000000..17206ce
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.business.BusinessCertificateReport;
+
+/**
+ *
+ * 业务管理-证书报告 Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+public interface BusinessCertificateReportMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
new file mode 100644
index 0000000..84dfc52
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-证书报告 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-certificate-report")
+public class BusinessCertificateReportController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
new file mode 100644
index 0000000..c4b51cf
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-enviroment-record")
+public class BusinessEnviromentRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
new file mode 100644
index 0000000..cf82167
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-设备交接单 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-interchange")
+public class BusinessInterchangeController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
new file mode 100644
index 0000000..f2efb61
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息记录表(用于流程中的实验室分配及后续检定过程查询) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-info")
+public class BusinessLabExecutiveInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
new file mode 100644
index 0000000..c8e2b02
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息标准模板表(用于存储推荐的标准的实验室检测顺序) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-template-info")
+public class BusinessLabExecutiveTemplateInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
new file mode 100644
index 0000000..54b4360
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-委托书 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order")
+public class BusinessOrderController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
new file mode 100644
index 0000000..c5091bb
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 委托书-样品库关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order-sample-relation")
+public class BusinessOrderSampleRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
new file mode 100644
index 0000000..52d26ec
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record")
+public class BusinessOriginalRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java
new file mode 100644
index 0000000..5314cc7
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-原始记录-标准装置关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record-equipment-relation")
+public class BusinessOriginalRecordEquipmentRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java
new file mode 100644
index 0000000..c9502d5
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-原始记录-计量文件关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record-file-relation")
+public class BusinessOriginalRecordFileRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java
new file mode 100644
index 0000000..8a02be1
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerAdviceService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户投诉模块")
+@RestController
+@RequestMapping("/customer/advice")
+@AllArgsConstructor
+public class CustomerAdviceController extends ExportController {
+
+ private final CustomerAdviceService customerAdviceService;
+
+ @ApiOperation("客户投诉查询")
+ @RequestMapping("/listPage")
+ public ReturnDTO> adviceListPage(@RequestBody @Valid CustomerAdviceListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerAdviceService.adviceListPage(page, request)));
+ }
+
+ @ApiOperation("客户投诉详情")
+ @RequestMapping("/detail")
+ public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerAdviceService.adviceDetail(idDTO.getId()));
+ }
+
+ @ApiOperation("客户投诉更新")
+ @RequestMapping("/update")
+ public ReturnDTO updateAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult){
+ Assert.isFalse(Objects.isNull(customerAdviceInfo.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(customerAdviceService.updateAdvice(customerAdviceInfo));
+ }
+
+ @ApiOperation("客户投诉新增")
+ @RequestMapping("/add")
+ public ReturnDTO addAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(customerAdviceService.addAdvice(customerAdviceInfo));
+ }
+
+ //*******************************************************************************************************************//
+ @ApiOperation("客户投诉导出")
+ @RequestMapping("/export")
+ public void exportAdvice(@RequestBody @Valid CustomerAdviceListRequest request, HttpServletResponse response) {
+ customerAdviceService.adviceExport(request, response);
+ }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java
new file mode 100644
index 0000000..4e02809
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java
@@ -0,0 +1,130 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.CertificationResponse;
+import com.casic.missiles.dto.customer.Info.*;
+import com.casic.missiles.dto.customer.MesureRecordsResponse;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.customer.CustomerInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户基础信息模块")
+@RestController
+@RequestMapping("/customer")
+@AllArgsConstructor
+public class CustomerController extends ExportController {
+
+ private final CustomerService customerService;
+
+ @ApiOperation("客户基本信息列表")
+ @RequestMapping("/listPage")
+ public ReturnDTO> listPage(@RequestBody @Valid CustomerListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerService.listPage(page, request)));
+ }
+
+ @ApiOperation("客户新增")
+ @RequestMapping("/add")
+ public ReturnDTO addCustomer(@RequestBody @Valid CustomerInfo customerInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerService.addCustomer(customerInfo));
+ }
+
+ @ApiOperation("客户更新")
+ @RequestMapping("/update")
+ public ReturnDTO updateCustomer(@RequestBody @Valid CustomerInfo customerInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerService.updateCustomer(customerInfo));
+ }
+
+ @ApiOperation("客户详情")
+ @RequestMapping("/detail")
+ public ReturnDTO customerDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return customerService.customerDetail(idDTO.getId());
+ }
+
+ @ApiOperation("根据客户id查询样品记录-分页")
+ @RequestMapping("/sampleRecords")
+ public ReturnDTO> sampleRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.sampleRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询合同记录-分页")
+ @RequestMapping("/contractRecords")
+ public ReturnDTO> contractRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询检定记录-分页")
+ @RequestMapping("/mesureRecords")
+ public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询检定证书-分页")
+ @RequestMapping("/certificateRecords")
+ public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("客户导出")
+ @RequestMapping("/export")
+ public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){
+ customerService.customerExport(request, response);
+ }
+
+ //*******************************************************************************************************************//
+// @ApiOperation("客户批量导入")
+// @RequestMapping("/batchImport")
+// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+// Assert.isFalse(bindingResult.hasErrors(), () -> {
+// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+// });
+// return null;
+// }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java
new file mode 100644
index 0000000..0d7320f
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java
@@ -0,0 +1,123 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.CertificationResponse;
+import com.casic.missiles.dto.customer.MesureRecordsResponse;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.customer.CustomerSampleInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerSampleService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户样本信息模块")
+@RestController
+@RequestMapping("/customer/sample")
+@AllArgsConstructor
+public class CustomerSampleController extends ExportController {
+
+ private final CustomerSampleService customerSampleService;
+
+ @ApiOperation("样品列表查询-分页")
+ @RequestMapping("/listPage")
+ public ReturnDTO> listPage(@RequestBody @Valid CustomerSampleListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerSampleService.listPage(page, request)));
+ }
+
+ @ApiOperation("样品新增")
+ @RequestMapping("/add")
+ public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerSampleService.addSample(customerSampleInfo));
+ }
+
+ @ApiOperation("样品编辑")
+ @RequestMapping("/update")
+ public ReturnDTO updateSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) {
+ Assert.isFalse(Objects.isNull(customerSampleInfo.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerSampleService.updateSample(customerSampleInfo));
+ }
+
+ @ApiOperation("样品详情")
+ @RequestMapping("/detail")
+ public ReturnDTO sampleDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerSampleService.sampleDetail(idDTO.getId()));
+ }
+
+ @ApiOperation("列表数据删除")
+ @RequestMapping("/delete")
+ public ReturnDTO deleteSample(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerSampleService.deleteSample(idDTO.getId()));
+ }
+
+ @ApiOperation("样品导出")
+ @RequestMapping("/export")
+ public void sampleExport(@RequestBody @Valid CustomerSampleListRequest request, HttpServletResponse response) {
+ customerSampleService.sampleExport(request, response);
+ }
+
+ @ApiOperation("根据样品id查询检定记录")
+ @RequestMapping("/mesureRecordsBySampleId")
+ public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据样品id查询检定证书")
+ @RequestMapping("/certificationBySampleId")
+ public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId())));
+ }
+
+// @ApiOperation("样品批量导入")
+// @RequestMapping("/batchImport")
+// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+// Assert.isFalse(bindingResult.hasErrors(), () -> {
+// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+// });
+// return null;
+// }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java
new file mode 100644
index 0000000..a42dc64
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java
@@ -0,0 +1,45 @@
+package com.casic.missiles.controller.customer;
+
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.service.customer.CustomerWorkbenchService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+@Api(tags = "客户工作台资源")
+@RestController
+@RequestMapping("/customer/workbench")
+@AllArgsConstructor
+public class CustomerWorkbenchController {
+
+ private final CustomerWorkbenchService customerWorkbenchService;
+
+ @ApiOperation("样品新增趋势")
+ @RequestMapping("/sample/increaseTrend")
+ public ReturnDTO>> increaseTrend() {
+ return customerWorkbenchService.sampleIncreaseTrend();
+ }
+
+ @ApiOperation("样品到期趋势")
+ @RequestMapping("/sample/expireTrend")
+ public ReturnDTO>> querySampleExpireTrend() {
+ return customerWorkbenchService.querySampleExpireTrend();
+ }
+
+ @ApiOperation("客户新增趋势")
+ @RequestMapping("/increaseTrend")
+ public ReturnDTO>> customerIncreaseTrend() {
+ return customerWorkbenchService.customerIncreaseTrend();
+ }
+
+ @ApiOperation("优质客户名单")
+ @RequestMapping("/excellentList")
+ public ReturnDTO>> customerExcellentList() {
+ return customerWorkbenchService.customerExcellentList();
+ }
+}
diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml
index ab864e3..ee55d31 100644
--- a/casic-metering-api/src/main/resources/config/application.yml
+++ b/casic-metering-api/src/main/resources/config/application.yml
@@ -118,6 +118,6 @@
code:
generate:
#作者
- author: cuicheng
+ author: wangpeng
#待生成对象表名
- table-name: system_flow_deploy_form
+ table-name: business_order_sample_relation
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
index b7bd107..b139d8a 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
@@ -27,7 +27,10 @@
METER_STAFF("meterStaff", "meterStaff", "计量人员"),
STANDARD_EQUIPMENT_APPLY("standardEquipmentApply", "standardEquipmentApply", "标准装置申请"),
STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"),
- METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单");
+ METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单"),
+ CUSTOMER_EXPORT("customerData", "customerData", "客户信息"),
+ SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"),
+ ADVICE_EXPORT("adviceData", "adviceData", "客户反馈");
ExportEnum(String fileName, String sheetName, String description) {
this.fileName = fileName;
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
new file mode 100644
index 0000000..17206ce
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.business.BusinessCertificateReport;
+
+/**
+ *
+ * 业务管理-证书报告 Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+public interface BusinessCertificateReportMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessEnviromentRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessEnviromentRecordMapper.java
new file mode 100644
index 0000000..5d3bc2f
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessEnviromentRecordMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.business.BusinessEnviromentRecord;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+public interface BusinessEnviromentRecordMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
new file mode 100644
index 0000000..84dfc52
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-证书报告 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-certificate-report")
+public class BusinessCertificateReportController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
new file mode 100644
index 0000000..c4b51cf
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-enviroment-record")
+public class BusinessEnviromentRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
new file mode 100644
index 0000000..cf82167
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-设备交接单 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-interchange")
+public class BusinessInterchangeController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
new file mode 100644
index 0000000..f2efb61
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息记录表(用于流程中的实验室分配及后续检定过程查询) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-info")
+public class BusinessLabExecutiveInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
new file mode 100644
index 0000000..c8e2b02
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息标准模板表(用于存储推荐的标准的实验室检测顺序) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-template-info")
+public class BusinessLabExecutiveTemplateInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
new file mode 100644
index 0000000..54b4360
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-委托书 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order")
+public class BusinessOrderController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
new file mode 100644
index 0000000..c5091bb
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 委托书-样品库关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order-sample-relation")
+public class BusinessOrderSampleRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
new file mode 100644
index 0000000..52d26ec
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record")
+public class BusinessOriginalRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java
new file mode 100644
index 0000000..5314cc7
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-原始记录-标准装置关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record-equipment-relation")
+public class BusinessOriginalRecordEquipmentRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java
new file mode 100644
index 0000000..c9502d5
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-原始记录-计量文件关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record-file-relation")
+public class BusinessOriginalRecordFileRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java
new file mode 100644
index 0000000..8a02be1
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerAdviceService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户投诉模块")
+@RestController
+@RequestMapping("/customer/advice")
+@AllArgsConstructor
+public class CustomerAdviceController extends ExportController {
+
+ private final CustomerAdviceService customerAdviceService;
+
+ @ApiOperation("客户投诉查询")
+ @RequestMapping("/listPage")
+ public ReturnDTO> adviceListPage(@RequestBody @Valid CustomerAdviceListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerAdviceService.adviceListPage(page, request)));
+ }
+
+ @ApiOperation("客户投诉详情")
+ @RequestMapping("/detail")
+ public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerAdviceService.adviceDetail(idDTO.getId()));
+ }
+
+ @ApiOperation("客户投诉更新")
+ @RequestMapping("/update")
+ public ReturnDTO updateAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult){
+ Assert.isFalse(Objects.isNull(customerAdviceInfo.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(customerAdviceService.updateAdvice(customerAdviceInfo));
+ }
+
+ @ApiOperation("客户投诉新增")
+ @RequestMapping("/add")
+ public ReturnDTO addAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(customerAdviceService.addAdvice(customerAdviceInfo));
+ }
+
+ //*******************************************************************************************************************//
+ @ApiOperation("客户投诉导出")
+ @RequestMapping("/export")
+ public void exportAdvice(@RequestBody @Valid CustomerAdviceListRequest request, HttpServletResponse response) {
+ customerAdviceService.adviceExport(request, response);
+ }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java
new file mode 100644
index 0000000..4e02809
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java
@@ -0,0 +1,130 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.CertificationResponse;
+import com.casic.missiles.dto.customer.Info.*;
+import com.casic.missiles.dto.customer.MesureRecordsResponse;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.customer.CustomerInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户基础信息模块")
+@RestController
+@RequestMapping("/customer")
+@AllArgsConstructor
+public class CustomerController extends ExportController {
+
+ private final CustomerService customerService;
+
+ @ApiOperation("客户基本信息列表")
+ @RequestMapping("/listPage")
+ public ReturnDTO> listPage(@RequestBody @Valid CustomerListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerService.listPage(page, request)));
+ }
+
+ @ApiOperation("客户新增")
+ @RequestMapping("/add")
+ public ReturnDTO addCustomer(@RequestBody @Valid CustomerInfo customerInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerService.addCustomer(customerInfo));
+ }
+
+ @ApiOperation("客户更新")
+ @RequestMapping("/update")
+ public ReturnDTO updateCustomer(@RequestBody @Valid CustomerInfo customerInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerService.updateCustomer(customerInfo));
+ }
+
+ @ApiOperation("客户详情")
+ @RequestMapping("/detail")
+ public ReturnDTO customerDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return customerService.customerDetail(idDTO.getId());
+ }
+
+ @ApiOperation("根据客户id查询样品记录-分页")
+ @RequestMapping("/sampleRecords")
+ public ReturnDTO> sampleRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.sampleRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询合同记录-分页")
+ @RequestMapping("/contractRecords")
+ public ReturnDTO> contractRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询检定记录-分页")
+ @RequestMapping("/mesureRecords")
+ public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询检定证书-分页")
+ @RequestMapping("/certificateRecords")
+ public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("客户导出")
+ @RequestMapping("/export")
+ public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){
+ customerService.customerExport(request, response);
+ }
+
+ //*******************************************************************************************************************//
+// @ApiOperation("客户批量导入")
+// @RequestMapping("/batchImport")
+// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+// Assert.isFalse(bindingResult.hasErrors(), () -> {
+// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+// });
+// return null;
+// }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java
new file mode 100644
index 0000000..0d7320f
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java
@@ -0,0 +1,123 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.CertificationResponse;
+import com.casic.missiles.dto.customer.MesureRecordsResponse;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.customer.CustomerSampleInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerSampleService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户样本信息模块")
+@RestController
+@RequestMapping("/customer/sample")
+@AllArgsConstructor
+public class CustomerSampleController extends ExportController {
+
+ private final CustomerSampleService customerSampleService;
+
+ @ApiOperation("样品列表查询-分页")
+ @RequestMapping("/listPage")
+ public ReturnDTO> listPage(@RequestBody @Valid CustomerSampleListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerSampleService.listPage(page, request)));
+ }
+
+ @ApiOperation("样品新增")
+ @RequestMapping("/add")
+ public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerSampleService.addSample(customerSampleInfo));
+ }
+
+ @ApiOperation("样品编辑")
+ @RequestMapping("/update")
+ public ReturnDTO updateSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) {
+ Assert.isFalse(Objects.isNull(customerSampleInfo.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerSampleService.updateSample(customerSampleInfo));
+ }
+
+ @ApiOperation("样品详情")
+ @RequestMapping("/detail")
+ public ReturnDTO sampleDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerSampleService.sampleDetail(idDTO.getId()));
+ }
+
+ @ApiOperation("列表数据删除")
+ @RequestMapping("/delete")
+ public ReturnDTO deleteSample(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerSampleService.deleteSample(idDTO.getId()));
+ }
+
+ @ApiOperation("样品导出")
+ @RequestMapping("/export")
+ public void sampleExport(@RequestBody @Valid CustomerSampleListRequest request, HttpServletResponse response) {
+ customerSampleService.sampleExport(request, response);
+ }
+
+ @ApiOperation("根据样品id查询检定记录")
+ @RequestMapping("/mesureRecordsBySampleId")
+ public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据样品id查询检定证书")
+ @RequestMapping("/certificationBySampleId")
+ public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId())));
+ }
+
+// @ApiOperation("样品批量导入")
+// @RequestMapping("/batchImport")
+// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+// Assert.isFalse(bindingResult.hasErrors(), () -> {
+// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+// });
+// return null;
+// }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java
new file mode 100644
index 0000000..a42dc64
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java
@@ -0,0 +1,45 @@
+package com.casic.missiles.controller.customer;
+
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.service.customer.CustomerWorkbenchService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+@Api(tags = "客户工作台资源")
+@RestController
+@RequestMapping("/customer/workbench")
+@AllArgsConstructor
+public class CustomerWorkbenchController {
+
+ private final CustomerWorkbenchService customerWorkbenchService;
+
+ @ApiOperation("样品新增趋势")
+ @RequestMapping("/sample/increaseTrend")
+ public ReturnDTO>> increaseTrend() {
+ return customerWorkbenchService.sampleIncreaseTrend();
+ }
+
+ @ApiOperation("样品到期趋势")
+ @RequestMapping("/sample/expireTrend")
+ public ReturnDTO>> querySampleExpireTrend() {
+ return customerWorkbenchService.querySampleExpireTrend();
+ }
+
+ @ApiOperation("客户新增趋势")
+ @RequestMapping("/increaseTrend")
+ public ReturnDTO>> customerIncreaseTrend() {
+ return customerWorkbenchService.customerIncreaseTrend();
+ }
+
+ @ApiOperation("优质客户名单")
+ @RequestMapping("/excellentList")
+ public ReturnDTO>> customerExcellentList() {
+ return customerWorkbenchService.customerExcellentList();
+ }
+}
diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml
index ab864e3..ee55d31 100644
--- a/casic-metering-api/src/main/resources/config/application.yml
+++ b/casic-metering-api/src/main/resources/config/application.yml
@@ -118,6 +118,6 @@
code:
generate:
#作者
- author: cuicheng
+ author: wangpeng
#待生成对象表名
- table-name: system_flow_deploy_form
+ table-name: business_order_sample_relation
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
index b7bd107..b139d8a 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
@@ -27,7 +27,10 @@
METER_STAFF("meterStaff", "meterStaff", "计量人员"),
STANDARD_EQUIPMENT_APPLY("standardEquipmentApply", "standardEquipmentApply", "标准装置申请"),
STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"),
- METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单");
+ METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单"),
+ CUSTOMER_EXPORT("customerData", "customerData", "客户信息"),
+ SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"),
+ ADVICE_EXPORT("adviceData", "adviceData", "客户反馈");
ExportEnum(String fileName, String sheetName, String description) {
this.fileName = fileName;
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
new file mode 100644
index 0000000..17206ce
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.business.BusinessCertificateReport;
+
+/**
+ *
+ * 业务管理-证书报告 Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+public interface BusinessCertificateReportMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessEnviromentRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessEnviromentRecordMapper.java
new file mode 100644
index 0000000..5d3bc2f
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessEnviromentRecordMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.business.BusinessEnviromentRecord;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+public interface BusinessEnviromentRecordMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java
new file mode 100644
index 0000000..46d3a54
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.business.BusinessInterchange;
+
+/**
+ *
+ * 业务管理-设备交接单 Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+public interface BusinessInterchangeMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
new file mode 100644
index 0000000..84dfc52
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-证书报告 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-certificate-report")
+public class BusinessCertificateReportController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
new file mode 100644
index 0000000..c4b51cf
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-enviroment-record")
+public class BusinessEnviromentRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
new file mode 100644
index 0000000..cf82167
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-设备交接单 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-interchange")
+public class BusinessInterchangeController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
new file mode 100644
index 0000000..f2efb61
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息记录表(用于流程中的实验室分配及后续检定过程查询) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-info")
+public class BusinessLabExecutiveInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
new file mode 100644
index 0000000..c8e2b02
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息标准模板表(用于存储推荐的标准的实验室检测顺序) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-template-info")
+public class BusinessLabExecutiveTemplateInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
new file mode 100644
index 0000000..54b4360
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-委托书 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order")
+public class BusinessOrderController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
new file mode 100644
index 0000000..c5091bb
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 委托书-样品库关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order-sample-relation")
+public class BusinessOrderSampleRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
new file mode 100644
index 0000000..52d26ec
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record")
+public class BusinessOriginalRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java
new file mode 100644
index 0000000..5314cc7
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-原始记录-标准装置关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record-equipment-relation")
+public class BusinessOriginalRecordEquipmentRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java
new file mode 100644
index 0000000..c9502d5
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-原始记录-计量文件关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record-file-relation")
+public class BusinessOriginalRecordFileRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java
new file mode 100644
index 0000000..8a02be1
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerAdviceService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户投诉模块")
+@RestController
+@RequestMapping("/customer/advice")
+@AllArgsConstructor
+public class CustomerAdviceController extends ExportController {
+
+ private final CustomerAdviceService customerAdviceService;
+
+ @ApiOperation("客户投诉查询")
+ @RequestMapping("/listPage")
+ public ReturnDTO> adviceListPage(@RequestBody @Valid CustomerAdviceListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerAdviceService.adviceListPage(page, request)));
+ }
+
+ @ApiOperation("客户投诉详情")
+ @RequestMapping("/detail")
+ public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerAdviceService.adviceDetail(idDTO.getId()));
+ }
+
+ @ApiOperation("客户投诉更新")
+ @RequestMapping("/update")
+ public ReturnDTO updateAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult){
+ Assert.isFalse(Objects.isNull(customerAdviceInfo.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(customerAdviceService.updateAdvice(customerAdviceInfo));
+ }
+
+ @ApiOperation("客户投诉新增")
+ @RequestMapping("/add")
+ public ReturnDTO addAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(customerAdviceService.addAdvice(customerAdviceInfo));
+ }
+
+ //*******************************************************************************************************************//
+ @ApiOperation("客户投诉导出")
+ @RequestMapping("/export")
+ public void exportAdvice(@RequestBody @Valid CustomerAdviceListRequest request, HttpServletResponse response) {
+ customerAdviceService.adviceExport(request, response);
+ }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java
new file mode 100644
index 0000000..4e02809
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java
@@ -0,0 +1,130 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.CertificationResponse;
+import com.casic.missiles.dto.customer.Info.*;
+import com.casic.missiles.dto.customer.MesureRecordsResponse;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.customer.CustomerInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户基础信息模块")
+@RestController
+@RequestMapping("/customer")
+@AllArgsConstructor
+public class CustomerController extends ExportController {
+
+ private final CustomerService customerService;
+
+ @ApiOperation("客户基本信息列表")
+ @RequestMapping("/listPage")
+ public ReturnDTO> listPage(@RequestBody @Valid CustomerListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerService.listPage(page, request)));
+ }
+
+ @ApiOperation("客户新增")
+ @RequestMapping("/add")
+ public ReturnDTO addCustomer(@RequestBody @Valid CustomerInfo customerInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerService.addCustomer(customerInfo));
+ }
+
+ @ApiOperation("客户更新")
+ @RequestMapping("/update")
+ public ReturnDTO updateCustomer(@RequestBody @Valid CustomerInfo customerInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerService.updateCustomer(customerInfo));
+ }
+
+ @ApiOperation("客户详情")
+ @RequestMapping("/detail")
+ public ReturnDTO customerDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return customerService.customerDetail(idDTO.getId());
+ }
+
+ @ApiOperation("根据客户id查询样品记录-分页")
+ @RequestMapping("/sampleRecords")
+ public ReturnDTO> sampleRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.sampleRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询合同记录-分页")
+ @RequestMapping("/contractRecords")
+ public ReturnDTO> contractRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询检定记录-分页")
+ @RequestMapping("/mesureRecords")
+ public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询检定证书-分页")
+ @RequestMapping("/certificateRecords")
+ public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("客户导出")
+ @RequestMapping("/export")
+ public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){
+ customerService.customerExport(request, response);
+ }
+
+ //*******************************************************************************************************************//
+// @ApiOperation("客户批量导入")
+// @RequestMapping("/batchImport")
+// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+// Assert.isFalse(bindingResult.hasErrors(), () -> {
+// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+// });
+// return null;
+// }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java
new file mode 100644
index 0000000..0d7320f
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java
@@ -0,0 +1,123 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.CertificationResponse;
+import com.casic.missiles.dto.customer.MesureRecordsResponse;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.customer.CustomerSampleInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerSampleService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户样本信息模块")
+@RestController
+@RequestMapping("/customer/sample")
+@AllArgsConstructor
+public class CustomerSampleController extends ExportController {
+
+ private final CustomerSampleService customerSampleService;
+
+ @ApiOperation("样品列表查询-分页")
+ @RequestMapping("/listPage")
+ public ReturnDTO> listPage(@RequestBody @Valid CustomerSampleListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerSampleService.listPage(page, request)));
+ }
+
+ @ApiOperation("样品新增")
+ @RequestMapping("/add")
+ public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerSampleService.addSample(customerSampleInfo));
+ }
+
+ @ApiOperation("样品编辑")
+ @RequestMapping("/update")
+ public ReturnDTO updateSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) {
+ Assert.isFalse(Objects.isNull(customerSampleInfo.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerSampleService.updateSample(customerSampleInfo));
+ }
+
+ @ApiOperation("样品详情")
+ @RequestMapping("/detail")
+ public ReturnDTO sampleDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerSampleService.sampleDetail(idDTO.getId()));
+ }
+
+ @ApiOperation("列表数据删除")
+ @RequestMapping("/delete")
+ public ReturnDTO deleteSample(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerSampleService.deleteSample(idDTO.getId()));
+ }
+
+ @ApiOperation("样品导出")
+ @RequestMapping("/export")
+ public void sampleExport(@RequestBody @Valid CustomerSampleListRequest request, HttpServletResponse response) {
+ customerSampleService.sampleExport(request, response);
+ }
+
+ @ApiOperation("根据样品id查询检定记录")
+ @RequestMapping("/mesureRecordsBySampleId")
+ public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据样品id查询检定证书")
+ @RequestMapping("/certificationBySampleId")
+ public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId())));
+ }
+
+// @ApiOperation("样品批量导入")
+// @RequestMapping("/batchImport")
+// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+// Assert.isFalse(bindingResult.hasErrors(), () -> {
+// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+// });
+// return null;
+// }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java
new file mode 100644
index 0000000..a42dc64
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java
@@ -0,0 +1,45 @@
+package com.casic.missiles.controller.customer;
+
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.service.customer.CustomerWorkbenchService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+@Api(tags = "客户工作台资源")
+@RestController
+@RequestMapping("/customer/workbench")
+@AllArgsConstructor
+public class CustomerWorkbenchController {
+
+ private final CustomerWorkbenchService customerWorkbenchService;
+
+ @ApiOperation("样品新增趋势")
+ @RequestMapping("/sample/increaseTrend")
+ public ReturnDTO>> increaseTrend() {
+ return customerWorkbenchService.sampleIncreaseTrend();
+ }
+
+ @ApiOperation("样品到期趋势")
+ @RequestMapping("/sample/expireTrend")
+ public ReturnDTO>> querySampleExpireTrend() {
+ return customerWorkbenchService.querySampleExpireTrend();
+ }
+
+ @ApiOperation("客户新增趋势")
+ @RequestMapping("/increaseTrend")
+ public ReturnDTO>> customerIncreaseTrend() {
+ return customerWorkbenchService.customerIncreaseTrend();
+ }
+
+ @ApiOperation("优质客户名单")
+ @RequestMapping("/excellentList")
+ public ReturnDTO>> customerExcellentList() {
+ return customerWorkbenchService.customerExcellentList();
+ }
+}
diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml
index ab864e3..ee55d31 100644
--- a/casic-metering-api/src/main/resources/config/application.yml
+++ b/casic-metering-api/src/main/resources/config/application.yml
@@ -118,6 +118,6 @@
code:
generate:
#作者
- author: cuicheng
+ author: wangpeng
#待生成对象表名
- table-name: system_flow_deploy_form
+ table-name: business_order_sample_relation
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
index b7bd107..b139d8a 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
@@ -27,7 +27,10 @@
METER_STAFF("meterStaff", "meterStaff", "计量人员"),
STANDARD_EQUIPMENT_APPLY("standardEquipmentApply", "standardEquipmentApply", "标准装置申请"),
STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"),
- METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单");
+ METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单"),
+ CUSTOMER_EXPORT("customerData", "customerData", "客户信息"),
+ SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"),
+ ADVICE_EXPORT("adviceData", "adviceData", "客户反馈");
ExportEnum(String fileName, String sheetName, String description) {
this.fileName = fileName;
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
new file mode 100644
index 0000000..17206ce
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.business.BusinessCertificateReport;
+
+/**
+ *
+ * 业务管理-证书报告 Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+public interface BusinessCertificateReportMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessEnviromentRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessEnviromentRecordMapper.java
new file mode 100644
index 0000000..5d3bc2f
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessEnviromentRecordMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.business.BusinessEnviromentRecord;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+public interface BusinessEnviromentRecordMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java
new file mode 100644
index 0000000..46d3a54
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.business.BusinessInterchange;
+
+/**
+ *
+ * 业务管理-设备交接单 Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+public interface BusinessInterchangeMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java
new file mode 100644
index 0000000..5c07c1e
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.business.BusinessLabExecutiveInfo;
+
+/**
+ *
+ * 业务管理-实验室检定信息记录表(用于流程中的实验室分配及后续检定过程查询) Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+public interface BusinessLabExecutiveInfoMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
new file mode 100644
index 0000000..84dfc52
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-证书报告 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-certificate-report")
+public class BusinessCertificateReportController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
new file mode 100644
index 0000000..c4b51cf
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-enviroment-record")
+public class BusinessEnviromentRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
new file mode 100644
index 0000000..cf82167
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-设备交接单 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-interchange")
+public class BusinessInterchangeController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
new file mode 100644
index 0000000..f2efb61
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息记录表(用于流程中的实验室分配及后续检定过程查询) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-info")
+public class BusinessLabExecutiveInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
new file mode 100644
index 0000000..c8e2b02
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息标准模板表(用于存储推荐的标准的实验室检测顺序) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-template-info")
+public class BusinessLabExecutiveTemplateInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
new file mode 100644
index 0000000..54b4360
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-委托书 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order")
+public class BusinessOrderController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
new file mode 100644
index 0000000..c5091bb
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 委托书-样品库关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order-sample-relation")
+public class BusinessOrderSampleRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
new file mode 100644
index 0000000..52d26ec
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record")
+public class BusinessOriginalRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java
new file mode 100644
index 0000000..5314cc7
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-原始记录-标准装置关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record-equipment-relation")
+public class BusinessOriginalRecordEquipmentRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java
new file mode 100644
index 0000000..c9502d5
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-原始记录-计量文件关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record-file-relation")
+public class BusinessOriginalRecordFileRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java
new file mode 100644
index 0000000..8a02be1
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerAdviceService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户投诉模块")
+@RestController
+@RequestMapping("/customer/advice")
+@AllArgsConstructor
+public class CustomerAdviceController extends ExportController {
+
+ private final CustomerAdviceService customerAdviceService;
+
+ @ApiOperation("客户投诉查询")
+ @RequestMapping("/listPage")
+ public ReturnDTO> adviceListPage(@RequestBody @Valid CustomerAdviceListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerAdviceService.adviceListPage(page, request)));
+ }
+
+ @ApiOperation("客户投诉详情")
+ @RequestMapping("/detail")
+ public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerAdviceService.adviceDetail(idDTO.getId()));
+ }
+
+ @ApiOperation("客户投诉更新")
+ @RequestMapping("/update")
+ public ReturnDTO updateAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult){
+ Assert.isFalse(Objects.isNull(customerAdviceInfo.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(customerAdviceService.updateAdvice(customerAdviceInfo));
+ }
+
+ @ApiOperation("客户投诉新增")
+ @RequestMapping("/add")
+ public ReturnDTO addAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(customerAdviceService.addAdvice(customerAdviceInfo));
+ }
+
+ //*******************************************************************************************************************//
+ @ApiOperation("客户投诉导出")
+ @RequestMapping("/export")
+ public void exportAdvice(@RequestBody @Valid CustomerAdviceListRequest request, HttpServletResponse response) {
+ customerAdviceService.adviceExport(request, response);
+ }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java
new file mode 100644
index 0000000..4e02809
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java
@@ -0,0 +1,130 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.CertificationResponse;
+import com.casic.missiles.dto.customer.Info.*;
+import com.casic.missiles.dto.customer.MesureRecordsResponse;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.customer.CustomerInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户基础信息模块")
+@RestController
+@RequestMapping("/customer")
+@AllArgsConstructor
+public class CustomerController extends ExportController {
+
+ private final CustomerService customerService;
+
+ @ApiOperation("客户基本信息列表")
+ @RequestMapping("/listPage")
+ public ReturnDTO> listPage(@RequestBody @Valid CustomerListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerService.listPage(page, request)));
+ }
+
+ @ApiOperation("客户新增")
+ @RequestMapping("/add")
+ public ReturnDTO addCustomer(@RequestBody @Valid CustomerInfo customerInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerService.addCustomer(customerInfo));
+ }
+
+ @ApiOperation("客户更新")
+ @RequestMapping("/update")
+ public ReturnDTO updateCustomer(@RequestBody @Valid CustomerInfo customerInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerService.updateCustomer(customerInfo));
+ }
+
+ @ApiOperation("客户详情")
+ @RequestMapping("/detail")
+ public ReturnDTO customerDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return customerService.customerDetail(idDTO.getId());
+ }
+
+ @ApiOperation("根据客户id查询样品记录-分页")
+ @RequestMapping("/sampleRecords")
+ public ReturnDTO> sampleRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.sampleRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询合同记录-分页")
+ @RequestMapping("/contractRecords")
+ public ReturnDTO> contractRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询检定记录-分页")
+ @RequestMapping("/mesureRecords")
+ public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询检定证书-分页")
+ @RequestMapping("/certificateRecords")
+ public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("客户导出")
+ @RequestMapping("/export")
+ public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){
+ customerService.customerExport(request, response);
+ }
+
+ //*******************************************************************************************************************//
+// @ApiOperation("客户批量导入")
+// @RequestMapping("/batchImport")
+// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+// Assert.isFalse(bindingResult.hasErrors(), () -> {
+// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+// });
+// return null;
+// }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java
new file mode 100644
index 0000000..0d7320f
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java
@@ -0,0 +1,123 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.CertificationResponse;
+import com.casic.missiles.dto.customer.MesureRecordsResponse;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.customer.CustomerSampleInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerSampleService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户样本信息模块")
+@RestController
+@RequestMapping("/customer/sample")
+@AllArgsConstructor
+public class CustomerSampleController extends ExportController {
+
+ private final CustomerSampleService customerSampleService;
+
+ @ApiOperation("样品列表查询-分页")
+ @RequestMapping("/listPage")
+ public ReturnDTO> listPage(@RequestBody @Valid CustomerSampleListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerSampleService.listPage(page, request)));
+ }
+
+ @ApiOperation("样品新增")
+ @RequestMapping("/add")
+ public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerSampleService.addSample(customerSampleInfo));
+ }
+
+ @ApiOperation("样品编辑")
+ @RequestMapping("/update")
+ public ReturnDTO updateSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) {
+ Assert.isFalse(Objects.isNull(customerSampleInfo.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerSampleService.updateSample(customerSampleInfo));
+ }
+
+ @ApiOperation("样品详情")
+ @RequestMapping("/detail")
+ public ReturnDTO sampleDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerSampleService.sampleDetail(idDTO.getId()));
+ }
+
+ @ApiOperation("列表数据删除")
+ @RequestMapping("/delete")
+ public ReturnDTO deleteSample(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerSampleService.deleteSample(idDTO.getId()));
+ }
+
+ @ApiOperation("样品导出")
+ @RequestMapping("/export")
+ public void sampleExport(@RequestBody @Valid CustomerSampleListRequest request, HttpServletResponse response) {
+ customerSampleService.sampleExport(request, response);
+ }
+
+ @ApiOperation("根据样品id查询检定记录")
+ @RequestMapping("/mesureRecordsBySampleId")
+ public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据样品id查询检定证书")
+ @RequestMapping("/certificationBySampleId")
+ public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId())));
+ }
+
+// @ApiOperation("样品批量导入")
+// @RequestMapping("/batchImport")
+// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+// Assert.isFalse(bindingResult.hasErrors(), () -> {
+// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+// });
+// return null;
+// }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java
new file mode 100644
index 0000000..a42dc64
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java
@@ -0,0 +1,45 @@
+package com.casic.missiles.controller.customer;
+
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.service.customer.CustomerWorkbenchService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+@Api(tags = "客户工作台资源")
+@RestController
+@RequestMapping("/customer/workbench")
+@AllArgsConstructor
+public class CustomerWorkbenchController {
+
+ private final CustomerWorkbenchService customerWorkbenchService;
+
+ @ApiOperation("样品新增趋势")
+ @RequestMapping("/sample/increaseTrend")
+ public ReturnDTO>> increaseTrend() {
+ return customerWorkbenchService.sampleIncreaseTrend();
+ }
+
+ @ApiOperation("样品到期趋势")
+ @RequestMapping("/sample/expireTrend")
+ public ReturnDTO>> querySampleExpireTrend() {
+ return customerWorkbenchService.querySampleExpireTrend();
+ }
+
+ @ApiOperation("客户新增趋势")
+ @RequestMapping("/increaseTrend")
+ public ReturnDTO>> customerIncreaseTrend() {
+ return customerWorkbenchService.customerIncreaseTrend();
+ }
+
+ @ApiOperation("优质客户名单")
+ @RequestMapping("/excellentList")
+ public ReturnDTO>> customerExcellentList() {
+ return customerWorkbenchService.customerExcellentList();
+ }
+}
diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml
index ab864e3..ee55d31 100644
--- a/casic-metering-api/src/main/resources/config/application.yml
+++ b/casic-metering-api/src/main/resources/config/application.yml
@@ -118,6 +118,6 @@
code:
generate:
#作者
- author: cuicheng
+ author: wangpeng
#待生成对象表名
- table-name: system_flow_deploy_form
+ table-name: business_order_sample_relation
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
index b7bd107..b139d8a 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
@@ -27,7 +27,10 @@
METER_STAFF("meterStaff", "meterStaff", "计量人员"),
STANDARD_EQUIPMENT_APPLY("standardEquipmentApply", "standardEquipmentApply", "标准装置申请"),
STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"),
- METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单");
+ METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单"),
+ CUSTOMER_EXPORT("customerData", "customerData", "客户信息"),
+ SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"),
+ ADVICE_EXPORT("adviceData", "adviceData", "客户反馈");
ExportEnum(String fileName, String sheetName, String description) {
this.fileName = fileName;
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
new file mode 100644
index 0000000..17206ce
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.business.BusinessCertificateReport;
+
+/**
+ *
+ * 业务管理-证书报告 Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+public interface BusinessCertificateReportMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessEnviromentRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessEnviromentRecordMapper.java
new file mode 100644
index 0000000..5d3bc2f
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessEnviromentRecordMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.business.BusinessEnviromentRecord;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+public interface BusinessEnviromentRecordMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java
new file mode 100644
index 0000000..46d3a54
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.business.BusinessInterchange;
+
+/**
+ *
+ * 业务管理-设备交接单 Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+public interface BusinessInterchangeMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java
new file mode 100644
index 0000000..5c07c1e
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.business.BusinessLabExecutiveInfo;
+
+/**
+ *
+ * 业务管理-实验室检定信息记录表(用于流程中的实验室分配及后续检定过程查询) Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+public interface BusinessLabExecutiveInfoMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java
new file mode 100644
index 0000000..43d4cae
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo;
+
+/**
+ *
+ * 业务管理-实验室检定信息标准模板表(用于存储推荐的标准的实验室检测顺序) Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+public interface BusinessLabExecutiveTemplateInfoMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
new file mode 100644
index 0000000..84dfc52
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-证书报告 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-certificate-report")
+public class BusinessCertificateReportController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
new file mode 100644
index 0000000..c4b51cf
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-enviroment-record")
+public class BusinessEnviromentRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
new file mode 100644
index 0000000..cf82167
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-设备交接单 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-interchange")
+public class BusinessInterchangeController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
new file mode 100644
index 0000000..f2efb61
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息记录表(用于流程中的实验室分配及后续检定过程查询) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-info")
+public class BusinessLabExecutiveInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
new file mode 100644
index 0000000..c8e2b02
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息标准模板表(用于存储推荐的标准的实验室检测顺序) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-template-info")
+public class BusinessLabExecutiveTemplateInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
new file mode 100644
index 0000000..54b4360
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-委托书 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order")
+public class BusinessOrderController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
new file mode 100644
index 0000000..c5091bb
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 委托书-样品库关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order-sample-relation")
+public class BusinessOrderSampleRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
new file mode 100644
index 0000000..52d26ec
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record")
+public class BusinessOriginalRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java
new file mode 100644
index 0000000..5314cc7
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-原始记录-标准装置关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record-equipment-relation")
+public class BusinessOriginalRecordEquipmentRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java
new file mode 100644
index 0000000..c9502d5
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-原始记录-计量文件关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record-file-relation")
+public class BusinessOriginalRecordFileRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java
new file mode 100644
index 0000000..8a02be1
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerAdviceService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户投诉模块")
+@RestController
+@RequestMapping("/customer/advice")
+@AllArgsConstructor
+public class CustomerAdviceController extends ExportController {
+
+ private final CustomerAdviceService customerAdviceService;
+
+ @ApiOperation("客户投诉查询")
+ @RequestMapping("/listPage")
+ public ReturnDTO> adviceListPage(@RequestBody @Valid CustomerAdviceListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerAdviceService.adviceListPage(page, request)));
+ }
+
+ @ApiOperation("客户投诉详情")
+ @RequestMapping("/detail")
+ public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerAdviceService.adviceDetail(idDTO.getId()));
+ }
+
+ @ApiOperation("客户投诉更新")
+ @RequestMapping("/update")
+ public ReturnDTO updateAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult){
+ Assert.isFalse(Objects.isNull(customerAdviceInfo.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(customerAdviceService.updateAdvice(customerAdviceInfo));
+ }
+
+ @ApiOperation("客户投诉新增")
+ @RequestMapping("/add")
+ public ReturnDTO addAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(customerAdviceService.addAdvice(customerAdviceInfo));
+ }
+
+ //*******************************************************************************************************************//
+ @ApiOperation("客户投诉导出")
+ @RequestMapping("/export")
+ public void exportAdvice(@RequestBody @Valid CustomerAdviceListRequest request, HttpServletResponse response) {
+ customerAdviceService.adviceExport(request, response);
+ }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java
new file mode 100644
index 0000000..4e02809
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java
@@ -0,0 +1,130 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.CertificationResponse;
+import com.casic.missiles.dto.customer.Info.*;
+import com.casic.missiles.dto.customer.MesureRecordsResponse;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.customer.CustomerInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户基础信息模块")
+@RestController
+@RequestMapping("/customer")
+@AllArgsConstructor
+public class CustomerController extends ExportController {
+
+ private final CustomerService customerService;
+
+ @ApiOperation("客户基本信息列表")
+ @RequestMapping("/listPage")
+ public ReturnDTO> listPage(@RequestBody @Valid CustomerListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerService.listPage(page, request)));
+ }
+
+ @ApiOperation("客户新增")
+ @RequestMapping("/add")
+ public ReturnDTO addCustomer(@RequestBody @Valid CustomerInfo customerInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerService.addCustomer(customerInfo));
+ }
+
+ @ApiOperation("客户更新")
+ @RequestMapping("/update")
+ public ReturnDTO updateCustomer(@RequestBody @Valid CustomerInfo customerInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerService.updateCustomer(customerInfo));
+ }
+
+ @ApiOperation("客户详情")
+ @RequestMapping("/detail")
+ public ReturnDTO customerDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return customerService.customerDetail(idDTO.getId());
+ }
+
+ @ApiOperation("根据客户id查询样品记录-分页")
+ @RequestMapping("/sampleRecords")
+ public ReturnDTO> sampleRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.sampleRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询合同记录-分页")
+ @RequestMapping("/contractRecords")
+ public ReturnDTO> contractRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询检定记录-分页")
+ @RequestMapping("/mesureRecords")
+ public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询检定证书-分页")
+ @RequestMapping("/certificateRecords")
+ public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("客户导出")
+ @RequestMapping("/export")
+ public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){
+ customerService.customerExport(request, response);
+ }
+
+ //*******************************************************************************************************************//
+// @ApiOperation("客户批量导入")
+// @RequestMapping("/batchImport")
+// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+// Assert.isFalse(bindingResult.hasErrors(), () -> {
+// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+// });
+// return null;
+// }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java
new file mode 100644
index 0000000..0d7320f
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java
@@ -0,0 +1,123 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.CertificationResponse;
+import com.casic.missiles.dto.customer.MesureRecordsResponse;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.customer.CustomerSampleInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerSampleService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户样本信息模块")
+@RestController
+@RequestMapping("/customer/sample")
+@AllArgsConstructor
+public class CustomerSampleController extends ExportController {
+
+ private final CustomerSampleService customerSampleService;
+
+ @ApiOperation("样品列表查询-分页")
+ @RequestMapping("/listPage")
+ public ReturnDTO> listPage(@RequestBody @Valid CustomerSampleListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerSampleService.listPage(page, request)));
+ }
+
+ @ApiOperation("样品新增")
+ @RequestMapping("/add")
+ public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerSampleService.addSample(customerSampleInfo));
+ }
+
+ @ApiOperation("样品编辑")
+ @RequestMapping("/update")
+ public ReturnDTO updateSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) {
+ Assert.isFalse(Objects.isNull(customerSampleInfo.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerSampleService.updateSample(customerSampleInfo));
+ }
+
+ @ApiOperation("样品详情")
+ @RequestMapping("/detail")
+ public ReturnDTO sampleDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerSampleService.sampleDetail(idDTO.getId()));
+ }
+
+ @ApiOperation("列表数据删除")
+ @RequestMapping("/delete")
+ public ReturnDTO deleteSample(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerSampleService.deleteSample(idDTO.getId()));
+ }
+
+ @ApiOperation("样品导出")
+ @RequestMapping("/export")
+ public void sampleExport(@RequestBody @Valid CustomerSampleListRequest request, HttpServletResponse response) {
+ customerSampleService.sampleExport(request, response);
+ }
+
+ @ApiOperation("根据样品id查询检定记录")
+ @RequestMapping("/mesureRecordsBySampleId")
+ public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据样品id查询检定证书")
+ @RequestMapping("/certificationBySampleId")
+ public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId())));
+ }
+
+// @ApiOperation("样品批量导入")
+// @RequestMapping("/batchImport")
+// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+// Assert.isFalse(bindingResult.hasErrors(), () -> {
+// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+// });
+// return null;
+// }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java
new file mode 100644
index 0000000..a42dc64
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java
@@ -0,0 +1,45 @@
+package com.casic.missiles.controller.customer;
+
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.service.customer.CustomerWorkbenchService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+@Api(tags = "客户工作台资源")
+@RestController
+@RequestMapping("/customer/workbench")
+@AllArgsConstructor
+public class CustomerWorkbenchController {
+
+ private final CustomerWorkbenchService customerWorkbenchService;
+
+ @ApiOperation("样品新增趋势")
+ @RequestMapping("/sample/increaseTrend")
+ public ReturnDTO>> increaseTrend() {
+ return customerWorkbenchService.sampleIncreaseTrend();
+ }
+
+ @ApiOperation("样品到期趋势")
+ @RequestMapping("/sample/expireTrend")
+ public ReturnDTO>> querySampleExpireTrend() {
+ return customerWorkbenchService.querySampleExpireTrend();
+ }
+
+ @ApiOperation("客户新增趋势")
+ @RequestMapping("/increaseTrend")
+ public ReturnDTO>> customerIncreaseTrend() {
+ return customerWorkbenchService.customerIncreaseTrend();
+ }
+
+ @ApiOperation("优质客户名单")
+ @RequestMapping("/excellentList")
+ public ReturnDTO>> customerExcellentList() {
+ return customerWorkbenchService.customerExcellentList();
+ }
+}
diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml
index ab864e3..ee55d31 100644
--- a/casic-metering-api/src/main/resources/config/application.yml
+++ b/casic-metering-api/src/main/resources/config/application.yml
@@ -118,6 +118,6 @@
code:
generate:
#作者
- author: cuicheng
+ author: wangpeng
#待生成对象表名
- table-name: system_flow_deploy_form
+ table-name: business_order_sample_relation
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
index b7bd107..b139d8a 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
@@ -27,7 +27,10 @@
METER_STAFF("meterStaff", "meterStaff", "计量人员"),
STANDARD_EQUIPMENT_APPLY("standardEquipmentApply", "standardEquipmentApply", "标准装置申请"),
STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"),
- METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单");
+ METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单"),
+ CUSTOMER_EXPORT("customerData", "customerData", "客户信息"),
+ SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"),
+ ADVICE_EXPORT("adviceData", "adviceData", "客户反馈");
ExportEnum(String fileName, String sheetName, String description) {
this.fileName = fileName;
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
new file mode 100644
index 0000000..17206ce
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.business.BusinessCertificateReport;
+
+/**
+ *
+ * 业务管理-证书报告 Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+public interface BusinessCertificateReportMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessEnviromentRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessEnviromentRecordMapper.java
new file mode 100644
index 0000000..5d3bc2f
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessEnviromentRecordMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.business.BusinessEnviromentRecord;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+public interface BusinessEnviromentRecordMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java
new file mode 100644
index 0000000..46d3a54
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.business.BusinessInterchange;
+
+/**
+ *
+ * 业务管理-设备交接单 Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+public interface BusinessInterchangeMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java
new file mode 100644
index 0000000..5c07c1e
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.business.BusinessLabExecutiveInfo;
+
+/**
+ *
+ * 业务管理-实验室检定信息记录表(用于流程中的实验室分配及后续检定过程查询) Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+public interface BusinessLabExecutiveInfoMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java
new file mode 100644
index 0000000..43d4cae
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo;
+
+/**
+ *
+ * 业务管理-实验室检定信息标准模板表(用于存储推荐的标准的实验室检测顺序) Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+public interface BusinessLabExecutiveTemplateInfoMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java
new file mode 100644
index 0000000..7182641
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.business.BusinessOrder;
+
+/**
+ *
+ * 业务管理-委托书 Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+public interface BusinessOrderMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
new file mode 100644
index 0000000..84dfc52
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-证书报告 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-certificate-report")
+public class BusinessCertificateReportController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
new file mode 100644
index 0000000..c4b51cf
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-enviroment-record")
+public class BusinessEnviromentRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
new file mode 100644
index 0000000..cf82167
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-设备交接单 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-interchange")
+public class BusinessInterchangeController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
new file mode 100644
index 0000000..f2efb61
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息记录表(用于流程中的实验室分配及后续检定过程查询) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-info")
+public class BusinessLabExecutiveInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
new file mode 100644
index 0000000..c8e2b02
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息标准模板表(用于存储推荐的标准的实验室检测顺序) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-template-info")
+public class BusinessLabExecutiveTemplateInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
new file mode 100644
index 0000000..54b4360
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-委托书 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order")
+public class BusinessOrderController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
new file mode 100644
index 0000000..c5091bb
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 委托书-样品库关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order-sample-relation")
+public class BusinessOrderSampleRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
new file mode 100644
index 0000000..52d26ec
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record")
+public class BusinessOriginalRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java
new file mode 100644
index 0000000..5314cc7
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-原始记录-标准装置关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record-equipment-relation")
+public class BusinessOriginalRecordEquipmentRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java
new file mode 100644
index 0000000..c9502d5
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-原始记录-计量文件关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record-file-relation")
+public class BusinessOriginalRecordFileRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java
new file mode 100644
index 0000000..8a02be1
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerAdviceService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户投诉模块")
+@RestController
+@RequestMapping("/customer/advice")
+@AllArgsConstructor
+public class CustomerAdviceController extends ExportController {
+
+ private final CustomerAdviceService customerAdviceService;
+
+ @ApiOperation("客户投诉查询")
+ @RequestMapping("/listPage")
+ public ReturnDTO> adviceListPage(@RequestBody @Valid CustomerAdviceListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerAdviceService.adviceListPage(page, request)));
+ }
+
+ @ApiOperation("客户投诉详情")
+ @RequestMapping("/detail")
+ public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerAdviceService.adviceDetail(idDTO.getId()));
+ }
+
+ @ApiOperation("客户投诉更新")
+ @RequestMapping("/update")
+ public ReturnDTO updateAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult){
+ Assert.isFalse(Objects.isNull(customerAdviceInfo.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(customerAdviceService.updateAdvice(customerAdviceInfo));
+ }
+
+ @ApiOperation("客户投诉新增")
+ @RequestMapping("/add")
+ public ReturnDTO addAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(customerAdviceService.addAdvice(customerAdviceInfo));
+ }
+
+ //*******************************************************************************************************************//
+ @ApiOperation("客户投诉导出")
+ @RequestMapping("/export")
+ public void exportAdvice(@RequestBody @Valid CustomerAdviceListRequest request, HttpServletResponse response) {
+ customerAdviceService.adviceExport(request, response);
+ }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java
new file mode 100644
index 0000000..4e02809
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java
@@ -0,0 +1,130 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.CertificationResponse;
+import com.casic.missiles.dto.customer.Info.*;
+import com.casic.missiles.dto.customer.MesureRecordsResponse;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.customer.CustomerInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户基础信息模块")
+@RestController
+@RequestMapping("/customer")
+@AllArgsConstructor
+public class CustomerController extends ExportController {
+
+ private final CustomerService customerService;
+
+ @ApiOperation("客户基本信息列表")
+ @RequestMapping("/listPage")
+ public ReturnDTO> listPage(@RequestBody @Valid CustomerListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerService.listPage(page, request)));
+ }
+
+ @ApiOperation("客户新增")
+ @RequestMapping("/add")
+ public ReturnDTO addCustomer(@RequestBody @Valid CustomerInfo customerInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerService.addCustomer(customerInfo));
+ }
+
+ @ApiOperation("客户更新")
+ @RequestMapping("/update")
+ public ReturnDTO updateCustomer(@RequestBody @Valid CustomerInfo customerInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerService.updateCustomer(customerInfo));
+ }
+
+ @ApiOperation("客户详情")
+ @RequestMapping("/detail")
+ public ReturnDTO customerDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return customerService.customerDetail(idDTO.getId());
+ }
+
+ @ApiOperation("根据客户id查询样品记录-分页")
+ @RequestMapping("/sampleRecords")
+ public ReturnDTO> sampleRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.sampleRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询合同记录-分页")
+ @RequestMapping("/contractRecords")
+ public ReturnDTO> contractRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询检定记录-分页")
+ @RequestMapping("/mesureRecords")
+ public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询检定证书-分页")
+ @RequestMapping("/certificateRecords")
+ public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("客户导出")
+ @RequestMapping("/export")
+ public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){
+ customerService.customerExport(request, response);
+ }
+
+ //*******************************************************************************************************************//
+// @ApiOperation("客户批量导入")
+// @RequestMapping("/batchImport")
+// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+// Assert.isFalse(bindingResult.hasErrors(), () -> {
+// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+// });
+// return null;
+// }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java
new file mode 100644
index 0000000..0d7320f
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java
@@ -0,0 +1,123 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.CertificationResponse;
+import com.casic.missiles.dto.customer.MesureRecordsResponse;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.customer.CustomerSampleInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerSampleService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户样本信息模块")
+@RestController
+@RequestMapping("/customer/sample")
+@AllArgsConstructor
+public class CustomerSampleController extends ExportController {
+
+ private final CustomerSampleService customerSampleService;
+
+ @ApiOperation("样品列表查询-分页")
+ @RequestMapping("/listPage")
+ public ReturnDTO> listPage(@RequestBody @Valid CustomerSampleListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerSampleService.listPage(page, request)));
+ }
+
+ @ApiOperation("样品新增")
+ @RequestMapping("/add")
+ public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerSampleService.addSample(customerSampleInfo));
+ }
+
+ @ApiOperation("样品编辑")
+ @RequestMapping("/update")
+ public ReturnDTO updateSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) {
+ Assert.isFalse(Objects.isNull(customerSampleInfo.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerSampleService.updateSample(customerSampleInfo));
+ }
+
+ @ApiOperation("样品详情")
+ @RequestMapping("/detail")
+ public ReturnDTO sampleDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerSampleService.sampleDetail(idDTO.getId()));
+ }
+
+ @ApiOperation("列表数据删除")
+ @RequestMapping("/delete")
+ public ReturnDTO deleteSample(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerSampleService.deleteSample(idDTO.getId()));
+ }
+
+ @ApiOperation("样品导出")
+ @RequestMapping("/export")
+ public void sampleExport(@RequestBody @Valid CustomerSampleListRequest request, HttpServletResponse response) {
+ customerSampleService.sampleExport(request, response);
+ }
+
+ @ApiOperation("根据样品id查询检定记录")
+ @RequestMapping("/mesureRecordsBySampleId")
+ public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerSampleService.mesureRecordsBySampleId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据样品id查询检定证书")
+ @RequestMapping("/certificationBySampleId")
+ public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId())));
+ }
+
+// @ApiOperation("样品批量导入")
+// @RequestMapping("/batchImport")
+// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+// Assert.isFalse(bindingResult.hasErrors(), () -> {
+// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+// });
+// return null;
+// }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java
new file mode 100644
index 0000000..a42dc64
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java
@@ -0,0 +1,45 @@
+package com.casic.missiles.controller.customer;
+
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.service.customer.CustomerWorkbenchService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+@Api(tags = "客户工作台资源")
+@RestController
+@RequestMapping("/customer/workbench")
+@AllArgsConstructor
+public class CustomerWorkbenchController {
+
+ private final CustomerWorkbenchService customerWorkbenchService;
+
+ @ApiOperation("样品新增趋势")
+ @RequestMapping("/sample/increaseTrend")
+ public ReturnDTO>> increaseTrend() {
+ return customerWorkbenchService.sampleIncreaseTrend();
+ }
+
+ @ApiOperation("样品到期趋势")
+ @RequestMapping("/sample/expireTrend")
+ public ReturnDTO>> querySampleExpireTrend() {
+ return customerWorkbenchService.querySampleExpireTrend();
+ }
+
+ @ApiOperation("客户新增趋势")
+ @RequestMapping("/increaseTrend")
+ public ReturnDTO>> customerIncreaseTrend() {
+ return customerWorkbenchService.customerIncreaseTrend();
+ }
+
+ @ApiOperation("优质客户名单")
+ @RequestMapping("/excellentList")
+ public ReturnDTO>> customerExcellentList() {
+ return customerWorkbenchService.customerExcellentList();
+ }
+}
diff --git a/casic-metering-api/src/main/resources/config/application.yml b/casic-metering-api/src/main/resources/config/application.yml
index ab864e3..ee55d31 100644
--- a/casic-metering-api/src/main/resources/config/application.yml
+++ b/casic-metering-api/src/main/resources/config/application.yml
@@ -118,6 +118,6 @@
code:
generate:
#作者
- author: cuicheng
+ author: wangpeng
#待生成对象表名
- table-name: system_flow_deploy_form
+ table-name: business_order_sample_relation
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
index b7bd107..b139d8a 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
@@ -27,7 +27,10 @@
METER_STAFF("meterStaff", "meterStaff", "计量人员"),
STANDARD_EQUIPMENT_APPLY("standardEquipmentApply", "standardEquipmentApply", "标准装置申请"),
STATE_MANAGE_APPLY("stateManage", "stateManage", "状态管理"),
- METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单");
+ METER_ACCEPTANCE_CHECK("acceptanceCheck", "acceptanceCheck", "设备检修保养验收单"),
+ CUSTOMER_EXPORT("customerData", "customerData", "客户信息"),
+ SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"),
+ ADVICE_EXPORT("adviceData", "adviceData", "客户反馈");
ExportEnum(String fileName, String sheetName, String description) {
this.fileName = fileName;
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
new file mode 100644
index 0000000..17206ce
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.business.BusinessCertificateReport;
+
+/**
+ *
+ * 业务管理-证书报告 Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+public interface BusinessCertificateReportMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessEnviromentRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessEnviromentRecordMapper.java
new file mode 100644
index 0000000..5d3bc2f
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessEnviromentRecordMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.business.BusinessEnviromentRecord;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+public interface BusinessEnviromentRecordMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java
new file mode 100644
index 0000000..46d3a54
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.business.BusinessInterchange;
+
+/**
+ *
+ * 业务管理-设备交接单 Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+public interface BusinessInterchangeMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java
new file mode 100644
index 0000000..5c07c1e
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.business.BusinessLabExecutiveInfo;
+
+/**
+ *
+ * 业务管理-实验室检定信息记录表(用于流程中的实验室分配及后续检定过程查询) Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+public interface BusinessLabExecutiveInfoMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java
new file mode 100644
index 0000000..43d4cae
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveTemplateInfoMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo;
+
+/**
+ *
+ * 业务管理-实验室检定信息标准模板表(用于存储推荐的标准的实验室检测顺序) Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+public interface BusinessLabExecutiveTemplateInfoMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java
new file mode 100644
index 0000000..7182641
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.business.BusinessOrder;
+
+/**
+ *
+ * 业务管理-委托书 Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+public interface BusinessOrderMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java
new file mode 100644
index 0000000..acba033
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.business.BusinessOrderSampleRelation;
+
+/**
+ *
+ * 委托书-样品库关联表 Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+public interface BusinessOrderSampleRelationMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
new file mode 100644
index 0000000..84dfc52
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-证书报告 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-certificate-report")
+public class BusinessCertificateReportController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
new file mode 100644
index 0000000..c4b51cf
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnviromentRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-enviroment-record")
+public class BusinessEnviromentRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
new file mode 100644
index 0000000..cf82167
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-设备交接单 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-interchange")
+public class BusinessInterchangeController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
new file mode 100644
index 0000000..f2efb61
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息记录表(用于流程中的实验室分配及后续检定过程查询) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-info")
+public class BusinessLabExecutiveInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
new file mode 100644
index 0000000..c8e2b02
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessLabExecutiveTemplateInfoController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-实验室检定信息标准模板表(用于存储推荐的标准的实验室检测顺序) 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-lab-executive-template-info")
+public class BusinessLabExecutiveTemplateInfoController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
new file mode 100644
index 0000000..54b4360
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-委托书 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order")
+public class BusinessOrderController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
new file mode 100644
index 0000000..c5091bb
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderSampleRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 委托书-样品库关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-order-sample-relation")
+public class BusinessOrderSampleRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
new file mode 100644
index 0000000..52d26ec
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record")
+public class BusinessOriginalRecordController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java
new file mode 100644
index 0000000..5314cc7
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordEquipmentRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-原始记录-标准装置关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record-equipment-relation")
+public class BusinessOriginalRecordEquipmentRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java
new file mode 100644
index 0000000..c9502d5
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordFileRelationController.java
@@ -0,0 +1,18 @@
+package com.casic.missiles.controller.business;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ * 业务管理-原始记录-计量文件关联表 前端控制器
+ *
+ *
+ * @author wangpeng
+ * @since 2023-02-02
+ */
+@RestController
+@RequestMapping("/business-original-record-file-relation")
+public class BusinessOriginalRecordFileRelationController {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java
new file mode 100644
index 0000000..8a02be1
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerAdviceController.java
@@ -0,0 +1,82 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerAdviceService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户投诉模块")
+@RestController
+@RequestMapping("/customer/advice")
+@AllArgsConstructor
+public class CustomerAdviceController extends ExportController {
+
+ private final CustomerAdviceService customerAdviceService;
+
+ @ApiOperation("客户投诉查询")
+ @RequestMapping("/listPage")
+ public ReturnDTO> adviceListPage(@RequestBody @Valid CustomerAdviceListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerAdviceService.adviceListPage(page, request)));
+ }
+
+ @ApiOperation("客户投诉详情")
+ @RequestMapping("/detail")
+ public ReturnDTO adviceDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(customerAdviceService.adviceDetail(idDTO.getId()));
+ }
+
+ @ApiOperation("客户投诉更新")
+ @RequestMapping("/update")
+ public ReturnDTO updateAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult){
+ Assert.isFalse(Objects.isNull(customerAdviceInfo.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(customerAdviceService.updateAdvice(customerAdviceInfo));
+ }
+
+ @ApiOperation("客户投诉新增")
+ @RequestMapping("/add")
+ public ReturnDTO addAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) {
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return ReturnUtil.success(customerAdviceService.addAdvice(customerAdviceInfo));
+ }
+
+ //*******************************************************************************************************************//
+ @ApiOperation("客户投诉导出")
+ @RequestMapping("/export")
+ public void exportAdvice(@RequestBody @Valid CustomerAdviceListRequest request, HttpServletResponse response) {
+ customerAdviceService.adviceExport(request, response);
+ }
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java
new file mode 100644
index 0000000..4e02809
--- /dev/null
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java
@@ -0,0 +1,130 @@
+package com.casic.missiles.controller.customer;
+
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.customer.CertificationResponse;
+import com.casic.missiles.dto.customer.Info.*;
+import com.casic.missiles.dto.customer.MesureRecordsResponse;
+import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.customer.CustomerAdviceInfo;
+import com.casic.missiles.model.customer.CustomerInfo;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.customer.CustomerService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
+@Api(tags = "客户基础信息模块")
+@RestController
+@RequestMapping("/customer")
+@AllArgsConstructor
+public class CustomerController extends ExportController {
+
+ private final CustomerService customerService;
+
+ @ApiOperation("客户基本信息列表")
+ @RequestMapping("/listPage")
+ public ReturnDTO> listPage(@RequestBody @Valid CustomerListRequest request, BindingResult bindingResult) throws Exception {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(customerService.listPage(page, request)));
+ }
+
+ @ApiOperation("客户新增")
+ @RequestMapping("/add")
+ public ReturnDTO addCustomer(@RequestBody @Valid CustomerInfo customerInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerService.addCustomer(customerInfo));
+ }
+
+ @ApiOperation("客户更新")
+ @RequestMapping("/update")
+ public ReturnDTO updateCustomer(@RequestBody @Valid CustomerInfo customerInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(customerService.updateCustomer(customerInfo));
+ }
+
+ @ApiOperation("客户详情")
+ @RequestMapping("/detail")
+ public ReturnDTO customerDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return customerService.customerDetail(idDTO.getId());
+ }
+
+ @ApiOperation("根据客户id查询样品记录-分页")
+ @RequestMapping("/sampleRecords")
+ public ReturnDTO> sampleRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(super.packForBT(customerService.sampleRecordsByCustomerId(idDTO.getId())));
+ }
+
+ @ApiOperation("根据客户id查询合同记录-分页")
+ @RequestMapping("/contractRecords")
+ public ReturnDTO