diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/controller/SjController.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/controller/SjController.java index f3dc7fa..c86af3d 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/controller/SjController.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/controller/SjController.java @@ -83,7 +83,7 @@ public class SjController extends BaseController public TableDataInfo list(SjSearchListForm form) { startPage(); - List list = sjService.queryList(form); + List list = sjService.queryList(form); return getDataTable(list); } diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/Sj.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/Sj.java index adfcea3..149a6b5 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/Sj.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/Sj.java @@ -50,30 +50,30 @@ public class Sj extends MpBaseEntity private String gg; /** 浓度/含量/纯度 */ - @Compare(name = "浓度/含量/纯度") + @Compare(name = "浓度/含量/纯度", nameEn = "Concentration/Purity") private String nd; /** 浓度单位 */ - @Compare(name = "浓度/含量/纯度单位") + @Compare(name = "浓度/含量/纯度单位", nameEn = "Concentration/Purity Unit") private String nddw; /** 库存数量 */ - @Compare(name = "库存数量") + @Compare(name = "库存数量", nameEn = "Inventory") private String kc; /** 库存单位 */ - @Compare(name = "库存单位") + @Compare(name = "库存单位", nameEn = "Inventory Unit") private String kcdw; /** 来源 */ private String ly; /** 存储条件 */ - @Compare(name = "存储条件") + @Compare(name = "存储条件", nameEn = "Storage Condition") private String cctj; /** 存储位置 */ - @Compare(name = "存储位置") + @Compare(name = "存储位置", nameEn = "Storage Location") private String ccwz; /** 有效周期 */ @@ -83,7 +83,7 @@ public class Sj extends MpBaseEntity private String yxzqdw; /** 失效日 */ - @Compare(name = "失效日") + @Compare(name = "失效日", nameEn = "Expiration") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date sxr; diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/SjJcgj.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/SjJcgj.java index 0e0c086..04ec947 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/SjJcgj.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/SjJcgj.java @@ -24,18 +24,47 @@ public class SjJcgj 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 String getJcmcEn() { + return jcmcEn; + } + + public void setJcmcEn(String jcmcEn) { + this.jcmcEn = jcmcEn; + } + + public String getJcnrEn() { + return jcnrEn; + } + + public void setJcnrEn(String jcnrEn) { + this.jcnrEn = jcnrEn; + } + + public String getQmrMcEn() { + return qmrMcEn; + } + + public void setQmrMcEn(String qmrMcEn) { + this.qmrMcEn = qmrMcEn; + } public void setSjId(Long sjId) { diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/SjTz.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/SjTz.java index 9e14500..57de3bb 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/SjTz.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/SjTz.java @@ -24,9 +24,15 @@ public class SjTz extends MpBaseEntity /** 签名人名称 */ private String qmrMc; + /** 签名人名称 - 英文 */ + private String qmrMcEn; + /** 签名意义 */ private String qmyy; + /** 签名意义-英文 */ + private String qmyyEn; + /** 操作量 */ private String czl; @@ -80,4 +86,20 @@ public class SjTz extends MpBaseEntity public void setCzldw(String czldw) { this.czldw = czldw; } + + public String getQmyyEn() { + return qmyyEn; + } + + public void setQmyyEn(String qmyyEn) { + this.qmyyEn = qmyyEn; + } + + 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/dto/sj/SjListDto.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/dto/sj/SjListDto.java index e657db9..bd573b0 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/dto/sj/SjListDto.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/dto/sj/SjListDto.java @@ -3,4 +3,48 @@ package com.hxhq.business.dto.sj; import com.hxhq.business.domain.Sj; public class SjListDto extends Sj { + + /** 所属部门名称 */ + private String deptName; + + /** 所属试验名称 */ + private String studyName; + + /** 所属表单名称 */ + private String formName; + + /** 表单所属人 */ + private String formUserName; + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } + + public String getStudyName() { + return studyName; + } + + public void setStudyName(String studyName) { + this.studyName = studyName; + } + + public String getFormName() { + return formName; + } + + public void setFormName(String formName) { + this.formName = formName; + } + + public String getFormUserName() { + return formUserName; + } + + public void setFormUserName(String formUserName) { + this.formUserName = formUserName; + } } diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/form/sj/SjSearchListForm.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/form/sj/SjSearchListForm.java index 624fc6d..a43d9ef 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/form/sj/SjSearchListForm.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/form/sj/SjSearchListForm.java @@ -30,14 +30,25 @@ public class SjSearchListForm { private Long studyId; /** 试验名称 */ - private String studyMc; + private String studyName; - public String getStudyMc() { - return studyMc; + /** 所属部门名称 */ + private String deptName; + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } + + public String getStudyName() { + return studyName; } - public void setStudyMc(String studyMc) { - this.studyMc = studyMc; + public void setStudyName(String studyName) { + this.studyName = studyName; } public Long getStudyId() { diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/mapper/SjMapper.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/mapper/SjMapper.java index 000aa50..2a60ddb 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/mapper/SjMapper.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/mapper/SjMapper.java @@ -19,9 +19,28 @@ import java.util.List; public interface SjMapper extends BaseMapper { + /** + * 资源库管理-试剂列表 + * @param queryWrapper + * @return + */ + List queryList(@Param("ew") Wrapper queryWrapper); + + /** + * 试验管理-物资列表 + * @param queryWrapper + * @return + */ List queryStudyList(@Param("ew") Wrapper queryWrapper); /** + * 试剂详情 + * @param id 试剂id + * @return + */ + SjListDto queryInfo(Long id); + + /** * 修改库存 * @param id 试剂id * @param kc 库存量 diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/ISjJcgjService.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/ISjJcgjService.java index 6e9a1b5..f458fbd 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/ISjJcgjService.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/ISjJcgjService.java @@ -3,6 +3,7 @@ package com.hxhq.business.service; import java.util.List; import com.hxhq.business.domain.SjJcgj; import com.baomidou.mybatisplus.extension.service.IService; +import com.hxhq.system.api.domain.SysUser; /** * 试剂库存-稽查轨迹Service接口 @@ -28,5 +29,19 @@ public interface ISjJcgjService extends IService * @param jcmcys 稽查名称颜色:1:蓝色;3:红色;5:绿色;7:橙色 * @param jcnr 稽查内容 */ - public void saveJcgj(Long sjId, Integer jcgjlx, String jcmc, Integer jcmcys, String jcnr); + public void saveJcgj(Long sjId, Integer jcgjlx, String jcmc, String jcmcEn, Integer jcmcys, String jcnr, String jcnrEn); + + /** + * 生成稽查轨迹 + * @param sjId 试剂id + * @param jcgjlx 稽查轨迹类型:1:流程;3:编辑 + * @param jcmc 稽查名称 + * @param jcmcEn 稽查名称-英文 + * @param jcmcys 稽查名称颜色:1:蓝色;3:红色;5:绿色;7:橙色 + * @param jcnr 稽查内容 + * @param jcnrEn 稽查内容-英文 + * @param qmr 签名人信息 + * @return + */ + SjJcgj genJcgj(Long sjId, Integer jcgjlx, String jcmc, String jcmcEn, Integer jcmcys, String jcnr, String jcnrEn, SysUser qmr); } diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/ISjService.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/ISjService.java index 1bea422..5f5c56d 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/ISjService.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/ISjService.java @@ -25,7 +25,14 @@ public interface ISjService extends IService * @param form 试剂库存 * @return 试剂库存集合 */ - public List queryList(SjSearchListForm form); + public List queryList(SjSearchListForm form); + + /** + * 获取试剂详情 + * @param id 试剂id + * @return + */ + SjListDto getInfo(Long id); /** 修改库存 */ void xgkc(SjXgkcForm form); diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/ISjTzService.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/ISjTzService.java index b3a4963..973700a 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/ISjTzService.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/ISjTzService.java @@ -3,6 +3,7 @@ package com.hxhq.business.service; import com.baomidou.mybatisplus.extension.service.IService; import com.hxhq.business.domain.MjyTz; import com.hxhq.business.domain.SjTz; +import com.hxhq.system.api.domain.SysUser; import java.util.List; @@ -32,5 +33,17 @@ public interface ISjTzService extends IService * @param czldw 操作量单位 * @param remark 备注 */ - public void saveTz(Long sjId, Long qmrId,String qmrMc,String qmyy,String czl,String czldw,String remark); + public void saveTz(Long sjId, Long qmrId,String qmrMc, String qmrMcEn, String qmyy,String qmyyEn, String czl,String czldw,String remark); + + /** + * 生成台账信息 + * @param sjId 试剂id + * @param qmyy 签名意义 + * @param qmyyEn 签名意义-英文 + * @param czl 操作量 + * @param czldw 操作量单位 + * @param remark 备注 + * @param qmr 签名人 + */ + SjTz genTz(Long sjId, String qmyy, String qmyyEn, String czl, String czldw, String remark, SysUser qmr); } diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/IStudySjService.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/IStudySjService.java index 8bd39db..29cb472 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/IStudySjService.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/IStudySjService.java @@ -1,6 +1,8 @@ package com.hxhq.business.service; import java.util.List; + +import com.hxhq.business.domain.Sj; import com.hxhq.business.domain.StudySj; import com.baomidou.mybatisplus.extension.service.IService; @@ -20,4 +22,5 @@ public interface IStudySjService extends IService */ public List queryList(StudySj studySj); + void saveBatch(Long studyId, List sjList); } diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/SjJcgjServiceImpl.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/SjJcgjServiceImpl.java index 9862273..c2c5fd6 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/SjJcgjServiceImpl.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/SjJcgjServiceImpl.java @@ -48,17 +48,36 @@ public class SjJcgjServiceImpl extends ServiceImpl imple @Override @Async - public void saveJcgj(Long sjId, Integer jcgjlx, String jcmc, Integer jcmcys, String jcnr) { + public void saveJcgj(Long sjId, Integer jcgjlx, String jcmc, String jcmcEn, Integer jcmcys, String jcnr, String jcnrEn) { SysUser sysUser = SecurityUtils.getLoginUser().getSysUser(); SjJcgj sjJcgj = new SjJcgj(); sjJcgj.setSjId(sjId); sjJcgj.setJcgjlx(jcgjlx); sjJcgj.setJcmc(jcmc); + sjJcgj.setJcmcEn(jcmcEn); sjJcgj.setJcmcys(jcmcys); sjJcgj.setJcnr(jcnr); + sjJcgj.setJcnrEn(jcnrEn); sjJcgj.setQmrId(sysUser.getUserId()); sjJcgj.setQmrMc(sysUser.getNickName()); + sjJcgj.setQmrMcEn(sysUser.getUserName()); this.save(sjJcgj); } + @Override + public SjJcgj genJcgj(Long sjId, Integer jcgjlx, String jcmc, String jcmcEn, Integer jcmcys, String jcnr, String jcnrEn, SysUser qmr) { + SjJcgj sjJcgj = new SjJcgj(); + sjJcgj.setSjId(sjId); + sjJcgj.setJcgjlx(jcgjlx); + sjJcgj.setJcmc(jcmc); + sjJcgj.setJcmcEn(jcmcEn); + sjJcgj.setJcmcys(jcmcys); + sjJcgj.setJcnr(jcnr); + sjJcgj.setJcnrEn(jcnrEn); + sjJcgj.setQmrId(qmr.getUserId()); + sjJcgj.setQmrMc(qmr.getNickName()); + sjJcgj.setQmrMcEn(qmr.getUserName()); + return sjJcgj; + } + } diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/SjServiceImpl.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/SjServiceImpl.java index ce3f595..848ce6b 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/SjServiceImpl.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/SjServiceImpl.java @@ -22,6 +22,7 @@ import com.hxhq.business.form.mjy.GdForm; import com.hxhq.business.form.sj.*; import com.hxhq.business.service.ISjTzService; import com.hxhq.business.service.ISjJcgjService; +import com.hxhq.business.service.IStudySjService; import com.hxhq.business.utils.JctUtil; import com.hxhq.business.utils.ObjectCompareUtil; import com.hxhq.common.core.exception.ServiceException; @@ -31,6 +32,7 @@ import com.hxhq.system.api.domain.SysUser; import com.hxhq.system.service.ISysUserService; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.math.NumberUtils; +import org.omg.PortableInterceptor.SYSTEM_EXCEPTION; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -57,6 +59,9 @@ public class SjServiceImpl extends ServiceImpl implements ISjServi @Autowired private ISjTzService sjTzService; + @Autowired + private IStudySjService studySjService; + /** * 查询试剂库存列表 * @@ -64,35 +69,48 @@ public class SjServiceImpl extends ServiceImpl implements ISjServi * @return 试剂库存 */ @Override - public List queryList(SjSearchListForm form) + public List queryList(SjSearchListForm form) { QueryWrapper queryWrapper = Wrappers.query(); + queryWrapper.eq("s.del_flag", 0); if(StringUtils.isNotEmpty(form.getMc())) { - queryWrapper.like("mc", form.getMc()); + queryWrapper.like("s.mc", form.getMc()); } if(StringUtils.isNotEmpty(form.getBh())) { - queryWrapper.like("bh", form.getBh()); + queryWrapper.like("s.bh", form.getBh()); } if(StringUtils.isNotEmpty(form.getStartDate())) { - queryWrapper.ge("sxr", form.getStartDate()); + queryWrapper.ge("s.sxr", form.getStartDate()); } if(StringUtils.isNotEmpty(form.getEndDate())) { - queryWrapper.le("sxr", form.getEndDate()); + queryWrapper.le("s.sxr", form.getEndDate()); } if(form.getZjzt() != null) { - queryWrapper.eq("zjzt", form.getZjzt()); + queryWrapper.eq("s.zjzt", form.getZjzt()); } if(form.getJyzt() != null) { - queryWrapper.eq("jyzt", form.getJyzt()); + queryWrapper.eq("s.jyzt", form.getJyzt()); + } + if(StringUtils.isNotEmpty(form.getDeptName())) { + queryWrapper.like("d.dept_name", form.getDeptName()); } - queryWrapper.orderByDesc("id"); - return this.list(queryWrapper); + if(StringUtils.isNotEmpty(form.getStudyName())) { + queryWrapper.like("t.name", form.getStudyName()); + } + queryWrapper.orderByDesc("s.id"); + return baseMapper.queryList(queryWrapper); + } + + @Override + public SjListDto getInfo(Long id) { + + return baseMapper.queryInfo(id); } @Override public void xgkc(SjXgkcForm form) { SysUser qmr = sysUserService.selectUserById(form.getQmrId()); - //验证签名人密码 todo + sysUserService.checkPassword(qmr, form.getQmrmm(), false); if (form.getId() == null || form.getId().longValue() < 0) { throw new SecurityException("参数id不正确"); } @@ -118,10 +136,13 @@ public class SjServiceImpl extends ServiceImpl implements ISjServi jcgj.setSjId(sjOld.getId()); jcgj.setJcgjlx(JcgjlxEnum.lc.getValue()); jcgj.setJcmc("修改库存"); + jcgj.setJcmcEn("Change Inventory"); jcgj.setJcmcys(JcmcysEnum.green.getValue()); jcgj.setJcnr(fieldChange.toString()); + jcgj.setJcnrEn(fieldChange.toEnString()); jcgj.setQmrId(qmr.getUserId()); jcgj.setQmrMc(qmr.getNickName()); + jcgj.setQmrMcEn(qmr.getUserName()); jcgj.setRemark(form.getKcbjbz()); sjJcgjList.add(jcgj); } @@ -129,14 +150,16 @@ public class SjServiceImpl extends ServiceImpl implements ISjServi //endregion // 台账 - sjTzService.saveTz(sjOld.getId(), qmr.getUserId(), qmr.getNickName(), "修改库存", form.getKc(), form.getKcdw(), form.getKcbjbz()); + sjTzService.saveTz(sjOld.getId(), qmr.getUserId(), qmr.getNickName(), qmr.getUserName(), + "修改库存", "Change Inventory", form.getKc(), form.getKcdw(), form.getKcbjbz()); } @Override @Transactional(rollbackFor = Exception.class) public void cz(CzSjForm form) { SysUser qmr = sysUserService.selectUserById(form.getQmrId()); - //验证签名人密码 todo + sysUserService.checkPassword(qmr, form.getQmrmm(), false); + if (form.getId() == null || form.getId() < 0) { throw new SecurityException("参数id不正确"); } @@ -163,18 +186,27 @@ public class SjServiceImpl extends ServiceImpl implements ISjServi jcnrMap.put("处置方式", form.getCzfs()); jcnrMap.put("处置量", form.getCzl()); jcnrMap.put("原因", form.getRemark()); + + LinkedHashMap jcnrEnMap = new LinkedHashMap<>(); + jcnrEnMap.put("Dispose Method", form.getCzfs()); + jcnrEnMap.put("Amount", form.getCzl()); + jcnrEnMap.put("Reason", form.getRemark()); SjJcgj sjJcgj = new SjJcgj(); sjJcgj.setSjId(sjOld.getId()); sjJcgj.setJcgjlx(JcgjlxEnum.bj.getValue()); sjJcgj.setJcmc("处置"); + sjJcgj.setJcmcEn("Dispose"); sjJcgj.setJcnr(JctUtil.formatStr(jcnrMap)); + sjJcgj.setJcnrEn(JctUtil.formatStr(jcnrEnMap)); sjJcgj.setJcmcys(JcmcysEnum.green.getValue()); sjJcgj.setQmrId(qmr.getUserId()); sjJcgj.setQmrMc(qmr.getNickName()); + sjJcgj.setQmrMcEn(qmr.getUserName()); sjJcgjService.save(sjJcgj); // 台账 - sjTzService.saveTz(sjOld.getId(), qmr.getUserId(), qmr.getNickName(), "处置", form.getCzl(), sjOld.getKcdw(), form.getRemark()); + sjTzService.saveTz(sjOld.getId(), qmr.getUserId(), qmr.getNickName(), qmr.getUserName(), + "处置", "Dispose", form.getCzl(), sjOld.getKcdw(), form.getRemark()); } @@ -182,7 +214,7 @@ public class SjServiceImpl extends ServiceImpl implements ISjServi @Transactional(rollbackFor = Exception.class) public void plcz(PlczSjForm form) { SysUser qmr = sysUserService.selectUserById(form.getQmrId()); - //验证签名人密码 todo + sysUserService.checkPassword(qmr, form.getQmrmm(), false); List sjList = new ArrayList<>(); Map map = new HashMap<>(); @@ -222,14 +254,21 @@ public class SjServiceImpl extends ServiceImpl implements ISjServi jcnrMap.put("处置方式", itemForm.getCzfs()); jcnrMap.put("处置量", itemForm.getCzl()); jcnrMap.put("原因", itemForm.getRemark()); + LinkedHashMap jcnrEnMap = new LinkedHashMap<>(); + jcnrEnMap.put("Dispose Method", itemForm.getCzfs()); + jcnrEnMap.put("Amount", itemForm.getCzl()); + jcnrEnMap.put("Reason", itemForm.getRemark()); SjJcgj sjJcgj = new SjJcgj(); sjJcgj.setSjId(itemForm.getId()); sjJcgj.setJcgjlx(JcgjlxEnum.bj.getValue()); sjJcgj.setJcmc("处置"); + sjJcgj.setJcmcEn("Dispose"); sjJcgj.setJcnr(JctUtil.formatStr(jcnrMap)); + sjJcgj.setJcnrEn(JctUtil.formatStr(jcnrEnMap)); sjJcgj.setJcmcys(JcmcysEnum.green.getValue()); sjJcgj.setQmrId(qmr.getUserId()); sjJcgj.setQmrMc(qmr.getNickName()); + sjJcgj.setQmrMcEn(qmr.getUserName()); sjJcgjList.add(sjJcgj); // 台账 @@ -237,7 +276,9 @@ public class SjServiceImpl extends ServiceImpl implements ISjServi sjTz.setSjId(sj.getId()); sjTz.setQmrId(qmr.getUserId()); sjTz.setQmrMc(qmr.getNickName()); + sjTz.setQmrMcEn(qmr.getUserName()); sjTz.setQmyy("处置"); + sjTz.setQmyyEn("Dispose"); sjTz.setCzl(itemForm.getCzl()); sjTz.setCzldw(sj.getKcdw()); sjTz.setRemark(itemForm.getRemark()); @@ -252,7 +293,7 @@ public class SjServiceImpl extends ServiceImpl implements ISjServi @Transactional(rollbackFor = Exception.class) public void sd(SdSjForm form) { SysUser qmr = sysUserService.selectUserById(form.getQmrId()); - //验证签名人密码 todo + sysUserService.checkPassword(qmr, form.getQmrmm(), false); if (form.getId() == null || form.getId().longValue() < 0) { throw new SecurityException("参数id不正确"); } @@ -268,16 +309,18 @@ public class SjServiceImpl extends ServiceImpl implements ISjServi //稽查轨迹 Map formData = new LinkedHashMap<>(); formData.put("备注", form.getRemark()); - // formData.put("签名意义", "锁定试剂"); - // formData.put("签名人", qmr.getNickName()); - sjJcgjService.saveJcgj(sj.getId(), JcgjlxEnum.lc.getValue(), "锁定试剂", JcmcysEnum.green.getValue(), JctUtil.formatStr(formData)); + + Map formDataEn = new LinkedHashMap<>(); + formDataEn.put("Comment", form.getRemark()); + sjJcgjService.saveJcgj(sj.getId(), JcgjlxEnum.lc.getValue(), "锁定试剂", "Lock Reagent",JcmcysEnum.green.getValue(), + JctUtil.formatStr(formData), JctUtil.formatStr(formDataEn)); } @Override @Transactional(rollbackFor = Exception.class) public void plsd(SdSjForm form) { SysUser qmr = sysUserService.selectUserById(form.getQmrId()); - //验证签名人密码 todo + sysUserService.checkPassword(qmr, form.getQmrmm(), false); List sjList = new ArrayList<>(); for (Long id : form.getIds()) { @@ -297,11 +340,14 @@ public class SjServiceImpl extends ServiceImpl implements ISjServi this.updateBatchById(sjList); //稽查轨迹 for (Sj sj : sjList) { + //稽查轨迹 Map formData = new LinkedHashMap<>(); formData.put("备注", form.getRemark()); - // formData.put("签名意义", "锁定试剂"); - // formData.put("签名人", qmr.getNickName()); - sjJcgjService.saveJcgj(sj.getId(), JcgjlxEnum.lc.getValue(), "锁定试剂", JcmcysEnum.green.getValue(), JctUtil.formatStr(formData)); + + Map formDataEn = new LinkedHashMap<>(); + formDataEn.put("Comment", form.getRemark()); + sjJcgjService.saveJcgj(sj.getId(), JcgjlxEnum.lc.getValue(), "锁定试剂", "Lock Reagent", JcmcysEnum.green.getValue(), JctUtil.formatStr(formData), + JctUtil.formatStr(formDataEn)); } } @@ -309,7 +355,7 @@ public class SjServiceImpl extends ServiceImpl implements ISjServi @Override public void js(JsSjForm form) { SysUser qmr = sysUserService.selectUserById(form.getQmrId()); - //验证签名人密码 todo + sysUserService.checkPassword(qmr, form.getQmrmm(), false); if (form.getId() == null || form.getId().longValue() < 0) { throw new SecurityException("参数id不正确"); } @@ -326,15 +372,18 @@ public class SjServiceImpl extends ServiceImpl implements ISjServi //稽查轨迹 Map formData = new LinkedHashMap<>(); formData.put("备注", form.getRemark()); - // formData.put("签名意义", "解锁试剂"); - // formData.put("签名人", qmr.getNickName()); - sjJcgjService.saveJcgj(sjOld.getId(), JcgjlxEnum.lc.getValue(), "解锁试剂", JcmcysEnum.green.getValue(), JctUtil.formatStr(formData)); + + Map formDataEn = new LinkedHashMap<>(); + formDataEn.put("Comment", form.getRemark()); + sjJcgjService.saveJcgj(sjOld.getId(), JcgjlxEnum.lc.getValue(), "解锁试剂","Unlock Reagent", + JcmcysEnum.green.getValue(), JctUtil.formatStr(formData), JctUtil.formatStr(formDataEn)); } @Override public void jy(JySjForm form) { SysUser qmr = sysUserService.selectUserById(form.getQmrId()); - //验证签名人密码 todo + sysUserService.checkPassword(qmr, form.getQmrmm(), false); + if (form.getId() == null || form.getId().longValue() < 0) { throw new SecurityException("参数id不正确"); } @@ -358,15 +407,20 @@ public class SjServiceImpl extends ServiceImpl implements ISjServi formData.put("借阅开始时间", DateUtils.dateTime(form.getStartDate())); formData.put("借阅结束时间", DateUtils.dateTime(form.getEndDate())); formData.put("备注", form.getRemark()); - // formData.put("签名意义", "申请借阅"); - // formData.put("签名人", qmr.getNickName()); - sjJcgjService.saveJcgj(sjOld.getId(), JcgjlxEnum.lc.getValue(), "申请借阅", JcmcysEnum.orange.getValue(), JctUtil.formatStr(formData)); + + Map formDataEn = new LinkedHashMap<>(); + formDataEn.put("Start Date", DateUtils.dateTime(form.getStartDate())); + formDataEn.put("End Date", DateUtils.dateTime(form.getEndDate())); + formDataEn.put("Comment", form.getRemark()); + sjJcgjService.saveJcgj(sjOld.getId(), JcgjlxEnum.lc.getValue(), "申请借阅", "Apply for Check-out", + JcmcysEnum.orange.getValue(), JctUtil.formatStr(formData), JctUtil.formatStr(formDataEn)); } @Override public void jd(JdSjForm form) { SysUser qmr = sysUserService.selectUserById(form.getQmrId()); - //验证签名人密码 todo + sysUserService.checkPassword(qmr, form.getQmrmm(), false); + if (form.getId() == null || form.getId().longValue() < 0) { throw new SecurityException("参数id不正确"); } @@ -383,15 +437,18 @@ public class SjServiceImpl extends ServiceImpl implements ISjServi //稽查轨迹 Map formData = new LinkedHashMap<>(); formData.put("备注", form.getRemark()); - // formData.put("签名意义", "申请解档"); - // formData.put("签名人", qmr.getNickName()); - sjJcgjService.saveJcgj(sjOld.getId(), JcgjlxEnum.lc.getValue(), "申请解档", JcmcysEnum.green.getValue(), JctUtil.formatStr(formData)); + + Map formDataEn = new LinkedHashMap<>(); + formDataEn.put("Comment", form.getRemark()); + sjJcgjService.saveJcgj(sjOld.getId(), JcgjlxEnum.lc.getValue(), "申请解档", "Apply for De-archiving", + JcmcysEnum.green.getValue(), JctUtil.formatStr(formData), JctUtil.formatStr(formDataEn)); } @Override public void gd(GdSjForm form) { SysUser qmr = sysUserService.selectUserById(form.getQmrId()); - //验证签名人密码 todo + sysUserService.checkPassword(qmr, form.getQmrmm(), false); + if (form.getId() == null || form.getId().longValue() < 0) { throw new SecurityException("参数id不正确"); } @@ -408,15 +465,18 @@ public class SjServiceImpl extends ServiceImpl implements ISjServi //稽查轨迹 Map formData = new LinkedHashMap<>(); formData.put("备注", form.getRemark()); - // formData.put("签名意义", "申请归档"); - // formData.put("签名人", qmr.getNickName()); - sjJcgjService.saveJcgj(sjOld.getId(), JcgjlxEnum.lc.getValue(), "申请归档", JcmcysEnum.green.getValue(), JctUtil.formatStr(formData)); + + Map formDataEn = new LinkedHashMap<>(); + formDataEn.put("Comment", form.getRemark()); + sjJcgjService.saveJcgj(sjOld.getId(), JcgjlxEnum.lc.getValue(), "申请归档", "Apply for Archiving", + JcmcysEnum.green.getValue(), JctUtil.formatStr(formData), JctUtil.formatStr(formDataEn)); } @Override public void plgd(GdSjForm form) { SysUser qmr = sysUserService.selectUserById(form.getQmrId()); - //验证签名人密码 todo + sysUserService.checkPassword(qmr, form.getQmrmm(), false); + List sjList = new ArrayList<>(); for (Long id : form.getIds()) { @@ -440,9 +500,11 @@ public class SjServiceImpl extends ServiceImpl implements ISjServi for (Sj sj : sjList) { Map formData = new LinkedHashMap<>(); formData.put("备注", form.getRemark()); - // formData.put("签名意义", "申请归档"); - // formData.put("签名人", qmr.getNickName()); - sjJcgjService.saveJcgj(sj.getId(), JcgjlxEnum.lc.getValue(), "申请归档", JcmcysEnum.green.getValue(), JctUtil.formatStr(formData)); + + Map formDataEn = new LinkedHashMap<>(); + formDataEn.put("Comment", form.getRemark()); + sjJcgjService.saveJcgj(sj.getId(), JcgjlxEnum.lc.getValue(), "申请归档", "Apply for Archiving", + JcmcysEnum.green.getValue(), JctUtil.formatStr(formData), JctUtil.formatStr(formDataEn)); } } @@ -450,7 +512,8 @@ public class SjServiceImpl extends ServiceImpl implements ISjServi @Override public void bj(SjBjForm form) { SysUser qmr = sysUserService.selectUserById(form.getQmrId()); - //验证签名人密码 todo + sysUserService.checkPassword(qmr, form.getQmrmm(), false); + Sj sjOld = this.getById(form.getId()); if (sjOld == null) { @@ -473,10 +536,13 @@ public class SjServiceImpl extends ServiceImpl implements ISjServi sjJcgj.setSjId(sjOld.getId()); sjJcgj.setJcgjlx(JcgjlxEnum.lc.getValue()); sjJcgj.setJcmc("编辑"); + sjJcgj.setJcmcEn("Edit"); sjJcgj.setJcmcys(JcmcysEnum.green.getValue()); sjJcgj.setJcnr(fieldChange.toString()); + sjJcgj.setJcnrEn(fieldChange.toEnString()); sjJcgj.setQmrId(qmr.getUserId()); sjJcgj.setQmrMc(qmr.getNickName()); + sjJcgj.setQmrMcEn(qmr.getUserName()); sjJcgj.setRemark(form.getQmbz()); gspJcgjList.add(sjJcgj); } @@ -523,6 +589,7 @@ public class SjServiceImpl extends ServiceImpl implements ISjServi // 生成/使用 String resource = studyFormFill.getResource(); Map sjMap = new HashMap<>(); + List sjList = new ArrayList<>(); LinkedList jcgjList = new LinkedList<>(); LinkedList tzList = new LinkedList<>(); if(StringUtils.isNotEmpty(resource) && !StringUtils.equals("[]", resource)) { @@ -531,8 +598,8 @@ public class SjServiceImpl extends ServiceImpl implements ISjServi // 根据编号获取需要处置的试剂列表 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.in(Sj::getBh, bhList); - List resourceList = this.list(queryWrapper); - for (Sj sj : resourceList) { + sjList = this.list(queryWrapper); + for (Sj sj : sjList) { sjMap.put(sj.getBh(), sj); } @@ -560,25 +627,15 @@ public class SjServiceImpl extends ServiceImpl implements ISjServi if(sj.getId() == null) { this.save(sj); // 稽查轨迹 - SjJcgj sjJcgj = new SjJcgj(); - sjJcgj.setSjId(sj.getId()); - sjJcgj.setJcgjlx(JcgjlxEnum.lc.getValue()); - sjJcgj.setJcmc("配制完成"); - sjJcgj.setJcmcys(JcmcysEnum.green.getValue()); - sjJcgj.setQmrId(qmr.getUserId()); - sjJcgj.setQmrMc(qmr.getNickName()); + SjJcgj sjJcgj = sjJcgjService.genJcgj(sj.getId(), JcgjlxEnum.lc.getValue(), "配制完成", "Formulation Completed", + JcmcysEnum.green.getValue(), null, null, qmr); jcgjList.add(sjJcgj); // 台账 - SjTz sjTz = new SjTz(); - sjTz.setSjId(sj.getId()); - sjTz.setQmrId(qmr.getUserId()); - sjTz.setQmrMc(qmr.getNickName()); - sjTz.setQmyy("配制完成"); - sjTz.setCzl(sj.getKc()); - sjTz.setCzldw(sj.getKcdw()); + SjTz sjTz = sjTzService.genTz(sj.getId(), "配制完成", "Formulation Completed", sj.getKc(), sj.getKcdw(), null, qmr); tzList.add(sjTz); + } else { this.updateById(sj); } @@ -592,24 +649,17 @@ public class SjServiceImpl extends ServiceImpl implements ISjServi // 使用稽查轨迹 Map jcnrMap = new LinkedHashMap<>(); jcnrMap.put("使用量", syl + studyFormFillResource.getSyldw()); - SjJcgj syJcgj = new SjJcgj(); - syJcgj.setSjId(sj.getId()); - syJcgj.setJcgjlx(JcgjlxEnum.lc.getValue()); - syJcgj.setJcmc("使用"); - syJcgj.setJcnr(JctUtil.formatStr(jcnrMap)); - syJcgj.setJcmcys(JcmcysEnum.green.getValue()); - syJcgj.setQmrId(qmr.getUserId()); - syJcgj.setQmrMc(qmr.getNickName()); - jcgjList.add(syJcgj); + + Map jcnrEnMap = new LinkedHashMap<>(); + jcnrEnMap.put("Usage Amount", syl + studyFormFillResource.getSyldw()); + + SjJcgj sjJcgj = sjJcgjService.genJcgj(sj.getId(), JcgjlxEnum.lc.getValue(), "使用", "Usage", + JcmcysEnum.green.getValue(), JctUtil.formatStr(jcnrMap), JctUtil.formatStr(jcnrEnMap), qmr); + jcgjList.add(sjJcgj); + // 台账 - SjTz sjTz = new SjTz(); - sjTz.setSjId(sj.getId()); - sjTz.setQmrId(qmr.getUserId()); - sjTz.setQmrMc(qmr.getNickName()); - sjTz.setQmyy("使用"); - sjTz.setCzl(syl); - sjTz.setCzldw(studyFormFillResource.getKcdw()); + SjTz sjTz = sjTzService.genTz(sj.getId(), "使用", "Usage", syl, studyFormFillResource.getKcdw(), null, qmr); tzList.add(sjTz); } sjMap.put(sj.getBh(), sj); @@ -629,24 +679,17 @@ public class SjServiceImpl extends ServiceImpl implements ISjServi LinkedHashMap jcnrMap = new LinkedHashMap<>(); jcnrMap.put("存储位置", studyFormFillCc.getCcwz()); jcnrMap.put("存储条件", studyFormFillCc.getCctj()); - SjJcgj jcgj = new SjJcgj(); - jcgj.setSjId(sj.getId()); - jcgj.setJcgjlx(JcgjlxEnum.bj.getValue()); - jcgj.setJcnr(JctUtil.formatStr(jcnrMap)); - jcgj.setJcmcys(JcmcysEnum.green.getValue()); - jcgj.setJcmc("存储"); - jcgj.setQmrId(qmr.getUserId()); - jcgj.setQmrMc(qmr.getNickName()); - jcgjList.add(jcgj); + + LinkedHashMap jcnrEnMap = new LinkedHashMap<>(); + jcnrEnMap.put("Storage Location", studyFormFillCc.getCcwz()); + jcnrEnMap.put("Storage Condition", studyFormFillCc.getCctj()); + + SjJcgj sjJcgj = sjJcgjService.genJcgj(sj.getId(), JcgjlxEnum.lc.getValue(), "存储", "Storage", + JcmcysEnum.green.getValue(), JctUtil.formatStr(jcnrMap), JctUtil.formatStr(jcnrEnMap), qmr); + jcgjList.add(sjJcgj); // 台账 - SjTz sjTz = new SjTz(); - sjTz.setSjId(sj.getId()); - sjTz.setQmrId(qmr.getUserId()); - sjTz.setQmrMc(qmr.getNickName()); - sjTz.setQmyy("存储"); - sjTz.setCzl(sj.getKc()); - sjTz.setCzldw(sj.getKcdw()); + SjTz sjTz = sjTzService.genTz(sj.getId(), "存储", "Storage", sj.getKc(), sj.getKcdw(), null, qmr); tzList.add(sjTz); } } @@ -664,24 +707,18 @@ public class SjServiceImpl extends ServiceImpl implements ISjServi LinkedHashMap jcnrMap = new LinkedHashMap<>(); jcnrMap.put("处置方式", studyFormFillCz.getCzfs()); jcnrMap.put("处置量", sj.getKc() + sj.getKcdw()); - SjJcgj jcgj = new SjJcgj(); - jcgj.setSjId(sj.getId()); - jcgj.setJcgjlx(JcgjlxEnum.bj.getValue()); - jcgj.setJcnr(JctUtil.formatStr(jcnrMap)); - jcgj.setJcmcys(JcmcysEnum.green.getValue()); - jcgj.setJcmc("处置"); - jcgj.setQmrId(qmr.getUserId()); - jcgj.setQmrMc(qmr.getNickName()); - jcgjList.add(jcgj); + + LinkedHashMap jcnrEnMap = new LinkedHashMap<>(); + jcnrEnMap.put("Dispose Method", studyFormFillCz.getCzfs()); + jcnrEnMap.put("Amount", sj.getKc() + sj.getKcdw()); + + SjJcgj sjJcgj = sjJcgjService.genJcgj(sj.getId(), JcgjlxEnum.lc.getValue(), "处置", "Dispose", + JcmcysEnum.green.getValue(), JctUtil.formatStr(jcnrMap), JctUtil.formatStr(jcnrEnMap), qmr); + jcgjList.add(sjJcgj); + // 台账 - SjTz sjTz = new SjTz(); - sjTz.setSjId(sj.getId()); - sjTz.setQmrId(qmr.getUserId()); - sjTz.setQmrMc(qmr.getNickName()); - sjTz.setQmyy("处置"); - sjTz.setCzl(sj.getKc()); - sjTz.setCzldw(sj.getKcdw()); + SjTz sjTz = sjTzService.genTz(sj.getId(), "处置", "Dispose", sj.getKc(), sj.getKcdw(), null, qmr); tzList.add(sjTz); } baseMapper.updateKcBatch(studyFormFillCz.getList(), "0"); @@ -689,6 +726,7 @@ public class SjServiceImpl extends ServiceImpl implements ISjServi } sjJcgjService.saveBatch(jcgjList); sjTzService.saveBatch(tzList); + studySjService.saveBatch(studyId, sjList); System.out.println(System.currentTimeMillis()); } diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/SjTzServiceImpl.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/SjTzServiceImpl.java index 8aefc47..340cd68 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/SjTzServiceImpl.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/SjTzServiceImpl.java @@ -9,6 +9,7 @@ import com.hxhq.business.mapper.MjyTzMapper; import com.hxhq.business.mapper.SjTzMapper; import com.hxhq.business.service.IMjyTzService; import com.hxhq.business.service.ISjTzService; +import com.hxhq.system.api.domain.SysUser; import org.springframework.stereotype.Service; import java.util.List; @@ -35,15 +36,32 @@ public class SjTzServiceImpl extends ServiceImpl implements IS } @Override - public void saveTz(Long sjId, Long qmrId, String qmrMc, String qmyy, String czl, String czldw, String remark) { + public void saveTz(Long sjId, Long qmrId,String qmrMc, String qmrMcEn, String qmyy,String qmyyEn, String czl,String czldw,String remark) { SjTz sjTz = new SjTz(); sjTz.setSjId(sjId); sjTz.setQmrId(qmrId); sjTz.setQmrMc(qmrMc); + sjTz.setQmrMcEn(qmrMcEn); sjTz.setQmyy(qmyy); + sjTz.setQmyyEn(qmyyEn); sjTz.setCzl(czl); sjTz.setCzldw(czldw); sjTz.setRemark(remark); save(sjTz); } + + @Override + public SjTz genTz(Long sjId, String qmyy, String qmyyEn, String czl, String czldw, String remark, SysUser qmr) { + SjTz sjTz = new SjTz(); + sjTz.setSjId(sjId); + sjTz.setQmrId(qmr.getUserId()); + sjTz.setQmrMc(qmr.getNickName()); + sjTz.setQmrMcEn(qmr.getUserName()); + sjTz.setQmyy(qmyy); + sjTz.setQmyyEn(qmyyEn); + sjTz.setCzl(czl); + sjTz.setCzldw(czldw); + sjTz.setRemark(remark); + return sjTz; + } } diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudySjServiceImpl.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudySjServiceImpl.java index 212d55d..ffe7963 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudySjServiceImpl.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudySjServiceImpl.java @@ -1,9 +1,17 @@ package com.hxhq.business.service.impl; +import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; - import com.hxhq.common.core.utils.DateUtils; +import com.hxhq.business.domain.Sj; +import com.hxhq.common.core.domain.MpBaseEntity; +import com.hxhq.common.core.utils.DateUtils; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import com.hxhq.business.mapper.StudySjMapper; import com.hxhq.business.domain.StudySj; @@ -32,4 +40,32 @@ public class StudySjServiceImpl extends ServiceImpl impl return this.list(queryWrapper); } + @Override + @Async + public void saveBatch(Long studyId, List sjList) { + List resourceIdList = sjList.stream().map(MpBaseEntity::getId).collect(Collectors.toList()); + + // 查询数据库中已有记录 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(StudySj::getStudyId, studyId) + .in(StudySj::getResourceId, resourceIdList); + List list = this.list(queryWrapper); + List dbResourceIdList = list.stream().map(StudySj::getResourceId).collect(Collectors.toList()); + + // 对比试剂id,插入数据库中没有的记录 + List insertResourceId = resourceIdList.stream() + .filter(element -> !dbResourceIdList.contains(element)) + .collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(insertResourceId)) { + List studySjList = new ArrayList<>(); + for (Long resourceId : insertResourceId) { + StudySj studySj = new StudySj(); + studySj.setResourceId(resourceId); + studySj.setStudyId(studyId); + studySjList.add(studySj); + } + this.saveBatch(studySjList); + } + } + } diff --git a/hxhq-modules/hxhq-system/src/main/resources/mapper/business/SjMapper.xml b/hxhq-modules/hxhq-system/src/main/resources/mapper/business/SjMapper.xml index 059c498..a207d44 100644 --- a/hxhq-modules/hxhq-system/src/main/resources/mapper/business/SjMapper.xml +++ b/hxhq-modules/hxhq-system/src/main/resources/mapper/business/SjMapper.xml @@ -28,4 +28,23 @@ + + + \ No newline at end of file