From bf7f94c5104b165f9f14b7af9eb1dbfbc106ec8e Mon Sep 17 00:00:00 2001 From: memorylkf <312904636@qq.com> Date: Mon, 12 Jan 2026 17:35:58 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20[=E8=AF=95=E9=AA=8C=E7=AE=A1=E7=90=86]?= =?UTF-8?q?=20=E7=A8=BD=E6=9F=A5=E8=BD=A8=E8=BF=B9=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/hxhq/common/core/annotation/Compare.java | 5 + .../com/hxhq/common/core/domain/MpBaseEntity.java | 1 - .../main/java/com/hxhq/business/domain/Study.java | 6 +- .../java/com/hxhq/business/domain/StudyJcgj.java | 32 ++++++ .../com/hxhq/business/form/common/SignForm.java | 25 ++++- .../hxhq/business/service/IStudyJcgjService.java | 9 +- .../business/service/IStudySubjectUserService.java | 9 +- .../service/impl/StudyJcgjServiceImpl.java | 15 ++- .../business/service/impl/StudyServiceImpl.java | 114 ++++++++++++++------- .../service/impl/StudySubjectServiceImpl.java | 10 +- .../service/impl/StudySubjectUserServiceImpl.java | 22 +++- .../com/hxhq/business/utils/ObjectCompareUtil.java | 32 ++++++ 12 files changed, 220 insertions(+), 60 deletions(-) diff --git a/hxhq-common/hxhq-common-core/src/main/java/com/hxhq/common/core/annotation/Compare.java b/hxhq-common/hxhq-common-core/src/main/java/com/hxhq/common/core/annotation/Compare.java index 7bfe3b5..3972a18 100644 --- a/hxhq-common/hxhq-common-core/src/main/java/com/hxhq/common/core/annotation/Compare.java +++ b/hxhq-common/hxhq-common-core/src/main/java/com/hxhq/common/core/annotation/Compare.java @@ -25,5 +25,10 @@ public @interface Compare */ public String name() default ""; + /** + * 列名称-英文. + */ + public String nameEn() default ""; + } \ No newline at end of file diff --git a/hxhq-common/hxhq-common-core/src/main/java/com/hxhq/common/core/domain/MpBaseEntity.java b/hxhq-common/hxhq-common-core/src/main/java/com/hxhq/common/core/domain/MpBaseEntity.java index edad5c2..9bb268b 100644 --- a/hxhq-common/hxhq-common-core/src/main/java/com/hxhq/common/core/domain/MpBaseEntity.java +++ b/hxhq-common/hxhq-common-core/src/main/java/com/hxhq/common/core/domain/MpBaseEntity.java @@ -41,7 +41,6 @@ public class MpBaseEntity implements Serializable private Date updateTime; /** 备注 */ - @Compare(name = "备注") private String remark; @TableField(value = "del_flag", fill = FieldFill.INSERT) diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/Study.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/Study.java index f9b4cd0..ac43153 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/Study.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/Study.java @@ -20,11 +20,11 @@ public class Study extends MpBaseEntity private Integer type; /** 试验编号 */ - @Compare(name = "试验编号") + @Compare(name = "试验编号",nameEn = "Number") private String sn; /** 试验名称 */ - @Compare(name = "试验名称") + @Compare(name = "试验名称",nameEn = "Name") private String name; /** 负责人id */ @@ -51,7 +51,7 @@ public class Study extends MpBaseEntity /** 所属部门名称:非试验需要 */ private String deptName; - @Compare(name = "试验简述") + @Compare(name = "试验简述",nameEn = "Description") private String remark; public Integer getType() { diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/StudyJcgj.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/StudyJcgj.java index 78b4c5c..b1b5fe7 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/StudyJcgj.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/StudyJcgj.java @@ -24,18 +24,27 @@ public class StudyJcgj extends MpBaseEntity /** 稽查名称 */ private String jcmc; + /** 稽查名称-英文 */ + private String jcmcEn; + /** 稽查名称颜色:1:蓝色;3:红色;5:绿色;7:橙色 */ private Integer jcmcys; /** 稽查内容 */ private String jcnr; + /** 稽查内容-英文 */ + private String jcnrEn; + /** 签名人id */ private Long qmrId; /** 签名人名称 */ private String qmrMc; + /** 签名人名称-英文 */ + private String qmrMcEn; + public void setStudyId(Long studyId) { @@ -65,6 +74,14 @@ public class StudyJcgj extends MpBaseEntity return jcmc; } + public String getJcmcEn() { + return jcmcEn; + } + + public void setJcmcEn(String jcmcEn) { + this.jcmcEn = jcmcEn; + } + public Integer getJcmcys() { return jcmcys; } @@ -83,6 +100,14 @@ public class StudyJcgj extends MpBaseEntity return jcnr; } + public String getJcnrEn() { + return jcnrEn; + } + + public void setJcnrEn(String jcnrEn) { + this.jcnrEn = jcnrEn; + } + public void setQmrId(Long qmrId) { this.qmrId = qmrId; @@ -103,4 +128,11 @@ public class StudyJcgj extends MpBaseEntity return qmrMc; } + public String getQmrMcEn() { + return qmrMcEn; + } + + public void setQmrMcEn(String qmrMcEn) { + this.qmrMcEn = qmrMcEn; + } } diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/form/common/SignForm.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/form/common/SignForm.java index 30fb0ca..11bd455 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/form/common/SignForm.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/form/common/SignForm.java @@ -9,10 +9,13 @@ public class SignForm { */ private String qmyy; /** + * 签名意义-英文 + */ + private String qmyyEn; + /** * 原因/备注 */ private String remark; - /** * 签名人id */ @@ -22,6 +25,10 @@ public class SignForm { */ private String qmrMc; /** + * 签名人名称-英文 + */ + private String qmrMcEn; + /** * 签名密码 */ private String qmrmm; @@ -44,6 +51,14 @@ public class SignForm { this.qmyy = qmyy; } + public String getQmyyEn() { + return qmyyEn; + } + + public void setQmyyEn(String qmyyEn) { + this.qmyyEn = qmyyEn; + } + public String getRemark() { return remark; } @@ -68,6 +83,14 @@ public class SignForm { this.qmrMc = qmrMc; } + public String getQmrMcEn() { + return qmrMcEn; + } + + public void setQmrMcEn(String qmrMcEn) { + this.qmrMcEn = qmrMcEn; + } + public String getQmrmm() { return qmrmm; } diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/IStudyJcgjService.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/IStudyJcgjService.java index 2ba5f11..a1a313c 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/IStudyJcgjService.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/IStudyJcgjService.java @@ -5,6 +5,7 @@ import com.hxhq.business.domain.StudyJcgj; import com.baomidou.mybatisplus.extension.service.IService; import com.hxhq.business.enums.zykgl.JcgjlxEnum; import com.hxhq.business.enums.zykgl.JcmcysEnum; +import com.hxhq.business.form.common.SignForm; /** * 试验-稽查轨迹Service接口 @@ -27,12 +28,10 @@ public interface IStudyJcgjService extends IService * @param studyId * @param jcgjlx * @param jcmcys - * @param jcmc * @param jcnr - * @param qmrId - * @param qmrMc - * @param remark + * @param jcnrEn + * @param signForm */ - void saveInfo(Long studyId, JcgjlxEnum jcgjlx, JcmcysEnum jcmcys,String jcmc,String jcnr,Long qmrId,String qmrMc,String remark); + void saveInfo(Long studyId, JcgjlxEnum jcgjlx, JcmcysEnum jcmcys, String jcnr,String jcnrEn, SignForm signForm); } diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/IStudySubjectUserService.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/IStudySubjectUserService.java index 6087126..8bd6a78 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/IStudySubjectUserService.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/IStudySubjectUserService.java @@ -1,8 +1,11 @@ package com.hxhq.business.service; import java.util.List; + +import com.hxhq.business.domain.Study; import com.hxhq.business.domain.StudySubjectUser; import com.baomidou.mybatisplus.extension.service.IService; +import com.hxhq.business.form.common.SignForm; import com.hxhq.business.form.study.StudySubjectUserSaveForm; /** @@ -28,10 +31,10 @@ public interface IStudySubjectUserService extends IService /** * 根据studySubjectId进下删除 - * @param studyId + * @param study * @param studySubjectId - * @param signRemark + * @param sign */ - void deleteByStudySubjectId(Long studyId, Long studySubjectId,String signRemark); + void deleteByStudySubjectId(Study study, Long studySubjectId, SignForm sign); } diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudyJcgjServiceImpl.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudyJcgjServiceImpl.java index 1887dd1..1c08d1b 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudyJcgjServiceImpl.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudyJcgjServiceImpl.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.hxhq.business.domain.MjyJcgj; import com.hxhq.business.enums.zykgl.JcgjlxEnum; import com.hxhq.business.enums.zykgl.JcmcysEnum; +import com.hxhq.business.form.common.SignForm; import com.hxhq.common.core.exception.ServiceException; import com.hxhq.common.core.utils.DateUtils; import com.hxhq.common.core.utils.StringUtils; @@ -50,17 +51,21 @@ public class StudyJcgjServiceImpl extends ServiceImpl implements save(study); if(study.getStatus().equals(StudyStatusEnum.cg.getValue())){ Map formData = new LinkedHashMap<>(); + Map formDataEn = new LinkedHashMap<>(); formData.put("暂存人", SecurityUtils.getNickName()); - studyJcgjService.saveInfo(study.getId(), JcgjlxEnum.lc, JcmcysEnum.blue,"暂存实验", JctUtil.formatStr(formData),null,null,null); + formDataEn.put("Save User", SecurityUtils.getUsername()); + sign.setQmyy(study.getType().equals(StudyTypeEnum.sy.getValue())?"暂存":study.getType().equals(StudyTypeEnum.fsy.getValue())?"暂存":study.getType().equals(StudyTypeEnum.mjy.getValue())?"暂存":""); + sign.setQmyyEn(study.getType().equals(StudyTypeEnum.sy.getValue())?"Save":study.getType().equals(StudyTypeEnum.fsy.getValue())?"Save":study.getType().equals(StudyTypeEnum.mjy.getValue())?"Save":""); + studyJcgjService.saveInfo(study.getId(), JcgjlxEnum.lc, JcmcysEnum.blue,JctUtil.formatStr(formData),JctUtil.formatStr(formDataEn),sign); }else{ checkPassword(sign); - studyJcgjService.saveInfo(study.getId(), JcgjlxEnum.lc, JcmcysEnum.blue,"创建实验", null,SecurityUtils.getUserId(),SecurityUtils.getNickName(),sign.getRemark()); + sign.setQmyy(study.getType().equals(StudyTypeEnum.sy.getValue())?"创建实验":study.getType().equals(StudyTypeEnum.fsy.getValue())?"创建非实验":study.getType().equals(StudyTypeEnum.mjy.getValue())?"创建麻精药文件夹":""); + sign.setQmyyEn(study.getType().equals(StudyTypeEnum.sy.getValue())?"Create Study":study.getType().equals(StudyTypeEnum.fsy.getValue())?"Create":study.getType().equals(StudyTypeEnum.mjy.getValue())?"Create":""); + studyJcgjService.saveInfo(study.getId(), JcgjlxEnum.lc, JcmcysEnum.blue,null,null,sign); } }else{ //修改 Study old = getById(study.getId()); - if(!old.getStatus().equals(StudyStatusEnum.cg.getValue()) && study.getStatus().equals(StudyStatusEnum.cg.getValue())){ + if(!old.getStatus().equals(StudyStatusEnum.cg.getValue())){ throw new ServiceException("当前状态不允许暂存"); } - if(!old.getStatus().equals(StudyStatusEnum.cg.getValue()) && !old.getStatus().equals(StudyStatusEnum.syz.getValue())){ - throw new ServiceException("当前状态不允许修改"); - } checkPermit(old); - //修改字段的稽查轨迹 - List jcgjList = new ArrayList<>(); - List fieldChanges = ObjectCompareUtil.compareObjects(old, study); - if (fieldChanges.size() > 0) { - for (ObjectCompareUtil.FieldChange fieldChange : fieldChanges) { - StudyJcgj jcgj = new StudyJcgj(); - jcgj.setStudyId(study.getId()); - jcgj.setJcgjlx(JcgjlxEnum.bj.getValue()); - jcgj.setJcmc("修改试验"); - jcgj.setJcmcys(JcmcysEnum.orange.getValue()); - jcgj.setJcnr(fieldChange.toString()); - if(study.getStatus().equals(StudyStatusEnum.syz.getValue())){ - jcgj.setQmrId(SecurityUtils.getUserId()); - jcgj.setQmrMc(SecurityUtils.getNickName()); - jcgj.setRemark(sign.getRemark()); - } - jcgjList.add(jcgj); - } - } + //获取修改的稽查轨迹 + List jcgjList = getChangeJcgj(old,study,sign); studyJcgjService.saveBatch(jcgjList); - //修改试验负责人的稽查轨迹 + if(!old.getLeaderName().equals(study.getLeaderName())){ Map formData = new LinkedHashMap<>(); + Map formDataEn = new LinkedHashMap<>(); formData.put("新增人员", study.getLeaderName()); + formDataEn.put("Add User", study.getLeaderName()); formData.put("删除人员", old.getLeaderName()); + formDataEn.put("Remove User", old.getLeaderName()); + sign.setQmyy(study.getType().equals(StudyTypeEnum.sy.getValue())?"人员变更":study.getType().equals(StudyTypeEnum.fsy.getValue())?"人员变更":study.getType().equals(StudyTypeEnum.mjy.getValue())?"人员变更":""); + sign.setQmyyEn(study.getType().equals(StudyTypeEnum.sy.getValue())?"Change of Person":study.getType().equals(StudyTypeEnum.fsy.getValue())?"Change of Person":study.getType().equals(StudyTypeEnum.mjy.getValue())?"Change of Person":""); if(study.getStatus().equals(StudyStatusEnum.cg.getValue())){ - studyJcgjService.saveInfo(study.getId(), JcgjlxEnum.ry, JcmcysEnum.blue,"人员变更", JctUtil.formatStr(formData), null,null,null); + studyJcgjService.saveInfo(study.getId(), JcgjlxEnum.ry, JcmcysEnum.blue,JctUtil.formatStr(formData), JctUtil.formatStr(formDataEn), sign); }else{ - studyJcgjService.saveInfo(study.getId(), JcgjlxEnum.ry, JcmcysEnum.blue,"人员变更", JctUtil.formatStr(formData), SecurityUtils.getUserId(),SecurityUtils.getNickName(),sign.getRemark()); + studyJcgjService.saveInfo(study.getId(), JcgjlxEnum.ry, JcmcysEnum.blue,JctUtil.formatStr(formData),JctUtil.formatStr(formDataEn), sign); } } if(study.getStatus().equals(StudyStatusEnum.cg.getValue())){ Map formData = new LinkedHashMap<>(); + Map formDataEn = new LinkedHashMap<>(); formData.put("暂存人", SecurityUtils.getNickName()); - studyJcgjService.saveInfo(study.getId(), JcgjlxEnum.lc, JcmcysEnum.blue,"暂存实验", JctUtil.formatStr(formData),null,null,null); + formDataEn.put("Save User", SecurityUtils.getUsername()); + sign.setQmyy(study.getType().equals(StudyTypeEnum.sy.getValue())?"暂存":study.getType().equals(StudyTypeEnum.fsy.getValue())?"暂存":study.getType().equals(StudyTypeEnum.mjy.getValue())?"暂存":""); + sign.setQmyyEn(study.getType().equals(StudyTypeEnum.sy.getValue())?"Save":study.getType().equals(StudyTypeEnum.fsy.getValue())?"Save":study.getType().equals(StudyTypeEnum.mjy.getValue())?"Save":""); + studyJcgjService.saveInfo(study.getId(), JcgjlxEnum.lc, JcmcysEnum.blue,JctUtil.formatStr(formDataEn),JctUtil.formatStr(formDataEn),sign); }else { checkPassword(sign); - if(old.getStatus().equals(StudyStatusEnum.cg.getValue())){ - studyJcgjService.saveInfo(study.getId(), JcgjlxEnum.lc, JcmcysEnum.blue,"创建实验", null,SecurityUtils.getUserId(),SecurityUtils.getNickName(),sign.getRemark()); + sign.setQmyy(study.getType().equals(StudyTypeEnum.sy.getValue())?"创建实验":study.getType().equals(StudyTypeEnum.fsy.getValue())?"创建非实验":study.getType().equals(StudyTypeEnum.mjy.getValue())?"创建麻精药文件夹":""); + sign.setQmyyEn(study.getType().equals(StudyTypeEnum.sy.getValue())?"Create Study":study.getType().equals(StudyTypeEnum.fsy.getValue())?"Create":study.getType().equals(StudyTypeEnum.mjy.getValue())?"Create":""); + studyJcgjService.saveInfo(study.getId(), JcgjlxEnum.lc, JcmcysEnum.blue,null,null,sign); } } updateById(study); } } + /** + * 获取修改的稽查轨迹 + * @param old + * @param study + * @param sign + * @return + */ + private List getChangeJcgj(Study old,Study study,SignForm sign){ + List jcgjList = new ArrayList<>(); + List fieldChanges = ObjectCompareUtil.compareObjects(old, study); + if (fieldChanges.size() > 0) { + for (ObjectCompareUtil.FieldChange fieldChange : fieldChanges) { + StudyJcgj jcgj = new StudyJcgj(); + jcgj.setStudyId(study.getId()); + jcgj.setJcgjlx(JcgjlxEnum.bj.getValue()); + jcgj.setJcmc("修改试验"); + jcgj.setJcmcEn("Change of Information"); + jcgj.setJcmcys(JcmcysEnum.orange.getValue()); + jcgj.setJcnr(fieldChange.toString()); + jcgj.setJcnrEn(fieldChange.toEnString()); + if(study.getStatus().equals(StudyStatusEnum.syz.getValue())){ + jcgj.setQmrId(SecurityUtils.getUserId()); + jcgj.setQmrMc(SecurityUtils.getNickName()); + jcgj.setQmrMcEn(SecurityUtils.getUsername()); + jcgj.setRemark(sign.getRemark()); + } + jcgjList.add(jcgj); + } + } + return jcgjList; + } + @Override @Transactional(rollbackFor = Exception.class) public void del(StudySaveForm form) { @@ -273,7 +301,9 @@ public class StudyServiceImpl extends ServiceImpl implements } checkPermit(info); checkPassword(sign); - studyJcgjService.saveInfo(study.getId(), JcgjlxEnum.lc, JcmcysEnum.red,"删除实验", null,SecurityUtils.getUserId(),SecurityUtils.getNickName(),sign.getRemark()); + sign.setQmyy(info.getType().equals(StudyTypeEnum.sy.getValue())?"删除试验":info.getType().equals(StudyTypeEnum.fsy.getValue())?"删除非试验":info.getType().equals(StudyTypeEnum.mjy.getValue())?"删除麻精药文件夹":""); + sign.setQmyyEn(info.getType().equals(StudyTypeEnum.sy.getValue())?"Remove Study":info.getType().equals(StudyTypeEnum.fsy.getValue())?"Remove":info.getType().equals(StudyTypeEnum.mjy.getValue())?"Remove":""); + studyJcgjService.saveInfo(study.getId(), JcgjlxEnum.lc, JcmcysEnum.red,null,null,sign); removeById(study.getId()); } @@ -301,7 +331,9 @@ public class StudyServiceImpl extends ServiceImpl implements checkPassword(sign); info.setStatus(StudyStatusEnum.ysd.getValue()); updateById(info); - studyJcgjService.saveInfo(info.getId(), JcgjlxEnum.lc, JcmcysEnum.blue,"锁定实验", null,SecurityUtils.getUserId(),SecurityUtils.getNickName(),sign.getRemark()); + sign.setQmyy(info.getType().equals(StudyTypeEnum.sy.getValue())?"锁定试验":info.getType().equals(StudyTypeEnum.fsy.getValue())?"锁定非试验":info.getType().equals(StudyTypeEnum.mjy.getValue())?"锁定麻精药文件夹":""); + sign.setQmyyEn(info.getType().equals(StudyTypeEnum.sy.getValue())?"Lock Study":info.getType().equals(StudyTypeEnum.fsy.getValue())?"Lock Record":info.getType().equals(StudyTypeEnum.mjy.getValue())?"Lock Record":""); + studyJcgjService.saveInfo(info.getId(), JcgjlxEnum.lc, JcmcysEnum.blue,null,null,sign); } @Override @@ -321,7 +353,9 @@ public class StudyServiceImpl extends ServiceImpl implements checkPassword(sign); info.setStatus(StudyStatusEnum.syz.getValue()); updateById(info); - studyJcgjService.saveInfo(study.getId(), JcgjlxEnum.lc, JcmcysEnum.blue,"解锁实验", null,SecurityUtils.getUserId(),SecurityUtils.getNickName(),sign.getRemark()); + sign.setQmyy(info.getType().equals(StudyTypeEnum.sy.getValue())?"解锁试验":info.getType().equals(StudyTypeEnum.fsy.getValue())?"解锁非试验":info.getType().equals(StudyTypeEnum.mjy.getValue())?"解锁麻精药文件夹":""); + sign.setQmyyEn(info.getType().equals(StudyTypeEnum.sy.getValue())?"Unlock Study":info.getType().equals(StudyTypeEnum.fsy.getValue())?"Unlock Record":info.getType().equals(StudyTypeEnum.mjy.getValue())?"Unlock Record":""); + studyJcgjService.saveInfo(study.getId(), JcgjlxEnum.lc, JcmcysEnum.blue,null,null,sign); } @Override @@ -341,7 +375,9 @@ public class StudyServiceImpl extends ServiceImpl implements checkPassword(sign); info.setStatus(StudyStatusEnum.dgd.getValue()); updateById(info); - studyJcgjService.saveInfo(study.getId(), JcgjlxEnum.lc, JcmcysEnum.blue,"申请归档", null,SecurityUtils.getUserId(),SecurityUtils.getNickName(),sign.getRemark()); + sign.setQmyy(info.getType().equals(StudyTypeEnum.sy.getValue())?"申请归档":info.getType().equals(StudyTypeEnum.fsy.getValue())?"申请归档":info.getType().equals(StudyTypeEnum.mjy.getValue())?"申请归档":""); + sign.setQmyyEn(info.getType().equals(StudyTypeEnum.sy.getValue())?"Apply for Archiving":info.getType().equals(StudyTypeEnum.fsy.getValue())?"Apply for Archiving":info.getType().equals(StudyTypeEnum.mjy.getValue())?"Apply for Archiving":""); + studyJcgjService.saveInfo(study.getId(), JcgjlxEnum.lc, JcmcysEnum.blue,null,null,sign); } @Override @@ -361,7 +397,9 @@ public class StudyServiceImpl extends ServiceImpl implements checkPassword(sign); info.setStatus(StudyStatusEnum.djd.getValue()); updateById(info); - studyJcgjService.saveInfo(study.getId(), JcgjlxEnum.lc, JcmcysEnum.blue,"申请解档", null,SecurityUtils.getUserId(),SecurityUtils.getNickName(),sign.getRemark()); + sign.setQmyy(info.getType().equals(StudyTypeEnum.sy.getValue())?"申请解档":info.getType().equals(StudyTypeEnum.fsy.getValue())?"申请解档":info.getType().equals(StudyTypeEnum.mjy.getValue())?"申请解档":""); + sign.setQmyyEn(info.getType().equals(StudyTypeEnum.sy.getValue())?"Apply for De-archiving":info.getType().equals(StudyTypeEnum.fsy.getValue())?"Apply for De-archiving":info.getType().equals(StudyTypeEnum.mjy.getValue())?"Apply for De-archiving":""); + studyJcgjService.saveInfo(study.getId(), JcgjlxEnum.lc, JcmcysEnum.blue,null,null,sign); } @Override @@ -383,7 +421,9 @@ public class StudyServiceImpl extends ServiceImpl implements info.setBorrowStartDate(sign.getStartDate()); info.setBorrowEndDate(sign.getEndDate()); updateById(info); - studyJcgjService.saveInfo(study.getId(), JcgjlxEnum.lc, JcmcysEnum.blue,"申请借阅", null,SecurityUtils.getUserId(),SecurityUtils.getNickName(),sign.getRemark()); + sign.setQmyy(info.getType().equals(StudyTypeEnum.sy.getValue())?"申请借阅":info.getType().equals(StudyTypeEnum.fsy.getValue())?"申请借阅":info.getType().equals(StudyTypeEnum.mjy.getValue())?"申请借阅":""); + sign.setQmyyEn(info.getType().equals(StudyTypeEnum.sy.getValue())?"Apply for Check-out":info.getType().equals(StudyTypeEnum.fsy.getValue())?"Apply for Check-out":info.getType().equals(StudyTypeEnum.mjy.getValue())?"Apply for Check-out":""); + studyJcgjService.saveInfo(study.getId(), JcgjlxEnum.lc, JcmcysEnum.blue,null,null,sign); } @Override diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudySubjectServiceImpl.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudySubjectServiceImpl.java index 1fb2bb5..d9c4240 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudySubjectServiceImpl.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudySubjectServiceImpl.java @@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.hxhq.business.domain.Study; import com.hxhq.business.domain.StudySubjectUser; import com.hxhq.business.dto.study.StudyListDto; +import com.hxhq.business.enums.study.StudyTypeEnum; import com.hxhq.business.enums.zykgl.JcgjlxEnum; import com.hxhq.business.enums.zykgl.JcmcysEnum; import com.hxhq.business.form.study.StudySubjectSaveForm; @@ -161,7 +162,7 @@ public class StudySubjectServiceImpl extends ServiceImpl0 || addNameList.size()>0){ Map formData = new LinkedHashMap<>(); + Map formDataEn = new LinkedHashMap<>(); if(addNameList.size()>0){ formData.put("新增人员", String.join(",",addNameList)); + formDataEn.put("Add User", String.join(",",addNameList)); } if(deleteNameList.size()>0){ formData.put("删除人员", String.join(",",deleteNameList)); + formDataEn.put("Remove User", String.join(",",deleteNameList)); } - studyJcgjService.saveInfo(study.getId(), JcgjlxEnum.ry, JcmcysEnum.blue,"人员变更", JctUtil.formatStr(formData), SecurityUtils.getUserId(),SecurityUtils.getNickName(),form.getSign().getRemark()); + form.getSign().setQmyy(study.getType().equals(StudyTypeEnum.sy.getValue())?"人员变更":study.getType().equals(StudyTypeEnum.fsy.getValue())?"人员变更":study.getType().equals(StudyTypeEnum.mjy.getValue())?"人员变更":""); + form.getSign().setQmyyEn(study.getType().equals(StudyTypeEnum.sy.getValue())?"Change of Person":study.getType().equals(StudyTypeEnum.fsy.getValue())?"Change of Person":study.getType().equals(StudyTypeEnum.mjy.getValue())?"Change of Person":""); + studyJcgjService.saveInfo(study.getId(), JcgjlxEnum.ry, JcmcysEnum.blue,JctUtil.formatStr(formData),JctUtil.formatStr(formDataEn),form.getSign()); } } diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudySubjectUserServiceImpl.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudySubjectUserServiceImpl.java index db6b6bf..9891f43 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudySubjectUserServiceImpl.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudySubjectUserServiceImpl.java @@ -10,8 +10,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.hxhq.business.domain.Study; import com.hxhq.business.domain.StudySubject; +import com.hxhq.business.enums.study.StudyTypeEnum; import com.hxhq.business.enums.zykgl.JcgjlxEnum; import com.hxhq.business.enums.zykgl.JcmcysEnum; +import com.hxhq.business.form.common.SignForm; import com.hxhq.business.form.study.StudySubjectUserSaveForm; import com.hxhq.business.service.IStudyJcgjService; import com.hxhq.business.service.IStudyService; @@ -57,6 +59,10 @@ public class StudySubjectUserServiceImpl extends ServiceImpl itemList = form.getSubjectUserList(); @@ -106,18 +112,23 @@ public class StudySubjectUserServiceImpl extends ServiceImpl0 || addNameList.size()>0){ Map formData = new LinkedHashMap<>(); + Map formDataEn = new LinkedHashMap<>(); if(addNameList.size()>0){ formData.put("新增人员", String.join(",",addNameList)); + formDataEn.put("Add User", String.join(",",addNameList)); } if(deleteNameList.size()>0){ formData.put("删除人员", String.join(",",deleteNameList)); + formDataEn.put("Remove User", String.join(",",deleteNameList)); } - studyJcgjService.saveInfo(studySubject.getStudyId(), JcgjlxEnum.ry, JcmcysEnum.blue,"人员变更", JctUtil.formatStr(formData), SecurityUtils.getUserId(),SecurityUtils.getNickName(),form.getSign().getRemark()); + form.getSign().setQmyy(study.getType().equals(StudyTypeEnum.sy.getValue())?"人员变更":study.getType().equals(StudyTypeEnum.fsy.getValue())?"人员变更":study.getType().equals(StudyTypeEnum.mjy.getValue())?"人员变更":""); + form.getSign().setQmyyEn(study.getType().equals(StudyTypeEnum.sy.getValue())?"Change of Person":study.getType().equals(StudyTypeEnum.fsy.getValue())?"Change of Person":study.getType().equals(StudyTypeEnum.mjy.getValue())?"Change of Person":""); + studyJcgjService.saveInfo(studySubject.getStudyId(), JcgjlxEnum.ry, JcmcysEnum.blue,JctUtil.formatStr(formData),JctUtil.formatStr(formDataEn),form.getSign()); } } @Override - public void deleteByStudySubjectId(Long studyId, Long studySubjectId,String signRemark) { + public void deleteByStudySubjectId(Study study, Long studySubjectId, SignForm sign) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("study_subject_id",studySubjectId); List userList = list(queryWrapper); @@ -125,8 +136,13 @@ public class StudySubjectUserServiceImpl extends ServiceImpl deleteNameList = userList.stream().map(o->o.getUserName()).collect(Collectors.toList()); if(deleteNameList.size()>0){ Map formData = new LinkedHashMap<>(); + Map formDataEn = new LinkedHashMap<>(); formData.put("删除人员", String.join(",",deleteNameList)); - studyJcgjService.saveInfo(studyId, JcgjlxEnum.ry, JcmcysEnum.blue,"人员变更", JctUtil.formatStr(formData), SecurityUtils.getUserId(),SecurityUtils.getNickName(),signRemark); + formDataEn.put("Remove User", String.join(",",deleteNameList)); + + sign.setQmyy(study.getType().equals(StudyTypeEnum.sy.getValue())?"人员变更":study.getType().equals(StudyTypeEnum.fsy.getValue())?"人员变更":study.getType().equals(StudyTypeEnum.mjy.getValue())?"人员变更":""); + sign.setQmyyEn(study.getType().equals(StudyTypeEnum.sy.getValue())?"Change of Person":study.getType().equals(StudyTypeEnum.fsy.getValue())?"Change of Person":study.getType().equals(StudyTypeEnum.mjy.getValue())?"Change of Person":""); + studyJcgjService.saveInfo(study.getId(), JcgjlxEnum.ry, JcmcysEnum.blue,JctUtil.formatStr(formData),JctUtil.formatStr(formDataEn),sign); } } remove(queryWrapper); diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/ObjectCompareUtil.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/ObjectCompareUtil.java index 11252cf..2345565 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/ObjectCompareUtil.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/ObjectCompareUtil.java @@ -88,6 +88,7 @@ public class ObjectCompareUtil { FieldChange change = new FieldChange(); change.setFieldName(field.getName()); change.setFieldLabel(getFieldLabel(field)); + change.setFieldLabelEn(getFieldLabelEn(field)); change.setOldValue(oldValueStr); change.setNewValue(newValueStr); change.setFieldType(field.getType().getSimpleName()); @@ -175,6 +176,7 @@ public class ObjectCompareUtil { FieldChange change = new FieldChange(); change.setFieldName(field.getName()); change.setFieldLabel(getFieldLabel(field)); + change.setFieldLabelEn(getFieldLabelEn(field)); change.setOldValue(oldValueStr); change.setNewValue(newValueStr); change.setFieldType(field.getType().getSimpleName()); @@ -262,11 +264,25 @@ public class ObjectCompareUtil { } /** + * 获取字段的中文描述(如果有@Compare注解) + */ + private static String getFieldLabelEn(Field field) { + // 若依的@Excel注解,可以获取name属性 + if (field.isAnnotationPresent(com.hxhq.common.core.annotation.Compare.class)) { + com.hxhq.common.core.annotation.Compare excel = field.getAnnotation(com.hxhq.common.core.annotation.Compare.class); + return excel.nameEn(); + } + + return null; + } + + /** * 字段变化实体类 */ public static class FieldChange { private String fieldName; // 字段名 private String fieldLabel; // 字段描述 + private String fieldLabelEn; // 字段描述-英文 private String oldValue; // 旧值 private String newValue; // 新值 private String fieldType; // 字段类型 @@ -288,6 +304,14 @@ public class ObjectCompareUtil { this.fieldLabel = fieldLabel; } + public String getFieldLabelEn() { + return fieldLabelEn; + } + + public void setFieldLabelEn(String fieldLabelEn) { + this.fieldLabelEn = fieldLabelEn; + } + public Object getOldValue() { return oldValue; } @@ -320,6 +344,14 @@ public class ObjectCompareUtil { map.put("新值", newValue); return JctUtil.formatStr(map); } + + public String toEnString(){ + Map map = new LinkedHashMap<>(); + map.put("Field Name", fieldLabelEn); + map.put("Old Value", oldValue); + map.put("New Value", newValue); + return JctUtil.formatStr(map); + } } }