From 39fd6ff85e0eb82409859989f578e525dcb8e983 Mon Sep 17 00:00:00 2001 From: gaowdong Date: Mon, 23 Jun 2025 14:40:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=99=BA=E6=85=A7=E5=8E=A8=E6=88=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../KitchenStaffInfoController.java | 17 ++++ .../domain/KitchenDeviceSensorRecord.java | 3 + .../domain/KitchenSampleCabinetRecord.java | 6 +- .../domain/KitchenSampleDishesRecord.java | 5 +- .../core/kitchen/domain/KitchenStaffFace.java | 76 +++++++++++++++ .../domain/KitchenStaffIllegalWarning.java | 7 +- .../core/kitchen/domain/KitchenStaffInfo.java | 56 +++++++++-- .../domain/KitchenStaffMorningCheck.java | 10 +- .../core/kitchen/domain/KitchenWasteDeal.java | 3 + .../core/kitchen/domain/KitchenWasteMeal.java | 3 + .../domain/constants/StaffFaceStateEnum.java | 30 ++++++ .../mapper/KitchenStaffFaceMapper.java | 20 ++++ .../service/IKitchenStaffFaceService.java | 23 +++++ .../service/IKitchenStaffInfoService.java | 8 ++ .../impl/KitchenStaffFaceServiceImpl.java | 93 +++++++++++++++++++ .../impl/KitchenStaffInfoServiceImpl.java | 88 +++++++++++------- .../KitchenStaffMorningCheckServiceImpl.java | 2 +- .../KitchenSampleCabinetRecordMapper.xml | 7 +- .../KitchenSampleDishesRecordMapper.xml | 6 +- .../mapper/kitchen/KitchenStaffFaceMapper.xml | 33 +++++++ .../KitchenStaffIllegalWarningMapper.xml | 13 ++- .../mapper/kitchen/KitchenStaffInfoMapper.xml | 64 ++++++++----- .../KitchenStaffMorningCheckMapper.xml | 24 ++--- .../mapper/kitchen/KitchenWasteDealMapper.xml | 3 +- 24 files changed, 488 insertions(+), 112 deletions(-) create mode 100644 bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenStaffFace.java create mode 100644 bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/constants/StaffFaceStateEnum.java create mode 100644 bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/mapper/KitchenStaffFaceMapper.java create mode 100644 bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/service/IKitchenStaffFaceService.java create mode 100644 bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/service/impl/KitchenStaffFaceServiceImpl.java create mode 100644 bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenStaffFaceMapper.xml diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/controller/KitchenStaffInfoController.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/controller/KitchenStaffInfoController.java index 2302c63..deba5a9 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/controller/KitchenStaffInfoController.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/controller/KitchenStaffInfoController.java @@ -98,6 +98,23 @@ public class KitchenStaffInfoController extends BaseController { } } + /** + * 修改厨房员工资料 + */ + @ApiOperation(value = "修改厨房员工人脸状态") + //@PreventRepeatSubmit + //@RequiresPermissions("kitchen:info:edit") + @SysLog(title = "厨房员工资料", businessType = OperaType.UPDATE, logType = 1,module = "仓储管理->修改厨房员工人脸状态") + @PostMapping("/edit/face-state") + public AjaxResult editFaceState(@RequestBody KitchenStaffInfo kitchenStaffInfo) { + try { + + return toAjax(kitchenStaffInfoService.updateKitchenStaffFaceState(kitchenStaffInfo)); + } catch (Exception e) { + return error(e.getMessage()); + } + } + /** * 删除厨房员工资料 */ diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenDeviceSensorRecord.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenDeviceSensorRecord.java index ee68db8..107e60b 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenDeviceSensorRecord.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenDeviceSensorRecord.java @@ -1,5 +1,6 @@ package com.bonus.canteen.core.kitchen.domain; +import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.Date; @@ -113,4 +114,6 @@ public class KitchenDeviceSensorRecord extends BaseEntity { @ApiModelProperty("结束时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime endDateTime; + + private String searchValue; } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenSampleCabinetRecord.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenSampleCabinetRecord.java index a6be934..03d54c2 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenSampleCabinetRecord.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenSampleCabinetRecord.java @@ -1,5 +1,6 @@ package com.bonus.canteen.core.kitchen.domain; +import java.io.Serializable; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.Date; @@ -85,9 +86,6 @@ public class KitchenSampleCabinetRecord extends BaseEntity { @ApiModelProperty(value = "食堂名称") private String canteenName; - @ApiModelProperty(value = "操作人") - private String nickName; - @ApiModelProperty(value = "动作类型名称 1:留样 2:取样 3无操作") private String actionTypeName; @@ -102,4 +100,6 @@ public class KitchenSampleCabinetRecord extends BaseEntity { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime endDateTime; + private String searchValue; + } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenSampleDishesRecord.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenSampleDishesRecord.java index e1febe5..aa31f14 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenSampleDishesRecord.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenSampleDishesRecord.java @@ -1,5 +1,6 @@ package com.bonus.canteen.core.kitchen.domain; +import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; @@ -179,5 +180,7 @@ public class KitchenSampleDishesRecord extends BaseEntity { private String deviceName; @ApiModelProperty("留样人") - private String userName; + private String staffName; + + private String searchValue; } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenStaffFace.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenStaffFace.java new file mode 100644 index 0000000..9c4d76b --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenStaffFace.java @@ -0,0 +1,76 @@ +package com.bonus.canteen.core.kitchen.domain; + +import com.bonus.common.core.annotation.Excel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.ToString; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.Date; + +/** + * 人员生物识别特征对象 sys_user_face + * + * @author xsheng + * @date 2025-04-03 + */ + + +@Data +@ToString +public class KitchenStaffFace implements Serializable { + private static final long serialVersionUID = 1L; + + /** 主键自增 */ + private Long faceId; + + /** 人员id */ + @ApiModelProperty(value = "人员id") + @NotBlank(message = "人员id必填") + private Long staffId; + + /** 照片地址 */ + @ApiModelProperty(value = "照片地址") + //@NotBlank(message = "照片地址必填") + private String photoUrl; + + /** 特征码 */ + @Excel(name = "特征码") + @ApiModelProperty(value = "特征码") + private String features; + + /** 类型 1-照片 2-指纹 3-掌纹 4-掌静脉 5-指静脉 6-虹膜 */ + @Excel(name = "类型 1-照片 2-指纹 3-掌纹 4-掌静脉 5-指静脉 6-虹膜") + @ApiModelProperty(value = "类型 1-照片 2-指纹 3-掌纹 4-掌静脉 5-指静脉 6-虹膜") + private Long photoType = 1L; + + /** 特征码生成状态 1-未生成 2-生成成功 3-生成失败 */ + @Excel(name = "特征码生成状态 1-未生成 2-生成成功 3-生成失败") + @ApiModelProperty(value = "特征码生成状态 1-未生成 2-生成成功 3-生成失败") + private Long featuresBuildStatus; + + /** 特征码生成时间 */ + @ApiModelProperty(value = "特征码生成时间") + private Date featuresBuildTime; + + /** 状态 1-正常 2-冻结 3-销户 4-挂失 */ + @ApiModelProperty(value = "状态 1-正常 2-冻结 3-销户 4-挂失") + private String faceState; + + /** 特征码生成失败原因 */ + @Excel(name = "特征码生成失败原因") + @ApiModelProperty(value = "特征码生成失败原因") + private String errorMsg; + + /** 删除标志(0代表存在 2代表删除) */ + private String delFlag; + + private String createBy; + + private String createTime; + + private String updateBy; + + private String updateTime; +} diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenStaffIllegalWarning.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenStaffIllegalWarning.java index bf7add4..a42a894 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenStaffIllegalWarning.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenStaffIllegalWarning.java @@ -1,5 +1,6 @@ package com.bonus.canteen.core.kitchen.domain; +import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; @@ -92,12 +93,14 @@ public class KitchenStaffIllegalWarning extends BaseEntity { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime endDateTime; - private String nickName; + private String staffName; - private Long userId; + private String staffNo; private String canteenName; @JsonIgnore private String encryptedSearchValue; + + private String searchValue; } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenStaffInfo.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenStaffInfo.java index 3c1e97a..0141840 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenStaffInfo.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenStaffInfo.java @@ -1,10 +1,10 @@ package com.bonus.canteen.core.kitchen.domain; +import java.io.Serializable; import java.time.LocalDate; import java.util.List; import com.bonus.canteen.core.common.utils.FileUrlUtil; -import com.bonus.system.api.domain.SysUser; import com.fasterxml.jackson.annotation.JsonFormat; import com.bonus.common.core.annotation.Excel; import com.fasterxml.jackson.annotation.JsonIgnore; @@ -23,7 +23,7 @@ import com.bonus.common.core.web.domain.BaseEntity; @Data @ToString -public class KitchenStaffInfo extends SysUser { +public class KitchenStaffInfo extends BaseEntity { private static final long serialVersionUID = 1L; /** 食堂后场人员id */ @@ -34,10 +34,42 @@ public class KitchenStaffInfo extends SysUser { @ApiModelProperty(value = "食堂后场人员编号") private String staffNo; - /** 用户id */ - @Excel(name = "用户id") - @ApiModelProperty(value = "用户id") - private Long userId; + /** 食堂后场人员姓名 */ + @Excel(name = "食堂后场人员姓名") + @ApiModelProperty(value = "食堂后场人员姓名") + private String staffName; + + /** 食堂后场人员岗位 */ + @Excel(name = "食堂后场人员岗位") + @ApiModelProperty(value = "食堂后场人员岗位") + private String postName; + + /** 食堂后场人员手机号 */ + @Excel(name = "食堂后场人员手机号") + @ApiModelProperty(value = "食堂后场人员手机号") + private String mobile; + + /** 食堂后场人员性别 */ + @Excel(name = "食堂后场人员性别") + @ApiModelProperty(value = "食堂后场人员性别") + private Integer sex; + + /** 区域 */ + @Excel(name = "区域") + @ApiModelProperty(value = "区域") + private Long areaId; + + @Excel(name = "食堂后场人员人脸照片地址") + @ApiModelProperty(value = "食堂后场人员人脸照片地址") + private String faceUrl; + + @Excel(name = "关联食堂") + @ApiModelProperty(value = "关联食堂") + private String canteenName; + + @Excel(name = "关联区域") + @ApiModelProperty(value = "关联区域") + private String areaName; /** 健康证到期时间 */ @ApiModelProperty(value = "健康证到期时间") @@ -73,18 +105,20 @@ public class KitchenStaffInfo extends SysUser { @ApiModelProperty(value = "健康证状态") private Integer healthCertStatus; - @ApiModelProperty(value = "岗位名称") - private String postName; - @ApiModelProperty(value = "员工设备权限") private List accessAuthorityList; @ApiModelProperty(value = "食堂编号") private Long canteenId; + @ApiModelProperty(value = "人脸状态") + private Integer faceState; + @JsonIgnore private String encryptedSearchValue; + private String searchValue; + public String getHealthCertFrontImg() { return FileUrlUtil.getFileUrl(this.healthCertFrontImg); } @@ -92,4 +126,8 @@ public class KitchenStaffInfo extends SysUser { public String getHealthCertBackImg() { return FileUrlUtil.getFileUrl(this.healthCertBackImg); } + + public String getFaceUrl() { + return FileUrlUtil.getFileUrl(this.faceUrl); + } } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenStaffMorningCheck.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenStaffMorningCheck.java index 5101c73..b7e5fb7 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenStaffMorningCheck.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenStaffMorningCheck.java @@ -1,6 +1,6 @@ package com.bonus.canteen.core.kitchen.domain; -import java.time.LocalDate; +import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; @@ -76,17 +76,19 @@ public class KitchenStaffMorningCheck extends BaseEntity { private String postName; @ApiModelProperty("用户名称") - private String nickName; + private String staffName; @ApiModelProperty("食堂名称") private String canteenName; @ApiModelProperty("手机号码") - private String phonenumber; + private String mobile; @ApiModelProperty("员工编号") - private Long staffNo; + private String staffNo; @JsonIgnore private String encryptedSearchValue; + + private String searchValue; } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenWasteDeal.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenWasteDeal.java index 46bd8a9..3964031 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenWasteDeal.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenWasteDeal.java @@ -1,5 +1,6 @@ package com.bonus.canteen.core.kitchen.domain; +import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.Date; @@ -103,4 +104,6 @@ public class KitchenWasteDeal extends BaseEntity { @ApiModelProperty("结束时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime endDateTime; + + private String searchValue; } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenWasteMeal.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenWasteMeal.java index bb87e3d..cbbfc56 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenWasteMeal.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/KitchenWasteMeal.java @@ -1,5 +1,6 @@ package com.bonus.canteen.core.kitchen.domain; +import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; @@ -70,4 +71,6 @@ public class KitchenWasteMeal extends BaseEntity { @Excel(name = "区域Id") @ApiModelProperty(value = "厨余汇总") private Long wasteMealCount; + + private String searchValue; } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/constants/StaffFaceStateEnum.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/constants/StaffFaceStateEnum.java new file mode 100644 index 0000000..5782657 --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/domain/constants/StaffFaceStateEnum.java @@ -0,0 +1,30 @@ +package com.bonus.canteen.core.kitchen.domain.constants; + +public enum StaffFaceStateEnum { + ENABLE(1, "正常"), + HISTORY(2, "禁用"); + + private final Integer key; + private final String desc; + + private StaffFaceStateEnum(Integer key, String desc) { + this.key = key; + this.desc = desc; + } + public Integer getKey() { + return this.key; + } + + public String getDesc() { + return this.desc; + } + + public static boolean isValidFaceState(int value) { + for (StaffFaceStateEnum state : StaffFaceStateEnum.values()) { + if (state.getKey() == value) { + return true; + } + } + return false; + } +} diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/mapper/KitchenStaffFaceMapper.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/mapper/KitchenStaffFaceMapper.java new file mode 100644 index 0000000..389a86c --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/mapper/KitchenStaffFaceMapper.java @@ -0,0 +1,20 @@ +package com.bonus.canteen.core.kitchen.mapper; + +import com.bonus.canteen.core.kitchen.domain.KitchenStaffFace; +import com.bonus.canteen.core.kitchen.domain.KitchenStaffInfo; + +/** + * 人员生物识别特征Mapper接口 + * + * @author xsheng + * @date 2025-04-03 + */ +public interface KitchenStaffFaceMapper { + int insertStaffFace(KitchenStaffFace kitchenStaffFace); + + int deleteStaffFace(KitchenStaffFace kitchenStaffFace); + + int deleteStaffFaces(Long[] staffIds); + + int updateStaffFaceState(KitchenStaffInfo kitchenStaffInfo); +} diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/service/IKitchenStaffFaceService.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/service/IKitchenStaffFaceService.java new file mode 100644 index 0000000..b57c3d1 --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/service/IKitchenStaffFaceService.java @@ -0,0 +1,23 @@ +package com.bonus.canteen.core.kitchen.service; + +import com.bonus.canteen.core.kitchen.domain.KitchenStaffFace; +import com.bonus.canteen.core.user.domain.UserFace; +import com.bonus.common.core.web.domain.AjaxResult; + +import javax.validation.Valid; + +/** + * 人员生物识别特征Service接口 + * + * @author xsheng + * @date 2025-04-03 + */ +public interface IKitchenStaffFaceService { + /** + * 查询人员生物识别特征 + * + * @param dto 人员生物识别特征主键 + * @return 人员生物识别特征 + */ + AjaxResult uploadUserFace(@Valid KitchenStaffFace dto); +} diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/service/IKitchenStaffInfoService.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/service/IKitchenStaffInfoService.java index efb83d4..9f79096 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/service/IKitchenStaffInfoService.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/service/IKitchenStaffInfoService.java @@ -42,6 +42,14 @@ public interface IKitchenStaffInfoService { */ public int updateKitchenStaffInfo(KitchenStaffInfo kitchenStaffInfo); + /** + * 修改厨房员工人脸状态 + * + * @param kitchenStaffInfo 厨房员工资料 + * @return 结果 + */ + public int updateKitchenStaffFaceState(KitchenStaffInfo kitchenStaffInfo); + /** * 批量删除厨房员工资料 * diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/service/impl/KitchenStaffFaceServiceImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/service/impl/KitchenStaffFaceServiceImpl.java new file mode 100644 index 0000000..fa410bb --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/service/impl/KitchenStaffFaceServiceImpl.java @@ -0,0 +1,93 @@ +package com.bonus.canteen.core.kitchen.service.impl; + +import cn.hutool.core.util.ObjectUtil; +import com.bonus.canteen.core.common.utils.FileUrlUtil; +import com.bonus.canteen.core.common.utils.MqUtil; +import com.bonus.canteen.core.kitchen.domain.KitchenStaffFace; +import com.bonus.canteen.core.kitchen.mapper.KitchenStaffFaceMapper; +import com.bonus.canteen.core.kitchen.service.IKitchenStaffFaceService; +import com.bonus.canteen.core.user.domain.DeviceMqPersonalUpdateMessageDTO; +import com.bonus.canteen.core.user.utils.ArcFaceHelper; +import com.bonus.canteen.core.user.utils.FaceResult; +import com.bonus.common.core.exception.ServiceException; +import com.bonus.common.core.utils.DateUtils; +import com.bonus.common.core.utils.StringUtils; +import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.common.houqin.mq.constant.LeMqConstant; +import com.bonus.common.security.utils.SecurityUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Base64; +import java.util.List; + +/** + * 人员生物识别特征Service业务层处理 + * + * @author xsheng + * @date 2025-04-03 + */ +@Service +public class KitchenStaffFaceServiceImpl implements IKitchenStaffFaceService { + private static final Logger log = LoggerFactory.getLogger(KitchenStaffFaceServiceImpl.class); + + @Autowired + private KitchenStaffFaceMapper kitchenStaffFaceMapper; + + /** + * 查询人员生物识别特征 + * + * @param dto 人员生物识别特征主键 + * @return 人员生物识别特征 + */ + @Override + public AjaxResult uploadUserFace(KitchenStaffFace dto) { + if (ObjectUtil.isNull(dto)) { + throw new ServiceException("参数为空!"); + } + if (ObjectUtil.isNull(dto.getStaffId())) { + throw new ServiceException("用户ID为空!"); + } + if (StringUtils.isEmpty(dto.getPhotoUrl())) { + kitchenStaffFaceMapper.deleteStaffFace(dto); +// //发送mq +// DeviceMqPersonalUpdateMessageDTO bean = new DeviceMqPersonalUpdateMessageDTO().setUpdatePersonPhoto(dto.getStaffId().intValue(),"del"); +// MqUtil.pushToTenantAllDevice(bean, LeMqConstant.Topic.DEVICE_UPDATE_PERSONAL_CONFIG_V4); + } else { + log.info("开始采集虹软人脸"); + ArcFaceHelper arcFaceHelper = new ArcFaceHelper(); + String url = FileUrlUtil.getFileUrl(dto.getPhotoUrl()); + FaceResult faceResult = arcFaceHelper.getFaceFeatures(url); + log.info("采集结束"); + List list = new ArrayList<>(); + if (faceResult != null) { + KitchenStaffFace faceVO = new KitchenStaffFace(); + faceVO.setErrorMsg("[软件]成功"); + faceVO.setFeatures(Base64.getEncoder().encodeToString(faceResult.getFeatures())); + faceVO.setCreateBy(String.valueOf(SecurityUtils.getUserId())); + faceVO.setStaffId(dto.getStaffId()); + faceVO.setPhotoUrl(dto.getPhotoUrl()); + faceVO.setCreateBy(String.valueOf(SecurityUtils.getUserId())); + faceVO.setUpdateBy(String.valueOf(SecurityUtils.getUserId())); + faceVO.setCreateTime(DateUtils.getTime()); + faceVO.setUpdateTime(DateUtils.getTime()); + list.add(faceVO); + log.info("faceResult.getFeatures():" + Base64.getEncoder().encodeToString(faceResult.getFeatures())); + log.info("人脸采集成功"); + } else { + throw new ServiceException("[虹软算法]:特征值提取失败"); + } + int code = kitchenStaffFaceMapper.insertStaffFace(list.get(0)); + if (code == 0){ + throw new ServiceException("[虹软算法]:保存失败"); + } +// //发送mq +// DeviceMqPersonalUpdateMessageDTO bean = new DeviceMqPersonalUpdateMessageDTO().setUpdatePersonPhoto(dto.getStaffId().intValue(),"update"); +// MqUtil.pushToTenantAllDevice(bean, LeMqConstant.Topic.DEVICE_UPDATE_PERSONAL_CONFIG_V4); + } + return AjaxResult.success(); + } +} diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/service/impl/KitchenStaffInfoServiceImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/service/impl/KitchenStaffInfoServiceImpl.java index e80c515..41a5550 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/service/impl/KitchenStaffInfoServiceImpl.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/service/impl/KitchenStaffInfoServiceImpl.java @@ -5,15 +5,12 @@ import java.time.LocalDateTime; import java.util.*; import cn.hutool.core.collection.CollUtil; -import com.bonus.canteen.core.kitchen.domain.KitchenSetting; -import com.bonus.canteen.core.kitchen.mapper.KitchenSettingMapper; -import com.bonus.canteen.core.kitchen.domain.AccessAuthority; -import com.bonus.canteen.core.kitchen.domain.KitchenDeviceInfo; -import com.bonus.canteen.core.kitchen.domain.KitchenStaffDevicePrivilege; +import com.bonus.canteen.core.kitchen.domain.*; +import com.bonus.canteen.core.kitchen.domain.constants.StaffFaceStateEnum; +import com.bonus.canteen.core.kitchen.mapper.*; import com.bonus.canteen.core.kitchen.domain.constants.HealthCertStatusEnum; -import com.bonus.canteen.core.kitchen.mapper.KitchenDeviceInfoMapper; -import com.bonus.canteen.core.kitchen.mapper.KitchenStaffDevicePrivilegeMapper; import com.bonus.canteen.core.kitchen.service.IKitchenStaffDevicePrivilegeService; +import com.bonus.canteen.core.kitchen.service.IKitchenStaffFaceService; import com.bonus.canteen.core.kitchen.vo.KitchenDeviceListVO; import com.bonus.canteen.core.user.domain.UserFace; import com.bonus.canteen.core.user.service.IUserFaceService; @@ -27,8 +24,6 @@ import org.apache.catalina.security.SecurityUtil; import org.apache.commons.compress.utils.Lists; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.bonus.canteen.core.kitchen.mapper.KitchenStaffInfoMapper; -import com.bonus.canteen.core.kitchen.domain.KitchenStaffInfo; import com.bonus.canteen.core.kitchen.service.IKitchenStaffInfoService; import org.springframework.transaction.annotation.Transactional; @@ -50,6 +45,10 @@ public class KitchenStaffInfoServiceImpl implements IKitchenStaffInfoService { private KitchenDeviceInfoMapper kitchenDeviceInfoMapper; @Autowired private KitchenSettingMapper kitchenSettingMapper; + @Autowired + private IKitchenStaffFaceService kitchenStaffFaceService; + @Autowired + private KitchenStaffFaceMapper kitchenStaffFaceMapper; /** * 查询厨房员工资料 @@ -61,29 +60,32 @@ public class KitchenStaffInfoServiceImpl implements IKitchenStaffInfoService { public KitchenStaffInfo selectKitchenStaffInfoByStaffId(Long staffId) { KitchenStaffInfo kitchenStaffInfo = kitchenStaffInfoMapper.selectKitchenStaffInfoByStaffId(staffId); if(Objects.nonNull(kitchenStaffInfo)) { - kitchenStaffInfo.setPhonenumber(SM4EncryptUtils.sm4Decrypt(kitchenStaffInfo.getPhonenumber())); List kitchenStaffDevicePrivilegeList = kitchenStaffDevicePrivilegeMapper .selectKitchenStaffDevicePrivilegeByStaffId(staffId); - if(CollUtil.isNotEmpty(kitchenStaffDevicePrivilegeList)) { - List accessAuthorityList = Lists.newArrayList(); - for (KitchenStaffDevicePrivilege kitchenStaffDevicePrivilege : kitchenStaffDevicePrivilegeList) { - AccessAuthority accessAuthority = new AccessAuthority(); - KitchenDeviceListVO deviceInfo = kitchenDeviceInfoMapper.selectKitchenDeviceInfoByDeviceId(kitchenStaffDevicePrivilege.getDeviceId()); - if(Objects.nonNull(deviceInfo)) { - accessAuthority.setDeviceName(deviceInfo.getDeviceName()); - accessAuthority.setLocation(deviceInfo.getSubPlace()); - } - accessAuthority.setDeviceId(kitchenStaffDevicePrivilege.getDeviceId()); - accessAuthority.setDeviceType(kitchenStaffDevicePrivilege.getDeviceType()); - accessAuthority.setPrivilegeValue(kitchenStaffDevicePrivilege.getPrivilegeValue()); - accessAuthorityList.add(accessAuthority); - } - kitchenStaffInfo.setAccessAuthorityList(accessAuthorityList); - } + composeDeviceAccess(kitchenStaffDevicePrivilegeList, kitchenStaffInfo); } return kitchenStaffInfo; } + private void composeDeviceAccess(List kitchenStaffDevicePrivilegeList, KitchenStaffInfo kitchenStaffInfo) { + if(CollUtil.isNotEmpty(kitchenStaffDevicePrivilegeList)) { + List accessAuthorityList = Lists.newArrayList(); + for (KitchenStaffDevicePrivilege kitchenStaffDevicePrivilege : kitchenStaffDevicePrivilegeList) { + AccessAuthority accessAuthority = new AccessAuthority(); + KitchenDeviceListVO deviceInfo = kitchenDeviceInfoMapper.selectKitchenDeviceInfoByDeviceId(kitchenStaffDevicePrivilege.getDeviceId()); + if(Objects.nonNull(deviceInfo)) { + accessAuthority.setDeviceName(deviceInfo.getDeviceName()); + accessAuthority.setLocation(deviceInfo.getSubPlace()); + } + accessAuthority.setDeviceId(kitchenStaffDevicePrivilege.getDeviceId()); + accessAuthority.setDeviceType(kitchenStaffDevicePrivilege.getDeviceType()); + accessAuthority.setPrivilegeValue(kitchenStaffDevicePrivilege.getPrivilegeValue()); + accessAuthorityList.add(accessAuthority); + } + kitchenStaffInfo.setAccessAuthorityList(accessAuthorityList); + } + } + /** * 查询厨房员工资料列表 * @@ -106,7 +108,9 @@ public class KitchenStaffInfoServiceImpl implements IKitchenStaffInfoService { reminderDays = kitchenSettingList.get(0).getItemValue() == null ? 30L : Long.parseLong(kitchenSettingList.get(0).getItemValue()); } for (KitchenStaffInfo info : kitchenStaffInfoList) { - info.setPhonenumber(SM4EncryptUtils.sm4Decrypt(info.getPhonenumber())); + List kitchenStaffDevicePrivilegeList = kitchenStaffDevicePrivilegeMapper + .selectKitchenStaffDevicePrivilegeByStaffId(info.getStaffId()); + composeDeviceAccess(kitchenStaffDevicePrivilegeList, info); if(StringUtils.isBlank(info.getHealthCertFrontImg())) { info.setHealthCertStatusName(HealthCertStatusEnum.NO_IMG.getDesc()); }else if(Objects.nonNull(info.getHealthCertExpire()) && info.getHealthCertExpire().isBefore(LocalDate.now())){ @@ -145,6 +149,10 @@ public class KitchenStaffInfoServiceImpl implements IKitchenStaffInfoService { checkUser(kitchenStaffInfo); int result = kitchenStaffInfoMapper.insertKitchenStaffInfo(kitchenStaffInfo); addPrivileges(kitchenStaffInfo); + KitchenStaffFace kitchenStaffFace = new KitchenStaffFace(); + kitchenStaffFace.setStaffId(kitchenStaffInfo.getStaffId()); + kitchenStaffFace.setPhotoUrl(kitchenStaffInfo.getFaceUrl()); + kitchenStaffFaceService.uploadUserFace(kitchenStaffFace); return result; } catch (Exception e) { throw new ServiceException(e.getMessage()); @@ -161,7 +169,7 @@ public class KitchenStaffInfoServiceImpl implements IKitchenStaffInfoService { public int updateKitchenStaffInfo(KitchenStaffInfo kitchenStaffInfo) { kitchenStaffInfo.setUpdateTime(DateUtils.getNowDate()); kitchenStaffInfo.setUpdateBy(SecurityUtils.getUsername()); - if(Objects.isNull(kitchenStaffInfo.getStaffId())) { + if(Objects.isNull(kitchenStaffInfo.getStaffNo())) { throw new ServiceException("员工编号不能为空"); } try { @@ -169,22 +177,28 @@ public class KitchenStaffInfoServiceImpl implements IKitchenStaffInfoService { kitchenStaffInfoMapper.updateKitchenStaffInfo(kitchenStaffInfo); kitchenStaffDevicePrivilegeMapper.deleteKitchenStaffDevicePrivilegeByStaffId(kitchenStaffInfo.getStaffId()); addPrivileges(kitchenStaffInfo); + KitchenStaffFace kitchenStaffFace = new KitchenStaffFace(); + kitchenStaffFace.setStaffId(kitchenStaffInfo.getStaffId()); + kitchenStaffFace.setPhotoUrl(kitchenStaffInfo.getFaceUrl()); + kitchenStaffFaceService.uploadUserFace(kitchenStaffFace); } catch (Exception e) { throw new ServiceException(e.getMessage()); } return 1; } + @Override + public int updateKitchenStaffFaceState(KitchenStaffInfo kitchenStaffInfo) { + if(StaffFaceStateEnum.isValidFaceState(kitchenStaffInfo.getFaceState())) { + throw new ServiceException("无效的人脸状态"); + } + return kitchenStaffFaceMapper.updateStaffFaceState(kitchenStaffInfo); + } + private void checkUser(KitchenStaffInfo kitchenStaffInfo) { KitchenStaffInfo kitchenStaffInfoByPhone = new KitchenStaffInfo(); - kitchenStaffInfoByPhone.setUserId(kitchenStaffInfo.getUserId()); - List staffInfoList = kitchenStaffInfoMapper.selectKitchenStaffInfoList(kitchenStaffInfoByPhone); - if(CollUtil.isNotEmpty(staffInfoList) && !Objects.equals(staffInfoList.get(0).getStaffId(), kitchenStaffInfo.getStaffId())) { - throw new ServiceException("该用户已存在"); - } - kitchenStaffInfoByPhone = new KitchenStaffInfo(); kitchenStaffInfoByPhone.setStaffNo(kitchenStaffInfo.getStaffNo()); - staffInfoList = kitchenStaffInfoMapper.selectKitchenStaffInfoList(kitchenStaffInfoByPhone); + List staffInfoList = kitchenStaffInfoMapper.selectKitchenStaffInfoList(kitchenStaffInfoByPhone); if(CollUtil.isNotEmpty(staffInfoList) && !Objects.equals(staffInfoList.get(0).getStaffId(), kitchenStaffInfo.getStaffId())) { throw new ServiceException("该用户编号已存在"); } @@ -215,6 +229,7 @@ public class KitchenStaffInfoServiceImpl implements IKitchenStaffInfoService { @Override public int deleteKitchenStaffInfoByStaffIds(Long[] staffIds) { kitchenStaffDevicePrivilegeMapper.deleteKitchenStaffDevicePrivilegeByStaffIds(staffIds); + kitchenStaffFaceMapper.deleteStaffFaces(staffIds); return kitchenStaffInfoMapper.deleteKitchenStaffInfoByStaffIds(staffIds); } @@ -227,6 +242,9 @@ public class KitchenStaffInfoServiceImpl implements IKitchenStaffInfoService { @Override public int deleteKitchenStaffInfoByStaffId(Long staffId) { kitchenStaffDevicePrivilegeMapper.deleteKitchenStaffDevicePrivilegeByStaffId(staffId); + KitchenStaffFace kitchenStaffFace = new KitchenStaffFace(); + kitchenStaffFace.setStaffId(staffId); + kitchenStaffFaceMapper.deleteStaffFace(kitchenStaffFace); return kitchenStaffInfoMapper.deleteKitchenStaffInfoByStaffId(staffId); } } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/service/impl/KitchenStaffMorningCheckServiceImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/service/impl/KitchenStaffMorningCheckServiceImpl.java index 1e1641f..bb013f9 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/service/impl/KitchenStaffMorningCheckServiceImpl.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/kitchen/service/impl/KitchenStaffMorningCheckServiceImpl.java @@ -48,7 +48,7 @@ public class KitchenStaffMorningCheckServiceImpl implements IKitchenStaffMorning .selectKitchenStaffMorningCheckList(kitchenStaffMorningCheck); if(CollUtil.isNotEmpty(kitchenStaffMorningCheckList)) { kitchenStaffMorningCheckList.forEach(value -> { - value.setPhonenumber(SM4EncryptUtils.sm4Decrypt(value.getPhonenumber())); + value.setMobile(SM4EncryptUtils.sm4Decrypt(value.getMobile())); }); } diff --git a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenSampleCabinetRecordMapper.xml b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenSampleCabinetRecordMapper.xml index bba55d4..a442955 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenSampleCabinetRecordMapper.xml +++ b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenSampleCabinetRecordMapper.xml @@ -21,19 +21,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + select record_id, kscr.device_id, open_cabinet_temp, close_cabinet_temp, kscr.staff_id, open_cabinet_time, close_cabinet_time, operate_type, action_type, operate_photo, operate_date, kscr.create_by, kscr.create_time, kscr.update_by, kscr.update_time, - kdi.device_name, bc.canteen_name, su.nick_name + kdi.device_name, bc.canteen_name, ksi.staff_name from kitchen_sample_cabinet_record kscr left join kitchen_device_info kdi on kdi.device_id = kscr.device_id left join basic_canteen bc on bc.canteen_id = kdi.canteen_id left join kitchen_staff_info ksi on ksi.staff_id = kscr.staff_id - left join sys_user su on su.user_id = ksi.user_id diff --git a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenStaffFaceMapper.xml b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenStaffFaceMapper.xml new file mode 100644 index 0000000..a72fd8e --- /dev/null +++ b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenStaffFaceMapper.xml @@ -0,0 +1,33 @@ + + + + + insert into kitchen_staff_face(staff_id,photo_url,features,create_by,error_msg,create_time,update_by,update_time) + values(#{staffId},#{photoUrl},#{features},#{createBy},#{errorMsg},#{createTime},#{updateBy},#{updateTime}) + on duplicate key update features = #{features}, + photo_url = #{photoUrl}, + error_msg = #{errorMsg}, + update_by = #{updateBy}, + update_time = #{updateTime} + + + + update kitchen_staff_face set face_state = #{faceState} + where staff_id = #{staffId} + + + + delete from kitchen_staff_face + where staff_id = #{staffId} + + + + delete from kitchen_staff_face + where staff_id in + + #{staffId} + + + \ No newline at end of file diff --git a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenStaffIllegalWarningMapper.xml b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenStaffIllegalWarningMapper.xml index 562aab3..c1738f9 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenStaffIllegalWarningMapper.xml +++ b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenStaffIllegalWarningMapper.xml @@ -21,8 +21,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - + + @@ -30,10 +30,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select illegal_warning_id, ksiw.staff_id, device_id, ksiw.img_url, record_desc, record_time, illegal_warning_type, handle_state, handle_time, handler_person, notify_state, notify_desc, alarm_type, ksiw.create_by, ksiw.create_time, ksiw.update_by, ksiw.update_time, - su.nick_name, su.user_id, bc.canteen_name + ksi.staff_name, ksi.staff_no, bc.canteen_name from kitchen_staff_illegal_warning ksiw left join kitchen_staff_info ksi on ksiw.staff_id = ksi.staff_id - left join sys_user su on su.user_id = ksi.user_id left join basic_canteen bc on bc.canteen_id = ksi.canteen_id @@ -53,9 +52,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and notify_desc = #{notifyDesc} and alarm_type = #{alarmType} - and (su.nick_name like CONCAT('%',#{searchValue},'%') - or su.phonenumber = #{encryptedSearchValue} - or su.user_id like CONCAT('%',#{searchValue},'%') + and (ksi.staff_name like CONCAT('%',#{searchValue},'%') + or ksi.mobile like CONCAT('%',#{searchValue},'%') + or ksi.staff_no like CONCAT('%',#{searchValue},'%') ) diff --git a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenStaffInfoMapper.xml b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenStaffInfoMapper.xml index 2ff006f..d71df68 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenStaffInfoMapper.xml +++ b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenStaffInfoMapper.xml @@ -7,7 +7,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + + + + + + + + + @@ -20,35 +28,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select staff_id, canteen_id, staff_no, kst.user_id, health_cert_expire, + select kst.staff_id, kst.canteen_id, staff_no, staff_name, post_name, mobile, sex, kst.area_id, health_cert_expire, health_cert_front_img, health_cert_back_img, nutrity_cert_expire, safety_cert_expire, kst.create_by, kst.create_time, kst.update_by, kst.update_time, - su.nick_name, su.phonenumber, su.sex, uf.photo_url, uf.face_state as faceStatus, sp.post_name + ksf.photo_url, ksf.face_state, bc.canteen_name, ba.area_name from kitchen_staff_info kst - left join sys_user su on kst.user_id = su.user_id - left join sys_user_post sup on kst.user_id = sup.user_id - left join sys_post sp on sup.post_id = sp.post_id - left join user_face uf on kst.user_id = uf.user_id + left join kitchen_staff_face ksf on kst.staff_id = ksf.staff_id + left join basic_canteen bc on kst.canteen_id = bc.canteen_id + left join basic_area ba on kst.area_id = ba.area_id - where staff_id = #{staffId} + where kst.staff_id = #{staffId} insert into kitchen_staff_info staff_no, + staff_name, + post_name, + mobile, + sex, + area_id, canteen_id, - user_id, health_cert_expire, health_cert_front_img, health_cert_back_img, @@ -107,8 +113,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{staffNo}, + #{staffName}, + #{postName}, + #{mobile}, + #{sex}, + #{areaId}, #{canteenId}, - #{userId}, #{healthCertExpire}, #{healthCertFrontImg}, #{healthCertBackImg}, @@ -125,8 +135,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update kitchen_staff_info staff_no = #{staffNo}, + staff_name = #{staffName}, + post_name = #{postName}, + mobile = #{mobile}, + sex = #{sex}, + area_id = #{areaId}, canteen_id = #{canteenId}, - user_id = #{userId}, health_cert_expire = #{healthCertExpire}, health_cert_front_img = #{healthCertFrontImg}, health_cert_back_img = #{healthCertBackImg}, diff --git a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenStaffMorningCheckMapper.xml b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenStaffMorningCheckMapper.xml index bacac6d..44e5148 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenStaffMorningCheckMapper.xml +++ b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenStaffMorningCheckMapper.xml @@ -16,23 +16,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + - + select check_Id, ksmc.staff_id, device_id, temperature_value, temperature_status, check_status, record_time, check_video_url, ksmc.create_by, ksmc.create_time, - ksmc.update_by, ksmc.update_time, su.nick_name, sp.post_name, bc.canteen_name, - su.phonenumber, ksi.staff_no + ksmc.update_by, ksmc.update_time, ksi.staff_name, ksi.post_name, bc.canteen_name, + ksi.mobile, ksi.staff_no from kitchen_staff_morning_check ksmc left join kitchen_staff_info ksi on ksmc.staff_id = ksi.staff_id - left join sys_user su on ksi.user_id = su.user_id - left join sys_user_post sup on ksi.user_id = sup.user_id - left join sys_post sp on sup.post_id = sp.post_id left join basic_canteen bc on ksi.canteen_id = bc.canteen_id @@ -46,18 +43,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and check_status = #{checkStatus} and record_time = #{recordTime} and check_video_url = #{checkVideoUrl} + and post_name like CONCAT('%',#{postName},'%') - and (su.nick_name like CONCAT('%',#{searchValue},'%') - or su.phonenumber = #{encryptedSearchValue} - or su.user_id like CONCAT('%',#{searchValue},'%') + and (ksi.staff_name like CONCAT('%',#{searchValue},'%') + or ksi.mobile like CONCAT('%',#{searchValue},'%') + or ksi.staff_no like CONCAT('%',#{searchValue},'%') ) - - and sup.post_id in - - #{postId} - - and ksmc.record_time = ]]> #{startDateTime} diff --git a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenWasteDealMapper.xml b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenWasteDealMapper.xml index 4b5536a..6a7e040 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenWasteDealMapper.xml +++ b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/kitchen/KitchenWasteDealMapper.xml @@ -28,11 +28,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select waste_id, weight, garbage_name, action_date, device_id, mealtime_type, kwd.canteen_id, kwd.area_id, deal_type, sale_amount, scene_picture, kwd.staff_id, kwd.create_by, kwd.create_time, kwd.update_by, kwd.update_time, bc.canteen_name, - su.user_name as deal_user_name + ksi.staff_name as deal_user_name from kitchen_waste_deal kwd left join basic_canteen bc on kwd.canteen_id = bc.canteen_id left join kitchen_staff_info ksi on kwd.staff_id = ksi.staff_id - left join sys_user su on ksi.user_id = su.user_id