From 8ac3affc79126b0b8ec6f4f7e80b73a6b4a4634b Mon Sep 17 00:00:00 2001
From: YYC <1833023622@qq.com>
Date: 星期四, 12 二月 2026 09:21:16 +0800
Subject: [PATCH] APP
---
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamCamera.java | 23
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamPatrolRecord.java | 40
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PSnapDto.java | 34
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PQuantityDto.java | 17
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5108.java | 88 +
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5208.java | 65
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5202.java | 28
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5402.java | 194 ++
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5002.java | 60
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5102.java | 172 ++
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5110.java | 83 +
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamInoutHandle.java | 26
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamVideo.java | 14
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PUserDto.java | 38
fzzy-igdss-core/src/main/java/com/fzzy/work/data/WorkBizType.java | 11
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamCommon.java | 28
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5201.java | 54
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamInoutRecord.java | 28
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5101.java | 131 +
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5401.java | 111 +
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PDetailDto.java | 19
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamDepot.java | 16
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5001.java | 153 ++
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreDeptService.java | 30
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamOrder.java | 34
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5207.java | 95 +
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamUser.java | 26
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PGrainDto.java | 44
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/constant/PhoneConstant.java | 113 +
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5103.java | 76 +
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5109.java | 60
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5111.java | 51
fzzy-igdss-inte/src/main/resources/mapper/PhoneMapper.xml | 15
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5106.java | 133 +
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamPatrol.java | 24
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/AuthUser.java | 23
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5105.java | 62
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5205.java | 144 ++
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5405.java | 122 +
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/util/PhoneUtil.java | 88 +
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PUploadDto.java | 21
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PInoutDto.java | 66
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PPatrolDto.java | 26
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PInoutSum.java | 53
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5204.java | 154 ++
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/mapper/PhoneMapper.java | 20
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/util/PhoneRespUtil.java | 72 +
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/manager/PhoneManager.java | 274 ++++
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5104.java | 86 +
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/PhoneResponse.java | 85 +
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5107.java | 60
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PEventInfoDto.java | 68 +
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/controller/PhoneController.java | 138 ++
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PWorkOrderDto.java | 72 +
fzzy-igdss-core/src/main/java/com/fzzy/igds/constant/InoutConstant.java | 12
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PPointDto.java | 19
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/PhoneService.java | 17
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5203.java | 28
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/PhoneRespCodeEnum.java | 37
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/PhoneRequest.java | 53
fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5206.java | 94 +
61 files changed, 4,028 insertions(+), 0 deletions(-)
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/constant/InoutConstant.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/constant/InoutConstant.java
index ecd9d00..ebfcb1e 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/constant/InoutConstant.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/constant/InoutConstant.java
@@ -12,4 +12,16 @@
//鐩戠閫氱煡鍗�
public static final String NOTICE_IN_TYPE_20 = "20";
+
+ // 鍑哄叆搴撶被鍨�-鍏ュ簱
+ public static final String TYPE_IN = "IN";
+
+ // 鍑哄叆搴撶被鍨�-鍑哄簱
+ public static final String TYPE_OUT = "OUT";
+
+ // 娴佺▼-鍊间粨
+ public static final String PROGRESS_HANDLE = "HANDLE";
+
+ // 娴佺▼-澶囨锛堣〃绀烘祦绋嬫暣浣撳畬鎴愬悗澶囨锛�
+ public static final String PROGRESS_RECORD = "RECORD";
}
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreDeptService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreDeptService.java
index c31f47b..388987c 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreDeptService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreDeptService.java
@@ -64,6 +64,36 @@
return this.listDept(null,user.getCompanyId(),null);
}
+
+ /**
+ * 鏍规嵁鐢ㄦ埛绫诲瀷鑾峰彇瀵瑰簲搴撳尯鍒楄〃淇℃伅APP
+ *
+ * @param
+ * @return
+ */
+ public List<Dept> getDeptByUserTypeApp(String userType,String deptId) {
+
+
+ if (Constant.USER_TYPE_10.equals(userType)) {
+ //鐩戠鐢ㄦ埛锛岀洿鎺ユ煡璇㈢粍缁囦笅鎵�鏈夊簱鍖�
+ return this.listDept(null,userType,null);
+ }
+ if (Constant.USER_TYPE_20.equals(userType)) {
+ //閾惰鐢ㄦ埛锛屾牴鎹悎鍚屾煡璇㈤摱琛屼笅鎵�鏈夊簱鍖�
+ return this.getDeptByBank(userType);
+ }
+ if (Constant.USER_TYPE_30.equals(userType)) {
+ //搴撳尯鐢ㄦ埛
+ if(ContextUtil.isDepotUser(deptId)){
+ //鏌ヨ鐢ㄦ埛鎵�灞炲簱鍖�
+ return this.listDept(deptId,null,null);
+ }else {
+ //鏌ヨ鐢ㄦ埛鎵�灞炲叕鍙镐笅鎵�鏈夊簱鍖�
+ return this.listDept(null,null, deptId);
+ }
+ }
+ return this.listDept(null,ContextUtil.getCompanyId(),null);
+ }
/**
* 鏍规嵁閾惰id锛屽叧鑱斿悎鍚岃〃鏌ヨ搴撳尯鍒楄〃
* @param bankId 閾惰鍙�
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/work/data/WorkBizType.java b/fzzy-igdss-core/src/main/java/com/fzzy/work/data/WorkBizType.java
index c739507..8d811b1 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/work/data/WorkBizType.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/work/data/WorkBizType.java
@@ -29,4 +29,15 @@
public String getMsg() {
return msg;
}
+
+ public static String getMsg(String code) {
+ if(null == code) return null;
+ if(WorkBizType.TYPE_10.getCode().equals(code)) return WorkBizType.TYPE_10.getMsg();
+ if(WorkBizType.TYPE_20.getCode().equals(code)) return WorkBizType.TYPE_20.getMsg();
+ if(WorkBizType.TYPE_30.getCode().equals(code)) return WorkBizType.TYPE_30.getMsg();
+ if(WorkBizType.TYPE_40.getCode().equals(code)) return WorkBizType.TYPE_40.getMsg();
+ if(WorkBizType.TYPE_50.getCode().equals(code)) return WorkBizType.TYPE_50.getMsg();
+ if(WorkBizType.TYPE_99.getCode().equals(code)) return WorkBizType.TYPE_99.getMsg();
+ return code;
+ }
}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/constant/PhoneConstant.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/constant/PhoneConstant.java
new file mode 100644
index 0000000..817c2e3
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/constant/PhoneConstant.java
@@ -0,0 +1,113 @@
+package com.fzzy.igds.app.v1.constant;
+
+/**
+ * @Author: YYC
+ * @Description:
+ * @DateTime: 2026-1-12 15:11
+ **/
+public class PhoneConstant {
+
+ /**
+ *绮儏浠撳簱鍒楄〃
+ */
+ public static final String PHONE_DEPOT_GRAIN="grain";
+ public static final String PHONE_DEPOT_PEST="pest";
+ public static final String PHONE_DEPOT_GAS="gas";
+
+ /**
+ * 鍊间粨鎻愪氦
+ */
+ public static final String PHONE_INOUT_START="start";
+ public static final String PHONE_INOUT_END="end";
+ /**
+ * 鐧诲綍
+ */
+ public static final String API_PHONE_5001 = "5001";
+ /**
+ * 鑾峰彇搴撳尯鍒楄〃淇℃伅
+ */
+ public static final String API_PHONE_5002 = "5002";
+ /**
+ * 绯荤粺璀﹀憡
+ */
+ public static final String API_PHONE_5003 = "5003";
+ /**
+ * 鐢ㄦ埛淇℃伅鏇存敼
+ */
+ public static final String API_PHONE_5004 = "5004";
+ /**
+ * 绯荤粺璀﹀憡
+ */
+ public static final String API_PHONE_5005 = "5005";
+
+ /* ======= 鐩戠绠$悊 ====== */
+ /**
+ * 宸ュ崟绠$悊
+ */
+ public static final String API_PHONE_5101 = "5101";
+ public static final String API_PHONE_5102 = "5102";
+
+ /**
+ * 瑙嗛绠$悊
+ */
+ public static final String API_PHONE_5103 = "5103";
+ public static final String API_PHONE_5104 = "5104";
+
+ /**
+ * 宸℃鐩戠
+ */
+ public static final String API_PHONE_5105 = "5105";
+ public static final String API_PHONE_5106 = "5106";
+ public static final String API_PHONE_5107 = "5107";
+
+ /**
+ * 鎶撴媿绠$悊
+ */
+ public static final String API_PHONE_5108 = "5108";
+ public static final String API_PHONE_5109 = "5109";
+ /**
+ * AI浜嬩欢绠$悊
+ */
+ public static final String API_PHONE_5110 = "5110";
+ public static final String API_PHONE_5111 = "5111";
+
+ /* ======= 鏅鸿兘浠撳偍 ====== */
+ /**
+ * 绮儏鏁版嵁鏌ョ湅
+ */
+ public static final String API_PHONE_5201 = "5201";
+ public static final String API_PHONE_5202 = "5202";
+ public static final String API_PHONE_5203 = "5203";
+ public static final String API_PHONE_5204 = "5204";
+ public static final String API_PHONE_5205 = "5205";
+ /**
+ * 鏂欎綅鎬昏
+ */
+ public static final String API_PHONE_5206 = "5206";
+
+ /**
+ * 鏁伴噺鐩戞祴
+ */
+ public static final String API_PHONE_5207 = "5207";
+ public static final String API_PHONE_5208 = "5208";
+
+
+ /* ======= 瀹夐槻绠$悊 ====== */
+
+ public static final String API_PHONE_5301 = "5301";
+ public static final String API_PHONE_5302 = "5302";
+
+ /* ======= 绮璐攢 ====== */
+ /**
+ * 鍏ュ簱鍊间粨
+ */
+ public static final String API_PHONE_5401 = "5401";
+ public static final String API_PHONE_5402 = "5402";
+
+ /**
+ * 瀹炴椂璁板綍
+ */
+ public static final String API_PHONE_5405 = "5405";
+
+
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/controller/PhoneController.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/controller/PhoneController.java
new file mode 100644
index 0000000..43550e2
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/controller/PhoneController.java
@@ -0,0 +1,138 @@
+package com.fzzy.igds.app.v1.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.fzzy.common.constant.RespCodeEnum;
+import com.fzzy.igds.app.v1.data.AuthUser;
+import com.fzzy.igds.app.v1.data.PhoneRequest;
+import com.fzzy.igds.app.v1.data.PhoneResponse;
+import com.fzzy.igds.app.v1.manager.PhoneManager;
+import com.fzzy.igds.app.v1.util.PhoneRespUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
+
+/**
+ * @Author: YYC
+ * @Description:
+ * @DateTime: 2026-1-14 11:45
+ **/
+@Controller
+@RequestMapping("api/phone/v1")
+public class PhoneController {
+
+ @Autowired
+ private PhoneManager phoneManager;
+
+ /**
+ * 鐧诲綍鍏ュ彛
+ *
+ * @param req
+ * @return
+ */
+ @SuppressWarnings("unchecked")
+ @ResponseBody
+ @RequestMapping("/login")
+ public PhoneResponse<Object> phoneLogin(@RequestBody PhoneRequest<JSONObject> req) {
+
+ //鍒ゆ柇鍙傛暟
+ if (null == req) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1007, RespCodeEnum.CODE_1007.getMsg());
+ }
+
+ PhoneResponse<Object> result = PhoneRespUtil.error(RespCodeEnum.CODE_1111, RespCodeEnum.CODE_1111.getMsg());
+
+ try {
+ //鎵ц涓氬姟鎿嶄綔
+ result = phoneManager.execute(req, null);
+ } catch (Exception e) {
+ result = PhoneRespUtil.error(RespCodeEnum.CODE_1111,
+ "鍚庣寮傚父锛�" + e.getMessage());
+ }
+
+ return result;
+ }
+
+ /**
+ * 涓氬姟鍒嗗彂鍏ュ彛
+ *
+ * @param req
+ * @return
+ */
+ @SuppressWarnings("unchecked")
+ @ResponseBody
+ @RequestMapping("/gateway")
+ public PhoneResponse<Object> phoneGateway(@RequestBody PhoneRequest<JSONObject> req) {
+
+ //鍒ゆ柇鍙傛暟
+ if (null == req) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1007, RespCodeEnum.CODE_1007.getMsg());
+ }
+
+ //鍒ゆ柇鎺ュ彛缂栫爜
+ if (null == req.getInterfaceId()) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1007, RespCodeEnum.CODE_1007.getMsg());
+ }
+
+ //鑾峰彇鐢ㄦ埛淇℃伅锛屽鏋滄湁鍒欐洿鏂帮紝濡傛灉娌℃湁鍒欒烦鍑�
+ AuthUser phone35AuthUser = phoneManager.checkTokenAuth(req);
+ if (null == phone35AuthUser) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1006, "鎮ㄧ櫥褰曞凡瓒呮椂锛岃閲嶆柊鐧诲綍锛�");
+ }
+
+ PhoneResponse<Object> result = PhoneRespUtil.error(RespCodeEnum.CODE_1111, RespCodeEnum.CODE_1111.getMsg());
+
+ try {
+
+ //鎵ц涓氬姟鎿嶄綔
+ result = phoneManager.execute(req, phone35AuthUser);
+
+ } catch (Exception e) {
+ result = PhoneRespUtil.error(RespCodeEnum.CODE_1111,
+ "鍚庣寮傚父锛�" + e.getMessage());
+ }
+ return result;
+ }
+
+
+ /**
+ * 鍊间粨涓婁紶
+ *
+ * @param files
+ * @param req
+ * @return
+ * @throws IOException
+ */
+ @ResponseBody
+ @RequestMapping("/upload-img")
+ public PhoneResponse<Object> phoneUploadImg(
+ @RequestParam("uploadkey") MultipartFile[] files,
+ HttpServletRequest req) throws IOException {
+
+ return phoneManager.phoneUploadImg(files[0], req);
+ }
+ /**
+ * 鍊间粨涓婁紶
+ *
+ * @param files
+ * @param req
+ * @return
+ * @throws IOException
+ */
+ @ResponseBody
+ @RequestMapping("/patrol-img")
+ public PhoneResponse<Object> phonePatrolImg(
+ @RequestParam("uploadkey") MultipartFile[] files,
+ HttpServletRequest req) throws IOException {
+
+ return phoneManager.phonePatrol(files[0], req);
+ }
+
+
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/AuthUser.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/AuthUser.java
new file mode 100644
index 0000000..ea4c57c
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/AuthUser.java
@@ -0,0 +1,23 @@
+package com.fzzy.igds.app.v1.data;
+
+import lombok.Data;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * 鐧诲綍鍚庡瓨鍏ョ紦瀛樼殑淇℃伅
+ * @author chen
+ */
+@Data
+public class AuthUser {
+ private String companyId;
+ private String username;
+ private String cname;
+ private String mobile;
+ private String address;
+ private String email;
+
+ private String deptId;
+ private String deptName;
+ private HttpServletRequest request;
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamCamera.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamCamera.java
new file mode 100644
index 0000000..f6f83b7
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamCamera.java
@@ -0,0 +1,23 @@
+package com.fzzy.igds.app.v1.data;
+
+import lombok.Data;
+
+/**
+ * @author chen
+ */
+@Data
+public class ParamCamera extends ParamCommon {
+
+ private String cameraId;
+
+ private String playType;
+
+ //鏆傚畾浜戝彴鎺у埗浣跨敤
+ private String cameraSn;
+
+ private String videoPlayUrl;
+
+ private String command;
+
+ private String speed;
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamCommon.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamCommon.java
new file mode 100644
index 0000000..29b869f
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamCommon.java
@@ -0,0 +1,28 @@
+package com.fzzy.igds.app.v1.data;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 閫氱敤鍙傛暟灏佽
+ */
+@Data
+public class ParamCommon {
+
+ private int pageSize = 15;
+
+ private int pageNo = 1;
+
+ private String tokenAuth;
+
+ private String type;
+
+ private String companyId;
+
+ private String deptId;
+
+ private Date startTime;
+
+ private Date endTime;
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamDepot.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamDepot.java
new file mode 100644
index 0000000..1562a5d
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamDepot.java
@@ -0,0 +1,16 @@
+package com.fzzy.igds.app.v1.data;
+
+import lombok.Data;
+
+/**
+ * @Author: YYC
+ * @Description:
+ * @DateTime: 2026-2-5 14:27
+ **/
+@Data
+public class ParamDepot extends ParamCommon {
+
+ private String depotId;
+ private String dateTime;
+
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamInoutHandle.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamInoutHandle.java
new file mode 100644
index 0000000..c914d71
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamInoutHandle.java
@@ -0,0 +1,26 @@
+package com.fzzy.igds.app.v1.data;
+
+import lombok.Data;
+
+/**
+ * 鍊间粨鍒楄〃銆佸�间粨鎻愪氦鏁版嵁灏佽
+ * @author chen
+ */
+@Data
+public class ParamInoutHandle extends ParamCommon {
+
+ private String id;
+
+ private String intelCard;
+
+ private String plateNum;
+
+ private String progress;
+
+ private Double deHandle;
+
+ private String fileName1;
+
+ private String fileName2;
+
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamInoutRecord.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamInoutRecord.java
new file mode 100644
index 0000000..77a3b24
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamInoutRecord.java
@@ -0,0 +1,28 @@
+package com.fzzy.igds.app.v1.data;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 鍏ュ簱璁板綍銆佸嚭搴撹褰曟暟鎹皝瑁�
+ *
+ * @author chen
+ */
+@Data
+public class ParamInoutRecord extends ParamCommon {
+
+
+
+ private String intelCard;
+
+ private String plateNum;
+
+ private String progress;
+
+ private Date date;
+
+ private Date end;
+
+
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamOrder.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamOrder.java
new file mode 100644
index 0000000..ffb5e2e
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamOrder.java
@@ -0,0 +1,34 @@
+package com.fzzy.igds.app.v1.data;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @Author: YYC
+ * @Description:
+ * @DateTime: 2026-1-13 14:33
+ **/
+@Data
+public class ParamOrder extends ParamCommon{
+
+ private String id;
+ private String orderId;
+
+ private String assigneeId;
+
+ private String assigneeName;
+
+ private String node;
+
+ private String action;
+
+ private Date createTime;
+
+ private String remark;
+
+ private String nodeName;
+
+ private String status;
+
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamPatrol.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamPatrol.java
new file mode 100644
index 0000000..c51c205
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamPatrol.java
@@ -0,0 +1,24 @@
+package com.fzzy.igds.app.v1.data;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @Author: YYC
+ * @Description:
+ * @DateTime: 2026-1-13 16:20
+ **/
+@Data
+public class ParamPatrol extends ParamCommon{
+
+ private String id;
+ private String longitude;
+ private String latitude;
+ private String imgName;
+ private Date createTime;
+ private String userName;
+
+
+ private Date dateTime;
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamPatrolRecord.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamPatrolRecord.java
new file mode 100644
index 0000000..0c52303
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamPatrolRecord.java
@@ -0,0 +1,40 @@
+package com.fzzy.igds.app.v1.data;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 瀹夐槻-鐢靛瓙宸¢�昏褰�
+ *
+ * @author chen
+ */
+@Data
+public class ParamPatrolRecord implements Serializable {
+
+ /**
+ * 鎵撳崱鎻愪氦浣跨敤
+ */
+ private String longitude;
+
+ private String latitude;
+
+ private String imgName;
+
+ /**
+ * 鎵撳崱璁板綍鏌ヨ浣跨敤
+ */
+ private String userName;
+
+ private String companyId;
+
+ private String deptId;
+
+ private Date date;
+
+ private Date end;
+
+ private String id;
+
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamUser.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamUser.java
new file mode 100644
index 0000000..a33d3ac
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamUser.java
@@ -0,0 +1,26 @@
+package com.fzzy.igds.app.v1.data;
+
+import lombok.Data;
+
+/**
+ * 鐧诲綍鍙婁慨鏀逛俊鎭皝瑁�
+ * @author chen
+ */
+@Data
+public class ParamUser {
+
+ /*鐧诲綍淇℃伅*/
+
+ private String username;
+ private String password;
+
+ /*淇敼鐢ㄦ埛淇℃伅*/
+
+ private String newPassword1;
+ private String newPassword2;
+ private String newMobile;
+ private String newCname;
+
+ private String salt;
+ private String companyId;
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamVideo.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamVideo.java
new file mode 100644
index 0000000..ccb6a1c
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/ParamVideo.java
@@ -0,0 +1,14 @@
+package com.fzzy.igds.app.v1.data;
+
+import lombok.Data;
+
+/**
+ * @Author: YYC
+ * @Description:
+ * @DateTime: 2026-1-13 16:01
+ **/
+@Data
+public class ParamVideo extends ParamCommon {
+ private String id;
+ private String playType;
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/PhoneRequest.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/PhoneRequest.java
new file mode 100644
index 0000000..b1100f2
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/PhoneRequest.java
@@ -0,0 +1,53 @@
+package com.fzzy.igds.app.v1.data;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 鎵嬫満APP鏈嶅姟缁熶竴瑙勮寖鎺ュ彛璇锋眰
+ *
+ * @author chen
+ */
+@Data
+public class PhoneRequest<T> implements Serializable {
+
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 鎺ュ彛缂栧彿
+ */
+ private String interfaceId;
+
+ /**
+ * 绛惧悕
+ */
+ private String sign;
+
+ /**
+ * 鐢ㄦ埛鑷畾涔夊瓧娈�
+ */
+ private String outId;
+
+ /**
+ * 璇锋眰鏃堕棿
+ */
+ private String reqDateTime;
+
+ /**
+ * token鐨刱ey
+ */
+ private String tokenAuth;
+
+ /**
+ * 璇锋眰涓氬姟鏁版嵁
+ */
+ private T data;
+ /**
+ * 鎿嶄綔璁惧鐨勪笟鍔℃暟鎹�
+ */
+ private List<T> data1;
+
+}
\ No newline at end of file
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/PhoneRespCodeEnum.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/PhoneRespCodeEnum.java
new file mode 100644
index 0000000..2813c43
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/PhoneRespCodeEnum.java
@@ -0,0 +1,37 @@
+package com.fzzy.igds.app.v1.data;
+
+import lombok.Getter;
+
+/**
+ * 鍝嶅簲鐮佸畾涔�
+ *
+ * @author Andy
+ *
+ */
+@Getter
+public enum PhoneRespCodeEnum {
+
+ /**
+ *
+ */
+ CODE_0000("0000", "鎴愬姛"),
+ CODE_1111("1111", "鍚庣鏈嶅姟寮傚父"),
+ CODE_1001("1001","鏁版嵁鏍煎紡鏍¢獙澶辫触"),
+ CODE_1002("1002","璇ュ簲鐢ㄦ棤婵�娲绘巿鏉�"),
+ CODE_1003("1003","璇ュ簲鐢ㄥ凡缁忔巿鏉冩垚鍔�"),
+ CODE_1004("1004","璁惧閫氳澶辫触"),
+ CODE_1005("1005","璇ヨ澶囦笉瀛樺湪"),
+ CODE_1006("1006","褰撳墠鐧诲綍浜哄凡鎺夌嚎"),
+ CODE_1007("1007","璇锋眰鍙傛暟寮傚父"),
+ CODE_1008("1008","娴佺▼涓嶆纭�"),
+ CODE_2000("2000","鍝嶅簲鏁版嵁涓虹┖")
+ ;
+
+ private String code;
+ private String msg;
+
+ PhoneRespCodeEnum(String code, String msg) {
+ this.code = code;
+ this.msg = msg;
+ }
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/PhoneResponse.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/PhoneResponse.java
new file mode 100644
index 0000000..dd7edb9
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/data/PhoneResponse.java
@@ -0,0 +1,85 @@
+package com.fzzy.igds.app.v1.data;
+
+import com.fzzy.common.constant.RespCodeEnum;
+import lombok.Data;
+import org.apache.commons.lang3.time.DateFormatUtils;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Author: YYC
+ * @Description:
+ * @DateTime: 2026-1-12 10:53
+ **/
+@Data
+public class PhoneResponse<T> implements Serializable {
+
+ private String DATE_FORMAT_YMDHMS = "yyyy-MM-dd HH:mm:ss";
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 鍝嶅簲鐮�
+ */
+ private String code;
+ /**
+ * 鍝嶅簲淇℃伅
+ */
+ private String msg;
+
+ /**
+ * 鍥炲~鐢ㄦ埛鑷畾涔変俊鎭�
+ */
+ private String outId;
+ /**
+ * 鍝嶅簲鏃堕棿
+ */
+ private String respDateTime;
+
+ /**
+ * 杩斿洖鏁版嵁
+ */
+ private T data;
+
+ public PhoneResponse() {
+ super();
+ }
+
+ public PhoneResponse(String code, String msg, String outId) {
+ this.code = code;
+ this.msg = msg;
+ this.outId = outId;
+ }
+
+ public PhoneResponse(String code, String msg, String outId, T data) {
+ this.code = code;
+ this.msg = msg;
+ this.outId = outId;
+ this.data = data;
+ this.respDateTime = DateFormatUtils.format(new Date(), DATE_FORMAT_YMDHMS);
+ }
+
+ public PhoneResponse(String code, String msg, T data) {
+ this.code = code;
+ this.msg = msg;
+ this.data = data;
+ this.respDateTime = DateFormatUtils.format(new Date(), DATE_FORMAT_YMDHMS);
+ }
+
+ public PhoneResponse(RespCodeEnum code, String outId, T data) {
+ this.code = code.getCode();
+ this.outId = outId;
+ this.data = data;
+ this.respDateTime = DateFormatUtils.format(new Date(), DATE_FORMAT_YMDHMS);
+ }
+ public PhoneResponse(RespCodeEnum code, String outId, String msg) {
+ this.code = code.getCode();
+ this.outId = outId;
+ this.msg = msg;
+ this.respDateTime = DateFormatUtils.format(new Date(), DATE_FORMAT_YMDHMS);
+ }
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PDetailDto.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PDetailDto.java
new file mode 100644
index 0000000..dd74292
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PDetailDto.java
@@ -0,0 +1,19 @@
+package com.fzzy.igds.app.v1.dto;
+
+import lombok.Data;
+
+/**
+ * @Author: YYC
+ * @Description:
+ * @DateTime: 2026-2-5 14:38
+ **/
+@Data
+public class PDetailDto {
+
+ private Double tempMin;
+ private Double tempMax;
+ private Double tempAve;
+ private int fz;
+ private String fzName;
+
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PEventInfoDto.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PEventInfoDto.java
new file mode 100644
index 0000000..b1d4e8a
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PEventInfoDto.java
@@ -0,0 +1,68 @@
+package com.fzzy.igds.app.v1.dto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fzzy.igds.constant.WarnStatus;
+import com.ruoyi.common.annotation.Excel;
+import lombok.Data;
+
+import javax.persistence.Column;
+import javax.persistence.Id;
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
+import java.util.Date;
+
+/**
+ * @Author: YYC
+ * @Description:
+ * @DateTime: 2026-2-11 14:00
+ **/
+@Data
+public class PEventInfoDto {
+
+ private String id;
+
+ private String deptId;
+ private String deptName;
+
+ private String depotId;
+
+ private String serId;
+ private String name;
+
+ private String bizType;
+
+ private String type;
+
+ private String level;
+
+ private String status;
+
+ private String info;
+
+ private Date time;
+
+ private String noticeResult;
+
+ private String noticeUser;
+
+ private String completeUser;
+
+ private Date completeTime;
+
+ private String tags ;
+
+ private String remark;
+
+ private String imgName;
+
+ private String companyId;
+
+ private String createBy;
+
+ private Date createTime;
+
+ private String updateBy;
+
+ private Date updateTime;
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PGrainDto.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PGrainDto.java
new file mode 100644
index 0000000..0e75de9
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PGrainDto.java
@@ -0,0 +1,44 @@
+package com.fzzy.igds.app.v1.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fzzy.igds.constant.DepotType;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Author: YYC
+ * @Description:
+ * @DateTime: 2026-2-5 14:36
+ **/
+@Data
+public class PGrainDto {
+
+ private String depotId;
+ private String depotName;
+ private String depotType;
+ private String depotTypeName;
+ @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
+ private Date receiveDate;
+ private Double tempIn;
+ private Double humidityIn;
+ private Double tempOut;
+ private Double humidityOut;
+ private Double tempMax = 0.0;
+ private Double tempMin = 0.0;
+ private Double tempAve = 0.0;
+ private String cable;
+ private String cableCir;
+
+ private List<PPointDto> points;
+
+ private List<PDetailDto> details;
+
+ public String getDepotTypeName() {
+ if (null != this.depotType) {
+ return DepotType.getMsg(this.depotType);
+ }
+ return null;
+ }
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PInoutDto.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PInoutDto.java
new file mode 100644
index 0000000..5f5a5a7
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PInoutDto.java
@@ -0,0 +1,66 @@
+package com.fzzy.igds.app.v1.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fzzy.igds.constant.FoodLevel;
+import com.fzzy.igds.constant.FoodVariety;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @Author: YYC
+ * @Description:
+ * @DateTime: 2026-2-5 9:42
+ **/
+@Data
+public class PInoutDto {
+
+ private String id;
+ private String companyId;
+ private String intelCard;
+ private String plateNum;
+ private String type;
+ private String typeName;
+ private String depotId;
+ private String depotName;
+ private Double deHandle;
+ private String customerId;
+ private String customerName;
+ private String foodVariety;
+ private String foodVarietyName;
+ private Double recordWeight;
+ private String foodLevel;
+ private String foodLevelName;
+ @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
+ private Date handleStart;
+ @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
+ private Date handelEnd;
+ @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
+ private Date completeTime;
+ private String progress;
+ private String progressName;
+
+ private String storeKeeper;
+ private String storeKeeperName;
+
+ private String fileName1;
+ private String fileName2;
+
+ private String base64Img1;
+ private String base64Img2;
+
+ public String getFoodVarietyName() {
+ if (null != this.foodVariety) {
+ return FoodVariety.getMsg(this.foodVariety);
+ }
+ return null;
+ }
+
+ public String getFoodLevelName() {
+ if (null != this.foodLevel) {
+ return FoodLevel.getMsg(this.foodLevel);
+ }
+ return null;
+ }
+
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PInoutSum.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PInoutSum.java
new file mode 100644
index 0000000..5130c72
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PInoutSum.java
@@ -0,0 +1,53 @@
+package com.fzzy.igds.app.v1.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 鍑哄叆搴撴暟鎹皝瑁� -- 鐢ㄤ簬鍑哄叆搴撹褰曞強瀹炴椂淇℃伅
+ * @author chen
+ */
+@Data
+public class PInoutSum {
+
+ /**
+ * 鍑哄叆搴撴祦姘翠俊鎭�
+ */
+ private List<PInoutDto> listInout;
+
+ /**
+ * 鍏ュ簱鐧昏鏁�
+ */
+ private Double inSumNum = 0.0;
+ /**
+ * 鍏ュ簱瀹屾垚鏁�
+ */
+ private Double inCompleteNum = 0.0;
+ /**
+ * 鍏ュ簱瀹屾垚鐜�
+ */
+ private Double perInComplete = 0.0;
+ /**
+ * 鍑哄簱鐧昏鏁�
+ */
+ private Double outSumNum = 0.0;
+ /**
+ * 鍑哄簱瀹屾垚鏁�
+ */
+ private Double outCompleteNum = 0.0;
+ /**
+ * 鍑哄簱瀹屾垚鐜�
+ */
+ private Double perOutComplete = 0.0;
+
+ /**
+ * 鍑哄叆搴撳悎璁℃暟(鐢ㄤ簬鍑哄叆搴撹褰�)
+ */
+ private Double sum = 0.0;
+
+ @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
+ private Date time;
+}
\ No newline at end of file
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PPatrolDto.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PPatrolDto.java
new file mode 100644
index 0000000..6769988
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PPatrolDto.java
@@ -0,0 +1,26 @@
+package com.fzzy.igds.app.v1.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @Author: YYC
+ * @Description:
+ * @DateTime: 2026-1-13 16:24
+ **/
+@Data
+public class PPatrolDto {
+
+ private String id;
+ private String userName;
+ private String longitude;
+ private String latitude;
+ @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date createTime;
+
+ private String base64Img;
+ private String imgName;
+
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PPointDto.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PPointDto.java
new file mode 100644
index 0000000..2b503a9
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PPointDto.java
@@ -0,0 +1,19 @@
+package com.fzzy.igds.app.v1.dto;
+
+import lombok.Data;
+
+/**
+ * @Author: YYC
+ * @Description:
+ * @DateTime: 2026-2-5 14:38
+ **/
+@Data
+public class PPointDto {
+
+ private int z;
+ private int x;
+ private int y;
+ private int fz;
+ private Double temp;
+
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PQuantityDto.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PQuantityDto.java
new file mode 100644
index 0000000..e74b357
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PQuantityDto.java
@@ -0,0 +1,17 @@
+package com.fzzy.igds.app.v1.dto;
+
+import com.fzzy.igds.domain.Quantity;
+import lombok.Data;
+
+/**
+ * @Author: YYC
+ * @Description:
+ * @DateTime: 2026-2-6 10:16
+ **/
+@Data
+public class PQuantityDto extends Quantity {
+
+ private String deptName;
+ private Double errorValue;
+
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PSnapDto.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PSnapDto.java
new file mode 100644
index 0000000..0824be8
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PSnapDto.java
@@ -0,0 +1,34 @@
+package com.fzzy.igds.app.v1.dto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import javax.persistence.Column;
+import javax.persistence.Id;
+import java.util.Date;
+
+/**
+ * @Author: YYC
+ * @Description:
+ * @DateTime: 2026-2-11 10:49
+ **/
+@Data
+public class PSnapDto {
+
+ private String id;
+
+ private String deptId;
+ private String deptName;
+
+ private String cameraId;
+
+ private String result;
+
+ private String tags ;
+
+ private Date snapTime;
+
+ private String imgName;
+
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PUploadDto.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PUploadDto.java
new file mode 100644
index 0000000..bf6ef3c
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PUploadDto.java
@@ -0,0 +1,21 @@
+package com.fzzy.igds.app.v1.dto;
+
+import lombok.Data;
+
+/**
+ * @Author: YYC
+ * @Description:
+ * @DateTime: 2026-2-10 10:03
+ **/
+@Data
+public class PUploadDto {
+
+ private String status;
+
+ private String msg;
+
+ private String fileName;
+
+ private String base64Img;
+
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PUserDto.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PUserDto.java
new file mode 100644
index 0000000..65c9341
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PUserDto.java
@@ -0,0 +1,38 @@
+package com.fzzy.igds.app.v1.dto;
+
+import lombok.Data;
+
+/**
+ * @Author: YYC
+ * @Description: 鐧诲綍鎴愬姛鍚庤繑鍥炰俊鎭皝瑁�
+ * @DateTime: 2026-1-13 11:19
+ **/
+@Data
+public class PUserDto {
+
+ private String tokenAuth;
+
+ private String username;
+
+ private String cname;
+
+ private String companyId;
+
+ private String deptId;
+ private String deptName;
+
+ private String mobile;
+
+ private String support;
+
+ private String email;
+
+ private String phone;
+
+ private String website;
+
+ private String address;
+
+ private String type;
+
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PWorkOrderDto.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PWorkOrderDto.java
new file mode 100644
index 0000000..3f813ba
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/dto/PWorkOrderDto.java
@@ -0,0 +1,72 @@
+package com.fzzy.igds.app.v1.dto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+
+import javax.persistence.Column;
+import javax.persistence.Id;
+import java.util.Date;
+
+/**
+ * @Author: YYC
+ * @Description:
+ * @DateTime: 2026-1-13 13:56
+ **/
+@Data
+public class PWorkOrderDto {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+
+ //宸ュ崟缂栧彿
+ private String id;
+
+ //宸ュ崟鏍囬/闂鎽樿
+ private String title;
+
+ //闂璇︾粏鎻忚堪
+ private String description;
+
+ //涓氬姟鍒嗙被
+ private String bizType;
+ //涓氬姟鍒嗙被
+ private String bizTypeName;
+
+ private String node;
+ private String nodeName;
+
+ //宸ュ崟鍒嗙被
+ private String category;
+
+ //鐘舵��
+ private String status;
+
+ //澶勭悊浜�
+ private String assigneeId;
+
+ //澶勭悊浜�
+ private String assigneeName;
+
+ //鎺ュ彈鏃堕棿
+ private Date receiveTime;
+
+ //鍒涘缓浜�
+ private String createBy;
+
+ //涓氬姟鍏宠仈涓婚敭
+ private String businessId;
+
+ //涓氬姟鍔熻兘璺緞
+ private String businessUrl;
+
+ //鎵�灞炲簱鍖�
+ private String deptId;
+ private String deptName;
+
+ //鐩戠閾惰
+ private String bankId;
+ //鍒涘缓鏃堕棿
+ private Date createTime;
+
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/manager/PhoneManager.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/manager/PhoneManager.java
new file mode 100644
index 0000000..d25ff65
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/manager/PhoneManager.java
@@ -0,0 +1,274 @@
+package com.fzzy.igds.app.v1.manager;
+
+import com.alibaba.fastjson.JSONObject;
+import com.fzzy.common.constant.RespCodeEnum;
+import com.fzzy.igds.app.v1.data.AuthUser;
+import com.fzzy.igds.app.v1.data.PhoneRequest;
+import com.fzzy.igds.app.v1.data.PhoneResponse;
+import com.fzzy.igds.app.v1.dto.PUploadDto;
+import com.fzzy.igds.app.v1.service.PhoneService;
+import com.fzzy.igds.app.v1.util.PhoneRespUtil;
+import com.fzzy.igds.app.v1.util.PhoneUtil;
+import com.fzzy.igds.data.PageResponse;
+import com.fzzy.igds.service.FileService;
+import com.fzzy.igds.utils.ContextUtil;
+import com.fzzy.igds.utils.DateUtil;
+import com.ruoyi.common.core.redis.RedisCache;
+import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.sun.jna.platform.mac.MacFileUtils;
+import org.springframework.beans.BeansException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+import org.springframework.stereotype.Component;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @Author: YYC
+ * @Description:
+ * @DateTime: 2026-1-14 11:47
+ **/
+@Component(PhoneManager.BEAN_ID)
+public class PhoneManager implements ApplicationContextAware {
+ public static final String BEAN_ID = "phone.phoneManager";
+ private static Map<String, PhoneService> serviceMap;
+ @Autowired
+ private RedisCache redisUtil;
+ @Resource
+ private FileService fileService;
+
+
+ @Override
+ public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
+ Map<String, PhoneService> map = applicationContext
+ .getBeansOfType(PhoneService.class);
+ serviceMap = new HashMap<>();
+ for (String key : map.keySet()) {
+ serviceMap.put(map.get(key).getInterfaceId(), map.get(key));
+ }
+ }
+
+ /**
+ * 涓氬姟鎵ц鍏ュ彛
+ *
+ * @param req
+ * @param
+ * @return
+ * @throws Exception
+ */
+ @SuppressWarnings("unchecked")
+ public PhoneResponse<Object> execute(PhoneRequest<JSONObject> req, AuthUser authUser) throws Exception {
+
+ PhoneService service = serviceMap.get(req.getInterfaceId());
+ if (null == service) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111,
+ "褰撳墠鎺ュ彛娌℃湁鎵惧埌瀹炵幇绫伙紝鏃犳硶鎵ц澶勭悊");
+ }
+
+ return service.execute(req, authUser);
+ }
+
+ /**
+ * 鏍规嵁tokenAuth鑾峰彇缂撳瓨涓殑tokenUser
+ *
+ * @param req
+ * @return
+ */
+ public AuthUser checkTokenAuth(PhoneRequest<JSONObject> req) {
+ String tokenAuth = req.getTokenAuth();
+ return redisUtil.getCacheObject(PhoneUtil.createKey(tokenAuth));
+ }
+
+
+ /**
+ * 鍊间粨鍥剧墖涓婁紶
+ *
+ * @param file
+ * @param req
+ * @return
+ * @throws IOException
+ */
+ @SuppressWarnings("unchecked")
+ public PhoneResponse<Object> phoneUploadImg(MultipartFile file,
+ HttpServletRequest req) throws IOException {
+ String plateNum = req.getParameter("plateNum");
+
+ PageResponse<String> result = upLoadInoutImg(file, plateNum);
+
+ if (result.getCode().equals(RespCodeEnum.CODE_0000.getCode())) {
+ //涓婁紶鎴愬姛
+ PUploadDto dtoUpload = new PUploadDto();
+ dtoUpload.setStatus("success");
+ dtoUpload.setMsg("涓婁紶鎴愬姛锛�");
+ dtoUpload.setFileName(result.getMsg());
+ return PhoneRespUtil.success(dtoUpload);
+ } else {
+ //涓婁紶澶辫触
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "涓婁紶澶辫触");
+ }
+ }
+
+
+ /**
+ * 鍊间粨鍥剧墖涓婁紶
+ *
+ * @param file
+ * @param req
+ * @return
+ * @throws IOException
+ */
+ @SuppressWarnings("unchecked")
+ public PhoneResponse<Object> phonePatrol(MultipartFile file,
+ HttpServletRequest req) throws IOException {
+
+ String deptId = req.getParameter("deptId");
+ PageResponse<String> result = upLoadPatrolImg(file, deptId);
+
+ if (result.getCode().equals(RespCodeEnum.CODE_0000.getCode())) {
+ //涓婁紶鎴愬姛
+ PUploadDto dtoUpload = new PUploadDto();
+ dtoUpload.setStatus("success");
+ dtoUpload.setMsg("涓婁紶鎴愬姛锛�");
+ dtoUpload.setFileName(result.getMsg());
+ return PhoneRespUtil.success(dtoUpload);
+ } else {
+ //涓婁紶澶辫触
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "涓婁紶澶辫触");
+ }
+ }
+
+ /**
+ * 鍑哄叆搴撶殑闄勪欢涓婃锛屽弬鏁版槸杞︾墝鍙�
+ *
+ * @param file
+ * @return
+ * @throws IOException
+ */
+ public PageResponse<String> upLoadInoutImg(MultipartFile file, String plateNum)
+ throws IOException {
+
+ // 鑾峰彇榛樿缂栫爜鐨勫瓧鑺傛暟缁�
+ byte[] fileByte = file.getBytes();
+
+ // 鑾峰彇鏂囦欢鐨勬簮鏂囦欢鍚嶇О
+ String oldFileName = file.getOriginalFilename();
+
+ // 鑾峰彇鏂囦欢淇濆瓨璺緞
+ String filePath = fileService.getInoutFilePath();
+
+ // 鑾峰彇鏂扮殑ID
+ String newFileName = ContextUtil.UUID();
+
+ // 鏂囦欢鍚庣紑鍚�
+ String suffixName = oldFileName.substring(oldFileName.lastIndexOf("."));
+
+ // 鍚堟垚鏂扮殑鏂囦欢鍚�
+ if (StringUtils.isEmpty(plateNum)) {
+ newFileName = newFileName + suffixName;
+ } else {
+ newFileName = plateNum + "_" + newFileName + suffixName;
+ }
+
+ // 鏂囦欢涓婁紶
+ boolean flag = uploadFile(fileByte, filePath, newFileName);
+
+ // 鍒ゆ柇鏂囦欢涓婁紶鏄惁鎴愬姛,鎴愬姛杩斿洖鏂囦欢鍚�
+ if (flag) {
+ return new PageResponse<String>(RespCodeEnum.CODE_0000.getCode(),
+ newFileName);
+ } else {
+ return new PageResponse<String>(RespCodeEnum.CODE_1111.getCode(),
+ "涓婁紶澶辫触");
+ }
+ }
+
+ /**
+ * 鎵撳崱鐨勯檮浠朵笂娆★紝鍙傛暟鏄溅鐗屽彿
+ *
+ * @param file
+ * @return
+ * @throws IOException
+ */
+ public PageResponse<String> upLoadPatrolImg(MultipartFile file, String deptId)
+ throws IOException {
+
+ // 鑾峰彇榛樿缂栫爜鐨勫瓧鑺傛暟缁�
+ byte[] fileByte = file.getBytes();
+
+ // 鑾峰彇鏂囦欢鐨勬簮鏂囦欢鍚嶇О
+ String oldFileName = file.getOriginalFilename();
+
+ // 鑾峰彇鏂囦欢淇濆瓨璺緞
+ String filePath = fileService.getPatrolFilePath();
+
+ // 鑾峰彇鏂扮殑ID
+ String newFileName = DateUtils.dateTimeNow();
+
+ // 鏂囦欢鍚庣紑鍚�
+ String suffixName = oldFileName.substring(oldFileName.lastIndexOf("."));
+
+ // 鍚堟垚鏂扮殑鏂囦欢鍚�
+ if (StringUtils.isEmpty(deptId)) {
+ newFileName = newFileName + suffixName;
+ } else {
+ newFileName = deptId + "_" + newFileName + suffixName;
+ }
+
+ // 鏂囦欢涓婁紶
+ boolean flag = uploadFile(fileByte, filePath, newFileName);
+
+ // 鍒ゆ柇鏂囦欢涓婁紶鏄惁鎴愬姛,鎴愬姛杩斿洖鏂囦欢鍚�
+ if (flag) {
+ return new PageResponse<String>(RespCodeEnum.CODE_0000.getCode(),
+ newFileName);
+ } else {
+ return new PageResponse<String>(RespCodeEnum.CODE_1111.getCode(),
+ "涓婁紶澶辫触");
+ }
+ }
+
+ /**
+ * 鏂囦欢娴佷笂浼犳枃浠�
+ *
+ * @param file
+ * @param filePath
+ * @param fileName
+ * @return
+ */
+ public static boolean uploadFile(byte[] file, String filePath, String fileName) throws IOException {
+ // 榛樿鏂囦欢涓婁紶鎴愬姛
+ boolean flag = true;
+ // new涓�涓枃浠跺璞″疄渚�
+ File targetFile = new File(filePath);
+ // 濡傛灉褰撳墠鏂囦欢鐩綍涓嶅瓨鍦ㄥ氨鑷姩鍒涘缓璇ユ枃浠舵垨鑰呯洰褰�
+ if (!targetFile.exists()) {
+ targetFile.mkdirs();
+ }
+ // 鍒涘缓鏂囦欢娴�
+ FileOutputStream fileOutputStream = new FileOutputStream(filePath + fileName);
+ try {
+ fileOutputStream.write(file);
+ } catch (FileNotFoundException e) {
+ flag = false;
+ } catch (IOException ioException) {
+ flag = false;
+ } finally {
+ fileOutputStream.flush();
+ fileOutputStream.close();
+ }
+ return flag;
+ }
+
+
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/mapper/PhoneMapper.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/mapper/PhoneMapper.java
new file mode 100644
index 0000000..79cc18f
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/mapper/PhoneMapper.java
@@ -0,0 +1,20 @@
+package com.fzzy.igds.app.v1.mapper;
+
+import com.fzzy.igds.app.v1.data.ParamOrder;
+import org.springframework.data.repository.query.Param;
+
+/**
+ * @Author: YYC
+ * @Description:
+ * @DateTime: 2026-1-13 9:54
+ **/
+public interface PhoneMapper {
+
+ /**
+ * 宸ュ崟瀹℃牳
+ * @param param
+ * @return
+ */
+ int updateOrder(@Param("param") ParamOrder param);
+
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/PhoneService.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/PhoneService.java
new file mode 100644
index 0000000..fd27357
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/PhoneService.java
@@ -0,0 +1,17 @@
+package com.fzzy.igds.app.v1.service;
+
+import com.alibaba.fastjson.JSONObject;
+import com.fzzy.igds.app.v1.data.AuthUser;
+import com.fzzy.igds.app.v1.data.PhoneRequest;
+import com.fzzy.igds.app.v1.data.PhoneResponse;
+
+
+/**
+ *
+ */
+public interface PhoneService {
+
+ public String getInterfaceId();
+
+ public PhoneResponse<Object> execute(PhoneRequest<JSONObject> req, AuthUser authUser) throws Exception;
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5001.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5001.java
new file mode 100644
index 0000000..1e90417
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5001.java
@@ -0,0 +1,153 @@
+package com.fzzy.igds.app.v1.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.fzzy.common.constant.RespCodeEnum;
+import com.fzzy.igds.app.v1.constant.PhoneConstant;
+import com.fzzy.igds.app.v1.data.AuthUser;
+import com.fzzy.igds.app.v1.data.ParamUser;
+import com.fzzy.igds.app.v1.data.PhoneRequest;
+import com.fzzy.igds.app.v1.data.PhoneResponse;
+import com.fzzy.igds.app.v1.dto.PUserDto;
+import com.fzzy.igds.app.v1.service.PhoneService;
+
+import com.fzzy.igds.app.v1.util.PhoneRespUtil;
+import com.fzzy.igds.app.v1.util.PhoneUtil;
+import com.fzzy.igds.service.SysDeptService;
+import com.ruoyi.common.constant.Constants;
+import com.ruoyi.common.constant.UserConstants;
+import com.ruoyi.common.core.domain.entity.SysDept;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.redis.RedisCache;
+import com.ruoyi.common.enums.UserStatus;
+import com.ruoyi.common.exception.user.*;
+import com.ruoyi.common.utils.IpUtils;
+import com.ruoyi.common.utils.MessageUtils;
+import com.ruoyi.common.utils.ShiroUtils;
+import com.ruoyi.framework.manager.AsyncManager;
+import com.ruoyi.framework.manager.factory.AsyncFactory;
+import com.ruoyi.framework.shiro.service.SysPasswordService;
+import com.ruoyi.system.service.ISysConfigService;
+import com.ruoyi.system.service.ISysUserService;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.UUID;
+import java.util.concurrent.TimeUnit;
+
+
+/**
+ * 鐧诲綍鎺ュ彛瀹炵幇
+ *
+ * @author chen
+ */
+@Slf4j
+@Service
+public class ServiceImpl5001 implements PhoneService {
+
+ //RSA-绉侀挜
+ private static final String PRIVATE_KEY = "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAJo3SjBOwXnr97QrRjKcGsJnm8xuWw3bEGsqJseNTEwgYOm2+7L6wMVyIQjJfIG3UO27hubhf4r4iadfaocyCw1dNA82tRNlgGr/B9c68uSLcvFIBlKsd2z29FPC3yA+TKRpyoXC5iUS15PVzPji+d3qR8FgR2LoDmXVcah2UWhzAgMBAAECgYEAkyR8CfmrCyzFrMe5c+KUebcn5XfKMz84vDd8xtwf12bxcS4hnFU7B2ls8ZhlztLdSeeqwLKZ4jxgAy28VADAn2WKHI6z5PCezZpkcS4JbhqU4XhSeXw5UwNeBX0nnXzwO1kRgyMfMyNsUx0pDV6w42ZybufFeG3uEGt76J45j0ECQQDHhqq7LNg9nm6G0XnLERB2wz7YVfdXZKRVlwN38H/98wOIGVDhtgz/t4QGZgBBPEUbxXq1vcXhynRr7LP/W6ThAkEAxd2HbOLcWYG+h/c82/9N8BDZzZWVPzEfhq4MHGuNAvQ5R0SssfunQCQAhoAPnL++8Mz4FOKTExG+1DYAmDXj0wJAX91UKpphSznT4PLEkcyhHG6ywz6KmHLCgl0MTZQ/6sPX7ow7UDcoB7Ukue5IMQ/EJJO9YZTMfq/HQBN6aDagAQJBAMF0UpA3TlGE9RBivnIqL71j/E9wzLc4BCbdzKGM1hXpSodPsbli3qdri8f1NU6AeuNcw8FHtZyTYQyCsBohtlkCQB0Lv67uM0Wz628bfxQ1kCREoMMIuIEZPo6nRfTF4ASjnvERQehBhT2ZBWyGaDPKgG1YElOHAdI9jQvs22DtQ+4=";
+ @Autowired
+ private SysPasswordService passwordService;
+ @Autowired
+ private ISysUserService userService;
+ @Autowired
+ private ISysConfigService configService;
+ @Autowired
+ private SysDeptService deptService;
+ @Autowired
+ private RedisCache redisUtil;
+ @Override
+ public String getInterfaceId() {
+ return PhoneConstant.API_PHONE_5001;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public PhoneResponse<Object> execute(PhoneRequest<JSONObject> req, AuthUser auth)
+ throws Exception {
+ ParamUser param = JSONObject.parseObject(req.getData().toString(), ParamUser.class);
+
+ //楠岃瘉鍙傛暟
+ if (null == param) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1007, "鐢ㄦ埛鍚嶅拰瀵嗙爜閿欒锛岃閲嶆柊鐧诲綍锛�");
+ }
+ if (StringUtils.isEmpty(param.getUsername())) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1007, "鐢ㄦ埛鍚嶅拰瀵嗙爜閿欒锛岃閲嶆柊鐧诲綍锛�");
+ }
+ if (StringUtils.isEmpty(param.getPassword())) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1007, "鐢ㄦ埛鍚嶅拰瀵嗙爜閿欒锛岃閲嶆柊鐧诲綍锛�");
+ }
+ // 鐢ㄦ埛鍚嶆垨瀵嗙爜涓虹┖ 閿欒
+ if (StringUtils.isEmpty(param.getUsername()) || StringUtils.isEmpty(param.getPassword())) {
+ AsyncManager.me().execute(AsyncFactory.recordLogininfor(param.getUsername(), Constants.LOGIN_FAIL, MessageUtils.message("not.null")));
+ throw new UserNotExistsException();
+ }
+ // 瀵嗙爜濡傛灉涓嶅湪鎸囧畾鑼冨洿鍐� 閿欒
+ if (param.getPassword().length() < UserConstants.PASSWORD_MIN_LENGTH
+ || param.getPassword().length() > UserConstants.PASSWORD_MAX_LENGTH) {
+ AsyncManager.me().execute(AsyncFactory.recordLogininfor(param.getUsername(), Constants.LOGIN_FAIL, MessageUtils.message("user.password.not.match")));
+ throw new UserPasswordNotMatchException();
+ }
+ // 鐢ㄦ埛鍚嶄笉鍦ㄦ寚瀹氳寖鍥村唴 閿欒
+ if (param.getUsername().length() < UserConstants.USERNAME_MIN_LENGTH
+ || param.getUsername().length() > UserConstants.USERNAME_MAX_LENGTH) {
+ AsyncManager.me().execute(AsyncFactory.recordLogininfor(param.getUsername(), Constants.LOGIN_FAIL, MessageUtils.message("user.password.not.match")));
+ throw new UserPasswordNotMatchException();
+ }
+
+ // 鏌ヨ鐢ㄦ埛淇℃伅
+ SysUser user = userService.selectUserByLoginName(param.getUsername());
+
+ // IP榛戝悕鍗曟牎楠�
+ String blackStr = configService.selectConfigByKey("sys.login.blackIPList", user.getCompanyId());
+ if (IpUtils.isMatchedIp(blackStr, ShiroUtils.getIp())) {
+ AsyncManager.me().execute(AsyncFactory.recordLogininfor(param.getUsername(), Constants.LOGIN_FAIL, MessageUtils.message("login.blocked")));
+ throw new BlackListException();
+ }
+ if (user == null) {
+ AsyncManager.me().execute(AsyncFactory.recordLogininfor(param.getUsername(), Constants.LOGIN_FAIL, MessageUtils.message("user.not.exists")));
+ throw new UserNotExistsException();
+ }
+
+ if (UserStatus.DELETED.getCode().equals(user.getDelFlag())) {
+ AsyncManager.me().execute(AsyncFactory.recordLogininfor(param.getUsername(), Constants.LOGIN_FAIL, MessageUtils.message("user.password.delete")));
+ throw new UserDeleteException();
+ }
+
+ if (UserStatus.DISABLE.getCode().equals(user.getStatus())) {
+ AsyncManager.me().execute(AsyncFactory.recordLogininfor(param.getUsername(), Constants.LOGIN_FAIL, MessageUtils.message("user.blocked")));
+ throw new UserBlockedException();
+ }
+
+ passwordService.validate(user, param.getPassword());
+
+ AsyncManager.me().execute(AsyncFactory.recordLogininfor(param.getUsername(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")));
+ PUserDto phoneUserDto = new PUserDto();
+ //璁剧疆鐢ㄦ埛淇℃伅
+ phoneUserDto.setCname(user.getUserName());
+ phoneUserDto.setMobile(user.getPhonenumber());
+ phoneUserDto.setUsername(user.getLoginName());
+ phoneUserDto.setTokenAuth(UUID.randomUUID().toString().replaceAll("-", ""));
+
+ //璁剧疆AuthUser淇℃伅鍒扮紦瀛�
+ AuthUser authUser = new AuthUser();
+ authUser.setCompanyId(user.getCompanyId());
+ authUser.setUsername(user.getLoginName());
+ authUser.setCname(user.getUserName());
+ authUser.setEmail(user.getEmail());
+ authUser.setMobile(user.getPhonenumber());
+ //璁剧疆鐧诲綍鐢ㄦ埛鎵�灞炲垎搴撲俊鎭�
+ SysDept dept = deptService.getCacheDept(user.getCompanyId(),user.getDeptId().toString());
+
+ phoneUserDto.setCompanyId(authUser.getCompanyId());
+ phoneUserDto.setDeptId(dept.getDeptId().toString());
+ phoneUserDto.setDeptName(dept.getDeptName());
+ phoneUserDto.setType(dept.getType());
+
+ redisUtil.setCacheObject(PhoneUtil.createKey(phoneUserDto.getTokenAuth()),
+ authUser, 60 * 60 * 24, TimeUnit.SECONDS);
+ return PhoneRespUtil.success(phoneUserDto, req);
+ }
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5002.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5002.java
new file mode 100644
index 0000000..e455033
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5002.java
@@ -0,0 +1,60 @@
+package com.fzzy.igds.app.v1.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.fzzy.common.constant.RespCodeEnum;
+import com.fzzy.igds.app.v1.constant.PhoneConstant;
+import com.fzzy.igds.app.v1.data.AuthUser;
+import com.fzzy.igds.app.v1.data.ParamCommon;
+import com.fzzy.igds.app.v1.data.PhoneRequest;
+import com.fzzy.igds.app.v1.data.PhoneResponse;
+import com.fzzy.igds.app.v1.service.PhoneService;
+import com.fzzy.igds.app.v1.util.PhoneRespUtil;
+import com.fzzy.igds.domain.Dept;
+import com.fzzy.igds.service.CoreDeptService;
+import com.fzzy.igds.service.SysDeptService;
+import com.ruoyi.common.core.domain.entity.SysDept;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 鑾峰彇搴撳尯鍒楄〃淇℃伅
+ *
+ * @author chen
+ */
+@Service
+public class ServiceImpl5002 implements PhoneService {
+
+ @Autowired
+ private CoreDeptService deptService;
+
+ @Override
+ public String getInterfaceId() {
+ return PhoneConstant.API_PHONE_5002;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public PhoneResponse<Object> execute(PhoneRequest<JSONObject> req, AuthUser authUser)
+ throws Exception {
+
+ //杞寲涓哄璞�
+ ParamCommon param = JSONObject.parseObject(req.getData().toString(), ParamCommon.class);
+
+ if (null == param || StringUtils.isEmpty(param.getCompanyId())) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃鏍告煡锛�");
+ }
+
+
+ List<Dept> deptList = deptService.getDeptByUserTypeApp(null,authUser.getDeptId());
+
+
+ if (null == deptList || deptList.isEmpty()) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_2000, "鏈幏鍙栧埌搴撳尯鍒楄〃淇℃伅锛�");
+ }
+
+ return PhoneRespUtil.success(deptList, req);
+ }
+}
\ No newline at end of file
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5101.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5101.java
new file mode 100644
index 0000000..d671aef
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5101.java
@@ -0,0 +1,131 @@
+package com.fzzy.igds.app.v1.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.fzzy.common.constant.RespCodeEnum;
+import com.fzzy.igds.app.v1.constant.PhoneConstant;
+import com.fzzy.igds.app.v1.data.AuthUser;
+import com.fzzy.igds.app.v1.data.ParamOrder;
+import com.fzzy.igds.app.v1.data.PhoneRequest;
+import com.fzzy.igds.app.v1.data.PhoneResponse;
+import com.fzzy.igds.app.v1.dto.PWorkOrderDto;
+import com.fzzy.igds.app.v1.service.PhoneService;
+import com.fzzy.igds.app.v1.util.PhoneRespUtil;
+import com.fzzy.igds.constant.Constant;
+import com.fzzy.igds.service.SysDeptService;
+import com.fzzy.igds.service.SysUserService;
+import com.fzzy.igds.utils.ContextUtil;
+import com.fzzy.work.data.WorkBizType;
+import com.fzzy.work.data.WorkNode;
+import com.fzzy.work.data.WorkOrderParam;
+import com.fzzy.work.data.WorkStatus;
+import com.fzzy.work.domain.WorkOrder;
+import com.fzzy.work.mapper.WorkOrderMapper;
+import com.fzzy.work.service.WorkOrderService;
+import com.ruoyi.common.core.domain.entity.SysDept;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author: YYC
+ * @Description: 宸ュ崟绠$悊-鏌ヨ宸ュ崟鍒楄〃
+ * @DateTime: 2026-1-12 14:43
+ **/
+@Service
+public class ServiceImpl5101 implements PhoneService {
+ @Resource
+ private WorkOrderMapper workOrderMapper;
+ @Autowired
+ private SysDeptService deptService;
+ @Autowired
+ private SysUserService userService;
+
+ @Override
+ public String getInterfaceId() {
+ return PhoneConstant.API_PHONE_5101;
+ }
+
+ @Override
+ public PhoneResponse execute(PhoneRequest<JSONObject> req, AuthUser authUser) throws Exception {
+ //杞寲瀵硅薄
+ ParamOrder param = JSONObject.parseObject(req.getData().toString(), ParamOrder.class);
+ if (null == param) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ //鍙傛暟楠岃瘉
+ if (StringUtils.isEmpty(param.getDeptId())) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+
+ param.setCompanyId(authUser.getCompanyId());
+ QueryWrapper<WorkOrder> queryWrapper = new QueryWrapper<>();
+// queryWrapper.eq(null != param.getStatus(), "status", WorkStatus.STATUS_30.getCode());
+ String scope = WorkOrderParam.SCOPE_SELF;
+ SysUser user = userService.getUserByLoginName(authUser.getUsername());
+ this.updateQueryWrapper(queryWrapper, user, scope);
+ List<WorkOrder> list = workOrderMapper.selectList(queryWrapper);
+ SysDept dept = deptService.getCacheDept(param.getCompanyId(), param.getDeptId().toString());
+ List<PWorkOrderDto> reqList = new ArrayList<>();
+ PWorkOrderDto orderDto;
+ if (null != dept) {
+ for (WorkOrder workOrder : list) {
+ orderDto = new PWorkOrderDto();
+ BeanUtils.copyProperties(workOrder, orderDto);
+ orderDto.setDeptName(dept.getDeptName());
+ orderDto.setBizTypeName(WorkBizType.getMsg(workOrder.getBizType()));
+ reqList.add(orderDto);
+ }
+ }
+ return PhoneRespUtil.success(reqList, req);
+ }
+
+
+ private void updateQueryWrapper(QueryWrapper<WorkOrder> queryWrapper, SysUser user, String scope) {
+
+ queryWrapper.eq("company_id", user.getCompanyId());
+
+ //濡傛灉鏄釜浜哄伐鍗曪紝澶勭悊浜轰负绌烘垨鑰呬负褰撳墠浜�
+ if (WorkOrderParam.SCOPE_SELF.equals(scope)) {
+ queryWrapper.and((wrapper)->{
+ wrapper.isNull("assignee_id").or().eq("assignee_id", user.getLoginName());
+ });
+ }
+
+ //鐩戠鐢ㄦ埛-鏌ョ湅鎵�鏈夊簱鍖哄拰寰呭姙
+ if (Constant.USER_TYPE_10.equals(user.getUserType())) {
+ if (WorkOrderParam.SCOPE_SELF.equals(scope)) {
+ queryWrapper.eq("node", WorkNode.NODE2.getCode());
+ }
+ }
+
+ //搴撳尯鐢ㄦ埛锛屽鏋滄槸鍏徃鐢ㄦ埛鍙互鏌ョ湅鍏徃涓嬪睘鎵�鏈夊簱鍖猴紝濡傛灉涓哄綋鍓嶅簱鍖哄彧鏌ヨ褰撳墠搴撳尯
+ if (Constant.USER_TYPE_30.equals(user.getUserType())) {
+ if (ContextUtil.isDepotUser(user.getDeptId() + "")) {
+ queryWrapper.eq("dept_id", user.getDeptId() + "");
+ } else {
+ queryWrapper.likeRight("dept_id", user.getDeptId() + "");
+ }
+ if (WorkOrderParam.SCOPE_SELF.equals(scope)) {
+ queryWrapper.eq("node", WorkNode.NODE1.getCode());
+ }
+
+ }
+
+ //閾惰鐢ㄦ埛锛屾牴鎹悎鍚屾煡璇㈤摱琛屼笅鎵�鏈夊簱鍖�
+ if (Constant.USER_TYPE_20.equals(user.getUserType())) {
+ //濡傛灉娌℃湁閰嶇疆閾惰锛岃缃竴涓笉瀛樺湪鐨勯摱琛屽彿
+ if (StringUtils.isBlank(user.getUserData())) user.setUserData("9");
+ queryWrapper.eq("bank_id", user.getUserData());
+ if (WorkOrderParam.SCOPE_SELF.equals(scope)) {
+ queryWrapper.eq("node", WorkNode.NODE3.getCode());
+ }
+ }
+ }
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5102.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5102.java
new file mode 100644
index 0000000..f5d0cd7
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5102.java
@@ -0,0 +1,172 @@
+package com.fzzy.igds.app.v1.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.fzzy.common.constant.RespCodeEnum;
+import com.fzzy.igds.app.v1.constant.PhoneConstant;
+import com.fzzy.igds.app.v1.data.AuthUser;
+import com.fzzy.igds.app.v1.data.ParamOrder;
+import com.fzzy.igds.app.v1.data.PhoneRequest;
+import com.fzzy.igds.app.v1.data.PhoneResponse;
+import com.fzzy.igds.app.v1.mapper.PhoneMapper;
+import com.fzzy.igds.app.v1.service.PhoneService;
+import com.fzzy.igds.app.v1.util.PhoneRespUtil;
+import com.fzzy.igds.constant.Constant;
+import com.fzzy.igds.data.BaseResp;
+import com.fzzy.igds.utils.ContextUtil;
+import com.fzzy.work.data.WorkNode;
+import com.fzzy.work.data.WorkStatus;
+import com.fzzy.work.domain.WorkOrder;
+import com.fzzy.work.domain.WorkOrderConf;
+import com.fzzy.work.domain.WorkOrderProcess;
+import com.fzzy.work.mapper.WorkOrderMapper;
+import com.fzzy.work.service.WorkOrderConfService;
+import com.fzzy.work.service.WorkOrderProcessService;
+import com.fzzy.work.service.WorkOrderService;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Date;
+
+/**
+ * @Author: YYC
+ * @Description: 宸ュ崟绠$悊-宸ュ崟瀹℃牳
+ * @DateTime: 2026-1-12 14:43
+ **/
+@Service
+public class ServiceImpl5102 implements PhoneService {
+
+ @Resource
+ private WorkOrderService orderService;
+ @Resource
+ private WorkOrderConfService confService;
+ @Resource
+ private WorkOrderProcessService orderProcessService;
+
+
+ @Override
+ public String getInterfaceId() {
+ return PhoneConstant.API_PHONE_5102;
+ }
+
+ @Override
+ public PhoneResponse<Object> execute(PhoneRequest<JSONObject> req, AuthUser authUser) throws Exception {
+ //杞寲瀵硅薄
+ ParamOrder param = JSONObject.parseObject(req.getData().toString(), ParamOrder.class);
+ if (null == param) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ //鍙傛暟楠岃瘉
+ if (StringUtils.isEmpty(param.getDeptId())) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ //鑾峰彇宸ュ崟
+ WorkOrder work = orderService.selectById(param.getOrderId());
+ if (null == work) return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "褰撳墠宸ュ崟宸蹭笉瀛樺湪");
+
+ if (work.getStatus().equals(WorkStatus.STATUS_50.getCode())
+ || work.getStatus().equals(WorkStatus.STATUS_60.getCode())) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "褰撳墠宸ュ崟宸插鐞嗭紝璇峰埛鏂伴〉闈㈤噸璇曪紒锛�");
+ }
+ WorkOrderProcess process = new WorkOrderProcess();
+ BeanUtils.copyProperties(param, process);
+ //鍒ゆ柇鏄笉鏄寚瀹氬鐞嗕汉
+ if (StringUtils.isNotEmpty(work.getAssigneeId())) {
+ if (!work.getAssigneeId().equals(authUser.getUsername())) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "褰撳墠宸ュ崟宸插垎閰嶅叾浠栦汉澶勭悊锛岃鍕垮鐞�");
+ }
+ }
+
+ String curNode = process.getNode();
+ //鑾峰彇澶勭悊浜�
+ if (!curNode.equals(work.getNode())) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "褰撳墠宸ュ崟宸茶澶勭悊锛岃鍒锋柊椤甸潰閲嶈瘯锛侊紒");
+ }
+
+ //鑾峰彇閰嶇疆淇℃伅
+ WorkOrderConf conf = confService.selectById(work.getConfId());
+ if (null == conf) PhoneRespUtil.error(RespCodeEnum.CODE_1111, "褰撳墠宸ュ崟鏈厤缃祦绋�");
+
+
+ //娣诲姞璁板綍
+ process.setId(ContextUtil.UUID());
+ process.setCreateTime(new Date());
+ process.setOrderId(work.getId());
+ process.setAssigneeName(authUser.getCname());
+ process.setAssigneeId(authUser.getUsername());
+
+ WorkNode nextNode = this.getNextNode(work.getNode(), conf);
+
+ //閫氳繃鎿嶄綔
+ if ("pass".equals(param.getStatus())) {
+ process.setAction("閫氳繃");
+ process.setNode(work.getNode());
+ //缁撴潫鍒ゆ柇锛屽鏋滄槸缁撴潫鑺傜偣锛屽垯缁撴潫宸ュ崟
+ if (WorkNode.NODE_END.getCode().equals(nextNode.getCode())) {
+ work.setStatus(WorkStatus.STATUS_50.getCode());
+ work.setAssigneeName(process.getAssigneeName());
+ work.setAssigneeId(process.getAssigneeId());
+ work.setNode(nextNode.getCode());
+ orderService.complete(work);
+ } else {
+ work.setNode(nextNode.getCode());
+ work.setStatus(WorkStatus.STATUS_30.getCode());
+ orderService.updateData(work);
+ }
+
+ //澧炲姞瀹℃壒璁板綍
+ orderProcessService.addData(process, WorkNode.NODE_END.equals(nextNode));
+ return PhoneRespUtil.success(RespCodeEnum.CODE_0000.getCode(), req);
+ }
+
+ //鎷掔粷鎿嶄綔
+ if ("refuse".equals(param.getStatus())) {
+ process.setAction("鎷掔粷");
+ process.setNode(work.getNode());
+
+ work.setStatus(WorkStatus.STATUS_60.getCode());
+
+ orderService.complete(work);
+
+ //澧炲姞瀹℃壒璁板綍
+ orderProcessService.addData(process, true);
+
+ return PhoneRespUtil.success(RespCodeEnum.CODE_0000.getCode(), req);
+ }
+
+ return PhoneRespUtil.success(RespCodeEnum.CODE_0000.getCode(), req);
+ }
+
+
+ /**
+ * 鏍规嵁褰撳墠鑺傜偣鑾峰彇涓嬩竴涓妭鐐�
+ *
+ * @param curNode
+ * @param conf
+ * @return
+ */
+ private WorkNode getNextNode(String curNode, WorkOrderConf conf) {
+
+ if (null == conf) return WorkNode.NODE_END;
+
+ if (WorkNode.NODE_START.getCode().equals(curNode)) {
+ if (Constant.YN_Y.equals(conf.getNodeVal1())) return WorkNode.NODE1;
+ if (Constant.YN_Y.equals(conf.getNodeVal2())) return WorkNode.NODE2;
+ if (Constant.YN_Y.equals(conf.getNodeVal3())) return WorkNode.NODE3;
+ }
+
+ if (WorkNode.NODE1.getCode().equals(curNode)) {
+ if (Constant.YN_Y.equals(conf.getNodeVal2())) return WorkNode.NODE2;
+ if (Constant.YN_Y.equals(conf.getNodeVal3())) return WorkNode.NODE3;
+ }
+
+ if (WorkNode.NODE2.getCode().equals(curNode)) {
+ if (Constant.YN_Y.equals(conf.getNodeVal3())) return WorkNode.NODE3;
+ }
+
+ return WorkNode.NODE_END;
+ }
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5103.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5103.java
new file mode 100644
index 0000000..0299c94
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5103.java
@@ -0,0 +1,76 @@
+package com.fzzy.igds.app.v1.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.fzzy.common.constant.RespCodeEnum;
+import com.fzzy.igds.app.v1.constant.PhoneConstant;
+import com.fzzy.igds.app.v1.data.AuthUser;
+import com.fzzy.igds.app.v1.data.ParamOrder;
+import com.fzzy.igds.app.v1.data.PhoneRequest;
+import com.fzzy.igds.app.v1.data.PhoneResponse;
+import com.fzzy.igds.app.v1.service.PhoneService;
+import com.fzzy.igds.app.v1.util.PhoneRespUtil;
+import com.fzzy.igds.constant.Constant;
+import com.fzzy.igds.domain.Camera;
+import com.fzzy.igds.mapper.CameraMapper;
+import com.fzzy.igds.service.SecCameraService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author: YYC
+ * @Description: 瑙嗛鐩戠-鐩戞帶鍒楄〃
+ * @DateTime: 2026-1-12 14:43
+ **/
+@Service
+public class ServiceImpl5103 implements PhoneService {
+
+ @Resource
+ private CameraMapper cameraMapper;
+
+ @Override
+ public String getInterfaceId() {
+ return PhoneConstant.API_PHONE_5103;
+ }
+
+ @Override
+ public PhoneResponse<Object> execute(PhoneRequest<JSONObject> req, AuthUser authUser) throws Exception {
+
+ //杞寲瀵硅薄
+ ParamOrder param = JSONObject.parseObject(req.getData().toString(), ParamOrder.class);
+ if (null == param) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ //鍙傛暟楠岃瘉
+ if (StringUtils.isEmpty(param.getDeptId())) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ QueryWrapper<Camera> queryWrapper = new QueryWrapper<>();
+
+ if (StringUtils.isNotBlank(authUser.getCompanyId())) {
+ queryWrapper.eq("company_id", authUser.getCompanyId());
+ }
+ if (StringUtils.isNotBlank(param.getDeptId())) {
+ queryWrapper.likeRight("dept_id", param.getDeptId());
+ }
+ List<Camera> list = cameraMapper.selectList(queryWrapper);
+
+ if (list == null || list.isEmpty()) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_2000, "娌℃湁鏌ュ埌鐩戞帶璁惧淇℃伅锛�");
+ }
+
+ //杩囨护鎵嬫満鏄剧ず
+ List<Camera> result = new ArrayList<>();
+ for (Camera secCameraDto : list) {
+ if (StringUtils.isNotEmpty(secCameraDto.getPhoneShowTag()) && Constant.YN_Y.equals(secCameraDto.getPhoneShowTag())) {
+ result.add(secCameraDto);
+ }
+ }
+ return PhoneRespUtil.success(list, req);
+ }
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5104.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5104.java
new file mode 100644
index 0000000..7bb69da
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5104.java
@@ -0,0 +1,86 @@
+package com.fzzy.igds.app.v1.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.fzzy.common.constant.RespCodeEnum;
+import com.fzzy.igds.app.v1.constant.PhoneConstant;
+import com.fzzy.igds.app.v1.data.*;
+import com.fzzy.igds.app.v1.service.PhoneService;
+import com.fzzy.igds.app.v1.util.PhoneRespUtil;
+import com.fzzy.igds.camera.ApiCameraManager;
+import com.fzzy.igds.camera.data.ApiCameraData;
+import com.fzzy.igds.camera.data.ApiCameraResp;
+import com.fzzy.igds.domain.Camera;
+import com.fzzy.igds.service.SecCameraService;
+import com.fzzy.igds.utils.ContextUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * @Author: YYC
+ * @Description: 瑙嗛鐩戠-鐩戞帶鎾斁
+ * @DateTime: 2026-1-12 14:43
+ **/
+@Service
+public class ServiceImpl5104 implements PhoneService {
+
+ @Autowired
+ private SecCameraService secCameraService;
+ @Resource
+ private ApiCameraManager apiCameraManager;
+
+ @Override
+ public String getInterfaceId() {
+ return PhoneConstant.API_PHONE_5104;
+ }
+
+ @Override
+ public PhoneResponse<Object> execute(PhoneRequest<JSONObject> req, AuthUser authUser) throws Exception {
+ //杞寲瀵硅薄
+ ParamVideo param = JSONObject.parseObject(req.getData().toString(), ParamVideo.class);
+ if (null == param) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ //鍙傛暟楠岃瘉
+ if (StringUtils.isEmpty(param.getId())) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ if ("DEFAULT".equals(param.getPlayType())) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1007, "绯荤粺鏈厤缃綋鍓嶆憚鍍忓ご鎾斁鏂瑰紡锛屼笉鎵ц棰勮");
+ }
+ if (com.ruoyi.common.utils.StringUtils.isEmpty(param.getId()) || com.ruoyi.common.utils.StringUtils.isEmpty(param.getPlayType())) {
+
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1005, "娌℃湁鑾峰彇鍒扮洃鎺т俊鎭紒");
+ }
+
+ // 鏍规嵁id鑾峰彇璁惧淇℃伅
+ Camera camera = secCameraService.getCameraById(ContextUtil.getCompanyId(), param.getId());
+ if (null == camera) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1005, "缂撳瓨涓病鏈夎幏鍙栧埌鎽勫儚澶翠俊鎭紒");
+ }
+
+ //閫氳繃缁熶竴鍏ュ彛鑾峰彇鎾斁鍦板潃
+ ApiCameraData apiCameraData = new ApiCameraData();
+ apiCameraData.setCompanyId(camera.getCompanyId());
+ apiCameraData.setDeptId(camera.getDeptId());
+ apiCameraData.setCameraId(camera.getId());
+ apiCameraData.setIp(camera.getIp());
+ apiCameraData.setCtrlPort(camera.getControlPort());
+ apiCameraData.setWebPort(camera.getWebPort());
+ apiCameraData.setPlayType(param.getPlayType());
+ apiCameraData.setSnapType(camera.getSnapType());
+ apiCameraData.setSn(camera.getSn());
+ apiCameraData.setChannel(camera.getChanNum());
+ apiCameraData.setLoginId(camera.getLoginId());
+ apiCameraData.setPwd(camera.getPwd());
+ apiCameraData.setUrlIn(camera.getUrlIn());
+ apiCameraData.setUrlOut(camera.getUrlOut());
+ apiCameraData.setMediaAddr(camera.getMediaAddr());
+ ApiCameraResp resp = apiCameraManager.getApiCameraService(apiCameraData.getPlayType()).getPlayAddr(apiCameraData);
+
+ return PhoneRespUtil.success(resp, req);
+ }
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5105.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5105.java
new file mode 100644
index 0000000..f957e8a
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5105.java
@@ -0,0 +1,62 @@
+package com.fzzy.igds.app.v1.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.fzzy.common.constant.RespCodeEnum;
+import com.fzzy.common.utils.DateUtil;
+import com.fzzy.igds.app.v1.constant.PhoneConstant;
+import com.fzzy.igds.app.v1.data.AuthUser;
+import com.fzzy.igds.app.v1.data.ParamPatrol;
+import com.fzzy.igds.app.v1.data.PhoneRequest;
+import com.fzzy.igds.app.v1.data.PhoneResponse;
+import com.fzzy.igds.app.v1.dto.PPatrolDto;
+import com.fzzy.igds.app.v1.service.PhoneService;
+import com.fzzy.igds.app.v1.util.PhoneRespUtil;
+import com.fzzy.igds.domain.Patrol;
+import com.fzzy.igds.domain.PatrolRecord;
+import com.fzzy.igds.mapper.PatrolMapper;
+import com.fzzy.igds.service.PatrolService;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.time.DateFormatUtils;
+import org.apache.commons.lang3.time.DateUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Author: YYC
+ * @Description: 宸℃鐩戠-鐢靛瓙宸℃洿璁板綍
+ * @DateTime: 2026-1-12 14:43
+ **/
+@Service
+public class ServiceImpl5105 implements PhoneService {
+
+ @Resource
+ private PatrolService patrolService;
+
+ @Override
+ public String getInterfaceId() {
+ return PhoneConstant.API_PHONE_5105;
+ }
+
+ @Override
+ public PhoneResponse<Object> execute(PhoneRequest<JSONObject> req, AuthUser authUser) throws Exception {
+ //杞寲瀵硅薄
+ ParamPatrol param = JSONObject.parseObject(req.getData().toString(), ParamPatrol.class);
+ if (null == param) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ //鍙傛暟楠岃瘉
+ if (StringUtils.isEmpty(param.getDeptId())) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ //鍙傛暟楠岃瘉
+ if (null == param.getDateTime()) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ List<PatrolRecord> list = patrolService.getRecordByPatrolId(DateFormatUtils.format(param.getDateTime(), "yyyyMMdd"));
+ return PhoneRespUtil.success(list, req);
+ }
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5106.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5106.java
new file mode 100644
index 0000000..09f39f7
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5106.java
@@ -0,0 +1,133 @@
+package com.fzzy.igds.app.v1.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.fzzy.common.constant.RespCodeEnum;
+import com.fzzy.igds.app.v1.constant.PhoneConstant;
+import com.fzzy.igds.app.v1.data.AuthUser;
+import com.fzzy.igds.app.v1.data.ParamPatrol;
+import com.fzzy.igds.app.v1.data.PhoneRequest;
+import com.fzzy.igds.app.v1.data.PhoneResponse;
+import com.fzzy.igds.app.v1.service.PhoneService;
+import com.fzzy.igds.app.v1.util.PhoneRespUtil;
+import com.fzzy.igds.domain.Patrol;
+import com.fzzy.igds.domain.PatrolConf;
+import com.fzzy.igds.domain.PatrolRecord;
+import com.fzzy.igds.mapper.PatrolConfMapper;
+import com.fzzy.igds.mapper.PatrolMapper;
+import com.fzzy.igds.mapper.PatrolRecordMapper;
+import com.fzzy.igds.service.FileService;
+import com.fzzy.igds.service.PatrolService;
+import com.fzzy.igds.utils.ContextUtil;
+import com.ruoyi.common.config.FrameworkConfig;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.time.DateFormatUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Author: YYC
+ * @Description: 宸℃鐩戠-鐢靛瓙宸℃洿鎵撳崱
+ * @DateTime: 2026-1-12 14:43
+ **/
+@Service
+public class ServiceImpl5106 implements PhoneService {
+
+ @Resource
+ private PatrolConfMapper patrolConfMapper;
+ @Resource
+ private PatrolMapper patrolMapper;
+ @Resource
+ private PatrolRecordMapper patrolRecordMapper;
+ @Resource
+ private FileService fileService;
+
+
+ @Override
+ public String getInterfaceId() {
+ return PhoneConstant.API_PHONE_5106;
+ }
+
+ @Override
+ public PhoneResponse<Object> execute(PhoneRequest<JSONObject> req, AuthUser authUser) throws Exception {
+ //杞寲瀵硅薄
+ ParamPatrol param = JSONObject.parseObject(req.getData().toString(), ParamPatrol.class);
+ if (null == param) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ //鍙傛暟楠岃瘉
+ if (StringUtils.isEmpty(param.getDeptId())) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ //鍙傛暟楠岃瘉
+ if (StringUtils.isEmpty(param.getLongitude())) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ //鍙傛暟楠岃瘉
+ if (StringUtils.isEmpty(param.getLatitude())) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ //鍙傛暟楠岃瘉
+ if (StringUtils.isEmpty(param.getUserName())) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ PatrolRecord patrolRecord = new PatrolRecord();
+ String longitude = param.getLongitude();
+ String latitude = param.getLatitude();
+ patrolRecord.setLongitude(longitude.substring(0, (longitude.indexOf(".") + 6)));
+ patrolRecord.setLatitude(latitude.substring(0, (latitude.indexOf(".") + 6)));
+ patrolRecord.setCreateTime(new Date());
+ patrolRecord.setPatrolId(DateFormatUtils.format(patrolRecord.getCreateTime(), "yyyyMMdd"));
+ patrolRecord.setId(ContextUtil.generateId());
+ patrolRecord.setCompanyId(authUser.getCompanyId());
+ patrolRecord.setCreateBy(authUser.getCname());
+ patrolRecord.setUpdateTime(new Date());
+ patrolRecord.setUpdateBy(authUser.getCname());
+ String path = fileService.getFileSavePath("PATROL") + param.getImgName();
+ patrolRecord.setImgName(path.replace(FrameworkConfig.getProfile(), "/profile/"));
+
+ QueryWrapper<Patrol> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("id", patrolRecord.getPatrolId());
+ List<Patrol> patrolList = patrolMapper.selectList(queryWrapper);
+ if (null == patrolList) {
+ Patrol patrol = new Patrol();
+ patrol.setId(patrolRecord.getPatrolId());
+
+ patrol.setDeptId(authUser.getDeptId());
+ patrol.setUserId(authUser.getUsername());
+ patrol.setUserName(authUser.getCname());
+ patrol.setCompanyId(authUser.getCompanyId());
+ patrol.setCreateBy(authUser.getCname());
+ patrol.setCreateTime(new Date());
+ patrol.setUpdateBy(authUser.getCname());
+ patrol.setUpdateTime(new Date());
+
+ QueryWrapper<PatrolConf> queryConfWrapper = new QueryWrapper<>();
+ queryConfWrapper.ge("start", new Date());
+ queryConfWrapper.le("end", new Date());
+ queryConfWrapper.eq("company_id", authUser.getCompanyId());
+ queryConfWrapper.eq("dept_id", authUser.getDeptId());
+ List<PatrolConf> confList = patrolConfMapper.selectList(queryConfWrapper);
+ if (null == confList) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1007, "璇峰~鍐欑浉鍏崇殑鐝淇℃伅锛侊紒");
+ }
+ PatrolConf patrolConf = confList.get(0);
+ patrol.setConfId(patrolConf.getId());
+ patrol.setConfName(patrolConf.getName());
+
+ int insert = patrolMapper.insert(patrol);
+ if (insert > 0) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1007, "淇濆瓨澶辫触锛侊紒");
+ }
+ }
+ int insert = patrolRecordMapper.insert(patrolRecord);
+ if (insert > 0) {
+ return PhoneRespUtil.success(RespCodeEnum.CODE_0000, req);
+ }
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1007, "淇濆瓨澶辫触锛侊紒");
+
+ }
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5107.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5107.java
new file mode 100644
index 0000000..1f731ba
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5107.java
@@ -0,0 +1,60 @@
+package com.fzzy.igds.app.v1.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.fzzy.common.constant.RespCodeEnum;
+import com.fzzy.common.utils.Base64Util;
+import com.fzzy.igds.app.v1.constant.PhoneConstant;
+import com.fzzy.igds.app.v1.data.AuthUser;
+import com.fzzy.igds.app.v1.data.ParamPatrol;
+import com.fzzy.igds.app.v1.data.PhoneRequest;
+import com.fzzy.igds.app.v1.data.PhoneResponse;
+import com.fzzy.igds.app.v1.service.PhoneService;
+import com.fzzy.igds.app.v1.util.PhoneRespUtil;
+import com.fzzy.igds.domain.PatrolRecord;
+import com.fzzy.igds.mapper.PatrolRecordMapper;
+import com.fzzy.igds.service.FileService;
+import com.ruoyi.common.config.FrameworkConfig;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * @Author: YYC
+ * @Description: 宸℃鐩戠-宸℃洿鐓х墖鏌ョ湅
+ * @DateTime: 2026-1-12 14:43
+ **/
+@Service
+public class ServiceImpl5107 implements PhoneService {
+
+ @Resource
+ private PatrolRecordMapper patrolRecordMapper;
+ @Resource
+ private FileService fileService;
+
+ @Override
+ public String getInterfaceId() {
+ return PhoneConstant.API_PHONE_5107;
+ }
+
+ @Override
+ public PhoneResponse<Object> execute(PhoneRequest<JSONObject> req, AuthUser authUser) throws Exception {
+ //杞寲瀵硅薄
+ ParamPatrol param = JSONObject.parseObject(req.getData().toString(), ParamPatrol.class);
+ if (null == param) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ //鍙傛暟楠岃瘉
+ if (StringUtils.isEmpty(param.getId())) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ param.setCompanyId(authUser.getCompanyId());
+ PatrolRecord patrolRecord = patrolRecordMapper.selectById(param.getId());
+ if (StringUtils.isNotEmpty(patrolRecord.getImgName())) {
+ String imgData = Base64Util.getImageStr(patrolRecord.getImgName().replace("/profile/", FrameworkConfig.getProfile()));
+ patrolRecord.setImgName(imgData);
+ }
+ return PhoneRespUtil.success(patrolRecord, req);
+ }
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5108.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5108.java
new file mode 100644
index 0000000..4c724de
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5108.java
@@ -0,0 +1,88 @@
+package com.fzzy.igds.app.v1.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.fzzy.common.constant.RespCodeEnum;
+import com.fzzy.igds.app.v1.constant.PhoneConstant;
+import com.fzzy.igds.app.v1.data.AuthUser;
+import com.fzzy.igds.app.v1.data.ParamPatrol;
+import com.fzzy.igds.app.v1.data.PhoneRequest;
+import com.fzzy.igds.app.v1.data.PhoneResponse;
+import com.fzzy.igds.app.v1.dto.PSnapDto;
+import com.fzzy.igds.app.v1.service.PhoneService;
+import com.fzzy.igds.app.v1.util.PhoneRespUtil;
+import com.fzzy.igds.domain.Dept;
+import com.fzzy.igds.domain.PatrolRecord;
+import com.fzzy.igds.domain.SnapRecord;
+import com.fzzy.igds.mapper.SnapRecordMapper;
+import com.fzzy.igds.service.CoreDeptService;
+import com.fzzy.igds.service.FileService;
+import com.fzzy.igds.utils.ContextUtil;
+import com.fzzy.igds.utils.DateUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.time.DateFormatUtils;
+import org.apache.commons.lang3.time.DateUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Author: YYC
+ * @Description: 鎶撴媿绠$悊-鎶撴媿璁板綍鍒楄〃
+ * @DateTime: 2026-1-12 14:43
+ **/
+@Service
+public class ServiceImpl5108 implements PhoneService {
+
+ @Resource
+ private SnapRecordMapper snapRecordMapper;
+ @Resource
+ private CoreDeptService deptService;
+
+
+ @Override
+ public String getInterfaceId() {
+ return PhoneConstant.API_PHONE_5108;
+ }
+
+ @Override
+ public PhoneResponse<Object> execute(PhoneRequest<JSONObject> req, AuthUser authUser) throws Exception {
+ //杞寲瀵硅薄
+ ParamPatrol param = JSONObject.parseObject(req.getData().toString(), ParamPatrol.class);
+ if (null == param) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ //鍙傛暟楠岃瘉
+ if (StringUtils.isEmpty(param.getDeptId())) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ //鍙傛暟楠岃瘉
+ if (null == param.getDateTime()) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ QueryWrapper<SnapRecord> queryWrapper = new QueryWrapper<>();
+
+ param.setCompanyId(ContextUtil.getCompanyId());
+ queryWrapper.eq("company_id", param.getCompanyId());
+ queryWrapper.likeRight("dept_id", param.getDeptId());
+ queryWrapper.ge("snap_time", DateUtil.getCurZero(param.getDateTime()));
+ queryWrapper.le("snap_time", DateUtil.getNextZero(param.getDateTime()));
+
+ List<SnapRecord> list = snapRecordMapper.selectList(queryWrapper);
+ PSnapDto snapDto;
+ Dept dept;
+ List<PSnapDto> snapDtoList = new ArrayList<>();
+ for (SnapRecord snapRecord:list){
+ snapDto = new PSnapDto();
+ BeanUtils.copyProperties(snapRecord,snapDto);
+ dept = deptService.getDeptById(snapRecord.getDeptId());
+ snapDto.setDeptName(dept.getKqmc());
+ snapDtoList.add(snapDto);
+ }
+ return PhoneRespUtil.success(snapDtoList, req);
+ }
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5109.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5109.java
new file mode 100644
index 0000000..0de2004
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5109.java
@@ -0,0 +1,60 @@
+package com.fzzy.igds.app.v1.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.fzzy.common.constant.RespCodeEnum;
+import com.fzzy.common.utils.Base64Util;
+import com.fzzy.igds.app.v1.constant.PhoneConstant;
+import com.fzzy.igds.app.v1.data.AuthUser;
+import com.fzzy.igds.app.v1.data.ParamPatrol;
+import com.fzzy.igds.app.v1.data.PhoneRequest;
+import com.fzzy.igds.app.v1.data.PhoneResponse;
+import com.fzzy.igds.app.v1.service.PhoneService;
+import com.fzzy.igds.app.v1.util.PhoneRespUtil;
+import com.fzzy.igds.domain.PatrolRecord;
+import com.fzzy.igds.domain.SnapRecord;
+import com.fzzy.igds.mapper.SnapRecordMapper;
+import com.fzzy.igds.service.FileService;
+import com.ruoyi.common.config.FrameworkConfig;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+/**
+ * @Author: YYC
+ * @Description: 鎶撴媿绠$悊-鎶撴媿鐓х墖鏌ョ湅
+ * @DateTime: 2026-1-12 14:43
+ **/
+@Service
+public class ServiceImpl5109 implements PhoneService {
+
+ @Resource
+ private SnapRecordMapper snapRecordMapper;
+ @Resource
+ private FileService fileService;
+
+ @Override
+ public String getInterfaceId() {
+ return PhoneConstant.API_PHONE_5109;
+ }
+
+ @Override
+ public PhoneResponse<Object> execute(PhoneRequest<JSONObject> req, AuthUser authUser) throws Exception {
+ //杞寲瀵硅薄
+ ParamPatrol param = JSONObject.parseObject(req.getData().toString(), ParamPatrol.class);
+ if (null == param) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ //鍙傛暟楠岃瘉
+ if (StringUtils.isEmpty(param.getId())) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ param.setCompanyId(authUser.getCompanyId());
+ SnapRecord snapRecord = snapRecordMapper.selectById(param.getId());
+ if (StringUtils.isNotEmpty(snapRecord.getImgName())) {
+ String imgData = Base64Util.getImageStr(snapRecord.getImgName().replace("/profile/", FrameworkConfig.getProfile()));
+ snapRecord.setImgName(imgData);
+ }
+ return PhoneRespUtil.success(snapRecord, req);
+ }
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5110.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5110.java
new file mode 100644
index 0000000..774b106
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5110.java
@@ -0,0 +1,83 @@
+package com.fzzy.igds.app.v1.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.fzzy.common.constant.RespCodeEnum;
+import com.fzzy.igds.app.v1.constant.PhoneConstant;
+import com.fzzy.igds.app.v1.data.AuthUser;
+import com.fzzy.igds.app.v1.data.ParamPatrol;
+import com.fzzy.igds.app.v1.data.PhoneRequest;
+import com.fzzy.igds.app.v1.data.PhoneResponse;
+import com.fzzy.igds.app.v1.dto.PEventInfoDto;
+import com.fzzy.igds.app.v1.service.PhoneService;
+import com.fzzy.igds.app.v1.util.PhoneRespUtil;
+import com.fzzy.igds.domain.Dept;
+import com.fzzy.igds.domain.EventInfo;
+import com.fzzy.igds.domain.SnapRecord;
+import com.fzzy.igds.mapper.EventInfoMapper;
+import com.fzzy.igds.service.CoreDeptService;
+import com.fzzy.igds.utils.ContextUtil;
+import com.fzzy.igds.utils.DateUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author: YYC
+ * @Description: AI浜嬩欢绠$悊-AI璁板綍鍒楄〃
+ * @DateTime: 2026-1-12 14:43
+ **/
+@Service
+public class ServiceImpl5110 implements PhoneService {
+
+ @Resource
+ private EventInfoMapper eventInfoMapper;
+ @Resource
+ private CoreDeptService deptService;
+
+ @Override
+ public String getInterfaceId() {
+ return PhoneConstant.API_PHONE_5110;
+ }
+
+ @Override
+ public PhoneResponse<Object> execute(PhoneRequest<JSONObject> req, AuthUser authUser) throws Exception {
+ //杞寲瀵硅薄
+ ParamPatrol param = JSONObject.parseObject(req.getData().toString(), ParamPatrol.class);
+ if (null == param) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ //鍙傛暟楠岃瘉
+ if (StringUtils.isEmpty(param.getDeptId())) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ //鍙傛暟楠岃瘉
+ if (null == param.getDateTime()) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ QueryWrapper<EventInfo> queryWrapper = new QueryWrapper<>();
+
+ param.setCompanyId(ContextUtil.getCompanyId());
+ queryWrapper.eq("company_id", param.getCompanyId());
+ queryWrapper.likeRight("dept_id", param.getDeptId());
+ queryWrapper.ge("time", DateUtil.getCurZero(param.getDateTime()));
+ queryWrapper.le("time", DateUtil.getNextZero(param.getDateTime()));
+
+ List<EventInfo> list = eventInfoMapper.selectList(queryWrapper);
+ List<PEventInfoDto> dtoList = new ArrayList<>();
+ PEventInfoDto eventInfoDto;
+ Dept dept;
+ for (EventInfo eventInfo:list){
+ eventInfoDto = new PEventInfoDto();
+ BeanUtils.copyProperties(eventInfo,eventInfoDto);
+ dept = deptService.getDeptById(eventInfo.getDeptId());
+ eventInfoDto.setDeptName(dept.getKqmc());
+ dtoList.add(eventInfoDto);
+ }
+ return PhoneRespUtil.success(dtoList, req);
+ }
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5111.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5111.java
new file mode 100644
index 0000000..8d3a52f
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5111.java
@@ -0,0 +1,51 @@
+package com.fzzy.igds.app.v1.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.fzzy.common.constant.RespCodeEnum;
+import com.fzzy.common.utils.Base64Util;
+import com.fzzy.igds.app.v1.constant.PhoneConstant;
+import com.fzzy.igds.app.v1.data.AuthUser;
+import com.fzzy.igds.app.v1.data.ParamPatrol;
+import com.fzzy.igds.app.v1.data.PhoneRequest;
+import com.fzzy.igds.app.v1.data.PhoneResponse;
+import com.fzzy.igds.app.v1.dto.PPatrolDto;
+import com.fzzy.igds.app.v1.service.PhoneService;
+import com.fzzy.igds.app.v1.util.PhoneRespUtil;
+import com.fzzy.igds.domain.SnapRecord;
+import com.ruoyi.common.config.FrameworkConfig;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Author: YYC
+ * @Description: AI浜嬩欢绠$悊-AI宸℃洿鐓х墖鏌ョ湅
+ * @DateTime: 2026-1-12 14:43
+ **/
+@Service
+public class ServiceImpl5111 implements PhoneService {
+
+ @Override
+ public String getInterfaceId() {
+ return PhoneConstant.API_PHONE_5111;
+ }
+
+ @Override
+ public PhoneResponse<Object> execute(PhoneRequest<JSONObject> req, AuthUser authUser) throws Exception {
+ //杞寲瀵硅薄
+ ParamPatrol param = JSONObject.parseObject(req.getData().toString(), ParamPatrol.class);
+ if (null == param) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ //鍙傛暟楠岃瘉
+ if (StringUtils.isEmpty(param.getImgName())) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_2000, "鏈壘鍒版姄鎷嶇収鐗囷紒锛�");
+ }
+ PPatrolDto patrolDto = new PPatrolDto();
+ if (StringUtils.isNotEmpty(param.getImgName())) {
+ String imgData = Base64Util.getImageStr(param.getImgName().replace("/profile/", FrameworkConfig.getProfile()));
+ patrolDto.setImgName(imgData);
+ }
+
+ return PhoneRespUtil.success(patrolDto, req);
+ }
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5201.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5201.java
new file mode 100644
index 0000000..d8f0a86
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5201.java
@@ -0,0 +1,54 @@
+package com.fzzy.igds.app.v1.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.fzzy.common.constant.RespCodeEnum;
+import com.fzzy.igds.app.v1.constant.PhoneConstant;
+import com.fzzy.igds.app.v1.data.AuthUser;
+import com.fzzy.igds.app.v1.data.ParamCommon;
+import com.fzzy.igds.app.v1.data.PhoneRequest;
+import com.fzzy.igds.app.v1.data.PhoneResponse;
+import com.fzzy.igds.app.v1.service.PhoneService;
+import com.fzzy.igds.app.v1.util.PhoneRespUtil;
+import com.fzzy.igds.domain.Depot;
+import com.fzzy.igds.service.DepotService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * @Author: YYC
+ * @Description: 绮儏鏁版嵁鏌ョ湅-浠撴埧鍒楄〃
+ * @DateTime: 2026-1-12 14:43
+ **/
+@Service
+public class ServiceImpl5201 implements PhoneService {
+
+ @Resource
+ private DepotService depotService;
+
+ @Override
+ public String getInterfaceId() {
+ return PhoneConstant.API_PHONE_5201;
+ }
+
+ @Override
+ public PhoneResponse<Object> execute(PhoneRequest<JSONObject> req, AuthUser authUser) throws Exception {
+
+ //杞寲涓哄璞�
+ ParamCommon param = JSONObject.parseObject(req.getData().toString(), ParamCommon.class);
+ if (null == param || StringUtils.isEmpty(param.getDeptId())) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃鏍告煡锛�");
+ }
+
+ //鑾峰彇浠撳簱淇℃伅
+ List<Depot> depotList = depotService.getData(authUser.getCompanyId(), param.getDeptId(), false);
+
+ if (null == depotList || depotList.isEmpty()) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鏈煡鍒版暟鎹紒");
+ }
+
+ return PhoneRespUtil.success(depotList, req);
+ }
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5202.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5202.java
new file mode 100644
index 0000000..d2a575f
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5202.java
@@ -0,0 +1,28 @@
+package com.fzzy.igds.app.v1.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.fzzy.igds.app.v1.constant.PhoneConstant;
+import com.fzzy.igds.app.v1.data.AuthUser;
+import com.fzzy.igds.app.v1.data.PhoneRequest;
+import com.fzzy.igds.app.v1.data.PhoneResponse;
+import com.fzzy.igds.app.v1.service.PhoneService;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Author: YYC
+ * @Description: 绮儏鏁版嵁鏌ョ湅-骞虫埧浠撶伯鎯呮帴鍙�
+ * @DateTime: 2026-1-12 14:43
+ **/
+@Service
+public class ServiceImpl5202 implements PhoneService {
+
+ @Override
+ public String getInterfaceId() {
+ return PhoneConstant.API_PHONE_5202;
+ }
+
+ @Override
+ public PhoneResponse<Object> execute(PhoneRequest<JSONObject> req, AuthUser authUser) throws Exception {
+ return null;
+ }
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5203.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5203.java
new file mode 100644
index 0000000..e58b8e5
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5203.java
@@ -0,0 +1,28 @@
+package com.fzzy.igds.app.v1.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.fzzy.igds.app.v1.constant.PhoneConstant;
+import com.fzzy.igds.app.v1.data.AuthUser;
+import com.fzzy.igds.app.v1.data.PhoneRequest;
+import com.fzzy.igds.app.v1.data.PhoneResponse;
+import com.fzzy.igds.app.v1.service.PhoneService;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Author: YYC
+ * @Description: 绮儏鏁版嵁鏌ョ湅-鍦嗙瓛浠撶伯鎯呮帴鍙�
+ * @DateTime: 2026-1-12 14:43
+ **/
+@Service
+public class ServiceImpl5203 implements PhoneService {
+
+ @Override
+ public String getInterfaceId() {
+ return PhoneConstant.API_PHONE_5203;
+ }
+
+ @Override
+ public PhoneResponse<Object> execute(PhoneRequest<JSONObject> req, AuthUser authUser) throws Exception {
+ return null;
+ }
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5204.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5204.java
new file mode 100644
index 0000000..dbf04b2
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5204.java
@@ -0,0 +1,154 @@
+package com.fzzy.igds.app.v1.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.fzzy.common.constant.RespCodeEnum;
+import com.fzzy.common.utils.DateUtil;
+import com.fzzy.igds.app.v1.constant.PhoneConstant;
+import com.fzzy.igds.app.v1.data.AuthUser;
+import com.fzzy.igds.app.v1.data.ParamDepot;
+import com.fzzy.igds.app.v1.data.PhoneRequest;
+import com.fzzy.igds.app.v1.data.PhoneResponse;
+import com.fzzy.igds.app.v1.dto.PDetailDto;
+import com.fzzy.igds.app.v1.dto.PGrainDto;
+import com.fzzy.igds.app.v1.dto.PPointDto;
+import com.fzzy.igds.app.v1.service.PhoneService;
+import com.fzzy.igds.app.v1.util.PhoneRespUtil;
+import com.fzzy.igds.app.v1.util.PhoneUtil;
+import com.fzzy.igds.data.GrainData;
+import com.fzzy.igds.data.GrainLay;
+import com.fzzy.igds.data.GrainParam;
+import com.fzzy.igds.data.GrainPoint;
+import com.fzzy.igds.domain.Depot;
+import com.fzzy.igds.domain.DepotConf;
+import com.fzzy.igds.domain.Grain;
+import com.fzzy.igds.service.DepotConfService;
+import com.fzzy.igds.service.DepotService;
+import com.fzzy.igds.service.GrainService;
+import com.fzzy.igds.utils.GrainDataBuilder;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.time.DateUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Author: YYC
+ * @Description: 绮儏鏁版嵁鏌ョ湅-鍘嗗彶鏁版嵁(鏍规嵁椤电爜鏌ヨ)鎺ュ彛
+ * @DateTime: 2026-1-12 14:43
+ **/
+@Service
+public class ServiceImpl5204 implements PhoneService {
+
+ @Autowired
+ private PhoneUtil phoneUtil;
+ @Autowired
+ private DepotService depotService;
+ @Autowired
+ private GrainService coreGrainService;
+ @Autowired
+ private DepotConfService depotConfService;
+
+ @Override
+ public String getInterfaceId() {
+ return PhoneConstant.API_PHONE_5204;
+ }
+
+ @Override
+ public PhoneResponse<Object> execute(PhoneRequest<JSONObject> req, AuthUser authUser) throws Exception {
+ ParamDepot param = JSONObject.parseObject(req.getData().toString(), ParamDepot.class);
+ if (null == param) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ //鍙傛暟楠岃瘉
+ if (StringUtils.isEmpty(param.getDeptId()) || StringUtils.isEmpty(param.getDepotId()) || null == param.getDateTime()) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ GrainParam grainParam = new GrainParam();
+ grainParam.setDepotId(param.getDepotId());
+ grainParam.setCompanyId(authUser.getCompanyId());
+ Date date = DateUtils.parseDate(param.getDateTime(), "yyyy-MM");
+ //璁剧疆鏌ヨ鏃堕棿,鏈堢殑绗竴澶╁埌鏈�鍚庝竴澶�
+ grainParam.setStart(DateUtil.getMonthFirst(date));
+ grainParam.setEnd(DateUtil.getNextMonthFirst(date));
+ grainParam.setDeptId(param.getDeptId());
+
+ //鏌ヨ绮儏鏁版嵁
+ List<Grain> list = coreGrainService.listData(grainParam);
+ Depot depot = depotService.getCacheDepot(authUser.getCompanyId(), param.getDepotId());
+ if (null == list || list.isEmpty()) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1005, "璇ヤ粨搴撴殏鏃犵伯鎯呮暟鎹紒");
+ }
+
+ //杩斿洖鏁版嵁灏佽
+ List<PGrainDto> dtoList = new ArrayList<>();
+ PGrainDto dto;
+ List<PPointDto> listPoints;
+ List<PDetailDto> listDetail;
+ PPointDto pointDto;
+ PDetailDto detailDto;
+
+ DepotConf depotConf;
+ GrainData data;
+ Depot depotData;
+ List<GrainData> result = new ArrayList<>();
+ for (Grain grain : list) {
+ depotConf = depotConfService.getCacheDepotConfByDepotId(grain.getCompanyId(), grain.getDepotId());
+ data = new GrainData();
+ BeanUtils.copyProperties(grain, data);
+ // 娣诲姞浠撳簱淇℃伅
+ depotData = depotService.getCacheDepot(param.getCompanyId(), param.getDepotId());
+ GrainDataBuilder.updateGrainData(data, depotConf, depotData.getDepotType());
+ result.add(data);
+ }
+ for (GrainData grainData : result) {
+ dto = new PGrainDto();
+ dto.setDepotId(grainData.getDepotId());
+ dto.setDepotName(phoneUtil.getDepotName(authUser.getCompanyId(),dto.getDepotId()));
+ dto.setDepotType(depot.getDepotType());
+ dto.setReceiveDate(grainData.getReceiveDate());
+ dto.setTempIn(grainData.getTempIn());
+ dto.setHumidityIn(grainData.getHumidityIn());
+ dto.setTempOut(grainData.getTempOut());
+ dto.setHumidityOut(grainData.getHumidityOut());
+ dto.setTempMax(grainData.getTempMax());
+ dto.setTempMin(grainData.getTempMin());
+ dto.setTempAve(grainData.getTempAve());
+ dto.setCable(grainData.getCable().replaceAll(",","-"));
+ if(StringUtils.isNotEmpty(grainData.getCableCir())){
+ dto.setCableCir(grainData.getCableCir().replaceAll(",", "-"));
+ }
+
+ listPoints = new ArrayList<>();
+ for (GrainPoint point : grainData.getListPoints()) {
+ pointDto = new PPointDto();
+ pointDto.setX(point.getX());
+ pointDto.setY(point.getY());
+ pointDto.setZ(point.getZ());
+ pointDto.setFz(point.getFz());
+ pointDto.setTemp(point.getTemp());
+ listPoints.add(pointDto);
+ }
+ dto.setPoints(listPoints);
+
+ listDetail = new ArrayList<>();
+ for (GrainLay lay : grainData.getListLays()) {
+ detailDto = new PDetailDto();
+ detailDto.setFz(lay.getFz());
+ detailDto.setFzName(lay.getFz() + "灞�");
+ detailDto.setTempMax(lay.getTempMax());
+ detailDto.setTempMin(lay.getTempMin());
+ detailDto.setTempAve(lay.getTempAve());
+ listDetail.add(detailDto);
+ }
+ dto.setDetails(listDetail);
+
+ dtoList.add(dto);
+ }
+ return PhoneRespUtil.success(dtoList, req);
+ }
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5205.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5205.java
new file mode 100644
index 0000000..477b12a
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5205.java
@@ -0,0 +1,144 @@
+package com.fzzy.igds.app.v1.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.fzzy.common.constant.RespCodeEnum;
+import com.fzzy.igds.app.v1.constant.PhoneConstant;
+import com.fzzy.igds.app.v1.data.AuthUser;
+import com.fzzy.igds.app.v1.data.ParamDepot;
+import com.fzzy.igds.app.v1.data.PhoneRequest;
+import com.fzzy.igds.app.v1.data.PhoneResponse;
+import com.fzzy.igds.app.v1.dto.PDetailDto;
+import com.fzzy.igds.app.v1.dto.PGrainDto;
+import com.fzzy.igds.app.v1.dto.PPointDto;
+import com.fzzy.igds.app.v1.service.PhoneService;
+import com.fzzy.igds.app.v1.util.PhoneRespUtil;
+import com.fzzy.igds.app.v1.util.PhoneUtil;
+import com.fzzy.igds.data.GrainData;
+import com.fzzy.igds.data.GrainLay;
+import com.fzzy.igds.data.GrainParam;
+import com.fzzy.igds.data.GrainPoint;
+import com.fzzy.igds.domain.Depot;
+import com.fzzy.igds.domain.DepotConf;
+import com.fzzy.igds.domain.Grain;
+import com.fzzy.igds.service.DepotConfService;
+import com.fzzy.igds.service.DepotService;
+import com.fzzy.igds.service.GrainService;
+import com.fzzy.igds.utils.GrainDataBuilder;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author: YYC
+ * @Description: 绮儏鏁版嵁鏌ョ湅-骞虫埧浠撶伯鎯呮帴鍙�
+ * @DateTime: 2026-1-12 14:43
+ **/
+@Service
+public class ServiceImpl5205 implements PhoneService {
+
+ @Autowired
+ private PhoneUtil phoneUtil;
+ @Autowired
+ private GrainService grainService;
+ @Autowired
+ private DepotService depotService;
+ @Autowired
+ private DepotConfService depotConfService;
+
+ @Override
+ public String getInterfaceId() {
+ return PhoneConstant.API_PHONE_5205;
+ }
+
+ @Override
+ public PhoneResponse<Object> execute(PhoneRequest<JSONObject> req, AuthUser authUser) throws Exception {
+ ParamDepot param = JSONObject.parseObject(req.getData().toString(), ParamDepot.class);
+ if (null == param) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ //鍙傛暟楠岃瘉
+ if (StringUtils.isEmpty(param.getDeptId()) || StringUtils.isEmpty(param.getDepotId())) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ GrainParam grainParam = new GrainParam();
+ grainParam.setDeptId(param.getDeptId());
+ grainParam.setDepotId(param.getDepotId());
+ grainParam.setCompanyId(authUser.getCompanyId());
+ grainParam.setLimit(1);//璁剧疆榛樿鍙幏鍙栦竴鏉℃暟鎹�
+
+ //鏌ヨ绮儏鏁版嵁
+ List<Grain> list = grainService.listData(grainParam);
+
+ Depot depot = depotService.getCacheDepot(authUser.getCompanyId(), param.getDepotId());
+ if (null == list || list.isEmpty()) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_2000, req, "璇ヤ粨搴撴殏鏃犵伯鎯呮暟鎹紒");
+ }
+ DepotConf depotConf;
+ GrainData data;
+ Depot depotData;
+ List<GrainData> result = new ArrayList<>();
+ for (Grain grain : list) {
+ depotConf = depotConfService.getCacheDepotConfByDepotId(grain.getCompanyId(), grain.getDepotId());
+ data = new GrainData();
+ BeanUtils.copyProperties(grain, data);
+ // 娣诲姞浠撳簱淇℃伅
+ depotData = depotService.getCacheDepot(param.getCompanyId(), param.getDepotId());
+ GrainDataBuilder.updateGrainData(data, depotConf, depotData.getDepotType());
+ result.add(data);
+ }
+
+ //鍙栨渶杩戞椂闂寸殑绮儏鏁版嵁
+ GrainData grainData = result.get(0);
+
+ //杞崲鍝嶅簲鏁版嵁
+ PGrainDto dto = new PGrainDto();
+ dto.setDepotId(grainData.getDepotId());
+ dto.setDepotName(phoneUtil.getDepotName(authUser.getCompanyId(), dto.getDepotId()));
+ dto.setDepotType(depot.getDepotType());
+ dto.setReceiveDate(grainData.getReceiveDate());
+ dto.setTempIn(grainData.getTempIn());
+ dto.setHumidityIn(grainData.getHumidityIn());
+ dto.setTempOut(grainData.getTempOut());
+ dto.setHumidityOut(grainData.getHumidityOut());
+ dto.setTempMax(grainData.getTempMax());
+ dto.setTempMin(grainData.getTempMin());
+ dto.setTempAve(grainData.getTempAve());
+ dto.setCable(grainData.getCable().replaceAll(",","-"));
+ if(StringUtils.isNotEmpty(grainData.getCableCir())){
+ dto.setCableCir(grainData.getCableCir().replaceAll(",", "-"));
+ }
+
+ List<PPointDto> listPoints = new ArrayList<>();
+ PPointDto pointDto;
+ for (GrainPoint point : grainData.getListPoints()) {
+ pointDto = new PPointDto();
+ pointDto.setX(point.getX());
+ pointDto.setY(point.getY());
+ pointDto.setZ(point.getZ());
+ pointDto.setFz(point.getFz());
+ pointDto.setTemp(point.getTemp());
+ listPoints.add(pointDto);
+ }
+ dto.setPoints(listPoints);
+
+ List<PDetailDto> listDetail = new ArrayList<>();
+ PDetailDto detailDto;
+
+ for (GrainLay lay : grainData.getListLays()) {
+ detailDto = new PDetailDto();
+ detailDto.setFz(lay.getFz());
+ detailDto.setFzName(lay.getFz() + "灞�");
+ detailDto.setTempMax(lay.getTempMax());
+ detailDto.setTempMin(lay.getTempMin());
+ detailDto.setTempAve(lay.getTempAve());
+ listDetail.add(detailDto);
+ }
+ dto.setDetails(listDetail);
+
+ return PhoneRespUtil.success(dto, req);
+ }
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5206.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5206.java
new file mode 100644
index 0000000..1ca7edc
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5206.java
@@ -0,0 +1,94 @@
+package com.fzzy.igds.app.v1.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.fzzy.common.constant.RespCodeEnum;
+import com.fzzy.igds.app.v1.constant.PhoneConstant;
+import com.fzzy.igds.app.v1.data.AuthUser;
+import com.fzzy.igds.app.v1.data.ParamDepot;
+import com.fzzy.igds.app.v1.data.PhoneRequest;
+import com.fzzy.igds.app.v1.data.PhoneResponse;
+import com.fzzy.igds.app.v1.dto.PQuantityDto;
+import com.fzzy.igds.app.v1.service.PhoneService;
+import com.fzzy.igds.app.v1.util.PhoneRespUtil;
+import com.fzzy.igds.constant.DepotType;
+import com.fzzy.igds.domain.Depot;
+import com.fzzy.igds.domain.Quantity;
+import com.fzzy.igds.service.DepotService;
+import com.fzzy.igds.service.QuantityService;
+import com.fzzy.igds.service.SysDeptService;
+import com.fzzy.igds.utils.ContextUtil;
+import com.ruoyi.common.core.domain.entity.SysDept;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author: YYC
+ * @Description: 鏂欎綅鎬昏-鏂欎綅鍒楄〃
+ * @DateTime: 2026-1-12 14:43
+ **/
+@Service
+public class ServiceImpl5206 implements PhoneService {
+
+ @Resource
+ private DepotService depotService;
+ @Resource
+ private QuantityService quantityService;
+ @Autowired
+ private SysDeptService deptService;
+
+ @Override
+ public String getInterfaceId() {
+ return PhoneConstant.API_PHONE_5206;
+ }
+
+ @Override
+ public PhoneResponse<Object> execute(PhoneRequest<JSONObject> req, AuthUser authUser) throws Exception {
+
+ ParamDepot param = JSONObject.parseObject(req.getData().toString(), ParamDepot.class);
+ if (null == param) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ //鍙傛暟楠岃瘉
+ if (StringUtils.isEmpty(param.getDeptId())) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+
+ if (StringUtils.isEmpty(param.getDeptId())) {
+ param.setDeptId(authUser.getDeptId());
+ }
+ //鑾峰彇鎵�鏈夌瓛浠撳強娴呭渾浠�
+ List<Depot> depotList = depotService.getCacheDepotList(param.getDeptId());
+ if (null == depotList || depotList.isEmpty()) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鏈煡鍒颁俊鎭紒锛�");
+ }
+
+ List<PQuantityDto> list = new ArrayList<>();
+ List<Quantity> quantityList;
+ PQuantityDto quantity;
+ SysDept dept;
+ for (Depot depot : depotList) {
+ if (DepotType.TYPE_02.getCode().equals(depot.getDepotType()) || DepotType.TYPE_04.getCode().equals(depot.getDepotType())) {
+ quantityList = quantityService.getQuantityList(depot.getId(), 1);
+ quantity = new PQuantityDto();
+ if (null == quantityList || quantityList.isEmpty()) {
+ quantity.setDepotId(depot.getId());
+ } else {
+ BeanUtils.copyProperties(quantityList.get(0),quantity);
+ }
+
+ dept = deptService.getCacheDept(depot.getCompanyId(),depot.getDeptId());
+ quantity.setDepotData(depot);
+ quantity.setDeptName(dept.getDeptName());
+ list.add(quantity);
+ }
+ }
+
+ return PhoneRespUtil.success(list, req);
+ }
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5207.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5207.java
new file mode 100644
index 0000000..4b92d98
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5207.java
@@ -0,0 +1,95 @@
+package com.fzzy.igds.app.v1.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.fzzy.common.constant.RespCodeEnum;
+import com.fzzy.igds.app.v1.constant.PhoneConstant;
+import com.fzzy.igds.app.v1.data.AuthUser;
+import com.fzzy.igds.app.v1.data.ParamPatrol;
+import com.fzzy.igds.app.v1.data.PhoneRequest;
+import com.fzzy.igds.app.v1.data.PhoneResponse;
+import com.fzzy.igds.app.v1.dto.PQuantityDto;
+import com.fzzy.igds.app.v1.service.PhoneService;
+import com.fzzy.igds.app.v1.util.PhoneRespUtil;
+import com.fzzy.igds.domain.Depot;
+import com.fzzy.igds.domain.Quantity;
+import com.fzzy.igds.domain.SnapRecord;
+import com.fzzy.igds.mapper.QuantityMapper;
+import com.fzzy.igds.service.DepotService;
+import com.fzzy.igds.service.SysDeptService;
+import com.fzzy.igds.utils.ContextUtil;
+import com.fzzy.igds.utils.DateUtil;
+import com.ruoyi.common.core.domain.entity.SysDept;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author: YYC
+ * @Description: 鏁伴噺鐩戞祴-鏁伴噺鐩戞祴鍒楄〃
+ * @DateTime: 2026-1-12 14:43
+ **/
+@Service
+public class ServiceImpl5207 implements PhoneService {
+ @Resource
+ private QuantityMapper quantityMapper;
+ @Autowired
+ private SysDeptService deptService;
+ @Resource
+ private DepotService depotService;
+
+ @Override
+ public String getInterfaceId() {
+ return PhoneConstant.API_PHONE_5207;
+ }
+
+ @Override
+ public PhoneResponse<Object> execute(PhoneRequest<JSONObject> req, AuthUser authUser) throws Exception {
+ //杞寲瀵硅薄
+ ParamPatrol param = JSONObject.parseObject(req.getData().toString(), ParamPatrol.class);
+ if (null == param) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ //鍙傛暟楠岃瘉
+ if (StringUtils.isEmpty(param.getDeptId())) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ //鍙傛暟楠岃瘉
+ if (null == param.getDateTime()) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ QueryWrapper<Quantity> queryWrapper = new QueryWrapper<>();
+
+ param.setCompanyId(ContextUtil.getCompanyId());
+ queryWrapper.eq("company_id", param.getCompanyId());
+ queryWrapper.likeRight("dept_id", param.getDeptId());
+ queryWrapper.ge("receive_date", DateUtil.getCurZero(param.getDateTime()));
+ queryWrapper.le("receive_date", DateUtil.getNextZero(param.getDateTime()));
+
+ List<Quantity> list = quantityMapper.selectList(queryWrapper);
+
+ if (null == list || list.isEmpty()) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鏈煡鍒颁俊鎭紒锛�");
+ }
+ PQuantityDto quantityDto;
+ SysDept dept;
+ Depot depot;
+ List<PQuantityDto> dtoList = new ArrayList<>();
+ for (Quantity quantity : list) {
+ dept = deptService.getCacheDept(quantity.getCompanyId(), quantity.getDeptId());
+ depot = depotService.getCacheDepot(quantity.getCompanyId(), quantity.getDepotId());
+ quantityDto = new PQuantityDto();
+ BeanUtils.copyProperties(quantity, quantityDto);
+ quantityDto.setDeptName(dept.getDeptName());
+ quantityDto.setDepotData(depot);
+
+ dtoList.add(quantityDto);
+ }
+ return PhoneRespUtil.success(dtoList, req);
+ }
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5208.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5208.java
new file mode 100644
index 0000000..26e1f3a
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5208.java
@@ -0,0 +1,65 @@
+package com.fzzy.igds.app.v1.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.fzzy.common.constant.RespCodeEnum;
+import com.fzzy.common.utils.Base64Util;
+import com.fzzy.igds.app.v1.constant.PhoneConstant;
+import com.fzzy.igds.app.v1.data.AuthUser;
+import com.fzzy.igds.app.v1.data.ParamPatrol;
+import com.fzzy.igds.app.v1.data.PhoneRequest;
+import com.fzzy.igds.app.v1.data.PhoneResponse;
+import com.fzzy.igds.app.v1.dto.PPatrolDto;
+import com.fzzy.igds.app.v1.service.PhoneService;
+import com.fzzy.igds.app.v1.util.PhoneRespUtil;
+import com.fzzy.igds.domain.FileInfo;
+import com.fzzy.igds.domain.PatrolRecord;
+import com.fzzy.igds.service.FileService;
+import com.ruoyi.common.config.FrameworkConfig;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author: YYC
+ * @Description: 鏁伴噺鐩戞祴-鐩戞祴鐓х墖
+ * @DateTime: 2026-1-12 14:43
+ **/
+@Service
+public class ServiceImpl5208 implements PhoneService {
+ @Autowired
+ private FileService fileService;
+
+ @Override
+ public String getInterfaceId() {
+ return PhoneConstant.API_PHONE_5208;
+ }
+
+ @Override
+ public PhoneResponse<Object> execute(PhoneRequest<JSONObject> req, AuthUser authUser) throws Exception {
+ //杞寲瀵硅薄
+ ParamPatrol param = JSONObject.parseObject(req.getData().toString(), ParamPatrol.class);
+ if (null == param) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ //鍙傛暟楠岃瘉
+ if (StringUtils.isEmpty(param.getId())) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ param.setCompanyId(authUser.getCompanyId());
+ List<FileInfo> fileList = fileService.listFile(param.getCompanyId(), param.getId());
+ List<PPatrolDto> patrolDtoList = new ArrayList<>();
+ PPatrolDto patrolDto;
+ for (FileInfo fileInfo : fileList) {
+ if (StringUtils.isNotEmpty(fileInfo.getFilePath())) {
+ String imgData = Base64Util.getImageStr(fileInfo.getFilePath().replace("/profile/", FrameworkConfig.getProfile()));
+ patrolDto = new PPatrolDto();
+ patrolDto.setBase64Img(imgData);
+ patrolDtoList.add(patrolDto);
+ }
+ }
+ return PhoneRespUtil.success(patrolDtoList, req);
+ }
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5401.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5401.java
new file mode 100644
index 0000000..5fd3ce3
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5401.java
@@ -0,0 +1,111 @@
+package com.fzzy.igds.app.v1.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.fzzy.common.constant.RespCodeEnum;
+import com.fzzy.igds.app.v1.constant.PhoneConstant;
+import com.fzzy.igds.app.v1.data.AuthUser;
+import com.fzzy.igds.app.v1.data.ParamInoutHandle;
+import com.fzzy.igds.app.v1.data.PhoneRequest;
+import com.fzzy.igds.app.v1.data.PhoneResponse;
+import com.fzzy.igds.app.v1.dto.PInoutDto;
+import com.fzzy.igds.app.v1.service.PhoneService;
+import com.fzzy.igds.app.v1.util.PhoneRespUtil;
+
+import com.fzzy.igds.constant.Constant;
+import com.fzzy.igds.constant.FoodLevel;
+import com.fzzy.igds.constant.FoodVariety;
+import com.fzzy.igds.constant.InoutConstant;
+import com.fzzy.igds.domain.Depot;
+import com.fzzy.igds.domain.InoutRecord;
+import com.fzzy.igds.mapper.InoutRecordMapper;
+import com.fzzy.igds.service.DepotService;
+import com.fzzy.igds.service.InoutRecordService;
+import com.fzzy.igds.utils.DateUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author: YYC
+ * @Description: 绮璐攢-鍏ュ簱寰呭�间粨鍒楄〃
+ * @DateTime: 2026-1-12 14:43
+ **/
+@Service
+public class ServiceImpl5401 implements PhoneService {
+ @Resource
+ private InoutRecordMapper inoutRecordMapper;
+ @Resource
+ private DepotService depotService;
+
+ @Override
+ public String getInterfaceId() {
+ return PhoneConstant.API_PHONE_5401;
+ }
+
+ @Override
+ public PhoneResponse<Object> execute(PhoneRequest<JSONObject> req, AuthUser authUser) throws Exception {
+
+ ParamInoutHandle param = JSONObject.parseObject(req.getData().toString(), ParamInoutHandle.class);
+
+ if (null == param) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+
+ //鍙傛暟楠岃瘉
+ if (StringUtils.isEmpty(param.getDeptId()) || StringUtils.isEmpty(param.getType())) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+
+ if (StringUtils.isEmpty(param.getCompanyId())) {
+ param.setCompanyId(authUser.getCompanyId());
+ }
+ //璁剧疆娴佺▼涓哄�间粨娴佺▼
+ param.setProgress(InoutConstant.PROGRESS_HANDLE);
+ QueryWrapper<InoutRecord> queryWrapper = new QueryWrapper<>();
+ if (com.ruoyi.common.utils.StringUtils.isNotBlank(param.getCompanyId())) {
+ queryWrapper.eq("company_id", param.getCompanyId());
+ }
+ if (StringUtils.isNotBlank(param.getDeptId())) {
+ queryWrapper.likeRight("dept_id", param.getDeptId());
+ }
+
+ if (StringUtils.isNotBlank(param.getId())) {
+ queryWrapper.eq("id", param.getId());
+ }
+ if (StringUtils.isNotBlank(param.getPlateNum())) {
+ queryWrapper.like("plate_num", param.getPlateNum());
+ }
+
+ if (StringUtils.isNotBlank(param.getProgress())) {
+ queryWrapper.eq("progress", param.getProgress());
+ }
+ if (StringUtils.isNotBlank(param.getType())) {
+ queryWrapper.eq("type", param.getType());
+ }
+
+ queryWrapper.ne("record_status", Constant.RECORD_STATUS_DEL); //涓嶆槸鍒犻櫎鐨勫崟瀛愶紝鍗虫甯哥殑鍗曞瓙
+ queryWrapper.orderByDesc("create_time");
+ List<InoutRecord> list = inoutRecordMapper.selectList(queryWrapper);
+ List<PInoutDto> listDto = new ArrayList<>();
+ PInoutDto inoutData ;
+ for (InoutRecord record : list) {
+ inoutData = new PInoutDto();
+ BeanUtils.copyProperties(record, inoutData);
+ Depot depot = depotService.getCacheDepot(authUser.getCompanyId(), record.getDepotId());
+
+ //璁剧疆浠撳簱銆佺伯椋熷搧绉嶃�佺伯椋熺瓑绾с�佷繚绠″憳绛夊悕绉�
+ inoutData.setDepotName(depot.getName());
+ inoutData.setStoreKeeper(depot.getStoreKeeper());
+ inoutData.setStoreKeeperName(depot.getStoreKeeperName());
+ inoutData.setFoodVarietyName(FoodVariety.getMsg(record.getFoodVariety()));
+ inoutData.setFoodLevelName(FoodLevel.getMsg(record.getFoodLevel()));
+ listDto.add(inoutData);
+ }
+ return PhoneRespUtil.success(listDto, req);
+ }
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5402.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5402.java
new file mode 100644
index 0000000..78324c2
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5402.java
@@ -0,0 +1,194 @@
+package com.fzzy.igds.app.v1.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.fzzy.common.constant.RespCodeEnum;
+import com.fzzy.igds.app.v1.constant.PhoneConstant;
+import com.fzzy.igds.app.v1.data.AuthUser;
+import com.fzzy.igds.app.v1.data.ParamInoutHandle;
+import com.fzzy.igds.app.v1.data.PhoneRequest;
+import com.fzzy.igds.app.v1.data.PhoneResponse;
+import com.fzzy.igds.app.v1.service.PhoneService;
+import com.fzzy.igds.app.v1.util.PhoneRespUtil;
+import com.fzzy.igds.constant.Constant;
+import com.fzzy.igds.constant.InoutConstant;
+import com.fzzy.igds.data.FileData;
+import com.fzzy.igds.data.InoutData;
+import com.fzzy.igds.data.PageResponse;
+import com.fzzy.igds.domain.FileInfo;
+import com.fzzy.igds.domain.InoutRecord;
+import com.fzzy.igds.domain.InoutSysConf;
+import com.fzzy.igds.mapper.InoutRecordMapper;
+import com.fzzy.igds.service.FileService;
+import com.fzzy.igds.service.InoutConfService;
+import com.fzzy.igds.service.InoutRecordService;
+import com.fzzy.igds.utils.ContextUtil;
+import com.ruoyi.common.utils.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Author: YYC
+ * @Description: 绮璐攢-鍏ュ簱鍊间粨鎻愪氦
+ * @DateTime: 2026-1-12 14:43
+ **/
+@Service
+public class ServiceImpl5402 implements PhoneService {
+ @Resource
+ private InoutRecordMapper inoutRecordMapper;
+ @Resource
+ private InoutRecordService inoutRecordService;
+ @Resource
+ private InoutConfService inoutConfService;
+ @Resource
+ private FileService fileService;
+
+ @Override
+ public String getInterfaceId() {
+ return PhoneConstant.API_PHONE_5402;
+ }
+
+ @Override
+ public PhoneResponse<Object> execute(PhoneRequest<JSONObject> req, AuthUser authUser) throws Exception {
+
+ //杞寲涓哄璞�
+ ParamInoutHandle param = JSONObject.parseObject(req.getData().toString(), ParamInoutHandle.class);
+ if (null == param) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ param.setCompanyId(authUser.getCompanyId());
+ param.setDeptId(authUser.getDeptId());
+
+ QueryWrapper<InoutRecord> queryWrapper = new QueryWrapper<>();
+ if (StringUtils.isNotBlank(param.getCompanyId())) {
+ queryWrapper.eq("company_id", param.getCompanyId());
+ }
+ if (StringUtils.isNotBlank(param.getId())) {
+ queryWrapper.eq("id", param.getId());
+ }
+ //鍊间粨鎻愪氦鍓嶏紝鍐嶆纭褰撳墠娴佹按鏄惁涓哄�间粨娴佺▼
+ InoutRecord inoutRecord = inoutRecordMapper.selectOne(queryWrapper);
+ if (!InoutConstant.PROGRESS_HANDLE.equals(inoutRecord.getProgress())) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "璇ュ崟瀛愪笉鍦ㄥ�间粨鐘舵�侊紝涓嶈兘杩涜鍊间粨鎻愪氦锛�");
+ }
+
+ InoutData data = new InoutData();
+ BeanUtils.copyProperties(inoutRecord, data);
+ //鍊间粨缁撴潫鎻愪氦,闇�鏇存柊娴佺▼鐘舵�併�佸�间粨缁撴潫鏃堕棿銆佸�间粨浜恒�佸�间粨鎵i噸绛�
+ data.setDeOther(param.getDeHandle());
+ data.setHandleUser(authUser.getCname());
+ //璁剧疆鍊间粨鍥剧墖淇℃伅
+ List<FileInfo> files = new ArrayList<>();
+ FileInfo fileData1 = new FileInfo();
+ FileInfo fileData2 = new FileInfo();
+ fileData1.setFileName(param.getFileName1());
+ fileData2.setFileName(param.getFileName2());
+ files.add(fileData1);
+ files.add(fileData2);
+ data.setFiles(files);
+
+ if (null == data.getHandleUser()) {
+ data.setHandleUser(authUser.getUsername());
+ }
+ InoutSysConf inoutSysConf = inoutConfService.getCacheInoutSysConf(authUser.getCompanyId(), data.getDeptId());
+ if (null == inoutSysConf) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鎻愮ず锛氬綋鍓嶇郴缁熶腑娴佺▼閰嶇疆寮傚父锛岃鑱旂郴绠$悊鍛�");
+ }
+
+ // 鑾峰彇涓嬩竴涓祦绋嬬姸鎬�
+ String curProgress = data.getProgress();
+ String nextProgress = getNextProgress(curProgress, data.getType(), inoutSysConf);
+ data.setProgress(nextProgress);
+ data.setHandleEnd(new Date());
+
+ // 鎵ц鏁版嵁鏇存柊
+ int num = inoutRecordService.updateInoutRecord(data);
+ if (num == 0) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鎻愪氦澶辫触锛�");
+ }
+ //闄勪欢澶勭悊
+ fileService.saveInoutFiles(data.getFiles(), data.getId(), curProgress, "INOUT");
+
+ return PhoneRespUtil.success(RespCodeEnum.CODE_0000, req);
+// if (param.getType().equals(PhoneConstant.PHONE_INOUT_START)) {
+// //鍊间粨寮�濮嬫彁浜わ紝鍙洿鏂板�间粨寮�濮嬫椂闂�
+// int i = inoutRecordService.updateInoutRecord(data);
+// if (i > 0) {
+// return PhoneRespUtil.success(RespCodeEnum.CODE_0000, req);
+// }
+// return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鎻愪氦澶辫触锛�");
+// } else {
+// //鍊间粨缁撴潫鎻愪氦,闇�鏇存柊娴佺▼鐘舵�併�佸�间粨缁撴潫鏃堕棿銆佸�间粨浜恒�佸�间粨鎵i噸绛�
+// data.setDeOther(param.getDeHandle());
+// data.setHandleUser(authUser.getCname());
+// //璁剧疆鍊间粨鍥剧墖淇℃伅
+// List<FileInfo> files = new ArrayList<>();
+// FileInfo fileData1 = new FileInfo();
+// FileInfo fileData2 = new FileInfo();
+// fileData1.setFileName(param.getFileName1());
+// fileData2.setFileName(param.getFileName2());
+// files.add(fileData1);
+// files.add(fileData2);
+// data.setFiles(files);
+//
+// if (null == data.getHandleUser()) {
+// data.setHandleUser(authUser.getUsername());
+// }
+// InoutSysConf inoutSysConf = inoutConfService.getCacheInoutSysConf(authUser.getCompanyId(), data.getDeptId());
+// if (null == inoutSysConf) {
+// return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鎻愮ず锛氬綋鍓嶇郴缁熶腑娴佺▼閰嶇疆寮傚父锛岃鑱旂郴绠$悊鍛�");
+// }
+//
+// // 鑾峰彇涓嬩竴涓祦绋嬬姸鎬�
+// String curProgress = data.getProgress();
+// String nextProgress = getNextProgress(curProgress, data.getType(), inoutSysConf);
+// data.setProgress(nextProgress);
+// data.setHandleEnd(new Date());
+//
+// // 鎵ц鏁版嵁鏇存柊
+// int num = inoutRecordService.updateInoutRecord(data);
+// if (num == 0) {
+// return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鎻愪氦澶辫触锛�");
+// }
+// //闄勪欢澶勭悊
+// fileService.saveInoutFiles(data.getFiles(), data.getId(), curProgress, "INOUT");
+//
+// return PhoneRespUtil.success(RespCodeEnum.CODE_0000, req);
+// }
+ }
+
+
+ /**
+ * 鑾峰彇涓嬩竴娴佺▼
+ *
+ * @param curProgress
+ * @param type
+ * @param sysConf
+ * @return
+ */
+ private String getNextProgress(String curProgress, String type, InoutSysConf sysConf) {
+ String nextProgress = null;
+ List<String> list = null;
+ if (Constant.TYPE_IN.equals(type)) {
+ list = Arrays.asList(sysConf.getProgressIn().split("-"));
+ }
+ if (Constant.TYPE_OUT.equals(type)) {
+ list = Arrays.asList(sysConf.getProgressOut().split("-"));
+ }
+ if (list != null) {
+ for (int i = 0; i < list.size() - 1; i++) {
+ if (curProgress.equals(list.get(i))) {
+ nextProgress = list.get(i + 1);
+ break;
+ }
+ }
+ }
+ return nextProgress;
+ }
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5405.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5405.java
new file mode 100644
index 0000000..03ff056
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/service/impl/ServiceImpl5405.java
@@ -0,0 +1,122 @@
+package com.fzzy.igds.app.v1.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.fzzy.common.constant.RespCodeEnum;
+import com.fzzy.igds.app.v1.constant.PhoneConstant;
+import com.fzzy.igds.app.v1.data.AuthUser;
+import com.fzzy.igds.app.v1.data.ParamInoutRecord;
+import com.fzzy.igds.app.v1.data.PhoneRequest;
+import com.fzzy.igds.app.v1.data.PhoneResponse;
+import com.fzzy.igds.app.v1.dto.PInoutDto;
+import com.fzzy.igds.app.v1.dto.PInoutSum;
+import com.fzzy.igds.app.v1.service.PhoneService;
+import com.fzzy.igds.app.v1.util.PhoneRespUtil;
+import com.fzzy.igds.app.v1.util.PhoneUtil;
+import com.fzzy.igds.constant.FoodVariety;
+import com.fzzy.igds.constant.InoutConstant;
+import com.fzzy.igds.constant.InoutProgress;
+import com.fzzy.igds.data.InoutData;
+import com.fzzy.igds.data.InoutParam;
+import com.fzzy.igds.domain.InoutRecord;
+import com.fzzy.igds.service.InoutRecordService;
+import com.fzzy.igds.utils.NumberUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Author: YYC
+ * @Description: 绮疄鏃惰褰�
+ * @DateTime: 2026-1-12 14:43
+ **/
+@Service
+public class ServiceImpl5405 implements PhoneService {
+
+ @Resource
+ private InoutRecordService inoutRecordService;
+ @Resource
+ private PhoneUtil phoneUtil;
+
+ @Override
+ public String getInterfaceId() {
+ return PhoneConstant.API_PHONE_5405;
+ }
+
+ @Override
+ public PhoneResponse<Object> execute(PhoneRequest<JSONObject> req, AuthUser authUser) throws Exception {
+
+ //杞寲涓哄璞�
+ ParamInoutRecord param = JSONObject.parseObject(req.getData().toString(), ParamInoutRecord.class);
+ if (null == param) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ //鍙傛暟楠岃瘉
+ if (StringUtils.isEmpty(param.getDeptId())) {
+ return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒");
+ }
+ InoutParam inoutParam = new InoutParam();
+ inoutParam.setDeptId(param.getDeptId());
+ inoutParam.setStart(new Date());
+ inoutParam.setEnd(new Date());
+ //褰撳墠娴佺▼涓�
+ List<InoutRecord> listProgress = inoutRecordService.listInout(inoutParam);
+
+ PInoutSum dto = new PInoutSum();
+
+ double inNum = 0.0;
+ double inCompleteNum = 0.0;
+ double outNum = 0.0;
+ double outCompleteNum = 0.0;
+
+ //缁熻鏈畬鎴愭儏鍐�
+ List<PInoutDto> listDto = new ArrayList<>();
+ PInoutDto inoutDto;
+ if (listProgress != null && !listProgress.isEmpty()) {
+ for (InoutRecord inoutData : listProgress) {
+ inoutDto = new PInoutDto();
+ BeanUtils.copyProperties(inoutData, inoutDto);
+
+ if (InoutConstant.TYPE_IN.equals(inoutData.getType())) {
+ inoutDto.setTypeName("鍏ュ簱");
+ inNum++;
+ } else {
+ inoutDto.setTypeName("鍑哄簱");
+ outNum++;
+ }
+ if (InoutConstant.TYPE_IN.equals(inoutData.getType()) && InoutConstant.PROGRESS_RECORD.equals(inoutData.getProgress())) {
+ inCompleteNum++;
+ } else if (InoutConstant.TYPE_OUT.equals(inoutData.getType()) && InoutConstant.PROGRESS_RECORD.equals(inoutData.getProgress())) {
+ outCompleteNum++;
+ }
+
+ inoutDto.setProgressName(InoutProgress.getMsg(inoutData.getProgress()));
+ inoutDto.setDepotName(phoneUtil.getDepotName(authUser.getCompanyId(), inoutData.getDepotId()));
+ inoutDto.setFoodVarietyName(FoodVariety.getMsg(inoutData.getFoodVariety()));
+ if (!InoutConstant.PROGRESS_RECORD.equals(inoutData.getProgress())) {
+ listDto.add(inoutDto);
+ }
+ }
+ }
+ dto.setListInout(listDto);
+
+ //璁剧疆鐧昏鏁般�佸畬鎴愭暟浠ュ強瀹屾垚鐜�
+ dto.setInCompleteNum(inCompleteNum);
+ dto.setInSumNum(inNum);
+ if (dto.getInSumNum() != 0) {
+ dto.setPerInComplete(NumberUtil.keepPrecision(inCompleteNum / inNum * 100, 2));
+ }
+
+ dto.setOutCompleteNum(outCompleteNum);
+ dto.setOutSumNum(outNum);
+ if (dto.getOutSumNum() != 0) {
+ dto.setPerOutComplete(NumberUtil.keepPrecision(outCompleteNum / outNum * 100, 2));
+ }
+ dto.setTime(new Date());
+ return PhoneRespUtil.success(dto, req);
+ }
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/util/PhoneRespUtil.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/util/PhoneRespUtil.java
new file mode 100644
index 0000000..3655ad7
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/util/PhoneRespUtil.java
@@ -0,0 +1,72 @@
+package com.fzzy.igds.app.v1.util;
+
+
+import com.fzzy.common.constant.RespCodeEnum;
+import com.fzzy.igds.app.v1.data.PhoneRequest;
+import com.fzzy.igds.app.v1.data.PhoneResponse;
+
+/**
+ * @Author: YYC
+ * @Description:
+ * @DateTime: 2026-1-12 17:53
+ **/
+public class PhoneRespUtil {
+
+ /**
+ * 鍝嶅簲鎴愬姛锛屾牴鎹畆eq鑷姩鍥炲~闇�瑕佺殑鍙傛暟
+ *
+ * @param data
+ * @param req
+ * @return
+ */
+ public static PhoneResponse success(Object data, PhoneRequest req) {
+ return new PhoneResponse(RespCodeEnum.CODE_0000.getCode(),RespCodeEnum.CODE_0000.getMsg(), req.getOutId(), data);
+ }
+
+ public static PhoneResponse success(Object data) {
+ return new PhoneResponse(RespCodeEnum.CODE_0000.getCode(),RespCodeEnum.CODE_0000.getMsg(), data);
+ }
+
+ /**
+ * 鍝嶅簲寮傚父鐨勫皝瑁咃紝鑷畾涔夊紓甯哥紪鐮佸拰鍘熷洜
+ *
+ * @param code
+ * @param msg
+ * @param req
+ * @return
+ */
+ public static PhoneResponse error(RespCodeEnum code, PhoneRequest req, String msg) {
+ return error(code,req.getOutId(),msg);
+ }
+
+ public static PhoneResponse error(RespCodeEnum code, String msg) {
+ return new PhoneResponse(code,null, msg);
+ }
+
+ /**
+ *
+ * @param code
+ * @param outId
+ * @param msg
+ * @return
+ */
+ public static PhoneResponse error(RespCodeEnum code, String outId, String msg) {
+ if (null == msg) {
+ return new PhoneResponse(code,outId, code.getMsg() );
+ }
+ return new PhoneResponse(code, outId, msg);
+ }
+
+ /**
+ * 鍝嶅簲寮傚父鐨勫皝瑁咃紝閫氳繃缂栫爜鑾峰彇寮傚父鍘熷洜
+ *
+ * @param code
+ * @param req
+ * @return
+ */
+ public static PhoneResponse error(RespCodeEnum code, PhoneRequest req) {
+ return new PhoneResponse(code.getCode(),code.getMsg(), req.getOutId(),null);
+ }
+
+
+}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/util/PhoneUtil.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/util/PhoneUtil.java
new file mode 100644
index 0000000..827e453
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/app/v1/util/PhoneUtil.java
@@ -0,0 +1,88 @@
+package com.fzzy.igds.app.v1.util;
+
+import com.fzzy.igds.constant.Constant;
+import com.fzzy.igds.domain.Depot;
+import com.fzzy.igds.service.DepotService;
+import com.fzzy.igds.service.DicService;
+import com.ruoyi.common.core.domain.entity.SysDictData;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * @author chen
+ */
+@Component
+public class PhoneUtil {
+ @Autowired
+ private DicService triggerService;
+ @Resource
+ private DepotService depotService;
+
+
+ private static final String KEY_API_PHONE_TOKEN = "KEY_API_PHONE_TOKEN";
+
+ /**
+ * 鍒涘缓缂撳瓨Key
+ *
+ * @param token
+ * @return
+ */
+ public static String createKey(String token) {
+ return Constant.APP_NAME + ":" + KEY_API_PHONE_TOKEN + ":" + token;
+ }
+
+ /**
+ * 鑾峰彇鍑哄叆搴撴祦绋嬪悕绉�
+ *
+ * @param companyId
+ * @param progress
+ * @return
+ */
+ public String getProgressName(String companyId, String progress) {
+ List<SysDictData> list = triggerService.getDictDataByType(companyId, "PROCESS_STATUS_");
+ String progressName = "";
+ for (SysDictData dicTrigger : list) {
+ if (dicTrigger.getDictValue().equals(progress)) {
+ progressName = dicTrigger.getDictLabel();
+ break;
+ }
+ }
+ return progressName;
+ }
+
+ /**
+ * 鑾峰彇浠撳簱鍚嶇О
+ *
+ * @param companyId
+ * @param depotId
+ * @return
+ */
+ public String getDepotName(String companyId, String depotId) {
+ Depot depot = depotService.getCacheDepot(companyId,depotId);
+ return depot.getName();
+ }
+
+ /**
+ * 鑾峰彇鎸囧畾浠撳簱鐨勪俊鎭�
+ *
+ * @param companyId
+ * @param depotId
+ * @return
+ */
+ public Depot getDepot(String companyId, String depotId) {
+ List<Depot> depotList = depotService.getCacheDepotList(companyId);
+ Depot depots = new Depot();
+ if (depotList != null && depotList.size() > 0) {
+ for (Depot depot : depotList) {
+ if (depot.getId().equals(depotId)) {
+ depots = depot;
+ break;
+ }
+ }
+ }
+ return depots;
+ }
+}
diff --git a/fzzy-igdss-inte/src/main/resources/mapper/PhoneMapper.xml b/fzzy-igdss-inte/src/main/resources/mapper/PhoneMapper.xml
new file mode 100644
index 0000000..51f24c3
--- /dev/null
+++ b/fzzy-igdss-inte/src/main/resources/mapper/PhoneMapper.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fzzy.igds.app.v1.mapper.PhoneMapper">
+
+ <update id="updateOrder">
+ update work_order
+ <set>
+ <if test="param.status != null and param.status != ''">status = #{param.status},</if>
+ <if test="param.receiveTime != null and param.receiveTime != ''">recive_time = #{param.status},</if>
+ </set>
+ where id = #{param.id}
+ </update>
+</mapper>
\ No newline at end of file
--
Gitblit v1.9.3